codebee 0.1.96 → 0.1.98
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 +13 -0
- package/README.md +4 -2
- package/app/core/agent_context.py +21 -3
- package/app/core/board.py +39 -2
- package/app/core/builtin_agent.py +409 -34
- package/app/core/checkpoints.py +505 -0
- package/app/core/jobs.py +8 -1
- package/app/core/manager.py +109 -11
- package/app/core/mcp_client.py +200 -29
- package/app/core/pipeline.py +289 -40
- package/app/core/policy.py +36 -4
- package/app/core/project_memory.py +139 -0
- package/app/core/publish/auto.py +80 -19
- package/app/core/publish/browser.py +39 -0
- package/app/core/publish/fanqie.py +2 -0
- package/app/core/publish/flow.py +96 -17
- package/app/core/publish/flows-fanqie-calibrated.json +23 -11
- package/app/core/publish/ledger.py +38 -1
- package/app/core/runner.py +21 -11
- package/app/core/settings.py +13 -5
- package/app/core/settings_schema.py +14 -3
- package/app/core/store.py +21 -6
- package/app/core/tool_outputs.py +107 -0
- package/app/core/wxdigest.py +8 -1
- package/app/main.py +76 -2
- package/app/ui/app.js +356 -82
- package/app/ui/assets/workbench-reference.png +0 -0
- package/app/ui/board.css +451 -666
- package/app/ui/board.html +97 -94
- package/app/ui/board.js +316 -112
- package/app/ui/hive3d.js +242 -0
- package/app/ui/i18n.js +93 -10
- package/app/ui/index.html +31 -3
- package/app/ui/style.css +97 -111
- package/package.json +3 -2
package/app/ui/style.css
CHANGED
|
@@ -415,8 +415,6 @@ body.side-collapsed #app { grid-template-columns: 0 1fr; }
|
|
|
415
415
|
background: var(--sidebar); border-right: 1px solid var(--border);
|
|
416
416
|
padding: 14px 12px 12px; min-width: 0; overflow: hidden;
|
|
417
417
|
transition: opacity .15s;
|
|
418
|
-
} padding: 14px 12px 12px; min-width: 0; overflow: hidden;
|
|
419
|
-
transition: opacity .15s;
|
|
420
418
|
position: relative;
|
|
421
419
|
}
|
|
422
420
|
body.side-collapsed #sidebar { border-right: none; padding-left: 0; padding-right: 0; opacity: 0; pointer-events: none; }
|
|
@@ -1281,9 +1279,8 @@ body.inspector-open #inspector { display: flex; }
|
|
|
1281
1279
|
/* 手机抽屉遮罩:抽屉展开时盖住内容区,点击关闭抽屉 */
|
|
1282
1280
|
#drawer-mask { display: none; }
|
|
1283
1281
|
@media (max-width: 900px) {
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
body.side-collapsed #app { grid-template-columns: 1fr; }
|
|
1282
|
+
/* 保留 42px 导航轨列:纯 1fr 单列会让 .side-rail(grid 首子)独占一行变顶部横条 */
|
|
1283
|
+
#app { grid-template-columns: 42px minmax(0, 1fr); }
|
|
1287
1284
|
#side-resizer { display: none; }
|
|
1288
1285
|
#sidebar {
|
|
1289
1286
|
position: fixed; z-index: 60; top: 0; left: 0; bottom: 0;
|
|
@@ -3529,7 +3526,9 @@ button.primary:hover { filter: brightness(.96); }
|
|
|
3529
3526
|
|
|
3530
3527
|
@media (max-width: 860px) {
|
|
3531
3528
|
#app { grid-template-columns: 42px minmax(0, 1fr); }
|
|
3532
|
-
|
|
3529
|
+
/* z-index 必须压过 #drawer-mask(55):低于遮罩时抽屉整层被半透明遮罩盖住,
|
|
3530
|
+
* 抽屉里点什么都是点到遮罩(=关抽屉),主区也同时被盖——手机端「无法操作」实案 */
|
|
3531
|
+
#sidebar { position: fixed; z-index: 60; left: 42px; top: 0; bottom: 0; width: 228px; transform: translateX(0); box-shadow: 16px 0 34px rgba(30,40,50,.12); }
|
|
3533
3532
|
body.side-collapsed #app { grid-template-columns: 42px minmax(0, 1fr); }
|
|
3534
3533
|
body.side-collapsed #sidebar { transform: translateX(-110%); opacity: 0; }
|
|
3535
3534
|
main { padding: 20px 16px 58px; }
|
|
@@ -3882,6 +3881,21 @@ body.inspector-open #run-detail #rd-log.rd-logdrawer {
|
|
|
3882
3881
|
#run-detail .rd-pane[data-pane="bookmeta"] #rd-bookmeta {
|
|
3883
3882
|
padding-top: 4px;
|
|
3884
3883
|
}
|
|
3884
|
+
.rd-checkpoints, .rd-project-memory {
|
|
3885
|
+
margin: 8px 0 14px; padding: 12px 14px; border: 1px solid var(--border);
|
|
3886
|
+
border-radius: 12px; background: color-mix(in srgb, var(--panel) 72%, transparent);
|
|
3887
|
+
}
|
|
3888
|
+
.rd-checkpoints-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
|
|
3889
|
+
.rd-checkpoints-head strong { margin-right: auto; }
|
|
3890
|
+
.rd-checkpoint-row, .rd-memory-row { padding: 9px 0; border-top: 1px solid var(--border); }
|
|
3891
|
+
.rd-checkpoint-row > strong { margin-right: 8px; overflow-wrap: anywhere; }
|
|
3892
|
+
.rd-checkpoint-row pre, .rd-memory-row pre {
|
|
3893
|
+
max-height: 240px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere;
|
|
3894
|
+
margin: 8px 0 0; padding: 9px; border-radius: 8px; background: var(--bg);
|
|
3895
|
+
color: var(--text); font: 12px/1.5 ui-monospace, Consolas, monospace;
|
|
3896
|
+
}
|
|
3897
|
+
.rd-memory-row > div:first-child { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
|
|
3898
|
+
.rd-memory-actions { display: flex; gap: 6px; margin-top: 8px; }
|
|
3885
3899
|
#run-detail .rd-pane[data-pane="git"] #rd-git,
|
|
3886
3900
|
#run-detail .rd-pane[data-pane="bible"] #rd-bible,
|
|
3887
3901
|
#run-detail .rd-pane[data-pane="bookmeta"] #rd-bookmeta {
|
|
@@ -5158,6 +5172,9 @@ main.chat-fill #run-detail.chat-mode > .rd-main { overflow: hidden; }
|
|
|
5158
5172
|
max-height: none;
|
|
5159
5173
|
margin-bottom: 12px;
|
|
5160
5174
|
}
|
|
5175
|
+
/* 浮卡让位 padding 只属于 ≥980 的桌面浮卡布局:窄屏对话态吃满主区,
|
|
5176
|
+
32px 左右留白在 390 视口里白吃 64px(对话列只剩 284px)实案 */
|
|
5177
|
+
main.chat-fill { padding: 12px 14px; }
|
|
5161
5178
|
#rd-rail > .detail-head > .rd-actions #btn-delete {
|
|
5162
5179
|
grid-column: auto;
|
|
5163
5180
|
justify-self: stretch;
|
|
@@ -6632,7 +6649,8 @@ button.primary { background:var(--accent); box-shadow:0 3px 10px color-mix(in sr
|
|
|
6632
6649
|
button.primary:hover { filter:brightness(.96); }
|
|
6633
6650
|
@media (max-width:860px) {
|
|
6634
6651
|
#app, body.side-collapsed #app { grid-template-columns:42px minmax(0,1fr); }
|
|
6635
|
-
|
|
6652
|
+
/* z-index 必须压过 #drawer-mask(55):低于遮罩时抽屉整层被盖、手机端无法操作(同 3528 层注释) */
|
|
6653
|
+
#sidebar { position:fixed; z-index:60; left:42px; top:0; bottom:0; width:228px; transform:translateX(0); box-shadow:16px 0 34px rgba(30,40,50,.12); }
|
|
6636
6654
|
body.side-collapsed #sidebar { transform:translateX(-110%); opacity:0; }
|
|
6637
6655
|
main { padding:20px 16px 58px; }
|
|
6638
6656
|
.topbar { padding:9px 14px; }
|
|
@@ -7156,125 +7174,92 @@ main.browser-page-active #page-settings > #sub-browser .browser-shell {
|
|
|
7156
7174
|
.qr-card img { display: block; width: 132px; height: auto; border-radius: 6px; }
|
|
7157
7175
|
.qr-card .hint { margin: 4px 0 2px; color: var(--muted); max-width: 140px; }
|
|
7158
7176
|
|
|
7159
|
-
/*
|
|
7177
|
+
/* Reference office: artwork and live screens always share one aspect ratio. */
|
|
7160
7178
|
#rd-hive .sec-title { margin-bottom: 10px; }
|
|
7161
|
-
.hive-scene-tools {
|
|
7162
|
-
display: flex; align-items: center; gap: 7px; min-height: 38px; margin-bottom: 8px;
|
|
7163
|
-
color: var(--muted); font-size: 11px;
|
|
7164
|
-
}
|
|
7179
|
+
.hive-scene-tools { display: flex; align-items: center; gap: 7px; min-height: 38px; margin-bottom: 8px; color: var(--muted); font-size: 11px; }
|
|
7165
7180
|
.hive-view-switch { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--border); border-radius: 9px; background: var(--panel); }
|
|
7166
7181
|
.hive-view-btn, .hive-scene-btn {
|
|
7167
7182
|
min-height: 28px; padding: 4px 10px; border: 1px solid transparent; border-radius: 6px;
|
|
7168
7183
|
background: transparent; color: var(--muted); font: inherit; cursor: pointer;
|
|
7169
|
-
transition: color .16s ease, background .16s ease, border-color .16s ease;
|
|
7170
7184
|
}
|
|
7171
7185
|
.hive-view-btn:hover, .hive-scene-btn:hover { color: var(--text); background: color-mix(in srgb, var(--accent) 8%, transparent); }
|
|
7172
7186
|
.hive-view-btn.active { border-color: color-mix(in srgb, var(--accent) 32%, var(--border)); background: color-mix(in srgb, var(--accent) 12%, var(--panel)); color: var(--accent); }
|
|
7173
7187
|
.hive-scene-hint { margin-left: 8px; }
|
|
7174
7188
|
.hive-scene-spacer { flex: 1; }
|
|
7175
|
-
.hive-scene-btn { min-width: 31px;
|
|
7176
|
-
.hive-scene-
|
|
7189
|
+
.hive-scene-btn { min-width: 31px; border-color: var(--border); background: var(--panel); font-size: 13px; }
|
|
7190
|
+
.hive-scene-btn:disabled { opacity: .4; cursor: default; }
|
|
7191
|
+
.hive-scene-reset { font-size: 11px; }
|
|
7192
|
+
.hive-scene-pager { display: flex; align-items: center; gap: 5px; }
|
|
7193
|
+
.hive-scene-pager[hidden] { display: none; }
|
|
7194
|
+
.hive-scene-page-label { white-space: nowrap; font-family: var(--mono); }
|
|
7177
7195
|
.hive-viewport {
|
|
7178
|
-
position: relative;
|
|
7179
|
-
|
|
7180
|
-
|
|
7181
|
-
|
|
7182
|
-
|
|
7183
|
-
|
|
7184
|
-
|
|
7185
|
-
|
|
7186
|
-
}
|
|
7187
|
-
.hive-
|
|
7188
|
-
|
|
7189
|
-
|
|
7190
|
-
|
|
7191
|
-
|
|
7192
|
-
|
|
7193
|
-
|
|
7194
|
-
|
|
7195
|
-
|
|
7196
|
-
|
|
7197
|
-
|
|
7198
|
-
|
|
7199
|
-
|
|
7200
|
-
|
|
7201
|
-
}
|
|
7202
|
-
.
|
|
7203
|
-
|
|
7204
|
-
|
|
7205
|
-
|
|
7206
|
-
|
|
7207
|
-
|
|
7208
|
-
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
|
|
7214
|
-
|
|
7215
|
-
|
|
7216
|
-
}
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7220
|
-
|
|
7221
|
-
|
|
7222
|
-
|
|
7223
|
-
|
|
7224
|
-
}
|
|
7225
|
-
|
|
7226
|
-
|
|
7227
|
-
|
|
7228
|
-
|
|
7229
|
-
|
|
7230
|
-
|
|
7231
|
-
|
|
7232
|
-
|
|
7233
|
-
|
|
7234
|
-
|
|
7235
|
-
|
|
7236
|
-
|
|
7237
|
-
|
|
7238
|
-
|
|
7239
|
-
|
|
7240
|
-
transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
|
|
7241
|
-
}
|
|
7242
|
-
#rd-hive-cells .hive-cell::before {
|
|
7243
|
-
top: 0; bottom: 0; left: 0; right: auto; width: 3px; height: auto;
|
|
7244
|
-
border-radius: 9px 0 0 9px;
|
|
7245
|
-
}
|
|
7246
|
-
#rd-hive-cells .hive-cell:hover,
|
|
7247
|
-
#rd-hive-cells .hive-cell:focus-visible {
|
|
7248
|
-
transform: translateY(-3px) translateZ(8px);
|
|
7249
|
-
border-color: color-mix(in srgb, var(--accent) 50%, var(--border));
|
|
7250
|
-
background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 8%, var(--panel)), var(--panel) 78%);
|
|
7251
|
-
box-shadow: 0 5px 0 color-mix(in srgb, var(--accent) 25%, var(--border-strong)),
|
|
7252
|
-
0 13px 20px color-mix(in srgb, var(--accent) 12%, #000);
|
|
7253
|
-
}
|
|
7254
|
-
#rd-hive-cells .hive-cell.st-running {
|
|
7255
|
-
border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
|
|
7256
|
-
background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 9%, var(--panel)), var(--panel) 78%);
|
|
7257
|
-
}
|
|
7258
|
-
.hive-viewport.hive-2d { min-height: 0; max-height: none; overflow: visible; perspective: none; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
|
|
7259
|
-
#rd-hive-cells.hive-2d {
|
|
7260
|
-
width: 100%; padding: 0; transform: none; cursor: default; gap: 2px;
|
|
7261
|
-
}
|
|
7262
|
-
#rd-hive-cells.hive-2d .hive-lane,
|
|
7263
|
-
#rd-hive-cells.hive-2d .hive-lane:nth-child(n) { --lane-z: 0px; transform: none; }
|
|
7264
|
-
#rd-hive-cells.hive-2d .hive-cell:hover,
|
|
7265
|
-
#rd-hive-cells.hive-2d .hive-cell:focus-visible { transform: translateY(-1px); }
|
|
7266
|
-
.hive-scene-tools.hive-2d .hive-scene-hint { display: none; }
|
|
7196
|
+
position: relative; width: 100%; aspect-ratio: 2848 / 1600; overflow: hidden;
|
|
7197
|
+
container-type: inline-size; border: 1px solid var(--border); border-radius: 12px;
|
|
7198
|
+
background: #d4e7f7; cursor: grab; touch-action: pan-y;
|
|
7199
|
+
}
|
|
7200
|
+
.hive-viewport.is-dragging { cursor: grabbing; }
|
|
7201
|
+
.hive-reference-layer { position: absolute; inset: 0; transform-origin: center; }
|
|
7202
|
+
.hive-reference-layer[hidden] { display: none; }
|
|
7203
|
+
.hive-reference { position: absolute; inset: 0; display: block; width: 100%; height: 100%; user-select: none; pointer-events: none; }
|
|
7204
|
+
.hive-gl { display: none; }
|
|
7205
|
+
.hive-gl-overlay { position: absolute; inset: 0; pointer-events: none; }
|
|
7206
|
+
#rd-hive-viewport.hive-mode-3d #rd-hive-cells { display: none; }
|
|
7207
|
+
#rd-hive-viewport.hive-mode-2d { height: auto; aspect-ratio: auto; overflow: visible; border: 0; border-radius: 0; background: transparent; cursor: auto; }
|
|
7208
|
+
#rd-hive-viewport.hive-mode-2d .hive-reference-layer { display: none; }
|
|
7209
|
+
.hg-badge {
|
|
7210
|
+
position: absolute; transform: translate(-50%, -50%); width: 10.8%; height: 7.6%;
|
|
7211
|
+
display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4cqw;
|
|
7212
|
+
padding: .3cqw; border: 0; border-radius: 1.4cqw; pointer-events: auto; cursor: pointer;
|
|
7213
|
+
color: #101c29; background: rgba(255,255,255,.98); box-shadow: 0 .35cqw .9cqw rgba(14,55,88,.22);
|
|
7214
|
+
text-align: center; font-family: "Microsoft YaHei", sans-serif;
|
|
7215
|
+
}
|
|
7216
|
+
.hg-badge .hg-name { font-size: 1.25cqw; font-weight: 800; line-height: 1.15; white-space: nowrap; }
|
|
7217
|
+
.hg-badge .hg-meta { font-size: .58cqw; color: #536d7d; line-height: 1; white-space: nowrap; }
|
|
7218
|
+
.hg-badge:disabled { cursor: default; opacity: 1; }
|
|
7219
|
+
.hg-badge:hover:not(:disabled), .hg-badge:focus-visible { outline: .12cqw solid #71eaf9; outline-offset: .2cqw; }
|
|
7220
|
+
.hg-badge.hg-active { box-shadow: 0 0 1.1cqw rgba(0, 236, 255, .65); }
|
|
7221
|
+
.hg-monitor {
|
|
7222
|
+
position: absolute; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto 1fr;
|
|
7223
|
+
padding: .12cqw .3cqw; gap: .08cqw .18cqw; overflow: hidden; border: 0; border-radius: 0;
|
|
7224
|
+
pointer-events: auto; cursor: pointer; text-align: left; color: #d8f9ff; background: #06244a;
|
|
7225
|
+
font-family: var(--mono); font-size: .57cqw; line-height: 1.15;
|
|
7226
|
+
}
|
|
7227
|
+
.hg-monitor:disabled { opacity: 1; cursor: default; }
|
|
7228
|
+
.hg-monitor:hover:not(:disabled), .hg-monitor:focus-visible { outline: .12cqw solid #91f6ff; outline-offset: .1cqw; z-index: 1; }
|
|
7229
|
+
.hg-monitor-role { grid-column: 1 / -1; font-size: .69cqw; line-height: 1.16; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
7230
|
+
.hg-monitor-status { color: #94deee; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
7231
|
+
.hg-monitor-time { grid-column: 2; grid-row: 2; color: #9dd8e4; white-space: nowrap; }
|
|
7232
|
+
.hg-monitor-tail { grid-column: 1 / -1; color: #b3e7f2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
7233
|
+
.hg-monitor.st-running { box-shadow: inset 0 -.1cqw #52edf5; }
|
|
7234
|
+
.hg-monitor.st-running .hg-monitor-status { color: #5cf5fc; }
|
|
7235
|
+
.hg-monitor.st-done .hg-monitor-status { color: #99f3bf; }
|
|
7236
|
+
.hg-monitor.st-failed .hg-monitor-status, .hg-monitor.st-timeout .hg-monitor-status { color: #ffa2a2; }
|
|
7237
|
+
.hg-monitor.st-idle { color: #9abccf; }
|
|
7238
|
+
.hive-scene-tools.hive-2d .hive-scene-hint, .hive-scene-tools.hive-2d .hive-scene-pager { display: none; }
|
|
7239
|
+
.hg-chip, .hg-tip { display: none; }
|
|
7240
|
+
@media (prefers-reduced-motion: reduce) {
|
|
7241
|
+
.hive-reference-layer { transition: none; }
|
|
7242
|
+
}
|
|
7243
|
+
|
|
7244
|
+
.hive-detail-dialog {
|
|
7245
|
+
width: min(800px, calc(100vw - 32px)); max-height: 84vh; padding: 0; overflow: hidden;
|
|
7246
|
+
border: 1px solid var(--border); border-radius: 14px; color: var(--text); background: var(--panel);
|
|
7247
|
+
box-shadow: 0 24px 90px #0005;
|
|
7248
|
+
}
|
|
7249
|
+
.hive-detail-dialog::backdrop { background: #04182c66; backdrop-filter: blur(3px); }
|
|
7250
|
+
.hive-detail-head { display: flex; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--border); }
|
|
7251
|
+
.hive-detail-head h3 { margin: 0; flex: 1; overflow-wrap: anywhere; font-size: 17px; }
|
|
7252
|
+
.hive-detail-close { min-width: 32px; min-height: 32px; border: 1px solid var(--border); border-radius: 6px; background: var(--panel2); color: var(--text); cursor: pointer; }
|
|
7253
|
+
.hive-detail-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 12px 22px; font-size: 12px; color: var(--muted); }
|
|
7254
|
+
.hive-detail-status { color: var(--accent); font-weight: 600; }
|
|
7255
|
+
.hive-detail-log { margin: 0; padding: 18px 22px; min-height: 160px; max-height: 56vh; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--log-text); background: var(--log-bg); font: 12px/1.7 var(--mono); }
|
|
7256
|
+
.hive-detail-error { margin: 0; padding: 8px 22px; color: var(--bad); font-size: 12px; }
|
|
7257
|
+
.hive-detail-error:empty { display: none; }
|
|
7267
7258
|
@media (max-width: 720px) {
|
|
7268
7259
|
.hive-scene-tools { flex-wrap: wrap; }
|
|
7269
7260
|
.hive-scene-hint { order: 2; width: 100%; margin: 0 0 3px; }
|
|
7270
7261
|
.hive-scene-spacer { flex: 1 1 0; }
|
|
7271
|
-
.hive-
|
|
7272
|
-
#rd-hive-cells { padding: 12px 14px 18px; }
|
|
7273
|
-
}
|
|
7274
|
-
@media (prefers-reduced-motion: reduce) {
|
|
7275
|
-
#rd-hive-cells { transition: none; }
|
|
7276
|
-
#rd-hive-cells .hive-lane,
|
|
7277
|
-
#rd-hive-cells .hive-cell { transition: none; }
|
|
7262
|
+
.hive-detail-head, .hive-detail-meta, .hive-detail-log { padding-inline: 14px; }
|
|
7278
7263
|
}
|
|
7279
7264
|
|
|
7280
7265
|
/* ---- 发布台·批量选择(pb-pend):待发章号 chips + 全选/清空 + 发布所选/直发所选 ---- */
|
|
@@ -7290,3 +7275,4 @@ main.browser-page-active #page-settings > #sub-browser .browser-shell {
|
|
|
7290
7275
|
.pb-chip.on { border-color: var(--accent, #4a7dbe); color: var(--text); }
|
|
7291
7276
|
.pb-chip input { margin: 0; }
|
|
7292
7277
|
.pb-pend-btns { display: flex; gap: 8px; margin-top: 6px; }
|
|
7278
|
+
.pb-vol { font-size: 11px; color: var(--accent, #4a7dbe); margin-top: 5px; font-weight: 600; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codebee",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.98",
|
|
4
4
|
"description": "CodeBee · 多智能体编排台 — 统一编排本机 AI 编码 CLI(Codex / Claude Code / QwenCode / OpenCode / Aider…):目标→拆解→路由→执行→验证→跨厂商评审→修复→报告。纯 Python 标准库实现,本地 Web UI。",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"release:gate": "python scripts/release_gate.py",
|
|
37
37
|
"release": "python scripts/release_gate.py --publish",
|
|
38
38
|
"prepublishOnly": "python scripts/release_gate.py",
|
|
39
|
-
"release:clean": "python scripts/prune_release_debris.py"
|
|
39
|
+
"release:clean": "python scripts/prune_release_debris.py",
|
|
40
|
+
"postpublish": "node scripts/postpublish_tag.cjs"
|
|
40
41
|
},
|
|
41
42
|
"repository": {
|
|
42
43
|
"type": "git",
|