Compare commits

..

1 Commits

Author SHA1 Message Date
github-actions[bot] 32b373eccf chore: update vendor submodules to latest upstream 2026-05-25 07:44:46 +00:00
9 changed files with 10 additions and 127 deletions
+4 -1
View File
@@ -126,7 +126,10 @@
"Bash(node .claude/*)",
"mcp__claude-flow__:*"
],
"deny": []
"deny": [
"Read(./.env)",
"Read(./.env.*)"
]
},
"attribution": {
"commit": "Co-Authored-By: claude-flow <ruv@ruv.net>",
+2 -11
View File
@@ -1,7 +1,7 @@
{
"name": "ruview",
"description": "End-to-end RuView (WiFi-DensePose) toolkit for Claude Code: onboarding, ESP32 hardware setup, configuration, sensing applications, model training, advanced multistatic sensing, witness verification, BFLD privacy layer, and rvAgent + RVF agentic flows — from practical to advanced.",
"version": "0.3.0",
"version": "0.2.0",
"author": {
"name": "ruvnet",
"url": "https://github.com/ruvnet/RuView"
@@ -19,14 +19,5 @@
"edge-ai",
"model-training",
"onboarding"
],
"mcpServers": {
"rvagent": {
"command": "npx",
"args": ["-y", "@ruvnet/rvagent"],
"env": {
"RVAGENT_SENSING_URL": "http://localhost:3000"
}
}
}
]
}
@@ -2,24 +2,6 @@
You are helping the operator explore or prototype the integration of `vendor/ruvector/crates/rvAgent/` (a production Rust AI-agent framework) with RuView's existing sensing pipeline (`v2/crates/wifi-densepose-*`) and the RVF cognitive container format (`v2/crates/wifi-densepose-sensing-server/src/rvf_container.rs`).
## Live MCP server: `@ruvnet/rvagent` v0.1.0
The TypeScript MCP server (`tools/ruview-mcp/`, published as `@ruvnet/rvagent`) is live on npm and exposes `bfld_last_scan`, `bfld_subscribe`, `presence_now`, `vitals_get_breathing`, `vitals_get_heart_rate`, `vitals_get_all`, `vitals_fetch`. Add to a Codex MCP config:
```json
{
"mcpServers": {
"rvagent": {
"command": "npx",
"args": ["-y", "@ruvnet/rvagent"],
"env": { "RVAGENT_SENSING_URL": "http://localhost:3000" }
}
}
}
```
This is the operator-facing tool surface; the Rust crate below remains the substrate for deeper RVF-aware agentic flows.
## Trigger phrasing
- "wire rvAgent into RuView"
@@ -7,24 +7,6 @@ description: Explore and prototype rvAgent + RVF integration for RuView agentic
Surface area for wiring `vendor/ruvector/crates/rvAgent/` into RuView so the existing sensing pipeline becomes the substrate an agentic flow can read, reason about, and respond to.
## Quickstart — published MCP server (`@ruvnet/rvagent` v0.1.0)
Installing this plugin registers `@ruvnet/rvagent` as an MCP server. On activation, Claude Code spawns `npx -y @ruvnet/rvagent` and exposes its tools directly:
| Tool | Purpose |
|------|---------|
| `bfld_last_scan` | Most recent BFLD event from the sensing server |
| `bfld_subscribe` | Stream BFLD events for a window |
| `presence_now` | Current room-level presence state |
| `vitals_get_breathing` | Latest breathing-rate sample |
| `vitals_get_heart_rate` | Latest heart-rate sample |
| `vitals_get_all` | Composite vitals snapshot |
| `vitals_fetch` | Historical vitals window |
Override the sensing-server URL via the `RVAGENT_SENSING_URL` env var (default `http://localhost:3000`). Source lives at `tools/ruview-mcp/`; ADR-124 captures the design.
Smoke-check the wiring: `npm view @ruvnet/rvagent version` should return `0.1.0` (or newer).
## When to use this skill
- "I want an agent that reacts to BFLD presence in the kitchen and pages the carer."
-75
View File
@@ -1,75 +0,0 @@
#!/usr/bin/env bash
#
# rotate-npm-token.sh — push NPM_TOKEN from .env into GCP Secret Manager
# and (optionally) publish @ruvnet/rvagent.
#
# Usage:
# bash scripts/rotate-npm-token.sh # rotate only
# bash scripts/rotate-npm-token.sh --publish # rotate + npm publish
#
# Env overrides:
# GCP_PROJECT (default: cognitum-20260110)
# NPM_TOKEN_SECRET (default: NPM_TOKEN)
# ENV_FILE (default: <repo-root>/.env)
# PUBLISH_PACKAGE_DIR (default: <repo-root>/tools/ruview-mcp)
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
ENV_FILE="${ENV_FILE:-$REPO_ROOT/.env}"
PROJECT="${GCP_PROJECT:-cognitum-20260110}"
SECRET="${NPM_TOKEN_SECRET:-NPM_TOKEN}"
PKG_DIR="${PUBLISH_PACKAGE_DIR:-$REPO_ROOT/tools/ruview-mcp}"
[ -f "$ENV_FILE" ] || { echo "ERROR: .env not found at $ENV_FILE" >&2; exit 1; }
TOKEN="$(awk -F= '
/^[[:space:]]*NPM_TOKEN[[:space:]]*=/ {
sub(/^[^=]*=[[:space:]]*/, "", $0)
sub(/^["'\'']/, "", $0)
sub(/["'\''][[:space:]]*$/, "", $0)
sub(/[[:space:]]+$/, "", $0)
print
exit
}
' "$ENV_FILE")"
if [ -z "${TOKEN:-}" ]; then
echo "ERROR: NPM_TOKEN not found in $ENV_FILE" >&2
exit 1
fi
LEN=${#TOKEN}
echo "Found NPM_TOKEN in .env (length=$LEN)"
echo "Pushing new version to gcloud secret '$SECRET' in project '$PROJECT'..."
if ! gcloud secrets describe "$SECRET" --project="$PROJECT" >/dev/null 2>&1; then
echo "Secret '$SECRET' not found; creating..."
printf '%s' "$TOKEN" | gcloud secrets create "$SECRET" \
--project="$PROJECT" --replication-policy=automatic --data-file=-
else
printf '%s' "$TOKEN" | gcloud secrets versions add "$SECRET" \
--project="$PROJECT" --data-file=-
fi
echo "Verifying secret round-trips..."
RETRIEVED="$(gcloud secrets versions access latest --secret="$SECRET" --project="$PROJECT")"
if [ "$RETRIEVED" != "$TOKEN" ]; then
echo "ERROR: retrieved token does not match the value written to .env" >&2
exit 1
fi
echo "OK — secret '$SECRET' updated and verified (length=${#RETRIEVED})."
if [ "${1:-}" = "--publish" ]; then
[ -d "$PKG_DIR" ] || { echo "ERROR: package dir not found at $PKG_DIR" >&2; exit 1; }
echo "Publishing @ruvnet/rvagent from $PKG_DIR..."
(
cd "$PKG_DIR"
if [ -f package.json ] && grep -q '"build"' package.json; then
npm run build
fi
NODE_AUTH_TOKEN="$RETRIEVED" npm publish --access public
)
fi
echo "Done."
+1 -1