ugly-app 0.1.651 → 0.1.653
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/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/native/contract-meta.d.ts.map +1 -1
- package/dist/native/contract-meta.js +5 -0
- package/dist/native/contract-meta.js.map +1 -1
- package/dist/native/contract.d.ts +49 -1
- package/dist/native/contract.d.ts.map +1 -1
- package/dist/native/contract.js.map +1 -1
- package/dist/native/facades/sandbox.d.ts +20 -0
- package/dist/native/facades/sandbox.d.ts.map +1 -0
- package/dist/native/facades/sandbox.js +8 -0
- package/dist/native/facades/sandbox.js.map +1 -0
- package/dist/native/index.d.ts +2 -1
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js.map +1 -1
- package/dist/native/server/binaries.d.ts +23 -0
- package/dist/native/server/binaries.d.ts.map +1 -0
- package/dist/native/server/binaries.js +125 -0
- package/dist/native/server/binaries.js.map +1 -0
- package/dist/native/server/index.d.ts +16 -0
- package/dist/native/server/index.d.ts.map +1 -0
- package/dist/native/server/index.js +16 -0
- package/dist/native/server/index.js.map +1 -0
- package/dist/native/server/permissions/audit.d.ts +29 -0
- package/dist/native/server/permissions/audit.d.ts.map +1 -0
- package/dist/native/server/permissions/audit.js +28 -0
- package/dist/native/server/permissions/audit.js.map +1 -0
- package/dist/native/server/permissions/gate.d.ts +63 -0
- package/dist/native/server/permissions/gate.d.ts.map +1 -0
- package/dist/native/server/permissions/gate.js +150 -0
- package/dist/native/server/permissions/gate.js.map +1 -0
- package/dist/native/server/permissions/grants.d.ts +36 -0
- package/dist/native/server/permissions/grants.d.ts.map +1 -0
- package/dist/native/server/permissions/grants.js +116 -0
- package/dist/native/server/permissions/grants.js.map +1 -0
- package/dist/native/server/permissions/scope.d.ts +32 -0
- package/dist/native/server/permissions/scope.d.ts.map +1 -0
- package/dist/native/server/permissions/scope.js +73 -0
- package/dist/native/server/permissions/scope.js.map +1 -0
- package/dist/native/server/permissions/types.d.ts +64 -0
- package/dist/native/server/permissions/types.d.ts.map +1 -0
- package/dist/native/server/permissions/types.js +25 -0
- package/dist/native/server/permissions/types.js.map +1 -0
- package/dist/native/wrapper.d.ts +1 -0
- package/dist/native/wrapper.d.ts.map +1 -1
- package/dist/native/wrapper.js +2 -0
- package/dist/native/wrapper.js.map +1 -1
- package/package.json +3 -2
- package/src/cli/version.ts +1 -1
- package/src/native/contract-meta.ts +5 -0
- package/src/native/contract.ts +32 -0
- package/src/native/facades/sandbox.ts +29 -0
- package/src/native/index.ts +4 -0
- package/src/native/server/binaries.ts +136 -0
- package/src/native/server/index.ts +27 -0
- package/src/native/server/permissions/audit.ts +44 -0
- package/src/native/server/permissions/gate.test.ts +30 -0
- package/src/native/server/permissions/gate.ts +176 -0
- package/src/native/server/permissions/grants.test.ts +22 -0
- package/src/native/server/permissions/grants.ts +135 -0
- package/src/native/server/permissions/scope.ts +80 -0
- package/src/native/server/permissions/types.ts +75 -0
- package/src/native/wrapper.ts +2 -0
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.653";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -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,
|
|
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,EAsBjC,CAAC;AAkGF,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"}
|
|
@@ -16,6 +16,7 @@ export const NAMESPACES = [
|
|
|
16
16
|
'workers',
|
|
17
17
|
'net',
|
|
18
18
|
'process',
|
|
19
|
+
'sandbox',
|
|
19
20
|
'permissions',
|
|
20
21
|
'studio',
|
|
21
22
|
'browser',
|
|
@@ -40,6 +41,7 @@ const NS_DEFAULT = {
|
|
|
40
41
|
workers: ['native', 'native', 'native', 'throw'],
|
|
41
42
|
net: ['native', 'native', 'native', 'throw'],
|
|
42
43
|
process: ['native', 'native', 'native', 'throw'], // uniform API — mobile may implement it too
|
|
44
|
+
sandbox: ['throw', 'throw', 'native', 'throw'], // desktop-only (Ugly Studio daemon)
|
|
43
45
|
permissions: ['native', 'native', 'native', 'native'],
|
|
44
46
|
studio: ['native', 'native', 'native', 'throw'],
|
|
45
47
|
browser: ['throw', 'throw', 'native', 'throw'],
|
|
@@ -95,6 +97,9 @@ const CHANNELS = [
|
|
|
95
97
|
'process.write',
|
|
96
98
|
'process.closeStdin',
|
|
97
99
|
'process.kill',
|
|
100
|
+
'sandbox.status',
|
|
101
|
+
'sandbox.initialize',
|
|
102
|
+
'sandbox.teardown',
|
|
98
103
|
'net.connect',
|
|
99
104
|
'net.listen',
|
|
100
105
|
'net.write',
|
|
@@ -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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"}
|
|
@@ -41,6 +41,34 @@ export interface SpawnOpts {
|
|
|
41
41
|
replaceEnv?: boolean;
|
|
42
42
|
detached?: boolean;
|
|
43
43
|
treeKill?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Per-project sandbox context (set by agent tool spawns). When present the
|
|
46
|
+
* host scopes TMPDIR/HOME into the project and, in edit mode with an
|
|
47
|
+
* initialized sandbox, drops the process to the project's OS user. Absent →
|
|
48
|
+
* unsandboxed (e.g. the project scaffold). `projectDir` defaults to `cwd`.
|
|
49
|
+
*/
|
|
50
|
+
sandbox?: {
|
|
51
|
+
projectId: string;
|
|
52
|
+
mode: SandboxMode;
|
|
53
|
+
projectDir?: string;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** Agent execution mode the sandbox cares about. */
|
|
57
|
+
export type SandboxMode = 'edit' | 'yolo' | 'claude-plan';
|
|
58
|
+
/** Result of `sandbox.status`. */
|
|
59
|
+
export interface SandboxStatus {
|
|
60
|
+
/** Whether OS-user sandboxing is possible on this host at all. */
|
|
61
|
+
supported: boolean;
|
|
62
|
+
/** Whether this project's sandbox user is created + verified. */
|
|
63
|
+
initialized: boolean;
|
|
64
|
+
platform: 'macos' | 'linux' | 'windows' | 'unsupported';
|
|
65
|
+
/** The sandbox user (`ugs-<projectId>`), or null when unsupported. */
|
|
66
|
+
username: string | null;
|
|
67
|
+
}
|
|
68
|
+
/** Result of `sandbox.initialize` / `sandbox.teardown`. */
|
|
69
|
+
export interface SandboxResult {
|
|
70
|
+
ok: boolean;
|
|
71
|
+
error?: string;
|
|
44
72
|
}
|
|
45
73
|
export interface SafeAreaInsets {
|
|
46
74
|
top: number;
|
|
@@ -380,6 +408,26 @@ export interface NativeContract {
|
|
|
380
408
|
};
|
|
381
409
|
result: void;
|
|
382
410
|
};
|
|
411
|
+
'sandbox.status': {
|
|
412
|
+
payload: {
|
|
413
|
+
projectId: string;
|
|
414
|
+
};
|
|
415
|
+
result: SandboxStatus;
|
|
416
|
+
};
|
|
417
|
+
'sandbox.initialize': {
|
|
418
|
+
payload: {
|
|
419
|
+
projectId: string;
|
|
420
|
+
projectDir: string;
|
|
421
|
+
};
|
|
422
|
+
result: SandboxResult;
|
|
423
|
+
};
|
|
424
|
+
'sandbox.teardown': {
|
|
425
|
+
payload: {
|
|
426
|
+
projectId: string;
|
|
427
|
+
projectDir: string;
|
|
428
|
+
};
|
|
429
|
+
result: SandboxResult;
|
|
430
|
+
};
|
|
383
431
|
'net.connect': {
|
|
384
432
|
payload: {
|
|
385
433
|
host: string;
|
|
@@ -544,6 +592,6 @@ export type NativeEvent = keyof NativeContract['events'];
|
|
|
544
592
|
export type PayloadOf<C extends Channel> = NativeContract['channels'][C]['payload'];
|
|
545
593
|
export type ResultOf<C extends Channel> = NativeContract['channels'][C]['result'];
|
|
546
594
|
export type DataOf<E extends NativeEvent> = NativeContract['events'][E];
|
|
547
|
-
export type Namespace = 'capture' | 'gps' | 'liveActivity' | 'alarm' | 'tts' | 'push' | 'clipboard' | 'system' | 'badge' | 'ui' | 'fs' | 'secrets' | 'serve' | 'workers' | 'net' | 'process' | 'permissions' | 'studio' | 'browser' | 'browse';
|
|
595
|
+
export type Namespace = 'capture' | 'gps' | 'liveActivity' | 'alarm' | 'tts' | 'push' | 'clipboard' | 'system' | 'badge' | 'ui' | 'fs' | 'secrets' | 'serve' | 'workers' | 'net' | 'process' | 'sandbox' | 'permissions' | 'studio' | 'browser' | 'browse';
|
|
548
596
|
export declare function namespaceOf(channel: Channel): Namespace;
|
|
549
597
|
//# 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;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/native/contract.ts"],"names":[],"mappings":"AAAA,+DAA+D;AA8Q/D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAc,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SandboxResult, SandboxStatus } from '../contract.js';
|
|
2
|
+
/**
|
|
3
|
+
* Per-project OS-user sandbox control. `status` is read-only; `initialize`
|
|
4
|
+
* creates the project's sandbox user + ACLs and triggers the OS admin-elevation
|
|
5
|
+
* prompt (Touch ID / password / UAC), so it must be called from an explicit
|
|
6
|
+
* user action. Once initialized, agent tool spawns pass `opts.sandbox` to
|
|
7
|
+
* `process.spawn` and the host drops them to that user in edit mode.
|
|
8
|
+
*/
|
|
9
|
+
export interface SandboxFacade {
|
|
10
|
+
/** Is sandboxing supported here, and is this project's user set up? */
|
|
11
|
+
status(projectId: string): Promise<SandboxStatus>;
|
|
12
|
+
/** Privileged: create the user + sudoers + ACLs (prompts for admin). */
|
|
13
|
+
initialize(projectId: string, projectDir: string): Promise<SandboxResult>;
|
|
14
|
+
/** Privileged: delete the user + revoke ACLs (prompts for admin). */
|
|
15
|
+
teardown(projectId: string, projectDir: string): Promise<SandboxResult>;
|
|
16
|
+
}
|
|
17
|
+
type Invoke = (channel: string, payload: unknown) => Promise<unknown>;
|
|
18
|
+
export declare function createSandboxFacade(invoke: Invoke): SandboxFacade;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=sandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/native/facades/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClD,wEAAwE;IACxE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1E,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACzE;AAED,KAAK,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAQjE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function createSandboxFacade(invoke) {
|
|
2
|
+
return {
|
|
3
|
+
status: (projectId) => invoke('sandbox.status', { projectId }),
|
|
4
|
+
initialize: (projectId, projectDir) => invoke('sandbox.initialize', { projectId, projectDir }),
|
|
5
|
+
teardown: (projectId, projectDir) => invoke('sandbox.teardown', { projectId, projectDir }),
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=sandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/native/facades/sandbox.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO;QACL,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAA2B;QACxF,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CACpC,MAAM,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAA2B;QACnF,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAClC,MAAM,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAA2B;KAClF,CAAC;AACJ,CAAC"}
|
package/dist/native/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { NativeContract, Channel, NativeEvent, PayloadOf, ResultOf, DataOf, Namespace, WorkoutLAState, CardioLAState, HostDirent, HostStat, UpdateStatus, GrantState, SpawnOpts, SafeAreaInsets, ExtractFormat, ExtractedPage, PageLink, BrowseSession, BrowseOpenOptions, } from './contract.js';
|
|
1
|
+
export type { NativeContract, Channel, NativeEvent, PayloadOf, ResultOf, DataOf, Namespace, WorkoutLAState, CardioLAState, HostDirent, HostStat, UpdateStatus, GrantState, SpawnOpts, SandboxMode, SandboxStatus, SandboxResult, SafeAreaInsets, ExtractFormat, ExtractedPage, PageLink, BrowseSession, BrowseOpenOptions, } from './contract.js';
|
|
2
2
|
export { namespaceOf } from './contract.js';
|
|
3
3
|
export type { Platform, Fallback } from './contract-meta.js';
|
|
4
4
|
export { CHANNEL_FALLBACK, NAMESPACES, fallbackFor } from './contract-meta.js';
|
|
@@ -9,6 +9,7 @@ export { native, permissions, nativePlatform, isNativeAvailable } from './wrappe
|
|
|
9
9
|
export type { PermissionsFacade } from './permissions.js';
|
|
10
10
|
export type { UglyProcess } from './facades/process.js';
|
|
11
11
|
export type { UglySocket, UglyServer } from './facades/net.js';
|
|
12
|
+
export type { SandboxFacade } from './facades/sandbox.js';
|
|
12
13
|
export type { StudioFacade } from './facades/studio.js';
|
|
13
14
|
export type { BrowserFacade, BrowserTab } from './facades/browser.js';
|
|
14
15
|
export type { BrowseFacade } from './facades/browse.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,EACT,QAAQ,EACR,MAAM,EACN,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,aAAa,EACb,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtF,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,EACT,QAAQ,EACR,MAAM,EACN,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,aAAa,EACb,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtF,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/native/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAyBA,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,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface BinaryProvisionConfig {
|
|
2
|
+
/** Where bundled tools are installed, e.g. `~/.ugly-studio/binaries`. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Base URL hosting `binaries-manifest.json` (the R2 mirror). */
|
|
5
|
+
manifestBase: string;
|
|
6
|
+
}
|
|
7
|
+
/** The installed executable for `tool` under `root`, version-agnostic, or null. */
|
|
8
|
+
export declare function findBundledTool(root: string, tool: string): string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a tool name to a path: a downloaded binary under `cfg.root` when
|
|
11
|
+
* present, else the bare name so the daemon's spawn resolves it on the system
|
|
12
|
+
* PATH. `downloadable` lists tools the host actually mirrors (others always
|
|
13
|
+
* fall through to PATH without a directory probe).
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveBundledBinary(name: string, cfg: Pick<BinaryProvisionConfig, 'root'>, downloadable?: readonly string[]): string;
|
|
16
|
+
/**
|
|
17
|
+
* Best-effort: download `tool` from the mirror into `cfg.root` on first use.
|
|
18
|
+
* Never fetches from the upstream project at runtime (the binary is mirrored to
|
|
19
|
+
* R2 by the host's publish step). Never throws (falls back to a system tool);
|
|
20
|
+
* idempotent + single-flight per tool.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ensureBundledTool(tool: string, cfg: BinaryProvisionConfig): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=binaries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaries.d.ts","sourceRoot":"","sources":["../../../src/native/server/binaries.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;CACtB;AAgBD,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWzE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,EACxC,YAAY,GAAE,SAAS,MAAM,EAAW,GACvC,MAAM,CAMR;AAsBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCzF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundled-binary provisioning for the native daemon (lifted from Ugly Studio so
|
|
3
|
+
* the daemon AND the test harness share one implementation). A host (Ugly
|
|
4
|
+
* Studio) bundles a small set of tools by downloading them from its own R2
|
|
5
|
+
* mirror on first launch; everything else resolves on the system PATH.
|
|
6
|
+
*
|
|
7
|
+
* Pure fs/child_process/fetch (no Electron) and fully parameterized — the
|
|
8
|
+
* install root + manifest mirror are injected via `BinaryProvisionConfig`, so
|
|
9
|
+
* nothing here hardcodes a particular app's paths or hostnames.
|
|
10
|
+
*
|
|
11
|
+
* The mirror exposes `<manifestBase>/binaries-manifest.json`:
|
|
12
|
+
* { "<tool>": { "version": "x", "archives": { "<platform>-<arch>": { "url" } } } }
|
|
13
|
+
* One `tar -xf` covers every platform's asset (bsdtar on mac/win unpacks zip).
|
|
14
|
+
*/
|
|
15
|
+
import { basename, join } from 'node:path';
|
|
16
|
+
import { chmodSync, existsSync, mkdirSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
17
|
+
import { execFile } from 'node:child_process';
|
|
18
|
+
import { promisify } from 'node:util';
|
|
19
|
+
const execFileP = promisify(execFile);
|
|
20
|
+
const exeName = (tool) => (process.platform === 'win32' ? `${tool}.exe` : tool);
|
|
21
|
+
function safeReaddir(dir) {
|
|
22
|
+
try {
|
|
23
|
+
return readdirSync(dir);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/** The installed executable for `tool` under `root`, version-agnostic, or null. */
|
|
30
|
+
export function findBundledTool(root, tool) {
|
|
31
|
+
const toolRoot = join(root, tool);
|
|
32
|
+
if (!existsSync(toolRoot))
|
|
33
|
+
return null;
|
|
34
|
+
for (const ver of safeReaddir(toolRoot)) {
|
|
35
|
+
const verDir = join(toolRoot, ver);
|
|
36
|
+
for (const sub of safeReaddir(verDir)) {
|
|
37
|
+
const p = join(verDir, sub, 'bin', exeName(tool));
|
|
38
|
+
if (existsSync(p))
|
|
39
|
+
return p;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Resolve a tool name to a path: a downloaded binary under `cfg.root` when
|
|
46
|
+
* present, else the bare name so the daemon's spawn resolves it on the system
|
|
47
|
+
* PATH. `downloadable` lists tools the host actually mirrors (others always
|
|
48
|
+
* fall through to PATH without a directory probe).
|
|
49
|
+
*/
|
|
50
|
+
export function resolveBundledBinary(name, cfg, downloadable = ['gh']) {
|
|
51
|
+
if (downloadable.includes(name)) {
|
|
52
|
+
const found = findBundledTool(cfg.root, name);
|
|
53
|
+
if (found)
|
|
54
|
+
return found;
|
|
55
|
+
}
|
|
56
|
+
return name;
|
|
57
|
+
}
|
|
58
|
+
/** Look up a tool's archive for this platform in the mirror's manifest. */
|
|
59
|
+
async function toolFromManifest(cfg, tool) {
|
|
60
|
+
try {
|
|
61
|
+
const res = await fetch(`${cfg.manifestBase}/binaries-manifest.json`, { cache: 'no-store' });
|
|
62
|
+
if (!res.ok)
|
|
63
|
+
return null;
|
|
64
|
+
const m = (await res.json());
|
|
65
|
+
const entry = m[tool];
|
|
66
|
+
const archive = entry?.archives[`${process.platform}-${process.arch}`];
|
|
67
|
+
if (!entry || !archive?.url)
|
|
68
|
+
return null;
|
|
69
|
+
return { version: entry.version, url: archive.url };
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const ensuring = new Map();
|
|
76
|
+
/**
|
|
77
|
+
* Best-effort: download `tool` from the mirror into `cfg.root` on first use.
|
|
78
|
+
* Never fetches from the upstream project at runtime (the binary is mirrored to
|
|
79
|
+
* R2 by the host's publish step). Never throws (falls back to a system tool);
|
|
80
|
+
* idempotent + single-flight per tool.
|
|
81
|
+
*/
|
|
82
|
+
export function ensureBundledTool(tool, cfg) {
|
|
83
|
+
const key = `${cfg.root}:${tool}`;
|
|
84
|
+
const inflight = ensuring.get(key);
|
|
85
|
+
if (inflight)
|
|
86
|
+
return inflight;
|
|
87
|
+
const run = (async () => {
|
|
88
|
+
try {
|
|
89
|
+
if (findBundledTool(cfg.root, tool))
|
|
90
|
+
return;
|
|
91
|
+
const man = await toolFromManifest(cfg, tool);
|
|
92
|
+
if (!man)
|
|
93
|
+
return; // not mirrored for this platform yet → system fallback
|
|
94
|
+
const dir = join(cfg.root, tool, man.version);
|
|
95
|
+
mkdirSync(dir, { recursive: true });
|
|
96
|
+
const archive = join(dir, basename(new URL(man.url).pathname));
|
|
97
|
+
const res = await fetch(man.url);
|
|
98
|
+
if (!res.ok)
|
|
99
|
+
return;
|
|
100
|
+
writeFileSync(archive, Buffer.from(await res.arrayBuffer()));
|
|
101
|
+
await execFileP('tar', ['-xf', archive, '-C', dir]);
|
|
102
|
+
try {
|
|
103
|
+
rmSync(archive);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
/* leave it */
|
|
107
|
+
}
|
|
108
|
+
const bin = findBundledTool(cfg.root, tool);
|
|
109
|
+
if (bin && process.platform !== 'win32') {
|
|
110
|
+
try {
|
|
111
|
+
chmodSync(bin, 0o755);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
/* already executable */
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
/* best-effort — fall back to a system tool */
|
|
120
|
+
}
|
|
121
|
+
})();
|
|
122
|
+
ensuring.set(key, run);
|
|
123
|
+
return run;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=binaries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaries.js","sourceRoot":"","sources":["../../../src/native/server/binaries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native daemon-side engine (Node) — the capability/permission core + bundled-
|
|
3
|
+
* binary provisioning that gate every privileged `window.UglyNative` operation.
|
|
4
|
+
*
|
|
5
|
+
* Pure decision logic (no Electron): a host wires the prompt UI + on-disk grant
|
|
6
|
+
* persistence around it. Lifted out of Ugly Studio so the daemon AND the
|
|
7
|
+
* Playwright test harness enforce the SAME model from one source of truth —
|
|
8
|
+
* a test can no longer pass against an unrestricted host.
|
|
9
|
+
*/
|
|
10
|
+
export { AuditLog, type AuditEntry } from './permissions/audit.js';
|
|
11
|
+
export { CapabilityGate, type GateConfig, PermissionDenied } from './permissions/gate.js';
|
|
12
|
+
export { GrantStore, type GrantSnapshot } from './permissions/grants.js';
|
|
13
|
+
export { isWithinScope, originScopeDir, resolveScopedPath, ScopeViolation } from './permissions/scope.js';
|
|
14
|
+
export { type CapabilityRequest, EMPTY_GRANT, type OriginGrant, type PermissionDecision, } from './permissions/types.js';
|
|
15
|
+
export { type BinaryProvisionConfig, ensureBundledTool, findBundledTool, resolveBundledBinary, } from './binaries.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EACL,KAAK,iBAAiB,EACtB,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native daemon-side engine (Node) — the capability/permission core + bundled-
|
|
3
|
+
* binary provisioning that gate every privileged `window.UglyNative` operation.
|
|
4
|
+
*
|
|
5
|
+
* Pure decision logic (no Electron): a host wires the prompt UI + on-disk grant
|
|
6
|
+
* persistence around it. Lifted out of Ugly Studio so the daemon AND the
|
|
7
|
+
* Playwright test harness enforce the SAME model from one source of truth —
|
|
8
|
+
* a test can no longer pass against an unrestricted host.
|
|
9
|
+
*/
|
|
10
|
+
export { AuditLog } from './permissions/audit.js';
|
|
11
|
+
export { CapabilityGate, PermissionDenied } from './permissions/gate.js';
|
|
12
|
+
export { GrantStore } from './permissions/grants.js';
|
|
13
|
+
export { isWithinScope, originScopeDir, resolveScopedPath, ScopeViolation } from './permissions/scope.js';
|
|
14
|
+
export { EMPTY_GRANT, } from './permissions/types.js';
|
|
15
|
+
export { ensureBundledTool, findBundledTool, resolveBundledBinary, } from './binaries.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAmB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAmB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAsB,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAEL,WAAW,GAGZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-origin audit log. Every gated `window.ugly` operation (process
|
|
3
|
+
* spawn, fs write, serve, …) is appended here so the user can review
|
|
4
|
+
* what an app actually did. In-memory ring buffer with an optional sink
|
|
5
|
+
* the Electron layer wires to append to `~/.ugly-browser/audit/<...>`.
|
|
6
|
+
*/
|
|
7
|
+
export interface AuditEntry {
|
|
8
|
+
ts: number;
|
|
9
|
+
origin: string;
|
|
10
|
+
capability: string;
|
|
11
|
+
/** The specific resource — a path, a binary name, a port, etc. */
|
|
12
|
+
resource: string;
|
|
13
|
+
allowed: boolean;
|
|
14
|
+
/** Why it was denied (empty when allowed). */
|
|
15
|
+
reason?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class AuditLog {
|
|
18
|
+
private readonly opts;
|
|
19
|
+
private readonly entries;
|
|
20
|
+
constructor(opts?: {
|
|
21
|
+
max?: number;
|
|
22
|
+
now?: () => number;
|
|
23
|
+
sink?: (e: AuditEntry) => void;
|
|
24
|
+
});
|
|
25
|
+
record(e: Omit<AuditEntry, 'ts'>): AuditEntry;
|
|
26
|
+
/** All entries, optionally filtered by origin. */
|
|
27
|
+
list(origin?: string): readonly AuditEntry[];
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../src/native/server/permissions/audit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAGzB,IAAI,GAAE;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;KAC3B;IAGR,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,UAAU;IAU7C,kDAAkD;IAClD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,UAAU,EAAE;CAG7C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-origin audit log. Every gated `window.ugly` operation (process
|
|
3
|
+
* spawn, fs write, serve, …) is appended here so the user can review
|
|
4
|
+
* what an app actually did. In-memory ring buffer with an optional sink
|
|
5
|
+
* the Electron layer wires to append to `~/.ugly-browser/audit/<...>`.
|
|
6
|
+
*/
|
|
7
|
+
export class AuditLog {
|
|
8
|
+
opts;
|
|
9
|
+
entries = [];
|
|
10
|
+
constructor(opts = {}) {
|
|
11
|
+
this.opts = opts;
|
|
12
|
+
}
|
|
13
|
+
record(e) {
|
|
14
|
+
const now = this.opts.now ?? (() => Date.now());
|
|
15
|
+
const entry = { ts: now(), ...e };
|
|
16
|
+
this.entries.push(entry);
|
|
17
|
+
const max = this.opts.max ?? 5000;
|
|
18
|
+
if (this.entries.length > max)
|
|
19
|
+
this.entries.splice(0, this.entries.length - max);
|
|
20
|
+
this.opts.sink?.(entry);
|
|
21
|
+
return entry;
|
|
22
|
+
}
|
|
23
|
+
/** All entries, optionally filtered by origin. */
|
|
24
|
+
list(origin) {
|
|
25
|
+
return origin ? this.entries.filter((e) => e.origin === origin) : this.entries;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../../src/native/server/permissions/audit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,MAAM,OAAO,QAAQ;IAIA;IAHF,OAAO,GAAiB,EAAE,CAAC;IAE5C,YACmB,OAIb,EAAE;QAJW,SAAI,GAAJ,IAAI,CAIf;IACL,CAAC;IAEJ,MAAM,CAAC,CAAyB;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,GAAe,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,MAAe;QAClB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACjF,CAAC;CACF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CapabilityGate — the single enforcement chokepoint the privileged
|
|
3
|
+
* daemon calls before performing any `window.ugly` operation. It
|
|
4
|
+
* composes the per-origin grants, the per-origin fs scope, the bundled-
|
|
5
|
+
* binary allowlist, and the audit log. Every call either returns the
|
|
6
|
+
* resolved/authorized value or throws `PermissionDenied` — and is
|
|
7
|
+
* recorded either way.
|
|
8
|
+
*
|
|
9
|
+
* Pure logic (no Electron / no fs): the Electron main wires the real
|
|
10
|
+
* `baseDir`, the live `GrantStore`, and an audit sink around it.
|
|
11
|
+
*/
|
|
12
|
+
import { AuditLog } from './audit.js';
|
|
13
|
+
import { GrantStore } from './grants.js';
|
|
14
|
+
export declare class PermissionDenied extends Error {
|
|
15
|
+
readonly origin: string;
|
|
16
|
+
readonly capability: string;
|
|
17
|
+
readonly resource: string;
|
|
18
|
+
constructor(origin: string, capability: string, resource: string, reason: string);
|
|
19
|
+
}
|
|
20
|
+
export interface GateConfig {
|
|
21
|
+
store: GrantStore;
|
|
22
|
+
/** Root for per-origin scoped folders, e.g. `~/.ugly-browser`. */
|
|
23
|
+
baseDir: string;
|
|
24
|
+
/** Binaries that CAN be granted at all (the bundled-tool allowlist). */
|
|
25
|
+
bundledBinaries: readonly string[];
|
|
26
|
+
audit?: AuditLog;
|
|
27
|
+
}
|
|
28
|
+
export declare class CapabilityGate {
|
|
29
|
+
private readonly store;
|
|
30
|
+
private readonly baseDir;
|
|
31
|
+
private readonly bundled;
|
|
32
|
+
readonly audit: AuditLog;
|
|
33
|
+
constructor(cfg: GateConfig);
|
|
34
|
+
/** The on-disk scope root for an origin (its sandboxed app folder). */
|
|
35
|
+
scopeRoot(origin: string): string;
|
|
36
|
+
private deny;
|
|
37
|
+
private allow;
|
|
38
|
+
/**
|
|
39
|
+
* Authorize + resolve an `ugly.fs.*` path. 'scoped' confines to the
|
|
40
|
+
* origin's folder; 'full' (sudo) allows any absolute path; 'none'
|
|
41
|
+
* denies. Returns the absolute path to operate on.
|
|
42
|
+
*/
|
|
43
|
+
resolveFsPath(origin: string, requestedPath: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve + confine a process's working directory. A `process` grant
|
|
46
|
+
* alone is enough to run inside the origin's scope folder — this does
|
|
47
|
+
* NOT require a separate `fs` grant (that gates `ugly.fs.*`). A 'full'
|
|
48
|
+
* (sudo) origin may cwd anywhere; everyone else is confined to scope.
|
|
49
|
+
*/
|
|
50
|
+
resolveProcessCwd(origin: string, cwd?: string): string;
|
|
51
|
+
/** Does this origin hold the github capability (authorizes gh + git)? */
|
|
52
|
+
holdsGithub(origin: string): boolean;
|
|
53
|
+
/** Authorize an `ugly.process` spawn of `binary`. Throws if not allowed. */
|
|
54
|
+
checkProcess(origin: string, binary: string): void;
|
|
55
|
+
checkServe(origin: string, port?: number): void;
|
|
56
|
+
checkNet(origin: string, target?: string): void;
|
|
57
|
+
checkWorkers(origin: string, opts?: {
|
|
58
|
+
boot?: boolean;
|
|
59
|
+
}): void;
|
|
60
|
+
checkSecrets(origin: string, key?: string): void;
|
|
61
|
+
checkBrowse(origin: string, target?: string): void;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../../src/native/server/permissions/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAFhB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM;CAKjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAEb,GAAG,EAAE,UAAU;IAO3B,uEAAuE;IACvE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIjC,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAsB5D;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAiBvD,yEAAyE;IACzE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIpC,4EAA4E;IAC5E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAalD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,IAAI;IAO1C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,IAAI;IAO3C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IASjE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,IAAI;IAO5C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,IAAI;CAM/C"}
|