@pentatonic-ai/ai-agent-sdk 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +170 -69
- package/bin/__tests__/callback-server.test.js +4 -1
- package/bin/cli.js +41 -164
- package/bin/commands/config.js +251 -0
- package/package.json +2 -1
- package/packages/doctor/__tests__/detect.test.js +2 -6
- package/packages/doctor/src/checks/local-memory.js +164 -196
- package/packages/doctor/src/detect.js +11 -3
- package/packages/memory/src/corpus/adapters.js +104 -0
- package/packages/memory/src/corpus/cli.js +72 -7
- package/packages/memory/src/corpus/index.js +1 -1
- package/packages/memory-engine/.env.example +13 -0
- package/packages/memory-engine/README.md +131 -0
- package/packages/memory-engine/bench/README.md +99 -0
- package/packages/memory-engine/bench/scorecards-engine/agent-coding__pentatonic-baseline__20260427-142523.json +1115 -0
- package/packages/memory-engine/bench/scorecards-engine/chat-recall__pentatonic-baseline__20260427-142648.json +819 -0
- package/packages/memory-engine/bench/scorecards-engine/circular-economy__pentatonic-baseline__20260427-142757.json +1278 -0
- package/packages/memory-engine/bench/scorecards-engine/customer-support__pentatonic-baseline__20260427-142900.json +1018 -0
- package/packages/memory-engine/bench/scorecards-engine/marketplace-ops__pentatonic-baseline__20260427-142957.json +1038 -0
- package/packages/memory-engine/bench/scorecards-engine/product-catalogue__pentatonic-baseline__20260427-143122.json +961 -0
- package/packages/memory-engine/bench/scorecards-engine-via-docker/agent-coding__pentatonic-memory__20260427-161812.json +1115 -0
- package/packages/memory-engine/bench/scorecards-engine-via-docker/chat-recall__pentatonic-memory__20260427-161701.json +819 -0
- package/packages/memory-engine/bench/scorecards-engine-via-docker/circular-economy__pentatonic-memory__20260427-161713.json +1278 -0
- package/packages/memory-engine/bench/scorecards-engine-via-docker/customer-support__pentatonic-memory__20260427-161723.json +1018 -0
- package/packages/memory-engine/bench/scorecards-engine-via-docker/marketplace-ops__pentatonic-memory__20260427-161732.json +1038 -0
- package/packages/memory-engine/bench/scorecards-engine-via-docker/product-catalogue__pentatonic-memory__20260427-161741.json +937 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/agent-coding__pentatonic-memory__20260427-184718.json +1115 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/chat-recall__pentatonic-memory__20260427-184614.json +819 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/circular-economy__pentatonic-memory__20260427-184809.json +1278 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/customer-support__pentatonic-memory__20260427-184854.json +1018 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/marketplace-ops__pentatonic-memory__20260427-184929.json +1038 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/product-catalogue__pentatonic-memory__20260427-185015.json +961 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/agent-coding__pentatonic-memory__20260427-175252.json +1115 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/chat-recall__pentatonic-memory__20260427-175312.json +819 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/circular-economy__pentatonic-memory__20260427-175335.json +1278 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/customer-support__pentatonic-memory__20260427-175355.json +1018 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/marketplace-ops__pentatonic-memory__20260427-175413.json +1038 -0
- package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/product-catalogue__pentatonic-memory__20260427-175430.json +883 -0
- package/packages/memory-engine/bench/scorecards-engine-via-shim/agent-coding__pentatonic-memory__20260427-155409.json +1115 -0
- package/packages/memory-engine/bench/scorecards-engine-via-shim/chat-recall__pentatonic-memory__20260427-155421.json +819 -0
- package/packages/memory-engine/bench/scorecards-engine-via-shim/circular-economy__pentatonic-memory__20260427-155433.json +1278 -0
- package/packages/memory-engine/bench/scorecards-engine-via-shim/customer-support__pentatonic-memory__20260427-155443.json +1018 -0
- package/packages/memory-engine/bench/scorecards-engine-via-shim/marketplace-ops__pentatonic-memory__20260427-155453.json +1038 -0
- package/packages/memory-engine/bench/scorecards-engine-via-shim/product-catalogue__pentatonic-memory__20260427-155503.json +937 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/agent-coding__pentatonic-memory-latest__20260427-145103.json +1115 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/agent-coding__pentatonic-memory__20260427-144909.json +1115 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/chat-recall__pentatonic-memory-latest__20260427-145153.json +819 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/chat-recall__pentatonic-memory__20260427-145120.json +542 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/circular-economy__pentatonic-memory-latest__20260427-145313.json +1278 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/circular-economy__pentatonic-memory__20260427-145207.json +894 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/customer-support__pentatonic-memory-latest__20260427-145412.json +1018 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/customer-support__pentatonic-memory__20260427-145327.json +680 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/marketplace-ops__pentatonic-memory-latest__20260427-145517.json +1038 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/marketplace-ops__pentatonic-memory__20260427-145422.json +693 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/product-catalogue__pentatonic-memory-latest__20260427-145616.json +961 -0
- package/packages/memory-engine/bench/scorecards-pentatonic-baseline/product-catalogue__pentatonic-memory__20260427-145528.json +727 -0
- package/packages/memory-engine/compat/Dockerfile +11 -0
- package/packages/memory-engine/compat/server.py +680 -0
- package/packages/memory-engine/docker-compose.yml +243 -0
- package/packages/memory-engine/docs/MIGRATION.md +178 -0
- package/packages/memory-engine/docs/RUNBOOK-AWS.md +375 -0
- package/packages/memory-engine/docs/why-v05-underperforms.md +138 -0
- package/packages/memory-engine/engine/README.md +52 -0
- package/packages/memory-engine/engine/l2-hybridrag-proxy.py +1543 -0
- package/packages/memory-engine/engine/l5-comms-layer.py +663 -0
- package/packages/memory-engine/engine/l6-document-store.py +1018 -0
- package/packages/memory-engine/engine/services/l2/Dockerfile +41 -0
- package/packages/memory-engine/engine/services/l2/init_databases.py +81 -0
- package/packages/memory-engine/engine/services/l2/l2-hybridrag-proxy.py +1543 -0
- package/packages/memory-engine/engine/services/l4/Dockerfile +15 -0
- package/packages/memory-engine/engine/services/l4/server.py +235 -0
- package/packages/memory-engine/engine/services/l5/Dockerfile +9 -0
- package/packages/memory-engine/engine/services/l5/l5-comms-layer.py +678 -0
- package/packages/memory-engine/engine/services/l6/Dockerfile +11 -0
- package/packages/memory-engine/engine/services/l6/l6-document-store.py +1016 -0
- package/packages/memory-engine/engine/services/nv-embed/Dockerfile +28 -0
- package/packages/memory-engine/engine/services/nv-embed/server.py +152 -0
- package/packages/memory-engine/pme_memory/__init__.py +0 -0
- package/packages/memory-engine/pme_memory/__main__.py +129 -0
- package/packages/memory-engine/pme_memory/artifacts.py +95 -0
- package/packages/memory-engine/pme_memory/embed.py +74 -0
- package/packages/memory-engine/pme_memory/health.py +36 -0
- package/packages/memory-engine/pme_memory/hygiene.py +159 -0
- package/packages/memory-engine/pme_memory/indexer.py +200 -0
- package/packages/memory-engine/pme_memory/needs.py +55 -0
- package/packages/memory-engine/pme_memory/provenance.py +80 -0
- package/packages/memory-engine/pme_memory/scoring.py +168 -0
- package/packages/memory-engine/pme_memory/search.py +52 -0
- package/packages/memory-engine/pme_memory/store.py +86 -0
- package/packages/memory-engine/pme_memory/synthesis.py +114 -0
- package/packages/memory-engine/pyproject.toml +65 -0
- package/packages/memory-engine/scripts/kg-extractor.py +557 -0
- package/packages/memory-engine/scripts/kg-preflexor-v2.py +738 -0
- package/packages/memory-engine/tests/test_api_contract.sh +57 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# API contract test — verifies the engine exposes the same wire format
|
|
3
|
+
# as pentatonic-memory v0.5.x.
|
|
4
|
+
#
|
|
5
|
+
# Run after `docker compose up -d` and a ~30s warm-up.
|
|
6
|
+
set -eu
|
|
7
|
+
|
|
8
|
+
BASE="${BASE:-http://localhost:8099}"
|
|
9
|
+
PASS=0
|
|
10
|
+
FAIL=0
|
|
11
|
+
|
|
12
|
+
ok() { echo " ✅ $1"; PASS=$((PASS+1)); }
|
|
13
|
+
fail() { echo " ❌ $1"; FAIL=$((FAIL+1)); }
|
|
14
|
+
|
|
15
|
+
echo "=== /health ==="
|
|
16
|
+
H=$(curl -sf "$BASE/health" || echo "{}")
|
|
17
|
+
echo "$H" | python3 -c "import json,sys; d=json.load(sys.stdin); print(' status:', d.get('status'), 'engine:', d.get('engine'), 'layers:', list(d.get('layers',{}).keys()))"
|
|
18
|
+
[ "$(echo "$H" | python3 -c 'import json,sys; print(json.load(sys.stdin).get("status"))')" = "ok" ] && ok "GET /health returns ok" || fail "GET /health"
|
|
19
|
+
|
|
20
|
+
echo ""
|
|
21
|
+
echo "=== /store ==="
|
|
22
|
+
R=$(curl -sf -X POST "$BASE/store" -H "Content-Type: application/json" \
|
|
23
|
+
-d '{"content":"smoke-test the quick brown fox","metadata":{"test":"contract"}}')
|
|
24
|
+
echo "$R" | python3 -m json.tool | head -8
|
|
25
|
+
[ "$(echo "$R" | python3 -c 'import json,sys; d=json.load(sys.stdin); print("id" in d and "content" in d and "layerId" in d)')" = "True" ] && ok "POST /store has v0.5 fields" || fail "POST /store"
|
|
26
|
+
|
|
27
|
+
echo ""
|
|
28
|
+
echo "=== /store-batch (NEW) ==="
|
|
29
|
+
B=$(curl -sf -X POST "$BASE/store-batch" -H "Content-Type: application/json" \
|
|
30
|
+
-d '{"records":[{"id":"b1","content":"hello world"},{"id":"b2","content":"vova lives in worthing"}]}')
|
|
31
|
+
echo "$B" | python3 -m json.tool | head -8
|
|
32
|
+
[ "$(echo "$B" | python3 -c 'import json,sys; d=json.load(sys.stdin); print(d.get("inserted",0)>=1)')" = "True" ] && ok "POST /store-batch inserted N records" || fail "POST /store-batch"
|
|
33
|
+
|
|
34
|
+
# Wait for indexing
|
|
35
|
+
sleep 3
|
|
36
|
+
|
|
37
|
+
echo ""
|
|
38
|
+
echo "=== /search ==="
|
|
39
|
+
S=$(curl -sf -X POST "$BASE/search" -H "Content-Type: application/json" \
|
|
40
|
+
-d '{"query":"vova worthing","limit":5,"min_score":0.001}')
|
|
41
|
+
N=$(echo "$S" | python3 -c 'import json,sys; print(len(json.load(sys.stdin).get("results",[])))')
|
|
42
|
+
echo " hits: $N"
|
|
43
|
+
[ "$N" -gt 0 ] && ok "POST /search returned hits" || fail "POST /search returned 0 hits"
|
|
44
|
+
[ "$(echo "$S" | python3 -c 'import json,sys; r=json.load(sys.stdin)["results"]; print("similarity" in r[0] and "content" in r[0] if r else False)')" = "True" ] && ok "POST /search has v0.5 result fields" || fail "POST /search shape"
|
|
45
|
+
|
|
46
|
+
echo ""
|
|
47
|
+
echo "=== /forget (RESTORED) ==="
|
|
48
|
+
F=$(curl -sf -X POST "$BASE/forget" -H "Content-Type: application/json" \
|
|
49
|
+
-d '{"metadata_contains":{"test":"contract"}}')
|
|
50
|
+
echo "$F" | python3 -m json.tool
|
|
51
|
+
[ "$(echo "$F" | python3 -c 'import json,sys; print("deleted" in json.load(sys.stdin))')" = "True" ] && ok "POST /forget exists" || fail "POST /forget"
|
|
52
|
+
|
|
53
|
+
echo ""
|
|
54
|
+
echo "=== Result ==="
|
|
55
|
+
echo " PASS: $PASS"
|
|
56
|
+
echo " FAIL: $FAIL"
|
|
57
|
+
exit $FAIL
|