jobarbiter 0.4.0 → 0.4.2
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.
- package/dist/index.js +29 -3
- package/dist/lib/detect-tools.js +15 -13
- package/package.json +1 -1
- package/src/index.ts +26 -3
- package/src/lib/detect-tools.ts +15 -13
package/dist/index.js
CHANGED
|
@@ -1331,6 +1331,7 @@ program
|
|
|
1331
1331
|
.command("update")
|
|
1332
1332
|
.description("Check for and install CLI updates")
|
|
1333
1333
|
.option("--check", "Just check for updates, don't install")
|
|
1334
|
+
.option("--no-reinstall-observers", "Skip automatic observer reinstall on major/minor bump")
|
|
1334
1335
|
.action(async (opts) => {
|
|
1335
1336
|
try {
|
|
1336
1337
|
console.log(`\nCurrent version: v${CLI_VERSION}`);
|
|
@@ -1378,9 +1379,34 @@ program
|
|
|
1378
1379
|
// Check if observer hooks might need reinstalling
|
|
1379
1380
|
const majorMinorChanged = pa[0] !== pb[0] || pa[1] !== pb[1];
|
|
1380
1381
|
if (majorMinorChanged) {
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1382
|
+
if (opts.reinstallObservers) {
|
|
1383
|
+
console.log("\nReinstalling observers for new version...");
|
|
1384
|
+
try {
|
|
1385
|
+
const agents = await detectAgents();
|
|
1386
|
+
const installedIds = agents.filter(a => a.installed).map(a => a.id);
|
|
1387
|
+
if (installedIds.length === 0) {
|
|
1388
|
+
console.log(" No observers installed — nothing to reinstall.\n");
|
|
1389
|
+
}
|
|
1390
|
+
else {
|
|
1391
|
+
await removeObservers(installedIds);
|
|
1392
|
+
console.log(` ✔ Removed observers for: ${installedIds.join(", ")}`);
|
|
1393
|
+
await installObservers(installedIds);
|
|
1394
|
+
success(`Reinstalled observers for: ${installedIds.join(", ")}`);
|
|
1395
|
+
}
|
|
1396
|
+
}
|
|
1397
|
+
catch (reinstallErr) {
|
|
1398
|
+
error(`Failed to reinstall observers: ${reinstallErr instanceof Error ? reinstallErr.message : String(reinstallErr)}`);
|
|
1399
|
+
console.log(" You can manually reinstall with:");
|
|
1400
|
+
console.log(" jobarbiter observe remove --all");
|
|
1401
|
+
console.log(" jobarbiter observe install --all\n");
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
else {
|
|
1405
|
+
console.log("\n⚠️ Major/minor version changed. Skipped observer reinstall (--no-reinstall-observers).");
|
|
1406
|
+
console.log(" To reinstall manually:");
|
|
1407
|
+
console.log(" jobarbiter observe remove --all");
|
|
1408
|
+
console.log(" jobarbiter observe install --all\n");
|
|
1409
|
+
}
|
|
1384
1410
|
}
|
|
1385
1411
|
}
|
|
1386
1412
|
catch (e) {
|
package/dist/lib/detect-tools.js
CHANGED
|
@@ -86,8 +86,8 @@ const TOOL_DEFINITIONS = [
|
|
|
86
86
|
category: "ai-agent",
|
|
87
87
|
vscodeExtension: "saoudrizwan.claude-dev",
|
|
88
88
|
cursorExtension: "saoudrizwan.claude-dev",
|
|
89
|
-
observerAvailable:
|
|
90
|
-
observationMethod: "
|
|
89
|
+
observerAvailable: true,
|
|
90
|
+
observationMethod: "poller",
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
id: "windsurf",
|
|
@@ -95,8 +95,8 @@ const TOOL_DEFINITIONS = [
|
|
|
95
95
|
category: "ai-agent",
|
|
96
96
|
binary: "windsurf",
|
|
97
97
|
macApp: "/Applications/Windsurf.app",
|
|
98
|
-
observerAvailable:
|
|
99
|
-
observationMethod: "
|
|
98
|
+
observerAvailable: true,
|
|
99
|
+
observationMethod: "poller",
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
id: "copilot-chat",
|
|
@@ -104,8 +104,8 @@ const TOOL_DEFINITIONS = [
|
|
|
104
104
|
category: "ai-agent",
|
|
105
105
|
vscodeExtension: "github.copilot-chat",
|
|
106
106
|
cursorExtension: "github.copilot-chat",
|
|
107
|
-
observerAvailable:
|
|
108
|
-
observationMethod: "
|
|
107
|
+
observerAvailable: true,
|
|
108
|
+
observationMethod: "poller",
|
|
109
109
|
},
|
|
110
110
|
{
|
|
111
111
|
id: "zed-ai",
|
|
@@ -141,7 +141,7 @@ const TOOL_DEFINITIONS = [
|
|
|
141
141
|
binary: "letta",
|
|
142
142
|
configDir: join(homedir(), ".letta"),
|
|
143
143
|
pipPackage: "letta",
|
|
144
|
-
observerAvailable:
|
|
144
|
+
observerAvailable: true,
|
|
145
145
|
observationMethod: "poller",
|
|
146
146
|
},
|
|
147
147
|
{
|
|
@@ -177,16 +177,18 @@ const TOOL_DEFINITIONS = [
|
|
|
177
177
|
name: "ChatGPT Desktop",
|
|
178
178
|
category: "chat",
|
|
179
179
|
macApp: "/Applications/ChatGPT.app",
|
|
180
|
-
|
|
181
|
-
|
|
180
|
+
configDir: platform() === "darwin" ? join(homedir(), "Library", "Containers", "com.openai.chat") : undefined,
|
|
181
|
+
observerAvailable: true,
|
|
182
|
+
observationMethod: "poller",
|
|
182
183
|
},
|
|
183
184
|
{
|
|
184
185
|
id: "claude-desktop",
|
|
185
186
|
name: "Claude Desktop",
|
|
186
187
|
category: "chat",
|
|
187
188
|
macApp: "/Applications/Claude.app",
|
|
188
|
-
|
|
189
|
-
|
|
189
|
+
configDir: platform() === "darwin" ? join(homedir(), "Library", "Application Support", "Claude") : undefined,
|
|
190
|
+
observerAvailable: true,
|
|
191
|
+
observationMethod: "poller",
|
|
190
192
|
},
|
|
191
193
|
{
|
|
192
194
|
id: "ollama",
|
|
@@ -204,8 +206,8 @@ const TOOL_DEFINITIONS = [
|
|
|
204
206
|
category: "orchestration",
|
|
205
207
|
binary: "openclaw",
|
|
206
208
|
configDir: join(homedir(), ".openclaw"),
|
|
207
|
-
observerAvailable:
|
|
208
|
-
observationMethod: "
|
|
209
|
+
observerAvailable: true,
|
|
210
|
+
observationMethod: "poller",
|
|
209
211
|
},
|
|
210
212
|
{
|
|
211
213
|
id: "langchain",
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -1420,6 +1420,7 @@ program
|
|
|
1420
1420
|
.command("update")
|
|
1421
1421
|
.description("Check for and install CLI updates")
|
|
1422
1422
|
.option("--check", "Just check for updates, don't install")
|
|
1423
|
+
.option("--no-reinstall-observers", "Skip automatic observer reinstall on major/minor bump")
|
|
1423
1424
|
.action(async (opts) => {
|
|
1424
1425
|
try {
|
|
1425
1426
|
console.log(`\nCurrent version: v${CLI_VERSION}`);
|
|
@@ -1471,9 +1472,31 @@ program
|
|
|
1471
1472
|
pa[0] !== pb[0] || pa[1] !== pb[1];
|
|
1472
1473
|
|
|
1473
1474
|
if (majorMinorChanged) {
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1475
|
+
if (opts.reinstallObservers) {
|
|
1476
|
+
console.log("\nReinstalling observers for new version...");
|
|
1477
|
+
try {
|
|
1478
|
+
const agents = await detectAgents();
|
|
1479
|
+
const installedIds = agents.filter(a => a.installed).map(a => a.id);
|
|
1480
|
+
if (installedIds.length === 0) {
|
|
1481
|
+
console.log(" No observers installed — nothing to reinstall.\n");
|
|
1482
|
+
} else {
|
|
1483
|
+
await removeObservers(installedIds);
|
|
1484
|
+
console.log(` ✔ Removed observers for: ${installedIds.join(", ")}`);
|
|
1485
|
+
await installObservers(installedIds);
|
|
1486
|
+
success(`Reinstalled observers for: ${installedIds.join(", ")}`);
|
|
1487
|
+
}
|
|
1488
|
+
} catch (reinstallErr) {
|
|
1489
|
+
error(`Failed to reinstall observers: ${reinstallErr instanceof Error ? reinstallErr.message : String(reinstallErr)}`);
|
|
1490
|
+
console.log(" You can manually reinstall with:");
|
|
1491
|
+
console.log(" jobarbiter observe remove --all");
|
|
1492
|
+
console.log(" jobarbiter observe install --all\n");
|
|
1493
|
+
}
|
|
1494
|
+
} else {
|
|
1495
|
+
console.log("\n⚠️ Major/minor version changed. Skipped observer reinstall (--no-reinstall-observers).");
|
|
1496
|
+
console.log(" To reinstall manually:");
|
|
1497
|
+
console.log(" jobarbiter observe remove --all");
|
|
1498
|
+
console.log(" jobarbiter observe install --all\n");
|
|
1499
|
+
}
|
|
1477
1500
|
}
|
|
1478
1501
|
} catch (e) {
|
|
1479
1502
|
handleError(e);
|
package/src/lib/detect-tools.ts
CHANGED
|
@@ -123,8 +123,8 @@ const TOOL_DEFINITIONS: ToolDefinition[] = [
|
|
|
123
123
|
category: "ai-agent",
|
|
124
124
|
vscodeExtension: "saoudrizwan.claude-dev",
|
|
125
125
|
cursorExtension: "saoudrizwan.claude-dev",
|
|
126
|
-
observerAvailable:
|
|
127
|
-
observationMethod: "
|
|
126
|
+
observerAvailable: true,
|
|
127
|
+
observationMethod: "poller",
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
id: "windsurf",
|
|
@@ -132,8 +132,8 @@ const TOOL_DEFINITIONS: ToolDefinition[] = [
|
|
|
132
132
|
category: "ai-agent",
|
|
133
133
|
binary: "windsurf",
|
|
134
134
|
macApp: "/Applications/Windsurf.app",
|
|
135
|
-
observerAvailable:
|
|
136
|
-
observationMethod: "
|
|
135
|
+
observerAvailable: true,
|
|
136
|
+
observationMethod: "poller",
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
id: "copilot-chat",
|
|
@@ -141,8 +141,8 @@ const TOOL_DEFINITIONS: ToolDefinition[] = [
|
|
|
141
141
|
category: "ai-agent",
|
|
142
142
|
vscodeExtension: "github.copilot-chat",
|
|
143
143
|
cursorExtension: "github.copilot-chat",
|
|
144
|
-
observerAvailable:
|
|
145
|
-
observationMethod: "
|
|
144
|
+
observerAvailable: true,
|
|
145
|
+
observationMethod: "poller",
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
id: "zed-ai",
|
|
@@ -178,7 +178,7 @@ const TOOL_DEFINITIONS: ToolDefinition[] = [
|
|
|
178
178
|
binary: "letta",
|
|
179
179
|
configDir: join(homedir(), ".letta"),
|
|
180
180
|
pipPackage: "letta",
|
|
181
|
-
observerAvailable:
|
|
181
|
+
observerAvailable: true,
|
|
182
182
|
observationMethod: "poller",
|
|
183
183
|
},
|
|
184
184
|
{
|
|
@@ -215,16 +215,18 @@ const TOOL_DEFINITIONS: ToolDefinition[] = [
|
|
|
215
215
|
name: "ChatGPT Desktop",
|
|
216
216
|
category: "chat",
|
|
217
217
|
macApp: "/Applications/ChatGPT.app",
|
|
218
|
-
|
|
219
|
-
|
|
218
|
+
configDir: platform() === "darwin" ? join(homedir(), "Library", "Containers", "com.openai.chat") : undefined,
|
|
219
|
+
observerAvailable: true,
|
|
220
|
+
observationMethod: "poller",
|
|
220
221
|
},
|
|
221
222
|
{
|
|
222
223
|
id: "claude-desktop",
|
|
223
224
|
name: "Claude Desktop",
|
|
224
225
|
category: "chat",
|
|
225
226
|
macApp: "/Applications/Claude.app",
|
|
226
|
-
|
|
227
|
-
|
|
227
|
+
configDir: platform() === "darwin" ? join(homedir(), "Library", "Application Support", "Claude") : undefined,
|
|
228
|
+
observerAvailable: true,
|
|
229
|
+
observationMethod: "poller",
|
|
228
230
|
},
|
|
229
231
|
{
|
|
230
232
|
id: "ollama",
|
|
@@ -243,8 +245,8 @@ const TOOL_DEFINITIONS: ToolDefinition[] = [
|
|
|
243
245
|
category: "orchestration",
|
|
244
246
|
binary: "openclaw",
|
|
245
247
|
configDir: join(homedir(), ".openclaw"),
|
|
246
|
-
observerAvailable:
|
|
247
|
-
observationMethod: "
|
|
248
|
+
observerAvailable: true,
|
|
249
|
+
observationMethod: "poller",
|
|
248
250
|
},
|
|
249
251
|
{
|
|
250
252
|
id: "langchain",
|