@peers-app/peers-sdk 0.14.0 → 0.15.0

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 (210) hide show
  1. package/dist/context/data-context.d.ts +4 -4
  2. package/dist/context/data-context.js +1 -1
  3. package/dist/context/index.d.ts +3 -3
  4. package/dist/context/index.js +4 -0
  5. package/dist/context/user-context-singleton.js +13 -14
  6. package/dist/context/user-context.d.ts +4 -4
  7. package/dist/context/user-context.js +48 -31
  8. package/dist/data/assistants.d.ts +1 -1
  9. package/dist/data/assistants.js +35 -24
  10. package/dist/data/change-tracking.d.ts +8 -8
  11. package/dist/data/change-tracking.js +45 -39
  12. package/dist/data/channels.js +5 -5
  13. package/dist/data/data-locks.d.ts +2 -2
  14. package/dist/data/data-locks.js +21 -23
  15. package/dist/data/data-locks.test.js +73 -75
  16. package/dist/data/device-sync-info.d.ts +1 -1
  17. package/dist/data/device-sync-info.js +4 -4
  18. package/dist/data/devices.d.ts +1 -1
  19. package/dist/data/devices.js +9 -12
  20. package/dist/data/embeddings.js +14 -11
  21. package/dist/data/files/file-read-stream.d.ts +2 -2
  22. package/dist/data/files/file-read-stream.js +23 -14
  23. package/dist/data/files/file-write-stream.d.ts +2 -2
  24. package/dist/data/files/file-write-stream.js +8 -8
  25. package/dist/data/files/file.types.d.ts +2 -2
  26. package/dist/data/files/file.types.js +17 -11
  27. package/dist/data/files/files.d.ts +6 -6
  28. package/dist/data/files/files.js +17 -19
  29. package/dist/data/files/files.test.js +213 -214
  30. package/dist/data/files/index.d.ts +4 -4
  31. package/dist/data/files/index.js +4 -4
  32. package/dist/data/group-member-roles.js +2 -2
  33. package/dist/data/group-members.d.ts +5 -5
  34. package/dist/data/group-members.js +27 -18
  35. package/dist/data/group-members.test.js +73 -73
  36. package/dist/data/group-permissions.d.ts +3 -3
  37. package/dist/data/group-permissions.js +13 -11
  38. package/dist/data/group-share.d.ts +2 -2
  39. package/dist/data/group-share.js +29 -24
  40. package/dist/data/groups.d.ts +4 -4
  41. package/dist/data/groups.js +27 -19
  42. package/dist/data/groups.test.js +44 -44
  43. package/dist/data/index.d.ts +6 -6
  44. package/dist/data/index.js +6 -6
  45. package/dist/data/knowledge/peer-types.js +9 -9
  46. package/dist/data/messages.d.ts +5 -5
  47. package/dist/data/messages.js +43 -30
  48. package/dist/data/orm/client-proxy.data-source.d.ts +4 -4
  49. package/dist/data/orm/client-proxy.data-source.js +10 -12
  50. package/dist/data/orm/cursor.d.ts +1 -1
  51. package/dist/data/orm/cursor.js +2 -2
  52. package/dist/data/orm/cursor.test.js +92 -93
  53. package/dist/data/orm/data-query.d.ts +3 -3
  54. package/dist/data/orm/data-query.js +24 -18
  55. package/dist/data/orm/data-query.mongo.d.ts +1 -1
  56. package/dist/data/orm/data-query.mongo.js +49 -51
  57. package/dist/data/orm/data-query.mongo.test.js +173 -204
  58. package/dist/data/orm/data-query.sqlite.d.ts +1 -1
  59. package/dist/data/orm/data-query.sqlite.js +84 -73
  60. package/dist/data/orm/data-query.sqlite.test.js +164 -176
  61. package/dist/data/orm/data-query.test.js +216 -224
  62. package/dist/data/orm/decorators.js +3 -3
  63. package/dist/data/orm/dependency-injection.test.js +53 -56
  64. package/dist/data/orm/doc.d.ts +4 -4
  65. package/dist/data/orm/doc.js +17 -21
  66. package/dist/data/orm/event-registry.d.ts +1 -1
  67. package/dist/data/orm/event-registry.test.js +16 -16
  68. package/dist/data/orm/factory.d.ts +2 -2
  69. package/dist/data/orm/factory.js +33 -33
  70. package/dist/data/orm/index.d.ts +10 -10
  71. package/dist/data/orm/index.js +10 -10
  72. package/dist/data/orm/multi-cursors.d.ts +1 -1
  73. package/dist/data/orm/multi-cursors.js +6 -6
  74. package/dist/data/orm/multi-cursors.test.js +152 -144
  75. package/dist/data/orm/sql.data-source.d.ts +7 -7
  76. package/dist/data/orm/sql.data-source.js +88 -93
  77. package/dist/data/orm/sql.data-source.test.js +109 -101
  78. package/dist/data/orm/subscribable.data-source.d.ts +4 -4
  79. package/dist/data/orm/subscribable.data-source.js +5 -5
  80. package/dist/data/orm/table-container-events.test.js +34 -26
  81. package/dist/data/orm/table-container.d.ts +6 -6
  82. package/dist/data/orm/table-container.js +33 -21
  83. package/dist/data/orm/table-container.test.js +64 -53
  84. package/dist/data/orm/table-definitions.system.d.ts +3 -3
  85. package/dist/data/orm/table-definitions.system.js +3 -3
  86. package/dist/data/orm/table-definitions.type.d.ts +5 -5
  87. package/dist/data/orm/table-dependencies.d.ts +2 -2
  88. package/dist/data/orm/table.d.ts +5 -5
  89. package/dist/data/orm/table.event-source.test.js +105 -115
  90. package/dist/data/orm/table.js +35 -34
  91. package/dist/data/orm/types.d.ts +3 -3
  92. package/dist/data/orm/types.js +26 -25
  93. package/dist/data/orm/types.test.js +166 -92
  94. package/dist/data/package-permissions.d.ts +1 -1
  95. package/dist/data/package-permissions.js +2 -2
  96. package/dist/data/package-version-permissions.d.ts +1 -1
  97. package/dist/data/package-version-permissions.js +2 -2
  98. package/dist/data/package-versions.d.ts +9 -9
  99. package/dist/data/package-versions.js +47 -33
  100. package/dist/data/packages.d.ts +2 -2
  101. package/dist/data/packages.js +36 -18
  102. package/dist/data/packages.utils.d.ts +2 -2
  103. package/dist/data/packages.utils.js +4 -4
  104. package/dist/data/persistent-vars.d.ts +15 -15
  105. package/dist/data/persistent-vars.js +165 -154
  106. package/dist/data/table-definitions-table.d.ts +5 -5
  107. package/dist/data/table-definitions-table.js +13 -12
  108. package/dist/data/tool-tests.js +6 -6
  109. package/dist/data/tools.js +29 -19
  110. package/dist/data/user-permissions.d.ts +1 -1
  111. package/dist/data/user-permissions.js +5 -5
  112. package/dist/data/user-permissions.test.js +90 -88
  113. package/dist/data/user-trust-levels.js +10 -10
  114. package/dist/data/users.d.ts +4 -4
  115. package/dist/data/users.js +16 -15
  116. package/dist/data/voice-messages.d.ts +2 -2
  117. package/dist/data/voice-messages.js +13 -13
  118. package/dist/data/welcome-modal.pvar.js +3 -1
  119. package/dist/data/workflow-logs.js +26 -18
  120. package/dist/data/workflow-runs.d.ts +6 -6
  121. package/dist/data/workflow-runs.js +70 -44
  122. package/dist/data/workflows.d.ts +2 -2
  123. package/dist/data/workflows.js +7 -9
  124. package/dist/device/binary-peer-connection-v2.d.ts +7 -7
  125. package/dist/device/binary-peer-connection-v2.js +32 -28
  126. package/dist/device/binary-peer-connection-v2.test.js +80 -67
  127. package/dist/device/binary-peer-connection.d.ts +7 -7
  128. package/dist/device/binary-peer-connection.js +29 -28
  129. package/dist/device/binary-peer-connection.test.js +35 -31
  130. package/dist/device/connection.d.ts +5 -5
  131. package/dist/device/connection.js +59 -48
  132. package/dist/device/connection.test.js +74 -68
  133. package/dist/device/device-election.d.ts +2 -2
  134. package/dist/device/device-election.js +25 -20
  135. package/dist/device/device-election.test.js +35 -36
  136. package/dist/device/device.d.ts +2 -2
  137. package/dist/device/device.js +10 -4
  138. package/dist/device/device.test.js +16 -17
  139. package/dist/device/get-trust-level-fn.d.ts +2 -2
  140. package/dist/device/get-trust-level-fn.js +22 -11
  141. package/dist/device/get-trust-level-fn.test.js +58 -58
  142. package/dist/device/socket-io-binary-peer.d.ts +1 -1
  143. package/dist/device/socket-io-binary-peer.js +16 -13
  144. package/dist/device/socket.type.d.ts +2 -2
  145. package/dist/device/streamed-socket.d.ts +2 -2
  146. package/dist/device/streamed-socket.js +8 -8
  147. package/dist/device/streamed-socket.test.js +40 -40
  148. package/dist/device/tx-encoding.test.js +77 -77
  149. package/dist/events.d.ts +1 -1
  150. package/dist/events.js +5 -2
  151. package/dist/group-invite/group-invite.js +110 -19
  152. package/dist/group-invite/group-invite.pvars.d.ts +2 -2
  153. package/dist/group-invite/group-invite.pvars.js +21 -13
  154. package/dist/group-invite/group-invite.types.d.ts +1 -1
  155. package/dist/group-invite/index.d.ts +3 -3
  156. package/dist/group-invite/index.js +1 -1
  157. package/dist/index.d.ts +25 -24
  158. package/dist/index.js +30 -25
  159. package/dist/keys.d.ts +3 -3
  160. package/dist/keys.js +31 -30
  161. package/dist/keys.test.js +69 -61
  162. package/dist/logging/console-logger.d.ts +1 -1
  163. package/dist/logging/console-logger.js +35 -40
  164. package/dist/logging/console-logger.test.js +115 -115
  165. package/dist/logging/console-logs.table.d.ts +3 -3
  166. package/dist/logging/console-logs.table.js +28 -23
  167. package/dist/mentions.js +16 -12
  168. package/dist/observable.d.ts +2 -2
  169. package/dist/observable.js +15 -9
  170. package/dist/observable.test.js +47 -47
  171. package/dist/package-loader/get-require.js +3 -4
  172. package/dist/package-loader/package-loader.d.ts +2 -2
  173. package/dist/package-loader/package-loader.js +52 -34
  174. package/dist/peers-ui/peers-ui.d.ts +2 -2
  175. package/dist/peers-ui/peers-ui.js +2 -4
  176. package/dist/peers-ui/peers-ui.types.d.ts +3 -3
  177. package/dist/peers-ui/peers-ui.types.js +0 -1
  178. package/dist/rpc-types.d.ts +61 -59
  179. package/dist/rpc-types.js +61 -55
  180. package/dist/serial-json.d.ts +1 -1
  181. package/dist/serial-json.js +50 -43
  182. package/dist/serial-json.test.js +22 -22
  183. package/dist/system-ids.js +8 -8
  184. package/dist/tools/index.d.ts +1 -1
  185. package/dist/tools/tools-factory.d.ts +1 -1
  186. package/dist/tools/tools-factory.js +2 -2
  187. package/dist/types/assistant-runner-args.d.ts +3 -3
  188. package/dist/types/peer-device.d.ts +1 -1
  189. package/dist/types/peers-package.d.ts +3 -3
  190. package/dist/types/workflow-logger.d.ts +1 -1
  191. package/dist/types/workflow-run-context.d.ts +4 -4
  192. package/dist/types/workflow.d.ts +4 -4
  193. package/dist/types/workflow.js +27 -14
  194. package/dist/types/zod-types.d.ts +2 -1
  195. package/dist/types/zod-types.js +9 -3
  196. package/dist/user-connect/connection-code.d.ts +1 -1
  197. package/dist/user-connect/connection-code.js +7 -7
  198. package/dist/user-connect/connection-code.test.js +106 -106
  199. package/dist/user-connect/index.d.ts +3 -3
  200. package/dist/user-connect/index.js +1 -1
  201. package/dist/user-connect/user-connect.pvars.js +13 -11
  202. package/dist/user-connect/user-connect.types.d.ts +3 -3
  203. package/dist/users.query.d.ts +2 -2
  204. package/dist/users.query.js +40 -30
  205. package/dist/utils.d.ts +2 -2
  206. package/dist/utils.js +34 -32
  207. package/dist/utils.test.js +12 -8
  208. package/dist/workflow-log-formatter.d.ts +1 -1
  209. package/dist/workflow-log-formatter.js +17 -18
  210. package/package.json +14 -8
@@ -17,10 +17,10 @@ class FileWriteStream {
17
17
  }
18
18
  async write(chunk) {
19
19
  if (this.finalized) {
20
- throw new Error('Cannot write to finalized stream');
20
+ throw new Error("Cannot write to finalized stream");
21
21
  }
22
22
  if (this.aborted) {
23
- throw new Error('Cannot write to aborted stream');
23
+ throw new Error("Cannot write to aborted stream");
24
24
  }
25
25
  // Add chunk to buffer
26
26
  this.buffer = new Uint8Array(Buffer.concat([this.buffer, chunk]));
@@ -43,10 +43,10 @@ class FileWriteStream {
43
43
  }
44
44
  async finalize() {
45
45
  if (this.finalized) {
46
- throw new Error('Stream already finalized');
46
+ throw new Error("Stream already finalized");
47
47
  }
48
48
  if (this.aborted) {
49
- throw new Error('Cannot finalize aborted stream');
49
+ throw new Error("Cannot finalize aborted stream");
50
50
  }
51
51
  // First, process any complete chunks in the buffer
52
52
  await this.processCompleteChunks();
@@ -61,7 +61,7 @@ class FileWriteStream {
61
61
  }
62
62
  // Create the file record using the same logic as FileTable.saveFile
63
63
  const chunkHashesString = JSON.stringify(this.chunkHashes);
64
- const fileHash = (0, keys_1.hashBytes)(Buffer.from(chunkHashesString, 'utf8'));
64
+ const fileHash = (0, keys_1.hashBytes)(Buffer.from(chunkHashesString, "utf8"));
65
65
  let fileRecord;
66
66
  if (this.chunkHashes.length > file_types_1.CHUNK_INDEX_THRESHOLD) {
67
67
  // Large file: use recursive index file
@@ -70,7 +70,7 @@ class FileWriteStream {
70
70
  ...this.metadata,
71
71
  fileSize: this.bytesWritten,
72
72
  fileHash,
73
- indexFileId
73
+ indexFileId,
74
74
  };
75
75
  }
76
76
  else {
@@ -79,7 +79,7 @@ class FileWriteStream {
79
79
  ...this.metadata,
80
80
  fileSize: this.bytesWritten,
81
81
  fileHash,
82
- chunkHashes: this.chunkHashes
82
+ chunkHashes: this.chunkHashes,
83
83
  };
84
84
  }
85
85
  // Save to database
@@ -89,7 +89,7 @@ class FileWriteStream {
89
89
  }
90
90
  async abort() {
91
91
  if (this.finalized) {
92
- throw new Error('Cannot abort finalized stream');
92
+ throw new Error("Cannot abort finalized stream");
93
93
  }
94
94
  this.aborted = true;
95
95
  this.buffer = Buffer.alloc(0);
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { ITableMetaData } from "../orm/types";
2
+ import { type ITableMetaData } from "../orm/types";
3
3
  export declare const fileSchema: z.ZodObject<{
4
4
  fileId: z.ZodEffects<z.ZodString, string, string>;
5
5
  name: z.ZodString;
@@ -29,7 +29,7 @@ export declare const fileSchema: z.ZodObject<{
29
29
  indexFileId?: string | undefined;
30
30
  }>;
31
31
  export type IFile = z.infer<typeof fileSchema>;
32
- export type IFileInput = Pick<IFile, 'fileId' | 'name' | 'fileSize' | 'mimeType' | 'isIndexFile'>;
32
+ export type IFileInput = Pick<IFile, "fileId" | "name" | "fileSize" | "mimeType" | "isIndexFile">;
33
33
  export declare const filesMetaData: ITableMetaData;
34
34
  export declare const FILE_CHUNK_SIZE: number;
35
35
  export declare const CHUNKS_DIR = "file_chunks";
@@ -10,23 +10,29 @@ const zod_types_1 = require("../../types/zod-types");
10
10
  const types_1 = require("../orm/types");
11
11
  exports.fileSchema = zod_1.z.object({
12
12
  fileId: zod_types_1.zodPeerId,
13
- name: zod_1.z.string().describe('The name of the file'),
14
- fileSize: zod_1.z.number().describe('The size of the file in bytes'),
15
- fileHash: zod_1.z.string().describe('Hash of the chunk hashes array for integrity verification'),
16
- mimeType: zod_1.z.string().optional().describe('The MIME type of the file'),
17
- chunkHashes: zod_1.z.array(zod_1.z.string()).optional().describe('SHA-256 hashes of each chunk in order (for small files)'),
18
- isIndexFile: zod_1.z.boolean().optional().describe('True if this is an index file for another large file'),
19
- indexFileId: zod_types_1.zodPeerId.optional().describe('FileId of index file (for large files)'),
13
+ name: zod_1.z.string().describe("The name of the file"),
14
+ fileSize: zod_1.z.number().describe("The size of the file in bytes"),
15
+ fileHash: zod_1.z.string().describe("Hash of the chunk hashes array for integrity verification"),
16
+ mimeType: zod_1.z.string().optional().describe("The MIME type of the file"),
17
+ chunkHashes: zod_1.z
18
+ .array(zod_1.z.string())
19
+ .optional()
20
+ .describe("SHA-256 hashes of each chunk in order (for small files)"),
21
+ isIndexFile: zod_1.z
22
+ .boolean()
23
+ .optional()
24
+ .describe("True if this is an index file for another large file"),
25
+ indexFileId: zod_types_1.zodPeerId.optional().describe("FileId of index file (for large files)"),
20
26
  });
21
27
  exports.filesMetaData = {
22
- name: 'Files',
23
- description: 'Files stored in the chunked file system for peer sharing',
24
- primaryKeyName: 'fileId',
28
+ name: "Files",
29
+ description: "Files stored in the chunked file system for peer sharing",
30
+ primaryKeyName: "fileId",
25
31
  fields: (0, types_1.schemaToFields)(exports.fileSchema),
26
32
  };
27
33
  // File storage configuration
28
34
  exports.FILE_CHUNK_SIZE = 1024 * 1024; // 1MB chunks
29
- exports.CHUNKS_DIR = 'file_chunks';
35
+ exports.CHUNKS_DIR = "file_chunks";
30
36
  exports.CHUNK_INDEX_THRESHOLD = 1000; // Use chunk index file for files with >1000 chunks (~1GB)
31
37
  // For testing - allow modifying the threshold
32
38
  function setChunkIndexThreshold(threshold) {
@@ -1,17 +1,17 @@
1
+ import type { DataContext } from "../../context/data-context";
1
2
  import { Table } from "../orm";
3
+ import { type IFile, type IFileInput } from "./file.types";
2
4
  import { FileReadStream } from "./file-read-stream";
3
5
  import { FileWriteStream } from "./file-write-stream";
4
- import { IFile, IFileInput } from "./file.types";
5
- import type { DataContext } from "../../context/data-context";
6
6
  export declare class FilesTable extends Table<IFile> {
7
7
  /** @deprecated Direct inserts forbidden; use saveFile() or saveFileRecord() */
8
- insert(..._args: Parameters<Table<any>['insert']>): never;
8
+ insert(..._args: Parameters<Table<any>["insert"]>): never;
9
9
  /** @deprecated Direct updates forbidden; use saveFile() or saveFileRecord() */
10
- update(..._args: Parameters<Table<any>['update']>): never;
10
+ update(..._args: Parameters<Table<any>["update"]>): never;
11
11
  /** @deprecated Direct deletes forbidden; use deleteFile() */
12
- delete(..._args: Parameters<Table<any>['delete']>): never;
12
+ delete(..._args: Parameters<Table<any>["delete"]>): never;
13
13
  /** @deprecated Direct save forbidden; use saveFile() or saveFileRecord() */
14
- save(..._args: Parameters<Table<any>['save']>): never;
14
+ save(..._args: Parameters<Table<any>["save"]>): never;
15
15
  createWriteStream(metadata: IFileInput): Promise<FileWriteStream>;
16
16
  /**
17
17
  * Note: Use `saveFile` to write a file to disk. This method is for managing
@@ -2,30 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilesTable = void 0;
4
4
  exports.Files = Files;
5
+ const user_context_singleton_1 = require("../../context/user-context-singleton");
5
6
  const rpc_types_1 = require("../../rpc-types");
6
7
  const utils_1 = require("../../utils");
7
8
  const orm_1 = require("../orm");
8
- const user_context_singleton_1 = require("../../context/user-context-singleton");
9
9
  const table_definitions_system_1 = require("../orm/table-definitions.system");
10
+ const file_types_1 = require("./file.types");
10
11
  const file_read_stream_1 = require("./file-read-stream");
11
12
  const file_write_stream_1 = require("./file-write-stream");
12
- const file_types_1 = require("./file.types");
13
13
  class FilesTable extends orm_1.Table {
14
14
  /** @deprecated Direct inserts forbidden; use saveFile() or saveFileRecord() */
15
15
  insert(..._args) {
16
- throw new Error('Direct inserts forbidden; use saveFile() or saveFileRecord()');
16
+ throw new Error("Direct inserts forbidden; use saveFile() or saveFileRecord()");
17
17
  }
18
18
  /** @deprecated Direct updates forbidden; use saveFile() or saveFileRecord() */
19
19
  update(..._args) {
20
- throw new Error('Direct updates forbidden; use saveFile() or saveFileRecord()');
20
+ throw new Error("Direct updates forbidden; use saveFile() or saveFileRecord()");
21
21
  }
22
22
  /** @deprecated Direct deletes forbidden; use deleteFile() */
23
23
  delete(..._args) {
24
- throw new Error('Direct deletes forbidden; use deleteFile()');
24
+ throw new Error("Direct deletes forbidden; use deleteFile()");
25
25
  }
26
26
  /** @deprecated Direct save forbidden; use saveFile() or saveFileRecord() */
27
27
  save(..._args) {
28
- throw new Error('Direct saves forbidden; use saveFile() or saveFileRecord()');
28
+ throw new Error("Direct saves forbidden; use saveFile() or saveFileRecord()");
29
29
  }
30
30
  async createWriteStream(metadata) {
31
31
  return new file_write_stream_1.FileWriteStream(metadata, this);
@@ -50,11 +50,11 @@ class FilesTable extends orm_1.Table {
50
50
  // Use FileWriteStream internally to ensure consistent chunking logic
51
51
  const writeStream = await this.createWriteStream({
52
52
  ...metaData,
53
- fileSize: data.length // Set the actual file size
53
+ fileSize: data.length, // Set the actual file size
54
54
  });
55
55
  // Write the entire data to the stream
56
- if (typeof data === 'string') {
57
- data = new Uint8Array(Buffer.from(data, 'utf8'));
56
+ if (typeof data === "string") {
57
+ data = new Uint8Array(Buffer.from(data, "utf8"));
58
58
  }
59
59
  await writeStream.write(data);
60
60
  // Finalize and return the result
@@ -89,7 +89,7 @@ class FilesTable extends orm_1.Table {
89
89
  async createIndexFileRecursively(chunkHashes) {
90
90
  // Create JSON content with chunk hashes
91
91
  const indexContent = JSON.stringify(chunkHashes);
92
- const indexBuffer = Buffer.from(indexContent, 'utf8');
92
+ const indexBuffer = Buffer.from(indexContent, "utf8");
93
93
  // Generate a new file ID for the index file
94
94
  const indexFileId = (0, utils_1.newid)();
95
95
  // Create metadata for the index file
@@ -97,8 +97,8 @@ class FilesTable extends orm_1.Table {
97
97
  fileId: indexFileId,
98
98
  name: `index-${indexFileId}.json`,
99
99
  fileSize: indexBuffer.length,
100
- mimeType: 'application/json',
101
- isIndexFile: true
100
+ mimeType: "application/json",
101
+ isIndexFile: true,
102
102
  };
103
103
  // Recursively save the index file (this will chunk it if it's too large)
104
104
  await this.saveFile(indexMetadata, indexBuffer);
@@ -112,7 +112,7 @@ class FilesTable extends orm_1.Table {
112
112
  throw new Error(`Index file not found: ${indexFileId}`);
113
113
  }
114
114
  // Parse chunk hashes from JSON
115
- const indexContent = Buffer.from(indexBuffer).toString('utf8');
115
+ const indexContent = Buffer.from(indexBuffer).toString("utf8");
116
116
  return JSON.parse(indexContent);
117
117
  }
118
118
  }
@@ -122,7 +122,7 @@ function Files(dataContext) {
122
122
  return (0, user_context_singleton_1.getTableContainer)(dataContext).getTable(file_types_1.filesMetaData, file_types_1.fileSchema);
123
123
  }
124
124
  // TODO implement permissions check for file access
125
- rpc_types_1.rpcServerCalls.getFileContents = async (fileId, encoding = 'utf8') => {
125
+ rpc_types_1.rpcServerCalls.getFileContents = async (fileId, encoding = "utf8") => {
126
126
  const data = await Files().getFileContents(fileId);
127
127
  if (data === null) {
128
128
  throw new Error(`File not found: ${fileId}`);
@@ -135,15 +135,13 @@ rpc_types_1.rpcServerCalls.getFileContentsBase64 = async (fileId) => {
135
135
  if (data === null) {
136
136
  throw new Error(`File not found: ${fileId}`);
137
137
  }
138
- return Buffer.from(data).toString('base64');
138
+ return Buffer.from(data).toString("base64");
139
139
  };
140
140
  // Save a file from the UI - data should be base64 encoded for binary files
141
141
  rpc_types_1.rpcServerCalls.saveFile = async (input) => {
142
142
  const fileId = input.fileId || (0, utils_1.newid)();
143
- const encoding = input.encoding || 'utf8';
144
- const dataBuffer = encoding === 'base64'
145
- ? Buffer.from(input.data, 'base64')
146
- : Buffer.from(input.data, 'utf8');
143
+ const encoding = input.encoding || "utf8";
144
+ const dataBuffer = encoding === "base64" ? Buffer.from(input.data, "base64") : Buffer.from(input.data, "utf8");
147
145
  const file = await Files().saveFile({
148
146
  fileId,
149
147
  name: input.name,