Init
release-tag / Resolve release metadata (push) Successful in 30s
release-tag / Build knowledge (push) Failing after 4m51s
release-tag / Build control (push) Failing after 5m0s
release-tag / Build agent (push) Failing after 5m0s
release-tag / Build agent-data-init (push) Failing after 5m5s
release-tag / Build neuroforge-worker (push) Failing after 5m7s
release-tag / Build neuroforge (push) Failing after 5m9s
release-tag / Resolve release metadata (push) Successful in 30s
release-tag / Build knowledge (push) Failing after 4m51s
release-tag / Build control (push) Failing after 5m0s
release-tag / Build agent (push) Failing after 5m0s
release-tag / Build agent-data-init (push) Failing after 5m5s
release-tag / Build neuroforge-worker (push) Failing after 5m7s
release-tag / Build neuroforge (push) Failing after 5m9s
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
||||
PORT=${CODEBASE_MEMORY_PORT:-9749}
|
||||
if ! command -v codebase-memory-mcp >/dev/null 2>&1; then
|
||||
echo "codebase-memory-mcp is not installed or not in PATH" >&2
|
||||
exit 1
|
||||
fi
|
||||
export CBM_ALLOWED_ROOT="$ROOT"
|
||||
echo "Indexing $ROOT with CBM_ALLOWED_ROOT=$CBM_ALLOWED_ROOT" >&2
|
||||
codebase-memory-mcp cli index_repository "{\"repo_path\":\"$ROOT\"}"
|
||||
echo "Starting optional Codebase Memory UI on :$PORT" >&2
|
||||
exec codebase-memory-mcp --ui=true --port="$PORT"
|
||||
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
MODE=${1:-kb}
|
||||
OUT=${2:-./glpi-neuroforge-obsidian.zip}
|
||||
TMP="${OUT}.tmp.$$"
|
||||
trap 'rm -f "$TMP"' EXIT INT TERM
|
||||
|
||||
case "$MODE" in
|
||||
kb)
|
||||
BASE=${KB_URL:-http://127.0.0.1:8081}
|
||||
USER=${BASIC_AUTH_USER:-}
|
||||
PASS=${BASIC_AUTH_PASSWORD:-}
|
||||
URL="${BASE%/}/api/export/obsidian"
|
||||
if [ -n "$USER" ] || [ -n "$PASS" ]; then
|
||||
curl -fsS --user "$USER:$PASS" "$URL" -o "$TMP"
|
||||
else
|
||||
curl -fsS "$URL" -o "$TMP"
|
||||
fi
|
||||
;;
|
||||
agent)
|
||||
BASE=${AGENT_URL:-http://127.0.0.1:8080}
|
||||
USER=${WEB_USERNAME:-}
|
||||
PASS=${WEB_PASSWORD:-}
|
||||
URL="${BASE%/}/api/knowledge/export/obsidian"
|
||||
if [ -n "$USER" ] || [ -n "$PASS" ]; then
|
||||
curl -fsS --user "$USER:$PASS" "$URL" -o "$TMP"
|
||||
else
|
||||
curl -fsS "$URL" -o "$TMP"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 [kb|agent] [output.zip]" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
mv "$TMP" "$OUT"
|
||||
trap - EXIT INT TERM
|
||||
printf 'written: %s\n' "$OUT"
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
gen() { openssl rand -hex 32; }
|
||||
cat <<OUT
|
||||
NEUROFORGE_ADMIN_TOKEN=$(gen)
|
||||
NEUROFORGE_APP_API_KEY=$(gen)
|
||||
NEUROFORGE_WORKER_TOKEN=$(gen)
|
||||
NEUROFORGE_METRICS_TOKEN=$(gen)
|
||||
KB_INTEGRATION_TOKEN=$(gen)
|
||||
CONTROL_READ_TOKEN=$(gen)
|
||||
SEARXNG_SECRET=$(gen)
|
||||
OUT
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
: "${KB_INTEGRATION_TOKEN:?set KB_INTEGRATION_TOKEN}"
|
||||
KB_URL=${KB_URL:-http://127.0.0.1:${KNOWLEDGE_HOST_PORT:-8081}}
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "usage: $0 proposal.json" >&2
|
||||
exit 2
|
||||
fi
|
||||
curl --fail-with-body -sS \
|
||||
-H "Authorization: Bearer $KB_INTEGRATION_TOKEN" \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data-binary "@$1" \
|
||||
"$KB_URL/api/integrations/staging"
|
||||
printf '\n'
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Run the read-only retrieval/learning replay benchmark against a live Agent."""
|
||||
import argparse, base64, json, pathlib, sys, urllib.request, urllib.error
|
||||
|
||||
p=argparse.ArgumentParser()
|
||||
p.add_argument('cases', help='JSON file: {"cases":[...]}')
|
||||
p.add_argument('--url', default='http://127.0.0.1:8080')
|
||||
p.add_argument('--user', default='')
|
||||
p.add_argument('--password', default='')
|
||||
p.add_argument('--output', default='')
|
||||
a=p.parse_args()
|
||||
payload=pathlib.Path(a.cases).read_bytes()
|
||||
req=urllib.request.Request(a.url.rstrip('/')+'/api/quality/replay', data=payload, method='POST', headers={'Content-Type':'application/json'})
|
||||
if a.user or a.password:
|
||||
token=base64.b64encode(f'{a.user}:{a.password}'.encode()).decode()
|
||||
req.add_header('Authorization','Basic '+token)
|
||||
try:
|
||||
with urllib.request.urlopen(req, timeout=300) as r:
|
||||
out=r.read()
|
||||
except urllib.error.HTTPError as e:
|
||||
sys.stderr.write(e.read().decode(errors='replace')+'\n')
|
||||
raise SystemExit(2)
|
||||
if a.output:
|
||||
pathlib.Path(a.output).write_bytes(out+b'\n')
|
||||
obj=json.loads(out)
|
||||
print(json.dumps(obj.get('summary',{}), indent=2, ensure_ascii=False))
|
||||
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env sh
|
||||
set -eu
|
||||
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
||||
secret=${SEARXNG_SECRET:-}
|
||||
if [ -z "$secret" ] && [ -f "$ROOT/.env" ]; then
|
||||
secret=$(awk -F= '$1=="SEARXNG_SECRET" {sub(/^[^=]*=/, ""); print; exit}' "$ROOT/.env")
|
||||
fi
|
||||
case "$secret" in
|
||||
""|CHANGE_ME*)
|
||||
echo "Set a real SEARXNG_SECRET in $ROOT/.env (or export it) before enabling research." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
export SEARXNG_SECRET=$secret
|
||||
cd "$ROOT"
|
||||
NEUROFORGE_RESEARCH_ENABLED=true \
|
||||
NEUROFORGE_SEARXNG_ENABLED=true \
|
||||
docker compose --profile research up -d searxng neuroforge neuroforge-worker
|
||||
printf '%s\n' 'SearXNG + NeuroForge research are running. Autonomy remains controlled by NEUROFORGE_AUTONOMY_ENABLED.'
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
PORT="${CONTROL_HOST_PORT:-8070}"
|
||||
curl -fsS "http://127.0.0.1:${PORT}/api/status" | python3 -m json.tool
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
||||
for mod in platform/neuroforge services/agent services/knowledge services/control; do
|
||||
echo "==> go test $mod"
|
||||
(cd "$ROOT/$mod" && go test ./...)
|
||||
echo "==> go vet $mod"
|
||||
(cd "$ROOT/$mod" && go vet ./...)
|
||||
done
|
||||
echo "==> shell syntax"
|
||||
for script in "$ROOT"/scripts/*.sh; do
|
||||
sh -n "$script"
|
||||
done
|
||||
if command -v docker >/dev/null 2>&1 && docker compose version >/dev/null 2>&1; then
|
||||
echo "==> docker compose config (base)"
|
||||
(cd "$ROOT" && docker compose --env-file .env.example config >/dev/null)
|
||||
echo "==> docker compose config (research profile)"
|
||||
(cd "$ROOT" && docker compose --env-file .env.example --profile research config >/dev/null)
|
||||
fi
|
||||
echo "validation OK"
|
||||
Reference in New Issue
Block a user