@camstack/core 0.1.13 → 0.1.15

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 (161) hide show
  1. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +220 -0
  2. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js.map +1 -0
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +9 -0
  4. package/dist/builtins/addon-pages-aggregator/index.js +222 -0
  5. package/dist/builtins/addon-pages-aggregator/index.js.map +1 -0
  6. package/dist/builtins/addon-pages-aggregator/index.mjs +9 -0
  7. package/dist/builtins/addon-pages-aggregator/index.mjs.map +1 -0
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +200 -0
  9. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js.map +1 -0
  10. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +9 -0
  11. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs.map +1 -0
  12. package/dist/builtins/addon-widgets-aggregator/index.js +202 -0
  13. package/dist/builtins/addon-widgets-aggregator/index.js.map +1 -0
  14. package/dist/builtins/addon-widgets-aggregator/index.mjs +9 -0
  15. package/dist/builtins/addon-widgets-aggregator/index.mjs.map +1 -0
  16. package/dist/builtins/alerts/alerts.addon.js +443 -0
  17. package/dist/builtins/alerts/alerts.addon.js.map +1 -0
  18. package/dist/builtins/alerts/alerts.addon.mjs +9 -0
  19. package/dist/builtins/alerts/alerts.addon.mjs.map +1 -0
  20. package/dist/builtins/alerts/index.js +443 -0
  21. package/dist/builtins/alerts/index.js.map +1 -0
  22. package/dist/builtins/alerts/index.mjs +8 -0
  23. package/dist/builtins/alerts/index.mjs.map +1 -0
  24. package/dist/builtins/console-logging/index.js +242 -0
  25. package/dist/builtins/console-logging/index.js.map +1 -0
  26. package/dist/builtins/console-logging/index.mjs +11 -0
  27. package/dist/builtins/console-logging/index.mjs.map +1 -0
  28. package/dist/builtins/device-manager/device-manager.addon.js +2155 -0
  29. package/dist/builtins/device-manager/device-manager.addon.js.map +1 -0
  30. package/dist/builtins/device-manager/device-manager.addon.mjs +9 -0
  31. package/dist/builtins/device-manager/device-manager.addon.mjs.map +1 -0
  32. package/dist/builtins/device-manager/index.js +2157 -0
  33. package/dist/builtins/device-manager/index.js.map +1 -0
  34. package/dist/builtins/device-manager/index.mjs +10 -0
  35. package/dist/builtins/device-manager/index.mjs.map +1 -0
  36. package/dist/builtins/hub-forwarder/index.js +297 -0
  37. package/dist/builtins/hub-forwarder/index.js.map +1 -0
  38. package/dist/builtins/hub-forwarder/index.mjs +11 -0
  39. package/dist/builtins/hub-forwarder/index.mjs.map +1 -0
  40. package/dist/builtins/local-auth/index.js +623 -0
  41. package/dist/builtins/local-auth/index.js.map +1 -0
  42. package/dist/builtins/local-auth/index.mjs +8 -0
  43. package/dist/builtins/local-auth/index.mjs.map +1 -0
  44. package/dist/builtins/local-auth/local-auth.addon.js +623 -0
  45. package/dist/builtins/local-auth/local-auth.addon.js.map +1 -0
  46. package/dist/builtins/local-auth/local-auth.addon.mjs +9 -0
  47. package/dist/builtins/local-auth/local-auth.addon.mjs.map +1 -0
  48. package/dist/builtins/local-backup/index.js +53 -68
  49. package/dist/builtins/local-backup/index.js.map +1 -1
  50. package/dist/builtins/local-backup/index.mjs +1 -1
  51. package/dist/builtins/native-metrics/native-metrics.addon.js +898 -0
  52. package/dist/builtins/native-metrics/native-metrics.addon.js.map +1 -0
  53. package/dist/builtins/native-metrics/native-metrics.addon.mjs +7 -0
  54. package/dist/builtins/native-metrics/native-metrics.addon.mjs.map +1 -0
  55. package/dist/builtins/snapshot/index.js +504 -0
  56. package/dist/builtins/snapshot/index.js.map +1 -0
  57. package/dist/builtins/snapshot/index.mjs +477 -0
  58. package/dist/builtins/snapshot/index.mjs.map +1 -0
  59. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +16 -166
  60. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js.map +1 -1
  61. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  62. package/dist/builtins/sqlite-storage/index.js +554 -621
  63. package/dist/builtins/sqlite-storage/index.js.map +1 -1
  64. package/dist/builtins/sqlite-storage/index.mjs +9 -11
  65. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +368 -130
  66. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js.map +1 -1
  67. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
  68. package/dist/builtins/system-config/index.js +189 -0
  69. package/dist/builtins/system-config/index.js.map +1 -0
  70. package/dist/builtins/system-config/index.mjs +10 -0
  71. package/dist/builtins/system-config/index.mjs.map +1 -0
  72. package/dist/builtins/system-config/system-config.addon.js +187 -0
  73. package/dist/builtins/system-config/system-config.addon.js.map +1 -0
  74. package/dist/builtins/system-config/system-config.addon.mjs +9 -0
  75. package/dist/builtins/system-config/system-config.addon.mjs.map +1 -0
  76. package/dist/builtins/winston-logging/index.js +185 -65
  77. package/dist/builtins/winston-logging/index.js.map +1 -1
  78. package/dist/builtins/winston-logging/index.mjs +2 -1
  79. package/dist/chunk-2CIYKDRN.mjs +1 -0
  80. package/dist/chunk-2CIYKDRN.mjs.map +1 -0
  81. package/dist/chunk-2F76X6NL.mjs +136 -0
  82. package/dist/chunk-2F76X6NL.mjs.map +1 -0
  83. package/dist/chunk-2QUFBZ7M.mjs +1 -0
  84. package/dist/chunk-2QUFBZ7M.mjs.map +1 -0
  85. package/dist/chunk-3BK2Y7GY.mjs +593 -0
  86. package/dist/chunk-3BK2Y7GY.mjs.map +1 -0
  87. package/dist/chunk-4OOHFJHT.mjs +421 -0
  88. package/dist/chunk-4OOHFJHT.mjs.map +1 -0
  89. package/dist/chunk-4XHB7IHT.mjs +809 -0
  90. package/dist/chunk-4XHB7IHT.mjs.map +1 -0
  91. package/dist/{chunk-2F3XZYRW.mjs → chunk-6M2HSSTQ.mjs} +16 -7
  92. package/dist/chunk-6M2HSSTQ.mjs.map +1 -0
  93. package/dist/{chunk-SO4LROOT.mjs → chunk-7FI7SQS7.mjs} +54 -69
  94. package/dist/chunk-7FI7SQS7.mjs.map +1 -0
  95. package/dist/chunk-ED57RCQE.mjs +171 -0
  96. package/dist/chunk-ED57RCQE.mjs.map +1 -0
  97. package/dist/chunk-FZN56HGQ.mjs +626 -0
  98. package/dist/chunk-FZN56HGQ.mjs.map +1 -0
  99. package/dist/chunk-GL4OOB25.mjs +51 -0
  100. package/dist/chunk-GL4OOB25.mjs.map +1 -0
  101. package/dist/chunk-KDG2NTDB.mjs +137 -0
  102. package/dist/chunk-KDG2NTDB.mjs.map +1 -0
  103. package/dist/chunk-NRBQWBDM.mjs +191 -0
  104. package/dist/chunk-NRBQWBDM.mjs.map +1 -0
  105. package/dist/chunk-O4V246GG.mjs +2137 -0
  106. package/dist/chunk-O4V246GG.mjs.map +1 -0
  107. package/dist/chunk-QT57H266.mjs +163 -0
  108. package/dist/chunk-QT57H266.mjs.map +1 -0
  109. package/dist/chunk-QX4RH25I.mjs +141 -0
  110. package/dist/chunk-QX4RH25I.mjs.map +1 -0
  111. package/dist/chunk-TB562PZX.mjs +86 -0
  112. package/dist/chunk-TB562PZX.mjs.map +1 -0
  113. package/dist/chunk-TDYPZXK5.mjs +1 -0
  114. package/dist/chunk-TDYPZXK5.mjs.map +1 -0
  115. package/dist/chunk-UJI4LN5P.mjs +36 -0
  116. package/dist/chunk-UJI4LN5P.mjs.map +1 -0
  117. package/dist/chunk-W6RTHQGP.mjs +1 -0
  118. package/dist/chunk-W6RTHQGP.mjs.map +1 -0
  119. package/dist/chunk-ZELBCPDC.mjs +369 -0
  120. package/dist/chunk-ZELBCPDC.mjs.map +1 -0
  121. package/dist/index.d.mts +1103 -544
  122. package/dist/index.d.ts +1103 -544
  123. package/dist/index.js +7032 -6033
  124. package/dist/index.js.map +1 -1
  125. package/dist/index.mjs +568 -2226
  126. package/dist/index.mjs.map +1 -1
  127. package/dist/resource-monitor-UZUGPIAU.mjs +9 -0
  128. package/dist/resource-monitor-UZUGPIAU.mjs.map +1 -0
  129. package/dist/storage-location-manager-HFNB3PCS.mjs +7 -0
  130. package/dist/storage-location-manager-HFNB3PCS.mjs.map +1 -0
  131. package/package.json +123 -2
  132. package/dist/builtins/local-backup/index.d.mts +0 -42
  133. package/dist/builtins/local-backup/index.d.ts +0 -42
  134. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.mts +0 -2
  135. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +0 -2
  136. package/dist/builtins/sqlite-storage/index.d.mts +0 -4
  137. package/dist/builtins/sqlite-storage/index.d.ts +0 -4
  138. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.mts +0 -2
  139. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +0 -2
  140. package/dist/builtins/winston-logging/index.d.mts +0 -30
  141. package/dist/builtins/winston-logging/index.d.ts +0 -30
  142. package/dist/chunk-2F3XZYRW.mjs.map +0 -1
  143. package/dist/chunk-LQFPAEQF.mjs +0 -147
  144. package/dist/chunk-LQFPAEQF.mjs.map +0 -1
  145. package/dist/chunk-R3DIIBBX.mjs +0 -532
  146. package/dist/chunk-R3DIIBBX.mjs.map +0 -1
  147. package/dist/chunk-SMNR44VG.mjs +0 -386
  148. package/dist/chunk-SMNR44VG.mjs.map +0 -1
  149. package/dist/chunk-SO4LROOT.mjs.map +0 -1
  150. package/dist/chunk-SPA4JBKN.mjs +0 -175
  151. package/dist/chunk-SPA4JBKN.mjs.map +0 -1
  152. package/dist/dist-3BY63UQ5.mjs +0 -2151
  153. package/dist/dist-3BY63UQ5.mjs.map +0 -1
  154. package/dist/filesystem-storage.addon-C42r589X.d.mts +0 -57
  155. package/dist/filesystem-storage.addon-C42r589X.d.ts +0 -57
  156. package/dist/sql-schema-CKz78rId.d.mts +0 -97
  157. package/dist/sql-schema-CKz78rId.d.ts +0 -97
  158. package/dist/sqlite-settings.addon-KwG-uKMP.d.mts +0 -79
  159. package/dist/sqlite-settings.addon-KwG-uKMP.d.ts +0 -79
  160. package/dist/storage-location-manager-KKDQNAKA.mjs +0 -7
  161. /package/dist/{storage-location-manager-KKDQNAKA.mjs.map → builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs.map} +0 -0
@@ -1,97 +0,0 @@
1
- import { IFileStorage, StorageLocationName, IStorageLocation, ICamstackAddon, IConfigurable, AddonManifest, AddonContext, CapabilityProviderMap, ConfigUISchema } from '@camstack/types';
2
-
3
- declare class FileSystemStorage implements IFileStorage {
4
- private readonly basePath;
5
- constructor(basePath: string);
6
- readFile(filePath: string): Promise<Buffer>;
7
- writeFile(filePath: string, data: Buffer): Promise<void>;
8
- deleteFile(filePath: string): Promise<void>;
9
- listFiles(prefix?: string): Promise<readonly string[]>;
10
- getFileUrl(_path: string): Promise<string>;
11
- exists(filePath: string): Promise<boolean>;
12
- }
13
- /** @deprecated Use FilesystemStorageProvider + SqliteSettingsBackend instead */
14
- declare class SqliteStorageProvider {
15
- private mainDb;
16
- private sharedStructured;
17
- private readonly locations;
18
- initialize(): Promise<void>;
19
- /**
20
- * Configure all storage locations.
21
- * ONE single SQLite database (camstack.db) is used for ALL structured storage.
22
- * File-based locations use the filesystem at their configured path.
23
- */
24
- configure(config: {
25
- locations: Record<string, string>;
26
- }): Promise<void>;
27
- getLocation(name: StorageLocationName): IStorageLocation;
28
- shutdown(): Promise<void>;
29
- export(_locationName: StorageLocationName): Promise<Buffer>;
30
- import(_locationName: StorageLocationName, _data: Buffer): Promise<void>;
31
- }
32
-
33
- declare class SqliteStorageAddon implements ICamstackAddon, IConfigurable {
34
- readonly manifest: AddonManifest;
35
- private provider;
36
- initialize(context: AddonContext): Promise<void>;
37
- shutdown(): Promise<void>;
38
- getProvider(): SqliteStorageProvider;
39
- getCapabilityProvider<K extends keyof CapabilityProviderMap>(name: K): CapabilityProviderMap[K] | null;
40
- getConfigSchema(): ConfigUISchema;
41
- getConfig(): Record<string, unknown>;
42
- onConfigChange(_config: Record<string, unknown>): Promise<void>;
43
- }
44
-
45
- /**
46
- * Thin wrapper over better-sqlite3 that manages the four settings tables:
47
- * system_settings, addon_settings, provider_settings, device_settings.
48
- *
49
- * All values are stored as JSON text and deserialized on read.
50
- */
51
- declare class SettingsStore {
52
- private readonly db;
53
- constructor(dbPath: string);
54
- getSystem(key: string): unknown;
55
- setSystem(key: string, value: unknown): void;
56
- getAllSystem(): Record<string, unknown>;
57
- getAddon(addonId: string, key: string): unknown;
58
- setAddon(addonId: string, key: string, value: unknown): void;
59
- getAllAddon(addonId: string): Record<string, unknown>;
60
- /** Bulk-replace all keys for an addon (within a transaction). */
61
- setAllAddon(addonId: string, config: Record<string, unknown>): void;
62
- getProvider(providerId: string, key: string): unknown;
63
- setProvider(providerId: string, key: string, value: unknown): void;
64
- getAllProvider(providerId: string): Record<string, unknown>;
65
- getDevice(deviceId: string, key: string): unknown;
66
- setDevice(deviceId: string, key: string, value: unknown): void;
67
- getAllDevice(deviceId: string): Record<string, unknown>;
68
- /** Close the SQLite connection (call on shutdown). */
69
- close(): void;
70
- /** Check if system_settings is empty (used for first-boot seeding). */
71
- isSystemSettingsEmpty(): boolean;
72
- /** Seed system_settings with RUNTIME_DEFAULTS (only on first boot). */
73
- seedDefaults(): void;
74
- private initTables;
75
- }
76
-
77
- /** Core table DDL statements -- executed on first boot */
78
- declare const CORE_TABLE_DDL: readonly string[];
79
- /** Addon table schema declaration */
80
- interface AddonTableSchema {
81
- readonly name: string;
82
- readonly columns: ReadonlyArray<{
83
- readonly name: string;
84
- readonly type: 'TEXT' | 'INTEGER' | 'REAL' | 'JSON';
85
- readonly primaryKey?: boolean;
86
- readonly notNull?: boolean;
87
- }>;
88
- readonly indexes?: ReadonlyArray<{
89
- readonly name: string;
90
- readonly columns: readonly string[];
91
- readonly unique?: boolean;
92
- }>;
93
- }
94
- /** Generate CREATE TABLE DDL from addon schema */
95
- declare function addonTableToDdl(schema: AddonTableSchema): string[];
96
-
97
- export { type AddonTableSchema as A, CORE_TABLE_DDL as C, FileSystemStorage as F, SettingsStore as S, SqliteStorageAddon as a, SqliteStorageProvider as b, addonTableToDdl as c };
@@ -1,97 +0,0 @@
1
- import { IFileStorage, StorageLocationName, IStorageLocation, ICamstackAddon, IConfigurable, AddonManifest, AddonContext, CapabilityProviderMap, ConfigUISchema } from '@camstack/types';
2
-
3
- declare class FileSystemStorage implements IFileStorage {
4
- private readonly basePath;
5
- constructor(basePath: string);
6
- readFile(filePath: string): Promise<Buffer>;
7
- writeFile(filePath: string, data: Buffer): Promise<void>;
8
- deleteFile(filePath: string): Promise<void>;
9
- listFiles(prefix?: string): Promise<readonly string[]>;
10
- getFileUrl(_path: string): Promise<string>;
11
- exists(filePath: string): Promise<boolean>;
12
- }
13
- /** @deprecated Use FilesystemStorageProvider + SqliteSettingsBackend instead */
14
- declare class SqliteStorageProvider {
15
- private mainDb;
16
- private sharedStructured;
17
- private readonly locations;
18
- initialize(): Promise<void>;
19
- /**
20
- * Configure all storage locations.
21
- * ONE single SQLite database (camstack.db) is used for ALL structured storage.
22
- * File-based locations use the filesystem at their configured path.
23
- */
24
- configure(config: {
25
- locations: Record<string, string>;
26
- }): Promise<void>;
27
- getLocation(name: StorageLocationName): IStorageLocation;
28
- shutdown(): Promise<void>;
29
- export(_locationName: StorageLocationName): Promise<Buffer>;
30
- import(_locationName: StorageLocationName, _data: Buffer): Promise<void>;
31
- }
32
-
33
- declare class SqliteStorageAddon implements ICamstackAddon, IConfigurable {
34
- readonly manifest: AddonManifest;
35
- private provider;
36
- initialize(context: AddonContext): Promise<void>;
37
- shutdown(): Promise<void>;
38
- getProvider(): SqliteStorageProvider;
39
- getCapabilityProvider<K extends keyof CapabilityProviderMap>(name: K): CapabilityProviderMap[K] | null;
40
- getConfigSchema(): ConfigUISchema;
41
- getConfig(): Record<string, unknown>;
42
- onConfigChange(_config: Record<string, unknown>): Promise<void>;
43
- }
44
-
45
- /**
46
- * Thin wrapper over better-sqlite3 that manages the four settings tables:
47
- * system_settings, addon_settings, provider_settings, device_settings.
48
- *
49
- * All values are stored as JSON text and deserialized on read.
50
- */
51
- declare class SettingsStore {
52
- private readonly db;
53
- constructor(dbPath: string);
54
- getSystem(key: string): unknown;
55
- setSystem(key: string, value: unknown): void;
56
- getAllSystem(): Record<string, unknown>;
57
- getAddon(addonId: string, key: string): unknown;
58
- setAddon(addonId: string, key: string, value: unknown): void;
59
- getAllAddon(addonId: string): Record<string, unknown>;
60
- /** Bulk-replace all keys for an addon (within a transaction). */
61
- setAllAddon(addonId: string, config: Record<string, unknown>): void;
62
- getProvider(providerId: string, key: string): unknown;
63
- setProvider(providerId: string, key: string, value: unknown): void;
64
- getAllProvider(providerId: string): Record<string, unknown>;
65
- getDevice(deviceId: string, key: string): unknown;
66
- setDevice(deviceId: string, key: string, value: unknown): void;
67
- getAllDevice(deviceId: string): Record<string, unknown>;
68
- /** Close the SQLite connection (call on shutdown). */
69
- close(): void;
70
- /** Check if system_settings is empty (used for first-boot seeding). */
71
- isSystemSettingsEmpty(): boolean;
72
- /** Seed system_settings with RUNTIME_DEFAULTS (only on first boot). */
73
- seedDefaults(): void;
74
- private initTables;
75
- }
76
-
77
- /** Core table DDL statements -- executed on first boot */
78
- declare const CORE_TABLE_DDL: readonly string[];
79
- /** Addon table schema declaration */
80
- interface AddonTableSchema {
81
- readonly name: string;
82
- readonly columns: ReadonlyArray<{
83
- readonly name: string;
84
- readonly type: 'TEXT' | 'INTEGER' | 'REAL' | 'JSON';
85
- readonly primaryKey?: boolean;
86
- readonly notNull?: boolean;
87
- }>;
88
- readonly indexes?: ReadonlyArray<{
89
- readonly name: string;
90
- readonly columns: readonly string[];
91
- readonly unique?: boolean;
92
- }>;
93
- }
94
- /** Generate CREATE TABLE DDL from addon schema */
95
- declare function addonTableToDdl(schema: AddonTableSchema): string[];
96
-
97
- export { type AddonTableSchema as A, CORE_TABLE_DDL as C, FileSystemStorage as F, SettingsStore as S, SqliteStorageAddon as a, SqliteStorageProvider as b, addonTableToDdl as c };
@@ -1,79 +0,0 @@
1
- import { ISettingsBackend, SettingsCollection, QueryFilter, SettingsRecord, TableSchema, TableQueryOptions, ICamstackAddon, IConfigurable, AddonManifest, AddonContext, CapabilityProviderMap, ConfigUISchema } from '@camstack/types';
2
-
3
- /**
4
- * SQLite implementation of ISettingsBackend.
5
- *
6
- * One table per collection, auto-created on first access.
7
- * All data stored as JSON in a TEXT column.
8
- * WAL mode for concurrent reads.
9
- */
10
- declare class SqliteSettingsBackend implements ISettingsBackend {
11
- private readonly dbPath;
12
- private db;
13
- private readonly ensuredTables;
14
- private readonly structuredTables;
15
- private readonly runtimeDefaults;
16
- constructor(dbPath: string, runtimeDefaults?: Record<string, unknown>);
17
- initialize(): Promise<void>;
18
- shutdown(): Promise<void>;
19
- get(collection: SettingsCollection, key: string): Promise<unknown>;
20
- set(collection: SettingsCollection, key: string, value: unknown): Promise<void>;
21
- query(collection: SettingsCollection, filter?: QueryFilter): Promise<readonly SettingsRecord[]>;
22
- insert(collection: SettingsCollection, record: SettingsRecord): Promise<void>;
23
- update(collection: SettingsCollection, id: string, data: Record<string, unknown>): Promise<void>;
24
- delete(collection: SettingsCollection, key: string): Promise<void>;
25
- count(collection: SettingsCollection, filter?: QueryFilter): Promise<number>;
26
- isEmpty(collection: SettingsCollection): Promise<boolean>;
27
- /** Get a system setting by dot-notation key */
28
- getSystem(key: string): unknown;
29
- /** Set a system setting */
30
- setSystem(key: string, value: unknown): void;
31
- /** Get all system settings as flat key-value */
32
- getAllSystem(): Record<string, unknown>;
33
- /** Get all settings for an addon */
34
- getAllAddon(addonId: string): Record<string, unknown>;
35
- /** Bulk-set all settings for an addon */
36
- setAllAddon(addonId: string, config: Record<string, unknown>): void;
37
- /** Get all settings for a provider */
38
- getAllProvider(providerId: string): Record<string, unknown>;
39
- /** Set a provider setting */
40
- setProvider(providerId: string, key: string, value: unknown): void;
41
- /** Get all settings for a device */
42
- getAllDevice(deviceId: string): Record<string, unknown>;
43
- /** Set a device setting */
44
- setDevice(deviceId: string, key: string, value: unknown): void;
45
- /** Seed system-settings with runtime defaults (first boot) */
46
- private seedDefaults;
47
- private getDb;
48
- private ensureCollectionTable;
49
- private getAllScoped;
50
- private setScopedKey;
51
- ensureTable(table: string, schema?: TableSchema): Promise<void>;
52
- tableInsert(table: string, row: Record<string, unknown>): Promise<void>;
53
- tableUpdate(table: string, filter: Record<string, unknown>, updates: Record<string, unknown>): Promise<number>;
54
- tableDelete(table: string, filter: Record<string, unknown>): Promise<number>;
55
- tableQuery(table: string, options?: TableQueryOptions): Promise<readonly Record<string, unknown>[]>;
56
- tableGet(table: string, filter: Record<string, unknown>): Promise<Record<string, unknown> | null>;
57
- tableCount(table: string, filter?: Record<string, unknown>): Promise<number>;
58
- private buildWhere;
59
- }
60
-
61
- /**
62
- * SQLite Settings addon — provides persistent settings storage.
63
- * Capability: 'settings-store' (singleton)
64
- *
65
- * Depends on 'storage' capability for resolving the DB file path.
66
- */
67
- declare class SqliteSettingsAddon implements ICamstackAddon, IConfigurable {
68
- readonly manifest: AddonManifest;
69
- private backend;
70
- initialize(context: AddonContext): Promise<void>;
71
- shutdown(): Promise<void>;
72
- getBackend(): SqliteSettingsBackend | null;
73
- getCapabilityProvider<K extends keyof CapabilityProviderMap>(name: K): CapabilityProviderMap[K] | null;
74
- getConfigSchema(): ConfigUISchema;
75
- getConfig(): Record<string, unknown>;
76
- onConfigChange(_config: Record<string, unknown>): Promise<void>;
77
- }
78
-
79
- export { SqliteSettingsAddon as S, SqliteSettingsBackend as a };
@@ -1,79 +0,0 @@
1
- import { ISettingsBackend, SettingsCollection, QueryFilter, SettingsRecord, TableSchema, TableQueryOptions, ICamstackAddon, IConfigurable, AddonManifest, AddonContext, CapabilityProviderMap, ConfigUISchema } from '@camstack/types';
2
-
3
- /**
4
- * SQLite implementation of ISettingsBackend.
5
- *
6
- * One table per collection, auto-created on first access.
7
- * All data stored as JSON in a TEXT column.
8
- * WAL mode for concurrent reads.
9
- */
10
- declare class SqliteSettingsBackend implements ISettingsBackend {
11
- private readonly dbPath;
12
- private db;
13
- private readonly ensuredTables;
14
- private readonly structuredTables;
15
- private readonly runtimeDefaults;
16
- constructor(dbPath: string, runtimeDefaults?: Record<string, unknown>);
17
- initialize(): Promise<void>;
18
- shutdown(): Promise<void>;
19
- get(collection: SettingsCollection, key: string): Promise<unknown>;
20
- set(collection: SettingsCollection, key: string, value: unknown): Promise<void>;
21
- query(collection: SettingsCollection, filter?: QueryFilter): Promise<readonly SettingsRecord[]>;
22
- insert(collection: SettingsCollection, record: SettingsRecord): Promise<void>;
23
- update(collection: SettingsCollection, id: string, data: Record<string, unknown>): Promise<void>;
24
- delete(collection: SettingsCollection, key: string): Promise<void>;
25
- count(collection: SettingsCollection, filter?: QueryFilter): Promise<number>;
26
- isEmpty(collection: SettingsCollection): Promise<boolean>;
27
- /** Get a system setting by dot-notation key */
28
- getSystem(key: string): unknown;
29
- /** Set a system setting */
30
- setSystem(key: string, value: unknown): void;
31
- /** Get all system settings as flat key-value */
32
- getAllSystem(): Record<string, unknown>;
33
- /** Get all settings for an addon */
34
- getAllAddon(addonId: string): Record<string, unknown>;
35
- /** Bulk-set all settings for an addon */
36
- setAllAddon(addonId: string, config: Record<string, unknown>): void;
37
- /** Get all settings for a provider */
38
- getAllProvider(providerId: string): Record<string, unknown>;
39
- /** Set a provider setting */
40
- setProvider(providerId: string, key: string, value: unknown): void;
41
- /** Get all settings for a device */
42
- getAllDevice(deviceId: string): Record<string, unknown>;
43
- /** Set a device setting */
44
- setDevice(deviceId: string, key: string, value: unknown): void;
45
- /** Seed system-settings with runtime defaults (first boot) */
46
- private seedDefaults;
47
- private getDb;
48
- private ensureCollectionTable;
49
- private getAllScoped;
50
- private setScopedKey;
51
- ensureTable(table: string, schema?: TableSchema): Promise<void>;
52
- tableInsert(table: string, row: Record<string, unknown>): Promise<void>;
53
- tableUpdate(table: string, filter: Record<string, unknown>, updates: Record<string, unknown>): Promise<number>;
54
- tableDelete(table: string, filter: Record<string, unknown>): Promise<number>;
55
- tableQuery(table: string, options?: TableQueryOptions): Promise<readonly Record<string, unknown>[]>;
56
- tableGet(table: string, filter: Record<string, unknown>): Promise<Record<string, unknown> | null>;
57
- tableCount(table: string, filter?: Record<string, unknown>): Promise<number>;
58
- private buildWhere;
59
- }
60
-
61
- /**
62
- * SQLite Settings addon — provides persistent settings storage.
63
- * Capability: 'settings-store' (singleton)
64
- *
65
- * Depends on 'storage' capability for resolving the DB file path.
66
- */
67
- declare class SqliteSettingsAddon implements ICamstackAddon, IConfigurable {
68
- readonly manifest: AddonManifest;
69
- private backend;
70
- initialize(context: AddonContext): Promise<void>;
71
- shutdown(): Promise<void>;
72
- getBackend(): SqliteSettingsBackend | null;
73
- getCapabilityProvider<K extends keyof CapabilityProviderMap>(name: K): CapabilityProviderMap[K] | null;
74
- getConfigSchema(): ConfigUISchema;
75
- getConfig(): Record<string, unknown>;
76
- onConfigChange(_config: Record<string, unknown>): Promise<void>;
77
- }
78
-
79
- export { SqliteSettingsAddon as S, SqliteSettingsBackend as a };
@@ -1,7 +0,0 @@
1
- import {
2
- StorageLocationManager
3
- } from "./chunk-2F3XZYRW.mjs";
4
- export {
5
- StorageLocationManager
6
- };
7
- //# sourceMappingURL=storage-location-manager-KKDQNAKA.mjs.map