hoi4-agent-tools 2.2.0 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +30 -21
  3. package/dist/hoi4_agent_tools/core/clausewitz-evaluation.js +90 -0
  4. package/dist/hoi4_agent_tools/core/engine.js +5 -0
  5. package/dist/hoi4_agent_tools/core/index.js +57 -1
  6. package/dist/hoi4_agent_tools/core/source/ast-path.js +41 -0
  7. package/dist/hoi4_agent_tools/core/source/index.js +1 -0
  8. package/dist/hoi4_agent_tools/event/algorithms.js +178 -1
  9. package/dist/hoi4_agent_tools/event/graph.js +24 -9
  10. package/dist/hoi4_agent_tools/event/limits.js +5 -2
  11. package/dist/hoi4_agent_tools/event/service.js +182 -45
  12. package/dist/hoi4_agent_tools/mcp/server/create.js +3 -1
  13. package/dist/hoi4_agent_tools/mcp/tools/chaosx.js +13 -63
  14. package/dist/hoi4_agent_tools/mcp/tools/probability.js +413 -0
  15. package/dist/hoi4_agent_tools/mcp/tools/technology.js +4 -1
  16. package/dist/hoi4_agent_tools/probability/adapters.js +344 -0
  17. package/dist/hoi4_agent_tools/probability/compare.js +178 -0
  18. package/dist/hoi4_agent_tools/probability/evaluation.js +649 -0
  19. package/dist/hoi4_agent_tools/probability/index.js +13 -0
  20. package/dist/hoi4_agent_tools/probability/model.js +5 -0
  21. package/dist/hoi4_agent_tools/probability/rational.js +145 -0
  22. package/dist/hoi4_agent_tools/probability/render.js +307 -0
  23. package/dist/hoi4_agent_tools/probability/sequence.js +858 -0
  24. package/dist/hoi4_agent_tools/probability/service.js +1168 -0
  25. package/dist/hoi4_agent_tools/probability/simulation.js +545 -0
  26. package/dist/hoi4_agent_tools/probability/source-analysis.js +458 -0
  27. package/dist/hoi4_agent_tools/probability/sweep.js +265 -0
  28. package/dist/hoi4_agent_tools/probability/trigger-evaluator.js +280 -0
  29. package/dist/hoi4_agent_tools/probability/value-evaluator.js +357 -0
  30. package/dist/hoi4_agent_tools/runtime.js +109 -7
  31. package/dist/hoi4_agent_tools/schemas/probability.js +930 -0
  32. package/dist/hoi4_agent_tools/technology/graph.js +30 -3
  33. package/dist/hoi4_agent_tools/technology/queries.js +70 -3
  34. package/dist/hoi4_agent_tools/technology/service.js +38 -2
  35. package/dist/hoi4_agent_tools/version.js +1 -1
  36. package/docs/README.md +1 -0
  37. package/docs/development.md +2 -0
  38. package/docs/events.md +2 -2
  39. package/docs/probability.md +80 -0
  40. package/docs/research/probability-adapter-evidence.md +64 -0
  41. package/docs/setup.md +2 -0
  42. package/docs/technology.md +4 -2
  43. package/examples/clients/codex-config.toml +3 -0
  44. package/examples/clients/generic.json +8 -0
  45. package/examples/probability/adaptive-event-pool.json +92 -0
  46. package/examples/probability/adaptive-event-sequence-input.json +57 -0
  47. package/examples/probability/event-mtth-scenarios.json +57 -0
  48. package/examples/probability/event-mtth-simulate-input.json +37 -0
  49. package/examples/probability/focus-route-scenarios.json +61 -0
  50. package/examples/probability/focus-route-sweep-input.json +36 -0
  51. package/package.json +19 -8
  52. package/schemas/configuration.schema.json +747 -0
  53. package/schemas/continuous-focus-palette.schema.json +325 -0
  54. package/schemas/custom-weighted-pool.schema.json +298 -0
  55. package/schemas/event-feature-manifest.schema.json +63 -0
  56. package/schemas/focus-plan.schema.json +927 -0
  57. package/schemas/focus-planning-sidecar.schema.json +407 -0
  58. package/schemas/gui-animation-source.schema.json +176 -0
  59. package/schemas/gui-helper.schema.json +301 -0
  60. package/schemas/gui-scenario.schema.json +298 -0
  61. package/schemas/map-operation.schema.json +2284 -0
  62. package/schemas/operation-result.schema.json +327 -0
  63. package/schemas/probability-analysis-result.schema.json +2211 -0
  64. package/schemas/probability-compare-input.schema.json +664 -0
  65. package/schemas/probability-evaluate-input.schema.json +665 -0
  66. package/schemas/probability-inspect-input.schema.json +97 -0
  67. package/schemas/probability-render-input.schema.json +141 -0
  68. package/schemas/probability-scenario-set.schema.json +430 -0
  69. package/schemas/probability-sequence-input.schema.json +886 -0
  70. package/schemas/probability-simulate-input.schema.json +691 -0
  71. package/schemas/probability-sweep-input.schema.json +702 -0
  72. package/server.json +3 -3
@@ -0,0 +1,325 @@
1
+ {
2
+ "$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v2.3.3/schemas/continuous-focus-palette.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "schemaVersion": {
7
+ "type": "number",
8
+ "const": 1
9
+ },
10
+ "id": {
11
+ "type": "string",
12
+ "minLength": 1,
13
+ "maxLength": 256
14
+ },
15
+ "countryAssignment": {
16
+ "type": "object",
17
+ "properties": {
18
+ "raw": {
19
+ "$ref": "#/$defs/__schema0"
20
+ },
21
+ "countryTags": {
22
+ "maxItems": 1000,
23
+ "type": "array",
24
+ "items": {
25
+ "$ref": "#/$defs/__schema4"
26
+ }
27
+ }
28
+ },
29
+ "required": [
30
+ "raw",
31
+ "countryTags"
32
+ ],
33
+ "additionalProperties": false
34
+ },
35
+ "default": {
36
+ "type": "boolean"
37
+ },
38
+ "resetOnCivilWar": {
39
+ "type": "boolean"
40
+ },
41
+ "position": {
42
+ "type": "object",
43
+ "properties": {
44
+ "x": {
45
+ "type": "integer",
46
+ "minimum": -9007199254740991,
47
+ "maximum": 9007199254740991
48
+ },
49
+ "y": {
50
+ "type": "integer",
51
+ "minimum": -9007199254740991,
52
+ "maximum": 9007199254740991
53
+ }
54
+ },
55
+ "required": [
56
+ "x",
57
+ "y"
58
+ ],
59
+ "additionalProperties": false
60
+ },
61
+ "focuses": {
62
+ "type": "array",
63
+ "items": {
64
+ "type": "object",
65
+ "properties": {
66
+ "id": {
67
+ "type": "string",
68
+ "minLength": 1,
69
+ "maxLength": 256
70
+ },
71
+ "icons": {
72
+ "maxItems": 100,
73
+ "type": "array",
74
+ "items": {
75
+ "$ref": "#/$defs/__schema5"
76
+ }
77
+ },
78
+ "localisation": {
79
+ "type": "object",
80
+ "properties": {
81
+ "titleKey": {
82
+ "type": "string"
83
+ },
84
+ "descriptionKey": {
85
+ "type": "string"
86
+ },
87
+ "workingLabel": {
88
+ "type": "string"
89
+ }
90
+ },
91
+ "required": [
92
+ "titleKey",
93
+ "descriptionKey"
94
+ ],
95
+ "additionalProperties": false
96
+ },
97
+ "rawPassthrough": {
98
+ "maxItems": 20000,
99
+ "type": "array",
100
+ "items": {
101
+ "$ref": "#/$defs/__schema6"
102
+ }
103
+ },
104
+ "sourceLocation": {
105
+ "$ref": "#/$defs/__schema2"
106
+ }
107
+ },
108
+ "required": [
109
+ "id",
110
+ "icons",
111
+ "localisation",
112
+ "rawPassthrough"
113
+ ],
114
+ "additionalProperties": false
115
+ }
116
+ },
117
+ "rawPassthrough": {
118
+ "maxItems": 20000,
119
+ "type": "array",
120
+ "items": {
121
+ "$ref": "#/$defs/__schema6"
122
+ }
123
+ },
124
+ "provenance": {
125
+ "type": "object",
126
+ "properties": {
127
+ "sourcePath": {
128
+ "type": "string",
129
+ "minLength": 1
130
+ },
131
+ "sourceHash": {
132
+ "type": "string",
133
+ "pattern": "^[a-f0-9]{64}$"
134
+ },
135
+ "importedPlanHash": {
136
+ "type": "string",
137
+ "minLength": 1
138
+ }
139
+ },
140
+ "required": [
141
+ "sourcePath",
142
+ "sourceHash",
143
+ "importedPlanHash"
144
+ ],
145
+ "additionalProperties": false
146
+ },
147
+ "sourceLocation": {
148
+ "$ref": "#/$defs/__schema2"
149
+ }
150
+ },
151
+ "required": [
152
+ "schemaVersion",
153
+ "id",
154
+ "default",
155
+ "focuses",
156
+ "rawPassthrough",
157
+ "provenance"
158
+ ],
159
+ "additionalProperties": false,
160
+ "$defs": {
161
+ "__schema0": {
162
+ "type": "object",
163
+ "properties": {
164
+ "text": {
165
+ "type": "string"
166
+ },
167
+ "referencedFocusIds": {
168
+ "maxItems": 20000,
169
+ "type": "array",
170
+ "items": {
171
+ "$ref": "#/$defs/__schema1"
172
+ }
173
+ },
174
+ "sourceLocation": {
175
+ "$ref": "#/$defs/__schema2"
176
+ }
177
+ },
178
+ "required": [
179
+ "text",
180
+ "referencedFocusIds"
181
+ ],
182
+ "additionalProperties": false
183
+ },
184
+ "__schema1": {
185
+ "type": "string"
186
+ },
187
+ "__schema2": {
188
+ "type": "object",
189
+ "properties": {
190
+ "path": {
191
+ "type": "string",
192
+ "minLength": 1,
193
+ "maxLength": 4096
194
+ },
195
+ "start": {
196
+ "$ref": "#/$defs/__schema3"
197
+ },
198
+ "end": {
199
+ "$ref": "#/$defs/__schema3"
200
+ },
201
+ "symbol": {
202
+ "type": "string",
203
+ "maxLength": 1024
204
+ }
205
+ },
206
+ "required": [
207
+ "path",
208
+ "start",
209
+ "end"
210
+ ],
211
+ "additionalProperties": false
212
+ },
213
+ "__schema3": {
214
+ "type": "object",
215
+ "properties": {
216
+ "line": {
217
+ "type": "integer",
218
+ "minimum": 1,
219
+ "maximum": 9007199254740991
220
+ },
221
+ "column": {
222
+ "type": "integer",
223
+ "minimum": 1,
224
+ "maximum": 9007199254740991
225
+ },
226
+ "offset": {
227
+ "type": "integer",
228
+ "minimum": 0,
229
+ "maximum": 9007199254740991
230
+ }
231
+ },
232
+ "required": [
233
+ "line",
234
+ "column",
235
+ "offset"
236
+ ],
237
+ "additionalProperties": false
238
+ },
239
+ "__schema4": {
240
+ "type": "string"
241
+ },
242
+ "__schema5": {
243
+ "oneOf": [
244
+ {
245
+ "type": "object",
246
+ "properties": {
247
+ "kind": {
248
+ "type": "string",
249
+ "const": "static"
250
+ },
251
+ "sprite": {
252
+ "type": "string",
253
+ "minLength": 1
254
+ },
255
+ "sourceLocation": {
256
+ "$ref": "#/$defs/__schema2"
257
+ }
258
+ },
259
+ "required": [
260
+ "kind",
261
+ "sprite"
262
+ ],
263
+ "additionalProperties": false
264
+ },
265
+ {
266
+ "type": "object",
267
+ "properties": {
268
+ "kind": {
269
+ "type": "string",
270
+ "const": "dynamic"
271
+ },
272
+ "sprite": {
273
+ "type": "string",
274
+ "minLength": 1
275
+ },
276
+ "trigger": {
277
+ "$ref": "#/$defs/__schema0"
278
+ },
279
+ "sourceLocation": {
280
+ "$ref": "#/$defs/__schema2"
281
+ }
282
+ },
283
+ "required": [
284
+ "kind",
285
+ "sprite"
286
+ ],
287
+ "additionalProperties": false
288
+ }
289
+ ]
290
+ },
291
+ "__schema6": {
292
+ "type": "object",
293
+ "properties": {
294
+ "kind": {
295
+ "type": "string",
296
+ "enum": [
297
+ "assignment",
298
+ "scalar",
299
+ "block"
300
+ ]
301
+ },
302
+ "key": {
303
+ "type": "string"
304
+ },
305
+ "order": {
306
+ "type": "integer",
307
+ "minimum": 0,
308
+ "maximum": 9007199254740991
309
+ },
310
+ "text": {
311
+ "type": "string"
312
+ },
313
+ "sourceLocation": {
314
+ "$ref": "#/$defs/__schema2"
315
+ }
316
+ },
317
+ "required": [
318
+ "kind",
319
+ "order",
320
+ "text"
321
+ ],
322
+ "additionalProperties": false
323
+ }
324
+ }
325
+ }
@@ -0,0 +1,298 @@
1
+ {
2
+ "$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v2.3.3/schemas/custom-weighted-pool.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "schemaVersion": {
7
+ "$ref": "#/$defs/__schema0"
8
+ },
9
+ "id": {
10
+ "$ref": "#/$defs/__schema1"
11
+ },
12
+ "description": {
13
+ "$ref": "#/$defs/__schema2"
14
+ },
15
+ "selection": {
16
+ "$ref": "#/$defs/__schema3"
17
+ },
18
+ "state": {
19
+ "$ref": "#/$defs/__schema4"
20
+ },
21
+ "candidates": {
22
+ "$ref": "#/$defs/__schema6"
23
+ },
24
+ "recovery": {
25
+ "$ref": "#/$defs/__schema8"
26
+ },
27
+ "transitions": {
28
+ "$ref": "#/$defs/__schema10"
29
+ }
30
+ },
31
+ "required": [
32
+ "id",
33
+ "selection",
34
+ "candidates",
35
+ "transitions"
36
+ ],
37
+ "additionalProperties": false,
38
+ "$defs": {
39
+ "__schema0": {
40
+ "default": "1.0",
41
+ "type": "string",
42
+ "const": "1.0"
43
+ },
44
+ "__schema1": {
45
+ "type": "string",
46
+ "minLength": 1,
47
+ "maxLength": 512
48
+ },
49
+ "__schema2": {
50
+ "type": "string",
51
+ "maxLength": 8192
52
+ },
53
+ "__schema3": {
54
+ "type": "object",
55
+ "properties": {
56
+ "mode": {
57
+ "type": "string",
58
+ "enum": [
59
+ "categorical_weighted",
60
+ "independent_chances"
61
+ ]
62
+ },
63
+ "cadence": {
64
+ "type": "string",
65
+ "enum": [
66
+ "daily",
67
+ "weekly",
68
+ "monthly",
69
+ "timer"
70
+ ]
71
+ },
72
+ "timerMinDays": {
73
+ "type": "number",
74
+ "minimum": 0
75
+ },
76
+ "timerMaxDays": {
77
+ "type": "number",
78
+ "minimum": 0
79
+ },
80
+ "rounding": {
81
+ "type": "string",
82
+ "enum": [
83
+ "exact",
84
+ "floor",
85
+ "ceil",
86
+ "nearest"
87
+ ]
88
+ }
89
+ },
90
+ "required": [
91
+ "mode",
92
+ "cadence"
93
+ ],
94
+ "additionalProperties": false
95
+ },
96
+ "__schema4": {
97
+ "type": "object",
98
+ "propertyNames": {
99
+ "type": "string",
100
+ "maxLength": 1024
101
+ },
102
+ "additionalProperties": {
103
+ "$ref": "#/$defs/__schema5"
104
+ }
105
+ },
106
+ "__schema5": {
107
+ "anyOf": [
108
+ {
109
+ "type": "string",
110
+ "maxLength": 4096
111
+ },
112
+ {
113
+ "type": "number"
114
+ },
115
+ {
116
+ "type": "boolean"
117
+ },
118
+ {
119
+ "type": "null"
120
+ }
121
+ ]
122
+ },
123
+ "__schema6": {
124
+ "minItems": 1,
125
+ "maxItems": 100000,
126
+ "type": "array",
127
+ "items": {
128
+ "$ref": "#/$defs/__schema7"
129
+ }
130
+ },
131
+ "__schema7": {
132
+ "type": "object",
133
+ "properties": {
134
+ "id": {
135
+ "type": "string",
136
+ "minLength": 1,
137
+ "maxLength": 512
138
+ },
139
+ "category": {
140
+ "type": "string",
141
+ "maxLength": 512
142
+ },
143
+ "weight": {
144
+ "anyOf": [
145
+ {
146
+ "type": "number"
147
+ },
148
+ {
149
+ "type": "string",
150
+ "maxLength": 1024
151
+ }
152
+ ]
153
+ },
154
+ "cap": {
155
+ "anyOf": [
156
+ {
157
+ "type": "number"
158
+ },
159
+ {
160
+ "type": "string",
161
+ "maxLength": 1024
162
+ }
163
+ ]
164
+ },
165
+ "eligibleWhen": {
166
+ "type": "string",
167
+ "maxLength": 4096
168
+ },
169
+ "oneTime": {
170
+ "type": "boolean"
171
+ },
172
+ "cooldownDays": {
173
+ "type": "number",
174
+ "minimum": 0
175
+ }
176
+ },
177
+ "required": [
178
+ "id",
179
+ "weight"
180
+ ],
181
+ "additionalProperties": false
182
+ },
183
+ "__schema8": {
184
+ "maxItems": 100000,
185
+ "type": "array",
186
+ "items": {
187
+ "$ref": "#/$defs/__schema9"
188
+ }
189
+ },
190
+ "__schema9": {
191
+ "type": "object",
192
+ "properties": {
193
+ "cadence": {
194
+ "type": "string",
195
+ "enum": [
196
+ "daily",
197
+ "weekly",
198
+ "monthly"
199
+ ]
200
+ },
201
+ "target": {
202
+ "type": "string",
203
+ "minLength": 1,
204
+ "maxLength": 1024
205
+ },
206
+ "amount": {
207
+ "anyOf": [
208
+ {
209
+ "type": "number"
210
+ },
211
+ {
212
+ "type": "string",
213
+ "maxLength": 1024
214
+ }
215
+ ]
216
+ },
217
+ "cap": {
218
+ "anyOf": [
219
+ {
220
+ "type": "number"
221
+ },
222
+ {
223
+ "type": "string",
224
+ "maxLength": 1024
225
+ }
226
+ ]
227
+ }
228
+ },
229
+ "required": [
230
+ "cadence",
231
+ "target",
232
+ "amount"
233
+ ],
234
+ "additionalProperties": false
235
+ },
236
+ "__schema10": {
237
+ "maxItems": 100000,
238
+ "type": "array",
239
+ "items": {
240
+ "$ref": "#/$defs/__schema11"
241
+ }
242
+ },
243
+ "__schema11": {
244
+ "type": "object",
245
+ "properties": {
246
+ "when": {
247
+ "type": "string",
248
+ "maxLength": 4096
249
+ },
250
+ "actions": {
251
+ "maxItems": 100000,
252
+ "type": "array",
253
+ "items": {
254
+ "$ref": "#/$defs/__schema12"
255
+ }
256
+ }
257
+ },
258
+ "required": [
259
+ "when",
260
+ "actions"
261
+ ],
262
+ "additionalProperties": false
263
+ },
264
+ "__schema12": {
265
+ "type": "object",
266
+ "properties": {
267
+ "operation": {
268
+ "type": "string",
269
+ "enum": [
270
+ "set",
271
+ "add",
272
+ "multiply",
273
+ "cap",
274
+ "remove",
275
+ "cooldown",
276
+ "reset_category",
277
+ "compress_timer",
278
+ "reset_timer",
279
+ "terminate"
280
+ ]
281
+ },
282
+ "target": {
283
+ "type": "string",
284
+ "minLength": 1,
285
+ "maxLength": 1024
286
+ },
287
+ "value": {
288
+ "$ref": "#/$defs/__schema5"
289
+ }
290
+ },
291
+ "required": [
292
+ "operation",
293
+ "target"
294
+ ],
295
+ "additionalProperties": false
296
+ }
297
+ }
298
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v2.3.3/schemas/event-feature-manifest.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": {
7
+ "type": "string",
8
+ "minLength": 1,
9
+ "maxLength": 128
10
+ },
11
+ "eventIds": {
12
+ "maxItems": 2000,
13
+ "type": "array",
14
+ "items": {
15
+ "$ref": "#/$defs/__schema0"
16
+ }
17
+ },
18
+ "namespaces": {
19
+ "maxItems": 500,
20
+ "type": "array",
21
+ "items": {
22
+ "$ref": "#/$defs/__schema1"
23
+ }
24
+ },
25
+ "sourcePaths": {
26
+ "maxItems": 2000,
27
+ "type": "array",
28
+ "items": {
29
+ "$ref": "#/$defs/__schema2"
30
+ }
31
+ },
32
+ "nodeIds": {
33
+ "maxItems": 5000,
34
+ "type": "array",
35
+ "items": {
36
+ "$ref": "#/$defs/__schema3"
37
+ }
38
+ }
39
+ },
40
+ "additionalProperties": false,
41
+ "$defs": {
42
+ "__schema0": {
43
+ "type": "string",
44
+ "minLength": 1,
45
+ "maxLength": 256
46
+ },
47
+ "__schema1": {
48
+ "type": "string",
49
+ "minLength": 1,
50
+ "maxLength": 256
51
+ },
52
+ "__schema2": {
53
+ "type": "string",
54
+ "minLength": 1,
55
+ "maxLength": 1024
56
+ },
57
+ "__schema3": {
58
+ "type": "string",
59
+ "minLength": 1,
60
+ "maxLength": 1024
61
+ }
62
+ }
63
+ }