@askexenow/exe-os 0.9.57 → 0.9.59
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/bin/cli.js +15 -8
- package/dist/bin/exe-boot.js +3 -8
- package/dist/bin/exe-dispatch.js +3 -8
- package/dist/bin/exe-gateway.js +3 -8
- package/dist/bin/exe-new-employee.js +12 -0
- package/dist/bin/exe-session-cleanup.js +3 -8
- package/dist/bin/git-sweep.js +3 -8
- package/dist/bin/install.js +12 -0
- package/dist/bin/intercom-check.js +3 -8
- package/dist/bin/scan-tasks.js +3 -8
- package/dist/gateway/index.js +3 -8
- package/dist/hooks/bug-report-worker.js +3 -8
- package/dist/hooks/commit-complete.js +3 -8
- package/dist/hooks/ingest-worker.js +377 -373
- package/dist/hooks/post-tool-combined.js +123 -108
- package/dist/hooks/pre-compact.js +3 -8
- package/dist/hooks/prompt-submit.js +3 -8
- package/dist/hooks/session-end.js +3 -8
- package/dist/index.js +3 -8
- package/dist/lib/exe-daemon.js +3 -8
- package/dist/lib/post-tool-memory.js +373 -0
- package/dist/lib/tasks.js +3 -8
- package/dist/lib/tmux-routing.js +3 -8
- package/dist/mcp/server.js +3 -8
- package/dist/mcp/tools/create-task.js +3 -8
- package/dist/mcp/tools/update-task.js +3 -8
- package/dist/runtime/index.js +3 -8
- package/dist/tui/App.js +3 -8
- package/package.json +10 -2
package/dist/bin/cli.js
CHANGED
|
@@ -1274,6 +1274,18 @@ async function mergeHooks(packageRoot, homeDir = os5.homedir()) {
|
|
|
1274
1274
|
];
|
|
1275
1275
|
let added = 0;
|
|
1276
1276
|
let skipped = 0;
|
|
1277
|
+
const legacyPostToolMarkers = [
|
|
1278
|
+
"dist/hooks/ingest.js",
|
|
1279
|
+
"dist/hooks/error-recall.js",
|
|
1280
|
+
"dist/hooks/ingest-worker.js"
|
|
1281
|
+
];
|
|
1282
|
+
const postToolGroups = settings.hooks["PostToolUse"];
|
|
1283
|
+
if (Array.isArray(postToolGroups)) {
|
|
1284
|
+
settings.hooks["PostToolUse"] = postToolGroups.map((g) => ({
|
|
1285
|
+
...g,
|
|
1286
|
+
hooks: g.hooks.filter((h) => !legacyPostToolMarkers.some((marker) => h.command.includes(marker)))
|
|
1287
|
+
})).filter((g) => g.hooks.length > 0);
|
|
1288
|
+
}
|
|
1277
1289
|
for (const { event, group, marker } of hooksToRegister) {
|
|
1278
1290
|
if (!settings.hooks[event]) {
|
|
1279
1291
|
settings.hooks[event] = [];
|
|
@@ -13362,17 +13374,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
13362
13374
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
13363
13375
|
if (hasAgentFlag) {
|
|
13364
13376
|
const symlink = ensureAgentSymlink(employeeName);
|
|
13365
|
-
|
|
13366
|
-
|
|
13367
|
-
} else if (existsSync24(identityPath2)) {
|
|
13368
|
-
identityFlag = ` --append-system-prompt-file ${identityPath2}`;
|
|
13369
|
-
legacyFallbackWarned = true;
|
|
13377
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
13378
|
+
if (symlink.action === "conflict") {
|
|
13370
13379
|
process.stderr.write(
|
|
13371
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
13380
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
13372
13381
|
`
|
|
13373
13382
|
);
|
|
13374
|
-
} else {
|
|
13375
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
13376
13383
|
}
|
|
13377
13384
|
} else if (existsSync24(identityPath2)) {
|
|
13378
13385
|
identityFlag = ` --append-system-prompt-file ${identityPath2}`;
|
package/dist/bin/exe-boot.js
CHANGED
|
@@ -8127,17 +8127,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
8127
8127
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
8128
8128
|
if (hasAgentFlag) {
|
|
8129
8129
|
const symlink = ensureAgentSymlink(employeeName);
|
|
8130
|
-
|
|
8131
|
-
|
|
8132
|
-
} else if (existsSync17(identityPath)) {
|
|
8133
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
8134
|
-
legacyFallbackWarned = true;
|
|
8130
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
8131
|
+
if (symlink.action === "conflict") {
|
|
8135
8132
|
process.stderr.write(
|
|
8136
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
8133
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
8137
8134
|
`
|
|
8138
8135
|
);
|
|
8139
|
-
} else {
|
|
8140
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
8141
8136
|
}
|
|
8142
8137
|
} else if (existsSync17(identityPath)) {
|
|
8143
8138
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
package/dist/bin/exe-dispatch.js
CHANGED
|
@@ -6402,17 +6402,12 @@ function spawnEmployee(employeeName2, exeSession2, projectDir2, opts) {
|
|
|
6402
6402
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
6403
6403
|
if (hasAgentFlag) {
|
|
6404
6404
|
const symlink = ensureAgentSymlink(employeeName2);
|
|
6405
|
-
|
|
6406
|
-
|
|
6407
|
-
} else if (existsSync15(identityPath)) {
|
|
6408
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
6409
|
-
legacyFallbackWarned = true;
|
|
6405
|
+
identityFlag = ` --agent ${employeeName2}`;
|
|
6406
|
+
if (symlink.action === "conflict") {
|
|
6410
6407
|
process.stderr.write(
|
|
6411
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName2}.md
|
|
6408
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName2}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
6412
6409
|
`
|
|
6413
6410
|
);
|
|
6414
|
-
} else {
|
|
6415
|
-
identityFlag = ` --agent ${employeeName2}`;
|
|
6416
6411
|
}
|
|
6417
6412
|
} else if (existsSync15(identityPath)) {
|
|
6418
6413
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
package/dist/bin/exe-gateway.js
CHANGED
|
@@ -11745,17 +11745,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
11745
11745
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
11746
11746
|
if (hasAgentFlag) {
|
|
11747
11747
|
const symlink = ensureAgentSymlink(employeeName);
|
|
11748
|
-
|
|
11749
|
-
|
|
11750
|
-
} else if (existsSync17(identityPath)) {
|
|
11751
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
11752
|
-
legacyFallbackWarned = true;
|
|
11748
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
11749
|
+
if (symlink.action === "conflict") {
|
|
11753
11750
|
process.stderr.write(
|
|
11754
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
11751
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
11755
11752
|
`
|
|
11756
11753
|
);
|
|
11757
|
-
} else {
|
|
11758
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
11759
11754
|
}
|
|
11760
11755
|
} else if (existsSync17(identityPath)) {
|
|
11761
11756
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
@@ -1721,6 +1721,18 @@ async function mergeHooks(packageRoot, homeDir = os7.homedir()) {
|
|
|
1721
1721
|
];
|
|
1722
1722
|
let added = 0;
|
|
1723
1723
|
let skipped = 0;
|
|
1724
|
+
const legacyPostToolMarkers = [
|
|
1725
|
+
"dist/hooks/ingest.js",
|
|
1726
|
+
"dist/hooks/error-recall.js",
|
|
1727
|
+
"dist/hooks/ingest-worker.js"
|
|
1728
|
+
];
|
|
1729
|
+
const postToolGroups = settings.hooks["PostToolUse"];
|
|
1730
|
+
if (Array.isArray(postToolGroups)) {
|
|
1731
|
+
settings.hooks["PostToolUse"] = postToolGroups.map((g) => ({
|
|
1732
|
+
...g,
|
|
1733
|
+
hooks: g.hooks.filter((h) => !legacyPostToolMarkers.some((marker) => h.command.includes(marker)))
|
|
1734
|
+
})).filter((g) => g.hooks.length > 0);
|
|
1735
|
+
}
|
|
1724
1736
|
for (const { event, group, marker } of hooksToRegister) {
|
|
1725
1737
|
if (!settings.hooks[event]) {
|
|
1726
1738
|
settings.hooks[event] = [];
|
|
@@ -8019,17 +8019,12 @@ function spawnEmployee(employeeName, exeSession2, projectDir, opts) {
|
|
|
8019
8019
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
8020
8020
|
if (hasAgentFlag) {
|
|
8021
8021
|
const symlink = ensureAgentSymlink(employeeName);
|
|
8022
|
-
|
|
8023
|
-
|
|
8024
|
-
} else if (existsSync17(identityPath)) {
|
|
8025
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
8026
|
-
legacyFallbackWarned = true;
|
|
8022
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
8023
|
+
if (symlink.action === "conflict") {
|
|
8027
8024
|
process.stderr.write(
|
|
8028
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
8025
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
8029
8026
|
`
|
|
8030
8027
|
);
|
|
8031
|
-
} else {
|
|
8032
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
8033
8028
|
}
|
|
8034
8029
|
} else if (existsSync17(identityPath)) {
|
|
8035
8030
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
package/dist/bin/git-sweep.js
CHANGED
|
@@ -6319,17 +6319,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
6319
6319
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
6320
6320
|
if (hasAgentFlag) {
|
|
6321
6321
|
const symlink = ensureAgentSymlink(employeeName);
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
} else if (existsSync15(identityPath)) {
|
|
6325
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
6326
|
-
legacyFallbackWarned = true;
|
|
6322
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
6323
|
+
if (symlink.action === "conflict") {
|
|
6327
6324
|
process.stderr.write(
|
|
6328
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
6325
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
6329
6326
|
`
|
|
6330
6327
|
);
|
|
6331
|
-
} else {
|
|
6332
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
6333
6328
|
}
|
|
6334
6329
|
} else if (existsSync15(identityPath)) {
|
|
6335
6330
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
package/dist/bin/install.js
CHANGED
|
@@ -1059,6 +1059,18 @@ async function mergeHooks(packageRoot, homeDir = os5.homedir()) {
|
|
|
1059
1059
|
];
|
|
1060
1060
|
let added = 0;
|
|
1061
1061
|
let skipped = 0;
|
|
1062
|
+
const legacyPostToolMarkers = [
|
|
1063
|
+
"dist/hooks/ingest.js",
|
|
1064
|
+
"dist/hooks/error-recall.js",
|
|
1065
|
+
"dist/hooks/ingest-worker.js"
|
|
1066
|
+
];
|
|
1067
|
+
const postToolGroups = settings.hooks["PostToolUse"];
|
|
1068
|
+
if (Array.isArray(postToolGroups)) {
|
|
1069
|
+
settings.hooks["PostToolUse"] = postToolGroups.map((g) => ({
|
|
1070
|
+
...g,
|
|
1071
|
+
hooks: g.hooks.filter((h) => !legacyPostToolMarkers.some((marker) => h.command.includes(marker)))
|
|
1072
|
+
})).filter((g) => g.hooks.length > 0);
|
|
1073
|
+
}
|
|
1062
1074
|
for (const { event, group, marker } of hooksToRegister) {
|
|
1063
1075
|
if (!settings.hooks[event]) {
|
|
1064
1076
|
settings.hooks[event] = [];
|
|
@@ -7797,17 +7797,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
7797
7797
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
7798
7798
|
if (hasAgentFlag) {
|
|
7799
7799
|
const symlink = ensureAgentSymlink(employeeName);
|
|
7800
|
-
|
|
7801
|
-
|
|
7802
|
-
} else if (existsSync15(identityPath)) {
|
|
7803
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
7804
|
-
legacyFallbackWarned = true;
|
|
7800
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
7801
|
+
if (symlink.action === "conflict") {
|
|
7805
7802
|
process.stderr.write(
|
|
7806
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
7803
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
7807
7804
|
`
|
|
7808
7805
|
);
|
|
7809
|
-
} else {
|
|
7810
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
7811
7806
|
}
|
|
7812
7807
|
} else if (existsSync15(identityPath)) {
|
|
7813
7808
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
package/dist/bin/scan-tasks.js
CHANGED
|
@@ -6390,17 +6390,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
6390
6390
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
6391
6391
|
if (hasAgentFlag) {
|
|
6392
6392
|
const symlink = ensureAgentSymlink(employeeName);
|
|
6393
|
-
|
|
6394
|
-
|
|
6395
|
-
} else if (existsSync15(identityPath)) {
|
|
6396
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
6397
|
-
legacyFallbackWarned = true;
|
|
6393
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
6394
|
+
if (symlink.action === "conflict") {
|
|
6398
6395
|
process.stderr.write(
|
|
6399
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
6396
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
6400
6397
|
`
|
|
6401
6398
|
);
|
|
6402
|
-
} else {
|
|
6403
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
6404
6399
|
}
|
|
6405
6400
|
} else if (existsSync15(identityPath)) {
|
|
6406
6401
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
package/dist/gateway/index.js
CHANGED
|
@@ -9640,17 +9640,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
9640
9640
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
9641
9641
|
if (hasAgentFlag) {
|
|
9642
9642
|
const symlink = ensureAgentSymlink(employeeName);
|
|
9643
|
-
|
|
9644
|
-
|
|
9645
|
-
} else if (existsSync17(identityPath)) {
|
|
9646
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
9647
|
-
legacyFallbackWarned = true;
|
|
9643
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
9644
|
+
if (symlink.action === "conflict") {
|
|
9648
9645
|
process.stderr.write(
|
|
9649
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
9646
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
9650
9647
|
`
|
|
9651
9648
|
);
|
|
9652
|
-
} else {
|
|
9653
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
9654
9649
|
}
|
|
9655
9650
|
} else if (existsSync17(identityPath)) {
|
|
9656
9651
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
@@ -6781,17 +6781,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
6781
6781
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
6782
6782
|
if (hasAgentFlag) {
|
|
6783
6783
|
const symlink = ensureAgentSymlink(employeeName);
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
} else if (existsSync15(identityPath)) {
|
|
6787
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
6788
|
-
legacyFallbackWarned = true;
|
|
6784
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
6785
|
+
if (symlink.action === "conflict") {
|
|
6789
6786
|
process.stderr.write(
|
|
6790
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
6787
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
6791
6788
|
`
|
|
6792
6789
|
);
|
|
6793
|
-
} else {
|
|
6794
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
6795
6790
|
}
|
|
6796
6791
|
} else if (existsSync15(identityPath)) {
|
|
6797
6792
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
@@ -6384,17 +6384,12 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
6384
6384
|
const hasAgentFlag = claudeSupportsAgentFlag();
|
|
6385
6385
|
if (hasAgentFlag) {
|
|
6386
6386
|
const symlink = ensureAgentSymlink(employeeName);
|
|
6387
|
-
|
|
6388
|
-
|
|
6389
|
-
} else if (existsSync15(identityPath)) {
|
|
6390
|
-
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|
|
6391
|
-
legacyFallbackWarned = true;
|
|
6387
|
+
identityFlag = ` --agent ${employeeName}`;
|
|
6388
|
+
if (symlink.action === "conflict") {
|
|
6392
6389
|
process.stderr.write(
|
|
6393
|
-
`[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md
|
|
6390
|
+
`[tmux-routing] WARN: respecting customer-owned ~/.claude/agents/${employeeName}.md (${symlink.conflict}); not overwriting or bypassing it.
|
|
6394
6391
|
`
|
|
6395
6392
|
);
|
|
6396
|
-
} else {
|
|
6397
|
-
identityFlag = ` --agent ${employeeName}`;
|
|
6398
6393
|
}
|
|
6399
6394
|
} else if (existsSync15(identityPath)) {
|
|
6400
6395
|
identityFlag = ` --append-system-prompt-file ${identityPath}`;
|