@team-agent/installer 0.5.42 → 0.5.44

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.
Files changed (156) hide show
  1. package/Cargo.lock +1 -1
  2. package/Cargo.toml +1 -1
  3. package/crates/team-agent/src/cli/adapters.rs +129 -54
  4. package/crates/team-agent/src/cli/diagnose.rs +1 -2
  5. package/crates/team-agent/src/cli/emit.rs +1 -7
  6. package/crates/team-agent/src/cli/helpers.rs +3 -1
  7. package/crates/team-agent/src/cli/leader.rs +2 -1
  8. package/crates/team-agent/src/cli/mod.rs +126 -16
  9. package/crates/team-agent/src/cli/named_address.rs +14 -5
  10. package/crates/team-agent/src/cli/profile.rs +19 -7
  11. package/crates/team-agent/src/cli/send.rs +9 -3
  12. package/crates/team-agent/src/cli/status.rs +8 -30
  13. package/crates/team-agent/src/cli/status_port.rs +1341 -1272
  14. package/crates/team-agent/src/cli/tests/base.rs +738 -660
  15. package/crates/team-agent/src/cli/tests/compile.rs +45 -18
  16. package/crates/team-agent/src/cli/tests/divergence.rs +462 -444
  17. package/crates/team-agent/src/cli/tests/lane_c.rs +365 -282
  18. package/crates/team-agent/src/cli/tests/leader_watch.rs +356 -329
  19. package/crates/team-agent/src/cli/tests/main_preserved.rs +672 -564
  20. package/crates/team-agent/src/cli/tests/missing_subcommands.rs +284 -224
  21. package/crates/team-agent/src/cli/tests/mod.rs +17 -7
  22. package/crates/team-agent/src/cli/tests/named_address.rs +8 -2
  23. package/crates/team-agent/src/cli/tests/peer_allow.rs +10 -2
  24. package/crates/team-agent/src/cli/tests/run_delegation.rs +314 -273
  25. package/crates/team-agent/src/cli/tests/shutdown_kill_plan.rs +26 -15
  26. package/crates/team-agent/src/cli/tests/status_send.rs +707 -629
  27. package/crates/team-agent/src/cli/tests/verb_install_skill.rs +20 -4
  28. package/crates/team-agent/src/cli/tests/verb_profile.rs +46 -17
  29. package/crates/team-agent/src/cli/tests/verb_validate.rs +15 -3
  30. package/crates/team-agent/src/codex_app_server.rs +2 -5
  31. package/crates/team-agent/src/compiler/tests.rs +139 -33
  32. package/crates/team-agent/src/compiler.rs +55 -22
  33. package/crates/team-agent/src/conpty/backend.rs +23 -33
  34. package/crates/team-agent/src/coordinator/backoff.rs +2 -7
  35. package/crates/team-agent/src/coordinator/conpty_shim.rs +55 -67
  36. package/crates/team-agent/src/coordinator/health.rs +46 -31
  37. package/crates/team-agent/src/coordinator/mod.rs +3 -3
  38. package/crates/team-agent/src/coordinator/orphan.rs +22 -10
  39. package/crates/team-agent/src/coordinator/steps/abnormal.rs +51 -56
  40. package/crates/team-agent/src/coordinator/tests/abnormal.rs +55 -19
  41. package/crates/team-agent/src/coordinator/tests/basics.rs +179 -41
  42. package/crates/team-agent/src/coordinator/tests/daemon.rs +53 -13
  43. package/crates/team-agent/src/coordinator/tests/health_sync.rs +78 -19
  44. package/crates/team-agent/src/coordinator/tests/main_preserved.rs +61 -11
  45. package/crates/team-agent/src/coordinator/tests/mod.rs +33 -39
  46. package/crates/team-agent/src/coordinator/tests/spine.rs +52 -12
  47. package/crates/team-agent/src/coordinator/tests/takeover.rs +73 -15
  48. package/crates/team-agent/src/coordinator/tests/tick_core.rs +50 -15
  49. package/crates/team-agent/src/coordinator/tests/watch.rs +74 -20
  50. package/crates/team-agent/src/db/message_store.rs +138 -30
  51. package/crates/team-agent/src/db/migration.rs +249 -61
  52. package/crates/team-agent/src/db/schema.rs +303 -82
  53. package/crates/team-agent/src/diagnose/comms.rs +9 -2
  54. package/crates/team-agent/src/diagnose/mod.rs +1 -3
  55. package/crates/team-agent/src/diagnose/orphans.rs +79 -61
  56. package/crates/team-agent/src/event_log.rs +70 -16
  57. package/crates/team-agent/src/layout/manager.rs +15 -4
  58. package/crates/team-agent/src/layout/mod.rs +4 -4
  59. package/crates/team-agent/src/layout/overlay.rs +10 -3
  60. package/crates/team-agent/src/layout/placement.rs +5 -1
  61. package/crates/team-agent/src/layout/recovery.rs +4 -2
  62. package/crates/team-agent/src/layout/runtime_sessions.rs +7 -7
  63. package/crates/team-agent/src/layout/sessions.rs +17 -9
  64. package/crates/team-agent/src/layout/tmux_endpoint.rs +1 -1
  65. package/crates/team-agent/src/layout/worker_env.rs +87 -19
  66. package/crates/team-agent/src/leader/helpers.rs +7 -1
  67. package/crates/team-agent/src/leader/lease.rs +199 -89
  68. package/crates/team-agent/src/leader/owner_bind.rs +55 -22
  69. package/crates/team-agent/src/leader/provider_attribution.rs +25 -6
  70. package/crates/team-agent/src/leader/rediscover/tests.rs +88 -24
  71. package/crates/team-agent/src/leader/rediscover.rs +74 -25
  72. package/crates/team-agent/src/leader/registry.rs +1 -1
  73. package/crates/team-agent/src/leader/start.rs +75 -54
  74. package/crates/team-agent/src/leader/takeover.rs +46 -11
  75. package/crates/team-agent/src/leader/tests/basics.rs +320 -167
  76. package/crates/team-agent/src/leader/tests/byte_findings.rs +361 -219
  77. package/crates/team-agent/src/leader/tests/identity.rs +428 -356
  78. package/crates/team-agent/src/leader/tests/idle.rs +285 -254
  79. package/crates/team-agent/src/leader/tests/lease_api.rs +338 -274
  80. package/crates/team-agent/src/leader/tests/lease_claim.rs +643 -593
  81. package/crates/team-agent/src/leader/tests/mod.rs +115 -99
  82. package/crates/team-agent/src/leader/tests/rediscover.rs +74 -22
  83. package/crates/team-agent/src/leader/tests/wake_start_owner.rs +237 -211
  84. package/crates/team-agent/src/lib.rs +4 -4
  85. package/crates/team-agent/src/lifecycle/display.rs +7 -3
  86. package/crates/team-agent/src/lifecycle/launch.rs +55 -15
  87. package/crates/team-agent/src/lifecycle/mod.rs +9 -1
  88. package/crates/team-agent/src/lifecycle/profile_launch.rs +77 -34
  89. package/crates/team-agent/src/lifecycle/profile_smoke.rs +3 -1
  90. package/crates/team-agent/src/lifecycle/restart/agent.rs +1 -6
  91. package/crates/team-agent/src/lifecycle/restart/common.rs +6 -2
  92. package/crates/team-agent/src/lifecycle/restart/orchestrator.rs +1 -4
  93. package/crates/team-agent/src/lifecycle/restart/preflight.rs +6 -5
  94. package/crates/team-agent/src/lifecycle/restart/rebuild.rs +26 -22
  95. package/crates/team-agent/src/lifecycle/restart/remove.rs +45 -35
  96. package/crates/team-agent/src/lifecycle/restart/team_state.rs +63 -17
  97. package/crates/team-agent/src/lifecycle/tests/agent_ops.rs +251 -84
  98. package/crates/team-agent/src/lifecycle/tests/lane_ops.rs +198 -48
  99. package/crates/team-agent/src/lifecycle/tests/launch_spawn.rs +2 -1
  100. package/crates/team-agent/src/lifecycle/tests/main_preserved.rs +152 -32
  101. package/crates/team-agent/src/lifecycle/tests/phase_b_contracts.rs +1 -5
  102. package/crates/team-agent/src/lifecycle/tests/phase_golden.rs +3 -0
  103. package/crates/team-agent/src/lifecycle/tests.rs +2 -2
  104. package/crates/team-agent/src/main.rs +4 -4
  105. package/crates/team-agent/src/mcp_server/lifecycle_tools/agent_ops.rs +47 -20
  106. package/crates/team-agent/src/mcp_server/mod.rs +11 -2
  107. package/crates/team-agent/src/mcp_server/types.rs +14 -3
  108. package/crates/team-agent/src/mcp_server/wire.rs +230 -68
  109. package/crates/team-agent/src/messaging/delivery.rs +20 -18
  110. package/crates/team-agent/src/messaging/helpers.rs +25 -4
  111. package/crates/team-agent/src/messaging/leader_receiver.rs +4 -5
  112. package/crates/team-agent/src/messaging/mod.rs +2 -3
  113. package/crates/team-agent/src/messaging/selftest.rs +46 -26
  114. package/crates/team-agent/src/messaging/tests/main_preserved.rs +47 -12
  115. package/crates/team-agent/src/messaging/tests/runtime.rs +57 -22
  116. package/crates/team-agent/src/messaging/tests/spine.rs +154 -40
  117. package/crates/team-agent/src/messaging/tests/wave2.rs +31 -32
  118. package/crates/team-agent/src/messaging/trust.rs +25 -2
  119. package/crates/team-agent/src/messaging/watchers.rs +37 -9
  120. package/crates/team-agent/src/model/enums.rs +65 -16
  121. package/crates/team-agent/src/model/ids.rs +12 -3
  122. package/crates/team-agent/src/model/paths.rs +28 -7
  123. package/crates/team-agent/src/model/permissions.rs +176 -33
  124. package/crates/team-agent/src/model/routing.rs +66 -20
  125. package/crates/team-agent/src/model/spec.rs +365 -69
  126. package/crates/team-agent/src/model/task_graph.rs +36 -9
  127. package/crates/team-agent/src/model/yaml/tests.rs +24 -6
  128. package/crates/team-agent/src/model/yaml.rs +7 -6
  129. package/crates/team-agent/src/packaging/install.rs +23 -9
  130. package/crates/team-agent/src/packaging/migrate.rs +5 -7
  131. package/crates/team-agent/src/packaging/mod.rs +9 -1
  132. package/crates/team-agent/src/packaging/repair.rs +13 -6
  133. package/crates/team-agent/src/packaging/tests.rs +63 -16
  134. package/crates/team-agent/src/packaging/types.rs +22 -7
  135. package/crates/team-agent/src/platform/argv.rs +4 -1
  136. package/crates/team-agent/src/platform/file_lock.rs +22 -8
  137. package/crates/team-agent/src/platform/process.rs +54 -24
  138. package/crates/team-agent/src/provider/adapters/claude.rs +1 -3
  139. package/crates/team-agent/src/provider/approvals/parsing.rs +134 -26
  140. package/crates/team-agent/src/provider/approvals/runtime_prompts.rs +13 -3
  141. package/crates/team-agent/src/provider/classify.rs +127 -42
  142. package/crates/team-agent/src/provider/faults.rs +17 -5
  143. package/crates/team-agent/src/provider/helpers.rs +6 -5
  144. package/crates/team-agent/src/provider/startup_prompt.rs +75 -27
  145. package/crates/team-agent/src/state/persist.rs +28 -0
  146. package/crates/team-agent/src/state/repository.rs +8 -3
  147. package/crates/team-agent/src/tmux_backend/tests.rs +1637 -1398
  148. package/crates/team-agent/src/tmux_backend.rs +80 -44
  149. package/crates/team-agent/src/topology.rs +40 -20
  150. package/crates/team-agent/src/transport/test_support.rs +20 -23
  151. package/crates/team-agent/src/transport/tests/behavior.rs +292 -293
  152. package/crates/team-agent/src/transport/tests/mod.rs +178 -187
  153. package/crates/team-agent/src/transport/tests/wire.rs +561 -525
  154. package/crates/team-agent/src/transport.rs +12 -17
  155. package/crates/team-agent/src/transport_factory.rs +29 -14
  156. package/package.json +4 -4
@@ -30,13 +30,22 @@ fn compile_team_dir_with_owner_team_id(tag: &str) -> std::path::PathBuf {
30
30
  fn cmd_compile_json_and_human_match_golden_shape_and_writes_out() {
31
31
  let team = compile_team_dir("compile-ok");
32
32
  let out = team.parent().unwrap().join("out.yaml");
33
- let args = CompileArgs { team: team.clone(), out: out.clone(), json: true };
33
+ let args = CompileArgs {
34
+ team: team.clone(),
35
+ out: out.clone(),
36
+ json: true,
37
+ };
34
38
 
35
39
  let result = cmd_compile(&args).expect("compile");
36
40
  assert_eq!(result.exit, ExitCode::Ok);
37
- assert!(out.exists(), "compile must write the compiled spec to --out");
38
41
  assert!(
39
- std::fs::read_to_string(&out).unwrap().contains("version: 1"),
42
+ out.exists(),
43
+ "compile must write the compiled spec to --out"
44
+ );
45
+ assert!(
46
+ std::fs::read_to_string(&out)
47
+ .unwrap()
48
+ .contains("version: 1"),
40
49
  "compiled out file must contain the spec YAML"
41
50
  );
42
51
 
@@ -46,7 +55,10 @@ fn cmd_compile_json_and_human_match_golden_shape_and_writes_out() {
46
55
  out.to_string_lossy(),
47
56
  team.to_string_lossy()
48
57
  );
49
- assert_eq!(json_text, expected_json, "golden --json is sorted pretty JSON");
58
+ assert_eq!(
59
+ json_text, expected_json,
60
+ "golden --json is sorted pretty JSON"
61
+ );
50
62
 
51
63
  let human_text = emit(&result.output, false).unwrap();
52
64
  let expected_human = format!(
@@ -54,7 +66,10 @@ fn cmd_compile_json_and_human_match_golden_shape_and_writes_out() {
54
66
  team.to_string_lossy(),
55
67
  out.to_string_lossy()
56
68
  );
57
- assert_eq!(human_text, expected_human, "golden human output preserves cmd_compile insertion order");
69
+ assert_eq!(
70
+ human_text, expected_human,
71
+ "golden human output preserves cmd_compile insertion order"
72
+ );
58
73
  }
59
74
 
60
75
  #[test]
@@ -62,7 +77,11 @@ fn cmd_compile_ignores_user_owner_team_id_and_emits_warning_event() {
62
77
  let team = compile_team_dir_with_owner_team_id("compile-ignored-owner");
63
78
  let workspace = team.parent().unwrap().to_path_buf();
64
79
  let out = workspace.join("ignored-owner-out.yaml");
65
- let args = CompileArgs { team: team.clone(), out: out.clone(), json: true };
80
+ let args = CompileArgs {
81
+ team: team.clone(),
82
+ out: out.clone(),
83
+ json: true,
84
+ };
66
85
 
67
86
  let result = cmd_compile(&args).expect("compile");
68
87
  assert_eq!(result.exit, ExitCode::Ok);
@@ -75,10 +94,7 @@ fn cmd_compile_ignores_user_owner_team_id_and_emits_warning_event() {
75
94
  let event = events
76
95
  .iter()
77
96
  .find(|event| {
78
- event
79
- .get("event")
80
- .and_then(serde_json::Value::as_str)
81
- == Some("spec.field_ignored")
97
+ event.get("event").and_then(serde_json::Value::as_str) == Some("spec.field_ignored")
82
98
  })
83
99
  .expect("owner_team_id warning event");
84
100
  assert_eq!(
@@ -100,17 +116,18 @@ fn cmd_compile_without_owner_team_id_emits_no_ignored_field_event() {
100
116
  let team = compile_team_dir("compile-no-ignored-owner");
101
117
  let workspace = team.parent().unwrap().to_path_buf();
102
118
  let out = workspace.join("no-ignored-owner-out.yaml");
103
- let args = CompileArgs { team: team.clone(), out, json: true };
119
+ let args = CompileArgs {
120
+ team: team.clone(),
121
+ out,
122
+ json: true,
123
+ };
104
124
 
105
125
  let result = cmd_compile(&args).expect("compile");
106
126
  assert_eq!(result.exit, ExitCode::Ok);
107
127
  let events = crate::event_log::EventLog::new(&workspace).tail(0).unwrap();
108
128
  assert!(
109
129
  events.iter().all(|event| {
110
- event
111
- .get("event")
112
- .and_then(serde_json::Value::as_str)
113
- != Some("spec.field_ignored")
130
+ event.get("event").and_then(serde_json::Value::as_str) != Some("spec.field_ignored")
114
131
  }),
115
132
  "TEAM.md without owner_team_id must not emit ignored-field warning"
116
133
  );
@@ -129,7 +146,10 @@ fn run_dispatches_compile_and_error_path_exits_error() {
129
146
  "--json".to_string(),
130
147
  ];
131
148
  assert_eq!(run(&argv, team.parent().unwrap()), ExitCode::Ok);
132
- assert!(out.exists(), "dispatch compile must route to cmd_compile and write --out");
149
+ assert!(
150
+ out.exists(),
151
+ "dispatch compile must route to cmd_compile and write --out"
152
+ );
133
153
 
134
154
  let bad = tmp_workspace().join("compile-bad");
135
155
  std::fs::create_dir_all(bad.join("agents")).unwrap();
@@ -144,9 +164,16 @@ fn run_dispatches_compile_and_error_path_exits_error() {
144
164
  )
145
165
  .unwrap();
146
166
  let bad_out = bad.parent().unwrap().join("bad.yaml");
147
- let bad_args = CompileArgs { team: bad.clone(), out: bad_out.clone(), json: true };
167
+ let bad_args = CompileArgs {
168
+ team: bad.clone(),
169
+ out: bad_out.clone(),
170
+ json: true,
171
+ };
148
172
  let err = cmd_compile(&bad_args).unwrap_err().to_string();
149
- assert!(err.contains("missing front matter field provider"), "got {err}");
173
+ assert!(
174
+ err.contains("missing front matter field provider"),
175
+ "got {err}"
176
+ );
150
177
  assert_eq!(
151
178
  run(
152
179
  &[