yaosanqi137
|
f4b1f61bc2
|
fix(api-config): load env from app directory
|
2026-04-08 00:38:59 +08:00 |
|
yaosanqi137
|
e5948cd346
|
feat(ai-config): validate bindings before save
|
2026-04-08 00:09:36 +08:00 |
|
yaosanqi137
|
929b838e0f
|
fix(api-ai): support responses style openai payloads
|
2026-04-07 23:20:50 +08:00 |
|
yaosanqi137
|
1f8b539b68
|
feat(api-ai): add user and ip rate limiting
|
2026-04-07 22:56:22 +08:00 |
|
yaosanqi137
|
ce72892dc8
|
fix(api-ai): stop forwarding invalid astrbot selection fields
|
2026-04-07 22:02:33 +08:00 |
|
yaosanqi137
|
45b149ad58
|
fix(ai-context): include local tasks in prompt injection
|
2026-04-07 00:56:50 +08:00 |
|
yaosanqi137
|
4c6aeb3e6c
|
feat(api-security): encrypt user fields and ai usage logs
|
2026-04-06 15:55:27 +08:00 |
|
yaosanqi137
|
13abfc1e52
|
feat(api-security): encrypt sensitive data at rest
|
2026-04-06 15:25:10 +08:00 |
|
yaosanqi137
|
13d0d7707a
|
fix(ai-public): hide public pool endpoint from users
|
2026-04-06 14:28:37 +08:00 |
|
yaosanqi137
|
d0ba581184
|
feat(api-ai): scope private bindings by user channel
|
2026-04-06 13:36:28 +08:00 |
|
yaosanqi137
|
5c956c195b
|
feat(api-ai): add usage log query endpoint
|
2026-04-06 13:08:36 +08:00 |
|
yaosanqi137
|
4578116a30
|
feat(api-ai): inject unfinished task summary
|
2026-04-06 12:57:14 +08:00 |
|
yaosanqi137
|
45177e9fad
|
feat(api-ai): persist usage logs
|
2026-04-06 12:42:56 +08:00 |
|
yaosanqi137
|
2ca790abf9
|
feat(api-ai): support astrbot config selection
|
2026-04-06 12:33:10 +08:00 |
|
yaosanqi137
|
2bce9a59c6
|
fix(api-ai): stop astrbot stream on end event
|
2026-04-06 12:19:13 +08:00 |
|
yaosanqi137
|
180f7a9baa
|
feat(api-ai): add provider registry and routing fallback
|
2026-04-06 11:44:05 +08:00 |
|
yaosanqi137
|
c98adb3051
|
feat(sync): implement lww conflict and tombstone handling
|
2026-04-06 01:33:57 +08:00 |
|
yaosanqi137
|
661788ae75
|
feat(api-sync): implement sync pull endpoint with cursor
|
2026-04-06 01:03:12 +08:00 |
|
yaosanqi137
|
ecf0d9ff03
|
feat(api-sync): implement sync push endpoint with idempotency
|
2026-04-06 00:53:36 +08:00 |
|
yaosanqi137
|
de1db459c2
|
fix(api-task): satisfy strict typings in task service
|
2026-04-06 00:53:07 +08:00 |
|
yaosanqi137
|
352b3c1b3c
|
feat(api-auth): persist users and auth state in postgres
|
2026-04-05 14:48:57 +08:00 |
|
yaosanqi137
|
ec1a4f7478
|
feat(api-auth): send email login codes via SMTP
|
2026-04-05 14:40:52 +08:00 |
|
yaosanqi137
|
7192cda20f
|
fix(api): enable CORS for browser client requests
|
2026-04-05 14:30:13 +08:00 |
|
yaosanqi137
|
e84bef07b4
|
fix(api-prisma): initialize prisma client with pg adapter
|
2026-04-05 01:07:05 +08:00 |
|
yaosanqi137
|
32022c1437
|
feat(api-quota): enforce user storage quota checks
|
2026-04-05 00:08:27 +08:00 |
|
yaosanqi137
|
bd3241504f
|
feat(api-attachment): add minio presigned upload flow
|
2026-04-05 00:05:39 +08:00 |
|
yaosanqi137
|
8f6ff38a32
|
feat(api-task): implement task crud with tag filters
|
2026-04-05 00:01:28 +08:00 |
|
yaosanqi137
|
62b0514da7
|
feat(api-auth): add totp 2fa enrollment and verify
|
2026-04-04 21:21:43 +08:00 |
|
yaosanqi137
|
485fe43140
|
feat(api-auth): add oauth strategies for github qq wechat
|
2026-04-04 21:15:32 +08:00 |
|
yaosanqi137
|
074942fab4
|
feat(api-auth): implement refresh token rotation and revoke
|
2026-04-04 21:12:14 +08:00 |
|
yaosanqi137
|
efe55fdc2f
|
feat(api-auth): implement email code send and login
|
2026-04-04 21:02:17 +08:00 |
|