@hasna/cloud 0.1.31 → 0.1.32
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/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 +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { DbAdapter } from "./adapter.js";
|
|
2
|
+
export interface MachineRecord {
|
|
3
|
+
id: string;
|
|
4
|
+
ssh_address: string;
|
|
5
|
+
arch: string;
|
|
6
|
+
workspace_path: string;
|
|
7
|
+
bun_path: string;
|
|
8
|
+
is_primary: number;
|
|
9
|
+
last_seen_at: string | null;
|
|
10
|
+
registered_at: string | null;
|
|
11
|
+
archived: number;
|
|
12
|
+
}
|
|
13
|
+
export interface RegisterMachineOptions {
|
|
14
|
+
id?: string;
|
|
15
|
+
ssh_address?: string;
|
|
16
|
+
arch?: string;
|
|
17
|
+
workspace_path?: string;
|
|
18
|
+
bun_path?: string;
|
|
19
|
+
is_primary?: boolean | number;
|
|
20
|
+
archived?: boolean | number;
|
|
21
|
+
last_seen_at?: string;
|
|
22
|
+
registered_at?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface MachinePingResult {
|
|
25
|
+
id: string;
|
|
26
|
+
online: boolean;
|
|
27
|
+
error?: string;
|
|
28
|
+
checked_at: string;
|
|
29
|
+
latency_ms: number;
|
|
30
|
+
}
|
|
31
|
+
export interface MachineRegistryApi {
|
|
32
|
+
register(opts?: RegisterMachineOptions): MachineRecord;
|
|
33
|
+
list(opts?: {
|
|
34
|
+
includeArchived?: boolean;
|
|
35
|
+
}): MachineRecord[];
|
|
36
|
+
ping(machine?: string | MachineRecord): MachinePingResult;
|
|
37
|
+
status(opts?: {
|
|
38
|
+
includeArchived?: boolean;
|
|
39
|
+
}): MachinePingResult[];
|
|
40
|
+
currentMachine(): MachineRecord;
|
|
41
|
+
}
|
|
42
|
+
export interface MachineAwareDbAdapter extends DbAdapter {
|
|
43
|
+
readonly machine_id: string;
|
|
44
|
+
readonly machines: MachineRegistryApi;
|
|
45
|
+
readonly raw?: unknown;
|
|
46
|
+
query?: (sql: string) => any;
|
|
47
|
+
}
|
|
48
|
+
export declare function getCurrentMachineId(): string;
|
|
49
|
+
export declare function detectCurrentMachine(opts?: RegisterMachineOptions): RegisterMachineOptions;
|
|
50
|
+
export declare function ensureMachinesTable(db: DbAdapter): void;
|
|
51
|
+
export declare function getMachineRecord(db: DbAdapter, id: string): MachineRecord | null;
|
|
52
|
+
export declare function registerMachine(db: DbAdapter, opts?: RegisterMachineOptions): MachineRecord;
|
|
53
|
+
export declare function listMachines(db: DbAdapter, opts?: {
|
|
54
|
+
includeArchived?: boolean;
|
|
55
|
+
}): MachineRecord[];
|
|
56
|
+
export declare function pingMachine(machine: string | MachineRecord): MachinePingResult;
|
|
57
|
+
export declare function getMachineStatus(db: DbAdapter, opts?: {
|
|
58
|
+
includeArchived?: boolean;
|
|
59
|
+
}): MachinePingResult[];
|
|
60
|
+
export declare function ensureMachineIdColumn(db: DbAdapter, table: string): boolean;
|
|
61
|
+
export declare function createMachineRegistry(db: DbAdapter, machineId?: string): MachineRegistryApi;
|
|
62
|
+
export declare function createMachineAwareAdapter(db: DbAdapter): MachineAwareDbAdapter;
|
|
63
|
+
//# sourceMappingURL=machines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../src/machines.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type IncomingMessage, type ServerResponse } from "node:http";
|
|
2
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
export declare const DEFAULT_MCP_HTTP_PORT = 8804;
|
|
4
|
+
export declare const MCP_SERVICE_NAME = "cloud";
|
|
5
|
+
export declare function resolveMcpHttpPort(explicit?: number): number;
|
|
6
|
+
export declare function isHttpMode(argv?: string[]): boolean;
|
|
7
|
+
export declare function parseHttpArgv(argv?: string[]): {
|
|
8
|
+
http: boolean;
|
|
9
|
+
port?: number;
|
|
10
|
+
};
|
|
11
|
+
export declare function handleStatelessMcpNode(req: IncomingMessage, res: ServerResponse, getServer?: () => McpServer | Promise<McpServer>): Promise<void>;
|
|
12
|
+
export declare function healthPayload(name?: string): {
|
|
13
|
+
status: string;
|
|
14
|
+
name: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function startMcpHttpServer(options?: {
|
|
17
|
+
port?: number;
|
|
18
|
+
getServer?: () => McpServer | Promise<McpServer>;
|
|
19
|
+
name?: string;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
port: number;
|
|
22
|
+
close: () => Promise<void>;
|
|
23
|
+
}>;
|
|
24
|
+
export declare function runMcpHttpServer(options?: {
|
|
25
|
+
port?: number;
|
|
26
|
+
}): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/mcp/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAEjE;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAQ7F;AAUD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,SAAS,GAAE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAe,GAC5D,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAyB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAE/F;AAED,wBAAsB,kBAAkB,CAAC,OAAO,GAAE;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;CACV,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAuC7D;AAED,wBAAsB,gBAAgB,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIrF"}
|
package/dist/mcp/index.d.ts
CHANGED
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAcpE,wBAAgB,WAAW,IAAI,SAAS,CAwVvC"}
|