mons-rust 0.1.129 → 0.1.131
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.
- package/README.md +28 -71
- package/mons-rust.d.ts +51 -46
- package/mons-rust.js +15 -15
- package/mons-rust_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,108 +1,65 @@
|
|
|
1
1
|
# mons-rust
|
|
2
|
+
|
|
2
3
|
`cargo add mons-rust`
|
|
3
4
|
|
|
4
5
|
or
|
|
5
6
|
|
|
6
7
|
`npm install mons-rust`
|
|
7
8
|
|
|
8
|
-
##
|
|
9
|
+
## Automove
|
|
9
10
|
|
|
10
11
|
Docs:
|
|
11
12
|
|
|
12
13
|
- runbook: `HOW_TO_ITERATE_ON_AUTOMOVE.md`
|
|
13
14
|
- live board: `AUTOMOVE_IDEAS.md`
|
|
14
|
-
- durable
|
|
15
|
+
- durable rules: `docs/automove-knowledge.md`
|
|
15
16
|
- archive: `docs/automove-archive.md`
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Quickstart:
|
|
20
|
-
|
|
21
|
-
- canonical Pro loop: `./scripts/run-automove-canonical-loop.sh frontier_pro_v2_guarded`
|
|
22
|
-
- larger confirmation pass: `./scripts/run-automove-canonical-loop.sh --confirm frontier_pro_v2_guarded`
|
|
23
|
-
- single-stage or diagnostic run: `./scripts/run-automove-experiment.sh <stage> frontier_pro_v2_guarded`
|
|
24
|
-
- cleanup preview: `./scripts/clean-experiment-artifacts.sh --dry-run`
|
|
25
|
-
|
|
26
|
-
Retained profile surface:
|
|
18
|
+
Live surface:
|
|
27
19
|
|
|
28
|
-
- `shipping_pro_search`
|
|
29
|
-
- `
|
|
20
|
+
- retained profiles: `shipping_pro_search`, `frontier_pro_v2_guarded`
|
|
21
|
+
- canonical stages: `guardrails`, `pro-triage`, `runtime-preflight`, `pro-reliability`, `pro-reliability-confirm`
|
|
30
22
|
|
|
31
|
-
|
|
23
|
+
Quickstart:
|
|
32
24
|
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
25
|
+
- `./scripts/run-automove-canonical-loop.sh frontier_pro_v2_guarded`
|
|
26
|
+
- `./scripts/run-automove-canonical-loop.sh --confirm frontier_pro_v2_guarded`
|
|
27
|
+
- `./scripts/run-automove-experiment.sh <stage> frontier_pro_v2_guarded`
|
|
28
|
+
- `./scripts/clean-experiment-artifacts.sh --dry-run`
|
|
37
29
|
|
|
38
|
-
|
|
30
|
+
Artifacts:
|
|
39
31
|
|
|
40
32
|
- selected-profile logs: `target/experiment-runs/<profile>/`
|
|
41
33
|
- workflow-only logs: `target/experiment-runs/misc/`
|
|
42
34
|
- runtime-preflight stamps: `target/experiment-stamps/`
|
|
43
35
|
|
|
44
|
-
##
|
|
45
|
-
|
|
46
|
-
Fixtures are stored as chunk archives in `rules-tests-chunks/` (default: `100000` fixtures per chunk).
|
|
47
|
-
|
|
48
|
-
Run all fixtures:
|
|
49
|
-
|
|
50
|
-
`./scripts/run-rules-tests.sh`
|
|
51
|
-
|
|
52
|
-
Useful options:
|
|
53
|
-
|
|
54
|
-
`./scripts/run-rules-tests.sh --limit 100`
|
|
36
|
+
## Rules Tests
|
|
55
37
|
|
|
56
|
-
|
|
38
|
+
Runner:
|
|
57
39
|
|
|
58
|
-
`./scripts/run-rules-tests.sh
|
|
40
|
+
- `./scripts/run-rules-tests.sh`
|
|
41
|
+
- `./scripts/run-rules-tests.sh --limit 100`
|
|
42
|
+
- `./scripts/run-rules-tests.sh --log /tmp/rules-tests.log`
|
|
59
43
|
|
|
60
|
-
|
|
44
|
+
Generator:
|
|
61
45
|
|
|
62
|
-
|
|
46
|
+
- `./scripts/generate-rules-tests.sh --target-new 100`
|
|
47
|
+
- `./scripts/generate-rules-tests.sh --dir /tmp/rules-tests-work`
|
|
48
|
+
- `./scripts/pack-rules-tests.sh --dir /tmp/rules-tests-work --chunks-dir ./rules-tests-chunks --chunk-size 100000`
|
|
63
49
|
|
|
64
|
-
|
|
50
|
+
## Repo Cleanup
|
|
65
51
|
|
|
66
|
-
|
|
52
|
+
- `./repo-clean.sh`
|
|
53
|
+
- `./repo-clean.sh --local-only`
|
|
67
54
|
|
|
68
|
-
|
|
55
|
+
Use `keep/<name>` for any branch that should survive repo cleanup.
|
|
69
56
|
|
|
70
|
-
|
|
57
|
+
## Publishing
|
|
71
58
|
|
|
72
|
-
`./
|
|
73
|
-
|
|
74
|
-
## repo cleanup
|
|
75
|
-
|
|
76
|
-
`./repo-clean.sh`
|
|
77
|
-
|
|
78
|
-
- switches back to a kept branch (`main`, `master`, or `keep/*`) before deleting disposable branches
|
|
79
|
-
- removes non-primary worktrees, clears stashes, deletes non-kept local branches, and prunes non-kept remote branches
|
|
80
|
-
- use `./repo-clean.sh --local-only` to skip remote branch deletion
|
|
81
|
-
- use `keep/<name>` for any branch you want to protect from cleanup
|
|
82
|
-
|
|
83
|
-
## publishing to npm
|
|
84
|
-
|
|
85
|
-
`./publish.sh`
|
|
86
|
-
|
|
87
|
-
Release checklist:
|
|
88
|
-
|
|
89
|
-
- Review `git status` before publish and confirm only intentional committed changes are present.
|
|
59
|
+
- `./publish.sh`
|
|
90
60
|
- Confirm public Pro still routes through `frontier_pro_v2_guarded`.
|
|
91
|
-
- Confirm `shipping_pro_search` remains available as the retained
|
|
61
|
+
- Confirm `shipping_pro_search` remains available as the retained baseline.
|
|
92
62
|
- Run `cargo test`.
|
|
93
63
|
- Run `cargo test --release --lib smart_automove_release_opening_black_reply_speed_gate -- --ignored --nocapture`.
|
|
94
64
|
- Run `cargo test --release --lib smart_automove_release_mixed_runtime_speed_gate -- --ignored --nocapture`.
|
|
95
|
-
- Commit valuable changes before version bump / publish.
|
|
96
65
|
- Clean disposable experiment artifacts after validation with `./scripts/clean-experiment-artifacts.sh`.
|
|
97
|
-
|
|
98
|
-
Production blockers:
|
|
99
|
-
|
|
100
|
-
- build/test failures
|
|
101
|
-
- release speed gate failures
|
|
102
|
-
- any regression in the deployed `frontier_pro_v2_guarded` Pro path
|
|
103
|
-
|
|
104
|
-
Non-blocking retained experiment state:
|
|
105
|
-
|
|
106
|
-
- the retained `shipping_pro_search` baseline, the retained `frontier_pro_v2_guarded` frontier, and ignored probes
|
|
107
|
-
- experiment workflow/logging helpers
|
|
108
|
-
- compressed automove backlog / knowledge / archive docs
|
package/mons-rust.d.ts
CHANGED
|
@@ -10,11 +10,18 @@
|
|
|
10
10
|
export function winner(fen_w: string, fen_b: string, flat_moves_string_w: string, flat_moves_string_b: string): string;
|
|
11
11
|
/**
|
|
12
12
|
*/
|
|
13
|
-
export enum
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
export enum ManaKind {
|
|
14
|
+
Regular = 0,
|
|
15
|
+
Supermana = 1,
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
*/
|
|
19
|
+
export enum ItemModelKind {
|
|
20
|
+
Mon = 0,
|
|
21
|
+
Mana = 1,
|
|
22
|
+
MonWithMana = 2,
|
|
23
|
+
MonWithConsumable = 3,
|
|
24
|
+
Consumable = 4,
|
|
18
25
|
}
|
|
19
26
|
/**
|
|
20
27
|
*/
|
|
@@ -42,30 +49,29 @@ export enum EventModelKind {
|
|
|
42
49
|
}
|
|
43
50
|
/**
|
|
44
51
|
*/
|
|
45
|
-
export enum
|
|
52
|
+
export enum SquareModelKind {
|
|
46
53
|
Regular = 0,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
MonMove = 0,
|
|
53
|
-
ManaMove = 1,
|
|
54
|
-
Action = 2,
|
|
55
|
-
Potion = 3,
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
*/
|
|
59
|
-
export enum Consumable {
|
|
60
|
-
Potion = 0,
|
|
61
|
-
Bomb = 1,
|
|
62
|
-
BombOrPotion = 2,
|
|
54
|
+
ConsumableBase = 1,
|
|
55
|
+
SupermanaBase = 2,
|
|
56
|
+
ManaBase = 3,
|
|
57
|
+
ManaPool = 4,
|
|
58
|
+
MonBase = 5,
|
|
63
59
|
}
|
|
64
60
|
/**
|
|
65
61
|
*/
|
|
66
|
-
export enum
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
export enum GameVariant {
|
|
63
|
+
Classic = 0,
|
|
64
|
+
SwappedManaRows = 1,
|
|
65
|
+
OffsetArcManaRows = 2,
|
|
66
|
+
CenterSpokeManaRows = 3,
|
|
67
|
+
AlternatingManaRows = 4,
|
|
68
|
+
InnerWedgeManaRows = 5,
|
|
69
|
+
OuterWedgeManaRows = 6,
|
|
70
|
+
BentCenterManaRows = 7,
|
|
71
|
+
OuterEdgeManaRows = 8,
|
|
72
|
+
SplitFlankManaRows = 9,
|
|
73
|
+
ForwardBridgeManaRows = 10,
|
|
74
|
+
CornerChainManaRows = 11,
|
|
69
75
|
}
|
|
70
76
|
/**
|
|
71
77
|
*/
|
|
@@ -82,23 +88,17 @@ export enum NextInputKind {
|
|
|
82
88
|
}
|
|
83
89
|
/**
|
|
84
90
|
*/
|
|
85
|
-
export enum
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
Consumable = 4,
|
|
91
|
+
export enum AvailableMoveKind {
|
|
92
|
+
MonMove = 0,
|
|
93
|
+
ManaMove = 1,
|
|
94
|
+
Action = 2,
|
|
95
|
+
Potion = 3,
|
|
91
96
|
}
|
|
92
97
|
/**
|
|
93
98
|
*/
|
|
94
|
-
export enum
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
OffsetArcManaRows = 2,
|
|
98
|
-
CenterSpokeManaRows = 3,
|
|
99
|
-
AlternatingManaRows = 4,
|
|
100
|
-
InnerWedgeManaRows = 5,
|
|
101
|
-
OuterWedgeManaRows = 6,
|
|
99
|
+
export enum Color {
|
|
100
|
+
White = 0,
|
|
101
|
+
Black = 1,
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
104
104
|
*/
|
|
@@ -109,13 +109,18 @@ export enum Modifier {
|
|
|
109
109
|
}
|
|
110
110
|
/**
|
|
111
111
|
*/
|
|
112
|
-
export enum
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
112
|
+
export enum Consumable {
|
|
113
|
+
Potion = 0,
|
|
114
|
+
Bomb = 1,
|
|
115
|
+
BombOrPotion = 2,
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
*/
|
|
119
|
+
export enum OutputModelKind {
|
|
120
|
+
InvalidInput = 0,
|
|
121
|
+
LocationsToStartFrom = 1,
|
|
122
|
+
NextInputOptions = 2,
|
|
123
|
+
Events = 3,
|
|
119
124
|
}
|
|
120
125
|
/**
|
|
121
126
|
*/
|
package/mons-rust.js
CHANGED
|
@@ -201,37 +201,37 @@ function handleError(f, args) {
|
|
|
201
201
|
}
|
|
202
202
|
/**
|
|
203
203
|
*/
|
|
204
|
-
module.exports.
|
|
205
|
-
/**
|
|
206
|
-
*/
|
|
207
|
-
module.exports.EventModelKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",ManaScored:2,"2":"ManaScored",MysticAction:3,"3":"MysticAction",DemonAction:4,"4":"DemonAction",DemonAdditionalStep:5,"5":"DemonAdditionalStep",SpiritTargetMove:6,"6":"SpiritTargetMove",PickupBomb:7,"7":"PickupBomb",PickupPotion:8,"8":"PickupPotion",PickupMana:9,"9":"PickupMana",MonFainted:10,"10":"MonFainted",ManaDropped:11,"11":"ManaDropped",SupermanaBackToBase:12,"12":"SupermanaBackToBase",BombAttack:13,"13":"BombAttack",MonAwake:14,"14":"MonAwake",BombExplosion:15,"15":"BombExplosion",NextTurn:16,"16":"NextTurn",GameOver:17,"17":"GameOver",Takeback:18,"18":"Takeback",UsePotion:19,"19":"UsePotion", });
|
|
204
|
+
module.exports.ManaKind = Object.freeze({ Regular:0,"0":"Regular",Supermana:1,"1":"Supermana", });
|
|
208
205
|
/**
|
|
209
206
|
*/
|
|
210
|
-
module.exports.
|
|
207
|
+
module.exports.ItemModelKind = Object.freeze({ Mon:0,"0":"Mon",Mana:1,"1":"Mana",MonWithMana:2,"2":"MonWithMana",MonWithConsumable:3,"3":"MonWithConsumable",Consumable:4,"4":"Consumable", });
|
|
211
208
|
/**
|
|
212
209
|
*/
|
|
213
|
-
module.exports.
|
|
210
|
+
module.exports.EventModelKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",ManaScored:2,"2":"ManaScored",MysticAction:3,"3":"MysticAction",DemonAction:4,"4":"DemonAction",DemonAdditionalStep:5,"5":"DemonAdditionalStep",SpiritTargetMove:6,"6":"SpiritTargetMove",PickupBomb:7,"7":"PickupBomb",PickupPotion:8,"8":"PickupPotion",PickupMana:9,"9":"PickupMana",MonFainted:10,"10":"MonFainted",ManaDropped:11,"11":"ManaDropped",SupermanaBackToBase:12,"12":"SupermanaBackToBase",BombAttack:13,"13":"BombAttack",MonAwake:14,"14":"MonAwake",BombExplosion:15,"15":"BombExplosion",NextTurn:16,"16":"NextTurn",GameOver:17,"17":"GameOver",Takeback:18,"18":"Takeback",UsePotion:19,"19":"UsePotion", });
|
|
214
211
|
/**
|
|
215
212
|
*/
|
|
216
|
-
module.exports.
|
|
213
|
+
module.exports.SquareModelKind = Object.freeze({ Regular:0,"0":"Regular",ConsumableBase:1,"1":"ConsumableBase",SupermanaBase:2,"2":"SupermanaBase",ManaBase:3,"3":"ManaBase",ManaPool:4,"4":"ManaPool",MonBase:5,"5":"MonBase", });
|
|
217
214
|
/**
|
|
218
215
|
*/
|
|
219
|
-
module.exports.
|
|
216
|
+
module.exports.GameVariant = Object.freeze({ Classic:0,"0":"Classic",SwappedManaRows:1,"1":"SwappedManaRows",OffsetArcManaRows:2,"2":"OffsetArcManaRows",CenterSpokeManaRows:3,"3":"CenterSpokeManaRows",AlternatingManaRows:4,"4":"AlternatingManaRows",InnerWedgeManaRows:5,"5":"InnerWedgeManaRows",OuterWedgeManaRows:6,"6":"OuterWedgeManaRows",BentCenterManaRows:7,"7":"BentCenterManaRows",OuterEdgeManaRows:8,"8":"OuterEdgeManaRows",SplitFlankManaRows:9,"9":"SplitFlankManaRows",ForwardBridgeManaRows:10,"10":"ForwardBridgeManaRows",CornerChainManaRows:11,"11":"CornerChainManaRows", });
|
|
220
217
|
/**
|
|
221
218
|
*/
|
|
222
219
|
module.exports.NextInputKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",MysticAction:2,"2":"MysticAction",DemonAction:3,"3":"DemonAction",DemonAdditionalStep:4,"4":"DemonAdditionalStep",SpiritTargetCapture:5,"5":"SpiritTargetCapture",SpiritTargetMove:6,"6":"SpiritTargetMove",SelectConsumable:7,"7":"SelectConsumable",BombAttack:8,"8":"BombAttack", });
|
|
223
220
|
/**
|
|
224
221
|
*/
|
|
225
|
-
module.exports.
|
|
222
|
+
module.exports.AvailableMoveKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",Action:2,"2":"Action",Potion:3,"3":"Potion", });
|
|
226
223
|
/**
|
|
227
224
|
*/
|
|
228
|
-
module.exports.
|
|
225
|
+
module.exports.Color = Object.freeze({ White:0,"0":"White",Black:1,"1":"Black", });
|
|
229
226
|
/**
|
|
230
227
|
*/
|
|
231
228
|
module.exports.Modifier = Object.freeze({ SelectPotion:0,"0":"SelectPotion",SelectBomb:1,"1":"SelectBomb",Cancel:2,"2":"Cancel", });
|
|
232
229
|
/**
|
|
233
230
|
*/
|
|
234
|
-
module.exports.
|
|
231
|
+
module.exports.Consumable = Object.freeze({ Potion:0,"0":"Potion",Bomb:1,"1":"Bomb",BombOrPotion:2,"2":"BombOrPotion", });
|
|
232
|
+
/**
|
|
233
|
+
*/
|
|
234
|
+
module.exports.OutputModelKind = Object.freeze({ InvalidInput:0,"0":"InvalidInput",LocationsToStartFrom:1,"1":"LocationsToStartFrom",NextInputOptions:2,"2":"NextInputOptions",Events:3,"3":"Events", });
|
|
235
235
|
/**
|
|
236
236
|
*/
|
|
237
237
|
module.exports.MonKind = Object.freeze({ Demon:0,"0":"Demon",Drainer:1,"1":"Drainer",Angel:2,"2":"Angel",Spirit:3,"3":"Spirit",Mystic:4,"4":"Mystic", });
|
|
@@ -1402,13 +1402,13 @@ module.exports.__wbindgen_string_new = function(arg0, arg1) {
|
|
|
1402
1402
|
return addHeapObject(ret);
|
|
1403
1403
|
};
|
|
1404
1404
|
|
|
1405
|
-
module.exports.
|
|
1406
|
-
const ret =
|
|
1405
|
+
module.exports.__wbg_location_new = function(arg0) {
|
|
1406
|
+
const ret = Location.__wrap(arg0);
|
|
1407
1407
|
return addHeapObject(ret);
|
|
1408
1408
|
};
|
|
1409
1409
|
|
|
1410
|
-
module.exports.
|
|
1411
|
-
const ret =
|
|
1410
|
+
module.exports.__wbg_eventmodel_new = function(arg0) {
|
|
1411
|
+
const ret = EventModel.__wrap(arg0);
|
|
1412
1412
|
return addHeapObject(ret);
|
|
1413
1413
|
};
|
|
1414
1414
|
|
package/mons-rust_bg.wasm
CHANGED
|
Binary file
|