@team-agent/installer 0.3.24 → 0.3.25
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 +1 -1
- package/Cargo.toml +1 -1
- package/crates/team-agent/src/coordinator/tick.rs +55 -7
- package/crates/team-agent/src/lifecycle/launch.rs +217 -19
- package/crates/team-agent/src/lifecycle/restart/agent.rs +61 -0
- package/crates/team-agent/src/lifecycle/restart/common.rs +66 -1
- package/crates/team-agent/src/lifecycle/restart.rs +19 -2
- package/crates/team-agent/src/lifecycle/tests/launch_spawn.rs +994 -0
- package/crates/team-agent/src/messaging/delivery.rs +12 -0
- package/crates/team-agent/src/messaging/helpers.rs +64 -24
- package/crates/team-agent/src/messaging/tests/spine.rs +157 -4
- package/crates/team-agent/src/tmux_backend/tests.rs +251 -0
- package/crates/team-agent/src/tmux_backend.rs +128 -0
- package/crates/team-agent/src/transport.rs +26 -1
- package/npm/install.mjs +90 -25
- package/package.json +4 -4
|
@@ -34,6 +34,10 @@ mod team_state;
|
|
|
34
34
|
pub use agent::{reset_agent, reset_agent_with_transport, start_agent, start_agent_with_transport, stop_agent, stop_agent_with_transport};
|
|
35
35
|
pub(crate) use agent::start_agent_at_paths;
|
|
36
36
|
pub(crate) use common::refresh_missing_provider_sessions;
|
|
37
|
+
// 0.3.24 add-agent socket drift fix: state-aware tmux resolver shared with
|
|
38
|
+
// `lifecycle::launch::add_agent` / `fork_agent` so all three (restart / add / fork)
|
|
39
|
+
// route to the SAME tmux socket the live team uses.
|
|
40
|
+
pub(crate) use common::lifecycle_worker_tmux_backend_for_selected_state;
|
|
37
41
|
pub use orchestrator::{halt_plan, plan_status};
|
|
38
42
|
pub use rebuild::{
|
|
39
43
|
restart, restart_candidates, restart_with_session_convergence_deadline, restart_with_transport,
|
|
@@ -66,8 +70,21 @@ fn lifecycle_paths(workspace: &Path, team: Option<&str>) -> Result<LifecyclePath
|
|
|
66
70
|
crate::state::selector::SelectorMode::RequireSpec,
|
|
67
71
|
)
|
|
68
72
|
.map_err(|e| LifecycleError::TeamSelect(e.to_string()))?;
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
// E42 (0.3.24 P0, double-spec deadlock): canonical-first. The selector at
|
|
74
|
+
// state/selector.rs:71-74 already sets `selected.spec_workspace` to the
|
|
75
|
+
// canonical runtime spec parent (.team/runtime/<key>/) whenever the
|
|
76
|
+
// runtime spec exists; only when the runtime spec is missing does it fall
|
|
77
|
+
// back to the legacy user-dir spec_workspace. Honoring that first stops
|
|
78
|
+
// remove-agent / stop-agent / reset-agent / fork-agent from reading a
|
|
79
|
+
// stale `state.spec_path` (legacy `.team/<key>/team.spec.yaml`) that
|
|
80
|
+
// disagrees with what add-agent writes to canonical
|
|
81
|
+
// (lifecycle/launch.rs:3576-3577). Pre-fix order let the legacy stale
|
|
82
|
+
// spec win and remove-agent couldn't see agents add-agent had just
|
|
83
|
+
// added — the macmini e46-probe deadlock truth source.
|
|
84
|
+
let spec_workspace = selected
|
|
85
|
+
.spec_workspace
|
|
86
|
+
.clone()
|
|
87
|
+
.or_else(|| selected_state_spec_workspace(&selected.state))
|
|
71
88
|
.ok_or_else(|| LifecycleError::TeamSelect("active team spec workspace not found".to_string()))?;
|
|
72
89
|
Ok(LifecyclePaths {
|
|
73
90
|
run_workspace: selected.run_workspace,
|