ugly-app 0.1.706 → 0.1.707

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.706";
1
+ export declare const CLI_VERSION = "0.1.707";
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.706";
2
+ export const CLI_VERSION = "0.1.707";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callAI.d.ts","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,oBAAoB,CAAC;AAkC5B,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtE;AAED,wBAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAO9E;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAUxE"}
1
+ {"version":3,"file":"callAI.d.ts","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,oBAAoB,CAAC;AA8D5B,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtE;AAED,wBAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAO9E;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAUxE"}
@@ -1,4 +1,32 @@
1
+ import { native, isNativeAvailable } from '../native/index.js';
2
+ /**
3
+ * True when a native host rejected `uglybot.request` because it doesn't implement
4
+ * the channel (an older Ugly Studio that predates the consolidated socket). The host
5
+ * rejects BEFORE any ugly.bot call is made, so falling back to the direct fetch here
6
+ * cannot double-bill. Real op failures (insufficient balance, provider errors) come
7
+ * back from ugly.bot with different messages and are rethrown.
8
+ */
9
+ function isHostMissingUglyBot(e) {
10
+ const msg = e instanceof Error ? e.message : String(e);
11
+ return /uglybot/i.test(msg) && /NativeUnavailable|unknown channel|not implemented/i.test(msg);
12
+ }
1
13
  async function callUglyBot(op, input) {
14
+ // Inside a native shell (Ugly Studio desktop / iOS / Android), route through the
15
+ // host's ONE shared, authenticated ugly.bot socket instead of opening a per-page
16
+ // connection. The host injects the page's real origin for per-app metering.
17
+ if (typeof window !== 'undefined' && isNativeAvailable()) {
18
+ try {
19
+ return await native.uglybot.request(op, input);
20
+ }
21
+ catch (e) {
22
+ if (!isHostMissingUglyBot(e))
23
+ throw e;
24
+ // Old shell without the handler — fall through to the direct fetch below.
25
+ }
26
+ }
27
+ return callUglyBotDirect(op, input);
28
+ }
29
+ async function callUglyBotDirect(op, input) {
2
30
  const token = typeof window !== 'undefined'
3
31
  ? window.__AUTH_TOKEN__
4
32
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"callAI.js","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callAI.js","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uglyBotSocket.d.ts","sourceRoot":"","sources":["../../src/client/uglyBotSocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,KAAK,WAAW,GAAG,MAAM,IAAI,CAAC;AAC9B,KAAK,aAAa,GAAG,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,CAAC,SAAS,aAAa,EAC1B,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACpC,IAAI,CAAC;IACR,EAAE,CAAC,CAAC,SAAS,aAAa,EACxB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GACvD,WAAW,CAAC;IACf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAqHrF"}
1
+ {"version":3,"file":"uglyBotSocket.d.ts","sourceRoot":"","sources":["../../src/client/uglyBotSocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE,KAAK,WAAW,GAAG,MAAM,IAAI,CAAC;AAC9B,KAAK,aAAa,GAAG,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,CAAC,SAAS,aAAa,EAC1B,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACpC,IAAI,CAAC;IACR,EAAE,CAAC,CAAC,SAAS,aAAa,EACxB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GACvD,WAAW,CAAC;IACf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAWD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAkKrF"}
@@ -1,28 +1,29 @@
1
+ import { native, isNativeAvailable } from '../native/index.js';
1
2
  const IDLE_TIMEOUT_MS = 10_000;
3
+ /** True when a native host rejected `uglybot.openStream` because it doesn't
4
+ * implement the channel (older shell) — fall back to a direct ugly.bot socket. */
5
+ function isHostMissingUglyBot(e) {
6
+ const msg = e instanceof Error ? e.message : String(e);
7
+ return /NativeUnavailable|unknown channel|not registered|not implemented/i.test(msg);
8
+ }
2
9
  export function createUglyBotSocket(appToken, baseUrl) {
3
- let ws = null;
4
- let connectPromise = null;
5
10
  let refCount = 0;
6
11
  let idleTimer = null;
12
+ // Listeners are transport-agnostic: both the native and the direct transport
13
+ // dispatch incoming `{type,data}` frames here.
7
14
  const listeners = new Map();
8
- function handleMessage(event) {
9
- const msg = JSON.parse(event.data);
10
- const type = msg.type;
11
- // Support both { type, data: {...} } and flat { type, streamId, audio, ... } formats
12
- const data = msg.data !== undefined ? msg.data : (() => {
13
- const { type: _t, ...rest } = msg;
14
- return Object.keys(rest).length > 0 ? rest : {};
15
- })();
15
+ function dispatch(type, data) {
16
16
  const set = listeners.get(type);
17
- if (set) {
17
+ if (set)
18
18
  for (const handler of set)
19
19
  handler(data);
20
- }
21
20
  }
22
- function ensureConnection() {
23
- if (ws?.readyState === WebSocket.OPEN) {
21
+ // ─── Direct ugly.bot WebSocket transport (plain browser / no shell) ──────────
22
+ let ws = null;
23
+ let connectPromise = null;
24
+ function directEnsure() {
25
+ if (ws?.readyState === WebSocket.OPEN)
24
26
  return Promise.resolve();
25
- }
26
27
  if (connectPromise)
27
28
  return connectPromise;
28
29
  connectPromise = new Promise((resolve, reject) => {
@@ -48,17 +49,90 @@ export function createUglyBotSocket(appToken, baseUrl) {
48
49
  ws = null;
49
50
  connectPromise = null;
50
51
  });
51
- socket.addEventListener('message', handleMessage);
52
+ socket.addEventListener('message', (event) => {
53
+ const msg = JSON.parse(event.data);
54
+ const type = msg.type;
55
+ // Support both { type, data: {...} } and flat { type, streamId, ... }.
56
+ const data = msg.data !== undefined ? msg.data : (() => {
57
+ const { type: _t, ...rest } = msg;
58
+ return Object.keys(rest).length > 0 ? rest : {};
59
+ })();
60
+ dispatch(type, data);
61
+ });
52
62
  });
53
63
  return connectPromise;
54
64
  }
55
- function closeConnection() {
65
+ function directSend(type, data) {
66
+ if (ws?.readyState === WebSocket.OPEN) {
67
+ ws.send(JSON.stringify({ type, data }));
68
+ }
69
+ else {
70
+ console.error(`[UglyBotSocket] send DROPPED ${type} — ws ${ws ? `readyState=${ws.readyState}` : 'null'}`);
71
+ }
72
+ }
73
+ function directClose() {
56
74
  if (ws) {
57
75
  ws.close();
58
76
  ws = null;
59
77
  }
60
78
  connectPromise = null;
61
79
  }
80
+ // ─── Native transport: the host's ONE shared, authenticated ugly.bot socket ──
81
+ let stream = null;
82
+ let streamPromise = null;
83
+ function nativeEnsure() {
84
+ if (stream)
85
+ return Promise.resolve();
86
+ if (streamPromise)
87
+ return streamPromise;
88
+ streamPromise = native.uglybot
89
+ .openStream()
90
+ .then((s) => {
91
+ s.onMessage((type, data) => dispatch(type, data));
92
+ stream = s;
93
+ streamPromise = null;
94
+ })
95
+ .catch((e) => {
96
+ streamPromise = null;
97
+ throw e;
98
+ });
99
+ return streamPromise;
100
+ }
101
+ // ─── Transport selection (lazy, on first acquire) ───────────────────────────
102
+ // `null` = undecided; once chosen it stays for this socket's lifetime.
103
+ let useNative = null;
104
+ async function ensure() {
105
+ if (useNative === null)
106
+ useNative = isNativeAvailable();
107
+ if (useNative) {
108
+ try {
109
+ await nativeEnsure();
110
+ return;
111
+ }
112
+ catch (e) {
113
+ if (!isHostMissingUglyBot(e))
114
+ throw e;
115
+ // Old shell without the streaming handler — fall back to a direct socket.
116
+ console.warn('[UglyBotSocket] native uglybot stream unavailable — using direct socket');
117
+ useNative = false;
118
+ }
119
+ }
120
+ await directEnsure();
121
+ }
122
+ function send(type, data) {
123
+ if (useNative && stream)
124
+ stream.send(type, data);
125
+ else
126
+ directSend(type, data);
127
+ }
128
+ function close() {
129
+ if (stream) {
130
+ void stream.close().catch(() => { });
131
+ stream = null;
132
+ streamPromise = null;
133
+ }
134
+ directClose();
135
+ }
62
136
  function clearIdle() {
63
137
  if (idleTimer) {
64
138
  clearTimeout(idleTimer);
@@ -70,18 +144,12 @@ export function createUglyBotSocket(appToken, baseUrl) {
70
144
  idleTimer = setTimeout(() => {
71
145
  idleTimer = null;
72
146
  if (refCount === 0)
73
- closeConnection();
147
+ close();
74
148
  }, IDLE_TIMEOUT_MS);
75
149
  }
76
150
  return {
77
151
  send(type, data) {
78
- if (ws?.readyState === WebSocket.OPEN) {
79
- console.log(`[UglyBotSocket] send ${type}`, data);
80
- ws.send(JSON.stringify({ type, data }));
81
- }
82
- else {
83
- console.error(`[UglyBotSocket] send DROPPED ${type} — ws ${ws ? `readyState=${ws.readyState}` : 'null'}`);
84
- }
152
+ send(type, data);
85
153
  },
86
154
  on(event, handler) {
87
155
  let set = listeners.get(event);
@@ -99,7 +167,7 @@ export function createUglyBotSocket(appToken, baseUrl) {
99
167
  async acquire() {
100
168
  clearIdle();
101
169
  refCount++;
102
- await ensureConnection();
170
+ await ensure();
103
171
  },
104
172
  release() {
105
173
  refCount = Math.max(0, refCount - 1);
@@ -1 +1 @@
1
- {"version":3,"file":"uglyBotSocket.js","sourceRoot":"","sources":["../../src/client/uglyBotSocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uglyBotSocket.js","sourceRoot":"","sources":["../../src/client/uglyBotSocket.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contract-meta.d.ts","sourceRoot":"","sources":["../../src/native/contract-meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC;AAC7D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,SAAS,EA0BjC,CAAC;AA4HF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAA0B,CAAC;AAEpG,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAK1E"}
1
+ {"version":3,"file":"contract-meta.d.ts","sourceRoot":"","sources":["../../src/native/contract-meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC;AAC7D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,SAAS,EA2BjC,CAAC;AAiIF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAA0B,CAAC;AAEpG,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAK1E"}
@@ -25,6 +25,7 @@ export const NAMESPACES = [
25
25
  'terminal',
26
26
  'task',
27
27
  'proxy',
28
+ 'uglybot',
28
29
  ];
29
30
  // Per-namespace fallback profile when no explicit channel override applies.
30
31
  // Tuple order: [ios, android, desktop, web].
@@ -54,6 +55,7 @@ const NS_DEFAULT = {
54
55
  terminal: ['throw', 'throw', 'native', 'throw'], // desktop-only (Studio PTY terminal)
55
56
  task: ['native', 'native', 'native', 'throw'], // desktop-cap; mobile/web tunnel via Ugly Proxy
56
57
  proxy: ['native', 'native', 'native', 'throw'], // MSK lives in native secure storage
58
+ uglybot: ['native', 'native', 'native', 'throw'], // shells share one ugly.bot socket; web uses callAI's direct fetch (facade never invoked on web)
57
59
  };
58
60
  const PLATFORM_INDEX = { ios: 0, android: 1, desktop: 2, web: 3 };
59
61
  // All request/response channels (mirrors contract.ts channels; the test guards count).
@@ -135,6 +137,10 @@ const CHANNELS = [
135
137
  'proxy.verifyFingerprint',
136
138
  'proxy.pickHost',
137
139
  'proxy.setStatus',
140
+ 'uglybot.request',
141
+ 'uglybot.openStream',
142
+ 'uglybot.sendStream',
143
+ 'uglybot.closeStream',
138
144
  ];
139
145
  function buildChannelFallback() {
140
146
  const out = {};
@@ -1 +1 @@
1
- {"version":3,"file":"contract-meta.js","sourceRoot":"","sources":["../../src/native/contract-meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-meta.js","sourceRoot":"","sources":["../../src/native/contract-meta.ts"],"names":[],"mappings":"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"}
@@ -954,6 +954,33 @@ export interface NativeContract {
954
954
  };
955
955
  result: void;
956
956
  };
957
+ 'uglybot.request': {
958
+ payload: {
959
+ op: string;
960
+ input: unknown;
961
+ };
962
+ result: unknown;
963
+ };
964
+ 'uglybot.openStream': {
965
+ payload: void;
966
+ result: {
967
+ id: string;
968
+ };
969
+ };
970
+ 'uglybot.sendStream': {
971
+ payload: {
972
+ id: string;
973
+ type: string;
974
+ data: unknown;
975
+ };
976
+ result: void;
977
+ };
978
+ 'uglybot.closeStream': {
979
+ payload: {
980
+ id: string;
981
+ };
982
+ result: void;
983
+ };
957
984
  };
958
985
  events: {
959
986
  'gps.position': {
@@ -989,6 +1016,6 @@ export type NativeEvent = keyof NativeContract['events'];
989
1016
  export type PayloadOf<C extends Channel> = NativeContract['channels'][C]['payload'];
990
1017
  export type ResultOf<C extends Channel> = NativeContract['channels'][C]['result'];
991
1018
  export type DataOf<E extends NativeEvent> = NativeContract['events'][E];
992
- export type Namespace = 'capture' | 'gps' | 'liveActivity' | 'alarm' | 'tts' | 'push' | 'webauthn' | 'clipboard' | 'system' | 'badge' | 'ui' | 'fs' | 'secrets' | 'serve' | 'workers' | 'net' | 'process' | 'sandbox' | 'permissions' | 'browser' | 'browse' | 'mcp' | 'terminal' | 'task' | 'proxy';
1019
+ export type Namespace = 'capture' | 'gps' | 'liveActivity' | 'alarm' | 'tts' | 'push' | 'webauthn' | 'clipboard' | 'system' | 'badge' | 'ui' | 'fs' | 'secrets' | 'serve' | 'workers' | 'net' | 'process' | 'sandbox' | 'permissions' | 'browser' | 'browse' | 'mcp' | 'terminal' | 'task' | 'proxy' | 'uglybot';
993
1020
  export declare function namespaceOf(channel: Channel): Namespace;
994
1021
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/native/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/native/contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/native/contract.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAye/D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAc,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/native/contract.ts"],"names":[],"mappings":"AAAA,+DAA+D;AA0f/D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAc,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,36 @@
1
+ /** Raw (untyped-channel) transport — the same `invoke`/`subscribe` every host implements. */
2
+ type Invoke = (channel: string, payload: unknown) => Promise<unknown>;
3
+ type Subscribe = (event: string, cb: (data: unknown) => void) => () => void;
4
+ /** A multiplexed realtime stream (STT/TTS) over the host's shared ugly.bot socket. */
5
+ export interface UglyBotStream {
6
+ /** Send a `{type,data}` frame (e.g. `tts:start`, `stt:audio`). */
7
+ send(type: string, data: unknown): void;
8
+ /** Receive server frames; `cb` gets each `{type, data}`. */
9
+ onMessage(cb: (type: string, data: unknown) => void): void;
10
+ /** Release the stream (the host stops routing + may close the socket). */
11
+ close(): Promise<void>;
12
+ }
13
+ export interface UglyBotFacade {
14
+ /**
15
+ * Forward a legacy ugly.bot `/request` op (textGen / jsonGen / imageGen / …)
16
+ * over the native host's ONE shared, authenticated ugly.bot socket. The host
17
+ * injects the page's real origin for per-app metering; the page never supplies
18
+ * it. Only reached inside a native shell — `callAI.ts` uses a direct fetch on
19
+ * plain web. Returns the op's raw result (callers cast).
20
+ */
21
+ request(op: string, input: unknown): Promise<unknown>;
22
+ /**
23
+ * Open a realtime STT/TTS stream over the shared socket. `createUglyBotSocket`
24
+ * uses this inside a shell instead of opening a per-page ugly.bot WebSocket.
25
+ */
26
+ openStream(): Promise<UglyBotStream>;
27
+ }
28
+ /**
29
+ * Build a `uglybot` facade over the uniform UglyNative protocol:
30
+ * request → invoke('uglybot.request', { op, input })
31
+ * stream → invoke('uglybot.openStream') → { id }; frames ride
32
+ * `uglybot.stream:<id>` events; send → invoke('uglybot.sendStream').
33
+ */
34
+ export declare function createUglyBotFacade(invoke: Invoke, subscribe: Subscribe): UglyBotFacade;
35
+ export {};
36
+ //# sourceMappingURL=uglybot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uglybot.d.ts","sourceRoot":"","sources":["../../../src/native/facades/uglybot.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,KAAK,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AACtE,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;AAE5E,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,0EAA0E;IAC1E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAoBvF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Build a `uglybot` facade over the uniform UglyNative protocol:
3
+ * request → invoke('uglybot.request', { op, input })
4
+ * stream → invoke('uglybot.openStream') → { id }; frames ride
5
+ * `uglybot.stream:<id>` events; send → invoke('uglybot.sendStream').
6
+ */
7
+ export function createUglyBotFacade(invoke, subscribe) {
8
+ return {
9
+ request: (op, input) => invoke('uglybot.request', { op, input }),
10
+ openStream: async () => {
11
+ const { id } = (await invoke('uglybot.openStream', undefined));
12
+ const cbs = [];
13
+ const unsub = subscribe(`uglybot.stream:${id}`, (frame) => {
14
+ const f = frame;
15
+ for (const cb of cbs)
16
+ cb(f.type, f.data);
17
+ });
18
+ return {
19
+ send: (type, data) => void invoke('uglybot.sendStream', { id, type, data }),
20
+ onMessage: (cb) => cbs.push(cb),
21
+ close: async () => {
22
+ unsub();
23
+ await invoke('uglybot.closeStream', { id });
24
+ },
25
+ };
26
+ },
27
+ };
28
+ }
29
+ //# sourceMappingURL=uglybot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uglybot.js","sourceRoot":"","sources":["../../../src/native/facades/uglybot.ts"],"names":[],"mappings":"AA8BA;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,SAAoB;IACtE,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAChE,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAmB,CAAC;YACjF,MAAM,GAAG,GAA8C,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,SAAS,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxD,MAAM,CAAC,GAAG,KAAwC,CAAC;gBACnD,KAAK,MAAM,EAAE,IAAI,GAAG;oBAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC3E,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,KAAK,EAAE,KAAK,IAAI,EAAE;oBAChB,KAAK,EAAE,CAAC;oBACR,MAAM,MAAM,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC9C,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -84,6 +84,7 @@ export declare const native: {
84
84
  mcp: import("./facades/mcp.js").McpFacade;
85
85
  terminal: import("./facades/terminal.js").TerminalFacade;
86
86
  task: import("./facades/task.js").TaskFacade;
87
+ uglybot: import("./facades/uglybot.js").UglyBotFacade;
87
88
  secrets: {
88
89
  get: (key: string) => Promise<string | null>;
89
90
  set: (key: string, value: string) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/native/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAE,SAAS,EAAY,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgBpD,eAAO,MAAM,WAAW,8CAAsF,CAAC;AAe/G,eAAO,MAAM,MAAM;;;;;;mBAMJ,SAAS,CAAC,WAAW,CAAC;;yBAEhB,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI;;;0BAGlC,SAAS,CAAC,2BAA2B,CAAC;2BACrC,SAAS,CAAC,4BAA4B,CAAC;;yBAEzC,SAAS,CAAC,0BAA0B,CAAC;0BACpC,SAAS,CAAC,2BAA2B,CAAC;;;;sBAI1C,SAAS,CAAC,gBAAgB,CAAC;oBAC7B,SAAS,CAAC,cAAc,CAAC;uBACtB,SAAS,CAAC,iBAAiB,CAAC;sBAC7B,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,IAAI;;;mBAGrC,SAAS,CAAC,WAAW,CAAC;;;;sBAInB,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI;;;;;;sBAIhC,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI;kCACrB,CAAC,CAAC,EAAE,MAAM,CAAC,wBAAwB,CAAC,KAAK,IAAI;;;mBAI5D,SAAS,CAAC,iBAAiB,CAAC;;;;;;0BAIrB,SAAS,CAAC,qBAAqB,CAAC;mBACvC,SAAS,CAAC,cAAc,CAAC;;;iBAG3B,SAAS,CAAC,WAAW,CAAC;;;;+BAIR,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI;+BACtC,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI;;;yBAGtC,MAAM;0BAIL,MAAM,WAAW,MAAM;sBAI3B,MAAM;mBAIT,MAAM,SAAQ;YAAE,SAAS,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE;uBAIlD,MAAM,MAAM,MAAM;wBAIjB,MAAM;qBAIT,MAAM;uBAIJ,MAAM;yBAIJ,MAAM;QAI7B;+EACuE;6BAC9C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;8BACnB,MAAM,KAAG,OAAO,CAAC,UAAU,CAAC;+BAI3B,MAAM,SAAS,UAAU,KAAG,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;mBAsCrD,MAAM;mBAIN,MAAM,SAAS,MAAM;sBAIlB,MAAM;;;;sBAUN,MAAM;;;;qBAIP,MAAM;;;yBAMF,MAAM;yBAIN,MAAM;;;CAShC,CAAC;AAEF,wBAAgB,cAAc,IAAI,cAAc,CAE/C;AACD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/native/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAE,SAAS,EAAY,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAiBpD,eAAO,MAAM,WAAW,8CAAsF,CAAC;AAe/G,eAAO,MAAM,MAAM;;;;;;mBAMJ,SAAS,CAAC,WAAW,CAAC;;yBAEhB,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI;;;0BAGlC,SAAS,CAAC,2BAA2B,CAAC;2BACrC,SAAS,CAAC,4BAA4B,CAAC;;yBAEzC,SAAS,CAAC,0BAA0B,CAAC;0BACpC,SAAS,CAAC,2BAA2B,CAAC;;;;sBAI1C,SAAS,CAAC,gBAAgB,CAAC;oBAC7B,SAAS,CAAC,cAAc,CAAC;uBACtB,SAAS,CAAC,iBAAiB,CAAC;sBAC7B,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,IAAI;;;mBAGrC,SAAS,CAAC,WAAW,CAAC;;;;sBAInB,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI;;;;;;sBAIhC,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI;kCACrB,CAAC,CAAC,EAAE,MAAM,CAAC,wBAAwB,CAAC,KAAK,IAAI;;;mBAI5D,SAAS,CAAC,iBAAiB,CAAC;;;;;;0BAIrB,SAAS,CAAC,qBAAqB,CAAC;mBACvC,SAAS,CAAC,cAAc,CAAC;;;iBAG3B,SAAS,CAAC,WAAW,CAAC;;;;+BAIR,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI;+BACtC,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI;;;yBAGtC,MAAM;0BAIL,MAAM,WAAW,MAAM;sBAI3B,MAAM;mBAIT,MAAM,SAAQ;YAAE,SAAS,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE;uBAIlD,MAAM,MAAM,MAAM;wBAIjB,MAAM;qBAIT,MAAM;uBAIJ,MAAM;yBAIJ,MAAM;QAI7B;+EACuE;6BAC9C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;8BACnB,MAAM,KAAG,OAAO,CAAC,UAAU,CAAC;+BAI3B,MAAM,SAAS,UAAU,KAAG,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;mBA0CrD,MAAM;mBAIN,MAAM,SAAS,MAAM;sBAIlB,MAAM;;;;sBAUN,MAAM;;;;qBAIP,MAAM;;;yBAMF,MAAM;yBAIN,MAAM;;;CAShC,CAAC;AAEF,wBAAgB,cAAc,IAAI,cAAc,CAE/C;AACD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
@@ -8,6 +8,7 @@ import { createBrowseFacade } from './facades/browse.js';
8
8
  import { createMcpFacade } from './facades/mcp.js';
9
9
  import { createTerminalFacade } from './facades/terminal.js';
10
10
  import { createTaskFacade } from './facades/task.js';
11
+ import { createUglyBotFacade } from './facades/uglybot.js';
11
12
  const n = () => installUglyNative();
12
13
  const inv = (c, p) => n().invoke(c, p);
13
14
  export const permissions = createPermissions((c, p) => n().invoke(c, p), () => n().platform);
@@ -134,6 +135,7 @@ export const native = {
134
135
  mcp: createMcpFacade((ch, p) => n().invoke(ch, p), () => permissions.ensure('mcp')),
135
136
  terminal: createTerminalFacade((ch, p) => n().invoke(ch, p), () => permissions.ensure('terminal')),
136
137
  task: createTaskFacade((ch, p) => n().invoke(ch, p), (ev, cb) => n().subscribe(ev, cb), () => permissions.ensure('task')),
138
+ uglybot: createUglyBotFacade((ch, p) => n().invoke(ch, p), (ev, cb) => n().subscribe(ev, cb)),
137
139
  secrets: {
138
140
  get: async (key) => {
139
141
  await permissions.ensure('secrets');
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/native/wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/native/wrapper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.706",
3
+ "version": "0.1.707",
4
4
  "type": "module",
5
5
  "comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
6
6
  "files": [
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.706";
2
+ export const CLI_VERSION = "0.1.707";
@@ -0,0 +1,77 @@
1
+ // @vitest-environment jsdom
2
+ import { describe, it, expect, vi, afterEach } from 'vitest';
3
+ import { callTextGen } from './callAI';
4
+
5
+ type Win = typeof globalThis & { UglyNative?: unknown; __AUTH_TOKEN__?: string };
6
+ const w = globalThis as Win;
7
+
8
+ function setDesktopHost(invoke: (channel: string, payload: unknown) => Promise<unknown>) {
9
+ w.UglyNative = { platform: 'desktop', invoke, subscribe: () => () => {} };
10
+ }
11
+
12
+ afterEach(() => {
13
+ delete w.UglyNative;
14
+ delete w.__AUTH_TOKEN__;
15
+ vi.restoreAllMocks();
16
+ vi.unstubAllGlobals();
17
+ });
18
+
19
+ describe('callAI native consolidation', () => {
20
+ it('routes through the native host (uglybot.request) inside a shell, no fetch', async () => {
21
+ const invoke = vi.fn(async (channel: string, payload: unknown) => {
22
+ expect(channel).toBe('uglybot.request');
23
+ expect(payload).toEqual({ op: 'textGen', input: { prompt: 'hi' } });
24
+ return { message: { role: 'assistant', content: 'native-hi' } };
25
+ });
26
+ setDesktopHost(invoke);
27
+ const fetchSpy = vi.fn();
28
+ vi.stubGlobal('fetch', fetchSpy);
29
+
30
+ await expect(callTextGen({ prompt: 'hi' } as never)).resolves.toBe('native-hi');
31
+ expect(invoke).toHaveBeenCalledTimes(1);
32
+ expect(fetchSpy).not.toHaveBeenCalled();
33
+ });
34
+
35
+ it('uses the direct fetch on plain web (no native host)', async () => {
36
+ w.__AUTH_TOKEN__ = 'tok';
37
+ const fetchSpy = vi.fn(async () => ({
38
+ ok: true,
39
+ json: async () => ({ result: { message: { content: 'web-hi' } } }),
40
+ }));
41
+ vi.stubGlobal('fetch', fetchSpy as never);
42
+
43
+ await expect(callTextGen({ prompt: 'hi' } as never)).resolves.toBe('web-hi');
44
+ expect(fetchSpy).toHaveBeenCalledTimes(1);
45
+ const url = (fetchSpy.mock.calls[0] as unknown[])[0];
46
+ expect(String(url)).toContain('/request');
47
+ });
48
+
49
+ it('falls back to fetch when an old shell lacks the uglybot handler', async () => {
50
+ const invoke = vi.fn(async () => {
51
+ throw new Error('NativeUnavailable: uglybot.request');
52
+ });
53
+ setDesktopHost(invoke);
54
+ w.__AUTH_TOKEN__ = 'tok';
55
+ const fetchSpy = vi.fn(async () => ({
56
+ ok: true,
57
+ json: async () => ({ result: { message: { content: 'fallback-hi' } } }),
58
+ }));
59
+ vi.stubGlobal('fetch', fetchSpy as never);
60
+
61
+ await expect(callTextGen({ prompt: 'hi' } as never)).resolves.toBe('fallback-hi');
62
+ expect(invoke).toHaveBeenCalledTimes(1);
63
+ expect(fetchSpy).toHaveBeenCalledTimes(1);
64
+ });
65
+
66
+ it('rethrows a real ugly.bot op error (no fetch fallback, no double-bill)', async () => {
67
+ const invoke = vi.fn(async () => {
68
+ throw new Error('402: insufficient balance');
69
+ });
70
+ setDesktopHost(invoke);
71
+ const fetchSpy = vi.fn();
72
+ vi.stubGlobal('fetch', fetchSpy);
73
+
74
+ await expect(callTextGen({ prompt: 'hi' } as never)).rejects.toThrow(/insufficient balance/);
75
+ expect(fetchSpy).not.toHaveBeenCalled();
76
+ });
77
+ });
@@ -3,8 +3,36 @@ import type {
3
3
  JsonGenInput,
4
4
  TextGenInput,
5
5
  } from '../shared/index.js';
6
+ import { native, isNativeAvailable } from '../native/index.js';
7
+
8
+ /**
9
+ * True when a native host rejected `uglybot.request` because it doesn't implement
10
+ * the channel (an older Ugly Studio that predates the consolidated socket). The host
11
+ * rejects BEFORE any ugly.bot call is made, so falling back to the direct fetch here
12
+ * cannot double-bill. Real op failures (insufficient balance, provider errors) come
13
+ * back from ugly.bot with different messages and are rethrown.
14
+ */
15
+ function isHostMissingUglyBot(e: unknown): boolean {
16
+ const msg = e instanceof Error ? e.message : String(e);
17
+ return /uglybot/i.test(msg) && /NativeUnavailable|unknown channel|not implemented/i.test(msg);
18
+ }
6
19
 
7
20
  async function callUglyBot(op: string, input: unknown): Promise<unknown> {
21
+ // Inside a native shell (Ugly Studio desktop / iOS / Android), route through the
22
+ // host's ONE shared, authenticated ugly.bot socket instead of opening a per-page
23
+ // connection. The host injects the page's real origin for per-app metering.
24
+ if (typeof window !== 'undefined' && isNativeAvailable()) {
25
+ try {
26
+ return await native.uglybot.request(op, input);
27
+ } catch (e) {
28
+ if (!isHostMissingUglyBot(e)) throw e;
29
+ // Old shell without the handler — fall through to the direct fetch below.
30
+ }
31
+ }
32
+ return callUglyBotDirect(op, input);
33
+ }
34
+
35
+ async function callUglyBotDirect(op: string, input: unknown): Promise<unknown> {
8
36
  const token = typeof window !== 'undefined'
9
37
  ? (window as unknown as { __AUTH_TOKEN__?: string }).__AUTH_TOKEN__
10
38
  : undefined;
@@ -1,5 +1,7 @@
1
1
  import type { MessageData } from '../shared/Api.js';
2
2
  import type { UglyBotMessages } from '../shared/UglyBotMessages.js';
3
+ import type { UglyBotStream } from '../native/facades/uglybot.js';
4
+ import { native, isNativeAvailable } from '../native/index.js';
3
5
 
4
6
  type Unsubscribe = () => void;
5
7
  type UglyBotMsgKey = keyof UglyBotMessages;
@@ -19,67 +21,75 @@ export interface UglyBotSocket {
19
21
 
20
22
  const IDLE_TIMEOUT_MS = 10_000;
21
23
 
24
+ /** True when a native host rejected `uglybot.openStream` because it doesn't
25
+ * implement the channel (older shell) — fall back to a direct ugly.bot socket. */
26
+ function isHostMissingUglyBot(e: unknown): boolean {
27
+ const msg = e instanceof Error ? e.message : String(e);
28
+ return /NativeUnavailable|unknown channel|not registered|not implemented/i.test(msg);
29
+ }
30
+
22
31
  export function createUglyBotSocket(appToken: string, baseUrl?: string): UglyBotSocket {
23
- let ws: WebSocket | null = null;
24
- let connectPromise: Promise<void> | null = null;
25
32
  let refCount = 0;
26
33
  let idleTimer: ReturnType<typeof setTimeout> | null = null;
27
34
 
35
+ // Listeners are transport-agnostic: both the native and the direct transport
36
+ // dispatch incoming `{type,data}` frames here.
28
37
  const listeners = new Map<string, Set<(data: unknown) => void>>();
29
-
30
- function handleMessage(event: MessageEvent) {
31
- const msg = JSON.parse(event.data as string) as Record<string, unknown>;
32
- const type = msg.type as string;
33
- // Support both { type, data: {...} } and flat { type, streamId, audio, ... } formats
34
- const data = msg.data !== undefined ? msg.data : (() => {
35
- const { type: _t, ...rest } = msg;
36
- return Object.keys(rest).length > 0 ? rest : {};
37
- })();
38
+ function dispatch(type: string, data: unknown) {
38
39
  const set = listeners.get(type);
39
- if (set) {
40
- for (const handler of set) handler(data);
41
- }
40
+ if (set) for (const handler of set) handler(data);
42
41
  }
43
42
 
44
- function ensureConnection(): Promise<void> {
45
- if (ws?.readyState === WebSocket.OPEN) {
46
- return Promise.resolve();
47
- }
48
- if (connectPromise) return connectPromise;
43
+ // ─── Direct ugly.bot WebSocket transport (plain browser / no shell) ──────────
44
+ let ws: WebSocket | null = null;
45
+ let connectPromise: Promise<void> | null = null;
49
46
 
47
+ function directEnsure(): Promise<void> {
48
+ if (ws?.readyState === WebSocket.OPEN) return Promise.resolve();
49
+ if (connectPromise) return connectPromise;
50
50
  connectPromise = new Promise<void>((resolve, reject) => {
51
51
  const httpBase = baseUrl ?? 'https://ugly.bot';
52
52
  const wsBase = httpBase.replace(/^http/, 'ws');
53
53
  const url = `${wsBase}/ws?token=${encodeURIComponent(appToken)}`;
54
54
  console.log(`[UglyBotSocket] connecting to ${url.replace(/token=[^&]+/, 'token=***')}`);
55
55
  const socket = new WebSocket(url);
56
-
57
56
  socket.addEventListener('open', () => {
58
57
  console.log('[UglyBotSocket] connected');
59
58
  ws = socket;
60
59
  connectPromise = null;
61
60
  resolve();
62
61
  });
63
-
64
62
  socket.addEventListener('error', (e) => {
65
63
  console.error('[UglyBotSocket] connection error', e);
66
64
  connectPromise = null;
67
65
  reject(new Error('ugly.bot WebSocket connection failed'));
68
66
  });
69
-
70
67
  socket.addEventListener('close', (e) => {
71
68
  console.log(`[UglyBotSocket] closed code=${e.code} reason=${e.reason}`);
72
69
  if (ws === socket) ws = null;
73
70
  connectPromise = null;
74
71
  });
75
-
76
- socket.addEventListener('message', handleMessage);
72
+ socket.addEventListener('message', (event: MessageEvent) => {
73
+ const msg = JSON.parse(event.data as string) as Record<string, unknown>;
74
+ const type = msg.type as string;
75
+ // Support both { type, data: {...} } and flat { type, streamId, ... }.
76
+ const data = msg.data !== undefined ? msg.data : (() => {
77
+ const { type: _t, ...rest } = msg;
78
+ return Object.keys(rest).length > 0 ? rest : {};
79
+ })();
80
+ dispatch(type, data);
81
+ });
77
82
  });
78
-
79
83
  return connectPromise;
80
84
  }
81
-
82
- function closeConnection() {
85
+ function directSend(type: string, data: unknown) {
86
+ if (ws?.readyState === WebSocket.OPEN) {
87
+ ws.send(JSON.stringify({ type, data }));
88
+ } else {
89
+ console.error(`[UglyBotSocket] send DROPPED ${type} — ws ${ws ? `readyState=${ws.readyState}` : 'null'}`);
90
+ }
91
+ }
92
+ function directClose() {
83
93
  if (ws) {
84
94
  ws.close();
85
95
  ws = null;
@@ -87,31 +97,77 @@ export function createUglyBotSocket(appToken: string, baseUrl?: string): UglyBot
87
97
  connectPromise = null;
88
98
  }
89
99
 
100
+ // ─── Native transport: the host's ONE shared, authenticated ugly.bot socket ──
101
+ let stream: UglyBotStream | null = null;
102
+ let streamPromise: Promise<void> | null = null;
103
+
104
+ function nativeEnsure(): Promise<void> {
105
+ if (stream) return Promise.resolve();
106
+ if (streamPromise) return streamPromise;
107
+ streamPromise = native.uglybot
108
+ .openStream()
109
+ .then((s) => {
110
+ s.onMessage((type, data) => dispatch(type, data));
111
+ stream = s;
112
+ streamPromise = null;
113
+ })
114
+ .catch((e) => {
115
+ streamPromise = null;
116
+ throw e;
117
+ });
118
+ return streamPromise;
119
+ }
120
+
121
+ // ─── Transport selection (lazy, on first acquire) ───────────────────────────
122
+ // `null` = undecided; once chosen it stays for this socket's lifetime.
123
+ let useNative: boolean | null = null;
124
+
125
+ async function ensure(): Promise<void> {
126
+ if (useNative === null) useNative = isNativeAvailable();
127
+ if (useNative) {
128
+ try {
129
+ await nativeEnsure();
130
+ return;
131
+ } catch (e) {
132
+ if (!isHostMissingUglyBot(e)) throw e;
133
+ // Old shell without the streaming handler — fall back to a direct socket.
134
+ console.warn('[UglyBotSocket] native uglybot stream unavailable — using direct socket');
135
+ useNative = false;
136
+ }
137
+ }
138
+ await directEnsure();
139
+ }
140
+ function send(type: string, data: unknown) {
141
+ if (useNative && stream) stream.send(type, data);
142
+ else directSend(type, data);
143
+ }
144
+ function close() {
145
+ if (stream) {
146
+ void stream.close().catch(() => {});
147
+ stream = null;
148
+ streamPromise = null;
149
+ }
150
+ directClose();
151
+ }
152
+
90
153
  function clearIdle() {
91
154
  if (idleTimer) {
92
155
  clearTimeout(idleTimer);
93
156
  idleTimer = null;
94
157
  }
95
158
  }
96
-
97
159
  function startIdle() {
98
160
  clearIdle();
99
161
  idleTimer = setTimeout(() => {
100
162
  idleTimer = null;
101
- if (refCount === 0) closeConnection();
163
+ if (refCount === 0) close();
102
164
  }, IDLE_TIMEOUT_MS);
103
165
  }
104
166
 
105
167
  return {
106
168
  send(type, data) {
107
- if (ws?.readyState === WebSocket.OPEN) {
108
- console.log(`[UglyBotSocket] send ${type as string}`, data);
109
- ws.send(JSON.stringify({ type, data }));
110
- } else {
111
- console.error(`[UglyBotSocket] send DROPPED ${type as string} — ws ${ws ? `readyState=${ws.readyState}` : 'null'}`);
112
- }
169
+ send(type as string, data);
113
170
  },
114
-
115
171
  on(event, handler) {
116
172
  let set = listeners.get(event as string);
117
173
  if (!set) {
@@ -124,13 +180,11 @@ export function createUglyBotSocket(appToken: string, baseUrl?: string): UglyBot
124
180
  if (set.size === 0) listeners.delete(event as string);
125
181
  };
126
182
  },
127
-
128
183
  async acquire(): Promise<void> {
129
184
  clearIdle();
130
185
  refCount++;
131
- await ensureConnection();
186
+ await ensure();
132
187
  },
133
-
134
188
  release(): void {
135
189
  refCount = Math.max(0, refCount - 1);
136
190
  if (refCount === 0) startIdle();
@@ -30,6 +30,7 @@ export const NAMESPACES: Namespace[] = [
30
30
  'terminal',
31
31
  'task',
32
32
  'proxy',
33
+ 'uglybot',
33
34
  ];
34
35
 
35
36
  // Per-namespace fallback profile when no explicit channel override applies.
@@ -60,6 +61,7 @@ const NS_DEFAULT: Record<Namespace, [Fallback, Fallback, Fallback, Fallback]> =
60
61
  terminal: ['throw', 'throw', 'native', 'throw'], // desktop-only (Studio PTY terminal)
61
62
  task: ['native', 'native', 'native', 'throw'], // desktop-cap; mobile/web tunnel via Ugly Proxy
62
63
  proxy: ['native', 'native', 'native', 'throw'], // MSK lives in native secure storage
64
+ uglybot: ['native', 'native', 'native', 'throw'], // shells share one ugly.bot socket; web uses callAI's direct fetch (facade never invoked on web)
63
65
  };
64
66
 
65
67
  const PLATFORM_INDEX: Record<Platform, 0 | 1 | 2 | 3> = { ios: 0, android: 1, desktop: 2, web: 3 };
@@ -143,6 +145,10 @@ const CHANNELS: Channel[] = [
143
145
  'proxy.verifyFingerprint',
144
146
  'proxy.pickHost',
145
147
  'proxy.setStatus',
148
+ 'uglybot.request',
149
+ 'uglybot.openStream',
150
+ 'uglybot.sendStream',
151
+ 'uglybot.closeStream',
146
152
  ];
147
153
 
148
154
  function buildChannelFallback(): Record<Channel, Record<Platform, Fallback>> {
@@ -432,6 +432,22 @@ export interface NativeContract {
432
432
  payload: { state: 'none' | 'connecting' | 'connected' | 'reconnecting' | 'offline'; hostLabel?: string };
433
433
  result: void;
434
434
  };
435
+ // uglybot (consolidated ugly.bot proxy): a hosted page's ugly.bot calls ride the
436
+ // native host's ONE shared, authenticated ugly.bot socket instead of each page
437
+ // opening its own connection. `uglybot.request` forwards a legacy `/request` op
438
+ // (textGen/jsonGen/imageGen/…) as a framework `call`; the host injects the page's
439
+ // REAL origin (never trusts a page-supplied one) so ugly.bot meters per app.
440
+ // Outside a shell, `callAI.ts` falls back to the direct `fetch('/request')`.
441
+ 'uglybot.request': { payload: { op: string; input: unknown }; result: unknown };
442
+ // Realtime STT/TTS over the shared socket. `openStream` allocates a host-side
443
+ // connection id; `sendStream` forwards a `{type,data}` frame (the host
444
+ // namespaces `data.streamId` per connection so concurrent tabs don't collide);
445
+ // server frames arrive as dynamic `uglybot.stream:<id>` events carrying the
446
+ // original `{type, data}`. `closeStream` releases it. (createUglyBotSocket
447
+ // falls back to a direct ugly.bot WebSocket outside a shell.)
448
+ 'uglybot.openStream': { payload: void; result: { id: string } };
449
+ 'uglybot.sendStream': { payload: { id: string; type: string; data: unknown }; result: void };
450
+ 'uglybot.closeStream': { payload: { id: string }; result: void };
435
451
  };
436
452
  events: {
437
453
  'gps.position': {
@@ -485,7 +501,8 @@ export type Namespace =
485
501
  | 'mcp'
486
502
  | 'terminal'
487
503
  | 'task'
488
- | 'proxy';
504
+ | 'proxy'
505
+ | 'uglybot';
489
506
 
490
507
  export function namespaceOf(channel: Channel): Namespace {
491
508
  return channel.split('.')[0] as Namespace;
@@ -0,0 +1,57 @@
1
+ /** Raw (untyped-channel) transport — the same `invoke`/`subscribe` every host implements. */
2
+ type Invoke = (channel: string, payload: unknown) => Promise<unknown>;
3
+ type Subscribe = (event: string, cb: (data: unknown) => void) => () => void;
4
+
5
+ /** A multiplexed realtime stream (STT/TTS) over the host's shared ugly.bot socket. */
6
+ export interface UglyBotStream {
7
+ /** Send a `{type,data}` frame (e.g. `tts:start`, `stt:audio`). */
8
+ send(type: string, data: unknown): void;
9
+ /** Receive server frames; `cb` gets each `{type, data}`. */
10
+ onMessage(cb: (type: string, data: unknown) => void): void;
11
+ /** Release the stream (the host stops routing + may close the socket). */
12
+ close(): Promise<void>;
13
+ }
14
+
15
+ export interface UglyBotFacade {
16
+ /**
17
+ * Forward a legacy ugly.bot `/request` op (textGen / jsonGen / imageGen / …)
18
+ * over the native host's ONE shared, authenticated ugly.bot socket. The host
19
+ * injects the page's real origin for per-app metering; the page never supplies
20
+ * it. Only reached inside a native shell — `callAI.ts` uses a direct fetch on
21
+ * plain web. Returns the op's raw result (callers cast).
22
+ */
23
+ request(op: string, input: unknown): Promise<unknown>;
24
+ /**
25
+ * Open a realtime STT/TTS stream over the shared socket. `createUglyBotSocket`
26
+ * uses this inside a shell instead of opening a per-page ugly.bot WebSocket.
27
+ */
28
+ openStream(): Promise<UglyBotStream>;
29
+ }
30
+
31
+ /**
32
+ * Build a `uglybot` facade over the uniform UglyNative protocol:
33
+ * request → invoke('uglybot.request', { op, input })
34
+ * stream → invoke('uglybot.openStream') → { id }; frames ride
35
+ * `uglybot.stream:<id>` events; send → invoke('uglybot.sendStream').
36
+ */
37
+ export function createUglyBotFacade(invoke: Invoke, subscribe: Subscribe): UglyBotFacade {
38
+ return {
39
+ request: (op, input) => invoke('uglybot.request', { op, input }),
40
+ openStream: async () => {
41
+ const { id } = (await invoke('uglybot.openStream', undefined)) as { id: string };
42
+ const cbs: ((type: string, data: unknown) => void)[] = [];
43
+ const unsub = subscribe(`uglybot.stream:${id}`, (frame) => {
44
+ const f = frame as { type: string; data: unknown };
45
+ for (const cb of cbs) cb(f.type, f.data);
46
+ });
47
+ return {
48
+ send: (type, data) => void invoke('uglybot.sendStream', { id, type, data }),
49
+ onMessage: (cb) => cbs.push(cb),
50
+ close: async () => {
51
+ unsub();
52
+ await invoke('uglybot.closeStream', { id });
53
+ },
54
+ };
55
+ },
56
+ };
57
+ }
@@ -10,6 +10,7 @@ import { createBrowseFacade } from './facades/browse.js';
10
10
  import { createMcpFacade } from './facades/mcp.js';
11
11
  import { createTerminalFacade } from './facades/terminal.js';
12
12
  import { createTaskFacade } from './facades/task.js';
13
+ import { createUglyBotFacade } from './facades/uglybot.js';
13
14
 
14
15
  const n = () => installUglyNative();
15
16
  const inv = <C extends Channel>(c: C, p: PayloadOf<C>): Promise<ResultOf<C>> =>
@@ -164,6 +165,10 @@ export const native = {
164
165
  (ev, cb) => n().subscribe(ev as never, cb as never),
165
166
  () => permissions.ensure('task'),
166
167
  ),
168
+ uglybot: createUglyBotFacade(
169
+ (ch, p) => n().invoke(ch as never, p as never),
170
+ (ev, cb) => n().subscribe(ev as never, cb as never),
171
+ ),
167
172
  secrets: {
168
173
  get: async (key: string) => {
169
174
  await permissions.ensure('secrets');