@levelcode/cli 0.3.6 → 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 +61 -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);
@@ -76649,6 +76697,7 @@ var init_researcher = __esm(() => {
76649
76697
  outputMode: "last_message",
76650
76698
  includeMessageHistory: true,
76651
76699
  toolNames: [
76700
+ "spawn_agents",
76652
76701
  "web_search",
76653
76702
  "read_docs",
76654
76703
  "read_files",
@@ -76949,6 +76998,7 @@ var init_designer = __esm(() => {
76949
76998
  outputMode: "last_message",
76950
76999
  includeMessageHistory: true,
76951
77000
  toolNames: [
77001
+ "spawn_agents",
76952
77002
  "read_files",
76953
77003
  "read_subtree",
76954
77004
  "code_search",
@@ -77102,6 +77152,7 @@ var init_product_lead = __esm(() => {
77102
77152
  outputMode: "last_message",
77103
77153
  includeMessageHistory: true,
77104
77154
  toolNames: [
77155
+ "spawn_agents",
77105
77156
  "write_todos",
77106
77157
  "read_files",
77107
77158
  "read_subtree",
@@ -77400,6 +77451,7 @@ var init_intern = __esm(() => {
77400
77451
  outputMode: "last_message",
77401
77452
  includeMessageHistory: false,
77402
77453
  toolNames: [
77454
+ "spawn_agents",
77403
77455
  "read_files",
77404
77456
  "read_subtree",
77405
77457
  "find_files",
@@ -77524,6 +77576,7 @@ var init_apprentice = __esm(() => {
77524
77576
  outputMode: "last_message",
77525
77577
  includeMessageHistory: false,
77526
77578
  toolNames: [
77579
+ "spawn_agents",
77527
77580
  "read_files",
77528
77581
  "read_subtree",
77529
77582
  "find_files",
@@ -165813,6 +165866,7 @@ Example 2:
165813
165866
  outputMode: "last_message",
165814
165867
  includeMessageHistory: false,
165815
165868
  toolNames: [
165869
+ "spawn_agents",
165816
165870
  "read_files",
165817
165871
  "read_subtree",
165818
165872
  "find_files",
@@ -166235,6 +166289,7 @@ Focus on strategic impact and organizational effectiveness, not implementation d
166235
166289
  outputMode: "last_message",
166236
166290
  includeMessageHistory: true,
166237
166291
  toolNames: [
166292
+ "spawn_agents",
166238
166293
  "read_files",
166239
166294
  "read_subtree",
166240
166295
  "code_search",
@@ -166792,6 +166847,7 @@ You are a fellow responsible for:
166792
166847
  outputMode: "last_message",
166793
166848
  includeMessageHistory: false,
166794
166849
  toolNames: [
166850
+ "spawn_agents",
166795
166851
  "read_files",
166796
166852
  "read_subtree",
166797
166853
  "find_files",
@@ -167474,6 +167530,7 @@ You are a principal IC responsible for:
167474
167530
  outputMode: "last_message",
167475
167531
  includeMessageHistory: true,
167476
167532
  toolNames: [
167533
+ "spawn_agents",
167477
167534
  "write_todos",
167478
167535
  "read_files",
167479
167536
  "read_subtree",
@@ -167631,6 +167688,7 @@ Focus on clarity and actionability. Every requirement should be specific enough
167631
167688
  outputMode: "last_message",
167632
167689
  includeMessageHistory: true,
167633
167690
  toolNames: [
167691
+ "spawn_agents",
167634
167692
  "web_search",
167635
167693
  "read_docs",
167636
167694
  "read_files",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@levelcode/cli",
3
- "version": "0.3.6",
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",