wave-agent-sdk 0.0.5 → 0.0.7
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/dist/agent.d.ts +3 -6
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +24 -21
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/managers/aiManager.d.ts +4 -2
- package/dist/managers/aiManager.d.ts.map +1 -1
- package/dist/managers/aiManager.js +91 -53
- package/dist/managers/backgroundBashManager.d.ts +1 -1
- package/dist/managers/backgroundBashManager.d.ts.map +1 -1
- package/dist/{hooks/manager.d.ts → managers/hookManager.d.ts} +27 -16
- package/dist/managers/hookManager.d.ts.map +1 -0
- package/dist/{hooks/manager.js → managers/hookManager.js} +112 -17
- package/dist/managers/mcpManager.d.ts +1 -1
- package/dist/managers/mcpManager.d.ts.map +1 -1
- package/dist/managers/messageManager.d.ts +20 -15
- package/dist/managers/messageManager.d.ts.map +1 -1
- package/dist/managers/messageManager.js +19 -25
- package/dist/managers/skillManager.d.ts +1 -1
- package/dist/managers/skillManager.d.ts.map +1 -1
- package/dist/managers/slashCommandManager.d.ts +1 -1
- package/dist/managers/slashCommandManager.d.ts.map +1 -1
- package/dist/managers/slashCommandManager.js +5 -2
- package/dist/managers/subagentManager.d.ts +7 -12
- package/dist/managers/subagentManager.d.ts.map +1 -1
- package/dist/managers/subagentManager.js +40 -46
- package/dist/managers/toolManager.d.ts +1 -1
- package/dist/managers/toolManager.d.ts.map +1 -1
- package/dist/services/aiService.d.ts +1 -1
- package/dist/services/aiService.d.ts.map +1 -1
- package/dist/services/aiService.js +8 -1
- package/dist/services/hook.d.ts +56 -0
- package/dist/services/hook.d.ts.map +1 -0
- package/dist/services/hook.js +276 -0
- package/dist/services/session.d.ts +1 -1
- package/dist/services/session.d.ts.map +1 -1
- package/dist/services/session.js +5 -4
- package/dist/tools/taskTool.d.ts.map +1 -1
- package/dist/tools/taskTool.js +7 -3
- package/dist/tools/todoWriteTool.d.ts.map +1 -1
- package/dist/tools/todoWriteTool.js +3 -10
- package/dist/types/commands.d.ts +24 -0
- package/dist/types/commands.d.ts.map +1 -0
- package/dist/types/commands.js +5 -0
- package/dist/types/config.d.ts +13 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +5 -0
- package/dist/types/core.d.ts +38 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/{types.js → types/core.js} +4 -13
- package/dist/{hooks/types.d.ts → types/hooks.d.ts} +2 -1
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +21 -0
- package/dist/types/mcp.d.ts +28 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +5 -0
- package/dist/types/messaging.d.ts +80 -0
- package/dist/types/messaging.d.ts.map +1 -0
- package/dist/types/messaging.js +9 -0
- package/dist/types/processes.d.ts +17 -0
- package/dist/types/processes.d.ts.map +1 -0
- package/dist/types/processes.js +5 -0
- package/dist/types/skills.d.ts +78 -0
- package/dist/types/skills.d.ts.map +1 -0
- package/dist/types/skills.js +17 -0
- package/dist/utils/configResolver.d.ts +1 -1
- package/dist/utils/configResolver.d.ts.map +1 -1
- package/dist/utils/configResolver.js +1 -1
- package/dist/utils/configValidator.d.ts +1 -1
- package/dist/utils/configValidator.d.ts.map +1 -1
- package/dist/utils/configValidator.js +1 -1
- package/dist/utils/convertMessagesForAPI.d.ts +1 -1
- package/dist/utils/convertMessagesForAPI.d.ts.map +1 -1
- package/dist/utils/convertMessagesForAPI.js +1 -8
- package/dist/utils/customCommands.d.ts +1 -1
- package/dist/utils/customCommands.d.ts.map +1 -1
- package/dist/{hooks/matcher.d.ts → utils/hookMatcher.d.ts} +2 -7
- package/dist/utils/hookMatcher.d.ts.map +1 -0
- package/dist/utils/markdownParser.d.ts +1 -1
- package/dist/utils/markdownParser.d.ts.map +1 -1
- package/dist/utils/mcpUtils.d.ts +1 -1
- package/dist/utils/mcpUtils.d.ts.map +1 -1
- package/dist/utils/messageOperations.d.ts +14 -21
- package/dist/utils/messageOperations.d.ts.map +1 -1
- package/dist/utils/messageOperations.js +37 -20
- package/dist/utils/skillParser.d.ts +1 -1
- package/dist/utils/skillParser.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agent.ts +49 -43
- package/src/index.ts +3 -4
- package/src/managers/aiManager.ts +241 -160
- package/src/managers/backgroundBashManager.ts +1 -1
- package/src/{hooks/manager.ts → managers/hookManager.ts} +168 -56
- package/src/managers/mcpManager.ts +1 -1
- package/src/managers/messageManager.ts +44 -44
- package/src/managers/skillManager.ts +1 -1
- package/src/managers/slashCommandManager.ts +10 -7
- package/src/managers/subagentManager.ts +47 -54
- package/src/managers/toolManager.ts +1 -1
- package/src/services/aiService.ts +9 -2
- package/src/services/hook.ts +360 -0
- package/src/services/session.ts +6 -7
- package/src/tools/taskTool.ts +13 -5
- package/src/tools/todoWriteTool.ts +3 -11
- package/src/types/commands.ts +26 -0
- package/src/types/config.ts +14 -0
- package/src/types/core.ts +49 -0
- package/src/{hooks/types.ts → types/hooks.ts} +1 -0
- package/src/types/index.ts +23 -0
- package/src/types/mcp.ts +31 -0
- package/src/types/messaging.ts +102 -0
- package/src/types/processes.ts +18 -0
- package/src/types/skills.ts +91 -0
- package/src/utils/configResolver.ts +1 -1
- package/src/utils/configValidator.ts +5 -1
- package/src/utils/convertMessagesForAPI.ts +2 -10
- package/src/utils/customCommands.ts +1 -1
- package/src/{hooks/matcher.ts → utils/hookMatcher.ts} +1 -12
- package/src/utils/markdownParser.ts +1 -1
- package/src/utils/mcpUtils.ts +1 -1
- package/src/utils/messageOperations.ts +56 -42
- package/src/utils/skillParser.ts +1 -1
- package/dist/hooks/executor.d.ts +0 -56
- package/dist/hooks/executor.d.ts.map +0 -1
- package/dist/hooks/executor.js +0 -312
- package/dist/hooks/index.d.ts +0 -17
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -14
- package/dist/hooks/manager.d.ts.map +0 -1
- package/dist/hooks/matcher.d.ts.map +0 -1
- package/dist/hooks/settings.d.ts +0 -46
- package/dist/hooks/settings.d.ts.map +0 -1
- package/dist/hooks/settings.js +0 -100
- package/dist/hooks/types.d.ts.map +0 -1
- package/dist/types.d.ts +0 -288
- package/dist/types.d.ts.map +0 -1
- package/src/hooks/executor.ts +0 -440
- package/src/hooks/index.ts +0 -52
- package/src/hooks/settings.ts +0 -129
- package/src/types.ts +0 -357
- /package/dist/{hooks/types.js → types/hooks.js} +0 -0
- /package/dist/{hooks/matcher.js → utils/hookMatcher.js} +0 -0
package/src/types.ts
DELETED
|
@@ -1,357 +0,0 @@
|
|
|
1
|
-
import type { ChildProcess } from "child_process";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Logger interface definition
|
|
5
|
-
* Compatible with OpenAI package Logger interface
|
|
6
|
-
*/
|
|
7
|
-
export interface Logger {
|
|
8
|
-
error: (...args: unknown[]) => void;
|
|
9
|
-
warn: (...args: unknown[]) => void;
|
|
10
|
-
info: (...args: unknown[]) => void;
|
|
11
|
-
debug: (...args: unknown[]) => void;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface Message {
|
|
15
|
-
role: "user" | "assistant";
|
|
16
|
-
blocks: MessageBlock[];
|
|
17
|
-
usage?: Usage; // Usage data for this message's AI operation (assistant messages only)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type MessageBlock =
|
|
21
|
-
| TextBlock
|
|
22
|
-
| ErrorBlock
|
|
23
|
-
| ToolBlock
|
|
24
|
-
| ImageBlock
|
|
25
|
-
| DiffBlock
|
|
26
|
-
| CommandOutputBlock
|
|
27
|
-
| CompressBlock
|
|
28
|
-
| MemoryBlock
|
|
29
|
-
| CustomCommandBlock
|
|
30
|
-
| SubagentBlock;
|
|
31
|
-
|
|
32
|
-
export interface TextBlock {
|
|
33
|
-
type: "text";
|
|
34
|
-
content: string;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface ErrorBlock {
|
|
38
|
-
type: "error";
|
|
39
|
-
content: string;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface ToolBlock {
|
|
43
|
-
type: "tool";
|
|
44
|
-
parameters?: string;
|
|
45
|
-
result?: string;
|
|
46
|
-
shortResult?: string; // Add shortResult field
|
|
47
|
-
images?: Array<{
|
|
48
|
-
// Add image data support
|
|
49
|
-
data: string; // Base64 encoded image data
|
|
50
|
-
mediaType?: string; // Media type of the image
|
|
51
|
-
}>;
|
|
52
|
-
id?: string;
|
|
53
|
-
name?: string;
|
|
54
|
-
isRunning?: boolean; // Mark if tool is actually executing
|
|
55
|
-
success?: boolean;
|
|
56
|
-
error?: string | Error;
|
|
57
|
-
compactParams?: string; // Compact parameter display
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export interface ImageBlock {
|
|
61
|
-
type: "image";
|
|
62
|
-
imageUrls?: string[];
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export interface DiffBlock {
|
|
66
|
-
type: "diff";
|
|
67
|
-
path: string;
|
|
68
|
-
diffResult: Array<{
|
|
69
|
-
value: string;
|
|
70
|
-
added?: boolean;
|
|
71
|
-
removed?: boolean;
|
|
72
|
-
}>;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export interface CommandOutputBlock {
|
|
76
|
-
type: "command_output";
|
|
77
|
-
command: string;
|
|
78
|
-
output: string;
|
|
79
|
-
isRunning: boolean;
|
|
80
|
-
exitCode: number | null;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export interface CompressBlock {
|
|
84
|
-
type: "compress";
|
|
85
|
-
content: string;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export interface MemoryBlock {
|
|
89
|
-
type: "memory";
|
|
90
|
-
content: string;
|
|
91
|
-
isSuccess: boolean;
|
|
92
|
-
memoryType?: "project" | "user"; // Memory type
|
|
93
|
-
storagePath?: string; // Storage path text
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export interface CustomCommandBlock {
|
|
97
|
-
type: "custom_command";
|
|
98
|
-
commandName: string;
|
|
99
|
-
content: string; // Complete command content, used when passing to AI
|
|
100
|
-
originalInput?: string; // Original user input, used for UI display (e.g., "/fix-issue 123 high")
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export interface SubagentBlock {
|
|
104
|
-
type: "subagent";
|
|
105
|
-
subagentId: string;
|
|
106
|
-
subagentName: string;
|
|
107
|
-
status: "active" | "completed" | "error" | "aborted";
|
|
108
|
-
messages: Message[];
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export interface AIRequest {
|
|
112
|
-
content: string;
|
|
113
|
-
files: unknown[];
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export interface AIResponse {
|
|
117
|
-
content: string;
|
|
118
|
-
status: "success" | "error";
|
|
119
|
-
error?: string;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// MCP related types
|
|
123
|
-
export interface McpServerConfig {
|
|
124
|
-
command: string;
|
|
125
|
-
args?: string[];
|
|
126
|
-
env?: Record<string, string>;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export interface McpConfig {
|
|
130
|
-
mcpServers: Record<string, McpServerConfig>;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export interface McpTool {
|
|
134
|
-
name: string;
|
|
135
|
-
description?: string;
|
|
136
|
-
inputSchema: Record<string, unknown>;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export interface McpServerStatus {
|
|
140
|
-
name: string;
|
|
141
|
-
config: McpServerConfig;
|
|
142
|
-
status: "disconnected" | "connected" | "connecting" | "error";
|
|
143
|
-
tools?: McpTool[];
|
|
144
|
-
toolCount?: number;
|
|
145
|
-
capabilities?: string[];
|
|
146
|
-
lastConnected?: number;
|
|
147
|
-
error?: string;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Background bash shell related types
|
|
151
|
-
export interface BackgroundShell {
|
|
152
|
-
id: string;
|
|
153
|
-
process: ChildProcess;
|
|
154
|
-
command: string;
|
|
155
|
-
startTime: number;
|
|
156
|
-
status: "running" | "completed" | "killed";
|
|
157
|
-
stdout: string;
|
|
158
|
-
stderr: string;
|
|
159
|
-
exitCode?: number;
|
|
160
|
-
runtime?: number;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// Slash Command related types
|
|
164
|
-
export interface SlashCommand {
|
|
165
|
-
id: string;
|
|
166
|
-
name: string;
|
|
167
|
-
description: string;
|
|
168
|
-
handler: (args?: string) => Promise<void> | void;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export interface CustomSlashCommandConfig {
|
|
172
|
-
allowedTools?: string[];
|
|
173
|
-
model?: string;
|
|
174
|
-
description?: string;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
export interface CustomSlashCommand {
|
|
178
|
-
id: string;
|
|
179
|
-
name: string;
|
|
180
|
-
description?: string; // Add description field
|
|
181
|
-
filePath: string;
|
|
182
|
-
content: string;
|
|
183
|
-
config?: CustomSlashCommandConfig;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
// Skill related types
|
|
187
|
-
export interface SkillMetadata {
|
|
188
|
-
name: string;
|
|
189
|
-
description: string;
|
|
190
|
-
type: "personal" | "project";
|
|
191
|
-
skillPath: string;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
export interface Skill extends SkillMetadata {
|
|
195
|
-
content: string;
|
|
196
|
-
frontmatter: SkillFrontmatter;
|
|
197
|
-
isValid: boolean;
|
|
198
|
-
errors: string[];
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
export interface SkillFrontmatter {
|
|
202
|
-
name: string;
|
|
203
|
-
description: string;
|
|
204
|
-
[key: string]: unknown;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
export interface SkillCollection {
|
|
208
|
-
type: "personal" | "project";
|
|
209
|
-
basePath: string;
|
|
210
|
-
skills: Map<string, SkillMetadata>;
|
|
211
|
-
errors: SkillError[];
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
export interface SkillError {
|
|
215
|
-
skillPath: string;
|
|
216
|
-
message: string;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
export interface SkillValidationResult {
|
|
220
|
-
isValid: boolean;
|
|
221
|
-
skill?: Skill;
|
|
222
|
-
errors: string[];
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
export interface SkillDiscoveryResult {
|
|
226
|
-
personalSkills: Map<string, SkillMetadata>;
|
|
227
|
-
projectSkills: Map<string, SkillMetadata>;
|
|
228
|
-
errors: SkillError[];
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
export interface SkillInvocationContext {
|
|
232
|
-
skillName: string;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
export interface SkillToolArgs {
|
|
236
|
-
skill_name: string;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
export interface SkillManagerOptions {
|
|
240
|
-
personalSkillsPath?: string;
|
|
241
|
-
scanTimeout?: number;
|
|
242
|
-
logger?: Logger;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
export interface ParsedSkillFile {
|
|
246
|
-
frontmatter: SkillFrontmatter;
|
|
247
|
-
content: string;
|
|
248
|
-
skillMetadata: SkillMetadata;
|
|
249
|
-
validationErrors: string[];
|
|
250
|
-
isValid: boolean;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
export interface SkillParseOptions {
|
|
254
|
-
validateMetadata?: boolean;
|
|
255
|
-
basePath?: string;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
export const SKILL_DEFAULTS = {
|
|
259
|
-
PERSONAL_SKILLS_DIR: ".wave/skills",
|
|
260
|
-
PROJECT_SKILLS_DIR: ".wave/skills",
|
|
261
|
-
SKILL_FILE_NAME: "SKILL.md",
|
|
262
|
-
MAX_NAME_LENGTH: 64,
|
|
263
|
-
MAX_DESCRIPTION_LENGTH: 1024,
|
|
264
|
-
MIN_DESCRIPTION_LENGTH: 1,
|
|
265
|
-
NAME_PATTERN: /^[a-z0-9-]+$/,
|
|
266
|
-
MAX_METADATA_CACHE: 1000,
|
|
267
|
-
MAX_CONTENT_CACHE: 100,
|
|
268
|
-
SCAN_TIMEOUT: 5000,
|
|
269
|
-
LOAD_TIMEOUT: 2000,
|
|
270
|
-
} as const;
|
|
271
|
-
|
|
272
|
-
// Configuration types for Agent Constructor Configuration feature
|
|
273
|
-
export interface GatewayConfig {
|
|
274
|
-
apiKey: string;
|
|
275
|
-
baseURL: string;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
export interface ModelConfig {
|
|
279
|
-
agentModel: string;
|
|
280
|
-
fastModel: string;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
export interface ConfigurationResolver {
|
|
284
|
-
/**
|
|
285
|
-
* Resolves gateway configuration from constructor args and environment
|
|
286
|
-
* @param apiKey - API key from constructor (optional)
|
|
287
|
-
* @param baseURL - Base URL from constructor (optional)
|
|
288
|
-
* @returns Resolved gateway configuration
|
|
289
|
-
* @throws Error if required configuration is missing after fallbacks
|
|
290
|
-
*/
|
|
291
|
-
resolveGatewayConfig(apiKey?: string, baseURL?: string): GatewayConfig;
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* Resolves model configuration with fallbacks
|
|
295
|
-
* @param agentModel - Agent model from constructor (optional)
|
|
296
|
-
* @param fastModel - Fast model from constructor (optional)
|
|
297
|
-
* @returns Resolved model configuration with defaults
|
|
298
|
-
*/
|
|
299
|
-
resolveModelConfig(agentModel?: string, fastModel?: string): ModelConfig;
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* Resolves token limit with fallbacks
|
|
303
|
-
* @param constructorLimit - Token limit from constructor (optional)
|
|
304
|
-
* @returns Resolved token limit
|
|
305
|
-
*/
|
|
306
|
-
resolveTokenLimit(constructorLimit?: number): number;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
export interface ConfigurationValidator {
|
|
310
|
-
/**
|
|
311
|
-
* Validates gateway configuration
|
|
312
|
-
* @param config - Configuration to validate
|
|
313
|
-
* @throws Error with descriptive message if invalid
|
|
314
|
-
*/
|
|
315
|
-
validateGatewayConfig(config: GatewayConfig): void;
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* Validates token limit value
|
|
319
|
-
* @param tokenLimit - Token limit to validate
|
|
320
|
-
* @throws Error if invalid
|
|
321
|
-
*/
|
|
322
|
-
validateTokenLimit(tokenLimit: number): void;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
export class ConfigurationError extends Error {
|
|
326
|
-
constructor(
|
|
327
|
-
message: string,
|
|
328
|
-
public readonly field: string,
|
|
329
|
-
public readonly provided?: unknown,
|
|
330
|
-
) {
|
|
331
|
-
super(message);
|
|
332
|
-
this.name = "ConfigurationError";
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* Usage statistics for AI operations
|
|
338
|
-
* Extends OpenAI's Usage format with additional tracking fields
|
|
339
|
-
*/
|
|
340
|
-
export interface Usage {
|
|
341
|
-
prompt_tokens: number; // Tokens used in prompts
|
|
342
|
-
completion_tokens: number; // Tokens generated in completions
|
|
343
|
-
total_tokens: number; // Sum of prompt + completion tokens
|
|
344
|
-
model?: string; // Model used for the operation (e.g., "gpt-4", "gpt-3.5-turbo")
|
|
345
|
-
operation_type?: "agent" | "compress"; // Type of operation that generated usage
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
// Standard error messages
|
|
349
|
-
export const CONFIG_ERRORS = {
|
|
350
|
-
MISSING_API_KEY:
|
|
351
|
-
"Gateway configuration requires apiKey. Provide via constructor or AIGW_TOKEN environment variable.",
|
|
352
|
-
MISSING_BASE_URL:
|
|
353
|
-
"Gateway configuration requires baseURL. Provide via constructor or AIGW_URL environment variable.",
|
|
354
|
-
INVALID_TOKEN_LIMIT: "Token limit must be a positive integer.",
|
|
355
|
-
EMPTY_API_KEY: "API key cannot be empty string.",
|
|
356
|
-
EMPTY_BASE_URL: "Base URL cannot be empty string.",
|
|
357
|
-
} as const;
|
|
File without changes
|
|
File without changes
|