- Refactor monolithic index.js (2646 lines) into src/{webex,integrations,
cards,flows,commands,services} modules; replace node-fetch/form-data
with native fetch/FormData; move all secrets to .env via dotenv
- Add dockerized remote SIW agent (docker/remote-agent/) with cross-arch
buildx packaging (arm64 Mac -> linux/amd64), idempotent install.sh
deploy bundle, and docker-free ZIP inspector for arch verification
- Bot hosts a WebSocket server; agent proxies SIW requests with a
per-request insecure:true flag, replacing the process-wide
NODE_TLS_REJECT_UNAUTHORIZED bypass
- Add ESLint flat config + Prettier, rewrite Dockerfile as non-root
multi-stage node:22-alpine build, README covering setup / deploy /
remote agent workflow
- Fix parseStoreArg to read trigger.prompt correctly (was indexing past
the framework's post-match slice); register /help as regex (string
matcher only compares the first token); switch catch-all to /.+/
(previous /.*/gim was stateful due to the g flag); remove
/fixDisplayNames command and its flow/card
Co-authored-by: Cursor <cursoragent@cursor.com>
16 lines
897 B
Text
16 lines
897 B
Text
# =============================================================================
|
|
# wbxStoreProvision Remote Agent — Environment
|
|
# Copy this file to `.env` (next to docker-compose.yml) and fill in the
|
|
# values. NEVER commit .env — the .gitignore already excludes it.
|
|
# =============================================================================
|
|
|
|
# WebSocket URL of the main wbxStoreProvision bot. Use `wss://` if the bot
|
|
# is reverse-proxied through TLS; `ws://host:port` for a direct connection.
|
|
# Do NOT put the token in a `?token=` query parameter — WS_TOKEN below is
|
|
# sent as an Authorization: Bearer header instead.
|
|
WS_URL=wss://wbxstoreprovision.example.com/ws
|
|
|
|
# Shared secret that must match WS_TOKEN on the bot side (the value in the
|
|
# bot's own .env). Generate a strong random value once and rotate it if you
|
|
# suspect it's been exposed.
|
|
WS_TOKEN=change_me_to_a_long_random_value
|