@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.
- package/Cargo.lock +1 -1
- package/Cargo.toml +1 -1
- package/crates/team-agent/src/cli/adapters.rs +129 -54
- package/crates/team-agent/src/cli/diagnose.rs +1 -2
- package/crates/team-agent/src/cli/emit.rs +1 -7
- package/crates/team-agent/src/cli/helpers.rs +3 -1
- package/crates/team-agent/src/cli/leader.rs +2 -1
- package/crates/team-agent/src/cli/mod.rs +126 -16
- package/crates/team-agent/src/cli/named_address.rs +14 -5
- package/crates/team-agent/src/cli/profile.rs +19 -7
- package/crates/team-agent/src/cli/send.rs +9 -3
- package/crates/team-agent/src/cli/status.rs +8 -30
- package/crates/team-agent/src/cli/status_port.rs +1341 -1272
- package/crates/team-agent/src/cli/tests/base.rs +738 -660
- package/crates/team-agent/src/cli/tests/compile.rs +45 -18
- package/crates/team-agent/src/cli/tests/divergence.rs +462 -444
- package/crates/team-agent/src/cli/tests/lane_c.rs +365 -282
- package/crates/team-agent/src/cli/tests/leader_watch.rs +356 -329
- package/crates/team-agent/src/cli/tests/main_preserved.rs +672 -564
- package/crates/team-agent/src/cli/tests/missing_subcommands.rs +284 -224
- package/crates/team-agent/src/cli/tests/mod.rs +17 -7
- package/crates/team-agent/src/cli/tests/named_address.rs +8 -2
- package/crates/team-agent/src/cli/tests/peer_allow.rs +10 -2
- package/crates/team-agent/src/cli/tests/run_delegation.rs +314 -273
- package/crates/team-agent/src/cli/tests/shutdown_kill_plan.rs +26 -15
- package/crates/team-agent/src/cli/tests/status_send.rs +707 -629
- package/crates/team-agent/src/cli/tests/verb_install_skill.rs +20 -4
- package/crates/team-agent/src/cli/tests/verb_profile.rs +46 -17
- package/crates/team-agent/src/cli/tests/verb_validate.rs +15 -3
- package/crates/team-agent/src/codex_app_server.rs +2 -5
- package/crates/team-agent/src/compiler/tests.rs +139 -33
- package/crates/team-agent/src/compiler.rs +55 -22
- package/crates/team-agent/src/conpty/backend.rs +23 -33
- package/crates/team-agent/src/coordinator/backoff.rs +2 -7
- package/crates/team-agent/src/coordinator/conpty_shim.rs +55 -67
- package/crates/team-agent/src/coordinator/health.rs +46 -31
- package/crates/team-agent/src/coordinator/mod.rs +3 -3
- package/crates/team-agent/src/coordinator/orphan.rs +22 -10
- package/crates/team-agent/src/coordinator/steps/abnormal.rs +51 -56
- package/crates/team-agent/src/coordinator/tests/abnormal.rs +55 -19
- package/crates/team-agent/src/coordinator/tests/basics.rs +179 -41
- package/crates/team-agent/src/coordinator/tests/daemon.rs +53 -13
- package/crates/team-agent/src/coordinator/tests/health_sync.rs +78 -19
- package/crates/team-agent/src/coordinator/tests/main_preserved.rs +61 -11
- package/crates/team-agent/src/coordinator/tests/mod.rs +33 -39
- package/crates/team-agent/src/coordinator/tests/spine.rs +52 -12
- package/crates/team-agent/src/coordinator/tests/takeover.rs +73 -15
- package/crates/team-agent/src/coordinator/tests/tick_core.rs +50 -15
- package/crates/team-agent/src/coordinator/tests/watch.rs +74 -20
- package/crates/team-agent/src/db/message_store.rs +138 -30
- package/crates/team-agent/src/db/migration.rs +249 -61
- package/crates/team-agent/src/db/schema.rs +303 -82
- package/crates/team-agent/src/diagnose/comms.rs +9 -2
- package/crates/team-agent/src/diagnose/mod.rs +1 -3
- package/crates/team-agent/src/diagnose/orphans.rs +79 -61
- package/crates/team-agent/src/event_log.rs +70 -16
- package/crates/team-agent/src/layout/manager.rs +15 -4
- package/crates/team-agent/src/layout/mod.rs +4 -4
- package/crates/team-agent/src/layout/overlay.rs +10 -3
- package/crates/team-agent/src/layout/placement.rs +5 -1
- package/crates/team-agent/src/layout/recovery.rs +4 -2
- package/crates/team-agent/src/layout/runtime_sessions.rs +7 -7
- package/crates/team-agent/src/layout/sessions.rs +17 -9
- package/crates/team-agent/src/layout/tmux_endpoint.rs +1 -1
- package/crates/team-agent/src/layout/worker_env.rs +87 -19
- package/crates/team-agent/src/leader/helpers.rs +7 -1
- package/crates/team-agent/src/leader/lease.rs +199 -89
- package/crates/team-agent/src/leader/owner_bind.rs +55 -22
- package/crates/team-agent/src/leader/provider_attribution.rs +25 -6
- package/crates/team-agent/src/leader/rediscover/tests.rs +88 -24
- package/crates/team-agent/src/leader/rediscover.rs +74 -25
- package/crates/team-agent/src/leader/registry.rs +1 -1
- package/crates/team-agent/src/leader/start.rs +75 -54
- package/crates/team-agent/src/leader/takeover.rs +46 -11
- package/crates/team-agent/src/leader/tests/basics.rs +320 -167
- package/crates/team-agent/src/leader/tests/byte_findings.rs +361 -219
- package/crates/team-agent/src/leader/tests/identity.rs +428 -356
- package/crates/team-agent/src/leader/tests/idle.rs +285 -254
- package/crates/team-agent/src/leader/tests/lease_api.rs +338 -274
- package/crates/team-agent/src/leader/tests/lease_claim.rs +643 -593
- package/crates/team-agent/src/leader/tests/mod.rs +115 -99
- package/crates/team-agent/src/leader/tests/rediscover.rs +74 -22
- package/crates/team-agent/src/leader/tests/wake_start_owner.rs +237 -211
- package/crates/team-agent/src/lib.rs +4 -4
- package/crates/team-agent/src/lifecycle/display.rs +7 -3
- package/crates/team-agent/src/lifecycle/launch.rs +55 -15
- package/crates/team-agent/src/lifecycle/mod.rs +9 -1
- package/crates/team-agent/src/lifecycle/profile_launch.rs +77 -34
- package/crates/team-agent/src/lifecycle/profile_smoke.rs +3 -1
- package/crates/team-agent/src/lifecycle/restart/agent.rs +1 -6
- package/crates/team-agent/src/lifecycle/restart/common.rs +6 -2
- package/crates/team-agent/src/lifecycle/restart/orchestrator.rs +1 -4
- package/crates/team-agent/src/lifecycle/restart/preflight.rs +6 -5
- package/crates/team-agent/src/lifecycle/restart/rebuild.rs +26 -22
- package/crates/team-agent/src/lifecycle/restart/remove.rs +45 -35
- package/crates/team-agent/src/lifecycle/restart/team_state.rs +63 -17
- package/crates/team-agent/src/lifecycle/tests/agent_ops.rs +251 -84
- package/crates/team-agent/src/lifecycle/tests/lane_ops.rs +198 -48
- package/crates/team-agent/src/lifecycle/tests/launch_spawn.rs +2 -1
- package/crates/team-agent/src/lifecycle/tests/main_preserved.rs +152 -32
- package/crates/team-agent/src/lifecycle/tests/phase_b_contracts.rs +1 -5
- package/crates/team-agent/src/lifecycle/tests/phase_golden.rs +3 -0
- package/crates/team-agent/src/lifecycle/tests.rs +2 -2
- package/crates/team-agent/src/main.rs +4 -4
- package/crates/team-agent/src/mcp_server/lifecycle_tools/agent_ops.rs +47 -20
- package/crates/team-agent/src/mcp_server/mod.rs +11 -2
- package/crates/team-agent/src/mcp_server/types.rs +14 -3
- package/crates/team-agent/src/mcp_server/wire.rs +230 -68
- package/crates/team-agent/src/messaging/delivery.rs +20 -18
- package/crates/team-agent/src/messaging/helpers.rs +25 -4
- package/crates/team-agent/src/messaging/leader_receiver.rs +4 -5
- package/crates/team-agent/src/messaging/mod.rs +2 -3
- package/crates/team-agent/src/messaging/selftest.rs +46 -26
- package/crates/team-agent/src/messaging/tests/main_preserved.rs +47 -12
- package/crates/team-agent/src/messaging/tests/runtime.rs +57 -22
- package/crates/team-agent/src/messaging/tests/spine.rs +154 -40
- package/crates/team-agent/src/messaging/tests/wave2.rs +31 -32
- package/crates/team-agent/src/messaging/trust.rs +25 -2
- package/crates/team-agent/src/messaging/watchers.rs +37 -9
- package/crates/team-agent/src/model/enums.rs +65 -16
- package/crates/team-agent/src/model/ids.rs +12 -3
- package/crates/team-agent/src/model/paths.rs +28 -7
- package/crates/team-agent/src/model/permissions.rs +176 -33
- package/crates/team-agent/src/model/routing.rs +66 -20
- package/crates/team-agent/src/model/spec.rs +365 -69
- package/crates/team-agent/src/model/task_graph.rs +36 -9
- package/crates/team-agent/src/model/yaml/tests.rs +24 -6
- package/crates/team-agent/src/model/yaml.rs +7 -6
- package/crates/team-agent/src/packaging/install.rs +23 -9
- package/crates/team-agent/src/packaging/migrate.rs +5 -7
- package/crates/team-agent/src/packaging/mod.rs +9 -1
- package/crates/team-agent/src/packaging/repair.rs +13 -6
- package/crates/team-agent/src/packaging/tests.rs +63 -16
- package/crates/team-agent/src/packaging/types.rs +22 -7
- package/crates/team-agent/src/platform/argv.rs +4 -1
- package/crates/team-agent/src/platform/file_lock.rs +22 -8
- package/crates/team-agent/src/platform/process.rs +54 -24
- package/crates/team-agent/src/provider/adapters/claude.rs +1 -3
- package/crates/team-agent/src/provider/approvals/parsing.rs +134 -26
- package/crates/team-agent/src/provider/approvals/runtime_prompts.rs +13 -3
- package/crates/team-agent/src/provider/classify.rs +127 -42
- package/crates/team-agent/src/provider/faults.rs +17 -5
- package/crates/team-agent/src/provider/helpers.rs +6 -5
- package/crates/team-agent/src/provider/startup_prompt.rs +75 -27
- package/crates/team-agent/src/state/persist.rs +28 -0
- package/crates/team-agent/src/state/repository.rs +8 -3
- package/crates/team-agent/src/tmux_backend/tests.rs +1637 -1398
- package/crates/team-agent/src/tmux_backend.rs +80 -44
- package/crates/team-agent/src/topology.rs +40 -20
- package/crates/team-agent/src/transport/test_support.rs +20 -23
- package/crates/team-agent/src/transport/tests/behavior.rs +292 -293
- package/crates/team-agent/src/transport/tests/mod.rs +178 -187
- package/crates/team-agent/src/transport/tests/wire.rs +561 -525
- package/crates/team-agent/src/transport.rs +12 -17
- package/crates/team-agent/src/transport_factory.rs +29 -14
- 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 {
|
|
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
|
-
|
|
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!(
|
|
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!(
|
|
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 {
|
|
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 {
|
|
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!(
|
|
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 {
|
|
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!(
|
|
173
|
+
assert!(
|
|
174
|
+
err.contains("missing front matter field provider"),
|
|
175
|
+
"got {err}"
|
|
176
|
+
);
|
|
150
177
|
assert_eq!(
|
|
151
178
|
run(
|
|
152
179
|
&[
|