@scheduler-systems/gal-run 0.0.629 → 0.0.660

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.
@@ -1095,6 +1095,63 @@ function detectPackageManager() {
1095
1095
  return 'unknown';
1096
1096
  }
1097
1097
 
1098
+ function checkNodePty() {
1099
+ try {
1100
+ require.resolve('node-pty');
1101
+ return true;
1102
+ } catch {
1103
+ return false;
1104
+ }
1105
+ }
1106
+
1107
+ function installNodePty() {
1108
+ const { execSync } = require('child_process');
1109
+ const packageManager = detectPackageManager();
1110
+ const globalDir = path.join(os.homedir(), '.gal', 'node_modules');
1111
+
1112
+ if (!fs.existsSync(globalDir)) {
1113
+ fs.mkdirSync(globalDir, { recursive: true });
1114
+ }
1115
+
1116
+ const installCmd = packageManager === 'pnpm'
1117
+ ? `pnpm add -g node-pty`
1118
+ : packageManager === 'npm'
1119
+ ? `npm install -g node-pty`
1120
+ : `npm install -g node-pty`;
1121
+
1122
+ try {
1123
+ console.log('Installing node-pty for terminal automation...');
1124
+ execSync(installCmd, { stdio: 'pipe', timeout: 120000 });
1125
+ console.log('node-pty installed successfully.');
1126
+ return true;
1127
+ } catch (error) {
1128
+ const buildDeps = process.platform === 'darwin'
1129
+ ? 'Xcode Command Line Tools (xcode-select --install) and Python (brew install python)'
1130
+ : process.platform === 'linux'
1131
+ ? 'build-essential and python3 (apt install build-essential python3)'
1132
+ : 'Visual Studio Build Tools and Python';
1133
+
1134
+ console.log('');
1135
+ console.log('Note: node-pty installation skipped (optional dependency for terminal automation).');
1136
+ console.log(`To install manually: ${installCmd}`);
1137
+ console.log(`Prerequisites: ${buildDeps}`);
1138
+ console.log('');
1139
+ return false;
1140
+ }
1141
+ }
1142
+
1143
+ function ensureNodePty() {
1144
+ if (checkNodePty()) {
1145
+ return;
1146
+ }
1147
+
1148
+ if (process.env.CI || process.env.GAL_SKIP_NODE_PTY === '1') {
1149
+ return;
1150
+ }
1151
+
1152
+ installNodePty();
1153
+ }
1154
+
1098
1155
  function recordInstallMetadata() {
1099
1156
  try {
1100
1157
  const galDir = path.join(os.homedir(), '.gal');
@@ -1127,6 +1184,7 @@ function recordInstallMetadata() {
1127
1184
 
1128
1185
  function main() {
1129
1186
  recordInstallMetadata();
1187
+ ensureNodePty();
1130
1188
  const hookInstalled = installHook();
1131
1189
  const rulesInstalled = installRules();
1132
1190
  const statusLineInstalled = installStatusLine();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scheduler-systems/gal-run",
3
- "version": "0.0.629",
3
+ "version": "0.0.660",
4
4
  "description": "GAL CLI - Command-line tool for managing AI agent configurations across your organization",
5
5
  "license": "Elastic-2.0",
6
6
  "private": false,
@@ -47,13 +47,13 @@
47
47
  "node": ">=20.0.0"
48
48
  },
49
49
  "dependencies": {
50
- "@modelcontextprotocol/sdk": "^1.26.0",
51
- "@sentry/node": "^9.0.0",
52
50
  "@anthropic-ai/sdk": "^0.32.1",
53
51
  "@e2b/code-interpreter": "^2.3.3",
54
- "@google/generative-ai": "^0.24.1",
55
52
  "@google-cloud/vertexai": "^1.10.0",
53
+ "@google/generative-ai": "^0.24.1",
54
+ "@modelcontextprotocol/sdk": "^1.26.0",
56
55
  "@octokit/rest": "^22.0.1",
56
+ "@sentry/node": "^9.0.0",
57
57
  "chalk": "^5.4.1",
58
58
  "commander": "^12.1.0",
59
59
  "dotenv": "^17.3.1",
@@ -66,7 +66,7 @@
66
66
  "zod": "^3.23.8"
67
67
  },
68
68
  "optionalDependencies": {
69
- "node-pty": "^1.1.0",
69
+ "node-pty": "^1.2.0-beta.12",
70
70
  "playwright": "^1.49.0"
71
71
  }
72
72
  }