@popoverai/dotrequirements 0.40.0 → 0.40.1

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.
@@ -12,6 +12,7 @@ export interface TeamOption {
12
12
  tierName: string;
13
13
  projectCount: number;
14
14
  projectLimit: number;
15
+ paidPlansOffered?: boolean;
15
16
  }
16
17
  export interface ProjectOption {
17
18
  projectId: string;
@@ -116,7 +116,11 @@ function atCapacityDecision(projects, team) {
116
116
  retryFlag: `--connect ${p.projectSlug}`,
117
117
  })),
118
118
  { label: "Delete a project you no longer need (in the web app)" },
119
- { label: "Upgrade the team for more projects" },
119
+ {
120
+ label: team.paidPlansOffered
121
+ ? "Upgrade the team for more projects"
122
+ : "Contact us at sales@dotrequirements.io for more projects",
123
+ },
120
124
  ],
121
125
  };
122
126
  }
@@ -446,13 +446,16 @@ async function selectProjectOrCreate(client, team) {
446
446
  tierName: team.tierName ?? team.tier,
447
447
  projectCount: team.projectCount ?? projects.length,
448
448
  projectLimit: team.projectLimit ?? -1,
449
+ paidPlansOffered: team.paidPlansOffered,
449
450
  };
450
451
  const canCreate = hasCapacity(teamOption);
451
452
  if (projects.length === 0) {
452
453
  if (!canCreate) {
453
454
  // LINK-5.2: connect is impossible; the remedies live elsewhere
454
455
  console.log("This team has no projects and is at its project limit.");
455
- console.log("Delete a project you no longer need (in the web app) or upgrade the team, then retry.\n");
456
+ console.log(team.paidPlansOffered
457
+ ? "Delete a project you no longer need (in the web app) or upgrade the team, then retry.\n"
458
+ : "Delete a project you no longer need (in the web app) or contact us at sales@dotrequirements.io, then retry.\n");
456
459
  return null;
457
460
  }
458
461
  const confirmed = await promptConfirm("This team has no projects. Create a new one?", true);
@@ -12,6 +12,7 @@ export interface SelectedTeam {
12
12
  tierName?: string;
13
13
  projectCount?: number;
14
14
  projectLimit?: number;
15
+ paidPlansOffered?: boolean;
15
16
  }
16
17
  /**
17
18
  * Prompt user to select a team from their available teams.
@@ -35,6 +35,7 @@ export async function selectTeam(client) {
35
35
  tierName: selectedTeam?.tierName,
36
36
  projectCount: selectedTeam?.projectCount,
37
37
  projectLimit: selectedTeam?.projectLimit,
38
+ paidPlansOffered: selectedTeam?.paidPlansOffered,
38
39
  };
39
40
  }
40
41
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popoverai/dotrequirements",
3
- "version": "0.40.0",
3
+ "version": "0.40.1",
4
4
  "description": "Requirements as testable, human-readable data — CLI and test harness for spec-driven development with AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -60,7 +60,7 @@
60
60
  "@types/prompts": "^2.4.9",
61
61
  "chalk": "^5.6.2",
62
62
  "commander": "^12.1.0",
63
- "convex": "^1.42.3",
63
+ "convex": "^1.49.0",
64
64
  "find-up": "^8.0.0",
65
65
  "glob": "^13.0.0",
66
66
  "open": "^11.0.0",