@luckydraw/cumulus 0.28.9 → 0.30.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.
- package/CHANGELOG.md +24 -2
- package/dist/cli/cumulus.js +1 -1
- package/dist/cli/cumulus.js.map +1 -1
- package/dist/gateway/adapters/webchat.d.ts.map +1 -1
- package/dist/gateway/adapters/webchat.js +19 -7
- package/dist/gateway/adapters/webchat.js.map +1 -1
- package/dist/gateway/config.d.ts +2 -0
- package/dist/gateway/config.d.ts.map +1 -1
- package/dist/gateway/config.js +1 -1
- package/dist/gateway/config.js.map +1 -1
- package/dist/gateway/daemon.d.ts +7 -1
- package/dist/gateway/daemon.d.ts.map +1 -1
- package/dist/gateway/daemon.js +46 -2
- package/dist/gateway/daemon.js.map +1 -1
- package/dist/gateway/logger.js +1 -1
- package/dist/gateway/logger.js.map +1 -1
- package/dist/gateway/push.js +1 -1
- package/dist/gateway/push.js.map +1 -1
- package/dist/gateway/scheduler.d.ts.map +1 -1
- package/dist/gateway/scheduler.js +1 -1
- package/dist/gateway/scheduler.js.map +1 -1
- package/dist/gateway/server.d.ts +9 -0
- package/dist/gateway/server.d.ts.map +1 -1
- package/dist/gateway/server.js +50 -7
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/setup.d.ts +21 -0
- package/dist/gateway/setup.d.ts.map +1 -0
- package/dist/gateway/setup.js +426 -0
- package/dist/gateway/setup.js.map +1 -0
- package/dist/gateway/static/widget.js +212 -20
- package/dist/gateway/voice-tts.d.ts.map +1 -1
- package/dist/gateway/voice-tts.js +1 -1
- package/dist/gateway/voice-tts.js.map +1 -1
- package/dist/lib/agentic-loop.d.ts.map +1 -1
- package/dist/lib/agentic-loop.js +15 -3
- package/dist/lib/agentic-loop.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +8 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/gateway.d.ts +9 -7
- package/dist/lib/gateway.d.ts.map +1 -1
- package/dist/lib/gateway.js +265 -42
- package/dist/lib/gateway.js.map +1 -1
- package/dist/lib/history.d.ts.map +1 -1
- package/dist/lib/history.js +3 -2
- package/dist/lib/history.js.map +1 -1
- package/dist/lib/huggingface-provider.d.ts.map +1 -1
- package/dist/lib/huggingface-provider.js +123 -12
- package/dist/lib/huggingface-provider.js.map +1 -1
- package/dist/lib/jsonl-lock.d.ts +34 -0
- package/dist/lib/jsonl-lock.d.ts.map +1 -0
- package/dist/lib/jsonl-lock.js +81 -0
- package/dist/lib/jsonl-lock.js.map +1 -0
- package/dist/lib/templates.js +1 -1
- package/dist/lib/templates.js.map +1 -1
- package/dist/lib/version-check.d.ts.map +1 -1
- package/dist/lib/version-check.js +1 -1
- package/dist/lib/version-check.js.map +1 -1
- package/dist/tui/components/App.js +1 -1
- package/dist/tui/components/App.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,7 +19,11 @@
|
|
|
19
19
|
if (WS_URL_OVERRIDE) return WS_URL_OVERRIDE;
|
|
20
20
|
var loc = window.location;
|
|
21
21
|
var proto = loc.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
22
|
-
|
|
22
|
+
var base = proto + '//' + loc.host + '/ws';
|
|
23
|
+
// Forward ?debug=1 from page URL to WebSocket URL
|
|
24
|
+
var params = new URLSearchParams(loc.search);
|
|
25
|
+
if (params.get('debug') === '1') base += '?debug=1';
|
|
26
|
+
return base;
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
function getSessionId() {
|
|
@@ -381,15 +385,13 @@
|
|
|
381
385
|
'}',
|
|
382
386
|
'.code-block-edit-btn:hover { border-color: #0066cc; color: #ddd; }',
|
|
383
387
|
'.texitool-embed-container {',
|
|
384
|
-
' border: 1px solid #3a3a3a;',
|
|
385
|
-
' border-radius: 0.4em;',
|
|
386
388
|
' overflow: hidden;',
|
|
387
389
|
' margin: 0.6em 0;',
|
|
388
|
-
' background: #1e1e1e;',
|
|
389
390
|
'}',
|
|
390
391
|
'.texitool-embed-container iframe {',
|
|
391
392
|
' width: 100%; border: none;',
|
|
392
393
|
' min-height: 400px;',
|
|
394
|
+
' max-height: calc(100vh - 200px);',
|
|
393
395
|
' display: block;',
|
|
394
396
|
'}',
|
|
395
397
|
'.texitool-embed-actions {',
|
|
@@ -857,6 +859,7 @@
|
|
|
857
859
|
' flex-shrink: 0;',
|
|
858
860
|
'}',
|
|
859
861
|
'.cumulus-topbar-title { font-weight: 600; font-size: 15px; color: #e0e0e0; }',
|
|
862
|
+
'.cumulus-topbar-version { font-weight: 400; font-size: 11px; color: #777; margin-left: 4px; }',
|
|
860
863
|
'.cumulus-topbar-right { display: flex; align-items: center; gap: 10px; }',
|
|
861
864
|
|
|
862
865
|
/* ── Update banner ── */
|
|
@@ -1952,12 +1955,18 @@
|
|
|
1952
1955
|
// Inline code (backtick)
|
|
1953
1956
|
html = html.replace(/`([^`]+)`/g, '<code>$1</code>');
|
|
1954
1957
|
|
|
1955
|
-
// Links
|
|
1958
|
+
// Links (markdown syntax)
|
|
1956
1959
|
html = html.replace(
|
|
1957
1960
|
/\[([^\]]+)\]\(([^)]+)\)/g,
|
|
1958
1961
|
'<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'
|
|
1959
1962
|
);
|
|
1960
1963
|
|
|
1964
|
+
// Auto-link bare URLs (not already inside an <a> tag)
|
|
1965
|
+
html = html.replace(
|
|
1966
|
+
/(?<!href="|">)(https?:\/\/[^\s<)\]]+)/g,
|
|
1967
|
+
'<a href="$1" target="_blank" rel="noopener noreferrer">$1</a>'
|
|
1968
|
+
);
|
|
1969
|
+
|
|
1961
1970
|
// Phase 6: Convert remaining newlines to <br> (skip block-level elements)
|
|
1962
1971
|
// Wrap sequences of plain text lines in <p> tags
|
|
1963
1972
|
html = renderParagraphs(html);
|
|
@@ -2016,20 +2025,44 @@
|
|
|
2016
2025
|
}
|
|
2017
2026
|
|
|
2018
2027
|
// Texitool embed URL — change this if self-hosting
|
|
2019
|
-
var TEXITOOL_EMBED_URL = 'https://
|
|
2028
|
+
var TEXITOOL_EMBED_URL = 'https://app.texitool.com';
|
|
2020
2029
|
|
|
2021
2030
|
function openTexitoolEditor(wrapper) {
|
|
2022
2031
|
var codeEl = wrapper.querySelector('code');
|
|
2023
2032
|
if (!codeEl) return;
|
|
2024
2033
|
var rawText = codeEl.textContent || '';
|
|
2025
2034
|
|
|
2035
|
+
// Measure the code block height before replacing it
|
|
2036
|
+
var codeBlockHeight = wrapper.getBoundingClientRect().height;
|
|
2037
|
+
var iframeHeight = Math.max(codeBlockHeight, 400);
|
|
2038
|
+
|
|
2039
|
+
// Calculate rows/cols from content for Texitool canvas sizing
|
|
2040
|
+
var contentLines = rawText.split('\n');
|
|
2041
|
+
var rows = contentLines.length;
|
|
2042
|
+
var cols = 0;
|
|
2043
|
+
for (var li = 0; li < contentLines.length; li++) {
|
|
2044
|
+
if (contentLines[li].length > cols) cols = contentLines[li].length;
|
|
2045
|
+
}
|
|
2046
|
+
|
|
2026
2047
|
// Build iframe container
|
|
2027
2048
|
var container = document.createElement('div');
|
|
2028
2049
|
container.className = 'texitool-embed-container';
|
|
2029
2050
|
|
|
2030
2051
|
var iframe = document.createElement('iframe');
|
|
2031
|
-
var encodedContent = btoa(
|
|
2032
|
-
|
|
2052
|
+
var encodedContent = btoa(
|
|
2053
|
+
encodeURIComponent(rawText).replace(/%([0-9A-F]{2})/g, function (_, p1) {
|
|
2054
|
+
return String.fromCharCode(parseInt(p1, 16));
|
|
2055
|
+
})
|
|
2056
|
+
);
|
|
2057
|
+
iframe.src =
|
|
2058
|
+
TEXITOOL_EMBED_URL +
|
|
2059
|
+
'?embed=true&rows=' +
|
|
2060
|
+
(rows + 10) +
|
|
2061
|
+
'&cols=' +
|
|
2062
|
+
(cols + 10) +
|
|
2063
|
+
'&content=' +
|
|
2064
|
+
encodeURIComponent(encodedContent);
|
|
2065
|
+
iframe.style.height = iframeHeight + 'px';
|
|
2033
2066
|
iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin');
|
|
2034
2067
|
iframe.setAttribute('data-testid', 'texitool-embed');
|
|
2035
2068
|
container.appendChild(iframe);
|
|
@@ -2064,6 +2097,8 @@
|
|
|
2064
2097
|
|
|
2065
2098
|
function finishEdit(newContent) {
|
|
2066
2099
|
window.removeEventListener('message', onMessage);
|
|
2100
|
+
// Trim trailing blank lines
|
|
2101
|
+
newContent = newContent.replace(/\n+$/, '');
|
|
2067
2102
|
// Rebuild the code block with updated content
|
|
2068
2103
|
var newWrapper = document.createElement('div');
|
|
2069
2104
|
newWrapper.innerHTML = buildCodeBlock(
|
|
@@ -2792,6 +2827,9 @@
|
|
|
2792
2827
|
})(msg.id);
|
|
2793
2828
|
row.appendChild(cb);
|
|
2794
2829
|
}
|
|
2830
|
+
// Suppress thinking-role entries
|
|
2831
|
+
if (msg.role === 'thinking') continue;
|
|
2832
|
+
|
|
2795
2833
|
if (msg.role === 'user' && isSystemMessage(msg.content)) {
|
|
2796
2834
|
row.appendChild(buildSystemMsgEl(msg.content));
|
|
2797
2835
|
} else if (msg.role === 'user') {
|
|
@@ -3450,7 +3488,7 @@
|
|
|
3450
3488
|
topbar.className = 'cumulus-topbar';
|
|
3451
3489
|
topbar.innerHTML =
|
|
3452
3490
|
'<button class="cumulus-sidebar-toggle" data-testid="webchat-sidebar-toggle" aria-label="Toggle sidebar">☰</button>' +
|
|
3453
|
-
'<span class="cumulus-topbar-title">Cumulus
|
|
3491
|
+
'<span class="cumulus-topbar-title">Cumulus <span class="cumulus-topbar-version" data-testid="webchat-version"></span></span>' +
|
|
3454
3492
|
'<div class="cumulus-topbar-right">' +
|
|
3455
3493
|
'<span class="cumulus-header-status">' +
|
|
3456
3494
|
'<span class="cumulus-status-dot" data-testid="webchat-status-dot-app"></span>' +
|
|
@@ -4061,6 +4099,14 @@
|
|
|
4061
4099
|
// ── Voice Mode ────────────────────────────────────────────────────────────
|
|
4062
4100
|
var SpeechRecognitionApi = window.SpeechRecognition || window.webkitSpeechRecognition;
|
|
4063
4101
|
|
|
4102
|
+
// ── Safari Detection ──
|
|
4103
|
+
function isSafari() {
|
|
4104
|
+
var ua = navigator.userAgent;
|
|
4105
|
+
var isIOS = /iP(ad|od|hone)/i.test(ua);
|
|
4106
|
+
var isSafariBrowser = /Safari/i.test(ua) && !/Chrome/i.test(ua) && !/CriOS/i.test(ua);
|
|
4107
|
+
return isIOS || isSafariBrowser;
|
|
4108
|
+
}
|
|
4109
|
+
|
|
4064
4110
|
function createVoiceMode(panel, threadName, sendFn) {
|
|
4065
4111
|
var state = {
|
|
4066
4112
|
active: false,
|
|
@@ -4078,6 +4124,16 @@
|
|
|
4078
4124
|
audioQueue: [], // queue of Float32Array PCM chunks
|
|
4079
4125
|
audioPlaying: false, // currently playing audio
|
|
4080
4126
|
audioDone: false, // server signaled all audio sent
|
|
4127
|
+
// Voice loading state for Safari compatibility
|
|
4128
|
+
voicesLoaded: false,
|
|
4129
|
+
speakQueue: [],
|
|
4130
|
+
voiceLoadTimer: null,
|
|
4131
|
+
// Safari: prefer server TTS over browser TTS
|
|
4132
|
+
isSafariClient: isSafari(),
|
|
4133
|
+
waitingForServerTTS: false, // Safari waiting for voice_info
|
|
4134
|
+
voicesLoaded: false,
|
|
4135
|
+
speakQueue: [],
|
|
4136
|
+
voiceLoadTimer: null,
|
|
4081
4137
|
};
|
|
4082
4138
|
|
|
4083
4139
|
// ── Overlay DOM ──
|
|
@@ -4245,9 +4301,75 @@
|
|
|
4245
4301
|
}
|
|
4246
4302
|
}
|
|
4247
4303
|
|
|
4304
|
+
// ── Voice Loading (Safari fix) ──
|
|
4305
|
+
function initVoices() {
|
|
4306
|
+
// Safari: skip browser TTS init — prefer server TTS
|
|
4307
|
+
if (state.isSafariClient) {
|
|
4308
|
+
console.log('[Voice] Safari detected — skipping browser TTS, waiting for server TTS');
|
|
4309
|
+
state.waitingForServerTTS = true;
|
|
4310
|
+
state.voicesLoaded = true; // Mark as "ready" but don't use browser TTS
|
|
4311
|
+
return;
|
|
4312
|
+
}
|
|
4313
|
+
|
|
4314
|
+
if (!state.synth) return;
|
|
4315
|
+
|
|
4316
|
+
// Check if voices already loaded
|
|
4317
|
+
var voices = state.synth.getVoices();
|
|
4318
|
+
if (voices.length > 0) {
|
|
4319
|
+
state.voicesLoaded = true;
|
|
4320
|
+
console.log('[Voice] Voices loaded:', voices.length);
|
|
4321
|
+
processSpeakQueue();
|
|
4322
|
+
return;
|
|
4323
|
+
}
|
|
4324
|
+
|
|
4325
|
+
console.log('[Voice] Waiting for voices to load...');
|
|
4326
|
+
|
|
4327
|
+
// Listen for voiceschanged event
|
|
4328
|
+
state.synth.onvoiceschanged = function () {
|
|
4329
|
+
state.voicesLoaded = true;
|
|
4330
|
+
var loadedVoices = state.synth.getVoices();
|
|
4331
|
+
console.log('[Voice] Voices loaded:', loadedVoices.length);
|
|
4332
|
+
if (state.voiceLoadTimer) {
|
|
4333
|
+
clearTimeout(state.voiceLoadTimer);
|
|
4334
|
+
state.voiceLoadTimer = null;
|
|
4335
|
+
}
|
|
4336
|
+
processSpeakQueue();
|
|
4337
|
+
};
|
|
4338
|
+
|
|
4339
|
+
// Fallback timeout: proceed after 3 seconds even if no voices
|
|
4340
|
+
state.voiceLoadTimer = setTimeout(function () {
|
|
4341
|
+
if (!state.voicesLoaded) {
|
|
4342
|
+
console.log('[Voice] Voice loading timeout, proceeding anyway');
|
|
4343
|
+
state.voicesLoaded = true;
|
|
4344
|
+
processSpeakQueue();
|
|
4345
|
+
}
|
|
4346
|
+
}, 3000);
|
|
4347
|
+
}
|
|
4348
|
+
|
|
4349
|
+
function processSpeakQueue() {
|
|
4350
|
+
if (state.speakQueue.length === 0) return;
|
|
4351
|
+
console.log('[Voice] Processing speak queue:', state.speakQueue.length, 'items');
|
|
4352
|
+
while (state.speakQueue.length > 0) {
|
|
4353
|
+
var text = state.speakQueue.shift();
|
|
4354
|
+
speakNow(text);
|
|
4355
|
+
}
|
|
4356
|
+
}
|
|
4357
|
+
|
|
4248
4358
|
// ── Speech Synthesis (Phase 1 — browser TTS) ──
|
|
4249
4359
|
function speak(text) {
|
|
4250
|
-
if (!state.
|
|
4360
|
+
if (!state.active) return;
|
|
4361
|
+
|
|
4362
|
+
// Safari: skip browser TTS entirely, wait for server TTS
|
|
4363
|
+
if (state.isSafariClient) {
|
|
4364
|
+
if (!state.serverTTS) {
|
|
4365
|
+
console.log('[Voice] Safari — skipping browser TTS, waiting for server TTS (Piper)');
|
|
4366
|
+
return;
|
|
4367
|
+
}
|
|
4368
|
+
// Server TTS will handle this via binary frames
|
|
4369
|
+
return;
|
|
4370
|
+
}
|
|
4371
|
+
|
|
4372
|
+
if (!state.synth) return;
|
|
4251
4373
|
|
|
4252
4374
|
// Strip markdown and blex fences
|
|
4253
4375
|
var clean = text
|
|
@@ -4263,10 +4385,22 @@
|
|
|
4263
4385
|
return;
|
|
4264
4386
|
}
|
|
4265
4387
|
|
|
4388
|
+
// Queue if voices not loaded yet
|
|
4389
|
+
if (!state.voicesLoaded) {
|
|
4390
|
+
console.log('[Voice] Voices not loaded, queueing speak()');
|
|
4391
|
+
state.speakQueue.push(clean);
|
|
4392
|
+
return;
|
|
4393
|
+
}
|
|
4394
|
+
|
|
4395
|
+
speakNow(clean);
|
|
4396
|
+
}
|
|
4397
|
+
|
|
4398
|
+
function speakNow(text) {
|
|
4399
|
+
console.log('[Voice] TTS started');
|
|
4266
4400
|
state.speaking = true;
|
|
4267
4401
|
setPhase('speaking');
|
|
4268
4402
|
|
|
4269
|
-
var utterance = new SpeechSynthesisUtterance(
|
|
4403
|
+
var utterance = new SpeechSynthesisUtterance(text);
|
|
4270
4404
|
utterance.rate = 1.0;
|
|
4271
4405
|
utterance.pitch = 1.0;
|
|
4272
4406
|
|
|
@@ -4280,16 +4414,28 @@
|
|
|
4280
4414
|
return v.lang.startsWith('en') && v.localService;
|
|
4281
4415
|
}) ||
|
|
4282
4416
|
voices[0];
|
|
4283
|
-
if (preferred)
|
|
4417
|
+
if (preferred) {
|
|
4418
|
+
utterance.voice = preferred;
|
|
4419
|
+
console.log('[Voice] Using voice:', preferred.name);
|
|
4420
|
+
} else {
|
|
4421
|
+
console.log('[Voice] No preferred voice, using default');
|
|
4422
|
+
}
|
|
4284
4423
|
|
|
4285
4424
|
utterance.onend = function () {
|
|
4425
|
+
console.log('[Voice] TTS ended');
|
|
4286
4426
|
onSpeakDone();
|
|
4287
4427
|
};
|
|
4288
|
-
utterance.onerror = function () {
|
|
4428
|
+
utterance.onerror = function (e) {
|
|
4429
|
+
console.log('[Voice] TTS error:', e.error);
|
|
4289
4430
|
onSpeakDone();
|
|
4290
4431
|
};
|
|
4291
4432
|
|
|
4292
|
-
|
|
4433
|
+
try {
|
|
4434
|
+
state.synth.speak(utterance);
|
|
4435
|
+
} catch (e) {
|
|
4436
|
+
console.log('[Voice] speechSynthesis.speak() failed:', e);
|
|
4437
|
+
onSpeakDone();
|
|
4438
|
+
}
|
|
4293
4439
|
}
|
|
4294
4440
|
|
|
4295
4441
|
function stopSpeaking() {
|
|
@@ -4401,11 +4547,25 @@
|
|
|
4401
4547
|
overlay.style.display = 'flex';
|
|
4402
4548
|
requestWakeLock();
|
|
4403
4549
|
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4550
|
+
console.log('[Voice] Activating...');
|
|
4551
|
+
console.log('[Voice] Safari detected:', state.isSafariClient);
|
|
4552
|
+
|
|
4553
|
+
// Initialize voice loading for Safari compatibility
|
|
4554
|
+
initVoices();
|
|
4555
|
+
|
|
4556
|
+
// Unlock Web Audio context on iOS (required for server TTS playback)
|
|
4557
|
+
ensureAudioCtx();
|
|
4558
|
+
|
|
4559
|
+
// For non-Safari: unlock browser TTS with silent utterance (requires user gesture)
|
|
4560
|
+
if (!state.isSafariClient && state.synth) {
|
|
4561
|
+
try {
|
|
4562
|
+
var unlockUtterance = new SpeechSynthesisUtterance('');
|
|
4563
|
+
unlockUtterance.volume = 0;
|
|
4564
|
+
state.synth.speak(unlockUtterance);
|
|
4565
|
+
console.log('[Voice] Sent silent utterance for browser TTS unlock');
|
|
4566
|
+
} catch (e) {
|
|
4567
|
+
console.log('[Voice] Silent unlock failed (not critical):', e);
|
|
4568
|
+
}
|
|
4409
4569
|
}
|
|
4410
4570
|
|
|
4411
4571
|
setPhase('idle');
|
|
@@ -4430,6 +4590,15 @@
|
|
|
4430
4590
|
state.audioCtx.close().catch(function () {});
|
|
4431
4591
|
state.audioCtx = null;
|
|
4432
4592
|
}
|
|
4593
|
+
// Clear voice loading state
|
|
4594
|
+
if (state.voiceLoadTimer) {
|
|
4595
|
+
clearTimeout(state.voiceLoadTimer);
|
|
4596
|
+
state.voiceLoadTimer = null;
|
|
4597
|
+
}
|
|
4598
|
+
state.speakQueue.length = 0;
|
|
4599
|
+
state.voicesLoaded = false;
|
|
4600
|
+
state.waitingForServerTTS = false;
|
|
4601
|
+
console.log('[Voice] Deactivated');
|
|
4433
4602
|
setPhase('idle');
|
|
4434
4603
|
}
|
|
4435
4604
|
|
|
@@ -4439,7 +4608,15 @@
|
|
|
4439
4608
|
// Don't speak system or agent messages
|
|
4440
4609
|
if (typeof content === 'string' && content.startsWith('[System]')) return;
|
|
4441
4610
|
// If server TTS (Piper) is active, audio comes via binary WebSocket frames — skip browser TTS
|
|
4442
|
-
if (state.serverTTS)
|
|
4611
|
+
if (state.serverTTS) {
|
|
4612
|
+
console.log('[Voice] Using server TTS (Piper)');
|
|
4613
|
+
return;
|
|
4614
|
+
}
|
|
4615
|
+
// Safari without server TTS: no TTS available (browser TTS unreliable)
|
|
4616
|
+
if (state.isSafariClient) {
|
|
4617
|
+
console.log('[Voice] Safari — no server TTS available, skipping TTS');
|
|
4618
|
+
return;
|
|
4619
|
+
}
|
|
4443
4620
|
speak(content);
|
|
4444
4621
|
}
|
|
4445
4622
|
|
|
@@ -4452,9 +4629,11 @@
|
|
|
4452
4629
|
},
|
|
4453
4630
|
// Server TTS methods
|
|
4454
4631
|
setServerTTS: function (sampleRate) {
|
|
4632
|
+
console.log('[Voice] Using server TTS (Piper)');
|
|
4455
4633
|
state.serverTTS = true;
|
|
4456
4634
|
state.serverSampleRate = sampleRate || 22050;
|
|
4457
4635
|
state.audioDone = false;
|
|
4636
|
+
state.waitingForServerTTS = false;
|
|
4458
4637
|
},
|
|
4459
4638
|
queuePCMAudio: queuePCMAudio,
|
|
4460
4639
|
onVoiceAudioDone: function () {
|
|
@@ -4906,6 +5085,9 @@
|
|
|
4906
5085
|
})(msg.id);
|
|
4907
5086
|
row.appendChild(cb);
|
|
4908
5087
|
}
|
|
5088
|
+
// Suppress thinking-role entries
|
|
5089
|
+
if (msg.role === 'thinking') continue;
|
|
5090
|
+
|
|
4909
5091
|
if (msg.role === 'user' && isSystemMessage(msg.content)) {
|
|
4910
5092
|
row.appendChild(buildSystemMsgEl(msg.content));
|
|
4911
5093
|
} else if (msg.role === 'user') {
|
|
@@ -5726,6 +5908,16 @@
|
|
|
5726
5908
|
});
|
|
5727
5909
|
showAppView();
|
|
5728
5910
|
registerPushNotifications();
|
|
5911
|
+
// Fetch and display version in topbar
|
|
5912
|
+
fetch(window.location.protocol + '//' + window.location.host + '/api/version')
|
|
5913
|
+
.then(function (r) {
|
|
5914
|
+
return r.json();
|
|
5915
|
+
})
|
|
5916
|
+
.then(function (v) {
|
|
5917
|
+
var vEl = document.querySelector('[data-testid="webchat-version"]');
|
|
5918
|
+
if (vEl && v.current) vEl.textContent = 'v' + v.current;
|
|
5919
|
+
})
|
|
5920
|
+
.catch(function () {});
|
|
5729
5921
|
break;
|
|
5730
5922
|
|
|
5731
5923
|
case 'auth_error':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-tts.d.ts","sourceRoot":"","sources":["../../src/gateway/voice-tts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"voice-tts.d.ts","sourceRoot":"","sources":["../../src/gateway/voice-tts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,eAAO,MAAM,WAAW,QAAQ,CAAC;AACjC,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,SAAS,KAAK,CAAC;AAM5B;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,UAAU,CAA6B;gBAEnC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;IAIlD,6DAA6D;IAC7D,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA0BzB,8CAA8C;IAC9C,KAAK,IAAI,IAAI;IAQb,yCAAyC;IACzC,KAAK,IAAI,IAAI;CAGd;AAWD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAgB,GAAG,OAAO,CAG/D;AAID,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,wDAAwD;IACxD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAA6B;gBAEnC,IAAI,EAAE,sBAAsB;IAYxC,+CAA+C;IAC/C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAc9B,wEAAwE;IACxE,MAAM,IAAI,IAAI;IAUd,0DAA0D;IAC1D,KAAK,IAAI,IAAI;YAUC,YAAY;IAuB1B,OAAO,CAAC,kBAAkB;CAmC3B"}
|
|
@@ -11,7 +11,7 @@ import * as fs from 'fs';
|
|
|
11
11
|
import * as os from 'os';
|
|
12
12
|
import * as path from 'path';
|
|
13
13
|
// ─── Configuration ───────────────────────────────────────────────────────────
|
|
14
|
-
const PIPER_VOICES_DIR = path.join(os.homedir(), '.cumulus', 'piper-voices');
|
|
14
|
+
const PIPER_VOICES_DIR = path.join(process.env.CUMULUS_DIR || path.join(os.homedir(), '.cumulus'), 'piper-voices');
|
|
15
15
|
const DEFAULT_VOICE = 'en_US-amy-medium';
|
|
16
16
|
export const SAMPLE_RATE = 22050;
|
|
17
17
|
export const CHANNELS = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-tts.js","sourceRoot":"","sources":["../../src/gateway/voice-tts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"voice-tts.js","sourceRoot":"","sources":["../../src/gateway/voice-tts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentic-loop.d.ts","sourceRoot":"","sources":["../../src/lib/agentic-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAG/C,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAE3F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAK7C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAClG,6CAA6C;IAC7C,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,sFAAsF;IACtF,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACnE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6GAA6G;IAC7G,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,uFAAuF;IACvF,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oDAAoD;IACpD,aAAa,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;IACnC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;IACH,kFAAkF;IAClF,mBAAmB,EAAE,SAAS,CAAC,oBAAoB,EAAE,CAAC;IACtD,wCAAwC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"agentic-loop.d.ts","sourceRoot":"","sources":["../../src/lib/agentic-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/agentic-loop.js
CHANGED
|
@@ -18,11 +18,16 @@ import { ASK_USER_QUESTION_TOOL } from './tools/ask-user-question.js';
|
|
|
18
18
|
import { setDeferredRegistry, buildDeferredToolList } from './tools/tool-search.js';
|
|
19
19
|
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
20
20
|
const DEFAULT_MAX_TURNS = 30;
|
|
21
|
-
const DEFAULT_MAX_TOKENS =
|
|
21
|
+
const DEFAULT_MAX_TOKENS = 16_384;
|
|
22
22
|
// ─── Truncation escalation ──────────────────────────────────────────────────
|
|
23
|
-
const ESCALATION_SCHEDULE = [
|
|
23
|
+
const ESCALATION_SCHEDULE = [16_384, 32_768, 65_536];
|
|
24
24
|
const MAX_CONTINUATIONS = 3;
|
|
25
|
-
const MAX_CUMULATIVE_OUTPUT_TOKENS =
|
|
25
|
+
const MAX_CUMULATIVE_OUTPUT_TOKENS = 65_536;
|
|
26
|
+
// ─── Todo enforcement ───────────────────────────────────────────────────────
|
|
27
|
+
// When <todo> directives are active, limit tool calls per turn and output tokens
|
|
28
|
+
// to prevent models from batching all work into a single massive response.
|
|
29
|
+
// const TODO_MAX_TOOLS_PER_TURN = 2; // Reserved for future use
|
|
30
|
+
const TODO_MAX_TOKENS = 4_096;
|
|
26
31
|
// ─── Loop ────────────────────────────────────────────────────────────────────
|
|
27
32
|
export async function runAgenticLoop(options) {
|
|
28
33
|
const { provider, model, system, userMessage, imageBlocks, tools, mcpTools = [], eagerAll = false, maxTurns = DEFAULT_MAX_TURNS, maxTokens = DEFAULT_MAX_TOKENS, onToken, onToolUse, onToolResult, signal, cwd, threadName: _threadName, resumeState, } = options;
|
|
@@ -128,6 +133,13 @@ export async function runAgenticLoop(options) {
|
|
|
128
133
|
escalationIndex = 0;
|
|
129
134
|
let continuationCount = 0;
|
|
130
135
|
let cumulativeOutputTokens = 0;
|
|
136
|
+
// Detect <todo> directive in system prompt — if present, enforce one-todo-per-cycle
|
|
137
|
+
const hasTodoDirective = system.some(s => s.type === 'text' && s.text.includes('<todo>'));
|
|
138
|
+
// When <todo> directives are active, cap output tokens to prevent massive one-shot responses
|
|
139
|
+
if (hasTodoDirective) {
|
|
140
|
+
currentMaxTokens = Math.min(currentMaxTokens, TODO_MAX_TOKENS);
|
|
141
|
+
console.log(`[AgenticLoop] Todo mode: capping maxTokens to ${currentMaxTokens}`);
|
|
142
|
+
}
|
|
131
143
|
// ═══ THE LOOP ═══
|
|
132
144
|
while (turns < maxTurns) {
|
|
133
145
|
turns++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentic-loop.js","sourceRoot":"","sources":["../../src/lib/agentic-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentic-loop.js","sourceRoot":"","sources":["../../src/lib/agentic-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErD;AAED,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mHAAmH;IACnH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,mDAAmD;IACnD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,qIAAqI;IACrI,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAG/D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAGjF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAMf;AA0ID;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,aAAa,CAsExF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBrE;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,mBAAmB,CAAC,CAiD9B;AAyBD;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1F;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAUD"}
|
package/dist/lib/config.js
CHANGED
|
@@ -8,8 +8,12 @@ import * as fs from 'fs';
|
|
|
8
8
|
import * as os from 'os';
|
|
9
9
|
import * as path from 'path';
|
|
10
10
|
import { estimateTokens } from './context-budget.js';
|
|
11
|
-
const CUMULUS_DIR = path.join(os.homedir(), '.cumulus');
|
|
11
|
+
const CUMULUS_DIR = process.env.CUMULUS_DIR || path.join(os.homedir(), '.cumulus');
|
|
12
12
|
let THREADS_DIR = path.join(CUMULUS_DIR, 'threads');
|
|
13
|
+
/** Resolve the config file path for a thread */
|
|
14
|
+
function resolveConfigPath(threadName) {
|
|
15
|
+
return path.join(THREADS_DIR, `${threadName}.config.json`);
|
|
16
|
+
}
|
|
13
17
|
/** Override the threads directory (used by tests to isolate from production). */
|
|
14
18
|
export function setConfigThreadsDir(dir) {
|
|
15
19
|
THREADS_DIR = dir;
|
|
@@ -25,7 +29,7 @@ export async function loadGlobalConfig() {
|
|
|
25
29
|
* Load thread-specific configuration from ~/.cumulus/threads/{thread}.config.json
|
|
26
30
|
*/
|
|
27
31
|
export async function loadThreadConfig(threadName) {
|
|
28
|
-
const configPath =
|
|
32
|
+
const configPath = resolveConfigPath(threadName);
|
|
29
33
|
return loadConfigFile(configPath);
|
|
30
34
|
}
|
|
31
35
|
/**
|
|
@@ -33,7 +37,7 @@ export async function loadThreadConfig(threadName) {
|
|
|
33
37
|
* Merges the provided partial config with the existing config (shallow merge).
|
|
34
38
|
*/
|
|
35
39
|
export async function saveThreadConfig(threadName, updates) {
|
|
36
|
-
const configPath =
|
|
40
|
+
const configPath = resolveConfigPath(threadName);
|
|
37
41
|
const existing = await loadConfigFile(configPath);
|
|
38
42
|
const merged = { ...existing, ...updates };
|
|
39
43
|
fs.mkdirSync(path.dirname(configPath), { recursive: true });
|
|
@@ -317,7 +321,7 @@ function formatAlwaysIncludeContext(files) {
|
|
|
317
321
|
*/
|
|
318
322
|
export async function saveConfig(config, threadName) {
|
|
319
323
|
const configPath = threadName
|
|
320
|
-
?
|
|
324
|
+
? resolveConfigPath(threadName)
|
|
321
325
|
: path.join(CUMULUS_DIR, 'config.json');
|
|
322
326
|
// Ensure directory exists
|
|
323
327
|
const dir = path.dirname(configPath);
|