wave-agent-sdk 0.0.5 → 0.0.6

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.
Files changed (140) hide show
  1. package/dist/agent.d.ts +3 -6
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +21 -21
  4. package/dist/index.d.ts +3 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +3 -3
  7. package/dist/managers/aiManager.d.ts +4 -2
  8. package/dist/managers/aiManager.d.ts.map +1 -1
  9. package/dist/managers/aiManager.js +84 -47
  10. package/dist/managers/backgroundBashManager.d.ts +1 -1
  11. package/dist/managers/backgroundBashManager.d.ts.map +1 -1
  12. package/dist/{hooks/manager.d.ts → managers/hookManager.d.ts} +26 -7
  13. package/dist/managers/hookManager.d.ts.map +1 -0
  14. package/dist/{hooks/manager.js → managers/hookManager.js} +107 -17
  15. package/dist/managers/mcpManager.d.ts +1 -1
  16. package/dist/managers/mcpManager.d.ts.map +1 -1
  17. package/dist/managers/messageManager.d.ts +17 -4
  18. package/dist/managers/messageManager.d.ts.map +1 -1
  19. package/dist/managers/messageManager.js +13 -5
  20. package/dist/managers/skillManager.d.ts +1 -1
  21. package/dist/managers/skillManager.d.ts.map +1 -1
  22. package/dist/managers/slashCommandManager.d.ts +1 -1
  23. package/dist/managers/slashCommandManager.d.ts.map +1 -1
  24. package/dist/managers/subagentManager.d.ts +7 -12
  25. package/dist/managers/subagentManager.d.ts.map +1 -1
  26. package/dist/managers/subagentManager.js +39 -45
  27. package/dist/managers/toolManager.d.ts +1 -1
  28. package/dist/managers/toolManager.d.ts.map +1 -1
  29. package/dist/services/aiService.d.ts +1 -1
  30. package/dist/services/aiService.d.ts.map +1 -1
  31. package/dist/services/aiService.js +8 -1
  32. package/dist/services/hook.d.ts +56 -0
  33. package/dist/services/hook.d.ts.map +1 -0
  34. package/dist/services/hook.js +276 -0
  35. package/dist/services/session.d.ts +1 -1
  36. package/dist/services/session.d.ts.map +1 -1
  37. package/dist/services/session.js +5 -4
  38. package/dist/tools/taskTool.d.ts.map +1 -1
  39. package/dist/tools/taskTool.js +7 -3
  40. package/dist/types/commands.d.ts +24 -0
  41. package/dist/types/commands.d.ts.map +1 -0
  42. package/dist/types/commands.js +5 -0
  43. package/dist/types/config.d.ts +13 -0
  44. package/dist/types/config.d.ts.map +1 -0
  45. package/dist/types/config.js +5 -0
  46. package/dist/types/core.d.ts +38 -0
  47. package/dist/types/core.d.ts.map +1 -0
  48. package/dist/{types.js → types/core.js} +4 -13
  49. package/dist/{hooks/types.d.ts → types/hooks.d.ts} +2 -1
  50. package/dist/types/hooks.d.ts.map +1 -0
  51. package/dist/types/index.d.ts +20 -0
  52. package/dist/types/index.d.ts.map +1 -0
  53. package/dist/types/index.js +21 -0
  54. package/dist/types/mcp.d.ts +28 -0
  55. package/dist/types/mcp.d.ts.map +1 -0
  56. package/dist/types/mcp.js +5 -0
  57. package/dist/types/messaging.d.ts +80 -0
  58. package/dist/types/messaging.d.ts.map +1 -0
  59. package/dist/types/messaging.js +5 -0
  60. package/dist/types/processes.d.ts +17 -0
  61. package/dist/types/processes.d.ts.map +1 -0
  62. package/dist/types/processes.js +5 -0
  63. package/dist/types/skills.d.ts +78 -0
  64. package/dist/types/skills.d.ts.map +1 -0
  65. package/dist/types/skills.js +17 -0
  66. package/dist/utils/configResolver.d.ts +1 -1
  67. package/dist/utils/configResolver.d.ts.map +1 -1
  68. package/dist/utils/configResolver.js +1 -1
  69. package/dist/utils/configValidator.d.ts +1 -1
  70. package/dist/utils/configValidator.d.ts.map +1 -1
  71. package/dist/utils/configValidator.js +1 -1
  72. package/dist/utils/convertMessagesForAPI.d.ts +1 -1
  73. package/dist/utils/convertMessagesForAPI.d.ts.map +1 -1
  74. package/dist/utils/customCommands.d.ts +1 -1
  75. package/dist/utils/customCommands.d.ts.map +1 -1
  76. package/dist/{hooks/matcher.d.ts → utils/hookMatcher.d.ts} +1 -1
  77. package/dist/utils/hookMatcher.d.ts.map +1 -0
  78. package/dist/utils/markdownParser.d.ts +1 -1
  79. package/dist/utils/markdownParser.d.ts.map +1 -1
  80. package/dist/utils/mcpUtils.d.ts +1 -1
  81. package/dist/utils/mcpUtils.d.ts.map +1 -1
  82. package/dist/utils/messageOperations.d.ts +6 -1
  83. package/dist/utils/messageOperations.d.ts.map +1 -1
  84. package/dist/utils/messageOperations.js +16 -0
  85. package/dist/utils/skillParser.d.ts +1 -1
  86. package/dist/utils/skillParser.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/agent.ts +49 -43
  89. package/src/index.ts +3 -4
  90. package/src/managers/aiManager.ts +240 -158
  91. package/src/managers/backgroundBashManager.ts +1 -1
  92. package/src/{hooks/manager.ts → managers/hookManager.ts} +159 -26
  93. package/src/managers/mcpManager.ts +1 -1
  94. package/src/managers/messageManager.ts +36 -6
  95. package/src/managers/skillManager.ts +1 -1
  96. package/src/managers/slashCommandManager.ts +5 -1
  97. package/src/managers/subagentManager.ts +46 -53
  98. package/src/managers/toolManager.ts +1 -1
  99. package/src/services/aiService.ts +9 -2
  100. package/src/services/hook.ts +360 -0
  101. package/src/services/session.ts +6 -7
  102. package/src/tools/taskTool.ts +13 -5
  103. package/src/types/commands.ts +26 -0
  104. package/src/types/config.ts +14 -0
  105. package/src/types/core.ts +49 -0
  106. package/src/{hooks/types.ts → types/hooks.ts} +1 -0
  107. package/src/types/index.ts +23 -0
  108. package/src/types/mcp.ts +31 -0
  109. package/src/types/messaging.ts +103 -0
  110. package/src/types/processes.ts +18 -0
  111. package/src/types/skills.ts +91 -0
  112. package/src/utils/configResolver.ts +1 -1
  113. package/src/utils/configValidator.ts +5 -1
  114. package/src/utils/convertMessagesForAPI.ts +1 -1
  115. package/src/utils/customCommands.ts +1 -1
  116. package/src/utils/markdownParser.ts +1 -1
  117. package/src/utils/mcpUtils.ts +1 -1
  118. package/src/utils/messageOperations.ts +20 -1
  119. package/src/utils/skillParser.ts +1 -1
  120. package/dist/hooks/executor.d.ts +0 -56
  121. package/dist/hooks/executor.d.ts.map +0 -1
  122. package/dist/hooks/executor.js +0 -312
  123. package/dist/hooks/index.d.ts +0 -17
  124. package/dist/hooks/index.d.ts.map +0 -1
  125. package/dist/hooks/index.js +0 -14
  126. package/dist/hooks/manager.d.ts.map +0 -1
  127. package/dist/hooks/matcher.d.ts.map +0 -1
  128. package/dist/hooks/settings.d.ts +0 -46
  129. package/dist/hooks/settings.d.ts.map +0 -1
  130. package/dist/hooks/settings.js +0 -100
  131. package/dist/hooks/types.d.ts.map +0 -1
  132. package/dist/types.d.ts +0 -288
  133. package/dist/types.d.ts.map +0 -1
  134. package/src/hooks/executor.ts +0 -440
  135. package/src/hooks/index.ts +0 -52
  136. package/src/hooks/settings.ts +0 -129
  137. /package/dist/{hooks/types.js → types/hooks.js} +0 -0
  138. /package/dist/{hooks/matcher.js → utils/hookMatcher.js} +0 -0
  139. /package/src/{types.ts → types/index.ts.backup} +0 -0
  140. /package/src/{hooks/matcher.ts → utils/hookMatcher.ts} +0 -0
@@ -1,46 +0,0 @@
1
- /**
2
- * Hook Settings Management
3
- *
4
- * Handles loading and merging of hook configurations from:
5
- * - User settings: ~/.wave/hooks.json
6
- * - Project settings: ./.wave/hooks.json
7
- */
8
- import type { PartialHookConfiguration } from "./types.js";
9
- /**
10
- * Get the user-specific hooks configuration file path
11
- */
12
- export declare function getUserHooksConfigPath(): string;
13
- /**
14
- * Get the project-specific hooks configuration file path
15
- */
16
- export declare function getProjectHooksConfigPath(workdir: string): string;
17
- /**
18
- * Load hooks configuration from a JSON file
19
- */
20
- export declare function loadHooksConfigFromFile(filePath: string): PartialHookConfiguration | null;
21
- /**
22
- * Load user hooks configuration
23
- */
24
- export declare function loadUserHooksConfig(): PartialHookConfiguration | null;
25
- /**
26
- * Load project hooks configuration
27
- */
28
- export declare function loadProjectHooksConfig(workdir: string): PartialHookConfiguration | null;
29
- /**
30
- * Load and merge hooks configuration with project settings taking precedence
31
- */
32
- export declare function loadMergedHooksConfig(workdir: string): PartialHookConfiguration;
33
- /**
34
- * Check if any hooks configuration files exist
35
- */
36
- export declare function hasHooksConfiguration(workdir: string): boolean;
37
- /**
38
- * Get information about available hooks configuration files
39
- */
40
- export declare function getHooksConfigurationInfo(workdir: string): {
41
- userConfigExists: boolean;
42
- projectConfigExists: boolean;
43
- userConfigPath: string;
44
- projectConfigPath: string;
45
- };
46
- //# sourceMappingURL=settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/hooks/settings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAqB,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAG9E;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,GACf,wBAAwB,GAAG,IAAI,CAoBjC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,wBAAwB,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GACd,wBAAwB,GAAG,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GACd,wBAAwB,CAyB1B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAC1D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAOA"}
@@ -1,100 +0,0 @@
1
- /**
2
- * Hook Settings Management
3
- *
4
- * Handles loading and merging of hook configurations from:
5
- * - User settings: ~/.wave/hooks.json
6
- * - Project settings: ./.wave/hooks.json
7
- */
8
- import { existsSync, readFileSync } from "fs";
9
- import { join } from "path";
10
- import { homedir } from "os";
11
- import { isValidHookEvent } from "./types.js";
12
- /**
13
- * Get the user-specific hooks configuration file path
14
- */
15
- export function getUserHooksConfigPath() {
16
- return join(homedir(), ".wave", "hooks.json");
17
- }
18
- /**
19
- * Get the project-specific hooks configuration file path
20
- */
21
- export function getProjectHooksConfigPath(workdir) {
22
- return join(workdir, ".wave", "hooks.json");
23
- }
24
- /**
25
- * Load hooks configuration from a JSON file
26
- */
27
- export function loadHooksConfigFromFile(filePath) {
28
- try {
29
- if (!existsSync(filePath)) {
30
- return null;
31
- }
32
- const content = readFileSync(filePath, "utf-8");
33
- const config = JSON.parse(content);
34
- // Validate basic structure
35
- if (!config || typeof config !== "object" || !config.hooks) {
36
- console.warn(`Invalid hooks configuration structure in ${filePath}`);
37
- return null;
38
- }
39
- return config.hooks;
40
- }
41
- catch (error) {
42
- console.warn(`Failed to load hooks configuration from ${filePath}:`, error);
43
- return null;
44
- }
45
- }
46
- /**
47
- * Load user hooks configuration
48
- */
49
- export function loadUserHooksConfig() {
50
- return loadHooksConfigFromFile(getUserHooksConfigPath());
51
- }
52
- /**
53
- * Load project hooks configuration
54
- */
55
- export function loadProjectHooksConfig(workdir) {
56
- return loadHooksConfigFromFile(getProjectHooksConfigPath(workdir));
57
- }
58
- /**
59
- * Load and merge hooks configuration with project settings taking precedence
60
- */
61
- export function loadMergedHooksConfig(workdir) {
62
- const userConfig = loadUserHooksConfig();
63
- const projectConfig = loadProjectHooksConfig(workdir);
64
- const merged = {};
65
- // Start with user configuration
66
- if (userConfig) {
67
- Object.entries(userConfig).forEach(([event, configs]) => {
68
- if (isValidHookEvent(event)) {
69
- merged[event] = [...configs];
70
- }
71
- });
72
- }
73
- // Override with project configuration (project takes precedence)
74
- if (projectConfig) {
75
- Object.entries(projectConfig).forEach(([event, configs]) => {
76
- if (isValidHookEvent(event)) {
77
- merged[event] = [...configs];
78
- }
79
- });
80
- }
81
- return merged;
82
- }
83
- /**
84
- * Check if any hooks configuration files exist
85
- */
86
- export function hasHooksConfiguration(workdir) {
87
- return (existsSync(getUserHooksConfigPath()) ||
88
- existsSync(getProjectHooksConfigPath(workdir)));
89
- }
90
- /**
91
- * Get information about available hooks configuration files
92
- */
93
- export function getHooksConfigurationInfo(workdir) {
94
- return {
95
- userConfigExists: existsSync(getUserHooksConfigPath()),
96
- projectConfigExists: existsSync(getProjectHooksConfigPath(workdir)),
97
- userConfigPath: getUserHooksConfigPath(),
98
- projectConfigPath: getProjectHooksConfigPath(workdir),
99
- };
100
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,288 +0,0 @@
1
- import type { ChildProcess } from "child_process";
2
- /**
3
- * Logger interface definition
4
- * Compatible with OpenAI package Logger interface
5
- */
6
- export interface Logger {
7
- error: (...args: unknown[]) => void;
8
- warn: (...args: unknown[]) => void;
9
- info: (...args: unknown[]) => void;
10
- debug: (...args: unknown[]) => void;
11
- }
12
- export interface Message {
13
- role: "user" | "assistant";
14
- blocks: MessageBlock[];
15
- usage?: Usage;
16
- }
17
- export type MessageBlock = TextBlock | ErrorBlock | ToolBlock | ImageBlock | DiffBlock | CommandOutputBlock | CompressBlock | MemoryBlock | CustomCommandBlock | SubagentBlock;
18
- export interface TextBlock {
19
- type: "text";
20
- content: string;
21
- }
22
- export interface ErrorBlock {
23
- type: "error";
24
- content: string;
25
- }
26
- export interface ToolBlock {
27
- type: "tool";
28
- parameters?: string;
29
- result?: string;
30
- shortResult?: string;
31
- images?: Array<{
32
- data: string;
33
- mediaType?: string;
34
- }>;
35
- id?: string;
36
- name?: string;
37
- isRunning?: boolean;
38
- success?: boolean;
39
- error?: string | Error;
40
- compactParams?: string;
41
- }
42
- export interface ImageBlock {
43
- type: "image";
44
- imageUrls?: string[];
45
- }
46
- export interface DiffBlock {
47
- type: "diff";
48
- path: string;
49
- diffResult: Array<{
50
- value: string;
51
- added?: boolean;
52
- removed?: boolean;
53
- }>;
54
- }
55
- export interface CommandOutputBlock {
56
- type: "command_output";
57
- command: string;
58
- output: string;
59
- isRunning: boolean;
60
- exitCode: number | null;
61
- }
62
- export interface CompressBlock {
63
- type: "compress";
64
- content: string;
65
- }
66
- export interface MemoryBlock {
67
- type: "memory";
68
- content: string;
69
- isSuccess: boolean;
70
- memoryType?: "project" | "user";
71
- storagePath?: string;
72
- }
73
- export interface CustomCommandBlock {
74
- type: "custom_command";
75
- commandName: string;
76
- content: string;
77
- originalInput?: string;
78
- }
79
- export interface SubagentBlock {
80
- type: "subagent";
81
- subagentId: string;
82
- subagentName: string;
83
- status: "active" | "completed" | "error" | "aborted";
84
- messages: Message[];
85
- }
86
- export interface AIRequest {
87
- content: string;
88
- files: unknown[];
89
- }
90
- export interface AIResponse {
91
- content: string;
92
- status: "success" | "error";
93
- error?: string;
94
- }
95
- export interface McpServerConfig {
96
- command: string;
97
- args?: string[];
98
- env?: Record<string, string>;
99
- }
100
- export interface McpConfig {
101
- mcpServers: Record<string, McpServerConfig>;
102
- }
103
- export interface McpTool {
104
- name: string;
105
- description?: string;
106
- inputSchema: Record<string, unknown>;
107
- }
108
- export interface McpServerStatus {
109
- name: string;
110
- config: McpServerConfig;
111
- status: "disconnected" | "connected" | "connecting" | "error";
112
- tools?: McpTool[];
113
- toolCount?: number;
114
- capabilities?: string[];
115
- lastConnected?: number;
116
- error?: string;
117
- }
118
- export interface BackgroundShell {
119
- id: string;
120
- process: ChildProcess;
121
- command: string;
122
- startTime: number;
123
- status: "running" | "completed" | "killed";
124
- stdout: string;
125
- stderr: string;
126
- exitCode?: number;
127
- runtime?: number;
128
- }
129
- export interface SlashCommand {
130
- id: string;
131
- name: string;
132
- description: string;
133
- handler: (args?: string) => Promise<void> | void;
134
- }
135
- export interface CustomSlashCommandConfig {
136
- allowedTools?: string[];
137
- model?: string;
138
- description?: string;
139
- }
140
- export interface CustomSlashCommand {
141
- id: string;
142
- name: string;
143
- description?: string;
144
- filePath: string;
145
- content: string;
146
- config?: CustomSlashCommandConfig;
147
- }
148
- export interface SkillMetadata {
149
- name: string;
150
- description: string;
151
- type: "personal" | "project";
152
- skillPath: string;
153
- }
154
- export interface Skill extends SkillMetadata {
155
- content: string;
156
- frontmatter: SkillFrontmatter;
157
- isValid: boolean;
158
- errors: string[];
159
- }
160
- export interface SkillFrontmatter {
161
- name: string;
162
- description: string;
163
- [key: string]: unknown;
164
- }
165
- export interface SkillCollection {
166
- type: "personal" | "project";
167
- basePath: string;
168
- skills: Map<string, SkillMetadata>;
169
- errors: SkillError[];
170
- }
171
- export interface SkillError {
172
- skillPath: string;
173
- message: string;
174
- }
175
- export interface SkillValidationResult {
176
- isValid: boolean;
177
- skill?: Skill;
178
- errors: string[];
179
- }
180
- export interface SkillDiscoveryResult {
181
- personalSkills: Map<string, SkillMetadata>;
182
- projectSkills: Map<string, SkillMetadata>;
183
- errors: SkillError[];
184
- }
185
- export interface SkillInvocationContext {
186
- skillName: string;
187
- }
188
- export interface SkillToolArgs {
189
- skill_name: string;
190
- }
191
- export interface SkillManagerOptions {
192
- personalSkillsPath?: string;
193
- scanTimeout?: number;
194
- logger?: Logger;
195
- }
196
- export interface ParsedSkillFile {
197
- frontmatter: SkillFrontmatter;
198
- content: string;
199
- skillMetadata: SkillMetadata;
200
- validationErrors: string[];
201
- isValid: boolean;
202
- }
203
- export interface SkillParseOptions {
204
- validateMetadata?: boolean;
205
- basePath?: string;
206
- }
207
- export declare const SKILL_DEFAULTS: {
208
- readonly PERSONAL_SKILLS_DIR: ".wave/skills";
209
- readonly PROJECT_SKILLS_DIR: ".wave/skills";
210
- readonly SKILL_FILE_NAME: "SKILL.md";
211
- readonly MAX_NAME_LENGTH: 64;
212
- readonly MAX_DESCRIPTION_LENGTH: 1024;
213
- readonly MIN_DESCRIPTION_LENGTH: 1;
214
- readonly NAME_PATTERN: RegExp;
215
- readonly MAX_METADATA_CACHE: 1000;
216
- readonly MAX_CONTENT_CACHE: 100;
217
- readonly SCAN_TIMEOUT: 5000;
218
- readonly LOAD_TIMEOUT: 2000;
219
- };
220
- export interface GatewayConfig {
221
- apiKey: string;
222
- baseURL: string;
223
- }
224
- export interface ModelConfig {
225
- agentModel: string;
226
- fastModel: string;
227
- }
228
- export interface ConfigurationResolver {
229
- /**
230
- * Resolves gateway configuration from constructor args and environment
231
- * @param apiKey - API key from constructor (optional)
232
- * @param baseURL - Base URL from constructor (optional)
233
- * @returns Resolved gateway configuration
234
- * @throws Error if required configuration is missing after fallbacks
235
- */
236
- resolveGatewayConfig(apiKey?: string, baseURL?: string): GatewayConfig;
237
- /**
238
- * Resolves model configuration with fallbacks
239
- * @param agentModel - Agent model from constructor (optional)
240
- * @param fastModel - Fast model from constructor (optional)
241
- * @returns Resolved model configuration with defaults
242
- */
243
- resolveModelConfig(agentModel?: string, fastModel?: string): ModelConfig;
244
- /**
245
- * Resolves token limit with fallbacks
246
- * @param constructorLimit - Token limit from constructor (optional)
247
- * @returns Resolved token limit
248
- */
249
- resolveTokenLimit(constructorLimit?: number): number;
250
- }
251
- export interface ConfigurationValidator {
252
- /**
253
- * Validates gateway configuration
254
- * @param config - Configuration to validate
255
- * @throws Error with descriptive message if invalid
256
- */
257
- validateGatewayConfig(config: GatewayConfig): void;
258
- /**
259
- * Validates token limit value
260
- * @param tokenLimit - Token limit to validate
261
- * @throws Error if invalid
262
- */
263
- validateTokenLimit(tokenLimit: number): void;
264
- }
265
- export declare class ConfigurationError extends Error {
266
- readonly field: string;
267
- readonly provided?: unknown | undefined;
268
- constructor(message: string, field: string, provided?: unknown | undefined);
269
- }
270
- /**
271
- * Usage statistics for AI operations
272
- * Extends OpenAI's Usage format with additional tracking fields
273
- */
274
- export interface Usage {
275
- prompt_tokens: number;
276
- completion_tokens: number;
277
- total_tokens: number;
278
- model?: string;
279
- operation_type?: "agent" | "compress";
280
- }
281
- export declare const CONFIG_ERRORS: {
282
- readonly MISSING_API_KEY: "Gateway configuration requires apiKey. Provide via constructor or AIGW_TOKEN environment variable.";
283
- readonly MISSING_BASE_URL: "Gateway configuration requires baseURL. Provide via constructor or AIGW_URL environment variable.";
284
- readonly INVALID_TOKEN_LIMIT: "Token limit must be a positive integer.";
285
- readonly EMPTY_API_KEY: "API key cannot be empty string.";
286
- readonly EMPTY_BASE_URL: "Base URL cannot be empty string.";
287
- };
288
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}