@unson/brainbase-mcp 0.41.9 → 0.41.11
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/dist/canonical-task-service.d.ts +6 -0
- package/dist/canonical-task-service.js +18 -1
- package/dist/judgment-history.js +76 -3
- package/dist/meeting-minutes-http.js +19 -0
- package/dist/meeting-minutes.js +4 -0
- package/package.json +2 -2
- package/ui/judgment-history.css +155 -2
- package/ui/judgment-history.js +649 -241
- package/ui/local-web-shell.js +16 -0
- package/ui/meeting-minutes.css +238 -5
- package/ui/meeting-minutes.js +691 -124
package/ui/local-web-shell.js
CHANGED
|
@@ -186,6 +186,21 @@ function makePage(container, context) {
|
|
|
186
186
|
return page;
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
+
/** Names of judgment references from the local Graph, under the host's current access. */
|
|
190
|
+
function judgmentReferenceLabelReader(context) {
|
|
191
|
+
const client = createGraphClient({ fetcher: context.fetcher, basePath: '/api/graph', token: context.token });
|
|
192
|
+
return async (references) => {
|
|
193
|
+
const labels = new Map();
|
|
194
|
+
await Promise.all(references.map(async ({ ref }) => {
|
|
195
|
+
const result = await client.read(`/entities/${encodeURIComponent(ref)}`);
|
|
196
|
+
const entity = result.state === 'ok' && isRecord(result.payload?.entity) ? result.payload.entity : null;
|
|
197
|
+
const name = entity && entity.id === ref && typeof entity.name === 'string' ? entity.name.trim() : '';
|
|
198
|
+
if (name) labels.set(ref, name);
|
|
199
|
+
}));
|
|
200
|
+
return labels;
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
189
204
|
function mountToday(container, context) {
|
|
190
205
|
return createJudgmentHistoryUI({
|
|
191
206
|
root: makePage(container, context),
|
|
@@ -195,6 +210,7 @@ function mountToday(container, context) {
|
|
|
195
210
|
fetcher: context.fetcher,
|
|
196
211
|
token: context.token,
|
|
197
212
|
basePath: '/api/judgment-history',
|
|
213
|
+
resolveReferenceLabels: judgmentReferenceLabelReader(context),
|
|
198
214
|
});
|
|
199
215
|
}
|
|
200
216
|
|
package/ui/meeting-minutes.css
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
--bb-color-accent-strong: var(--bb-color-brand-indigo);
|
|
5
5
|
--bb-color-action: var(--bb-color-brand-indigo);
|
|
6
6
|
display: grid;
|
|
7
|
-
grid-template-rows: auto auto minmax(0, 1fr);
|
|
7
|
+
grid-template-rows: auto auto auto minmax(0, 1fr);
|
|
8
8
|
gap: 4px;
|
|
9
9
|
height: 100%;
|
|
10
10
|
min-height: 0;
|
|
@@ -108,6 +108,70 @@
|
|
|
108
108
|
color: var(--bb-color-danger);
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
+
.bb-minutes-toolbar {
|
|
112
|
+
display: flex;
|
|
113
|
+
flex-wrap: wrap;
|
|
114
|
+
gap: 8px 12px;
|
|
115
|
+
align-items: flex-end;
|
|
116
|
+
min-width: 0;
|
|
117
|
+
padding: 8px 12px;
|
|
118
|
+
border: 1px solid var(--bb-color-border);
|
|
119
|
+
border-radius: var(--bb-radius-md, 6px);
|
|
120
|
+
background: var(--bb-color-surface);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.bb-minutes-filter-host {
|
|
124
|
+
display: contents;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.bb-minutes-filter-field {
|
|
128
|
+
display: grid;
|
|
129
|
+
gap: 2px;
|
|
130
|
+
min-width: 0;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.bb-minutes-filter-field[hidden],
|
|
134
|
+
.bb-minutes-filter-host[hidden],
|
|
135
|
+
.bb-minutes-filter-reset[hidden] {
|
|
136
|
+
display: none;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.bb-minutes-filter-field.is-keyword {
|
|
140
|
+
flex: 1 1 180px;
|
|
141
|
+
max-width: 260px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.bb-minutes-filter-field .bb-minutes-input {
|
|
145
|
+
min-height: 38px;
|
|
146
|
+
padding: 4px 8px;
|
|
147
|
+
font-size: 13px;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.bb-minutes-filter-period {
|
|
151
|
+
display: flex;
|
|
152
|
+
gap: 4px;
|
|
153
|
+
align-items: center;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.bb-minutes-filter-period .bb-minutes-input {
|
|
157
|
+
width: 8.75rem;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.bb-minutes-filter-period-sep {
|
|
161
|
+
color: var(--bb-color-muted);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.bb-minutes-filter-combobox {
|
|
165
|
+
min-width: 11rem;
|
|
166
|
+
max-width: 16rem;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.bb-minutes-create-reason {
|
|
170
|
+
color: var(--bb-color-muted);
|
|
171
|
+
font-size: 12px;
|
|
172
|
+
overflow-wrap: anywhere;
|
|
173
|
+
}
|
|
174
|
+
|
|
111
175
|
.bb-minutes-columns {
|
|
112
176
|
display: grid;
|
|
113
177
|
grid-template-columns: minmax(340px, 380px) minmax(0, 1fr);
|
|
@@ -136,6 +200,12 @@
|
|
|
136
200
|
overflow-y: auto;
|
|
137
201
|
}
|
|
138
202
|
|
|
203
|
+
/* Keep the heading, actions and body together at the top instead of spreading them over the pane. */
|
|
204
|
+
.bb-minutes-detail-pane,
|
|
205
|
+
.bb-minutes-document {
|
|
206
|
+
align-content: start;
|
|
207
|
+
}
|
|
208
|
+
|
|
139
209
|
.bb-minutes-list-pane {
|
|
140
210
|
grid-template-rows: auto minmax(0, 1fr);
|
|
141
211
|
gap: 0;
|
|
@@ -146,7 +216,8 @@
|
|
|
146
216
|
.bb-minutes-detail-head,
|
|
147
217
|
.bb-minutes-document-head,
|
|
148
218
|
.bb-minutes-actions,
|
|
149
|
-
.bb-minutes-version-
|
|
219
|
+
.bb-minutes-version-actions,
|
|
220
|
+
.bb-minutes-version-meta {
|
|
150
221
|
display: flex;
|
|
151
222
|
gap: 8px;
|
|
152
223
|
align-items: center;
|
|
@@ -328,12 +399,66 @@
|
|
|
328
399
|
margin: 0;
|
|
329
400
|
}
|
|
330
401
|
|
|
331
|
-
.bb-minutes-version-
|
|
402
|
+
.bb-minutes-version-actions {
|
|
403
|
+
justify-content: flex-start;
|
|
404
|
+
margin: 0;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/* Which version is shown sits quietly below the body (story-meeting-minutes-edit-and-withdraw-ui-v1 AC-06). */
|
|
408
|
+
.bb-minutes-version-meta {
|
|
409
|
+
justify-content: flex-start;
|
|
332
410
|
margin: 0;
|
|
411
|
+
padding-top: 8px;
|
|
412
|
+
border-top: 1px solid var(--bb-color-border);
|
|
413
|
+
color: var(--bb-color-muted);
|
|
414
|
+
font-size: 12px;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
.bb-minutes-withdrawn,
|
|
418
|
+
.bb-minutes-withdraw-guard,
|
|
419
|
+
.bb-minutes-edit-note {
|
|
420
|
+
margin: 0;
|
|
421
|
+
color: var(--bb-color-muted);
|
|
422
|
+
font-size: 13px;
|
|
423
|
+
overflow-wrap: anywhere;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
.bb-minutes-withdrawn {
|
|
333
427
|
padding: 8px 12px;
|
|
428
|
+
background: var(--bb-color-surface);
|
|
334
429
|
border: 1px solid var(--bb-color-border);
|
|
335
|
-
border-radius:
|
|
336
|
-
|
|
430
|
+
border-radius: var(--bb-radius-sm, 4px);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.bb-minutes-withdraw-confirm {
|
|
434
|
+
display: grid;
|
|
435
|
+
gap: 8px;
|
|
436
|
+
padding: 12px;
|
|
437
|
+
border: 1px solid var(--bb-color-danger);
|
|
438
|
+
border-radius: var(--bb-radius-sm, 4px);
|
|
439
|
+
background: var(--bb-color-paper);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.bb-minutes-withdraw-confirm p,
|
|
443
|
+
.bb-minutes-withdraw-confirm ul {
|
|
444
|
+
margin: 0;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.bb-minutes-withdraw-title {
|
|
448
|
+
font-weight: 600;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
.bb-minutes-edit-form {
|
|
452
|
+
display: grid;
|
|
453
|
+
gap: 8px;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.bb-minutes-edit-form textarea {
|
|
457
|
+
width: 100%;
|
|
458
|
+
box-sizing: border-box;
|
|
459
|
+
min-height: 16rem;
|
|
460
|
+
font: inherit;
|
|
461
|
+
line-height: 1.6;
|
|
337
462
|
}
|
|
338
463
|
|
|
339
464
|
.bb-minutes-version-content {
|
|
@@ -419,6 +544,18 @@
|
|
|
419
544
|
color: var(--bb-color-action-text);
|
|
420
545
|
}
|
|
421
546
|
|
|
547
|
+
.bb-minutes-button.is-quiet {
|
|
548
|
+
border-color: var(--bb-color-border);
|
|
549
|
+
color: var(--bb-color-muted);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
.bb-minutes-button.is-danger,
|
|
553
|
+
.bb-minutes-button.is-danger:hover {
|
|
554
|
+
border-color: var(--bb-color-danger);
|
|
555
|
+
background: var(--bb-color-danger);
|
|
556
|
+
color: var(--bb-color-action-text);
|
|
557
|
+
}
|
|
558
|
+
|
|
422
559
|
.bb-minutes-button:disabled {
|
|
423
560
|
cursor: wait;
|
|
424
561
|
opacity: 0.6;
|
|
@@ -464,4 +601,100 @@
|
|
|
464
601
|
.bb-minutes-columns {
|
|
465
602
|
grid-template-columns: 1fr;
|
|
466
603
|
}
|
|
604
|
+
|
|
605
|
+
.bb-minutes-filter-field {
|
|
606
|
+
flex: 1 1 calc(50% - 6px);
|
|
607
|
+
max-width: none;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
.bb-minutes-filter-field.is-keyword,
|
|
611
|
+
.bb-minutes-filter-field.is-period {
|
|
612
|
+
flex-basis: 100%;
|
|
613
|
+
max-width: none;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
.bb-minutes-filter-period .bb-minutes-input {
|
|
617
|
+
flex: 1 1 0;
|
|
618
|
+
width: auto;
|
|
619
|
+
min-width: 0;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
.bb-minutes-filter-combobox {
|
|
623
|
+
min-width: 0;
|
|
624
|
+
max-width: none;
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
/* この会議から: project, tasks, decisions, storage and sharing. */
|
|
629
|
+
.bb-minutes-connections {
|
|
630
|
+
display: grid;
|
|
631
|
+
align-self: start;
|
|
632
|
+
align-content: start;
|
|
633
|
+
gap: 4px;
|
|
634
|
+
margin: 8px 0 4px;
|
|
635
|
+
padding: 8px 12px;
|
|
636
|
+
border: 1px solid var(--bb-color-border);
|
|
637
|
+
border-radius: var(--bb-radius-md, 6px);
|
|
638
|
+
background: var(--bb-color-surface);
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
.bb-minutes-connections-title {
|
|
642
|
+
margin: 0;
|
|
643
|
+
color: var(--bb-color-muted);
|
|
644
|
+
font-size: 12px;
|
|
645
|
+
font-weight: 700;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
.bb-minutes-connection-list {
|
|
649
|
+
display: grid;
|
|
650
|
+
gap: 2px;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
.bb-minutes-connection-row {
|
|
654
|
+
display: grid;
|
|
655
|
+
grid-template-columns: 7em minmax(0, 1fr);
|
|
656
|
+
gap: 8px;
|
|
657
|
+
align-items: baseline;
|
|
658
|
+
font-size: 13px;
|
|
659
|
+
line-height: 1.5;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
.bb-minutes-connection-label {
|
|
663
|
+
color: var(--bb-color-muted);
|
|
664
|
+
font-size: 12px;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
.bb-minutes-connection-items {
|
|
668
|
+
display: flex;
|
|
669
|
+
flex-wrap: wrap;
|
|
670
|
+
gap: 2px 12px;
|
|
671
|
+
margin: 0;
|
|
672
|
+
padding: 0;
|
|
673
|
+
list-style: none;
|
|
674
|
+
min-width: 0;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
.bb-minutes-connection-items li {
|
|
678
|
+
min-width: 0;
|
|
679
|
+
overflow-wrap: anywhere;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
.bb-minutes-connection-link {
|
|
683
|
+
color: var(--bb-color-brand-indigo);
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
.bb-minutes-connection-detail {
|
|
687
|
+
margin-left: 6px;
|
|
688
|
+
color: var(--bb-color-muted);
|
|
689
|
+
font-size: 12px;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
.bb-minutes-connection-note {
|
|
693
|
+
margin: 0;
|
|
694
|
+
color: var(--bb-color-muted);
|
|
695
|
+
overflow-wrap: anywhere;
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
.bb-minutes-connection-note.is-unavailable {
|
|
699
|
+
color: var(--bb-color-warning);
|
|
467
700
|
}
|