ugly-app 0.1.577 → 0.1.579

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 (41) hide show
  1. package/dist/cli/version.d.ts +1 -1
  2. package/dist/cli/version.js +1 -1
  3. package/dist/client/components/KeyboardProvider.d.ts.map +1 -1
  4. package/dist/client/components/KeyboardProvider.js +74 -31
  5. package/dist/client/components/KeyboardProvider.js.map +1 -1
  6. package/dist/server/PushSend.d.ts.map +1 -1
  7. package/dist/server/PushSend.js +6 -7
  8. package/dist/server/PushSend.js.map +1 -1
  9. package/dist/server/User.d.ts.map +1 -1
  10. package/dist/server/User.js +4 -1
  11. package/dist/server/User.js.map +1 -1
  12. package/dist/server/ai/providers/UglyBotImageGenProvider.d.ts.map +1 -1
  13. package/dist/server/ai/providers/UglyBotImageGenProvider.js +7 -6
  14. package/dist/server/ai/providers/UglyBotImageGenProvider.js.map +1 -1
  15. package/dist/server/ai/providers/UglyBotTextGenProvider.d.ts.map +1 -1
  16. package/dist/server/ai/providers/UglyBotTextGenProvider.js +23 -7
  17. package/dist/server/ai/providers/UglyBotTextGenProvider.js.map +1 -1
  18. package/dist/server/embeddings/providers/OpenAI.js.map +1 -1
  19. package/dist/server/uglyBotProxy.d.ts +16 -1
  20. package/dist/server/uglyBotProxy.d.ts.map +1 -1
  21. package/dist/server/uglyBotProxy.js +28 -4
  22. package/dist/server/uglyBotProxy.js.map +1 -1
  23. package/dist/shared/ProxyOps.d.ts +747 -0
  24. package/dist/shared/ProxyOps.d.ts.map +1 -0
  25. package/dist/shared/ProxyOps.js +272 -0
  26. package/dist/shared/ProxyOps.js.map +1 -0
  27. package/dist/shared/index.d.ts +1 -0
  28. package/dist/shared/index.d.ts.map +1 -1
  29. package/dist/shared/index.js +1 -0
  30. package/dist/shared/index.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/cli/version.ts +1 -1
  33. package/src/client/components/KeyboardProvider.tsx +70 -15
  34. package/src/server/PushSend.ts +7 -9
  35. package/src/server/User.ts +4 -1
  36. package/src/server/ai/providers/UglyBotImageGenProvider.ts +13 -21
  37. package/src/server/ai/providers/UglyBotTextGenProvider.ts +47 -37
  38. package/src/server/embeddings/providers/OpenAI.ts +1 -1
  39. package/src/server/uglyBotProxy.ts +48 -10
  40. package/src/shared/ProxyOps.ts +301 -0
  41. package/src/shared/index.ts +1 -0
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.577";
1
+ export declare const CLI_VERSION = "0.1.579";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.577";
2
+ export const CLI_VERSION = "0.1.579";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardProvider.d.ts","sourceRoot":"","sources":["../../../src/client/components/KeyboardProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,yEAAyE;IACzE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAUD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAO,cAEpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,OAEpC,CAAC;AAmCF,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,2CA4YtE;AAID,wBAAgB,cAAc,CAAC,EAAE,cAAc,EAAE,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,2CAM9E"}
1
+ {"version":3,"file":"KeyboardProvider.d.ts","sourceRoot":"","sources":["../../../src/client/components/KeyboardProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,yEAAyE;IACzE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAUD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAO,cAEpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,OAEpC,CAAC;AA4CF,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,2CAybtE;AAID,wBAAgB,cAAc,CAAC,EAAE,cAAc,EAAE,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,2CAM9E"}
@@ -1,5 +1,6 @@
1
1
  import { jsxs as _jsxs, Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
+ import { createPortal } from 'react-dom';
3
4
  const SafeAreaContext = createContext({
4
5
  top: 0,
5
6
  bottom: 0,
@@ -41,6 +42,13 @@ function useStateRef(initialValue) {
41
42
  return [state, setState, ref];
42
43
  }
43
44
  // ---------- KeyboardProvider ----------
45
+ // When the VirtualKeyboard API is present (real on Chrome, polyfilled by the
46
+ // iOS/Android native shells), it is the AUTHORITATIVE keyboard-height source via
47
+ // geometrychange. In that case the visualViewport-diff heuristic must NOT also
48
+ // set the keyboard height — the two disagree (the diff path subtracts the CSS
49
+ // safe-area, yielding e.g. 346 vs the real 380) and fight, double-counting.
50
+ const hasVirtualKeyboardAPI = () => typeof navigator !== 'undefined' &&
51
+ !!navigator.virtualKeyboard;
44
52
  export function KeyboardProvider({ children }) {
45
53
  // Initialize with native values persisted on window or localStorage
46
54
  // (window globals are cleared on reload, localStorage survives).
@@ -110,9 +118,11 @@ export function KeyboardProvider({ children }) {
110
118
  offsets.bottom = Math.max(offsets.bottom, keyboardHeightRef.current);
111
119
  }
112
120
  // Detect keyboard from visualViewport when no native keyboard event
113
- // (fallback for Android PWA / browser)
121
+ // (fallback for Android PWA / browser). Skip when the VirtualKeyboard API
122
+ // owns the height — see hasVirtualKeyboardAPI.
114
123
  if (window.visualViewport &&
115
124
  !hasNativeOverrideRef.current &&
125
+ !hasVirtualKeyboardAPI() &&
116
126
  keyboardHeightRef.current === 0) {
117
127
  const diff = window.innerHeight - window.visualViewport.height;
118
128
  if (diff > 100) {
@@ -152,7 +162,10 @@ export function KeyboardProvider({ children }) {
152
162
  // Detect keyboard from visualViewport when no native keyboard height events.
153
163
  // This is needed on Android (browser, PWA, and native WebView) where
154
164
  // update() may return early and no native keyboard-height event is sent.
155
- if (!hasNativeOverrideRef.current && window.visualViewport) {
165
+ // Skip when the VirtualKeyboard API owns the height (else the two fight).
166
+ if (!hasNativeOverrideRef.current &&
167
+ !hasVirtualKeyboardAPI() &&
168
+ window.visualViewport) {
156
169
  const diff = window.innerHeight - window.visualViewport.height;
157
170
  // Subtract the CSS safe area bottom to avoid double-counting
158
171
  // (the page layout already adds safe area padding)
@@ -173,6 +186,21 @@ export function KeyboardProvider({ children }) {
173
186
  setKeyboardHeight(newHeight);
174
187
  }
175
188
  }
189
+ // Corrective for the VirtualKeyboard path: the native→web geometrychange
190
+ // can be dropped/reordered on rapid open/close (the JS bridge is async),
191
+ // leaving keyboardHeight stuck > 0 after the keyboard is already gone. The
192
+ // visual viewport is authoritative for "keyboard gone" (it returns to full
193
+ // height), so use it to CLEAR a stuck height — downward only, so it never
194
+ // re-introduces the fight with the VK API on the way up.
195
+ if (hasVirtualKeyboardAPI() &&
196
+ window.visualViewport &&
197
+ keyboardHeightRef.current > 0) {
198
+ const diff = window.innerHeight - window.visualViewport.height;
199
+ if (diff < 100) {
200
+ setKeyboardHeight(0);
201
+ update();
202
+ }
203
+ }
176
204
  };
177
205
  if (window.visualViewport)
178
206
  window.visualViewport.addEventListener('resize', onVisualViewportResize);
@@ -258,14 +286,23 @@ export function KeyboardProvider({ children }) {
258
286
  });
259
287
  if (kbHeight !== keyboardHeightRef.current) {
260
288
  setKeyboardHeight(kbHeight);
261
- // Update safe area bottom to include keyboard
262
- setSafeArea((prev) => {
263
- const nativeBottom = nativeSafeAreaRef.current.bottom;
264
- const newBottom = Math.max(nativeBottom, kbHeight);
265
- if (prev.bottom !== newBottom)
266
- return { ...prev, bottom: newBottom };
267
- return prev;
268
- });
289
+ if (hasNativeOverrideRef.current) {
290
+ // Native override active → update() returns early, so recompute the
291
+ // bottom directly against the native inset (Android path).
292
+ setSafeArea((prev) => {
293
+ const newBottom = Math.max(nativeSafeAreaRef.current.bottom, kbHeight);
294
+ if (prev.bottom !== newBottom)
295
+ return { ...prev, bottom: newBottom };
296
+ return prev;
297
+ });
298
+ }
299
+ else {
300
+ // iOS / WKWebView: getOffsets() takes the env-based device inset as
301
+ // the floor and folds in keyboardHeightRef. Going through update()
302
+ // (instead of max(nativeSafeArea.bottom, …), which is 0 on iOS)
303
+ // preserves the home-indicator inset when the keyboard closes.
304
+ update();
305
+ }
269
306
  }
270
307
  };
271
308
  nav.virtualKeyboard.addEventListener('geometrychange', onVKGeometryChange);
@@ -310,27 +347,33 @@ export function KeyboardProvider({ children }) {
310
347
  return (_jsxs(SafeAreaContext.Provider, { value: useMemo(() => ({
311
348
  ...safeArea,
312
349
  keyboard: { showing: keyboardHeight > 0, height: keyboardHeight },
313
- }), [safeArea, keyboardHeight]), children: [children, showDebugOverlay && (_jsxs(_Fragment, { children: [_jsxs("div", { style: {
314
- ...debugOverlayBase,
315
- top: 0,
316
- height: safeArea.top,
317
- backgroundColor: 'rgba(255, 0, 0, 0.2)',
318
- color: 'red',
319
- }, children: ["top: ", safeArea.top] }), _jsxs("div", { style: {
320
- ...debugOverlayBase,
321
- bottom: 0,
322
- height: safeArea.bottom,
323
- backgroundColor: 'rgba(0, 0, 255, 0.2)',
324
- color: 'blue',
325
- }, children: ["bottom: ", safeArea.bottom, keyboardHeight > 0 && ` (kbd: ${keyboardHeight})`] }), keyboardHeight > 0 && (_jsxs("div", { style: {
326
- ...debugOverlayBase,
327
- bottom: 0,
328
- height: keyboardHeight,
329
- backgroundColor: 'rgba(0, 255, 0, 0.15)',
330
- zIndex: 99998,
331
- fontSize: 12,
332
- color: 'green',
333
- }, children: ["keyboard: ", keyboardHeight] }))] }))] }));
350
+ }), [safeArea, keyboardHeight]), children: [children, showDebugOverlay &&
351
+ typeof document !== 'undefined' &&
352
+ createPortal(
353
+ // Portalled to <body> so the bars are positioned against the visual
354
+ // viewport not a transformed/padded ancestor, which was pushing the
355
+ // top bar down and letting the bottom bar ride up with the keyboard.
356
+ _jsxs(_Fragment, { children: [_jsxs("div", { style: {
357
+ ...debugOverlayBase,
358
+ top: 0,
359
+ height: safeArea.top,
360
+ backgroundColor: 'rgba(255, 0, 0, 0.2)',
361
+ color: 'red',
362
+ }, children: ["top: ", safeArea.top] }), _jsxs("div", { style: {
363
+ ...debugOverlayBase,
364
+ bottom: 0,
365
+ height: safeArea.bottom,
366
+ backgroundColor: 'rgba(0, 0, 255, 0.2)',
367
+ color: 'blue',
368
+ }, children: ["bottom: ", safeArea.bottom, keyboardHeight > 0 && ` (kbd: ${keyboardHeight})`] }), keyboardHeight > 0 && (_jsxs("div", { style: {
369
+ ...debugOverlayBase,
370
+ bottom: 0,
371
+ height: keyboardHeight,
372
+ backgroundColor: 'rgba(0, 255, 0, 0.15)',
373
+ zIndex: 99998,
374
+ fontSize: 12,
375
+ color: 'green',
376
+ }, children: ["keyboard: ", keyboardHeight] }))] }), document.body)] }));
334
377
  }
335
378
  // ---------- KeyboardSpacer ----------
336
379
  export function KeyboardSpacer({ ignoreSafeArea }) {
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardProvider.js","sourceRoot":"","sources":["../../../src/client/components/KeyboardProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardProvider.js","sourceRoot":"","sources":["../../../src/client/components/KeyboardProvider.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PushSend.d.ts","sourceRoot":"","sources":["../../src/server/PushSend.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAU5E"}
1
+ {"version":3,"file":"PushSend.d.ts","sourceRoot":"","sources":["../../src/server/PushSend.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAS5E"}
@@ -1,17 +1,16 @@
1
- import { DEFAULT_LOCAL_PORT } from '../shared/Defaults.js';
2
1
  import { uglyBotRequest } from './uglyBotProxy.js';
3
2
  /**
4
3
  * Send a push notification to a user via the ugly.bot platform.
5
4
  * Returns { sent: true } if the notification was delivered to at least one device.
6
5
  */
7
6
  export async function pushSend(input) {
8
- // Include the project's base URL so ugly.bot can construct absolute click URLs
9
- const baseUrl = process.env['PROJECT_URL'] ??
10
- `http://localhost:${process.env['PORT'] ?? DEFAULT_LOCAL_PORT}`;
11
7
  const result = await uglyBotRequest('pushSend', {
12
- ...input,
13
- baseUrl,
8
+ targetUserId: input.targetUserId,
9
+ title: input.title,
10
+ body: input.body,
11
+ path: input.path,
12
+ imageUrl: input.imageUrl,
14
13
  });
15
- return { sent: !!result.sent };
14
+ return { sent: result.sent };
16
15
  }
17
16
  //# sourceMappingURL=PushSend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PushSend.js","sourceRoot":"","sources":["../../src/server/PushSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAoB;IACjD,+EAA+E;IAC/E,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1B,oBAAoB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAqB,UAAU,EAAE;QAClE,GAAG,KAAK;QACR,OAAO;KACR,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"PushSend.js","sourceRoot":"","sources":["../../src/server/PushSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE;QAC9C,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../src/server/User.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAEjE"}
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../src/server/User.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAKjE"}
@@ -3,6 +3,9 @@ import { uglyBotRequest } from './uglyBotProxy.js';
3
3
  * Fetch public user data (name, image) by user ID via the ugly.bot platform.
4
4
  */
5
5
  export async function userGet(userId) {
6
- return uglyBotRequest('userGet', { userId });
6
+ // `userGet` returns the raw platform user doc (app-specific fields); this is
7
+ // the framework's adaptation boundary to its PublicUser view.
8
+ const doc = await uglyBotRequest('userGet', { userId });
9
+ return (doc ?? {});
7
10
  }
8
11
  //# sourceMappingURL=User.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../src/server/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc;IAC1C,OAAO,cAAc,CAAa,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../src/server/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc;IAC1C,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,IAAI,EAAE,CAA0B,CAAC;AAC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UglyBotImageGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotImageGenProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGrE,eAAO,MAAM,uBAAuB,EAAE,gBA8BrC,CAAC"}
1
+ {"version":3,"file":"UglyBotImageGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotImageGenProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGrE,eAAO,MAAM,uBAAuB,EAAE,gBAsBrC,CAAC"}
@@ -10,14 +10,15 @@ export const uglyBotImageGenProvider = {
10
10
  options: {
11
11
  aspectRatio: options?.aspectRatio,
12
12
  },
13
- ...(options?.userId ? { userId: options.userId } : {}),
13
+ // Bill the end user when one is in scope (the platform charges the named
14
+ // user; falls back to the app owner when absent).
15
+ chargeUserIds: options?.userId ? [options.userId] : undefined,
14
16
  });
15
- // ugly.bot returns base64-encoded images; convert to data URI
16
- if (data.url)
17
- return data.url;
18
- if (data.base64)
17
+ // ugly.bot returns base64-encoded images; convert to a data URI.
18
+ if (data?.base64) {
19
19
  return `data:${data.mime ?? 'image/png'};base64,${data.base64}`;
20
- throw new Error(`[UglyBot] imageGen returned no image — response keys: ${Object.keys(data).join(', ')}`);
20
+ }
21
+ throw new Error('[UglyBot] imageGen returned no image');
21
22
  },
22
23
  };
23
24
  //# sourceMappingURL=UglyBotImageGenProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UglyBotImageGenProvider.js","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotImageGenProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAqB;IACvD,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,gBAAgB;IAE3B,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAyB;QACtD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,cAAc,CAM/B,UAAU,EACV;YACE,KAAK;YACL,MAAM;YACN,OAAO,EAAE;gBACP,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC;YACD,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CACF,CAAC;QACF,8DAA8D;QAC9D,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM;YACb,OAAO,QAAQ,IAAI,CAAC,IAAI,IAAI,WAAW,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACb,yDAAyD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"UglyBotImageGenProvider.js","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotImageGenProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAqB;IACvD,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,gBAAgB;IAE3B,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAyB;QACtD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE;YAC5C,KAAK;YACL,MAAM;YACN,OAAO,EAAE;gBACP,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC;YACD,yEAAyE;YACzE,kDAAkD;YAClD,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC,CAAC;QACH,iEAAiE;QACjE,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YACjB,OAAO,QAAQ,IAAI,CAAC,IAAI,IAAI,WAAW,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UglyBotTextGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotTextGenProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EAGhB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,sBAAsB,EAAE,eA0EpC,CAAC"}
1
+ {"version":3,"file":"UglyBotTextGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotTextGenProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EAGhB,MAAM,aAAa,CAAC;AAmBrB,eAAO,MAAM,sBAAsB,EAAE,eAoEpC,CAAC"}
@@ -1,4 +1,17 @@
1
1
  import { uglyBotRequest } from '../../uglyBotProxy.js';
2
+ /** Flatten a textGen message content (string or content-part array) to text. */
3
+ function contentToString(content) {
4
+ if (typeof content === 'string')
5
+ return content;
6
+ if (Array.isArray(content)) {
7
+ return content
8
+ .map((p) => p && typeof p === 'object' && 'text' in p
9
+ ? String(p.text ?? '')
10
+ : '')
11
+ .join('');
12
+ }
13
+ return '';
14
+ }
2
15
  export const uglyBotTextGenProvider = {
3
16
  name: 'uglybot',
4
17
  apiKeyEnv: 'UGLY_BOT_TOKEN',
@@ -19,9 +32,9 @@ export const uglyBotTextGenProvider = {
19
32
  maxTokens: options?.maxTokens,
20
33
  temperature: options?.temperature,
21
34
  },
22
- ...(options?.userId ? { userId: options.userId } : {}),
35
+ chargeUserIds: options?.userId ? [options.userId] : undefined,
23
36
  });
24
- return data.message.content;
37
+ return contentToString(data?.message.content);
25
38
  },
26
39
  async generateJson(schema, messages, options) {
27
40
  const model = options?.model ?? 'llama_4_scout';
@@ -33,22 +46,25 @@ export const uglyBotTextGenProvider = {
33
46
  maxTokens: options?.maxTokens,
34
47
  temperature: options?.temperature,
35
48
  },
36
- ...(options?.userId ? { userId: options.userId } : {}),
49
+ chargeUserIds: options?.userId ? [options.userId] : undefined,
37
50
  });
38
- return JSON.parse(data.message.content);
51
+ return JSON.parse(contentToString(data?.message.content));
39
52
  },
40
53
  async generateWithTools(messages, tools, options) {
41
54
  const model = options?.model ?? 'llama_4_scout';
42
- return uglyBotRequest('textGen', {
55
+ const data = await uglyBotRequest('textGen', {
43
56
  model,
44
57
  messages,
45
- tools,
58
+ tools: tools,
46
59
  options: {
47
60
  maxTokens: options?.maxTokens,
48
61
  temperature: options?.temperature,
49
62
  },
50
- ...(options?.userId ? { userId: options.userId } : {}),
63
+ chargeUserIds: options?.userId ? [options.userId] : undefined,
51
64
  });
65
+ // The tool-call shape is carried in the returned message; adapt at this
66
+ // provider boundary (the op's contract is the message, not ToolCallResult).
67
+ return data;
52
68
  },
53
69
  };
54
70
  //# sourceMappingURL=UglyBotTextGenProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UglyBotTextGenProvider.js","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotTextGenProvider.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,gBAAgB;IAC3B,YAAY,EAAE;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,gBAAgB,EAAE,OAAO;KAC1B;IACD,yBAAyB,EAAE,IAAI;IAC/B,0BAA0B,EAAE,IAAI;IAEhC,KAAK,CAAC,QAAQ,CACZ,QAAmB,EACnB,OAAwB;QAExB,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,eAAe,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,SAAS,EACT;YACE,KAAK;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC;YACD,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CACF,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAS,EACT,QAAmB,EACnB,OAAwB;QAExB,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,eAAe,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,SAAS,EACT;YACE,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,QAAQ;YACR,OAAO,EAAE;gBACP,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC;YACD,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CACF,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAe,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAAmB,EACnB,KAAc,EACd,OAAwB;QAExB,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,eAAe,CAAC;QAChD,OAAO,cAAc,CACnB,SAAS,EACT;YACE,KAAK;YACL,QAAQ;YACR,KAAK;YACL,OAAO,EAAE;gBACP,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC;YACD,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"UglyBotTextGenProvider.js","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotTextGenProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAI.js","sourceRoot":"","sources":["../../../../src/server/embeddings/providers/OpenAI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,IAAI,EAAE,QAAQ;IACd,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,UAA4B,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAA6B,UAAU,EAAE;YAC1E,KAAK;YACL,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,kBAAkB;SACrD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"OpenAI.js","sourceRoot":"","sources":["../../../../src/server/embeddings/providers/OpenAI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,IAAI,EAAE,QAAQ;IACd,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,UAA4B,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE;YAC9C,KAAK;YACL,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,kBAAkB;SACrD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;CACF,CAAC"}
@@ -1,2 +1,17 @@
1
- export declare function uglyBotRequest<T>(op: string, input: unknown): Promise<T>;
1
+ import type { ProxyOpName, ProxyOpInput, ProxyOpOutput } from '../shared/index.js';
2
+ export interface UglyBotRequestOptions {
3
+ /**
4
+ * Who ugly.bot bills:
5
+ * - 'owner' (default): the app owner, via `UGLY_BOT_TOKEN`. Works when no
6
+ * end user is logged in (cron / background / admin-charged work).
7
+ * - 'user': the end user, via their forwarded session JWT. Requires a
8
+ * logged-in user in the current request context.
9
+ */
10
+ billTo?: 'owner' | 'user';
11
+ }
12
+ /**
13
+ * Call a ugly.bot op. `input` is type-checked against the op's registered Zod
14
+ * schema and the result is typed as that op's output.
15
+ */
16
+ export declare function uglyBotRequest<K extends ProxyOpName>(op: K, input: ProxyOpInput<K>, options?: UglyBotRequestOptions): Promise<ProxyOpOutput<K>>;
2
17
  //# sourceMappingURL=uglyBotProxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uglyBotProxy.d.ts","sourceRoot":"","sources":["../../src/server/uglyBotProxy.ts"],"names":[],"mappings":"AAGA,wBAAsB,cAAc,CAAC,CAAC,EACpC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,CAAC,CAAC,CAsCZ"}
1
+ {"version":3,"file":"uglyBotProxy.d.ts","sourceRoot":"","sources":["../../src/server/uglyBotProxy.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnF,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B;AAmBD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,WAAW,EACxD,EAAE,EAAE,CAAC,EACL,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAmC3B"}
@@ -1,16 +1,39 @@
1
1
  // src/server/uglyBotProxy.ts
2
+ //
3
+ // The ONLY way to call a ugly.bot op from app server code. Fully typed against
4
+ // the shared `proxyOps` registry: the op name, the input shape, and the return
5
+ // type are all inferred, so it is impossible to call an op with the wrong input
6
+ // or misread its result at compile time (see ugly-bot/CLAUDE.md "API exposure
7
+ // contract"). There is intentionally NO untyped escape hatch.
2
8
  import { getUglyBotUrl } from '../shared/uglyBotUrl.js';
3
- export async function uglyBotRequest(op, input) {
9
+ import { getUserToken } from './auth/userContext.js';
10
+ function resolveBearer(billTo) {
11
+ if (billTo === 'user') {
12
+ const userToken = getUserToken();
13
+ if (!userToken) {
14
+ throw new Error("[UglyBot] billTo:'user' requires a logged-in user, but no session token is in context.");
15
+ }
16
+ return userToken;
17
+ }
4
18
  const appToken = process.env.UGLY_BOT_TOKEN;
5
- if (!appToken)
19
+ if (!appToken) {
6
20
  throw new Error('[UglyBot] UGLY_BOT_TOKEN not set — run: npx ugly-app login');
21
+ }
22
+ return appToken;
23
+ }
24
+ /**
25
+ * Call a ugly.bot op. `input` is type-checked against the op's registered Zod
26
+ * schema and the result is typed as that op's output.
27
+ */
28
+ export async function uglyBotRequest(op, input, options = {}) {
29
+ const bearer = resolveBearer(options.billTo ?? 'owner');
7
30
  const controller = new AbortController();
8
31
  const timer = setTimeout(() => controller.abort(), 30_000);
9
32
  try {
10
33
  const res = await fetch(`${getUglyBotUrl()}/request`, {
11
34
  method: 'POST',
12
35
  headers: {
13
- 'Authorization': `Bearer ${appToken}`,
36
+ Authorization: `Bearer ${bearer}`,
14
37
  'Content-Type': 'application/json',
15
38
  },
16
39
  body: JSON.stringify({ op, input, sessionId: 'server' }),
@@ -30,7 +53,8 @@ export async function uglyBotRequest(op, input) {
30
53
  }
31
54
  const data = (await res.json());
32
55
  // ugly.bot returns flat responses; some paths wrap in { result: ... }
33
- return (data.result !== undefined ? data.result : data);
56
+ const payload = data.result !== undefined ? data.result : data;
57
+ return payload;
34
58
  }
35
59
  finally {
36
60
  clearTimeout(timer);
@@ -1 +1 @@
1
- {"version":3,"file":"uglyBotProxy.js","sourceRoot":"","sources":["../../src/server/uglyBotProxy.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,KAAc;IAEd,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC5C,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IAEJ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,EAAE,UAAU,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,QAAQ,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YACxD,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CACX,iCAAiC,EAAE,uCAAuC;oBACxE,6BAA6B;oBAC7B,WAAW,IAAI,EAAE,CACpB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC3D,sEAAsE;QACtE,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAM,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"uglyBotProxy.js","sourceRoot":"","sources":["../../src/server/uglyBotProxy.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAarD,SAAS,aAAa,CAAC,MAAwB;IAC7C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAK,EACL,KAAsB,EACtB,UAAiC,EAAE;IAEnC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,EAAE,UAAU,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YACxD,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CACX,iCAAiC,EAAE,uCAAuC;oBACxE,6BAA6B;oBAC7B,WAAW,IAAI,EAAE,CACpB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC3D,sEAAsE;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,OAAO,OAA2B,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}