Skip to content

Commit fec84fc

Browse files
chore(deps): bump rusqlite from 0.32.1 to 0.40.1 in /ecc2 (affaan-m#2211)
* chore(deps): bump rusqlite from 0.32.1 to 0.40.1 in /ecc2 Bumps [rusqlite](https://github.com/rusqlite/rusqlite) from 0.32.1 to 0.40.1. - [Release notes](https://github.com/rusqlite/rusqlite/releases) - [Changelog](https://github.com/rusqlite/rusqlite/blob/master/Changelog.md) - [Commits](rusqlite/rusqlite@v0.32.1...v0.40.1) --- updated-dependencies: - dependency-name: rusqlite dependency-version: 0.40.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * fix(ecc2): cast u64 columns at sqlite boundary for rusqlite 0.40 rusqlite 0.40 removed the u64 ToSql/FromSql impls (SQLite stores INTEGER as i64). Cast token counts, durations, counts, and paging values to/from i64 at each bind/read site in session/store.rs. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Affaan Mustafa <me@affaanmustafa.com>
1 parent 1481aa7 commit fec84fc

3 files changed

Lines changed: 61 additions & 75 deletions

File tree

ecc2/Cargo.lock

Lines changed: 30 additions & 48 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ecc2/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ crossterm = "0.29"
2020
tokio = { version = "1", features = ["full"] }
2121

2222
# State store
23-
rusqlite = { version = "0.32", features = ["bundled"] }
23+
rusqlite = { version = "0.40", features = ["bundled"] }
2424

2525
# Git integration
2626
git2 = { version = "0.20", features = ["ssh"] }

ecc2/src/session/store.rs

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,7 +1025,7 @@ impl StateStore {
10251025
profile.permission_mode,
10261026
add_dirs_json,
10271027
profile.max_budget_usd,
1028-
profile.token_budget,
1028+
profile.token_budget.map(|tokens| tokens as i64),
10291029
profile.append_system_prompt,
10301030
],
10311031
)?;
@@ -1062,7 +1062,9 @@ impl StateStore {
10621062
permission_mode: row.get(4)?,
10631063
add_dirs: serde_json::from_str(&add_dirs_json).unwrap_or_default(),
10641064
max_budget_usd: row.get(6)?,
1065-
token_budget: row.get(7)?,
1065+
token_budget: row
1066+
.get::<_, Option<i64>>(7)?
1067+
.map(|tokens| tokens as u64),
10661068
append_system_prompt: row.get(8)?,
10671069
agent: None,
10681070
})
@@ -1568,12 +1570,12 @@ impl StateStore {
15681570
updated_at = ?8
15691571
WHERE id = ?9",
15701572
rusqlite::params![
1571-
metrics.input_tokens,
1572-
metrics.output_tokens,
1573-
metrics.tokens_used,
1574-
metrics.tool_calls,
1573+
metrics.input_tokens as i64,
1574+
metrics.output_tokens as i64,
1575+
metrics.tokens_used as i64,
1576+
metrics.tool_calls as i64,
15751577
metrics.files_changed,
1576-
metrics.duration_secs,
1578+
metrics.duration_secs as i64,
15771579
metrics.cost_usd,
15781580
chrono::Utc::now().to_rfc3339(),
15791581
session_id,
@@ -1596,7 +1598,7 @@ impl StateStore {
15961598
row.get::<_, String>(1)?,
15971599
row.get::<_, String>(2)?,
15981600
row.get::<_, String>(3)?,
1599-
row.get::<_, u64>(4)?,
1601+
row.get::<_, i64>(4)? as u64,
16001602
))
16011603
})?
16021604
.collect::<std::result::Result<Vec<_>, _>>()?;
@@ -1626,7 +1628,7 @@ impl StateStore {
16261628
if duration_secs != current_duration {
16271629
self.conn.execute(
16281630
"UPDATE sessions SET duration_secs = ?1 WHERE id = ?2",
1629-
rusqlite::params![duration_secs, session_id],
1631+
rusqlite::params![duration_secs as i64, session_id],
16301632
)?;
16311633
}
16321634
}
@@ -1706,11 +1708,11 @@ impl StateStore {
17061708
cost_usd = ?4
17071709
WHERE id = ?5",
17081710
rusqlite::params![
1709-
aggregate.input_tokens,
1710-
aggregate.output_tokens,
1711+
aggregate.input_tokens as i64,
1712+
aggregate.output_tokens as i64,
17111713
aggregate
17121714
.input_tokens
1713-
.saturating_add(aggregate.output_tokens),
1715+
.saturating_add(aggregate.output_tokens) as i64,
17141716
aggregate.cost_usd,
17151717
session_id,
17161718
],
@@ -1871,7 +1873,7 @@ impl StateStore {
18711873
row.input_params_json,
18721874
row.output_summary,
18731875
trigger_summary,
1874-
row.duration_ms,
1876+
row.duration_ms as i64,
18751877
risk_score,
18761878
timestamp,
18771879
file_paths_json,
@@ -2135,12 +2137,12 @@ impl StateStore {
21352137
})
21362138
.with_timezone(&chrono::Utc),
21372139
metrics: SessionMetrics {
2138-
input_tokens: row.get(11)?,
2139-
output_tokens: row.get(12)?,
2140-
tokens_used: row.get(13)?,
2141-
tool_calls: row.get(14)?,
2140+
input_tokens: row.get::<_, i64>(11)? as u64,
2141+
output_tokens: row.get::<_, i64>(12)? as u64,
2142+
tokens_used: row.get::<_, i64>(13)? as u64,
2143+
tool_calls: row.get::<_, i64>(14)? as u64,
21422144
files_changed: row.get(15)?,
2143-
duration_secs: row.get(16)?,
2145+
duration_secs: row.get::<_, i64>(16)? as u64,
21442146
cost_usd: row.get(17)?,
21452147
},
21462148
})
@@ -3813,7 +3815,7 @@ impl StateStore {
38133815
input_params_json,
38143816
output_summary,
38153817
trigger_summary,
3816-
duration_ms,
3818+
duration_ms as i64,
38173819
risk_score,
38183820
timestamp,
38193821
],
@@ -3842,11 +3844,11 @@ impl StateStore {
38423844
let page = page.max(1);
38433845
let offset = (page - 1) * page_size;
38443846

3845-
let total: u64 = self.conn.query_row(
3847+
let total = self.conn.query_row(
38463848
"SELECT COUNT(*) FROM tool_log WHERE session_id = ?1",
38473849
rusqlite::params![session_id],
3848-
|row| row.get(0),
3849-
)?;
3850+
|row| row.get::<_, i64>(0),
3851+
)? as u64;
38503852

38513853
let mut stmt = self.conn.prepare(
38523854
"SELECT id, session_id, tool_name, input_summary, input_params_json, output_summary, trigger_summary, duration_ms, risk_score, timestamp
@@ -3857,7 +3859,9 @@ impl StateStore {
38573859
)?;
38583860

38593861
let entries = stmt
3860-
.query_map(rusqlite::params![session_id, page_size, offset], |row| {
3862+
.query_map(
3863+
rusqlite::params![session_id, page_size as i64, offset as i64],
3864+
|row| {
38613865
Ok(ToolLogEntry {
38623866
id: row.get(0)?,
38633867
session_id: row.get(1)?,
@@ -3868,7 +3872,7 @@ impl StateStore {
38683872
.unwrap_or_else(|| "{}".to_string()),
38693873
output_summary: row.get::<_, Option<String>>(5)?.unwrap_or_default(),
38703874
trigger_summary: row.get::<_, Option<String>>(6)?.unwrap_or_default(),
3871-
duration_ms: row.get::<_, Option<u64>>(7)?.unwrap_or_default(),
3875+
duration_ms: row.get::<_, Option<i64>>(7)?.unwrap_or_default() as u64,
38723876
risk_score: row.get::<_, Option<f64>>(8)?.unwrap_or_default(),
38733877
timestamp: row.get(9)?,
38743878
})
@@ -3903,7 +3907,7 @@ impl StateStore {
39033907
.unwrap_or_else(|| "{}".to_string()),
39043908
output_summary: row.get::<_, Option<String>>(5)?.unwrap_or_default(),
39053909
trigger_summary: row.get::<_, Option<String>>(6)?.unwrap_or_default(),
3906-
duration_ms: row.get::<_, Option<u64>>(7)?.unwrap_or_default(),
3910+
duration_ms: row.get::<_, Option<i64>>(7)?.unwrap_or_default() as u64,
39073911
risk_score: row.get::<_, Option<f64>>(8)?.unwrap_or_default(),
39083912
timestamp: row.get(9)?,
39093913
})
@@ -6629,7 +6633,7 @@ mod tests {
66296633
"{}",
66306634
"updated file",
66316635
"context graph",
6632-
0u64,
6636+
0i64,
66336637
0.0f64,
66346638
"2026-04-10T00:01:00Z",
66356639
"[\"src/backfill.rs\"]",

0 commit comments

Comments
 (0)