@stoneforge/quarry 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.
- package/LICENSE +13 -0
- package/README.md +160 -0
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/quarry-api.d.ts +268 -0
- package/dist/api/quarry-api.d.ts.map +1 -0
- package/dist/api/quarry-api.js +3905 -0
- package/dist/api/quarry-api.js.map +1 -0
- package/dist/api/types.d.ts +1359 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +204 -0
- package/dist/api/types.js.map +1 -0
- package/dist/bin/sf.d.ts +3 -0
- package/dist/bin/sf.d.ts.map +1 -0
- package/dist/bin/sf.js +9 -0
- package/dist/bin/sf.js.map +1 -0
- package/dist/cli/commands/admin.d.ts +11 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/admin.js +465 -0
- package/dist/cli/commands/admin.js.map +1 -0
- package/dist/cli/commands/alias.d.ts +8 -0
- package/dist/cli/commands/alias.d.ts.map +1 -0
- package/dist/cli/commands/alias.js +70 -0
- package/dist/cli/commands/alias.js.map +1 -0
- package/dist/cli/commands/channel.d.ts +13 -0
- package/dist/cli/commands/channel.d.ts.map +1 -0
- package/dist/cli/commands/channel.js +680 -0
- package/dist/cli/commands/channel.js.map +1 -0
- package/dist/cli/commands/completion.d.ts +8 -0
- package/dist/cli/commands/completion.d.ts.map +1 -0
- package/dist/cli/commands/completion.js +87 -0
- package/dist/cli/commands/completion.js.map +1 -0
- package/dist/cli/commands/config.d.ts +12 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +242 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/crud.d.ts +64 -0
- package/dist/cli/commands/crud.d.ts.map +1 -0
- package/dist/cli/commands/crud.js +805 -0
- package/dist/cli/commands/crud.js.map +1 -0
- package/dist/cli/commands/dep.d.ts +16 -0
- package/dist/cli/commands/dep.d.ts.map +1 -0
- package/dist/cli/commands/dep.js +499 -0
- package/dist/cli/commands/dep.js.map +1 -0
- package/dist/cli/commands/document.d.ts +12 -0
- package/dist/cli/commands/document.d.ts.map +1 -0
- package/dist/cli/commands/document.js +1039 -0
- package/dist/cli/commands/document.js.map +1 -0
- package/dist/cli/commands/embeddings.d.ts +12 -0
- package/dist/cli/commands/embeddings.d.ts.map +1 -0
- package/dist/cli/commands/embeddings.js +273 -0
- package/dist/cli/commands/embeddings.js.map +1 -0
- package/dist/cli/commands/entity.d.ts +16 -0
- package/dist/cli/commands/entity.d.ts.map +1 -0
- package/dist/cli/commands/entity.js +522 -0
- package/dist/cli/commands/entity.js.map +1 -0
- package/dist/cli/commands/gc.d.ts +10 -0
- package/dist/cli/commands/gc.d.ts.map +1 -0
- package/dist/cli/commands/gc.js +257 -0
- package/dist/cli/commands/gc.js.map +1 -0
- package/dist/cli/commands/help.d.ts +11 -0
- package/dist/cli/commands/help.d.ts.map +1 -0
- package/dist/cli/commands/help.js +169 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/history.d.ts +9 -0
- package/dist/cli/commands/history.d.ts.map +1 -0
- package/dist/cli/commands/history.js +160 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/identity.d.ts +18 -0
- package/dist/cli/commands/identity.d.ts.map +1 -0
- package/dist/cli/commands/identity.js +698 -0
- package/dist/cli/commands/identity.js.map +1 -0
- package/dist/cli/commands/inbox.d.ts +20 -0
- package/dist/cli/commands/inbox.d.ts.map +1 -0
- package/dist/cli/commands/inbox.js +493 -0
- package/dist/cli/commands/inbox.js.map +1 -0
- package/dist/cli/commands/init.d.ts +20 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +144 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install.d.ts +9 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +200 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/library.d.ts +12 -0
- package/dist/cli/commands/library.d.ts.map +1 -0
- package/dist/cli/commands/library.js +665 -0
- package/dist/cli/commands/library.js.map +1 -0
- package/dist/cli/commands/message.d.ts +11 -0
- package/dist/cli/commands/message.d.ts.map +1 -0
- package/dist/cli/commands/message.js +608 -0
- package/dist/cli/commands/message.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +17 -0
- package/dist/cli/commands/plan.d.ts.map +1 -0
- package/dist/cli/commands/plan.js +698 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/playbook.d.ts +12 -0
- package/dist/cli/commands/playbook.d.ts.map +1 -0
- package/dist/cli/commands/playbook.js +730 -0
- package/dist/cli/commands/playbook.js.map +1 -0
- package/dist/cli/commands/reset.d.ts +12 -0
- package/dist/cli/commands/reset.d.ts.map +1 -0
- package/dist/cli/commands/reset.js +306 -0
- package/dist/cli/commands/reset.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +11 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +106 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +8 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +82 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +14 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +370 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/task.d.ts +25 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +1153 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/commands/team.d.ts +13 -0
- package/dist/cli/commands/team.d.ts.map +1 -0
- package/dist/cli/commands/team.js +471 -0
- package/dist/cli/commands/team.js.map +1 -0
- package/dist/cli/commands/workflow.d.ts +16 -0
- package/dist/cli/commands/workflow.d.ts.map +1 -0
- package/dist/cli/commands/workflow.js +753 -0
- package/dist/cli/commands/workflow.js.map +1 -0
- package/dist/cli/completion.d.ts +28 -0
- package/dist/cli/completion.d.ts.map +1 -0
- package/dist/cli/completion.js +295 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/db.d.ts +38 -0
- package/dist/cli/db.d.ts.map +1 -0
- package/dist/cli/db.js +90 -0
- package/dist/cli/db.js.map +1 -0
- package/dist/cli/formatter.d.ts +87 -0
- package/dist/cli/formatter.d.ts.map +1 -0
- package/dist/cli/formatter.js +464 -0
- package/dist/cli/formatter.js.map +1 -0
- package/dist/cli/index.d.ts +33 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +38 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/parser.d.ts +45 -0
- package/dist/cli/parser.d.ts.map +1 -0
- package/dist/cli/parser.js +256 -0
- package/dist/cli/parser.js.map +1 -0
- package/dist/cli/plugin-loader.d.ts +39 -0
- package/dist/cli/plugin-loader.d.ts.map +1 -0
- package/dist/cli/plugin-loader.js +165 -0
- package/dist/cli/plugin-loader.js.map +1 -0
- package/dist/cli/plugin-registry.d.ts +50 -0
- package/dist/cli/plugin-registry.d.ts.map +1 -0
- package/dist/cli/plugin-registry.js +206 -0
- package/dist/cli/plugin-registry.js.map +1 -0
- package/dist/cli/plugin-types.d.ts +106 -0
- package/dist/cli/plugin-types.d.ts.map +1 -0
- package/dist/cli/plugin-types.js +103 -0
- package/dist/cli/plugin-types.js.map +1 -0
- package/dist/cli/runner.d.ts +35 -0
- package/dist/cli/runner.d.ts.map +1 -0
- package/dist/cli/runner.js +340 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/cli/suggest.d.ts +15 -0
- package/dist/cli/suggest.d.ts.map +1 -0
- package/dist/cli/suggest.js +49 -0
- package/dist/cli/suggest.js.map +1 -0
- package/dist/cli/types.d.ts +138 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +63 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/config/config.d.ts +86 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +348 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/defaults.d.ts +66 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +114 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/duration.d.ts +75 -0
- package/dist/config/duration.d.ts.map +1 -0
- package/dist/config/duration.js +190 -0
- package/dist/config/duration.js.map +1 -0
- package/dist/config/env.d.ts +67 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +207 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/file.d.ts +97 -0
- package/dist/config/file.d.ts.map +1 -0
- package/dist/config/file.js +365 -0
- package/dist/config/file.js.map +1 -0
- package/dist/config/index.d.ts +35 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +41 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge.d.ts +53 -0
- package/dist/config/merge.d.ts.map +1 -0
- package/dist/config/merge.js +226 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/types.d.ts +257 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +72 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validation.d.ts +55 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +251 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/http/index.d.ts +8 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +12 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/sync-handlers.d.ts +162 -0
- package/dist/http/sync-handlers.d.ts.map +1 -0
- package/dist/http/sync-handlers.js +271 -0
- package/dist/http/sync-handlers.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +69 -0
- package/dist/index.js.map +1 -0
- package/dist/server/index.d.ts +34 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +3329 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/static.d.ts +18 -0
- package/dist/server/static.d.ts.map +1 -0
- package/dist/server/static.js +71 -0
- package/dist/server/static.js.map +1 -0
- package/dist/server/ws/broadcaster.d.ts +8 -0
- package/dist/server/ws/broadcaster.d.ts.map +1 -0
- package/dist/server/ws/broadcaster.js +7 -0
- package/dist/server/ws/broadcaster.js.map +1 -0
- package/dist/server/ws/handler.d.ts +55 -0
- package/dist/server/ws/handler.d.ts.map +1 -0
- package/dist/server/ws/handler.js +160 -0
- package/dist/server/ws/handler.js.map +1 -0
- package/dist/services/blocked-cache.d.ts +297 -0
- package/dist/services/blocked-cache.d.ts.map +1 -0
- package/dist/services/blocked-cache.js +755 -0
- package/dist/services/blocked-cache.js.map +1 -0
- package/dist/services/dependency.d.ts +205 -0
- package/dist/services/dependency.d.ts.map +1 -0
- package/dist/services/dependency.js +566 -0
- package/dist/services/dependency.js.map +1 -0
- package/dist/services/embeddings/fusion.d.ts +33 -0
- package/dist/services/embeddings/fusion.d.ts.map +1 -0
- package/dist/services/embeddings/fusion.js +34 -0
- package/dist/services/embeddings/fusion.js.map +1 -0
- package/dist/services/embeddings/index.d.ts +12 -0
- package/dist/services/embeddings/index.d.ts.map +1 -0
- package/dist/services/embeddings/index.js +10 -0
- package/dist/services/embeddings/index.js.map +1 -0
- package/dist/services/embeddings/local-provider.d.ts +31 -0
- package/dist/services/embeddings/local-provider.d.ts.map +1 -0
- package/dist/services/embeddings/local-provider.js +80 -0
- package/dist/services/embeddings/local-provider.js.map +1 -0
- package/dist/services/embeddings/service.d.ts +76 -0
- package/dist/services/embeddings/service.d.ts.map +1 -0
- package/dist/services/embeddings/service.js +153 -0
- package/dist/services/embeddings/service.js.map +1 -0
- package/dist/services/embeddings/types.d.ts +70 -0
- package/dist/services/embeddings/types.d.ts.map +1 -0
- package/dist/services/embeddings/types.js +8 -0
- package/dist/services/embeddings/types.js.map +1 -0
- package/dist/services/id-length-cache.d.ts +156 -0
- package/dist/services/id-length-cache.d.ts.map +1 -0
- package/dist/services/id-length-cache.js +197 -0
- package/dist/services/id-length-cache.js.map +1 -0
- package/dist/services/inbox.d.ts +147 -0
- package/dist/services/inbox.d.ts.map +1 -0
- package/dist/services/inbox.js +428 -0
- package/dist/services/inbox.js.map +1 -0
- package/dist/services/index.d.ts +10 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +10 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/priority-service.d.ts +145 -0
- package/dist/services/priority-service.d.ts.map +1 -0
- package/dist/services/priority-service.js +272 -0
- package/dist/services/priority-service.js.map +1 -0
- package/dist/services/search-utils.d.ts +47 -0
- package/dist/services/search-utils.d.ts.map +1 -0
- package/dist/services/search-utils.js +83 -0
- package/dist/services/search-utils.js.map +1 -0
- package/dist/sync/hash.d.ts +48 -0
- package/dist/sync/hash.d.ts.map +1 -0
- package/dist/sync/hash.js +136 -0
- package/dist/sync/hash.js.map +1 -0
- package/dist/sync/index.d.ts +11 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +16 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/merge.d.ts +80 -0
- package/dist/sync/merge.d.ts.map +1 -0
- package/dist/sync/merge.js +310 -0
- package/dist/sync/merge.js.map +1 -0
- package/dist/sync/serialization.d.ts +132 -0
- package/dist/sync/serialization.d.ts.map +1 -0
- package/dist/sync/serialization.js +306 -0
- package/dist/sync/serialization.js.map +1 -0
- package/dist/sync/service.d.ts +102 -0
- package/dist/sync/service.d.ts.map +1 -0
- package/dist/sync/service.js +493 -0
- package/dist/sync/service.js.map +1 -0
- package/dist/sync/types.d.ts +275 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/types.js +76 -0
- package/dist/sync/types.js.map +1 -0
- package/dist/systems/identity.d.ts +479 -0
- package/dist/systems/identity.d.ts.map +1 -0
- package/dist/systems/identity.js +817 -0
- package/dist/systems/identity.js.map +1 -0
- package/dist/systems/index.d.ts +8 -0
- package/dist/systems/index.d.ts.map +1 -0
- package/dist/systems/index.js +29 -0
- package/dist/systems/index.js.map +1 -0
- package/package.json +121 -0
- package/web/assets/charts-vendor-D1YcbGux.js +55 -0
- package/web/assets/dnd-vendor-DmxE-_ZH.js +5 -0
- package/web/assets/editor-vendor-BxraAWts.js +279 -0
- package/web/assets/index-B77vv208.js +341 -0
- package/web/assets/index-CF_XnVLh.css +1 -0
- package/web/assets/router-vendor-BCKpRBrB.js +41 -0
- package/web/assets/ui-vendor-DUahGnbT.js +45 -0
- package/web/assets/utils-vendor-CfYKiENT.js +813 -0
- package/web/favicon.ico +0 -0
- package/web/index.html +23 -0
- package/web/logo.png +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Access API
|
|
3
|
+
*
|
|
4
|
+
* Main interface for loading, accessing, and modifying configuration.
|
|
5
|
+
* Implements the precedence hierarchy: CLI > Environment > File > Defaults
|
|
6
|
+
*/
|
|
7
|
+
import type { Configuration, LoadConfigOptions, ConfigPath, ConfigPathTypes, ConfigSource, TrackedConfiguration, TrackedValue } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Loads configuration with full precedence chain
|
|
10
|
+
*
|
|
11
|
+
* Precedence (highest to lowest):
|
|
12
|
+
* 1. CLI overrides (if provided)
|
|
13
|
+
* 2. Environment variables
|
|
14
|
+
* 3. Config file
|
|
15
|
+
* 4. Built-in defaults
|
|
16
|
+
*
|
|
17
|
+
* @param options - Loading options
|
|
18
|
+
* @returns Complete configuration
|
|
19
|
+
*/
|
|
20
|
+
export declare function loadConfig(options?: LoadConfigOptions): Configuration;
|
|
21
|
+
/**
|
|
22
|
+
* Gets the current configuration, loading if necessary
|
|
23
|
+
*/
|
|
24
|
+
export declare function getConfig(): Configuration;
|
|
25
|
+
/**
|
|
26
|
+
* Gets the tracked configuration with source attribution
|
|
27
|
+
*/
|
|
28
|
+
export declare function getTrackedConfig(): TrackedConfiguration;
|
|
29
|
+
/**
|
|
30
|
+
* Reloads configuration from all sources
|
|
31
|
+
*/
|
|
32
|
+
export declare function reloadConfig(options?: LoadConfigOptions): Configuration;
|
|
33
|
+
/**
|
|
34
|
+
* Clears the configuration cache
|
|
35
|
+
*/
|
|
36
|
+
export declare function clearConfigCache(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Gets a configuration value by path
|
|
39
|
+
*
|
|
40
|
+
* @param path - Dot-notation path to the value
|
|
41
|
+
* @returns The configuration value
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* getValue('actor') // 'my-agent'
|
|
45
|
+
* getValue('sync.autoExport') // true
|
|
46
|
+
* getValue('identity.mode') // 'soft'
|
|
47
|
+
*/
|
|
48
|
+
export declare function getValue<P extends ConfigPath>(path: P): ConfigPathTypes[P];
|
|
49
|
+
/**
|
|
50
|
+
* Gets a configuration value from a config object by path
|
|
51
|
+
*/
|
|
52
|
+
export declare function getValueFromConfig<P extends ConfigPath>(config: Configuration, path: P): ConfigPathTypes[P];
|
|
53
|
+
/**
|
|
54
|
+
* Gets the source of a configuration value
|
|
55
|
+
*/
|
|
56
|
+
export declare function getValueSource(path: ConfigPath): ConfigSource;
|
|
57
|
+
/**
|
|
58
|
+
* Gets a value with its source
|
|
59
|
+
*/
|
|
60
|
+
export declare function getValueWithSource<P extends ConfigPath>(path: P): TrackedValue<ConfigPathTypes[P]>;
|
|
61
|
+
/**
|
|
62
|
+
* Sets a configuration value in the config file
|
|
63
|
+
*
|
|
64
|
+
* @param path - Dot-notation path to the value
|
|
65
|
+
* @param value - New value to set
|
|
66
|
+
*/
|
|
67
|
+
export declare function setValue<P extends ConfigPath>(path: P, value: ConfigPathTypes[P]): void;
|
|
68
|
+
/**
|
|
69
|
+
* Unsets a configuration value in the config file
|
|
70
|
+
* Note: This removes the value from the file, falling back to defaults
|
|
71
|
+
*/
|
|
72
|
+
export declare function unsetValue(path: ConfigPath): void;
|
|
73
|
+
/**
|
|
74
|
+
* Gets the active configuration file path
|
|
75
|
+
*/
|
|
76
|
+
export declare function getConfigPath(): string | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Checks if the configuration file exists
|
|
79
|
+
*/
|
|
80
|
+
export declare function configFileExists(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Saves the entire configuration to file
|
|
83
|
+
*/
|
|
84
|
+
export declare function saveConfig(config: Configuration, filePath?: string): void;
|
|
85
|
+
export { type Configuration, type PartialConfiguration, type ConfigPath, type ConfigSource, type TrackedConfiguration, type LoadConfigOptions, } from './types.js';
|
|
86
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EAEb,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACb,MAAM,YAAY,CAAC;AA8BpB;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa,CA8CzE;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,aAAa,CAKzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,oBAAoB,CAKvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa,CAI3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAG1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,EACrD,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,CAAC,GACN,eAAe,CAAC,CAAC,CAAC,CAUpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAY7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,EACrD,IAAI,EAAE,CAAC,GACN,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAIlC;AAMD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAavF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAkBjD;AAMD;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAMlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAazE;AAsID,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Access API
|
|
3
|
+
*
|
|
4
|
+
* Main interface for loading, accessing, and modifying configuration.
|
|
5
|
+
* Implements the precedence hierarchy: CLI > Environment > File > Defaults
|
|
6
|
+
*/
|
|
7
|
+
import { ConfigSource as ConfigSourceEnum } from './types.js';
|
|
8
|
+
import { getDefaultConfig, DEFAULT_CONFIG } from './defaults.js';
|
|
9
|
+
import { mergeConfiguration, cloneConfiguration } from './merge.js';
|
|
10
|
+
import { validateConfiguration, validatePartialConfiguration } from './validation.js';
|
|
11
|
+
import { discoverConfigFile, readConfigFile, writeConfigFile, updateConfigFile, } from './file.js';
|
|
12
|
+
import { loadEnvConfig, getEnvConfigPath } from './env.js';
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Configuration State
|
|
15
|
+
// ============================================================================
|
|
16
|
+
/** Cached configuration instance */
|
|
17
|
+
let cachedConfig = null;
|
|
18
|
+
/** Tracked configuration for source attribution */
|
|
19
|
+
let trackedConfig = null;
|
|
20
|
+
/** Path to the active config file */
|
|
21
|
+
let activeConfigPath;
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// Configuration Loading
|
|
24
|
+
// ============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* Loads configuration with full precedence chain
|
|
27
|
+
*
|
|
28
|
+
* Precedence (highest to lowest):
|
|
29
|
+
* 1. CLI overrides (if provided)
|
|
30
|
+
* 2. Environment variables
|
|
31
|
+
* 3. Config file
|
|
32
|
+
* 4. Built-in defaults
|
|
33
|
+
*
|
|
34
|
+
* @param options - Loading options
|
|
35
|
+
* @returns Complete configuration
|
|
36
|
+
*/
|
|
37
|
+
export function loadConfig(options = {}) {
|
|
38
|
+
// Start with defaults
|
|
39
|
+
let config = getDefaultConfig();
|
|
40
|
+
let tracked = createTrackedDefaults();
|
|
41
|
+
// Discover config file (check env override first, skip if requested)
|
|
42
|
+
const envConfigPath = options.skipEnv ? undefined : getEnvConfigPath();
|
|
43
|
+
const discovery = options.skipFile
|
|
44
|
+
? { exists: false, path: undefined }
|
|
45
|
+
: discoverConfigFile(options.configPath ?? envConfigPath);
|
|
46
|
+
activeConfigPath = discovery.path;
|
|
47
|
+
// Load from file if exists (and not skipped)
|
|
48
|
+
if (!options.skipFile && discovery.exists && discovery.path) {
|
|
49
|
+
try {
|
|
50
|
+
const fileConfig = readConfigFile(discovery.path);
|
|
51
|
+
config = mergeConfiguration(config, fileConfig);
|
|
52
|
+
tracked = mergeTrackedConfig(tracked, fileConfig, ConfigSourceEnum.FILE);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Config file exists but failed to load - use defaults
|
|
56
|
+
// Error will be surfaced when user explicitly accesses config
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Apply environment variables
|
|
60
|
+
if (!options.skipEnv) {
|
|
61
|
+
const envConfig = loadEnvConfig();
|
|
62
|
+
config = mergeConfiguration(config, envConfig);
|
|
63
|
+
tracked = mergeTrackedConfig(tracked, envConfig, ConfigSourceEnum.ENVIRONMENT);
|
|
64
|
+
}
|
|
65
|
+
// Apply CLI overrides
|
|
66
|
+
if (options.cliOverrides) {
|
|
67
|
+
validatePartialConfiguration(options.cliOverrides);
|
|
68
|
+
config = mergeConfiguration(config, options.cliOverrides);
|
|
69
|
+
tracked = mergeTrackedConfig(tracked, options.cliOverrides, ConfigSourceEnum.CLI);
|
|
70
|
+
}
|
|
71
|
+
// Validate final configuration
|
|
72
|
+
validateConfiguration(config);
|
|
73
|
+
// Cache and return
|
|
74
|
+
cachedConfig = config;
|
|
75
|
+
trackedConfig = tracked;
|
|
76
|
+
return config;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Gets the current configuration, loading if necessary
|
|
80
|
+
*/
|
|
81
|
+
export function getConfig() {
|
|
82
|
+
if (cachedConfig === null) {
|
|
83
|
+
loadConfig();
|
|
84
|
+
}
|
|
85
|
+
return cloneConfiguration(cachedConfig);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Gets the tracked configuration with source attribution
|
|
89
|
+
*/
|
|
90
|
+
export function getTrackedConfig() {
|
|
91
|
+
if (trackedConfig === null) {
|
|
92
|
+
loadConfig();
|
|
93
|
+
}
|
|
94
|
+
return trackedConfig;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Reloads configuration from all sources
|
|
98
|
+
*/
|
|
99
|
+
export function reloadConfig(options = {}) {
|
|
100
|
+
cachedConfig = null;
|
|
101
|
+
trackedConfig = null;
|
|
102
|
+
return loadConfig(options);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Clears the configuration cache
|
|
106
|
+
*/
|
|
107
|
+
export function clearConfigCache() {
|
|
108
|
+
cachedConfig = null;
|
|
109
|
+
trackedConfig = null;
|
|
110
|
+
activeConfigPath = undefined;
|
|
111
|
+
}
|
|
112
|
+
// ============================================================================
|
|
113
|
+
// Value Access
|
|
114
|
+
// ============================================================================
|
|
115
|
+
/**
|
|
116
|
+
* Gets a configuration value by path
|
|
117
|
+
*
|
|
118
|
+
* @param path - Dot-notation path to the value
|
|
119
|
+
* @returns The configuration value
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* getValue('actor') // 'my-agent'
|
|
123
|
+
* getValue('sync.autoExport') // true
|
|
124
|
+
* getValue('identity.mode') // 'soft'
|
|
125
|
+
*/
|
|
126
|
+
export function getValue(path) {
|
|
127
|
+
const config = getConfig();
|
|
128
|
+
return getValueFromConfig(config, path);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Gets a configuration value from a config object by path
|
|
132
|
+
*/
|
|
133
|
+
export function getValueFromConfig(config, path) {
|
|
134
|
+
const parts = path.split('.');
|
|
135
|
+
if (parts.length === 1) {
|
|
136
|
+
return config[path];
|
|
137
|
+
}
|
|
138
|
+
const [section, key] = parts;
|
|
139
|
+
const sectionObj = config[section];
|
|
140
|
+
return sectionObj[key];
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Gets the source of a configuration value
|
|
144
|
+
*/
|
|
145
|
+
export function getValueSource(path) {
|
|
146
|
+
const tracked = getTrackedConfig();
|
|
147
|
+
const parts = path.split('.');
|
|
148
|
+
if (parts.length === 1) {
|
|
149
|
+
const value = tracked[path];
|
|
150
|
+
return value?.source ?? ConfigSourceEnum.DEFAULT;
|
|
151
|
+
}
|
|
152
|
+
const [section, key] = parts;
|
|
153
|
+
const sectionObj = tracked[section];
|
|
154
|
+
return sectionObj[key]?.source ?? ConfigSourceEnum.DEFAULT;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Gets a value with its source
|
|
158
|
+
*/
|
|
159
|
+
export function getValueWithSource(path) {
|
|
160
|
+
const value = getValue(path);
|
|
161
|
+
const source = getValueSource(path);
|
|
162
|
+
return { value, source };
|
|
163
|
+
}
|
|
164
|
+
// ============================================================================
|
|
165
|
+
// Value Setting (Config File)
|
|
166
|
+
// ============================================================================
|
|
167
|
+
/**
|
|
168
|
+
* Sets a configuration value in the config file
|
|
169
|
+
*
|
|
170
|
+
* @param path - Dot-notation path to the value
|
|
171
|
+
* @param value - New value to set
|
|
172
|
+
*/
|
|
173
|
+
export function setValue(path, value) {
|
|
174
|
+
if (!activeConfigPath) {
|
|
175
|
+
const discovery = discoverConfigFile();
|
|
176
|
+
activeConfigPath = discovery.path;
|
|
177
|
+
}
|
|
178
|
+
const partial = pathToPartialConfig(path, value);
|
|
179
|
+
validatePartialConfiguration(partial);
|
|
180
|
+
updateConfigFile(activeConfigPath, partial);
|
|
181
|
+
// Invalidate cache
|
|
182
|
+
cachedConfig = null;
|
|
183
|
+
trackedConfig = null;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Unsets a configuration value in the config file
|
|
187
|
+
* Note: This removes the value from the file, falling back to defaults
|
|
188
|
+
*/
|
|
189
|
+
export function unsetValue(path) {
|
|
190
|
+
if (!activeConfigPath) {
|
|
191
|
+
const discovery = discoverConfigFile();
|
|
192
|
+
activeConfigPath = discovery.path;
|
|
193
|
+
}
|
|
194
|
+
// Read current file config
|
|
195
|
+
const current = readConfigFile(activeConfigPath);
|
|
196
|
+
// Remove the specified path
|
|
197
|
+
const updated = removeFromPartialConfig(current, path);
|
|
198
|
+
// Write back
|
|
199
|
+
writeConfigFile(activeConfigPath, updated);
|
|
200
|
+
// Invalidate cache
|
|
201
|
+
cachedConfig = null;
|
|
202
|
+
trackedConfig = null;
|
|
203
|
+
}
|
|
204
|
+
// ============================================================================
|
|
205
|
+
// Configuration File Management
|
|
206
|
+
// ============================================================================
|
|
207
|
+
/**
|
|
208
|
+
* Gets the active configuration file path
|
|
209
|
+
*/
|
|
210
|
+
export function getConfigPath() {
|
|
211
|
+
if (!activeConfigPath) {
|
|
212
|
+
const discovery = discoverConfigFile();
|
|
213
|
+
activeConfigPath = discovery.path;
|
|
214
|
+
}
|
|
215
|
+
return activeConfigPath;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Checks if the configuration file exists
|
|
219
|
+
*/
|
|
220
|
+
export function configFileExists() {
|
|
221
|
+
const discovery = discoverConfigFile();
|
|
222
|
+
return discovery.exists;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Saves the entire configuration to file
|
|
226
|
+
*/
|
|
227
|
+
export function saveConfig(config, filePath) {
|
|
228
|
+
const path = filePath ?? getConfigPath();
|
|
229
|
+
if (!path) {
|
|
230
|
+
throw new Error('No config file path specified');
|
|
231
|
+
}
|
|
232
|
+
validateConfiguration(config);
|
|
233
|
+
writeConfigFile(path, config);
|
|
234
|
+
// Update cache
|
|
235
|
+
if (!filePath || filePath === activeConfigPath) {
|
|
236
|
+
cachedConfig = config;
|
|
237
|
+
trackedConfig = null; // Will be rebuilt on next access
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// ============================================================================
|
|
241
|
+
// Helper Functions
|
|
242
|
+
// ============================================================================
|
|
243
|
+
/**
|
|
244
|
+
* Creates tracked defaults
|
|
245
|
+
*/
|
|
246
|
+
function createTrackedDefaults() {
|
|
247
|
+
return {
|
|
248
|
+
actor: undefined,
|
|
249
|
+
database: { value: DEFAULT_CONFIG.database, source: ConfigSourceEnum.DEFAULT },
|
|
250
|
+
sync: {
|
|
251
|
+
autoExport: { value: DEFAULT_CONFIG.sync.autoExport, source: ConfigSourceEnum.DEFAULT },
|
|
252
|
+
exportDebounce: { value: DEFAULT_CONFIG.sync.exportDebounce, source: ConfigSourceEnum.DEFAULT },
|
|
253
|
+
elementsFile: { value: DEFAULT_CONFIG.sync.elementsFile, source: ConfigSourceEnum.DEFAULT },
|
|
254
|
+
dependenciesFile: { value: DEFAULT_CONFIG.sync.dependenciesFile, source: ConfigSourceEnum.DEFAULT },
|
|
255
|
+
},
|
|
256
|
+
playbooks: {
|
|
257
|
+
paths: { value: [...DEFAULT_CONFIG.playbooks.paths], source: ConfigSourceEnum.DEFAULT },
|
|
258
|
+
},
|
|
259
|
+
tombstone: {
|
|
260
|
+
ttl: { value: DEFAULT_CONFIG.tombstone.ttl, source: ConfigSourceEnum.DEFAULT },
|
|
261
|
+
minTtl: { value: DEFAULT_CONFIG.tombstone.minTtl, source: ConfigSourceEnum.DEFAULT },
|
|
262
|
+
},
|
|
263
|
+
identity: {
|
|
264
|
+
mode: { value: DEFAULT_CONFIG.identity.mode, source: ConfigSourceEnum.DEFAULT },
|
|
265
|
+
timeTolerance: { value: DEFAULT_CONFIG.identity.timeTolerance, source: ConfigSourceEnum.DEFAULT },
|
|
266
|
+
},
|
|
267
|
+
plugins: {
|
|
268
|
+
packages: { value: [...DEFAULT_CONFIG.plugins.packages], source: ConfigSourceEnum.DEFAULT },
|
|
269
|
+
},
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Merges tracked config with new values from a source
|
|
274
|
+
*/
|
|
275
|
+
function mergeTrackedConfig(base, partial, source) {
|
|
276
|
+
const result = { ...base };
|
|
277
|
+
if (partial.actor !== undefined) {
|
|
278
|
+
result.actor = { value: partial.actor, source };
|
|
279
|
+
}
|
|
280
|
+
if (partial.database !== undefined) {
|
|
281
|
+
result.database = { value: partial.database, source };
|
|
282
|
+
}
|
|
283
|
+
if (partial.sync?.autoExport !== undefined) {
|
|
284
|
+
result.sync = { ...result.sync, autoExport: { value: partial.sync.autoExport, source } };
|
|
285
|
+
}
|
|
286
|
+
if (partial.sync?.exportDebounce !== undefined) {
|
|
287
|
+
result.sync = { ...result.sync, exportDebounce: { value: partial.sync.exportDebounce, source } };
|
|
288
|
+
}
|
|
289
|
+
if (partial.sync?.elementsFile !== undefined) {
|
|
290
|
+
result.sync = { ...result.sync, elementsFile: { value: partial.sync.elementsFile, source } };
|
|
291
|
+
}
|
|
292
|
+
if (partial.sync?.dependenciesFile !== undefined) {
|
|
293
|
+
result.sync = { ...result.sync, dependenciesFile: { value: partial.sync.dependenciesFile, source } };
|
|
294
|
+
}
|
|
295
|
+
if (partial.playbooks?.paths !== undefined) {
|
|
296
|
+
result.playbooks = { paths: { value: partial.playbooks.paths, source } };
|
|
297
|
+
}
|
|
298
|
+
if (partial.tombstone?.ttl !== undefined) {
|
|
299
|
+
result.tombstone = { ...result.tombstone, ttl: { value: partial.tombstone.ttl, source } };
|
|
300
|
+
}
|
|
301
|
+
if (partial.tombstone?.minTtl !== undefined) {
|
|
302
|
+
result.tombstone = { ...result.tombstone, minTtl: { value: partial.tombstone.minTtl, source } };
|
|
303
|
+
}
|
|
304
|
+
if (partial.identity?.mode !== undefined) {
|
|
305
|
+
result.identity = { ...result.identity, mode: { value: partial.identity.mode, source } };
|
|
306
|
+
}
|
|
307
|
+
if (partial.identity?.timeTolerance !== undefined) {
|
|
308
|
+
result.identity = { ...result.identity, timeTolerance: { value: partial.identity.timeTolerance, source } };
|
|
309
|
+
}
|
|
310
|
+
if (partial.plugins?.packages !== undefined) {
|
|
311
|
+
result.plugins = { packages: { value: partial.plugins.packages, source } };
|
|
312
|
+
}
|
|
313
|
+
return result;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Converts a config path and value to a partial config object
|
|
317
|
+
*/
|
|
318
|
+
function pathToPartialConfig(path, value) {
|
|
319
|
+
const parts = path.split('.');
|
|
320
|
+
if (parts.length === 1) {
|
|
321
|
+
return { [path]: value };
|
|
322
|
+
}
|
|
323
|
+
const [section, key] = parts;
|
|
324
|
+
return {
|
|
325
|
+
[section]: { [key]: value },
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Removes a path from a partial config
|
|
330
|
+
*/
|
|
331
|
+
function removeFromPartialConfig(config, path) {
|
|
332
|
+
const result = { ...config };
|
|
333
|
+
const parts = path.split('.');
|
|
334
|
+
if (parts.length === 1) {
|
|
335
|
+
delete result[path];
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
const [section, key] = parts;
|
|
339
|
+
const sectionKey = section;
|
|
340
|
+
if (result[sectionKey]) {
|
|
341
|
+
const sectionObj = { ...result[sectionKey] };
|
|
342
|
+
delete sectionObj[key];
|
|
343
|
+
result[sectionKey] = sectionObj;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
return result;
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Defaults
|
|
3
|
+
*
|
|
4
|
+
* Built-in default values for all configuration options.
|
|
5
|
+
* These are the lowest precedence values, overridden by file, env, and CLI.
|
|
6
|
+
*/
|
|
7
|
+
import type { Configuration, SyncConfig, PlaybookConfig, TombstoneConfig, IdentityConfigSection, PluginsConfig } from './types.js';
|
|
8
|
+
/** One second in milliseconds */
|
|
9
|
+
export declare const ONE_SECOND = 1000;
|
|
10
|
+
/** One minute in milliseconds */
|
|
11
|
+
export declare const ONE_MINUTE: number;
|
|
12
|
+
/** One hour in milliseconds */
|
|
13
|
+
export declare const ONE_HOUR: number;
|
|
14
|
+
/** One day in milliseconds */
|
|
15
|
+
export declare const ONE_DAY: number;
|
|
16
|
+
/**
|
|
17
|
+
* Default sync configuration
|
|
18
|
+
*/
|
|
19
|
+
export declare const DEFAULT_SYNC_CONFIG: SyncConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Default playbook configuration
|
|
22
|
+
*/
|
|
23
|
+
export declare const DEFAULT_PLAYBOOK_CONFIG: PlaybookConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Default tombstone configuration
|
|
26
|
+
*/
|
|
27
|
+
export declare const DEFAULT_TOMBSTONE_CONFIG: TombstoneConfig;
|
|
28
|
+
/**
|
|
29
|
+
* Default identity configuration
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_IDENTITY_CONFIG: IdentityConfigSection;
|
|
32
|
+
/**
|
|
33
|
+
* Default plugins configuration
|
|
34
|
+
*/
|
|
35
|
+
export declare const DEFAULT_PLUGINS_CONFIG: PluginsConfig;
|
|
36
|
+
/**
|
|
37
|
+
* Complete default configuration
|
|
38
|
+
*/
|
|
39
|
+
export declare const DEFAULT_CONFIG: Configuration;
|
|
40
|
+
/**
|
|
41
|
+
* Minimum allowed export debounce (100ms)
|
|
42
|
+
*/
|
|
43
|
+
export declare const MIN_EXPORT_DEBOUNCE = 100;
|
|
44
|
+
/**
|
|
45
|
+
* Maximum allowed export debounce (1 hour)
|
|
46
|
+
*/
|
|
47
|
+
export declare const MAX_EXPORT_DEBOUNCE: number;
|
|
48
|
+
/**
|
|
49
|
+
* Maximum allowed time tolerance (24 hours)
|
|
50
|
+
*/
|
|
51
|
+
export declare const MAX_TIME_TOLERANCE: number;
|
|
52
|
+
/**
|
|
53
|
+
* Minimum allowed time tolerance (1 second)
|
|
54
|
+
*/
|
|
55
|
+
export declare const MIN_TIME_TOLERANCE = 1000;
|
|
56
|
+
/**
|
|
57
|
+
* Maximum TTL (1 year)
|
|
58
|
+
*/
|
|
59
|
+
export declare const MAX_TTL: number;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a deep clone of the default configuration
|
|
62
|
+
* Always use this instead of referencing DEFAULT_CONFIG directly
|
|
63
|
+
* to avoid accidental mutation
|
|
64
|
+
*/
|
|
65
|
+
export declare function getDefaultConfig(): Configuration;
|
|
66
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMnI,iCAAiC;AACjC,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,iCAAiC;AACjC,eAAO,MAAM,UAAU,QAAkB,CAAC;AAE1C,+BAA+B;AAC/B,eAAO,MAAM,QAAQ,QAAkB,CAAC;AAExC,8BAA8B;AAC9B,eAAO,MAAM,OAAO,QAAgB,CAAC;AAMrC;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAKjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAKrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAGtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,qBAGrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAQ5B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAW,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,kBAAkB,OAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,OAAO,QAAgB,CAAC;AAMrC;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAUhD"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Defaults
|
|
3
|
+
*
|
|
4
|
+
* Built-in default values for all configuration options.
|
|
5
|
+
* These are the lowest precedence values, overridden by file, env, and CLI.
|
|
6
|
+
*/
|
|
7
|
+
import { IdentityMode } from '../systems/identity.js';
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Time Constants (in milliseconds)
|
|
10
|
+
// ============================================================================
|
|
11
|
+
/** One second in milliseconds */
|
|
12
|
+
export const ONE_SECOND = 1000;
|
|
13
|
+
/** One minute in milliseconds */
|
|
14
|
+
export const ONE_MINUTE = 60 * ONE_SECOND;
|
|
15
|
+
/** One hour in milliseconds */
|
|
16
|
+
export const ONE_HOUR = 60 * ONE_MINUTE;
|
|
17
|
+
/** One day in milliseconds */
|
|
18
|
+
export const ONE_DAY = 24 * ONE_HOUR;
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Default Values
|
|
21
|
+
// ============================================================================
|
|
22
|
+
/**
|
|
23
|
+
* Default sync configuration
|
|
24
|
+
*/
|
|
25
|
+
export const DEFAULT_SYNC_CONFIG = {
|
|
26
|
+
autoExport: true,
|
|
27
|
+
exportDebounce: 500, // 500ms
|
|
28
|
+
elementsFile: 'elements.jsonl',
|
|
29
|
+
dependenciesFile: 'dependencies.jsonl',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Default playbook configuration
|
|
33
|
+
*/
|
|
34
|
+
export const DEFAULT_PLAYBOOK_CONFIG = {
|
|
35
|
+
paths: [
|
|
36
|
+
'.stoneforge/playbooks',
|
|
37
|
+
'~/.stoneforge/playbooks',
|
|
38
|
+
],
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Default tombstone configuration
|
|
42
|
+
*/
|
|
43
|
+
export const DEFAULT_TOMBSTONE_CONFIG = {
|
|
44
|
+
ttl: 30 * ONE_DAY, // 30 days
|
|
45
|
+
minTtl: 7 * ONE_DAY, // 7 days
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Default identity configuration
|
|
49
|
+
*/
|
|
50
|
+
export const DEFAULT_IDENTITY_CONFIG = {
|
|
51
|
+
mode: IdentityMode.SOFT,
|
|
52
|
+
timeTolerance: 5 * ONE_MINUTE, // 5 minutes
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Default plugins configuration
|
|
56
|
+
*/
|
|
57
|
+
export const DEFAULT_PLUGINS_CONFIG = {
|
|
58
|
+
packages: [],
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Complete default configuration
|
|
62
|
+
*/
|
|
63
|
+
export const DEFAULT_CONFIG = {
|
|
64
|
+
actor: undefined,
|
|
65
|
+
database: 'stoneforge.db',
|
|
66
|
+
sync: DEFAULT_SYNC_CONFIG,
|
|
67
|
+
playbooks: DEFAULT_PLAYBOOK_CONFIG,
|
|
68
|
+
tombstone: DEFAULT_TOMBSTONE_CONFIG,
|
|
69
|
+
identity: DEFAULT_IDENTITY_CONFIG,
|
|
70
|
+
plugins: DEFAULT_PLUGINS_CONFIG,
|
|
71
|
+
};
|
|
72
|
+
// ============================================================================
|
|
73
|
+
// Validation Constants
|
|
74
|
+
// ============================================================================
|
|
75
|
+
/**
|
|
76
|
+
* Minimum allowed export debounce (100ms)
|
|
77
|
+
*/
|
|
78
|
+
export const MIN_EXPORT_DEBOUNCE = 100;
|
|
79
|
+
/**
|
|
80
|
+
* Maximum allowed export debounce (1 hour)
|
|
81
|
+
*/
|
|
82
|
+
export const MAX_EXPORT_DEBOUNCE = ONE_HOUR;
|
|
83
|
+
/**
|
|
84
|
+
* Maximum allowed time tolerance (24 hours)
|
|
85
|
+
*/
|
|
86
|
+
export const MAX_TIME_TOLERANCE = 24 * ONE_HOUR;
|
|
87
|
+
/**
|
|
88
|
+
* Minimum allowed time tolerance (1 second)
|
|
89
|
+
*/
|
|
90
|
+
export const MIN_TIME_TOLERANCE = ONE_SECOND;
|
|
91
|
+
/**
|
|
92
|
+
* Maximum TTL (1 year)
|
|
93
|
+
*/
|
|
94
|
+
export const MAX_TTL = 365 * ONE_DAY;
|
|
95
|
+
// ============================================================================
|
|
96
|
+
// Deep Clone
|
|
97
|
+
// ============================================================================
|
|
98
|
+
/**
|
|
99
|
+
* Creates a deep clone of the default configuration
|
|
100
|
+
* Always use this instead of referencing DEFAULT_CONFIG directly
|
|
101
|
+
* to avoid accidental mutation
|
|
102
|
+
*/
|
|
103
|
+
export function getDefaultConfig() {
|
|
104
|
+
return {
|
|
105
|
+
actor: undefined,
|
|
106
|
+
database: DEFAULT_CONFIG.database,
|
|
107
|
+
sync: { ...DEFAULT_SYNC_CONFIG },
|
|
108
|
+
playbooks: { paths: [...DEFAULT_PLAYBOOK_CONFIG.paths] },
|
|
109
|
+
tombstone: { ...DEFAULT_TOMBSTONE_CONFIG },
|
|
110
|
+
identity: { ...DEFAULT_IDENTITY_CONFIG },
|
|
111
|
+
plugins: { packages: [...DEFAULT_PLUGINS_CONFIG.packages] },
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,iCAAiC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B,iCAAiC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,GAAG,UAAU,CAAC;AAE1C,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,GAAG,UAAU,CAAC;AAExC,8BAA8B;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC;AAErC,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,GAAG,EAAE,QAAQ;IAC7B,YAAY,EAAE,gBAAgB;IAC9B,gBAAgB,EAAE,oBAAoB;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,KAAK,EAAE;QACL,uBAAuB;QACvB,yBAAyB;KAC1B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU;IAC7B,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,SAAS;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,IAAI,EAAE,YAAY,CAAC,IAAI;IACvB,aAAa,EAAE,CAAC,GAAG,UAAU,EAAE,YAAY;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,mBAAmB;IACzB,SAAS,EAAE,uBAAuB;IAClC,SAAS,EAAE,wBAAwB;IACnC,QAAQ,EAAE,uBAAuB;IACjC,OAAO,EAAE,sBAAsB;CAChC,CAAC;AAEF,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,QAAQ,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;AAErC,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,IAAI,EAAE,EAAE,GAAG,mBAAmB,EAAE;QAChC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,EAAE;QACxD,SAAS,EAAE,EAAE,GAAG,wBAAwB,EAAE;QAC1C,QAAQ,EAAE,EAAE,GAAG,uBAAuB,EAAE;QACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,sBAAsB,CAAC,QAAQ,CAAC,EAAE;KAC5D,CAAC;AACJ,CAAC"}
|