@hasna/configs 0.1.0

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 (58) hide show
  1. package/README.md +264 -0
  2. package/dashboard/dist/assets/index-DQ3P1g1z.css +1 -0
  3. package/dashboard/dist/assets/index-DbXmAL_d.js +11 -0
  4. package/dashboard/dist/index.html +14 -0
  5. package/dashboard/dist/vite.svg +1 -0
  6. package/dist/cli/index.d.ts +3 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +3087 -0
  9. package/dist/db/configs.d.ts +10 -0
  10. package/dist/db/configs.d.ts.map +1 -0
  11. package/dist/db/configs.test.d.ts +2 -0
  12. package/dist/db/configs.test.d.ts.map +1 -0
  13. package/dist/db/database.d.ts +7 -0
  14. package/dist/db/database.d.ts.map +1 -0
  15. package/dist/db/machines.d.ts +8 -0
  16. package/dist/db/machines.d.ts.map +1 -0
  17. package/dist/db/machines.test.d.ts +2 -0
  18. package/dist/db/machines.test.d.ts.map +1 -0
  19. package/dist/db/profiles.d.ts +11 -0
  20. package/dist/db/profiles.d.ts.map +1 -0
  21. package/dist/db/profiles.test.d.ts +2 -0
  22. package/dist/db/profiles.test.d.ts.map +1 -0
  23. package/dist/db/snapshots.d.ts +8 -0
  24. package/dist/db/snapshots.d.ts.map +1 -0
  25. package/dist/db/snapshots.test.d.ts +2 -0
  26. package/dist/db/snapshots.test.d.ts.map +1 -0
  27. package/dist/index.d.ts +17 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +896 -0
  30. package/dist/lib/apply.d.ts +11 -0
  31. package/dist/lib/apply.d.ts.map +1 -0
  32. package/dist/lib/apply.test.d.ts +2 -0
  33. package/dist/lib/apply.test.d.ts.map +1 -0
  34. package/dist/lib/export.d.ts +12 -0
  35. package/dist/lib/export.d.ts.map +1 -0
  36. package/dist/lib/import.d.ts +14 -0
  37. package/dist/lib/import.d.ts.map +1 -0
  38. package/dist/lib/sync.d.ts +19 -0
  39. package/dist/lib/sync.d.ts.map +1 -0
  40. package/dist/lib/sync.test.d.ts +2 -0
  41. package/dist/lib/sync.test.d.ts.map +1 -0
  42. package/dist/lib/template.d.ts +10 -0
  43. package/dist/lib/template.d.ts.map +1 -0
  44. package/dist/lib/template.test.d.ts +2 -0
  45. package/dist/lib/template.test.d.ts.map +1 -0
  46. package/dist/mcp/index.d.ts +3 -0
  47. package/dist/mcp/index.d.ts.map +1 -0
  48. package/dist/mcp/index.js +662 -0
  49. package/dist/mcp/mcp.test.d.ts +2 -0
  50. package/dist/mcp/mcp.test.d.ts.map +1 -0
  51. package/dist/server/index.d.ts +7 -0
  52. package/dist/server/index.d.ts.map +1 -0
  53. package/dist/server/index.js +2390 -0
  54. package/dist/server/server.test.d.ts +2 -0
  55. package/dist/server/server.test.d.ts.map +1 -0
  56. package/dist/types/index.d.ts +152 -0
  57. package/dist/types/index.d.ts.map +1 -0
  58. package/package.json +78 -0
@@ -0,0 +1,10 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Config, ConfigFilter, CreateConfigInput, UpdateConfigInput } from "../types/index.js";
3
+ export declare function createConfig(input: CreateConfigInput, db?: Database): Config;
4
+ export declare function getConfig(idOrSlug: string, db?: Database): Config;
5
+ export declare function getConfigById(id: string, db?: Database): Config;
6
+ export declare function listConfigs(filter?: ConfigFilter, db?: Database): Config[];
7
+ export declare function updateConfig(idOrSlug: string, input: UpdateConfigInput, db?: Database): Config;
8
+ export declare function deleteConfig(idOrSlug: string, db?: Database): void;
9
+ export declare function getConfigStats(db?: Database): Record<string, number>;
10
+ //# sourceMappingURL=configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../src/db/configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EAEZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AA6B3B,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CA6B5E;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CASjE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAO/D;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,CAsC1E;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CA2BR;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAIlE;AAED,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAapE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=configs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.test.d.ts","sourceRoot":"","sources":["../../src/db/configs.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Database } from "bun:sqlite";
2
+ export declare function uuid(): string;
3
+ export declare function now(): string;
4
+ export declare function slugify(name: string): string;
5
+ export declare function getDatabase(path?: string): Database;
6
+ export declare function resetDatabase(): void;
7
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAqBtC,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5C;AAiED,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAUnD;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
@@ -0,0 +1,8 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Machine } from "../types/index.js";
3
+ export declare function currentHostname(): string;
4
+ export declare function currentOs(): string;
5
+ export declare function registerMachine(hostnameStr?: string, os?: string, db?: Database): Machine;
6
+ export declare function updateMachineApplied(hostnameStr?: string, db?: Database): void;
7
+ export declare function listMachines(db?: Database): Machine[];
8
+ //# sourceMappingURL=machines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/db/machines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,eAAe,CAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,EAAE,CAAC,EAAE,MAAM,EACX,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAeT;AAED,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAI9E;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAKrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=machines.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machines.test.d.ts","sourceRoot":"","sources":["../../src/db/machines.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Config, CreateProfileInput, Profile, UpdateProfileInput } from "../types/index.js";
3
+ export declare function createProfile(input: CreateProfileInput, db?: Database): Profile;
4
+ export declare function getProfile(idOrSlug: string, db?: Database): Profile;
5
+ export declare function listProfiles(db?: Database): Profile[];
6
+ export declare function updateProfile(idOrSlug: string, input: UpdateProfileInput, db?: Database): Profile;
7
+ export declare function deleteProfile(idOrSlug: string, db?: Database): void;
8
+ export declare function addConfigToProfile(profileIdOrSlug: string, configId: string, db?: Database): void;
9
+ export declare function removeConfigFromProfile(profileIdOrSlug: string, configId: string, db?: Database): void;
10
+ export declare function getProfileConfigs(profileIdOrSlug: string, db?: Database): Config[];
11
+ //# sourceMappingURL=profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/db/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,OAAO,EAEP,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAsB3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAU/E;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CASnE;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAMrD;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,kBAAkB,EACzB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAkBT;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAInE;AAED,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAaN;AAED,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAON;AAED,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,CAWlF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=profiles.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.test.d.ts","sourceRoot":"","sources":["../../src/db/profiles.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { ConfigSnapshot } from "../types/index.js";
3
+ export declare function createSnapshot(configId: string, content: string, version: number, db?: Database): ConfigSnapshot;
4
+ export declare function listSnapshots(configId: string, db?: Database): ConfigSnapshot[];
5
+ export declare function getSnapshot(id: string, db?: Database): ConfigSnapshot | null;
6
+ export declare function getSnapshotByVersion(configId: string, version: number, db?: Database): ConfigSnapshot | null;
7
+ export declare function pruneSnapshots(configId: string, keep?: number, db?: Database): number;
8
+ //# sourceMappingURL=snapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/db/snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,QAAQ,GACZ,cAAc,CAShB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,EAAE,CAO/E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,IAAI,CAO5E;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,QAAQ,GACZ,cAAc,GAAG,IAAI,CAOvB;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAK,EACT,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CASR"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=snapshots.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshots.test.d.ts","sourceRoot":"","sources":["../../src/db/snapshots.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ export * from "./types/index.js";
2
+ export { createConfig, getConfig, getConfigById, listConfigs, updateConfig, deleteConfig, getConfigStats } from "./db/configs.js";
3
+ export { createSnapshot, listSnapshots, getSnapshot, getSnapshotByVersion, pruneSnapshots } from "./db/snapshots.js";
4
+ export { createProfile, getProfile, listProfiles, updateProfile, deleteProfile, addConfigToProfile, removeConfigFromProfile, getProfileConfigs } from "./db/profiles.js";
5
+ export { registerMachine, updateMachineApplied, listMachines, currentHostname, currentOs } from "./db/machines.js";
6
+ export { getDatabase, resetDatabase, uuid, now, slugify } from "./db/database.js";
7
+ export { applyConfig, applyConfigs, expandPath } from "./lib/apply.js";
8
+ export type { ApplyOptions } from "./lib/apply.js";
9
+ export { syncFromDir, syncToDir, diffConfig, detectCategory, detectAgent, detectFormat } from "./lib/sync.js";
10
+ export type { SyncFromDirOptions, SyncToDirOptions } from "./lib/sync.js";
11
+ export { exportConfigs } from "./lib/export.js";
12
+ export { importConfigs } from "./lib/import.js";
13
+ export type { ExportOptions } from "./lib/export.js";
14
+ export type { ImportOptions, ImportResult } from "./lib/import.js";
15
+ export { parseTemplateVars, extractTemplateVars, renderTemplate, isTemplate } from "./lib/template.js";
16
+ export type { TemplateVar } from "./lib/template.js";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGlI,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGrH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGzK,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGnH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9G,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvG,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}