== serve.sh mentat quack server: quack:127.0.0.1:9700 pid 451623 log /tmp/gate-quack.log LISTEN 0 5 127.0.0.1:9700 0.0.0.0:* == remote edn_t $ duckdb: SELECT * FROM quack_query('quack:127.0.0.1:9700', $$SELECT edn_t('/tmp/gate_quack.9TvtCN.db', '[{:db/ident :person/name :db/valueType :db.type/string :db/cardinality :db.cardinality/one}]') AS r$$, token => getenv('MENTAT_QUACK_TOKEN'), disable_ssl => true); {"tempids":{},"tx_id":268435457,"tx_instant":"2026-09-28T03:26:59.568456+00:00"} (duckdb exit 0) $ duckdb: SELECT * FROM quack_query('quack:127.0.0.1:9700', $$SELECT edn_t('/tmp/gate_quack.9TvtCN.db', '[{:person/name "Alice"} {:person/name "Bob"}]') AS r$$, token => getenv('MENTAT_QUACK_TOKEN'), disable_ssl => true); {"tempids":{},"tx_id":268435458,"tx_instant":"2026-09-28T03:26:59.610379+00:00"} (duckdb exit 0) == remote edn_q $ duckdb: SELECT * FROM quack_query('quack:127.0.0.1:9700', $$SELECT * FROM edn_q('/tmp/gate_quack.9TvtCN.db', '[:find ?n :where [_ :person/name ?n]]', '{}') ORDER BY 1$$, token => getenv('MENTAT_QUACK_TOKEN'), disable_ssl => true); Alice Bob (duckdb exit 0) == remote edn_q, joined with a client-local table (client has no mentat loaded) $ duckdb: CREATE TABLE ages AS SELECT * FROM (VALUES ('Alice', 30), ('Bob', 41)) t(name, age); SELECT q.*, a.age FROM quack_query('quack:127.0.0.1:9700', $$SELECT * FROM edn_q('/tmp/gate_quack.9TvtCN.db', '[:find ?n :where [_ :person/name ?n]]', '{}')$$, token => getenv('MENTAT_QUACK_TOKEN'), disable_ssl => true) q JOIN ages a ON a.name = q."?n" ORDER BY 1; Alice|30 Bob|41 (duckdb exit 0) == wrong token $ duckdb: SELECT * FROM quack_query('quack:127.0.0.1:9700', 'SELECT 1', token => 'wrong-token-1234', disable_ssl => true); Invalid Input Error: Authentication failed LINE 1: SELECT * FROM quack_query('quack:127.0.0.1:9700', 'SELECT 1', token =... ^ (duckdb exit 1) == no token $ duckdb: SELECT * FROM quack_query('quack:127.0.0.1:9700', 'SELECT 1', disable_ssl => true); Invalid Input Error: Could not find a Quack authentication token LINE 1: SELECT * FROM quack_query('quack:127.0.0.1:9700', 'SELECT 1', disable_ssl... ^ (duckdb exit 1) == ATTACH, wrong token $ duckdb: ATTACH 'quack:127.0.0.1:9700' AS r (TOKEN 'wrong-token-1234', DISABLE_SSL true); Invalid Input Error: Authentication failed (duckdb exit 1) == ATTACH, right token: tables yes, mentat functions no $ duckdb: SELECT * FROM quack_query('quack:127.0.0.1:9700', 'CREATE OR REPLACE TABLE t AS SELECT 42 AS k', token => getenv('MENTAT_QUACK_TOKEN'), disable_ssl => true); ATTACH 'quack:127.0.0.1:9700' AS r (TOKEN getenv('MENTAT_QUACK_TOKEN'), DISABLE_SSL true); SELECT * FROM r.t; 1 42 (duckdb exit 0) $ duckdb: ATTACH 'quack:127.0.0.1:9700' AS r (TOKEN getenv('MENTAT_QUACK_TOKEN'), DISABLE_SSL true); SELECT * FROM r.edn_q('/tmp/gate_quack.9TvtCN.db', '[:find ?n :where [_ :person/name ?n]]', '{}'); Catalog Error: Table Function with name edn_q does not exist! Did you mean "main.read_parquet"? (duckdb exit 1) == server log -- Loading resources from /tmp/mentat-quack.u1FNAC.sql ┌──────────────────────┬───────────────────────┐ │ listen_uri │ listen_url │ │ varchar │ varchar │ ├──────────────────────┼───────────────────────┤ │ quack:127.0.0.1:9700 │ http://127.0.0.1:9700 │ └──────────────────────┴───────────────────────┘ == stop.sh stopped 451623 0