stratumiops/scripts/nu/install.nu
Jesús Pérez 9095ea6d8e
Some checks failed
Nickel Type Check / Nickel Type Checking (push) Has been cancelled
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
feat: add stratum-orchestrator with graph, state, NATS, and Nickel action nodes
New crates: stratum-orchestrator (Cedar authz, Vault secrets, Nu/agent executors,
  saga runner), stratum-graph (petgraph DAG + SurrealDB repo), stratum-state
  (SurrealDB tracker), platform-nats (NKey auth client), ncl-import-resolver.

  Updates: stratum-embeddings (SurrealDB store + persistent cache), stratum-llm
  circuit breaker. Adds Nickel action-nodes, schemas, config, Nushell scripts,
  docker-compose dev stack, and ADR-003.
2026-02-22 21:33:26 +00:00

36 lines
1.1 KiB
Plaintext

#!/usr/bin/env nu
# install.nu — install a built artifact to ~/.local/bin.
# Reads JSON inputs from stdin (built-artifact).
# Emits JSON result to stdout.
def main []: nothing -> nothing {
let inputs = ($in | from json)
let artifact = ($inputs | get "built-artifact")
if (not ($artifact.ok)) {
error make { msg: "built-artifact.ok is false — refusing to install" }
}
let src = $artifact.path
let target = ($nu.home-dir | path join ".local" "bin" $artifact.crate_name)
let cp_result = (do { ^cp $src $target } | complete)
if ($cp_result.exit_code != 0) {
error make { msg: $"cp failed: ($cp_result.stderr)" }
}
let chmod_result = (do { ^chmod +x $target } | complete)
if ($chmod_result.exit_code != 0) {
error make { msg: $"chmod failed: ($chmod_result.stderr)" }
}
let version_result = (do { nu -c $"($target) --version" } | complete)
let version = if ($version_result.exit_code == 0) {
$version_result.stdout | str trim
} else {
"unknown"
}
{ "installed": { ok: true, binary_path: $target, version: $version } } | to json | print
}