jiva-core 0.3.49-dev.cedf6da → 0.3.50-dev.99abb7b

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 (42) hide show
  1. package/dist/code/agent.d.ts +8 -0
  2. package/dist/code/agent.d.ts.map +1 -1
  3. package/dist/code/agent.js +66 -18
  4. package/dist/code/agent.js.map +1 -1
  5. package/dist/code/tools/edit.d.ts.map +1 -1
  6. package/dist/code/tools/edit.js +55 -5
  7. package/dist/code/tools/edit.js.map +1 -1
  8. package/dist/core/config.d.ts +67 -0
  9. package/dist/core/config.d.ts.map +1 -1
  10. package/dist/core/config.js +78 -0
  11. package/dist/core/config.js.map +1 -1
  12. package/dist/core/conversation-manager.d.ts +13 -19
  13. package/dist/core/conversation-manager.d.ts.map +1 -1
  14. package/dist/core/conversation-manager.js +31 -34
  15. package/dist/core/conversation-manager.js.map +1 -1
  16. package/dist/interfaces/cli/index.js +21 -1
  17. package/dist/interfaces/cli/index.js.map +1 -1
  18. package/dist/interfaces/cli/setup-wizard.d.ts.map +1 -1
  19. package/dist/interfaces/cli/setup-wizard.js +26 -0
  20. package/dist/interfaces/cli/setup-wizard.js.map +1 -1
  21. package/dist/interfaces/http/index.d.ts.map +1 -1
  22. package/dist/interfaces/http/index.js +10 -0
  23. package/dist/interfaces/http/index.js.map +1 -1
  24. package/dist/interfaces/http/session-manager.d.ts.map +1 -1
  25. package/dist/interfaces/http/session-manager.js +1 -0
  26. package/dist/interfaces/http/session-manager.js.map +1 -1
  27. package/dist/models/model-client.d.ts +21 -0
  28. package/dist/models/model-client.d.ts.map +1 -1
  29. package/dist/models/model-client.js +61 -5
  30. package/dist/models/model-client.js.map +1 -1
  31. package/dist/storage/types.d.ts +22 -0
  32. package/dist/storage/types.d.ts.map +1 -1
  33. package/dist/storage/types.js.map +1 -1
  34. package/dist/utils/errors.d.ts +15 -1
  35. package/dist/utils/errors.d.ts.map +1 -1
  36. package/dist/utils/errors.js +10 -1
  37. package/dist/utils/errors.js.map +1 -1
  38. package/dist/utils/vision-detection.d.ts +16 -0
  39. package/dist/utils/vision-detection.d.ts.map +1 -0
  40. package/dist/utils/vision-detection.js +51 -0
  41. package/dist/utils/vision-detection.js.map +1 -0
  42. package/package.json +1 -1
@@ -1,4 +1,19 @@
1
1
  import { z } from 'zod';
2
+ /**
3
+ * One-time migration: if a config already exists at the new location
4
+ * (JIVA_HOME/config.json), it's authoritative — leave it alone. Otherwise,
5
+ * if a legacy config exists at the old platform-specific path, copy it to
6
+ * the new location so existing users don't lose their configuration.
7
+ *
8
+ * Defensive: if something already exists at the new path by the time we go
9
+ * to write (a race, or a stray file created between the check above and
10
+ * now), it is backed up to config-backup.json first rather than clobbered.
11
+ *
12
+ * Returns a short message describing what happened, or null if nothing
13
+ * needed to happen — callers (CLI, HTTP) print this so the migration is
14
+ * visible rather than silent.
15
+ */
16
+ export declare function migrateLegacyConfigIfNeeded(): string | null;
2
17
  declare const MCPServerConfigSchema: z.ZodEffects<z.ZodObject<{
3
18
  command: z.ZodOptional<z.ZodString>;
4
19
  args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -64,6 +79,12 @@ declare const ModelConfigSchema: z.ZodObject<{
64
79
  reasoningEffortStrategy: z.ZodOptional<z.ZodEnum<["api_param", "system_prompt", "both"]>>;
65
80
  /** Default max tokens — required for reasoning models like Sarvam-105B */
66
81
  defaultMaxTokens: z.ZodOptional<z.ZodNumber>;
82
+ /**
83
+ * Client-side proactive rate limit — max requests this model instance will
84
+ * send per trailing 60s window (e.g. Sarvam's standard plan: 40 req/min).
85
+ * Model-agnostic: set for any provider with a known hard rate ceiling.
86
+ */
87
+ maxRequestsPerMinute: z.ZodOptional<z.ZodNumber>;
67
88
  /**
68
89
  * Use Google Application Default Credentials instead of a static apiKey.
69
90
  * Required for Vertex AI MaaS endpoints (aiplatform.googleapis.com).
@@ -82,6 +103,7 @@ declare const ModelConfigSchema: z.ZodObject<{
82
103
  hasVision?: boolean | undefined;
83
104
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
84
105
  defaultMaxTokens?: number | undefined;
106
+ maxRequestsPerMinute?: number | undefined;
85
107
  useGoogleADC?: boolean | undefined;
86
108
  }, {
87
109
  endpoint: string;
@@ -94,6 +116,7 @@ declare const ModelConfigSchema: z.ZodObject<{
94
116
  hasVision?: boolean | undefined;
95
117
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
96
118
  defaultMaxTokens?: number | undefined;
119
+ maxRequestsPerMinute?: number | undefined;
97
120
  useGoogleADC?: boolean | undefined;
98
121
  }>;
99
122
  declare const CodeModeConfigSchema: z.ZodObject<{
@@ -147,6 +170,12 @@ declare const JivaConfigSchema: z.ZodObject<{
147
170
  reasoningEffortStrategy: z.ZodOptional<z.ZodEnum<["api_param", "system_prompt", "both"]>>;
148
171
  /** Default max tokens — required for reasoning models like Sarvam-105B */
149
172
  defaultMaxTokens: z.ZodOptional<z.ZodNumber>;
173
+ /**
174
+ * Client-side proactive rate limit — max requests this model instance will
175
+ * send per trailing 60s window (e.g. Sarvam's standard plan: 40 req/min).
176
+ * Model-agnostic: set for any provider with a known hard rate ceiling.
177
+ */
178
+ maxRequestsPerMinute: z.ZodOptional<z.ZodNumber>;
150
179
  /**
151
180
  * Use Google Application Default Credentials instead of a static apiKey.
152
181
  * Required for Vertex AI MaaS endpoints (aiplatform.googleapis.com).
@@ -165,6 +194,7 @@ declare const JivaConfigSchema: z.ZodObject<{
165
194
  hasVision?: boolean | undefined;
166
195
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
167
196
  defaultMaxTokens?: number | undefined;
197
+ maxRequestsPerMinute?: number | undefined;
168
198
  useGoogleADC?: boolean | undefined;
169
199
  }, {
170
200
  endpoint: string;
@@ -177,6 +207,7 @@ declare const JivaConfigSchema: z.ZodObject<{
177
207
  hasVision?: boolean | undefined;
178
208
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
179
209
  defaultMaxTokens?: number | undefined;
210
+ maxRequestsPerMinute?: number | undefined;
180
211
  useGoogleADC?: boolean | undefined;
181
212
  }>>;
182
213
  multimodal: z.ZodOptional<z.ZodObject<{
@@ -202,6 +233,12 @@ declare const JivaConfigSchema: z.ZodObject<{
202
233
  reasoningEffortStrategy: z.ZodOptional<z.ZodEnum<["api_param", "system_prompt", "both"]>>;
203
234
  /** Default max tokens — required for reasoning models like Sarvam-105B */
204
235
  defaultMaxTokens: z.ZodOptional<z.ZodNumber>;
236
+ /**
237
+ * Client-side proactive rate limit — max requests this model instance will
238
+ * send per trailing 60s window (e.g. Sarvam's standard plan: 40 req/min).
239
+ * Model-agnostic: set for any provider with a known hard rate ceiling.
240
+ */
241
+ maxRequestsPerMinute: z.ZodOptional<z.ZodNumber>;
205
242
  /**
206
243
  * Use Google Application Default Credentials instead of a static apiKey.
207
244
  * Required for Vertex AI MaaS endpoints (aiplatform.googleapis.com).
@@ -220,6 +257,7 @@ declare const JivaConfigSchema: z.ZodObject<{
220
257
  hasVision?: boolean | undefined;
221
258
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
222
259
  defaultMaxTokens?: number | undefined;
260
+ maxRequestsPerMinute?: number | undefined;
223
261
  useGoogleADC?: boolean | undefined;
224
262
  }, {
225
263
  endpoint: string;
@@ -232,6 +270,7 @@ declare const JivaConfigSchema: z.ZodObject<{
232
270
  hasVision?: boolean | undefined;
233
271
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
234
272
  defaultMaxTokens?: number | undefined;
273
+ maxRequestsPerMinute?: number | undefined;
235
274
  useGoogleADC?: boolean | undefined;
236
275
  }>>;
237
276
  toolCalling: z.ZodOptional<z.ZodObject<{
@@ -257,6 +296,12 @@ declare const JivaConfigSchema: z.ZodObject<{
257
296
  reasoningEffortStrategy: z.ZodOptional<z.ZodEnum<["api_param", "system_prompt", "both"]>>;
258
297
  /** Default max tokens — required for reasoning models like Sarvam-105B */
259
298
  defaultMaxTokens: z.ZodOptional<z.ZodNumber>;
299
+ /**
300
+ * Client-side proactive rate limit — max requests this model instance will
301
+ * send per trailing 60s window (e.g. Sarvam's standard plan: 40 req/min).
302
+ * Model-agnostic: set for any provider with a known hard rate ceiling.
303
+ */
304
+ maxRequestsPerMinute: z.ZodOptional<z.ZodNumber>;
260
305
  /**
261
306
  * Use Google Application Default Credentials instead of a static apiKey.
262
307
  * Required for Vertex AI MaaS endpoints (aiplatform.googleapis.com).
@@ -275,6 +320,7 @@ declare const JivaConfigSchema: z.ZodObject<{
275
320
  hasVision?: boolean | undefined;
276
321
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
277
322
  defaultMaxTokens?: number | undefined;
323
+ maxRequestsPerMinute?: number | undefined;
278
324
  useGoogleADC?: boolean | undefined;
279
325
  }, {
280
326
  endpoint: string;
@@ -287,6 +333,7 @@ declare const JivaConfigSchema: z.ZodObject<{
287
333
  hasVision?: boolean | undefined;
288
334
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
289
335
  defaultMaxTokens?: number | undefined;
336
+ maxRequestsPerMinute?: number | undefined;
290
337
  useGoogleADC?: boolean | undefined;
291
338
  }>>;
292
339
  }, "strip", z.ZodTypeAny, {
@@ -301,6 +348,7 @@ declare const JivaConfigSchema: z.ZodObject<{
301
348
  hasVision?: boolean | undefined;
302
349
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
303
350
  defaultMaxTokens?: number | undefined;
351
+ maxRequestsPerMinute?: number | undefined;
304
352
  useGoogleADC?: boolean | undefined;
305
353
  } | undefined;
306
354
  multimodal?: {
@@ -314,6 +362,7 @@ declare const JivaConfigSchema: z.ZodObject<{
314
362
  hasVision?: boolean | undefined;
315
363
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
316
364
  defaultMaxTokens?: number | undefined;
365
+ maxRequestsPerMinute?: number | undefined;
317
366
  useGoogleADC?: boolean | undefined;
318
367
  } | undefined;
319
368
  toolCalling?: {
@@ -327,6 +376,7 @@ declare const JivaConfigSchema: z.ZodObject<{
327
376
  hasVision?: boolean | undefined;
328
377
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
329
378
  defaultMaxTokens?: number | undefined;
379
+ maxRequestsPerMinute?: number | undefined;
330
380
  useGoogleADC?: boolean | undefined;
331
381
  } | undefined;
332
382
  }, {
@@ -341,6 +391,7 @@ declare const JivaConfigSchema: z.ZodObject<{
341
391
  hasVision?: boolean | undefined;
342
392
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
343
393
  defaultMaxTokens?: number | undefined;
394
+ maxRequestsPerMinute?: number | undefined;
344
395
  useGoogleADC?: boolean | undefined;
345
396
  } | undefined;
346
397
  multimodal?: {
@@ -354,6 +405,7 @@ declare const JivaConfigSchema: z.ZodObject<{
354
405
  hasVision?: boolean | undefined;
355
406
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
356
407
  defaultMaxTokens?: number | undefined;
408
+ maxRequestsPerMinute?: number | undefined;
357
409
  useGoogleADC?: boolean | undefined;
358
410
  } | undefined;
359
411
  toolCalling?: {
@@ -367,6 +419,7 @@ declare const JivaConfigSchema: z.ZodObject<{
367
419
  hasVision?: boolean | undefined;
368
420
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
369
421
  defaultMaxTokens?: number | undefined;
422
+ maxRequestsPerMinute?: number | undefined;
370
423
  useGoogleADC?: boolean | undefined;
371
424
  } | undefined;
372
425
  }>;
@@ -460,6 +513,7 @@ declare const JivaConfigSchema: z.ZodObject<{
460
513
  hasVision?: boolean | undefined;
461
514
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
462
515
  defaultMaxTokens?: number | undefined;
516
+ maxRequestsPerMinute?: number | undefined;
463
517
  useGoogleADC?: boolean | undefined;
464
518
  } | undefined;
465
519
  multimodal?: {
@@ -473,6 +527,7 @@ declare const JivaConfigSchema: z.ZodObject<{
473
527
  hasVision?: boolean | undefined;
474
528
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
475
529
  defaultMaxTokens?: number | undefined;
530
+ maxRequestsPerMinute?: number | undefined;
476
531
  useGoogleADC?: boolean | undefined;
477
532
  } | undefined;
478
533
  toolCalling?: {
@@ -486,6 +541,7 @@ declare const JivaConfigSchema: z.ZodObject<{
486
541
  hasVision?: boolean | undefined;
487
542
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
488
543
  defaultMaxTokens?: number | undefined;
544
+ maxRequestsPerMinute?: number | undefined;
489
545
  useGoogleADC?: boolean | undefined;
490
546
  } | undefined;
491
547
  };
@@ -524,6 +580,7 @@ declare const JivaConfigSchema: z.ZodObject<{
524
580
  hasVision?: boolean | undefined;
525
581
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
526
582
  defaultMaxTokens?: number | undefined;
583
+ maxRequestsPerMinute?: number | undefined;
527
584
  useGoogleADC?: boolean | undefined;
528
585
  } | undefined;
529
586
  multimodal?: {
@@ -537,6 +594,7 @@ declare const JivaConfigSchema: z.ZodObject<{
537
594
  hasVision?: boolean | undefined;
538
595
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
539
596
  defaultMaxTokens?: number | undefined;
597
+ maxRequestsPerMinute?: number | undefined;
540
598
  useGoogleADC?: boolean | undefined;
541
599
  } | undefined;
542
600
  toolCalling?: {
@@ -550,6 +608,7 @@ declare const JivaConfigSchema: z.ZodObject<{
550
608
  hasVision?: boolean | undefined;
551
609
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
552
610
  defaultMaxTokens?: number | undefined;
611
+ maxRequestsPerMinute?: number | undefined;
553
612
  useGoogleADC?: boolean | undefined;
554
613
  } | undefined;
555
614
  };
@@ -583,6 +642,14 @@ export type JivaConfig = z.infer<typeof JivaConfigSchema>;
583
642
  export declare class ConfigManager {
584
643
  private store;
585
644
  private static instance;
645
+ /**
646
+ * Set once, the first time the singleton is constructed, if a legacy
647
+ * config was migrated to the new ~/.jiva/config.json location. CLI and
648
+ * HTTP entry points should check this right after the first
649
+ * `getInstance()` call and surface it (console/log) so the migration is
650
+ * visible rather than silent.
651
+ */
652
+ static lastMigrationMessage: string | null;
586
653
  private constructor();
587
654
  static getInstance(): ConfigManager;
588
655
  isConfigured(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,qBAAqB;;;;;;;IAWzB,0FAA0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK3F,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;IAGrB;;;OAGG;;;;;;IAMH;;;;;OAKG;;IAEH,2EAA2E;;IAE3E,0EAA0E;;IAE1E;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAC;AAEH,QAAA,MAAM,gBAAgB;;;;;YAtCpB;;;eAGG;;;;;;YAMH;;;;;eAKG;;YAEH,2EAA2E;;YAE3E,0EAA0E;;YAE1E;;;;;eAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAzBH;;;eAGG;;;;;;YAMH;;;;;eAKG;;YAEH,2EAA2E;;YAE3E,0EAA0E;;YAE1E;;;;;eAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAzBH;;;eAGG;;;;;;YAMH;;;;;eAKG;;YAEH,2EAA2E;;YAE3E,0EAA0E;;YAE1E;;;;;eAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAnCH,0FAA0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6D1F,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,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,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;IAOvB,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,mBAAmB,CAAC,MAAM,EAAE,WAAW;IAKvC,mBAAmB,IAAI,WAAW,GAAG,SAAS;IAI9C,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,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQpC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAItC,WAAW,IAAI,cAAc,GAAG,SAAS;IAIzC,kBAAkB,CAAC,OAAO,EAAE,OAAO;IAKnC,KAAK;IAIL,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,wBAAwB;IAyBxB;;OAEG;IACH,cAAc;CAwBf;AAED,eAAO,MAAM,aAAa,eAA8B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,66 @@
1
1
  import Conf from 'conf';
2
2
  import { z } from 'zod';
3
+ import fs from 'fs';
4
+ import os from 'os';
5
+ import path from 'path';
3
6
  import { ConfigurationError } from '../utils/errors.js';
4
7
  import { getDefaultFilesystemAllowedPath } from '../utils/platform.js';
8
+ /**
9
+ * Jiva's per-user data directory. Conversations and logs already live here
10
+ * (see LocalStorageProvider); config.json now lives here too, unifying the
11
+ * CLI's config storage with what the local (non-cloud) HTTP interface's
12
+ * LocalStorageProvider was already using.
13
+ */
14
+ const JIVA_HOME = path.join(os.homedir(), '.jiva');
15
+ /**
16
+ * Where `conf` (via `projectName: 'jiva'`) used to store config.json, before
17
+ * the move to JIVA_HOME. Same platform-specific resolution `conf` itself
18
+ * used internally — kept here only to detect and migrate a pre-existing
19
+ * config on first run after upgrading.
20
+ */
21
+ function getLegacyConfigPath() {
22
+ switch (process.platform) {
23
+ case 'win32': {
24
+ const appData = process.env.APPDATA ?? path.join(os.homedir(), 'AppData', 'Roaming');
25
+ return path.join(appData, 'jiva-nodejs', 'Config', 'config.json');
26
+ }
27
+ case 'darwin':
28
+ return path.join(os.homedir(), 'Library', 'Preferences', 'jiva-nodejs', 'config.json');
29
+ default:
30
+ return path.join(process.env.XDG_CONFIG_HOME ?? path.join(os.homedir(), '.config'), 'jiva-nodejs', 'config.json');
31
+ }
32
+ }
33
+ /**
34
+ * One-time migration: if a config already exists at the new location
35
+ * (JIVA_HOME/config.json), it's authoritative — leave it alone. Otherwise,
36
+ * if a legacy config exists at the old platform-specific path, copy it to
37
+ * the new location so existing users don't lose their configuration.
38
+ *
39
+ * Defensive: if something already exists at the new path by the time we go
40
+ * to write (a race, or a stray file created between the check above and
41
+ * now), it is backed up to config-backup.json first rather than clobbered.
42
+ *
43
+ * Returns a short message describing what happened, or null if nothing
44
+ * needed to happen — callers (CLI, HTTP) print this so the migration is
45
+ * visible rather than silent.
46
+ */
47
+ export function migrateLegacyConfigIfNeeded() {
48
+ const newPath = path.join(JIVA_HOME, 'config.json');
49
+ if (fs.existsSync(newPath))
50
+ return null; // already using the new location
51
+ const legacyPath = getLegacyConfigPath();
52
+ if (!fs.existsSync(legacyPath))
53
+ return null; // fresh install, nothing to migrate
54
+ fs.mkdirSync(JIVA_HOME, { recursive: true });
55
+ let backupMessage = '';
56
+ if (fs.existsSync(newPath)) {
57
+ const backupPath = path.join(JIVA_HOME, 'config-backup.json');
58
+ fs.copyFileSync(newPath, backupPath);
59
+ backupMessage = ` (existing file at the new location backed up to ${backupPath})`;
60
+ }
61
+ fs.copyFileSync(legacyPath, newPath);
62
+ return `Migrated config from ${legacyPath} to ${newPath}${backupMessage}`;
63
+ }
5
64
  // Zod schemas for validation
6
65
  // Support both stdio-based and HTTP/SSE-based MCP servers
7
66
  const MCPServerConfigSchema = z.object({
@@ -39,6 +98,12 @@ const ModelConfigSchema = z.object({
39
98
  reasoningEffortStrategy: z.enum(['api_param', 'system_prompt', 'both']).optional(),
40
99
  /** Default max tokens — required for reasoning models like Sarvam-105B */
41
100
  defaultMaxTokens: z.number().optional(),
101
+ /**
102
+ * Client-side proactive rate limit — max requests this model instance will
103
+ * send per trailing 60s window (e.g. Sarvam's standard plan: 40 req/min).
104
+ * Model-agnostic: set for any provider with a known hard rate ceiling.
105
+ */
106
+ maxRequestsPerMinute: z.number().optional(),
42
107
  /**
43
108
  * Use Google Application Default Credentials instead of a static apiKey.
44
109
  * Required for Vertex AI MaaS endpoints (aiplatform.googleapis.com).
@@ -72,9 +137,22 @@ const JivaConfigSchema = z.object({
72
137
  export class ConfigManager {
73
138
  store;
74
139
  static instance;
140
+ /**
141
+ * Set once, the first time the singleton is constructed, if a legacy
142
+ * config was migrated to the new ~/.jiva/config.json location. CLI and
143
+ * HTTP entry points should check this right after the first
144
+ * `getInstance()` call and surface it (console/log) so the migration is
145
+ * visible rather than silent.
146
+ */
147
+ static lastMigrationMessage = null;
75
148
  constructor() {
149
+ ConfigManager.lastMigrationMessage = migrateLegacyConfigIfNeeded();
76
150
  this.store = new Conf({
151
+ // cwd takes priority over projectName for path resolution — this is
152
+ // what actually pins storage to ~/.jiva/config.json. projectName is
153
+ // still required by Conf's types even when cwd is set.
77
154
  projectName: 'jiva',
155
+ cwd: JIVA_HOME,
78
156
  });
79
157
  }
80
158
  static getInstance() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -8,19 +8,8 @@ import { Message } from '../models/base.js';
8
8
  import { ModelOrchestrator } from '../models/orchestrator.js';
9
9
  import { StorageProvider } from '../storage/provider.js';
10
10
  import { SavedConversation } from '../storage/types.js';
11
- export interface ConversationMetadata {
12
- id: string;
13
- title?: string;
14
- created: string;
15
- updated: string;
16
- messageCount: number;
17
- workspace?: string;
18
- summary?: string;
19
- type?: 'chat' | 'code';
20
- totalPromptTokens?: number;
21
- totalCompletionTokens?: number;
22
- totalTokens?: number;
23
- }
11
+ export type { ConversationMetadata, CodeConversationMeta } from '../storage/types.js';
12
+ import type { ConversationMetadata, CodeConversationMeta } from '../storage/types.js';
24
13
  export declare class ConversationManager {
25
14
  private storageProvider;
26
15
  private currentConversationId;
@@ -37,7 +26,7 @@ export declare class ConversationManager {
37
26
  promptTokens: number;
38
27
  completionTokens: number;
39
28
  totalTokens: number;
40
- }): Promise<string>;
29
+ }, codeMeta?: CodeConversationMeta): Promise<string>;
41
30
  /**
42
31
  * Load conversation using StorageProvider
43
32
  */
@@ -72,13 +61,18 @@ export declare class ConversationManager {
72
61
  */
73
62
  generateTitle(messages: Message[], orchestrator: ModelOrchestrator): Promise<string>;
74
63
  /**
75
- * Capitalize first letter of string
64
+ * Remove reasoning/thinking blocks that some models (e.g. GLM-5.2,
65
+ * DeepSeek-R1) emit inline in the response content. Handles both
66
+ * properly-closed blocks and truncated/unclosed ones (where the model
67
+ * ran out of token budget mid-thought and never emitted the closing tag).
68
+ * \x3c is the '<' character, used here so the literal tag markers don't
69
+ * appear in the regex source.
76
70
  */
77
- private capitalizeFirst;
71
+ private stripThinkingContent;
78
72
  /**
79
- * Generate a summary for a conversation (for metadata)
73
+ * Capitalize first letter of string
80
74
  */
81
- generateSummary(messages: Message[], orchestrator: ModelOrchestrator): Promise<string>;
75
+ private capitalizeFirst;
82
76
  /**
83
77
  * Auto-save conversation periodically
84
78
  */
@@ -86,7 +80,7 @@ export declare class ConversationManager {
86
80
  promptTokens: number;
87
81
  completionTokens: number;
88
82
  totalTokens: number;
89
- }): Promise<void>;
83
+ }, codeMeta?: CodeConversationMeta): Promise<void>;
90
84
  /**
91
85
  * Get current conversation ID
92
86
  */
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../src/core/conversation-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../src/core/conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEtF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,qBAAqB,CAAuB;gBAExC,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,iBAAiB;IAK9E,OAAO,CAAC,YAAY,CAAC,CAAoB;IAEzC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACG,gBAAgB,CACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,iBAAiB,EAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EACtB,UAAU,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EACpF,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,MAAM,CAAC;IAgElB;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkB9D;;OAEG;IACG,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAyBhF;;OAEG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnD;;;;;;;;;;;;OAYG;IACG,oBAAoB,CACxB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,iBAAiB,EAC/B,kBAAkB,GAAE,MAAW,EAC/B,iBAAiB,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/D,OAAO,CAAC,OAAO,EAAE,CAAC;IAuHrB;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,MAAM,CAAC;IAgElB;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACG,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,iBAAiB,EAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EACtB,UAAU,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EACpF,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;IACH,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;CAG9D"}
@@ -23,7 +23,7 @@ export class ConversationManager {
23
23
  /**
24
24
  * Save conversation using StorageProvider
25
25
  */
26
- async saveConversation(messages, workspace, conversationId, orchestrator, type, tokenUsage) {
26
+ async saveConversation(messages, workspace, conversationId, orchestrator, type, tokenUsage, codeMeta) {
27
27
  const finalId = conversationId || this.currentConversationId || this.generateConversationId();
28
28
  // Use provided orchestrator or fallback to constructor orchestrator
29
29
  const modelOrchestrator = orchestrator || this.orchestrator;
@@ -67,6 +67,9 @@ export class ConversationManager {
67
67
  totalPromptTokens: (existingData?.metadata?.totalPromptTokens ?? 0) + (tokenUsage?.promptTokens ?? 0),
68
68
  totalCompletionTokens: (existingData?.metadata?.totalCompletionTokens ?? 0) + (tokenUsage?.completionTokens ?? 0),
69
69
  totalTokens: (existingData?.metadata?.totalTokens ?? 0) + (tokenUsage?.totalTokens ?? 0),
70
+ mcpServers: codeMeta?.mcpServers ?? existingData?.metadata?.mcpServers,
71
+ maxIterations: codeMeta?.maxIterations ?? existingData?.metadata?.maxIterations,
72
+ harness: codeMeta?.harness ?? existingData?.metadata?.harness,
70
73
  };
71
74
  const conversation = {
72
75
  metadata,
@@ -273,10 +276,19 @@ Keep the summary focused and complete — include file paths, function names, an
273
276
  const response = await orchestrator.chat({
274
277
  messages: [{ role: 'user', content: titlePrompt }],
275
278
  temperature: 0.1, // Low temperature for deterministic title generation
276
- maxTokens: 20,
279
+ // Reasoning models (e.g. GLM-5.2) spend tokens on a thinking chain
280
+ // before emitting the title; 20 tokens was barely enough for the
281
+ // thinking alone, leaving nothing for the actual title.
282
+ maxTokens: 200,
283
+ reasoningEffort: 'low', // Minimize thinking for this simple task
277
284
  });
278
- // Clean up the title
279
- let title = response.content.trim();
285
+ // Clean up the title. Reasoning models (e.g. GLM-5.2, DeepSeek) emit
286
+ // inline thinking blocks; stripThinkingContent() removes those, then
287
+ // take the last non-empty line (the model sometimes emits preamble
288
+ // before the actual title).
289
+ let title = this.stripThinkingContent(response.content).trim();
290
+ const lines = title.split('\n').map(l => l.trim()).filter(Boolean);
291
+ title = lines.length > 0 ? lines[lines.length - 1] : '';
280
292
  // Remove quotes if present
281
293
  title = title.replace(/^["']|["']$/g, '');
282
294
  // Remove trailing punctuation
@@ -306,6 +318,19 @@ Keep the summary focused and complete — include file paths, function names, an
306
318
  return 'Untitled Conversation';
307
319
  }
308
320
  }
321
+ /**
322
+ * Remove reasoning/thinking blocks that some models (e.g. GLM-5.2,
323
+ * DeepSeek-R1) emit inline in the response content. Handles both
324
+ * properly-closed blocks and truncated/unclosed ones (where the model
325
+ * ran out of token budget mid-thought and never emitted the closing tag).
326
+ * \x3c is the '<' character, used here so the literal tag markers don't
327
+ * appear in the regex source.
328
+ */
329
+ stripThinkingContent(content) {
330
+ return content
331
+ .replace(/\x3cthink[\s\S]*?\x3c\/think>/g, '') // closed thinking blocks
332
+ .replace(/\x3cthink[\s\S]*$/g, ''); // unclosed (truncated) thinking
333
+ }
309
334
  /**
310
335
  * Capitalize first letter of string
311
336
  */
@@ -314,40 +339,12 @@ Keep the summary focused and complete — include file paths, function names, an
314
339
  return str;
315
340
  return str.charAt(0).toUpperCase() + str.slice(1);
316
341
  }
317
- /**
318
- * Generate a summary for a conversation (for metadata)
319
- */
320
- async generateSummary(messages, orchestrator) {
321
- try {
322
- // Get user messages to understand the conversation topic
323
- const userMessages = messages
324
- .filter(msg => msg.role === 'user')
325
- .map(msg => msg.content)
326
- .slice(0, 5) // First 5 user messages
327
- .join('\n');
328
- const summaryPrompt = `Generate a brief 1-2 sentence summary of this conversation topic:
329
-
330
- ${userMessages}
331
-
332
- Summary:`;
333
- const response = await orchestrator.chat({
334
- messages: [{ role: 'user', content: summaryPrompt }],
335
- temperature: 0.1, // Low temperature for deterministic summary generation
336
- maxTokens: 100,
337
- });
338
- return response.content.trim();
339
- }
340
- catch (error) {
341
- logger.error('Failed to generate summary', error);
342
- return 'Conversation';
343
- }
344
- }
345
342
  /**
346
343
  * Auto-save conversation periodically
347
344
  */
348
- async autoSave(messages, workspace, orchestrator, type, tokenUsage) {
345
+ async autoSave(messages, workspace, orchestrator, type, tokenUsage, codeMeta) {
349
346
  try {
350
- await this.saveConversation(messages, workspace, this.currentConversationId || undefined, orchestrator, type, tokenUsage);
347
+ await this.saveConversation(messages, workspace, this.currentConversationId || undefined, orchestrator, type, tokenUsage, codeMeta);
351
348
  }
352
349
  catch (error) {
353
350
  logger.error('Auto-save failed', error);
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../../src/core/conversation-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../../src/core/conversation-manager.ts"],"names":[],"mappings":"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"}