@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 +2 -2
- package/ui/project-workspace.css +89 -43
- package/ui/project-workspace.js +4 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unson/brainbase-mcp",
|
|
3
|
-
"version": "0.10.
|
|
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": "
|
|
339
|
+
"gitHead": "0c5238559b78d31ea5c3dc7f2b27361b8d8b03c4"
|
|
340
340
|
}
|
package/ui/project-workspace.css
CHANGED
|
@@ -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
|
-
|
|
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:
|
|
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:
|
|
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(
|
|
54
|
-
|
|
55
|
-
|
|
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:
|
|
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
|
-
|
|
233
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
581
|
-
|
|
582
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
620
|
+
gap: var(--bb-space-3);
|
|
612
621
|
min-width: 0;
|
|
613
|
-
border: 1px solid var(--bb-color-border);
|
|
614
|
-
|
|
615
|
-
|
|
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:
|
|
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
|
|
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:
|
|
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(
|
|
797
|
-
|
|
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);
|
package/ui/project-workspace.js
CHANGED
|
@@ -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()
|
|
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 ?
|
|
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: '量を把握して、必要な仕事と根拠へ進みます。' }));
|