act-cli 0.7.0__tar.gz → 0.7.1__tar.gz
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.
- {act_cli-0.7.0 → act_cli-0.7.1}/Cargo.lock +2 -2
- {act_cli-0.7.0 → act_cli-0.7.1}/Cargo.toml +1 -1
- {act_cli-0.7.0 → act_cli-0.7.1}/PKG-INFO +1 -1
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/main.rs +7 -105
- {act_cli-0.7.0 → act_cli-0.7.1}/README.md +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/Cargo.toml +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/README.md +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/build.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/config.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/format.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/http.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/resolve.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/rmcp_bridge.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/bindings/mod.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/effective.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/fs_matcher.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/fs_policy.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/http_client.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/http_policy.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/mod.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/network.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/src/runtime/sessions.rs +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/wit/deps/act-core/act-core.wit +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/wit/deps/act-tools/act-tools.wit +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/wit/deps.lock +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/wit/deps.toml +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/act-cli/wit/world.wit +0 -0
- {act_cli-0.7.0 → act_cli-0.7.1}/pyproject.toml +0 -0
|
@@ -4,7 +4,7 @@ version = 4
|
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "act-build"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.1"
|
|
8
8
|
dependencies = [
|
|
9
9
|
"act-types",
|
|
10
10
|
"anyhow",
|
|
@@ -25,7 +25,7 @@ dependencies = [
|
|
|
25
25
|
|
|
26
26
|
[[package]]
|
|
27
27
|
name = "act-cli"
|
|
28
|
-
version = "0.7.
|
|
28
|
+
version = "0.7.1"
|
|
29
29
|
dependencies = [
|
|
30
30
|
"act-types",
|
|
31
31
|
"anyhow",
|
|
@@ -146,7 +146,12 @@ enum Command {
|
|
|
146
146
|
#[arg(short = 'O', conflicts_with = "output")]
|
|
147
147
|
output_from_ref: bool,
|
|
148
148
|
},
|
|
149
|
-
///
|
|
149
|
+
/// Inspect `act:sessions/session-provider` — currently only
|
|
150
|
+
/// `open-args-schema`, since opening or closing a session from a
|
|
151
|
+
/// one-shot CLI invocation cannot keep the underlying wasm state
|
|
152
|
+
/// alive. For real session work, use `act run --http` or
|
|
153
|
+
/// `act run --mcp` (the host process holds the wasm instance and
|
|
154
|
+
/// the session lives as long as the host).
|
|
150
155
|
#[command(subcommand)]
|
|
151
156
|
Session(SessionCommand),
|
|
152
157
|
}
|
|
@@ -159,22 +164,6 @@ enum SessionCommand {
|
|
|
159
164
|
#[command(flatten)]
|
|
160
165
|
opts: CommonOpts,
|
|
161
166
|
},
|
|
162
|
-
/// Open a new session, print the session record (id + metadata) as JSON.
|
|
163
|
-
Open {
|
|
164
|
-
component: ComponentRef,
|
|
165
|
-
/// JSON object with session-args.
|
|
166
|
-
#[arg(long, default_value = "{}")]
|
|
167
|
-
args: String,
|
|
168
|
-
#[command(flatten)]
|
|
169
|
-
opts: CommonOpts,
|
|
170
|
-
},
|
|
171
|
-
/// Close a session by id.
|
|
172
|
-
Close {
|
|
173
|
-
component: ComponentRef,
|
|
174
|
-
session_id: String,
|
|
175
|
-
#[command(flatten)]
|
|
176
|
-
opts: CommonOpts,
|
|
177
|
-
},
|
|
178
167
|
}
|
|
179
168
|
|
|
180
169
|
#[tokio::main]
|
|
@@ -198,9 +187,7 @@ async fn main() -> Result<()> {
|
|
|
198
187
|
}
|
|
199
188
|
Command::Skill { .. } | Command::Pull { .. } => None,
|
|
200
189
|
Command::Session(sub) => match sub {
|
|
201
|
-
SessionCommand::OpenArgsSchema { opts, .. }
|
|
202
|
-
| SessionCommand::Open { opts, .. }
|
|
203
|
-
| SessionCommand::Close { opts, .. } => opts.config.as_deref(),
|
|
190
|
+
SessionCommand::OpenArgsSchema { opts, .. } => opts.config.as_deref(),
|
|
204
191
|
},
|
|
205
192
|
};
|
|
206
193
|
let log_level = config::load_config(config_path)
|
|
@@ -248,16 +235,6 @@ async fn main() -> Result<()> {
|
|
|
248
235
|
SessionCommand::OpenArgsSchema { component, opts } => {
|
|
249
236
|
cmd_session_open_args_schema(component, opts).await
|
|
250
237
|
}
|
|
251
|
-
SessionCommand::Open {
|
|
252
|
-
component,
|
|
253
|
-
args,
|
|
254
|
-
opts,
|
|
255
|
-
} => cmd_session_open(component, args, opts).await,
|
|
256
|
-
SessionCommand::Close {
|
|
257
|
-
component,
|
|
258
|
-
session_id,
|
|
259
|
-
opts,
|
|
260
|
-
} => cmd_session_close(component, session_id, opts).await,
|
|
261
238
|
},
|
|
262
239
|
}
|
|
263
240
|
}
|
|
@@ -540,81 +517,6 @@ async fn cmd_session_open_args_schema(component: ComponentRef, opts: CommonOpts)
|
|
|
540
517
|
}
|
|
541
518
|
}
|
|
542
519
|
|
|
543
|
-
async fn cmd_session_open(component: ComponentRef, args: String, opts: CommonOpts) -> Result<()> {
|
|
544
|
-
let pc = prepare_component(&component, &opts).await?;
|
|
545
|
-
|
|
546
|
-
// Args are a JSON object; convert to metadata-shaped (key, cbor) pairs.
|
|
547
|
-
let args_value: serde_json::Value =
|
|
548
|
-
serde_json::from_str(&args).context("invalid --args JSON")?;
|
|
549
|
-
let serde_json::Value::Object(args_obj) = args_value else {
|
|
550
|
-
anyhow::bail!("--args must be a JSON object");
|
|
551
|
-
};
|
|
552
|
-
let mut wit_args: Vec<(String, Vec<u8>)> = Vec::with_capacity(args_obj.len());
|
|
553
|
-
for (key, value) in args_obj {
|
|
554
|
-
let cbor = act_types::cbor::json_to_cbor(&value).context("encoding arg as CBOR")?;
|
|
555
|
-
wit_args.push((key, cbor));
|
|
556
|
-
}
|
|
557
|
-
|
|
558
|
-
let (reply_tx, reply_rx) = tokio::sync::oneshot::channel();
|
|
559
|
-
pc.handle
|
|
560
|
-
.send(runtime::ComponentRequest::OpenSession {
|
|
561
|
-
args: wit_args,
|
|
562
|
-
metadata: pc.metadata.clone().into(),
|
|
563
|
-
reply: reply_tx,
|
|
564
|
-
})
|
|
565
|
-
.await
|
|
566
|
-
.map_err(|_| anyhow::anyhow!("component actor unavailable"))?;
|
|
567
|
-
|
|
568
|
-
match reply_rx.await? {
|
|
569
|
-
Ok(session) => {
|
|
570
|
-
// Re-emit metadata as JSON object for human consumption.
|
|
571
|
-
let metadata_json: serde_json::Map<String, serde_json::Value> = session
|
|
572
|
-
.metadata
|
|
573
|
-
.iter()
|
|
574
|
-
.filter_map(|(k, v)| {
|
|
575
|
-
let val = act_types::cbor::cbor_to_json(v).ok()?;
|
|
576
|
-
Some((k.clone(), val))
|
|
577
|
-
})
|
|
578
|
-
.collect();
|
|
579
|
-
let out = serde_json::json!({
|
|
580
|
-
"id": session.id,
|
|
581
|
-
"metadata": metadata_json,
|
|
582
|
-
});
|
|
583
|
-
println!("{}", serde_json::to_string_pretty(&out)?);
|
|
584
|
-
Ok(())
|
|
585
|
-
}
|
|
586
|
-
Err(runtime::ComponentError::Tool(te)) => {
|
|
587
|
-
let ls = act_types::types::LocalizedString::from(&te.message);
|
|
588
|
-
anyhow::bail!("{}: {}", te.kind, ls.any_text());
|
|
589
|
-
}
|
|
590
|
-
Err(runtime::ComponentError::Internal(e)) => Err(e),
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
async fn cmd_session_close(
|
|
595
|
-
component: ComponentRef,
|
|
596
|
-
session_id: String,
|
|
597
|
-
opts: CommonOpts,
|
|
598
|
-
) -> Result<()> {
|
|
599
|
-
let pc = prepare_component(&component, &opts).await?;
|
|
600
|
-
let (reply_tx, reply_rx) = tokio::sync::oneshot::channel();
|
|
601
|
-
pc.handle
|
|
602
|
-
.send(runtime::ComponentRequest::CloseSession {
|
|
603
|
-
session_id,
|
|
604
|
-
reply: reply_tx,
|
|
605
|
-
})
|
|
606
|
-
.await
|
|
607
|
-
.map_err(|_| anyhow::anyhow!("component actor unavailable"))?;
|
|
608
|
-
match reply_rx.await? {
|
|
609
|
-
Ok(()) => Ok(()),
|
|
610
|
-
Err(runtime::ComponentError::Tool(te)) => {
|
|
611
|
-
let ls = act_types::types::LocalizedString::from(&te.message);
|
|
612
|
-
anyhow::bail!("{}: {}", te.kind, ls.any_text());
|
|
613
|
-
}
|
|
614
|
-
Err(runtime::ComponentError::Internal(e)) => Err(e),
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
|
|
618
520
|
async fn cmd_info(
|
|
619
521
|
component: ComponentRef,
|
|
620
522
|
show_tools: bool,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|