Files
mesh-host/testdata/beside/mesh-catalog/modules/letta/files/start.sh
T
jschoubben d68e241724 Take the catalogue's composition rules into the node-engine
ADR 0593 §7: the composer with its refusals leaves mesh-sdk, so mesh-sdk
carries no composition rule. The catalogue functions only the
node-engine's composition reaches (Resolve, Resolution's Compose,
Declaration, DataItems, LeftOut, Rules and the rest, the settings,
placeholder and template refusals, the rendering helpers) are copied
with their tests into internal/compose/resolution; a method of a
mesh-sdk shape becomes a function taking it first. The composition
calls its own copies, and the captured catalogue its tests read lives
here now, shared by mesh-compose's tests.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 19:15:55 +01:00

24 lines
1.1 KiB
Bash

#!/bin/sh
# Generated by the mesh. Do not edit: module letta writes this file and replaces it at every push.
#
# letta 0.6.8 prints secrets it is given to its log (novox/hq issue 268):
# letta/server/rest_api/app.py prints its server password when it starts in secure mode;
# startup.sh, alembic/env.py and letta/server/server.py print LETTA_PG_URI whole.
# The URI carries no password (libpq reads it from PGPASSFILE), and the one print of the server
# password is rewritten before the server starts. Either one failing refuses the start: a letta
# that does not start says why here, and one that leaks says nothing.
set -e
app=/app/letta/server/rest_api/app.py
sed -i 's/Using secure mode with password: {random_password}/Using secure mode (the password is not printed)/' "$app"
if grep -q 'print(.*random_password' "$app"; then
echo "letta: $app still prints the server password; not starting (novox/hq issue 268)" >&2
exit 1
fi
case "$LETTA_PG_URI" in
*://*:*@*)
echo "letta: LETTA_PG_URI carries a password, and letta prints that URI; not starting (novox/hq issue 268)" >&2
exit 1
;;
esac
exec ./letta/server/startup.sh