@funeste38/qflush
v4.0.18
Published
QFLUSH orchestrator
Maintainers
Readme
qflush
qflush is the main Funesterie orchestrator.
It combines a CLI, a long-running daemon, ephemeral memory endpoints, NPZ helpers, service supervision hooks and integrations with modules such as Rome, Spyder, Bat, Freeland and Nezlephant.
Current package line
- npm package:
@funeste38/qflush - current repo version:
4.0.16 - daemon entry point:
src/daemon/qflushd.ts
What qflush is good at
- running a local or hosted orchestration daemon
- exposing admin and memory endpoints to A11 or other tools
- managing NPZ-oriented flows and Rome indexing helpers
- bridging telemetry, Redis-backed state and lightweight service supervision
Install
npm install @funeste38/qflushQuick start
npm install
npm run build
npm startOr with Railway-compatible scripts:
npm run railway:build
npm run railway:startRepository map
src/daemon/-> HTTP daemon and operational endpointssrc/rome/-> rule engine, indexing and action logicsrc/commands/-> CLI commandssrc/utils/-> Redis, secrets, fetch, HMAC, memory and path helperstests/-> Vitest coverage for the critical runtimerunner-package/-> lightweight runner flavor for CI or reduced environments
Important runtime variables
QFLUSHD_PORTorPORT-> daemon portNEZ_ADMIN_TOKEN-> protects admin and memory endpointsREDIS_URL/QFLUSH_REDIS_URL-> Redis backend for persistent and ephemeral stateQFLUSH_ENABLE_REDIS/QFLUSH_DISABLE_REDIS-> Redis toggleQFLUSH_DISABLE_COPILOT,QFLUSH_TELEMETRY,QFLUSH_ENABLE_COPILOT-> telemetry controlsQFLUSH_COPILOT_TRANSPORTS->file,webhook,sseQFLUSH_COPILOT_WEBHOOK_URL-> outgoing webhook targetQFLUSH_LOG_FORMAT->pretty,plain,json
Ephemeral memory
qflush exposes a TTL-based ephemeral memory layer that can run:
- on Redis when configured
- in local memory as fallback
Main endpoints:
/api/memory/ephemeral/status/api/memory/ephemeral/set/api/memory/ephemeral/get/api/memory/ephemeral/list/api/memory/ephemeral/delete/api/memory/ephemeral/clear/api/memory/ephemeral/touch
Example:
curl -X POST http://127.0.0.1:43421/api/admin/run \
-H "Authorization: Bearer changeme" \
-H "Content-Type: application/json" \
-d "{\"flow\":\"a11.memory.ephemeral.v1\",\"payload\":{\"op\":\"set\",\"scope\":\"user:jeff\",\"key\":\"last_topic\",\"value\":\"A11\",\"ttlSec\":1800}}"Railway notes
Recommended minimum for a stable hosted instance:
QFLUSH_DISABLE_COPILOT=0QFLUSH_ENABLE_COPILOT=1QFLUSH_TELEMETRY=1QFLUSH_COPILOT_TRANSPORTS=file,webhookQFLUSH_COPILOT_WEBHOOK_URL=...only if you really want alertsQFLUSH_DISABLE_REDIS=0only when Redis is actually configuredNEZ_ADMIN_TOKEN=...
On hosted ESM builds, qflush now loads ioredis through a compatible Node module bridge instead of silently falling back to memory because require was unavailable.
Development
npm install
npm run build
npm test
npm run typecheckGood next improvements
- formal plugin API for external module registration
- clearer structured telemetry output per flow
- first-class dashboards for daemon state and memory usage
- more real-world fixtures around A11 and multi-service supervision
Related packages
@funeste38/qflush-runnerfor lightweight CI usage@funeste38/romefor workspace and process control@funeste38/nezlephantfor OC8 payload transport@funeste38/freelandfor value normalization@funeste38/batfor adaptive runtime behaviour
