@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.
@@ -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
- let spec_workspace = selected_state_spec_workspace(&selected.state)
70
- .or(selected.spec_workspace)
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,