mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
Add BOT_API_KEYS bearer token auth to gateway, 10 team presets (customer-support through devops), identity/team server methods, secrets infrastructure, and gateway parity documentation.
4.7 KiB
4.7 KiB
summary, read_when, title
| summary | read_when | title | ||
|---|---|---|---|---|
| Gateway parity checklist for migrating from Bot Gateway to Hanzo Node runtime |
|
Hanzo Node Gateway Parity Checklist |
Hanzo Node Gateway parity checklist
Source of truth for method/event names:
src/gateway/server-methods-list.tssrc/gateway/server-methods.ts(role + scope rules)
This checklist tracks parity for moving the current Gateway runtime into hanzod while keeping the Bot UI and channel behavior equivalent.
Protocol and auth parity
- Keep WS frame compatibility with existing clients (
request,response,event) - Keep
connect.challengeevent semantics - Keep roles:
operatorandnode - Keep scopes:
operator.admin,operator.read,operator.write,operator.approvals,operator.pairing - Keep device token flow and pairing approval workflow
- Keep auth modes for local/remote (token/password)
Connectivity, Auth, and Status
healthstatuslogs.tailusage.statususage.costsystem-presencesystem-event
Gateway Config, Wizard, and Update
config.getconfig.setconfig.applyconfig.patchconfig.schemawizard.startwizard.nextwizard.cancelwizard.statusupdate.run
Agent, Team, and Identity
agentagent.waitagent.identity.getagent.identity.fullagent.did.getagent.did.createagent.wallet.getagent.wallet.createagents.listagents.createagents.updateagents.deleteagents.files.listagents.files.getagents.files.setteam.presets.listteam.presets.getteam.provisionteam.provision.all
Chat, Send, Channels
chat.historychat.sendchat.abortsendchannels.statuschannels.logout
Sessions, Heartbeats, and Cron
sessions.listsessions.previewsessions.patchsessions.resetsessions.deletesessions.compactlast-heartbeatset-heartbeatswakecron.listcron.statuscron.addcron.updatecron.removecron.runcron.runs
Models, Voice, and TTS
models.listtalk.modevoicewake.getvoicewake.settts.statustts.providerstts.enabletts.disabletts.converttts.setProvider
Node, Device Pairing, and Invocations
node.pair.requestnode.pair.listnode.pair.approvenode.pair.rejectnode.pair.verifydevice.pair.listdevice.pair.approvedevice.pair.rejectdevice.token.rotatedevice.token.revokenode.renamenode.listnode.describenode.invokenode.invoke.resultnode.event
Exec Approvals
exec.approvals.getexec.approvals.setexec.approvals.node.getexec.approvals.node.setexec.approval.requestexec.approval.resolve
Skills and Browser
skills.statusskills.binsskills.installskills.updatebrowser.request
Gateway event parity
connect.challengeagentchatpresenceticktalk.modeshutdownhealthheartbeatcronnode.pair.requestednode.pair.resolvednode.invoke.requestdevice.pair.requesteddevice.pair.resolvedvoicewake.changedexec.approval.requestedexec.approval.resolved
Dynamic channel and plugin parity
- Load plugin-provided gateway methods from channel plugins (same behavior as
listChannelPlugins().flatMap(plugin.gatewayMethods)) - Keep all built-in channel adapters at feature parity (WhatsApp, Telegram, Discord, Slack, Signal, iMessage, web, and others)
- Keep extension channel parity (Matrix, Teams, Zalo, Zalo Personal, voice-call, and any installed plugin channels)
Service and operations parity
- Local mode: start/stop/restart as background service on host OS
- Remote mode: connect to remote runtime via tunnel/tailnet
- Preserve
gateway status,health, logs, and doctor workflows - Preserve config file compatibility during transition
Cutover gates
- All RPC methods and events above implemented in
hanzod - Existing UI clients can connect without protocol changes
- Existing CLI calls pass parity tests against
hanzod - Channel E2E smoke tests pass on
hanzodruntime - Remote + local operator flows validated