@hasna/cloud 0.1.35 → 0.1.36

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.
Files changed (78) hide show
  1. package/LICENSE +2 -1
  2. package/README.md +30 -27
  3. package/dist/adapter.d.ts +65 -0
  4. package/dist/adapter.d.ts.map +1 -0
  5. package/dist/adapter.test.d.ts +2 -0
  6. package/dist/adapter.test.d.ts.map +1 -0
  7. package/dist/auto-sync.d.ts +28 -0
  8. package/dist/auto-sync.d.ts.map +1 -0
  9. package/dist/cli/cmd-doctor.d.ts +3 -0
  10. package/dist/cli/cmd-doctor.d.ts.map +1 -0
  11. package/dist/cli/cmd-feedback.d.ts +3 -0
  12. package/dist/cli/cmd-feedback.d.ts.map +1 -0
  13. package/dist/cli/cmd-migrate.d.ts +3 -0
  14. package/dist/cli/cmd-migrate.d.ts.map +1 -0
  15. package/dist/cli/cmd-setup.d.ts +3 -0
  16. package/dist/cli/cmd-setup.d.ts.map +1 -0
  17. package/dist/cli/cmd-sync.d.ts +4 -0
  18. package/dist/cli/cmd-sync.d.ts.map +1 -0
  19. package/dist/cli/index.d.ts +3 -0
  20. package/dist/cli/index.d.ts.map +1 -0
  21. package/dist/cli/index.js +15346 -0
  22. package/dist/cli-helpers.d.ts +17 -0
  23. package/dist/cli-helpers.d.ts.map +1 -0
  24. package/dist/config.d.ts +220 -0
  25. package/dist/config.d.ts.map +1 -0
  26. package/dist/daemon-sync.d.ts +108 -0
  27. package/dist/daemon-sync.d.ts.map +1 -0
  28. package/dist/dialect.d.ts +17 -0
  29. package/dist/dialect.d.ts.map +1 -0
  30. package/dist/dialect.test.d.ts +2 -0
  31. package/dist/dialect.test.d.ts.map +1 -0
  32. package/dist/discover.d.ts +35 -0
  33. package/dist/discover.d.ts.map +1 -0
  34. package/dist/discover.test.d.ts +2 -0
  35. package/dist/discover.test.d.ts.map +1 -0
  36. package/dist/dotfile.d.ts +27 -0
  37. package/dist/dotfile.d.ts.map +1 -0
  38. package/dist/feedback.d.ts +32 -0
  39. package/dist/feedback.d.ts.map +1 -0
  40. package/dist/index.d.ts +19 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +12223 -0
  43. package/dist/machines.d.ts +63 -0
  44. package/dist/machines.d.ts.map +1 -0
  45. package/dist/mcp/bin.js +2 -0
  46. package/dist/mcp/http.d.ts +28 -0
  47. package/dist/mcp/http.d.ts.map +1 -0
  48. package/dist/mcp/index.d.ts +4 -0
  49. package/dist/mcp/index.d.ts.map +1 -0
  50. package/dist/mcp/index.js +27795 -0
  51. package/dist/mcp-helpers.d.ts +22 -0
  52. package/dist/mcp-helpers.d.ts.map +1 -0
  53. package/dist/pg-migrate.d.ts +58 -0
  54. package/dist/pg-migrate.d.ts.map +1 -0
  55. package/dist/scheduled-sync.d.ts +24 -0
  56. package/dist/scheduled-sync.d.ts.map +1 -0
  57. package/dist/scheduled-sync.js +9517 -0
  58. package/dist/sync-conflicts.d.ts +76 -0
  59. package/dist/sync-conflicts.d.ts.map +1 -0
  60. package/dist/sync-conflicts.test.d.ts +2 -0
  61. package/dist/sync-conflicts.test.d.ts.map +1 -0
  62. package/dist/sync-incremental.d.ts +67 -0
  63. package/dist/sync-incremental.d.ts.map +1 -0
  64. package/dist/sync-progress.d.ts +68 -0
  65. package/dist/sync-progress.d.ts.map +1 -0
  66. package/dist/sync-schedule.d.ts +36 -0
  67. package/dist/sync-schedule.d.ts.map +1 -0
  68. package/dist/sync-schedule.test.d.ts +2 -0
  69. package/dist/sync-schedule.test.d.ts.map +1 -0
  70. package/dist/sync.d.ts +53 -0
  71. package/dist/sync.d.ts.map +1 -0
  72. package/dist/sync.test.d.ts +2 -0
  73. package/dist/sync.test.d.ts.map +1 -0
  74. package/package.json +26 -15
  75. package/archive/cli.js +0 -4
  76. package/archive/index.d.ts +0 -9
  77. package/archive/index.js +0 -15
  78. package/archive/mcp.js +0 -4
package/LICENSE CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  Apache License
2
3
  Version 2.0, January 2004
3
4
  http://www.apache.org/licenses/
@@ -175,7 +176,7 @@
175
176
 
176
177
  END OF TERMS AND CONDITIONS
177
178
 
178
- Copyright 2024 Hasna
179
+ Copyright 2026 Hasna, Inc.
179
180
 
180
181
  Licensed under the Apache License, Version 2.0 (the "License");
181
182
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -1,34 +1,45 @@
1
1
  # @hasna/cloud
2
2
 
3
- Archived reference for legacy Hasna cloud sync adapters.
3
+ Shared cloud infrastructure database adapter (SQLite + PostgreSQL), sync engine, feedback system, unified dotfile config
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/@hasna/cloud)](https://www.npmjs.com/package/@hasna/cloud)
6
6
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
7
7
 
8
- ## Status
8
+ ## Install
9
9
 
10
- `@hasna/cloud` is no longer a runtime dependency target for `open-[name]`
11
- packages. It is kept as a reference for older SQLite/PostgreSQL sync,
12
- feedback, machine registry, and dotfile migration ideas while open packages
13
- move to repo-native local/remote storage contracts.
14
-
15
- Do not add `@hasna/cloud` to a public `open-[name]` package. New work should
16
- follow the shared boundary:
17
-
18
- - local-first storage lives in the open repo
19
- - optional remote mode is explicit and repo-native
20
- - hosted databases, object storage, secrets, workers, auth, billing, and
21
- deployment live in the matching `platform-[name]` wrapper
10
+ ```bash
11
+ npm install -g @hasna/cloud
12
+ ```
22
13
 
23
- ## Published Stub
14
+ ## CLI Usage
24
15
 
25
16
  ```bash
26
17
  cloud --help
27
18
  ```
28
19
 
29
- The final published package is a stub. The CLI and MCP binaries print a
30
- deprecation message and exit without writing config, creating dotfiles, opening
31
- network connections, or installing runtime dependencies.
20
+ - `cloud setup`
21
+ - `cloud status`
22
+ - `cloud sync push`
23
+ - `cloud sync pull`
24
+ - `cloud sync schedule`
25
+ - `cloud sync daemon --start`
26
+ - `cloud sync daemon --status`
27
+ - `cloud feedback`
28
+ - `cloud migrate`
29
+
30
+ ## SDK
31
+
32
+ `createDatabase()` now returns a machine-aware adapter. On open, it ensures a
33
+ `machines` registry table exists, auto-registers the current host, and tags
34
+ user-table writes with `machine_id`.
35
+
36
+ ```ts
37
+ import { createDatabase } from "@hasna/cloud";
38
+
39
+ const db = createDatabase({ service: "todos" });
40
+ const current = db.machines.currentMachine();
41
+ const allMachines = db.machines.list();
42
+ ```
32
43
 
33
44
  ## MCP Server
34
45
 
@@ -36,15 +47,7 @@ network connections, or installing runtime dependencies.
36
47
  cloud-mcp
37
48
  ```
38
49
 
39
- The MCP binary is also a deprecation stub.
40
-
41
- ## Archive Policy
42
-
43
- This repository is marked `private: true` to prevent accidental npm publishing.
44
- It must not have install-time side effects, default hosted endpoints, or
45
- release automation. Useful implementation details should be copied into
46
- repo-specific local interfaces, docs, or templates before this repository is
47
- removed from active maintenance.
50
+ 4 tools available.
48
51
 
49
52
  ## License
50
53
 
@@ -0,0 +1,65 @@
1
+ import { Database } from "bun:sqlite";
2
+ import pg from "pg";
3
+ export interface RunResult {
4
+ changes: number;
5
+ lastInsertRowid: number | bigint;
6
+ }
7
+ export interface PreparedStatement {
8
+ run(...params: any[]): RunResult;
9
+ get(...params: any[]): any;
10
+ all(...params: any[]): any[];
11
+ finalize(): void;
12
+ }
13
+ export interface DbAdapter {
14
+ run(sql: string, ...params: any[]): RunResult;
15
+ get(sql: string, ...params: any[]): any;
16
+ all(sql: string, ...params: any[]): any[];
17
+ exec(sql: string): void;
18
+ prepare(sql: string): PreparedStatement;
19
+ close(): void;
20
+ transaction<T>(fn: () => T): T;
21
+ }
22
+ export declare class SqliteAdapter implements DbAdapter {
23
+ private db;
24
+ constructor(path: string);
25
+ run(sql: string, ...params: any[]): RunResult;
26
+ get(sql: string, ...params: any[]): any;
27
+ all(sql: string, ...params: any[]): any[];
28
+ exec(sql: string): void;
29
+ /** Passthrough to bun:sqlite's .query() for compatibility with code that uses db.query() */
30
+ query(sql: string): import("bun:sqlite").Statement<unknown, import("bun:sqlite").SQLQueryBindings[] | [null] | [string] | [number] | [bigint] | [false] | [true] | [Uint8Array<ArrayBufferLike>] | [Uint8ClampedArray<ArrayBufferLike>] | [Uint16Array<ArrayBufferLike>] | [Uint32Array<ArrayBufferLike>] | [Int8Array<ArrayBufferLike>] | [Int16Array<ArrayBufferLike>] | [Int32Array<ArrayBufferLike>] | [BigUint64Array<ArrayBufferLike>] | [BigInt64Array<ArrayBufferLike>] | [Float16Array<ArrayBufferLike>] | [Float32Array<ArrayBufferLike>] | [Float64Array<ArrayBufferLike>] | [Record<string, string | number | bigint | boolean | NodeJS.TypedArray<ArrayBufferLike> | null>]>;
31
+ prepare(sql: string): PreparedStatement;
32
+ close(): void;
33
+ transaction<T>(fn: () => T): T;
34
+ /** Expose the underlying bun:sqlite Database for advanced usage. */
35
+ get raw(): Database;
36
+ }
37
+ export declare class PgAdapter implements DbAdapter {
38
+ private pool;
39
+ private _client;
40
+ constructor(connectionString: string);
41
+ constructor(pool: pg.Pool);
42
+ private runSync;
43
+ run(sql: string, ...params: any[]): RunResult;
44
+ get(sql: string, ...params: any[]): any;
45
+ all(sql: string, ...params: any[]): any[];
46
+ exec(sql: string): void;
47
+ prepare(sql: string): PreparedStatement;
48
+ close(): void;
49
+ transaction<T>(fn: () => T): T;
50
+ /** Expose the underlying pg Pool for advanced usage. */
51
+ get raw(): pg.Pool;
52
+ }
53
+ export declare class PgAdapterAsync {
54
+ private pool;
55
+ constructor(connectionString: string);
56
+ constructor(pool: pg.Pool);
57
+ run(sql: string, ...params: any[]): Promise<RunResult>;
58
+ get(sql: string, ...params: any[]): Promise<any>;
59
+ all(sql: string, ...params: any[]): Promise<any[]>;
60
+ exec(sql: string): Promise<void>;
61
+ close(): Promise<void>;
62
+ transaction<T>(fn: (client: pg.PoolClient) => Promise<T>): Promise<T>;
63
+ get raw(): pg.Pool;
64
+ }
65
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=adapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.test.d.ts","sourceRoot":"","sources":["../src/adapter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import type { DbAdapter } from "./adapter.js";
2
+ import { PgAdapterAsync } from "./adapter.js";
3
+ export interface AutoSyncConfig {
4
+ auto_sync_on_start: boolean;
5
+ auto_sync_on_stop: boolean;
6
+ }
7
+ export interface AutoSyncContext {
8
+ serviceName: string;
9
+ local: DbAdapter;
10
+ tables: string[];
11
+ config: AutoSyncConfig;
12
+ }
13
+ export interface AutoSyncResult {
14
+ event: "start" | "stop";
15
+ direction: "pull" | "push";
16
+ success: boolean;
17
+ tables_synced: number;
18
+ total_rows_synced: number;
19
+ errors: string[];
20
+ }
21
+ export declare function getAutoSyncConfig(): AutoSyncConfig;
22
+ export declare function setupAutoSync(serviceName: string, server: any, local: DbAdapter, remote: DbAdapter | PgAdapterAsync, tables: string[]): {
23
+ syncOnStart: () => Promise<AutoSyncResult | null>;
24
+ syncOnStop: () => Promise<AutoSyncResult | null>;
25
+ config: AutoSyncConfig;
26
+ };
27
+ export declare function enableAutoSync(serviceName: string, mcpServer: any, local: DbAdapter, remote: DbAdapter | PgAdapterAsync, tables: string[]): void;
28
+ //# sourceMappingURL=auto-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-sync.d.ts","sourceRoot":"","sources":["../src/auto-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAS9C,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAaD,wBAAgB,iBAAiB,IAAI,cAAc,CAmBlD;AAiGD,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAAG,cAAc,EAClC,MAAM,EAAE,MAAM,EAAE,GACf;IACD,WAAW,EAAE,MAAM,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,UAAU,EAAE,MAAM,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACjD,MAAM,EAAE,cAAc,CAAC;CACxB,CA8CA;AAMD,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,GAAG,EACd,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAAG,cAAc,EAClC,MAAM,EAAE,MAAM,EAAE,GACf,IAAI,CAEN"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerDoctorCommand(program: Command): void;
3
+ //# sourceMappingURL=cmd-doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd-doctor.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6F5D"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerFeedbackCommand(program: Command): void;
3
+ //# sourceMappingURL=cmd-feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd-feedback.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+B9D"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerMigrateCommands(program: Command): void;
3
+ //# sourceMappingURL=cmd-migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd-migrate.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAG9D"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerSetupCommand(program: Command): void;
3
+ //# sourceMappingURL=cmd-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd-setup.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsH3D"}
@@ -0,0 +1,4 @@
1
+ import { type Command } from "commander";
2
+ export declare function logSync(direction: string, service: string, rows: number, errors: number): void;
3
+ export declare function registerSyncCommands(syncCmd: Command): void;
4
+ //# sourceMappingURL=cmd-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd-sync.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAyCjD,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAS9F;AAMD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ3D"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}