astrid-runtime/astrid · error

Native JS/TS capsule SDK is not yet implemented.

Error message

Native JS/TS capsule SDK is not yet implemented.

What it means

Fired by run_build when the detected or explicitly requested project type is js/ts/node. Native JavaScript/TypeScript capsule packaging has not been implemented yet; it is a deliberate placeholder, not a detected failure.

Solutions

  1. Write the capsule in Rust and build with the rust pipeline
  2. Use the mcp/extension converters if your project fits those formats
  3. Track upstream work for a native JS/TS SDK
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/astrid-build/src/build.rs:46 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of astrid-runtime/astrid@affd8760f4 (2026-09-09). Data as JSON: /api/errors/613bd2c167520451. Report an issue: GitHub.

Appendix: source

Thrown at crates/astrid-build/src/build.rs:46

        return crate::mcp::convert(dir, &file_name, output);
    }

    // Detect the project type if not explicitly provided
    let detected_type = if let Some(explicit) = project_type {
        explicit.to_string()
    } else {
        detect_project_type(&target_dir)?
    };

    info!("Detected project type: {detected_type}");

    // Route to the appropriate builder
    match detected_type.as_str() {
        "rust" => crate::rust::build(&target_dir, output)?,
        "mcp" => crate::mcp::convert(&target_dir, "mcp.json", output)?,
        "extension" => crate::mcp::convert(&target_dir, "gemini-extension.json", output)?,
        "js" | "ts" | "node" => {
            bail!("Native JS/TS capsule SDK is not yet implemented.");
        },
        "static" => {
            bail!("Static No-Code building is not yet implemented in the CLI.");
        },
        unknown => {
            bail!(
                "Unknown project type: {unknown}. \
                 Supported types: rust, mcp, extension"
            );
        },
    }

    Ok(())
}

fn detect_project_type(dir: &Path) -> Result<String> {
    if dir.join("Cargo.toml").exists() {
        return Ok("rust".to_string());

View on GitHub (pinned to affd8760f4)