2.3 KiB
Jibo.Cloud.DotNet
Summary
Jibo.Cloud.DotNet is the stable hosted implementation of the OpenJibo cloud.
This is the production-oriented path for restoring device connectivity and creating a foundation for future runtime, AI, and OTA work.
Architecture
The first implementation is a modular monolith:
Api -> Application -> Domain -> Infrastructure
This keeps deployment simple while preserving clean boundaries.
Azure Direction
The target Azure footprint is:
- Azure App Service for HTTP and WebSocket traffic
- Azure SQL for relational persistence
- Azure Blob Storage for uploads and update artifacts
- Azure Key Vault for secrets and certificates
- Application Insights for observability
Azure SQL is the primary system of record for:
- accounts
- devices
- sessions
- update metadata
- host mappings
- bootstrap and provisioning records
Compatibility Goal
The first compatibility milestone is core revive.
That means the .NET cloud should handle:
- token and session issuance
- account and robot identity flows needed for startup
- core
X-Amz-Targetdispatch - listen and proactive WebSocket paths
- basic media and update metadata responses
- handoff into normalized
TurnContextandResponsePlancontracts
Relationship To The Node Prototype
The Node server remains the discovery harness and fixture source.
The .NET implementation should:
- copy observed behavior where needed
- use fixtures captured from Node and real robots
- avoid speculative protocol design
- separate HTTP parity, websocket parity, and future discovery work so coverage stays honest
Current State
This folder now contains the first hosted scaffold, not just a README.
The intent is to grow from a runnable dev monolith into the real Azure deployment target without abandoning the existing abstractions work.
Current websocket scope is still intentionally narrow:
- token-backed socket sessions
- synthetic
LISTENresult shaping forLISTEN,CLIENT_NLU, andCLIENT_ASR CONTEXTcapture and follow-up turn stateEOScompletion- first skill vertical for joke/chat
SKILL_ACTIONplayback
Not yet covered:
- real binary audio / ASR finalization parity
- upstream Nimbus or broader skill lifecycle behavior
- animation / expression command families
- ESML feature parity beyond the narrow synthetic playback payloads used in the current scaffold