@heyputer/puter.js 2.1.4 → 2.1.7

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 (57) hide show
  1. package/dist/puter.cjs +2 -2
  2. package/index.d.ts +41 -15
  3. package/package.json +1 -1
  4. package/src/index.js +116 -79
  5. package/src/lib/APICallLogger.js +20 -21
  6. package/src/lib/EventListener.js +10 -10
  7. package/src/lib/filesystem/APIFS.js +11 -19
  8. package/src/lib/filesystem/CacheFS.js +25 -25
  9. package/src/lib/filesystem/PostMessageFS.js +11 -11
  10. package/src/lib/filesystem/definitions.js +11 -10
  11. package/src/lib/path.js +505 -446
  12. package/src/lib/polyfills/fileReaderPoly.js +40 -0
  13. package/src/lib/polyfills/localStorage.js +30 -33
  14. package/src/lib/polyfills/xhrshim.js +206 -207
  15. package/src/lib/utils.js +160 -151
  16. package/src/lib/xdrpc.js +9 -9
  17. package/src/modules/AI.js +473 -292
  18. package/src/modules/Apps.js +56 -56
  19. package/src/modules/Auth.js +17 -17
  20. package/src/modules/Debug.js +1 -1
  21. package/src/modules/Drivers.js +41 -41
  22. package/src/modules/FSItem.js +64 -62
  23. package/src/modules/FileSystem/index.js +22 -23
  24. package/src/modules/FileSystem/operations/copy.js +7 -7
  25. package/src/modules/FileSystem/operations/deleteFSEntry.js +14 -12
  26. package/src/modules/FileSystem/operations/getReadUrl.js +16 -14
  27. package/src/modules/FileSystem/operations/mkdir.js +11 -11
  28. package/src/modules/FileSystem/operations/move.js +12 -12
  29. package/src/modules/FileSystem/operations/read.js +10 -10
  30. package/src/modules/FileSystem/operations/readdir.js +28 -28
  31. package/src/modules/FileSystem/operations/rename.js +11 -11
  32. package/src/modules/FileSystem/operations/sign.js +33 -30
  33. package/src/modules/FileSystem/operations/space.js +7 -7
  34. package/src/modules/FileSystem/operations/stat.js +25 -25
  35. package/src/modules/FileSystem/operations/symlink.js +15 -17
  36. package/src/modules/FileSystem/operations/upload.js +151 -122
  37. package/src/modules/FileSystem/operations/write.js +16 -12
  38. package/src/modules/FileSystem/utils/getAbsolutePathForApp.js +10 -6
  39. package/src/modules/Hosting.js +29 -29
  40. package/src/modules/KV.js +23 -23
  41. package/src/modules/OS.js +15 -15
  42. package/src/modules/Perms.js +19 -21
  43. package/src/modules/PuterDialog.js +46 -48
  44. package/src/modules/Threads.js +17 -20
  45. package/src/modules/UI.js +156 -156
  46. package/src/modules/Util.js +3 -3
  47. package/src/modules/Workers.js +52 -49
  48. package/src/modules/networking/PSocket.js +38 -38
  49. package/src/modules/networking/PTLS.js +54 -47
  50. package/src/modules/networking/PWispHandler.js +49 -47
  51. package/src/modules/networking/parsers.js +110 -108
  52. package/src/modules/networking/requests.js +67 -78
  53. package/src/services/APIAccess.js +9 -9
  54. package/src/services/FSRelay.js +6 -6
  55. package/src/services/Filesystem.js +8 -8
  56. package/src/services/NoPuterYet.js +2 -2
  57. package/src/services/XDIncoming.js +1 -1
package/index.d.ts CHANGED
@@ -9,12 +9,12 @@ declare global {
9
9
  declare class Puter {
10
10
  // Properties
11
11
  appID: string;
12
- env: 'app' | 'web' | 'gui';
12
+ env: 'app' | 'web' | 'gui' | 'nodejs' | 'service-worker';
13
13
 
14
14
  // Utility methods
15
- print(text: string, options?: { code?: boolean }): void;
16
- randName(separator?: string): string;
17
- exit(statusCode?: number): void;
15
+ print (text: string, options?: { code?: boolean }): void;
16
+ randName (separator?: string): string;
17
+ exit (statusCode?: number): void;
18
18
 
19
19
  // Sub-modules
20
20
  ai: AI;
@@ -47,6 +47,9 @@ interface AI {
47
47
  chat(messages: ChatMessage[], testMode?: boolean, options?: NonStreamingChatOptions): Promise<ChatResponse>;
48
48
 
49
49
  img2txt(image: string | File | Blob, testMode?: boolean): Promise<string>;
50
+ img2txt(image: string | File | Blob, options?: Img2TxtOptions): Promise<string>;
51
+ img2txt(image: string | File | Blob, testMode?: boolean, options?: Img2TxtOptions): Promise<string>;
52
+ img2txt(options: Img2TxtOptions): Promise<string>;
50
53
 
51
54
  txt2img(prompt: string, testMode?: boolean): Promise<HTMLImageElement>;
52
55
  txt2img(prompt: string, options?: Txt2ImgOptions): Promise<HTMLImageElement>;
@@ -67,14 +70,24 @@ interface AI {
67
70
  speech2txt(source: Speech2TxtOptions, testMode?: boolean): Promise<string | Speech2TxtResult>;
68
71
  }
69
72
 
70
- type StreamingChatOptions = Omit<ChatOptions, "stream"> & { stream: true };
71
- type NonStreamingChatOptions = Omit<ChatOptions, "stream"> & { stream?: false | undefined };
73
+ type StreamingChatOptions = Omit<ChatOptions, 'stream'> & { stream: true };
74
+ type NonStreamingChatOptions = Omit<ChatOptions, 'stream'> & { stream?: false | undefined };
72
75
 
73
76
  interface ChatOptions {
74
77
  model?: string;
75
78
  stream?: boolean;
76
79
  max_tokens?: number;
77
80
  temperature?: number;
81
+ reasoning?: {
82
+ effort?: 'none' | 'low' | 'medium' | 'high' | 'minimal';
83
+ [key: string]: unknown;
84
+ };
85
+ reasoning_effort?: 'none' | 'low' | 'medium' | 'high' | 'minimal';
86
+ text?: {
87
+ verbosity?: 'low' | 'medium' | 'high';
88
+ [key: string]: unknown;
89
+ };
90
+ verbosity?: 'low' | 'medium' | 'high';
78
91
  tools?: ToolDefinition[];
79
92
  }
80
93
 
@@ -148,6 +161,19 @@ interface Txt2VidOptions {
148
161
  test_mode?: boolean;
149
162
  }
150
163
 
164
+ interface Img2TxtOptions {
165
+ source?: string | File | Blob;
166
+ provider?: 'aws-textract' | 'mistral';
167
+ model?: string;
168
+ pages?: number[];
169
+ includeImageBase64?: boolean;
170
+ imageLimit?: number;
171
+ imageMinSize?: number;
172
+ bboxAnnotationFormat?: Record<string, unknown>;
173
+ documentAnnotationFormat?: Record<string, unknown>;
174
+ testMode?: boolean;
175
+ }
176
+
151
177
  interface Txt2SpeechOptions {
152
178
  language?: string;
153
179
  voice?: string;
@@ -420,17 +446,17 @@ interface Networking {
420
446
  }
421
447
 
422
448
  declare class Socket {
423
- constructor(hostname: string, port: number);
424
- write(data: ArrayBuffer | Uint8Array | string): void;
425
- close(): void;
426
- on(event: 'open', callback: () => void): void;
427
- on(event: 'data', callback: (buffer: Uint8Array) => void): void;
428
- on(event: 'error', callback: (reason: string) => void): void;
429
- on(event: 'close', callback: (hadError: boolean) => void): void;
449
+ constructor (hostname: string, port: number);
450
+ write (data: ArrayBuffer | Uint8Array | string): void;
451
+ close (): void;
452
+ on (event: 'open', callback: () => void): void;
453
+ on (event: 'data', callback: (buffer: Uint8Array) => void): void;
454
+ on (event: 'error', callback: (reason: string) => void): void;
455
+ on (event: 'close', callback: (hadError: boolean) => void): void;
430
456
  }
431
457
 
432
458
  declare class TLSSocket extends Socket {
433
- constructor(hostname: string, port: number);
459
+ constructor (hostname: string, port: number);
434
460
  }
435
461
 
436
462
  // Permissions Module
@@ -608,5 +634,5 @@ export {
608
634
  Permissions, Puter, ReaddirOptions, ReadOptions, SpaceInfo, StatsPeriod, Subdomain, ThemeData, ToolCall, ToolDefinition, Txt2ImgOptions,
609
635
  Txt2SpeechOptions, UI, UpdateAppAttributes, User, WindowOptions, WorkerDeployment,
610
636
  WorkerExecOptions,
611
- WorkerInfo, Workers, WriteOptions
637
+ WorkerInfo, Workers, WriteOptions,
612
638
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heyputer/puter.js",
3
- "version": "2.1.4",
3
+ "version": "2.1.7",
4
4
  "description": "Puter.js - A JavaScript library for interacting with Puter services.",
5
5
  "main": "src/index.js",
6
6
  "types": "index.d.ts",