multica/src
yushen dc60cb754d feat(telegram): replace Hub URL binding with connection link verification
Replace the two-step Hub URL binding flow with a multica://connect
connection link flow that uses the same verify RPC handshake as the
SDK/web clients.

Changes:
- types.ts: replace hubUrl with hubId + agentId fields
- telegram-user.store.ts: update DB schema (hub_id, agent_id columns),
  accept explicit deviceId in upsert
- telegram.service.ts: rewrite with parseConnectionCode validation,
  verify RPC via routeFromVirtualDevice, pending request map for
  RPC promise tracking, smart sendCallback for stream/message/RPC
- package.json: add @multica/store workspace dependency

Flow: user pastes multica://connect link -> parse & validate ->
check Hub online -> register virtual device -> verify RPC to Hub ->
Desktop approval -> save to DB -> route messages

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 16:04:35 +08:00
..
agent feat(skills): clean up removed bundled skills on update 2026-02-10 02:18:00 +08:00
channels docs(skills): update whisper skill with correct transcription priority 2026-02-09 18:28:03 +08:00
client Initial project setup with multi-component architecture 2026-01-28 14:08:34 +08:00
console chore(deps): upgrade pi-ai and pi-agent-core to 0.52.9 2026-02-09 19:13:38 +08:00
cron feat(hub): wire heartbeat controls into hub and cron wake mode 2026-02-06 16:42:14 +08:00
gateway feat(telegram): replace Hub URL binding with connection link verification 2026-02-10 16:04:35 +08:00
heartbeat fix(heartbeat): bypass empty-file check for cron-triggered wakes 2026-02-09 15:08:04 +08:00
hub chore(deps): upgrade pi-ai and pi-agent-core to 0.52.9 2026-02-09 19:13:38 +08:00
media fix(media): don't cache whisper binary detection failure 2026-02-09 18:27:06 +08:00
shared feat(channels): add media attachment types and cache directory 2026-02-09 09:44:21 +08:00
index.ts feat(heartbeat): add heartbeat core runner and profile integration 2026-02-06 16:41:56 +08:00