@team-agent/installer 0.3.1 → 0.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.
- package/Cargo.lock +34 -1
- package/Cargo.toml +1 -1
- package/crates/team-agent/Cargo.toml +1 -1
- package/crates/team-agent/src/cli/adapters.rs +234 -26
- package/crates/team-agent/src/cli/diagnose.rs +144 -10
- package/crates/team-agent/src/cli/emit.rs +289 -54
- package/crates/team-agent/src/cli/leader.rs +37 -8
- package/crates/team-agent/src/cli/mod.rs +1281 -196
- package/crates/team-agent/src/cli/status_port.rs +195 -46
- package/crates/team-agent/src/cli/tests/divergence.rs +1 -2
- package/crates/team-agent/src/cli/tests/lane_c.rs +23 -13
- package/crates/team-agent/src/cli/tests/main_preserved.rs +2 -0
- package/crates/team-agent/src/cli/tests/run_delegation.rs +59 -3
- package/crates/team-agent/src/cli/types.rs +18 -0
- package/crates/team-agent/src/compiler.rs +15 -5
- package/crates/team-agent/src/coordinator/health.rs +95 -17
- package/crates/team-agent/src/coordinator/mod.rs +4 -0
- package/crates/team-agent/src/coordinator/runtime_detectors.rs +500 -0
- package/crates/team-agent/src/coordinator/runtime_observation.rs +58 -0
- package/crates/team-agent/src/coordinator/tick.rs +222 -69
- package/crates/team-agent/src/coordinator/types.rs +15 -3
- package/crates/team-agent/src/db/schema.rs +37 -2
- package/crates/team-agent/src/diagnose/comms.rs +226 -0
- package/crates/team-agent/src/diagnose/mod.rs +45 -0
- package/crates/team-agent/src/diagnose/orphans.rs +658 -0
- package/crates/team-agent/src/fake_worker.rs +146 -3
- package/crates/team-agent/src/leader/start.rs +121 -23
- package/crates/team-agent/src/leader/types.rs +44 -1
- package/crates/team-agent/src/lib.rs +3 -0
- package/crates/team-agent/src/lifecycle/display.rs +645 -47
- package/crates/team-agent/src/lifecycle/launch.rs +1061 -146
- package/crates/team-agent/src/lifecycle/mod.rs +2 -0
- package/crates/team-agent/src/lifecycle/profile_launch.rs +810 -0
- package/crates/team-agent/src/lifecycle/profile_smoke.rs +522 -0
- package/crates/team-agent/src/lifecycle/restart/agent.rs +99 -23
- package/crates/team-agent/src/lifecycle/restart/common.rs +183 -24
- package/crates/team-agent/src/lifecycle/restart/rebuild.rs +498 -22
- package/crates/team-agent/src/lifecycle/restart/remove.rs +27 -7
- package/crates/team-agent/src/lifecycle/restart/team_state.rs +19 -0
- package/crates/team-agent/src/lifecycle/restart.rs +24 -1
- package/crates/team-agent/src/lifecycle/tests/lane_ops.rs +5 -5
- package/crates/team-agent/src/lifecycle/tests/launch_spawn.rs +37 -7
- package/crates/team-agent/src/lifecycle/types.rs +19 -0
- package/crates/team-agent/src/mcp_server/helpers.rs +1 -0
- package/crates/team-agent/src/mcp_server/lifecycle_tools/agent_ops.rs +341 -0
- package/crates/team-agent/src/mcp_server/lifecycle_tools/mod.rs +10 -0
- package/crates/team-agent/src/mcp_server/lifecycle_tools/state_status.rs +158 -0
- package/crates/team-agent/src/mcp_server/mod.rs +3 -74
- package/crates/team-agent/src/mcp_server/tests/scoped.rs +1 -1
- package/crates/team-agent/src/mcp_server/tests/send.rs +6 -5
- package/crates/team-agent/src/mcp_server/tools.rs +312 -111
- package/crates/team-agent/src/mcp_server/types.rs +6 -4
- package/crates/team-agent/src/mcp_server/wire.rs +19 -7
- package/crates/team-agent/src/message_store.rs +21 -4
- package/crates/team-agent/src/messaging/delivery.rs +470 -59
- package/crates/team-agent/src/messaging/mod.rs +9 -6
- package/crates/team-agent/src/messaging/results.rs +353 -63
- package/crates/team-agent/src/messaging/selftest.rs +199 -12
- package/crates/team-agent/src/messaging/send.rs +35 -3
- package/crates/team-agent/src/messaging/tests/runtime.rs +19 -4
- package/crates/team-agent/src/messaging/types.rs +11 -3
- package/crates/team-agent/src/os_probe.rs +119 -0
- package/crates/team-agent/src/packaging/migrate.rs +10 -2
- package/crates/team-agent/src/packaging/tests.rs +23 -0
- package/crates/team-agent/src/provider/adapter.rs +564 -63
- package/crates/team-agent/src/provider/approvals/runtime_prompts.rs +1 -7
- package/crates/team-agent/src/provider/classify.rs +51 -4
- package/crates/team-agent/src/provider/helpers.rs +10 -1
- package/crates/team-agent/src/provider/startup_prompt.rs +94 -0
- package/crates/team-agent/src/provider/types.rs +47 -0
- package/crates/team-agent/src/session_capture.rs +616 -0
- package/crates/team-agent/src/state/persist.rs +170 -1
- package/crates/team-agent/src/state/projection.rs +141 -8
- package/crates/team-agent/src/state/selector.rs +5 -2
- package/crates/team-agent/src/tmux_backend.rs +161 -64
- package/crates/team-agent/src/transport/test_support.rs +9 -0
- package/crates/team-agent/src/transport/tests/wire.rs +4 -0
- package/crates/team-agent/src/transport.rs +13 -2
- package/package.json +4 -4
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
use std::path::Path;
|
|
33
33
|
use std::sync::atomic::{AtomicU64, Ordering};
|
|
34
|
-
use std::time::{SystemTime, UNIX_EPOCH};
|
|
34
|
+
use std::time::{Duration, SystemTime, UNIX_EPOCH};
|
|
35
35
|
|
|
36
36
|
use rusqlite::{params, OptionalExtension};
|
|
37
37
|
use thiserror::Error;
|
|
@@ -100,8 +100,25 @@ impl MessageStore {
|
|
|
100
100
|
let runtime_dir = workspace.join(".team").join("runtime");
|
|
101
101
|
std::fs::create_dir_all(&runtime_dir)?;
|
|
102
102
|
let path = runtime_dir.join("team.db");
|
|
103
|
+
let existed = path.exists();
|
|
103
104
|
let conn = crate::db::schema::open_db(&path)?;
|
|
104
|
-
|
|
105
|
+
if existed {
|
|
106
|
+
conn.busy_timeout(Duration::from_millis(5))?;
|
|
107
|
+
let version = conn.query_row("pragma user_version", [], |row| row.get::<_, i64>(0));
|
|
108
|
+
conn.busy_timeout(Duration::from_millis(30_000))?;
|
|
109
|
+
match version {
|
|
110
|
+
Ok(version) if version == crate::db::schema::SCHEMA_VERSION => {}
|
|
111
|
+
Ok(_) => crate::db::schema::initialize_schema(&conn, Some(&path))?,
|
|
112
|
+
Err(rusqlite::Error::SqliteFailure(err, _))
|
|
113
|
+
if matches!(
|
|
114
|
+
err.code,
|
|
115
|
+
rusqlite::ErrorCode::DatabaseBusy | rusqlite::ErrorCode::DatabaseLocked
|
|
116
|
+
) => {}
|
|
117
|
+
Err(error) => return Err(error.into()),
|
|
118
|
+
}
|
|
119
|
+
} else {
|
|
120
|
+
crate::db::schema::initialize_schema(&conn, Some(&path))?;
|
|
121
|
+
}
|
|
105
122
|
Ok(Self { path })
|
|
106
123
|
}
|
|
107
124
|
|
|
@@ -220,12 +237,12 @@ impl MessageStore {
|
|
|
220
237
|
end,
|
|
221
238
|
updated_at = ?3,
|
|
222
239
|
delivered_at = case
|
|
223
|
-
when ?2 in ('injected', 'visible', 'submitted', '
|
|
240
|
+
when ?2 in ('injected', 'visible', 'submitted', 'delivered')
|
|
224
241
|
then ?3
|
|
225
242
|
else delivered_at
|
|
226
243
|
end,
|
|
227
244
|
acknowledged_at = case when ?2 = 'acknowledged' then ?3 else acknowledged_at end,
|
|
228
|
-
error = coalesce(?4, error)
|
|
245
|
+
error = case when ?2 = 'delivered' then null else coalesce(?4, error) end
|
|
229
246
|
where message_id = ?1",
|
|
230
247
|
params![message_id, status, now, error],
|
|
231
248
|
)?;
|