appflare 0.2.47 → 0.2.48

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 (139) hide show
  1. package/Documentation.md +898 -898
  2. package/cli/commands/index.ts +247 -247
  3. package/cli/generate.ts +360 -360
  4. package/cli/index.ts +120 -120
  5. package/cli/load-config.ts +184 -184
  6. package/cli/schema-compiler.ts +1366 -1366
  7. package/cli/templates/auth/README.md +156 -156
  8. package/cli/templates/auth/config.ts +61 -61
  9. package/cli/templates/auth/route-config.ts +1 -1
  10. package/cli/templates/auth/route-handler.ts +1 -1
  11. package/cli/templates/auth/route-request-utils.ts +5 -5
  12. package/cli/templates/auth/route.config.ts +18 -18
  13. package/cli/templates/auth/route.handler.ts +18 -18
  14. package/cli/templates/auth/route.request-utils.ts +55 -55
  15. package/cli/templates/auth/route.ts +14 -14
  16. package/cli/templates/core/README.md +266 -266
  17. package/cli/templates/core/app-creation.ts +19 -19
  18. package/cli/templates/core/client/appflare.ts +112 -112
  19. package/cli/templates/core/client/handlers/index.ts +763 -763
  20. package/cli/templates/core/client/handlers.ts +1 -1
  21. package/cli/templates/core/client/index.ts +7 -7
  22. package/cli/templates/core/client/storage.ts +195 -195
  23. package/cli/templates/core/client/types.ts +187 -187
  24. package/cli/templates/core/client-modules/appflare.ts +1 -1
  25. package/cli/templates/core/client-modules/handlers.ts +1 -1
  26. package/cli/templates/core/client-modules/index.ts +1 -1
  27. package/cli/templates/core/client-modules/storage.ts +1 -1
  28. package/cli/templates/core/client-modules/types.ts +1 -1
  29. package/cli/templates/core/client.artifacts.ts +39 -39
  30. package/cli/templates/core/client.ts +4 -4
  31. package/cli/templates/core/drizzle.ts +15 -15
  32. package/cli/templates/core/export.ts +14 -14
  33. package/cli/templates/core/handlers.route.ts +24 -24
  34. package/cli/templates/core/handlers.ts +1 -1
  35. package/cli/templates/core/imports.ts +9 -9
  36. package/cli/templates/core/server.ts +38 -38
  37. package/cli/templates/core/types.ts +6 -6
  38. package/cli/templates/core/wrangler.ts +109 -109
  39. package/cli/templates/dashboard/builders/functions/index.ts +17 -17
  40. package/cli/templates/dashboard/builders/functions/render-page/header.ts +20 -20
  41. package/cli/templates/dashboard/builders/functions/render-page/index.ts +33 -33
  42. package/cli/templates/dashboard/builders/functions/render-page/request-panel.ts +271 -271
  43. package/cli/templates/dashboard/builders/functions/render-page/result-panel.ts +85 -85
  44. package/cli/templates/dashboard/builders/functions/render-page/scripts.ts +703 -703
  45. package/cli/templates/dashboard/builders/functions/tree-builder.ts +47 -47
  46. package/cli/templates/dashboard/builders/navigation.ts +155 -155
  47. package/cli/templates/dashboard/builders/storage/index.ts +13 -13
  48. package/cli/templates/dashboard/builders/storage/routes/create-directory-route.ts +29 -29
  49. package/cli/templates/dashboard/builders/storage/routes/delete-route.ts +18 -18
  50. package/cli/templates/dashboard/builders/storage/routes/download-route.ts +23 -23
  51. package/cli/templates/dashboard/builders/storage/routes/index.ts +22 -22
  52. package/cli/templates/dashboard/builders/storage/routes/list-route.ts +25 -25
  53. package/cli/templates/dashboard/builders/storage/routes/preview-route.ts +21 -21
  54. package/cli/templates/dashboard/builders/storage/routes/upload-route.ts +21 -21
  55. package/cli/templates/dashboard/builders/storage/runtime/helpers.ts +72 -72
  56. package/cli/templates/dashboard/builders/storage/runtime/storage-page.ts +130 -130
  57. package/cli/templates/dashboard/builders/table-routes/common/drawer-panel.ts +27 -27
  58. package/cli/templates/dashboard/builders/table-routes/common/pagination.ts +30 -30
  59. package/cli/templates/dashboard/builders/table-routes/common/search-bar.ts +23 -23
  60. package/cli/templates/dashboard/builders/table-routes/fragments.ts +217 -217
  61. package/cli/templates/dashboard/builders/table-routes/helpers.ts +45 -45
  62. package/cli/templates/dashboard/builders/table-routes/index.ts +8 -8
  63. package/cli/templates/dashboard/builders/table-routes/table/actions-cell.ts +71 -71
  64. package/cli/templates/dashboard/builders/table-routes/table/get-route.ts +291 -291
  65. package/cli/templates/dashboard/builders/table-routes/table/index.ts +80 -80
  66. package/cli/templates/dashboard/builders/table-routes/table/post-routes.ts +163 -163
  67. package/cli/templates/dashboard/builders/table-routes/table-route.ts +7 -7
  68. package/cli/templates/dashboard/builders/table-routes/users/get-route.ts +69 -69
  69. package/cli/templates/dashboard/builders/table-routes/users/html/modals.ts +57 -57
  70. package/cli/templates/dashboard/builders/table-routes/users/html/page.ts +27 -27
  71. package/cli/templates/dashboard/builders/table-routes/users/html/table.ts +128 -128
  72. package/cli/templates/dashboard/builders/table-routes/users/index.ts +32 -32
  73. package/cli/templates/dashboard/builders/table-routes/users/post-routes.ts +150 -150
  74. package/cli/templates/dashboard/builders/table-routes/users/redirect.ts +14 -14
  75. package/cli/templates/dashboard/builders/table-routes/users-route.ts +10 -10
  76. package/cli/templates/dashboard/components/dashboard-home.ts +23 -23
  77. package/cli/templates/dashboard/components/layout.ts +420 -420
  78. package/cli/templates/dashboard/components/login-page.ts +65 -65
  79. package/cli/templates/dashboard/index.ts +61 -61
  80. package/cli/templates/dashboard/types.ts +9 -9
  81. package/cli/templates/handlers/README.md +353 -353
  82. package/cli/templates/handlers/auth.ts +37 -37
  83. package/cli/templates/handlers/execution.ts +42 -42
  84. package/cli/templates/handlers/generators/context/context-creation.ts +101 -101
  85. package/cli/templates/handlers/generators/context/error-helpers.ts +11 -11
  86. package/cli/templates/handlers/generators/context/scheduler.ts +24 -24
  87. package/cli/templates/handlers/generators/context/storage-api.ts +82 -82
  88. package/cli/templates/handlers/generators/context/storage-helpers.ts +59 -59
  89. package/cli/templates/handlers/generators/context/types.ts +40 -40
  90. package/cli/templates/handlers/generators/context.ts +43 -43
  91. package/cli/templates/handlers/generators/execution.ts +15 -15
  92. package/cli/templates/handlers/generators/handlers.ts +14 -14
  93. package/cli/templates/handlers/generators/registration/modules/cron.ts +35 -35
  94. package/cli/templates/handlers/generators/registration/modules/realtime/auth.ts +75 -75
  95. package/cli/templates/handlers/generators/registration/modules/realtime/durable-object.ts +144 -144
  96. package/cli/templates/handlers/generators/registration/modules/realtime/index.ts +14 -14
  97. package/cli/templates/handlers/generators/registration/modules/realtime/publisher.ts +102 -102
  98. package/cli/templates/handlers/generators/registration/modules/realtime/routes.ts +164 -164
  99. package/cli/templates/handlers/generators/registration/modules/realtime/types.ts +30 -30
  100. package/cli/templates/handlers/generators/registration/modules/realtime/utils.ts +510 -510
  101. package/cli/templates/handlers/generators/registration/modules/scheduler.ts +65 -65
  102. package/cli/templates/handlers/generators/registration/modules/storage.ts +199 -199
  103. package/cli/templates/handlers/generators/registration/sections.ts +210 -210
  104. package/cli/templates/handlers/generators/types/context.ts +121 -121
  105. package/cli/templates/handlers/generators/types/core.ts +108 -106
  106. package/cli/templates/handlers/generators/types/operations.ts +135 -135
  107. package/cli/templates/handlers/generators/types/query-definitions/filter-and-where-types.ts +291 -291
  108. package/cli/templates/handlers/generators/types/query-definitions/query-api-types.ts +135 -135
  109. package/cli/templates/handlers/generators/types/query-definitions/query-helper-functions.ts +1382 -1382
  110. package/cli/templates/handlers/generators/types/query-definitions/schema-and-table-types.ts +278 -278
  111. package/cli/templates/handlers/generators/types/query-definitions.ts +13 -13
  112. package/cli/templates/handlers/generators/types/query-runtime/handled-error.ts +13 -13
  113. package/cli/templates/handlers/generators/types/query-runtime/runtime-aggregate-and-footer.ts +174 -174
  114. package/cli/templates/handlers/generators/types/query-runtime/runtime-read.ts +158 -157
  115. package/cli/templates/handlers/generators/types/query-runtime/runtime-setup.ts +45 -45
  116. package/cli/templates/handlers/generators/types/query-runtime/runtime-write.ts +958 -958
  117. package/cli/templates/handlers/generators/types/query-runtime.ts +15 -15
  118. package/cli/templates/handlers/index.ts +47 -47
  119. package/cli/templates/handlers/operations.ts +116 -116
  120. package/cli/templates/handlers/registration.ts +91 -91
  121. package/cli/templates/handlers/types.ts +17 -17
  122. package/cli/templates/handlers/utils.ts +48 -48
  123. package/cli/types.ts +110 -110
  124. package/cli/utils/handler-discovery.ts +501 -501
  125. package/cli/utils/json-utils.ts +24 -24
  126. package/cli/utils/path-utils.ts +19 -19
  127. package/cli/utils/schema-discovery.ts +399 -399
  128. package/dist/cli/index.js +6 -4
  129. package/dist/cli/index.mjs +6 -4
  130. package/index.ts +18 -18
  131. package/package.json +58 -58
  132. package/react/index.ts +5 -5
  133. package/react/use-infinite-query.ts +255 -255
  134. package/react/use-mutation.ts +89 -89
  135. package/react/use-query.ts +210 -210
  136. package/schema.ts +641 -641
  137. package/test-better-auth-hash.ts +2 -2
  138. package/tsconfig.json +6 -6
  139. package/tsup.config.ts +82 -82
@@ -1,85 +1,85 @@
1
- export function renderResultPanel(): string {
2
- return `
3
- <div class="card bg-base-100 border border-base-200 shadow-sm overflow-hidden flex flex-col">
4
- <!-- Panel Header -->
5
- <div class="px-5 py-3 border-b border-base-200 bg-base-200/20 flex items-center justify-between">
6
- <h3 class="text-xs font-bold uppercase tracking-widest opacity-40">Response</h3>
7
- <div class="flex items-center gap-3">
8
- <span id="res-status-badge" class="hidden"></span>
9
- <span id="res-elapsed-badge" class="hidden text-xs font-mono opacity-50"></span>
10
- <div class="w-1.5 h-1.5 rounded-full bg-success animate-pulse opacity-0" id="execution-indicator"></div>
11
- </div>
12
- </div>
13
-
14
- <!-- Tabs -->
15
- <div role="tablist" class="tabs tabs-bordered tabs-sm px-4 pt-1 bg-base-200/10 border-b border-base-200">
16
- <a role="tab" class="tab tab-active text-xs font-semibold" id="tab-body" onclick="switchResultTab('body')">Body</a>
17
- <a role="tab" class="tab text-xs font-semibold" id="tab-resp-headers" onclick="switchResultTab('headers')">Headers</a>
18
- <a role="tab" class="tab text-xs font-semibold" id="tab-info" onclick="switchResultTab('info')">Info</a>
19
- <a role="tab" class="tab text-xs font-semibold gap-1.5" id="tab-realtime" onclick="switchResultTab('realtime')">
20
- <span class="w-1.5 h-1.5 rounded-full bg-base-content/20 transition-colors duration-300" id="rt-dot"></span>
21
- Realtime
22
- </a>
23
- </div>
24
-
25
- <!-- Tab Panes -->
26
- <div class="flex-1 relative min-h-[300px]">
27
-
28
- <!-- Body Tab -->
29
- <div id="result-tab-body" class="result-tab-pane absolute inset-0 overflow-auto">
30
- <div class="absolute inset-0 flex flex-col items-center justify-center opacity-20 pointer-events-none p-10 text-center" id="result-empty-state">
31
- <iconify-icon icon="solar:course-down-bold-duotone" width="48" height="48" class="mb-3"></iconify-icon>
32
- <p class="text-xs font-semibold uppercase tracking-widest">Execute To See Output</p>
33
- </div>
34
- <div id="result-body-content" class="hidden h-full font-mono text-sm p-4 overflow-auto"></div>
35
- </div>
36
-
37
- <!-- Headers Tab -->
38
- <div id="result-tab-headers" class="result-tab-pane absolute inset-0 overflow-auto hidden">
39
- <div id="result-headers-content" class="p-4">
40
- <div class="flex flex-col items-center justify-center h-40 opacity-20 text-center pointer-events-none">
41
- <iconify-icon icon="solar:list-check-bold-duotone" width="36" height="36" class="mb-2"></iconify-icon>
42
- <p class="text-xs font-semibold uppercase tracking-widest">No Response Yet</p>
43
- </div>
44
- </div>
45
- </div>
46
-
47
- <!-- Info Tab -->
48
- <div id="result-tab-info" class="result-tab-pane absolute inset-0 overflow-auto hidden">
49
- <div id="result-info-content" class="p-4">
50
- <div class="flex flex-col items-center justify-center h-40 opacity-20 text-center pointer-events-none">
51
- <iconify-icon icon="solar:info-circle-bold-duotone" width="36" height="36" class="mb-2"></iconify-icon>
52
- <p class="text-xs font-semibold uppercase tracking-widest">No Response Yet</p>
53
- </div>
54
- </div>
55
- </div>
56
-
57
- <!-- Realtime Tab -->
58
- <div id="result-tab-realtime" class="result-tab-pane absolute inset-0 overflow-auto hidden flex flex-col">
59
- <!-- Connection status bar -->
60
- <div class="flex items-center justify-between px-4 py-2 border-b border-base-200 bg-base-200/10 flex-none">
61
- <div class="flex items-center gap-2">
62
- <div class="w-2 h-2 rounded-full bg-base-content/20 transition-all duration-300" id="rt-status-dot"></div>
63
- <span class="text-[10px] font-mono uppercase tracking-wider opacity-50" id="rt-status-text">Disconnected</span>
64
- </div>
65
- <div class="flex items-center gap-2">
66
- <span class="text-[10px] font-mono opacity-30" id="rt-event-count" class="hidden">0 events</span>
67
- <button type="button" onclick="clearRealtimeLog()" class="btn btn-xs btn-ghost opacity-40 hover:opacity-100 px-2 h-6 min-h-0">
68
- <iconify-icon icon="solar:trash-bin-minimalistic-linear" width="12" height="12"></iconify-icon>
69
- Clear
70
- </button>
71
- </div>
72
- </div>
73
- <!-- Events log -->
74
- <div id="rt-log" class="flex-1 overflow-y-auto p-3 flex flex-col gap-1.5 font-mono text-xs">
75
- <div id="rt-empty-state" class="flex flex-col items-center justify-center h-full opacity-20 text-center pointer-events-none gap-2">
76
- <iconify-icon icon="solar:pulse-2-bold-duotone" width="40" height="40"></iconify-icon>
77
- <p class="text-xs font-semibold uppercase tracking-widest">Enable Realtime in Request Panel</p>
78
- </div>
79
- </div>
80
- </div>
81
-
82
- </div>
83
- </div>
84
- `;
85
- }
1
+ export function renderResultPanel(): string {
2
+ return `
3
+ <div class="card bg-base-100 border border-base-200 shadow-sm overflow-hidden flex flex-col">
4
+ <!-- Panel Header -->
5
+ <div class="px-5 py-3 border-b border-base-200 bg-base-200/20 flex items-center justify-between">
6
+ <h3 class="text-xs font-bold uppercase tracking-widest opacity-40">Response</h3>
7
+ <div class="flex items-center gap-3">
8
+ <span id="res-status-badge" class="hidden"></span>
9
+ <span id="res-elapsed-badge" class="hidden text-xs font-mono opacity-50"></span>
10
+ <div class="w-1.5 h-1.5 rounded-full bg-success animate-pulse opacity-0" id="execution-indicator"></div>
11
+ </div>
12
+ </div>
13
+
14
+ <!-- Tabs -->
15
+ <div role="tablist" class="tabs tabs-bordered tabs-sm px-4 pt-1 bg-base-200/10 border-b border-base-200">
16
+ <a role="tab" class="tab tab-active text-xs font-semibold" id="tab-body" onclick="switchResultTab('body')">Body</a>
17
+ <a role="tab" class="tab text-xs font-semibold" id="tab-resp-headers" onclick="switchResultTab('headers')">Headers</a>
18
+ <a role="tab" class="tab text-xs font-semibold" id="tab-info" onclick="switchResultTab('info')">Info</a>
19
+ <a role="tab" class="tab text-xs font-semibold gap-1.5" id="tab-realtime" onclick="switchResultTab('realtime')">
20
+ <span class="w-1.5 h-1.5 rounded-full bg-base-content/20 transition-colors duration-300" id="rt-dot"></span>
21
+ Realtime
22
+ </a>
23
+ </div>
24
+
25
+ <!-- Tab Panes -->
26
+ <div class="flex-1 relative min-h-[300px]">
27
+
28
+ <!-- Body Tab -->
29
+ <div id="result-tab-body" class="result-tab-pane absolute inset-0 overflow-auto">
30
+ <div class="absolute inset-0 flex flex-col items-center justify-center opacity-20 pointer-events-none p-10 text-center" id="result-empty-state">
31
+ <iconify-icon icon="solar:course-down-bold-duotone" width="48" height="48" class="mb-3"></iconify-icon>
32
+ <p class="text-xs font-semibold uppercase tracking-widest">Execute To See Output</p>
33
+ </div>
34
+ <div id="result-body-content" class="hidden h-full font-mono text-sm p-4 overflow-auto"></div>
35
+ </div>
36
+
37
+ <!-- Headers Tab -->
38
+ <div id="result-tab-headers" class="result-tab-pane absolute inset-0 overflow-auto hidden">
39
+ <div id="result-headers-content" class="p-4">
40
+ <div class="flex flex-col items-center justify-center h-40 opacity-20 text-center pointer-events-none">
41
+ <iconify-icon icon="solar:list-check-bold-duotone" width="36" height="36" class="mb-2"></iconify-icon>
42
+ <p class="text-xs font-semibold uppercase tracking-widest">No Response Yet</p>
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ <!-- Info Tab -->
48
+ <div id="result-tab-info" class="result-tab-pane absolute inset-0 overflow-auto hidden">
49
+ <div id="result-info-content" class="p-4">
50
+ <div class="flex flex-col items-center justify-center h-40 opacity-20 text-center pointer-events-none">
51
+ <iconify-icon icon="solar:info-circle-bold-duotone" width="36" height="36" class="mb-2"></iconify-icon>
52
+ <p class="text-xs font-semibold uppercase tracking-widest">No Response Yet</p>
53
+ </div>
54
+ </div>
55
+ </div>
56
+
57
+ <!-- Realtime Tab -->
58
+ <div id="result-tab-realtime" class="result-tab-pane absolute inset-0 overflow-auto hidden flex flex-col">
59
+ <!-- Connection status bar -->
60
+ <div class="flex items-center justify-between px-4 py-2 border-b border-base-200 bg-base-200/10 flex-none">
61
+ <div class="flex items-center gap-2">
62
+ <div class="w-2 h-2 rounded-full bg-base-content/20 transition-all duration-300" id="rt-status-dot"></div>
63
+ <span class="text-[10px] font-mono uppercase tracking-wider opacity-50" id="rt-status-text">Disconnected</span>
64
+ </div>
65
+ <div class="flex items-center gap-2">
66
+ <span class="text-[10px] font-mono opacity-30" id="rt-event-count" class="hidden">0 events</span>
67
+ <button type="button" onclick="clearRealtimeLog()" class="btn btn-xs btn-ghost opacity-40 hover:opacity-100 px-2 h-6 min-h-0">
68
+ <iconify-icon icon="solar:trash-bin-minimalistic-linear" width="12" height="12"></iconify-icon>
69
+ Clear
70
+ </button>
71
+ </div>
72
+ </div>
73
+ <!-- Events log -->
74
+ <div id="rt-log" class="flex-1 overflow-y-auto p-3 flex flex-col gap-1.5 font-mono text-xs">
75
+ <div id="rt-empty-state" class="flex flex-col items-center justify-center h-full opacity-20 text-center pointer-events-none gap-2">
76
+ <iconify-icon icon="solar:pulse-2-bold-duotone" width="40" height="40"></iconify-icon>
77
+ <p class="text-xs font-semibold uppercase tracking-widest">Enable Realtime in Request Panel</p>
78
+ </div>
79
+ </div>
80
+ </div>
81
+
82
+ </div>
83
+ </div>
84
+ `;
85
+ }