jiva-core 0.1.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.
Files changed (94) hide show
  1. package/.env.example +18 -0
  2. package/.fluen/cache/state.json +7 -0
  3. package/README.md +350 -0
  4. package/actions/action_registry.py +75 -0
  5. package/actions/python_coder.py +470 -0
  6. package/api/main.py +269 -0
  7. package/dist/core/agent.d.ts +69 -0
  8. package/dist/core/agent.d.ts.map +1 -0
  9. package/dist/core/agent.js +214 -0
  10. package/dist/core/agent.js.map +1 -0
  11. package/dist/core/config.d.ts +222 -0
  12. package/dist/core/config.d.ts.map +1 -0
  13. package/dist/core/config.js +138 -0
  14. package/dist/core/config.js.map +1 -0
  15. package/dist/core/workspace.d.ts +53 -0
  16. package/dist/core/workspace.d.ts.map +1 -0
  17. package/dist/core/workspace.js +164 -0
  18. package/dist/core/workspace.js.map +1 -0
  19. package/dist/index.d.ts +17 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +17 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/interfaces/cli/index.d.ts +6 -0
  24. package/dist/interfaces/cli/index.d.ts.map +1 -0
  25. package/dist/interfaces/cli/index.js +257 -0
  26. package/dist/interfaces/cli/index.js.map +1 -0
  27. package/dist/interfaces/cli/repl.d.ts +9 -0
  28. package/dist/interfaces/cli/repl.d.ts.map +1 -0
  29. package/dist/interfaces/cli/repl.js +139 -0
  30. package/dist/interfaces/cli/repl.js.map +1 -0
  31. package/dist/interfaces/cli/setup-wizard.d.ts +9 -0
  32. package/dist/interfaces/cli/setup-wizard.d.ts.map +1 -0
  33. package/dist/interfaces/cli/setup-wizard.js +321 -0
  34. package/dist/interfaces/cli/setup-wizard.js.map +1 -0
  35. package/dist/mcp/client.d.ts +58 -0
  36. package/dist/mcp/client.d.ts.map +1 -0
  37. package/dist/mcp/client.js +178 -0
  38. package/dist/mcp/client.js.map +1 -0
  39. package/dist/mcp/server-manager.d.ts +58 -0
  40. package/dist/mcp/server-manager.d.ts.map +1 -0
  41. package/dist/mcp/server-manager.js +135 -0
  42. package/dist/mcp/server-manager.js.map +1 -0
  43. package/dist/models/base.d.ts +57 -0
  44. package/dist/models/base.d.ts.map +1 -0
  45. package/dist/models/base.js +5 -0
  46. package/dist/models/base.js.map +1 -0
  47. package/dist/models/harmony.d.ts +78 -0
  48. package/dist/models/harmony.d.ts.map +1 -0
  49. package/dist/models/harmony.js +226 -0
  50. package/dist/models/harmony.js.map +1 -0
  51. package/dist/models/krutrim.d.ts +30 -0
  52. package/dist/models/krutrim.d.ts.map +1 -0
  53. package/dist/models/krutrim.js +185 -0
  54. package/dist/models/krutrim.js.map +1 -0
  55. package/dist/models/orchestrator.d.ts +49 -0
  56. package/dist/models/orchestrator.d.ts.map +1 -0
  57. package/dist/models/orchestrator.js +140 -0
  58. package/dist/models/orchestrator.js.map +1 -0
  59. package/dist/utils/errors.d.ts +23 -0
  60. package/dist/utils/errors.d.ts.map +1 -0
  61. package/dist/utils/errors.js +45 -0
  62. package/dist/utils/errors.js.map +1 -0
  63. package/dist/utils/logger.d.ts +24 -0
  64. package/dist/utils/logger.d.ts.map +1 -0
  65. package/dist/utils/logger.js +74 -0
  66. package/dist/utils/logger.js.map +1 -0
  67. package/docs/BUILD.md +317 -0
  68. package/docs/DEV_WORKFLOW.md +197 -0
  69. package/docs/FILESYSTEM_ACCESS.md +244 -0
  70. package/docs/IMPLEMENTATION_SUMMARY.md +459 -0
  71. package/docs/QUICKSTART.md +162 -0
  72. package/docs/TROUBLESHOOTING.md +393 -0
  73. package/examples/code-review-directive.md +26 -0
  74. package/examples/data-analysis-directive.md +26 -0
  75. package/examples/programmatic-usage.ts +120 -0
  76. package/jiva-directive.md +24 -0
  77. package/package.json +46 -0
  78. package/setup.sh +65 -0
  79. package/src/core/agent.ts +275 -0
  80. package/src/core/config.ts +177 -0
  81. package/src/core/workspace.ts +205 -0
  82. package/src/index.ts +21 -0
  83. package/src/interfaces/cli/index.ts +290 -0
  84. package/src/interfaces/cli/repl.ts +182 -0
  85. package/src/interfaces/cli/setup-wizard.ts +355 -0
  86. package/src/mcp/client.ts +231 -0
  87. package/src/mcp/server-manager.ts +168 -0
  88. package/src/models/base.ts +63 -0
  89. package/src/models/harmony.ts +301 -0
  90. package/src/models/krutrim.ts +236 -0
  91. package/src/models/orchestrator.ts +180 -0
  92. package/src/utils/errors.ts +41 -0
  93. package/src/utils/logger.ts +87 -0
  94. package/tsconfig.json +22 -0
@@ -0,0 +1,257 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Jiva CLI Entry Point
4
+ */
5
+ import { Command } from 'commander';
6
+ import chalk from 'chalk';
7
+ import { configManager } from '../../core/config.js';
8
+ import { createKrutrimModel } from '../../models/krutrim.js';
9
+ import { ModelOrchestrator } from '../../models/orchestrator.js';
10
+ import { MCPServerManager } from '../../mcp/server-manager.js';
11
+ import { WorkspaceManager } from '../../core/workspace.js';
12
+ import { JivaAgent } from '../../core/agent.js';
13
+ import { runSetupWizard, updateConfiguration } from './setup-wizard.js';
14
+ import { startREPL } from './repl.js';
15
+ import { logger, LogLevel } from '../../utils/logger.js';
16
+ import { readFileSync } from 'fs';
17
+ import { dirname, join } from 'path';
18
+ import { fileURLToPath } from 'url';
19
+ const __filename = fileURLToPath(import.meta.url);
20
+ const __dirname = dirname(__filename);
21
+ // Read package.json for version
22
+ const packageJson = JSON.parse(readFileSync(join(__dirname, '../../../package.json'), 'utf-8'));
23
+ const program = new Command();
24
+ program
25
+ .name('jiva')
26
+ .description('Versatile autonomous AI agent powered by gpt-oss-120b')
27
+ .version(packageJson.version);
28
+ program
29
+ .command('setup')
30
+ .description('Run the setup wizard to configure Jiva')
31
+ .action(async () => {
32
+ try {
33
+ await runSetupWizard();
34
+ }
35
+ catch (error) {
36
+ logger.error('Setup failed', error);
37
+ process.exit(1);
38
+ }
39
+ });
40
+ program
41
+ .command('config')
42
+ .description('Update Jiva configuration')
43
+ .action(async () => {
44
+ try {
45
+ if (!configManager.isConfigured()) {
46
+ console.log(chalk.yellow('Jiva is not configured. Running setup wizard...\n'));
47
+ await runSetupWizard();
48
+ }
49
+ else {
50
+ await updateConfiguration();
51
+ }
52
+ }
53
+ catch (error) {
54
+ logger.error('Configuration update failed', error);
55
+ process.exit(1);
56
+ }
57
+ });
58
+ program
59
+ .command('chat')
60
+ .description('Start interactive chat with Jiva')
61
+ .option('-w, --workspace <path>', 'Workspace directory', process.cwd())
62
+ .option('-d, --directive <path>', 'Path to jiva-directive.md file')
63
+ .option('--debug', 'Enable debug mode')
64
+ .option('-t, --temperature <value>', 'Model temperature (0-1)', parseFloat)
65
+ .option('--max-iterations <number>', 'Maximum agent iterations', parseInt)
66
+ .action(async (options) => {
67
+ try {
68
+ // Check configuration
69
+ if (!configManager.isConfigured()) {
70
+ console.log(chalk.yellow('Jiva is not configured. Running setup wizard...\n'));
71
+ await runSetupWizard();
72
+ }
73
+ // Set debug mode if requested
74
+ if (options.debug) {
75
+ logger.setLogLevel(LogLevel.DEBUG);
76
+ }
77
+ else if (configManager.isDebug()) {
78
+ logger.setLogLevel(LogLevel.DEBUG);
79
+ }
80
+ // Validate configuration
81
+ configManager.validateConfig();
82
+ // Create models
83
+ const reasoningModelConfig = configManager.getReasoningModel();
84
+ const reasoningModel = createKrutrimModel({
85
+ endpoint: reasoningModelConfig.endpoint,
86
+ apiKey: reasoningModelConfig.apiKey,
87
+ model: reasoningModelConfig.defaultModel,
88
+ type: 'reasoning',
89
+ });
90
+ let multimodalModel;
91
+ const multimodalModelConfig = configManager.getMultimodalModel();
92
+ if (multimodalModelConfig) {
93
+ multimodalModel = createKrutrimModel({
94
+ endpoint: multimodalModelConfig.endpoint,
95
+ apiKey: multimodalModelConfig.apiKey,
96
+ model: multimodalModelConfig.defaultModel,
97
+ type: 'multimodal',
98
+ });
99
+ }
100
+ // Create orchestrator
101
+ const orchestrator = new ModelOrchestrator({
102
+ reasoningModel,
103
+ multimodalModel,
104
+ });
105
+ // Determine workspace directory first
106
+ const workspaceDir = options.workspace || process.cwd();
107
+ // Update filesystem MCP server to allow broad filesystem access
108
+ // The workspace is the default working area, but Jiva can access any files
109
+ // subject to OS permissions
110
+ const mcpServers = configManager.getMCPServers();
111
+ if (mcpServers['filesystem']) {
112
+ // Note: The filesystem MCP server rejects "/" as a security measure
113
+ // Use /Users on macOS/Linux to allow access to all user directories
114
+ // Use C:\Users on Windows
115
+ const allowedPath = process.platform === 'win32' ? 'C:\\Users' : '/Users';
116
+ mcpServers['filesystem'].args = [
117
+ '-y',
118
+ '@modelcontextprotocol/server-filesystem',
119
+ allowedPath
120
+ ];
121
+ logger.debug(`Filesystem server args set to: ${JSON.stringify(mcpServers['filesystem'].args)}`);
122
+ logger.debug(`Allowed path: "${allowedPath}"`);
123
+ }
124
+ // Initialize MCP servers with updated paths
125
+ const mcpManager = new MCPServerManager();
126
+ await mcpManager.initialize(mcpServers);
127
+ // Initialize workspace
128
+ const workspace = new WorkspaceManager({
129
+ workspaceDir,
130
+ directivePath: options.directive,
131
+ });
132
+ await workspace.initialize();
133
+ // Create agent
134
+ const agent = new JivaAgent({
135
+ orchestrator,
136
+ mcpManager,
137
+ workspace,
138
+ maxIterations: options.maxIterations || 10,
139
+ temperature: options.temperature || 0.7,
140
+ });
141
+ // Start REPL
142
+ await startREPL({ agent });
143
+ // Cleanup
144
+ await agent.cleanup();
145
+ }
146
+ catch (error) {
147
+ logger.error('Chat session failed', error);
148
+ process.exit(1);
149
+ }
150
+ });
151
+ program
152
+ .command('run')
153
+ .description('Run Jiva with a single prompt')
154
+ .argument('<prompt>', 'Prompt to execute')
155
+ .option('-w, --workspace <path>', 'Workspace directory', process.cwd())
156
+ .option('-d, --directive <path>', 'Path to jiva-directive.md file')
157
+ .option('--debug', 'Enable debug mode')
158
+ .option('-t, --temperature <value>', 'Model temperature (0-1)', parseFloat)
159
+ .option('--max-iterations <number>', 'Maximum agent iterations', parseInt)
160
+ .action(async (prompt, options) => {
161
+ try {
162
+ // Check configuration
163
+ if (!configManager.isConfigured()) {
164
+ console.log(chalk.red('✗ Jiva is not configured. Please run: jiva setup\n'));
165
+ process.exit(1);
166
+ }
167
+ // Set debug mode if requested
168
+ if (options.debug) {
169
+ logger.setLogLevel(LogLevel.DEBUG);
170
+ }
171
+ else if (configManager.isDebug()) {
172
+ logger.setLogLevel(LogLevel.DEBUG);
173
+ }
174
+ // Validate configuration
175
+ configManager.validateConfig();
176
+ // Create models
177
+ const reasoningModelConfig = configManager.getReasoningModel();
178
+ const reasoningModel = createKrutrimModel({
179
+ endpoint: reasoningModelConfig.endpoint,
180
+ apiKey: reasoningModelConfig.apiKey,
181
+ model: reasoningModelConfig.defaultModel,
182
+ type: 'reasoning',
183
+ });
184
+ let multimodalModel;
185
+ const multimodalModelConfig = configManager.getMultimodalModel();
186
+ if (multimodalModelConfig) {
187
+ multimodalModel = createKrutrimModel({
188
+ endpoint: multimodalModelConfig.endpoint,
189
+ apiKey: multimodalModelConfig.apiKey,
190
+ model: multimodalModelConfig.defaultModel,
191
+ type: 'multimodal',
192
+ });
193
+ }
194
+ // Create orchestrator
195
+ const orchestrator = new ModelOrchestrator({
196
+ reasoningModel,
197
+ multimodalModel,
198
+ });
199
+ // Determine workspace directory first
200
+ const workspaceDir = options.workspace || process.cwd();
201
+ // Update filesystem MCP server to allow broad filesystem access
202
+ // The workspace is the default working area, but Jiva can access any files
203
+ // subject to OS permissions
204
+ const mcpServers = configManager.getMCPServers();
205
+ if (mcpServers['filesystem']) {
206
+ // Note: The filesystem MCP server rejects "/" as a security measure
207
+ // Use /Users on macOS/Linux to allow access to all user directories
208
+ // Use C:\Users on Windows
209
+ const allowedPath = process.platform === 'win32' ? 'C:\\Users' : '/Users';
210
+ mcpServers['filesystem'].args = [
211
+ '-y',
212
+ '@modelcontextprotocol/server-filesystem',
213
+ allowedPath
214
+ ];
215
+ logger.debug(`Filesystem server args set to: ${JSON.stringify(mcpServers['filesystem'].args)}`);
216
+ logger.debug(`Allowed path: "${allowedPath}"`);
217
+ }
218
+ // Initialize MCP servers with updated paths
219
+ const mcpManager = new MCPServerManager();
220
+ await mcpManager.initialize(mcpServers);
221
+ // Initialize workspace
222
+ const workspace = new WorkspaceManager({
223
+ workspaceDir,
224
+ directivePath: options.directive,
225
+ });
226
+ await workspace.initialize();
227
+ // Create agent
228
+ const agent = new JivaAgent({
229
+ orchestrator,
230
+ mcpManager,
231
+ workspace,
232
+ maxIterations: options.maxIterations || 10,
233
+ temperature: options.temperature || 0.7,
234
+ });
235
+ // Execute prompt
236
+ logger.info('Executing prompt...');
237
+ const response = await agent.chat(prompt);
238
+ console.log('\n' + response.content + '\n');
239
+ if (response.toolsUsed.length > 0) {
240
+ logger.info(`Tools used: ${response.toolsUsed.join(', ')}`);
241
+ }
242
+ logger.info(`Completed in ${response.iterations} iteration(s)`);
243
+ // Cleanup
244
+ await agent.cleanup();
245
+ }
246
+ catch (error) {
247
+ logger.error('Execution failed', error);
248
+ process.exit(1);
249
+ }
250
+ });
251
+ // Default command (interactive chat)
252
+ program.action(async (options) => {
253
+ // If no command specified, run chat
254
+ await program.parseAsync(['', '', 'chat']);
255
+ });
256
+ program.parse();
257
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * REPL (Read-Eval-Print Loop) for interactive chat with Jiva agent
3
+ */
4
+ import { JivaAgent } from '../../core/agent.js';
5
+ export interface REPLOptions {
6
+ agent: JivaAgent;
7
+ }
8
+ export declare function startREPL(options: REPLOptions): Promise<void>;
9
+ //# sourceMappingURL=repl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/repl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGnE"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * REPL (Read-Eval-Print Loop) for interactive chat with Jiva agent
3
+ */
4
+ import inquirer from 'inquirer';
5
+ import chalk from 'chalk';
6
+ import ora from 'ora';
7
+ export async function startREPL(options) {
8
+ const { agent } = options;
9
+ console.log(chalk.bold.cyan('\n🤖 Jiva Agent - Interactive Mode\n'));
10
+ console.log(chalk.gray('Type your message and press Enter. Type "exit" to quit.\n'));
11
+ // Show workspace info
12
+ const workspace = agent.getWorkspace();
13
+ console.log(chalk.gray(`Workspace: ${workspace.getWorkspaceDir()}`));
14
+ if (workspace.hasDirective()) {
15
+ console.log(chalk.gray('✓ Directive loaded'));
16
+ }
17
+ // Show MCP servers
18
+ const mcpManager = agent.getMCPManager();
19
+ const serverStatus = mcpManager.getServerStatus();
20
+ const connectedServers = serverStatus.filter(s => s.connected);
21
+ if (connectedServers.length > 0) {
22
+ console.log(chalk.gray(`MCP Servers: ${connectedServers.map(s => s.name).join(', ')}`));
23
+ const totalTools = connectedServers.reduce((sum, s) => sum + s.toolCount, 0);
24
+ console.log(chalk.gray(`Available tools: ${totalTools}`));
25
+ }
26
+ console.log('');
27
+ // REPL loop
28
+ while (true) {
29
+ const { message } = await inquirer.prompt([
30
+ {
31
+ type: 'input',
32
+ name: 'message',
33
+ message: chalk.bold.blue('You:'),
34
+ prefix: '',
35
+ },
36
+ ]);
37
+ const trimmedMessage = message.trim();
38
+ // Handle special commands
39
+ if (trimmedMessage.toLowerCase() === 'exit' || trimmedMessage.toLowerCase() === 'quit') {
40
+ console.log(chalk.gray('\nGoodbye!\n'));
41
+ break;
42
+ }
43
+ if (trimmedMessage.toLowerCase() === 'help') {
44
+ showHelp();
45
+ continue;
46
+ }
47
+ if (trimmedMessage.toLowerCase() === 'reset') {
48
+ agent.resetConversation();
49
+ console.log(chalk.yellow('\n✓ Conversation reset\n'));
50
+ continue;
51
+ }
52
+ if (trimmedMessage.toLowerCase() === 'history') {
53
+ showHistory(agent);
54
+ continue;
55
+ }
56
+ if (trimmedMessage.toLowerCase() === 'tools') {
57
+ showTools(agent);
58
+ continue;
59
+ }
60
+ if (trimmedMessage.toLowerCase() === 'servers') {
61
+ showServers(agent);
62
+ continue;
63
+ }
64
+ if (!trimmedMessage) {
65
+ continue;
66
+ }
67
+ // Process message with agent
68
+ const spinner = ora('Thinking...').start();
69
+ try {
70
+ const response = await agent.chat(trimmedMessage);
71
+ spinner.stop();
72
+ console.log(chalk.bold.green('\nJiva:'));
73
+ console.log(response.content);
74
+ if (response.toolsUsed.length > 0) {
75
+ console.log(chalk.gray(`\n[Used tools: ${response.toolsUsed.join(', ')}]`));
76
+ }
77
+ console.log(chalk.gray(`[Iterations: ${response.iterations}]\n`));
78
+ }
79
+ catch (error) {
80
+ spinner.stop();
81
+ console.log(chalk.red('\n✗ Error:'), error instanceof Error ? error.message : String(error));
82
+ console.log('');
83
+ }
84
+ }
85
+ }
86
+ function showHelp() {
87
+ console.log(chalk.bold('\nAvailable Commands:'));
88
+ console.log(' exit, quit - Exit the REPL');
89
+ console.log(' help - Show this help message');
90
+ console.log(' reset - Reset conversation history');
91
+ console.log(' history - Show conversation history');
92
+ console.log(' tools - Show available tools');
93
+ console.log(' servers - Show MCP server status');
94
+ console.log('');
95
+ }
96
+ function showHistory(agent) {
97
+ const history = agent.getConversationHistory();
98
+ console.log(chalk.bold('\nConversation History:'));
99
+ history.forEach((msg, index) => {
100
+ const roleColor = msg.role === 'user' ? chalk.blue :
101
+ msg.role === 'assistant' ? chalk.green :
102
+ msg.role === 'system' ? chalk.gray :
103
+ chalk.yellow;
104
+ const content = typeof msg.content === 'string'
105
+ ? msg.content.substring(0, 100) + (msg.content.length > 100 ? '...' : '')
106
+ : '[complex content]';
107
+ console.log(`${index + 1}. ${roleColor(msg.role)}: ${content}`);
108
+ });
109
+ console.log('');
110
+ }
111
+ function showTools(agent) {
112
+ const tools = agent.getMCPManager().getClient().getAllTools();
113
+ console.log(chalk.bold(`\nAvailable Tools (${tools.length}):`));
114
+ if (tools.length === 0) {
115
+ console.log(chalk.gray(' No tools available'));
116
+ }
117
+ else {
118
+ tools.forEach(tool => {
119
+ console.log(` ${chalk.cyan(tool.name)}: ${tool.description}`);
120
+ });
121
+ }
122
+ console.log('');
123
+ }
124
+ function showServers(agent) {
125
+ const serverStatus = agent.getMCPManager().getServerStatus();
126
+ console.log(chalk.bold('\nMCP Servers:'));
127
+ if (serverStatus.length === 0) {
128
+ console.log(chalk.gray(' No servers configured'));
129
+ }
130
+ else {
131
+ serverStatus.forEach(server => {
132
+ const status = server.connected ? chalk.green('✓') : chalk.red('✗');
133
+ const enabled = server.enabled ? '' : chalk.gray(' (disabled)');
134
+ console.log(` ${status} ${server.name}: ${server.toolCount} tools${enabled}`);
135
+ });
136
+ }
137
+ console.log('');
138
+ }
139
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/interfaces/cli/repl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Setup Wizard for first-time configuration
3
+ */
4
+ export declare function runSetupWizard(): Promise<void>;
5
+ /**
6
+ * Update existing configuration interactively
7
+ */
8
+ export declare function updateConfiguration(): Promise<void>;
9
+ //# sourceMappingURL=setup-wizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/setup-wizard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA6HpD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CzD"}