blackopsrepl commited on
Commit
b7eb395
·
1 Parent(s): fdf1514

chore(deps): update SolverForge runtime crates

Browse files

Move the app from the published solverforge 0.9.1 crate family to solverforge 0.11.1 and update the embedded shared UI dependency from solverforge-ui 0.6.3 to 0.6.5. The lockfile now records the crates.io checksums for the resolved published packages, and solverforge.app.toml mirrors the runtime and UI sources used by the build.

Adjust the retained-job DTO and SSE payload serialization helpers to borrow SolverTelemetry instead of consuming it. This matches the current solverforge runtime status and snapshot shapes while preserving the existing JSON payload contract exposed to the browser.

Cargo.lock CHANGED
@@ -1507,9 +1507,9 @@ dependencies = [
1507
 
1508
  [[package]]
1509
  name = "solverforge"
1510
- version = "0.9.1"
1511
  source = "registry+https://github.com/rust-lang/crates.io-index"
1512
- checksum = "bf7016080121cd103083cff864a6bda8e2b65377bbbf852c0b05df091d584af1"
1513
  dependencies = [
1514
  "solverforge-config",
1515
  "solverforge-console",
@@ -1523,9 +1523,9 @@ dependencies = [
1523
 
1524
  [[package]]
1525
  name = "solverforge-config"
1526
- version = "0.9.1"
1527
  source = "registry+https://github.com/rust-lang/crates.io-index"
1528
- checksum = "045070a1f2a86fb27e04dab7c4fed7a35a275af887622df2e64d95d05d43121e"
1529
  dependencies = [
1530
  "serde",
1531
  "serde_yaml",
@@ -1536,9 +1536,9 @@ dependencies = [
1536
 
1537
  [[package]]
1538
  name = "solverforge-console"
1539
- version = "0.9.1"
1540
  source = "registry+https://github.com/rust-lang/crates.io-index"
1541
- checksum = "0759e5ae26e608b55c23c8b645ad63ff0f7f9db3860c1668a16966dd5bba4476"
1542
  dependencies = [
1543
  "num-format",
1544
  "owo-colors",
@@ -1548,9 +1548,9 @@ dependencies = [
1548
 
1549
  [[package]]
1550
  name = "solverforge-core"
1551
- version = "0.9.1"
1552
  source = "registry+https://github.com/rust-lang/crates.io-index"
1553
- checksum = "5b63b5c0213e0e602364f680637170ca9fec4b6f129de9981f118041aae5d689"
1554
  dependencies = [
1555
  "serde",
1556
  "thiserror 2.0.18",
@@ -1558,9 +1558,9 @@ dependencies = [
1558
 
1559
  [[package]]
1560
  name = "solverforge-cvrp"
1561
- version = "0.9.1"
1562
  source = "registry+https://github.com/rust-lang/crates.io-index"
1563
- checksum = "287dd64c8843bfb44b75df0566dac9601ee7448926f2047066239673239a40f9"
1564
  dependencies = [
1565
  "solverforge-solver",
1566
  ]
@@ -1587,9 +1587,9 @@ dependencies = [
1587
 
1588
  [[package]]
1589
  name = "solverforge-macros"
1590
- version = "0.9.1"
1591
  source = "registry+https://github.com/rust-lang/crates.io-index"
1592
- checksum = "946610887a584b315b487db0859e00abf73d54811babd627e869cbc69ea58c63"
1593
  dependencies = [
1594
  "proc-macro2",
1595
  "quote",
@@ -1613,9 +1613,9 @@ dependencies = [
1613
 
1614
  [[package]]
1615
  name = "solverforge-scoring"
1616
- version = "0.9.1"
1617
  source = "registry+https://github.com/rust-lang/crates.io-index"
1618
- checksum = "240a9463ec2d9a50a9082bf35535179d21b4463b284c3199c0b764e0b6214a92"
1619
  dependencies = [
1620
  "solverforge-core",
1621
  "thiserror 2.0.18",
@@ -1623,9 +1623,9 @@ dependencies = [
1623
 
1624
  [[package]]
1625
  name = "solverforge-solver"
1626
- version = "0.9.1"
1627
  source = "registry+https://github.com/rust-lang/crates.io-index"
1628
- checksum = "9d4ae8a78ab9b9c32f2732bf79a79c4417a86467fb1063c70f132798c3e943f5"
1629
  dependencies = [
1630
  "rand 0.10.1",
1631
  "rand_chacha 0.10.0",
@@ -1642,9 +1642,9 @@ dependencies = [
1642
 
1643
  [[package]]
1644
  name = "solverforge-ui"
1645
- version = "0.6.3"
1646
  source = "registry+https://github.com/rust-lang/crates.io-index"
1647
- checksum = "0e7539f982c47c5627e834a764af64d1dde31b806f08118491e7fac8b5388c60"
1648
  dependencies = [
1649
  "axum",
1650
  "include_dir",
 
1507
 
1508
  [[package]]
1509
  name = "solverforge"
1510
+ version = "0.11.1"
1511
  source = "registry+https://github.com/rust-lang/crates.io-index"
1512
+ checksum = "f6d275ab6321fced4d4dfce9984efd24bc384119d486ab68d4a1602a6c096647"
1513
  dependencies = [
1514
  "solverforge-config",
1515
  "solverforge-console",
 
1523
 
1524
  [[package]]
1525
  name = "solverforge-config"
1526
+ version = "0.11.1"
1527
  source = "registry+https://github.com/rust-lang/crates.io-index"
1528
+ checksum = "6deeada379370e64198b864a8334bf3d780cce260fb490da839ff1f9f98192fa"
1529
  dependencies = [
1530
  "serde",
1531
  "serde_yaml",
 
1536
 
1537
  [[package]]
1538
  name = "solverforge-console"
1539
+ version = "0.11.1"
1540
  source = "registry+https://github.com/rust-lang/crates.io-index"
1541
+ checksum = "572acc44ca4fc379cf009bc99f5fffda8720c457dfd6ff4a14486946bb4f85cc"
1542
  dependencies = [
1543
  "num-format",
1544
  "owo-colors",
 
1548
 
1549
  [[package]]
1550
  name = "solverforge-core"
1551
+ version = "0.11.1"
1552
  source = "registry+https://github.com/rust-lang/crates.io-index"
1553
+ checksum = "1a158fa507c3c47a09bab48a8605b16bb082ac8b56067eb78ac59849e8098be3"
1554
  dependencies = [
1555
  "serde",
1556
  "thiserror 2.0.18",
 
1558
 
1559
  [[package]]
1560
  name = "solverforge-cvrp"
1561
+ version = "0.11.1"
1562
  source = "registry+https://github.com/rust-lang/crates.io-index"
1563
+ checksum = "769dd17eb3695dd1d8c532795c293ff5488370b3418271727d1cdc05707b6978"
1564
  dependencies = [
1565
  "solverforge-solver",
1566
  ]
 
1587
 
1588
  [[package]]
1589
  name = "solverforge-macros"
1590
+ version = "0.11.1"
1591
  source = "registry+https://github.com/rust-lang/crates.io-index"
1592
+ checksum = "5b6a1ea5a613eaa550c32abce2d1740f4b5ad58d1fc3a7e8b7dc1c22633bbcc1"
1593
  dependencies = [
1594
  "proc-macro2",
1595
  "quote",
 
1613
 
1614
  [[package]]
1615
  name = "solverforge-scoring"
1616
+ version = "0.11.1"
1617
  source = "registry+https://github.com/rust-lang/crates.io-index"
1618
+ checksum = "020a26f954c1d843502920c3ef5c92dea98d087a1b3e228fde15ba11940d1140"
1619
  dependencies = [
1620
  "solverforge-core",
1621
  "thiserror 2.0.18",
 
1623
 
1624
  [[package]]
1625
  name = "solverforge-solver"
1626
+ version = "0.11.1"
1627
  source = "registry+https://github.com/rust-lang/crates.io-index"
1628
+ checksum = "9e44c36698c32be1a12eeac8ab40ac600149c698281ee0dc59ee6029d0ab5521"
1629
  dependencies = [
1630
  "rand 0.10.1",
1631
  "rand_chacha 0.10.0",
 
1642
 
1643
  [[package]]
1644
  name = "solverforge-ui"
1645
+ version = "0.6.5"
1646
  source = "registry+https://github.com/rust-lang/crates.io-index"
1647
+ checksum = "1c7fa2d78c84af9a1e264adcffc1bdf8cb4edab8d73a3543fb448d166c95596f"
1648
  dependencies = [
1649
  "axum",
1650
  "include_dir",
Cargo.toml CHANGED
@@ -10,12 +10,12 @@ name = "solverforge_deliveries"
10
  path = "src/main.rs"
11
 
12
  [dependencies]
13
- solverforge = { version = "0.9.1", features = [
14
  "serde",
15
  "console",
16
  "verbose-logging",
17
  ] }
18
- solverforge-ui = "0.6.3"
19
  solverforge-maps = "2.1.3"
20
  # Web server
21
  axum = "0.8.9"
 
10
  path = "src/main.rs"
11
 
12
  [dependencies]
13
+ solverforge = { version = "0.11.1", features = [
14
  "serde",
15
  "console",
16
  "verbose-logging",
17
  ] }
18
+ solverforge-ui = "0.6.5"
19
  solverforge-maps = "2.1.3"
20
  # Web server
21
  axum = "0.8.9"
solverforge.app.toml CHANGED
@@ -4,9 +4,9 @@ starter = "neutral-shell"
4
  cli_version = "2.0.1"
5
 
6
  [runtime]
7
- target = "solverforge 0.9.1"
8
- runtime_source = "crates.io: solverforge 0.9.1"
9
- ui_source = "crates.io: solverforge-ui 0.6.3"
10
  maps_source = "crates.io: solverforge-maps 2.1.3"
11
 
12
  [demo]
 
4
  cli_version = "2.0.1"
5
 
6
  [runtime]
7
+ target = "solverforge 0.11.1"
8
+ runtime_source = "crates.io: solverforge 0.11.1"
9
+ ui_source = "crates.io: solverforge-ui 0.6.5"
10
  maps_source = "crates.io: solverforge-maps 2.1.3"
11
 
12
  [demo]
src/api/dto.rs CHANGED
@@ -146,7 +146,7 @@ impl JobSummaryDto {
146
  snapshot_revision: status.latest_snapshot_revision,
147
  current_score: status.current_score.map(|score| score.to_string()),
148
  best_score: status.best_score.map(|score| score.to_string()),
149
- telemetry: TelemetryDto::from_runtime(status.telemetry),
150
  }
151
  }
152
  }
@@ -161,7 +161,7 @@ impl JobSnapshotDto {
161
  terminal_reason: snapshot.terminal_reason.map(terminal_reason_label),
162
  current_score: snapshot.current_score.map(|score| score.to_string()),
163
  best_score: snapshot.best_score.map(|score| score.to_string()),
164
- telemetry: TelemetryDto::from_runtime(snapshot.telemetry),
165
  solution: PlanDto::from_plan(&snapshot.solution),
166
  }
167
  }
 
146
  snapshot_revision: status.latest_snapshot_revision,
147
  current_score: status.current_score.map(|score| score.to_string()),
148
  best_score: status.best_score.map(|score| score.to_string()),
149
+ telemetry: TelemetryDto::from_runtime(&status.telemetry),
150
  }
151
  }
152
  }
 
161
  terminal_reason: snapshot.terminal_reason.map(terminal_reason_label),
162
  current_score: snapshot.current_score.map(|score| score.to_string()),
163
  best_score: snapshot.best_score.map(|score| score.to_string()),
164
+ telemetry: TelemetryDto::from_runtime(&snapshot.telemetry),
165
  solution: PlanDto::from_plan(&snapshot.solution),
166
  }
167
  }
src/api/dto/runtime.rs CHANGED
@@ -18,7 +18,7 @@ pub struct TelemetryDto {
18
  }
19
 
20
  impl TelemetryDto {
21
- pub fn from_runtime(telemetry: SolverTelemetry) -> Self {
22
  Self {
23
  elapsed_ms: duration_to_millis(telemetry.elapsed),
24
  step_count: telemetry.step_count,
 
18
  }
19
 
20
  impl TelemetryDto {
21
+ pub fn from_runtime(telemetry: &SolverTelemetry) -> Self {
22
  Self {
23
  elapsed_ms: duration_to_millis(telemetry.elapsed),
24
  step_count: telemetry.step_count,
src/solver/service/runtime_payload.rs CHANGED
@@ -52,7 +52,7 @@ pub(super) fn status_event_payload(
52
  event_sequence: status.event_sequence,
53
  lifecycle_state: lifecycle_state_label(status.lifecycle_state),
54
  terminal_reason: status.terminal_reason.map(terminal_reason_label),
55
- telemetry: telemetry_payload(status.telemetry),
56
  current_score: status.current_score.map(|score| score.to_string()),
57
  best_score: status.best_score.map(|score| score.to_string()),
58
  snapshot_revision: status.latest_snapshot_revision,
@@ -86,7 +86,7 @@ pub(super) fn event_payload(
86
  event_sequence: metadata.event_sequence,
87
  lifecycle_state: lifecycle_state_label(metadata.lifecycle_state),
88
  terminal_reason: metadata.terminal_reason.map(terminal_reason_label),
89
- telemetry: telemetry_payload(metadata.telemetry),
90
  current_score: metadata.current_score.map(|score| score.to_string()),
91
  best_score: metadata.best_score.map(|score| score.to_string()),
92
  snapshot_revision: metadata.snapshot_revision,
@@ -99,7 +99,7 @@ fn serialize_payload(payload: JobEventPayload) -> String {
99
  serde_json::to_string(&payload).expect("failed to serialize solver lifecycle payload")
100
  }
101
 
102
- fn telemetry_payload(telemetry: SolverTelemetry) -> TelemetryPayload {
103
  TelemetryPayload {
104
  elapsed_ms: duration_to_millis(telemetry.elapsed),
105
  step_count: telemetry.step_count,
 
52
  event_sequence: status.event_sequence,
53
  lifecycle_state: lifecycle_state_label(status.lifecycle_state),
54
  terminal_reason: status.terminal_reason.map(terminal_reason_label),
55
+ telemetry: telemetry_payload(&status.telemetry),
56
  current_score: status.current_score.map(|score| score.to_string()),
57
  best_score: status.best_score.map(|score| score.to_string()),
58
  snapshot_revision: status.latest_snapshot_revision,
 
86
  event_sequence: metadata.event_sequence,
87
  lifecycle_state: lifecycle_state_label(metadata.lifecycle_state),
88
  terminal_reason: metadata.terminal_reason.map(terminal_reason_label),
89
+ telemetry: telemetry_payload(&metadata.telemetry),
90
  current_score: metadata.current_score.map(|score| score.to_string()),
91
  best_score: metadata.best_score.map(|score| score.to_string()),
92
  snapshot_revision: metadata.snapshot_revision,
 
99
  serde_json::to_string(&payload).expect("failed to serialize solver lifecycle payload")
100
  }
101
 
102
+ fn telemetry_payload(telemetry: &SolverTelemetry) -> TelemetryPayload {
103
  TelemetryPayload {
104
  elapsed_ms: duration_to_millis(telemetry.elapsed),
105
  step_count: telemetry.step_count,