mirror of
https://github.com/codewhale-hq/Codewhale.git
synced 2026-11-07 10:36:05 -10:00
fix(release): include the built-in computer-use bundle in the TUI crate
Cargo publication of v0.9.12 stopped at codewhale-tui after 18 crates:
its 16 include_str! paths reached outside the package root, so the
verified tarball could not compile. Move the existing plugin into the
TUI package and update every source, test, CI, documentation, and ignore
reference. Keep one canonical bundle, with all 16 embedded runtime files
byte-identical to the v0.9.12 release payload.
Validation:
- Original cargo publish --locked -p codewhale-tui: FAIL, 16 missing-file
errors; Cargo refused the upload.
- Corrected cargo package --locked --allow-dirty -p codewhale-tui: PASS,
including compilation of the unpacked library and binary.
- npm test in crates/tui/plugins/computer-use: 31 passed; 0 failed.
- Embedded payload comparison: 16/16 original files identical in source
and in the verified Cargo tarball.
- cargo fmt --all -- --check: PASS.
- Coordination npm test && npm run check:web gate: unavailable here;
this Rust repository defines neither root script (both report Missing
script). No broad-suite or hosted-CI pass is claimed.
This is a local packaging repair based on dcd4c200f7. It does not move
the published v0.9.12 tag or alter the already-published release binaries.
This commit is contained in:
1 parent
dcd4c200f7
commit
05241f4095
29 files changed
+9
-12
No files matched your search
@@ -249,7 +249,7 @@ jobs:
|
||||
# The bundled plugin is dependency-free too; its suites cover the
|
||||
# manifest contract, the registry, the exec/ssh transport, the four
|
||||
# platform backends, and the MCP stdio protocol. No GUI input runs.
|
||||
run: (cd plugins/computer-use && npm test)
|
||||
run: (cd crates/tui/plugins/computer-use && npm test)
|
||||
|
||||
safety-gate:
|
||||
name: Safety gate
|
||||
|
||||
+1
-1
@@ -161,4 +161,4 @@ CODEWHALE_0_9_0_CUTOVER.md
|
||||
.playwright-mcp/
|
||||
|
||||
# computer-use plugin smoke receipts (per-run local evidence)
|
||||
plugins/computer-use/receipts/
|
||||
crates/tui/plugins/computer-use/receipts/
|
||||
@@ -89,7 +89,7 @@ recorder.
|
||||
|
||||
## Development
|
||||
|
||||
The bundle lives at `plugins/computer-use` in the Codewhale repository and has
|
||||
The bundle lives at `crates/tui/plugins/computer-use` in the Codewhale repository and has
|
||||
no dependencies to install; run its suites from that directory.
|
||||
|
||||
```bash
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -3,8 +3,8 @@
|
||||
//! [`super::discovery::DiscoveryConfig::builtin_plugin_dirs`] and
|
||||
//! [`super::types::PluginScope::Builtin`] have existed since plugin discovery
|
||||
//! landed, with no producer: every construction site passed an empty list, so
|
||||
//! the in-repo `plugins/computer-use` bundle reached nobody who had not cloned
|
||||
//! the repository. This module is that producer. It is not a second install
|
||||
//! the in-repo `crates/tui/plugins/computer-use` bundle reached nobody who had
|
||||
//! not cloned the repository. This module is that producer. It is not a second install
|
||||
//! path — installed bundles still arrive through
|
||||
//! [`super::install`], and discovery, trust, and enablement are unchanged.
|
||||
//!
|
||||
@@ -47,12 +47,12 @@ macro_rules! bundle_file {
|
||||
($relative:literal) => {
|
||||
(
|
||||
$relative,
|
||||
include_str!(concat!("../../../../plugins/computer-use/", $relative)),
|
||||
include_str!(concat!("../../plugins/computer-use/", $relative)),
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
/// The runtime tree of `plugins/computer-use`, relative path → contents.
|
||||
/// The runtime tree of `crates/tui/plugins/computer-use`, relative path → contents.
|
||||
///
|
||||
/// Development-only files (`tests/`, `scripts/smoke.mjs`, `package.json`,
|
||||
/// `README.md`) are deliberately absent: nothing at runtime reads them, and
|
||||
|
||||
@@ -2305,10 +2305,7 @@ args = ["server.js", "--mode=worker", "-e", "console.log('ready')"]
|
||||
#[test]
|
||||
fn bundled_computer_use_plugin_validates() {
|
||||
use crate::plugins::agent_plugin;
|
||||
let root = PathBuf::from(concat!(
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"/../../plugins/computer-use"
|
||||
));
|
||||
let root = PathBuf::from(concat!(env!("CARGO_MANIFEST_DIR"), "/plugins/computer-use"));
|
||||
let validated = PluginManifest::validate_from_path(&root.join("plugin.json"))
|
||||
.expect("in-repo computer-use bundle must validate");
|
||||
assert_eq!(validated.manifest.plugin.name, "computer-use");
|
||||
|
||||
@@ -402,7 +402,7 @@ fn reviewed_product_catalog(locale: Locale) -> Vec<PluginProduct> {
|
||||
)
|
||||
.into_owned(),
|
||||
publisher: "Codewhale".into(),
|
||||
source_reference: "plugins/computer-use".into(),
|
||||
source_reference: "crates/tui/plugins/computer-use".into(),
|
||||
components: vec![
|
||||
PluginProductComponent {
|
||||
kind: PluginProductComponentKind::Mcp,
|
||||
|
||||
Reference in new issue
Block a user