@unson/brainbase-mcp 0.10.6 → 0.10.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unson/brainbase-mcp",
3
- "version": "0.10.6",
3
+ "version": "0.10.8",
4
4
  "description": "Local-first Brainbase judgment OS that lets supported AI agents reuse a user's approved goals, priorities, decisions, and judgment criteria.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -336,5 +336,5 @@
336
336
  "engines": {
337
337
  "node": ">=20"
338
338
  },
339
- "gitHead": "c59d4421803804f285d34ae6dd1d766f9c0f8ee9"
339
+ "gitHead": "0c5238559b78d31ea5c3dc7f2b27361b8d8b03c4"
340
340
  }
@@ -1,22 +1,13 @@
1
1
  /* Shared project knowledge workspace. Load after graph-view-shared.css. */
2
2
 
3
3
  .bb-pkw {
4
- --bb-color-ink: var(--bb-color-project-ink);
5
- --bb-color-muted: var(--bb-color-project-muted);
6
- --bb-color-border: var(--bb-color-project-border);
7
- --bb-color-border-strong: var(--bb-color-project-border-strong);
8
- --bb-color-surface: var(--bb-color-panel);
9
- --bb-color-accent: var(--bb-color-project-accent);
10
- --bb-color-accent-strong: var(--bb-color-project-accent-strong);
11
4
  display: grid;
12
5
  gap: var(--bb-space-4);
13
6
  min-width: 0;
14
7
  margin-top: var(--bb-space-6);
15
- border: 1px solid var(--bb-color-border);
16
- border-radius: var(--bb-radius-md);
17
- padding: var(--bb-space-5);
8
+ padding: 0;
18
9
  color: var(--bb-color-ink);
19
- background: var(--bb-color-panel);
10
+ background: transparent;
20
11
  font-family: var(--bb-font-sans);
21
12
  }
22
13
 
@@ -36,7 +27,7 @@
36
27
 
37
28
  .bb-pkw-header {
38
29
  display: grid;
39
- gap: var(--bb-space-2);
30
+ gap: 12px;
40
31
  min-width: 0;
41
32
  }
42
33
 
@@ -50,9 +41,12 @@
50
41
  }
51
42
 
52
43
  .bb-pkw-header h2 {
53
- font-size: clamp(22px, 2.6vw, 32px);
54
- letter-spacing: -.04em;
55
- overflow-wrap: anywhere;
44
+ font-size: clamp(32px, 3.5vw, 44px);
45
+ font-weight: 760;
46
+ line-height: 1.1;
47
+ letter-spacing: -.055em;
48
+ word-break: keep-all;
49
+ overflow-wrap: break-word;
56
50
  }
57
51
 
58
52
  .bb-pkw-lead,
@@ -63,6 +57,10 @@
63
57
  line-height: 1.65;
64
58
  }
65
59
 
60
+ .bb-pkw-lead {
61
+ max-width: 720px;
62
+ }
63
+
66
64
  .bb-pkw-meta {
67
65
  display: flex;
68
66
  flex-wrap: wrap;
@@ -203,15 +201,15 @@
203
201
  font: inherit;
204
202
  font-weight: 720;
205
203
  text-align: left;
206
- text-decoration: underline;
207
- text-decoration-color: color-mix(in srgb, var(--bb-color-accent) 35%, transparent);
208
- text-underline-offset: 3px;
204
+ text-decoration: none;
209
205
  cursor: pointer;
210
206
  }
211
207
 
212
208
  .bb-pkw-record-link:hover {
213
209
  color: var(--bb-color-accent);
210
+ text-decoration: underline;
214
211
  text-decoration-color: currentColor;
212
+ text-underline-offset: 3px;
215
213
  }
216
214
 
217
215
  .bb-pkw-people-list p,
@@ -228,10 +226,9 @@
228
226
 
229
227
  .bb-pkw-object {
230
228
  min-width: 0;
231
- border: 1px solid var(--bb-color-border);
232
- border-radius: var(--bb-radius-sm);
233
- padding: var(--bb-space-3);
234
- background: var(--bb-color-surface);
229
+ border-top: 1px solid var(--bb-color-border);
230
+ padding: var(--bb-space-3) 0 0;
231
+ background: transparent;
235
232
  }
236
233
 
237
234
  .bb-pkw-object h4 {
@@ -474,7 +471,7 @@
474
471
 
475
472
  @media (max-width: 760px) {
476
473
  .bb-pkw {
477
- padding: var(--bb-space-4);
474
+ padding: 0;
478
475
  }
479
476
 
480
477
  .bb-pkw-columns {
@@ -540,7 +537,7 @@
540
537
  entry point; rows and details carry the long form. */
541
538
  .bb-pkw-dense-overview {
542
539
  display: grid;
543
- gap: var(--bb-space-4);
540
+ gap: 0;
544
541
  }
545
542
 
546
543
  .bb-pkw-dense-intro {
@@ -569,17 +566,25 @@
569
566
  .bb-pkw-dense-metrics {
570
567
  display: grid;
571
568
  grid-template-columns: repeat(4, minmax(0, 1fr));
572
- gap: var(--bb-space-2);
569
+ gap: 0;
570
+ margin: 0 0 var(--bb-space-5);
571
+ border-block: 1px solid var(--bb-color-border);
573
572
  }
574
573
 
575
574
  .bb-pkw-dense-metric {
576
575
  display: grid;
577
576
  gap: 3px;
578
577
  min-width: 0;
579
- border: 1px solid var(--bb-color-border);
580
- border-radius: var(--bb-radius-sm);
581
- padding: 8px 12px;
582
- background: var(--bb-color-panel);
578
+ border-right: 1px solid var(--bb-color-border);
579
+ padding: 20px 24px;
580
+ }
581
+
582
+ .bb-pkw-dense-metric:first-child {
583
+ padding-left: 0;
584
+ }
585
+
586
+ .bb-pkw-dense-metric:last-child {
587
+ border-right: 0;
583
588
  }
584
589
 
585
590
  .bb-pkw-dense-metric-label {
@@ -589,31 +594,34 @@
589
594
  }
590
595
 
591
596
  .bb-pkw-dense-metric-value {
597
+ display: block;
592
598
  min-width: 0;
593
599
  overflow-wrap: anywhere;
594
600
  color: var(--bb-color-ink);
595
- font-size: 20px;
601
+ font-size: 30px;
602
+ font-weight: 760;
603
+ line-height: 1.1;
596
604
  letter-spacing: -.03em;
597
605
  }
598
606
 
599
607
  .bb-pkw-dense-grid {
600
608
  display: grid;
601
609
  grid-template-columns: minmax(0, 1fr);
602
- gap: var(--bb-space-3);
610
+ gap: 0;
603
611
  }
604
612
 
605
613
  .bb-pkw-dense-supporting-grid {
606
614
  grid-template-columns: repeat(2, minmax(0, 1fr));
615
+ gap: var(--bb-space-5);
607
616
  }
608
617
 
609
618
  .bb-pkw-dense-card {
610
619
  display: grid;
611
- gap: 6px;
620
+ gap: var(--bb-space-3);
612
621
  min-width: 0;
613
- border: 1px solid var(--bb-color-border);
614
- border-radius: var(--bb-radius-sm);
615
- padding: 10px 14px;
616
- background: var(--bb-color-panel);
622
+ border-top: 1px solid var(--bb-color-border-strong);
623
+ padding: var(--bb-space-4) 0 0;
624
+ background: transparent;
617
625
  }
618
626
 
619
627
  .bb-pkw-dense-card-wide {
@@ -660,7 +668,7 @@
660
668
  .bb-pkw-dense-list,
661
669
  .bb-pkw-dense-record-list {
662
670
  display: grid;
663
- gap: var(--bb-space-2);
671
+ gap: 0;
664
672
  margin: 0;
665
673
  padding: 0;
666
674
  list-style: none;
@@ -671,7 +679,11 @@
671
679
  gap: 4px;
672
680
  min-width: 0;
673
681
  border-bottom: 1px solid var(--bb-color-border);
674
- padding-bottom: var(--bb-space-2);
682
+ padding: var(--bb-space-2) 0;
683
+ }
684
+
685
+ .bb-pkw-dense-item:first-child {
686
+ padding-top: 0;
675
687
  }
676
688
 
677
689
  .bb-pkw-dense-item:last-child {
@@ -693,15 +705,15 @@
693
705
  font: inherit;
694
706
  font-weight: 720;
695
707
  text-align: left;
696
- text-decoration: underline;
697
- text-decoration-color: color-mix(in srgb, var(--bb-color-accent) 35%, transparent);
698
- text-underline-offset: 3px;
708
+ text-decoration: none;
699
709
  cursor: pointer;
700
710
  }
701
711
 
702
712
  .bb-pkw-dense-link:hover {
703
713
  color: var(--bb-color-accent);
714
+ text-decoration: underline;
704
715
  text-decoration-color: currentColor;
716
+ text-underline-offset: 3px;
705
717
  }
706
718
 
707
719
  .bb-pkw-dense-item-facts {
@@ -793,8 +805,12 @@
793
805
  margin: 0;
794
806
  overflow-wrap: anywhere;
795
807
  color: var(--bb-color-ink);
796
- font-size: clamp(18px, 2vw, 26px);
797
- letter-spacing: -.03em;
808
+ font-size: clamp(28px, 3vw, 36px);
809
+ font-weight: 760;
810
+ line-height: 1.1;
811
+ letter-spacing: -.05em;
812
+ word-break: keep-all;
813
+ overflow-wrap: break-word;
798
814
  }
799
815
 
800
816
  .bb-pkw-work-controls {
@@ -902,10 +918,40 @@
902
918
  }
903
919
 
904
920
  @media (max-width: 760px) {
921
+ .bb-pkw {
922
+ margin-top: var(--bb-space-5);
923
+ }
924
+
925
+ .bb-pkw-header h2 {
926
+ font-size: 34px;
927
+ }
928
+
905
929
  .bb-pkw-dense-metrics {
906
930
  grid-template-columns: repeat(2, minmax(0, 1fr));
907
931
  }
908
932
 
933
+ .bb-pkw-dense-metric,
934
+ .bb-pkw-dense-metric:first-child {
935
+ padding: 14px 12px;
936
+ }
937
+
938
+ .bb-pkw-dense-metric:nth-child(odd) {
939
+ padding-left: 0;
940
+ }
941
+
942
+ .bb-pkw-dense-metric:nth-child(even) {
943
+ border-right: 0;
944
+ padding-right: 0;
945
+ }
946
+
947
+ .bb-pkw-dense-metric:nth-child(-n + 2) {
948
+ border-bottom: 1px solid var(--bb-color-border);
949
+ }
950
+
951
+ .bb-pkw-dense-metric:last-child {
952
+ border-bottom: 0;
953
+ }
954
+
909
955
  .bb-pkw-dense-grid,
910
956
  .bb-pkw-detail-columns {
911
957
  grid-template-columns: minmax(0, 1fr);
@@ -553,9 +553,10 @@ function todayActionItems(items, now = new Date()) {
553
553
  const endOfToday = new Date(now);
554
554
  endOfToday.setHours(23, 59, 59, 999);
555
555
  return sortDenseItems(items.filter((item) => {
556
+ if (/完了|取消|キャンセル|中止|取下げ|completed|cancell?ed|done|closed/i.test(item.status ?? '')) return false;
556
557
  if (/確認待ち|要確認|承認待ち|blocked|needs.review|waiting/i.test(item.status ?? '')) return true;
557
558
  const due = Date.parse(item.dueAt ?? '');
558
- return Number.isFinite(due) && due <= endOfToday.getTime() && !/完了|done|closed/i.test(item.status ?? '');
559
+ return Number.isFinite(due) && due <= endOfToday.getTime();
559
560
  }));
560
561
  }
561
562
 
@@ -576,8 +577,8 @@ function renderDenseOverview(doc, detail, context, entities, actions = {}) {
576
577
  .slice(0, 4);
577
578
  const due = todayActionItems(tasks).slice(0, 6);
578
579
  const total = explicitSectionTotal(taskSection);
579
- const taskMetric = total === null ? '未確認' : `${total}件`;
580
- const taskNote = taskSection?.state === 'ok' ? (total === null ? `${tasks.length}件を表示` : '取得済みの総数') : '取得状態を確認中';
580
+ const taskMetric = total === null ? (taskSection?.state === 'ok' ? `${tasks.length}件表示` : '未確認') : `${total}件`;
581
+ const taskNote = taskSection?.state === 'ok' ? (total === null ? '総数は未確認' : '取得済みの総数') : '取得状態を確認中';
581
582
  const panel = makeElement(doc, 'section', { className: 'bb-pkw-dense-overview', attrs: { 'aria-label': 'プロジェクト概要' } });
582
583
  const intro = makeElement(doc, 'div', { className: 'bb-pkw-dense-intro' });
583
584
  intro.append(makeElement(doc, 'div', { className: 'bb-pkw-dense-eyebrow', text: '今日見る' }), makeElement(doc, 'h3', { text: cleanName(payload?.project?.name, 'プロジェクト') }), makeElement(doc, 'p', { className: 'bb-pkw-muted', text: '量を把握して、必要な仕事と根拠へ進みます。' }));