zen-fs-config 0.2.0 → 0.2.1

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/index.d.mts CHANGED
@@ -160,6 +160,14 @@ interface IConfigRepo {
160
160
  resolveConflict(conflictId: string, mergedContent: unknown): Promise<void>;
161
161
  /** List all conflict archives. */
162
162
  listConflicts(): Promise<ConflictArchive[]>;
163
+ /** Read .meta/backends.json. */
164
+ getBackends(): Promise<BackendsMeta | null>;
165
+ /** Write .meta/backends.json. */
166
+ updateBackends(meta: BackendsMeta): Promise<void>;
167
+ /** Read .meta/sync-rules.json. */
168
+ getSyncRules(): Promise<SyncRulesMeta | null>;
169
+ /** Write .meta/sync-rules.json. */
170
+ updateSyncRules(meta: SyncRulesMeta): Promise<void>;
163
171
  /** Dispose: stop all sync, release cache FS and resources. */
164
172
  dispose(): Promise<void>;
165
173
  }
@@ -252,6 +260,10 @@ declare class ConfigRepo implements IConfigRepo {
252
260
  private walkDir;
253
261
  writeMetaFile(path: string, data: BackendsMeta | SyncRulesMeta): Promise<void>;
254
262
  readMetaFile<T>(path: string): Promise<T | null>;
263
+ getBackends(): Promise<BackendsMeta | null>;
264
+ updateBackends(meta: BackendsMeta): Promise<void>;
265
+ getSyncRules(): Promise<SyncRulesMeta | null>;
266
+ updateSyncRules(meta: SyncRulesMeta): Promise<void>;
255
267
  private tryParse;
256
268
  private assertNotDisposed;
257
269
  }
package/dist/index.d.ts CHANGED
@@ -160,6 +160,14 @@ interface IConfigRepo {
160
160
  resolveConflict(conflictId: string, mergedContent: unknown): Promise<void>;
161
161
  /** List all conflict archives. */
162
162
  listConflicts(): Promise<ConflictArchive[]>;
163
+ /** Read .meta/backends.json. */
164
+ getBackends(): Promise<BackendsMeta | null>;
165
+ /** Write .meta/backends.json. */
166
+ updateBackends(meta: BackendsMeta): Promise<void>;
167
+ /** Read .meta/sync-rules.json. */
168
+ getSyncRules(): Promise<SyncRulesMeta | null>;
169
+ /** Write .meta/sync-rules.json. */
170
+ updateSyncRules(meta: SyncRulesMeta): Promise<void>;
163
171
  /** Dispose: stop all sync, release cache FS and resources. */
164
172
  dispose(): Promise<void>;
165
173
  }
@@ -252,6 +260,10 @@ declare class ConfigRepo implements IConfigRepo {
252
260
  private walkDir;
253
261
  writeMetaFile(path: string, data: BackendsMeta | SyncRulesMeta): Promise<void>;
254
262
  readMetaFile<T>(path: string): Promise<T | null>;
263
+ getBackends(): Promise<BackendsMeta | null>;
264
+ updateBackends(meta: BackendsMeta): Promise<void>;
265
+ getSyncRules(): Promise<SyncRulesMeta | null>;
266
+ updateSyncRules(meta: SyncRulesMeta): Promise<void>;
255
267
  private tryParse;
256
268
  private assertNotDisposed;
257
269
  }
package/dist/index.js CHANGED
@@ -1194,6 +1194,25 @@ var ConfigRepo = class {
1194
1194
  return null;
1195
1195
  }
1196
1196
  }
1197
+ // -----------------------------------------------------------------------
1198
+ // IConfigRepo — Meta file access (no chroot)
1199
+ // -----------------------------------------------------------------------
1200
+ async getBackends() {
1201
+ this.assertNotDisposed();
1202
+ return this.readMetaFile(BACKENDS_FILE);
1203
+ }
1204
+ async updateBackends(meta) {
1205
+ this.assertNotDisposed();
1206
+ await this.writeMetaFile(BACKENDS_FILE, meta);
1207
+ }
1208
+ async getSyncRules() {
1209
+ this.assertNotDisposed();
1210
+ return this.readMetaFile(SYNC_RULES_FILE);
1211
+ }
1212
+ async updateSyncRules(meta) {
1213
+ this.assertNotDisposed();
1214
+ await this.writeMetaFile(SYNC_RULES_FILE, meta);
1215
+ }
1197
1216
  tryParse(content) {
1198
1217
  try {
1199
1218
  return JSON.parse(content);
package/dist/index.mjs CHANGED
@@ -1147,6 +1147,25 @@ var ConfigRepo = class {
1147
1147
  return null;
1148
1148
  }
1149
1149
  }
1150
+ // -----------------------------------------------------------------------
1151
+ // IConfigRepo — Meta file access (no chroot)
1152
+ // -----------------------------------------------------------------------
1153
+ async getBackends() {
1154
+ this.assertNotDisposed();
1155
+ return this.readMetaFile(BACKENDS_FILE);
1156
+ }
1157
+ async updateBackends(meta) {
1158
+ this.assertNotDisposed();
1159
+ await this.writeMetaFile(BACKENDS_FILE, meta);
1160
+ }
1161
+ async getSyncRules() {
1162
+ this.assertNotDisposed();
1163
+ return this.readMetaFile(SYNC_RULES_FILE);
1164
+ }
1165
+ async updateSyncRules(meta) {
1166
+ this.assertNotDisposed();
1167
+ await this.writeMetaFile(SYNC_RULES_FILE, meta);
1168
+ }
1150
1169
  tryParse(content) {
1151
1170
  try {
1152
1171
  return JSON.parse(content);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zen-fs-config",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Distributed config management library built on ZenFS, zen-fs-cache, and zen-fs-sync",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",