ugly-app 0.1.994 → 0.1.995
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.
- package/README.md +6 -2
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/client/callAI.d.ts +10 -3
- package/dist/client/callAI.d.ts.map +1 -1
- package/dist/client/callAI.js +15 -6
- package/dist/client/callAI.js.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/native/index.d.ts +1 -0
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js.map +1 -1
- package/dist/native/permissions.d.ts +2 -1
- package/dist/native/permissions.d.ts.map +1 -1
- package/dist/native/permissions.js.map +1 -1
- package/dist/native/server/permissions/types.d.ts +2 -1
- package/dist/native/server/permissions/types.d.ts.map +1 -1
- package/dist/native/server/permissions/types.js +0 -13
- package/dist/native/server/permissions/types.js.map +1 -1
- package/dist/server/AiText.js +1 -1
- package/dist/server/AiText.js.map +1 -1
- package/dist/server/ai/providers/UglyBotTextGenProvider.js +3 -1
- package/dist/server/ai/providers/UglyBotTextGenProvider.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/client/callAI.test.ts +95 -1
- package/src/client/callAI.ts +34 -7
- package/src/client/index.ts +1 -0
- package/src/native/index.ts +1 -0
- package/src/native/permissions.test.ts +18 -3
- package/src/native/permissions.ts +2 -3
- package/src/native/server/permissions/types.ts +3 -1
- package/src/server/AiText.ts +1 -1
- package/src/server/ai/providers/UglyBotTextGenProvider.ts +1 -1
package/README.md
CHANGED
|
@@ -27,10 +27,13 @@ npm run dev
|
|
|
27
27
|
| `ugly-app/server/ssr` | SSR renderer used by the Workers adapter. |
|
|
28
28
|
| `ugly-app/playwright`, `ugly-app/testing` | E2E and test-mode helpers. |
|
|
29
29
|
| `ugly-app/vite`, `ugly-app/eslint` | Build-tool plugins. |
|
|
30
|
+
| `ugly-app/client/overlay`, `ugly-app/menu-chrome` | Optional native-shell chrome (used inside Ugly Studio). |
|
|
31
|
+
| `ugly-app/server/publishFrame` | Publish-time HTML frame injection. |
|
|
30
32
|
|
|
31
33
|
Additional per-feature bundles: `conversation`, `character`, `collab`,
|
|
32
|
-
`markdown`, `search`, `agent`, `webrtc`, `three`, `native
|
|
33
|
-
`
|
|
34
|
+
`markdown`, `search`, `agent`, `webrtc`, `three`, `native` (+ `native/server`,
|
|
35
|
+
`native/conformance`), `inspect` (+ `inspect/agent`, `inspect/ui`, `inspect/host-bundle`),
|
|
36
|
+
and `worker` — each with its own `shared` / `server` / `client` split as needed.
|
|
34
37
|
|
|
35
38
|
---
|
|
36
39
|
|
|
@@ -178,6 +181,7 @@ override the framework's defaults. Rate-limited handlers are marked below.
|
|
|
178
181
|
| `uploadUrl` | Issues a presigned PUT for the `temp` bucket. |
|
|
179
182
|
| `shareLink` | Mint a `https://ugly.bot/l/<code>` short link with OG metadata. Rate-limited 60/60s. |
|
|
180
183
|
| `feedbackReportCreateNoAuth` | Public, same-origin feedback endpoint used by browser telemetry. Rate-limited 10/60s. |
|
|
184
|
+
| `submitFeedbackBot` | Authenticated bot/swarm feedback path (Studio toolbar + bot swarms). Rate-limited. |
|
|
181
185
|
| `feedbackReportResolve` | Mark an in-app feedback report resolved/declined. Admin-gated. |
|
|
182
186
|
| `errorLogCaptureNoAuth` | Public error-log capture. |
|
|
183
187
|
| `perfSnapshotCaptureNoAuth` | Public perf snapshot capture. Rate-limited 60/60s. |
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.995";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/dist/client/callAI.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ImageGenInput, JsonGenInput, TextGenInput } from '../shared/index.js';
|
|
1
|
+
import type { ImageGenInput, JsonGenInput, TextGenInput, TextGenOutput } from '../shared/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* POST one op to ugly.bot's `/request` proxy and unwrap its `{result}` envelope.
|
|
4
4
|
*
|
|
@@ -6,8 +6,15 @@ import type { ImageGenInput, JsonGenInput, TextGenInput } from '../shared/index.
|
|
|
6
6
|
* `voiceList` catalog fetch) — new callers belong beside this, as a `callX` wrapper, once a
|
|
7
7
|
* second site needs the same op.
|
|
8
8
|
*/
|
|
9
|
-
export declare function callUglyBot(op: string, input: unknown): Promise<unknown>;
|
|
10
|
-
export
|
|
9
|
+
export declare function callUglyBot(op: string, input: unknown, options?: CallAIOptions): Promise<unknown>;
|
|
10
|
+
export interface CallAIOptions {
|
|
11
|
+
/** Cancels the browser fetch. Native hosts currently cannot cancel an
|
|
12
|
+
* already-dispatched bridge request, but still reject immediately when the
|
|
13
|
+
* supplied signal was already aborted. */
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
}
|
|
16
|
+
export type TextGenContent = NonNullable<TextGenOutput>['message']['content'];
|
|
17
|
+
export declare function callTextGen(input: TextGenInput, options?: CallAIOptions): Promise<TextGenContent>;
|
|
11
18
|
export declare function callJsonGen<T = unknown>(input: JsonGenInput): Promise<T>;
|
|
12
19
|
export declare function callImageGen(input: ImageGenInput): Promise<string>;
|
|
13
20
|
//# sourceMappingURL=callAI.d.ts.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,
|
|
1
|
+
{"version":3,"file":"callAI.d.ts","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,oBAAoB,CAAC;AAmB5B;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED,MAAM,WAAW,aAAa;IAC5B;;8CAE0C;IAC1C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AA4D9E,wBAAsB,WAAW,CAC/B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CASzB;AAED,wBAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3C,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,CAAC,CAAC,CASZ;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAWxE"}
|
package/dist/client/callAI.js
CHANGED
|
@@ -19,7 +19,8 @@ function isHostMissingUglyBot(e) {
|
|
|
19
19
|
* `voiceList` catalog fetch) — new callers belong beside this, as a `callX` wrapper, once a
|
|
20
20
|
* second site needs the same op.
|
|
21
21
|
*/
|
|
22
|
-
export async function callUglyBot(op, input) {
|
|
22
|
+
export async function callUglyBot(op, input, options = {}) {
|
|
23
|
+
options.signal?.throwIfAborted();
|
|
23
24
|
// Inside a native shell (Ugly Studio desktop / iOS / Android), route through the
|
|
24
25
|
// host's ONE shared, authenticated ugly.bot socket instead of opening a per-page
|
|
25
26
|
// connection. The host injects the page's real origin for per-app metering.
|
|
@@ -36,9 +37,16 @@ export async function callUglyBot(op, input) {
|
|
|
36
37
|
// Old shell without the handler — fall through to the direct fetch below.
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
|
-
return callUglyBotDirect(op, input);
|
|
40
|
+
return callUglyBotDirect(op, input, options);
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
+
function contentToText(content) {
|
|
43
|
+
if (typeof content === 'string')
|
|
44
|
+
return content;
|
|
45
|
+
return content
|
|
46
|
+
.map((part) => (part.type === 'text' ? part.text : ''))
|
|
47
|
+
.join('');
|
|
48
|
+
}
|
|
49
|
+
async function callUglyBotDirect(op, input, options) {
|
|
42
50
|
const token = typeof window !== 'undefined'
|
|
43
51
|
? window.__AUTH_TOKEN__
|
|
44
52
|
: undefined;
|
|
@@ -56,6 +64,7 @@ async function callUglyBotDirect(op, input) {
|
|
|
56
64
|
'Content-Type': 'application/json',
|
|
57
65
|
},
|
|
58
66
|
body: JSON.stringify(payload),
|
|
67
|
+
...(options.signal === undefined ? {} : { signal: options.signal }),
|
|
59
68
|
});
|
|
60
69
|
if (!res.ok) {
|
|
61
70
|
const body = await res.text().catch(() => '');
|
|
@@ -77,8 +86,8 @@ async function callUglyBotDirect(op, input) {
|
|
|
77
86
|
// ugly.bot may wrap responses in { result: ... } — unwrap to match server-side uglyBotRequest
|
|
78
87
|
return json['result'] !== undefined ? json['result'] : json;
|
|
79
88
|
}
|
|
80
|
-
export async function callTextGen(input) {
|
|
81
|
-
const res = (await callUglyBot('textGen', input));
|
|
89
|
+
export async function callTextGen(input, options = {}) {
|
|
90
|
+
const res = (await callUglyBot('textGen', input, options));
|
|
82
91
|
if (!res.message?.content)
|
|
83
92
|
throw new Error(`textGen returned no content — response: ${JSON.stringify(res)}`);
|
|
84
93
|
return res.message.content;
|
|
@@ -87,7 +96,7 @@ export async function callJsonGen(input) {
|
|
|
87
96
|
const res = (await callUglyBot('jsonGen', input));
|
|
88
97
|
if (!res.message?.content)
|
|
89
98
|
throw new Error(`jsonGen returned no content — response: ${JSON.stringify(res)}`);
|
|
90
|
-
return JSON.parse(res.message.content);
|
|
99
|
+
return JSON.parse(contentToText(res.message.content));
|
|
91
100
|
}
|
|
92
101
|
export async function callImageGen(input) {
|
|
93
102
|
const res = (await callUglyBot('imageGen', input));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callAI.js","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"callAI.js","sourceRoot":"","sources":["../../src/client/callAI.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export { ttsRevealIndex } from '../shared/Audio.js';
|
|
|
33
33
|
export type { TtsWordTiming } from '../shared/Audio.js';
|
|
34
34
|
export { WaveVisualizer } from './audio/WaveVisualizer.js';
|
|
35
35
|
export { callImageGen, callJsonGen, callTextGen } from './callAI.js';
|
|
36
|
+
export type { CallAIOptions, TextGenContent } from './callAI.js';
|
|
36
37
|
export { clearBillingVerdict, isBillingBlocked, noteBillingError, refreshBillingVerdict, setBillingVerdict, useBillingBlocked, } from './billingState.js';
|
|
37
38
|
export { subscribeCachedDoc, useCachedDoc, useCachedDocs, forceRefreshCachedDoc, seedCachedDocsFromSsr, } from './cachedDoc.js';
|
|
38
39
|
export type { Unsubscribe } from './cachedDoc.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAM3C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,WAAW,EACX,MAAM,EACN,cAAc,EACd,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,UAAU,GACX,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAM3C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,WAAW,EACX,MAAM,EACN,cAAc,EACd,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,UAAU,GACX,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,cAAc,uBAAuB,CAAC;AACtC,mEAAmE;AACnE,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAO7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,+BAA+B,EAC/B,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/native/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { installUglyNative } from './install.js';
|
|
|
8
8
|
export { createNodeUglyNative } from './node.js';
|
|
9
9
|
export { native, permissions, nativePlatform, isNativeAvailable, } from './wrapper.js';
|
|
10
10
|
export type { PermissionsFacade } from './permissions.js';
|
|
11
|
+
export type { CapabilityRequest } from './server/permissions/types.js';
|
|
11
12
|
export type { UglyProcess } from './facades/process.js';
|
|
12
13
|
export type { UglySocket, UglyServer } from './facades/net.js';
|
|
13
14
|
export type { SandboxFacade } from './facades/sandbox.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
|
package/dist/native/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,0EAA0E;AAC1E,wFAAwF;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,0EAA0E;AAC1E,wFAAwF;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,aAAa,EACb,WAAW,GAGZ,MAAM,mBAAmB,CAAC;AAE3B,mDAAmD;AACnD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AASjD,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,SAAS,GACV,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { Namespace, GrantState } from './contract.js';
|
|
2
2
|
import type { Platform } from './contract-meta.js';
|
|
3
|
+
import type { CapabilityRequest } from './server/permissions/types.js';
|
|
3
4
|
type Invoke = (channel: string, payload: unknown) => Promise<unknown>;
|
|
4
5
|
export interface PermissionsFacade {
|
|
5
|
-
request(grants:
|
|
6
|
+
request(grants: CapabilityRequest): Promise<Record<string, GrantState>>;
|
|
6
7
|
query(): Promise<Record<string, GrantState>>;
|
|
7
8
|
revoke(namespace: Namespace): Promise<void>;
|
|
8
9
|
ensure(namespace: Namespace): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/native/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/native/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAcvE,KAAK,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,GACpC,iBAAiB,CAuCnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/native/permissions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/native/permissions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD,+EAA+E;AAC/E,mEAAmE;AACnE,MAAM,KAAK,GAA2B,IAAI,GAAG,CAAY;IACvD,IAAI;IACJ,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAWH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,QAAqC;IAErC,wFAAwF;IACxF,+EAA+E;IAC/E,MAAM,UAAU,GAAG,GAAa,EAAE,CAChC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,MAAM,MAAM,GAAsB;QAChC,KAAK,CAAC,OAAO,CAAC,MAAM;YAClB,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,CAAC,CAE3D,CAAC;YACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC9C,KAAK,CAAC,GAAG,CAAC,CAAc,EAAE,CAAC,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAExD,CAAC;YACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC9C,KAAK,CAAC,GAAG,CAAC,CAAc,EAAE,CAAC,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,SAAS;YACpB,MAAM,MAAM,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAClD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO;YAClC,IAAI,UAAU,EAAE,KAAK,KAAK;gBAAE,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,MAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;gBAAE,OAAO;YACjE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ;gBACpD,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BundledToolName } from '../../bundledTools.js';
|
|
1
2
|
/**
|
|
2
3
|
* Permission model for the Ugly Browser's privileged capabilities.
|
|
3
4
|
*
|
|
@@ -16,7 +17,7 @@ export interface CapabilityRequest {
|
|
|
16
17
|
/** 'scoped' = per-origin folder only; 'full' = entire filesystem (sudo). */
|
|
17
18
|
fs?: 'scoped' | 'full';
|
|
18
19
|
/** Bundled binaries the site wants to run (e.g. ['python', 'ffmpeg']). */
|
|
19
|
-
process?: readonly
|
|
20
|
+
process?: readonly BundledToolName[];
|
|
20
21
|
/** Bind a localhost server. */
|
|
21
22
|
serve?: boolean;
|
|
22
23
|
/** Register a background worker, optionally start-on-boot. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/native/server/permissions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/native/server/permissions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;;;;;;GAYG;AAEH,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvC,gEAAgE;IAChE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,0BAA0B;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/B,2CAA2C;IAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,EAAE,WAUzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,KAAK,EAAE,iBAAiB,CAAC;IACzB,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,uBAAuB,EAAE,OAAO,CAAC;CAClC"}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Permission model for the Ugly Browser's privileged capabilities.
|
|
3
|
-
*
|
|
4
|
-
* Every `window.ugly` call is gated against a per-origin grant. This
|
|
5
|
-
* module is pure decision logic — no Electron, no IO — so the security
|
|
6
|
-
* crux is unit-testable in isolation. The Electron main process wires
|
|
7
|
-
* the prompt UI + on-disk persistence around it (Subsystem B).
|
|
8
|
-
*
|
|
9
|
-
* Tiers (see the plan): a trusted-origin allowlist auto-grants; any
|
|
10
|
-
* other origin must be prompted and is confined to a per-origin scoped
|
|
11
|
-
* folder; `fs: 'full'` (sudo) and `workers.boot` (start-on-OS-boot) are
|
|
12
|
-
* separate, scarier confirmations layered on top.
|
|
13
|
-
*/
|
|
14
1
|
export const EMPTY_GRANT = {
|
|
15
2
|
fs: 'none',
|
|
16
3
|
process: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/native/server/permissions/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/native/server/permissions/types.ts"],"names":[],"mappings":"AAkDA,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;IAClB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;CACd,CAAC"}
|
package/dist/server/AiText.js
CHANGED
|
@@ -161,7 +161,7 @@ export function createTextGen(userId, defaults) {
|
|
|
161
161
|
async generateJson(schema, messages, options) {
|
|
162
162
|
const opts = { ...defaults, ...options };
|
|
163
163
|
const data = await postText(buildBody(messages, opts, userId, {
|
|
164
|
-
schema: schema
|
|
164
|
+
schema: z.toJSONSchema(schema),
|
|
165
165
|
mode: 'json',
|
|
166
166
|
}));
|
|
167
167
|
const raw = extractContent(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiText.js","sourceRoot":"","sources":["../../src/server/AiText.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AiText.js","sourceRoot":"","sources":["../../src/server/AiText.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// src/server/ai/providers/UglyBotTextGenProvider.ts
|
|
2
|
+
import { z } from 'zod';
|
|
1
3
|
import { uglyBotRequest } from '../../uglyBotProxy.js';
|
|
2
4
|
import { parseOrThrow } from '../../../shared/parseWithZod.js';
|
|
3
5
|
/** Flatten a textGen message content (string or content-part array) to text. */
|
|
@@ -45,7 +47,7 @@ export const uglyBotTextGenProvider = {
|
|
|
45
47
|
const model = options?.model ?? 'llama_4_scout';
|
|
46
48
|
const data = await uglyBotRequest('jsonGen', {
|
|
47
49
|
model,
|
|
48
|
-
schema: schema
|
|
50
|
+
schema: z.toJSONSchema(schema),
|
|
49
51
|
messages,
|
|
50
52
|
options: {
|
|
51
53
|
maxTokens: options?.maxTokens,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UglyBotTextGenProvider.js","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotTextGenProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UglyBotTextGenProvider.js","sourceRoot":"","sources":["../../../../src/server/ai/providers/UglyBotTextGenProvider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
3
|
"packageManager": "pnpm@10.34.5",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.995",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"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.",
|
|
7
7
|
"files": [
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.995";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @vitest-environment jsdom
|
|
2
2
|
import { describe, it, expect, vi, afterEach, beforeEach } from 'vitest';
|
|
3
|
-
import { callTextGen } from './callAI';
|
|
3
|
+
import { callJsonGen, callTextGen } from './callAI';
|
|
4
4
|
import { clearBillingVerdict, isBillingBlocked } from './billingState';
|
|
5
5
|
|
|
6
6
|
type Win = typeof globalThis & {
|
|
@@ -23,6 +23,18 @@ afterEach(() => {
|
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
describe('callAI native consolidation', () => {
|
|
26
|
+
it('rejects an already-aborted signal before dispatching to a native host', async () => {
|
|
27
|
+
const invoke = vi.fn();
|
|
28
|
+
setDesktopHost(invoke);
|
|
29
|
+
const controller = new AbortController();
|
|
30
|
+
controller.abort();
|
|
31
|
+
|
|
32
|
+
await expect(
|
|
33
|
+
callTextGen({ prompt: 'hi' } as never, { signal: controller.signal }),
|
|
34
|
+
).rejects.toMatchObject({ name: 'AbortError' });
|
|
35
|
+
expect(invoke).not.toHaveBeenCalled();
|
|
36
|
+
});
|
|
37
|
+
|
|
26
38
|
it('routes through the native host (uglybot.request) inside a shell, no fetch', async () => {
|
|
27
39
|
const invoke = vi.fn(async (channel: string, payload: unknown) => {
|
|
28
40
|
expect(channel).toBe('uglybot.request');
|
|
@@ -56,6 +68,88 @@ describe('callAI native consolidation', () => {
|
|
|
56
68
|
expect(String(url)).toContain('/request');
|
|
57
69
|
});
|
|
58
70
|
|
|
71
|
+
it('returns structured tool-use content without flattening it', async () => {
|
|
72
|
+
const content = [
|
|
73
|
+
{ type: 'text', text: 'checking' },
|
|
74
|
+
{ type: 'tool_use', id: 'tool-1', name: 'lookup', input: { id: 1 } },
|
|
75
|
+
];
|
|
76
|
+
vi.stubGlobal(
|
|
77
|
+
'fetch',
|
|
78
|
+
vi.fn(async () => ({
|
|
79
|
+
ok: true,
|
|
80
|
+
json: async () => ({ result: { message: { content } } }),
|
|
81
|
+
})) as never,
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
await expect(callTextGen({ prompt: 'hi' } as never)).resolves.toEqual(
|
|
85
|
+
content,
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it('parses jsonGen text content blocks', async () => {
|
|
90
|
+
vi.stubGlobal(
|
|
91
|
+
'fetch',
|
|
92
|
+
vi.fn(async () => ({
|
|
93
|
+
ok: true,
|
|
94
|
+
json: async () => ({
|
|
95
|
+
result: {
|
|
96
|
+
message: {
|
|
97
|
+
content: [
|
|
98
|
+
{ type: 'thinking', thinking: 'private' },
|
|
99
|
+
{ type: 'text', text: '{"answer":42}' },
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
}),
|
|
104
|
+
})) as never,
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
await expect(callJsonGen({ prompt: 'json' } as never)).resolves.toEqual({
|
|
108
|
+
answer: 42,
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
it('passes an optional AbortSignal to the direct fetch', async () => {
|
|
113
|
+
w.__AUTH_TOKEN__ = 'tok';
|
|
114
|
+
const controller = new AbortController();
|
|
115
|
+
const fetchSpy = vi.fn(async (_url: string, init: RequestInit) => {
|
|
116
|
+
expect(init.signal).toBe(controller.signal);
|
|
117
|
+
return {
|
|
118
|
+
ok: true,
|
|
119
|
+
json: async () => ({ result: { message: { content: 'web-hi' } } }),
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
vi.stubGlobal('fetch', fetchSpy as never);
|
|
123
|
+
|
|
124
|
+
await expect(
|
|
125
|
+
callTextGen({ prompt: 'hi' } as never, { signal: controller.signal }),
|
|
126
|
+
).resolves.toBe('web-hi');
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
it('aborts an in-flight direct fetch', async () => {
|
|
130
|
+
w.__AUTH_TOKEN__ = 'tok';
|
|
131
|
+
const controller = new AbortController();
|
|
132
|
+
vi.stubGlobal(
|
|
133
|
+
'fetch',
|
|
134
|
+
vi.fn(
|
|
135
|
+
(_url: string, init: RequestInit) =>
|
|
136
|
+
new Promise((_resolve, reject) => {
|
|
137
|
+
init.signal?.addEventListener(
|
|
138
|
+
'abort',
|
|
139
|
+
() => reject(new DOMException('Aborted', 'AbortError')),
|
|
140
|
+
{ once: true },
|
|
141
|
+
);
|
|
142
|
+
}),
|
|
143
|
+
) as never,
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
const pending = callTextGen({ prompt: 'hi' } as never, {
|
|
147
|
+
signal: controller.signal,
|
|
148
|
+
});
|
|
149
|
+
controller.abort();
|
|
150
|
+
await expect(pending).rejects.toMatchObject({ name: 'AbortError' });
|
|
151
|
+
});
|
|
152
|
+
|
|
59
153
|
it('falls back to fetch when an old shell lacks the uglybot handler', async () => {
|
|
60
154
|
const invoke = vi.fn(async () => {
|
|
61
155
|
throw new Error('NativeUnavailable: uglybot.request');
|
package/src/client/callAI.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type {
|
|
|
2
2
|
ImageGenInput,
|
|
3
3
|
JsonGenInput,
|
|
4
4
|
TextGenInput,
|
|
5
|
+
TextGenOutput,
|
|
5
6
|
} from '../shared/index.js';
|
|
6
7
|
import { native, isNativeAvailable } from '../native/index.js';
|
|
7
8
|
import { noteBillingError } from './billingState.js';
|
|
@@ -31,7 +32,9 @@ function isHostMissingUglyBot(e: unknown): boolean {
|
|
|
31
32
|
export async function callUglyBot(
|
|
32
33
|
op: string,
|
|
33
34
|
input: unknown,
|
|
35
|
+
options: CallAIOptions = {},
|
|
34
36
|
): Promise<unknown> {
|
|
37
|
+
options.signal?.throwIfAborted();
|
|
35
38
|
// Inside a native shell (Ugly Studio desktop / iOS / Android), route through the
|
|
36
39
|
// host's ONE shared, authenticated ugly.bot socket instead of opening a per-page
|
|
37
40
|
// connection. The host injects the page's real origin for per-app metering.
|
|
@@ -47,10 +50,30 @@ export async function callUglyBot(
|
|
|
47
50
|
// Old shell without the handler — fall through to the direct fetch below.
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
|
-
return callUglyBotDirect(op, input);
|
|
53
|
+
return callUglyBotDirect(op, input, options);
|
|
51
54
|
}
|
|
52
55
|
|
|
53
|
-
|
|
56
|
+
export interface CallAIOptions {
|
|
57
|
+
/** Cancels the browser fetch. Native hosts currently cannot cancel an
|
|
58
|
+
* already-dispatched bridge request, but still reject immediately when the
|
|
59
|
+
* supplied signal was already aborted. */
|
|
60
|
+
signal?: AbortSignal;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export type TextGenContent = NonNullable<TextGenOutput>['message']['content'];
|
|
64
|
+
|
|
65
|
+
function contentToText(content: TextGenContent): string {
|
|
66
|
+
if (typeof content === 'string') return content;
|
|
67
|
+
return content
|
|
68
|
+
.map((part) => (part.type === 'text' ? part.text : ''))
|
|
69
|
+
.join('');
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
async function callUglyBotDirect(
|
|
73
|
+
op: string,
|
|
74
|
+
input: unknown,
|
|
75
|
+
options: CallAIOptions,
|
|
76
|
+
): Promise<unknown> {
|
|
54
77
|
const token =
|
|
55
78
|
typeof window !== 'undefined'
|
|
56
79
|
? (window as unknown as { __AUTH_TOKEN__?: string }).__AUTH_TOKEN__
|
|
@@ -74,6 +97,7 @@ async function callUglyBotDirect(op: string, input: unknown): Promise<unknown> {
|
|
|
74
97
|
'Content-Type': 'application/json',
|
|
75
98
|
},
|
|
76
99
|
body: JSON.stringify(payload),
|
|
100
|
+
...(options.signal === undefined ? {} : { signal: options.signal }),
|
|
77
101
|
});
|
|
78
102
|
if (!res.ok) {
|
|
79
103
|
const body = await res.text().catch(() => '');
|
|
@@ -96,9 +120,12 @@ async function callUglyBotDirect(op: string, input: unknown): Promise<unknown> {
|
|
|
96
120
|
return json['result'] !== undefined ? json['result'] : json;
|
|
97
121
|
}
|
|
98
122
|
|
|
99
|
-
export async function callTextGen(
|
|
100
|
-
|
|
101
|
-
|
|
123
|
+
export async function callTextGen(
|
|
124
|
+
input: TextGenInput,
|
|
125
|
+
options: CallAIOptions = {},
|
|
126
|
+
): Promise<TextGenContent> {
|
|
127
|
+
const res = (await callUglyBot('textGen', input, options)) as {
|
|
128
|
+
message?: { role: string; content: TextGenContent };
|
|
102
129
|
};
|
|
103
130
|
if (!res.message?.content)
|
|
104
131
|
throw new Error(
|
|
@@ -111,13 +138,13 @@ export async function callJsonGen<T = unknown>(
|
|
|
111
138
|
input: JsonGenInput,
|
|
112
139
|
): Promise<T> {
|
|
113
140
|
const res = (await callUglyBot('jsonGen', input)) as {
|
|
114
|
-
message?: { role: string; content:
|
|
141
|
+
message?: { role: string; content: TextGenContent };
|
|
115
142
|
};
|
|
116
143
|
if (!res.message?.content)
|
|
117
144
|
throw new Error(
|
|
118
145
|
`jsonGen returned no content — response: ${JSON.stringify(res)}`,
|
|
119
146
|
);
|
|
120
|
-
return JSON.parse(res.message.content) as T;
|
|
147
|
+
return JSON.parse(contentToText(res.message.content)) as T;
|
|
121
148
|
}
|
|
122
149
|
|
|
123
150
|
export async function callImageGen(input: ImageGenInput): Promise<string> {
|
package/src/client/index.ts
CHANGED
|
@@ -106,6 +106,7 @@ export { ttsRevealIndex } from '../shared/Audio.js';
|
|
|
106
106
|
export type { TtsWordTiming } from '../shared/Audio.js';
|
|
107
107
|
export { WaveVisualizer } from './audio/WaveVisualizer.js';
|
|
108
108
|
export { callImageGen, callJsonGen, callTextGen } from './callAI.js';
|
|
109
|
+
export type { CallAIOptions, TextGenContent } from './callAI.js';
|
|
109
110
|
export {
|
|
110
111
|
clearBillingVerdict,
|
|
111
112
|
isBillingBlocked,
|
package/src/native/index.ts
CHANGED
|
@@ -56,6 +56,7 @@ export {
|
|
|
56
56
|
isNativeAvailable,
|
|
57
57
|
} from './wrapper.js';
|
|
58
58
|
export type { PermissionsFacade } from './permissions.js';
|
|
59
|
+
export type { CapabilityRequest } from './server/permissions/types.js';
|
|
59
60
|
export type { UglyProcess } from './facades/process.js';
|
|
60
61
|
export type { UglySocket, UglyServer } from './facades/net.js';
|
|
61
62
|
export type { SandboxFacade } from './facades/sandbox.js';
|
|
@@ -7,10 +7,17 @@ function fakeInvoke() {
|
|
|
7
7
|
const granted: Record<string, string> = {};
|
|
8
8
|
return vi.fn(async (channel: string, payload: unknown) => {
|
|
9
9
|
if (channel === 'permissions.request') {
|
|
10
|
-
const grants = (
|
|
11
|
-
|
|
10
|
+
const grants = (
|
|
11
|
+
payload as {
|
|
12
|
+
grants: Record<string, string | boolean | readonly string[]>;
|
|
13
|
+
}
|
|
14
|
+
).grants;
|
|
12
15
|
for (const [k, v] of Object.entries(grants))
|
|
13
|
-
granted[k] =
|
|
16
|
+
granted[k] = Array.isArray(v)
|
|
17
|
+
? v.join(',')
|
|
18
|
+
: v === true
|
|
19
|
+
? 'granted'
|
|
20
|
+
: String(v);
|
|
14
21
|
return { granted: { ...granted } };
|
|
15
22
|
}
|
|
16
23
|
if (channel === 'permissions.query') return { granted: { ...granted } };
|
|
@@ -32,6 +39,14 @@ describe('permissions facade', () => {
|
|
|
32
39
|
await perms.request({ fs: 'scoped' });
|
|
33
40
|
await expect(perms.ensure('fs')).resolves.toBeUndefined();
|
|
34
41
|
});
|
|
42
|
+
it('accepts catalog-typed process grants', async () => {
|
|
43
|
+
const invoke = fakeInvoke();
|
|
44
|
+
const perms = createPermissions(invoke, 'desktop');
|
|
45
|
+
await perms.request({ process: ['ffmpeg', 'python'] });
|
|
46
|
+
expect(invoke).toHaveBeenCalledWith('permissions.request', {
|
|
47
|
+
grants: { process: ['ffmpeg', 'python'] },
|
|
48
|
+
});
|
|
49
|
+
});
|
|
35
50
|
it('ensure is a no-op for app namespaces (gps)', async () => {
|
|
36
51
|
const invoke = fakeInvoke();
|
|
37
52
|
const perms = createPermissions(invoke, 'ios');
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Namespace, GrantState } from './contract.js';
|
|
2
2
|
import type { Platform } from './contract-meta.js';
|
|
3
3
|
import { PermissionDeniedError } from './protocol.js';
|
|
4
|
+
import type { CapabilityRequest } from './server/permissions/types.js';
|
|
4
5
|
|
|
5
6
|
// Namespaces gated by explicit grants (daemon capabilities). OS-backed and app
|
|
6
7
|
// namespaces are not pre-gated here (the OS prompts at call time).
|
|
@@ -17,9 +18,7 @@ const GATED: ReadonlySet<Namespace> = new Set<Namespace>([
|
|
|
17
18
|
type Invoke = (channel: string, payload: unknown) => Promise<unknown>;
|
|
18
19
|
|
|
19
20
|
export interface PermissionsFacade {
|
|
20
|
-
request(
|
|
21
|
-
grants: Partial<Record<Namespace, GrantState | boolean>>,
|
|
22
|
-
): Promise<Record<string, GrantState>>;
|
|
21
|
+
request(grants: CapabilityRequest): Promise<Record<string, GrantState>>;
|
|
23
22
|
query(): Promise<Record<string, GrantState>>;
|
|
24
23
|
revoke(namespace: Namespace): Promise<void>;
|
|
25
24
|
ensure(namespace: Namespace): Promise<void>;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { BundledToolName } from '../../bundledTools.js';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Permission model for the Ugly Browser's privileged capabilities.
|
|
3
5
|
*
|
|
@@ -17,7 +19,7 @@ export interface CapabilityRequest {
|
|
|
17
19
|
/** 'scoped' = per-origin folder only; 'full' = entire filesystem (sudo). */
|
|
18
20
|
fs?: 'scoped' | 'full';
|
|
19
21
|
/** Bundled binaries the site wants to run (e.g. ['python', 'ffmpeg']). */
|
|
20
|
-
process?: readonly
|
|
22
|
+
process?: readonly BundledToolName[];
|
|
21
23
|
/** Bind a localhost server. */
|
|
22
24
|
serve?: boolean;
|
|
23
25
|
/** Register a background worker, optionally start-on-boot. */
|
package/src/server/AiText.ts
CHANGED
|
@@ -210,7 +210,7 @@ export function createTextGen(
|
|
|
210
210
|
const opts = { ...defaults, ...options };
|
|
211
211
|
const data = await postText(
|
|
212
212
|
buildBody(messages, opts, userId, {
|
|
213
|
-
schema: (schema
|
|
213
|
+
schema: z.toJSONSchema(schema),
|
|
214
214
|
mode: 'json',
|
|
215
215
|
}),
|
|
216
216
|
);
|
|
@@ -65,7 +65,7 @@ export const uglyBotTextGenProvider: TextGenProvider = {
|
|
|
65
65
|
const model = options?.model ?? 'llama_4_scout';
|
|
66
66
|
const data = await uglyBotRequest('jsonGen', {
|
|
67
67
|
model,
|
|
68
|
-
schema: schema
|
|
68
|
+
schema: z.toJSONSchema(schema),
|
|
69
69
|
messages,
|
|
70
70
|
options: {
|
|
71
71
|
maxTokens: options?.maxTokens,
|