@envpilot/cli 1.15.0 → 1.16.0

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.
@@ -4,7 +4,7 @@ import {
4
4
  getTopLevelCommandCatalog,
5
5
  getUser,
6
6
  isAuthenticated
7
- } from "./chunk-VYHEVPJQ.js";
7
+ } from "./chunk-YBF26DSR.js";
8
8
 
9
9
  // src/ui/app.tsx
10
10
  import {
@@ -7,7 +7,7 @@ function initSentry() {
7
7
  Sentry.init({
8
8
  dsn,
9
9
  environment: "cli",
10
- release: true ? "1.15.0" : "0.0.0",
10
+ release: true ? "1.16.0" : "0.0.0",
11
11
  // All EnvPilot surfaces report to one Sentry project; the surface tag
12
12
  // is how dashboards tell web / cli / extension events apart.
13
13
  initialScope: { tags: { surface: "cli" } },
@@ -460,10 +460,13 @@ async function executeCommand(argv) {
460
460
 
461
461
  // src/ui/render-tui.tsx
462
462
  import { jsx } from "react/jsx-runtime";
463
+ function isInteractiveTerminal() {
464
+ return Boolean(process.stdin.isTTY) && Boolean(process.stdout.isTTY);
465
+ }
463
466
  async function openTUI() {
464
467
  const [{ render }, { CLIApp }, { PressAnyKey }] = await Promise.all([
465
468
  import("ink"),
466
- import("./app-R4GNEYHB.js"),
469
+ import("./app-HQ5P6QE6.js"),
467
470
  import("./press-any-key-64XFP4O2.js")
468
471
  ]);
469
472
  while (true) {
@@ -1019,31 +1022,31 @@ async function getConvexClient() {
1019
1022
  var fnRef = makeFunctionReference;
1020
1023
  var refs = {
1021
1024
  listOrganizations: fnRef(
1022
- "organizations:listForUser"
1025
+ "features/organizations/queries:listForUser"
1023
1026
  ),
1024
1027
  getMembership: fnRef(
1025
- "organizations:getMembership"
1028
+ "features/organizations/queries:getMembership"
1026
1029
  ),
1027
- listProjectsWithStats: fnRef("projects:listWithStats"),
1030
+ listProjectsWithStats: fnRef("features/projects/queries:listWithStats"),
1028
1031
  getProject: fnRef(
1029
- "projects:getById"
1032
+ "features/projects/queries:getById"
1030
1033
  ),
1031
- getProjectMembership: fnRef("projectMembers:getProjectMembership"),
1032
- listVariablesWithAccess: fnRef("variables:listWithAccess"),
1033
- listVariableRequests: fnRef("variableRequests:listForProject"),
1034
- getResolvedFeatures: fnRef("featureRegistry:getResolvedFeatures"),
1035
- getResolvedFeaturesBatch: fnRef("featureRegistry:getResolvedFeaturesBatch"),
1036
- getOrganizationUsage: fnRef("tierLimits:getOrganizationUsage"),
1034
+ getProjectMembership: fnRef("features/projects/members:getProjectMembership"),
1035
+ listVariablesWithAccess: fnRef("features/variables/queries:listWithAccess"),
1036
+ listVariableRequests: fnRef("features/variables/requests/queries:listForProject"),
1037
+ getResolvedFeatures: fnRef("features/featureRegistry/queries:getResolvedFeatures"),
1038
+ getResolvedFeaturesBatch: fnRef("features/featureRegistry/queries:getResolvedFeaturesBatch"),
1039
+ getOrganizationUsage: fnRef("features/billing/tierLimits:getOrganizationUsage"),
1037
1040
  isEnforcementEnabled: fnRef(
1038
- "tierLimits:isEnforcementEnabled"
1041
+ "features/billing/tierLimits:isEnforcementEnabled"
1039
1042
  ),
1040
- deviceSessionRecord: fnRef("deviceSessions:record"),
1043
+ deviceSessionRecord: fnRef("features/users/deviceSessions:record"),
1041
1044
  deviceSessionRevoke: fnRef(
1042
- "deviceSessions:revoke"
1045
+ "features/users/deviceSessions:revoke"
1043
1046
  ),
1044
- pullValues: fnRef("variableValues:pullValues"),
1045
- pushBulk: fnRef("variableValues:pushBulk"),
1046
- createVariableRequest: fnRef("variableRequests:createWithValue")
1047
+ pullValues: fnRef("features/variables/values:pullValues"),
1048
+ pushBulk: fnRef("features/variables/values:pushBulk"),
1049
+ createVariableRequest: fnRef("features/variables/requests/actions:createWithValue")
1047
1050
  };
1048
1051
  async function convexQuery(ref, ...args) {
1049
1052
  const client = await getConvexClient();
@@ -5038,6 +5041,12 @@ function createUICommand() {
5038
5041
  if (process.env.ENVPILOT_TUI_CHILD === "1") {
5039
5042
  return;
5040
5043
  }
5044
+ if (!isInteractiveTerminal()) {
5045
+ console.error(
5046
+ "The interactive dashboard requires an interactive terminal (TTY). Run `envpilot --help` for command usage."
5047
+ );
5048
+ process.exit(1);
5049
+ }
5041
5050
  await openTUI();
5042
5051
  });
5043
5052
  }
@@ -5930,6 +5939,7 @@ export {
5930
5939
  getApiUrl,
5931
5940
  getUser,
5932
5941
  isAuthenticated,
5942
+ isInteractiveTerminal,
5933
5943
  openTUI,
5934
5944
  formatArgv,
5935
5945
  getTopLevelCommandCatalog
package/dist/index.js CHANGED
@@ -5,14 +5,15 @@ import {
5
5
  getApiUrl,
6
6
  getTopLevelCommandCatalog,
7
7
  initSentry,
8
+ isInteractiveTerminal,
8
9
  openTUI
9
- } from "./chunk-VYHEVPJQ.js";
10
+ } from "./chunk-YBF26DSR.js";
10
11
 
11
12
  // src/lib/program.ts
12
13
  import { Command } from "commander";
13
14
 
14
15
  // src/lib/cli-version.ts
15
- var CLI_VERSION = true ? "1.15.0" : "0.0.0";
16
+ var CLI_VERSION = true ? "1.16.0" : "0.0.0";
16
17
 
17
18
  // src/lib/version-check.ts
18
19
  import chalk from "chalk";
@@ -152,7 +153,7 @@ function createProgram() {
152
153
  initSentry();
153
154
  async function main() {
154
155
  const args = process.argv.slice(2);
155
- const shouldOpenTUI = process.env.ENVPILOT_TUI_CHILD !== "1" && args.length === 0;
156
+ const shouldOpenTUI = process.env.ENVPILOT_TUI_CHILD !== "1" && args.length === 0 && isInteractiveTerminal();
156
157
  if (shouldOpenTUI) {
157
158
  await openTUI();
158
159
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envpilot/cli",
3
- "version": "1.15.0",
3
+ "version": "1.16.0",
4
4
  "description": "Envpilot CLI — sync and manage environment variables from the terminal",
5
5
  "type": "module",
6
6
  "bin": {
@@ -49,7 +49,7 @@
49
49
  "vitest": "^3.0.4"
50
50
  },
51
51
  "engines": {
52
- "node": ">=18.0.0"
52
+ "node": ">=22.0.0"
53
53
  },
54
54
  "keywords": [
55
55
  "env",