@brimveyn/aimux-config 0.6.5 → 0.6.8
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/package.json +1 -1
- package/src/resolver.ts +9 -0
- package/src/types.ts +18 -0
package/package.json
CHANGED
package/src/resolver.ts
CHANGED
|
@@ -39,6 +39,7 @@ export function resolveConfig(userConfig: AimuxUserConfig): ResolvedConfig {
|
|
|
39
39
|
externalEditor: userConfig.externalEditor ?? {},
|
|
40
40
|
gitPane: resolveGitPane(userConfig.gitPane),
|
|
41
41
|
hooks: userConfig.hooks ?? {},
|
|
42
|
+
integrations: resolveIntegrations(userConfig.integrations),
|
|
42
43
|
keymaps,
|
|
43
44
|
multiRepo,
|
|
44
45
|
sessionBar: resolveSessionBar(userConfig.sessionBar),
|
|
@@ -50,6 +51,14 @@ export function resolveConfig(userConfig: AimuxUserConfig): ResolvedConfig {
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
|
|
54
|
+
function resolveIntegrations(
|
|
55
|
+
userConfig: AimuxUserConfig['integrations']
|
|
56
|
+
): ResolvedConfig['integrations'] {
|
|
57
|
+
return {
|
|
58
|
+
claudeHooks: userConfig?.claudeHooks === true,
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
53
62
|
function resolveSnippetTriggerChar(value: string | undefined): string {
|
|
54
63
|
return typeof value === 'string' && value.length === 1 ? value : ':'
|
|
55
64
|
}
|
package/src/types.ts
CHANGED
|
@@ -1004,6 +1004,20 @@ export interface ExternalEditorConfig {
|
|
|
1004
1004
|
terminal?: string[]
|
|
1005
1005
|
}
|
|
1006
1006
|
|
|
1007
|
+
export interface AimuxIntegrationsConfig {
|
|
1008
|
+
/**
|
|
1009
|
+
* Opt-in: install Claude Code lifecycle hooks into `~/.claude/settings.json`
|
|
1010
|
+
* so per-tab activity (working / waiting-input / idle) is driven by Claude's
|
|
1011
|
+
* own events rather than visual scraping of the terminal. Off by default.
|
|
1012
|
+
*
|
|
1013
|
+
* When enabled, aimux writes six entries marked `__aimux: true` into the
|
|
1014
|
+
* user's settings file at startup, and the daemon publishes a hook URL on
|
|
1015
|
+
* `127.0.0.1` for Claude to call back into. Unrelated hooks the user has
|
|
1016
|
+
* configured are preserved. See `docs/guide/claude-integration.md`.
|
|
1017
|
+
*/
|
|
1018
|
+
claudeHooks?: boolean
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1007
1021
|
export interface AimuxUserConfig {
|
|
1008
1022
|
theme?: AimuxThemeConfig
|
|
1009
1023
|
keymaps?: (k: KeymapBuilderApi) => KeymapBuilderApi
|
|
@@ -1023,6 +1037,7 @@ export interface AimuxUserConfig {
|
|
|
1023
1037
|
multiRepo?: Partial<MultiRepoConfig>
|
|
1024
1038
|
statusBar?: StatusBarConfig
|
|
1025
1039
|
externalEditor?: ExternalEditorConfig
|
|
1040
|
+
integrations?: AimuxIntegrationsConfig
|
|
1026
1041
|
}
|
|
1027
1042
|
|
|
1028
1043
|
// ─── Resolved config (internal) ───────────────────────────────────────────────
|
|
@@ -1096,4 +1111,7 @@ export interface ResolvedConfig {
|
|
|
1096
1111
|
multiRepo: MultiRepoConfig
|
|
1097
1112
|
statusBar: StatusBarConfig
|
|
1098
1113
|
externalEditor: ExternalEditorConfig
|
|
1114
|
+
integrations: {
|
|
1115
|
+
claudeHooks: boolean
|
|
1116
|
+
}
|
|
1099
1117
|
}
|