ugly-app 0.1.619 → 0.1.621

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/cli/version.d.ts +1 -1
  2. package/dist/cli/version.js +1 -1
  3. package/dist/native/contract-meta.d.ts +7 -0
  4. package/dist/native/contract-meta.d.ts.map +1 -0
  5. package/dist/native/contract-meta.js +105 -0
  6. package/dist/native/contract-meta.js.map +1 -0
  7. package/dist/native/contract.d.ts +254 -24
  8. package/dist/native/contract.d.ts.map +1 -1
  9. package/dist/native/contract.js +4 -15
  10. package/dist/native/contract.js.map +1 -1
  11. package/dist/native/facades/net.d.ts +26 -0
  12. package/dist/native/facades/net.d.ts.map +1 -0
  13. package/dist/native/facades/net.js +22 -0
  14. package/dist/native/facades/net.js.map +1 -0
  15. package/dist/native/facades/process.d.ts +20 -0
  16. package/dist/native/facades/process.d.ts.map +1 -0
  17. package/dist/native/facades/process.js +15 -0
  18. package/dist/native/facades/process.js.map +1 -0
  19. package/dist/native/facades/studio.d.ts +47 -0
  20. package/dist/native/facades/studio.d.ts.map +1 -0
  21. package/dist/native/facades/studio.js +38 -0
  22. package/dist/native/facades/studio.js.map +1 -0
  23. package/dist/native/index.d.ts +10 -3
  24. package/dist/native/index.d.ts.map +1 -1
  25. package/dist/native/index.js +4 -2
  26. package/dist/native/index.js.map +1 -1
  27. package/dist/native/install.d.ts.map +1 -1
  28. package/dist/native/install.js +10 -8
  29. package/dist/native/install.js.map +1 -1
  30. package/dist/native/permissions.d.ts +12 -0
  31. package/dist/native/permissions.d.ts.map +1 -0
  32. package/dist/native/permissions.js +47 -0
  33. package/dist/native/permissions.js.map +1 -0
  34. package/dist/native/protocol.d.ts +5 -1
  35. package/dist/native/protocol.d.ts.map +1 -1
  36. package/dist/native/protocol.js +8 -0
  37. package/dist/native/protocol.js.map +1 -1
  38. package/dist/native/web-adapter.d.ts +5 -0
  39. package/dist/native/web-adapter.d.ts.map +1 -0
  40. package/dist/native/web-adapter.js +111 -0
  41. package/dist/native/web-adapter.js.map +1 -0
  42. package/dist/native/wrapper.d.ts +80 -6
  43. package/dist/native/wrapper.d.ts.map +1 -1
  44. package/dist/native/wrapper.js +149 -12
  45. package/dist/native/wrapper.js.map +1 -1
  46. package/dist/search/server/WebRetriever.d.ts +7 -0
  47. package/dist/search/server/WebRetriever.d.ts.map +1 -1
  48. package/dist/search/server/WebRetriever.js +2 -2
  49. package/dist/search/server/WebRetriever.js.map +1 -1
  50. package/dist/server/ai/providers/UglyBotWebSearchProvider.d.ts.map +1 -1
  51. package/dist/server/ai/providers/UglyBotWebSearchProvider.js +11 -8
  52. package/dist/server/ai/providers/UglyBotWebSearchProvider.js.map +1 -1
  53. package/dist/server/ai/types.d.ts +7 -0
  54. package/dist/server/ai/types.d.ts.map +1 -1
  55. package/dist/server/ai/types.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/cli/version.ts +1 -1
  58. package/src/native/contract-meta.test.ts +23 -0
  59. package/src/native/contract-meta.ts +114 -0
  60. package/src/native/contract.test.ts +13 -7
  61. package/src/native/contract.ts +130 -32
  62. package/src/native/facades/facades.test.ts +35 -0
  63. package/src/native/facades/net.ts +50 -0
  64. package/src/native/facades/process.ts +37 -0
  65. package/src/native/facades/studio.ts +73 -0
  66. package/src/native/index.ts +24 -3
  67. package/src/native/install.test.ts +8 -0
  68. package/src/native/install.ts +12 -8
  69. package/src/native/permissions.test.ts +42 -0
  70. package/src/native/permissions.ts +53 -0
  71. package/src/native/protocol.test.ts +15 -0
  72. package/src/native/protocol.ts +10 -1
  73. package/src/native/web-adapter.test.ts +27 -0
  74. package/src/native/web-adapter.ts +118 -0
  75. package/src/native/wrapper.test.ts +22 -0
  76. package/src/native/wrapper.ts +163 -13
  77. package/src/search/server/WebRetriever.ts +9 -4
  78. package/src/server/ai/providers/UglyBotWebSearchProvider.ts +13 -2
  79. package/src/server/ai/types.ts +7 -0
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.619";
1
+ export declare const CLI_VERSION = "0.1.621";
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.619";
2
+ export const CLI_VERSION = "0.1.621";
3
3
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,7 @@
1
+ import type { Channel, Namespace } from './contract.js';
2
+ export type Platform = 'ios' | 'android' | 'desktop' | 'web';
3
+ export type Fallback = 'native' | 'web' | 'noop' | 'throw';
4
+ export declare const NAMESPACES: Namespace[];
5
+ export declare const CHANNEL_FALLBACK: Record<Channel, Record<Platform, Fallback>>;
6
+ export declare function fallbackFor(channel: Channel, platform: Platform): Fallback;
7
+ //# sourceMappingURL=contract-meta.d.ts.map
@@ -0,0 +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,EAmBjC,CAAC;AAiFF,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"}
@@ -0,0 +1,105 @@
1
+ import { namespaceOf } from './contract.js';
2
+ export const NAMESPACES = [
3
+ 'capture',
4
+ 'gps',
5
+ 'liveActivity',
6
+ 'alarm',
7
+ 'tts',
8
+ 'push',
9
+ 'clipboard',
10
+ 'system',
11
+ 'badge',
12
+ 'ui',
13
+ 'fs',
14
+ 'secrets',
15
+ 'serve',
16
+ 'workers',
17
+ 'net',
18
+ 'process',
19
+ 'permissions',
20
+ 'studio',
21
+ ];
22
+ // Per-namespace fallback profile when no explicit channel override applies.
23
+ // Tuple order: [ios, android, desktop, web].
24
+ const NS_DEFAULT = {
25
+ capture: ['native', 'native', 'native', 'web'],
26
+ gps: ['native', 'native', 'native', 'web'],
27
+ liveActivity: ['native', 'native', 'native', 'web'],
28
+ alarm: ['native', 'native', 'native', 'web'],
29
+ tts: ['native', 'native', 'native', 'web'],
30
+ push: ['native', 'native', 'native', 'web'],
31
+ clipboard: ['native', 'native', 'native', 'web'],
32
+ system: ['native', 'native', 'native', 'web'],
33
+ badge: ['native', 'native', 'native', 'web'],
34
+ ui: ['native', 'native', 'noop', 'web'],
35
+ fs: ['native', 'native', 'native', 'throw'],
36
+ secrets: ['native', 'native', 'native', 'throw'],
37
+ serve: ['native', 'native', 'native', 'throw'],
38
+ workers: ['native', 'native', 'native', 'throw'],
39
+ net: ['native', 'native', 'native', 'throw'],
40
+ process: ['throw', 'throw', 'native', 'throw'],
41
+ permissions: ['native', 'native', 'native', 'native'],
42
+ studio: ['native', 'native', 'native', 'throw'],
43
+ };
44
+ const PLATFORM_INDEX = { ios: 0, android: 1, desktop: 2, web: 3 };
45
+ // All request/response channels (mirrors contract.ts channels; the test guards count).
46
+ const CHANNELS = [
47
+ 'capture.screenshot',
48
+ 'gps.start',
49
+ 'gps.stop',
50
+ 'liveActivity.startWorkout',
51
+ 'liveActivity.updateWorkout',
52
+ 'liveActivity.endWorkout',
53
+ 'liveActivity.startCardio',
54
+ 'liveActivity.updateCardio',
55
+ 'liveActivity.endCardio',
56
+ 'alarm.schedule',
57
+ 'alarm.cancel',
58
+ 'alarm.playAudio',
59
+ 'tts.start',
60
+ 'tts.pause',
61
+ 'tts.resume',
62
+ 'tts.stop',
63
+ 'push.register',
64
+ 'clipboard.write',
65
+ 'clipboard.read',
66
+ 'system.openExternal',
67
+ 'system.share',
68
+ 'badge.set',
69
+ 'ui.getSafeArea',
70
+ 'fs.readFile',
71
+ 'fs.writeFile',
72
+ 'fs.mkdir',
73
+ 'fs.rm',
74
+ 'fs.rename',
75
+ 'fs.readdir',
76
+ 'fs.stat',
77
+ 'fs.exists',
78
+ 'fs.realpath',
79
+ 'secrets.get',
80
+ 'secrets.set',
81
+ 'secrets.delete',
82
+ 'secrets.list',
83
+ 'serve.start',
84
+ 'serve.stop',
85
+ 'workers.register',
86
+ 'workers.unregister',
87
+ 'workers.list',
88
+ ];
89
+ function buildChannelFallback() {
90
+ const out = {};
91
+ for (const ch of CHANNELS) {
92
+ const prof = NS_DEFAULT[namespaceOf(ch)];
93
+ out[ch] = { ios: prof[0], android: prof[1], desktop: prof[2], web: prof[3] };
94
+ }
95
+ return out;
96
+ }
97
+ export const CHANNEL_FALLBACK = buildChannelFallback();
98
+ export function fallbackFor(channel, platform) {
99
+ const row = CHANNEL_FALLBACK[channel];
100
+ if (row)
101
+ return row[platform];
102
+ // Facade-namespace channel (e.g. studio.*, process.*, net.*) not in the table:
103
+ return NS_DEFAULT[namespaceOf(channel)][PLATFORM_INDEX[platform]];
104
+ }
105
+ //# sourceMappingURL=contract-meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-meta.js","sourceRoot":"","sources":["../../src/native/contract-meta.ts"],"names":[],"mappings":"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"}
@@ -17,36 +17,91 @@ export interface CardioLAState {
17
17
  elapsedSeconds: number;
18
18
  isPaused: boolean;
19
19
  }
20
+ export interface HostDirent {
21
+ name: string;
22
+ isDirectory: boolean;
23
+ isFile: boolean;
24
+ }
25
+ export interface HostStat {
26
+ size: number;
27
+ isDirectory: boolean;
28
+ isFile: boolean;
29
+ mtimeMs: number;
30
+ }
31
+ export interface UpdateStatus {
32
+ state: 'idle' | 'checking' | 'up-to-date' | 'available' | 'downloading' | 'downloaded' | 'error';
33
+ version?: string;
34
+ progressPercent?: number;
35
+ error?: string;
36
+ }
37
+ export type GrantState = 'granted' | 'denied' | 'scoped' | 'full' | 'prompt';
38
+ export interface SpawnOpts {
39
+ cwd?: string;
40
+ env?: Record<string, string>;
41
+ replaceEnv?: boolean;
42
+ detached?: boolean;
43
+ treeKill?: boolean;
44
+ }
45
+ export interface SafeAreaInsets {
46
+ top: number;
47
+ right: number;
48
+ bottom: number;
49
+ left: number;
50
+ }
20
51
  export interface NativeContract {
21
52
  channels: {
53
+ 'capture.screenshot': {
54
+ payload: void;
55
+ result: string;
56
+ };
22
57
  'gps.start': {
23
58
  payload: {
24
59
  activityType: 'run' | 'hike' | 'bike';
25
60
  };
26
61
  result: void;
27
- web: 'noop';
28
62
  };
29
63
  'gps.stop': {
30
64
  payload: void;
31
65
  result: void;
32
- web: 'noop';
66
+ };
67
+ 'liveActivity.startWorkout': {
68
+ payload: WorkoutLAState;
69
+ result: void;
70
+ };
71
+ 'liveActivity.updateWorkout': {
72
+ payload: Partial<WorkoutLAState>;
73
+ result: void;
74
+ };
75
+ 'liveActivity.endWorkout': {
76
+ payload: void;
77
+ result: void;
78
+ };
79
+ 'liveActivity.startCardio': {
80
+ payload: CardioLAState;
81
+ result: void;
82
+ };
83
+ 'liveActivity.updateCardio': {
84
+ payload: Partial<CardioLAState>;
85
+ result: void;
86
+ };
87
+ 'liveActivity.endCardio': {
88
+ payload: void;
89
+ result: void;
33
90
  };
34
91
  'alarm.schedule': {
35
92
  payload: {
36
93
  id: string;
94
+ delaySeconds: number;
37
95
  title?: string;
38
96
  body?: string;
39
- delaySeconds: number;
40
97
  };
41
98
  result: void;
42
- web: 'noop';
43
99
  };
44
100
  'alarm.cancel': {
45
101
  payload: {
46
102
  id?: string;
47
103
  };
48
104
  result: void;
49
- web: 'noop';
50
105
  };
51
106
  'alarm.playAudio': {
52
107
  payload: {
@@ -55,37 +110,197 @@ export interface NativeContract {
55
110
  mimeType?: string;
56
111
  };
57
112
  result: void;
58
- web: 'noop';
59
113
  };
60
- 'liveActivity.startWorkout': {
61
- payload: WorkoutLAState;
114
+ 'tts.start': {
115
+ payload: {
116
+ text: string;
117
+ voice?: string;
118
+ };
62
119
  result: void;
63
- web: 'noop';
64
120
  };
65
- 'liveActivity.updateWorkout': {
66
- payload: Partial<WorkoutLAState>;
121
+ 'tts.pause': {
122
+ payload: void;
67
123
  result: void;
68
- web: 'noop';
69
124
  };
70
- 'liveActivity.endWorkout': {
125
+ 'tts.resume': {
71
126
  payload: void;
72
127
  result: void;
73
- web: 'noop';
74
128
  };
75
- 'liveActivity.startCardio': {
76
- payload: CardioLAState;
129
+ 'tts.stop': {
130
+ payload: void;
77
131
  result: void;
78
- web: 'noop';
79
132
  };
80
- 'liveActivity.updateCardio': {
81
- payload: Partial<CardioLAState>;
133
+ 'push.register': {
134
+ payload: void;
135
+ result: {
136
+ token: string;
137
+ };
138
+ };
139
+ 'clipboard.write': {
140
+ payload: {
141
+ text: string;
142
+ };
82
143
  result: void;
83
- web: 'noop';
84
144
  };
85
- 'liveActivity.endCardio': {
145
+ 'clipboard.read': {
146
+ payload: void;
147
+ result: {
148
+ text: string;
149
+ };
150
+ };
151
+ 'system.openExternal': {
152
+ payload: {
153
+ url: string;
154
+ };
155
+ result: void;
156
+ };
157
+ 'system.share': {
158
+ payload: {
159
+ title?: string;
160
+ text?: string;
161
+ url?: string;
162
+ };
163
+ result: void;
164
+ };
165
+ 'badge.set': {
166
+ payload: {
167
+ count: number;
168
+ };
169
+ result: void;
170
+ };
171
+ 'ui.getSafeArea': {
172
+ payload: void;
173
+ result: SafeAreaInsets;
174
+ };
175
+ 'fs.readFile': {
176
+ payload: {
177
+ path: string;
178
+ };
179
+ result: {
180
+ content: string;
181
+ };
182
+ };
183
+ 'fs.writeFile': {
184
+ payload: {
185
+ path: string;
186
+ content: string;
187
+ };
188
+ result: void;
189
+ };
190
+ 'fs.mkdir': {
191
+ payload: {
192
+ path: string;
193
+ recursive?: boolean;
194
+ };
195
+ result: void;
196
+ };
197
+ 'fs.rm': {
198
+ payload: {
199
+ path: string;
200
+ recursive?: boolean;
201
+ force?: boolean;
202
+ };
203
+ result: void;
204
+ };
205
+ 'fs.rename': {
206
+ payload: {
207
+ from: string;
208
+ to: string;
209
+ };
210
+ result: void;
211
+ };
212
+ 'fs.readdir': {
213
+ payload: {
214
+ path: string;
215
+ };
216
+ result: {
217
+ entries: HostDirent[];
218
+ };
219
+ };
220
+ 'fs.stat': {
221
+ payload: {
222
+ path: string;
223
+ };
224
+ result: HostStat;
225
+ };
226
+ 'fs.exists': {
227
+ payload: {
228
+ path: string;
229
+ };
230
+ result: {
231
+ exists: boolean;
232
+ };
233
+ };
234
+ 'fs.realpath': {
235
+ payload: {
236
+ path: string;
237
+ };
238
+ result: {
239
+ path: string;
240
+ };
241
+ };
242
+ 'secrets.get': {
243
+ payload: {
244
+ key: string;
245
+ };
246
+ result: {
247
+ value: string | null;
248
+ };
249
+ };
250
+ 'secrets.set': {
251
+ payload: {
252
+ key: string;
253
+ value: string;
254
+ };
255
+ result: void;
256
+ };
257
+ 'secrets.delete': {
258
+ payload: {
259
+ key: string;
260
+ };
261
+ result: void;
262
+ };
263
+ 'secrets.list': {
86
264
  payload: void;
265
+ result: {
266
+ keys: string[];
267
+ };
268
+ };
269
+ 'serve.start': {
270
+ payload: {
271
+ dir?: string;
272
+ };
273
+ result: {
274
+ port: number;
275
+ url: string;
276
+ };
277
+ };
278
+ 'serve.stop': {
279
+ payload: {
280
+ port: number;
281
+ };
87
282
  result: void;
88
- web: 'noop';
283
+ };
284
+ 'workers.register': {
285
+ payload: {
286
+ path: string;
287
+ boot?: boolean;
288
+ };
289
+ result: {
290
+ id: string;
291
+ };
292
+ };
293
+ 'workers.unregister': {
294
+ payload: {
295
+ id: string;
296
+ };
297
+ result: void;
298
+ };
299
+ 'workers.list': {
300
+ payload: void;
301
+ result: {
302
+ ids: string[];
303
+ };
89
304
  };
90
305
  };
91
306
  events: {
@@ -101,13 +316,28 @@ export interface NativeContract {
101
316
  'alarm.fired': {
102
317
  id: string;
103
318
  };
319
+ 'keyboard.height': {
320
+ height: number;
321
+ };
322
+ 'safeArea.insets': SafeAreaInsets;
323
+ 'tts.state': {
324
+ state: 'idle' | 'loading' | 'playing' | 'paused' | 'finished';
325
+ };
326
+ 'push.token': {
327
+ token: string;
328
+ };
329
+ 'push.notificationClick': {
330
+ action: string;
331
+ data: Record<string, string>;
332
+ };
333
+ 'studio.update.status': UpdateStatus;
104
334
  };
105
335
  }
106
336
  export type Channel = keyof NativeContract['channels'];
107
337
  export type NativeEvent = keyof NativeContract['events'];
108
338
  export type PayloadOf<C extends Channel> = NativeContract['channels'][C]['payload'];
109
339
  export type ResultOf<C extends Channel> = NativeContract['channels'][C]['result'];
110
- export type WebFallbackOf<C extends Channel> = NativeContract['channels'][C]['web'];
111
340
  export type DataOf<E extends NativeEvent> = NativeContract['events'][E];
112
- export declare const CHANNEL_WEB_FALLBACK: Record<Channel, 'noop' | 'throw'>;
341
+ export type Namespace = 'capture' | 'gps' | 'liveActivity' | 'alarm' | 'tts' | 'push' | 'clipboard' | 'system' | 'badge' | 'ui' | 'fs' | 'secrets' | 'serve' | 'workers' | 'net' | 'process' | 'permissions' | 'studio';
342
+ export declare function namespaceOf(channel: Channel): Namespace;
113
343
  //# 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,16 +1,5 @@
1
- // Runtime mirror of each channel's `web` field (TS types are erased, so the
2
- // fallback behaviour also needs a runtime table). Keep keys in sync with channels.
3
- export const CHANNEL_WEB_FALLBACK = {
4
- 'gps.start': 'noop',
5
- 'gps.stop': 'noop',
6
- 'alarm.schedule': 'noop',
7
- 'alarm.cancel': 'noop',
8
- 'alarm.playAudio': 'noop',
9
- 'liveActivity.startWorkout': 'noop',
10
- 'liveActivity.updateWorkout': 'noop',
11
- 'liveActivity.endWorkout': 'noop',
12
- 'liveActivity.startCardio': 'noop',
13
- 'liveActivity.updateCardio': 'noop',
14
- 'liveActivity.endCardio': 'noop',
15
- };
1
+ // Single source of truth for the UglyNative extension surface.
2
+ export function namespaceOf(channel) {
3
+ return channel.split('.')[0];
4
+ }
16
5
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/native/contract.ts"],"names":[],"mappings":"AAmDA,4EAA4E;AAC5E,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACrE,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,MAAM;IACxB,cAAc,EAAE,MAAM;IACtB,iBAAiB,EAAE,MAAM;IACzB,2BAA2B,EAAE,MAAM;IACnC,4BAA4B,EAAE,MAAM;IACpC,yBAAyB,EAAE,MAAM;IACjC,0BAA0B,EAAE,MAAM;IAClC,2BAA2B,EAAE,MAAM;IACnC,wBAAwB,EAAE,MAAM;CACjC,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/native/contract.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAiK/D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAc,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { Platform } from '../contract-meta.js';
2
+ export interface UglySocket {
3
+ onConnect(cb: () => void): void;
4
+ onData(cb: (chunk: Uint8Array) => void): void;
5
+ onClose(cb: () => void): void;
6
+ onError(cb: (err: string) => void): void;
7
+ write(data: Uint8Array | string): void;
8
+ end(): void;
9
+ close(): void;
10
+ }
11
+ export interface UglyServer {
12
+ port: number;
13
+ onConnection(cb: (s: UglySocket) => void): void;
14
+ close(): void;
15
+ }
16
+ interface NetBridge {
17
+ connect(host: string, port: number): UglySocket;
18
+ listen(port?: number): Promise<UglyServer>;
19
+ }
20
+ export interface NetFacade {
21
+ connect(host: string, port: number): UglySocket;
22
+ listen(port?: number): Promise<UglyServer>;
23
+ }
24
+ export declare function createNetFacade(getBridge: () => NetBridge | undefined, platform: Platform, ensure: () => Promise<void>): NetFacade;
25
+ export {};
26
+ //# sourceMappingURL=net.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../../src/native/facades/net.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,GAAG,IAAI,IAAI,CAAC;IACZ,KAAK,IAAI,IAAI,CAAC;CACf;AACD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAChD,KAAK,IAAI,IAAI,CAAC;CACf;AAED,UAAU,SAAS;IACjB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC5C;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,SAAS,GAAG,SAAS,EACtC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC1B,SAAS,CAiBX"}
@@ -0,0 +1,22 @@
1
+ import { NativeUnavailableError } from '../protocol.js';
2
+ export function createNetFacade(getBridge, platform, ensure) {
3
+ const guard = () => {
4
+ if (platform === 'web')
5
+ throw new NativeUnavailableError('net.connect');
6
+ const b = getBridge();
7
+ if (!b)
8
+ throw new NativeUnavailableError('net.connect');
9
+ return b;
10
+ };
11
+ return {
12
+ connect(host, port) {
13
+ void ensure();
14
+ return guard().connect(host, port);
15
+ },
16
+ listen(port) {
17
+ void ensure();
18
+ return guard().listen(port);
19
+ },
20
+ };
21
+ }
22
+ //# sourceMappingURL=net.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/native/facades/net.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AA4BxD,MAAM,UAAU,eAAe,CAC7B,SAAsC,EACtC,QAAkB,EAClB,MAA2B;IAE3B,MAAM,KAAK,GAAG,GAAc,EAAE;QAC5B,IAAI,QAAQ,KAAK,KAAK;YAAE,MAAM,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACxD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,OAAO;QACL,OAAO,CAAC,IAAI,EAAE,IAAI;YAChB,KAAK,MAAM,EAAE,CAAC;YACd,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,CAAC,IAAI;YACT,KAAK,MAAM,EAAE,CAAC;YACd,OAAO,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Platform } from '../contract-meta.js';
2
+ import type { SpawnOpts } from '../contract.js';
3
+ export interface UglyProcess {
4
+ onStdout(cb: (chunk: string) => void): void;
5
+ onStderr(cb: (chunk: string) => void): void;
6
+ onExit(cb: (code: number | null) => void): void;
7
+ onError(cb: (err: string) => void): void;
8
+ write(data: string): void;
9
+ closeStdin(): void;
10
+ kill(signal?: string): void;
11
+ }
12
+ interface ProcessBridge {
13
+ spawn(cmd: string, args: string[], opts?: SpawnOpts): UglyProcess;
14
+ }
15
+ export interface ProcessFacade {
16
+ spawn(cmd: string, args: string[], opts?: SpawnOpts): UglyProcess;
17
+ }
18
+ export declare function createProcessFacade(getBridge: () => ProcessBridge | undefined, platform: Platform, ensure: () => Promise<void>): ProcessFacade;
19
+ export {};
20
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/native/facades/process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,IAAI,IAAI,CAAC;IACnB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,UAAU,aAAa;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnE;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnE;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,aAAa,GAAG,SAAS,EAC1C,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC1B,aAAa,CAUf"}
@@ -0,0 +1,15 @@
1
+ import { NativeUnavailableError } from '../protocol.js';
2
+ export function createProcessFacade(getBridge, platform, ensure) {
3
+ return {
4
+ spawn(cmd, args, opts) {
5
+ if (platform !== 'desktop')
6
+ throw new NativeUnavailableError('process.spawn');
7
+ void ensure(); // fire the permission check; the desktop daemon also enforces
8
+ const bridge = getBridge();
9
+ if (!bridge)
10
+ throw new NativeUnavailableError('process.spawn');
11
+ return bridge.spawn(cmd, args, opts);
12
+ },
13
+ };
14
+ }
15
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/native/facades/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAsBxD,MAAM,UAAU,mBAAmB,CACjC,SAA0C,EAC1C,QAAkB,EAClB,MAA2B;IAE3B,OAAO;QACL,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI;YACnB,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,sBAAsB,CAAC,eAAe,CAAC,CAAC;YAC9E,KAAK,MAAM,EAAE,CAAC,CAAC,8DAA8D;YAC7E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,sBAAsB,CAAC,eAAe,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC"}