Zyy and Codex
4117840f75
fix(xai): align OAuth and Codex compatibility
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-14 22:24:08 +08:00
Zyy and Codex
ee51a07de4
fix(openai): align desktop wire profile
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-14 16:13:11 +08:00
Zyy and Codex
bc4728332e
fix(frontend): polish dashboard and table interactions
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-14 01:24:49 +08:00
Zyy and Codex
9d90dedb81
fix(frontend): refresh account data without table loading
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-14 01:07:12 +08:00
Zyy and Codex
6ab8e7d0a6
fix(frontend): grade model success rate colors
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-14 00:42:20 +08:00
Zyy and Codex
15e0a28bd0
fix(frontend): refine refresh loading and group alignment
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-14 00:39:50 +08:00
Zyy and Codex
819f428ac3
fix(frontend): align loading and daily usage display
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-14 00:10:13 +08:00
Zyy and Codex
65645c7403
fix(accounts): gate quota recovery and add manual reset
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-13 22:43:03 +08:00
Zyy and Codex
71159d5633
refactor(account-groups): remove unused members endpoint
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-13 17:28:43 +08:00
Zyy and Codex
07acc67ce6
feat(frontend): add account group management
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-13 16:58:36 +08:00
Zyy and Codex
6cad2bb6a1
fix(openai): align account import with official token claims
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-12 23:51:26 +08:00
Zyy and Codex
2b8b3de0e4
refactor(accounts): unify five-state account status
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-12 23:50:31 +08:00
Zyy and Codex
153cb67b9c
refactor(login): refine panel details
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-11 17:21:31 +08:00
Zyy and Codex
f370d355b6
fix(accounts): align quota ordering and summaries
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-11 17:21:23 +08:00
Zyy and Codex
a31dad992c
fix(frontend): stabilize button loading indicator
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-11 17:21:16 +08:00
Zyy and Codex
44a2a87b69
fix(frontend): center button loading spinner
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-10 15:55:58 +08:00
dependabot[bot]
ac9c4c85ad
chore(deps): bump the minor-and-patch group in /frontend with 8 updates ( #38 )
...
Bumps the minor-and-patch group in /frontend with 8 updates:
| Package | From | To |
| --- | --- | --- |
| [@lucide/vue](https://github.com/lucide-icons/lucide/tree/HEAD/packages/vue ) | `1.28.0` | `1.30.0` |
| [dompurify](https://github.com/cure53/DOMPurify ) | `3.4.12` | `3.4.13` |
| [marked](https://github.com/markedjs/marked ) | `18.0.7` | `18.0.9` |
| [vue](https://github.com/vuejs/core ) | `3.5.40` | `3.5.41` |
| [@antfu/eslint-config](https://github.com/antfu/eslint-config ) | `9.2.0` | `9.3.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `26.1.2` | `26.2.0` |
| [eslint](https://github.com/eslint/eslint ) | `10.8.0` | `10.8.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.2.0` | `8.2.1` |
Updates `@lucide/vue` from 1.28.0 to 1.30.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.30.0/packages/vue )
Updates `dompurify` from 3.4.12 to 3.4.13
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.12...3.4.13 )
Updates `marked` from 18.0.7 to 18.0.9
- [Release notes](https://github.com/markedjs/marked/releases )
- [Commits](https://github.com/markedjs/marked/compare/v18.0.7...v18.0.9 )
Updates `vue` from 3.5.40 to 3.5.41
- [Release notes](https://github.com/vuejs/core/releases )
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vuejs/core/compare/v3.5.40...v3.5.41 )
Updates `@antfu/eslint-config` from 9.2.0 to 9.3.0
- [Release notes](https://github.com/antfu/eslint-config/releases )
- [Commits](https://github.com/antfu/eslint-config/compare/v9.2.0...v9.3.0 )
Updates `@types/node` from 26.1.2 to 26.2.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `eslint` from 10.8.0 to 10.8.1
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.8.0...v10.8.1 )
Updates `vite` from 8.2.0 to 8.2.1
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.2.1/packages/vite )
---
updated-dependencies:
- dependency-name: "@lucide/vue"
dependency-version: 1.30.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: dompurify
dependency-version: 3.4.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: marked
dependency-version: 18.0.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: vue
dependency-version: 3.5.41
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@antfu/eslint-config"
dependency-version: 9.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: eslint
dependency-version: 10.8.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: vite
dependency-version: 8.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 11:54:36 +08:00
Zyy and Codex
73ca463924
feat: distinguish pro plan badges
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-07 18:56:13 +08:00
Zyy and Codex
9775451e83
fix(web): preserve button labels while loading
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-06 15:27:00 +08:00
Zyy and Codex
e7036a616f
fix(web): center button loading indicators
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-06 14:53:53 +08:00
Zyy and Codex
b6948542bb
fix: align Codex Desktop HTTP identity
...
- send the official Desktop HTTP user agent across OpenAI upstream paths
- keep the audited model catalog version separate from the wire identity
- remove CLI release drift and clarify the dashboard client identity
Co-authored-by: Codex <noreply@openai.com >
2026-08-04 18:36:03 +08:00
Zyy and Codex
229ef48470
fix: harden backup verification and detail UI
...
- read every multipart backup payload to its requested length
- make remote verification failures diagnosable
- refine status details, loading icons, and attempt-chain presentation
Co-authored-by: Codex <noreply@openai.com >
2026-08-04 16:18:53 +08:00
Zyy and Codex
3c06ae97e8
fix: reconcile quota, backup, and session behavior
...
- preserve confirmed quota exhaustion until its recorded reset advances
- normalize account quota presentation and subagent session affinity
- repair S3-compatible backup handling and related admin UI details
Co-authored-by: Codex <noreply@openai.com >
2026-08-04 15:12:15 +08:00
Zyy and Codex
e9ebf45640
fix(accounts): reconcile quota status and dashboard metrics
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-04 08:53:29 +08:00
Zyy and Claude Fable 5
330b222359
feat(accounts): separate rate-limited status into Redis cooldown
...
429 临时限流从 quota 快照分离为 Redis 冷却(ProviderCooldownPort):
- apply_rate_limit_429 只写 Redis(put_if_later,不缩短已有冷却),不再合成 quota 窗口,额度重置时间不被 429 污染
- 调度选择时排除冷却中的账号,到期自动恢复;诊断请求绕过
- 状态派生分离:rate_limited_until 存在 → 限流中;quota_limit_reached → 配额耗尽
- store 层(账号列表/筛选 + dashboard poolSummary)注入 cooldown 端口,精确区分限流中与配额耗尽,"正常"筛选不再混入限流中
- wire 透传 rate_limited_until,前端状态弹窗改为状态卡片(icon 块 + 状态名 + 原因/到期明细),BasePopover 加 hover delay
- 更新 429 相关测试断言,新增配额耗尽映射测试
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 00:39:38 +08:00
Zyy and Claude Opus 4.8
8e2edb680d
feat(accounts): converge status classification and persist upstream errors
...
Unify account status derivation in gateway-admin via AccountStatusSignals,
removing the duplicated rules in store and use_case. AccountStatus now has
five operational classes (normal/quota_exhausted/rate_limited/disabled/error),
with AccountErrorReason carrying the concrete cause.
Add provider_accounts.last_error_message, written by record_failure with the
raw upstream error and cleared on recovery to ready. The admin error badge
shows the cause and upstream text on hover.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-08-03 21:23:28 +08:00
Zyy and Codex
00879be47d
fix(accounts): separate rate-limited account status
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-03 17:01:23 +08:00
Zyy and Codex
34656a3f07
refactor(ui): standardize card spacing and layouts
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-03 17:01:23 +08:00
Zyy and Codex
27cf037309
fix(ui): center button loading spinner
...
Co-authored-by: Codex <noreply@openai.com >
2026-08-03 17:01:23 +08:00
dependabot[bot]
f19785d0e1
chore(deps): bump the minor-and-patch group in /frontend with 6 updates ( #34 )
...
Bumps the minor-and-patch group in /frontend with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [@lucide/vue](https://github.com/lucide-icons/lucide/tree/HEAD/packages/vue ) | `1.27.0` | `1.28.0` |
| [@vueuse/core](https://github.com/vueuse/vueuse/tree/HEAD/packages/core ) | `14.3.0` | `14.4.0` |
| [axios](https://github.com/axios/axios ) | `1.18.1` | `1.19.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `26.1.1` | `26.1.2` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.1.5` | `8.2.0` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc ) | `3.3.8` | `3.3.9` |
Updates `@lucide/vue` from 1.27.0 to 1.28.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.28.0/packages/vue )
Updates `@vueuse/core` from 14.3.0 to 14.4.0
- [Release notes](https://github.com/vueuse/vueuse/releases )
- [Commits](https://github.com/vueuse/vueuse/commits/v14.4.0/packages/core )
Updates `axios` from 1.18.1 to 1.19.0
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.18.1...v1.19.0 )
Updates `@types/node` from 26.1.1 to 26.1.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `vite` from 8.1.5 to 8.2.0
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/create-vite@8.2.0/packages/vite )
Updates `vue-tsc` from 3.3.8 to 3.3.9
- [Release notes](https://github.com/vuejs/language-tools/releases )
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vuejs/language-tools/commits/v3.3.9/packages/tsc )
---
updated-dependencies:
- dependency-name: "@lucide/vue"
dependency-version: 1.28.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: "@vueuse/core"
dependency-version: 14.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: axios
dependency-version: 1.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: "@types/node"
dependency-version: 26.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: vite
dependency-version: 8.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: vue-tsc
dependency-version: 3.3.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-03 11:37:31 +08:00
Zyy and Claude Fable 5
df83ffdafb
refactor(quota): split quota module and align scheduling/display semantics
...
Split credential/quota.rs into quota/{mod,snapshot,recovery}.rs with
corresponding test modules. Snapshot aggregation is snapshot-level:
top-level limit_reached/allowed and any window used>=100 count as
exhaustion, scheduling signals survive limit-only windows, and window
rolling is O(1) arithmetic.
402 recovery uses the pre-write confirmed reset (old reset elapsed plus
fresh snapshot not exhausted, or explicit allowed=true) instead of the
new snapshot's future reset, fixing the worker recovery deadlock.
Scheduling projection TTL is capped at the nearest active reset so
cache expiry never outlives the limit.
Admin derives seven mutually exclusive statuses (Active/RateLimited/
QuotaExhausted/Expired/Invalid/Disabled/Banned) from availability plus
snapshot-level quota.limitReached; Unknown maps to invalid. Dashboard
metrics are mutually exclusive (rate_limited disjoint from active),
ignore reset-expired windows, and cover additional rate limits.
xAI: bare 402 writes a short account cooldown instead of persisting
QuotaExhausted; ModelQuotaExhausted keeps model scope; runtime cooldown
survives credential rotation; account deletion clears all account and
model-scoped cooldown keys via new ProviderCooldownPort::clear_all.
Migration 0002 is frozen in the sha256 manifest.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-03 03:04:43 +08:00
Zyy and Claude Fable 5
cf03c56cfa
refactor(quota): separate rate limiting from account availability
...
Remove the persistent Cooldown state and cooldown_until/availability_reason
columns; rate limiting (429/503) now lives entirely in provider quota data
with projected window rolling, while availability carries only terminal or
intervention-required states (QuotaExhausted for 402, worker auto-recovers
on quota reset). xAI migrated to the same model (runtime cooldown via Redis,
no persistent state). Frontend derives 限流中 from quota window limitReached.
Align quota window parsing with the official codex schema: drop the invented
monthly_limit/spend_control windows, add the top-level code_review_rate_limit
window, prefer upstream limit_name for display labels, and keep duration
guessing only for grouping.
Also fix: account directory degrades one failing quota to an empty projection
instead of failing the whole page; dashboard rate_limited bucket SQL; fake
store Mutex re-entrancy deadlock; remove dead tokenRefreshing field.
Migration 0002 drops cooldown columns and rewrites the availability CHECK.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-03 00:13:56 +08:00
Zyy and Codex
a93e3853f7
chore: consolidate migrations and tune settings colors
...
Fold the completed provider snapshot, S3 backup, and redundant-index changes into the initial PostgreSQL baseline. Keep the settings section tabs aligned with the input surface color.
Co-authored-by: Codex <noreply@openai.com >
2026-08-02 04:07:37 +08:00
zyycn and Codex
e3d767bf54
fix(frontend): fill brand mark box with favicon tile
...
The sidebar and login logo boxes kept a #1c2a3d background around a
smaller favicon image, leaving an inconsistent ring in dark mode. The
image now fills the box and the divergent box background is removed, so
the favicon's own black tile is the visual mark.
Co-authored-by: Codex <noreply@openai.com >
2026-08-02 01:53:05 +08:00
zyycn and Codex
365d389a14
refactor(frontend): phase system-update state and clear remaining any
...
system-update now uses a discriminated phase union so mutually exclusive
operation states cannot be expressed together; connection-test event shapes
and cost chart points are typed instead of any.
Co-authored-by: Codex <noreply@openai.com >
2026-08-02 01:25:53 +08:00
zyycn and Codex
e79d57eaf9
refactor(frontend): normalize usage records into a single view model
...
Components now consume `UsageViewModel` produced by `normalizeUsageRecord`;
metadata fallback exists only in the normalizer. Also complete the typed
request params for ops errors so the usage module stays build-clean.
Co-authored-by: Codex <noreply@openai.com >
2026-08-02 01:25:50 +08:00
zyycn and Claude Fable 5
2dc670875a
feat(ui): type system update log events
...
Replace any[] updateLogs with SystemUpdateEvent (id, level, message, at,
terminal) so the log pipeline is type-checked.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-02 00:31:44 +08:00
zyycn and Claude Fable 5
7ed2a6668a
feat(usage): mark attempt list as best-effort observations
...
Decide attempt facts are best-effort (adr-002), not authoritative history:
- Usage detail response exposes attemptsComplete: false
- frontend labels the attempt chain as best-effort
- architecture.md documents the semantics
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-02 00:31:39 +08:00
zyycn and Claude Fable 5
3c4ac99ae4
feat(api): type request params across admin API modules
...
Replace data: object with precise parameter types derived from call sites,
using type inference (Omit/union) over bulk interface declarations where
possible. Covers accounts, api-keys, usage, system, auth, dashboard,
settings.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-02 00:08:52 +08:00
zyycn and Claude Fable 5
dfedb5069d
feat(backup): add S3-compatible PostgreSQL backups with expiry TTL
...
Implement end-to-end backup to S3-compatible object storage (Cloudflare R2):
admin settings UI, scheduled and manual jobs, records, retention and expiry,
download via presigned URL, and delete convergence.
- gateway-admin: backup model, schedule/retention policy, daemon worker,
storage identity lock and audit
- gateway-store: pg_dump staging, S3 client with probe, backup repository
- gateway-api: backup settings/records/create/download/delete routes
- migrations: fold expiry TTL into 0003_s3_backup.sql (single migration)
- frontend: S3 storage, schedule and records cards under settings/backup
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-01 22:12:23 +08:00
zyycn and Codex
5a14b74ff2
feat(frontend): restyle favicon with vintage film grain and mist
...
- keep black base and white mark unchanged
- add sparse white film-grain noise and radial white mist
- add short, straight, battle-worn scratch marks with rough edges
Co-authored-by: Codex <noreply@openai.com >
2026-08-01 01:16:58 +08:00
zyycn and Codex
01b4029998
feat(observability): polish usage detail and error diagnostics
...
Show attempt chains and P95 latency, surface client status/component/endpoint, and remove unused dashboard summary fields.
Co-authored-by: Codex <noreply@openai.com >
2026-07-31 22:28:24 +08:00
zyycn and Codex
f583e50e88
feat(observability): snapshot provider account identity for history
...
Persist provider account name, email, and authentication kind at write time so request, attempt, and error views survive account deletion; add stable diagnostic keys with display-name resolution (account email/name, API key name); count only errored requests in failure diagnostics.
Co-authored-by: Codex <noreply@openai.com >
2026-07-31 21:25:38 +08:00
zyycn and Codex
cae2c8656a
fix(xai): preserve quota exhaustion state
...
Co-authored-by: Codex <noreply@openai.com >
2026-07-30 03:10:35 +08:00
zyycn and Codex
0fffd2c550
fix(accounts): converge account state and imports
...
Co-authored-by: Codex <noreply@openai.com >
2026-07-30 01:23:42 +08:00
zyycn and Codex
d5fc778ea7
fix(openai): reconcile account connection failures
...
Expose exact upstream responses to authenticated connection tests, reload the resulting account state, and classify usage-limit windows as resettable quota exhaustion. Restore non-quota availability after verified credential rotation and refresh quota after reauthorization.
Co-authored-by: Codex <noreply@openai.com >
2026-07-29 02:31:38 +08:00
zyycn and Codex
f5c1d773d7
fix(accounts): use current credential revisions
...
Load the current credential revision server-side for reauthorization and manual refresh so background token refreshes do not make admin mutations fail stale client fences.
Co-authored-by: Codex <noreply@openai.com >
2026-07-28 13:04:12 +08:00
Zyy and Codex
b8faaf250f
fix(frontend): align dashboard account usage metrics
...
Add a metric layout variant for account usage windows so dashboard account rows align request bars with adjacent recent-usage text without changing the shared compact account-table presentation.
Co-authored-by: Codex <noreply@openai.com >
2026-07-27 17:22:28 +08:00
Zyy and Codex
87496b5656
fix(frontend): polish dashboard layout
...
Keep dashboard header actions pinned to the action column, widen the xAI runtime field, and align active-account usage metrics without changing the shared usage window component.
Co-authored-by: Codex <noreply@openai.com >
2026-07-27 14:55:36 +08:00
dependabot[bot]
ee56d6a1d2
chore(deps): Bump the minor-and-patch group across 1 directory with 8 updates ( #29 )
...
Bumps the minor-and-patch group with 8 updates in the /frontend directory:
| Package | From | To |
| --- | --- | --- |
| [@fontsource-variable/inter](https://github.com/fontsource/font-files/tree/HEAD/fonts/variable/inter ) | `5.2.8` | `5.3.0` |
| [@fontsource-variable/jetbrains-mono](https://github.com/fontsource/font-files/tree/HEAD/fonts/variable/jetbrains-mono ) | `5.2.8` | `5.3.0` |
| [@lucide/vue](https://github.com/lucide-icons/lucide/tree/HEAD/packages/vue ) | `1.26.0` | `1.27.0` |
| [es-toolkit](https://github.com/toss/es-toolkit ) | `1.49.0` | `1.50.0` |
| [marked](https://github.com/markedjs/marked ) | `18.0.6` | `18.0.7` |
| [@antfu/eslint-config](https://github.com/antfu/eslint-config ) | `9.1.0` | `9.2.0` |
| [eslint](https://github.com/eslint/eslint ) | `10.7.0` | `10.8.0` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc ) | `3.3.7` | `3.3.8` |
Updates `@fontsource-variable/inter` from 5.2.8 to 5.3.0
- [Changelog](https://github.com/fontsource/font-files/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fontsource/font-files/commits/HEAD/fonts/variable/inter )
Updates `@fontsource-variable/jetbrains-mono` from 5.2.8 to 5.3.0
- [Changelog](https://github.com/fontsource/font-files/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fontsource/font-files/commits/HEAD/fonts/variable/jetbrains-mono )
Updates `@lucide/vue` from 1.26.0 to 1.27.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.27.0/packages/vue )
Updates `es-toolkit` from 1.49.0 to 1.50.0
- [Release notes](https://github.com/toss/es-toolkit/releases )
- [Changelog](https://github.com/toss/es-toolkit/blob/main/CHANGELOG.md )
- [Commits](https://github.com/toss/es-toolkit/compare/v1.49.0...v1.50.0 )
Updates `marked` from 18.0.6 to 18.0.7
- [Release notes](https://github.com/markedjs/marked/releases )
- [Commits](https://github.com/markedjs/marked/compare/v18.0.6...v18.0.7 )
Updates `@antfu/eslint-config` from 9.1.0 to 9.2.0
- [Release notes](https://github.com/antfu/eslint-config/releases )
- [Commits](https://github.com/antfu/eslint-config/compare/v9.1.0...v9.2.0 )
Updates `eslint` from 10.7.0 to 10.8.0
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.7.0...v10.8.0 )
Updates `vue-tsc` from 3.3.7 to 3.3.8
- [Release notes](https://github.com/vuejs/language-tools/releases )
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vuejs/language-tools/commits/v3.3.8/packages/tsc )
---
updated-dependencies:
- dependency-name: "@fontsource-variable/inter"
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: "@fontsource-variable/jetbrains-mono"
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: "@lucide/vue"
dependency-version: 1.27.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: es-toolkit
dependency-version: 1.50.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: marked
dependency-version: 18.0.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@antfu/eslint-config"
dependency-version: 9.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: eslint
dependency-version: 10.8.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: vue-tsc
dependency-version: 3.3.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 11:41:41 +08:00