@rubytech/create-maxy 1.0.709 → 1.0.710
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/package.json +1 -1
- package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts +53 -0
- package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/mcp-spawn-tee/dist/index.js +132 -0
- package/payload/platform/lib/mcp-spawn-tee/dist/index.js.map +1 -0
- package/payload/platform/lib/mcp-spawn-tee/src/index.ts +134 -0
- package/payload/platform/lib/mcp-spawn-tee/tsconfig.json +8 -0
- package/payload/platform/package.json +2 -2
- package/payload/platform/plugins/docs/references/plugins-guide.md +12 -4
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +34 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts +10 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js +22 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/package.json +3 -1
- package/payload/platform/plugins/memory/mcp/scripts/boot-smoke.sh +69 -0
- package/payload/platform/plugins/memory/references/graph-primitives.md +22 -0
- package/payload/platform/plugins/memory/references/schema-base.md +1 -1
- package/payload/server/chunk-A5K3CFMI.js +12297 -0
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/server.js +1 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Memory MCP boot-smoke gate (Task 743).
|
|
3
|
+
#
|
|
4
|
+
# Spawns dist/index.js with a stub env, holds stdin open via `tail -f /dev/null`
|
|
5
|
+
# (the MCP SDK's StdioServerTransport exits on EOF — closing stdin would mask a
|
|
6
|
+
# clean boot as a failure), sleeps 2s, then asserts the process is still alive.
|
|
7
|
+
# A schema-loader throw, an import failure, or any other module-load fault
|
|
8
|
+
# would have killed the child by now and `kill -0` would return non-zero.
|
|
9
|
+
#
|
|
10
|
+
# Wired to the memory MCP `prepublish` script in package.json so a regression
|
|
11
|
+
# can never reach npm publish without the gate firing first. Local matrix:
|
|
12
|
+
#
|
|
13
|
+
# $ ./scripts/boot-smoke.sh
|
|
14
|
+
# [boot-smoke] memory ok
|
|
15
|
+
#
|
|
16
|
+
# $ # break the schema content, rebuild, retry
|
|
17
|
+
# $ ./scripts/boot-smoke.sh
|
|
18
|
+
# [boot-smoke] memory FAILED tail=<schema-loader throw>
|
|
19
|
+
# exit 1
|
|
20
|
+
set -euo pipefail
|
|
21
|
+
|
|
22
|
+
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
23
|
+
MCP_DIR=$(cd "$SCRIPT_DIR/.." && pwd)
|
|
24
|
+
ENTRY="$MCP_DIR/dist/index.js"
|
|
25
|
+
PLATFORM_ROOT=$(cd "$MCP_DIR/../../.." && pwd)
|
|
26
|
+
|
|
27
|
+
if [ ! -f "$ENTRY" ]; then
|
|
28
|
+
echo "[boot-smoke] memory FAILED tail=\"dist/index.js missing — run npm run build first\"" >&2
|
|
29
|
+
exit 1
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
LOG_DIR=$(mktemp -d -t mcp-boot-smoke.XXXXXX)
|
|
33
|
+
trap 'rm -rf "$LOG_DIR"' EXIT
|
|
34
|
+
|
|
35
|
+
# stdin from a `tail -f /dev/null` keeps the StdioServerTransport open. The
|
|
36
|
+
# pipeline's left side is a tiny long-running process; the right side is the
|
|
37
|
+
# MCP server we are smoke-testing. Both are killed below.
|
|
38
|
+
# Disable pipefail for this block — when bash forks the pipeline, $! is the
|
|
39
|
+
# PID of the LAST command (the node process), which is what we test below.
|
|
40
|
+
set +o pipefail
|
|
41
|
+
|
|
42
|
+
tail -f /dev/null | env \
|
|
43
|
+
ACCOUNT_ID=boot-smoke-test \
|
|
44
|
+
PLATFORM_ROOT="$PLATFORM_ROOT" \
|
|
45
|
+
LOG_DIR="$LOG_DIR" \
|
|
46
|
+
STREAM_LOG_PATH="$LOG_DIR/stream.log" \
|
|
47
|
+
NEO4J_URI=bolt://localhost:7687 \
|
|
48
|
+
SESSION_ID=boot-smoke \
|
|
49
|
+
node "$ENTRY" > /dev/null 2>"$LOG_DIR/stderr-direct.log" &
|
|
50
|
+
|
|
51
|
+
NODE_PID=$!
|
|
52
|
+
sleep 2
|
|
53
|
+
|
|
54
|
+
if ! kill -0 "$NODE_PID" 2>/dev/null; then
|
|
55
|
+
TAIL=$(tail -n 5 "$LOG_DIR/stderr-direct.log" 2>/dev/null | tr '\n' ' ' | sed 's/"/\\"/g')
|
|
56
|
+
echo "[boot-smoke] memory FAILED tail=\"$TAIL\"" >&2
|
|
57
|
+
# Reap the tail process by killing its parent group (the pipeline subshell).
|
|
58
|
+
kill 0 2>/dev/null || true
|
|
59
|
+
exit 1
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
echo "[boot-smoke] memory ok"
|
|
63
|
+
kill "$NODE_PID" 2>/dev/null || true
|
|
64
|
+
# Reap the still-running `tail -f /dev/null` so the script exits cleanly.
|
|
65
|
+
# `disown` first so bash does not print a job-control "Terminated" line
|
|
66
|
+
# when the pipeline subshell is killed by exit-trap.
|
|
67
|
+
{ disown -a 2>/dev/null; pkill -P $$ -f "tail -f /dev/null"; } 2>/dev/null || true
|
|
68
|
+
wait 2>/dev/null || true
|
|
69
|
+
exit 0
|
|
@@ -38,6 +38,28 @@ deterministic path through the shim is the only supported way to read
|
|
|
38
38
|
the graph, and any substitute path loses the read-only + namespace +
|
|
39
39
|
token-limit discipline the upstream server enforces.
|
|
40
40
|
|
|
41
|
+
## When the memory tools are absent
|
|
42
|
+
|
|
43
|
+
If `mcp__memory__memory-write`, `mcp__memory__memory-search`,
|
|
44
|
+
`mcp__memory__memory-rank`, `mcp__memory__memory-reindex`,
|
|
45
|
+
`mcp__memory__session-compact`, `mcp__memory__session-compact-status`, or
|
|
46
|
+
`mcp__memory__conversation-search` is missing from your tool list, the
|
|
47
|
+
memory MCP server failed to start on this device. Reply once with
|
|
48
|
+
exactly:
|
|
49
|
+
|
|
50
|
+
> The memory MCP server failed to start on this device. Run the admin
|
|
51
|
+
> system-status check to diagnose — do not retry by other routes.
|
|
52
|
+
|
|
53
|
+
Then stop. Do not search for a similarly-named tool via `ToolSearch`, do
|
|
54
|
+
not improvise via `maxy-graph-read_neo4j_cypher` (it is read-only — every
|
|
55
|
+
write goes through the schema-aware memory tools), do not paraphrase.
|
|
56
|
+
A missing memory tool is a deterministic failure of the per-account
|
|
57
|
+
memory server: the platform's `[mcp-init-error] server=memory` line in
|
|
58
|
+
the per-conversation stream log already names it; the user-facing reply
|
|
59
|
+
exists so the operator knows the session cannot proceed without an
|
|
60
|
+
operator-side fix (Task 743 propagates Task 560's loud-fail contract
|
|
61
|
+
from graph to memory).
|
|
62
|
+
|
|
41
63
|
## Mutation intents
|
|
42
64
|
|
|
43
65
|
The graph tools above are read-only. Every write intent has a schema-aware
|
|
@@ -165,7 +165,7 @@ The classifier returns `kind` strings from the closed enumeration above. `kind`
|
|
|
165
165
|
| `CREATED` | `UserProfile` → `Project` | Standalone-node anchor. |
|
|
166
166
|
| `UNDER` | `Project` → `Organization` | Optional Project context. |
|
|
167
167
|
| `AT` | `Section:Position` → `Organization` | Position's employer. |
|
|
168
|
-
| `PARTY` | `KnowledgeDocument` → `Person
|
|
168
|
+
| `PARTY` | `KnowledgeDocument` → `Person` or `Organization` | Contract Parties — written from `documentEdges`. |
|
|
169
169
|
| `DEFINES` | `Section:Definitions` → `DefinedTerm` | Contract definitions — written from per-section `related`. |
|
|
170
170
|
|
|
171
171
|
**Ontology-growth review query.** When a document accumulates several `:Section:Other` nodes, the operator (or admin agent) can run the following Cypher to surface candidate ontology additions:
|