Hermes Agent
|
acb9674375
|
feat: CRUD definitions, build script, DDL generation
- 3 CRUD JSON files: customer_balance, accounting_records, sync_state
- Build script with model validation, CRUD validation, DDL generation
- DDL: db/schema.sql (72 lines, 7 tables)
- Scripts: validate_models.py, validate_crud.py, generate_ddl.py
|
2026-05-20 18:28:59 +08:00 |
|
Hermes Agent
|
5936a2f328
|
feat: implement sync engine, API handlers, DAPI auth, HTTP client
- Sync engine: BaseSync abstract class + 4 sync modules (users/pricing/uapi/llmage)
- Checkpoint management via sync_state table
- Batch processing with retry and exponential backoff
- Incremental fetch from Sage DB via sqlor
- UPSERT to local cache tables
- API handlers: balance/accounting/users/pricing/health
- Balance: cache lookup + Sage fallback
- Accounting: create with idempotency, query with filters/pagination
- Users: keyword search, org filter
- Pricing: filter by ppid/llmid/type/status
- Health: basic + readiness checks (DB connectivity)
- DAPI auth: middleware + authenticate_request function
- HMAC-SHA256 signature verification
- Timestamp window validation
- Sage downapikey table lookup
- HTTP client: SageHttpClient with aiohttp
- Auto DAPI signature injection
- Connection pooling, retry, timeout
- Router: 12 routes registered
- Module init: load_sageapi() wires everything to ServerEnv
|
2026-05-20 18:22:23 +08:00 |
|
Hermes Agent
|
a9ea05ff2d
|
Merge remote initial commit, resolve README conflict
|
2026-05-20 17:57:04 +08:00 |
|
Hermes Agent
|
5c65c78752
|
feat: sageapi initial scaffold
- 36 files: module structure following module-development-spec
- 7 table definitions: users_cache, pricing_cache, llmage_cache, uapi_cache, sync_state, customer_balance, accounting_records
- Auth: dapi_auth + uapi_sign
- Sync: base_sync + entity-specific sync modules (users/pricing/uapi/llmage)
- Cache: LRU cache manager with TTL
- API: balance, accounting, users, pricing, health handlers
- Config: YAML config loader with env overrides
- Utils: HTTP client, crypto helpers
|
2026-05-20 17:53:53 +08:00 |
|
|
|
f2fc8a7251
|
Initial commit
|
2026-05-20 14:18:15 +08:00 |
|