ugly-app 0.1.291 → 0.1.292

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.
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.291";
1
+ export declare const CLI_VERSION = "0.1.292";
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.291";
2
+ export const CLI_VERSION = "0.1.292";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"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"}
@@ -298,13 +298,16 @@ export function createApp(registry, requests, appDefs, configure, deleteHandlers
298
298
  const s3Path = req.originalUrl.replace('/_s3', '');
299
299
  const s3Url = `${s3Endpoint}${s3Path}`;
300
300
  try {
301
- const headers = {};
301
+ const body = req.body;
302
+ const headers = {
303
+ 'content-length': String(body.length),
304
+ };
302
305
  if (req.headers['content-type'])
303
306
  headers['content-type'] = req.headers['content-type'];
304
307
  const s3Res = await fetch(s3Url, {
305
308
  method: 'PUT',
306
309
  headers,
307
- body: req.body,
310
+ body: new Uint8Array(body.buffer, body.byteOffset, body.byteLength),
308
311
  });
309
312
  // Forward S3 response status and headers
310
313
  s3Res.headers.forEach((value, key) => {
@@ -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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"}
@@ -1 +1 @@
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,CAG5E"}
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,CAQ5E"}
@@ -4,7 +4,12 @@ import { uglyBotRequest } from './uglyBotProxy.js';
4
4
  * Returns { sent: true } if the notification was delivered to at least one device.
5
5
  */
6
6
  export async function pushSend(input) {
7
- const result = await uglyBotRequest('pushSend', input);
7
+ // Include the project's base URL so ugly.bot can construct absolute click URLs
8
+ const baseUrl = process.env['PROJECT_URL'] ?? `http://localhost:${process.env['PORT'] ?? '4321'}`;
9
+ const result = await uglyBotRequest('pushSend', {
10
+ ...input,
11
+ baseUrl,
12
+ });
8
13
  return { sent: !!result.sent };
9
14
  }
10
15
  //# sourceMappingURL=PushSend.js.map
@@ -1 +1 @@
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,CAAqB,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3E,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,+EAA+E;IAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,oBAAoB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;IAClG,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.291",
3
+ "version": "0.1.292",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.291";
2
+ export const CLI_VERSION = "0.1.292";
package/src/server/App.ts CHANGED
@@ -547,13 +547,16 @@ export function createApp<
547
547
  const s3Url = `${s3Endpoint}${s3Path}`;
548
548
 
549
549
  try {
550
- const headers: Record<string, string> = {};
550
+ const body = req.body as Buffer;
551
+ const headers: Record<string, string> = {
552
+ 'content-length': String(body.length),
553
+ };
551
554
  if (req.headers['content-type']) headers['content-type'] = req.headers['content-type'];
552
555
 
553
556
  const s3Res = await fetch(s3Url, {
554
557
  method: 'PUT',
555
558
  headers,
556
- body: req.body as unknown as BodyInit,
559
+ body: new Uint8Array(body.buffer, body.byteOffset, body.byteLength) as unknown as BodyInit,
557
560
  });
558
561
 
559
562
  // Forward S3 response status and headers
@@ -21,6 +21,11 @@ export interface PushSendResult {
21
21
  * Returns { sent: true } if the notification was delivered to at least one device.
22
22
  */
23
23
  export async function pushSend(input: PushSendInput): Promise<PushSendResult> {
24
- const result = await uglyBotRequest<{ sent?: boolean }>('pushSend', input);
24
+ // Include the project's base URL so ugly.bot can construct absolute click URLs
25
+ const baseUrl = process.env['PROJECT_URL'] ?? `http://localhost:${process.env['PORT'] ?? '4321'}`;
26
+ const result = await uglyBotRequest<{ sent?: boolean }>('pushSend', {
27
+ ...input,
28
+ baseUrl,
29
+ });
25
30
  return { sent: !!result.sent };
26
31
  }
@@ -491,7 +491,7 @@ function TTSSection({ socket }: { socket: UglyBotSocket }) {
491
491
  const streamIdRef = useRef<string | null>(null);
492
492
  const playStartRef = useRef(0);
493
493
  const pendingWordsRef = useRef<Array<{ word: string; idx?: number; startMs?: number }>>([]);
494
- const wordTimersRef = useRef<ReturnType<typeof setTimeout>[]>([]);
494
+ const wordTimersRef = useRef<Array<{ timer: ReturnType<typeof setTimeout>; word: string; idx: number | undefined }>>([]);
495
495
  const unsubsRef = useRef<Array<() => void>>([]);
496
496
 
497
497
  function addLog(msg: string, kind: LogEntry['kind'] = 'info') {
@@ -506,25 +506,33 @@ function TTSSection({ socket }: { socket: UglyBotSocket }) {
506
506
  unsubsRef.current = [];
507
507
  }
508
508
 
509
+ function applyWord(word: string, idx: number | undefined) {
510
+ setCurrentWord(word);
511
+ if (typeof idx === 'number') {
512
+ addLog(`Highlight word[${idx}]="${word}"`, 'ok');
513
+ setWordHistory((prev) => {
514
+ const next = prev.map((w) => ({ ...w, active: false }));
515
+ if (idx < next.length) {
516
+ next[idx] = { ...next[idx]!, active: true };
517
+ }
518
+ return next;
519
+ });
520
+ }
521
+ }
522
+
509
523
  function scheduleWord(word: string, idx: number | undefined, startMs: number | undefined) {
510
- const apply = () => {
511
- setCurrentWord(word);
512
- if (typeof idx === 'number') {
513
- setWordHistory((prev) => {
514
- const next = prev.map((w) => ({ ...w, active: false }));
515
- if (idx < next.length) {
516
- next[idx] = { ...next[idx]!, active: true };
517
- }
518
- return next;
519
- });
520
- }
521
- };
522
- const delay = typeof startMs === 'number' ? startMs - (Date.now() - playStartRef.current) : 0;
524
+ const delay = typeof startMs === 'number' && playStartRef.current
525
+ ? startMs - (Date.now() - playStartRef.current)
526
+ : 0;
523
527
  if (delay > 10) {
524
- const timer = setTimeout(apply, delay);
525
- wordTimersRef.current.push(timer);
528
+ const timer = setTimeout(() => {
529
+ applyWord(word, idx);
530
+ // Remove from pending timers
531
+ wordTimersRef.current = wordTimersRef.current.filter((t) => t.timer !== timer);
532
+ }, delay);
533
+ wordTimersRef.current.push({ timer, word, idx });
526
534
  } else {
527
- apply();
535
+ applyWord(word, idx);
528
536
  }
529
537
  }
530
538
 
@@ -569,9 +577,17 @@ function TTSSection({ socket }: { socket: UglyBotSocket }) {
569
577
  socket.on('tts:done', (data) => {
570
578
  addLog(`Got tts:done streamId=${data.streamId}`);
571
579
  if (data.streamId !== streamId) return;
572
- for (const t of wordTimersRef.current) clearTimeout(t);
573
- wordTimersRef.current = [];
580
+ // Apply any pending/scheduled words immediately before clearing
581
+ for (const w of pendingWordsRef.current) {
582
+ applyWord(w.word, w.idx);
583
+ }
574
584
  pendingWordsRef.current = [];
585
+ // Flush scheduled word timers — apply them now instead of discarding
586
+ for (const t of wordTimersRef.current) {
587
+ clearTimeout(t.timer);
588
+ applyWord(t.word, t.idx);
589
+ }
590
+ wordTimersRef.current = [];
575
591
  playStartRef.current = 0;
576
592
  setPlaying(false);
577
593
  setCurrentWord('');
@@ -582,7 +598,7 @@ function TTSSection({ socket }: { socket: UglyBotSocket }) {
582
598
  socket.on('tts:error', (data) => {
583
599
  addLog(`Got tts:error streamId=${data.streamId} msg=${data.message}`, 'err');
584
600
  if (data.streamId !== streamId) return;
585
- for (const t of wordTimersRef.current) clearTimeout(t);
601
+ for (const t of wordTimersRef.current) clearTimeout(t.timer);
586
602
  wordTimersRef.current = [];
587
603
  pendingWordsRef.current = [];
588
604
  playStartRef.current = 0;
@@ -600,7 +616,7 @@ function TTSSection({ socket }: { socket: UglyBotSocket }) {
600
616
  streamIdRef.current = streamId;
601
617
  playStartRef.current = 0;
602
618
  pendingWordsRef.current = [];
603
- for (const t of wordTimersRef.current) clearTimeout(t);
619
+ for (const t of wordTimersRef.current) clearTimeout(t.timer);
604
620
  wordTimersRef.current = [];
605
621
 
606
622
  setPlaying(true);
@@ -642,7 +658,7 @@ function TTSSection({ socket }: { socket: UglyBotSocket }) {
642
658
  if (streamIdRef.current) {
643
659
  socket.send('tts:cancel', { streamId: streamIdRef.current });
644
660
  }
645
- for (const t of wordTimersRef.current) clearTimeout(t);
661
+ for (const t of wordTimersRef.current) clearTimeout(t.timer);
646
662
  wordTimersRef.current = [];
647
663
  pendingWordsRef.current = [];
648
664
  playStartRef.current = 0;
@@ -713,6 +729,8 @@ function TTSSection({ socket }: { socket: UglyBotSocket }) {
713
729
  {wordHistory.map((w, i) => (
714
730
  <span
715
731
  key={i}
732
+ data-word-index={i}
733
+ data-active={w.active ? 'true' : 'false'}
716
734
  style={{
717
735
  padding: '2px 4px',
718
736
  borderRadius: 4,
@@ -3,7 +3,7 @@ import { Button, Card, Input, PageLayout, Text, useApp } from 'ugly-app/client';
3
3
 
4
4
  interface ChatMessage {
5
5
  id: string;
6
- userId: string;
6
+ role: 'user' | 'assistant';
7
7
  text: string;
8
8
  created: number;
9
9
  }
@@ -20,7 +20,7 @@ function fmt(ms: number): string {
20
20
 
21
21
  export default function ChatTestPage(): React.ReactElement {
22
22
  const { socket } = useApp();
23
- const [conversationId, setConversationId] = useState('test-conv-1');
23
+ const [conversationId] = useState('test-conv-1');
24
24
  const [message, setMessage] = useState('');
25
25
  const [messages, setMessages] = useState<ChatMessage[]>([]);
26
26
  const [streaming, setStreaming] = useState('');
@@ -36,14 +36,45 @@ export default function ChatTestPage(): React.ReactElement {
36
36
  setLogs((prev) => [...prev, { ts: Date.now(), msg, kind }]);
37
37
  }
38
38
 
39
- // Subscribe to conversation events via individual typed listeners
39
+ // Auto-subscribe on mount
40
+ useEffect(() => {
41
+ let cancelled = false;
42
+ const doSubscribe = async () => {
43
+ const started = Date.now();
44
+ addLog(`Subscribing to conversation: ${conversationId}`);
45
+ try {
46
+ await (socket.send as (type: string, data: object) => Promise<unknown>)('conv:subscribe', { conversationId });
47
+ if (!cancelled) {
48
+ setSubscribed(true);
49
+ addLog(`Subscribed in ${fmt(Date.now() - started)}`, 'ok');
50
+ }
51
+ } catch (err) {
52
+ if (!cancelled) {
53
+ addLog(`Subscribe failed: ${err instanceof Error ? err.message : String(err)}`, 'err');
54
+ }
55
+ }
56
+ };
57
+ void doSubscribe();
58
+ return () => {
59
+ cancelled = true;
60
+ (socket.send as (type: string, data: object) => Promise<unknown>)('conv:unsubscribe', { conversationId }).catch(() => {});
61
+ };
62
+ }, [socket, conversationId]);
63
+
64
+ // Listen for conversation events
40
65
  useEffect(() => {
41
66
  const unsubs: Array<() => void> = [];
42
67
 
43
68
  unsubs.push(socket.on('conv:message' as never, ((data: Record<string, unknown>) => {
44
- const m = data as unknown as { conversationId: string; messageId: string; userId: string; text: string; created: number };
45
- setMessages((prev) => [...prev, { id: m.messageId, userId: m.userId, text: m.text, created: m.created }]);
46
- setStreaming('');
69
+ const m = data as { conversationId: string; messageId: string; userId: string; text: string; created: number };
70
+ if (m.conversationId !== conversationId) return;
71
+ const role = m.userId === 'ai' ? 'assistant' as const : 'user' as const;
72
+ setMessages((prev) => {
73
+ // Deduplicate by id (broadcast may send the message twice via NATS round-trip)
74
+ if (prev.some((p) => p.id === m.messageId)) return prev;
75
+ return [...prev, { id: m.messageId, role, text: m.text, created: m.created }];
76
+ });
77
+ if (role === 'assistant') setStreaming('');
47
78
  }) as never));
48
79
 
49
80
  unsubs.push(socket.on('conv:ai-stream-start' as never, (() => {
@@ -63,37 +94,13 @@ export default function ChatTestPage(): React.ReactElement {
63
94
  }) as never));
64
95
 
65
96
  return () => { for (const unsub of unsubs) unsub(); };
66
- }, [socket]);
97
+ }, [socket, conversationId]);
67
98
 
68
99
  // Auto-scroll to bottom
69
100
  useEffect(() => {
70
101
  messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });
71
102
  }, [messages, streaming]);
72
103
 
73
- async function handleSubscribe(): Promise<void> {
74
- const started = Date.now();
75
- addLog(`Subscribing to conversation: ${conversationId}`);
76
- try {
77
- await (socket.send as (type: string, data: object) => Promise<unknown>)('conv:subscribe', { conversationId });
78
- setSubscribed(true);
79
- addLog(`Subscribed in ${fmt(Date.now() - started)}`, 'ok');
80
- } catch (err) {
81
- addLog(`Subscribe failed: ${err instanceof Error ? err.message : String(err)}`, 'err');
82
- }
83
- }
84
-
85
- async function handleUnsubscribe(): Promise<void> {
86
- try {
87
- await (socket.send as (type: string, data: object) => Promise<unknown>)('conv:unsubscribe', { conversationId });
88
- setSubscribed(false);
89
- setMessages([]);
90
- setStreaming('');
91
- addLog('Unsubscribed', 'ok');
92
- } catch (err) {
93
- addLog(`Unsubscribe failed: ${err instanceof Error ? err.message : String(err)}`, 'err');
94
- }
95
- }
96
-
97
104
  async function handleSend(): Promise<void> {
98
105
  if (!message.trim() || !subscribed) return;
99
106
  setLoading(true);
@@ -125,32 +132,11 @@ export default function ChatTestPage(): React.ReactElement {
125
132
  <div>
126
133
  <h1>Chat Test</h1>
127
134
 
128
- {/* Connection controls */}
135
+ {/* Connection status */}
129
136
  <Card>
130
- <div style={{ display: 'flex', gap: 8, alignItems: 'flex-end' }}>
131
- <div style={{ flex: 1 }}>
132
- <Input
133
- label="Conversation ID"
134
- value={conversationId}
135
- onChange={setConversationId}
136
- placeholder="test-conv-1"
137
- />
138
- </div>
139
- {!subscribed ? (
140
- <Button data-id="chat-subscribe" onClick={() => { void handleSubscribe(); }}>
141
- Subscribe
142
- </Button>
143
- ) : (
144
- <Button data-id="chat-unsubscribe" onClick={() => { void handleUnsubscribe(); }}>
145
- Unsubscribe
146
- </Button>
147
- )}
148
- </div>
149
- {subscribed && (
150
- <Text size="sm" style={{ marginTop: 4, opacity: 0.6 }}>
151
- Connected to: {conversationId}
152
- </Text>
153
- )}
137
+ <Text size="sm" style={{ opacity: 0.6 }}>
138
+ {subscribed ? `Connected to: ${conversationId}` : 'Connecting…'}
139
+ </Text>
154
140
  </Card>
155
141
 
156
142
  {/* Messages */}
@@ -169,23 +155,23 @@ export default function ChatTestPage(): React.ReactElement {
169
155
  >
170
156
  {messages.length === 0 && !streaming && (
171
157
  <Text size="sm" style={{ opacity: 0.4, textAlign: 'center', marginTop: 40 }}>
172
- {subscribed ? 'No messages yet — send one below' : 'Subscribe to a conversation to start'}
158
+ {subscribed ? 'No messages yet — send one below' : 'Connecting…'}
173
159
  </Text>
174
160
  )}
175
161
  {messages.map((m) => (
176
162
  <div
177
163
  key={m.id}
178
- data-role={m.userId === 'ai' ? 'assistant' : 'user'}
164
+ data-role={m.role}
179
165
  style={{
180
- alignSelf: m.userId === 'ai' ? 'flex-start' : 'flex-end',
166
+ alignSelf: m.role === 'assistant' ? 'flex-start' : 'flex-end',
181
167
  maxWidth: '80%',
182
168
  padding: '8px 12px',
183
169
  borderRadius: 12,
184
- background: m.userId === 'ai' ? 'rgba(255,255,255,0.08)' : 'rgba(80,140,255,0.2)',
170
+ background: m.role === 'assistant' ? 'rgba(255,255,255,0.08)' : 'rgba(80,140,255,0.2)',
185
171
  }}
186
172
  >
187
173
  <Text size="xs" style={{ opacity: 0.5 }}>
188
- {m.userId === 'ai' ? 'AI' : 'You'}
174
+ {m.role === 'assistant' ? 'AI' : 'You'}
189
175
  </Text>
190
176
  <Text size="sm">{m.text}</Text>
191
177
  </div>
@@ -217,7 +203,7 @@ export default function ChatTestPage(): React.ReactElement {
217
203
  label="Message"
218
204
  value={message}
219
205
  onChange={setMessage}
220
- placeholder={subscribed ? 'Type a message…' : 'Subscribe first'}
206
+ placeholder={subscribed ? 'Type a message…' : 'Connecting…'}
221
207
  />
222
208
  </div>
223
209
  <Button
@@ -234,8 +220,8 @@ export default function ChatTestPage(): React.ReactElement {
234
220
  <Card>
235
221
  <h2>How it works</h2>
236
222
  <ol>
237
- <li><code>socket.send(&apos;conv:subscribe&apos;, &#123; conversationId &#125;)</code> joins a conversation channel</li>
238
- <li><code>socket.send(&apos;conv:ai-message&apos;, &#123; conversationId, text &#125;)</code> sends a message and triggers AI response</li>
223
+ <li>Page auto-subscribes to conversation <code>{conversationId}</code> on mount</li>
224
+ <li><code>conv:ai-message</code> sends your text and triggers an AI response</li>
239
225
  <li>AI responses stream back via <code>conv:ai-stream-chunk</code> messages</li>
240
226
  <li>Final messages are broadcast as <code>conv:message</code> to all subscribers</li>
241
227
  <li>Server-side: use <code>enableConversations(configurator, config)</code> in your server setup</li>