@levelcode/cli 0.3.7 → 0.3.8

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.
Files changed (2) hide show
  1. package/dist/index.js +51 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -69192,10 +69192,58 @@ function loadTeamConfig(teamName) {
69192
69192
  const raw = fs4.readFileSync(configPath, "utf-8");
69193
69193
  const parsed = JSON.parse(raw);
69194
69194
  const result = teamConfigSchema.safeParse(parsed);
69195
- if (!result.success) {
69196
- throw new Error(`Corrupted team config for "${teamName}": ${result.error.message}`);
69195
+ if (result.success) {
69196
+ return result.data;
69197
69197
  }
69198
- return result.data;
69198
+ try {
69199
+ const VALID_ROLES = [
69200
+ "coordinator",
69201
+ "cto",
69202
+ "vp-engineering",
69203
+ "director",
69204
+ "fellow",
69205
+ "distinguished-engineer",
69206
+ "principal-engineer",
69207
+ "senior-staff-engineer",
69208
+ "staff-engineer",
69209
+ "manager",
69210
+ "sub-manager",
69211
+ "senior-engineer",
69212
+ "super-senior",
69213
+ "mid-level-engineer",
69214
+ "junior-engineer",
69215
+ "researcher",
69216
+ "scientist",
69217
+ "designer",
69218
+ "product-lead",
69219
+ "tester",
69220
+ "reviewer",
69221
+ "intern",
69222
+ "apprentice"
69223
+ ];
69224
+ if (Array.isArray(parsed?.members)) {
69225
+ for (const member of parsed.members) {
69226
+ if (member?.role && !VALID_ROLES.includes(member.role)) {
69227
+ if (member.role.includes("director"))
69228
+ member.role = "director";
69229
+ else if (member.role.includes("manager"))
69230
+ member.role = "manager";
69231
+ else if (member.role.includes("engineer"))
69232
+ member.role = "senior-engineer";
69233
+ else if (member.role.includes("lead"))
69234
+ member.role = "product-lead";
69235
+ else
69236
+ member.role = "mid-level-engineer";
69237
+ }
69238
+ }
69239
+ }
69240
+ const retryResult = teamConfigSchema.safeParse(parsed);
69241
+ if (retryResult.success) {
69242
+ fs4.writeFileSync(configPath, JSON.stringify(retryResult.data, null, 2));
69243
+ return retryResult.data;
69244
+ }
69245
+ } catch {}
69246
+ return null;
69199
69247
  }
69200
69248
  async function saveTeamConfig(teamName, config2) {
69201
69249
  const configPath = getTeamConfigPath(teamName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@levelcode/cli",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "description": "LevelCode CLI - Terminal-based AI coding agent that outperforms Claude Code",
5
5
  "author": {
6
6
  "name": "Yethikrishna R",