jiva-core 0.3.48 → 0.3.49-dev.cb91f48

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 (37) hide show
  1. package/dist/code/agent.d.ts.map +1 -1
  2. package/dist/code/agent.js +48 -6
  3. package/dist/code/agent.js.map +1 -1
  4. package/dist/core/config.d.ts +71 -0
  5. package/dist/core/config.d.ts.map +1 -1
  6. package/dist/core/config.js +79 -0
  7. package/dist/core/config.js.map +1 -1
  8. package/dist/core/manager-agent.d.ts +5 -0
  9. package/dist/core/manager-agent.d.ts.map +1 -1
  10. package/dist/core/manager-agent.js +8 -8
  11. package/dist/core/manager-agent.js.map +1 -1
  12. package/dist/interfaces/cli/index.js +14 -1
  13. package/dist/interfaces/cli/index.js.map +1 -1
  14. package/dist/interfaces/cli/setup-wizard.d.ts.map +1 -1
  15. package/dist/interfaces/cli/setup-wizard.js +21 -0
  16. package/dist/interfaces/cli/setup-wizard.js.map +1 -1
  17. package/dist/interfaces/http/index.d.ts.map +1 -1
  18. package/dist/interfaces/http/index.js +10 -0
  19. package/dist/interfaces/http/index.js.map +1 -1
  20. package/dist/interfaces/http/session-manager.d.ts.map +1 -1
  21. package/dist/interfaces/http/session-manager.js +1 -0
  22. package/dist/interfaces/http/session-manager.js.map +1 -1
  23. package/dist/models/base.d.ts +8 -0
  24. package/dist/models/base.d.ts.map +1 -1
  25. package/dist/models/model-client.d.ts +8 -0
  26. package/dist/models/model-client.d.ts.map +1 -1
  27. package/dist/models/model-client.js +3 -1
  28. package/dist/models/model-client.js.map +1 -1
  29. package/dist/models/orchestrator.d.ts +16 -3
  30. package/dist/models/orchestrator.d.ts.map +1 -1
  31. package/dist/models/orchestrator.js +32 -5
  32. package/dist/models/orchestrator.js.map +1 -1
  33. package/dist/utils/vision-detection.d.ts +16 -0
  34. package/dist/utils/vision-detection.d.ts.map +1 -0
  35. package/dist/utils/vision-detection.js +51 -0
  36. package/dist/utils/vision-detection.js.map +1 -0
  37. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"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"}
@@ -688,14 +688,23 @@ ${directive ? `\n${directive}` : ''}`;
688
688
  // ── In-loop context compaction ──────────────────────────────────────────
689
689
  // Check if we're approaching the context window limit and compact if needed.
690
690
  // Triggered once per turn (compactedThisTurn flag) to avoid thrashing.
691
- // Only runs when: threshold > 0, orchestrator available, not already compacted,
692
- // and the response carried token usage data.
691
+ // Only runs when: threshold > 0, orchestrator available, not already compacted.
692
+ //
693
+ // Deliberately NOT gated on the response having tool calls: a model that's
694
+ // starved for completion-token budget by a bloated prompt (spending its
695
+ // whole budget "thinking" before it can emit a tool call, or even any
696
+ // visible text) is EXACTLY the scenario compaction needs to rescue —
697
+ // gating on tool calls here created a deadlock where a large context
698
+ // would push the model into empty responses, and because empty responses
699
+ // never carry tool calls, compaction could never fire to shrink the
700
+ // context back down. The model would then just keep re-hitting the same
701
+ // starved budget on every recovery-nudge retry and give up after
702
+ // MAX_EMPTY_RESPONSES, even with abundant maxIterations remaining.
693
703
  const promptTokens = response.usage?.promptTokens ?? 0;
694
704
  if (this.compactionThreshold > 0 &&
695
705
  promptTokens > this.compactionThreshold &&
696
706
  !compactedThisTurn &&
697
- this.conversationManager &&
698
- response.toolCalls && response.toolCalls.length > 0) {
707
+ this.conversationManager) {
699
708
  logger.warn(`[CodeAgent] Context at ${promptTokens} tokens (threshold: ${this.compactionThreshold}) — compacting in-loop history`);
700
709
  compactedThisTurn = true;
701
710
  try {
@@ -742,13 +751,46 @@ ${directive ? `\n${directive}` : ''}`;
742
751
  continue;
743
752
  }
744
753
  if (!response.content && emptyResponseCount < MAX_EMPTY_RESPONSES) {
745
- // Model returned empty content with no tool calls — it got stuck or confused.
754
+ // Model returned empty content with no tool calls.
755
+ //
756
+ // Two distinct causes look identical here but need different fixes:
757
+ // 1. finishReason === 'length' — the model hit its max_tokens ceiling
758
+ // while still "thinking" and never got to emit a tool call or text.
759
+ // This is a completion-token-budget problem, not confusion — nudging
760
+ // with MORE instructions only adds prompt weight and makes the next
761
+ // attempt hit the same wall (or worse). The real fix is to shrink the
762
+ // context so more of the budget is left for actual output, so we force
763
+ // an immediate compaction here regardless of the normal token threshold.
764
+ // 2. Anything else — the model is genuinely stuck/confused; a nudge is the
765
+ // right tool.
766
+ const isLengthStarved = response.finishReason === 'length';
767
+ if (isLengthStarved && !compactedThisTurn && this.conversationManager) {
768
+ logger.warn('[CodeAgent] Empty response with finishReason=length — model ran out of completion budget ' +
769
+ 'while thinking. Forcing context compaction instead of a text nudge.');
770
+ compactedThisTurn = true;
771
+ try {
772
+ const compacted = await this.compactInLoopMessages(messages, systemPrompt);
773
+ messages.splice(0, messages.length, ...compacted);
774
+ logger.info(`[CodeAgent] Forced compaction complete: ${messages.length} messages after compaction`);
775
+ }
776
+ catch (compactErr) {
777
+ logger.error('[CodeAgent] Forced compaction failed, falling back to a recovery nudge', compactErr);
778
+ }
779
+ }
746
780
  // Inject an escalating recovery nudge and let it try again.
747
781
  emptyResponseCount++;
748
782
  logger.warn(`[CodeAgent] Empty response with no tool calls (${emptyResponseCount}/${MAX_EMPTY_RESPONSES}) — injecting recovery nudge`);
749
783
  // Escalate urgency with each retry so the model doesn't keep ignoring it
750
784
  let nudgeContent;
751
- if (emptyResponseCount <= 2) {
785
+ if (isLengthStarved) {
786
+ nudgeContent =
787
+ 'Your last response ran out of space before producing any output — the context has now been ' +
788
+ 'compacted to free up room. Continue the task with a SHORT, direct next step:\n' +
789
+ '- If you need to CREATE a file → call write_file now.\n' +
790
+ '- If you need to EDIT a file → call edit_file directly (skip re-reading files you already read).\n' +
791
+ '- If the task is already complete → provide a brief one-paragraph summary.';
792
+ }
793
+ else if (emptyResponseCount <= 2) {
752
794
  nudgeContent =
753
795
  'Your last response was empty. Please continue working on the task.\n\n' +
754
796
  '- If you need to CREATE a file → call write_file now.\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"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"}
@@ -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">>;
@@ -53,6 +68,13 @@ declare const ModelConfigSchema: z.ZodObject<{
53
68
  model: z.ZodOptional<z.ZodString>;
54
69
  defaultModel: z.ZodOptional<z.ZodString>;
55
70
  useHarmonyFormat: z.ZodOptional<z.ZodBoolean>;
71
+ /**
72
+ * True when this model instance itself has native vision/multimodal
73
+ * capability, regardless of `type`. Lets a `reasoning`- (or `tool-calling`-)
74
+ * typed model accept image content directly, without needing a separate
75
+ * dedicated `multimodal` model configured for image captioning.
76
+ */
77
+ hasVision: z.ZodOptional<z.ZodBoolean>;
56
78
  /** How to send reasoning effort: 'api_param' | 'system_prompt' | 'both' */
57
79
  reasoningEffortStrategy: z.ZodOptional<z.ZodEnum<["api_param", "system_prompt", "both"]>>;
58
80
  /** Default max tokens — required for reasoning models like Sarvam-105B */
@@ -72,6 +94,7 @@ declare const ModelConfigSchema: z.ZodObject<{
72
94
  model?: string | undefined;
73
95
  defaultModel?: string | undefined;
74
96
  useHarmonyFormat?: boolean | undefined;
97
+ hasVision?: boolean | undefined;
75
98
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
76
99
  defaultMaxTokens?: number | undefined;
77
100
  useGoogleADC?: boolean | undefined;
@@ -83,6 +106,7 @@ declare const ModelConfigSchema: z.ZodObject<{
83
106
  apiKey?: string | undefined;
84
107
  defaultModel?: string | undefined;
85
108
  useHarmonyFormat?: boolean | undefined;
109
+ hasVision?: boolean | undefined;
86
110
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
87
111
  defaultMaxTokens?: number | undefined;
88
112
  useGoogleADC?: boolean | undefined;
@@ -127,6 +151,13 @@ declare const JivaConfigSchema: z.ZodObject<{
127
151
  model: z.ZodOptional<z.ZodString>;
128
152
  defaultModel: z.ZodOptional<z.ZodString>;
129
153
  useHarmonyFormat: z.ZodOptional<z.ZodBoolean>;
154
+ /**
155
+ * True when this model instance itself has native vision/multimodal
156
+ * capability, regardless of `type`. Lets a `reasoning`- (or `tool-calling`-)
157
+ * typed model accept image content directly, without needing a separate
158
+ * dedicated `multimodal` model configured for image captioning.
159
+ */
160
+ hasVision: z.ZodOptional<z.ZodBoolean>;
130
161
  /** How to send reasoning effort: 'api_param' | 'system_prompt' | 'both' */
131
162
  reasoningEffortStrategy: z.ZodOptional<z.ZodEnum<["api_param", "system_prompt", "both"]>>;
132
163
  /** Default max tokens — required for reasoning models like Sarvam-105B */
@@ -146,6 +177,7 @@ declare const JivaConfigSchema: z.ZodObject<{
146
177
  model?: string | undefined;
147
178
  defaultModel?: string | undefined;
148
179
  useHarmonyFormat?: boolean | undefined;
180
+ hasVision?: boolean | undefined;
149
181
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
150
182
  defaultMaxTokens?: number | undefined;
151
183
  useGoogleADC?: boolean | undefined;
@@ -157,6 +189,7 @@ declare const JivaConfigSchema: z.ZodObject<{
157
189
  apiKey?: string | undefined;
158
190
  defaultModel?: string | undefined;
159
191
  useHarmonyFormat?: boolean | undefined;
192
+ hasVision?: boolean | undefined;
160
193
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
161
194
  defaultMaxTokens?: number | undefined;
162
195
  useGoogleADC?: boolean | undefined;
@@ -173,6 +206,13 @@ declare const JivaConfigSchema: z.ZodObject<{
173
206
  model: z.ZodOptional<z.ZodString>;
174
207
  defaultModel: z.ZodOptional<z.ZodString>;
175
208
  useHarmonyFormat: z.ZodOptional<z.ZodBoolean>;
209
+ /**
210
+ * True when this model instance itself has native vision/multimodal
211
+ * capability, regardless of `type`. Lets a `reasoning`- (or `tool-calling`-)
212
+ * typed model accept image content directly, without needing a separate
213
+ * dedicated `multimodal` model configured for image captioning.
214
+ */
215
+ hasVision: z.ZodOptional<z.ZodBoolean>;
176
216
  /** How to send reasoning effort: 'api_param' | 'system_prompt' | 'both' */
177
217
  reasoningEffortStrategy: z.ZodOptional<z.ZodEnum<["api_param", "system_prompt", "both"]>>;
178
218
  /** Default max tokens — required for reasoning models like Sarvam-105B */
@@ -192,6 +232,7 @@ declare const JivaConfigSchema: z.ZodObject<{
192
232
  model?: string | undefined;
193
233
  defaultModel?: string | undefined;
194
234
  useHarmonyFormat?: boolean | undefined;
235
+ hasVision?: boolean | undefined;
195
236
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
196
237
  defaultMaxTokens?: number | undefined;
197
238
  useGoogleADC?: boolean | undefined;
@@ -203,6 +244,7 @@ declare const JivaConfigSchema: z.ZodObject<{
203
244
  apiKey?: string | undefined;
204
245
  defaultModel?: string | undefined;
205
246
  useHarmonyFormat?: boolean | undefined;
247
+ hasVision?: boolean | undefined;
206
248
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
207
249
  defaultMaxTokens?: number | undefined;
208
250
  useGoogleADC?: boolean | undefined;
@@ -219,6 +261,13 @@ declare const JivaConfigSchema: z.ZodObject<{
219
261
  model: z.ZodOptional<z.ZodString>;
220
262
  defaultModel: z.ZodOptional<z.ZodString>;
221
263
  useHarmonyFormat: z.ZodOptional<z.ZodBoolean>;
264
+ /**
265
+ * True when this model instance itself has native vision/multimodal
266
+ * capability, regardless of `type`. Lets a `reasoning`- (or `tool-calling`-)
267
+ * typed model accept image content directly, without needing a separate
268
+ * dedicated `multimodal` model configured for image captioning.
269
+ */
270
+ hasVision: z.ZodOptional<z.ZodBoolean>;
222
271
  /** How to send reasoning effort: 'api_param' | 'system_prompt' | 'both' */
223
272
  reasoningEffortStrategy: z.ZodOptional<z.ZodEnum<["api_param", "system_prompt", "both"]>>;
224
273
  /** Default max tokens — required for reasoning models like Sarvam-105B */
@@ -238,6 +287,7 @@ declare const JivaConfigSchema: z.ZodObject<{
238
287
  model?: string | undefined;
239
288
  defaultModel?: string | undefined;
240
289
  useHarmonyFormat?: boolean | undefined;
290
+ hasVision?: boolean | undefined;
241
291
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
242
292
  defaultMaxTokens?: number | undefined;
243
293
  useGoogleADC?: boolean | undefined;
@@ -249,6 +299,7 @@ declare const JivaConfigSchema: z.ZodObject<{
249
299
  apiKey?: string | undefined;
250
300
  defaultModel?: string | undefined;
251
301
  useHarmonyFormat?: boolean | undefined;
302
+ hasVision?: boolean | undefined;
252
303
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
253
304
  defaultMaxTokens?: number | undefined;
254
305
  useGoogleADC?: boolean | undefined;
@@ -262,6 +313,7 @@ declare const JivaConfigSchema: z.ZodObject<{
262
313
  model?: string | undefined;
263
314
  defaultModel?: string | undefined;
264
315
  useHarmonyFormat?: boolean | undefined;
316
+ hasVision?: boolean | undefined;
265
317
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
266
318
  defaultMaxTokens?: number | undefined;
267
319
  useGoogleADC?: boolean | undefined;
@@ -274,6 +326,7 @@ declare const JivaConfigSchema: z.ZodObject<{
274
326
  model?: string | undefined;
275
327
  defaultModel?: string | undefined;
276
328
  useHarmonyFormat?: boolean | undefined;
329
+ hasVision?: boolean | undefined;
277
330
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
278
331
  defaultMaxTokens?: number | undefined;
279
332
  useGoogleADC?: boolean | undefined;
@@ -286,6 +339,7 @@ declare const JivaConfigSchema: z.ZodObject<{
286
339
  model?: string | undefined;
287
340
  defaultModel?: string | undefined;
288
341
  useHarmonyFormat?: boolean | undefined;
342
+ hasVision?: boolean | undefined;
289
343
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
290
344
  defaultMaxTokens?: number | undefined;
291
345
  useGoogleADC?: boolean | undefined;
@@ -299,6 +353,7 @@ declare const JivaConfigSchema: z.ZodObject<{
299
353
  apiKey?: string | undefined;
300
354
  defaultModel?: string | undefined;
301
355
  useHarmonyFormat?: boolean | undefined;
356
+ hasVision?: boolean | undefined;
302
357
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
303
358
  defaultMaxTokens?: number | undefined;
304
359
  useGoogleADC?: boolean | undefined;
@@ -311,6 +366,7 @@ declare const JivaConfigSchema: z.ZodObject<{
311
366
  apiKey?: string | undefined;
312
367
  defaultModel?: string | undefined;
313
368
  useHarmonyFormat?: boolean | undefined;
369
+ hasVision?: boolean | undefined;
314
370
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
315
371
  defaultMaxTokens?: number | undefined;
316
372
  useGoogleADC?: boolean | undefined;
@@ -323,6 +379,7 @@ declare const JivaConfigSchema: z.ZodObject<{
323
379
  apiKey?: string | undefined;
324
380
  defaultModel?: string | undefined;
325
381
  useHarmonyFormat?: boolean | undefined;
382
+ hasVision?: boolean | undefined;
326
383
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
327
384
  defaultMaxTokens?: number | undefined;
328
385
  useGoogleADC?: boolean | undefined;
@@ -415,6 +472,7 @@ declare const JivaConfigSchema: z.ZodObject<{
415
472
  model?: string | undefined;
416
473
  defaultModel?: string | undefined;
417
474
  useHarmonyFormat?: boolean | undefined;
475
+ hasVision?: boolean | undefined;
418
476
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
419
477
  defaultMaxTokens?: number | undefined;
420
478
  useGoogleADC?: boolean | undefined;
@@ -427,6 +485,7 @@ declare const JivaConfigSchema: z.ZodObject<{
427
485
  model?: string | undefined;
428
486
  defaultModel?: string | undefined;
429
487
  useHarmonyFormat?: boolean | undefined;
488
+ hasVision?: boolean | undefined;
430
489
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
431
490
  defaultMaxTokens?: number | undefined;
432
491
  useGoogleADC?: boolean | undefined;
@@ -439,6 +498,7 @@ declare const JivaConfigSchema: z.ZodObject<{
439
498
  model?: string | undefined;
440
499
  defaultModel?: string | undefined;
441
500
  useHarmonyFormat?: boolean | undefined;
501
+ hasVision?: boolean | undefined;
442
502
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
443
503
  defaultMaxTokens?: number | undefined;
444
504
  useGoogleADC?: boolean | undefined;
@@ -476,6 +536,7 @@ declare const JivaConfigSchema: z.ZodObject<{
476
536
  apiKey?: string | undefined;
477
537
  defaultModel?: string | undefined;
478
538
  useHarmonyFormat?: boolean | undefined;
539
+ hasVision?: boolean | undefined;
479
540
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
480
541
  defaultMaxTokens?: number | undefined;
481
542
  useGoogleADC?: boolean | undefined;
@@ -488,6 +549,7 @@ declare const JivaConfigSchema: z.ZodObject<{
488
549
  apiKey?: string | undefined;
489
550
  defaultModel?: string | undefined;
490
551
  useHarmonyFormat?: boolean | undefined;
552
+ hasVision?: boolean | undefined;
491
553
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
492
554
  defaultMaxTokens?: number | undefined;
493
555
  useGoogleADC?: boolean | undefined;
@@ -500,6 +562,7 @@ declare const JivaConfigSchema: z.ZodObject<{
500
562
  apiKey?: string | undefined;
501
563
  defaultModel?: string | undefined;
502
564
  useHarmonyFormat?: boolean | undefined;
565
+ hasVision?: boolean | undefined;
503
566
  reasoningEffortStrategy?: "api_param" | "system_prompt" | "both" | undefined;
504
567
  defaultMaxTokens?: number | undefined;
505
568
  useGoogleADC?: boolean | undefined;
@@ -535,6 +598,14 @@ export type JivaConfig = z.infer<typeof JivaConfigSchema>;
535
598
  export declare class ConfigManager {
536
599
  private store;
537
600
  private static instance;
601
+ /**
602
+ * Set once, the first time the singleton is constructed, if a legacy
603
+ * config was migrated to the new ~/.jiva/config.json location. CLI and
604
+ * HTTP entry points should check this right after the first
605
+ * `getInstance()` call and surface it (console/log) so the migration is
606
+ * visible rather than silent.
607
+ */
608
+ static lastMigrationMessage: string | null;
538
609
  private constructor();
539
610
  static getInstance(): ConfigManager;
540
611
  isConfigured(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqCxB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,IAAI,CAkB3D;AAID,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;IACvC;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElD,OAAO;IAWP,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,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({
@@ -28,6 +87,13 @@ const ModelConfigSchema = z.object({
28
87
  model: z.string().optional(),
29
88
  defaultModel: z.string().optional(),
30
89
  useHarmonyFormat: z.boolean().optional(),
90
+ /**
91
+ * True when this model instance itself has native vision/multimodal
92
+ * capability, regardless of `type`. Lets a `reasoning`- (or `tool-calling`-)
93
+ * typed model accept image content directly, without needing a separate
94
+ * dedicated `multimodal` model configured for image captioning.
95
+ */
96
+ hasVision: z.boolean().optional(),
31
97
  /** How to send reasoning effort: 'api_param' | 'system_prompt' | 'both' */
32
98
  reasoningEffortStrategy: z.enum(['api_param', 'system_prompt', 'both']).optional(),
33
99
  /** Default max tokens — required for reasoning models like Sarvam-105B */
@@ -65,9 +131,22 @@ const JivaConfigSchema = z.object({
65
131
  export class ConfigManager {
66
132
  store;
67
133
  static instance;
134
+ /**
135
+ * Set once, the first time the singleton is constructed, if a legacy
136
+ * config was migrated to the new ~/.jiva/config.json location. CLI and
137
+ * HTTP entry points should check this right after the first
138
+ * `getInstance()` call and surface it (console/log) so the migration is
139
+ * visible rather than silent.
140
+ */
141
+ static lastMigrationMessage = null;
68
142
  constructor() {
143
+ ConfigManager.lastMigrationMessage = migrateLegacyConfigIfNeeded();
69
144
  this.store = new Conf({
145
+ // cwd takes priority over projectName for path resolution — this is
146
+ // what actually pins storage to ~/.jiva/config.json. projectName is
147
+ // still required by Conf's types even when cwd is set.
70
148
  projectName: 'jiva',
149
+ cwd: JIVA_HOME,
71
150
  });
72
151
  }
73
152
  static getInstance() {