@zihanw/pi-forge 0.5.4 → 0.5.6
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/CHANGELOG.md +83 -0
- package/README.md +67 -103
- package/README.zh-CN.md +67 -95
- package/assets/pi-forge-header-concept-1.png +0 -0
- package/assets/readme/PROVENANCE.md +95 -0
- package/assets/readme/en/capability-tools.gif +0 -0
- package/assets/readme/en/context-composition.gif +0 -0
- package/assets/readme/en/context-toggle.gif +0 -0
- package/assets/readme/en/draft-diff.png +0 -0
- package/assets/readme/en/edit-draft-diff.gif +0 -0
- package/assets/readme/en/editor-overview-v3.png +0 -0
- package/assets/readme/en/editor-overview.png +0 -0
- package/assets/readme/en/mode-tools.gif +0 -0
- package/assets/readme/en/regex-transforms.gif +0 -0
- package/assets/readme/en/tool-selection.gif +0 -0
- package/assets/readme/tui-quickstart.gif +0 -0
- package/assets/readme/zh-CN/capability-tools.gif +0 -0
- package/assets/readme/zh-CN/context-composition.gif +0 -0
- package/assets/readme/zh-CN/context-toggle.gif +0 -0
- package/assets/readme/zh-CN/draft-diff.png +0 -0
- package/assets/readme/zh-CN/edit-draft-diff.gif +0 -0
- package/assets/readme/zh-CN/editor-overview-v3.png +0 -0
- package/assets/readme/zh-CN/editor-overview.png +0 -0
- package/assets/readme/zh-CN/mode-tools.gif +0 -0
- package/assets/readme/zh-CN/regex-transforms.gif +0 -0
- package/assets/readme/zh-CN/tool-selection.gif +0 -0
- package/dist/active-state.d.ts +148 -0
- package/dist/active-state.d.ts.map +1 -0
- package/dist/active-state.js +374 -0
- package/dist/active-state.js.map +1 -0
- package/dist/agent-profile.d.ts +1 -0
- package/dist/agent-profile.d.ts.map +1 -1
- package/dist/agent-profile.js +20 -14
- package/dist/agent-profile.js.map +1 -1
- package/dist/capabilities.d.ts +39 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +160 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/capability-anchors.d.ts +45 -0
- package/dist/capability-anchors.d.ts.map +1 -0
- package/dist/capability-anchors.js +263 -0
- package/dist/capability-anchors.js.map +1 -0
- package/dist/capability-command.d.ts +4 -0
- package/dist/capability-command.d.ts.map +1 -0
- package/dist/capability-command.js +164 -0
- package/dist/capability-command.js.map +1 -0
- package/dist/capability-events.d.ts +79 -0
- package/dist/capability-events.d.ts.map +1 -0
- package/dist/capability-events.js +478 -0
- package/dist/capability-events.js.map +1 -0
- package/dist/capability-projection.d.ts +22 -0
- package/dist/capability-projection.d.ts.map +1 -0
- package/dist/capability-projection.js +273 -0
- package/dist/capability-projection.js.map +1 -0
- package/dist/capability-protocol.d.ts +21 -0
- package/dist/capability-protocol.d.ts.map +1 -0
- package/dist/capability-protocol.js +15 -0
- package/dist/capability-protocol.js.map +1 -0
- package/dist/capability-state.d.ts +74 -0
- package/dist/capability-state.d.ts.map +1 -0
- package/dist/capability-state.js +43 -0
- package/dist/capability-state.js.map +1 -0
- package/dist/capability-tool.d.ts +11 -0
- package/dist/capability-tool.d.ts.map +1 -0
- package/dist/capability-tool.js +25 -0
- package/dist/capability-tool.js.map +1 -0
- package/dist/capability-web-host.d.ts +11 -0
- package/dist/capability-web-host.d.ts.map +1 -0
- package/dist/capability-web-host.js +105 -0
- package/dist/capability-web-host.js.map +1 -0
- package/dist/codecs/capability.d.ts +71 -0
- package/dist/codecs/capability.d.ts.map +1 -0
- package/dist/codecs/capability.js +363 -0
- package/dist/codecs/capability.js.map +1 -0
- package/dist/codecs/prompt-stack.d.ts +1 -1
- package/dist/codecs/prompt-stack.d.ts.map +1 -1
- package/dist/codecs/prompt-stack.js +140 -13
- package/dist/codecs/prompt-stack.js.map +1 -1
- package/dist/command-contribution/index.d.ts +21 -0
- package/dist/command-contribution/index.d.ts.map +1 -0
- package/dist/command-contribution/index.js +14 -0
- package/dist/command-contribution/index.js.map +1 -0
- package/dist/compile-cycle.d.ts +1 -0
- package/dist/compile-cycle.d.ts.map +1 -1
- package/dist/compile-cycle.js.map +1 -1
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +81 -17
- package/dist/compiler.js.map +1 -1
- package/dist/forge-command.d.ts +10 -0
- package/dist/forge-command.d.ts.map +1 -0
- package/dist/forge-command.js +106 -0
- package/dist/forge-command.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -5
- package/dist/index.js.map +1 -1
- package/dist/json-fingerprint.d.ts +11 -0
- package/dist/json-fingerprint.d.ts.map +1 -0
- package/dist/json-fingerprint.js +66 -0
- package/dist/json-fingerprint.js.map +1 -0
- package/dist/lifecycle.d.ts +14 -0
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +167 -67
- package/dist/lifecycle.js.map +1 -1
- package/dist/payload-command.d.ts +2 -2
- package/dist/payload-command.d.ts.map +1 -1
- package/dist/payload-command.js +80 -26
- package/dist/payload-command.js.map +1 -1
- package/dist/payload-state.d.ts +1 -0
- package/dist/payload-state.d.ts.map +1 -1
- package/dist/payload-state.js +1 -0
- package/dist/payload-state.js.map +1 -1
- package/dist/policy.d.ts +2 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +3 -0
- package/dist/policy.js.map +1 -1
- package/dist/preset-command.d.ts +1 -0
- package/dist/preset-command.d.ts.map +1 -1
- package/dist/preset-command.js +94 -36
- package/dist/preset-command.js.map +1 -1
- package/dist/preview-text.d.ts +5 -0
- package/dist/preview-text.d.ts.map +1 -0
- package/dist/preview-text.js +27 -0
- package/dist/preview-text.js.map +1 -0
- package/dist/preview.d.ts +18 -1
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +132 -97
- package/dist/preview.js.map +1 -1
- package/dist/profile-command.js +68 -9
- package/dist/profile-command.js.map +1 -1
- package/dist/regex.d.ts.map +1 -1
- package/dist/regex.js +5 -0
- package/dist/regex.js.map +1 -1
- package/dist/render-helpers.d.ts.map +1 -1
- package/dist/render-helpers.js +2 -0
- package/dist/render-helpers.js.map +1 -1
- package/dist/repositories/capability.d.ts +53 -0
- package/dist/repositories/capability.d.ts.map +1 -0
- package/dist/repositories/capability.js +294 -0
- package/dist/repositories/capability.js.map +1 -0
- package/dist/runtime/capability-runtime.d.ts +93 -0
- package/dist/runtime/capability-runtime.d.ts.map +1 -0
- package/dist/runtime/capability-runtime.js +987 -0
- package/dist/runtime/capability-runtime.js.map +1 -0
- package/dist/runtime/profile-runtime.d.ts.map +1 -1
- package/dist/runtime/profile-runtime.js +10 -9
- package/dist/runtime/profile-runtime.js.map +1 -1
- package/dist/runtime/prompt-stack-runtime.d.ts +7 -4
- package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -1
- package/dist/runtime/prompt-stack-runtime.js +47 -11
- package/dist/runtime/prompt-stack-runtime.js.map +1 -1
- package/dist/runtime/tool-policy-runtime.d.ts +10 -0
- package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
- package/dist/runtime/tool-policy-runtime.js +171 -30
- package/dist/runtime/tool-policy-runtime.js.map +1 -1
- package/dist/session-adapter.d.ts +13 -0
- package/dist/session-adapter.d.ts.map +1 -1
- package/dist/session-adapter.js +110 -0
- package/dist/session-adapter.js.map +1 -1
- package/dist/session-usage.d.ts +65 -0
- package/dist/session-usage.d.ts.map +1 -0
- package/dist/session-usage.js +134 -0
- package/dist/session-usage.js.map +1 -0
- package/dist/subagent/fingerprints.d.ts +3 -15
- package/dist/subagent/fingerprints.d.ts.map +1 -1
- package/dist/subagent/fingerprints.js +5 -69
- package/dist/subagent/fingerprints.js.map +1 -1
- package/dist/subagent/index.d.ts +2 -0
- package/dist/subagent/index.d.ts.map +1 -1
- package/dist/subagent/index.js +2 -0
- package/dist/subagent/index.js.map +1 -1
- package/dist/subagent-host.d.ts +2 -2
- package/dist/subagent-host.d.ts.map +1 -1
- package/dist/subagent-host.js +13 -1
- package/dist/subagent-host.js.map +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/web-editor/client-script.generated.d.ts.map +1 -1
- package/dist/web-editor/client-script.generated.js +1 -1
- package/dist/web-editor/client-script.generated.js.map +1 -1
- package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
- package/dist/web-editor/client-styles.generated.js +1 -1
- package/dist/web-editor/client-styles.generated.js.map +1 -1
- package/dist/web-editor/server.d.ts.map +1 -1
- package/dist/web-editor/server.js +152 -4
- package/dist/web-editor/server.js.map +1 -1
- package/dist/web-editor/styles.d.ts.map +1 -1
- package/dist/web-editor/styles.js +573 -165
- package/dist/web-editor/styles.js.map +1 -1
- package/dist/web-editor/types.d.ts +81 -1
- package/dist/web-editor/types.d.ts.map +1 -1
- package/dist/web-host.d.ts +9 -0
- package/dist/web-host.d.ts.map +1 -1
- package/dist/web-host.js +210 -11
- package/dist/web-host.js.map +1 -1
- package/dist/workspace.d.ts +11 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +63 -5
- package/dist/workspace.js.map +1 -1
- package/docs/README.md +4 -0
- package/docs/design/README.md +3 -1
- package/docs/design/architecture-0.5.md +22 -0
- package/docs/design/archive/2026-09-12-system-update-design.md +229 -0
- package/docs/design/pi-forge-system-update-design-notes.md +157 -229
- package/docs/development/release.md +20 -20
- package/docs/development/roadmap.md +21 -2
- package/docs/development/scoped-global-profiles-stacks.md +1 -1
- package/docs/development/setup.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/guides/delegation.md +22 -20
- package/docs/guides/migrating-to-0.5.md +29 -0
- package/docs/guides/use-cases.md +6 -2
- package/docs/guides/web-editor.md +74 -5
- package/docs/reference/active-state.md +77 -0
- package/docs/reference/capabilities.md +259 -0
- package/docs/reference/commands.md +52 -24
- package/docs/reference/configuration.md +4 -2
- package/docs/reference/features.md +70 -4
- package/docs/reference/provider-support.md +67 -0
- package/docs/reference/public-api.md +49 -3
- package/docs/reference/session-cache.md +112 -0
- package/docs/reference/stack-schema.md +18 -4
- package/docs/reference/subagent-host-port.md +8 -0
- package/docs/zh-CN/README.md +3 -0
- package/docs/zh-CN/getting-started.md +1 -1
- package/docs/zh-CN/guides/delegation.md +22 -10
- package/docs/zh-CN/guides/migrating-to-0.5.md +29 -0
- package/docs/zh-CN/guides/web-editor.md +75 -7
- package/docs/zh-CN/reference/capabilities.md +259 -0
- package/docs/zh-CN/reference/commands.md +61 -33
- package/docs/zh-CN/reference/provider-support.md +67 -0
- package/docs/zh-CN/reference/session-cache.md +112 -0
- package/examples/capabilities/review.json +12 -0
- package/examples/capabilities/write-tools.json +15 -0
- package/examples/read-first-worker-prompt-stack.json +49 -0
- package/package.json +16 -9
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
export const EDITOR_STYLES = String.raw `
|
|
2
2
|
:root {
|
|
3
3
|
color-scheme: light;
|
|
4
|
-
--bg: #
|
|
4
|
+
--bg: #f5f8f7;
|
|
5
5
|
--pane: #ffffff;
|
|
6
|
-
--line: #
|
|
7
|
-
--line-strong: #
|
|
8
|
-
--text: #
|
|
9
|
-
--muted: #
|
|
10
|
-
--accent: #
|
|
11
|
-
--accent-bg: #
|
|
12
|
-
--warning: #
|
|
13
|
-
--warning-bg: #
|
|
6
|
+
--line: #d7e3de;
|
|
7
|
+
--line-strong: #a9bdb5;
|
|
8
|
+
--text: #20312f;
|
|
9
|
+
--muted: #657774;
|
|
10
|
+
--accent: #176c5b;
|
|
11
|
+
--accent-bg: #e9f4f0;
|
|
12
|
+
--warning: #8b5d10;
|
|
13
|
+
--warning-bg: #fff4dc;
|
|
14
14
|
--error: #b42318;
|
|
15
15
|
--error-bg: #fde8e7;
|
|
16
|
-
--success: #
|
|
16
|
+
--success: #20764b;
|
|
17
17
|
--role-system: #7564a8;
|
|
18
18
|
--role-user: #2f7d68;
|
|
19
19
|
--role-assistant: #3e76ad;
|
|
20
20
|
--role-tool-result: #b16b2e;
|
|
21
|
+
--item-off-bg: #eef0ef;
|
|
22
|
+
--item-off-text: #6b7570;
|
|
23
|
+
--item-off-line: #bac3be;
|
|
24
|
+
--item-off-selected: #87978e;
|
|
21
25
|
--item-block: #4f6f9f;
|
|
22
26
|
--item-slot: #8b5fa8;
|
|
23
27
|
--slot-chat-history: #2f8a78;
|
|
@@ -39,14 +43,14 @@ export const EDITOR_STYLES = String.raw `
|
|
|
39
43
|
}
|
|
40
44
|
body[data-theme="dark"] {
|
|
41
45
|
color-scheme: dark;
|
|
42
|
-
--bg: #
|
|
43
|
-
--pane: #
|
|
44
|
-
--line: #
|
|
45
|
-
--line-strong: #
|
|
46
|
-
--text: #
|
|
47
|
-
--muted: #
|
|
48
|
-
--accent: #
|
|
49
|
-
--accent-bg: #
|
|
46
|
+
--bg: #111716;
|
|
47
|
+
--pane: #19211f;
|
|
48
|
+
--line: #33413d;
|
|
49
|
+
--line-strong: #536761;
|
|
50
|
+
--text: #e7efeb;
|
|
51
|
+
--muted: #a4b3ad;
|
|
52
|
+
--accent: #3dbb99;
|
|
53
|
+
--accent-bg: #173b33;
|
|
50
54
|
--warning: #e4b75f;
|
|
51
55
|
--warning-bg: #3a2d13;
|
|
52
56
|
--error: #f06f64;
|
|
@@ -56,6 +60,10 @@ body[data-theme="dark"] {
|
|
|
56
60
|
--role-user: #65c6a9;
|
|
57
61
|
--role-assistant: #82b9ef;
|
|
58
62
|
--role-tool-result: #e5ad70;
|
|
63
|
+
--item-off-bg: #131917;
|
|
64
|
+
--item-off-text: #7d8b83;
|
|
65
|
+
--item-off-line: #3b4942;
|
|
66
|
+
--item-off-selected: #788a80;
|
|
59
67
|
--item-block: #88a9dc;
|
|
60
68
|
--item-slot: #c59be0;
|
|
61
69
|
--slot-chat-history: #70d0ba;
|
|
@@ -67,10 +75,10 @@ body[data-theme="dark"] {
|
|
|
67
75
|
--slot-date-cwd: #b697dc;
|
|
68
76
|
--slot-built-in: #a9bacb;
|
|
69
77
|
--slot-custom: #d0a5c3;
|
|
70
|
-
--control: #
|
|
71
|
-
--control-muted: #
|
|
72
|
-
--pane-soft: #
|
|
73
|
-
--row: #
|
|
78
|
+
--control: #202a27;
|
|
79
|
+
--control-muted: #25312e;
|
|
80
|
+
--pane-soft: #151d1b;
|
|
81
|
+
--row: #1c2623;
|
|
74
82
|
--code-bg: #0b0d10;
|
|
75
83
|
--code-text: #e8edf2;
|
|
76
84
|
--shadow: rgba(0, 0, 0, .42);
|
|
@@ -105,20 +113,25 @@ button[data-icon]::before {
|
|
|
105
113
|
color: currentColor;
|
|
106
114
|
}
|
|
107
115
|
button.icon[data-icon]::before {
|
|
108
|
-
margin-
|
|
116
|
+
margin:0; font-size:14px; line-height:30px;
|
|
109
117
|
}
|
|
110
118
|
button.primary {
|
|
111
119
|
border-color: var(--accent);
|
|
112
120
|
background: var(--accent);
|
|
113
121
|
color: white;
|
|
114
122
|
}
|
|
123
|
+
button.quiet-danger {
|
|
124
|
+
background:transparent; border-color:transparent; color:var(--muted);
|
|
125
|
+
}
|
|
126
|
+
button.quiet-danger:hover, button.quiet-danger:focus-visible {
|
|
127
|
+
border-color:var(--error); color:var(--error);
|
|
128
|
+
}
|
|
115
129
|
button.danger {
|
|
116
130
|
border-color: var(--error);
|
|
117
131
|
color: var(--error);
|
|
118
132
|
}
|
|
119
133
|
button.icon {
|
|
120
|
-
width:
|
|
121
|
-
padding: 5px 0;
|
|
134
|
+
width:32px; height:32px; min-height:32px; flex:0 0 32px; padding:0; font-size:0; overflow:hidden;
|
|
122
135
|
}
|
|
123
136
|
button:disabled {
|
|
124
137
|
cursor: default;
|
|
@@ -153,14 +166,7 @@ html, body {
|
|
|
153
166
|
}
|
|
154
167
|
}
|
|
155
168
|
.topbar {
|
|
156
|
-
display: flex;
|
|
157
|
-
align-items: center;
|
|
158
|
-
flex-wrap: wrap;
|
|
159
|
-
gap: 8px;
|
|
160
|
-
min-height: 40px;
|
|
161
|
-
padding: 4px 10px;
|
|
162
|
-
border-bottom: 1px solid var(--line);
|
|
163
|
-
background: var(--pane);
|
|
169
|
+
display:flex; align-items:center; gap:8px; flex:none; min-height:32px; padding:3px 10px; border-top:1px solid var(--line); background:var(--pane); font-size:12px;
|
|
164
170
|
}
|
|
165
171
|
.brand {
|
|
166
172
|
font-weight: 700;
|
|
@@ -190,7 +196,7 @@ html, body {
|
|
|
190
196
|
}
|
|
191
197
|
.shell {
|
|
192
198
|
display: grid;
|
|
193
|
-
grid-template-columns:
|
|
199
|
+
grid-template-columns: var(--preset-pane-width, 212px) minmax(0, 1fr);
|
|
194
200
|
height: calc(100vh - 48px);
|
|
195
201
|
min-height: 0;
|
|
196
202
|
transition: grid-template-columns .16s ease;
|
|
@@ -199,6 +205,8 @@ html, body {
|
|
|
199
205
|
grid-template-columns: 0 minmax(0, 1fr);
|
|
200
206
|
}
|
|
201
207
|
.sidebar {
|
|
208
|
+
position: relative;
|
|
209
|
+
padding-right: 8px;
|
|
202
210
|
border-right: 1px solid var(--line);
|
|
203
211
|
background: var(--pane);
|
|
204
212
|
min-width: 0;
|
|
@@ -207,8 +215,39 @@ html, body {
|
|
|
207
215
|
flex-direction: column;
|
|
208
216
|
}
|
|
209
217
|
.shell.sidebar-collapsed .sidebar {
|
|
218
|
+
padding-right: 0;
|
|
210
219
|
border-right: 0;
|
|
211
220
|
}
|
|
221
|
+
.pane-width-handle {
|
|
222
|
+
position: absolute;
|
|
223
|
+
inset: 0 0 0 auto;
|
|
224
|
+
width: 8px;
|
|
225
|
+
z-index: 3;
|
|
226
|
+
cursor: col-resize;
|
|
227
|
+
touch-action: none;
|
|
228
|
+
}
|
|
229
|
+
.pane-width-handle::after {
|
|
230
|
+
content: "";
|
|
231
|
+
position: absolute;
|
|
232
|
+
inset: 0 0 0 auto;
|
|
233
|
+
width: 2px;
|
|
234
|
+
background: transparent;
|
|
235
|
+
}
|
|
236
|
+
.pane-width-handle:hover::after,
|
|
237
|
+
.pane-width-handle:focus-visible::after {
|
|
238
|
+
background: var(--accent);
|
|
239
|
+
}
|
|
240
|
+
.pane-width-handle:focus-visible {
|
|
241
|
+
outline: 1px solid var(--accent);
|
|
242
|
+
outline-offset: -2px;
|
|
243
|
+
}
|
|
244
|
+
.shell.sidebar-collapsed #presetWidthHandle { display: none; }
|
|
245
|
+
.shell.pane-width-dragging { transition: none; }
|
|
246
|
+
.shell.pane-width-dragging,
|
|
247
|
+
.shell.pane-width-dragging * { cursor: col-resize !important; user-select: none !important; }
|
|
248
|
+
@media (max-width: 800px) {
|
|
249
|
+
.pane-width-handle { display: none; }
|
|
250
|
+
}
|
|
212
251
|
.side-head {
|
|
213
252
|
padding: 9px 10px;
|
|
214
253
|
border-bottom: 1px solid var(--line);
|
|
@@ -285,16 +324,7 @@ html, body {
|
|
|
285
324
|
flex-direction: column;
|
|
286
325
|
}
|
|
287
326
|
.main-actions {
|
|
288
|
-
display: flex;
|
|
289
|
-
align-items: center;
|
|
290
|
-
gap: 6px;
|
|
291
|
-
flex-wrap: nowrap;
|
|
292
|
-
min-height: 42px;
|
|
293
|
-
padding: 5px 10px;
|
|
294
|
-
border-bottom: 1px solid var(--line);
|
|
295
|
-
background: var(--pane);
|
|
296
|
-
position: relative;
|
|
297
|
-
z-index: 3;
|
|
327
|
+
display:flex; flex-wrap:wrap; align-items:center; gap:5px; position:relative; z-index:3; flex:0 1 auto; padding:0; border:0; background:transparent;
|
|
298
328
|
}
|
|
299
329
|
.new-stack-control {
|
|
300
330
|
display: flex;
|
|
@@ -438,7 +468,7 @@ html, body {
|
|
|
438
468
|
}
|
|
439
469
|
.workspace {
|
|
440
470
|
display: grid;
|
|
441
|
-
grid-template-columns:
|
|
471
|
+
grid-template-columns: var(--stack-pane-width, 190px) minmax(0, 1fr);
|
|
442
472
|
flex: 1;
|
|
443
473
|
min-height: 0;
|
|
444
474
|
}
|
|
@@ -470,33 +500,12 @@ html, body {
|
|
|
470
500
|
display: grid;
|
|
471
501
|
grid-template-columns: minmax(0, 1fr);
|
|
472
502
|
}
|
|
473
|
-
.editor-dock-area.dock-open {
|
|
474
|
-
grid-template-columns: minmax(0, 1fr) minmax(440px, 48%);
|
|
475
|
-
}
|
|
476
503
|
.editor-dock-area .workspace,
|
|
477
504
|
.editor-dock-area .tab-panel,
|
|
478
505
|
.editor-dock-area .context-diff-panel {
|
|
479
506
|
min-width: 0;
|
|
480
507
|
min-height: 0;
|
|
481
508
|
}
|
|
482
|
-
.editor-dock-area.dock-open .workspace {
|
|
483
|
-
display: grid;
|
|
484
|
-
grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
|
|
485
|
-
border-right: 1px solid var(--line);
|
|
486
|
-
}
|
|
487
|
-
.editor-dock-area.dock-open .context-diff-panel {
|
|
488
|
-
display: block;
|
|
489
|
-
border-left: 1px solid var(--line);
|
|
490
|
-
}
|
|
491
|
-
.editor-dock-area.dock-open.dock-focus {
|
|
492
|
-
grid-template-columns: minmax(0, 1fr);
|
|
493
|
-
}
|
|
494
|
-
.editor-dock-area.dock-open.dock-focus .workspace {
|
|
495
|
-
display: none;
|
|
496
|
-
}
|
|
497
|
-
.editor-dock-area.dock-open.dock-focus .context-diff-panel {
|
|
498
|
-
border-left: 0;
|
|
499
|
-
}
|
|
500
509
|
.tab-section {
|
|
501
510
|
border: 1px solid var(--line);
|
|
502
511
|
border-radius: 6px;
|
|
@@ -514,6 +523,8 @@ html, body {
|
|
|
514
523
|
margin-bottom: 10px;
|
|
515
524
|
}
|
|
516
525
|
.items-pane {
|
|
526
|
+
position: relative;
|
|
527
|
+
padding-right: 8px;
|
|
517
528
|
border-right: 1px solid var(--line);
|
|
518
529
|
background: var(--pane);
|
|
519
530
|
min-width: 0;
|
|
@@ -530,22 +541,6 @@ html, body {
|
|
|
530
541
|
border-bottom: 1px solid var(--line);
|
|
531
542
|
font-weight: 650;
|
|
532
543
|
}
|
|
533
|
-
.item-tools {
|
|
534
|
-
display: flex;
|
|
535
|
-
flex-wrap: wrap;
|
|
536
|
-
gap: 6px;
|
|
537
|
-
padding: 8px 12px;
|
|
538
|
-
border-bottom: 1px solid var(--line);
|
|
539
|
-
flex: 0 0 auto;
|
|
540
|
-
}
|
|
541
|
-
.item-tools button,
|
|
542
|
-
.main-actions button {
|
|
543
|
-
white-space: nowrap;
|
|
544
|
-
}
|
|
545
|
-
.item-tools-spacer {
|
|
546
|
-
flex: 1 1 auto;
|
|
547
|
-
min-width: 8px;
|
|
548
|
-
}
|
|
549
544
|
.item-list {
|
|
550
545
|
padding: 8px;
|
|
551
546
|
overflow: auto;
|
|
@@ -556,20 +551,7 @@ html, body {
|
|
|
556
551
|
background: var(--accent-bg);
|
|
557
552
|
}
|
|
558
553
|
.item-row {
|
|
559
|
-
width:
|
|
560
|
-
text-align: left;
|
|
561
|
-
border: 1px solid var(--line);
|
|
562
|
-
border-left-width: 3px;
|
|
563
|
-
background: var(--row);
|
|
564
|
-
border-radius: 6px;
|
|
565
|
-
padding: 8px;
|
|
566
|
-
margin-bottom: 6px;
|
|
567
|
-
display: grid;
|
|
568
|
-
grid-template-columns: 18px minmax(0, 1fr) 48px;
|
|
569
|
-
gap: 8px;
|
|
570
|
-
align-items: center;
|
|
571
|
-
cursor: grab;
|
|
572
|
-
position: relative;
|
|
554
|
+
width:100%; text-align:left; border:1px solid transparent; border-left:2px solid var(--line); border-bottom-color:var(--line); background:transparent; border-radius:5px; padding:8px 7px 8px 20px; margin-bottom:3px; display:grid; grid-template-columns:minmax(0,1fr) 46px; gap:3px 6px; align-items:center; cursor:grab; position:relative;
|
|
573
555
|
}
|
|
574
556
|
.item-row:active {
|
|
575
557
|
cursor: grabbing;
|
|
@@ -581,19 +563,26 @@ html, body {
|
|
|
581
563
|
border-left-color: var(--item-slot);
|
|
582
564
|
}
|
|
583
565
|
.item-row.selected {
|
|
584
|
-
border-
|
|
585
|
-
border-right-color: var(--accent);
|
|
586
|
-
border-bottom-color: var(--accent);
|
|
566
|
+
border-color: var(--accent);
|
|
587
567
|
background: var(--accent-bg);
|
|
588
568
|
}
|
|
589
|
-
.item-row.
|
|
590
|
-
|
|
569
|
+
.item-row.disabled {
|
|
570
|
+
background: var(--item-off-bg);
|
|
571
|
+
border-left-color: var(--item-off-line);
|
|
572
|
+
border-bottom-color: var(--item-off-line);
|
|
591
573
|
}
|
|
592
|
-
.item-row.selected
|
|
593
|
-
border-
|
|
574
|
+
.item-row.disabled.selected {
|
|
575
|
+
border-color: var(--item-off-selected);
|
|
576
|
+
border-left-color: var(--item-off-line);
|
|
577
|
+
background: var(--item-off-bg);
|
|
594
578
|
}
|
|
595
|
-
.item-row.disabled
|
|
596
|
-
|
|
579
|
+
.item-row.disabled .item-title,
|
|
580
|
+
.item-row.disabled .item-meta,
|
|
581
|
+
.item-row.disabled .drag-handle {
|
|
582
|
+
color: var(--item-off-text);
|
|
583
|
+
}
|
|
584
|
+
.item-row.disabled .item-title {
|
|
585
|
+
font-weight: 500;
|
|
597
586
|
}
|
|
598
587
|
.item-row.dragging {
|
|
599
588
|
border-style: dashed;
|
|
@@ -626,22 +615,58 @@ html, body {
|
|
|
626
615
|
user-select: none;
|
|
627
616
|
}
|
|
628
617
|
.item-toggle {
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
618
|
+
display: inline-flex;
|
|
619
|
+
align-items: center;
|
|
620
|
+
justify-content: center;
|
|
621
|
+
gap: 4px;
|
|
622
|
+
width: 46px;
|
|
623
|
+
min-height: 28px;
|
|
624
|
+
height: 28px;
|
|
625
|
+
padding: 0 4px;
|
|
632
626
|
border-radius: 999px;
|
|
633
|
-
font-size:
|
|
627
|
+
font-size: 11px;
|
|
628
|
+
font-weight: 600;
|
|
629
|
+
line-height: 1;
|
|
630
|
+
letter-spacing: 0.01em;
|
|
634
631
|
cursor: pointer;
|
|
632
|
+
box-sizing: border-box;
|
|
633
|
+
user-select: none;
|
|
634
|
+
transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
|
|
635
|
+
}
|
|
636
|
+
.item-toggle::before {
|
|
637
|
+
content: "";
|
|
638
|
+
display: inline-block;
|
|
639
|
+
width: 6px;
|
|
640
|
+
height: 6px;
|
|
641
|
+
border-radius: 50%;
|
|
642
|
+
flex: 0 0 6px;
|
|
635
643
|
}
|
|
636
644
|
.item-toggle.enabled {
|
|
645
|
+
border: 1px solid var(--accent);
|
|
646
|
+
background: var(--accent);
|
|
647
|
+
color: #ffffff;
|
|
648
|
+
}
|
|
649
|
+
.item-toggle.enabled::before {
|
|
650
|
+
background: currentColor;
|
|
651
|
+
}
|
|
652
|
+
body[data-theme="dark"] .item-toggle.enabled {
|
|
637
653
|
border-color: var(--accent);
|
|
638
654
|
background: var(--accent);
|
|
639
|
-
color:
|
|
655
|
+
color: #0b1a16;
|
|
640
656
|
}
|
|
641
657
|
.item-toggle.disabled {
|
|
642
|
-
border
|
|
643
|
-
background: var(--control
|
|
644
|
-
color: var(--
|
|
658
|
+
border: 1px solid var(--line-strong);
|
|
659
|
+
background: var(--control);
|
|
660
|
+
color: var(--text);
|
|
661
|
+
}
|
|
662
|
+
.item-toggle.disabled::before {
|
|
663
|
+
border: 1.5px solid currentColor;
|
|
664
|
+
box-sizing: border-box;
|
|
665
|
+
background: transparent;
|
|
666
|
+
}
|
|
667
|
+
.item-toggle:focus-visible {
|
|
668
|
+
outline: 2px solid var(--accent);
|
|
669
|
+
outline-offset: 1px;
|
|
645
670
|
}
|
|
646
671
|
.item-badge {
|
|
647
672
|
display: inline-block;
|
|
@@ -662,40 +687,8 @@ html, body {
|
|
|
662
687
|
background: var(--warning-bg);
|
|
663
688
|
border-color: var(--warning);
|
|
664
689
|
}
|
|
665
|
-
.item-kind-badge,
|
|
666
|
-
.item-slot-badge {
|
|
667
|
-
display: inline-block;
|
|
668
|
-
border: 1px solid currentColor;
|
|
669
|
-
border-radius: 999px;
|
|
670
|
-
padding: 0 6px;
|
|
671
|
-
line-height: 17px;
|
|
672
|
-
font-size: 11px;
|
|
673
|
-
font-weight: 650;
|
|
674
|
-
}
|
|
675
|
-
.item-kind-badge {
|
|
676
|
-
margin-right: 4px;
|
|
677
|
-
}
|
|
678
|
-
.item-kind-badge.block {
|
|
679
|
-
color: var(--item-block);
|
|
680
|
-
background: color-mix(in srgb, var(--item-block) 12%, var(--row));
|
|
681
|
-
}
|
|
682
|
-
.item-kind-badge.slot {
|
|
683
|
-
color: var(--item-slot);
|
|
684
|
-
background: color-mix(in srgb, var(--item-slot) 12%, var(--row));
|
|
685
|
-
}
|
|
686
|
-
.item-slot-badge {
|
|
687
|
-
margin-left: 2px;
|
|
688
|
-
}
|
|
689
|
-
.item-slot-badge.slot-chat-history { color: var(--slot-chat-history); background: color-mix(in srgb, var(--slot-chat-history) 12%, var(--row)); }
|
|
690
|
-
.item-slot-badge.slot-tools { color: var(--slot-tools); background: color-mix(in srgb, var(--slot-tools) 12%, var(--row)); }
|
|
691
|
-
.item-slot-badge.slot-tool-guidelines { color: var(--slot-tool-guidelines); background: color-mix(in srgb, var(--slot-tool-guidelines) 12%, var(--row)); }
|
|
692
|
-
.item-slot-badge.slot-skills { color: var(--slot-skills); background: color-mix(in srgb, var(--slot-skills) 12%, var(--row)); }
|
|
693
|
-
.item-slot-badge.slot-project-context { color: var(--slot-project-context); background: color-mix(in srgb, var(--slot-project-context) 12%, var(--row)); }
|
|
694
|
-
.item-slot-badge.slot-date { color: var(--slot-date); background: color-mix(in srgb, var(--slot-date) 12%, var(--row)); }
|
|
695
|
-
.item-slot-badge.slot-date-cwd { color: var(--slot-date-cwd); background: color-mix(in srgb, var(--slot-date-cwd) 12%, var(--row)); }
|
|
696
|
-
.item-slot-badge.slot-built-in { color: var(--slot-built-in); background: color-mix(in srgb, var(--slot-built-in) 12%, var(--row)); }
|
|
697
|
-
.item-slot-badge.slot-custom { color: var(--slot-custom); background: color-mix(in srgb, var(--slot-custom) 12%, var(--row)); }
|
|
698
690
|
.item-title {
|
|
691
|
+
font-size: 13px;
|
|
699
692
|
font-weight: 650;
|
|
700
693
|
overflow-wrap: anywhere;
|
|
701
694
|
}
|
|
@@ -732,6 +725,7 @@ html, body {
|
|
|
732
725
|
gap: 10px;
|
|
733
726
|
flex: 0 0 auto;
|
|
734
727
|
}
|
|
728
|
+
.slot-flags { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:6px 24px; }
|
|
735
729
|
.item-body {
|
|
736
730
|
flex: 1;
|
|
737
731
|
min-height: 0;
|
|
@@ -774,13 +768,7 @@ html, body {
|
|
|
774
768
|
color: var(--accent);
|
|
775
769
|
}
|
|
776
770
|
.options-grid {
|
|
777
|
-
display: grid;
|
|
778
|
-
grid-template-columns: repeat(3, minmax(150px, 1fr));
|
|
779
|
-
gap: 10px;
|
|
780
|
-
overflow: auto;
|
|
781
|
-
padding-right: 4px;
|
|
782
|
-
flex: 1;
|
|
783
|
-
min-height: 0;
|
|
771
|
+
display:grid; grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr)); align-content:start; align-items:start; gap:14px 16px; overflow:auto; padding-right:4px; flex:1; min-height:0;
|
|
784
772
|
}
|
|
785
773
|
.option-note {
|
|
786
774
|
color: var(--muted);
|
|
@@ -1012,6 +1000,48 @@ html, body {
|
|
|
1012
1000
|
padding: 12px;
|
|
1013
1001
|
background: var(--pane-soft);
|
|
1014
1002
|
}
|
|
1003
|
+
.modal-dialog.resource-modal {
|
|
1004
|
+
align-self: center;
|
|
1005
|
+
width: min(560px, calc(100vw - 32px));
|
|
1006
|
+
height: auto;
|
|
1007
|
+
max-height: calc(100vh - 32px);
|
|
1008
|
+
}
|
|
1009
|
+
.resource-form {
|
|
1010
|
+
display: grid;
|
|
1011
|
+
gap: 6px;
|
|
1012
|
+
max-width: 480px;
|
|
1013
|
+
margin: 0 auto;
|
|
1014
|
+
}
|
|
1015
|
+
.resource-form label {
|
|
1016
|
+
color: var(--muted);
|
|
1017
|
+
font-size: 12px;
|
|
1018
|
+
font-weight: 600;
|
|
1019
|
+
}
|
|
1020
|
+
/* New-preset choices share the existing resource dialog and scroll container. */
|
|
1021
|
+
.template-options { display: flex; flex-direction: column; gap: 6px; margin: 2px 0 6px; }
|
|
1022
|
+
.template-option { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--pane); cursor: pointer; }
|
|
1023
|
+
.template-option:hover { border-color: var(--line-strong); }
|
|
1024
|
+
.template-option:has(input:checked) { border-color: var(--accent); background: var(--accent-bg); }
|
|
1025
|
+
.template-option input[type="radio"] { margin: 2px 0 0; width: auto; flex: none; cursor: pointer; accent-color: var(--accent); }
|
|
1026
|
+
.template-option:focus-within { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
1027
|
+
.template-option-content { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
|
|
1028
|
+
.template-option-title { font-size: 13px; font-weight: 600; color: var(--text); }
|
|
1029
|
+
.template-option-desc { font-size: 12px; font-weight: 400; color: var(--muted); line-height: 1.4; }
|
|
1030
|
+
.resource-form-note {
|
|
1031
|
+
margin: 6px 0 2px;
|
|
1032
|
+
padding: 8px;
|
|
1033
|
+
border: 1px solid var(--line);
|
|
1034
|
+
border-radius: 6px;
|
|
1035
|
+
color: var(--warning);
|
|
1036
|
+
background: var(--warning-bg);
|
|
1037
|
+
font-size: 12px;
|
|
1038
|
+
}
|
|
1039
|
+
.resource-form-actions {
|
|
1040
|
+
display: flex;
|
|
1041
|
+
justify-content: flex-end;
|
|
1042
|
+
gap: 8px;
|
|
1043
|
+
margin-top: 8px;
|
|
1044
|
+
}
|
|
1015
1045
|
.modal-toolbar {
|
|
1016
1046
|
display: flex;
|
|
1017
1047
|
gap: 8px;
|
|
@@ -1249,17 +1279,7 @@ html, body {
|
|
|
1249
1279
|
.workspace {
|
|
1250
1280
|
display: block;
|
|
1251
1281
|
}
|
|
1252
|
-
|
|
1253
|
-
.editor-dock-area.dock-open.dock-focus {
|
|
1254
|
-
grid-template-columns: minmax(0, 1fr);
|
|
1255
|
-
}
|
|
1256
|
-
.editor-dock-area.dock-open .workspace {
|
|
1257
|
-
display: none;
|
|
1258
|
-
}
|
|
1259
|
-
.editor-dock-area.dock-open .context-diff-panel {
|
|
1260
|
-
border-left: 0;
|
|
1261
|
-
}
|
|
1262
|
-
.item-form {
|
|
1282
|
+
.item-form {
|
|
1263
1283
|
height: auto;
|
|
1264
1284
|
overflow: visible;
|
|
1265
1285
|
}
|
|
@@ -1279,11 +1299,14 @@ html, body {
|
|
|
1279
1299
|
min-height: calc(100vh - 80px);
|
|
1280
1300
|
}
|
|
1281
1301
|
.sidebar, .items-pane {
|
|
1302
|
+
padding-right: 0;
|
|
1282
1303
|
border-right: 0;
|
|
1283
1304
|
border-bottom: 1px solid var(--line);
|
|
1284
1305
|
}
|
|
1306
|
+
.shell.sidebar-collapsed { grid-template-columns:minmax(0,1fr); }
|
|
1307
|
+
.shell.sidebar-collapsed .sidebar { display:none; }
|
|
1285
1308
|
.sidebar {
|
|
1286
|
-
min-height:
|
|
1309
|
+
min-height: 0;
|
|
1287
1310
|
max-height: 240px;
|
|
1288
1311
|
}
|
|
1289
1312
|
.metadata-head {
|
|
@@ -1332,5 +1355,390 @@ html, body {
|
|
|
1332
1355
|
font-size: 14px;
|
|
1333
1356
|
}
|
|
1334
1357
|
}
|
|
1358
|
+
|
|
1359
|
+
/* V4 workspace: the library owns creation/reload; the editor header owns identity. */
|
|
1360
|
+
.topbar .brand {
|
|
1361
|
+
display: none;
|
|
1362
|
+
}
|
|
1363
|
+
.resource-header {
|
|
1364
|
+
display: flex;
|
|
1365
|
+
align-items: center;
|
|
1366
|
+
gap: 10px;
|
|
1367
|
+
flex-wrap: wrap;
|
|
1368
|
+
min-width: 0;
|
|
1369
|
+
padding: 4px 10px;
|
|
1370
|
+
border-bottom: 1px solid var(--line);
|
|
1371
|
+
background: var(--pane);
|
|
1372
|
+
}
|
|
1373
|
+
.resource-identity,
|
|
1374
|
+
.resource-title-line,
|
|
1375
|
+
.resource-subline {
|
|
1376
|
+
min-width: 0;
|
|
1377
|
+
}
|
|
1378
|
+
.resource-title-line {
|
|
1379
|
+
display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; min-width:0;
|
|
1380
|
+
}
|
|
1381
|
+
.resource-title-line h1 {
|
|
1382
|
+
flex:0 1 auto; min-width:0; max-width:100%; margin:0; font-size:18px; line-height:1.3; font-weight:700; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
|
|
1383
|
+
}
|
|
1384
|
+
.resource-subline {
|
|
1385
|
+
display: flex;
|
|
1386
|
+
align-items: center;
|
|
1387
|
+
gap: 6px;
|
|
1388
|
+
margin-top: 3px;
|
|
1389
|
+
color: var(--muted);
|
|
1390
|
+
font-size: 12px;
|
|
1391
|
+
overflow-wrap: anywhere;
|
|
1392
|
+
}
|
|
1393
|
+
.resource-subline code {
|
|
1394
|
+
color: var(--accent);
|
|
1395
|
+
overflow-wrap: anywhere;
|
|
1396
|
+
}
|
|
1397
|
+
.resource-editing-label {
|
|
1398
|
+
flex: 0 0 auto;
|
|
1399
|
+
color: var(--muted);
|
|
1400
|
+
font-size: 11px;
|
|
1401
|
+
}
|
|
1402
|
+
.runtime-badge {
|
|
1403
|
+
flex: 0 0 auto;
|
|
1404
|
+
border: 1px solid var(--line);
|
|
1405
|
+
border-radius: 999px;
|
|
1406
|
+
padding: 1px 7px;
|
|
1407
|
+
color: var(--muted);
|
|
1408
|
+
font-size: 11px;
|
|
1409
|
+
white-space: nowrap;
|
|
1410
|
+
}
|
|
1411
|
+
.runtime-badge.active {
|
|
1412
|
+
color: var(--accent);
|
|
1413
|
+
border-color: var(--accent);
|
|
1414
|
+
background: var(--accent-bg);
|
|
1415
|
+
}
|
|
1416
|
+
.side-head {
|
|
1417
|
+
display: flex;
|
|
1418
|
+
flex-direction: column;
|
|
1419
|
+
align-items: stretch;
|
|
1420
|
+
justify-content: space-between;
|
|
1421
|
+
gap: 8px;
|
|
1422
|
+
}
|
|
1423
|
+
.side-head-title {
|
|
1424
|
+
min-width: 0;
|
|
1425
|
+
flex: 1 1 auto;
|
|
1426
|
+
}
|
|
1427
|
+
.library-actions {
|
|
1428
|
+
display: flex;
|
|
1429
|
+
flex-wrap: wrap;
|
|
1430
|
+
align-items: center;
|
|
1431
|
+
gap: 4px;
|
|
1432
|
+
flex: 0 0 auto;
|
|
1433
|
+
}
|
|
1434
|
+
.library-actions select {
|
|
1435
|
+
width: auto;
|
|
1436
|
+
min-width: 74px;
|
|
1437
|
+
padding: 4px 6px;
|
|
1438
|
+
font-size: 12px;
|
|
1439
|
+
}
|
|
1440
|
+
.library-actions button {
|
|
1441
|
+
font-size: 12px;
|
|
1442
|
+
min-height: 30px;
|
|
1443
|
+
padding: 4px 7px;
|
|
1444
|
+
white-space: nowrap;
|
|
1445
|
+
}
|
|
1446
|
+
.library-actions #reloadBtn {
|
|
1447
|
+
width: 30px;
|
|
1448
|
+
padding-inline: 0;
|
|
1449
|
+
overflow: hidden;
|
|
1450
|
+
color: transparent;
|
|
1451
|
+
font-size: 0;
|
|
1452
|
+
}
|
|
1453
|
+
.library-actions #reloadBtn::before {
|
|
1454
|
+
margin-right: 0;
|
|
1455
|
+
color: var(--text);
|
|
1456
|
+
font-size: 14px;
|
|
1457
|
+
}
|
|
1458
|
+
.resource-header .resource-identity {
|
|
1459
|
+
flex:1 1 280px; min-width:min(280px,100%);
|
|
1460
|
+
}
|
|
1461
|
+
.resource-header .main-actions .action-spacer {
|
|
1462
|
+
min-width: 4px;
|
|
1463
|
+
}
|
|
1464
|
+
.item-row:focus-visible {
|
|
1465
|
+
outline: 2px solid var(--accent);
|
|
1466
|
+
outline-offset: 2px;
|
|
1467
|
+
}
|
|
1468
|
+
.item-row.disabled:focus-visible {
|
|
1469
|
+
outline-color: var(--item-off-selected);
|
|
1470
|
+
}
|
|
1471
|
+
.item-title {
|
|
1472
|
+
display: -webkit-box;
|
|
1473
|
+
-webkit-line-clamp: 2;
|
|
1474
|
+
-webkit-box-orient: vertical;
|
|
1475
|
+
overflow: hidden;
|
|
1476
|
+
color: var(--text);
|
|
1477
|
+
}
|
|
1478
|
+
.item-meta {
|
|
1479
|
+
display: block;
|
|
1480
|
+
white-space: nowrap;
|
|
1481
|
+
overflow: hidden;
|
|
1482
|
+
text-overflow: ellipsis;
|
|
1483
|
+
overflow-wrap: normal;
|
|
1484
|
+
}
|
|
1485
|
+
.item-form {
|
|
1486
|
+
gap: 8px;
|
|
1487
|
+
padding: 14px 16px;
|
|
1488
|
+
}
|
|
1489
|
+
.item-primary-field {
|
|
1490
|
+
flex: 0 0 auto;
|
|
1491
|
+
}
|
|
1492
|
+
.item-primary-field label {
|
|
1493
|
+
color: var(--text);
|
|
1494
|
+
font-weight: 650;
|
|
1495
|
+
}
|
|
1496
|
+
.item-primary-field input {
|
|
1497
|
+
min-height: 36px;
|
|
1498
|
+
font-size: 15px;
|
|
1499
|
+
}
|
|
1500
|
+
.item-technical-row {
|
|
1501
|
+
display: flex;
|
|
1502
|
+
align-items: center;
|
|
1503
|
+
flex-wrap: wrap;
|
|
1504
|
+
gap: 8px;
|
|
1505
|
+
min-width: 0;
|
|
1506
|
+
color: var(--muted);
|
|
1507
|
+
font-size: 12px;
|
|
1508
|
+
}
|
|
1509
|
+
.role-control {
|
|
1510
|
+
display: inline-flex;
|
|
1511
|
+
align-items: center;
|
|
1512
|
+
gap: 4px;
|
|
1513
|
+
min-width: 0;
|
|
1514
|
+
color: var(--text);
|
|
1515
|
+
font-size: 12px;
|
|
1516
|
+
}
|
|
1517
|
+
.role-control select {
|
|
1518
|
+
width: auto;
|
|
1519
|
+
min-width: 88px;
|
|
1520
|
+
min-height: 30px;
|
|
1521
|
+
padding: 3px 22px 3px 5px;
|
|
1522
|
+
border: 1px solid transparent;
|
|
1523
|
+
background-color: transparent;
|
|
1524
|
+
color: var(--text);
|
|
1525
|
+
font-size: 14px;
|
|
1526
|
+
appearance: none;
|
|
1527
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23677770' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5l5 5 5-5'/%3E%3C/svg%3E");
|
|
1528
|
+
background-position: right 3px center;
|
|
1529
|
+
background-size: 16px 16px;
|
|
1530
|
+
background-repeat: no-repeat;
|
|
1531
|
+
}
|
|
1532
|
+
.role-control select:hover,
|
|
1533
|
+
.role-control select:focus-visible {
|
|
1534
|
+
border-color: var(--line);
|
|
1535
|
+
background: var(--accent-bg);
|
|
1536
|
+
}
|
|
1537
|
+
.item-properties {
|
|
1538
|
+
position: relative;
|
|
1539
|
+
flex: 0 0 auto;
|
|
1540
|
+
}
|
|
1541
|
+
.item-properties > summary {
|
|
1542
|
+
cursor: pointer;
|
|
1543
|
+
list-style: none;
|
|
1544
|
+
color: var(--muted);
|
|
1545
|
+
padding: 3px 5px;
|
|
1546
|
+
border-radius: 4px;
|
|
1547
|
+
}
|
|
1548
|
+
.item-properties > summary::-webkit-details-marker {
|
|
1549
|
+
display: none;
|
|
1550
|
+
}
|
|
1551
|
+
.item-properties > summary::after {
|
|
1552
|
+
content: "⌄";
|
|
1553
|
+
margin-left: 4px;
|
|
1554
|
+
font-size: 16px;
|
|
1555
|
+
line-height: 12px;
|
|
1556
|
+
vertical-align: -1px;
|
|
1557
|
+
}
|
|
1558
|
+
.item-properties[open] > summary::after {
|
|
1559
|
+
content: "⌃";
|
|
1560
|
+
}
|
|
1561
|
+
.item-properties > summary:hover,
|
|
1562
|
+
.item-properties > summary:focus-visible {
|
|
1563
|
+
color: var(--accent);
|
|
1564
|
+
background: var(--accent-bg);
|
|
1565
|
+
outline: none;
|
|
1566
|
+
}
|
|
1567
|
+
.item-properties-popover {
|
|
1568
|
+
position:fixed; z-index:4; display:grid; grid-template-columns:1fr; gap:10px; width:min(330px,calc(100vw - 32px)); max-height:65vh; overflow:auto; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--pane); box-shadow:0 8px 24px var(--shadow);
|
|
1569
|
+
}
|
|
1570
|
+
.item-properties-popover .field:last-child {
|
|
1571
|
+
grid-column: 1 / -1;
|
|
1572
|
+
}
|
|
1573
|
+
.item-body {
|
|
1574
|
+
min-width: 0;
|
|
1575
|
+
}
|
|
1576
|
+
.content-field {
|
|
1577
|
+
min-width: 0;
|
|
1578
|
+
}
|
|
1579
|
+
.content-field textarea {
|
|
1580
|
+
color: var(--text);
|
|
1581
|
+
background: var(--control);
|
|
1582
|
+
line-height: 1.6;
|
|
1583
|
+
}
|
|
1584
|
+
.metadata-details > summary {
|
|
1585
|
+
display: flex;
|
|
1586
|
+
align-items: center;
|
|
1587
|
+
gap: 8px;
|
|
1588
|
+
min-width: 0;
|
|
1589
|
+
padding: 5px 10px;
|
|
1590
|
+
cursor: pointer;
|
|
1591
|
+
list-style: none;
|
|
1592
|
+
color: var(--muted);
|
|
1593
|
+
font-size: 12px;
|
|
1594
|
+
}
|
|
1595
|
+
.metadata-details > summary::-webkit-details-marker {
|
|
1596
|
+
display: none;
|
|
1597
|
+
}
|
|
1598
|
+
.metadata-details > summary::before {
|
|
1599
|
+
content: "▸";
|
|
1600
|
+
color: var(--accent);
|
|
1601
|
+
}
|
|
1602
|
+
.metadata-details[open] > summary::before {
|
|
1603
|
+
content: "▾";
|
|
1604
|
+
}
|
|
1605
|
+
.metadata-summary-title {
|
|
1606
|
+
flex: 0 0 auto;
|
|
1607
|
+
color: var(--text);
|
|
1608
|
+
font-weight: 650;
|
|
1609
|
+
}
|
|
1610
|
+
.metadata-details .metadata-summary {
|
|
1611
|
+
margin: 0;
|
|
1612
|
+
}
|
|
1613
|
+
@media (max-width: 900px) {
|
|
1614
|
+
.resource-header {
|
|
1615
|
+
padding: 5px 10px;
|
|
1616
|
+
}
|
|
1617
|
+
.resource-header .main-actions {
|
|
1618
|
+
flex: 1 1 auto;
|
|
1619
|
+
}
|
|
1620
|
+
.resource-editing-label {
|
|
1621
|
+
display: none;
|
|
1622
|
+
}
|
|
1623
|
+
.library-actions {
|
|
1624
|
+
flex-wrap: wrap;
|
|
1625
|
+
justify-content: flex-end;
|
|
1626
|
+
}
|
|
1627
|
+
.library-actions select {
|
|
1628
|
+
max-width: 82px;
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
@media (max-width: 520px) {
|
|
1632
|
+
.side-head {
|
|
1633
|
+
display: block;
|
|
1634
|
+
}
|
|
1635
|
+
.library-actions {
|
|
1636
|
+
margin-top: 7px;
|
|
1637
|
+
justify-content: flex-start;
|
|
1638
|
+
}
|
|
1639
|
+
.resource-title-line h1 {
|
|
1640
|
+
font-size: 16px;
|
|
1641
|
+
}
|
|
1642
|
+
}
|
|
1643
|
+
|
|
1644
|
+
.item-row .drag-handle { position: absolute; left: 3px; top: 13px; font-size: 14px; width: 12px; }
|
|
1645
|
+
.item-row > div:not(.drag-handle) { min-width: 0; }
|
|
1646
|
+
.item-row .item-title { grid-column:1; grid-row:1; }
|
|
1647
|
+
.item-row .item-toggle { grid-column:2; grid-row:1; }
|
|
1648
|
+
.stack-row { display: flex; flex-direction: column; align-items: stretch; }
|
|
1649
|
+
.stack-row .stack-meta:nth-child(2) { order: -1; font-size: 13px; color: var(--text); font-weight: 650; margin-top: 0; }
|
|
1650
|
+
.stack-row .stack-name { font-size: 11px; color: var(--muted); margin-top: 4px; }
|
|
1651
|
+
.view-tabs { gap: 18px; padding: 0 12px; }
|
|
1652
|
+
.view-tabs button { border: 0; border-radius: 0; background: transparent; padding: 7px 2px; position: relative; }
|
|
1653
|
+
.view-tabs button[data-icon]::before { display: none; }
|
|
1654
|
+
.view-tabs button.active { background: transparent; color: var(--accent); }
|
|
1655
|
+
.view-tabs button.active::after { content: ""; position: absolute; bottom: 0; height: 2px; left: 0; right: 0; background: var(--accent); }
|
|
1656
|
+
.library-actions { flex-wrap: nowrap; }
|
|
1657
|
+
@media(max-width:520px) { .view-tabs { gap: 14px; } }
|
|
1658
|
+
|
|
1659
|
+
.stack-list, .item-list { flex: 0 1 auto; }
|
|
1660
|
+
.side-head { flex-direction: row; align-items: flex-start; }
|
|
1661
|
+
.side-head .library-actions { flex: 0 0 auto; }
|
|
1662
|
+
.side-head .cwd { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1663
|
+
|
|
1664
|
+
/* Second-pass workspace polish: keep creation and item operations close to their
|
|
1665
|
+
owning list/editor, while the preview remains a separate dock column. */
|
|
1666
|
+
.library-create {
|
|
1667
|
+
flex: 0 0 auto;
|
|
1668
|
+
display: grid;
|
|
1669
|
+
gap: 5px;
|
|
1670
|
+
padding: 10px 8px 12px;
|
|
1671
|
+
border-top: 1px solid var(--line);
|
|
1672
|
+
background: var(--pane-soft);
|
|
1673
|
+
}
|
|
1674
|
+
.library-create #newStackBtn {
|
|
1675
|
+
width: 100%;
|
|
1676
|
+
margin-top: 2px;
|
|
1677
|
+
border-style: dashed;
|
|
1678
|
+
justify-content: center;
|
|
1679
|
+
}
|
|
1680
|
+
.item-add-wrap {
|
|
1681
|
+
position: relative;
|
|
1682
|
+
flex: 0 0 auto;
|
|
1683
|
+
padding: 8px 12px 12px;
|
|
1684
|
+
border-top: 1px solid var(--line);
|
|
1685
|
+
background: var(--pane);
|
|
1686
|
+
}
|
|
1687
|
+
.item-add-wrap > .outline-add {
|
|
1688
|
+
width: 100%;
|
|
1689
|
+
border-style: dashed;
|
|
1690
|
+
color: var(--muted);
|
|
1691
|
+
}
|
|
1692
|
+
.add-content-menu {
|
|
1693
|
+
position: absolute;
|
|
1694
|
+
z-index: 5;
|
|
1695
|
+
left: 12px;
|
|
1696
|
+
right: 12px;
|
|
1697
|
+
bottom: calc(100% - 4px);
|
|
1698
|
+
display: grid;
|
|
1699
|
+
gap: 4px;
|
|
1700
|
+
padding: 6px;
|
|
1701
|
+
border: 1px solid var(--line-strong);
|
|
1702
|
+
border-radius: 7px;
|
|
1703
|
+
background: var(--pane);
|
|
1704
|
+
box-shadow: 0 8px 24px var(--shadow);
|
|
1705
|
+
}
|
|
1706
|
+
.add-content-menu[hidden] {
|
|
1707
|
+
display: none;
|
|
1708
|
+
}
|
|
1709
|
+
.add-content-menu button {
|
|
1710
|
+
width: 100%;
|
|
1711
|
+
display: grid;
|
|
1712
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
1713
|
+
text-align: left;
|
|
1714
|
+
border-color: transparent;
|
|
1715
|
+
}
|
|
1716
|
+
.add-content-menu button small {
|
|
1717
|
+
grid-column: 2;
|
|
1718
|
+
color: var(--muted);
|
|
1719
|
+
font-size: 11px;
|
|
1720
|
+
}
|
|
1721
|
+
.view-tabs [data-dock-tab] {
|
|
1722
|
+
margin-left: auto;
|
|
1723
|
+
border: 1px solid var(--line);
|
|
1724
|
+
border-radius: 5px;
|
|
1725
|
+
background: var(--pane-soft);
|
|
1726
|
+
padding-inline: 10px;
|
|
1727
|
+
color: var(--muted);
|
|
1728
|
+
font-size: 12px;
|
|
1729
|
+
}
|
|
1730
|
+
.view-tabs [data-dock-tab].active {
|
|
1731
|
+
border-color: var(--accent);
|
|
1732
|
+
background: var(--accent-bg);
|
|
1733
|
+
color: var(--accent);
|
|
1734
|
+
}
|
|
1735
|
+
.view-tabs [data-dock-tab].active::after {
|
|
1736
|
+
display: none;
|
|
1737
|
+
}
|
|
1738
|
+
|
|
1739
|
+
|
|
1740
|
+
/* Navigation has one summary line, not a second miniature form. */
|
|
1741
|
+
.item-row .item-meta { grid-column:1 / -1; margin:0; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
|
|
1742
|
+
.preset-properties-entry { flex:0 0 auto; }
|
|
1335
1743
|
`;
|
|
1336
1744
|
//# sourceMappingURL=styles.js.map
|