@alfe.ai/openclaw-sync 0.0.15 → 0.0.16
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/cli/index.cjs +28 -74
- package/dist/cli/index.js +29 -75
- package/dist/cli/index.js.map +1 -1
- package/dist/ignore.cjs +2 -2
- package/dist/ignore.js +2 -2
- package/dist/index.cjs +3 -4
- package/dist/index.d.cts +49 -22
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +49 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/plugin.d.cts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin2.cjs +23 -25
- package/dist/plugin2.js +24 -26
- package/dist/plugin2.js.map +1 -1
- package/dist/sync-engine.cjs +123 -80
- package/dist/sync-engine.js +108 -59
- package/dist/sync-engine.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import plugin, { SyncPluginConfig } from "./plugin.cjs";
|
|
2
2
|
|
|
3
3
|
//#region src/config.d.ts
|
|
4
|
+
|
|
4
5
|
/**
|
|
5
|
-
* AlfeSync configuration
|
|
6
|
+
* AlfeSync configuration.
|
|
7
|
+
*
|
|
8
|
+
* Derives credentials from `@alfe.ai/config` (~/.alfe/config.toml) so the
|
|
9
|
+
* sync plugin works on any agent that's already logged in — no separate
|
|
10
|
+
* `.alfesync/config.json` or manual `alfesync init` required.
|
|
11
|
+
*
|
|
12
|
+
* The only field not directly in @alfe.ai/config is `agentId`, which is
|
|
13
|
+
* resolved once at startup by calling POST /auth/validate (same pattern
|
|
14
|
+
* the gateway daemon uses to bootstrap its own identity).
|
|
6
15
|
*/
|
|
7
16
|
interface SyncConfig {
|
|
8
17
|
agentId: string;
|
|
@@ -12,39 +21,51 @@ interface SyncConfig {
|
|
|
12
21
|
apiUrl: string;
|
|
13
22
|
}
|
|
14
23
|
/**
|
|
15
|
-
*
|
|
24
|
+
* Local on-disk state directory (manifest, etc.) — separate from credentials.
|
|
25
|
+
* Lives under ~/.alfe/sync/ so sync state stays alongside the rest of Alfe's
|
|
26
|
+
* agent state, not scattered across the workspace.
|
|
16
27
|
*/
|
|
17
|
-
declare function
|
|
28
|
+
declare function syncStateDir(): string;
|
|
18
29
|
/**
|
|
19
|
-
*
|
|
30
|
+
* True if the agent has logged in (~/.alfe/config.toml exists).
|
|
31
|
+
* Sync needs no separate initialization — login is enough.
|
|
20
32
|
*/
|
|
21
|
-
declare function
|
|
33
|
+
declare function isInitialized(): boolean;
|
|
22
34
|
/**
|
|
23
|
-
*
|
|
35
|
+
* Invalidate the in-memory config cache. Call after login changes.
|
|
24
36
|
*/
|
|
25
|
-
declare function
|
|
37
|
+
declare function invalidateSyncConfigCache(): void;
|
|
26
38
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
39
|
+
* Resolve the full sync config — apiKey + apiUrl from @alfe.ai/config,
|
|
40
|
+
* agentId/orgId fetched once from /auth/validate.
|
|
41
|
+
*
|
|
42
|
+
* Returns null if the agent isn't logged in or validation fails.
|
|
43
|
+
* Callers that require config should use requireConfig().
|
|
44
|
+
*
|
|
45
|
+
* Concurrent callers share a single in-flight promise; failures are
|
|
46
|
+
* not cached so a transient API blip doesn't poison the process.
|
|
29
47
|
*/
|
|
30
|
-
declare function
|
|
48
|
+
declare function resolveSyncConfig(): Promise<SyncConfig | null>;
|
|
31
49
|
/**
|
|
32
|
-
*
|
|
33
|
-
* Creates the .alfesync directory if it doesn't exist.
|
|
50
|
+
* Resolve config or throw with a clear message. Use in CLI entry points.
|
|
34
51
|
*/
|
|
35
|
-
declare function
|
|
52
|
+
declare function requireConfig(): Promise<SyncConfig>;
|
|
36
53
|
/**
|
|
37
|
-
*
|
|
54
|
+
* Local-only check: does the on-disk sync state directory exist?
|
|
55
|
+
* Used by manifest loading to decide whether to create it.
|
|
38
56
|
*/
|
|
39
|
-
declare function requireConfig(workspacePath: string): Promise<SyncConfig>;
|
|
40
|
-
//# sourceMappingURL=config.d.ts.map
|
|
41
57
|
//#endregion
|
|
42
58
|
//#region src/manifest.d.ts
|
|
43
59
|
/**
|
|
44
|
-
* AlfeSync manifest — local file manifest at
|
|
60
|
+
* AlfeSync manifest — local file manifest at `~/.alfe/sync/manifest.json`.
|
|
45
61
|
*
|
|
46
62
|
* Tracks file hashes, sizes, sync timestamps, and storage classes
|
|
47
|
-
* to enable efficient diff-based syncing.
|
|
63
|
+
* to enable efficient diff-based syncing. Lives under `~/.alfe/sync/`
|
|
64
|
+
* so workspace directories stay clean.
|
|
65
|
+
*
|
|
66
|
+
* `workspacePath` is accepted by every function for consistency with the
|
|
67
|
+
* rest of the package, but the manifest itself is workspace-independent
|
|
68
|
+
* (one agent, one workspace, one manifest).
|
|
48
69
|
*/
|
|
49
70
|
interface ManifestEntry {
|
|
50
71
|
hash: string;
|
|
@@ -80,10 +101,15 @@ interface ManifestDiff {
|
|
|
80
101
|
}
|
|
81
102
|
/**
|
|
82
103
|
* Read the local manifest. Returns empty manifest if not found.
|
|
104
|
+
*
|
|
105
|
+
* `workspacePath` is accepted for call-site symmetry with the rest of the
|
|
106
|
+
* package but is not used — the manifest path is resolved from
|
|
107
|
+
* `~/.alfe/sync/` regardless of which workspace the call comes from.
|
|
83
108
|
*/
|
|
84
109
|
declare function readManifest(workspacePath: string): Promise<LocalManifest>;
|
|
85
110
|
/**
|
|
86
|
-
* Write the local manifest.
|
|
111
|
+
* Write the local manifest. `workspacePath` is accepted for call-site
|
|
112
|
+
* symmetry but unused (see `readManifest`).
|
|
87
113
|
*/
|
|
88
114
|
declare function writeManifest(workspacePath: string, manifest: LocalManifest): Promise<void>;
|
|
89
115
|
/**
|
|
@@ -253,9 +279,10 @@ interface SyncResult {
|
|
|
253
279
|
errors: number;
|
|
254
280
|
}
|
|
255
281
|
/**
|
|
256
|
-
* Create a sync engine
|
|
282
|
+
* Create a sync engine. Workspace path defaults to `config.workspacePath`
|
|
283
|
+
* from the resolved Alfe config, but can be overridden (e.g. for tests).
|
|
257
284
|
*/
|
|
258
|
-
declare function createSyncEngine(
|
|
285
|
+
declare function createSyncEngine(workspacePathOverride?: string): Promise<{
|
|
259
286
|
config: SyncConfig;
|
|
260
287
|
client: {
|
|
261
288
|
getManifest(): Promise<RemoteManifest>;
|
|
@@ -413,5 +440,5 @@ interface SharedSyncEngine {
|
|
|
413
440
|
}
|
|
414
441
|
declare function createSharedSyncEngine(config: SharedSyncConfig, log: PluginLogger): SharedSyncEngine;
|
|
415
442
|
//#endregion
|
|
416
|
-
export { type AgentStats, type ApiClient, type ApiClientConfig, type ConfirmResult, type DownloadResult, type FileHistoryEntry, type LocalManifest, type ManifestDiff, type ManifestEntry, type PresignResult, type ReconstructResult, type RegisterAgentResult, type RemoteManifest, type SharedScope, type SharedSyncConfig, type SharedSyncEngine, type SyncConfig, type SyncEngine, type SyncPluginConfig, type SyncResult, type UploadResult, type WatcherOptions, computeFileHash,
|
|
443
|
+
export { type AgentStats, type ApiClient, type ApiClientConfig, type ConfirmResult, type DownloadResult, type FileHistoryEntry, type LocalManifest, type ManifestDiff, type ManifestEntry, type PresignResult, type ReconstructResult, type RegisterAgentResult, type RemoteManifest, type SharedScope, type SharedSyncConfig, type SharedSyncEngine, type SyncConfig, type SyncEngine, type SyncPluginConfig, type SyncResult, type UploadResult, type WatcherOptions, computeFileHash, createApiClient, createSharedSyncEngine, createSyncEngine, diffManifests, downloadFiles, filterIgnored, invalidateSyncConfigCache, isInitialized, loadIgnorePatterns, plugin, readManifest, removeManifestEntry, requireConfig, resolveSyncConfig, shouldIgnore, startWatcher, syncStateDir, updateManifestEntry, uploadFiles, writeManifest };
|
|
417
444
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/config.ts","../src/manifest.ts","../src/ignore.ts","../src/api-client.ts","../src/sync-engine.ts","../src/watcher.ts","../src/uploader.ts","../src/downloader.ts","../src/shared-sync.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/config.ts","../src/manifest.ts","../src/ignore.ts","../src/api-client.ts","../src/sync-engine.ts","../src/watcher.ts","../src/uploader.ts","../src/downloader.ts","../src/shared-sync.ts"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import plugin, { SyncPluginConfig } from "./plugin.js";
|
|
2
2
|
|
|
3
3
|
//#region src/config.d.ts
|
|
4
|
+
|
|
4
5
|
/**
|
|
5
|
-
* AlfeSync configuration
|
|
6
|
+
* AlfeSync configuration.
|
|
7
|
+
*
|
|
8
|
+
* Derives credentials from `@alfe.ai/config` (~/.alfe/config.toml) so the
|
|
9
|
+
* sync plugin works on any agent that's already logged in — no separate
|
|
10
|
+
* `.alfesync/config.json` or manual `alfesync init` required.
|
|
11
|
+
*
|
|
12
|
+
* The only field not directly in @alfe.ai/config is `agentId`, which is
|
|
13
|
+
* resolved once at startup by calling POST /auth/validate (same pattern
|
|
14
|
+
* the gateway daemon uses to bootstrap its own identity).
|
|
6
15
|
*/
|
|
7
16
|
interface SyncConfig {
|
|
8
17
|
agentId: string;
|
|
@@ -12,39 +21,51 @@ interface SyncConfig {
|
|
|
12
21
|
apiUrl: string;
|
|
13
22
|
}
|
|
14
23
|
/**
|
|
15
|
-
*
|
|
24
|
+
* Local on-disk state directory (manifest, etc.) — separate from credentials.
|
|
25
|
+
* Lives under ~/.alfe/sync/ so sync state stays alongside the rest of Alfe's
|
|
26
|
+
* agent state, not scattered across the workspace.
|
|
16
27
|
*/
|
|
17
|
-
declare function
|
|
28
|
+
declare function syncStateDir(): string;
|
|
18
29
|
/**
|
|
19
|
-
*
|
|
30
|
+
* True if the agent has logged in (~/.alfe/config.toml exists).
|
|
31
|
+
* Sync needs no separate initialization — login is enough.
|
|
20
32
|
*/
|
|
21
|
-
declare function
|
|
33
|
+
declare function isInitialized(): boolean;
|
|
22
34
|
/**
|
|
23
|
-
*
|
|
35
|
+
* Invalidate the in-memory config cache. Call after login changes.
|
|
24
36
|
*/
|
|
25
|
-
declare function
|
|
37
|
+
declare function invalidateSyncConfigCache(): void;
|
|
26
38
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
39
|
+
* Resolve the full sync config — apiKey + apiUrl from @alfe.ai/config,
|
|
40
|
+
* agentId/orgId fetched once from /auth/validate.
|
|
41
|
+
*
|
|
42
|
+
* Returns null if the agent isn't logged in or validation fails.
|
|
43
|
+
* Callers that require config should use requireConfig().
|
|
44
|
+
*
|
|
45
|
+
* Concurrent callers share a single in-flight promise; failures are
|
|
46
|
+
* not cached so a transient API blip doesn't poison the process.
|
|
29
47
|
*/
|
|
30
|
-
declare function
|
|
48
|
+
declare function resolveSyncConfig(): Promise<SyncConfig | null>;
|
|
31
49
|
/**
|
|
32
|
-
*
|
|
33
|
-
* Creates the .alfesync directory if it doesn't exist.
|
|
50
|
+
* Resolve config or throw with a clear message. Use in CLI entry points.
|
|
34
51
|
*/
|
|
35
|
-
declare function
|
|
52
|
+
declare function requireConfig(): Promise<SyncConfig>;
|
|
36
53
|
/**
|
|
37
|
-
*
|
|
54
|
+
* Local-only check: does the on-disk sync state directory exist?
|
|
55
|
+
* Used by manifest loading to decide whether to create it.
|
|
38
56
|
*/
|
|
39
|
-
declare function requireConfig(workspacePath: string): Promise<SyncConfig>;
|
|
40
|
-
//# sourceMappingURL=config.d.ts.map
|
|
41
57
|
//#endregion
|
|
42
58
|
//#region src/manifest.d.ts
|
|
43
59
|
/**
|
|
44
|
-
* AlfeSync manifest — local file manifest at
|
|
60
|
+
* AlfeSync manifest — local file manifest at `~/.alfe/sync/manifest.json`.
|
|
45
61
|
*
|
|
46
62
|
* Tracks file hashes, sizes, sync timestamps, and storage classes
|
|
47
|
-
* to enable efficient diff-based syncing.
|
|
63
|
+
* to enable efficient diff-based syncing. Lives under `~/.alfe/sync/`
|
|
64
|
+
* so workspace directories stay clean.
|
|
65
|
+
*
|
|
66
|
+
* `workspacePath` is accepted by every function for consistency with the
|
|
67
|
+
* rest of the package, but the manifest itself is workspace-independent
|
|
68
|
+
* (one agent, one workspace, one manifest).
|
|
48
69
|
*/
|
|
49
70
|
interface ManifestEntry {
|
|
50
71
|
hash: string;
|
|
@@ -80,10 +101,15 @@ interface ManifestDiff {
|
|
|
80
101
|
}
|
|
81
102
|
/**
|
|
82
103
|
* Read the local manifest. Returns empty manifest if not found.
|
|
104
|
+
*
|
|
105
|
+
* `workspacePath` is accepted for call-site symmetry with the rest of the
|
|
106
|
+
* package but is not used — the manifest path is resolved from
|
|
107
|
+
* `~/.alfe/sync/` regardless of which workspace the call comes from.
|
|
83
108
|
*/
|
|
84
109
|
declare function readManifest(workspacePath: string): Promise<LocalManifest>;
|
|
85
110
|
/**
|
|
86
|
-
* Write the local manifest.
|
|
111
|
+
* Write the local manifest. `workspacePath` is accepted for call-site
|
|
112
|
+
* symmetry but unused (see `readManifest`).
|
|
87
113
|
*/
|
|
88
114
|
declare function writeManifest(workspacePath: string, manifest: LocalManifest): Promise<void>;
|
|
89
115
|
/**
|
|
@@ -253,9 +279,10 @@ interface SyncResult {
|
|
|
253
279
|
errors: number;
|
|
254
280
|
}
|
|
255
281
|
/**
|
|
256
|
-
* Create a sync engine
|
|
282
|
+
* Create a sync engine. Workspace path defaults to `config.workspacePath`
|
|
283
|
+
* from the resolved Alfe config, but can be overridden (e.g. for tests).
|
|
257
284
|
*/
|
|
258
|
-
declare function createSyncEngine(
|
|
285
|
+
declare function createSyncEngine(workspacePathOverride?: string): Promise<{
|
|
259
286
|
config: SyncConfig;
|
|
260
287
|
client: {
|
|
261
288
|
getManifest(): Promise<RemoteManifest>;
|
|
@@ -413,5 +440,5 @@ interface SharedSyncEngine {
|
|
|
413
440
|
}
|
|
414
441
|
declare function createSharedSyncEngine(config: SharedSyncConfig, log: PluginLogger): SharedSyncEngine;
|
|
415
442
|
//#endregion
|
|
416
|
-
export { type AgentStats, type ApiClient, type ApiClientConfig, type ConfirmResult, type DownloadResult, type FileHistoryEntry, type LocalManifest, type ManifestDiff, type ManifestEntry, type PresignResult, type ReconstructResult, type RegisterAgentResult, type RemoteManifest, type SharedScope, type SharedSyncConfig, type SharedSyncEngine, type SyncConfig, type SyncEngine, type SyncPluginConfig, type SyncResult, type UploadResult, type WatcherOptions, computeFileHash,
|
|
443
|
+
export { type AgentStats, type ApiClient, type ApiClientConfig, type ConfirmResult, type DownloadResult, type FileHistoryEntry, type LocalManifest, type ManifestDiff, type ManifestEntry, type PresignResult, type ReconstructResult, type RegisterAgentResult, type RemoteManifest, type SharedScope, type SharedSyncConfig, type SharedSyncEngine, type SyncConfig, type SyncEngine, type SyncPluginConfig, type SyncResult, type UploadResult, type WatcherOptions, computeFileHash, createApiClient, createSharedSyncEngine, createSyncEngine, diffManifests, downloadFiles, filterIgnored, invalidateSyncConfigCache, isInitialized, loadIgnorePatterns, plugin, readManifest, removeManifestEntry, requireConfig, resolveSyncConfig, shouldIgnore, startWatcher, syncStateDir, updateManifestEntry, uploadFiles, writeManifest };
|
|
417
444
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/config.ts","../src/manifest.ts","../src/ignore.ts","../src/api-client.ts","../src/sync-engine.ts","../src/watcher.ts","../src/uploader.ts","../src/downloader.ts","../src/shared-sync.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/config.ts","../src/manifest.ts","../src/ignore.ts","../src/api-client.ts","../src/sync-engine.ts","../src/watcher.ts","../src/uploader.ts","../src/downloader.ts","../src/shared-sync.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { i as shouldIgnore, r as loadIgnorePatterns, t as filterIgnored } from "./ignore.js";
|
|
2
|
-
import { a as computeFileHash, c as removeManifestEntry, d as
|
|
2
|
+
import { a as computeFileHash, c as removeManifestEntry, d as invalidateSyncConfigCache, f as isInitialized, h as syncStateDir, i as createApiClient, l as updateManifestEntry, m as resolveSyncConfig, n as downloadFiles, o as diffManifests, p as requireConfig, r as uploadFiles, s as readManifest, t as createSyncEngine, u as writeManifest } from "./sync-engine.js";
|
|
3
3
|
import { n as createSharedSyncEngine, r as startWatcher, t as plugin } from "./plugin2.js";
|
|
4
|
-
export { computeFileHash,
|
|
4
|
+
export { computeFileHash, createApiClient, createSharedSyncEngine, createSyncEngine, diffManifests, downloadFiles, filterIgnored, invalidateSyncConfigCache, isInitialized, loadIgnorePatterns, plugin, readManifest, removeManifestEntry, requireConfig, resolveSyncConfig, shouldIgnore, startWatcher, syncStateDir, updateManifestEntry, uploadFiles, writeManifest };
|
package/dist/plugin.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.cts","names":[],"sources":["../src/plugin.ts"],"mappings":";;;AAmCsB;;;;;AAWA;;;;;;;;UAXZ,YAAA,CAuBuC;EAAO,IAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EA8BvC,IAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAgB,IAAA;EA0X3B,KAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"plugin.d.cts","names":[],"sources":["../src/plugin.ts"],"mappings":";;;AAmCsB;;;;;AAWA;;;;;;;;UAXZ,YAAA,CAuBuC;EAAO,IAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EA8BvC,IAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAgB,IAAA;EA0X3B,KAAA,CAAA,GA2SL,EAAA,MAAA,CAAA,EAAA,IAAA;EAAA,KAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;UAntBS,oBAAA,CA4nBc;QAAS,EA3nBvB,MA2nBuB,CAAA,MAAA,EAAA,OAAA,CAAA;cA2CV,CAAA,EAAA,MAAA;UAAmB,EAAA,MAAA;QAAgB,EAnqBhD,YAmqBgD;;;UA/pBhD,SAAA;UACA;;WAEC;wDAC6C;;;iBAGvC,gCAAgC;iBAChC,gCAAgC;;;UA8BhC,gBAAA;;;;;;;;;;;;;;cA0XX;;;;;gBAOU;kBA6MQ,YAAS;;;;iBA2CV,mBAAmB,mBAAgB"}
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","names":[],"sources":["../src/plugin.ts"],"mappings":";;;AAmCsB;;;;;AAWA;;;;;;;;UAXZ,YAAA,CAuBuC;EAAO,IAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EA8BvC,IAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAgB,IAAA;EA0X3B,KAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","names":[],"sources":["../src/plugin.ts"],"mappings":";;;AAmCsB;;;;;AAWA;;;;;;;;UAXZ,YAAA,CAuBuC;EAAO,IAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EA8BvC,IAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAgB,IAAA;EA0X3B,KAAA,CAAA,GA2SL,EAAA,MAAA,CAAA,EAAA,IAAA;EAAA,KAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;UAntBS,oBAAA,CA4nBc;QAAS,EA3nBvB,MA2nBuB,CAAA,MAAA,EAAA,OAAA,CAAA;cA2CV,CAAA,EAAA,MAAA;UAAmB,EAAA,MAAA;QAAgB,EAnqBhD,YAmqBgD;;;UA/pBhD,SAAA;UACA;;WAEC;wDAC6C;;;iBAGvC,gCAAgC;iBAChC,gCAAgC;;;UA8BhC,gBAAA;;;;;;;;;;;;;;cA0XX;;;;;gBAOU;kBA6MQ,YAAS;;;;iBA2CV,mBAAmB,mBAAgB"}
|
package/dist/plugin2.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_ignore = require("./ignore.cjs");
|
|
2
2
|
const require_sync_engine = require("./sync-engine.cjs");
|
|
3
|
-
let node_fs_promises = require("node:fs/promises");
|
|
4
3
|
let node_path = require("node:path");
|
|
5
|
-
let chokidar = require("chokidar");
|
|
6
4
|
let _alfe_ai_config = require("@alfe.ai/config");
|
|
5
|
+
let node_fs_promises = require("node:fs/promises");
|
|
6
|
+
let chokidar = require("chokidar");
|
|
7
7
|
let node_module = require("node:module");
|
|
8
8
|
//#region src/watcher.ts
|
|
9
9
|
/**
|
|
@@ -548,14 +548,13 @@ const plugin = {
|
|
|
548
548
|
log.info(`Sync scope: ${syncScope.join(", ")}`);
|
|
549
549
|
log.info(`Sync schedule: ${syncSchedule}`);
|
|
550
550
|
log.info(`Workspace: ${workspacePath}`);
|
|
551
|
-
if (require_sync_engine.isInitialized(
|
|
551
|
+
if (require_sync_engine.isInitialized()) try {
|
|
552
552
|
syncEngine = await require_sync_engine.createSyncEngine(workspacePath);
|
|
553
553
|
log.info("Sync engine initialized");
|
|
554
554
|
} catch (err) {
|
|
555
555
|
log.warn(`Failed to initialize sync engine: ${err instanceof Error ? err.message : String(err)}`);
|
|
556
|
-
log.warn("Sync will be available once the workspace is configured (alfesync init)");
|
|
557
556
|
}
|
|
558
|
-
else log.info("
|
|
557
|
+
else log.info("Sync skipped — no Alfe config found. Run `alfe login` to enable.");
|
|
559
558
|
if (syncSchedule === "realtime" && syncEngine) try {
|
|
560
559
|
stopWatcher = await startWatcher({
|
|
561
560
|
workspacePath,
|
|
@@ -576,28 +575,27 @@ const plugin = {
|
|
|
576
575
|
}
|
|
577
576
|
if (syncSchedule !== "realtime" && syncEngine) setupSchedule(syncSchedule, log);
|
|
578
577
|
daemonIpcClient = await connectToDaemon(socketPath, log);
|
|
579
|
-
if (syncEngine)
|
|
580
|
-
const config = await require_sync_engine.
|
|
578
|
+
if (syncEngine) {
|
|
579
|
+
const config = await require_sync_engine.resolveSyncConfig();
|
|
581
580
|
if (config) {
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
}
|
|
597
|
-
|
|
581
|
+
try {
|
|
582
|
+
const defaultRelayUrl = config.apiUrl.includes("dev.alfe.ai") ? "wss://sync.dev.alfe.ai/ws" : "wss://sync.alfe.ai/ws";
|
|
583
|
+
syncRelayWs = await connectToSyncRelay(pluginConfig.syncRelayUrl ?? defaultRelayUrl, config.token, config.agentId, log);
|
|
584
|
+
} catch (err) {
|
|
585
|
+
log.debug(`Sync Relay connection skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
586
|
+
}
|
|
587
|
+
if (pluginConfig.sharedSync !== false) try {
|
|
588
|
+
sharedSyncEngine = createSharedSyncEngine({
|
|
589
|
+
workspacePath,
|
|
590
|
+
apiUrl: config.apiUrl,
|
|
591
|
+
token: config.token,
|
|
592
|
+
agentId: config.agentId
|
|
593
|
+
}, log);
|
|
594
|
+
log.info("Shared sync engine created — waiting for SHARED_SCOPES from gateway");
|
|
595
|
+
} catch (err) {
|
|
596
|
+
log.debug(`Shared sync engine skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
597
|
+
}
|
|
598
598
|
}
|
|
599
|
-
} catch (err) {
|
|
600
|
-
log.debug(`Shared sync engine skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
601
599
|
}
|
|
602
600
|
};
|
|
603
601
|
const stopSyncService = async () => {
|
package/dist/plugin2.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { i as shouldIgnore, r as loadIgnorePatterns } from "./ignore.js";
|
|
2
|
-
import {
|
|
2
|
+
import { f as isInitialized, m as resolveSyncConfig, t as createSyncEngine } from "./sync-engine.js";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
|
-
import { mkdir, rm, unlink, writeFile } from "node:fs/promises";
|
|
5
4
|
import { dirname, join, normalize, relative, sep } from "node:path";
|
|
6
|
-
import { watch } from "chokidar";
|
|
7
5
|
import { DEFAULT_SOCKET_PATH, DEFAULT_WORKSPACE_PATH, resolveConfig } from "@alfe.ai/config";
|
|
6
|
+
import { mkdir, rm, unlink, writeFile } from "node:fs/promises";
|
|
7
|
+
import { watch } from "chokidar";
|
|
8
8
|
//#region src/watcher.ts
|
|
9
9
|
/**
|
|
10
10
|
* AlfeSync watcher — recursive file watcher with debounce and ignore support.
|
|
@@ -548,14 +548,13 @@ const plugin = {
|
|
|
548
548
|
log.info(`Sync scope: ${syncScope.join(", ")}`);
|
|
549
549
|
log.info(`Sync schedule: ${syncSchedule}`);
|
|
550
550
|
log.info(`Workspace: ${workspacePath}`);
|
|
551
|
-
if (isInitialized(
|
|
551
|
+
if (isInitialized()) try {
|
|
552
552
|
syncEngine = await createSyncEngine(workspacePath);
|
|
553
553
|
log.info("Sync engine initialized");
|
|
554
554
|
} catch (err) {
|
|
555
555
|
log.warn(`Failed to initialize sync engine: ${err instanceof Error ? err.message : String(err)}`);
|
|
556
|
-
log.warn("Sync will be available once the workspace is configured (alfesync init)");
|
|
557
556
|
}
|
|
558
|
-
else log.info("
|
|
557
|
+
else log.info("Sync skipped — no Alfe config found. Run `alfe login` to enable.");
|
|
559
558
|
if (syncSchedule === "realtime" && syncEngine) try {
|
|
560
559
|
stopWatcher = await startWatcher({
|
|
561
560
|
workspacePath,
|
|
@@ -576,28 +575,27 @@ const plugin = {
|
|
|
576
575
|
}
|
|
577
576
|
if (syncSchedule !== "realtime" && syncEngine) setupSchedule(syncSchedule, log);
|
|
578
577
|
daemonIpcClient = await connectToDaemon(socketPath, log);
|
|
579
|
-
if (syncEngine)
|
|
580
|
-
const config = await
|
|
578
|
+
if (syncEngine) {
|
|
579
|
+
const config = await resolveSyncConfig();
|
|
581
580
|
if (config) {
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
}
|
|
597
|
-
|
|
581
|
+
try {
|
|
582
|
+
const defaultRelayUrl = config.apiUrl.includes("dev.alfe.ai") ? "wss://sync.dev.alfe.ai/ws" : "wss://sync.alfe.ai/ws";
|
|
583
|
+
syncRelayWs = await connectToSyncRelay(pluginConfig.syncRelayUrl ?? defaultRelayUrl, config.token, config.agentId, log);
|
|
584
|
+
} catch (err) {
|
|
585
|
+
log.debug(`Sync Relay connection skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
586
|
+
}
|
|
587
|
+
if (pluginConfig.sharedSync !== false) try {
|
|
588
|
+
sharedSyncEngine = createSharedSyncEngine({
|
|
589
|
+
workspacePath,
|
|
590
|
+
apiUrl: config.apiUrl,
|
|
591
|
+
token: config.token,
|
|
592
|
+
agentId: config.agentId
|
|
593
|
+
}, log);
|
|
594
|
+
log.info("Shared sync engine created — waiting for SHARED_SCOPES from gateway");
|
|
595
|
+
} catch (err) {
|
|
596
|
+
log.debug(`Shared sync engine skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
597
|
+
}
|
|
598
598
|
}
|
|
599
|
-
} catch (err) {
|
|
600
|
-
log.debug(`Shared sync engine skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
601
599
|
}
|
|
602
600
|
};
|
|
603
601
|
const stopSyncService = async () => {
|