agentinit 1.22.1 → 1.24.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/CHANGELOG.md +28 -0
- package/README.md +62 -0
- package/dist/agents/CodexCliAgent.js +1 -1
- package/dist/agents/CodexCliAgent.js.map +1 -1
- package/dist/cli.js +1747 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.d.ts +3 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +391 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +55 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/core/agentSettings/adapters/claude.d.ts +3 -0
- package/dist/core/agentSettings/adapters/claude.d.ts.map +1 -0
- package/dist/core/agentSettings/adapters/claude.js +285 -0
- package/dist/core/agentSettings/adapters/claude.js.map +1 -0
- package/dist/core/agentSettings/adapters/codex.d.ts +3 -0
- package/dist/core/agentSettings/adapters/codex.d.ts.map +1 -0
- package/dist/core/agentSettings/adapters/codex.js +121 -0
- package/dist/core/agentSettings/adapters/codex.js.map +1 -0
- package/dist/core/agentSettings/adapters/opencode.d.ts +3 -0
- package/dist/core/agentSettings/adapters/opencode.d.ts.map +1 -0
- package/dist/core/agentSettings/adapters/opencode.js +134 -0
- package/dist/core/agentSettings/adapters/opencode.js.map +1 -0
- package/dist/core/agentSettings/registry.d.ts +6 -0
- package/dist/core/agentSettings/registry.d.ts.map +1 -0
- package/dist/core/agentSettings/registry.js +24 -0
- package/dist/core/agentSettings/registry.js.map +1 -0
- package/dist/core/agentSettings/settingsManager.d.ts +14 -0
- package/dist/core/agentSettings/settingsManager.d.ts.map +1 -0
- package/dist/core/agentSettings/settingsManager.js +593 -0
- package/dist/core/agentSettings/settingsManager.js.map +1 -0
- package/dist/core/agentSettings/types.d.ts +113 -0
- package/dist/core/agentSettings/types.d.ts.map +1 -0
- package/dist/core/agentSettings/types.js +2 -0
- package/dist/core/agentSettings/types.js.map +1 -0
- package/dist/core/agentSettings/valueParser.d.ts +3 -0
- package/dist/core/agentSettings/valueParser.d.ts.map +1 -0
- package/dist/core/agentSettings/valueParser.js +80 -0
- package/dist/core/agentSettings/valueParser.js.map +1 -0
- package/dist/core/userConfig.d.ts +5 -0
- package/dist/core/userConfig.d.ts.map +1 -1
- package/dist/core/userConfig.js +33 -0
- package/dist/core/userConfig.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import { join } from 'path';
|
|
2
|
+
import { expandTilde } from '../../../utils/paths.js';
|
|
3
|
+
const ALL_SCOPES = ['global', 'project', 'local'];
|
|
4
|
+
const PERSONAL_SCOPES = ['global', 'local'];
|
|
5
|
+
const GLOBAL_CONFIG_SCOPES = ['global'];
|
|
6
|
+
const CLAUDE_HOOK_EVENTS = [
|
|
7
|
+
'PreToolUse',
|
|
8
|
+
'PostToolUse',
|
|
9
|
+
'PostToolUseFailure',
|
|
10
|
+
'Notification',
|
|
11
|
+
'PermissionRequest',
|
|
12
|
+
'Stop',
|
|
13
|
+
'SessionStart',
|
|
14
|
+
'SessionEnd',
|
|
15
|
+
];
|
|
16
|
+
const THEME_VALUES = ['auto', 'dark', 'light', 'light-daltonized', 'dark-daltonized', 'light-ansi', 'dark-ansi'];
|
|
17
|
+
const NOTIFICATION_CHANNELS = ['auto', 'iterm2', 'iterm2_with_bell', 'terminal_bell', 'kitty', 'ghostty', 'notifications_disabled'];
|
|
18
|
+
const TEAMMATE_MODES = ['auto', 'tmux', 'in-process'];
|
|
19
|
+
function setting(key, valueType, title, description, options = {}) {
|
|
20
|
+
const definition = {
|
|
21
|
+
agent: 'claude',
|
|
22
|
+
key,
|
|
23
|
+
nativePath: key.split('.'),
|
|
24
|
+
title,
|
|
25
|
+
description,
|
|
26
|
+
valueType,
|
|
27
|
+
scopes: options.scopes ?? ALL_SCOPES,
|
|
28
|
+
defaultScope: options.defaultScope ?? 'global',
|
|
29
|
+
category: options.category ?? 'settings',
|
|
30
|
+
risk: options.risk ?? 'safe',
|
|
31
|
+
};
|
|
32
|
+
if (options.allowedValues) {
|
|
33
|
+
definition.allowedValues = options.allowedValues;
|
|
34
|
+
}
|
|
35
|
+
if (options.store) {
|
|
36
|
+
definition.store = options.store;
|
|
37
|
+
}
|
|
38
|
+
if (options.deprecated !== undefined) {
|
|
39
|
+
definition.deprecated = options.deprecated;
|
|
40
|
+
}
|
|
41
|
+
if (options.replacement) {
|
|
42
|
+
definition.replacement = options.replacement;
|
|
43
|
+
}
|
|
44
|
+
return definition;
|
|
45
|
+
}
|
|
46
|
+
function globalConfigSetting(key, valueType, title, description, options = {}) {
|
|
47
|
+
return setting(key, valueType, title, description, {
|
|
48
|
+
...options,
|
|
49
|
+
scopes: GLOBAL_CONFIG_SCOPES,
|
|
50
|
+
defaultScope: 'global',
|
|
51
|
+
store: 'globalConfig',
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
export const claudeSettingsAdapter = {
|
|
55
|
+
agent: 'claude',
|
|
56
|
+
displayName: 'Claude Code',
|
|
57
|
+
hookEvents: CLAUDE_HOOK_EVENTS,
|
|
58
|
+
hookScopes: ALL_SCOPES,
|
|
59
|
+
definitions: [
|
|
60
|
+
globalConfigSetting('theme', 'enum', 'Theme', 'Claude Code UI color theme.', {
|
|
61
|
+
allowedValues: THEME_VALUES,
|
|
62
|
+
category: 'ui',
|
|
63
|
+
}),
|
|
64
|
+
globalConfigSetting('editorMode', 'enum', 'Editor mode', 'Keyboard editing mode.', {
|
|
65
|
+
allowedValues: ['normal', 'vim'],
|
|
66
|
+
category: 'ui',
|
|
67
|
+
}),
|
|
68
|
+
globalConfigSetting('verbose', 'boolean', 'Verbose output', 'Show detailed debug output.', {
|
|
69
|
+
category: 'runtime',
|
|
70
|
+
}),
|
|
71
|
+
globalConfigSetting('preferredNotifChannel', 'enum', 'Notification channel', 'Preferred local notification delivery method.', {
|
|
72
|
+
allowedValues: NOTIFICATION_CHANNELS,
|
|
73
|
+
category: 'notifications',
|
|
74
|
+
}),
|
|
75
|
+
globalConfigSetting('autoCompactEnabled', 'boolean', 'Auto compact', 'Auto-compact conversation context when it gets full.', {
|
|
76
|
+
category: 'runtime',
|
|
77
|
+
}),
|
|
78
|
+
globalConfigSetting('fileCheckpointingEnabled', 'boolean', 'File checkpointing', 'Enable code rewind checkpoint snapshots.', {
|
|
79
|
+
category: 'runtime',
|
|
80
|
+
}),
|
|
81
|
+
globalConfigSetting('showTurnDuration', 'boolean', 'Turn duration', 'Show how long Claude spent on each turn.', {
|
|
82
|
+
category: 'ui',
|
|
83
|
+
}),
|
|
84
|
+
globalConfigSetting('terminalProgressBarEnabled', 'boolean', 'Terminal progress bar', 'Show terminal progress in supported terminals.', {
|
|
85
|
+
category: 'ui',
|
|
86
|
+
}),
|
|
87
|
+
globalConfigSetting('todoFeatureEnabled', 'boolean', 'Todo feature', 'Enable Claude todo and task tracking.', {
|
|
88
|
+
category: 'ui',
|
|
89
|
+
}),
|
|
90
|
+
globalConfigSetting('teammateMode', 'enum', 'Teammate mode', 'Control how Claude spawns teammate agents.', {
|
|
91
|
+
allowedValues: TEAMMATE_MODES,
|
|
92
|
+
category: 'agents',
|
|
93
|
+
}),
|
|
94
|
+
globalConfigSetting('autoConnectIde', 'boolean', 'Auto-connect IDE', 'Auto-connect to an IDE from external terminals.', {
|
|
95
|
+
category: 'ide',
|
|
96
|
+
}),
|
|
97
|
+
globalConfigSetting('autoInstallIdeExtension', 'boolean', 'Auto-install IDE extension', 'Auto-install the IDE extension when supported.', {
|
|
98
|
+
category: 'ide',
|
|
99
|
+
}),
|
|
100
|
+
globalConfigSetting('diffTool', 'enum', 'Diff tool', 'Choose where diffs are shown.', {
|
|
101
|
+
allowedValues: ['terminal', 'auto'],
|
|
102
|
+
category: 'ide',
|
|
103
|
+
}),
|
|
104
|
+
globalConfigSetting('respectGitignore', 'boolean', 'Respect gitignore', 'Hide gitignored files from Claude file pickers.', {
|
|
105
|
+
category: 'ui',
|
|
106
|
+
}),
|
|
107
|
+
globalConfigSetting('copyFullResponse', 'boolean', 'Copy full response', 'Copy full responses without the copy picker flow.', {
|
|
108
|
+
category: 'ui',
|
|
109
|
+
}),
|
|
110
|
+
globalConfigSetting('copyOnSelect', 'boolean', 'Copy on select', 'Copy selected text automatically in fullscreen mode.', {
|
|
111
|
+
category: 'ui',
|
|
112
|
+
}),
|
|
113
|
+
globalConfigSetting('remoteControlAtStartup', 'boolean', 'Remote control at startup', 'Enable Remote Control for new Claude sessions. Unset to restore Claude defaults.', {
|
|
114
|
+
category: 'remote-control',
|
|
115
|
+
}),
|
|
116
|
+
globalConfigSetting('taskCompleteNotifEnabled', 'boolean', 'Task complete push notifications', 'Push when Claude finishes and becomes idle.', {
|
|
117
|
+
category: 'notifications',
|
|
118
|
+
}),
|
|
119
|
+
globalConfigSetting('inputNeededNotifEnabled', 'boolean', 'Input needed push notifications', 'Push when Claude needs user input.', {
|
|
120
|
+
category: 'notifications',
|
|
121
|
+
}),
|
|
122
|
+
globalConfigSetting('agentPushNotifEnabled', 'boolean', 'Agent push notifications', 'Allow Claude to decide when to send push notifications.', {
|
|
123
|
+
category: 'notifications',
|
|
124
|
+
}),
|
|
125
|
+
globalConfigSetting('showStatusInTerminalTab', 'boolean', 'Terminal tab status', 'Show Claude status in the terminal tab status area.', {
|
|
126
|
+
category: 'ui',
|
|
127
|
+
}),
|
|
128
|
+
globalConfigSetting('prStatusFooterEnabled', 'boolean', 'PR status footer', 'Show pull request status in Claude footer.', {
|
|
129
|
+
category: 'git',
|
|
130
|
+
}),
|
|
131
|
+
globalConfigSetting('claudeInChromeDefaultEnabled', 'boolean', 'Claude in Chrome default', 'Enable Claude in Chrome by default.', {
|
|
132
|
+
category: 'browser',
|
|
133
|
+
}),
|
|
134
|
+
globalConfigSetting('teammateDefaultModel', 'string', 'Teammate default model', 'Default model for spawned teammate agents.', {
|
|
135
|
+
category: 'agents',
|
|
136
|
+
}),
|
|
137
|
+
setting('model', 'string', 'Model', 'Override the default Claude Code model.', {
|
|
138
|
+
defaultScope: 'global',
|
|
139
|
+
category: 'model',
|
|
140
|
+
}),
|
|
141
|
+
setting('agent', 'string', 'Agent', 'Run the main thread as a named Claude subagent.', {
|
|
142
|
+
category: 'model',
|
|
143
|
+
}),
|
|
144
|
+
setting('env', 'object', 'Environment', 'Environment variables applied to every Claude Code session.', {
|
|
145
|
+
category: 'runtime',
|
|
146
|
+
}),
|
|
147
|
+
setting('permissions.allow', 'array', 'Allowed permissions', 'Permission rules to allow.', {
|
|
148
|
+
category: 'permissions',
|
|
149
|
+
}),
|
|
150
|
+
setting('permissions.deny', 'array', 'Denied permissions', 'Permission rules to deny.', {
|
|
151
|
+
category: 'permissions',
|
|
152
|
+
}),
|
|
153
|
+
setting('permissions.ask', 'array', 'Ask permissions', 'Permission rules that require confirmation.', {
|
|
154
|
+
category: 'permissions',
|
|
155
|
+
}),
|
|
156
|
+
setting('permissions.defaultMode', 'enum', 'Default permission mode', 'Default permission mode when opening Claude Code.', {
|
|
157
|
+
allowedValues: ['default', 'acceptEdits', 'plan', 'dontAsk'],
|
|
158
|
+
category: 'permissions',
|
|
159
|
+
risk: 'security-sensitive',
|
|
160
|
+
}),
|
|
161
|
+
setting('permissions.disableBypassPermissionsMode', 'enum', 'Disable bypass permissions mode', 'Disable Claude bypass-permissions mode.', {
|
|
162
|
+
allowedValues: ['disable'],
|
|
163
|
+
category: 'permissions',
|
|
164
|
+
risk: 'security-sensitive',
|
|
165
|
+
}),
|
|
166
|
+
setting('permissions.additionalDirectories', 'array', 'Additional directories', 'Additional working directories for file access.', {
|
|
167
|
+
category: 'permissions',
|
|
168
|
+
}),
|
|
169
|
+
setting('worktree.symlinkDirectories', 'array', 'Worktree symlink directories', 'Directories to symlink into Claude Code worktrees.', {
|
|
170
|
+
category: 'worktree',
|
|
171
|
+
}),
|
|
172
|
+
setting('worktree.sparsePaths', 'array', 'Worktree sparse paths', 'Paths to check out via sparse checkout in Claude Code worktrees.', {
|
|
173
|
+
category: 'worktree',
|
|
174
|
+
}),
|
|
175
|
+
setting('plansDirectory', 'string', 'Plans directory', 'Directory where Claude Code stores plan files.', {
|
|
176
|
+
category: 'runtime',
|
|
177
|
+
}),
|
|
178
|
+
setting('autoMemoryDirectory', 'string', 'Auto memory directory', 'Custom directory for Claude Code auto memory storage.', {
|
|
179
|
+
scopes: PERSONAL_SCOPES,
|
|
180
|
+
defaultScope: 'global',
|
|
181
|
+
category: 'memory',
|
|
182
|
+
}),
|
|
183
|
+
setting('autoMemoryEnabled', 'boolean', 'Auto memory', 'Enable automatic memory capture.', {
|
|
184
|
+
defaultScope: 'global',
|
|
185
|
+
category: 'memory',
|
|
186
|
+
}),
|
|
187
|
+
setting('autoDreamEnabled', 'boolean', 'Auto dream', 'Enable background memory consolidation.', {
|
|
188
|
+
defaultScope: 'global',
|
|
189
|
+
category: 'memory',
|
|
190
|
+
}),
|
|
191
|
+
setting('alwaysThinkingEnabled', 'boolean', 'Always thinking', 'Enable extended thinking by default for Claude Code sessions.', {
|
|
192
|
+
defaultScope: 'global',
|
|
193
|
+
category: 'model',
|
|
194
|
+
}),
|
|
195
|
+
setting('effortLevel', 'enum', 'Effort level', 'Persist Claude Code effort level across sessions.', {
|
|
196
|
+
allowedValues: ['low', 'medium', 'high', 'xhigh'],
|
|
197
|
+
defaultScope: 'global',
|
|
198
|
+
category: 'model',
|
|
199
|
+
}),
|
|
200
|
+
setting('prefersReducedMotion', 'boolean', 'Reduced motion', 'Reduce or disable Claude Code UI animations.', {
|
|
201
|
+
defaultScope: 'global',
|
|
202
|
+
category: 'ui',
|
|
203
|
+
}),
|
|
204
|
+
setting('attribution', 'object', 'Attribution', 'Customize Claude Code git commit and pull request attribution.', {
|
|
205
|
+
defaultScope: 'global',
|
|
206
|
+
category: 'git',
|
|
207
|
+
}),
|
|
208
|
+
setting('includeGitInstructions', 'boolean', 'Git instructions', 'Include built-in git workflow instructions in Claude Code context.', {
|
|
209
|
+
defaultScope: 'global',
|
|
210
|
+
category: 'git',
|
|
211
|
+
}),
|
|
212
|
+
setting('cleanupPeriodDays', 'number', 'Cleanup period', 'Delete session files older than this many days at startup.', {
|
|
213
|
+
defaultScope: 'global',
|
|
214
|
+
category: 'runtime',
|
|
215
|
+
}),
|
|
216
|
+
setting('showThinkingSummaries', 'boolean', 'Thinking summaries', 'Show extended thinking summaries in interactive sessions.', {
|
|
217
|
+
defaultScope: 'global',
|
|
218
|
+
category: 'ui',
|
|
219
|
+
}),
|
|
220
|
+
setting('spinnerTipsEnabled', 'boolean', 'Spinner tips', 'Show or hide tips while Claude Code is working.', {
|
|
221
|
+
defaultScope: 'global',
|
|
222
|
+
category: 'ui',
|
|
223
|
+
}),
|
|
224
|
+
setting('autoUpdatesChannel', 'enum', 'Auto updates channel', 'Claude Code release channel for automatic updates.', {
|
|
225
|
+
allowedValues: ['stable', 'latest'],
|
|
226
|
+
defaultScope: 'global',
|
|
227
|
+
category: 'runtime',
|
|
228
|
+
}),
|
|
229
|
+
setting('language', 'string', 'Language', 'Preferred language for Claude responses and voice dictation.', {
|
|
230
|
+
defaultScope: 'global',
|
|
231
|
+
category: 'ui',
|
|
232
|
+
}),
|
|
233
|
+
setting('outputStyle', 'string', 'Output style', 'Claude response output style.', {
|
|
234
|
+
defaultScope: 'global',
|
|
235
|
+
category: 'ui',
|
|
236
|
+
}),
|
|
237
|
+
setting('defaultView', 'enum', 'Default view', 'Default Claude view. Unset to restore Claude defaults.', {
|
|
238
|
+
allowedValues: ['transcript', 'chat'],
|
|
239
|
+
category: 'ui',
|
|
240
|
+
}),
|
|
241
|
+
setting('useAutoModeDuringPlan', 'boolean', 'Use auto mode during plan', 'Allow auto permission mode during plan mode.', {
|
|
242
|
+
scopes: PERSONAL_SCOPES,
|
|
243
|
+
defaultScope: 'global',
|
|
244
|
+
category: 'permissions',
|
|
245
|
+
risk: 'security-sensitive',
|
|
246
|
+
}),
|
|
247
|
+
setting('includeCoAuthoredBy', 'boolean', 'Include co-authored-by', 'Deprecated Claude Code attribution toggle.', {
|
|
248
|
+
defaultScope: 'global',
|
|
249
|
+
category: 'git',
|
|
250
|
+
risk: 'deprecated',
|
|
251
|
+
deprecated: true,
|
|
252
|
+
replacement: 'attribution',
|
|
253
|
+
}),
|
|
254
|
+
setting('enableAllProjectMcpServers', 'boolean', 'Enable all project MCP servers', 'Automatically approve project .mcp.json servers.', {
|
|
255
|
+
category: 'mcp',
|
|
256
|
+
risk: 'security-sensitive',
|
|
257
|
+
}),
|
|
258
|
+
setting('enabledMcpjsonServers', 'array', 'Enabled MCP JSON servers', 'Specific project .mcp.json servers to approve.', {
|
|
259
|
+
category: 'mcp',
|
|
260
|
+
}),
|
|
261
|
+
setting('disabledMcpjsonServers', 'array', 'Disabled MCP JSON servers', 'Specific project .mcp.json servers to reject.', {
|
|
262
|
+
category: 'mcp',
|
|
263
|
+
}),
|
|
264
|
+
setting('skipDangerousModePermissionPrompt', 'boolean', 'Skip dangerous mode prompt', 'Skip confirmation before bypass permissions mode.', {
|
|
265
|
+
scopes: PERSONAL_SCOPES,
|
|
266
|
+
defaultScope: 'global',
|
|
267
|
+
category: 'permissions',
|
|
268
|
+
risk: 'security-sensitive',
|
|
269
|
+
}),
|
|
270
|
+
],
|
|
271
|
+
getSettingsPath(scope, projectPath, definition) {
|
|
272
|
+
if (definition?.store === 'globalConfig') {
|
|
273
|
+
return expandTilde('~/.claude.json');
|
|
274
|
+
}
|
|
275
|
+
switch (scope) {
|
|
276
|
+
case 'global':
|
|
277
|
+
return expandTilde('~/.claude/settings.json');
|
|
278
|
+
case 'project':
|
|
279
|
+
return join(projectPath, '.claude', 'settings.json');
|
|
280
|
+
case 'local':
|
|
281
|
+
return join(projectPath, '.claude', 'settings.local.json');
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
};
|
|
285
|
+
//# sourceMappingURL=claude.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/core/agentSettings/adapters/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/core/agentSettings/adapters/codex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,oBAAoB,EAA8C,MAAM,aAAa,CAAC;AAyDpH,eAAO,MAAM,oBAAoB,EAAE,oBA8ElC,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { join } from 'path';
|
|
2
|
+
import { expandTilde } from '../../../utils/paths.js';
|
|
3
|
+
const ALL_SCOPES = ['global', 'project'];
|
|
4
|
+
const CODEX_HOOK_EVENTS = [
|
|
5
|
+
'PreToolUse',
|
|
6
|
+
'PermissionRequest',
|
|
7
|
+
'PostToolUse',
|
|
8
|
+
'SessionStart',
|
|
9
|
+
'UserPromptSubmit',
|
|
10
|
+
'Stop',
|
|
11
|
+
];
|
|
12
|
+
function setting(key, valueType, title, description, options = {}) {
|
|
13
|
+
const definition = {
|
|
14
|
+
agent: 'codex',
|
|
15
|
+
key,
|
|
16
|
+
nativePath: key.split('.'),
|
|
17
|
+
title,
|
|
18
|
+
description,
|
|
19
|
+
valueType,
|
|
20
|
+
scopes: options.scopes ?? ALL_SCOPES,
|
|
21
|
+
defaultScope: options.defaultScope ?? 'global',
|
|
22
|
+
category: options.category ?? 'settings',
|
|
23
|
+
risk: options.risk ?? 'safe',
|
|
24
|
+
};
|
|
25
|
+
if (options.allowedValues) {
|
|
26
|
+
definition.allowedValues = options.allowedValues;
|
|
27
|
+
}
|
|
28
|
+
if (options.deprecated !== undefined) {
|
|
29
|
+
definition.deprecated = options.deprecated;
|
|
30
|
+
}
|
|
31
|
+
if (options.replacement) {
|
|
32
|
+
definition.replacement = options.replacement;
|
|
33
|
+
}
|
|
34
|
+
return definition;
|
|
35
|
+
}
|
|
36
|
+
function featureSetting(key, title, description, options = {}) {
|
|
37
|
+
return setting(`features.${key}`, 'boolean', title, description, {
|
|
38
|
+
...options,
|
|
39
|
+
category: 'features',
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export const codexSettingsAdapter = {
|
|
43
|
+
agent: 'codex',
|
|
44
|
+
displayName: 'OpenAI Codex CLI',
|
|
45
|
+
format: 'toml',
|
|
46
|
+
hookEvents: CODEX_HOOK_EVENTS,
|
|
47
|
+
hookScopes: ALL_SCOPES,
|
|
48
|
+
definitions: [
|
|
49
|
+
setting('model', 'string', 'Model', 'Override the default Codex model.', {
|
|
50
|
+
category: 'model',
|
|
51
|
+
}),
|
|
52
|
+
setting('model_provider', 'string', 'Model provider', 'Select a configured model provider.', {
|
|
53
|
+
category: 'model',
|
|
54
|
+
}),
|
|
55
|
+
setting('model_reasoning_effort', 'enum', 'Reasoning effort', 'Reasoning effort for supported models.', {
|
|
56
|
+
allowedValues: ['minimal', 'low', 'medium', 'high'],
|
|
57
|
+
category: 'model',
|
|
58
|
+
}),
|
|
59
|
+
setting('approval_policy', 'enum', 'Approval policy', 'Control when Codex asks for approval before running commands.', {
|
|
60
|
+
allowedValues: ['untrusted', 'on-failure', 'on-request', 'never'],
|
|
61
|
+
category: 'permissions',
|
|
62
|
+
risk: 'security-sensitive',
|
|
63
|
+
}),
|
|
64
|
+
setting('sandbox_mode', 'enum', 'Sandbox mode', 'Control Codex command sandboxing.', {
|
|
65
|
+
allowedValues: ['read-only', 'workspace-write', 'danger-full-access'],
|
|
66
|
+
category: 'permissions',
|
|
67
|
+
risk: 'security-sensitive',
|
|
68
|
+
}),
|
|
69
|
+
setting('web_search', 'enum', 'Web search', 'Top-level Codex web search mode.', {
|
|
70
|
+
allowedValues: ['live', 'cached', 'disabled'],
|
|
71
|
+
category: 'tools',
|
|
72
|
+
}),
|
|
73
|
+
setting('notify', 'array', 'Notifications', 'Program arguments for a notification command run after agent turns.', {
|
|
74
|
+
category: 'notifications',
|
|
75
|
+
}),
|
|
76
|
+
setting('instructions', 'string', 'Instructions', 'Additional user instructions for Codex.', {
|
|
77
|
+
category: 'runtime',
|
|
78
|
+
}),
|
|
79
|
+
setting('model_instructions_file', 'string', 'Model instructions file', 'Path to a model instructions file for Codex.', {
|
|
80
|
+
category: 'runtime',
|
|
81
|
+
}),
|
|
82
|
+
featureSetting('apps', 'Apps', 'Enable ChatGPT Apps/connectors support.', {
|
|
83
|
+
risk: 'risky',
|
|
84
|
+
}),
|
|
85
|
+
featureSetting('codex_hooks', 'Codex hooks', 'Enable lifecycle hooks from hooks.json or inline [hooks].'),
|
|
86
|
+
featureSetting('fast_mode', 'Fast mode', 'Enable Fast mode selection and the service_tier = "fast" path.'),
|
|
87
|
+
featureSetting('memories', 'Memories', 'Enable Codex Memories.'),
|
|
88
|
+
featureSetting('multi_agent', 'Multi-agent', 'Enable subagent collaboration tools.'),
|
|
89
|
+
featureSetting('personality', 'Personality', 'Enable personality selection controls.'),
|
|
90
|
+
featureSetting('shell_snapshot', 'Shell snapshot', 'Snapshot your shell environment to speed up repeated commands.'),
|
|
91
|
+
featureSetting('shell_tool', 'Shell tool', 'Enable the default shell tool.'),
|
|
92
|
+
featureSetting('unified_exec', 'Unified exec', 'Use the unified PTY-backed exec tool.'),
|
|
93
|
+
featureSetting('undo', 'Undo', 'Enable undo via per-turn git ghost snapshots.'),
|
|
94
|
+
featureSetting('web_search', 'Legacy web search feature', 'Deprecated legacy web search feature toggle; prefer top-level web_search.', {
|
|
95
|
+
risk: 'deprecated',
|
|
96
|
+
deprecated: true,
|
|
97
|
+
replacement: 'web_search',
|
|
98
|
+
}),
|
|
99
|
+
featureSetting('web_search_cached', 'Legacy cached web search', 'Deprecated legacy toggle that maps to web_search = "cached" when unset.', {
|
|
100
|
+
risk: 'deprecated',
|
|
101
|
+
deprecated: true,
|
|
102
|
+
replacement: 'web_search',
|
|
103
|
+
}),
|
|
104
|
+
featureSetting('web_search_request', 'Legacy live web search', 'Deprecated legacy toggle that maps to web_search = "live" when unset.', {
|
|
105
|
+
risk: 'deprecated',
|
|
106
|
+
deprecated: true,
|
|
107
|
+
replacement: 'web_search',
|
|
108
|
+
}),
|
|
109
|
+
],
|
|
110
|
+
getSettingsPath(scope, projectPath) {
|
|
111
|
+
switch (scope) {
|
|
112
|
+
case 'global':
|
|
113
|
+
return expandTilde('~/.codex/config.toml');
|
|
114
|
+
case 'project':
|
|
115
|
+
return join(projectPath, '.codex', 'config.toml');
|
|
116
|
+
case 'local':
|
|
117
|
+
return join(projectPath, '.codex', 'config.toml');
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/core/agentSettings/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/core/agentSettings/adapters/opencode.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAA8C,MAAM,aAAa,CAAC;AA0CpG,eAAO,MAAM,uBAAuB,EAAE,oBAoGrC,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { existsSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { expandTilde } from '../../../utils/paths.js';
|
|
4
|
+
const SUPPORTED_SCOPES = ['global', 'project'];
|
|
5
|
+
const PERMISSION_ACTIONS = ['allow', 'ask', 'deny'];
|
|
6
|
+
function firstExistingPath(paths, fallback) {
|
|
7
|
+
return paths.find(candidate => existsSync(candidate)) ?? fallback;
|
|
8
|
+
}
|
|
9
|
+
function setting(key, valueType, title, description, options = {}) {
|
|
10
|
+
const definition = {
|
|
11
|
+
agent: 'opencode',
|
|
12
|
+
key,
|
|
13
|
+
nativePath: options.nativePath ?? key.split('.'),
|
|
14
|
+
title,
|
|
15
|
+
description,
|
|
16
|
+
valueType,
|
|
17
|
+
scopes: options.scopes ?? SUPPORTED_SCOPES,
|
|
18
|
+
defaultScope: options.defaultScope ?? 'global',
|
|
19
|
+
category: options.category ?? 'settings',
|
|
20
|
+
risk: options.risk ?? 'safe',
|
|
21
|
+
};
|
|
22
|
+
if (options.allowedValues) {
|
|
23
|
+
definition.allowedValues = options.allowedValues;
|
|
24
|
+
}
|
|
25
|
+
if (options.deprecated !== undefined) {
|
|
26
|
+
definition.deprecated = options.deprecated;
|
|
27
|
+
}
|
|
28
|
+
if (options.replacement) {
|
|
29
|
+
definition.replacement = options.replacement;
|
|
30
|
+
}
|
|
31
|
+
return definition;
|
|
32
|
+
}
|
|
33
|
+
export const opencodeSettingsAdapter = {
|
|
34
|
+
agent: 'opencode',
|
|
35
|
+
displayName: 'OpenCode',
|
|
36
|
+
format: 'jsonc',
|
|
37
|
+
definitions: [
|
|
38
|
+
setting('model', 'string', 'Model', 'Default model identifier in provider/model format (e.g. anthropic/claude-sonnet-4-5).', {
|
|
39
|
+
category: 'model',
|
|
40
|
+
}),
|
|
41
|
+
setting('small_model', 'string', 'Small model', 'Small model used for tasks such as title generation, in provider/model format.', {
|
|
42
|
+
category: 'model',
|
|
43
|
+
}),
|
|
44
|
+
setting('provider', 'object', 'Providers', 'Custom OpenCode provider configurations and model overrides.', {
|
|
45
|
+
category: 'provider',
|
|
46
|
+
risk: 'security-sensitive',
|
|
47
|
+
}),
|
|
48
|
+
setting('default_agent', 'string', 'Default agent', 'Default primary agent to use when none is specified.', {
|
|
49
|
+
category: 'agent',
|
|
50
|
+
}),
|
|
51
|
+
setting('autoupdate', 'booleanOrEnum', 'Auto update', 'Control automatic updates: true, false, or notify.', {
|
|
52
|
+
allowedValues: ['notify'],
|
|
53
|
+
scopes: ['global'],
|
|
54
|
+
defaultScope: 'global',
|
|
55
|
+
category: 'runtime',
|
|
56
|
+
}),
|
|
57
|
+
setting('shell', 'string', 'Shell', 'Default shell to use for terminal and bash tool execution.', {
|
|
58
|
+
category: 'runtime',
|
|
59
|
+
}),
|
|
60
|
+
setting('share', 'enum', 'Share', 'Control sharing behavior: manual, auto, or disabled.', {
|
|
61
|
+
allowedValues: ['manual', 'auto', 'disabled'],
|
|
62
|
+
category: 'sharing',
|
|
63
|
+
}),
|
|
64
|
+
setting('username', 'string', 'Username', 'Custom username displayed in conversations instead of system username.', {
|
|
65
|
+
category: 'ui',
|
|
66
|
+
}),
|
|
67
|
+
setting('logLevel', 'enum', 'Log level', 'Log verbosity level.', {
|
|
68
|
+
allowedValues: ['DEBUG', 'INFO', 'WARN', 'ERROR'],
|
|
69
|
+
category: 'runtime',
|
|
70
|
+
}),
|
|
71
|
+
setting('snapshot', 'boolean', 'Snapshot tracking', 'Enable or disable filesystem snapshot tracking for undo/redo.', {
|
|
72
|
+
category: 'runtime',
|
|
73
|
+
}),
|
|
74
|
+
setting('permission.*', 'enum', 'Default permission', 'Fallback permission rule for all tools: allow, ask, or deny.', {
|
|
75
|
+
nativePath: ['permission', '*'],
|
|
76
|
+
category: 'permissions',
|
|
77
|
+
risk: 'security-sensitive',
|
|
78
|
+
allowedValues: PERMISSION_ACTIONS,
|
|
79
|
+
}),
|
|
80
|
+
setting('permission.bash', 'enum', 'Bash permission', 'Permission rule for shell command execution.', {
|
|
81
|
+
category: 'permissions',
|
|
82
|
+
risk: 'security-sensitive',
|
|
83
|
+
allowedValues: PERMISSION_ACTIONS,
|
|
84
|
+
}),
|
|
85
|
+
setting('permission.read', 'enum', 'Read permission', 'Permission rule for file reads.', {
|
|
86
|
+
category: 'permissions',
|
|
87
|
+
allowedValues: PERMISSION_ACTIONS,
|
|
88
|
+
}),
|
|
89
|
+
setting('permission.edit', 'enum', 'Edit permission', 'Permission rule for editing and writing files.', {
|
|
90
|
+
category: 'permissions',
|
|
91
|
+
risk: 'risky',
|
|
92
|
+
allowedValues: PERMISSION_ACTIONS,
|
|
93
|
+
}),
|
|
94
|
+
setting('permission.webfetch', 'enum', 'Web fetch permission', 'Permission rule for fetching external URLs.', {
|
|
95
|
+
category: 'permissions',
|
|
96
|
+
allowedValues: PERMISSION_ACTIONS,
|
|
97
|
+
}),
|
|
98
|
+
setting('permission.task', 'enum', 'Task permission', 'Permission rule for spawning subagent tasks.', {
|
|
99
|
+
category: 'permissions',
|
|
100
|
+
allowedValues: PERMISSION_ACTIONS,
|
|
101
|
+
}),
|
|
102
|
+
setting('permission.websearch', 'enum', 'Web search permission', 'Permission rule for web search operations.', {
|
|
103
|
+
category: 'permissions',
|
|
104
|
+
allowedValues: PERMISSION_ACTIONS,
|
|
105
|
+
}),
|
|
106
|
+
setting('compaction.auto', 'boolean', 'Auto compaction', 'Enable automatic context compaction when context is full.', {
|
|
107
|
+
category: 'compaction',
|
|
108
|
+
}),
|
|
109
|
+
setting('tool_output.max_lines', 'positiveInteger', 'Tool output max lines', 'Maximum lines of tool output before truncation.', {
|
|
110
|
+
category: 'output',
|
|
111
|
+
}),
|
|
112
|
+
setting('tool_output.max_bytes', 'positiveInteger', 'Tool output max bytes', 'Maximum bytes of tool output before truncation.', {
|
|
113
|
+
category: 'output',
|
|
114
|
+
}),
|
|
115
|
+
],
|
|
116
|
+
getSettingsPath(scope, projectPath) {
|
|
117
|
+
switch (scope) {
|
|
118
|
+
case 'global':
|
|
119
|
+
return firstExistingPath([
|
|
120
|
+
expandTilde('~/.config/opencode/opencode.jsonc'),
|
|
121
|
+
expandTilde('~/.config/opencode/opencode.json'),
|
|
122
|
+
expandTilde('~/.config/opencode/config.json'),
|
|
123
|
+
], expandTilde('~/.config/opencode/opencode.json'));
|
|
124
|
+
case 'project':
|
|
125
|
+
return firstExistingPath([
|
|
126
|
+
join(projectPath, '.opencode', 'opencode.jsonc'),
|
|
127
|
+
join(projectPath, '.opencode', 'opencode.json'),
|
|
128
|
+
], join(projectPath, '.opencode', 'opencode.json'));
|
|
129
|
+
case 'local':
|
|
130
|
+
throw new Error('OpenCode settings do not support local scope. Use --global or --project.');
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/core/agentSettings/adapters/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AgentSettingsAdapter, AgentSettingDefinition, AgentSettingSchemaEntry } from './types.js';
|
|
2
|
+
export declare function getAgentSettingsAdapters(): AgentSettingsAdapter[];
|
|
3
|
+
export declare function getAgentSettingsAdapter(agent: string): AgentSettingsAdapter | undefined;
|
|
4
|
+
export declare function getAgentSettingDefinition(agent: string, key: string): AgentSettingDefinition | undefined;
|
|
5
|
+
export declare function toSchemaEntry(definition: AgentSettingDefinition): AgentSettingSchemaEntry;
|
|
6
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/agentSettings/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAQxG,wBAAgB,wBAAwB,IAAI,oBAAoB,EAAE,CAEjE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAEvF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAExG;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,sBAAsB,GAAG,uBAAuB,CAKzF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { claudeSettingsAdapter } from './adapters/claude.js';
|
|
2
|
+
import { codexSettingsAdapter } from './adapters/codex.js';
|
|
3
|
+
import { opencodeSettingsAdapter } from './adapters/opencode.js';
|
|
4
|
+
const ADAPTERS = [
|
|
5
|
+
claudeSettingsAdapter,
|
|
6
|
+
codexSettingsAdapter,
|
|
7
|
+
opencodeSettingsAdapter,
|
|
8
|
+
];
|
|
9
|
+
export function getAgentSettingsAdapters() {
|
|
10
|
+
return [...ADAPTERS];
|
|
11
|
+
}
|
|
12
|
+
export function getAgentSettingsAdapter(agent) {
|
|
13
|
+
return ADAPTERS.find(adapter => adapter.agent === agent);
|
|
14
|
+
}
|
|
15
|
+
export function getAgentSettingDefinition(agent, key) {
|
|
16
|
+
return getAgentSettingsAdapter(agent)?.definitions.find(definition => definition.key === key);
|
|
17
|
+
}
|
|
18
|
+
export function toSchemaEntry(definition) {
|
|
19
|
+
return {
|
|
20
|
+
...definition,
|
|
21
|
+
nativePath: definition.nativePath.join('.'),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/agentSettings/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,QAAQ,GAA2B;IACvC,qBAAqB;IACrB,oBAAoB;IACpB,uBAAuB;CACxB,CAAC;AAEF,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa,EAAE,GAAW;IAClE,OAAO,uBAAuB,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkC;IAC9D,OAAO;QACL,GAAG,UAAU;QACb,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;KAC5C,CAAC;AACJ,CAAC"}
|