opencode-mem 2.1.1 → 2.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.
Files changed (33) hide show
  1. package/README.md +60 -77
  2. package/dist/config.d.ts +1 -2
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +11 -16
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +27 -86
  7. package/dist/plugin.d.ts.map +1 -1
  8. package/dist/plugin.js +0 -4
  9. package/dist/services/ai/providers/anthropic-messages.d.ts.map +1 -1
  10. package/dist/services/ai/providers/anthropic-messages.js +11 -17
  11. package/dist/services/ai/providers/openai-chat-completion.d.ts.map +1 -1
  12. package/dist/services/ai/providers/openai-chat-completion.js +11 -17
  13. package/dist/services/ai/providers/openai-responses.d.ts.map +1 -1
  14. package/dist/services/ai/providers/openai-responses.js +11 -17
  15. package/dist/services/api-handlers.d.ts +5 -3
  16. package/dist/services/api-handlers.d.ts.map +1 -1
  17. package/dist/services/api-handlers.js +165 -42
  18. package/dist/services/auto-capture.js +2 -2
  19. package/dist/services/context.d.ts +1 -1
  20. package/dist/services/context.d.ts.map +1 -1
  21. package/dist/services/context.js +1 -10
  22. package/dist/services/deduplication-service.d.ts.map +1 -1
  23. package/dist/services/deduplication-service.js +1 -3
  24. package/dist/services/logger.js +1 -1
  25. package/dist/services/user-memory-learning.d.ts +1 -1
  26. package/dist/services/user-memory-learning.d.ts.map +1 -1
  27. package/dist/services/user-memory-learning.js +5 -3
  28. package/dist/services/user-profile/user-profile-manager.d.ts.map +1 -1
  29. package/dist/services/web-server-worker.js +30 -3
  30. package/dist/web/app.js +254 -47
  31. package/dist/web/index.html +31 -15
  32. package/dist/web/styles.css +309 -0
  33. package/package.json +1 -1
@@ -1174,3 +1174,312 @@ textarea:focus-visible {
1174
1174
  transform: translateX(0);
1175
1175
  }
1176
1176
  }
1177
+
1178
+ .profile-section {
1179
+ border: 1px solid #333;
1180
+ padding: 20px;
1181
+ margin-bottom: 20px;
1182
+ background: #111;
1183
+ }
1184
+
1185
+ .profile-content {
1186
+ min-height: 300px;
1187
+ }
1188
+
1189
+ .profile-header {
1190
+ display: flex;
1191
+ justify-content: space-between;
1192
+ align-items: flex-start;
1193
+ padding: 20px;
1194
+ margin-bottom: 20px;
1195
+ border: 1px solid #00ccff;
1196
+ background: rgba(0, 204, 255, 0.05);
1197
+ }
1198
+
1199
+ .profile-info h3 {
1200
+ color: #00ccff;
1201
+ font-size: 18px;
1202
+ margin-bottom: 8px;
1203
+ }
1204
+
1205
+ .profile-meta {
1206
+ color: #888;
1207
+ font-size: 12px;
1208
+ }
1209
+
1210
+ .profile-meta span {
1211
+ margin-right: 8px;
1212
+ }
1213
+
1214
+ .profile-section h4 {
1215
+ color: #00ccff;
1216
+ font-size: 14px;
1217
+ margin-bottom: 15px;
1218
+ padding-bottom: 8px;
1219
+ border-bottom: 1px solid #333;
1220
+ display: flex;
1221
+ align-items: center;
1222
+ gap: 8px;
1223
+ }
1224
+
1225
+ .empty-text {
1226
+ color: #666;
1227
+ font-style: italic;
1228
+ padding: 20px;
1229
+ text-align: center;
1230
+ }
1231
+
1232
+ .preferences-list,
1233
+ .patterns-list,
1234
+ .workflows-list {
1235
+ display: flex;
1236
+ flex-direction: column;
1237
+ gap: 12px;
1238
+ margin-bottom: 20px;
1239
+ }
1240
+
1241
+ .preference-item,
1242
+ .pattern-item,
1243
+ .workflow-item {
1244
+ border: 1px solid #333;
1245
+ padding: 15px;
1246
+ background: #0a0a0a;
1247
+ transition: border-color 0.2s;
1248
+ }
1249
+
1250
+ .preference-item:hover,
1251
+ .pattern-item:hover,
1252
+ .workflow-item:hover {
1253
+ border-color: #00ccff;
1254
+ }
1255
+
1256
+ .preference-header,
1257
+ .pattern-header,
1258
+ .workflow-header {
1259
+ display: flex;
1260
+ justify-content: space-between;
1261
+ align-items: center;
1262
+ margin-bottom: 10px;
1263
+ }
1264
+
1265
+ .preference-name,
1266
+ .pattern-name,
1267
+ .workflow-name {
1268
+ color: #e0e0e0;
1269
+ font-weight: bold;
1270
+ flex: 1;
1271
+ }
1272
+
1273
+ .confidence-badge,
1274
+ .frequency-badge {
1275
+ background: #00ccff;
1276
+ color: #0a0a0a;
1277
+ padding: 4px 10px;
1278
+ border-radius: 3px;
1279
+ font-size: 11px;
1280
+ font-weight: bold;
1281
+ }
1282
+
1283
+ .confidence-bar,
1284
+ .frequency-bar {
1285
+ height: 6px;
1286
+ background: #222;
1287
+ border-radius: 3px;
1288
+ overflow: hidden;
1289
+ margin-bottom: 10px;
1290
+ }
1291
+
1292
+ .confidence-fill {
1293
+ height: 100%;
1294
+ background: #00ccff;
1295
+ transition: width 0.3s;
1296
+ }
1297
+
1298
+ .frequency-fill {
1299
+ height: 100%;
1300
+ background: #00ccff;
1301
+ transition: width 0.3s;
1302
+ }
1303
+
1304
+ .preference-evidence {
1305
+ color: #888;
1306
+ font-size: 12px;
1307
+ font-style: italic;
1308
+ margin-bottom: 5px;
1309
+ }
1310
+
1311
+ .preference-meta,
1312
+ .pattern-meta {
1313
+ color: #666;
1314
+ font-size: 11px;
1315
+ }
1316
+
1317
+ .workflow-steps {
1318
+ display: flex;
1319
+ flex-direction: column;
1320
+ gap: 8px;
1321
+ margin-top: 10px;
1322
+ }
1323
+
1324
+ .workflow-step {
1325
+ display: flex;
1326
+ align-items: center;
1327
+ gap: 10px;
1328
+ padding: 8px;
1329
+ background: #111;
1330
+ border-left: 2px solid #00ccff;
1331
+ }
1332
+ .step-number {
1333
+ background: #00ccff;
1334
+ color: #0a0a0a;
1335
+ width: 24px;
1336
+ height: 24px;
1337
+ border-radius: 50%;
1338
+ display: flex;
1339
+ align-items: center;
1340
+ justify-content: center;
1341
+ font-size: 11px;
1342
+ font-weight: bold;
1343
+ flex-shrink: 0;
1344
+ }
1345
+
1346
+ .step-text {
1347
+ color: #ccc;
1348
+ font-size: 12px;
1349
+ }
1350
+
1351
+ .skill-level {
1352
+ display: grid;
1353
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1354
+ gap: 15px;
1355
+ padding: 15px;
1356
+ background: #0a0a0a;
1357
+ border: 1px solid #333;
1358
+ }
1359
+
1360
+ .skill-item {
1361
+ display: flex;
1362
+ justify-content: space-between;
1363
+ align-items: center;
1364
+ padding: 10px;
1365
+ border-left: 3px solid #00ccff;
1366
+ background: #111;
1367
+ }
1368
+
1369
+ .skill-label {
1370
+ color: #888;
1371
+ font-size: 12px;
1372
+ text-transform: capitalize;
1373
+ }
1374
+
1375
+ .skill-value {
1376
+ color: #00ccff;
1377
+ font-weight: bold;
1378
+ font-size: 13px;
1379
+ text-transform: uppercase;
1380
+ }
1381
+
1382
+ .changelog-list {
1383
+ padding: 20px;
1384
+ max-height: 500px;
1385
+ overflow-y: auto;
1386
+ }
1387
+
1388
+ .changelog-item {
1389
+ border: 1px solid #333;
1390
+ padding: 15px;
1391
+ margin-bottom: 10px;
1392
+ background: #0a0a0a;
1393
+ transition: border-color 0.2s;
1394
+ }
1395
+
1396
+ .changelog-item:hover {
1397
+ border-color: #00ccff;
1398
+ }
1399
+
1400
+ .changelog-header {
1401
+ display: flex;
1402
+ gap: 10px;
1403
+ align-items: center;
1404
+ margin-bottom: 8px;
1405
+ flex-wrap: wrap;
1406
+ }
1407
+
1408
+ .changelog-version {
1409
+ background: #00ccff;
1410
+ color: #0a0a0a;
1411
+ padding: 4px 10px;
1412
+ border-radius: 3px;
1413
+ font-size: 11px;
1414
+ font-weight: bold;
1415
+ }
1416
+
1417
+ .changelog-type {
1418
+ color: #888;
1419
+ font-size: 11px;
1420
+ text-transform: uppercase;
1421
+ border: 1px solid #333;
1422
+ padding: 4px 8px;
1423
+ }
1424
+
1425
+ .changelog-date {
1426
+ color: #666;
1427
+ font-size: 11px;
1428
+ margin-left: auto;
1429
+ }
1430
+
1431
+ .changelog-summary {
1432
+ color: #ccc;
1433
+ font-size: 12px;
1434
+ line-height: 1.6;
1435
+ }
1436
+
1437
+ .icon-large {
1438
+ width: 48px;
1439
+ height: 48px;
1440
+ margin-bottom: 15px;
1441
+ opacity: 0.5;
1442
+ }
1443
+
1444
+ @media (max-width: 768px) {
1445
+ .profile-header {
1446
+ flex-direction: column;
1447
+ gap: 15px;
1448
+ }
1449
+
1450
+ .skill-level {
1451
+ grid-template-columns: 1fr;
1452
+ }
1453
+
1454
+ .workflow-step {
1455
+ flex-direction: column;
1456
+ align-items: flex-start;
1457
+ }
1458
+ }
1459
+
1460
+ .profile-meta .separator {
1461
+ margin: 0 8px;
1462
+ color: #666;
1463
+ }
1464
+
1465
+ .badge .icon-sm {
1466
+ width: 12px;
1467
+ height: 12px;
1468
+ margin-right: 4px;
1469
+ vertical-align: middle;
1470
+ }
1471
+
1472
+ .link-indicator .icon-sm {
1473
+ width: 14px;
1474
+ height: 14px;
1475
+ vertical-align: middle;
1476
+ }
1477
+
1478
+ .category-badge {
1479
+ background: #00ccff;
1480
+ color: #0a0a0a;
1481
+ padding: 4px 10px;
1482
+ border-radius: 3px;
1483
+ font-size: 11px;
1484
+ font-weight: bold;
1485
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-mem",
3
- "version": "2.1.1",
3
+ "version": "2.3.0",
4
4
  "description": "OpenCode plugin that gives coding agents persistent memory using local vector database",
5
5
  "type": "module",
6
6
  "main": "dist/plugin.js",