@haex-space/vault-sdk 2.5.112 → 2.5.113

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.
@@ -237,7 +237,13 @@ var SPACE_COMMANDS = {
237
237
  /** Bulk unassign rows from spaces */
238
238
  unassign: "extension_space_unassign",
239
239
  /** Get space assignments for a table */
240
- getAssignments: "extension_space_get_assignments"
240
+ getAssignments: "extension_space_get_assignments",
241
+ /** List all spaces the user is a member of (with decrypted names) */
242
+ list: "extension_space_list",
243
+ /** Create a new shared space */
244
+ create: "extension_space_create",
245
+ /** List available sync backends */
246
+ listBackends: "extension_space_list_backends"
241
247
  };
242
248
 
243
249
  // src/api/storage.ts
@@ -1109,19 +1115,48 @@ var SpacesAPI = class {
1109
1115
  async unassignRowAsync(tableName, rowPks, spaceId) {
1110
1116
  return this.unassignAsync([{ tableName, rowPks, spaceId }]);
1111
1117
  }
1118
+ // ==========================================================================
1119
+ // Space Management
1120
+ // ==========================================================================
1121
+ /**
1122
+ * List all shared spaces the user is a member of.
1123
+ * Returns spaces with decrypted names (decryption happens vault-side).
1124
+ */
1125
+ async listSpacesAsync() {
1126
+ return this.client.request(SPACE_COMMANDS.list);
1127
+ }
1128
+ /**
1129
+ * Create a new shared space.
1130
+ * @param name - Human-readable space name
1131
+ * @param serverUrl - The sync server URL to create the space on
1132
+ * @returns The created space with decrypted name
1133
+ */
1134
+ async createSpaceAsync(name, serverUrl) {
1135
+ return this.client.request(SPACE_COMMANDS.create, {
1136
+ name,
1137
+ server_url: serverUrl
1138
+ });
1139
+ }
1140
+ /**
1141
+ * List available sync backends that can host shared spaces.
1142
+ * @returns Array of backend info with server URLs
1143
+ */
1144
+ async listSyncBackendsAsync() {
1145
+ return this.client.request(SPACE_COMMANDS.listBackends);
1146
+ }
1112
1147
  };
1113
- function toSnakeCase(a) {
1148
+ function toSnakeCase(assignment) {
1114
1149
  return {
1115
- table_name: a.tableName,
1116
- row_pks: a.rowPks,
1117
- space_id: a.spaceId
1150
+ table_name: assignment.tableName,
1151
+ row_pks: assignment.rowPks,
1152
+ space_id: assignment.spaceId
1118
1153
  };
1119
1154
  }
1120
- function fromSnakeCase(a) {
1155
+ function fromSnakeCase(assignment) {
1121
1156
  return {
1122
- tableName: a.table_name,
1123
- rowPks: a.row_pks,
1124
- spaceId: a.space_id
1157
+ tableName: assignment.table_name,
1158
+ rowPks: assignment.row_pks,
1159
+ spaceId: assignment.space_id
1125
1160
  };
1126
1161
  }
1127
1162