ugly-app 0.1.19 → 0.1.22

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 (81) hide show
  1. package/dist/client/callAI.d.ts +11 -0
  2. package/dist/client/callAI.d.ts.map +1 -0
  3. package/dist/client/callAI.js +36 -0
  4. package/dist/client/callAI.js.map +1 -0
  5. package/dist/client/index.d.ts +2 -0
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +1 -0
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/server/App.d.ts.map +1 -1
  10. package/dist/server/App.js +7 -8
  11. package/dist/server/App.js.map +1 -1
  12. package/dist/server/Auth.d.ts +1 -0
  13. package/dist/server/Auth.d.ts.map +1 -1
  14. package/dist/server/Auth.js +33 -8
  15. package/dist/server/Auth.js.map +1 -1
  16. package/dist/server/DB.d.ts +35 -2
  17. package/dist/server/DB.d.ts.map +1 -1
  18. package/dist/server/DB.js +27 -22
  19. package/dist/server/DB.js.map +1 -1
  20. package/dist/server/ai/ImageGenClient.d.ts.map +1 -1
  21. package/dist/server/ai/ImageGenClient.js +2 -8
  22. package/dist/server/ai/ImageGenClient.js.map +1 -1
  23. package/dist/server/ai/ProviderSelector.d.ts +4 -9
  24. package/dist/server/ai/ProviderSelector.d.ts.map +1 -1
  25. package/dist/server/ai/ProviderSelector.js +2 -10
  26. package/dist/server/ai/ProviderSelector.js.map +1 -1
  27. package/dist/server/ai/TextGenBase.d.ts +12 -1
  28. package/dist/server/ai/TextGenBase.d.ts.map +1 -1
  29. package/dist/server/ai/TextGenBase.js.map +1 -1
  30. package/dist/server/ai/TextGenClient.d.ts.map +1 -1
  31. package/dist/server/ai/TextGenClient.js +1 -2
  32. package/dist/server/ai/TextGenClient.js.map +1 -1
  33. package/dist/server/ai/TextGenFactory.d.ts.map +1 -1
  34. package/dist/server/ai/TextGenFactory.js +28 -5
  35. package/dist/server/ai/TextGenFactory.js.map +1 -1
  36. package/dist/server/ai/fallbacks.js +1 -1
  37. package/dist/server/ai/fallbacks.js.map +1 -1
  38. package/dist/server/ai/providers/Claude.d.ts.map +1 -1
  39. package/dist/server/ai/providers/Claude.js +56 -5
  40. package/dist/server/ai/providers/Claude.js.map +1 -1
  41. package/dist/server/ai/providers/Fireworks.d.ts.map +1 -1
  42. package/dist/server/ai/providers/Fireworks.js +64 -2
  43. package/dist/server/ai/providers/Fireworks.js.map +1 -1
  44. package/dist/server/ai/providers/Google.js +1 -1
  45. package/dist/server/ai/providers/Google.js.map +1 -1
  46. package/dist/server/ai/providers/Groq.d.ts.map +1 -1
  47. package/dist/server/ai/providers/Groq.js +64 -5
  48. package/dist/server/ai/providers/Groq.js.map +1 -1
  49. package/dist/server/ai/providers/Kie.js +1 -1
  50. package/dist/server/ai/providers/Kie.js.map +1 -1
  51. package/dist/server/ai/providers/OpenAIText.d.ts.map +1 -1
  52. package/dist/server/ai/providers/OpenAIText.js +66 -5
  53. package/dist/server/ai/providers/OpenAIText.js.map +1 -1
  54. package/dist/server/ai/providers/Together.d.ts.map +1 -1
  55. package/dist/server/ai/providers/Together.js +64 -2
  56. package/dist/server/ai/providers/Together.js.map +1 -1
  57. package/dist/server/ai/providers/UglyBotImageGenProvider.d.ts.map +1 -1
  58. package/dist/server/ai/providers/UglyBotImageGenProvider.js +8 -1
  59. package/dist/server/ai/providers/UglyBotImageGenProvider.js.map +1 -1
  60. package/dist/server/ai/providers/UglyBotTextGenProvider.d.ts.map +1 -1
  61. package/dist/server/ai/providers/UglyBotTextGenProvider.js +29 -3
  62. package/dist/server/ai/providers/UglyBotTextGenProvider.js.map +1 -1
  63. package/dist/server/ai/types.d.ts +28 -13
  64. package/dist/server/ai/types.d.ts.map +1 -1
  65. package/dist/server/ai/types.js.map +1 -1
  66. package/dist/shared/DB.d.ts +10 -10
  67. package/dist/shared/DB.d.ts.map +1 -1
  68. package/dist/shared/ImageGen.d.ts +64 -0
  69. package/dist/shared/ImageGen.d.ts.map +1 -1
  70. package/dist/shared/ImageGen.js +34 -0
  71. package/dist/shared/ImageGen.js.map +1 -1
  72. package/dist/shared/TextGen.d.ts +212 -0
  73. package/dist/shared/TextGen.d.ts.map +1 -1
  74. package/dist/shared/TextGen.js +73 -0
  75. package/dist/shared/TextGen.js.map +1 -1
  76. package/package.json +1 -1
  77. package/templates/client/App.tsx +6 -8
  78. package/templates/client/pages/AITestPage.tsx +122 -0
  79. package/templates/client/pages/HomePage.tsx +8 -0
  80. package/templates/server/index.ts +1 -24
  81. package/templates/shared/api.ts +0 -14
@@ -0,0 +1,11 @@
1
+ import type { ImageGenInput, JsonGenInput, TextGenInput } from '../shared/index.js';
2
+ type AiSocket = {
3
+ call(op: string, input: unknown): Promise<unknown>;
4
+ };
5
+ /** Call once at app startup (e.g. after socket.connect()) to enable the socket-based path. */
6
+ export declare function initAiClientSocket(socket: AiSocket): void;
7
+ export declare const callTextGen: (input: TextGenInput) => Promise<string>;
8
+ export declare const callJsonGen: <T = unknown>(input: JsonGenInput) => Promise<T>;
9
+ export declare const callImageGen: (input: ImageGenInput) => Promise<string>;
10
+ export {};
11
+ //# sourceMappingURL=callAI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callAI.d.ts","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAWpF,KAAK,QAAQ,GAAG;IAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAGvE,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAEzD;AA4BD,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,KAAG,OAAO,CAAC,MAAM,CACjB,CAAC;AAEhD,eAAO,MAAM,WAAW,GAAI,CAAC,GAAG,OAAO,EAAE,OAAO,YAAY,KAAG,OAAO,CAAC,CAAC,CAC9B,CAAC;AAE3C,eAAO,MAAM,YAAY,GAAI,OAAO,aAAa,KAAG,OAAO,CAAC,MAAM,CAClB,CAAC"}
@@ -0,0 +1,36 @@
1
+ // VITE_USE_UGLY_BOT_API defaults to true; set to 'false' to route through the app socket instead
2
+ const USE_UGLY_BOT = import.meta.env?.VITE_USE_UGLY_BOT_API !== 'false';
3
+ const UGLY_BOT_URL = import.meta.env?.VITE_UGLY_BOT_URL ??
4
+ 'https://ugly.bot';
5
+ let _socket = null;
6
+ /** Call once at app startup (e.g. after socket.connect()) to enable the socket-based path. */
7
+ export function initAiClientSocket(socket) {
8
+ _socket = socket;
9
+ }
10
+ async function callViaUglyBot(op, input) {
11
+ const token = window.__AUTH_TOKEN__;
12
+ const res = await fetch(`${UGLY_BOT_URL}/request`, {
13
+ method: 'POST',
14
+ headers: {
15
+ Authorization: `Bearer ${token ?? ''}`,
16
+ 'Content-Type': 'application/json',
17
+ },
18
+ body: JSON.stringify({ op, input, sessionId: 'ai-test' }),
19
+ });
20
+ if (!res.ok) {
21
+ const body = await res.text().catch(() => '');
22
+ throw new Error(`${res.status}: ${body}`);
23
+ }
24
+ return (await res.json()).result;
25
+ }
26
+ async function dispatch(op, input) {
27
+ if (USE_UGLY_BOT)
28
+ return callViaUglyBot(op, input);
29
+ if (!_socket)
30
+ throw new Error('[callAI] Socket not initialized — call initAiClientSocket() first');
31
+ return _socket.call(op, input);
32
+ }
33
+ export const callTextGen = (input) => dispatch('textGen', input);
34
+ export const callJsonGen = (input) => dispatch('jsonGen', input);
35
+ export const callImageGen = (input) => dispatch('imageGen', input);
36
+ //# sourceMappingURL=callAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callAI.js","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"AAEA,iGAAiG;AACjG,MAAM,YAAY,GACf,MAAM,CAAC,IAAyC,CAAC,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC;AAE3F,MAAM,YAAY,GACf,MAAM,CAAC,IAAyC,CAAC,GAAG,EAAE,iBAAiB;IACxE,kBAAkB,CAAC;AAIrB,IAAI,OAAO,GAAoB,IAAI,CAAC;AAEpC,8FAA8F;AAC9F,MAAM,UAAU,kBAAkB,CAAC,MAAgB;IACjD,OAAO,GAAG,MAAM,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,EAAU,EAAE,KAAc;IACtD,MAAM,KAAK,GAAI,MAAiD,CAAC,cAAc,CAAC;IAChF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,UAAU,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,IAAI,EAAE,EAAE;YACtC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;KAC1D,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC,MAAM,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,EAAU,EAAE,KAAc;IAChD,IAAI,YAAY;QAAE,OAAO,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;IACJ,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAmB,EAAE,CAClE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAoB,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAc,KAAmB,EAAc,EAAE,CAC1E,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAe,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAmB,EAAE,CACpE,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAoB,CAAC"}
@@ -1,3 +1,5 @@
1
+ export { callTextGen, callJsonGen, callImageGen, initAiClientSocket, } from './callAI.js';
2
+ export type { TextGenInput, JsonGenInput, ImageGenInput, TextGenCallOptions, ImageGenCallOptions, Message, ContentPart, } from '../shared/index.js';
1
3
  export type { AnimConfig, AppRouterBase, PopupMode, PopupSlideFrom, RouterState, TransitionType, } from '../shared/Router.js';
2
4
  export { Animated } from './animation/Animated.js';
3
5
  export type { AnimatedStyle } from './animation/Animated.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,OAAO,EACP,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { callTextGen, callJsonGen, callImageGen, initAiClientSocket, } from './callAI.js';
1
2
  export { Animated } from './animation/Animated.js';
2
3
  export { createAnimatedValue, easingFunctions, useAnimatedValue, } from './animation/animatedValue.js';
3
4
  export { FadeIn } from './animations/FadeIn.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAkBrB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EAErB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAKL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAcnB,OAAO,EAAE,SAAS,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,EAAE,WAAW,EAAE,CAAC;AAOvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IAEpB,UAAU,CAAC,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC;;;OAGG;IAEH,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE7C,kBAAkB,CAChB,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,GAChE,IAAI,CAAC;IAER,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC;IAER,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAEzC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAE9E,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,GAAI,SAAQ,SAAS;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,UAAU,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C;AAED,wBAAgB,SAAS,CACvB,CAAC,SAAS,eAAe,EACzB,IAAI,SAAS,qBAAqB,EAElC,QAAQ,EAAE,CAAC,EACX,OAAO,GAAE,IAAiB,EAC1B,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,GAClD,GAAG,CA2QL"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EAGrB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAKL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAcnB,OAAO,EAAE,SAAS,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,EAAE,WAAW,EAAE,CAAC;AAOvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IAEpB,UAAU,CAAC,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC;;;OAGG;IAEH,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE7C,kBAAkB,CAChB,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,GAChE,IAAI,CAAC;IAER,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC;IAER,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAEzC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAE9E,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,GAAI,SAAQ,SAAS;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,UAAU,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C;AAED,wBAAgB,SAAS,CACvB,CAAC,SAAS,eAAe,EACzB,IAAI,SAAS,qBAAqB,EAElC,QAAQ,EAAE,CAAC,EACX,OAAO,GAAE,IAAiB,EAC1B,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,GAClD,GAAG,CAsQL"}
@@ -71,14 +71,13 @@ export function createApp(registry, appDefs = {}, configure) {
71
71
  // Call configure callback if provided
72
72
  if (configure)
73
73
  configure(configurator);
74
- if (!userHelper) {
75
- throw new Error('[App] config.setUserHelper() is required — call it in your createApp configure callback');
76
- }
77
- if (!onUserCreate) {
78
- throw new Error('[App] config.setOnUserCreate() is required call it in your createApp configure callback');
79
- }
80
- const resolvedUserHelper = userHelper;
81
- const resolvedOnUserCreate = onUserCreate;
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
+ const resolvedUserHelper = userHelper ?? {
76
+ get: (db, userId) => db.getDoc('user', userId),
77
+ set: async () => false,
78
+ update: async (_db, userId) => ({ id: userId, version: 0, created: new Date(), updated: new Date() }),
79
+ };
80
+ const resolvedOnUserCreate = onUserCreate ?? (async () => { });
82
81
  const rateLimiter = createRateLimiter();
83
82
  const router = createRouter(registry, typedDb, contextExtensionFn ?? undefined, rateLimiter);
84
83
  expressApp.use(cookieParser());
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,6 @@ export type OnUserCreate = (userId: string, info: {
17
17
  email?: string;
18
18
  phone?: string;
19
19
  }, db: TypedDB<any>) => Promise<void>;
20
+ export declare function createAuthRoutes(provider?: AuthProvider): express.Router;
20
21
  export declare function createAuthRoutes(db: TypedDB<any>, userHelper: UserHelper<any>, onUserCreate: OnUserCreate, provider?: AuthProvider): express.Router;
21
22
  //# sourceMappingURL=Auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../src/server/Auth.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW3D,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM/D;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIhE;AAED,MAAM,WAAW,YAAY;IAE3B,MAAM,CACJ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAEhC,cAAc,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,mBAAmB,EAAE,YAyBjC,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACxC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,KACb,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,wBAAgB,gBAAgB,CAE9B,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAEhB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAC3B,YAAY,EAAE,YAAY,EAC1B,QAAQ,GAAE,YAAkC,GAC3C,OAAO,CAAC,MAAM,CAgIhB"}
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../src/server/Auth.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAY3D,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM/D;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIhE;AAED,MAAM,WAAW,YAAY;IAE3B,MAAM,CACJ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAEhC,cAAc,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,mBAAmB,EAAE,YAyBjC,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACxC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,KACb,OAAO,CAAC,IAAI,CAAC,CAAC;AAYnB,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;AAE1E,wBAAgB,gBAAgB,CAE9B,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAEhB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAC3B,YAAY,EAAE,YAAY,EAC1B,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,MAAM,CAAC"}
@@ -3,6 +3,7 @@ import { SignJWT, jwtVerify } from 'jose';
3
3
  import { nanoid } from 'nanoid';
4
4
  import { BUILTIN_DEFS, dbDefaults } from '../shared/DB.js';
5
5
  import { AuthError } from '../shared/Errors.js';
6
+ import { createTypedDB } from './DB.js';
6
7
  import { writeClientLogEntry } from './Logging.js';
7
8
  function getJwtSecret() {
8
9
  const secret = process.env.JWT_SECRET;
@@ -50,11 +51,35 @@ export const uglyBotAuthProvider = {
50
51
  };
51
52
  },
52
53
  };
54
+ // No-op defaults used when createAuthRoutes() is called without explicit db/userHelper
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ const noOpUserHelper = {
57
+ get: async () => null,
58
+ set: async () => false,
59
+ update: async (_db, userId) => ({ id: userId, version: 0, created: new Date(), updated: new Date() }),
60
+ };
61
+ const noOpOnUserCreate = async () => { };
53
62
  export function createAuthRoutes(
54
63
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
- db,
64
+ dbOrProvider,
56
65
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
- userHelper, onUserCreate, provider = uglyBotAuthProvider) {
66
+ userHelper, onUserCreate, provider) {
67
+ // Detect which overload was used by checking if first arg has a 'verify' method
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ let db;
70
+ let resolvedProvider;
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ const isAuthProvider = (v) => typeof v === 'object' && v !== null && 'verify' in v && 'authUrl' in v;
73
+ if (dbOrProvider === undefined || isAuthProvider(dbOrProvider)) {
74
+ db = createTypedDB(BUILTIN_DEFS);
75
+ resolvedProvider = dbOrProvider ?? uglyBotAuthProvider;
76
+ }
77
+ else {
78
+ db = dbOrProvider;
79
+ resolvedProvider = provider ?? uglyBotAuthProvider;
80
+ }
81
+ const resolvedUserHelper = userHelper ?? noOpUserHelper;
82
+ const resolvedOnUserCreate = onUserCreate ?? noOpOnUserCreate;
58
83
  const router = express.Router();
59
84
  // POST /auth/verify — client sends OAuth code, server verifies and returns JWT
60
85
  router.post('/auth/verify', async (req, res) => {
@@ -64,11 +89,11 @@ userHelper, onUserCreate, provider = uglyBotAuthProvider) {
64
89
  res.status(400).json({ error: 'Missing code' });
65
90
  return;
66
91
  }
67
- const { userId, email, phone } = await provider.verify(code);
92
+ const { userId, email, phone } = await resolvedProvider.verify(code);
68
93
  // Find or create user — app is responsible for the full user record
69
- const existing = await userHelper.get(db, userId);
94
+ const existing = await resolvedUserHelper.get(db, userId);
70
95
  if (!existing) {
71
- await onUserCreate(userId, { email, phone }, db);
96
+ await resolvedOnUserCreate(userId, { email, phone }, db);
72
97
  }
73
98
  const token = await signToken(userId);
74
99
  res.cookie('auth_token', token, {
@@ -121,7 +146,7 @@ userHelper, onUserCreate, provider = uglyBotAuthProvider) {
121
146
  res.status(400).json({ error: 'Missing origin' });
122
147
  return;
123
148
  }
124
- res.json({ url: provider.authUrl(origin) });
149
+ res.json({ url: resolvedProvider.authUrl(origin) });
125
150
  });
126
151
  const MAX_LOG_ENTRIES = 100;
127
152
  const MAX_FIELD_LENGTH = 10_000; // ~10 KB per field — rejects BASE64 blobs
@@ -163,8 +188,8 @@ userHelper, onUserCreate, provider = uglyBotAuthProvider) {
163
188
  }
164
189
  });
165
190
  // Register any provider-specific routes
166
- if (provider.registerRoutes) {
167
- provider.registerRoutes(router);
191
+ if (resolvedProvider.registerRoutes) {
192
+ resolvedProvider.registerRoutes(router);
168
193
  }
169
194
  return router;
170
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/server/Auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/server/Auth.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { MongoClient } from 'mongodb';
2
- import { CollectionDefRegistry, TypedDB } from '../shared/DB.js';
1
+ import { Document, Filter, MongoClient } from 'mongodb';
2
+ import { CollectionDefRegistry, DBObject, DocFields, MongoUpdateOp, TypedDB } from '../shared/DB.js';
3
3
  /**
4
4
  * Validate that a raw leaf id does not contain ':'.
5
5
  * Compound ids (parentId) legitimately contain ':' and are NOT validated here.
@@ -9,6 +9,39 @@ export declare function initMongoClient(uri: string, dbName?: string): Promise<v
9
9
  export declare function getMongoClient(): Promise<MongoClient>;
10
10
  export declare function getDbName(): string;
11
11
  export declare function stopMongo(): Promise<void>;
12
+ export declare function getDoc<T extends DBObject>(collection: string, id: string, parentId?: string): Promise<T | null>;
13
+ export declare function setDoc<T extends DBObject>(collection: string, doc: T, options?: {
14
+ skipIfExists?: boolean;
15
+ parentId?: string;
16
+ }): Promise<boolean>;
17
+ export declare function setDocFields<T extends DBObject>(collection: string, id: string, fields: DocFields<T>, options?: {
18
+ parentId?: string;
19
+ }): Promise<T>;
20
+ export declare function setDocFieldsOrIgnore<T extends DBObject>(collection: string, id: string, fields: DocFields<T>, options?: {
21
+ parentId?: string;
22
+ }): Promise<T | null>;
23
+ export declare function setDocFieldsOrCreate<T extends DBObject>(collection: string, id: string, fields: DocFields<T>, obj: T, options?: {
24
+ parentId?: string;
25
+ }): Promise<T>;
26
+ export declare function setDocOp<T extends DBObject>(collection: string, id: string, op: MongoUpdateOp<T>, options?: {
27
+ parentId?: string;
28
+ }): Promise<T>;
29
+ export declare function setDocOpOrIgnore<T extends DBObject>(collection: string, id: string, op: MongoUpdateOp<T>, options?: {
30
+ parentId?: string;
31
+ }): Promise<T | null>;
32
+ export declare function deleteDoc(collection: string, id: string, options?: {
33
+ parentId?: string;
34
+ }): Promise<void>;
35
+ export declare function getDocs<T extends DBObject>(collection: string, filter?: Filter<Document>, options?: {
36
+ sort?: Record<string, 1 | -1>;
37
+ limit?: number;
38
+ skip?: number;
39
+ }): Promise<T[]>;
40
+ export declare function getQueryCount(collection: string, pipeline: Record<string, unknown>[]): Promise<number>;
41
+ export declare function getQueryRaw<T>(collection: string, pipeline: Record<string, unknown>[], options?: {
42
+ skip?: number;
43
+ limit?: number;
44
+ }): Promise<T[]>;
12
45
  type CollectionMap<Defs extends CollectionDefRegistry> = {
13
46
  [K in keyof Defs]: Defs[K]['type'];
14
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,WAAW,EAAoB,MAAM,SAAS,CAAC;AAC1E,OAAO,EAEL,qBAAqB,EAIrB,OAAO,EACR,MAAM,iBAAiB,CAAC;AAczB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAI9C;AAyDD,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAM3D;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/C;AAqQD,KAAK,aAAa,CAAC,IAAI,SAAS,qBAAqB,IAAI;KACtD,CAAC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,SAAS,qBAAqB,EAC9D,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAwT9B"}
1
+ {"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"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"}
package/dist/server/DB.js CHANGED
@@ -104,16 +104,16 @@ function docCacheKey(collection, id, parentId) {
104
104
  : buildCacheKey(collection, id);
105
105
  }
106
106
  // ---------------------------------------------------------------------------
107
- // Private standalone helpers (used by createTypedDB and rawGetDoc/rawGetDocs)
107
+ // Standalone helpers (exported for direct use and used by createTypedDB)
108
108
  // ---------------------------------------------------------------------------
109
- async function getDoc(collection, id, parentId) {
109
+ export async function getDoc(collection, id, parentId) {
110
110
  const compoundId = toMongoId(id, parentId);
111
111
  const raw = await db()
112
112
  .collection(collection)
113
113
  .findOne({ _id: compoundId });
114
114
  return fromMongoDoc(raw);
115
115
  }
116
- async function setDoc(collection, doc, options) {
116
+ export async function setDoc(collection, doc, options) {
117
117
  const parentId = options?.parentId;
118
118
  const mongoDoc = toMongoDoc(doc, parentId);
119
119
  const compoundId = toMongoId(doc.id, parentId);
@@ -156,7 +156,7 @@ update) {
156
156
  .findOneAndUpdate({ _id: compoundId }, update, { returnDocument: 'after' });
157
157
  return fromMongoDoc(raw);
158
158
  }
159
- async function setDocFields(collection, id, fields, options) {
159
+ export async function setDocFields(collection, id, fields, options) {
160
160
  const compoundId = toMongoId(id, options?.parentId);
161
161
  const updated = await findOneAndUpdateDoc(collection, compoundId, {
162
162
  $set: fields,
@@ -166,7 +166,7 @@ async function setDocFields(collection, id, fields, options) {
166
166
  publishDocUpdate(compoundId, collection, updated);
167
167
  return updated;
168
168
  }
169
- async function setDocFieldsOrIgnore(collection, id, fields, options) {
169
+ export async function setDocFieldsOrIgnore(collection, id, fields, options) {
170
170
  const compoundId = toMongoId(id, options?.parentId);
171
171
  const updated = await findOneAndUpdateDoc(collection, compoundId, {
172
172
  $set: fields,
@@ -175,14 +175,14 @@ async function setDocFieldsOrIgnore(collection, id, fields, options) {
175
175
  publishDocUpdate(compoundId, collection, updated);
176
176
  return updated;
177
177
  }
178
- async function setDocFieldsOrCreate(collection, id, fields, obj, options) {
178
+ export async function setDocFieldsOrCreate(collection, id, fields, obj, options) {
179
179
  const existing = await setDocFieldsOrIgnore(collection, id, fields, options);
180
180
  if (existing)
181
181
  return existing;
182
182
  await setDoc(collection, obj, options);
183
183
  return obj;
184
184
  }
185
- async function setDocOp(collection, id, op, options) {
185
+ export async function setDocOp(collection, id, op, options) {
186
186
  const compoundId = toMongoId(id, options?.parentId);
187
187
  const updated = await findOneAndUpdateDoc(collection, compoundId, op);
188
188
  if (!updated)
@@ -190,21 +190,21 @@ async function setDocOp(collection, id, op, options) {
190
190
  publishDocUpdate(compoundId, collection, updated);
191
191
  return updated;
192
192
  }
193
- async function setDocOpOrIgnore(collection, id, op, options) {
193
+ export async function setDocOpOrIgnore(collection, id, op, options) {
194
194
  const compoundId = toMongoId(id, options?.parentId);
195
195
  const updated = await findOneAndUpdateDoc(collection, compoundId, op);
196
196
  if (updated)
197
197
  publishDocUpdate(compoundId, collection, updated);
198
198
  return updated;
199
199
  }
200
- async function deleteDoc(collection, id, options) {
200
+ export async function deleteDoc(collection, id, options) {
201
201
  const compoundId = toMongoId(id, options?.parentId);
202
202
  await db()
203
203
  .collection(collection)
204
204
  .deleteOne({ _id: compoundId });
205
205
  publishDocDelete(compoundId, collection);
206
206
  }
207
- async function getDocs(collection, filter = {}, options = {}) {
207
+ export async function getDocs(collection, filter = {}, options = {}) {
208
208
  let cursor = db().collection(collection).find(filter);
209
209
  if (options.sort)
210
210
  cursor = cursor.sort(options.sort);
@@ -228,12 +228,12 @@ async function getQuery(collection, pipeline, options) {
228
228
  .map((r) => fromMongoDoc(r))
229
229
  .filter(Boolean);
230
230
  }
231
- async function getQueryCount(collection, pipeline) {
231
+ export async function getQueryCount(collection, pipeline) {
232
232
  const stages = [...pipeline, { $count: 'count' }];
233
233
  const raw = await db().collection(collection).aggregate(stages).toArray();
234
234
  return raw[0]?.count ?? 0;
235
235
  }
236
- async function getQueryRaw(collection, pipeline, options) {
236
+ export async function getQueryRaw(collection, pipeline, options) {
237
237
  const stages = [...pipeline];
238
238
  if (options?.skip)
239
239
  stages.push({ $skip: options.skip });
@@ -291,10 +291,15 @@ export function createTypedDB(defs) {
291
291
  cacheDelete(docCacheKey(collection, leafId, parentId));
292
292
  }
293
293
  }
294
+ // Resolve collection name from either a CollectionDef object or a plain string
295
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
296
+ function colName(collection) {
297
+ return typeof collection === 'string' ? collection : collection.name;
298
+ }
294
299
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
295
300
  const typedDb = {
296
301
  getDoc: async (collection, id, parentId) => {
297
- const name = collection.name;
302
+ const name = colName(collection);
298
303
  const meta = defs[name]?.meta;
299
304
  const compoundId = toMongoId(id, parentId);
300
305
  if (meta?.cache) {
@@ -313,7 +318,7 @@ export function createTypedDB(defs) {
313
318
  return fromMongoDoc(raw);
314
319
  },
315
320
  setDoc: async (collection, doc, options) => {
316
- const name = collection.name;
321
+ const name = colName(collection);
317
322
  const result = await setDoc(name, doc, options);
318
323
  if (result) {
319
324
  const meta = defs[name]?.meta;
@@ -325,7 +330,7 @@ export function createTypedDB(defs) {
325
330
  return result;
326
331
  },
327
332
  setDocFields: async (collection, id, fields, options) => {
328
- const name = collection.name;
333
+ const name = colName(collection);
329
334
  const updated = await setDocFields(name, id, fields, options);
330
335
  const meta = defs[name]?.meta;
331
336
  if (meta?.cache) {
@@ -335,7 +340,7 @@ export function createTypedDB(defs) {
335
340
  return updated;
336
341
  },
337
342
  setDocFieldsOrIgnore: async (collection, id, fields, options) => {
338
- const name = collection.name;
343
+ const name = colName(collection);
339
344
  const updated = await setDocFieldsOrIgnore(name, id, fields, options);
340
345
  if (updated) {
341
346
  const meta = defs[name]?.meta;
@@ -347,7 +352,7 @@ export function createTypedDB(defs) {
347
352
  return updated;
348
353
  },
349
354
  setDocFieldsOrCreate: async (collection, id, fields, obj, options) => {
350
- const name = collection.name;
355
+ const name = colName(collection);
351
356
  const result = await setDocFieldsOrCreate(name, id, fields, obj, options);
352
357
  const meta = defs[name]?.meta;
353
358
  if (meta?.cache) {
@@ -357,7 +362,7 @@ export function createTypedDB(defs) {
357
362
  return result;
358
363
  },
359
364
  setDocOp: async (collection, id, op, options) => {
360
- const name = collection.name;
365
+ const name = colName(collection);
361
366
  const updated = await setDocOp(name, id, op, options);
362
367
  const meta = defs[name]?.meta;
363
368
  if (meta?.cache) {
@@ -367,7 +372,7 @@ export function createTypedDB(defs) {
367
372
  return updated;
368
373
  },
369
374
  setDocOpOrIgnore: async (collection, id, op, options) => {
370
- const name = collection.name;
375
+ const name = colName(collection);
371
376
  const updated = await setDocOpOrIgnore(name, id, op, options);
372
377
  if (updated) {
373
378
  const meta = defs[name]?.meta;
@@ -379,12 +384,12 @@ export function createTypedDB(defs) {
379
384
  return updated;
380
385
  },
381
386
  deleteDoc: async (collection, id, options) => {
382
- const name = collection.name;
387
+ const name = colName(collection);
383
388
  const compoundId = toMongoId(id, options?.parentId);
384
389
  await cascadeDeleteDoc(name, id, compoundId);
385
390
  },
386
391
  getDocs: async (collection, filter, options) => {
387
- const name = collection.name;
392
+ const name = colName(collection);
388
393
  const { parentId, ...rest } = options ?? {};
389
394
  const effectiveFilter = { ...(filter ?? {}) };
390
395
  if (parentId !== undefined) {
@@ -401,7 +406,7 @@ export function createTypedDB(defs) {
401
406
  getQueryCount: (collection, pipeline) => getQueryCount(collection, pipeline),
402
407
  getQueryRaw: (collection, pipeline, options) => getQueryRaw(collection, pipeline, options),
403
408
  deleteQuery: async (collection, match, options) => {
404
- const name = collection.name;
409
+ const name = colName(collection);
405
410
  const { parentId } = options ?? {};
406
411
  const effectiveMatch = { ...match };
407
412
  if (parentId !== undefined) {