- 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>
26 lines
977 B
YAML
26 lines
977 B
YAML
# Runtime-only compose file that ships inside the deploy ZIP.
|
|
# Unlike the build-time compose one level up, this one does NOT build
|
|
# anything — it references the image loaded from the tarball
|
|
# (`wbxprov-remote-agent:__VERSION__`, replaced at package time).
|
|
#
|
|
# Run:
|
|
# ./install.sh # first-time setup (loads image, seeds .env, starts)
|
|
# docker compose up -d # subsequent starts once installed
|
|
# docker compose logs -f # tail logs
|
|
# docker compose down # stop
|
|
|
|
services:
|
|
remote-agent:
|
|
image: wbxprov-remote-agent:__VERSION__
|
|
container_name: wbxprov-remote-agent
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
# The agent is a websocket CLIENT — no ports to publish.
|
|
stop_signal: SIGTERM
|
|
stop_grace_period: 10s
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: '10m'
|
|
max-file: '3'
|