@jspg-ai/coding-bb 0.0.2-beta.23 → 0.0.2-beta.24
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.
|
@@ -108,7 +108,7 @@ function loadWorkspaces(configPath = DEFAULT_CONFIG) {
|
|
|
108
108
|
* - 文件存在且为合法 JSON
|
|
109
109
|
* - 含 apps 数组且非空
|
|
110
110
|
* - 每个 app 对象必须含 name / repo / side 三个字段
|
|
111
|
-
* - name、repo 为非空字符串;side 必须为 'front' 或 '
|
|
111
|
+
* - name、repo 为非空字符串;side 必须为 'front'、'back' 或 'mixed'
|
|
112
112
|
* - desc 为可选字段;一旦出现必须是非空字符串(应用职责描述)
|
|
113
113
|
*
|
|
114
114
|
* @param {string} configPath workspace-config.json 的绝对路径
|
|
@@ -138,7 +138,7 @@ function validateWorkspaceConfig(configPath) {
|
|
|
138
138
|
return { valid: false, message: 'workspace-config.json 中 apps 数组为空,请至少配置一个关联应用' };
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
const VALID_SIDES = ['front', 'back'];
|
|
141
|
+
const VALID_SIDES = ['front', 'back', 'mixed'];
|
|
142
142
|
for (let i = 0; i < raw.apps.length; i++) {
|
|
143
143
|
const app = raw.apps[i];
|
|
144
144
|
const label = `第 ${i + 1} 项`;
|
|
@@ -153,10 +153,10 @@ function validateWorkspaceConfig(configPath) {
|
|
|
153
153
|
return { valid: false, message: `workspace-config.json "${app.name}" 缺少 repo(Git 仓库地址)` };
|
|
154
154
|
}
|
|
155
155
|
if (typeof app.side !== 'string' || !app.side.trim()) {
|
|
156
|
-
return { valid: false, message: `workspace-config.json "${app.name}" 缺少 side(仓库类型,可选值:front / back)` };
|
|
156
|
+
return { valid: false, message: `workspace-config.json "${app.name}" 缺少 side(仓库类型,可选值:front / back / mixed)` };
|
|
157
157
|
}
|
|
158
158
|
if (!VALID_SIDES.includes(app.side.trim())) {
|
|
159
|
-
return { valid: false, message: `workspace-config.json "${app.name}" 的 side 字段值无效:"${app.side}"(可选值:front / back)` };
|
|
159
|
+
return { valid: false, message: `workspace-config.json "${app.name}" 的 side 字段值无效:"${app.side}"(可选值:front / back / mixed)` };
|
|
160
160
|
}
|
|
161
161
|
if (app.desc !== undefined && (typeof app.desc !== 'string' || !app.desc.trim())) {
|
|
162
162
|
return { valid: false, message: `workspace-config.json "${app.name}" 的 desc 字段应为非空字符串(该应用的职责描述),不需要可整条删除` };
|
|
@@ -114,11 +114,11 @@ worktree 需要知道要关联哪些应用仓库。
|
|
|
114
114
|
```
|
|
115
115
|
应用名: ep-user-auth-app
|
|
116
116
|
仓库地址: git@code.example.com:team/ep-user-auth-app.git
|
|
117
|
-
类型: back
|
|
117
|
+
类型: back(可选值:front 前端 / back 后端 / mixed 前后端混合)
|
|
118
118
|
|
|
119
119
|
应用名: ep-user-info-server
|
|
120
120
|
仓库地址: git@code.example.com:team/ep-user-info-server.git
|
|
121
|
-
类型: back
|
|
121
|
+
类型: back(可选值:front 前端 / back 后端 / mixed 前后端混合)
|
|
122
122
|
```
|
|
123
123
|
- 解析后写入 `workspace-config.json`:
|
|
124
124
|
```json
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_comment": "AI 开发工作空间配置样例(请勿修改本文件,复制为工作空间根目录的 workspace-config.json 后编辑使用)。apps 数组中每个对象需包含:name(应用名,同时作为 .codespace/ 子目录名)、repo(Git 仓库地址,支持 SSH 或 HTTPS)、side(仓库类型,'front' 表示前端工程,'back'
|
|
2
|
+
"_comment": "AI 开发工作空间配置样例(请勿修改本文件,复制为工作空间根目录的 workspace-config.json 后编辑使用)。apps 数组中每个对象需包含:name(应用名,同时作为 .codespace/ 子目录名)、repo(Git 仓库地址,支持 SSH 或 HTTPS)、side(仓库类型,'front' 表示前端工程,'back' 表示后端工程,'mixed' 表示前后端混合工程);可选 desc(该应用的职责描述,便于人与 AI 理解应用分工)。",
|
|
3
3
|
"apps":
|
|
4
4
|
[
|
|
5
5
|
{
|