@btst/stack 1.6.0 → 1.8.0

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.
Files changed (85) hide show
  1. package/dist/api/index.cjs +7 -1
  2. package/dist/api/index.d.cts +2 -2
  3. package/dist/api/index.d.mts +2 -2
  4. package/dist/api/index.d.ts +2 -2
  5. package/dist/api/index.mjs +7 -1
  6. package/dist/client/index.cjs +6 -2
  7. package/dist/client/index.d.cts +2 -1
  8. package/dist/client/index.d.mts +2 -1
  9. package/dist/client/index.d.ts +2 -1
  10. package/dist/client/index.mjs +6 -2
  11. package/dist/index.d.cts +1 -1
  12. package/dist/index.d.mts +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/packages/better-stack/src/plugins/open-api/api/generator.cjs +300 -0
  15. package/dist/packages/better-stack/src/plugins/open-api/api/generator.mjs +284 -0
  16. package/dist/packages/better-stack/src/plugins/open-api/api/plugin.cjs +115 -0
  17. package/dist/packages/better-stack/src/plugins/open-api/api/plugin.mjs +113 -0
  18. package/dist/packages/better-stack/src/plugins/open-api/db.cjs +7 -0
  19. package/dist/packages/better-stack/src/plugins/open-api/db.mjs +5 -0
  20. package/dist/packages/better-stack/src/plugins/open-api/logo.cjs +8 -0
  21. package/dist/packages/better-stack/src/plugins/open-api/logo.mjs +6 -0
  22. package/dist/packages/better-stack/src/plugins/route-docs/client/components/loading/docs-skeleton.cjs +43 -0
  23. package/dist/packages/better-stack/src/plugins/route-docs/client/components/loading/docs-skeleton.mjs +41 -0
  24. package/dist/packages/better-stack/src/plugins/route-docs/client/components/pages/docs-page.cjs +794 -0
  25. package/dist/packages/better-stack/src/plugins/route-docs/client/components/pages/docs-page.mjs +788 -0
  26. package/dist/packages/better-stack/src/plugins/route-docs/client/plugin.cjs +111 -0
  27. package/dist/packages/better-stack/src/plugins/route-docs/client/plugin.mjs +106 -0
  28. package/dist/packages/better-stack/src/plugins/route-docs/generator.cjs +244 -0
  29. package/dist/packages/better-stack/src/plugins/route-docs/generator.mjs +227 -0
  30. package/dist/packages/ui/src/components/sheet.cjs +25 -0
  31. package/dist/packages/ui/src/components/sheet.mjs +24 -1
  32. package/dist/plugins/api/index.d.cts +2 -2
  33. package/dist/plugins/api/index.d.mts +2 -2
  34. package/dist/plugins/api/index.d.ts +2 -2
  35. package/dist/plugins/blog/api/index.d.cts +1 -1
  36. package/dist/plugins/blog/api/index.d.mts +1 -1
  37. package/dist/plugins/blog/api/index.d.ts +1 -1
  38. package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
  39. package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
  40. package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
  41. package/dist/plugins/blog/client/index.d.cts +1 -1
  42. package/dist/plugins/blog/client/index.d.mts +1 -1
  43. package/dist/plugins/blog/client/index.d.ts +1 -1
  44. package/dist/plugins/blog/query-keys.d.cts +2 -2
  45. package/dist/plugins/blog/query-keys.d.mts +2 -2
  46. package/dist/plugins/blog/query-keys.d.ts +2 -2
  47. package/dist/plugins/client/index.d.cts +2 -2
  48. package/dist/plugins/client/index.d.mts +2 -2
  49. package/dist/plugins/client/index.d.ts +2 -2
  50. package/dist/plugins/open-api/api/index.cjs +9 -0
  51. package/dist/plugins/open-api/api/index.d.cts +95 -0
  52. package/dist/plugins/open-api/api/index.d.mts +95 -0
  53. package/dist/plugins/open-api/api/index.d.ts +95 -0
  54. package/dist/plugins/open-api/api/index.mjs +2 -0
  55. package/dist/plugins/route-docs/client/index.cjs +10 -0
  56. package/dist/plugins/route-docs/client/index.d.cts +126 -0
  57. package/dist/plugins/route-docs/client/index.d.mts +126 -0
  58. package/dist/plugins/route-docs/client/index.d.ts +126 -0
  59. package/dist/plugins/route-docs/client/index.mjs +1 -0
  60. package/dist/plugins/route-docs/client.css +3 -0
  61. package/dist/plugins/route-docs/style.css +19 -0
  62. package/dist/shared/{stack.ByOugz9d.d.cts → stack.u9iYV6vt.d.cts} +28 -3
  63. package/dist/shared/{stack.ByOugz9d.d.mts → stack.u9iYV6vt.d.mts} +28 -3
  64. package/dist/shared/{stack.ByOugz9d.d.ts → stack.u9iYV6vt.d.ts} +28 -3
  65. package/package.json +28 -1
  66. package/src/api/index.ts +14 -2
  67. package/src/client/index.ts +11 -4
  68. package/src/plugins/open-api/api/generator.ts +433 -0
  69. package/src/plugins/open-api/api/index.ts +8 -0
  70. package/src/plugins/open-api/api/plugin.ts +243 -0
  71. package/src/plugins/open-api/db.ts +7 -0
  72. package/src/plugins/open-api/logo.ts +7 -0
  73. package/src/plugins/route-docs/client/components/loading/docs-skeleton.tsx +82 -0
  74. package/src/plugins/route-docs/client/components/loading/index.tsx +1 -0
  75. package/src/plugins/route-docs/client/components/pages/docs-page.tsx +1240 -0
  76. package/src/plugins/route-docs/client/index.ts +7 -0
  77. package/src/plugins/route-docs/client/plugin.tsx +187 -0
  78. package/src/plugins/route-docs/client.css +3 -0
  79. package/src/plugins/route-docs/generator.ts +385 -0
  80. package/src/plugins/route-docs/index.ts +12 -0
  81. package/src/plugins/route-docs/style.css +19 -0
  82. package/src/types.ts +34 -2
  83. package/dist/shared/{stack.CcI4sYJP.d.mts → stack.DLhzx1-D.d.cts} +1 -1
  84. package/dist/shared/{stack.CcI4sYJP.d.ts → stack.DLhzx1-D.d.mts} +1 -1
  85. package/dist/shared/{stack.CcI4sYJP.d.cts → stack.DLhzx1-D.d.ts} +1 -1
@@ -0,0 +1,7 @@
1
+ import { createDbPlugin } from "@btst/db";
2
+
3
+ /**
4
+ * OpenAPI plugin doesn't require any database tables
5
+ * It only introspects other plugins' endpoints
6
+ */
7
+ export const openApiSchema = createDbPlugin("openApi", {});
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Better Stack logo SVG for use in Scalar API Reference
3
+ */
4
+ export const logo = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none">
5
+ <rect width="100" height="100" rx="20" fill="#0ea5e9"/>
6
+ <path d="M25 35h50M25 50h50M25 65h35" stroke="white" stroke-width="8" stroke-linecap="round"/>
7
+ </svg>`;
@@ -0,0 +1,82 @@
1
+ "use client";
2
+
3
+ import { Skeleton } from "@workspace/ui/components/skeleton";
4
+ import { ScrollArea } from "@workspace/ui/components/scroll-area";
5
+ import { Card, CardContent } from "@workspace/ui/components/card";
6
+
7
+ export function DocsPageSkeleton() {
8
+ return (
9
+ <div className="flex min-h-screen bg-background">
10
+ {/* Desktop Sidebar skeleton */}
11
+ <aside className="hidden md:block w-72 border-r bg-card shrink-0">
12
+ <div className="p-4 border-b">
13
+ <Skeleton className="h-4 w-16" />
14
+ </div>
15
+ <ScrollArea className="h-[calc(100vh-57px)]">
16
+ <div className="p-3 space-y-4">
17
+ {/* Plugin groups */}
18
+ {[1, 2, 3].map((i) => (
19
+ <div key={i} className="space-y-2">
20
+ <Skeleton className="h-8 w-full" />
21
+ <div className="ml-2 space-y-1">
22
+ {[1, 2, 3].map((j) => (
23
+ <Skeleton key={j} className="h-7 w-full" />
24
+ ))}
25
+ </div>
26
+ </div>
27
+ ))}
28
+ </div>
29
+ </ScrollArea>
30
+ </aside>
31
+
32
+ {/* Mobile header skeleton */}
33
+ <div className="md:hidden fixed top-0 left-0 right-0 z-40 bg-card border-b">
34
+ <div className="flex items-center justify-between p-4">
35
+ <Skeleton className="h-4 w-24" />
36
+ <Skeleton className="h-8 w-20" />
37
+ </div>
38
+ </div>
39
+
40
+ {/* Main content skeleton */}
41
+ <main className="flex-1 overflow-auto pt-16 md:pt-0">
42
+ <div className="max-w-4xl mx-auto p-4 sm:p-6 lg:p-8 space-y-4 sm:space-y-6">
43
+ {/* Title */}
44
+ <div className="space-y-2">
45
+ <Skeleton className="h-8 sm:h-9 w-48 sm:w-64" />
46
+ <Skeleton className="h-4 sm:h-5 w-72 sm:w-96" />
47
+ </div>
48
+
49
+ {/* Separator */}
50
+ <div className="h-px bg-border" />
51
+
52
+ {/* Badges */}
53
+ <div className="flex gap-2">
54
+ <Skeleton className="h-6 w-24" />
55
+ <Skeleton className="h-6 w-20" />
56
+ </div>
57
+
58
+ {/* Routes card */}
59
+ <Card>
60
+ <div className="p-4 sm:p-6">
61
+ <Skeleton className="h-6 w-32 mb-4" />
62
+ </div>
63
+ <CardContent className="pt-0 space-y-4">
64
+ {/* Desktop table skeleton */}
65
+ <div className="hidden md:block space-y-2">
66
+ {[1, 2, 3, 4].map((i) => (
67
+ <Skeleton key={i} className="h-12 w-full" />
68
+ ))}
69
+ </div>
70
+ {/* Mobile cards skeleton */}
71
+ <div className="md:hidden space-y-3">
72
+ {[1, 2, 3].map((i) => (
73
+ <Skeleton key={i} className="h-28 w-full rounded-lg" />
74
+ ))}
75
+ </div>
76
+ </CardContent>
77
+ </Card>
78
+ </div>
79
+ </main>
80
+ </div>
81
+ );
82
+ }
@@ -0,0 +1 @@
1
+ export { DocsPageSkeleton } from "./docs-skeleton";