@unson/brainbase-mcp 0.5.0 → 0.6.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.
- package/README.md +8 -0
- package/contracts/judgment-dag/digest.json +2 -2
- package/package.json +8 -2
- package/ui/icons/mana/LICENSE.tabler.txt +21 -0
- package/ui/icons/mana/affiliate.svg +20 -0
- package/ui/icons/mana/brand-github.svg +15 -0
- package/ui/icons/mana/brand-google-drive.svg +17 -0
- package/ui/icons/mana/brand-slack.svg +18 -0
- package/ui/icons/mana/cpu.svg +24 -0
- package/ui/outcome-knowledge.css +365 -0
- package/ui/outcome-knowledge.js +1570 -0
- package/ui/outcome-mana.css +255 -0
- package/ui/outcome-mana.js +2325 -0
package/README.md
CHANGED
|
@@ -49,6 +49,14 @@ Brainbaseの価値は、情報を多く保存することではありません
|
|
|
49
49
|
|
|
50
50
|
組織向けのRBAC、承認、監査、マルチユーザー、managed connector、hosted runtimeは、共通の脳モデルを変えずに組織版で追加する領域です。
|
|
51
51
|
|
|
52
|
+
### UIの所有境界
|
|
53
|
+
|
|
54
|
+
- 単一利用者でも成立する共通UIは、このOSSリポジトリが所有します。
|
|
55
|
+
- 組織版はOSS UIを依存として組み込み、組織・メンバー・権限・承認・監査・tenant管理だけを追加します。
|
|
56
|
+
- 顧客固有のbranding、feature flag、接続先設定は顧客設定リポジトリが所有し、共通UIを複製しません。
|
|
57
|
+
|
|
58
|
+
共通UIの最初の公開単位として、知識UIとMana委任UIを `@unson/brainbase-mcp/ui/*` から利用できます。
|
|
59
|
+
|
|
52
60
|
実装済み・develop・計画中の境界は、[現在の状態](https://brainbase.pages.dev/guide/status)を参照してください。
|
|
53
61
|
|
|
54
62
|
## 10分で試す
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"path": "README.md",
|
|
28
|
-
"sha256": "
|
|
28
|
+
"sha256": "eec54fc479eee1deba5c0abbfb3d733596229c87a2c4bacfc446b52e3c0140ed"
|
|
29
29
|
}
|
|
30
30
|
],
|
|
31
|
-
"digest": "
|
|
31
|
+
"digest": "f4b1b5eb55f71eaa481666c5f9503959a6c3ccf6fa8e7d28536653e8e1ab2f38"
|
|
32
32
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unson/brainbase-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
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",
|
|
@@ -27,6 +27,11 @@
|
|
|
27
27
|
"types": "./dist/portable-graph.d.ts",
|
|
28
28
|
"import": "./dist/portable-graph.js"
|
|
29
29
|
},
|
|
30
|
+
"./ui/outcome-knowledge": "./ui/outcome-knowledge.js",
|
|
31
|
+
"./ui/outcome-knowledge.css": "./ui/outcome-knowledge.css",
|
|
32
|
+
"./ui/outcome-mana": "./ui/outcome-mana.js",
|
|
33
|
+
"./ui/outcome-mana.css": "./ui/outcome-mana.css",
|
|
34
|
+
"./ui/icons/*": "./ui/icons/*",
|
|
30
35
|
"./dist/*": "./dist/*",
|
|
31
36
|
"./contracts/judgment-dag/schema.json": "./contracts/judgment-dag/schema.json",
|
|
32
37
|
"./contracts/judgment-dag/fixture.json": "./contracts/judgment-dag/fixture.json",
|
|
@@ -43,6 +48,7 @@
|
|
|
43
48
|
"files": [
|
|
44
49
|
"dist",
|
|
45
50
|
"contracts",
|
|
51
|
+
"ui",
|
|
46
52
|
"docs/architecture/judgment-dag-core.md",
|
|
47
53
|
"docs/management/judgment-dag-milestones.md",
|
|
48
54
|
"README.md",
|
|
@@ -98,5 +104,5 @@
|
|
|
98
104
|
"engines": {
|
|
99
105
|
"node": ">=20"
|
|
100
106
|
},
|
|
101
|
-
"gitHead": "
|
|
107
|
+
"gitHead": "bb89a4a28af112943449b37f61d5eb59fca8d72f"
|
|
102
108
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020-2025 Paweł Kuna
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
+
width="24"
|
|
4
|
+
height="24"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
fill="none"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
stroke-width="2"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
class="icon icon-tabler icons-tabler-outline icon-tabler-affiliate"
|
|
12
|
+
>
|
|
13
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
|
14
|
+
<path d="M5.931 6.936l1.275 4.249m5.607 5.609l4.251 1.275" />
|
|
15
|
+
<path d="M11.683 12.317l5.759 -5.759" />
|
|
16
|
+
<path d="M5.5 5.5m-1.5 0a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
|
|
17
|
+
<path d="M18.5 5.5m-1.5 0a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
|
|
18
|
+
<path d="M18.5 18.5m-1.5 0a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
|
|
19
|
+
<path d="M8.5 15.5m-4.5 0a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0" />
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
+
width="24"
|
|
4
|
+
height="24"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
fill="none"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
stroke-width="2"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
class="icon icon-tabler icons-tabler-outline icon-tabler-brand-github"
|
|
12
|
+
>
|
|
13
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
|
14
|
+
<path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
+
width="24"
|
|
4
|
+
height="24"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
fill="none"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
stroke-width="2"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
class="icon icon-tabler icons-tabler-outline icon-tabler-brand-google-drive"
|
|
12
|
+
>
|
|
13
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
|
14
|
+
<path d="M12 10l-6 10l-3 -5l6 -10z" />
|
|
15
|
+
<path d="M9 15h12l-3 5h-12" />
|
|
16
|
+
<path d="M15 15l-6 -10h6l6 10z" />
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
+
width="24"
|
|
4
|
+
height="24"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
fill="none"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
stroke-width="2"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
class="icon icon-tabler icons-tabler-outline icon-tabler-brand-slack"
|
|
12
|
+
>
|
|
13
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
|
14
|
+
<path d="M12 12v-6a2 2 0 0 1 4 0v6m0 -2a2 2 0 1 1 2 2h-6" />
|
|
15
|
+
<path d="M12 12h6a2 2 0 0 1 0 4h-6m2 0a2 2 0 1 1 -2 2v-6" />
|
|
16
|
+
<path d="M12 12v6a2 2 0 0 1 -4 0v-6m0 2a2 2 0 1 1 -2 -2h6" />
|
|
17
|
+
<path d="M12 12h-6a2 2 0 0 1 0 -4h6m-2 0a2 2 0 1 1 2 -2v6" />
|
|
18
|
+
</svg>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
+
width="24"
|
|
4
|
+
height="24"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
fill="none"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
stroke-width="2"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
class="icon icon-tabler icons-tabler-outline icon-tabler-cpu"
|
|
12
|
+
>
|
|
13
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
|
14
|
+
<path d="M5 5m0 1a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1z" />
|
|
15
|
+
<path d="M9 9h6v6h-6z" />
|
|
16
|
+
<path d="M3 10h2" />
|
|
17
|
+
<path d="M3 14h2" />
|
|
18
|
+
<path d="M10 3v2" />
|
|
19
|
+
<path d="M14 3v2" />
|
|
20
|
+
<path d="M21 10h-2" />
|
|
21
|
+
<path d="M21 14h-2" />
|
|
22
|
+
<path d="M14 21v-2" />
|
|
23
|
+
<path d="M10 21v-2" />
|
|
24
|
+
</svg>
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
/* Knowledge outcome workspace. The component owns its layout so the shared
|
|
2
|
+
shell cannot turn an operational master/detail surface into stacked cards. */
|
|
3
|
+
.knowledge-outcome {
|
|
4
|
+
--knowledge-paper: var(--paper, #fbfbf8);
|
|
5
|
+
--knowledge-canvas: var(--canvas, #f2f3ef);
|
|
6
|
+
--knowledge-ink: var(--ink, #111412);
|
|
7
|
+
--knowledge-muted: var(--muted, #656b67);
|
|
8
|
+
--knowledge-quiet: var(--quiet, #929894);
|
|
9
|
+
--knowledge-line: var(--line, #d9ddd8);
|
|
10
|
+
--knowledge-line-strong: var(--line-dark, #bfc5c0);
|
|
11
|
+
--knowledge-green: var(--green, #087d62);
|
|
12
|
+
--knowledge-green-soft: var(--green-soft, #e5f1ec);
|
|
13
|
+
--knowledge-amber: var(--amber, #c9870c);
|
|
14
|
+
--knowledge-amber-soft: var(--amber-soft, #fff0c7);
|
|
15
|
+
--knowledge-red: var(--red, #d92335);
|
|
16
|
+
--knowledge-red-soft: var(--red-soft, #fde9eb);
|
|
17
|
+
display: grid;
|
|
18
|
+
gap: 0;
|
|
19
|
+
min-width: 0;
|
|
20
|
+
color: var(--knowledge-ink);
|
|
21
|
+
background: transparent;
|
|
22
|
+
font-family: Geist, "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
23
|
+
line-height: 1.5;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.knowledge-outcome *,
|
|
27
|
+
.knowledge-outcome *::before,
|
|
28
|
+
.knowledge-outcome *::after { box-sizing: border-box; }
|
|
29
|
+
.knowledge-outcome button,
|
|
30
|
+
.knowledge-outcome input,
|
|
31
|
+
.knowledge-outcome select,
|
|
32
|
+
.knowledge-outcome textarea { font: inherit; }
|
|
33
|
+
.knowledge-outcome h2,
|
|
34
|
+
.knowledge-outcome h3,
|
|
35
|
+
.knowledge-outcome h4,
|
|
36
|
+
.knowledge-outcome p { margin: 0; }
|
|
37
|
+
.knowledge-outcome h2 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); letter-spacing: -0.035em; line-height: 1.2; }
|
|
38
|
+
.knowledge-outcome h3 { font-size: 1.05rem; letter-spacing: -0.015em; line-height: 1.3; }
|
|
39
|
+
.knowledge-outcome h4 { font-size: .79rem; letter-spacing: .01em; line-height: 1.35; }
|
|
40
|
+
.knowledge-outcome [hidden] { display: none !important; }
|
|
41
|
+
|
|
42
|
+
/* Header: a compact title bar leaves the working canvas visible immediately. */
|
|
43
|
+
.knowledge-outcome .knowledge-outcome-head {
|
|
44
|
+
display: grid;
|
|
45
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
46
|
+
gap: 1rem 1.5rem;
|
|
47
|
+
align-items: start;
|
|
48
|
+
padding: 0 0 .9rem;
|
|
49
|
+
border: 0;
|
|
50
|
+
border-bottom: 1px solid var(--knowledge-line);
|
|
51
|
+
border-radius: 0;
|
|
52
|
+
background: transparent;
|
|
53
|
+
}
|
|
54
|
+
.knowledge-outcome .knowledge-header-main { min-width: 0; }
|
|
55
|
+
.knowledge-outcome .knowledge-header-main > p { margin-top: .35rem; color: var(--knowledge-muted); font-size: .82rem; }
|
|
56
|
+
.knowledge-outcome .knowledge-header-meta { display: flex; align-items: flex-start; justify-content: flex-end; }
|
|
57
|
+
.knowledge-outcome .knowledge-project-context {
|
|
58
|
+
display: inline-flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
min-height: 1.8rem;
|
|
61
|
+
border: 1px solid var(--knowledge-line);
|
|
62
|
+
border-radius: 999px;
|
|
63
|
+
padding: .25rem .65rem;
|
|
64
|
+
color: var(--knowledge-muted);
|
|
65
|
+
background: var(--knowledge-paper);
|
|
66
|
+
font-size: .72rem;
|
|
67
|
+
white-space: nowrap;
|
|
68
|
+
}
|
|
69
|
+
.knowledge-outcome .knowledge-eyebrow,
|
|
70
|
+
.knowledge-outcome .knowledge-view-kicker {
|
|
71
|
+
display: block;
|
|
72
|
+
color: var(--knowledge-green);
|
|
73
|
+
font-size: .65rem;
|
|
74
|
+
font-weight: 760;
|
|
75
|
+
letter-spacing: .105em;
|
|
76
|
+
text-transform: uppercase;
|
|
77
|
+
}
|
|
78
|
+
.knowledge-outcome .knowledge-view-heading { display: grid; gap: .25rem; }
|
|
79
|
+
.knowledge-outcome .knowledge-view-heading > div { min-width: 0; }
|
|
80
|
+
.knowledge-outcome .knowledge-view-heading p { margin-top: .25rem; color: var(--knowledge-muted); font-size: .76rem; }
|
|
81
|
+
|
|
82
|
+
/* The tabs describe modes. The body below remains one workspace with a
|
|
83
|
+
stable inspector, so users do not lose context while moving between modes. */
|
|
84
|
+
.knowledge-outcome .knowledge-outcome-nav {
|
|
85
|
+
display: flex;
|
|
86
|
+
gap: .15rem;
|
|
87
|
+
min-width: 0;
|
|
88
|
+
overflow-x: auto;
|
|
89
|
+
grid-column: 1 / -1;
|
|
90
|
+
margin-top: .35rem;
|
|
91
|
+
border-bottom: 1px solid var(--knowledge-line);
|
|
92
|
+
}
|
|
93
|
+
.knowledge-outcome .knowledge-tab {
|
|
94
|
+
min-height: 2.55rem;
|
|
95
|
+
border: 0;
|
|
96
|
+
border-bottom: 2px solid transparent;
|
|
97
|
+
border-radius: 0;
|
|
98
|
+
padding: .68rem .75rem .58rem;
|
|
99
|
+
color: var(--knowledge-muted);
|
|
100
|
+
background: transparent;
|
|
101
|
+
cursor: pointer;
|
|
102
|
+
font-size: .79rem;
|
|
103
|
+
font-weight: 650;
|
|
104
|
+
white-space: nowrap;
|
|
105
|
+
}
|
|
106
|
+
.knowledge-outcome .knowledge-tab:hover,
|
|
107
|
+
.knowledge-outcome .knowledge-tab[aria-current="page"] { border-bottom-color: var(--knowledge-green); color: var(--knowledge-ink); }
|
|
108
|
+
|
|
109
|
+
/* Master/detail geometry. Keep the split usable on compact laptops; stack
|
|
110
|
+
only when the content pane can no longer hold a useful inspector width. */
|
|
111
|
+
.knowledge-outcome .knowledge-outcome-body {
|
|
112
|
+
display: grid;
|
|
113
|
+
grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.22fr);
|
|
114
|
+
gap: 0;
|
|
115
|
+
min-width: 0;
|
|
116
|
+
align-items: stretch;
|
|
117
|
+
}
|
|
118
|
+
.knowledge-outcome .knowledge-outcome-primary,
|
|
119
|
+
.knowledge-outcome .knowledge-outcome-detail {
|
|
120
|
+
display: grid;
|
|
121
|
+
gap: 0;
|
|
122
|
+
min-width: 0;
|
|
123
|
+
padding: 1.15rem 0 0;
|
|
124
|
+
border: 0;
|
|
125
|
+
border-radius: 0;
|
|
126
|
+
background: transparent;
|
|
127
|
+
}
|
|
128
|
+
.knowledge-outcome .knowledge-outcome-primary { padding-right: 1.35rem; }
|
|
129
|
+
.knowledge-outcome .knowledge-outcome-detail {
|
|
130
|
+
align-content: start;
|
|
131
|
+
padding-left: 1.35rem;
|
|
132
|
+
border-left: 1px solid var(--knowledge-line);
|
|
133
|
+
}
|
|
134
|
+
.knowledge-outcome .knowledge-discovery-view,
|
|
135
|
+
.knowledge-outcome .knowledge-focused-view { min-width: 0; }
|
|
136
|
+
.knowledge-outcome .knowledge-discovery-view { display: grid; gap: 0; }
|
|
137
|
+
.knowledge-outcome .knowledge-discovery-toolbar { margin-top: 1rem; }
|
|
138
|
+
.knowledge-outcome .knowledge-discovery-list { min-width: 0; }
|
|
139
|
+
|
|
140
|
+
/* Inspector is a rail, not a second card stack. */
|
|
141
|
+
.knowledge-outcome .knowledge-inspector-heading {
|
|
142
|
+
display: flex;
|
|
143
|
+
align-items: center;
|
|
144
|
+
justify-content: space-between;
|
|
145
|
+
gap: .75rem;
|
|
146
|
+
min-height: 1.4rem;
|
|
147
|
+
padding-bottom: .75rem;
|
|
148
|
+
border-bottom: 1px solid var(--knowledge-line);
|
|
149
|
+
}
|
|
150
|
+
.knowledge-outcome .knowledge-inspector-state { color: var(--knowledge-quiet); font-size: .72rem; }
|
|
151
|
+
.knowledge-outcome .knowledge-inspector-detail,
|
|
152
|
+
.knowledge-outcome .knowledge-inspector .knowledge-detail-panel,
|
|
153
|
+
.knowledge-outcome .knowledge-inspector > .knowledge-inspector-lifecycle,
|
|
154
|
+
.knowledge-outcome .knowledge-inspector > .knowledge-commit-state { min-width: 0; }
|
|
155
|
+
|
|
156
|
+
/* Search toolbar and list ledger. */
|
|
157
|
+
.knowledge-outcome .knowledge-filters {
|
|
158
|
+
display: grid;
|
|
159
|
+
grid-template-columns: repeat(2, minmax(6.3rem, 1fr));
|
|
160
|
+
gap: .5rem;
|
|
161
|
+
align-items: end;
|
|
162
|
+
padding: 0 0 .85rem;
|
|
163
|
+
border: 0;
|
|
164
|
+
border-bottom: 1px solid var(--knowledge-line);
|
|
165
|
+
border-radius: 0;
|
|
166
|
+
background: transparent;
|
|
167
|
+
}
|
|
168
|
+
.knowledge-outcome .knowledge-filters > label:first-child { grid-column: 1 / -1; }
|
|
169
|
+
.knowledge-outcome .knowledge-filters label,
|
|
170
|
+
.knowledge-outcome .knowledge-field {
|
|
171
|
+
display: grid;
|
|
172
|
+
gap: .28rem;
|
|
173
|
+
min-width: 0;
|
|
174
|
+
color: var(--knowledge-muted);
|
|
175
|
+
font-size: .7rem;
|
|
176
|
+
font-weight: 700;
|
|
177
|
+
}
|
|
178
|
+
.knowledge-outcome .knowledge-filter-actions,
|
|
179
|
+
.knowledge-outcome .knowledge-form-actions,
|
|
180
|
+
.knowledge-outcome .knowledge-detail-actions,
|
|
181
|
+
.knowledge-outcome .knowledge-lifecycle-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
|
|
182
|
+
.knowledge-outcome .knowledge-filter-actions {
|
|
183
|
+
grid-column: 1 / -1;
|
|
184
|
+
align-self: end;
|
|
185
|
+
}
|
|
186
|
+
.knowledge-outcome .knowledge-filter-actions .button { white-space: nowrap; }
|
|
187
|
+
.knowledge-outcome .knowledge-control {
|
|
188
|
+
width: 100%;
|
|
189
|
+
min-width: 0;
|
|
190
|
+
border: 1px solid var(--knowledge-line-strong);
|
|
191
|
+
border-radius: .4rem;
|
|
192
|
+
padding: .52rem .58rem;
|
|
193
|
+
color: var(--knowledge-ink);
|
|
194
|
+
background: var(--knowledge-paper);
|
|
195
|
+
}
|
|
196
|
+
.knowledge-outcome .knowledge-control:focus-visible,
|
|
197
|
+
.knowledge-outcome button:focus-visible,
|
|
198
|
+
.knowledge-outcome summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--knowledge-green) 28%, transparent); outline-offset: 2px; }
|
|
199
|
+
.knowledge-outcome .knowledge-textarea { min-height: 6rem; resize: vertical; }
|
|
200
|
+
.knowledge-outcome .knowledge-field small { color: var(--knowledge-quiet); font-size: .69rem; font-weight: 400; }
|
|
201
|
+
|
|
202
|
+
.knowledge-outcome .knowledge-panel-head {
|
|
203
|
+
display: flex;
|
|
204
|
+
align-items: flex-start;
|
|
205
|
+
justify-content: space-between;
|
|
206
|
+
gap: .65rem;
|
|
207
|
+
padding: .9rem 0 .65rem;
|
|
208
|
+
border-bottom: 1px solid var(--knowledge-line);
|
|
209
|
+
}
|
|
210
|
+
.knowledge-outcome .knowledge-panel-head > div { min-width: 0; }
|
|
211
|
+
.knowledge-outcome .knowledge-panel-head p { margin-top: .22rem; color: var(--knowledge-muted); font-size: .7rem; }
|
|
212
|
+
.knowledge-outcome .knowledge-count { color: var(--knowledge-quiet); font-size: .72rem; white-space: nowrap; }
|
|
213
|
+
.knowledge-outcome .knowledge-list-rows { display: grid; gap: 0; margin-top: 0; }
|
|
214
|
+
.knowledge-outcome .knowledge-list-row {
|
|
215
|
+
display: grid;
|
|
216
|
+
grid-template-columns: minmax(0, 1fr) auto auto auto;
|
|
217
|
+
gap: .45rem;
|
|
218
|
+
align-items: center;
|
|
219
|
+
width: 100%;
|
|
220
|
+
min-height: 3.75rem;
|
|
221
|
+
border: 0;
|
|
222
|
+
border-bottom: 1px solid var(--knowledge-line);
|
|
223
|
+
border-radius: 0;
|
|
224
|
+
padding: .65rem .35rem;
|
|
225
|
+
color: inherit;
|
|
226
|
+
background: transparent;
|
|
227
|
+
cursor: pointer;
|
|
228
|
+
text-align: left;
|
|
229
|
+
}
|
|
230
|
+
.knowledge-outcome .knowledge-list-row:hover,
|
|
231
|
+
.knowledge-outcome .knowledge-list-row[aria-pressed="true"] { box-shadow: inset 3px 0 var(--knowledge-green); background: var(--knowledge-green-soft); }
|
|
232
|
+
.knowledge-outcome .knowledge-row-title { min-width: 0; overflow: hidden; font-size: .8rem; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
|
|
233
|
+
.knowledge-outcome .knowledge-row-type,
|
|
234
|
+
.knowledge-outcome .knowledge-row-scope,
|
|
235
|
+
.knowledge-outcome .knowledge-row-state { color: var(--knowledge-muted); font-size: .68rem; white-space: nowrap; }
|
|
236
|
+
.knowledge-outcome .knowledge-empty,
|
|
237
|
+
.knowledge-outcome .knowledge-detail-empty,
|
|
238
|
+
.knowledge-outcome .knowledge-unknown-copy { color: var(--knowledge-muted); padding: 1.1rem .25rem; font-size: .8rem; }
|
|
239
|
+
.knowledge-outcome .knowledge-skeleton-row { display: grid; grid-template-columns: 4rem minmax(0, 1fr) 3rem; gap: .6rem; padding: .8rem .35rem; }
|
|
240
|
+
.knowledge-outcome .knowledge-skeleton-line { display: block; height: .72rem; border-radius: 999px; background: linear-gradient(90deg, var(--knowledge-canvas), #fff, var(--knowledge-canvas)); background-size: 220% 100%; animation: knowledge-shimmer 1.4s linear infinite; }
|
|
241
|
+
.knowledge-outcome .knowledge-skeleton-line.short { width: 4rem; }
|
|
242
|
+
.knowledge-outcome .knowledge-skeleton-line.tiny { width: 3rem; }
|
|
243
|
+
@keyframes knowledge-shimmer { to { background-position: -220% 0; } }
|
|
244
|
+
|
|
245
|
+
/* The inspector's details are separated by rules and hierarchy instead of
|
|
246
|
+
repeated rounded containers. */
|
|
247
|
+
.knowledge-outcome .knowledge-detail-panel,
|
|
248
|
+
.knowledge-outcome .knowledge-lifecycle-panel,
|
|
249
|
+
.knowledge-outcome .knowledge-use-evidence,
|
|
250
|
+
.knowledge-outcome .knowledge-commit-state {
|
|
251
|
+
margin: 0;
|
|
252
|
+
padding: 1rem 0 0;
|
|
253
|
+
border: 0;
|
|
254
|
+
border-radius: 0;
|
|
255
|
+
background: transparent;
|
|
256
|
+
}
|
|
257
|
+
.knowledge-outcome .knowledge-detail-panel > h3 { margin-top: .15rem; }
|
|
258
|
+
.knowledge-outcome .knowledge-detail-panel > .knowledge-eyebrow { margin-top: .15rem; }
|
|
259
|
+
.knowledge-outcome .knowledge-definition { display: grid; grid-template-columns: minmax(5rem, .48fr) minmax(0, 1fr); gap: .3rem .7rem; margin: .95rem 0; font-size: .76rem; }
|
|
260
|
+
.knowledge-outcome .knowledge-definition dt { color: var(--knowledge-muted); }
|
|
261
|
+
.knowledge-outcome .knowledge-definition dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
|
|
262
|
+
.knowledge-outcome .knowledge-subsection { margin-top: .95rem; padding-top: .8rem; border-top: 1px solid var(--knowledge-line); }
|
|
263
|
+
.knowledge-outcome .knowledge-subsection h4 { margin-bottom: .42rem; }
|
|
264
|
+
.knowledge-outcome .knowledge-source-pointer { margin-top: .55rem; overflow-wrap: anywhere; font-size: .74rem; }
|
|
265
|
+
.knowledge-outcome .knowledge-source-link { color: var(--knowledge-green); }
|
|
266
|
+
.knowledge-outcome .knowledge-reference-list,
|
|
267
|
+
.knowledge-outcome .knowledge-history-list { margin: .45rem 0 0; padding-left: 1.1rem; color: var(--knowledge-muted); font-size: .74rem; }
|
|
268
|
+
.knowledge-outcome .knowledge-long-text { overflow-wrap: anywhere; white-space: pre-wrap; }
|
|
269
|
+
.knowledge-outcome .knowledge-detail-actions { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--knowledge-line); }
|
|
270
|
+
.knowledge-outcome .knowledge-inspector-lifecycle { margin-top: .9rem; padding-top: .9rem; border-top: 1px solid var(--knowledge-line); }
|
|
271
|
+
|
|
272
|
+
/* Focused modes have one clear workspace boundary. Their inner panels remain
|
|
273
|
+
visually quiet so a proposal or test result reads as one task. */
|
|
274
|
+
.knowledge-outcome .knowledge-focused-view { display: grid; gap: .9rem; min-width: 0; }
|
|
275
|
+
.knowledge-outcome .knowledge-capture-view,
|
|
276
|
+
.knowledge-outcome .knowledge-preview-view,
|
|
277
|
+
.knowledge-outcome .knowledge-destination-view {
|
|
278
|
+
padding: 1rem 1.05rem 1.1rem;
|
|
279
|
+
border: 1px solid var(--knowledge-line);
|
|
280
|
+
border-radius: .65rem;
|
|
281
|
+
background: var(--knowledge-paper);
|
|
282
|
+
}
|
|
283
|
+
.knowledge-outcome .knowledge-capture-panel,
|
|
284
|
+
.knowledge-outcome .knowledge-review-panel,
|
|
285
|
+
.knowledge-outcome .knowledge-preview-panel,
|
|
286
|
+
.knowledge-outcome .knowledge-destination,
|
|
287
|
+
.knowledge-outcome .knowledge-use-evidence,
|
|
288
|
+
.knowledge-outcome .knowledge-commit-state { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
|
|
289
|
+
.knowledge-outcome .knowledge-capture-panel,
|
|
290
|
+
.knowledge-outcome .knowledge-review-panel { display: grid; gap: .75rem; }
|
|
291
|
+
.knowledge-outcome .knowledge-review-region { margin-top: .15rem; padding-top: .9rem; border-top: 1px solid var(--knowledge-line); }
|
|
292
|
+
.knowledge-outcome .knowledge-destination,
|
|
293
|
+
.knowledge-outcome .knowledge-preview-panel { display: grid; gap: .8rem; }
|
|
294
|
+
.knowledge-outcome .knowledge-destination-form,
|
|
295
|
+
.knowledge-outcome .knowledge-preview-form,
|
|
296
|
+
.knowledge-outcome .knowledge-capture-form,
|
|
297
|
+
.knowledge-outcome .knowledge-lifecycle-form { display: grid; gap: .7rem; }
|
|
298
|
+
.knowledge-outcome .knowledge-form-actions { padding-top: .75rem; }
|
|
299
|
+
.knowledge-outcome .knowledge-destination-form .knowledge-button { justify-self: start; }
|
|
300
|
+
|
|
301
|
+
/* Shared actions, notices, comparison and preview evidence. */
|
|
302
|
+
.knowledge-outcome .knowledge-button { min-height: 2.25rem; border: 1px solid transparent; border-radius: .4rem; padding: .5rem .7rem; cursor: pointer; transition: background 120ms ease, border-color 120ms ease, transform 100ms ease; }
|
|
303
|
+
.knowledge-outcome .knowledge-button:active { transform: translateY(1px); }
|
|
304
|
+
.knowledge-outcome .knowledge-button:disabled { cursor: wait; opacity: .55; }
|
|
305
|
+
.knowledge-outcome .knowledge-button.primary { border-color: var(--knowledge-green); color: #fff; background: var(--knowledge-green); }
|
|
306
|
+
.knowledge-outcome .knowledge-button.primary:hover { background: color-mix(in srgb, var(--knowledge-green) 86%, #000); }
|
|
307
|
+
.knowledge-outcome .knowledge-button.secondary { border-color: var(--knowledge-line-strong); color: var(--knowledge-ink); background: transparent; }
|
|
308
|
+
.knowledge-outcome .knowledge-button.secondary:hover { border-color: var(--knowledge-green); background: var(--knowledge-green-soft); }
|
|
309
|
+
.knowledge-outcome .knowledge-button.danger { border-color: color-mix(in srgb, var(--knowledge-red) 35%, var(--knowledge-line)); color: var(--knowledge-red); background: var(--knowledge-red-soft); }
|
|
310
|
+
.knowledge-outcome .knowledge-notice { display: flex; flex-wrap: wrap; gap: .4rem .65rem; align-items: center; margin-top: .65rem; padding: .65rem .7rem; border-left: 3px solid var(--knowledge-green); background: var(--knowledge-green-soft); font-size: .78rem; }
|
|
311
|
+
.knowledge-outcome .knowledge-notice.warning { border-left-color: var(--knowledge-amber); background: var(--knowledge-amber-soft); }
|
|
312
|
+
.knowledge-outcome .knowledge-notice.error { border-left-color: var(--knowledge-red); background: var(--knowledge-red-soft); }
|
|
313
|
+
.knowledge-outcome .knowledge-inline-status { color: var(--knowledge-muted); font-size: .78rem; }
|
|
314
|
+
.knowledge-outcome .knowledge-warning-copy { color: var(--knowledge-amber); font-size: .78rem; }
|
|
315
|
+
.knowledge-outcome .knowledge-success-copy { color: var(--knowledge-green); font-size: .78rem; }
|
|
316
|
+
.knowledge-outcome .knowledge-permission-copy { color: var(--knowledge-muted); font-size: .78rem; }
|
|
317
|
+
.knowledge-outcome .knowledge-comparison { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: .7rem; margin-top: .55rem; }
|
|
318
|
+
.knowledge-outcome .knowledge-source-column,
|
|
319
|
+
.knowledge-outcome .knowledge-proposal-column { min-width: 0; border: 1px solid var(--knowledge-line); border-radius: .45rem; padding: .75rem; }
|
|
320
|
+
.knowledge-outcome .knowledge-source-column { background: var(--knowledge-canvas); }
|
|
321
|
+
.knowledge-outcome .knowledge-proposal-column { background: var(--knowledge-paper); }
|
|
322
|
+
.knowledge-outcome .knowledge-source-column h4,
|
|
323
|
+
.knowledge-outcome .knowledge-proposal-column h4 { margin-bottom: .55rem; }
|
|
324
|
+
.knowledge-outcome .knowledge-choice-group { display: grid; gap: .35rem; margin: .7rem 0; border: 1px solid var(--knowledge-line); border-radius: .4rem; padding: .55rem; }
|
|
325
|
+
.knowledge-outcome .knowledge-choice-group legend { color: var(--knowledge-muted); font-size: .72rem; font-weight: 700; padding: 0 .2rem; }
|
|
326
|
+
.knowledge-outcome .knowledge-choice { display: flex; gap: .4rem; align-items: center; color: var(--knowledge-ink); font-size: .78rem; }
|
|
327
|
+
.knowledge-outcome .knowledge-action-details { border: 1px solid var(--knowledge-line); border-radius: .4rem; padding: .58rem; }
|
|
328
|
+
.knowledge-outcome .knowledge-action-details + .knowledge-action-details { margin-top: .5rem; }
|
|
329
|
+
.knowledge-outcome .knowledge-action-details summary { cursor: pointer; font-size: .8rem; font-weight: 700; }
|
|
330
|
+
.knowledge-outcome .knowledge-action-details.danger { border-color: color-mix(in srgb, var(--knowledge-red) 35%, var(--knowledge-line)); }
|
|
331
|
+
.knowledge-outcome .knowledge-isolation-badge { display: inline-flex; margin-top: .55rem; border-radius: 999px; padding: .22rem .5rem; font-size: .7rem; font-weight: 700; }
|
|
332
|
+
.knowledge-outcome .knowledge-isolation-badge.confirmed { color: var(--knowledge-green); background: var(--knowledge-green-soft); }
|
|
333
|
+
.knowledge-outcome .knowledge-isolation-badge.unknown { color: var(--knowledge-amber); background: var(--knowledge-amber-soft); }
|
|
334
|
+
.knowledge-outcome .knowledge-preview-executed,
|
|
335
|
+
.knowledge-outcome .knowledge-preview-example { margin-top: .7rem; padding-top: .75rem; border-top: 1px solid var(--knowledge-line); }
|
|
336
|
+
.knowledge-outcome .knowledge-preview-results { display: grid; gap: .4rem; margin: .55rem 0 0; padding: 0; list-style: none; }
|
|
337
|
+
.knowledge-outcome .knowledge-preview-result { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .45rem; align-items: center; padding: .55rem; border: 1px solid var(--knowledge-line); border-radius: .4rem; font-size: .75rem; }
|
|
338
|
+
.knowledge-outcome .knowledge-preview-result p { grid-column: 1 / -1; color: var(--knowledge-muted); }
|
|
339
|
+
.knowledge-outcome .knowledge-evidence-adopted { color: var(--knowledge-green); }
|
|
340
|
+
.knowledge-outcome .knowledge-evidence-excluded { color: var(--knowledge-muted); }
|
|
341
|
+
|
|
342
|
+
@media (max-width: 880px) {
|
|
343
|
+
.knowledge-outcome .knowledge-outcome-body { grid-template-columns: minmax(0, 1fr); }
|
|
344
|
+
.knowledge-outcome .knowledge-outcome-primary { padding-right: 0; }
|
|
345
|
+
.knowledge-outcome .knowledge-outcome-detail { margin-top: 1.4rem; padding: 1.15rem 0 0; border-top: 1px solid var(--knowledge-line); border-left: 0; }
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
@media (max-width: 700px) {
|
|
349
|
+
.knowledge-outcome .knowledge-outcome-head { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
|
|
350
|
+
.knowledge-outcome .knowledge-header-meta { justify-content: flex-start; }
|
|
351
|
+
.knowledge-outcome .knowledge-filters,
|
|
352
|
+
.knowledge-outcome .knowledge-comparison { grid-template-columns: minmax(0, 1fr); }
|
|
353
|
+
.knowledge-outcome .knowledge-filter-actions { grid-column: auto; }
|
|
354
|
+
.knowledge-outcome .knowledge-list-row { grid-template-columns: minmax(0, 1fr) auto; }
|
|
355
|
+
.knowledge-outcome .knowledge-row-type,
|
|
356
|
+
.knowledge-outcome .knowledge-row-scope { grid-column: auto; }
|
|
357
|
+
.knowledge-outcome .knowledge-row-state { grid-column: 2; grid-row: 1; }
|
|
358
|
+
.knowledge-outcome .knowledge-preview-result { grid-template-columns: minmax(0, 1fr) auto; }
|
|
359
|
+
.knowledge-outcome .knowledge-preview-result > :last-child { grid-column: 1 / -1; }
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
@media (prefers-reduced-motion: reduce) {
|
|
363
|
+
.knowledge-outcome .knowledge-skeleton-line { animation: none; }
|
|
364
|
+
.knowledge-outcome .knowledge-button { transition: none; }
|
|
365
|
+
}
|