@hasna/cloud 0.1.31 → 0.1.33
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/LICENSE +2 -1
- package/README.md +17 -0
- package/dist/adapter.test.d.ts +2 -0
- package/dist/adapter.test.d.ts.map +1 -0
- package/dist/auto-sync.d.ts.map +1 -1
- package/dist/cli/cmd-doctor.d.ts +3 -0
- package/dist/cli/cmd-doctor.d.ts.map +1 -0
- package/dist/cli/cmd-feedback.d.ts +3 -0
- package/dist/cli/cmd-feedback.d.ts.map +1 -0
- package/dist/cli/cmd-migrate.d.ts +3 -0
- package/dist/cli/cmd-migrate.d.ts.map +1 -0
- package/dist/cli/cmd-setup.d.ts +3 -0
- package/dist/cli/cmd-setup.d.ts.map +1 -0
- package/dist/cli/cmd-sync.d.ts +4 -0
- package/dist/cli/cmd-sync.d.ts.map +1 -0
- package/dist/cli/index.js +2330 -1079
- package/dist/config.d.ts +138 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/daemon-sync.d.ts +108 -0
- package/dist/daemon-sync.d.ts.map +1 -0
- package/dist/dialect.test.d.ts +2 -0
- package/dist/dialect.test.d.ts.map +1 -0
- package/dist/discover.test.d.ts +2 -0
- package/dist/discover.test.d.ts.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1143 -153
- package/dist/machines.d.ts +63 -0
- package/dist/machines.d.ts.map +1 -0
- package/dist/mcp/bin.js +2 -0
- package/dist/mcp/http.d.ts +27 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +2 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +2125 -438
- package/dist/scheduled-sync.js +205 -44
- package/dist/sync-conflicts.test.d.ts +2 -0
- package/dist/sync-conflicts.test.d.ts.map +1 -0
- package/dist/sync-incremental.d.ts +5 -0
- package/dist/sync-incremental.d.ts.map +1 -1
- package/dist/sync-schedule.test.d.ts +2 -0
- package/dist/sync-schedule.test.d.ts.map +1 -0
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.test.d.ts +2 -0
- package/dist/sync.test.d.ts.map +1 -0
- package/package.json +3 -3
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,55 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
declare const DaemonConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
3
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
4
|
+
paused: z.ZodDefault<z.ZodBoolean>;
|
|
5
|
+
watch_interval_seconds: z.ZodDefault<z.ZodNumber>;
|
|
6
|
+
pull_interval_seconds: z.ZodDefault<z.ZodNumber>;
|
|
7
|
+
push_debounce_seconds: z.ZodDefault<z.ZodNumber>;
|
|
8
|
+
conflict_strategy: z.ZodDefault<z.ZodEnum<["newest-wins", "local-wins", "remote-wins"]>>;
|
|
9
|
+
services: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
10
|
+
table_intervals: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>>;
|
|
11
|
+
file_rules: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
12
|
+
path: z.ZodString;
|
|
13
|
+
interval_seconds: z.ZodDefault<z.ZodNumber>;
|
|
14
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
path: string;
|
|
18
|
+
interval_seconds: number;
|
|
19
|
+
}, {
|
|
20
|
+
path: string;
|
|
21
|
+
enabled?: boolean | undefined;
|
|
22
|
+
interval_seconds?: number | undefined;
|
|
23
|
+
}>, "many">>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
paused: boolean;
|
|
27
|
+
watch_interval_seconds: number;
|
|
28
|
+
pull_interval_seconds: number;
|
|
29
|
+
push_debounce_seconds: number;
|
|
30
|
+
conflict_strategy: "newest-wins" | "local-wins" | "remote-wins";
|
|
31
|
+
services: string[];
|
|
32
|
+
table_intervals: Record<string, Record<string, number>>;
|
|
33
|
+
file_rules: {
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
path: string;
|
|
36
|
+
interval_seconds: number;
|
|
37
|
+
}[];
|
|
38
|
+
}, {
|
|
39
|
+
enabled?: boolean | undefined;
|
|
40
|
+
paused?: boolean | undefined;
|
|
41
|
+
watch_interval_seconds?: number | undefined;
|
|
42
|
+
pull_interval_seconds?: number | undefined;
|
|
43
|
+
push_debounce_seconds?: number | undefined;
|
|
44
|
+
conflict_strategy?: "newest-wins" | "local-wins" | "remote-wins" | undefined;
|
|
45
|
+
services?: string[] | undefined;
|
|
46
|
+
table_intervals?: Record<string, Record<string, number>> | undefined;
|
|
47
|
+
file_rules?: {
|
|
48
|
+
path: string;
|
|
49
|
+
enabled?: boolean | undefined;
|
|
50
|
+
interval_seconds?: number | undefined;
|
|
51
|
+
}[] | undefined;
|
|
52
|
+
}>>;
|
|
2
53
|
export declare const CloudConfigSchema: z.ZodObject<{
|
|
3
54
|
rds: z.ZodDefault<z.ZodObject<{
|
|
4
55
|
host: z.ZodDefault<z.ZodString>;
|
|
@@ -29,6 +80,57 @@ export declare const CloudConfigSchema: z.ZodObject<{
|
|
|
29
80
|
}, {
|
|
30
81
|
schedule_minutes?: number | undefined;
|
|
31
82
|
}>>;
|
|
83
|
+
daemon: z.ZodDefault<z.ZodObject<{
|
|
84
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
85
|
+
paused: z.ZodDefault<z.ZodBoolean>;
|
|
86
|
+
watch_interval_seconds: z.ZodDefault<z.ZodNumber>;
|
|
87
|
+
pull_interval_seconds: z.ZodDefault<z.ZodNumber>;
|
|
88
|
+
push_debounce_seconds: z.ZodDefault<z.ZodNumber>;
|
|
89
|
+
conflict_strategy: z.ZodDefault<z.ZodEnum<["newest-wins", "local-wins", "remote-wins"]>>;
|
|
90
|
+
services: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
91
|
+
table_intervals: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>>;
|
|
92
|
+
file_rules: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
93
|
+
path: z.ZodString;
|
|
94
|
+
interval_seconds: z.ZodDefault<z.ZodNumber>;
|
|
95
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
96
|
+
}, "strip", z.ZodTypeAny, {
|
|
97
|
+
enabled: boolean;
|
|
98
|
+
path: string;
|
|
99
|
+
interval_seconds: number;
|
|
100
|
+
}, {
|
|
101
|
+
path: string;
|
|
102
|
+
enabled?: boolean | undefined;
|
|
103
|
+
interval_seconds?: number | undefined;
|
|
104
|
+
}>, "many">>;
|
|
105
|
+
}, "strip", z.ZodTypeAny, {
|
|
106
|
+
enabled: boolean;
|
|
107
|
+
paused: boolean;
|
|
108
|
+
watch_interval_seconds: number;
|
|
109
|
+
pull_interval_seconds: number;
|
|
110
|
+
push_debounce_seconds: number;
|
|
111
|
+
conflict_strategy: "newest-wins" | "local-wins" | "remote-wins";
|
|
112
|
+
services: string[];
|
|
113
|
+
table_intervals: Record<string, Record<string, number>>;
|
|
114
|
+
file_rules: {
|
|
115
|
+
enabled: boolean;
|
|
116
|
+
path: string;
|
|
117
|
+
interval_seconds: number;
|
|
118
|
+
}[];
|
|
119
|
+
}, {
|
|
120
|
+
enabled?: boolean | undefined;
|
|
121
|
+
paused?: boolean | undefined;
|
|
122
|
+
watch_interval_seconds?: number | undefined;
|
|
123
|
+
pull_interval_seconds?: number | undefined;
|
|
124
|
+
push_debounce_seconds?: number | undefined;
|
|
125
|
+
conflict_strategy?: "newest-wins" | "local-wins" | "remote-wins" | undefined;
|
|
126
|
+
services?: string[] | undefined;
|
|
127
|
+
table_intervals?: Record<string, Record<string, number>> | undefined;
|
|
128
|
+
file_rules?: {
|
|
129
|
+
path: string;
|
|
130
|
+
enabled?: boolean | undefined;
|
|
131
|
+
interval_seconds?: number | undefined;
|
|
132
|
+
}[] | undefined;
|
|
133
|
+
}>>;
|
|
32
134
|
}, "strip", z.ZodTypeAny, {
|
|
33
135
|
rds: {
|
|
34
136
|
ssl: boolean;
|
|
@@ -37,12 +139,27 @@ export declare const CloudConfigSchema: z.ZodObject<{
|
|
|
37
139
|
username: string;
|
|
38
140
|
password_env: string;
|
|
39
141
|
};
|
|
40
|
-
mode: "
|
|
142
|
+
mode: "cloud" | "local" | "hybrid";
|
|
41
143
|
auto_sync_interval_minutes: number;
|
|
42
144
|
feedback_endpoint: string;
|
|
43
145
|
sync: {
|
|
44
146
|
schedule_minutes: number;
|
|
45
147
|
};
|
|
148
|
+
daemon: {
|
|
149
|
+
enabled: boolean;
|
|
150
|
+
paused: boolean;
|
|
151
|
+
watch_interval_seconds: number;
|
|
152
|
+
pull_interval_seconds: number;
|
|
153
|
+
push_debounce_seconds: number;
|
|
154
|
+
conflict_strategy: "newest-wins" | "local-wins" | "remote-wins";
|
|
155
|
+
services: string[];
|
|
156
|
+
table_intervals: Record<string, Record<string, number>>;
|
|
157
|
+
file_rules: {
|
|
158
|
+
enabled: boolean;
|
|
159
|
+
path: string;
|
|
160
|
+
interval_seconds: number;
|
|
161
|
+
}[];
|
|
162
|
+
};
|
|
46
163
|
}, {
|
|
47
164
|
rds?: {
|
|
48
165
|
ssl?: boolean | undefined;
|
|
@@ -51,20 +168,36 @@ export declare const CloudConfigSchema: z.ZodObject<{
|
|
|
51
168
|
username?: string | undefined;
|
|
52
169
|
password_env?: string | undefined;
|
|
53
170
|
} | undefined;
|
|
54
|
-
mode?: "
|
|
171
|
+
mode?: "cloud" | "local" | "hybrid" | undefined;
|
|
55
172
|
auto_sync_interval_minutes?: number | undefined;
|
|
56
173
|
feedback_endpoint?: string | undefined;
|
|
57
174
|
sync?: {
|
|
58
175
|
schedule_minutes?: number | undefined;
|
|
59
176
|
} | undefined;
|
|
177
|
+
daemon?: {
|
|
178
|
+
enabled?: boolean | undefined;
|
|
179
|
+
paused?: boolean | undefined;
|
|
180
|
+
watch_interval_seconds?: number | undefined;
|
|
181
|
+
pull_interval_seconds?: number | undefined;
|
|
182
|
+
push_debounce_seconds?: number | undefined;
|
|
183
|
+
conflict_strategy?: "newest-wins" | "local-wins" | "remote-wins" | undefined;
|
|
184
|
+
services?: string[] | undefined;
|
|
185
|
+
table_intervals?: Record<string, Record<string, number>> | undefined;
|
|
186
|
+
file_rules?: {
|
|
187
|
+
path: string;
|
|
188
|
+
enabled?: boolean | undefined;
|
|
189
|
+
interval_seconds?: number | undefined;
|
|
190
|
+
}[] | undefined;
|
|
191
|
+
} | undefined;
|
|
60
192
|
}>;
|
|
61
193
|
export type CloudConfig = z.infer<typeof CloudConfigSchema>;
|
|
194
|
+
export type CloudDaemonConfig = z.infer<typeof DaemonConfigSchema>;
|
|
62
195
|
export declare function getConfigDir(): string;
|
|
63
196
|
export declare function getConfigPath(): string;
|
|
64
197
|
export declare function getCloudConfig(): CloudConfig;
|
|
65
198
|
export declare function saveCloudConfig(config: CloudConfig): void;
|
|
66
199
|
export declare function getConnectionString(dbName: string): string;
|
|
67
|
-
import { type
|
|
200
|
+
import { type MachineAwareDbAdapter } from "./machines.js";
|
|
68
201
|
export interface CreateDatabaseOptions {
|
|
69
202
|
/** Service name — used to locate the SQLite file and PG database. */
|
|
70
203
|
service: string;
|
|
@@ -82,5 +215,6 @@ export interface CreateDatabaseOptions {
|
|
|
82
215
|
* - `cloud` mode → PgAdapter
|
|
83
216
|
* - `hybrid` mode → SqliteAdapter (PG is used only for sync)
|
|
84
217
|
*/
|
|
85
|
-
export declare function createDatabase(options: CreateDatabaseOptions):
|
|
218
|
+
export declare function createDatabase(options: CreateDatabaseOptions): MachineAwareDbAdapter;
|
|
219
|
+
export {};
|
|
86
220
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwBV,CAAC;AAMf,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AASnE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAMD,wBAAgB,cAAc,IAAI,WAAW,CAU5C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAGzD;AAMD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAoB1D;AAQD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,GAC7B,qBAAqB,CAavB"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { DbAdapter } from "./adapter.js";
|
|
2
|
+
import { type CloudConfig, type CloudDaemonConfig } from "./config.js";
|
|
3
|
+
import type { ConflictStrategy } from "./sync-conflicts.js";
|
|
4
|
+
export interface DaemonFileState {
|
|
5
|
+
path: string;
|
|
6
|
+
enabled: boolean;
|
|
7
|
+
interval_seconds: number;
|
|
8
|
+
exists: boolean;
|
|
9
|
+
last_mtime_ms: number;
|
|
10
|
+
}
|
|
11
|
+
export interface DaemonTableState {
|
|
12
|
+
last_push_at: string | null;
|
|
13
|
+
last_pull_at: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface DaemonServiceState {
|
|
16
|
+
last_local_db_mtime_ms: number;
|
|
17
|
+
last_push_at: string | null;
|
|
18
|
+
last_pull_at: string | null;
|
|
19
|
+
last_error: string | null;
|
|
20
|
+
tables: Record<string, DaemonTableState>;
|
|
21
|
+
}
|
|
22
|
+
export interface DaemonState {
|
|
23
|
+
pid: number | null;
|
|
24
|
+
status: "stopped" | "running" | "paused";
|
|
25
|
+
started_at: string | null;
|
|
26
|
+
updated_at: string | null;
|
|
27
|
+
last_push_at: string | null;
|
|
28
|
+
last_pull_at: string | null;
|
|
29
|
+
last_error: string | null;
|
|
30
|
+
services: Record<string, DaemonServiceState>;
|
|
31
|
+
files: Record<string, DaemonFileState>;
|
|
32
|
+
}
|
|
33
|
+
export interface DaemonRunSummary {
|
|
34
|
+
services: string[];
|
|
35
|
+
pushed_services: number;
|
|
36
|
+
pulled_services: number;
|
|
37
|
+
pushed_rows: number;
|
|
38
|
+
pulled_rows: number;
|
|
39
|
+
errors: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface DaemonStatus {
|
|
42
|
+
running: boolean;
|
|
43
|
+
pid: number | null;
|
|
44
|
+
status: "stopped" | "running" | "paused";
|
|
45
|
+
config: CloudDaemonConfig;
|
|
46
|
+
state: DaemonState;
|
|
47
|
+
services: string[];
|
|
48
|
+
}
|
|
49
|
+
export interface TableIntervalRule {
|
|
50
|
+
service: string;
|
|
51
|
+
table: string;
|
|
52
|
+
interval_seconds: number;
|
|
53
|
+
}
|
|
54
|
+
export interface ParsedFileRule {
|
|
55
|
+
path: string;
|
|
56
|
+
interval_seconds: number;
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
}
|
|
59
|
+
export interface DaemonAdapterFactory {
|
|
60
|
+
getLocalDbPath(service: string): string;
|
|
61
|
+
openLocal(service: string): DbAdapter;
|
|
62
|
+
openRemote(service: string): DbAdapter;
|
|
63
|
+
listRemoteTables(remote: DbAdapter): string[];
|
|
64
|
+
}
|
|
65
|
+
export declare const defaultDaemonAdapterFactory: DaemonAdapterFactory;
|
|
66
|
+
export declare function getDefaultDaemonConfig(): CloudDaemonConfig;
|
|
67
|
+
export declare function getDaemonConfig(config?: CloudConfig): CloudDaemonConfig;
|
|
68
|
+
export declare function saveDaemonConfig(config: CloudDaemonConfig): CloudDaemonConfig;
|
|
69
|
+
export declare function getDaemonStatePath(): string;
|
|
70
|
+
export declare function createDefaultDaemonState(): DaemonState;
|
|
71
|
+
export declare function readDaemonState(): DaemonState;
|
|
72
|
+
export declare function writeDaemonState(state: DaemonState): void;
|
|
73
|
+
export declare function resolveDaemonServices(config: CloudDaemonConfig): string[];
|
|
74
|
+
export declare function parseTableIntervalRule(raw: string): TableIntervalRule;
|
|
75
|
+
export declare function applyTableIntervalRules(existing: CloudDaemonConfig["table_intervals"], rules: string[]): CloudDaemonConfig["table_intervals"];
|
|
76
|
+
export declare function parseFileRule(raw: string): ParsedFileRule;
|
|
77
|
+
export declare function applyFileRules(existing: CloudDaemonConfig["file_rules"], rules: string[]): CloudDaemonConfig["file_rules"];
|
|
78
|
+
export declare function runDaemonPass(config: CloudDaemonConfig, state?: DaemonState, options?: {
|
|
79
|
+
adapterFactory?: DaemonAdapterFactory;
|
|
80
|
+
forcePush?: boolean;
|
|
81
|
+
forcePull?: boolean;
|
|
82
|
+
services?: string[];
|
|
83
|
+
}): {
|
|
84
|
+
state: DaemonState;
|
|
85
|
+
summary: DaemonRunSummary;
|
|
86
|
+
};
|
|
87
|
+
export declare function getDaemonStatus(): DaemonStatus;
|
|
88
|
+
export declare function startDaemon(overrides?: Partial<CloudDaemonConfig>): DaemonStatus;
|
|
89
|
+
export declare function stopDaemon(): DaemonStatus;
|
|
90
|
+
export declare function pauseDaemon(): DaemonStatus;
|
|
91
|
+
export declare function resumeDaemon(): DaemonStatus;
|
|
92
|
+
export declare function runDaemonOnce(options?: {
|
|
93
|
+
config?: CloudDaemonConfig;
|
|
94
|
+
state?: DaemonState;
|
|
95
|
+
adapterFactory?: DaemonAdapterFactory;
|
|
96
|
+
forcePush?: boolean;
|
|
97
|
+
forcePull?: boolean;
|
|
98
|
+
services?: string[];
|
|
99
|
+
}): {
|
|
100
|
+
state: DaemonState;
|
|
101
|
+
summary: DaemonRunSummary;
|
|
102
|
+
};
|
|
103
|
+
export declare function runDaemonLoop(options?: {
|
|
104
|
+
adapterFactory?: DaemonAdapterFactory;
|
|
105
|
+
max_passes?: number;
|
|
106
|
+
}): void;
|
|
107
|
+
export declare function normalizeConflictStrategy(strategy: string | undefined): ConflictStrategy;
|
|
108
|
+
//# sourceMappingURL=daemon-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-sync.d.ts","sourceRoot":"","sources":["../src/daemon-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialect.test.d.ts","sourceRoot":"","sources":["../src/dialect.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.test.d.ts","sourceRoot":"","sources":["../src/discover.test.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { SqliteAdapter, PgAdapter, PgAdapterAsync, type DbAdapter, type PreparedStatement, type RunResult, } from "./adapter.js";
|
|
2
2
|
export { translateSql, translateDdl, translateParams, type Dialect, } from "./dialect.js";
|
|
3
|
-
export { getCloudConfig, saveCloudConfig, getConnectionString, createDatabase, getConfigDir, getConfigPath, CloudConfigSchema, type CloudConfig, type CreateDatabaseOptions, } from "./config.js";
|
|
3
|
+
export { getCloudConfig, saveCloudConfig, getConnectionString, createDatabase, getConfigDir, getConfigPath, CloudConfigSchema, type CloudConfig, type CloudDaemonConfig, type CreateDatabaseOptions, } from "./config.js";
|
|
4
|
+
export { getCurrentMachineId, detectCurrentMachine, ensureMachinesTable, getMachineRecord, registerMachine, listMachines, pingMachine, getMachineStatus, ensureMachineIdColumn, createMachineRegistry, createMachineAwareAdapter, type MachineRecord, type RegisterMachineOptions, type MachinePingResult, type MachineRegistryApi, type MachineAwareDbAdapter, } from "./machines.js";
|
|
4
5
|
export { syncPush, syncPull, listSqliteTables, listPgTables, type SyncOptions, type SyncResult, type SyncProgress, type SyncProgressCallback, } from "./sync.js";
|
|
5
6
|
export { saveFeedback, sendFeedback, listFeedback, ensureFeedbackTable, type Feedback, } from "./feedback.js";
|
|
6
7
|
export { migrateDotfile, getDataDir, getDbPath, hasLegacyDotfile, getHasnaDir, } from "./dotfile.js";
|
|
@@ -10,6 +11,7 @@ export { incrementalSyncPush, incrementalSyncPull, ensureSyncMetaTable, getSyncM
|
|
|
10
11
|
export { setupAutoSync, enableAutoSync, getAutoSyncConfig, type AutoSyncConfig, type AutoSyncContext, type AutoSyncResult, } from "./auto-sync.js";
|
|
11
12
|
export { runScheduledSync, discoverSyncableServices, type ScheduledSyncResult, } from "./scheduled-sync.js";
|
|
12
13
|
export { registerSyncSchedule, removeSyncSchedule, getSyncScheduleStatus, parseInterval, minutesToCron, type SyncScheduleStatus, } from "./sync-schedule.js";
|
|
14
|
+
export { getDefaultDaemonConfig, getDaemonConfig, saveDaemonConfig, getDaemonStatePath, createDefaultDaemonState, readDaemonState, writeDaemonState, resolveDaemonServices, parseTableIntervalRule, applyTableIntervalRules, parseFileRule, applyFileRules, runDaemonPass, getDaemonStatus, startDaemon, stopDaemon, pauseDaemon, resumeDaemon, runDaemonOnce, runDaemonLoop, normalizeConflictStrategy, type DaemonState, type DaemonStatus, type DaemonRunSummary, type DaemonServiceState, type DaemonTableState, type DaemonFileState, type TableIntervalRule, type ParsedFileRule, type DaemonAdapterFactory, } from "./daemon-sync.js";
|
|
13
15
|
export { applyPgMigrations, migrateService, migrateAllServices, ensurePgDatabase, ensureAllPgDatabases, type PgMigrationResult, } from "./pg-migrate.js";
|
|
14
16
|
export { discoverServices, discoverSyncableServices as discoverSyncableServicesV2, getServiceDbPath, isSyncExcludedTable, KNOWN_PG_SERVICES, SYNC_EXCLUDED_TABLE_PATTERNS, } from "./discover.js";
|
|
15
17
|
export { registerCloudTools } from "./mcp-helpers.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,SAAS,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,KAAK,OAAO,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,KAAK,QAAQ,GACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,GACZ,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,IAAI,0BAA0B,EACtD,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|