kaggle-environments 1.20.0__py3-none-any.whl → 1.21.0__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.

Potentially problematic release.


This version of kaggle-environments might be problematic. Click here for more details.

Files changed (59) hide show
  1. kaggle_environments/__init__.py +2 -2
  2. kaggle_environments/envs/cabt/cabt.js +8 -8
  3. kaggle_environments/envs/cabt/cg/cg.dll +0 -0
  4. kaggle_environments/envs/cabt/cg/libcg.so +0 -0
  5. kaggle_environments/envs/{open_spiel → open_spiel_env}/games/universal_poker/universal_poker.js +52 -28
  6. kaggle_environments/envs/{open_spiel/open_spiel.py → open_spiel_env/open_spiel_env.py} +37 -1
  7. kaggle_environments/envs/{open_spiel/test_open_spiel.py → open_spiel_env/test_open_spiel_env.py} +65 -1
  8. kaggle_environments/envs/werewolf/GAME_RULE.md +75 -0
  9. kaggle_environments/envs/werewolf/__init__.py +0 -0
  10. kaggle_environments/envs/werewolf/game/__init__.py +0 -0
  11. kaggle_environments/envs/werewolf/game/actions.py +268 -0
  12. kaggle_environments/envs/werewolf/game/base.py +115 -0
  13. kaggle_environments/envs/werewolf/game/consts.py +156 -0
  14. kaggle_environments/envs/werewolf/game/engine.py +580 -0
  15. kaggle_environments/envs/werewolf/game/night_elimination_manager.py +101 -0
  16. kaggle_environments/envs/werewolf/game/protocols/__init__.py +4 -0
  17. kaggle_environments/envs/werewolf/game/protocols/base.py +242 -0
  18. kaggle_environments/envs/werewolf/game/protocols/bid.py +248 -0
  19. kaggle_environments/envs/werewolf/game/protocols/chat.py +467 -0
  20. kaggle_environments/envs/werewolf/game/protocols/factory.py +59 -0
  21. kaggle_environments/envs/werewolf/game/protocols/vote.py +471 -0
  22. kaggle_environments/envs/werewolf/game/records.py +334 -0
  23. kaggle_environments/envs/werewolf/game/roles.py +326 -0
  24. kaggle_environments/envs/werewolf/game/states.py +214 -0
  25. kaggle_environments/envs/werewolf/game/test_actions.py +45 -0
  26. kaggle_environments/envs/werewolf/test_werewolf.py +161 -0
  27. kaggle_environments/envs/werewolf/test_werewolf_deterministic.py +211 -0
  28. kaggle_environments/envs/werewolf/werewolf.js +4377 -0
  29. kaggle_environments/envs/werewolf/werewolf.json +286 -0
  30. kaggle_environments/envs/werewolf/werewolf.py +602 -0
  31. kaggle_environments/static/player.html +19 -1
  32. {kaggle_environments-1.20.0.dist-info → kaggle_environments-1.21.0.dist-info}/METADATA +9 -4
  33. {kaggle_environments-1.20.0.dist-info → kaggle_environments-1.21.0.dist-info}/RECORD +55 -36
  34. kaggle_environments/envs/chess/chess.js +0 -4289
  35. kaggle_environments/envs/chess/chess.json +0 -60
  36. kaggle_environments/envs/chess/chess.py +0 -4241
  37. kaggle_environments/envs/chess/test_chess.py +0 -60
  38. /kaggle_environments/envs/{open_spiel → open_spiel_env}/__init__.py +0 -0
  39. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/__init__.py +0 -0
  40. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/chess/chess.js +0 -0
  41. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/chess/image_config.jsonl +0 -0
  42. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/chess/openings.jsonl +0 -0
  43. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/connect_four/__init__.py +0 -0
  44. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/connect_four/connect_four.js +0 -0
  45. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/connect_four/connect_four_proxy.py +0 -0
  46. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/go/__init__.py +0 -0
  47. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/go/go.js +0 -0
  48. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/go/go_proxy.py +0 -0
  49. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/tic_tac_toe/__init__.py +0 -0
  50. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/tic_tac_toe/tic_tac_toe.js +0 -0
  51. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/tic_tac_toe/tic_tac_toe_proxy.py +0 -0
  52. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/universal_poker/__init__.py +0 -0
  53. /kaggle_environments/envs/{open_spiel → open_spiel_env}/games/universal_poker/universal_poker_proxy.py +0 -0
  54. /kaggle_environments/envs/{open_spiel → open_spiel_env}/html_playthrough_generator.py +0 -0
  55. /kaggle_environments/envs/{open_spiel → open_spiel_env}/observation.py +0 -0
  56. /kaggle_environments/envs/{open_spiel → open_spiel_env}/proxy.py +0 -0
  57. {kaggle_environments-1.20.0.dist-info → kaggle_environments-1.21.0.dist-info}/WHEEL +0 -0
  58. {kaggle_environments-1.20.0.dist-info → kaggle_environments-1.21.0.dist-info}/entry_points.txt +0 -0
  59. {kaggle_environments-1.20.0.dist-info → kaggle_environments-1.21.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,286 @@
1
+ {
2
+ "name": "werewolf",
3
+ "version": "1.0.0",
4
+ "title": "Werewolf",
5
+ "description": "A social deduction game.",
6
+ "agents": [7, 8, 9, 10, 11, 12, 13, 14, 15],
7
+ "configuration": {
8
+ "episodeSteps": { "type": "integer", "default": 1000 },
9
+ "actTimeout": { "type": "number", "default": 3 },
10
+ "runTimeout": { "type": "number", "default": 1800 },
11
+ "seed": { "type": "integer", "description": "Seed to use for episodes" },
12
+ "night_elimination_reveal_level": {
13
+ "type": "string",
14
+ "enum": ["no_reveal", "team", "role"],
15
+ "default": "role",
16
+ "description": "During night elimination, the moderator should reveal this level of information about the eliminated player."
17
+ },
18
+ "day_exile_reveal_level": {
19
+ "type": "string",
20
+ "enum": ["no_reveal", "team", "role"],
21
+ "default": "role",
22
+ "description": "During day exile, the moderator should reveal this level of information about the exiled player."
23
+ },
24
+ "agents": {
25
+ "type": "array",
26
+ "description": "Configuration for each agent playing the game.",
27
+ "default": [
28
+ { "id": "Player 1", "role": "Werewolf", "agent_id": "random"},
29
+ { "id": "Player 2", "role": "Werewolf", "agent_id": "random"},
30
+ { "id": "Player 3", "role": "Seer", "agent_id": "random"},
31
+ { "id": "Player 4", "role": "Doctor", "agent_id": "random"},
32
+ { "id": "Player 5", "role": "Villager", "agent_id": "random"},
33
+ { "id": "Player 6", "role": "Villager", "agent_id": "random"},
34
+ { "id": "Player 7", "role": "Villager", "agent_id": "random"}
35
+ ],
36
+ "items": {
37
+ "type": "object",
38
+ "properties": {
39
+ "id": {
40
+ "type": "string",
41
+ "description": "The unique name of the player. Visible to everyone."
42
+ },
43
+ "display_name": {
44
+ "type": "string",
45
+ "description": "The display name of the agent. Visible only to the UI but not to players.",
46
+ "default": ""
47
+ },
48
+ "agent_id": {
49
+ "type": "string",
50
+ "description": "The id of the agent. Might not be unique since different players might be using the same underlying agent. Not visible to everyone."
51
+ },
52
+ "role": {
53
+ "type": "string",
54
+ "enum": ["Werewolf", "Doctor", "Seer", "Villager"],
55
+ "description": "The role assigned to the player."
56
+ },
57
+ "role_params": {
58
+ "type": "object",
59
+ "description": "The parameter dict for the selected Role subclass.",
60
+ "default": {}
61
+ },
62
+ "thumbnail": {
63
+ "type": "string",
64
+ "format": "uri",
65
+ "description": "A URL for the player's thumbnail image.",
66
+ "default": ""
67
+ },
68
+ "agent_harness_name": {
69
+ "type": "string",
70
+ "description": "The name of the agent harness to use.",
71
+ "default": ""
72
+ },
73
+ "chat_mode": {
74
+ "type": "string",
75
+ "description": "Select between chat mode or text mode to prompt the LLM to produce different style of response.",
76
+ "default": "text",
77
+ "enum": ["text", "audio"]
78
+ },
79
+ "enable_bid_reasoning": {
80
+ "type": "boolean",
81
+ "description": "Determine whether to prompt LLM to generate reasoning for bidding or not.",
82
+ "default": false
83
+ },
84
+ "llms": {
85
+ "type": "array",
86
+ "description": "A list of Language Learning Models to be used by the agent.",
87
+ "items": {
88
+ "type": "object",
89
+ "properties": {
90
+ "model_name": {
91
+ "type": "string",
92
+ "description": "The name of the LLM."
93
+ },
94
+ "parameters": {
95
+ "type": "object",
96
+ "description": "Parameters specific to this LLM.",
97
+ "default": {}
98
+ }
99
+ },
100
+ "required": ["model_name"]
101
+ },
102
+ "default": []
103
+ }
104
+ },
105
+ "required": ["id", "role"]
106
+ }
107
+ },
108
+ "discussion_protocol": {
109
+ "description": "Configuration for the daytime discussion protocol.",
110
+ "type": "object",
111
+ "properties": {
112
+ "name": {
113
+ "description": "The name of the discussion protocol to use.",
114
+ "type": "string",
115
+ "enum": ["RoundRobinDiscussion", "ParallelDiscussion", "TurnByTurnBiddingDiscussion", "RoundByRoundBiddingDiscussion"],
116
+ "default": "RoundRobinDiscussion"
117
+ },
118
+ "params": {
119
+ "description": "Parameters for the selected discussion protocol.",
120
+ "type": "object",
121
+ "default": {},
122
+ "properties": {}
123
+ }
124
+ },
125
+ "default": { "name": "RoundRobinDiscussion", "params": { "max_rounds": 1 } },
126
+ "oneOf": [
127
+ {
128
+ "if": { "properties": { "name": { "const": "RoundRobinDiscussion" } } },
129
+ "then": {
130
+ "properties": {
131
+ "params": {
132
+ "type": "object",
133
+ "properties": {
134
+ "max_rounds": { "description": "Number of full rounds of discussion.", "type": "integer", "minimum": 1, "default": 1 },
135
+ "assign_random_first_speaker": {
136
+ "description": "Wether to assign a random player as the first speaker",
137
+ "type": "boolean",
138
+ "default": true
139
+ }
140
+ },
141
+ "additionalProperties": false
142
+ }
143
+ }
144
+ },
145
+ "else": false
146
+ },
147
+ {
148
+ "if": { "properties": { "name": { "const": "ParallelDiscussion" } } },
149
+ "then": {
150
+ "properties": {
151
+ "params": {
152
+ "type": "object",
153
+ "properties": {
154
+ "ticks": { "description": "Number of ticks where all players can speak simultaneously.", "type": "integer", "minimum": 1, "default": 3 }
155
+ },
156
+ "additionalProperties": false
157
+ }
158
+ }
159
+ },
160
+ "else": false
161
+ },
162
+ {
163
+ "if": { "properties": { "name": { "const": "TurnByTurnBiddingDiscussion" } } },
164
+ "then": {
165
+ "properties": {
166
+ "params": {
167
+ "type": "object",
168
+ "properties": {
169
+ "bidding": { "type": "object" },
170
+ "max_turns": { "type": "integer", "minimum": 1, "default": 5 },
171
+ "bid_result_public": { "type": "boolean", "default": true }
172
+ },
173
+ "additionalProperties": false
174
+ }
175
+ }
176
+ },
177
+ "else": false
178
+ },
179
+ {
180
+ "if": { "properties": { "name": { "const": "RoundByRoundBiddingDiscussion" } } },
181
+ "then": {
182
+ "properties": {
183
+ "params": {
184
+ "type": "object",
185
+ "properties": {
186
+ "bidding": { "type": "object" },
187
+ "max_rounds": { "type": "integer", "minimum": 1, "default": 2 },
188
+ "bid_result_public": { "type": "boolean", "default": true }
189
+ },
190
+ "additionalProperties": false
191
+ }
192
+ }
193
+ },
194
+ "else": false
195
+ }
196
+ ]
197
+ },
198
+ "day_voting_protocol": {
199
+ "description": "Configuration for the daytime voting protocol.",
200
+ "type": "object",
201
+ "properties": {
202
+ "name": {
203
+ "description": "The name of the voting protocol to use.",
204
+ "type": "string",
205
+ "enum": ["SimultaneousMajority", "SequentialVoting"],
206
+ "default": "SequentialVoting"
207
+ },
208
+ "params": {
209
+ "description": "Parameters for the selected voting protocol.",
210
+ "type": "object",
211
+ "default": {},
212
+ "properties": {}
213
+ }
214
+ },
215
+ "default": { "name": "SequentialVoting", "params": { "assign_random_first_voter": true, "tie_break": "random" } },
216
+ "oneOf": [
217
+ {
218
+ "if": { "properties": { "name": { "const": "SimultaneousMajority" } } },
219
+ "then": {
220
+ "properties": {
221
+ "params": { "type": "object", "properties": {}, "additionalProperties": true }
222
+ }
223
+ },
224
+ "else": false
225
+ },
226
+ {
227
+ "if": { "properties": { "name": { "const": "SequentialVoting" } } },
228
+ "then": {
229
+ "properties": {
230
+ "params": { "type": "object", "properties": {}, "additionalProperties": true }
231
+ }
232
+ },
233
+ "else": false
234
+ }
235
+ ]
236
+ },
237
+ "werewolf_night_vote_protocol": {
238
+ "description": "Configuration for the werewolf night voting protocol.",
239
+ "type": "object",
240
+ "properties": {
241
+ "name": {
242
+ "description": "The name of the voting protocol to use.",
243
+ "type": "string",
244
+ "enum": ["SimultaneousMajority", "SequentialVoting"],
245
+ "default": "SequentialVoting"
246
+ },
247
+ "params": {
248
+ "description": "Parameters for the selected voting protocol.",
249
+ "type": "object",
250
+ "default": {},
251
+ "properties": {}
252
+ }
253
+ },
254
+ "default": { "name": "SequentialVoting", "params": { "assign_random_first_voter": true, "tie_break": "random" } },
255
+ "oneOf": [
256
+ {
257
+ "if": { "properties": { "name": { "const": "SimultaneousMajority" } } },
258
+ "then": {
259
+ "properties": {
260
+ "params": { "type": "object", "properties": {}, "additionalProperties": true }
261
+ }
262
+ },
263
+ "else": false
264
+ },
265
+ {
266
+ "if": { "properties": { "name": { "const": "SequentialVoting" } } },
267
+ "then": {
268
+ "properties": {
269
+ "params": { "type": "object", "properties": {}, "additionalProperties": true }
270
+ }
271
+ },
272
+ "else": false
273
+ }
274
+ ]
275
+ }
276
+ },
277
+ "observation": {
278
+ "remainingOverageTime": 2
279
+ },
280
+ "action": { "type": "object", "additionalProperties": true },
281
+ "reward": {
282
+ "type": "number",
283
+ "minimum": -1,
284
+ "maximum": 1
285
+ }
286
+ }