appos 0.7.1-0 → 0.8.0-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 (190) hide show
  1. package/dist/{alert-BdX0Zt8k.js → alert-BLZQBH-J.js} +1 -1
  2. package/dist/{animated-check-CKu20goQ.js → animated-check-BHZb4K9z.js} +1 -1
  3. package/dist/api/auth.d.mts +3 -3
  4. package/dist/api/cache.d.mts +2 -2
  5. package/dist/api/cli.d.mts +109 -108
  6. package/dist/api/cli.mjs +11 -13
  7. package/dist/api/container.d.mts +5 -5
  8. package/dist/api/database.d.mts +2 -2
  9. package/dist/api/database.mjs +2 -2
  10. package/dist/api/event.d.mts +5 -5
  11. package/dist/api/event.mjs +2 -2
  12. package/dist/api/mailer.d.mts +5 -5
  13. package/dist/api/mailer.mjs +3 -3
  14. package/dist/api/observability.d.mts +2 -2
  15. package/dist/api/observability.mjs +13 -0
  16. package/dist/api/openapi.d.mts +5 -5
  17. package/dist/api/openapi.mjs +2 -2
  18. package/dist/api/server.d.mts +5 -5
  19. package/dist/api/server.mjs +3 -3
  20. package/dist/api/ssr.d.mts +46 -45
  21. package/dist/api/storage.d.mts +5 -5
  22. package/dist/api/storage.mjs +3 -3
  23. package/dist/api/worker.d.mts +5 -5
  24. package/dist/api/workflow.d.mts +5 -5
  25. package/dist/api/workflow.mjs +3 -3
  26. package/dist/{auth-COwDukbw.d.mts → auth-C8aruHqr.d.mts} +589 -585
  27. package/dist/{auth-1uQuSjl_.d.ts → auth-CJUFXMmO.d.ts} +543 -527
  28. package/dist/{badge-BFQXkO9d.js → badge-C9UmcYXH.js} +1 -1
  29. package/dist/{brand-CjbfdIEo.js → brand-CP_hLd1Q.js} +1 -1
  30. package/dist/{brand-CIdvO6yY.d.ts → brand-CS0AQzpo.d.ts} +17 -17
  31. package/dist/{button-CBH7xJ8q.js → button-aFstqCiP.js} +1 -1
  32. package/dist/{cache-D1ATIulZ.d.mts → cache-DzIUoWOc.d.mts} +11 -11
  33. package/dist/{card-X792kQrC.js → card-BRSg6YkA.js} +1 -1
  34. package/dist/{checkbox-e3A3glfd.js → checkbox-Z9hgC0Aw.js} +1 -1
  35. package/dist/{constants-Cn8qeyGD.mjs → constants-B_32p-kc.mjs} +2 -2
  36. package/dist/{container-qBBwSMpE.d.mts → container-cI-E_h3B.d.mts} +708 -674
  37. package/dist/{database-Cch2A-2M.d.mts → database-Cmav5XND.d.mts} +1 -1
  38. package/dist/{database-s-rZuCOz.mjs → database-DQZAYngl.mjs} +1 -1
  39. package/dist/devtools/storybook.d.ts +4 -1
  40. package/dist/devtools/test.d.mts +6 -6
  41. package/dist/devtools/test.mjs +4 -4
  42. package/dist/devtools/vite.d.mts +41 -41
  43. package/dist/devtools/vite.mjs +5 -5
  44. package/dist/{empty-BonqCObb.js → empty-DcqbFcxI.js} +1 -1
  45. package/dist/{event-BFYD8Mmy.mjs → event-sOqysSFh.mjs} +1 -1
  46. package/dist/{field-7rMKJCeh.js → field-C9yvlv77.js} +3 -3
  47. package/dist/{input-D9PbuBOa.js → input-Dqc5b2pI.js} +1 -1
  48. package/dist/{input-otp-zHrdocki.js → input-otp-CN9UVpZk.js} +1 -1
  49. package/dist/{label-C0h_-ojZ.js → label-1PpkyBNL.js} +1 -1
  50. package/dist/{logger-C8av5E6b.d.mts → logger-HYUt8RSz.d.mts} +13 -0
  51. package/dist/{observability-D9z-cqNJ.d.mts → observability-BHS1Ftrj.d.mts} +2 -1
  52. package/dist/{openapi-kCcmkZ30.mjs → openapi-CaTQ810l.mjs} +1 -1
  53. package/dist/{panel-CpZWj60p.mjs → panel-BvScRfbk.mjs} +2 -2
  54. package/dist/panel-ZuXPPgwQ.mjs +5 -0
  55. package/dist/routes-BgP7p3WG.mjs +4 -0
  56. package/dist/{routes-B9VlLVFz.mjs → routes-CiITNynR.mjs} +1 -1
  57. package/dist/{separator-DDbWY6ol.js → separator-BK0GUHKc.js} +1 -1
  58. package/dist/{server-BNk1lm5r.mjs → server-AOtYV4Kv.mjs} +3 -3
  59. package/dist/{spinner-CaEB5f1z.js → spinner-Xt3iWLLl.js} +1 -1
  60. package/dist/{textarea-CFblOAyj.js → textarea-Bm-1OnR2.js} +1 -1
  61. package/dist/universal/auth.d.ts +31 -31
  62. package/dist/universal/colors.d.ts +97 -0
  63. package/dist/universal/colors.js +144 -0
  64. package/dist/universal/config.d.ts +1 -0
  65. package/dist/{utils-NKi1RiLK.d.ts → utils-ct73VycK.d.ts} +1 -0
  66. package/dist/web/auth.d.ts +3 -3
  67. package/dist/web/auth.js +1 -1
  68. package/dist/web/faro.d.ts +54 -0
  69. package/dist/web/faro.js +45 -0
  70. package/dist/web/hooks.js +1 -1
  71. package/dist/web/i18n.d.ts +15 -15
  72. package/dist/web/ui/accordion.d.ts +6 -5
  73. package/dist/web/ui/accordion.js +1 -1
  74. package/dist/web/ui/alert-dialog.d.ts +14 -13
  75. package/dist/web/ui/alert-dialog.js +2 -2
  76. package/dist/web/ui/alert.d.ts +5 -5
  77. package/dist/web/ui/alert.js +2 -2
  78. package/dist/web/ui/animated-check.d.ts +9 -9
  79. package/dist/web/ui/animated-check.js +2 -2
  80. package/dist/web/ui/aspect-ratio.d.ts +3 -2
  81. package/dist/web/ui/aspect-ratio.js +1 -1
  82. package/dist/web/ui/auth.d.ts +3 -3
  83. package/dist/web/ui/auth.js +16 -16
  84. package/dist/web/ui/avatar.d.ts +8 -7
  85. package/dist/web/ui/avatar.js +1 -1
  86. package/dist/web/ui/badge.js +2 -2
  87. package/dist/web/ui/brand.d.ts +2 -2
  88. package/dist/web/ui/brand.js +2 -2
  89. package/dist/web/ui/breadcrumb.d.ts +8 -7
  90. package/dist/web/ui/breadcrumb.js +1 -1
  91. package/dist/web/ui/button-group.d.ts +3 -3
  92. package/dist/web/ui/button-group.js +2 -2
  93. package/dist/web/ui/button.d.ts +10 -10
  94. package/dist/web/ui/button.js +2 -2
  95. package/dist/web/ui/calendar.d.ts +3 -3
  96. package/dist/web/ui/calendar.js +2 -2
  97. package/dist/web/ui/card.d.ts +9 -8
  98. package/dist/web/ui/card.js +2 -2
  99. package/dist/web/ui/carousel.d.ts +6 -6
  100. package/dist/web/ui/carousel.js +2 -2
  101. package/dist/web/ui/chart.d.ts +5 -5
  102. package/dist/web/ui/chart.js +1 -1
  103. package/dist/web/ui/checkbox.d.ts +3 -2
  104. package/dist/web/ui/checkbox.js +2 -2
  105. package/dist/web/ui/collapsible.d.ts +4 -4
  106. package/dist/web/ui/command.d.ts +10 -10
  107. package/dist/web/ui/command.js +4 -4
  108. package/dist/web/ui/context-menu.d.ts +16 -16
  109. package/dist/web/ui/context-menu.js +1 -1
  110. package/dist/web/ui/dialog.d.ts +12 -11
  111. package/dist/web/ui/dialog.js +2 -2
  112. package/dist/web/ui/drawer.d.ts +11 -11
  113. package/dist/web/ui/drawer.js +1 -1
  114. package/dist/web/ui/dropdown-menu.d.ts +16 -16
  115. package/dist/web/ui/dropdown-menu.js +1 -1
  116. package/dist/web/ui/empty.d.ts +9 -9
  117. package/dist/web/ui/empty.js +2 -2
  118. package/dist/web/ui/error-page.d.ts +7 -7
  119. package/dist/web/ui/error-page.js +3 -3
  120. package/dist/web/ui/field.d.ts +15 -14
  121. package/dist/web/ui/field.js +4 -4
  122. package/dist/web/ui/hover-card.d.ts +4 -4
  123. package/dist/web/ui/hover-card.js +1 -1
  124. package/dist/web/ui/input-group.d.ts +10 -10
  125. package/dist/web/ui/input-group.js +4 -4
  126. package/dist/web/ui/input-otp.d.ts +5 -5
  127. package/dist/web/ui/input-otp.js +2 -2
  128. package/dist/web/ui/input.d.ts +3 -2
  129. package/dist/web/ui/input.js +2 -2
  130. package/dist/web/ui/item.d.ts +13 -13
  131. package/dist/web/ui/item.js +2 -2
  132. package/dist/web/ui/kbd.d.ts +3 -3
  133. package/dist/web/ui/kbd.js +1 -1
  134. package/dist/web/ui/label.d.ts +3 -2
  135. package/dist/web/ui/label.js +2 -2
  136. package/dist/web/ui/menubar.d.ts +17 -17
  137. package/dist/web/ui/menubar.js +1 -1
  138. package/dist/web/ui/navigation-menu.d.ts +11 -11
  139. package/dist/web/ui/navigation-menu.js +1 -1
  140. package/dist/web/ui/pagination.d.ts +9 -8
  141. package/dist/web/ui/pagination.js +2 -2
  142. package/dist/web/ui/popover.d.ts +7 -7
  143. package/dist/web/ui/popover.js +1 -1
  144. package/dist/web/ui/progress.d.ts +7 -6
  145. package/dist/web/ui/progress.js +1 -1
  146. package/dist/web/ui/radio-group.d.ts +3 -3
  147. package/dist/web/ui/radio-group.js +1 -1
  148. package/dist/web/ui/resizable.d.ts +4 -4
  149. package/dist/web/ui/resizable.js +1 -1
  150. package/dist/web/ui/scroll-area.d.ts +3 -3
  151. package/dist/web/ui/scroll-area.js +1 -1
  152. package/dist/web/ui/select.d.ts +11 -10
  153. package/dist/web/ui/select.js +1 -1
  154. package/dist/web/ui/separator.d.ts +3 -2
  155. package/dist/web/ui/separator.js +2 -2
  156. package/dist/web/ui/sheet.d.ts +9 -9
  157. package/dist/web/ui/sheet.js +2 -2
  158. package/dist/web/ui/sidebar.d.ts +22 -22
  159. package/dist/web/ui/sidebar.js +5 -5
  160. package/dist/web/ui/skeleton.d.ts +3 -2
  161. package/dist/web/ui/skeleton.js +1 -1
  162. package/dist/web/ui/slider.d.ts +3 -2
  163. package/dist/web/ui/slider.js +1 -1
  164. package/dist/web/ui/sonner.d.ts +2 -2
  165. package/dist/web/ui/spinner.d.ts +3 -2
  166. package/dist/web/ui/spinner.js +2 -2
  167. package/dist/web/ui/switch.d.ts +3 -2
  168. package/dist/web/ui/switch.js +1 -1
  169. package/dist/web/ui/table.d.ts +9 -9
  170. package/dist/web/ui/table.js +1 -1
  171. package/dist/web/ui/tabs.d.ts +8 -7
  172. package/dist/web/ui/tabs.js +1 -1
  173. package/dist/web/ui/textarea.d.ts +3 -2
  174. package/dist/web/ui/textarea.js +2 -2
  175. package/dist/web/ui/toggle-group.d.ts +3 -3
  176. package/dist/web/ui/toggle-group.js +1 -1
  177. package/dist/web/ui/toggle.d.ts +4 -4
  178. package/dist/web/ui/toggle.js +1 -1
  179. package/dist/web/ui/tooltip.d.ts +6 -5
  180. package/dist/web/ui/tooltip.js +1 -1
  181. package/dist/{workflow-BN-NfNzZ.mjs → workflow-CnIygzSZ.mjs} +2 -2
  182. package/package.json +36 -29
  183. package/src/devtools/storybook/.storybook/main.ts +6 -1
  184. package/src/web/faro.ts +76 -0
  185. package/src/web/ui/error-page.tsx +1 -1
  186. package/dist/panel-C2TDalNf.mjs +0 -5
  187. package/dist/routes-Bkg2Mqxd.mjs +0 -4
  188. /package/dist/{context-La08hSVU.js → context-Em_SQYw0.js} +0 -0
  189. /package/dist/{use-mobile-Dg2CI44J.js → use-mobile-tViORilI.js} +0 -0
  190. /package/dist/{utils-4n921m5r.js → utils-BV8j6NbO.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { t as cn } from "./utils-4n921m5r.js";
1
+ import { t as cn } from "./utils-BV8j6NbO.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { cva } from "class-variance-authority";
4
4
 
@@ -1,4 +1,4 @@
1
- import { t as cn } from "./utils-4n921m5r.js";
1
+ import { t as cn } from "./utils-BV8j6NbO.js";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
 
4
4
  //#region src/web/ui/animated-check.tsx
@@ -1,4 +1,4 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import "../database-Cch2A-2M.mjs";
3
- import { a as AuthCaptchaConfig, c as AuthSessionConfig, d as defineAuth, f as defineEndpointRateLimits, i as Auth, l as DefineAuthOptions, n as AccessController, o as AuthConfig, p as defineAuthSchema, r as AuditAction, s as AuthPasskeyConfig, t as AccessControlRoles, u as auditActionSchema } from "../auth-COwDukbw.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import "../database-Cmav5XND.mjs";
3
+ import { a as AuthCaptchaConfig, c as AuthSessionConfig, d as defineAuth, f as defineEndpointRateLimits, i as Auth, l as DefineAuthOptions, n as AccessController, o as AuthConfig, p as defineAuthSchema, r as AuditAction, s as AuthPasskeyConfig, t as AccessControlRoles, u as auditActionSchema } from "../auth-C8aruHqr.mjs";
4
4
  export { AccessControlRoles, AccessController, AuditAction, Auth, AuthCaptchaConfig, AuthConfig, AuthPasskeyConfig, AuthSessionConfig, DefineAuthOptions, auditActionSchema, defineAuth, defineAuthSchema, defineEndpointRateLimits };
@@ -1,3 +1,3 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import { a as RedisClient, i as DefineRedisClientOptions, n as DefineCacheOptions, o as defineRedisClient, r as defineCache, t as Cache } from "../cache-D1ATIulZ.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import { a as RedisClient, i as DefineRedisClientOptions, n as DefineCacheOptions, o as defineRedisClient, r as defineCache, t as Cache } from "../cache-DzIUoWOc.mjs";
3
3
  export { Cache, DefineCacheOptions, DefineRedisClientOptions, RedisClient, defineCache, defineRedisClient };
@@ -1,13 +1,14 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import "../database-Cch2A-2M.mjs";
3
- import "../auth-COwDukbw.mjs";
4
- import "../cache-D1ATIulZ.mjs";
5
- import { n as Container } from "../container-qBBwSMpE.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import "../database-Cmav5XND.mjs";
3
+ import "../auth-C8aruHqr.mjs";
4
+ import "../cache-DzIUoWOc.mjs";
5
+ import { n as Container } from "../container-cI-E_h3B.mjs";
6
6
  import { z } from "zod";
7
7
  import { ChildProcess } from "node:child_process";
8
8
  import * as p from "@clack/prompts";
9
9
 
10
10
  //#region src/api/cli/context.d.ts
11
+
11
12
  /**
12
13
  * Command context providing beautiful output, prompts, and utilities.
13
14
  * Uses @clack/prompts for consistent, professional CLI formatting.
@@ -18,168 +19,168 @@ import * as p from "@clack/prompts";
18
19
  */
19
20
  interface CommandContext<C extends Container = Container, A = readonly unknown[], O = Record<string, unknown>> {
20
21
  /**
21
- * The parsed command-line arguments.
22
- * Type is inferred from the command's Zod args schema.
23
- */
22
+ * The parsed command-line arguments.
23
+ * Type is inferred from the command's Zod args schema.
24
+ */
24
25
  readonly args: A;
25
26
  /**
26
- * Prompts the user for single-line text input.
27
- * @see https://www.clack.cc for prompt options
28
- */
27
+ * Prompts the user for single-line text input.
28
+ * @see https://www.clack.cc for prompt options
29
+ */
29
30
  ask: typeof p.text;
30
31
  /**
31
- * Displays a cancellation message and exits the process with code 0.
32
- * @param message - Optional cancellation message (defaults to "Cancelled")
33
- */
32
+ * Displays a cancellation message and exits the process with code 0.
33
+ * @param message - Optional cancellation message (defaults to "Cancelled")
34
+ */
34
35
  cancel(message?: string): never;
35
36
  /**
36
- * Prompts the user for dropdown selection from a list of options.
37
- * @see https://www.clack.cc for prompt options
38
- */
37
+ * Prompts the user for dropdown selection from a list of options.
38
+ * @see https://www.clack.cc for prompt options
39
+ */
39
40
  choice: typeof p.select;
40
41
  /**
41
- * Releases all container resources including database connections and cache clients.
42
- * Must be called before the command exits to prevent resource leaks.
43
- */
42
+ * Releases all container resources including database connections and cache clients.
43
+ * Must be called before the command exits to prevent resource leaks.
44
+ */
44
45
  cleanup(): Promise<void>;
45
46
  /**
46
- * Displays a dimmed comment line for secondary information.
47
- * @param message - The comment text to display
48
- */
47
+ * Displays a dimmed comment line for secondary information.
48
+ * @param message - The comment text to display
49
+ */
49
50
  comment(message: string): void;
50
51
  /**
51
- * Prompts the user for yes/no confirmation.
52
- * @see https://www.clack.cc for prompt options
53
- */
52
+ * Prompts the user for yes/no confirmation.
53
+ * @see https://www.clack.cc for prompt options
54
+ */
54
55
  confirm: typeof p.confirm;
55
56
  /**
56
- * The dependency injection container providing access to services.
57
- * Includes database connections, cache clients, logger, mailer, and configuration.
58
- */
57
+ * The dependency injection container providing access to services.
58
+ * Includes database connections, cache clients, logger, mailer, and configuration.
59
+ */
59
60
  readonly container: C;
60
61
  /**
61
- * Displays an error message with the error symbol.
62
- * @param message - The error message to display
63
- */
62
+ * Displays an error message with the error symbol.
63
+ * @param message - The error message to display
64
+ */
64
65
  error(message: string): void;
65
66
  /**
66
- * Executes a shell command asynchronously.
67
- * @param command - The command to execute
68
- * @param args - Array of command arguments
69
- * @throws Error if the command exits with a non-zero code
70
- */
67
+ * Executes a shell command asynchronously.
68
+ * @param command - The command to execute
69
+ * @param args - Array of command arguments
70
+ * @throws Error if the command exits with a non-zero code
71
+ */
71
72
  exec(command: string, args: string[]): Promise<void>;
72
73
  /**
73
- * Displays an error message and terminates the process with exit code 1.
74
- * @param message - The error message to display before exiting
75
- */
74
+ * Displays an error message and terminates the process with exit code 1.
75
+ * @param message - The error message to display before exiting
76
+ */
76
77
  fail(message: string): never;
77
78
  /**
78
- * Executes a shell command with inherited stdio so output is visible.
79
- * Returns both the process handle and a promise that resolves on completion.
80
- * @param command - The command to execute
81
- * @param args - Array of command arguments
82
- * @returns Object with `proc` (ChildProcess) and `promise` (Promise)
83
- */
79
+ * Executes a shell command with inherited stdio so output is visible.
80
+ * Returns both the process handle and a promise that resolves on completion.
81
+ * @param command - The command to execute
82
+ * @param args - Array of command arguments
83
+ * @returns Object with `proc` (ChildProcess) and `promise` (Promise)
84
+ */
84
85
  run(command: string, args: string[]): {
85
86
  proc: ChildProcess;
86
87
  promise: Promise<void>;
87
88
  };
88
89
  /**
89
- * Groups multiple prompts together for sequential execution.
90
- * @see https://www.clack.cc for group options
91
- */
90
+ * Groups multiple prompts together for sequential execution.
91
+ * @see https://www.clack.cc for group options
92
+ */
92
93
  group: typeof p.group;
93
94
  /**
94
- * Displays an informational message with the info symbol.
95
- * @param message - The info message to display
96
- */
95
+ * Displays an informational message with the info symbol.
96
+ * @param message - The info message to display
97
+ */
97
98
  info(message: string): void;
98
99
  /**
99
- * Displays the command intro header.
100
- * @param title - The command name or title to display
101
- */
100
+ * Displays the command intro header.
101
+ * @param title - The command name or title to display
102
+ */
102
103
  intro(title: string): void;
103
104
  /**
104
- * Checks if a prompt result indicates user cancellation (Ctrl+C).
105
- * @param value - The prompt result to check
106
- * @returns True if the user cancelled the prompt
107
- */
105
+ * Checks if a prompt result indicates user cancellation (Ctrl+C).
106
+ * @param value - The prompt result to check
107
+ * @returns True if the user cancelled the prompt
108
+ */
108
109
  isCancel: typeof p.isCancel;
109
110
  /**
110
- * Displays a plain text line.
111
- * @param message - The text to display
112
- */
111
+ * Displays a plain text line.
112
+ * @param message - The text to display
113
+ */
113
114
  line(message: string): void;
114
115
  /**
115
- * Prompts the user to select multiple options from a list.
116
- * @see https://www.clack.cc for multiselect options
117
- */
116
+ * Prompts the user to select multiple options from a list.
117
+ * @see https://www.clack.cc for multiselect options
118
+ */
118
119
  multiselect: typeof p.multiselect;
119
120
  /**
120
- * Displays a formatted note box with optional title.
121
- * @param message - The note content
122
- * @param title - Optional title for the note
123
- */
121
+ * Displays a formatted note box with optional title.
122
+ * @param message - The note content
123
+ * @param title - Optional title for the note
124
+ */
124
125
  note(message: string, title?: string): void;
125
126
  /**
126
- * The parsed command-line options.
127
- * Type is inferred from the command's Zod opts schema.
128
- */
127
+ * The parsed command-line options.
128
+ * Type is inferred from the command's Zod opts schema.
129
+ */
129
130
  readonly opts: O;
130
131
  /**
131
- * Displays the command outro footer.
132
- * @param message - Optional completion message (defaults to "Done")
133
- */
132
+ * Displays the command outro footer.
133
+ * @param message - Optional completion message (defaults to "Done")
134
+ */
134
135
  outro(message?: string): void;
135
136
  /**
136
- * Prompts the user for password input with hidden characters.
137
- * @see https://www.clack.cc for prompt options
138
- */
137
+ * Prompts the user for password input with hidden characters.
138
+ * @see https://www.clack.cc for prompt options
139
+ */
139
140
  secret: typeof p.password;
140
141
  /**
141
- * Executes an async function while displaying an animated spinner.
142
- * Use for long-running operations like starting containers.
143
- * @template T - Return type of the task function
144
- * @param message - Message to display while spinning
145
- * @param fn - Async function to execute
146
- * @returns The result of the task function
147
- */
142
+ * Executes an async function while displaying an animated spinner.
143
+ * Use for long-running operations like starting containers.
144
+ * @template T - Return type of the task function
145
+ * @param message - Message to display while spinning
146
+ * @param fn - Async function to execute
147
+ * @returns The result of the task function
148
+ */
148
149
  spinner<T>(message: string, fn: () => Promise<T>): Promise<T>;
149
150
  /**
150
- * Displays a step message indicating progress.
151
- * @param message - The step description
152
- */
151
+ * Displays a step message indicating progress.
152
+ * @param message - The step description
153
+ */
153
154
  step(message: string): void;
154
155
  /**
155
- * Displays a success message with the success symbol.
156
- * @param message - The success message to display
157
- */
156
+ * Displays a success message with the success symbol.
157
+ * @param message - The success message to display
158
+ */
158
159
  success(message: string): void;
159
160
  /**
160
- * Displays data in a formatted note box as a table.
161
- * @param headers - Array of column header strings
162
- * @param rows - 2D array of cell values
163
- */
161
+ * Displays data in a formatted note box as a table.
162
+ * @param headers - Array of column header strings
163
+ * @param rows - 2D array of cell values
164
+ */
164
165
  table(headers: string[], rows: string[][]): void;
165
166
  /**
166
- * Executes an async function and displays the result with timing.
167
- * @template T - Return type of the task function
168
- * @param name - Display name for the task
169
- * @param fn - Async function to execute
170
- * @returns The result of the task function
171
- */
167
+ * Executes an async function and displays the result with timing.
168
+ * @template T - Return type of the task function
169
+ * @param name - Display name for the task
170
+ * @param fn - Async function to execute
171
+ * @returns The result of the task function
172
+ */
172
173
  task<T>(name: string, fn: () => Promise<T>): Promise<T>;
173
174
  /**
174
- * Displays a task status line without executing any function.
175
- * @param name - Display name for the task
176
- * @param status - Status text to display
177
- */
175
+ * Displays a task status line without executing any function.
176
+ * @param name - Display name for the task
177
+ * @param status - Status text to display
178
+ */
178
179
  taskStatus(name: string, status: string): void;
179
180
  /**
180
- * Displays a warning message with the warning symbol.
181
- * @param message - The warning message to display
182
- */
181
+ * Displays a warning message with the warning symbol.
182
+ * @param message - The warning message to display
183
+ */
183
184
  warn(message: string): void;
184
185
  }
185
186
  //#endregion
package/dist/api/cli.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  import "../auth-schema-OUnjUQlj.mjs";
2
2
  import "../redis-a5sw5J3L.mjs";
3
- import { C as version, a as COMMANDS_DIR, b as TEST_EXTENSIONS, f as FILE_EXT, h as MAIN_ENTRY, o as DATABASES_DIR, p as FIXTURES_DIR, r as BUILD_DIR, t as APPOS_DIR, u as EMAIL_THEME_FILE, v as ROOT_CSS_FILE, x as WEB_DIR } from "../constants-Cn8qeyGD.mjs";
4
- import { a as loadEvents } from "../event-BFYD8Mmy.mjs";
5
- import { i as loadWorkflows } from "../workflow-BN-NfNzZ.mjs";
6
- import { r as defineMigrationOpts } from "../database-s-rZuCOz.mjs";
7
- import { t as defineServer } from "../server-BNk1lm5r.mjs";
3
+ import { C as version, a as COMMANDS_DIR, b as TEST_EXTENSIONS, f as FILE_EXT, h as MAIN_ENTRY, o as DATABASES_DIR, p as FIXTURES_DIR, r as BUILD_DIR, t as APPOS_DIR, u as EMAIL_THEME_FILE, v as ROOT_CSS_FILE, x as WEB_DIR } from "../constants-B_32p-kc.mjs";
4
+ import { a as loadEvents } from "../event-sOqysSFh.mjs";
5
+ import { i as loadWorkflows } from "../workflow-CnIygzSZ.mjs";
6
+ import { r as defineMigrationOpts } from "../database-DQZAYngl.mjs";
7
+ import { t as defineServer } from "../server-AOtYV4Kv.mjs";
8
8
  import "../instrumentation-DCouyaIn.mjs";
9
9
  import "../app-context-CaxDuPj-.mjs";
10
- import "../openapi-kCcmkZ30.mjs";
10
+ import "../openapi-CaTQ810l.mjs";
11
11
  import "../context-9Yd81kh5.mjs";
12
12
  import { t as defineWorker } from "../worker-D4L3BmuS.mjs";
13
13
  import { createRequire } from "node:module";
@@ -479,6 +479,7 @@ var build_default = defineCommand({
479
479
  await build({
480
480
  banner: { js: `import{createRequire as __appos_createRequire}from"node:module";import{fileURLToPath as __appos_fileURLToPath}from"node:url";import{dirname as __appos_dirname}from"node:path";const __filename=__appos_fileURLToPath(import.meta.url);const __dirname=__appos_dirname(__filename);const require=__appos_createRequire(import.meta.url);` },
481
481
  bundle: true,
482
+ define: { "process.env.NODE_ENV": "\"production\"" },
482
483
  entryPoints,
483
484
  external: getEsbuildExternals(),
484
485
  format: "esm",
@@ -532,18 +533,15 @@ var check_default = defineCommand({
532
533
  opts: z.object({}),
533
534
  async run(ctx) {
534
535
  ctx.intro("check");
535
- ctx.step("Generating React Router types");
536
- await ctx.run("react-router", ["typegen"]).promise;
537
- ctx.step("Running Biome checks");
538
- await ctx.run("biome", [
536
+ await ctx.spinner("Generating React Router types", () => ctx.run("react-router", ["typegen"]).promise);
537
+ await ctx.spinner("Running Biome checks", () => ctx.run("biome", [
539
538
  "check",
540
539
  "--diagnostic-level=warn",
541
540
  "--write",
542
541
  "--unsafe",
543
542
  "."
544
- ]).promise;
545
- ctx.step("Running TypeScript checks");
546
- await ctx.run("tsgo", ["--noEmit"]).promise;
543
+ ]).promise);
544
+ await ctx.spinner("Running TypeScript checks", () => ctx.run("tsgo", ["--noEmit"]).promise);
547
545
  ctx.outro();
548
546
  }
549
547
  });
@@ -1,6 +1,6 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import "../database-Cch2A-2M.mjs";
3
- import "../auth-COwDukbw.mjs";
4
- import "../cache-D1ATIulZ.mjs";
5
- import { An as DefineAppContextOpts, Mn as defineAppContext, On as isLocalDev, a as defineAppContainer, i as WorkerConfig, jn as SessionData, kn as AppContext, n as Container, r as ServerConfig, t as AppContainer } from "../container-qBBwSMpE.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import "../database-Cmav5XND.mjs";
3
+ import "../auth-C8aruHqr.mjs";
4
+ import "../cache-DzIUoWOc.mjs";
5
+ import { An as DefineAppContextOpts, Mn as defineAppContext, On as isLocalDev, a as defineAppContainer, i as WorkerConfig, jn as SessionData, kn as AppContext, n as Container, r as ServerConfig, t as AppContainer } from "../container-cI-E_h3B.mjs";
6
6
  export { AppContainer, AppContext, Container, DefineAppContextOpts, ServerConfig, SessionData, WorkerConfig, defineAppContainer, defineAppContext, isLocalDev };
@@ -1,5 +1,5 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import { a as QualifiedTableNames, c as defineMigrationOpts, i as MigrationType, l as defineTestDatabase, n as DefineDatabaseOptions, o as dbChanges, r as DefineTestDatabaseOptions, s as defineDatabase, t as Database, u as migrationsSchema } from "../database-Cch2A-2M.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import { a as QualifiedTableNames, c as defineMigrationOpts, i as MigrationType, l as defineTestDatabase, n as DefineDatabaseOptions, o as dbChanges, r as DefineTestDatabaseOptions, s as defineDatabase, t as Database, u as migrationsSchema } from "../database-Cmav5XND.mjs";
3
3
  export * from "drizzle-orm";
4
4
  export * from "drizzle-seed";
5
5
  export { Database, DefineDatabaseOptions, DefineTestDatabaseOptions, MigrationType, QualifiedTableNames, dbChanges, defineDatabase, defineMigrationOpts, defineTestDatabase, migrationsSchema };
@@ -1,5 +1,5 @@
1
- import "../constants-Cn8qeyGD.mjs";
2
- import { a as migrationsSchema, i as defineTestDatabase, n as defineDatabase, r as defineMigrationOpts, t as dbChanges } from "../database-s-rZuCOz.mjs";
1
+ import "../constants-B_32p-kc.mjs";
2
+ import { a as migrationsSchema, i as defineTestDatabase, n as defineDatabase, r as defineMigrationOpts, t as dbChanges } from "../database-DQZAYngl.mjs";
3
3
 
4
4
  export * from "drizzle-orm"
5
5
 
@@ -1,6 +1,6 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import "../database-Cch2A-2M.mjs";
3
- import "../auth-COwDukbw.mjs";
4
- import "../cache-D1ATIulZ.mjs";
5
- import { Bn as defineEvent, Fn as Event, Hn as loadEvents, In as EventBus, Ln as EventContext, Nn as DbChangeInput, Pn as DefineEventBusOptions, Rn as dbChangeInputSchema, Vn as defineEventBus, zn as dbChangesEvent } from "../container-qBBwSMpE.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import "../database-Cmav5XND.mjs";
3
+ import "../auth-C8aruHqr.mjs";
4
+ import "../cache-DzIUoWOc.mjs";
5
+ import { Bn as defineEvent, Fn as Event, Hn as loadEvents, In as EventBus, Ln as EventContext, Nn as DbChangeInput, Pn as DefineEventBusOptions, Rn as dbChangeInputSchema, Vn as defineEventBus, zn as dbChangesEvent } from "../container-cI-E_h3B.mjs";
6
6
  export { DbChangeInput, DefineEventBusOptions, Event, EventBus, EventContext, dbChangeInputSchema, dbChangesEvent, defineEvent, defineEventBus, loadEvents };
@@ -1,5 +1,5 @@
1
1
  import "../redis-a5sw5J3L.mjs";
2
- import "../constants-Cn8qeyGD.mjs";
3
- import { a as loadEvents, i as defineEventBus, n as dbChangesEvent, r as defineEvent, t as dbChangeInputSchema } from "../event-BFYD8Mmy.mjs";
2
+ import "../constants-B_32p-kc.mjs";
3
+ import { a as loadEvents, i as defineEventBus, n as dbChangesEvent, r as defineEvent, t as dbChangeInputSchema } from "../event-sOqysSFh.mjs";
4
4
 
5
5
  export { dbChangeInputSchema, dbChangesEvent, defineEvent, defineEventBus, loadEvents };
@@ -1,6 +1,6 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import "../database-Cch2A-2M.mjs";
3
- import "../auth-COwDukbw.mjs";
4
- import "../cache-D1ATIulZ.mjs";
5
- import { $ as EmailButtonProps, A as Row, B as render, C as MailerPayloadReact, D as Preview, E as MarkdownProps, F as TailwindProps, G as EmailTheme, H as EmailLayout, I as defineEmail, J as getDefaultEmailTheme, K as defineEmailTailwindConfig, L as defineMailer, M as Section, N as SectionProps, O as PreviewProps, P as Tailwind, Q as Container, R as plainTextSelectors, S as MailerPayloadHtml, T as Markdown, U as EmailLayoutProps, V as toPlainText, W as EMAIL_THEME_KEYS, X as CodeBlock, Y as Button, Z as CodeInline, _ as HeadProps, _t as emailImgVariantKeys, at as EmailImgProps, b as Mailer, c as DefineEmailOptions, ct as Heading, d as EmailColumn, dt as Link, et as EmailCodeBlockProps, f as EmailColumnProps, ft as Text, g as Head, gt as emailHeadingSizeKeys, h as FontProps, ht as emailContainerVariantKeys, it as EmailHrProps, j as RowProps, k as RenderOptions, l as DefineMailerOptions, lt as Hr, m as Font, mt as emailButtonVariantKeys, nt as EmailContainerProps, o as Body, ot as EmailLinkProps, p as EmailComponent, pt as emailButtonSizeKeys, q as defineEmailTheme, rt as EmailHeadingProps, s as BodyProps, st as EmailTextProps, tt as EmailCodeInlineProps, u as DefineMailerOptionsWithQueue, ut as Img, v as Html, vt as emailTextVariantKeys, w as MailerWithQueue, x as MailerPayload, y as HtmlProps, z as pretty } from "../container-qBBwSMpE.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import "../database-Cmav5XND.mjs";
3
+ import "../auth-C8aruHqr.mjs";
4
+ import "../cache-DzIUoWOc.mjs";
5
+ import { $ as EmailButtonProps, A as Row, B as render, C as MailerPayloadReact, D as Preview, E as MarkdownProps, F as TailwindProps, G as EmailTheme, H as EmailLayout, I as defineEmail, J as getDefaultEmailTheme, K as defineEmailTailwindConfig, L as defineMailer, M as Section, N as SectionProps, O as PreviewProps, P as Tailwind, Q as Container, R as plainTextSelectors, S as MailerPayloadHtml, T as Markdown, U as EmailLayoutProps, V as toPlainText, W as EMAIL_THEME_KEYS, X as CodeBlock, Y as Button, Z as CodeInline, _ as HeadProps, _t as emailImgVariantKeys, at as EmailImgProps, b as Mailer, c as DefineEmailOptions, ct as Heading, d as EmailColumn, dt as Link, et as EmailCodeBlockProps, f as EmailColumnProps, ft as Text, g as Head, gt as emailHeadingSizeKeys, h as FontProps, ht as emailContainerVariantKeys, it as EmailHrProps, j as RowProps, k as RenderOptions, l as DefineMailerOptions, lt as Hr, m as Font, mt as emailButtonVariantKeys, nt as EmailContainerProps, o as Body, ot as EmailLinkProps, p as EmailComponent, pt as emailButtonSizeKeys, q as defineEmailTheme, rt as EmailHeadingProps, s as BodyProps, st as EmailTextProps, tt as EmailCodeInlineProps, u as DefineMailerOptionsWithQueue, ut as Img, v as Html, vt as emailTextVariantKeys, w as MailerWithQueue, x as MailerPayload, y as HtmlProps, z as pretty } from "../container-cI-E_h3B.mjs";
6
6
  export { Body, BodyProps, Button, CodeBlock, CodeInline, DefineEmailOptions, DefineMailerOptions, DefineMailerOptionsWithQueue, EMAIL_THEME_KEYS, EmailButtonProps, EmailCodeBlockProps, EmailCodeInlineProps, EmailColumn, EmailColumnProps, EmailComponent, Container as EmailContainer, EmailContainerProps, EmailHeadingProps, EmailHrProps, EmailImgProps, EmailLayout, EmailLayoutProps, EmailLinkProps, EmailTextProps, EmailTheme, Font, FontProps, Head, HeadProps, Heading, Hr, Html, HtmlProps, Img, Link, Mailer, MailerPayload, MailerPayloadHtml, MailerPayloadReact, MailerWithQueue, Markdown, MarkdownProps, Preview, PreviewProps, RenderOptions, Row, RowProps, Section, SectionProps, Tailwind, TailwindProps, Text, defineEmail, defineEmailTailwindConfig, defineEmailTheme, defineMailer, emailButtonSizeKeys, emailButtonVariantKeys, emailContainerVariantKeys, emailHeadingSizeKeys, emailImgVariantKeys, emailTextVariantKeys, getDefaultEmailTheme, plainTextSelectors, pretty, render, toPlainText };
@@ -1,8 +1,8 @@
1
1
  import "../auth-schema-OUnjUQlj.mjs";
2
2
  import "../redis-a5sw5J3L.mjs";
3
- import { i as BUILD_OUTPUT_DIR, u as EMAIL_THEME_FILE, v as ROOT_CSS_FILE, x as WEB_DIR } from "../constants-Cn8qeyGD.mjs";
4
- import "../event-BFYD8Mmy.mjs";
5
- import { a as sendEmail } from "../workflow-BN-NfNzZ.mjs";
3
+ import { i as BUILD_OUTPUT_DIR, u as EMAIL_THEME_FILE, v as ROOT_CSS_FILE, x as WEB_DIR } from "../constants-B_32p-kc.mjs";
4
+ import "../event-sOqysSFh.mjs";
5
+ import { a as sendEmail } from "../workflow-CnIygzSZ.mjs";
6
6
  import { n as parseThemeFromString } from "../colors-AFh2mCN3.mjs";
7
7
  import { join } from "node:path";
8
8
  import { existsSync, readFileSync } from "node:fs";
@@ -1,4 +1,4 @@
1
- import { n as Logger, r as defineLogger, t as DefineLoggerOptions } from "../logger-C8av5E6b.mjs";
1
+ import { n as Logger, r as defineLogger, t as DefineLoggerOptions } from "../logger-HYUt8RSz.mjs";
2
2
  import "../instrumentation-DL2LQsyM.mjs";
3
- import { n as withOtelSpan } from "../observability-D9z-cqNJ.mjs";
3
+ import { n as withOtelSpan } from "../observability-BHS1Ftrj.mjs";
4
4
  export { DefineLoggerOptions, Logger, defineLogger, withOtelSpan };
@@ -6,11 +6,24 @@ import { getCallSites } from "node:util";
6
6
  /**
7
7
  * Define the logger instance.
8
8
  *
9
+ * When OTEL_EXPORTER_OTLP_ENDPOINT is set, logs are exported to the OTLP
10
+ * endpoint via pino-opentelemetry-transport. Otherwise, logs go to stdout.
11
+ *
9
12
  * @param opts - The options.
10
13
  * @returns The logger.
14
+ *
15
+ * @example
16
+ * // Basic usage - logs to stdout
17
+ * const logger = await defineLogger({ level: "info" });
18
+ *
19
+ * @example
20
+ * // With OTLP export (set OTEL_EXPORTER_OTLP_ENDPOINT env var)
21
+ * // OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
22
+ * const logger = await defineLogger({ level: "info" });
11
23
  */
12
24
  async function defineLogger(opts) {
13
25
  const transports = [];
26
+ if (process.env.OTEL_EXPORTER_OTLP_ENDPOINT) transports.push({ target: "pino-opentelemetry-transport" });
14
27
  const commonOpts = {
15
28
  level: opts.level || "info",
16
29
  redact: opts.redact || [],
@@ -1,6 +1,6 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import "../database-Cch2A-2M.mjs";
3
- import "../auth-COwDukbw.mjs";
4
- import "../cache-D1ATIulZ.mjs";
5
- import { $t as DefineOpenAPIConfigInput, Qt as DefineOpenAPIConfig, an as RouteModule, cn as defineOpenAPIConfig, dn as generateOpenAPIDocument, en as DefineOpenAPIReturn, fn as loadAndRegisterAPIRoutes, hn as writeOpenAPISpecs, in as OpenAPIRegistration, ln as defineOpenAPIEndpoint, mn as scanAPIRoutes, nn as OpenAPIMethodSpec, on as ValidationErrorResponse, pn as registerRoutes, rn as OpenAPIObjectConfigV31, sn as defineOpenAPI, tn as HandlerParams, un as defineTypedResponses } from "../container-qBBwSMpE.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import "../database-Cmav5XND.mjs";
3
+ import "../auth-C8aruHqr.mjs";
4
+ import "../cache-DzIUoWOc.mjs";
5
+ import { $t as DefineOpenAPIConfigInput, Qt as DefineOpenAPIConfig, an as RouteModule, cn as defineOpenAPIConfig, dn as generateOpenAPIDocument, en as DefineOpenAPIReturn, fn as loadAndRegisterAPIRoutes, hn as writeOpenAPISpecs, in as OpenAPIRegistration, ln as defineOpenAPIEndpoint, mn as scanAPIRoutes, nn as OpenAPIMethodSpec, on as ValidationErrorResponse, pn as registerRoutes, rn as OpenAPIObjectConfigV31, sn as defineOpenAPI, tn as HandlerParams, un as defineTypedResponses } from "../container-cI-E_h3B.mjs";
6
6
  export { DefineOpenAPIConfig, DefineOpenAPIConfigInput, DefineOpenAPIReturn, HandlerParams, OpenAPIMethodSpec, OpenAPIObjectConfigV31, OpenAPIRegistration, RouteModule, ValidationErrorResponse, defineOpenAPI, defineOpenAPIConfig, defineOpenAPIEndpoint, defineTypedResponses, generateOpenAPIDocument, loadAndRegisterAPIRoutes, registerRoutes, scanAPIRoutes, writeOpenAPISpecs };
@@ -1,5 +1,5 @@
1
- import "../constants-Cn8qeyGD.mjs";
1
+ import "../constants-B_32p-kc.mjs";
2
2
  import "../app-context-CaxDuPj-.mjs";
3
- import { a as generateOpenAPIDocument, c as scanAPIRoutes, i as defineTypedResponses, l as writeOpenAPISpecs, n as defineOpenAPIConfig, o as loadAndRegisterAPIRoutes, r as defineOpenAPIEndpoint, s as registerRoutes, t as defineOpenAPI } from "../openapi-kCcmkZ30.mjs";
3
+ import { a as generateOpenAPIDocument, c as scanAPIRoutes, i as defineTypedResponses, l as writeOpenAPISpecs, n as defineOpenAPIConfig, o as loadAndRegisterAPIRoutes, r as defineOpenAPIEndpoint, s as registerRoutes, t as defineOpenAPI } from "../openapi-CaTQ810l.mjs";
4
4
 
5
5
  export { defineOpenAPI, defineOpenAPIConfig, defineOpenAPIEndpoint, defineTypedResponses, generateOpenAPIDocument, loadAndRegisterAPIRoutes, registerRoutes, scanAPIRoutes, writeOpenAPISpecs };
@@ -1,6 +1,6 @@
1
- import "../logger-C8av5E6b.mjs";
2
- import "../database-Cch2A-2M.mjs";
3
- import "../auth-COwDukbw.mjs";
4
- import "../cache-D1ATIulZ.mjs";
5
- import { Cn as defineServer, Dn as i18n, En as defineI18n, Sn as ServerInstance, Tn as defaultI18nConfig, _n as defineMiddleware, bn as DefineServerOptions, gn as Middleware, vn as loadMiddleware, wn as I18nInitOptions, xn as Server, yn as App } from "../container-qBBwSMpE.mjs";
1
+ import "../logger-HYUt8RSz.mjs";
2
+ import "../database-Cmav5XND.mjs";
3
+ import "../auth-C8aruHqr.mjs";
4
+ import "../cache-DzIUoWOc.mjs";
5
+ import { Cn as defineServer, Dn as i18n, En as defineI18n, Sn as ServerInstance, Tn as defaultI18nConfig, _n as defineMiddleware, bn as DefineServerOptions, gn as Middleware, vn as loadMiddleware, wn as I18nInitOptions, xn as Server, yn as App } from "../container-cI-E_h3B.mjs";
6
6
  export { App, DefineServerOptions, I18nInitOptions, Middleware, Server, ServerInstance, defaultI18nConfig, defineI18n, defineMiddleware, defineServer, i18n, loadMiddleware };
@@ -1,8 +1,8 @@
1
- import "../constants-Cn8qeyGD.mjs";
2
- import { a as loadMiddleware, i as defineMiddleware, n as defaultI18nConfig, r as defineI18n, t as defineServer } from "../server-BNk1lm5r.mjs";
1
+ import "../constants-B_32p-kc.mjs";
2
+ import { a as loadMiddleware, i as defineMiddleware, n as defaultI18nConfig, r as defineI18n, t as defineServer } from "../server-AOtYV4Kv.mjs";
3
3
  import "../instrumentation-DCouyaIn.mjs";
4
4
  import "../app-context-CaxDuPj-.mjs";
5
- import "../openapi-kCcmkZ30.mjs";
5
+ import "../openapi-CaTQ810l.mjs";
6
6
  import "../context-9Yd81kh5.mjs";
7
7
 
8
8
  export { defaultI18nConfig, defineI18n, defineMiddleware, defineServer, loadMiddleware };