UNPKG

echonodesync

Version:

Autonomous, pluggable, secure memory bridge for agent/human/ritual ecosystems (DreamWeaver, EchoThreads, etc.)

25 lines (22 loc) 989 B
// MCP action: scanKeys // Usage: await scanKeysAction({ pattern, regex, limit, plain }) // Extracted from scanKeys.js for agent-accessible invocation const fetch = require('node-fetch'); const { resolveApiUrl, resolveSecret } = require('./shared'); async function scanKeysAction({ pattern, regex, limit, plain }) { const BASE_URL = resolveApiUrl().replace(/\/memory$/, '/scan'); const SECRET = resolveSecret(); const url = new URL(BASE_URL); if (pattern) url.searchParams.set('pattern', pattern); if (regex) url.searchParams.set('regex', regex); if (limit) url.searchParams.set('limit', limit); const headers = {}; if (SECRET) headers['Authorization'] = `Bearer ${SECRET}`; const res = await fetch(url.toString(), { headers }); if (!res.ok) throw new Error(`HTTP ${res.status}`); const data = await res.json(); // Optionally flatten/group for plain output if (plain) return data.flat ? data.flat() : data; return data; } module.exports = { scanKeysAction };