@allbluecn/web-app 0.4.10 → 0.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,151 @@
1
+ import type { SdkGroup } from './sdk-versions-types'
2
+
3
+ export const SDK_GROUPS: SdkGroup[] = [
4
+ {
5
+ "id": "tanstack",
6
+ "label": "tanstack-sdk",
7
+ "icon": "⚡",
8
+ "items": [
9
+ {
10
+ "name": "@tanstack/react-start",
11
+ "version": "v1.168.46",
12
+ "lastUpdate": "Aug 24, 2026",
13
+ "source": "apps/web/package.json#dependencies",
14
+ "docsUrl": "https://tanstack.com/start/latest"
15
+ },
16
+ {
17
+ "name": "@tanstack/react-router",
18
+ "version": "v1.170.29",
19
+ "lastUpdate": "Aug 24, 2026",
20
+ "source": "apps/web/package.json#dependencies",
21
+ "docsUrl": "https://tanstack.com/router/latest"
22
+ },
23
+ {
24
+ "name": "@tanstack/react-query",
25
+ "version": "v5.101.2",
26
+ "lastUpdate": "Aug 24, 2026",
27
+ "source": "apps/web/package.json#dependencies",
28
+ "docsUrl": "https://tanstack.com/query/latest"
29
+ },
30
+ {
31
+ "name": "@tanstack/ai",
32
+ "version": "v0.43.0",
33
+ "lastUpdate": "Aug 24, 2026",
34
+ "source": "apps/web/package.json#dependencies",
35
+ "docsUrl": "https://tanstack.com/ai/latest"
36
+ },
37
+ {
38
+ "name": "@tanstack/react-table",
39
+ "version": "v9.1.0",
40
+ "lastUpdate": "Aug 24, 2026",
41
+ "source": "apps/web/package.json#dependencies",
42
+ "docsUrl": "https://tanstack.com/table/latest"
43
+ },
44
+ {
45
+ "name": "@tanstack/react-form",
46
+ "version": "v2.0.0-alpha.0",
47
+ "lastUpdate": "Aug 24, 2026",
48
+ "source": "apps/web/package.json#dependencies",
49
+ "docsUrl": "https://tanstack.com/form/latest"
50
+ },
51
+ {
52
+ "name": "@tanstack/charts",
53
+ "version": "v0.9.0",
54
+ "lastUpdate": "Aug 24, 2026",
55
+ "source": "apps/admin/package.json#dependencies",
56
+ "docsUrl": "https://tanstack.com/charts/latest"
57
+ },
58
+ {
59
+ "name": "@tanstack/react-pacer",
60
+ "version": "v0.22.1",
61
+ "lastUpdate": "Aug 24, 2026",
62
+ "source": "apps/web/package.json#dependencies",
63
+ "docsUrl": "https://tanstack.com/pacer/latest"
64
+ },
65
+ {
66
+ "name": "@tanstack/react-hotkeys",
67
+ "version": "v0.10.0",
68
+ "lastUpdate": "Aug 24, 2026",
69
+ "source": "apps/web/package.json#dependencies",
70
+ "docsUrl": "https://tanstack.com/hotkeys/latest"
71
+ },
72
+ {
73
+ "name": "@tanstack/react-virtual",
74
+ "version": "v3.14.9",
75
+ "lastUpdate": "Aug 24, 2026",
76
+ "source": "apps/admin/package.json#dependencies",
77
+ "docsUrl": "https://tanstack.com/virtual/latest"
78
+ }
79
+ ]
80
+ },
81
+ {
82
+ "id": "allblue",
83
+ "label": "allblue-sdk",
84
+ "icon": "🔷",
85
+ "items": [
86
+ {
87
+ "name": "@allbluecn/web-app",
88
+ "version": "v0.4.12",
89
+ "lastUpdate": "Aug 24, 2026",
90
+ "source": "apps/web/package.json",
91
+ "docsUrl": "https://github.com/allbluecn/allblue"
92
+ },
93
+ {
94
+ "name": "@allbluecn/kernel",
95
+ "version": "v0.3.0",
96
+ "lastUpdate": "Aug 24, 2026",
97
+ "source": "packages/kernel/package.json",
98
+ "docsUrl": "https://github.com/allbluecn/allblue"
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ "id": "core",
104
+ "label": "core-sdk",
105
+ "icon": "🧩",
106
+ "items": [
107
+ {
108
+ "name": "Vite",
109
+ "version": "v8.1.5",
110
+ "lastUpdate": "Aug 24, 2026",
111
+ "source": "apps/web/package.json#devDependencies",
112
+ "docsUrl": "https://vite.dev/"
113
+ },
114
+ {
115
+ "name": "Node.js",
116
+ "version": "v24.19.0",
117
+ "lastUpdate": "Aug 24, 2026",
118
+ "source": ".nvmrc",
119
+ "docsUrl": "https://nodejs.org/"
120
+ },
121
+ {
122
+ "name": "Prisma",
123
+ "version": "v7.8.0",
124
+ "lastUpdate": "Aug 24, 2026",
125
+ "source": "packages/database/package.json#devDependencies",
126
+ "docsUrl": "https://www.prisma.io/docs"
127
+ },
128
+ {
129
+ "name": "shadcn UI",
130
+ "version": "v1.2.4",
131
+ "lastUpdate": "Aug 24, 2026",
132
+ "source": "apps/web/package.json#dependencies",
133
+ "docsUrl": "https://ui.shadcn.com/"
134
+ },
135
+ {
136
+ "name": "TipTap",
137
+ "version": "v3.27.4",
138
+ "lastUpdate": "Aug 24, 2026",
139
+ "source": "packages/shared/package.json#devDependencies",
140
+ "docsUrl": "https://tiptap.dev/"
141
+ },
142
+ {
143
+ "name": "Lucide React",
144
+ "version": "v1.24.0",
145
+ "lastUpdate": "Aug 24, 2026",
146
+ "source": "packages/ui/package.json#dependencies",
147
+ "docsUrl": "https://lucide.dev/"
148
+ }
149
+ ]
150
+ }
151
+ ]
@@ -25,6 +25,7 @@ import { Route as NavAcceptanceCriteriaRouteRouteImport } from './routes/_nav/ac
25
25
  import { Route as NavAgentsRouteRouteImport } from './routes/_nav/agents/route'
26
26
  import { Route as NavAppsRouteRouteImport } from './routes/_nav/apps/route'
27
27
  import { Route as NavBugsRouteRouteImport } from './routes/_nav/bugs/route'
28
+ import { Route as NavChangelogRouteRouteImport } from './routes/_nav/changelog/route'
28
29
  import { Route as NavChatRouteRouteImport } from './routes/_nav/chat/route'
29
30
  import { Route as NavDashboardRouteRouteImport } from './routes/_nav/dashboard/route'
30
31
  import { Route as NavDesignRouteRouteImport } from './routes/_nav/design/route'
@@ -220,6 +221,13 @@ const NavBugsRouteRoute = NavBugsRouteRouteImport.update({
220
221
  path: '/bugs',
221
222
  getParentRoute: () => NavRouteRoute,
222
223
  } as any)
224
+ const NavChangelogRouteRoute = NavChangelogRouteRouteImport.update({
225
+ id: '/changelog',
226
+ path: '/changelog',
227
+ getParentRoute: () => NavRouteRoute,
228
+ } as any).lazy(() =>
229
+ import('./routes/_nav/changelog/route.lazy').then((d) => d.Route),
230
+ )
223
231
  const NavChatRouteRoute = NavChatRouteRouteImport.update({
224
232
  id: '/chat',
225
233
  path: '/chat',
@@ -810,6 +818,7 @@ export interface FileRoutesByFullPath {
810
818
  '/agents': typeof NavAgentsRouteRoute
811
819
  '/apps': typeof NavAppsRouteRouteWithChildren
812
820
  '/bugs': typeof NavBugsRouteRoute
821
+ '/changelog': typeof NavChangelogRouteRoute
813
822
  '/chat': typeof NavChatRouteRouteWithChildren
814
823
  '/dashboard': typeof NavDashboardRouteRoute
815
824
  '/design': typeof NavDesignRouteRouteWithChildren
@@ -910,6 +919,7 @@ export interface FileRoutesByTo {
910
919
  '/agents': typeof NavAgentsRouteRoute
911
920
  '/apps': typeof NavAppsRouteRouteWithChildren
912
921
  '/bugs': typeof NavBugsRouteRoute
922
+ '/changelog': typeof NavChangelogRouteRoute
913
923
  '/chat': typeof NavChatRouteRouteWithChildren
914
924
  '/dashboard': typeof NavDashboardRouteRoute
915
925
  '/inspiration': typeof NavInspirationRouteRoute
@@ -1000,6 +1010,7 @@ export interface FileRoutesById {
1000
1010
  '/_nav/agents': typeof NavAgentsRouteRoute
1001
1011
  '/_nav/apps': typeof NavAppsRouteRouteWithChildren
1002
1012
  '/_nav/bugs': typeof NavBugsRouteRoute
1013
+ '/_nav/changelog': typeof NavChangelogRouteRoute
1003
1014
  '/_nav/chat': typeof NavChatRouteRouteWithChildren
1004
1015
  '/_nav/dashboard': typeof NavDashboardRouteRoute
1005
1016
  '/_nav/design': typeof NavDesignRouteRouteWithChildren
@@ -1102,6 +1113,7 @@ export interface FileRouteTypes {
1102
1113
  | '/agents'
1103
1114
  | '/apps'
1104
1115
  | '/bugs'
1116
+ | '/changelog'
1105
1117
  | '/chat'
1106
1118
  | '/dashboard'
1107
1119
  | '/design'
@@ -1202,6 +1214,7 @@ export interface FileRouteTypes {
1202
1214
  | '/agents'
1203
1215
  | '/apps'
1204
1216
  | '/bugs'
1217
+ | '/changelog'
1205
1218
  | '/chat'
1206
1219
  | '/dashboard'
1207
1220
  | '/inspiration'
@@ -1291,6 +1304,7 @@ export interface FileRouteTypes {
1291
1304
  | '/_nav/agents'
1292
1305
  | '/_nav/apps'
1293
1306
  | '/_nav/bugs'
1307
+ | '/_nav/changelog'
1294
1308
  | '/_nav/chat'
1295
1309
  | '/_nav/dashboard'
1296
1310
  | '/_nav/design'
@@ -1504,6 +1518,13 @@ declare module '@tanstack/react-router' {
1504
1518
  preLoaderRoute: typeof NavBugsRouteRouteImport
1505
1519
  parentRoute: typeof NavRouteRoute
1506
1520
  }
1521
+ '/_nav/changelog': {
1522
+ id: '/_nav/changelog'
1523
+ path: '/changelog'
1524
+ fullPath: '/changelog'
1525
+ preLoaderRoute: typeof NavChangelogRouteRouteImport
1526
+ parentRoute: typeof NavRouteRoute
1527
+ }
1507
1528
  '/_nav/chat': {
1508
1529
  id: '/_nav/chat'
1509
1530
  path: '/chat'
@@ -2470,6 +2491,7 @@ interface NavRouteRouteChildren {
2470
2491
  NavAgentsRouteRoute: typeof NavAgentsRouteRoute
2471
2492
  NavAppsRouteRoute: typeof NavAppsRouteRouteWithChildren
2472
2493
  NavBugsRouteRoute: typeof NavBugsRouteRoute
2494
+ NavChangelogRouteRoute: typeof NavChangelogRouteRoute
2473
2495
  NavChatRouteRoute: typeof NavChatRouteRouteWithChildren
2474
2496
  NavDashboardRouteRoute: typeof NavDashboardRouteRoute
2475
2497
  NavDesignRouteRoute: typeof NavDesignRouteRouteWithChildren
@@ -2491,6 +2513,7 @@ const NavRouteRouteChildren: NavRouteRouteChildren = {
2491
2513
  NavAgentsRouteRoute: NavAgentsRouteRoute,
2492
2514
  NavAppsRouteRoute: NavAppsRouteRouteWithChildren,
2493
2515
  NavBugsRouteRoute: NavBugsRouteRoute,
2516
+ NavChangelogRouteRoute: NavChangelogRouteRoute,
2494
2517
  NavChatRouteRoute: NavChatRouteRouteWithChildren,
2495
2518
  NavDashboardRouteRoute: NavDashboardRouteRoute,
2496
2519
  NavDesignRouteRoute: NavDesignRouteRouteWithChildren,
@@ -0,0 +1,7 @@
1
+ import { createLazyFileRoute } from '@tanstack/react-router'
2
+ import { ChangelogPage } from '@/components/changelog/changelog-page'
3
+ import type { DeveloperLogEntry } from '@allbluecn/shared'
4
+
5
+ export const Route = createLazyFileRoute('/_nav/changelog')({
6
+ component: ChangelogPage,
7
+ })
@@ -0,0 +1,13 @@
1
+ import { createFileRoute } from '@tanstack/react-router'
2
+ import { fetchChangelogFn } from '@/server/serverFns/changelog/fetch'
3
+ import type { DeveloperLogEntry } from '@allbluecn/shared'
4
+
5
+ export const Route = createFileRoute('/_nav/changelog')({
6
+ loader: async () => {
7
+ try {
8
+ return { entries: await fetchChangelogFn() as DeveloperLogEntry[] }
9
+ } catch {
10
+ return { entries: [] as DeveloperLogEntry[] }
11
+ }
12
+ },
13
+ })
@@ -0,0 +1,28 @@
1
+ import { createServerFn } from '@tanstack/react-start'
2
+ import { prisma } from '@allbluecn/database'
3
+ import type { DeveloperLogEntry } from '@allbluecn/shared'
4
+
5
+ export const fetchChangelogFn = createServerFn({ method: 'GET' })
6
+ .handler(async () => {
7
+ const logs = await prisma.developerLog.findMany({
8
+ where: { isDeleted: false },
9
+ orderBy: [{ year: 'desc' }, { createdAt: 'desc' }],
10
+ select: {
11
+ id: true,
12
+ date: true,
13
+ year: true,
14
+ title: true,
15
+ desc: true,
16
+ tags: true,
17
+ commitSha: true,
18
+ createdAt: true,
19
+ updatedAt: true,
20
+ },
21
+ })
22
+ return logs.map((log) => ({
23
+ ...log,
24
+ tags: (log.tags as string[]) ?? [],
25
+ createdAt: log.createdAt.toISOString(),
26
+ updatedAt: log.updatedAt.toISOString(),
27
+ })) as DeveloperLogEntry[]
28
+ })
@@ -1,6 +1,23 @@
1
1
  @import './_variables.scss';
2
2
  @import './_keyframe-animations.scss';
3
3
  @import "tailwindcss";
4
+ @import "@fontsource-variable/geist";
5
+ @import "@fontsource-variable/geist-mono";
6
+ @import "./typeset.css";
7
+
8
+ :root {
9
+ --font-geist: 'Geist Variable', sans-serif;
10
+ --font-geist-mono: 'Geist Mono Variable', monospace;
11
+ }
12
+
13
+ .typeset-article {
14
+ --typeset-font-body: var(--font-geist);
15
+ --typeset-font-heading: var(--font-geist);
16
+ --typeset-font-mono: var(--font-geist-mono);
17
+ --typeset-size: 15px;
18
+ --typeset-leading: 1.75;
19
+ --typeset-flow: 1.25em;
20
+ }
4
21
 
5
22
  @source "../";
6
23
  @source "../../../../packages/ui/src/**/*.{ts,tsx}";
@@ -76,6 +93,7 @@
76
93
  --color-chart-5: var(--chart-5);
77
94
 
78
95
  --container-2xl: 1400px;
96
+ --container-3xl: 48rem;
79
97
 
80
98
  --animate-gradient: gradient 8s linear infinite;
81
99
  @keyframes gradient {