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,222 @@
1
+ import { z } from 'zod';
2
+ declare const MCPServerConfigSchema: z.ZodObject<{
3
+ command: z.ZodString;
4
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
6
+ enabled: z.ZodDefault<z.ZodBoolean>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ command: string;
9
+ enabled: boolean;
10
+ args?: string[] | undefined;
11
+ env?: Record<string, string> | undefined;
12
+ }, {
13
+ command: string;
14
+ args?: string[] | undefined;
15
+ env?: Record<string, string> | undefined;
16
+ enabled?: boolean | undefined;
17
+ }>;
18
+ declare const ModelConfigSchema: z.ZodObject<{
19
+ name: z.ZodString;
20
+ endpoint: z.ZodString;
21
+ apiKey: z.ZodString;
22
+ type: z.ZodEnum<["reasoning", "multimodal"]>;
23
+ defaultModel: z.ZodString;
24
+ }, "strip", z.ZodTypeAny, {
25
+ name: string;
26
+ type: "reasoning" | "multimodal";
27
+ endpoint: string;
28
+ apiKey: string;
29
+ defaultModel: string;
30
+ }, {
31
+ name: string;
32
+ type: "reasoning" | "multimodal";
33
+ endpoint: string;
34
+ apiKey: string;
35
+ defaultModel: string;
36
+ }>;
37
+ declare const JivaConfigSchema: z.ZodObject<{
38
+ models: z.ZodObject<{
39
+ reasoning: z.ZodOptional<z.ZodObject<{
40
+ name: z.ZodString;
41
+ endpoint: z.ZodString;
42
+ apiKey: z.ZodString;
43
+ type: z.ZodEnum<["reasoning", "multimodal"]>;
44
+ defaultModel: z.ZodString;
45
+ }, "strip", z.ZodTypeAny, {
46
+ name: string;
47
+ type: "reasoning" | "multimodal";
48
+ endpoint: string;
49
+ apiKey: string;
50
+ defaultModel: string;
51
+ }, {
52
+ name: string;
53
+ type: "reasoning" | "multimodal";
54
+ endpoint: string;
55
+ apiKey: string;
56
+ defaultModel: string;
57
+ }>>;
58
+ multimodal: z.ZodOptional<z.ZodObject<{
59
+ name: z.ZodString;
60
+ endpoint: z.ZodString;
61
+ apiKey: z.ZodString;
62
+ type: z.ZodEnum<["reasoning", "multimodal"]>;
63
+ defaultModel: z.ZodString;
64
+ }, "strip", z.ZodTypeAny, {
65
+ name: string;
66
+ type: "reasoning" | "multimodal";
67
+ endpoint: string;
68
+ apiKey: string;
69
+ defaultModel: string;
70
+ }, {
71
+ name: string;
72
+ type: "reasoning" | "multimodal";
73
+ endpoint: string;
74
+ apiKey: string;
75
+ defaultModel: string;
76
+ }>>;
77
+ }, "strip", z.ZodTypeAny, {
78
+ reasoning?: {
79
+ name: string;
80
+ type: "reasoning" | "multimodal";
81
+ endpoint: string;
82
+ apiKey: string;
83
+ defaultModel: string;
84
+ } | undefined;
85
+ multimodal?: {
86
+ name: string;
87
+ type: "reasoning" | "multimodal";
88
+ endpoint: string;
89
+ apiKey: string;
90
+ defaultModel: string;
91
+ } | undefined;
92
+ }, {
93
+ reasoning?: {
94
+ name: string;
95
+ type: "reasoning" | "multimodal";
96
+ endpoint: string;
97
+ apiKey: string;
98
+ defaultModel: string;
99
+ } | undefined;
100
+ multimodal?: {
101
+ name: string;
102
+ type: "reasoning" | "multimodal";
103
+ endpoint: string;
104
+ apiKey: string;
105
+ defaultModel: string;
106
+ } | undefined;
107
+ }>;
108
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
109
+ command: z.ZodString;
110
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
111
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
112
+ enabled: z.ZodDefault<z.ZodBoolean>;
113
+ }, "strip", z.ZodTypeAny, {
114
+ command: string;
115
+ enabled: boolean;
116
+ args?: string[] | undefined;
117
+ env?: Record<string, string> | undefined;
118
+ }, {
119
+ command: string;
120
+ args?: string[] | undefined;
121
+ env?: Record<string, string> | undefined;
122
+ enabled?: boolean | undefined;
123
+ }>>>;
124
+ workspace: z.ZodOptional<z.ZodObject<{
125
+ defaultDirectivePath: z.ZodOptional<z.ZodString>;
126
+ }, "strip", z.ZodTypeAny, {
127
+ defaultDirectivePath?: string | undefined;
128
+ }, {
129
+ defaultDirectivePath?: string | undefined;
130
+ }>>;
131
+ debug: z.ZodDefault<z.ZodBoolean>;
132
+ }, "strip", z.ZodTypeAny, {
133
+ models: {
134
+ reasoning?: {
135
+ name: string;
136
+ type: "reasoning" | "multimodal";
137
+ endpoint: string;
138
+ apiKey: string;
139
+ defaultModel: string;
140
+ } | undefined;
141
+ multimodal?: {
142
+ name: string;
143
+ type: "reasoning" | "multimodal";
144
+ endpoint: string;
145
+ apiKey: string;
146
+ defaultModel: string;
147
+ } | undefined;
148
+ };
149
+ debug: boolean;
150
+ mcpServers?: Record<string, {
151
+ command: string;
152
+ enabled: boolean;
153
+ args?: string[] | undefined;
154
+ env?: Record<string, string> | undefined;
155
+ }> | undefined;
156
+ workspace?: {
157
+ defaultDirectivePath?: string | undefined;
158
+ } | undefined;
159
+ }, {
160
+ models: {
161
+ reasoning?: {
162
+ name: string;
163
+ type: "reasoning" | "multimodal";
164
+ endpoint: string;
165
+ apiKey: string;
166
+ defaultModel: string;
167
+ } | undefined;
168
+ multimodal?: {
169
+ name: string;
170
+ type: "reasoning" | "multimodal";
171
+ endpoint: string;
172
+ apiKey: string;
173
+ defaultModel: string;
174
+ } | undefined;
175
+ };
176
+ mcpServers?: Record<string, {
177
+ command: string;
178
+ args?: string[] | undefined;
179
+ env?: Record<string, string> | undefined;
180
+ enabled?: boolean | undefined;
181
+ }> | undefined;
182
+ workspace?: {
183
+ defaultDirectivePath?: string | undefined;
184
+ } | undefined;
185
+ debug?: boolean | undefined;
186
+ }>;
187
+ export type MCPServerConfig = z.infer<typeof MCPServerConfigSchema>;
188
+ export type ModelConfig = z.infer<typeof ModelConfigSchema>;
189
+ export type JivaConfig = z.infer<typeof JivaConfigSchema>;
190
+ export declare class ConfigManager {
191
+ private store;
192
+ private static instance;
193
+ private constructor();
194
+ static getInstance(): ConfigManager;
195
+ isConfigured(): boolean;
196
+ getConfig(): JivaConfig;
197
+ setReasoningModel(config: ModelConfig): void;
198
+ setMultimodalModel(config: ModelConfig): void;
199
+ getReasoningModel(): ModelConfig | undefined;
200
+ getMultimodalModel(): ModelConfig | undefined;
201
+ addMCPServer(name: string, config: MCPServerConfig): void;
202
+ removeMCPServer(name: string): void;
203
+ getMCPServers(): Record<string, MCPServerConfig>;
204
+ getMCPServer(name: string): MCPServerConfig | undefined;
205
+ setDebug(enabled: boolean): void;
206
+ isDebug(): boolean;
207
+ setDefaultDirectivePath(path: string): void;
208
+ getDefaultDirectivePath(): string | undefined;
209
+ reset(): void;
210
+ getConfigPath(): string;
211
+ /**
212
+ * Initialize default MCP servers
213
+ */
214
+ initializeDefaultServers(): void;
215
+ /**
216
+ * Validate configuration and throw if invalid
217
+ */
218
+ validateConfig(): void;
219
+ }
220
+ export declare const configManager: ConfigManager;
221
+ export {};
222
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAMrB,CAAC;AAEH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUpB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IAEvC,OAAO;IAMP,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC,YAAY,IAAI,OAAO;IAKvB,SAAS,IAAI,UAAU;IAIvB,iBAAiB,CAAC,MAAM,EAAE,WAAW;IAKrC,kBAAkB,CAAC,MAAM,EAAE,WAAW;IAKtC,iBAAiB,IAAI,WAAW,GAAG,SAAS;IAI5C,kBAAkB,IAAI,WAAW,GAAG,SAAS;IAI7C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe;IAKlD,eAAe,CAAC,IAAI,EAAE,MAAM;IAI5B,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAIhD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIvD,QAAQ,CAAC,OAAO,EAAE,OAAO;IAIzB,OAAO,IAAI,OAAO;IAIlB,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAIpC,uBAAuB,IAAI,MAAM,GAAG,SAAS;IAI7C,KAAK;IAIL,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,wBAAwB;IAyBxB;;OAEG;IACH,cAAc;CAsBf;AAED,eAAO,MAAM,aAAa,eAA8B,CAAC"}
@@ -0,0 +1,138 @@
1
+ import Conf from 'conf';
2
+ import { z } from 'zod';
3
+ import { ConfigurationError } from '../utils/errors.js';
4
+ // Zod schemas for validation
5
+ const MCPServerConfigSchema = z.object({
6
+ command: z.string(),
7
+ args: z.array(z.string()).optional(),
8
+ env: z.record(z.string()).optional(),
9
+ enabled: z.boolean().default(true),
10
+ });
11
+ const ModelConfigSchema = z.object({
12
+ name: z.string(),
13
+ endpoint: z.string().url(),
14
+ apiKey: z.string(),
15
+ type: z.enum(['reasoning', 'multimodal']),
16
+ defaultModel: z.string(),
17
+ });
18
+ const JivaConfigSchema = z.object({
19
+ models: z.object({
20
+ reasoning: ModelConfigSchema.optional(),
21
+ multimodal: ModelConfigSchema.optional(),
22
+ }),
23
+ mcpServers: z.record(MCPServerConfigSchema).optional(),
24
+ workspace: z.object({
25
+ defaultDirectivePath: z.string().optional(),
26
+ }).optional(),
27
+ debug: z.boolean().default(false),
28
+ });
29
+ export class ConfigManager {
30
+ store;
31
+ static instance;
32
+ constructor() {
33
+ this.store = new Conf({
34
+ projectName: 'jiva',
35
+ });
36
+ }
37
+ static getInstance() {
38
+ if (!ConfigManager.instance) {
39
+ ConfigManager.instance = new ConfigManager();
40
+ }
41
+ return ConfigManager.instance;
42
+ }
43
+ isConfigured() {
44
+ const config = this.store.store;
45
+ return !!(config.models?.reasoning?.apiKey || config.models?.multimodal?.apiKey);
46
+ }
47
+ getConfig() {
48
+ return this.store.store;
49
+ }
50
+ setReasoningModel(config) {
51
+ const validated = ModelConfigSchema.parse(config);
52
+ this.store.set('models.reasoning', validated);
53
+ }
54
+ setMultimodalModel(config) {
55
+ const validated = ModelConfigSchema.parse(config);
56
+ this.store.set('models.multimodal', validated);
57
+ }
58
+ getReasoningModel() {
59
+ return this.store.get('models.reasoning');
60
+ }
61
+ getMultimodalModel() {
62
+ return this.store.get('models.multimodal');
63
+ }
64
+ addMCPServer(name, config) {
65
+ const validated = MCPServerConfigSchema.parse(config);
66
+ this.store.set(`mcpServers.${name}`, validated);
67
+ }
68
+ removeMCPServer(name) {
69
+ this.store.delete(`mcpServers.${name}`);
70
+ }
71
+ getMCPServers() {
72
+ return this.store.get('mcpServers', {});
73
+ }
74
+ getMCPServer(name) {
75
+ return this.store.get(`mcpServers.${name}`);
76
+ }
77
+ setDebug(enabled) {
78
+ this.store.set('debug', enabled);
79
+ }
80
+ isDebug() {
81
+ return this.store.get('debug', false);
82
+ }
83
+ setDefaultDirectivePath(path) {
84
+ this.store.set('workspace.defaultDirectivePath', path);
85
+ }
86
+ getDefaultDirectivePath() {
87
+ return this.store.get('workspace.defaultDirectivePath');
88
+ }
89
+ reset() {
90
+ this.store.clear();
91
+ }
92
+ getConfigPath() {
93
+ return this.store.path;
94
+ }
95
+ /**
96
+ * Initialize default MCP servers
97
+ */
98
+ initializeDefaultServers() {
99
+ const servers = this.getMCPServers();
100
+ // Add filesystem server if not exists (enabled by default)
101
+ // Note: The filesystem MCP server rejects "/" as a security measure
102
+ // Use /Users on macOS/Linux, C:\Users on Windows for broad access to user files
103
+ if (!servers['filesystem']) {
104
+ const allowedPath = process.platform === 'win32' ? 'C:\\Users' : '/Users';
105
+ this.addMCPServer('filesystem', {
106
+ command: 'npx',
107
+ args: ['-y', '@modelcontextprotocol/server-filesystem', allowedPath],
108
+ enabled: true,
109
+ });
110
+ }
111
+ // Add commands server if not exists (disabled by default - often causes issues)
112
+ if (!servers['commands']) {
113
+ this.addMCPServer('commands', {
114
+ command: 'npx',
115
+ args: ['-y', '@modelcontextprotocol/server-commands'],
116
+ enabled: false, // Disabled by default
117
+ });
118
+ }
119
+ }
120
+ /**
121
+ * Validate configuration and throw if invalid
122
+ */
123
+ validateConfig() {
124
+ const config = this.getConfig();
125
+ if (!config.models?.reasoning) {
126
+ throw new ConfigurationError('Reasoning model not configured. Please run setup wizard.');
127
+ }
128
+ if (!config.models.reasoning.apiKey) {
129
+ throw new ConfigurationError('API key for reasoning model not configured.');
130
+ }
131
+ // Multimodal model is optional
132
+ if (config.models.multimodal && !config.models.multimodal.apiKey) {
133
+ throw new ConfigurationError('API key for multimodal model not configured.');
134
+ }
135
+ }
136
+ }
137
+ export const configManager = ConfigManager.getInstance();
138
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,6BAA6B;AAC7B,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE;QACvC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,EAAE;KACzC,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5C,CAAC,CAAC,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAClC,CAAC,CAAC;AAMH,MAAM,OAAO,aAAa;IAChB,KAAK,CAAmB;IACxB,MAAM,CAAC,QAAQ,CAAgB;IAEvC;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAa;YAChC,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,YAAY;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAChC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,iBAAiB,CAAC,MAAmB;QACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,kBAAkB,CAAC,MAAmB;QACpC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,MAAuB;QAChD,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,uBAAuB,CAAC,IAAY;QAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAErC,2DAA2D;QAC3D,oEAAoE;QACpE,gFAAgF;QAChF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;gBAC9B,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,yCAAyC,EAAE,WAAW,CAAC;gBACpE,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED,gFAAgF;QAChF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;gBAC5B,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,uCAAuC,CAAC;gBACrD,OAAO,EAAE,KAAK,EAAE,sBAAsB;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CAC1B,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,kBAAkB,CAC1B,6CAA6C,CAC9C,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACjE,MAAM,IAAI,kBAAkB,CAC1B,8CAA8C,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Workspace and Directive Handler
3
+ *
4
+ * Manages workspace directory and jiva-directive.md file
5
+ */
6
+ export interface WorkspaceConfig {
7
+ workspaceDir: string;
8
+ directivePath?: string;
9
+ }
10
+ export interface DirectiveContent {
11
+ raw: string;
12
+ parsed: {
13
+ purpose?: string;
14
+ tasks?: string[];
15
+ constraints?: string[];
16
+ context?: string;
17
+ };
18
+ }
19
+ export declare class WorkspaceManager {
20
+ private workspaceDir;
21
+ private directivePath?;
22
+ private directive?;
23
+ constructor(config: WorkspaceConfig);
24
+ /**
25
+ * Initialize workspace and load directive if available
26
+ */
27
+ initialize(): Promise<void>;
28
+ /**
29
+ * Load and parse jiva-directive.md
30
+ */
31
+ loadDirective(): Promise<DirectiveContent | undefined>;
32
+ /**
33
+ * Parse directive markdown content
34
+ */
35
+ private parseDirective;
36
+ /**
37
+ * Get directive content formatted for system prompt
38
+ */
39
+ getDirectivePrompt(): string | undefined;
40
+ /**
41
+ * Get workspace directory
42
+ */
43
+ getWorkspaceDir(): string;
44
+ /**
45
+ * Get directive if loaded
46
+ */
47
+ getDirective(): DirectiveContent | undefined;
48
+ /**
49
+ * Check if directive is loaded
50
+ */
51
+ hasDirective(): boolean;
52
+ }
53
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/core/workspace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAmB;gBAEzB,MAAM,EAAE,eAAe;IAOnC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAiC5D;;OAEG;IACH,OAAO,CAAC,cAAc;IA0CtB;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,SAAS;IA2CxC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,YAAY,IAAI,gBAAgB,GAAG,SAAS;IAI5C;;OAEG;IACH,YAAY,IAAI,OAAO;CAGxB"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Workspace and Directive Handler
3
+ *
4
+ * Manages workspace directory and jiva-directive.md file
5
+ */
6
+ import { readFile, access } from 'fs/promises';
7
+ import { resolve, join } from 'path';
8
+ import { WorkspaceError } from '../utils/errors.js';
9
+ import { logger } from '../utils/logger.js';
10
+ export class WorkspaceManager {
11
+ workspaceDir;
12
+ directivePath;
13
+ directive;
14
+ constructor(config) {
15
+ this.workspaceDir = resolve(config.workspaceDir);
16
+ this.directivePath = config.directivePath
17
+ ? resolve(config.directivePath)
18
+ : undefined;
19
+ }
20
+ /**
21
+ * Initialize workspace and load directive if available
22
+ */
23
+ async initialize() {
24
+ logger.info(`Initializing workspace: ${this.workspaceDir}`);
25
+ // Verify workspace directory exists
26
+ try {
27
+ await access(this.workspaceDir);
28
+ }
29
+ catch (error) {
30
+ throw new WorkspaceError(`Workspace directory does not exist: ${this.workspaceDir}`);
31
+ }
32
+ // Try to load directive
33
+ await this.loadDirective();
34
+ }
35
+ /**
36
+ * Load and parse jiva-directive.md
37
+ */
38
+ async loadDirective() {
39
+ // Look for directive in order of precedence:
40
+ // 1. Explicitly provided path
41
+ // 2. jiva-directive.md in workspace root
42
+ // 3. .jiva/directive.md in workspace root
43
+ const possiblePaths = [
44
+ this.directivePath,
45
+ join(this.workspaceDir, 'jiva-directive.md'),
46
+ join(this.workspaceDir, '.jiva', 'directive.md'),
47
+ ].filter(Boolean);
48
+ for (const path of possiblePaths) {
49
+ try {
50
+ await access(path);
51
+ const content = await readFile(path, 'utf-8');
52
+ this.directive = {
53
+ raw: content,
54
+ parsed: this.parseDirective(content),
55
+ };
56
+ logger.success(`Loaded directive from: ${path}`);
57
+ return this.directive;
58
+ }
59
+ catch (error) {
60
+ // Continue to next path
61
+ }
62
+ }
63
+ logger.info('No directive file found. Agent will operate in general mode.');
64
+ return undefined;
65
+ }
66
+ /**
67
+ * Parse directive markdown content
68
+ */
69
+ parseDirective(content) {
70
+ const parsed = {};
71
+ // Extract purpose (first paragraph or # Purpose section)
72
+ const purposeMatch = content.match(/^#\s*Purpose\s*\n\n([\s\S]*?)(?=\n#|$)/i);
73
+ if (purposeMatch) {
74
+ parsed.purpose = purposeMatch[1].trim();
75
+ }
76
+ else {
77
+ // Use first paragraph as purpose
78
+ const firstParagraph = content.split('\n\n')[0];
79
+ if (firstParagraph && !firstParagraph.startsWith('#')) {
80
+ parsed.purpose = firstParagraph.trim();
81
+ }
82
+ }
83
+ // Extract tasks
84
+ const tasksMatch = content.match(/^#\s*Tasks?\s*\n\n([\s\S]*?)(?=\n#|$)/im);
85
+ if (tasksMatch) {
86
+ parsed.tasks = tasksMatch[1]
87
+ .split('\n')
88
+ .filter(line => line.trim().match(/^[-*]\s+/))
89
+ .map(line => line.replace(/^[-*]\s+/, '').trim());
90
+ }
91
+ // Extract constraints
92
+ const constraintsMatch = content.match(/^#\s*Constraints?\s*\n\n([\s\S]*?)(?=\n#|$)/im);
93
+ if (constraintsMatch) {
94
+ parsed.constraints = constraintsMatch[1]
95
+ .split('\n')
96
+ .filter(line => line.trim().match(/^[-*]\s+/))
97
+ .map(line => line.replace(/^[-*]\s+/, '').trim());
98
+ }
99
+ // Extract context (everything else or # Context section)
100
+ const contextMatch = content.match(/^#\s*Context\s*\n\n([\s\S]*?)(?=\n#|$)/im);
101
+ if (contextMatch) {
102
+ parsed.context = contextMatch[1].trim();
103
+ }
104
+ return parsed;
105
+ }
106
+ /**
107
+ * Get directive content formatted for system prompt
108
+ */
109
+ getDirectivePrompt() {
110
+ if (!this.directive) {
111
+ return undefined;
112
+ }
113
+ const parts = [
114
+ '# Jiva Directive',
115
+ '',
116
+ 'You are operating with the following directive:',
117
+ '',
118
+ ];
119
+ if (this.directive.parsed.purpose) {
120
+ parts.push('## Purpose');
121
+ parts.push(this.directive.parsed.purpose);
122
+ parts.push('');
123
+ }
124
+ if (this.directive.parsed.tasks && this.directive.parsed.tasks.length > 0) {
125
+ parts.push('## Tasks');
126
+ this.directive.parsed.tasks.forEach(task => {
127
+ parts.push(`- ${task}`);
128
+ });
129
+ parts.push('');
130
+ }
131
+ if (this.directive.parsed.constraints && this.directive.parsed.constraints.length > 0) {
132
+ parts.push('## Constraints');
133
+ this.directive.parsed.constraints.forEach(constraint => {
134
+ parts.push(`- ${constraint}`);
135
+ });
136
+ parts.push('');
137
+ }
138
+ if (this.directive.parsed.context) {
139
+ parts.push('## Context');
140
+ parts.push(this.directive.parsed.context);
141
+ parts.push('');
142
+ }
143
+ return parts.join('\n');
144
+ }
145
+ /**
146
+ * Get workspace directory
147
+ */
148
+ getWorkspaceDir() {
149
+ return this.workspaceDir;
150
+ }
151
+ /**
152
+ * Get directive if loaded
153
+ */
154
+ getDirective() {
155
+ return this.directive;
156
+ }
157
+ /**
158
+ * Check if directive is loaded
159
+ */
160
+ hasDirective() {
161
+ return !!this.directive;
162
+ }
163
+ }
164
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/core/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Jiva - Versatile Autonomous Agent
3
+ *
4
+ * Main exports for programmatic usage
5
+ */
6
+ export { JivaAgent } from './core/agent.js';
7
+ export { configManager, ConfigManager } from './core/config.js';
8
+ export { WorkspaceManager } from './core/workspace.js';
9
+ export { KrutrimModel, createKrutrimModel } from './models/krutrim.js';
10
+ export { ModelOrchestrator } from './models/orchestrator.js';
11
+ export { MCPClient } from './mcp/client.js';
12
+ export { MCPServerManager } from './mcp/server-manager.js';
13
+ export { logger, LogLevel } from './utils/logger.js';
14
+ export * from './utils/errors.js';
15
+ export * from './models/base.js';
16
+ export * from './models/harmony.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErD,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Jiva - Versatile Autonomous Agent
3
+ *
4
+ * Main exports for programmatic usage
5
+ */
6
+ export { JivaAgent } from './core/agent.js';
7
+ export { configManager, ConfigManager } from './core/config.js';
8
+ export { WorkspaceManager } from './core/workspace.js';
9
+ export { KrutrimModel, createKrutrimModel } from './models/krutrim.js';
10
+ export { ModelOrchestrator } from './models/orchestrator.js';
11
+ export { MCPClient } from './mcp/client.js';
12
+ export { MCPServerManager } from './mcp/server-manager.js';
13
+ export { logger, LogLevel } from './utils/logger.js';
14
+ export * from './utils/errors.js';
15
+ export * from './models/base.js';
16
+ export * from './models/harmony.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErD,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Jiva CLI Entry Point
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/index.ts"],"names":[],"mappings":";AAEA;;GAEG"}