@memtensor/memos-local-openclaw-plugin 0.2.0 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/viewer/html.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,io+NAqpHf,CAAC"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/viewer/html.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,g+9NA2mHf,CAAC"}
@@ -81,7 +81,8 @@ input,textarea,select{font-family:inherit;font-size:inherit}
81
81
  /* ─── Auth (Linkify 配色: globals.css .dark + 蓝紫渐变) ─── */
82
82
  .auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,rgb(36,0,255) 0%,rgb(0,135,255) 35%,rgb(108,39,157) 70%,rgb(105,30,255) 100%);position:relative;overflow:hidden}
83
83
  .auth-card{background:hsl(0 0% 100%);border:none;border-radius:8px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);text-align:center;position:relative;z-index:1}
84
- .auth-card .logo{width:56px;height:56px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:48px;background:none;border-radius:0}
84
+ .auth-card .logo{margin:0 auto 20px;text-align:center;line-height:0;background:none;border-radius:0}
85
+ .auth-card .logo svg{filter:drop-shadow(0 0 16px rgba(255,77,77,.35))}
85
86
  .auth-card h1{font-size:22px;font-weight:700;margin-bottom:4px;color:hsl(0 0% 3.9%);letter-spacing:-.02em}
86
87
  .auth-card p{color:hsl(0 0% 45.1%);margin-bottom:24px;font-size:14px}
87
88
  .auth-card input{width:100%;padding:12px 16px;border:1px solid hsl(0 0% 89.8%);border-radius:8px;font-size:14px;transition:all .2s;margin-bottom:10px;outline:none;background:#fff;color:hsl(0 0% 3.9%)}
@@ -625,7 +626,7 @@ input,textarea,select{font-family:inherit;font-size:inherit}
625
626
  <button class="auth-theme-toggle" onclick="toggleLang()" aria-label="Switch language"><span data-i18n="lang.switch">EN</span></button>
626
627
  </div>
627
628
  <div class="auth-card">
628
- <div class="logo">\u{1F99E}</div>
629
+ <div class="logo"><svg width="60" height="60" viewBox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="aLG" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#ff4d4d"/><stop offset="100%" stop-color="#991b1b"/></linearGradient></defs><path d="M60 10C30 10 15 35 15 55C15 75 30 95 45 100L45 110L55 110L55 100C55 100 60 102 65 100L65 110L75 110L75 100C90 95 105 75 105 55C105 35 90 10 60 10Z" fill="url(#aLG)"/><path d="M20 45C5 40 0 50 5 60C10 70 20 65 25 55C28 48 25 45 20 45Z" fill="url(#aLG)"/><path d="M100 45C115 40 120 50 115 60C110 70 100 65 95 55C92 48 95 45 100 45Z" fill="url(#aLG)"/><path d="M45 15Q35 5 30 8" stroke="#ff4d4d" stroke-width="2" stroke-linecap="round"/><path d="M75 15Q85 5 90 8" stroke="#ff4d4d" stroke-width="2" stroke-linecap="round"/><circle cx="45" cy="35" r="6" fill="#050810"/><circle cx="75" cy="35" r="6" fill="#050810"/><circle cx="46" cy="34" r="2" fill="#00e5cc"/><circle cx="76" cy="34" r="2" fill="#00e5cc"/></svg></div>
629
630
  <h1 data-i18n="title">OpenClaw Memory</h1>
630
631
  <p style="font-size:12px;color:var(--text-sec);margin-bottom:6px" data-i18n="subtitle">Powered by MemOS</p>
631
632
  <p data-i18n="setup.desc">Set a password to protect your memories</p>
@@ -643,7 +644,7 @@ input,textarea,select{font-family:inherit;font-size:inherit}
643
644
  <button class="auth-theme-toggle" onclick="toggleLang()" aria-label="Switch language"><span data-i18n="lang.switch">EN</span></button>
644
645
  </div>
645
646
  <div class="auth-card">
646
- <div class="logo">\u{1F99E}</div>
647
+ <div class="logo"><svg width="60" height="60" viewBox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="bLG" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#ff4d4d"/><stop offset="100%" stop-color="#991b1b"/></linearGradient></defs><path d="M60 10C30 10 15 35 15 55C15 75 30 95 45 100L45 110L55 110L55 100C55 100 60 102 65 100L65 110L75 110L75 100C90 95 105 75 105 55C105 35 90 10 60 10Z" fill="url(#bLG)"/><path d="M20 45C5 40 0 50 5 60C10 70 20 65 25 55C28 48 25 45 20 45Z" fill="url(#bLG)"/><path d="M100 45C115 40 120 50 115 60C110 70 100 65 95 55C92 48 95 45 100 45Z" fill="url(#bLG)"/><path d="M45 15Q35 5 30 8" stroke="#ff4d4d" stroke-width="2" stroke-linecap="round"/><path d="M75 15Q85 5 90 8" stroke="#ff4d4d" stroke-width="2" stroke-linecap="round"/><circle cx="45" cy="35" r="6" fill="#050810"/><circle cx="75" cy="35" r="6" fill="#050810"/><circle cx="46" cy="34" r="2" fill="#00e5cc"/><circle cx="76" cy="34" r="2" fill="#00e5cc"/></svg></div>
647
648
  <h1 data-i18n="title">OpenClaw Memory</h1>
648
649
  <p style="font-size:12px;color:var(--text-sec);margin-bottom:6px" data-i18n="subtitle">Powered by MemOS</p>
649
650
  <p data-i18n="login.desc">Enter your password to access memories</p>
@@ -695,7 +696,7 @@ input,textarea,select{font-family:inherit;font-size:inherit}
695
696
  <div class="app" id="app">
696
697
  <div class="topbar">
697
698
  <div class="brand">
698
- <div class="icon">\u{1F99E}</div>
699
+ <div class="icon"><svg width="24" height="24" viewBox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg" style="filter:drop-shadow(0 0 8px rgba(255,77,77,.3))"><defs><linearGradient id="tLG" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#ff4d4d"/><stop offset="100%" stop-color="#991b1b"/></linearGradient></defs><path d="M60 10C30 10 15 35 15 55C15 75 30 95 45 100L45 110L55 110L55 100C55 100 60 102 65 100L65 110L75 110L75 100C90 95 105 75 105 55C105 35 90 10 60 10Z" fill="url(#tLG)"/><path d="M20 45C5 40 0 50 5 60C10 70 20 65 25 55C28 48 25 45 20 45Z" fill="url(#tLG)"/><path d="M100 45C115 40 120 50 115 60C110 70 100 65 95 55C92 48 95 45 100 45Z" fill="url(#tLG)"/><path d="M45 15Q35 5 30 8" stroke="#ff4d4d" stroke-width="2" stroke-linecap="round"/><path d="M75 15Q85 5 90 8" stroke="#ff4d4d" stroke-width="2" stroke-linecap="round"/><circle cx="45" cy="35" r="6" fill="#050810"/><circle cx="75" cy="35" r="6" fill="#050810"/><circle cx="46" cy="34" r="2" fill="#00e5cc"/><circle cx="76" cy="34" r="2" fill="#00e5cc"/></svg></div>
699
700
  <span data-i18n="title">OpenClaw Memory</span>
700
701
  </div>
701
702
  <div class="topbar-center">
@@ -893,7 +894,7 @@ input,textarea,select{font-family:inherit;font-size:inherit}
893
894
  <button class="btn btn-sm btn-ghost" onclick="loadLogs()" style="font-size:12px">\u21BB <span data-i18n="logs.refresh">Refresh</span></button>
894
895
  </div>
895
896
  <div class="logs-toolbar-right">
896
- <input type="checkbox" id="logAutoRefresh" checked style="display:none">
897
+ <input type="checkbox" id="logAutoRefresh" style="display:none">
897
898
  </div>
898
899
  </div>
899
900
  <div class="logs-list" id="logsList"></div>
@@ -1165,13 +1166,6 @@ input,textarea,select{font-family:inherit;font-size:inherit}
1165
1166
  </div>
1166
1167
  </div>
1167
1168
 
1168
- <!-- Done Summary -->
1169
- <div id="migrateDone" style="display:none">
1170
- <div class="settings-section" style="background:rgba(34,197,94,.04);border:1px solid rgba(34,197,94,.2)">
1171
- <div style="font-size:14px;font-weight:700;color:#22c55e;margin-bottom:8px">\u2705 <span data-i18n="migrate.done">Import Complete</span></div>
1172
- <div id="migrateDoneSummary" style="font-size:12px;color:var(--text-sec);line-height:1.6"></div>
1173
- </div>
1174
- </div>
1175
1169
  </div>
1176
1170
 
1177
1171
  </div>
@@ -1393,8 +1387,6 @@ const I18N={
1393
1387
  'migrate.stat.skipped':'Skipped',
1394
1388
  'migrate.stat.merged':'Merged',
1395
1389
  'migrate.stat.errors':'Errors',
1396
- 'migrate.done':'Import Complete',
1397
- 'migrate.done.summary':'Processed {total} items: {stored} stored, {skipped} skipped, {merged} merged, {errors} errors.',
1398
1390
  'migrate.phase.sqlite':'Importing memory index...',
1399
1391
  'migrate.phase.sessions':'Importing conversation history...',
1400
1392
  'migrate.chunks':'chunks',
@@ -1404,10 +1396,7 @@ const I18N={
1404
1396
  'migrate.error.running':'A migration is already in progress.',
1405
1397
  'migrate.stop':'\\u25A0 Stop',
1406
1398
  'migrate.stopping':'Stopping...',
1407
- 'migrate.stopped':'Import Stopped',
1408
- 'migrate.stopped.hint':'Import was stopped. You can resume anytime — already imported items will be skipped automatically.',
1409
1399
  'migrate.resume':'Continue Import',
1410
- 'migrate.already.hint':'All data has been imported previously. No new items to process.',
1411
1400
  'pp.title':'\\u{1F9E0} Optional: Generate Tasks & Skills',
1412
1401
  'pp.desc':'This step is completely optional. The import above has already stored raw memory data. Here you can further analyze imported conversations to generate structured task summaries and evolve reusable skills. Processing is serial (one session at a time) and may take a while. You can stop at any time and resume later — it will only process sessions not yet handled.',
1413
1402
  'pp.tasks.label':'Generate task summaries',
@@ -1657,8 +1646,6 @@ const I18N={
1657
1646
  'migrate.stat.skipped':'已跳过',
1658
1647
  'migrate.stat.merged':'已合并',
1659
1648
  'migrate.stat.errors':'错误',
1660
- 'migrate.done':'导入完成',
1661
- 'migrate.done.summary':'共处理 {total} 条:{stored} 条存储,{skipped} 条跳过,{merged} 条合并,{errors} 条错误。',
1662
1649
  'migrate.phase.sqlite':'正在导入记忆索引...',
1663
1650
  'migrate.phase.sessions':'正在导入对话历史...',
1664
1651
  'migrate.chunks':'条记忆',
@@ -1668,10 +1655,7 @@ const I18N={
1668
1655
  'migrate.error.running':'已有迁移任务正在进行。',
1669
1656
  'migrate.stop':'\\u25A0 停止',
1670
1657
  'migrate.stopping':'正在停止...',
1671
- 'migrate.stopped':'导入已停止',
1672
- 'migrate.stopped.hint':'导入已停止。你可以随时继续——已导入的内容会自动跳过。',
1673
1658
  'migrate.resume':'继续导入',
1674
- 'migrate.already.hint':'所有数据已在之前导入过,没有新内容需要处理。',
1675
1659
  'pp.title':'\\u{1F9E0} 可选:生成任务与技能',
1676
1660
  'pp.desc':'此步骤完全可选。上面的导入已经存储了原始记忆数据。在这里可以进一步分析已导入的对话,生成结构化的任务摘要或进化可复用的技能。处理过程是串行的(逐个会话),可能需要较长时间。你可以随时停止,下次继续时只会处理尚未完成的会话。',
1677
1661
  'pp.tasks.label':'生成任务摘要',
@@ -3213,7 +3197,6 @@ async function migrateScan(){
3213
3197
  document.getElementById('migrateScanResult').style.display='none';
3214
3198
  document.getElementById('migrateConfigWarn').style.display='none';
3215
3199
  document.getElementById('migrateProgress').style.display='none';
3216
- document.getElementById('migrateDone').style.display='none';
3217
3200
 
3218
3201
  try{
3219
3202
  const r=await fetch('/api/migrate/scan');
@@ -3264,13 +3247,14 @@ function migrateStart(){
3264
3247
  document.getElementById('migrateStartBtn').style.display='none';
3265
3248
  document.getElementById('migrateScanBtn').disabled=true;
3266
3249
  document.getElementById('migrateProgress').style.display='block';
3267
- document.getElementById('migrateDone').style.display='none';
3268
3250
  document.getElementById('migrateLiveLog').innerHTML='';
3269
3251
  migrateStats={stored:0,skipped:0,merged:0,errors:0};
3270
3252
  updateMigrateStats();
3271
3253
 
3272
3254
  document.getElementById('migrateStopBtn').disabled=false;
3255
+ document.getElementById('migrateBar').style.width='0%';
3273
3256
  document.getElementById('migrateBar').style.background='linear-gradient(90deg,#6366f1,#8b5cf6)';
3257
+ document.getElementById('migrateCounter').textContent='';
3274
3258
  const body=JSON.stringify({sources:['sqlite','sessions']});
3275
3259
  connectMigrateSSE('/api/migrate/start','POST',body);
3276
3260
  }
@@ -3307,7 +3291,7 @@ function readSSEStream(r){
3307
3291
  const NL=String.fromCharCode(10);
3308
3292
  function pump(){
3309
3293
  reader.read().then(({done,value})=>{
3310
- if(done){if(!migrateDoneCalled)onMigrateDone(false);return;}
3294
+ if(done){if(!migrateDoneCalled&&!window._migrateRunning)onMigrateDone(false);return;}
3311
3295
  buf+=decoder.decode(value,{stream:true});
3312
3296
  const lines=buf.split(NL);
3313
3297
  buf=lines.pop()||'';
@@ -3341,7 +3325,9 @@ async function checkMigrateStatus(){
3341
3325
  switchView('import');
3342
3326
  migrateStats={stored:s.stored,skipped:s.skipped,merged:s.merged,errors:s.errors};
3343
3327
  updateMigrateStats();
3344
- document.getElementById('migrateProgress').style.display='block';
3328
+ const progEl=document.getElementById('migrateProgress');
3329
+ if(!progEl)return;
3330
+ progEl.style.display='block';
3345
3331
  document.getElementById('migrateStartBtn').style.display='none';
3346
3332
  document.getElementById('migrateScanBtn').disabled=true;
3347
3333
  document.getElementById('migrateStopBtn').disabled=false;
@@ -3354,7 +3340,9 @@ async function checkMigrateStatus(){
3354
3340
  }else if(s.done&&(s.stored>0||s.skipped>0||s.stopped)){
3355
3341
  migrateStats={stored:s.stored,skipped:s.skipped,merged:s.merged,errors:s.errors};
3356
3342
  updateMigrateStats();
3357
- document.getElementById('migrateProgress').style.display='block';
3343
+ const progEl=document.getElementById('migrateProgress');
3344
+ if(!progEl)return;
3345
+ progEl.style.display='block';
3358
3346
  const pct=s.total>0?Math.round((s.processed/s.total)*100):0;
3359
3347
  document.getElementById('migrateBar').style.width=pct+'%';
3360
3348
  document.getElementById('migrateCounter').textContent=s.processed+' / '+s.total+' ('+pct+'%)';
@@ -3444,43 +3432,13 @@ function onMigrateDone(wasStopped,skipReload){
3444
3432
  document.getElementById('migrateScanBtn').disabled=false;
3445
3433
  document.getElementById('migrateStopBtn').disabled=true;
3446
3434
  document.getElementById('migrateStopBtn').textContent=t('migrate.stop');
3447
- const doneEl=document.getElementById('migrateDone');
3448
- doneEl.style.display='block';
3449
- const total=migrateStats.stored+migrateStats.skipped+migrateStats.merged+migrateStats.errors;
3450
- const allSkipped=migrateStats.stored===0&&migrateStats.merged===0&&migrateStats.skipped>0&&migrateStats.errors===0;
3451
- const tmpl=t('migrate.done.summary');
3452
- let summaryText=tmpl
3453
- .replace('{total}',total)
3454
- .replace('{stored}',migrateStats.stored)
3455
- .replace('{skipped}',migrateStats.skipped)
3456
- .replace('{merged}',migrateStats.merged)
3457
- .replace('{errors}',migrateStats.errors);
3458
3435
  if(wasStopped){
3459
- summaryText+=' '+t('migrate.stopped.hint');
3460
- doneEl.querySelector('.settings-section').style.background='rgba(245,158,11,.04)';
3461
- doneEl.querySelector('.settings-section').style.borderColor='rgba(245,158,11,.2)';
3462
- doneEl.querySelector('div div:first-child').innerHTML='\u23F8 <span>'+t('migrate.stopped')+'</span>';
3463
- doneEl.querySelector('div div:first-child').style.color='#f59e0b';
3436
+ document.getElementById('migrateBar').style.background='linear-gradient(90deg,#f59e0b,#fbbf24)';
3464
3437
  document.getElementById('migrateStartBtn').style.display='inline-flex';
3465
3438
  document.getElementById('migrateStartBtn').textContent=t('migrate.resume');
3466
- }else if(allSkipped){
3467
- summaryText+=' '+t('migrate.already.hint');
3468
- doneEl.querySelector('.settings-section').style.background='rgba(59,130,246,.04)';
3469
- doneEl.querySelector('.settings-section').style.borderColor='rgba(59,130,246,.2)';
3470
- doneEl.querySelector('div div:first-child').innerHTML='\u{1F4AD} <span>'+t('migrate.done')+'</span>';
3471
- doneEl.querySelector('div div:first-child').style.color='#3b82f6';
3472
3439
  }else{
3473
- doneEl.querySelector('.settings-section').style.background='rgba(34,197,94,.04)';
3474
- doneEl.querySelector('.settings-section').style.borderColor='rgba(34,197,94,.2)';
3475
- doneEl.querySelector('div div:first-child').innerHTML='\u2705 <span>'+t('migrate.done')+'</span>';
3476
- doneEl.querySelector('div div:first-child').style.color='#22c55e';
3477
- }
3478
- document.getElementById('migrateDoneSummary').textContent=summaryText;
3479
- if(!wasStopped){
3480
3440
  document.getElementById('migrateBar').style.width='100%';
3481
- document.getElementById('migrateBar').style.background=allSkipped?'linear-gradient(90deg,#3b82f6,#60a5fa)':'linear-gradient(90deg,#22c55e,#16a34a)';
3482
- }else{
3483
- document.getElementById('migrateBar').style.background='linear-gradient(90deg,#f59e0b,#fbbf24)';
3441
+ document.getElementById('migrateBar').style.background='linear-gradient(90deg,#22c55e,#16a34a)';
3484
3442
  }
3485
3443
  fetch('/api/migrate/scan').then(r=>r.json()).then(d=>{
3486
3444
  if(d.hasImportedData) document.getElementById('postprocessSection').style.display='block';
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/viewer/html.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqpHlB,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/viewer/html.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2mHlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/viewer/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/viewer/server.ts"],"names":[],"mappings":"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"}
@@ -98,7 +98,7 @@ class ViewerServer {
98
98
  }
99
99
  }
100
100
  hashPassword(pw) {
101
- return node_crypto_1.default.createHash("sha256").update(pw + "memos-local-salt-2026").digest("hex");
101
+ return node_crypto_1.default.createHash("sha256").update(pw + "memos-lite-salt-2026").digest("hex");
102
102
  }
103
103
  createSession() {
104
104
  const token = node_crypto_1.default.randomBytes(32).toString("hex");
@@ -766,12 +766,18 @@ class ViewerServer {
766
766
  return;
767
767
  }
768
768
  const raw = JSON.parse(node_fs_1.default.readFileSync(cfgPath, "utf-8"));
769
- const pluginEntry = raw?.plugins?.entries?.["memos-local"]?.config ?? {};
769
+ const entries = raw?.plugins?.entries ?? {};
770
+ const pluginEntry = entries["memos-local-openclaw-plugin"]?.config
771
+ ?? entries["memos-lite-openclaw-plugin"]?.config
772
+ ?? entries["memos-lite"]?.config
773
+ ?? {};
770
774
  const result = { ...pluginEntry };
771
- if (raw?.plugins?.entries?.["memos-local"]?.config?.viewerPort == null) {
772
- const topLevel = raw?.plugins?.entries?.["memos-local"] ?? {};
773
- if (topLevel.viewerPort)
774
- result.viewerPort = topLevel.viewerPort;
775
+ const topEntry = entries["memos-local-openclaw-plugin"]
776
+ ?? entries["memos-lite-openclaw-plugin"]
777
+ ?? entries["memos-lite"]
778
+ ?? {};
779
+ if (pluginEntry.viewerPort == null && topEntry.viewerPort) {
780
+ result.viewerPort = topEntry.viewerPort;
775
781
  }
776
782
  this.jsonResponse(res, result);
777
783
  }
@@ -795,9 +801,13 @@ class ViewerServer {
795
801
  if (!plugins.entries)
796
802
  plugins.entries = {};
797
803
  const entries = plugins.entries;
798
- if (!entries["memos-local"])
799
- entries["memos-local"] = { enabled: true };
800
- const entry = entries["memos-local"];
804
+ const entryKey = entries["memos-local-openclaw-plugin"] ? "memos-local-openclaw-plugin"
805
+ : entries["memos-lite-openclaw-plugin"] ? "memos-lite-openclaw-plugin"
806
+ : entries["memos-lite"] ? "memos-lite"
807
+ : "memos-local-openclaw-plugin";
808
+ if (!entries[entryKey])
809
+ entries[entryKey] = { enabled: true };
810
+ const entry = entries[entryKey];
801
811
  if (!entry.config)
802
812
  entry.config = {};
803
813
  const config = entry.config;
@@ -891,8 +901,9 @@ class ViewerServer {
891
901
  if (node_fs_1.default.existsSync(cfgPath)) {
892
902
  try {
893
903
  const raw = JSON.parse(node_fs_1.default.readFileSync(cfgPath, "utf-8"));
894
- const pluginCfg = raw?.plugins?.entries?.["memos-local"]?.config ??
895
- raw?.plugins?.entries?.["memos-local-openclaw-plugin"]?.config ?? {};
904
+ const pluginCfg = raw?.plugins?.entries?.["memos-local-openclaw-plugin"]?.config ??
905
+ raw?.plugins?.entries?.["memos-lite"]?.config ??
906
+ raw?.plugins?.entries?.["memos-lite-openclaw-plugin"]?.config ?? {};
896
907
  const emb = pluginCfg.embedding;
897
908
  hasEmbedding = !!(emb && emb.provider);
898
909
  const sum = pluginCfg.summarizer;
@@ -955,17 +966,20 @@ class ViewerServer {
955
966
  });
956
967
  if (this.migrationRunning) {
957
968
  res.write(`event: state\ndata: ${JSON.stringify(this.migrationState)}\n\n`);
969
+ this.migrationSSEClients.push(res);
970
+ res.on("close", () => {
971
+ this.migrationSSEClients = this.migrationSSEClients.filter(c => c !== res);
972
+ });
958
973
  }
959
974
  else if (this.migrationState.done) {
975
+ const evtName = this.migrationState.stopped ? "stopped" : "done";
960
976
  res.write(`event: state\ndata: ${JSON.stringify(this.migrationState)}\n\n`);
961
- res.write(`event: done\ndata: ${JSON.stringify({ ok: true })}\n\n`);
977
+ res.write(`event: ${evtName}\ndata: ${JSON.stringify({ ok: true })}\n\n`);
978
+ res.end();
979
+ }
980
+ else {
962
981
  res.end();
963
- return;
964
982
  }
965
- this.migrationSSEClients.push(res);
966
- res.on("close", () => {
967
- this.migrationSSEClients = this.migrationSSEClients.filter(c => c !== res);
968
- });
969
983
  }
970
984
  handleMigrateStart(req, res) {
971
985
  if (this.migrationRunning) {
@@ -1057,8 +1071,9 @@ class ViewerServer {
1057
1071
  let summarizerCfg;
1058
1072
  try {
1059
1073
  const raw = JSON.parse(node_fs_1.default.readFileSync(cfgPath, "utf-8"));
1060
- const pluginCfg = raw?.plugins?.entries?.["memos-local"]?.config ??
1061
- raw?.plugins?.entries?.["memos-local-openclaw-plugin"]?.config ?? {};
1074
+ const pluginCfg = raw?.plugins?.entries?.["memos-local-openclaw-plugin"]?.config ??
1075
+ raw?.plugins?.entries?.["memos-lite"]?.config ??
1076
+ raw?.plugins?.entries?.["memos-lite-openclaw-plugin"]?.config ?? {};
1062
1077
  summarizerCfg = pluginCfg.summarizer;
1063
1078
  }
1064
1079
  catch { /* no config */ }