@wingman-ai/gateway 0.2.2 → 0.2.4
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/.wingman/agents/README.md +7 -1
- package/.wingman/agents/coding/agent.md +299 -201
- package/.wingman/agents/coding-v2/agent.md +127 -0
- package/.wingman/agents/coding-v2/implementor.md +89 -0
- package/.wingman/agents/main/agent.md +4 -0
- package/README.md +1 -0
- package/dist/agent/config/agentConfig.cjs +31 -17
- package/dist/agent/config/agentConfig.d.ts +23 -1
- package/dist/agent/config/agentConfig.js +30 -19
- package/dist/agent/config/agentLoader.cjs +26 -8
- package/dist/agent/config/agentLoader.d.ts +4 -2
- package/dist/agent/config/agentLoader.js +26 -8
- package/dist/agent/config/modelFactory.cjs +95 -25
- package/dist/agent/config/modelFactory.d.ts +13 -1
- package/dist/agent/config/modelFactory.js +95 -25
- package/dist/agent/config/toolRegistry.cjs +19 -6
- package/dist/agent/config/toolRegistry.d.ts +5 -2
- package/dist/agent/config/toolRegistry.js +19 -6
- package/dist/agent/middleware/hooks/types.cjs +13 -13
- package/dist/agent/middleware/hooks/types.d.ts +1 -1
- package/dist/agent/middleware/hooks/types.js +14 -14
- package/dist/agent/tests/agentConfig.test.cjs +22 -2
- package/dist/agent/tests/agentConfig.test.js +22 -2
- package/dist/agent/tests/agentLoader.test.cjs +38 -1
- package/dist/agent/tests/agentLoader.test.js +38 -1
- package/dist/agent/tests/backgroundTerminal.test.cjs +70 -0
- package/dist/agent/tests/backgroundTerminal.test.d.ts +1 -0
- package/dist/agent/tests/backgroundTerminal.test.js +64 -0
- package/dist/agent/tests/commandExecuteTool.test.cjs +29 -0
- package/dist/agent/tests/commandExecuteTool.test.d.ts +1 -0
- package/dist/agent/tests/commandExecuteTool.test.js +23 -0
- package/dist/agent/tests/modelFactory.test.cjs +47 -5
- package/dist/agent/tests/modelFactory.test.js +47 -5
- package/dist/agent/tests/terminalSessionManager.test.cjs +121 -0
- package/dist/agent/tests/terminalSessionManager.test.d.ts +1 -0
- package/dist/agent/tests/terminalSessionManager.test.js +115 -0
- package/dist/agent/tests/toolRegistry.test.cjs +14 -2
- package/dist/agent/tests/toolRegistry.test.js +14 -2
- package/dist/agent/tools/background_terminal.cjs +128 -0
- package/dist/agent/tools/background_terminal.d.ts +41 -0
- package/dist/agent/tools/background_terminal.js +94 -0
- package/dist/agent/tools/code_search.cjs +6 -6
- package/dist/agent/tools/code_search.d.ts +1 -1
- package/dist/agent/tools/code_search.js +7 -7
- package/dist/agent/tools/command_execute.cjs +22 -7
- package/dist/agent/tools/command_execute.d.ts +3 -2
- package/dist/agent/tools/command_execute.js +23 -8
- package/dist/agent/tools/git_status.cjs +3 -3
- package/dist/agent/tools/git_status.d.ts +1 -1
- package/dist/agent/tools/git_status.js +4 -4
- package/dist/agent/tools/internet_search.cjs +6 -6
- package/dist/agent/tools/internet_search.d.ts +1 -1
- package/dist/agent/tools/internet_search.js +7 -7
- package/dist/agent/tools/terminal_session_manager.cjs +321 -0
- package/dist/agent/tools/terminal_session_manager.d.ts +77 -0
- package/dist/agent/tools/terminal_session_manager.js +284 -0
- package/dist/agent/tools/think.cjs +4 -4
- package/dist/agent/tools/think.d.ts +1 -1
- package/dist/agent/tools/think.js +5 -5
- package/dist/agent/tools/ui_registry.cjs +13 -13
- package/dist/agent/tools/ui_registry.d.ts +4 -4
- package/dist/agent/tools/ui_registry.js +14 -14
- package/dist/agent/tools/web_crawler.cjs +4 -4
- package/dist/agent/tools/web_crawler.d.ts +1 -1
- package/dist/agent/tools/web_crawler.js +5 -5
- package/dist/agent/utils.cjs +2 -1
- package/dist/agent/utils.js +2 -1
- package/dist/cli/commands/init.cjs +7 -6
- package/dist/cli/commands/init.js +7 -6
- package/dist/cli/commands/provider.cjs +17 -3
- package/dist/cli/commands/provider.js +17 -3
- package/dist/cli/config/loader.cjs +27 -0
- package/dist/cli/config/loader.js +27 -0
- package/dist/cli/config/schema.cjs +146 -68
- package/dist/cli/config/schema.d.ts +89 -1
- package/dist/cli/config/schema.js +134 -68
- package/dist/cli/core/agentInvoker.cjs +344 -17
- package/dist/cli/core/agentInvoker.d.ts +63 -3
- package/dist/cli/core/agentInvoker.js +303 -12
- package/dist/cli/core/sessionManager.cjs +32 -5
- package/dist/cli/core/sessionManager.js +32 -5
- package/dist/cli/core/streamParser.cjs +15 -0
- package/dist/cli/core/streamParser.js +15 -0
- package/dist/cli/index.cjs +6 -5
- package/dist/cli/index.js +6 -5
- package/dist/cli/types.d.ts +32 -0
- package/dist/cli/ui/toolDisplayHelpers.cjs +2 -0
- package/dist/cli/ui/toolDisplayHelpers.js +2 -0
- package/dist/gateway/hooks/registry.cjs +2 -1
- package/dist/gateway/hooks/registry.d.ts +1 -1
- package/dist/gateway/hooks/registry.js +2 -1
- package/dist/gateway/hooks/types.cjs +11 -11
- package/dist/gateway/hooks/types.d.ts +1 -1
- package/dist/gateway/hooks/types.js +12 -12
- package/dist/gateway/http/agents.cjs +67 -4
- package/dist/gateway/http/agents.js +67 -4
- package/dist/gateway/http/sessions.cjs +7 -7
- package/dist/gateway/http/sessions.js +7 -7
- package/dist/gateway/http/types.d.ts +5 -3
- package/dist/gateway/http/webhooks.cjs +6 -5
- package/dist/gateway/http/webhooks.js +6 -5
- package/dist/gateway/server.cjs +198 -41
- package/dist/gateway/server.d.ts +9 -1
- package/dist/gateway/server.js +198 -41
- package/dist/gateway/types.d.ts +1 -0
- package/dist/gateway/validation.cjs +39 -39
- package/dist/gateway/validation.d.ts +1 -1
- package/dist/gateway/validation.js +40 -40
- package/dist/providers/codex.cjs +167 -0
- package/dist/providers/codex.d.ts +15 -0
- package/dist/providers/codex.js +127 -0
- package/dist/providers/credentials.cjs +8 -0
- package/dist/providers/credentials.js +8 -0
- package/dist/providers/registry.cjs +11 -0
- package/dist/providers/registry.d.ts +1 -1
- package/dist/providers/registry.js +11 -0
- package/dist/tests/additionalMessageMiddleware.test.cjs +3 -0
- package/dist/tests/additionalMessageMiddleware.test.js +3 -0
- package/dist/tests/agentInvokerSummarization.test.cjs +455 -0
- package/dist/tests/agentInvokerSummarization.test.d.ts +1 -0
- package/dist/tests/agentInvokerSummarization.test.js +449 -0
- package/dist/tests/agents-api.test.cjs +45 -5
- package/dist/tests/agents-api.test.js +45 -5
- package/dist/tests/cli-config-loader.test.cjs +88 -0
- package/dist/tests/cli-config-loader.test.js +88 -0
- package/dist/tests/cli-init.test.cjs +27 -3
- package/dist/tests/cli-init.test.js +27 -3
- package/dist/tests/codex-credentials-precedence.test.cjs +94 -0
- package/dist/tests/codex-credentials-precedence.test.d.ts +1 -0
- package/dist/tests/codex-credentials-precedence.test.js +88 -0
- package/dist/tests/codex-provider.test.cjs +210 -0
- package/dist/tests/codex-provider.test.d.ts +1 -0
- package/dist/tests/codex-provider.test.js +204 -0
- package/dist/tests/gateway.test.cjs +115 -8
- package/dist/tests/gateway.test.js +115 -8
- package/dist/tests/provider-command-codex.test.cjs +57 -0
- package/dist/tests/provider-command-codex.test.d.ts +1 -0
- package/dist/tests/provider-command-codex.test.js +51 -0
- package/dist/tests/sessionStateMessages.test.cjs +38 -0
- package/dist/tests/sessionStateMessages.test.js +38 -0
- package/dist/tests/toolDisplayHelpers.test.cjs +3 -0
- package/dist/tests/toolDisplayHelpers.test.js +3 -0
- package/dist/tools/mcp-finance.cjs +48 -48
- package/dist/tools/mcp-finance.js +48 -48
- package/dist/types/mcp.cjs +15 -15
- package/dist/types/mcp.d.ts +1 -1
- package/dist/types/mcp.js +16 -16
- package/dist/types/voice.cjs +21 -21
- package/dist/types/voice.d.ts +1 -1
- package/dist/types/voice.js +22 -22
- package/dist/webui/assets/index-DVWQluit.css +11 -0
- package/dist/webui/assets/index-Dlyzwalc.js +270 -0
- package/dist/webui/favicon-32x32.png +0 -0
- package/dist/webui/favicon-64x64.png +0 -0
- package/dist/webui/favicon.webp +0 -0
- package/dist/webui/index.html +4 -2
- package/package.json +13 -12
- package/.wingman/agents/coding/implementor.md +0 -79
- package/dist/webui/assets/index-CPhfGPHc.js +0 -182
- package/dist/webui/assets/index-DDsMIOTX.css +0 -11
|
@@ -1,58 +1,97 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ZodError, any, array, boolean as external_zod_boolean, enum as external_zod_enum, number, object, record, string, union } from "zod";
|
|
2
2
|
import { HooksConfigSchema } from "../../agent/middleware/hooks/types.js";
|
|
3
3
|
import { InternalHooksConfigSchema } from "../../gateway/hooks/types.js";
|
|
4
4
|
import { MCPServersConfigSchema } from "../../types/mcp.js";
|
|
5
5
|
import { VoiceConfigSchema } from "../../types/voice.js";
|
|
6
|
-
const SearchConfigSchema =
|
|
7
|
-
provider:
|
|
6
|
+
const SearchConfigSchema = object({
|
|
7
|
+
provider: external_zod_enum([
|
|
8
8
|
"duckduckgo",
|
|
9
9
|
"perplexity"
|
|
10
10
|
]).default("duckduckgo").describe("Search provider to use"),
|
|
11
|
-
maxResults:
|
|
11
|
+
maxResults: number().min(1).max(20).optional().default(5).describe("Maximum number of search results to return")
|
|
12
12
|
});
|
|
13
|
-
const SkillsConfigSchema =
|
|
14
|
-
repositoryOwner:
|
|
15
|
-
repositoryName:
|
|
16
|
-
githubToken:
|
|
17
|
-
skillsDirectory:
|
|
13
|
+
const SkillsConfigSchema = object({
|
|
14
|
+
repositoryOwner: string().default("anthropics").describe("GitHub repository owner for skills"),
|
|
15
|
+
repositoryName: string().default("skills").describe("GitHub repository name for skills"),
|
|
16
|
+
githubToken: string().optional().describe("GitHub personal access token for higher API rate limits"),
|
|
17
|
+
skillsDirectory: string().default("skills").describe("Directory to install skills in")
|
|
18
18
|
});
|
|
19
|
-
const
|
|
20
|
-
|
|
19
|
+
const SummarizationConfigSchema = object({
|
|
20
|
+
enabled: external_zod_boolean().optional().default(true).describe("Enable conversation history summarization"),
|
|
21
|
+
maxTokensBeforeSummary: number().min(1000).max(1000000).optional().default(12000).describe("Token threshold before summarizing conversation history"),
|
|
22
|
+
messagesToKeep: number().min(2).max(100).optional().default(8).describe("How many most recent messages to keep after summarization")
|
|
23
|
+
});
|
|
24
|
+
const RetryOnFailureSchema = external_zod_enum([
|
|
25
|
+
"continue",
|
|
26
|
+
"error"
|
|
27
|
+
]);
|
|
28
|
+
const BaseRetryConfigSchema = object({
|
|
29
|
+
enabled: external_zod_boolean().optional().default(false).describe("Enable retry middleware"),
|
|
30
|
+
maxRetries: number().min(0).max(20).optional().default(2).describe("Maximum number of retry attempts"),
|
|
31
|
+
backoffFactor: number().min(0).max(10).optional().default(2).describe("Exponential backoff multiplier"),
|
|
32
|
+
initialDelayMs: number().min(0).max(120000).optional().default(1000).describe("Initial delay before first retry in milliseconds"),
|
|
33
|
+
maxDelayMs: number().min(0).max(300000).optional().default(60000).describe("Maximum backoff delay in milliseconds"),
|
|
34
|
+
jitter: external_zod_boolean().optional().default(true).describe("Add randomized jitter to retry delays"),
|
|
35
|
+
onFailure: RetryOnFailureSchema.optional().default("continue").describe("Behavior when retries are exhausted")
|
|
36
|
+
});
|
|
37
|
+
const ModelRetryConfigSchema = BaseRetryConfigSchema;
|
|
38
|
+
const ToolRetryConfigSchema = BaseRetryConfigSchema.extend({
|
|
39
|
+
tools: array(string().min(1)).optional().describe("Optional list of tool names to apply retry logic to")
|
|
40
|
+
});
|
|
41
|
+
const AllowedDecisionSchema = external_zod_enum([
|
|
42
|
+
"approve",
|
|
43
|
+
"edit",
|
|
44
|
+
"reject"
|
|
45
|
+
]);
|
|
46
|
+
const InterruptOnToolConfigSchema = union([
|
|
47
|
+
external_zod_boolean(),
|
|
48
|
+
object({
|
|
49
|
+
allowedDecisions: array(AllowedDecisionSchema).min(1).describe("Allowed decisions for this tool"),
|
|
50
|
+
description: string().optional().describe("Optional custom review prompt for this tool"),
|
|
51
|
+
argsSchema: record(string(), any()).optional().describe("Optional argument schema for edit decisions")
|
|
52
|
+
})
|
|
53
|
+
]);
|
|
54
|
+
const HumanInTheLoopConfigSchema = object({
|
|
55
|
+
enabled: external_zod_boolean().optional().default(false).describe("Enable human-in-the-loop tool approval"),
|
|
56
|
+
interruptOn: record(string(), InterruptOnToolConfigSchema).optional().default({}).describe("Per-tool approval policy mapping")
|
|
57
|
+
});
|
|
58
|
+
const GatewayAuthSchema = object({
|
|
59
|
+
mode: external_zod_enum([
|
|
21
60
|
"token",
|
|
22
61
|
"password",
|
|
23
62
|
"none"
|
|
24
63
|
]).default("none"),
|
|
25
|
-
token:
|
|
26
|
-
password:
|
|
27
|
-
allowTailscale:
|
|
64
|
+
token: string().optional(),
|
|
65
|
+
password: string().optional(),
|
|
66
|
+
allowTailscale: external_zod_boolean().optional().default(false)
|
|
28
67
|
}).default({
|
|
29
68
|
mode: "none",
|
|
30
69
|
allowTailscale: false
|
|
31
70
|
});
|
|
32
|
-
const GatewayControlUiSchema =
|
|
33
|
-
enabled:
|
|
34
|
-
port:
|
|
35
|
-
pairingRequired:
|
|
36
|
-
allowInsecureAuth:
|
|
71
|
+
const GatewayControlUiSchema = object({
|
|
72
|
+
enabled: external_zod_boolean().default(true),
|
|
73
|
+
port: number().min(1).max(65535).default(18790),
|
|
74
|
+
pairingRequired: external_zod_boolean().default(true),
|
|
75
|
+
allowInsecureAuth: external_zod_boolean().default(false)
|
|
37
76
|
}).default({
|
|
38
77
|
enabled: true,
|
|
39
78
|
port: 18790,
|
|
40
79
|
pairingRequired: true,
|
|
41
80
|
allowInsecureAuth: false
|
|
42
81
|
});
|
|
43
|
-
const DiscordAdapterSchema =
|
|
44
|
-
enabled:
|
|
45
|
-
token:
|
|
46
|
-
mentionOnly:
|
|
47
|
-
allowBots:
|
|
48
|
-
allowedGuilds:
|
|
49
|
-
allowedChannels:
|
|
50
|
-
channelSessions:
|
|
51
|
-
sessionCommand:
|
|
52
|
-
gatewayUrl:
|
|
53
|
-
gatewayToken:
|
|
54
|
-
gatewayPassword:
|
|
55
|
-
responseChunkSize:
|
|
82
|
+
const DiscordAdapterSchema = object({
|
|
83
|
+
enabled: external_zod_boolean().default(false),
|
|
84
|
+
token: string().optional(),
|
|
85
|
+
mentionOnly: external_zod_boolean().default(true),
|
|
86
|
+
allowBots: external_zod_boolean().default(false),
|
|
87
|
+
allowedGuilds: array(string()).default([]),
|
|
88
|
+
allowedChannels: array(string()).default([]),
|
|
89
|
+
channelSessions: record(string(), string()).default({}),
|
|
90
|
+
sessionCommand: string().default("!session"),
|
|
91
|
+
gatewayUrl: string().optional(),
|
|
92
|
+
gatewayToken: string().optional(),
|
|
93
|
+
gatewayPassword: string().optional(),
|
|
94
|
+
responseChunkSize: number().min(500).max(2000).default(1900)
|
|
56
95
|
}).default({
|
|
57
96
|
enabled: false,
|
|
58
97
|
mentionOnly: true,
|
|
@@ -63,14 +102,14 @@ const DiscordAdapterSchema = z.object({
|
|
|
63
102
|
sessionCommand: "!session",
|
|
64
103
|
responseChunkSize: 1900
|
|
65
104
|
});
|
|
66
|
-
const GatewayAdaptersSchema =
|
|
105
|
+
const GatewayAdaptersSchema = object({
|
|
67
106
|
discord: DiscordAdapterSchema.optional()
|
|
68
107
|
}).default({});
|
|
69
|
-
const GatewayConfigSchema =
|
|
70
|
-
host:
|
|
71
|
-
port:
|
|
72
|
-
stateDir:
|
|
73
|
-
fsRoots:
|
|
108
|
+
const GatewayConfigSchema = object({
|
|
109
|
+
host: string().default("127.0.0.1"),
|
|
110
|
+
port: number().min(1).max(65535).default(18789),
|
|
111
|
+
stateDir: string().optional(),
|
|
112
|
+
fsRoots: array(string()).optional().default([]),
|
|
74
113
|
auth: GatewayAuthSchema.optional().default({
|
|
75
114
|
mode: "none",
|
|
76
115
|
allowTailscale: false
|
|
@@ -81,7 +120,7 @@ const GatewayConfigSchema = z.object({
|
|
|
81
120
|
pairingRequired: true,
|
|
82
121
|
allowInsecureAuth: false
|
|
83
122
|
}),
|
|
84
|
-
dynamicUiEnabled:
|
|
123
|
+
dynamicUiEnabled: external_zod_boolean().optional().default(true),
|
|
85
124
|
adapters: GatewayAdaptersSchema.optional().default({})
|
|
86
125
|
}).default({
|
|
87
126
|
host: "127.0.0.1",
|
|
@@ -100,50 +139,77 @@ const GatewayConfigSchema = z.object({
|
|
|
100
139
|
dynamicUiEnabled: true,
|
|
101
140
|
adapters: {}
|
|
102
141
|
});
|
|
103
|
-
const AgentListItemSchema =
|
|
104
|
-
id:
|
|
105
|
-
name:
|
|
106
|
-
default:
|
|
107
|
-
workspace:
|
|
108
|
-
agentDir:
|
|
109
|
-
model:
|
|
142
|
+
const AgentListItemSchema = object({
|
|
143
|
+
id: string().min(1),
|
|
144
|
+
name: string().optional(),
|
|
145
|
+
default: external_zod_boolean().optional(),
|
|
146
|
+
workspace: string().optional(),
|
|
147
|
+
agentDir: string().optional(),
|
|
148
|
+
model: string().optional()
|
|
110
149
|
});
|
|
111
|
-
const BindingPeerSchema =
|
|
112
|
-
kind:
|
|
150
|
+
const BindingPeerSchema = object({
|
|
151
|
+
kind: external_zod_enum([
|
|
113
152
|
"dm",
|
|
114
153
|
"group",
|
|
115
154
|
"channel"
|
|
116
155
|
]),
|
|
117
|
-
id:
|
|
156
|
+
id: string().min(1)
|
|
118
157
|
});
|
|
119
|
-
const BindingMatchSchema =
|
|
120
|
-
channel:
|
|
121
|
-
accountId:
|
|
122
|
-
guildId:
|
|
123
|
-
teamId:
|
|
158
|
+
const BindingMatchSchema = object({
|
|
159
|
+
channel: string().min(1),
|
|
160
|
+
accountId: string().optional(),
|
|
161
|
+
guildId: string().optional(),
|
|
162
|
+
teamId: string().optional(),
|
|
124
163
|
peer: BindingPeerSchema.optional()
|
|
125
164
|
});
|
|
126
|
-
const BindingSchema =
|
|
127
|
-
agentId:
|
|
165
|
+
const BindingSchema = object({
|
|
166
|
+
agentId: string().min(1),
|
|
128
167
|
match: BindingMatchSchema
|
|
129
168
|
});
|
|
130
|
-
const AgentsConfigSchema =
|
|
131
|
-
list:
|
|
132
|
-
bindings:
|
|
169
|
+
const AgentsConfigSchema = object({
|
|
170
|
+
list: array(AgentListItemSchema).default([]),
|
|
171
|
+
bindings: array(BindingSchema).default([])
|
|
133
172
|
}).default({
|
|
134
173
|
list: [],
|
|
135
174
|
bindings: []
|
|
136
175
|
});
|
|
137
|
-
const WingmanConfigSchema =
|
|
138
|
-
logLevel:
|
|
176
|
+
const WingmanConfigSchema = object({
|
|
177
|
+
logLevel: external_zod_enum([
|
|
139
178
|
"debug",
|
|
140
179
|
"info",
|
|
141
180
|
"warn",
|
|
142
181
|
"error",
|
|
143
182
|
"silent"
|
|
144
183
|
]).optional().default("info"),
|
|
145
|
-
defaultAgent:
|
|
146
|
-
recursionLimit:
|
|
184
|
+
defaultAgent: string().optional(),
|
|
185
|
+
recursionLimit: number().min(1).max(1000000).optional().default(5000),
|
|
186
|
+
summarization: SummarizationConfigSchema.optional().default({
|
|
187
|
+
enabled: true,
|
|
188
|
+
maxTokensBeforeSummary: 12000,
|
|
189
|
+
messagesToKeep: 8
|
|
190
|
+
}),
|
|
191
|
+
modelRetry: ModelRetryConfigSchema.optional().default({
|
|
192
|
+
enabled: true,
|
|
193
|
+
maxRetries: 2,
|
|
194
|
+
backoffFactor: 2,
|
|
195
|
+
initialDelayMs: 1000,
|
|
196
|
+
maxDelayMs: 60000,
|
|
197
|
+
jitter: true,
|
|
198
|
+
onFailure: "continue"
|
|
199
|
+
}),
|
|
200
|
+
toolRetry: ToolRetryConfigSchema.optional().default({
|
|
201
|
+
enabled: false,
|
|
202
|
+
maxRetries: 2,
|
|
203
|
+
backoffFactor: 2,
|
|
204
|
+
initialDelayMs: 1000,
|
|
205
|
+
maxDelayMs: 60000,
|
|
206
|
+
jitter: true,
|
|
207
|
+
onFailure: "continue"
|
|
208
|
+
}),
|
|
209
|
+
humanInTheLoop: HumanInTheLoopConfigSchema.optional().default({
|
|
210
|
+
enabled: false,
|
|
211
|
+
interruptOn: {}
|
|
212
|
+
}),
|
|
147
213
|
toolHooks: HooksConfigSchema.optional().describe("Global tool hooks configuration"),
|
|
148
214
|
hooks: InternalHooksConfigSchema.optional().describe("Internal hook configuration"),
|
|
149
215
|
search: SearchConfigSchema.optional().default({
|
|
@@ -156,9 +222,9 @@ const WingmanConfigSchema = z.object({
|
|
|
156
222
|
webSpeech: {},
|
|
157
223
|
elevenlabs: {}
|
|
158
224
|
}),
|
|
159
|
-
cli:
|
|
160
|
-
theme:
|
|
161
|
-
outputMode:
|
|
225
|
+
cli: object({
|
|
226
|
+
theme: string().default("default"),
|
|
227
|
+
outputMode: external_zod_enum([
|
|
162
228
|
"auto",
|
|
163
229
|
"interactive",
|
|
164
230
|
"json"
|
|
@@ -203,7 +269,7 @@ function validateConfig(data) {
|
|
|
203
269
|
data: validated
|
|
204
270
|
};
|
|
205
271
|
} catch (error) {
|
|
206
|
-
if (error instanceof
|
|
272
|
+
if (error instanceof ZodError) return {
|
|
207
273
|
success: false,
|
|
208
274
|
error: error.issues.map((e)=>`${e.path.join(".")}: ${e.message}`).join(", ")
|
|
209
275
|
};
|
|
@@ -213,4 +279,4 @@ function validateConfig(data) {
|
|
|
213
279
|
};
|
|
214
280
|
}
|
|
215
281
|
}
|
|
216
|
-
export { AgentsConfigSchema, GatewayConfigSchema, SearchConfigSchema, SkillsConfigSchema, WingmanConfigSchema, validateConfig };
|
|
282
|
+
export { AgentsConfigSchema, GatewayConfigSchema, HumanInTheLoopConfigSchema, ModelRetryConfigSchema, SearchConfigSchema, SkillsConfigSchema, SummarizationConfigSchema, ToolRetryConfigSchema, WingmanConfigSchema, validateConfig };
|