terminal-jarvis 0.0.9 → 0.0.12

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.
Binary file
Binary file
package/lib/index.d.ts CHANGED
@@ -1 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
1
3
  //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -1,2 +1,137 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const child_process_1 = require("child_process");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const os_1 = require("os");
8
+ function getBundledBinaryPath() {
9
+ const currentPlatform = (0, os_1.platform)();
10
+ const currentArch = (0, os_1.arch)();
11
+ // Map Node.js platform/arch to our binary naming convention
12
+ let binaryName = 'terminal-jarvis';
13
+ if (currentPlatform === 'linux') {
14
+ binaryName += '-linux';
15
+ }
16
+ else if (currentPlatform === 'darwin') {
17
+ binaryName += '-macos';
18
+ }
19
+ else if (currentPlatform === 'win32') {
20
+ binaryName += '-windows.exe';
21
+ }
22
+ else {
23
+ binaryName += '-linux'; // fallback
24
+ }
25
+ if (currentPlatform !== 'win32') {
26
+ if (currentArch === 'x64' || currentArch === 'x86_64') {
27
+ binaryName += '-x64';
28
+ }
29
+ else if (currentArch === 'arm64') {
30
+ binaryName += '-arm64';
31
+ }
32
+ else {
33
+ binaryName += '-x64'; // fallback
34
+ }
35
+ }
36
+ return (0, path_1.join)(__dirname, '..', 'bin', binaryName);
37
+ }
38
+ // Try to find the Rust binary in common locations
39
+ const possibleBinaries = [
40
+ (0, path_1.join)(__dirname, '..', 'bin', 'terminal-jarvis'), // Bundled binary (generic)
41
+ (0, path_1.join)(__dirname, '..', 'bin', 'terminal-jarvis-linux-x64'), // Bundled binary (platform-specific)
42
+ (0, path_1.join)(__dirname, '..', '..', '..', 'target', 'debug', 'terminal-jarvis'), // Local debug build
43
+ (0, path_1.join)(__dirname, '..', '..', '..', 'target', 'release', 'terminal-jarvis'), // Local release build
44
+ (0, path_1.join)(process.env.HOME || '', '.cargo', 'bin', 'terminal-jarvis'), // Cargo home
45
+ '/usr/local/bin/terminal-jarvis', // System install
46
+ ];
47
+ async function findRustBinary() {
48
+ // First check local build and other possible locations
49
+ for (const path of possibleBinaries) {
50
+ if ((0, fs_1.existsSync)(path)) {
51
+ return path;
52
+ }
53
+ }
54
+ // Then check if terminal-jarvis is available in PATH
55
+ return new Promise((resolve) => {
56
+ const child = (0, child_process_1.spawn)('which', ['terminal-jarvis'], { stdio: 'pipe' });
57
+ let output = '';
58
+ child.stdout.on('data', (data) => {
59
+ output += data.toString();
60
+ });
61
+ child.on('close', (code) => {
62
+ if (code === 0 && output.trim()) {
63
+ const binaryPath = output.trim();
64
+ // Simple check: if it's not in node_modules and exists, assume it's the Rust binary
65
+ if (!binaryPath.includes('node_modules') && !binaryPath.includes('.npm') && (0, fs_1.existsSync)(binaryPath)) {
66
+ resolve(binaryPath);
67
+ }
68
+ else {
69
+ resolve(null);
70
+ }
71
+ }
72
+ else {
73
+ resolve(null);
74
+ }
75
+ });
76
+ child.on('error', () => resolve(null));
77
+ });
78
+ }
79
+ async function main() {
80
+ const rustBinary = await findRustBinary();
81
+ if (rustBinary) {
82
+ // Run the Rust binary with all arguments
83
+ const child = (0, child_process_1.spawn)(rustBinary, process.argv.slice(2), {
84
+ stdio: 'inherit',
85
+ cwd: process.cwd()
86
+ });
87
+ // Add a reasonable timeout to prevent indefinite hanging
88
+ const timeout = setTimeout(() => {
89
+ console.log('\n⚠️ Process timed out after 60 seconds');
90
+ child.kill('SIGTERM');
91
+ process.exit(1);
92
+ }, 60000); // 60 second timeout
93
+ child.on('close', (code) => {
94
+ clearTimeout(timeout);
95
+ process.exit(code || 0);
96
+ });
97
+ child.on('error', (err) => {
98
+ clearTimeout(timeout);
99
+ console.error('Error running terminal-jarvis binary:', err.message);
100
+ showFallbackMessage();
101
+ });
102
+ }
103
+ else {
104
+ showFallbackMessage();
105
+ }
106
+ }
107
+ function showFallbackMessage() {
108
+ console.log("🤖 Terminal Jarvis v0.0.12");
109
+ console.log("");
110
+ console.log("❌ Error: Could not find or execute the T.JARVIS binary.");
111
+ console.log("");
112
+ console.log("🔍 Debug: Searched for binary in:");
113
+ console.log(" • Bundled binary (bin/terminal-jarvis)");
114
+ console.log(" • Local builds (target/debug, target/release)");
115
+ console.log(" • ~/.cargo/bin/terminal-jarvis");
116
+ console.log(" • /usr/local/bin/terminal-jarvis");
117
+ console.log(" • PATH (excluding node_modules)");
118
+ console.log("");
119
+ console.log("� This should not happen! The binary should be bundled with this package.");
120
+ console.log("");
121
+ console.log("🔧 Troubleshooting:");
122
+ console.log(" • Try reinstalling: npm uninstall -g terminal-jarvis && npm install -g terminal-jarvis");
123
+ console.log(" • Check if binary exists: ls -la $(npm root -g)/terminal-jarvis/bin/");
124
+ console.log(" • Verify executable permissions: chmod +x $(npm root -g)/terminal-jarvis/bin/terminal-jarvis");
125
+ console.log("");
126
+ console.log("� Alternative - Install directly from source:");
127
+ console.log(" cargo install --git https://github.com/BA-CalderonMorales/terminal-jarvis");
128
+ console.log("");
129
+ console.log("� If this persists, please report this issue:");
130
+ console.log(" https://github.com/BA-CalderonMorales/terminal-jarvis/issues");
131
+ process.exit(1);
132
+ }
133
+ main().catch((err) => {
134
+ console.error('Unexpected error:', err);
135
+ process.exit(1);
136
+ });
2
137
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,iDAAsC;AACtC,2BAAgC;AAChC,+BAA4B;AAC5B,2BAAoC;AAEpC,SAAS,oBAAoB;IACzB,MAAM,eAAe,GAAG,IAAA,aAAQ,GAAE,CAAC;IACnC,MAAM,WAAW,GAAG,IAAA,SAAI,GAAE,CAAC;IAE3B,4DAA4D;IAC5D,IAAI,UAAU,GAAG,iBAAiB,CAAC;IAEnC,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QAC9B,UAAU,IAAI,QAAQ,CAAC;IAC3B,CAAC;SAAM,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACtC,UAAU,IAAI,QAAQ,CAAC;IAC3B,CAAC;SAAM,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QACrC,UAAU,IAAI,cAAc,CAAC;IACjC,CAAC;SAAM,CAAC;QACJ,UAAU,IAAI,QAAQ,CAAC,CAAC,WAAW;IACvC,CAAC;IAED,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpD,UAAU,IAAI,MAAM,CAAC;QACzB,CAAC;aAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YACjC,UAAU,IAAI,QAAQ,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,UAAU,IAAI,MAAM,CAAC,CAAC,WAAW;QACrC,CAAC;IACL,CAAC;IAED,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC;AAED,kDAAkD;AAClD,MAAM,gBAAgB,GAAG;IACrB,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAG,2BAA2B;IAC7E,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,2BAA2B,CAAC,EAAG,qCAAqC;IACjG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAK,oBAAoB;IAChG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAG,sBAAsB;IAClG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAG,aAAa;IAChF,gCAAgC,EAAG,iBAAiB;CACvD,CAAC;AAEF,KAAK,UAAU,cAAc;IACzB,uDAAuD;IACvD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAClC,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACrE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,oFAAoF;gBACpF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;oBACjG,OAAO,CAAC,UAAU,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAE1C,IAAI,UAAU,EAAE,CAAC;QACb,yCAAyC;QACzC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACnD,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACrB,CAAC,CAAC;QAEH,yDAAyD;QACzD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,oBAAoB;QAE/B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACpE,mBAAmB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,mBAAmB,EAAE,CAAC;IAC1B,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IACxB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,gGAAgG,CAAC,CAAC;IAC9G,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,18 @@
1
1
  {
2
2
  "name": "terminal-jarvis",
3
- "version": "0.0.9",
3
+ "version": "0.0.12",
4
4
  "description": "A thin Rust wrapper that provides a unified interface for managing and running AI coding tools",
5
5
  "bin": "lib/index.js",
6
6
  "files": [
7
7
  "lib/",
8
+ "bin/",
8
9
  "README.md",
9
10
  "package.json"
10
11
  ],
11
12
  "scripts": {
12
13
  "sync-readme": "cp ../../README.md .",
14
+ "build-rust": "cd ../.. && cargo build --release",
15
+ "copy-binary": "mkdir -p bin && cp ../../target/release/terminal-jarvis bin/terminal-jarvis && chmod +x bin/terminal-jarvis",
13
16
  "typecheck": "tsc --noEmit",
14
17
  "lint": "biome lint src/",
15
18
  "lint:fix": "biome lint --write src/",
@@ -17,10 +20,10 @@
17
20
  "format:fix": "biome format --write src/",
18
21
  "check": "biome check src/",
19
22
  "check:fix": "biome check --write src/",
20
- "build": "npm run sync-readme && tsc",
23
+ "build": "npm run sync-readme && npm run build-rust && npm run copy-binary && tsc",
21
24
  "prepublishOnly": "npm run build",
22
25
  "dev": "npm run build && node lib/index.js",
23
- "postinstall": "node -e \"console.log('\\n🤖 Terminal Jarvis installed!\\n\\nFor the full T.JARVIS experience, install the Rust binary:\\n cargo install --git https://github.com/BA-CalderonMorales/terminal-jarvis\\n\\nThen run: npx terminal-jarvis\\n')\""
26
+ "postinstall": "node -e \"console.log(n🤖 Terminal Jarvis v0.0.12 installed successfully!nn✅ Full T.JARVIS interface ready to use!nnRun: npx terminal-jarvisn)\""
24
27
  },
25
28
  "keywords": [
26
29
  "cli",