hermes-web-cli/models/sessions.json
yumoqing 5d4e70da8e feat: complete missing UI files and API endpoints for hermes-web-cli
- Added all missing .ui files referenced in index.ui:
  * new_session.ui
  * sessions.ui
  * services.ui
  * settings.ui
  * session_detail.ui
  * add_service.ui
  * edit_service.ui

- Created corresponding .dspy API endpoints with proper directory structure:
  * /hermes-web-cli/services → services/index.dspy
  * /hermes-web-cli/services/list → services/list/index.dspy
  * /hermes-web-cli/services/{id} → services/id/index.dspy
  * /hermes-web-cli/services/test?id={id} → services/test/index.dspy
  * /hermes-web-cli/sessions (POST) → sessions/index.dspy
  * /hermes-web-cli/sessions/messages?session_id={id} → sessions/messages/index.dspy
  * /hermes-web-cli/settings → settings/index.dspy
  * /hermes-web-cli/settings/reset → settings/reset/index.dspy

- Fixed UI styling to comply with bricks-framework (removed nested style objects)
- Updated URL references to use query parameters instead of path parameters for dynamic routes
- All files follow production-ready module development specifications
2026-04-22 11:22:44 +08:00

113 lines
3.0 KiB
JSON

{
"summary": [
{
"name": "sessions",
"title": "Active Sessions",
"primary": "id",
"catelog": "entity"
}
],
"fields": [
{
"name": "id",
"title": "Session ID",
"type": "str",
"length": 32,
"nullable": "no",
"comments": "Primary key - UUID format"
},
{
"name": "session_id",
"title": "Session ID (External)",
"type": "str",
"length": 64,
"nullable": "no",
"comments": "External session identifier from Hermes service"
},
{
"name": "session_name",
"title": "Session Name",
"type": "str",
"length": 255,
"nullable": "yes",
"comments": "User-friendly session name"
},
{
"name": "service_id",
"title": "Service ID",
"type": "str",
"length": 32,
"nullable": "no",
"comments": "Reference to hermes_services table"
},
{
"name": "service_name",
"title": "Service Name",
"type": "str",
"length": 255,
"nullable": "no",
"comments": "Name of the Hermes service"
},
{
"name": "message_count",
"title": "Message Count",
"type": "long",
"nullable": "no",
"default": "0",
"comments": "Number of messages in the session"
},
{
"name": "created_at",
"title": "Created At",
"type": "timestamp",
"nullable": "no",
"comments": "Session creation timestamp"
},
{
"name": "updated_at",
"title": "Updated At",
"type": "timestamp",
"nullable": "no",
"comments": "Last update timestamp"
},
{
"name": "status",
"title": "Status",
"type": "str",
"length": 32,
"nullable": "no",
"default": "active",
"comments": "Session status: active, inactive, archived"
},
{
"name": "user_id",
"title": "User ID",
"type": "str",
"length": 32,
"nullable": "yes",
"comments": "Associated user ID for RBAC"
}
],
"indexes": [
{
"name": "idx_sessions_service_id",
"idxtype": "index",
"idxfields": ["service_id"]
},
{
"name": "idx_sessions_status",
"idxtype": "index",
"idxfields": ["status"]
},
{
"name": "idx_sessions_user_id",
"idxtype": "index",
"idxfields": ["user_id"]
},
{
"name": "idx_sessions_created_at",
"idxtype": "index",
"idxfields": ["created_at"]
}
]
}