codebee 0.1.73 → 0.1.76
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 +23 -0
- package/README.md +5 -4
- package/app/core/analytics.py +38 -0
- package/app/core/bookmeta.py +115 -14
- package/app/core/contracts.py +255 -0
- package/app/core/error_codes.py +9 -0
- package/app/core/health.py +16 -1
- package/app/core/jobs.py +72 -0
- package/app/core/manager.py +38 -14
- package/app/core/modelhub.py +104 -9
- package/app/core/openapi.py +154 -0
- package/app/core/pipeline.py +210 -18
- package/app/core/presence.py +77 -0
- package/app/core/publish/auto.py +11 -0
- package/app/core/retrieval.py +137 -0
- package/app/core/runner.py +101 -5
- package/app/core/store.py +72 -0
- package/app/core/story_tracking.py +275 -0
- package/app/main.py +240 -20
- package/app/mcp_server.py +75 -6
- package/app/ui/app.js +237 -43
- package/app/ui/i18n.js +34 -5
- package/app/ui/index.html +9 -0
- package/app/ui/style.css +32 -6
- package/package.json +1 -1
package/app/ui/style.css
CHANGED
|
@@ -2842,16 +2842,19 @@ details.sf-dir > summary i, a.sf-file i { font-style: normal; color: var(--muted
|
|
|
2842
2842
|
transition: border-color .15s; }
|
|
2843
2843
|
.bm-card:hover .bm-chip { border-color: var(--border-strong); }
|
|
2844
2844
|
|
|
2845
|
-
/* 复制按钮:图标 + 文字,默认淡出,行 hover /
|
|
2846
|
-
|
|
2845
|
+
/* 复制按钮:图标 + 文字,默认淡出,行 hover / 键盘聚焦时点亮。
|
|
2846
|
+
* 换名按钮(.bm-rename)同款外观独立类——不加进 .bm-copy 是为了「复制钮」
|
|
2847
|
+
* 计数语义干净(ui_bookmeta 基线按每字段一钮数)。 */
|
|
2848
|
+
.bm-copy, .bm-rename { flex: none; display: inline-flex; align-items: center; gap: 4px; align-self: center;
|
|
2847
2849
|
font-size: 11.5px; line-height: 1; padding: 4px 9px; border-radius: 999px;
|
|
2848
2850
|
border: 1px solid transparent; background: none; color: var(--muted); cursor: pointer;
|
|
2849
2851
|
opacity: .55; transition: opacity .15s, color .15s, background .15s, border-color .15s; }
|
|
2850
|
-
.bm-copy .ico { width: 12px; height: 12px; }
|
|
2851
|
-
.bm-f:hover .bm-copy { opacity: 1; }
|
|
2852
|
-
.bm-copy:hover, .bm-copy:focus-visible
|
|
2852
|
+
.bm-copy .ico, .bm-rename .ico { width: 12px; height: 12px; }
|
|
2853
|
+
.bm-f:hover .bm-copy, .bm-f:hover .bm-rename { opacity: 1; }
|
|
2854
|
+
.bm-copy:hover, .bm-copy:focus-visible, .bm-rename:hover, .bm-rename:focus-visible {
|
|
2855
|
+
color: var(--accent); border-color: var(--border-strong);
|
|
2853
2856
|
background: var(--panel2); opacity: 1; }
|
|
2854
|
-
.bm-copy:active { transform: translateY(1px); }
|
|
2857
|
+
.bm-copy:active, .bm-rename:active { transform: translateY(1px); }
|
|
2855
2858
|
|
|
2856
2859
|
/* 生成中骨架屏 */
|
|
2857
2860
|
.bm-skwrap { padding: 6px 18px 16px; }
|
|
@@ -4574,6 +4577,16 @@ main:has(> #page-settings > #sub-runs:not(.hidden)) { padding-bottom: 28px; }
|
|
|
4574
4577
|
.rd-overview-last span { color: var(--text); }
|
|
4575
4578
|
.rd-overview-actions { display: flex; justify-content: flex-end; gap: 6px; grid-column: 1 / -1; }
|
|
4576
4579
|
.rd-overview-actions button { padding: 5px 9px; font-size: 11.5px; }
|
|
4580
|
+
.rd-contract { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; grid-column: 1 / -1; padding-top: 8px; border-top: 1px solid var(--border); color: var(--muted); font-size: 11.5px; }
|
|
4581
|
+
.rd-contract b { color: var(--text); }
|
|
4582
|
+
.rd-contract .err { color: var(--bad); }
|
|
4583
|
+
.rd-contract-evidence { display: flex; flex-wrap: wrap; gap: 4px 8px; width: 100%; }
|
|
4584
|
+
.rd-contract-criterion { padding: 2px 6px; border-radius: 5px; background: color-mix(in srgb, var(--text) 7%, transparent); }
|
|
4585
|
+
.rd-contract-criterion.passed { color: var(--ok); }
|
|
4586
|
+
.rd-contract-criterion.failed { color: var(--bad); }
|
|
4587
|
+
.rd-contract-mark { margin-left: 4px; padding: 0 4px; border: 0; border-radius: 4px; color: var(--muted); background: transparent; cursor: pointer; }
|
|
4588
|
+
.rd-contract-mark.pass:hover { color: var(--ok); background: color-mix(in srgb, var(--ok) 14%, transparent); }
|
|
4589
|
+
.rd-contract-mark.fail:hover { color: var(--bad); background: color-mix(in srgb, var(--bad) 14%, transparent); }
|
|
4577
4590
|
|
|
4578
4591
|
/* 直连详情把概览放进右上角信息面板;主区仍然只留对话。 */
|
|
4579
4592
|
#run-detail.chat-mode .rd-meta-popover #rd-overview:not(.hidden) { display: grid !important; }
|
|
@@ -7058,3 +7071,16 @@ main.browser-page-active #page-settings > #sub-browser .browser-shell {
|
|
|
7058
7071
|
.prov-status { margin: 2px 0 8px; }
|
|
7059
7072
|
.prov-status .cat-chip { padding: 3px 9px; font-size: 12px; }
|
|
7060
7073
|
.pm-status { margin: 10px 0 2px; }
|
|
7074
|
+
|
|
7075
|
+
/* 成品文件头部「第 N 版」徽章(多版本序号可见化,追加尾防并行重排):
|
|
7076
|
+
* 只在任务有 ≥2 次运行时出现;中性色小药丸,不给操作语义 */
|
|
7077
|
+
.files-head .ver-badge {
|
|
7078
|
+
font-size: 11px; color: var(--muted); border: 1px solid var(--border);
|
|
7079
|
+
border-radius: 9px; padding: 1px 8px; white-space: nowrap; cursor: help;
|
|
7080
|
+
}
|
|
7081
|
+
|
|
7082
|
+
/* 侧栏底部急停钮(kill switch,追加尾防并行重排):有排队/运行中任务才
|
|
7083
|
+
* 现身;危险红着色与常规 foot-btn 区分,busy 期间降透明度防双击。 */
|
|
7084
|
+
.foot-btn.kill { color: var(--bad); }
|
|
7085
|
+
.foot-btn.kill:hover { color: #fff; background: var(--bad); }
|
|
7086
|
+
.foot-btn.kill.busy { opacity: .5; pointer-events: none; }
|
package/package.json
CHANGED