kaggle-environments 1.23.5__tar.gz → 1.23.7__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.
Potentially problematic release.
This version of kaggle-environments might be problematic. Click here for more details.
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/PKG-INFO +1 -1
- kaggle_environments-1.23.7/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/components/getRepeatedPokerStateForStep.js +410 -0
- kaggle_environments-1.23.7/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/main.ts +37 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/repeated_poker_renderer.js +5 -6
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/pyproject.toml +1 -1
- kaggle_environments-1.23.7/scripts/inspect_repeated_poker.mjs +100 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/package.json +11 -3
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/src/transformers/repeatedPokerTransformer.ts +86 -28
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/src/transformers.ts +13 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/src/types.ts +2 -1
- kaggle_environments-1.23.5/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/components/getRepeatedPokerStateForStep.js +0 -241
- kaggle_environments-1.23.5/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/main.ts +0 -37
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/.gcloudignore +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/.gitignore +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/.prettierrc.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/.stylelintrc.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/CONTRIBUTING.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/LICENSE +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/MANIFEST.in +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/VISUALIZER_README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/cicd/cloudbuild.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/chess/chess.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/chess/chess.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/chess/chess.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/chess/test_chess.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/llm_20_questions/keywords.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/llm_20_questions/llm_20_questions.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/llm_20_questions/llm_20_questions.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/llm_20_questions/llm_20_questions.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/llm_20_questions/test_llm_20_questions.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/.gitignore +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/agents.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/index.html +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/lux_ai_s2.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/lux_ai_s2.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/actions.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/config.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/env.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/factory.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/globals.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map/bfs_deltas_gen.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map/board.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map/position.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/generator.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/symnoise.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/timing.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/visualize.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/visualize_samples.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/pyvisual/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/pyvisual/visualizer.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/replay/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/replay/replay.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/spaces/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/spaces/act_space.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/spaces/obs_space.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/state/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/state/state.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/state/stats.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/state/typing.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/team.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/tools/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/tools/replay.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/unit.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/utils/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/utils/animate.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/utils/heuristics/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/utils/heuristics/bidding.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/utils/heuristics/factory.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/utils/heuristics/factory_placement.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/utils/utils.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/version.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/wrappers/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/wrappers/controllers.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/luxai_s2/wrappers/sb3.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/agent.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/lux/cargo.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/lux/config.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/lux/factory.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/lux/kit.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/lux/team.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/lux/unit.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/lux/utils.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_agents/python/main.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/deprecated_envs/lux_ai_s2/test_lux.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/Dockerfile +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/bash.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/bashsc.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/build.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/build_cpu.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/build_gpu.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/cicd-publish-to-pypi.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/cloud-run-source/Procfile +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/cloud-run-source/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/cloud-run-source/main.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/cloud-run-source/requirements.txt +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/cloudbuild.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/run.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/runsc.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/docker/test.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/eslint.config.mjs +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/agent.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/api.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/core.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/cabt.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/cabt.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/cabt.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/cg/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/cg/cg.dll +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/cg/game.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/cg/libcg.so +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/cg/sim.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/cabt/test_cabt.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/connectx.ipynb +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/connectx.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/connectx.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/connectx.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/test_connectx.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/visualizer/default/index.html +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/visualizer/default/package.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/visualizer/default/replays/test-replay.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/visualizer/default/src/main.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/visualizer/default/src/renderer.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/visualizer/default/src/style.css +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/visualizer/default/tsconfig.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/connectx/visualizer/default/vite.config.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/football/football.ipynb +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/football/football.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/football/football.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/football/helpers.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/football/test_football.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/halite/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/halite/halite.ipynb +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/halite/halite.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/halite/halite.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/halite/halite.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/halite/helpers.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/halite/test_halite.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/hungry_geese/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/hungry_geese/hungry_geese.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/hungry_geese/hungry_geese.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/hungry_geese/hungry_geese.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/hungry_geese/test_hungry_geese.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/identity/identity.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/identity/identity.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/helpers.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/kore_fleets.ipynb +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/kore_fleets.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/kore_fleets.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/kore_fleets.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/Bot.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/jars/hamcrest-core-1.3.jar +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/jars/junit-4.13.2.jar +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Board.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Cell.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Configuration.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Direction.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Fleet.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/KoreJson.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Observation.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Pair.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Player.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Point.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Shipyard.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/ShipyardAction.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/main.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/BoardTest.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/ConfigurationTest.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/KoreJsonTest.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/ObservationTest.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/PointTest.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/ShipyardTest.java +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/configuration.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/fullob.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/observation.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/python/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/python/main.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/Bot.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/DoNothingBot.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/MinerBot.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/interpreter.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Board.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Cell.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Configuration.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Direction.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Fleet.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/KoreIO.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Observation.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Pair.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Player.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Point.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Shipyard.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/ShipyardAction.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/main.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/miner.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/package.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/BoardTest.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ConfigurationTest.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ObservationTest.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/PointTest.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ShipyardTest.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/configuration.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/fullob.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/observation.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/tsconfig.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/kore_fleets/test_kore_fleets.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/agents.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/dimensions/754.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/dimensions/754.js.LICENSE.txt +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/dimensions/main.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/index.html +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/lux_ai_2021.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/lux_ai_2021.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_constants.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_constants.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_objects.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/io.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/kit.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/map.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/parser.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/main.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/main.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/simple.tar.gz +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/annotate.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/constants.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_constants.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_constants.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_map.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_objects.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/random_agent.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/simple_agent.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/test_lux.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/testing.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_2021/todo.md.og +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/agents.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/index.html +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/env.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/globals.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/params.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/profiler.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/pygame_render.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/spaces.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/state.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/utils.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/wrappers.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/agent.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/kit.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/utils.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/main.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/lux_ai_s3/test_lux.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/mab/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/mab/agents.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/mab/mab.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/mab/mab.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/mab/mab.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/chess/chess.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/chess/image_config.jsonl +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/chess/openings.jsonl +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/connect_four/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/connect_four/connect_four.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/connect_four/connect_four_proxy.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/go/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/go/go.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/go/go_proxy.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/repeated_poker.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/index.html +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/package.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/replays/test-replay.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/components/utils.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_1.svg +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_10.svg +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_100.svg +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_25.svg +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_5.svg +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/tsconfig.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/vite.config.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/tic_tac_toe/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/tic_tac_toe/tic_tac_toe.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/tic_tac_toe/tic_tac_toe_proxy.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/universal_poker/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/universal_poker/universal_poker.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/games/universal_poker/universal_poker_proxy.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/html_playthrough_generator.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/observation.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/open_spiel_env.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/proxy.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/open_spiel_env/test_open_spiel_env.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/rps/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/rps/agents.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/rps/helpers.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/rps/rps.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/rps/rps.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/rps/rps.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/rps/test_rps.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/rps/utils.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/tictactoe/test_tictactoe.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/tictactoe/tictactoe.ipynb +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/tictactoe/tictactoe.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/tictactoe/tictactoe.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/tictactoe/tictactoe.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/GAME_RULE.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/actions.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/base.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/consts.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/engine.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/night_elimination_manager.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/protocols/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/protocols/base.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/protocols/bid.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/protocols/chat.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/protocols/factory.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/protocols/vote.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/records.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/roles.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/states.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/game/test_actions.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/harness/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/harness/base.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/harness/litellm_models.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/harness/test_base.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/runner.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/__init__.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/add_audio.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/audio/standard.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/block_basic.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/comprehensive.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/roundrobin_discussion_DisableDoctorSelfSave_DisableDoctorConsecutiveSave_large.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/roundrobin_discussion_large.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/roundrobin_discussion_small.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_DisableDoctorSelfSave_DisableDoctorConsecutiveSave.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_DisableDoctorSelfSave_SeerRevealTeam.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_DisableDoctorSelfSave_SeerRevealTeam_NightEliminationNoReveal_DayExileNoReveal.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_DisableDoctorSelfSave_SeerRevealTeam_NightEliminationRevealTeam_DayExileRevealTeam.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_disable_doctor_self_save.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_parallel_voting.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_parallel_voting_no_tie_exile.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_parallel_voting_roundbiddiscussion.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/run_config.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/configs/run/vertex_api_example_config.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/measure_cost.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/plot_existing_trajectories.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/rerender_html.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/run.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/run_block.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/run_pairwise_matrix.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/self_play.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/scripts/utils.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/test_werewolf.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/test_werewolf_deterministic.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/werewolf.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/werewolf.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/envs/werewolf/werewolf.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/errors.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/helpers.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/main.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/schemas.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/static/player.html +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/status_codes.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/kaggle_environments/utils.py +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/package.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/package.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/pnpm-lock.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/pnpm-workspace.yaml +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/release.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/tsconfig.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/README.md +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/src/adapter.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/src/index.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/src/player.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/src/preact-adapter.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/src/style.css +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/tsconfig.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/core/vite.config.ts +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/scripts/collect-artifacts.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/scripts/find-games.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/scripts/publish-core.sh +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/scripts/sync-version.js +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/tsconfig.base.json +0 -0
- {kaggle_environments-1.23.5 → kaggle_environments-1.23.7}/web/vite.config.base.ts +0 -0
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
const PLACEHOLDER_CARD = '2c';
|
|
2
|
+
|
|
3
|
+
function _getActionStringsFromACPC(bettingString, nextPlayerIndex, numPlayers = 2) {
|
|
4
|
+
const moves = [];
|
|
5
|
+
const streets = bettingString.split('/');
|
|
6
|
+
for (let streetIndex = 0; streetIndex < streets.length; streetIndex++) {
|
|
7
|
+
const streetAction = streets[streetIndex];
|
|
8
|
+
let i = 0;
|
|
9
|
+
while (i < streetAction.length) {
|
|
10
|
+
const char = streetAction[i];
|
|
11
|
+
if (char === 'r') {
|
|
12
|
+
let amount = '';
|
|
13
|
+
i++;
|
|
14
|
+
while (i < streetAction.length && streetAction[i] >= '0' && streetAction[i] <= '9') {
|
|
15
|
+
amount += streetAction[i];
|
|
16
|
+
i++;
|
|
17
|
+
}
|
|
18
|
+
moves.push(`r${amount}`);
|
|
19
|
+
} else {
|
|
20
|
+
moves.push(char);
|
|
21
|
+
i++;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const lastMove = moves.length > 0 ? moves[moves.length - 1] : null;
|
|
27
|
+
const actionStrings = Array(numPlayers).fill('');
|
|
28
|
+
|
|
29
|
+
if (lastMove) {
|
|
30
|
+
if (typeof nextPlayerIndex === 'number' && nextPlayerIndex >= 0) {
|
|
31
|
+
const lastActor = (nextPlayerIndex + numPlayers - 1) % numPlayers;
|
|
32
|
+
actionStrings[lastActor] = lastMove;
|
|
33
|
+
} else {
|
|
34
|
+
const inferredActor = (moves.length - 1) % numPlayers;
|
|
35
|
+
actionStrings[inferredActor] = lastMove;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return actionStrings;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function _parseStepHistoryData(universalPokerJSON, nextPlayerIndex, numPlayers = 2) {
|
|
43
|
+
const result = {
|
|
44
|
+
cards: [],
|
|
45
|
+
communityCards: '',
|
|
46
|
+
bets: [],
|
|
47
|
+
playerActionStrings: Array(numPlayers).fill(''),
|
|
48
|
+
winOdds: [0, 0],
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
if (!universalPokerJSON) {
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const lines = universalPokerJSON.acpc_state.trim().split('\n');
|
|
56
|
+
if (lines.length < 2) {
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const stateLine = lines[0];
|
|
61
|
+
const spentLine = lines[1];
|
|
62
|
+
|
|
63
|
+
if (spentLine) {
|
|
64
|
+
const p0BetMatch = spentLine.match(/P0:\s*(\d+)/);
|
|
65
|
+
const p1BetMatch = spentLine.match(/P1:\s*(\d+)/);
|
|
66
|
+
|
|
67
|
+
const bets = [0, 0];
|
|
68
|
+
|
|
69
|
+
if (p0BetMatch) {
|
|
70
|
+
bets[0] = parseInt(p0BetMatch[1], 10);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (p1BetMatch) {
|
|
74
|
+
bets[1] = parseInt(p1BetMatch[1], 10);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
result.bets = bets;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (stateLine) {
|
|
81
|
+
const stateParts = stateLine.split(':');
|
|
82
|
+
const cardString = stateParts[stateParts.length - 1];
|
|
83
|
+
const cardSegments = cardString.split('/');
|
|
84
|
+
|
|
85
|
+
if (cardSegments[0]) {
|
|
86
|
+
const playerHands = cardSegments[0].split('|');
|
|
87
|
+
if (playerHands.length >= 2) {
|
|
88
|
+
result.cards = [playerHands[0], playerHands[1]];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
result.communityCards = cardSegments
|
|
93
|
+
.slice(1)
|
|
94
|
+
.filter(Boolean)
|
|
95
|
+
.join('');
|
|
96
|
+
|
|
97
|
+
const bettingString = stateParts.slice(2, stateParts.length - 1).join(':');
|
|
98
|
+
if (bettingString) {
|
|
99
|
+
result.playerActionStrings = _getActionStringsFromACPC(
|
|
100
|
+
bettingString,
|
|
101
|
+
nextPlayerIndex,
|
|
102
|
+
numPlayers
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const odds = universalPokerJSON.odds || [];
|
|
108
|
+
const p0WinOdds = Number(odds[0] ?? 0).toLocaleString(undefined, {
|
|
109
|
+
style: 'percent',
|
|
110
|
+
minimumFractionDigits: 2
|
|
111
|
+
});
|
|
112
|
+
const p1WinOdds = Number(odds[1] ?? 0).toLocaleString(undefined, {
|
|
113
|
+
style: 'percent',
|
|
114
|
+
minimumFractionDigits: 2
|
|
115
|
+
});
|
|
116
|
+
result.winOdds = [p0WinOdds, p1WinOdds];
|
|
117
|
+
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function splitCards(cardString) {
|
|
122
|
+
if (!cardString) {
|
|
123
|
+
return [];
|
|
124
|
+
}
|
|
125
|
+
return cardString.match(/.{1,2}/g) || [];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function isPlaceholderString(cardString) {
|
|
129
|
+
return typeof cardString === 'string' && /^((2c)+)$/i.test(cardString);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function sanitizeCardList(cards) {
|
|
133
|
+
return (cards || []).filter((card) => card);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function formatActionDisplay(actionString) {
|
|
137
|
+
if (!actionString) {
|
|
138
|
+
return '';
|
|
139
|
+
}
|
|
140
|
+
const playerMatch = actionString.match(/move=([^\s]+)/);
|
|
141
|
+
if (!playerMatch) {
|
|
142
|
+
return '';
|
|
143
|
+
}
|
|
144
|
+
const moveRaw = playerMatch[1];
|
|
145
|
+
const moveLower = moveRaw.toLowerCase();
|
|
146
|
+
if (moveLower.startsWith('bet') || moveLower.startsWith('raise')) {
|
|
147
|
+
const amountMatch = moveRaw.match(/\d+/);
|
|
148
|
+
return amountMatch ? `r${amountMatch[0]}` : 'r';
|
|
149
|
+
}
|
|
150
|
+
if (moveLower === 'call') {
|
|
151
|
+
return 'c';
|
|
152
|
+
}
|
|
153
|
+
if (moveLower === 'check') {
|
|
154
|
+
return 'k';
|
|
155
|
+
}
|
|
156
|
+
if (moveLower === 'fold') {
|
|
157
|
+
return 'f';
|
|
158
|
+
}
|
|
159
|
+
return moveRaw;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function getBlinds(configuration) {
|
|
163
|
+
const blindConfig = configuration?.openSpielGameParameters?.universal_poker_game_string?.blind;
|
|
164
|
+
if (typeof blindConfig !== 'string') {
|
|
165
|
+
return { bigBlind: null, smallBlind: null };
|
|
166
|
+
}
|
|
167
|
+
const parts = blindConfig
|
|
168
|
+
.trim()
|
|
169
|
+
.split(/\s+/)
|
|
170
|
+
.map((entry) => Number(entry))
|
|
171
|
+
.filter((n) => !Number.isNaN(n));
|
|
172
|
+
if (parts.length >= 2) {
|
|
173
|
+
return { bigBlind: parts[0], smallBlind: parts[1] };
|
|
174
|
+
}
|
|
175
|
+
return { bigBlind: null, smallBlind: null };
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function getCommunityCardsFromUniversal(universal, numPlayers) {
|
|
179
|
+
const parsed = _parseStepHistoryData(universal, null, numPlayers);
|
|
180
|
+
const cards = splitCards(parsed.communityCards);
|
|
181
|
+
const actual = cards.filter((card) => card && card.toLowerCase() !== PLACEHOLDER_CARD);
|
|
182
|
+
if (actual.length < 3) {
|
|
183
|
+
return [];
|
|
184
|
+
}
|
|
185
|
+
return actual;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
function getHandCardsFromUniversal(universal, numPlayers) {
|
|
189
|
+
const parsed = _parseStepHistoryData(universal, null, numPlayers);
|
|
190
|
+
return (parsed.cards || []).map((cardString) => {
|
|
191
|
+
if (isPlaceholderString(cardString)) {
|
|
192
|
+
return [];
|
|
193
|
+
}
|
|
194
|
+
return sanitizeCardList(splitCards(cardString));
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
function buildTimeline(environment, numPlayers) {
|
|
199
|
+
const stateHistory = environment?.info?.stateHistory || [];
|
|
200
|
+
if (!stateHistory.length) {
|
|
201
|
+
return [];
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
const parsedStates = stateHistory.map((entry, idx) => {
|
|
205
|
+
const outer = JSON.parse(entry);
|
|
206
|
+
return {
|
|
207
|
+
idx,
|
|
208
|
+
outer,
|
|
209
|
+
universal: JSON.parse(outer.current_universal_poker_json)
|
|
210
|
+
};
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
const hands = [];
|
|
214
|
+
let currentHandNumber = parsedStates[0]?.outer?.hand_number ?? 0;
|
|
215
|
+
let currentStates = [];
|
|
216
|
+
parsedStates.forEach((stateInfo) => {
|
|
217
|
+
const handNumber = stateInfo.outer?.hand_number ?? currentHandNumber;
|
|
218
|
+
if (handNumber !== currentHandNumber) {
|
|
219
|
+
if (currentStates.length) {
|
|
220
|
+
hands.push({ handNumber: currentHandNumber, states: currentStates });
|
|
221
|
+
}
|
|
222
|
+
currentStates = [];
|
|
223
|
+
currentHandNumber = handNumber;
|
|
224
|
+
}
|
|
225
|
+
currentStates.push(stateInfo);
|
|
226
|
+
});
|
|
227
|
+
if (currentStates.length) {
|
|
228
|
+
hands.push({ handNumber: currentHandNumber, states: currentStates });
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
const processedSteps = environment.__processedSteps || environment.steps || [];
|
|
232
|
+
const actionsByHand = new Map();
|
|
233
|
+
processedSteps.forEach((step) => {
|
|
234
|
+
const handNumber = step?.hand ?? 0;
|
|
235
|
+
if (!actionsByHand.has(handNumber)) {
|
|
236
|
+
actionsByHand.set(handNumber, []);
|
|
237
|
+
}
|
|
238
|
+
if (!step?.isEndState && step?.step?.action && step.step.action.submission !== -1) {
|
|
239
|
+
const actionString = step.step.action.actionString || '';
|
|
240
|
+
const playerMatch = actionString.match(/player=(\d+)/);
|
|
241
|
+
const playerIndex = playerMatch ? parseInt(playerMatch[1], 10) : null;
|
|
242
|
+
actionsByHand.get(handNumber).push({
|
|
243
|
+
playerIndex,
|
|
244
|
+
actionText: formatActionDisplay(actionString),
|
|
245
|
+
stateHistoryIndex: step.stateHistoryIndex
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
const events = [];
|
|
251
|
+
let orderCounter = 0;
|
|
252
|
+
const pushEvent = (stateIndex, event) => {
|
|
253
|
+
events.push({
|
|
254
|
+
order: orderCounter++,
|
|
255
|
+
stateIndex,
|
|
256
|
+
highlightPlayer: event.highlightPlayer,
|
|
257
|
+
actionText: event.actionText,
|
|
258
|
+
hideHoleCards: event.hideHoleCards,
|
|
259
|
+
hideCommunity: event.hideCommunity
|
|
260
|
+
});
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
hands.forEach(({ handNumber, states }) => {
|
|
264
|
+
if (!states.length) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
const firstState = states[0];
|
|
269
|
+
const dealer = firstState.outer?.dealer ?? 0;
|
|
270
|
+
const { bigBlind, smallBlind } = getBlinds(environment.configuration);
|
|
271
|
+
const smallBlindPlayer = dealer % numPlayers;
|
|
272
|
+
const bigBlindPlayer = (dealer + 1) % numPlayers;
|
|
273
|
+
|
|
274
|
+
pushEvent(firstState.idx, { highlightPlayer: null, actionText: '', hideHoleCards: true, hideCommunity: true });
|
|
275
|
+
pushEvent(firstState.idx, { highlightPlayer: smallBlindPlayer, actionText: smallBlind != null ? `SB ${smallBlind}` : 'SB', hideHoleCards: true, hideCommunity: true });
|
|
276
|
+
pushEvent(firstState.idx, { highlightPlayer: bigBlindPlayer, actionText: bigBlind != null ? `BB ${bigBlind}` : 'BB', hideHoleCards: true, hideCommunity: true });
|
|
277
|
+
|
|
278
|
+
const firstActionState = states.find((stateInfo) => stateInfo.universal.current_player !== -1) || firstState;
|
|
279
|
+
pushEvent(firstActionState.idx, { highlightPlayer: null, actionText: '', hideHoleCards: false, hideCommunity: true });
|
|
280
|
+
|
|
281
|
+
const actions = actionsByHand.get(handNumber) || [];
|
|
282
|
+
actions.forEach((action) => {
|
|
283
|
+
const targetIndex = typeof action.stateHistoryIndex === 'number' ? action.stateHistoryIndex : states[0].idx;
|
|
284
|
+
const postState = states.find((stateInfo) => stateInfo.idx > targetIndex) || states[states.length - 1];
|
|
285
|
+
pushEvent(postState.idx, {
|
|
286
|
+
highlightPlayer: action.playerIndex,
|
|
287
|
+
actionText: action.actionText,
|
|
288
|
+
hideHoleCards: false,
|
|
289
|
+
hideCommunity: false
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
let currentStageCommunityLength = 0;
|
|
294
|
+
states.forEach((stateInfo) => {
|
|
295
|
+
const communityCards = getCommunityCardsFromUniversal(stateInfo.universal, numPlayers);
|
|
296
|
+
const communityLength = communityCards.length;
|
|
297
|
+
if (communityLength > currentStageCommunityLength) {
|
|
298
|
+
currentStageCommunityLength = communityLength;
|
|
299
|
+
if (communityLength === 3 || communityLength === 4 || communityLength === 5) {
|
|
300
|
+
pushEvent(stateInfo.idx, {
|
|
301
|
+
highlightPlayer: null,
|
|
302
|
+
actionText: '',
|
|
303
|
+
hideHoleCards: false,
|
|
304
|
+
hideCommunity: false
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
|
|
311
|
+
events.sort((a, b) => a.order - b.order);
|
|
312
|
+
return events.map(({ stateIndex, highlightPlayer, actionText, hideHoleCards, hideCommunity }) => ({
|
|
313
|
+
stateIndex,
|
|
314
|
+
highlightPlayer,
|
|
315
|
+
actionText,
|
|
316
|
+
hideHoleCards: !!hideHoleCards,
|
|
317
|
+
hideCommunity: !!hideCommunity
|
|
318
|
+
}));
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
function getTimeline(environment, numPlayers) {
|
|
322
|
+
if (!environment.__timeline) {
|
|
323
|
+
environment.__timeline = buildTimeline(environment, numPlayers);
|
|
324
|
+
}
|
|
325
|
+
return environment.__timeline;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
function getUniversalState(environment, index) {
|
|
329
|
+
const entry = environment?.info?.stateHistory?.[index];
|
|
330
|
+
if (!entry) {
|
|
331
|
+
return null;
|
|
332
|
+
}
|
|
333
|
+
const outer = JSON.parse(entry);
|
|
334
|
+
return {
|
|
335
|
+
outer,
|
|
336
|
+
universal: JSON.parse(outer.current_universal_poker_json)
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export const getPokerStateForStep = (environment, step) => {
|
|
341
|
+
const numPlayers = 2;
|
|
342
|
+
if (!environment || !environment.info?.stateHistory) {
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
const timeline = getTimeline(environment, numPlayers);
|
|
347
|
+
const event = timeline[step];
|
|
348
|
+
if (!event) {
|
|
349
|
+
return null;
|
|
350
|
+
}
|
|
351
|
+
const stateInfo = getUniversalState(environment, event.stateIndex);
|
|
352
|
+
if (!stateInfo) {
|
|
353
|
+
return null;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
const parsedStateHistory = _parseStepHistoryData(
|
|
357
|
+
stateInfo.universal,
|
|
358
|
+
stateInfo.universal?.current_player,
|
|
359
|
+
numPlayers
|
|
360
|
+
);
|
|
361
|
+
|
|
362
|
+
const startingStacks = stateInfo.universal?.starting_stacks || Array(numPlayers).fill(0);
|
|
363
|
+
const contributions = stateInfo.universal?.player_contributions || parsedStateHistory.bets || Array(numPlayers).fill(0);
|
|
364
|
+
const rewards = stateInfo.outer?.hand_returns || [];
|
|
365
|
+
const communityCards = getCommunityCardsFromUniversal(stateInfo.universal, numPlayers);
|
|
366
|
+
|
|
367
|
+
const players = Array(numPlayers)
|
|
368
|
+
.fill(null)
|
|
369
|
+
.map((_, i) => {
|
|
370
|
+
const agentName = environment?.info?.TeamNames?.[i] || `Player ${i}`;
|
|
371
|
+
const thumbnail = environment?.info?.Agents?.[i]?.ThumbnailUrl;
|
|
372
|
+
return {
|
|
373
|
+
id: `player${i}`,
|
|
374
|
+
name: agentName,
|
|
375
|
+
thumbnail,
|
|
376
|
+
stack: startingStacks[i] - (contributions[i] || 0),
|
|
377
|
+
cards: [],
|
|
378
|
+
currentBet: contributions[i] || 0,
|
|
379
|
+
isDealer: stateInfo.outer?.dealer === i,
|
|
380
|
+
isTurn: stateInfo.universal?.current_player === i,
|
|
381
|
+
isLastActor: event.highlightPlayer === i,
|
|
382
|
+
reward: rewards[0]?.[i] ?? null,
|
|
383
|
+
actionDisplayText: event.highlightPlayer === i ? event.actionText : ''
|
|
384
|
+
};
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
const handCards = getHandCardsFromUniversal(stateInfo.universal, numPlayers);
|
|
388
|
+
players.forEach((player, index) => {
|
|
389
|
+
if (event.hideHoleCards) {
|
|
390
|
+
player.cards = [];
|
|
391
|
+
} else {
|
|
392
|
+
player.cards = handCards[index] || [];
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
|
|
396
|
+
const displayCommunity = event.hideCommunity ? [] : communityCards;
|
|
397
|
+
|
|
398
|
+
return {
|
|
399
|
+
players,
|
|
400
|
+
communityCards: displayCommunity,
|
|
401
|
+
pot: contributions.reduce((sum, value) => sum + (value || 0), 0),
|
|
402
|
+
isTerminal: false,
|
|
403
|
+
rawObservation: stateInfo.universal,
|
|
404
|
+
step,
|
|
405
|
+
winOdds: parsedStateHistory.winOdds,
|
|
406
|
+
fiveCardBestHands: [],
|
|
407
|
+
currentPlayer: stateInfo.universal?.current_player ?? -1,
|
|
408
|
+
winner: -1
|
|
409
|
+
};
|
|
410
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Player, GameAdapter, ReplayData } from "@kaggle-environments/core";
|
|
2
|
+
import { renderer } from "./repeated_poker_renderer.js";
|
|
3
|
+
import { render } from "preact";
|
|
4
|
+
|
|
5
|
+
class LegacyAdapter implements GameAdapter {
|
|
6
|
+
private container: HTMLElement | null = null;
|
|
7
|
+
|
|
8
|
+
mount(container: HTMLElement): void {
|
|
9
|
+
this.container = container;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
render(step: number, replay: ReplayData, agents: any[]): void {
|
|
13
|
+
if (!this.container) return;
|
|
14
|
+
this.container.innerHTML = ""; // Clear container before rendering
|
|
15
|
+
renderer({
|
|
16
|
+
parent: this.container,
|
|
17
|
+
environment: replay,
|
|
18
|
+
step: step,
|
|
19
|
+
agents: agents,
|
|
20
|
+
// These are probably not used by poker but good to have
|
|
21
|
+
width: this.container.clientWidth,
|
|
22
|
+
height: this.container.clientHeight,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
unmount(): void {
|
|
27
|
+
if (this.container) {
|
|
28
|
+
render(null, this.container);
|
|
29
|
+
}
|
|
30
|
+
this.container = null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const app = document.getElementById("app");
|
|
35
|
+
if (app) {
|
|
36
|
+
new Player(app, new LegacyAdapter());
|
|
37
|
+
}
|
|
@@ -525,7 +525,6 @@ export function renderer(options) {
|
|
|
525
525
|
// --- State Parsing ---
|
|
526
526
|
function _parseKagglePokerState(options) {
|
|
527
527
|
const { environment, step } = options;
|
|
528
|
-
const numPlayers = 2;
|
|
529
528
|
|
|
530
529
|
// --- Default State ---
|
|
531
530
|
const defaultStateUiData = {
|
|
@@ -536,7 +535,7 @@ export function renderer(options) {
|
|
|
536
535
|
};
|
|
537
536
|
|
|
538
537
|
// --- Step Validation ---
|
|
539
|
-
if (!environment || !
|
|
538
|
+
if (!environment || !step) {
|
|
540
539
|
return defaultStateUiData;
|
|
541
540
|
}
|
|
542
541
|
|
|
@@ -559,7 +558,7 @@ export function renderer(options) {
|
|
|
559
558
|
elements.gameLayout.style.transform = `scale(${scale})`;
|
|
560
559
|
}
|
|
561
560
|
|
|
562
|
-
function _renderPokerTableUI(data
|
|
561
|
+
function _renderPokerTableUI(data) {
|
|
563
562
|
if (!elements.pokerTable || !data) return;
|
|
564
563
|
const { players, communityCards, pot, isTerminal, step } = data;
|
|
565
564
|
|
|
@@ -603,8 +602,8 @@ export function renderer(options) {
|
|
|
603
602
|
if (playerNameElement) {
|
|
604
603
|
playerNameElement.textContent = playerData.name;
|
|
605
604
|
|
|
606
|
-
// Highlight
|
|
607
|
-
if (playerData.
|
|
605
|
+
// Highlight the player who took the most recent action
|
|
606
|
+
if (playerData.isLastActor) {
|
|
608
607
|
playerNameElement.classList.add('current-turn');
|
|
609
608
|
} else {
|
|
610
609
|
playerNameElement.classList.remove('current-turn');
|
|
@@ -650,7 +649,7 @@ export function renderer(options) {
|
|
|
650
649
|
const playerInfoArea = elements.playerInfoAreas[index];
|
|
651
650
|
if (playerInfoArea) {
|
|
652
651
|
// Highlight active player's pod
|
|
653
|
-
if (playerData.
|
|
652
|
+
if (playerData.isLastActor) {
|
|
654
653
|
playerInfoArea.classList.add('active-player');
|
|
655
654
|
} else {
|
|
656
655
|
playerInfoArea.classList.remove('active-player');
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import process from "process";
|
|
5
|
+
import { fileURLToPath } from "url";
|
|
6
|
+
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = path.dirname(__filename);
|
|
9
|
+
const repoRoot = path.resolve(__dirname, "..");
|
|
10
|
+
|
|
11
|
+
const defaultReplayPath = path.resolve(
|
|
12
|
+
repoRoot,
|
|
13
|
+
"kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/replays/test-replay.json",
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
const args = process.argv.slice(2);
|
|
17
|
+
let replayPath = defaultReplayPath;
|
|
18
|
+
let maxHands = 2;
|
|
19
|
+
|
|
20
|
+
for (let i = 0; i < args.length; i++) {
|
|
21
|
+
const arg = args[i];
|
|
22
|
+
if ((arg === "-r" || arg === "--replay") && args[i + 1]) {
|
|
23
|
+
replayPath = path.resolve(args[++i]);
|
|
24
|
+
} else if ((arg === "-n" || arg === "--hands") && args[i + 1]) {
|
|
25
|
+
maxHands = Number(args[++i]);
|
|
26
|
+
} else if (arg === "-h" || arg === "--help") {
|
|
27
|
+
console.log(`Usage: node scripts/inspect_repeated_poker.mjs [options]
|
|
28
|
+
|
|
29
|
+
Options:
|
|
30
|
+
-r, --replay <path> Replay JSON to inspect (default: ${defaultReplayPath})
|
|
31
|
+
-n, --hands <count> Number of hands to display (default: 2)
|
|
32
|
+
-h, --help Show this help message
|
|
33
|
+
`);
|
|
34
|
+
process.exit(0);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!fs.existsSync(replayPath)) {
|
|
39
|
+
console.error(`Replay file not found: ${replayPath}`);
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const replay = JSON.parse(fs.readFileSync(replayPath, "utf8"));
|
|
44
|
+
|
|
45
|
+
const coreModulePath = path.resolve(
|
|
46
|
+
repoRoot,
|
|
47
|
+
"kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/node_modules/@kaggle-environments/core/dist/index.js",
|
|
48
|
+
);
|
|
49
|
+
const { processEpisodeData } = await import(`file://${coreModulePath}`);
|
|
50
|
+
|
|
51
|
+
const processedSteps = processEpisodeData(
|
|
52
|
+
replay.steps,
|
|
53
|
+
replay.info.stateHistory,
|
|
54
|
+
"repeated_poker",
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
const environment = {
|
|
58
|
+
...replay,
|
|
59
|
+
steps: processedSteps,
|
|
60
|
+
__rawSteps: replay.steps,
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const pokerStateModule = path.resolve(
|
|
64
|
+
repoRoot,
|
|
65
|
+
"kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/components/getRepeatedPokerStateForStep.js",
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
const { getPokerStateForStep } = await import(`file://${pokerStateModule}`);
|
|
69
|
+
|
|
70
|
+
const hands = new Map();
|
|
71
|
+
processedSteps.forEach((step, idx) => {
|
|
72
|
+
if (!hands.has(step.hand)) hands.set(step.hand, []);
|
|
73
|
+
hands.get(step.hand).push({ idx, step });
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
const sortedHandIds = Array.from(hands.keys()).sort((a, b) => a - b);
|
|
77
|
+
|
|
78
|
+
sortedHandIds.slice(0, maxHands).forEach((handId) => {
|
|
79
|
+
console.log(`\n==== Hand ${handId} ====`);
|
|
80
|
+
const handSteps = hands.get(handId) || [];
|
|
81
|
+
handSteps.forEach(({ idx, step }) => {
|
|
82
|
+
const uiState = getPokerStateForStep(environment, idx);
|
|
83
|
+
const actionString = step.step?.action?.actionString ?? "END";
|
|
84
|
+
console.log(
|
|
85
|
+
`StepIdx ${idx} | isEnd=${step.isEndState} | action=${actionString} | currentPlayer=${uiState?.currentPlayer}`,
|
|
86
|
+
);
|
|
87
|
+
if (uiState) {
|
|
88
|
+
uiState.players.forEach((player, seat) => {
|
|
89
|
+
console.log(
|
|
90
|
+
` Player${seat}: stack=${player.stack} bet=${player.currentBet} actionDisplay='${player.actionDisplayText}' turn=${player.isTurn} dealer=${player.isDealer} cards=${player.cards.join(",")}`,
|
|
91
|
+
);
|
|
92
|
+
});
|
|
93
|
+
console.log(
|
|
94
|
+
` community=[${(uiState.communityCards || []).join(",")}] pot=${uiState.pot}`,
|
|
95
|
+
);
|
|
96
|
+
} else {
|
|
97
|
+
console.log(" uiState unavailable");
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
});
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaggle-environments/core",
|
|
3
3
|
"version": "0.0.0",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"publishConfig": {
|
|
5
|
-
"access": "public"
|
|
6
|
+
"access": "public",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"require": "./dist/index.umd.cjs",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
6
14
|
},
|
|
7
|
-
"type": "module",
|
|
8
15
|
"exports": {
|
|
9
16
|
".": {
|
|
10
17
|
"development": "./src/index.ts",
|
|
11
18
|
"import": "./dist/index.js",
|
|
12
|
-
"require": "./dist/index.umd.cjs"
|
|
19
|
+
"require": "./dist/index.umd.cjs",
|
|
20
|
+
"types": "./dist/index.d.ts"
|
|
13
21
|
}
|
|
14
22
|
},
|
|
15
23
|
"main": "./dist/index.js",
|