@askexenow/exe-os 0.9.18 → 0.9.19
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 +1 -5
- package/dist/bin/exe-boot.js +1 -5
- package/dist/bin/exe-dispatch.js +1 -5
- package/dist/bin/exe-gateway.js +1 -5
- package/dist/bin/exe-launch-agent.js +82 -7
- package/dist/bin/exe-session-cleanup.js +1 -5
- package/dist/bin/git-sweep.js +1 -5
- package/dist/bin/intercom-check.js +1 -5
- package/dist/bin/scan-tasks.js +1 -5
- package/dist/gateway/index.js +1 -5
- package/dist/hooks/bug-report-worker.js +1 -5
- package/dist/hooks/commit-complete.js +1 -5
- package/dist/hooks/pre-compact.js +1 -5
- package/dist/hooks/prompt-submit.js +3 -8
- package/dist/hooks/session-end.js +1 -5
- package/dist/index.js +1 -5
- package/dist/lib/exe-daemon.js +7 -15
- package/dist/lib/tasks.js +1 -5
- package/dist/lib/tmux-routing.js +1 -5
- package/dist/mcp/server.js +1 -5
- package/dist/mcp/tools/create-task.js +1 -5
- package/dist/mcp/tools/update-task.js +1 -5
- package/dist/runtime/index.js +1 -5
- package/dist/tui/App.js +1 -5
- package/package.json +1 -1
package/dist/bin/cli.js
CHANGED
|
@@ -12345,11 +12345,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
12345
12345
|
}
|
|
12346
12346
|
} catch {
|
|
12347
12347
|
}
|
|
12348
|
-
|
|
12349
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
12350
|
-
{ timeout: 3e3 }
|
|
12351
|
-
);
|
|
12352
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
12348
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
12353
12349
|
return true;
|
|
12354
12350
|
} catch {
|
|
12355
12351
|
return false;
|
package/dist/bin/exe-boot.js
CHANGED
|
@@ -7563,11 +7563,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
7563
7563
|
}
|
|
7564
7564
|
} catch {
|
|
7565
7565
|
}
|
|
7566
|
-
|
|
7567
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
7568
|
-
{ timeout: 3e3 }
|
|
7569
|
-
);
|
|
7570
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
7566
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
7571
7567
|
return true;
|
|
7572
7568
|
} catch {
|
|
7573
7569
|
return false;
|
package/dist/bin/exe-dispatch.js
CHANGED
|
@@ -6143,11 +6143,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6143
6143
|
}
|
|
6144
6144
|
} catch {
|
|
6145
6145
|
}
|
|
6146
|
-
|
|
6147
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6148
|
-
{ timeout: 3e3 }
|
|
6149
|
-
);
|
|
6150
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6146
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6151
6147
|
return true;
|
|
6152
6148
|
} catch {
|
|
6153
6149
|
return false;
|
package/dist/bin/exe-gateway.js
CHANGED
|
@@ -10980,11 +10980,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
10980
10980
|
}
|
|
10981
10981
|
} catch {
|
|
10982
10982
|
}
|
|
10983
|
-
|
|
10984
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
10985
|
-
{ timeout: 3e3 }
|
|
10986
|
-
);
|
|
10987
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
10983
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
10988
10984
|
return true;
|
|
10989
10985
|
} catch {
|
|
10990
10986
|
return false;
|
|
@@ -4891,6 +4891,79 @@ function identityPathFor(agent) {
|
|
|
4891
4891
|
}
|
|
4892
4892
|
return exactPath;
|
|
4893
4893
|
}
|
|
4894
|
+
var DEFAULT_ROLE_MCP_MAP = {
|
|
4895
|
+
coo: ["exe-browser", "brave-search"],
|
|
4896
|
+
cto: ["brave-search"],
|
|
4897
|
+
"principal engineer": [],
|
|
4898
|
+
"staff code reviewer": [],
|
|
4899
|
+
cmo: ["exe-browser", "brave-search"],
|
|
4900
|
+
"content production specialist": ["exe-create"],
|
|
4901
|
+
"ai product lead": ["brave-search"]
|
|
4902
|
+
};
|
|
4903
|
+
var ALWAYS_INCLUDE_SERVERS = ["exe-mem"];
|
|
4904
|
+
function collectAllMcpServers() {
|
|
4905
|
+
const servers = {};
|
|
4906
|
+
const sources = [
|
|
4907
|
+
path11.join(os7.homedir(), ".claude.json"),
|
|
4908
|
+
path11.join(os7.homedir(), ".claude", "settings.json")
|
|
4909
|
+
];
|
|
4910
|
+
for (const src of sources) {
|
|
4911
|
+
try {
|
|
4912
|
+
if (!existsSync10(src)) continue;
|
|
4913
|
+
const data = JSON.parse(readFileSync7(src, "utf-8"));
|
|
4914
|
+
const block = data.mcpServers;
|
|
4915
|
+
if (!block) continue;
|
|
4916
|
+
for (const [name, cfg] of Object.entries(block)) {
|
|
4917
|
+
if (!servers[name]) servers[name] = cfg;
|
|
4918
|
+
}
|
|
4919
|
+
} catch {
|
|
4920
|
+
}
|
|
4921
|
+
}
|
|
4922
|
+
return servers;
|
|
4923
|
+
}
|
|
4924
|
+
function generateLeanMcpConfig(agent, role) {
|
|
4925
|
+
try {
|
|
4926
|
+
const allServers = collectAllMcpServers();
|
|
4927
|
+
if (Object.keys(allServers).length === 0) return null;
|
|
4928
|
+
const normalizedRole = role.toLowerCase();
|
|
4929
|
+
const extraServers = DEFAULT_ROLE_MCP_MAP[normalizedRole] ?? [];
|
|
4930
|
+
const allowedNames = /* @__PURE__ */ new Set([...ALWAYS_INCLUDE_SERVERS, ...extraServers]);
|
|
4931
|
+
const leanServers = {};
|
|
4932
|
+
for (const [name, cfg] of Object.entries(allServers)) {
|
|
4933
|
+
if (allowedNames.has(name)) {
|
|
4934
|
+
leanServers[name] = cfg;
|
|
4935
|
+
}
|
|
4936
|
+
}
|
|
4937
|
+
if (Object.keys(leanServers).length >= Object.keys(allServers).length) return null;
|
|
4938
|
+
if (!leanServers["exe-mem"]) {
|
|
4939
|
+
const packageRoot = path11.resolve(path11.dirname(new URL(import.meta.url).pathname), "..", "..");
|
|
4940
|
+
leanServers["exe-mem"] = {
|
|
4941
|
+
type: "stdio",
|
|
4942
|
+
command: "node",
|
|
4943
|
+
args: [path11.join(packageRoot, "dist", "mcp", "server.js")],
|
|
4944
|
+
env: {}
|
|
4945
|
+
};
|
|
4946
|
+
}
|
|
4947
|
+
const configDir = path11.join(os7.homedir(), ".exe-os", "mcp-configs");
|
|
4948
|
+
mkdirSync5(configDir, { recursive: true });
|
|
4949
|
+
const configPath = path11.join(configDir, `${agent}-lean.json`);
|
|
4950
|
+
writeFileSync6(configPath, JSON.stringify({ mcpServers: leanServers }, null, 2), "utf-8");
|
|
4951
|
+
const saved = Object.keys(allServers).length - Object.keys(leanServers).length;
|
|
4952
|
+
if (saved > 0) {
|
|
4953
|
+
process.stderr.write(
|
|
4954
|
+
`[exe-launch-agent] lean MCP: ${agent} (${role}) gets ${Object.keys(leanServers).length}/${Object.keys(allServers).length} servers (${saved} skipped)
|
|
4955
|
+
`
|
|
4956
|
+
);
|
|
4957
|
+
}
|
|
4958
|
+
return configPath;
|
|
4959
|
+
} catch (err) {
|
|
4960
|
+
process.stderr.write(
|
|
4961
|
+
`[exe-launch-agent] lean MCP config generation failed: ${err instanceof Error ? err.message : String(err)}
|
|
4962
|
+
`
|
|
4963
|
+
);
|
|
4964
|
+
return null;
|
|
4965
|
+
}
|
|
4966
|
+
}
|
|
4894
4967
|
function leanMcpConfigFor(agent) {
|
|
4895
4968
|
const p = path11.join(os7.homedir(), ".exe-os", "mcp-configs", `${agent}-lean.json`);
|
|
4896
4969
|
return existsSync10(p) ? p : null;
|
|
@@ -5148,16 +5221,10 @@ async function main() {
|
|
|
5148
5221
|
}
|
|
5149
5222
|
}
|
|
5150
5223
|
}
|
|
5151
|
-
const plan = buildLaunchPlan(agent, behaviorsPath, passthrough, hasAgentFlag, provider);
|
|
5152
5224
|
const memoryAgent = baseAgentName(agent);
|
|
5153
|
-
process.env.AGENT_ID = memoryAgent;
|
|
5154
|
-
if (!process.env.EXE_SESSION_KEY) {
|
|
5155
|
-
process.env.EXE_SESSION_KEY = `launcher-${Date.now()}-${process.pid}`;
|
|
5156
|
-
}
|
|
5157
|
-
process.env.EXE_RUNTIME = "claude";
|
|
5158
5225
|
const empRole = (() => {
|
|
5159
5226
|
try {
|
|
5160
|
-
const emps =
|
|
5227
|
+
const emps = readFileSync7(
|
|
5161
5228
|
path11.join(os7.homedir(), ".exe-os", "exe-employees.json"),
|
|
5162
5229
|
"utf-8"
|
|
5163
5230
|
);
|
|
@@ -5169,6 +5236,13 @@ async function main() {
|
|
|
5169
5236
|
return "employee";
|
|
5170
5237
|
}
|
|
5171
5238
|
})();
|
|
5239
|
+
generateLeanMcpConfig(memoryAgent, empRole);
|
|
5240
|
+
const plan = buildLaunchPlan(agent, behaviorsPath, passthrough, hasAgentFlag, provider);
|
|
5241
|
+
process.env.AGENT_ID = memoryAgent;
|
|
5242
|
+
if (!process.env.EXE_SESSION_KEY) {
|
|
5243
|
+
process.env.EXE_SESSION_KEY = `launcher-${Date.now()}-${process.pid}`;
|
|
5244
|
+
}
|
|
5245
|
+
process.env.EXE_RUNTIME = "claude";
|
|
5172
5246
|
process.env.AGENT_ROLE = empRole;
|
|
5173
5247
|
try {
|
|
5174
5248
|
const { writeActiveAgent: writeActiveAgent2 } = await Promise.resolve().then(() => (init_active_agent(), active_agent_exports));
|
|
@@ -5206,6 +5280,7 @@ export {
|
|
|
5206
5280
|
applyProviderEnv,
|
|
5207
5281
|
buildLaunchPlan,
|
|
5208
5282
|
ccSupportsFlag,
|
|
5283
|
+
generateLeanMcpConfig,
|
|
5209
5284
|
parseBasename,
|
|
5210
5285
|
resolveAgent
|
|
5211
5286
|
};
|
|
@@ -7276,11 +7276,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName2, taskTit
|
|
|
7276
7276
|
}
|
|
7277
7277
|
} catch {
|
|
7278
7278
|
}
|
|
7279
|
-
|
|
7280
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
7281
|
-
{ timeout: 3e3 }
|
|
7282
|
-
);
|
|
7283
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName2} completed "${taskTitle.slice(0, 50)}")`);
|
|
7279
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName2} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
7284
7280
|
return true;
|
|
7285
7281
|
} catch {
|
|
7286
7282
|
return false;
|
package/dist/bin/git-sweep.js
CHANGED
|
@@ -6060,11 +6060,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6060
6060
|
}
|
|
6061
6061
|
} catch {
|
|
6062
6062
|
}
|
|
6063
|
-
|
|
6064
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6065
|
-
{ timeout: 3e3 }
|
|
6066
|
-
);
|
|
6067
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6063
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6068
6064
|
return true;
|
|
6069
6065
|
} catch {
|
|
6070
6066
|
return false;
|
|
@@ -7053,11 +7053,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
7053
7053
|
}
|
|
7054
7054
|
} catch {
|
|
7055
7055
|
}
|
|
7056
|
-
|
|
7057
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
7058
|
-
{ timeout: 3e3 }
|
|
7059
|
-
);
|
|
7060
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
7056
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
7061
7057
|
return true;
|
|
7062
7058
|
} catch {
|
|
7063
7059
|
return false;
|
package/dist/bin/scan-tasks.js
CHANGED
|
@@ -6131,11 +6131,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6131
6131
|
}
|
|
6132
6132
|
} catch {
|
|
6133
6133
|
}
|
|
6134
|
-
|
|
6135
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6136
|
-
{ timeout: 3e3 }
|
|
6137
|
-
);
|
|
6138
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6134
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6139
6135
|
return true;
|
|
6140
6136
|
} catch {
|
|
6141
6137
|
return false;
|
package/dist/gateway/index.js
CHANGED
|
@@ -8896,11 +8896,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
8896
8896
|
}
|
|
8897
8897
|
} catch {
|
|
8898
8898
|
}
|
|
8899
|
-
|
|
8900
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
8901
|
-
{ timeout: 3e3 }
|
|
8902
|
-
);
|
|
8903
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
8899
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
8904
8900
|
return true;
|
|
8905
8901
|
} catch {
|
|
8906
8902
|
return false;
|
|
@@ -5327,11 +5327,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
5327
5327
|
}
|
|
5328
5328
|
} catch {
|
|
5329
5329
|
}
|
|
5330
|
-
|
|
5331
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
5332
|
-
{ timeout: 3e3 }
|
|
5333
|
-
);
|
|
5334
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
5330
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
5335
5331
|
return true;
|
|
5336
5332
|
} catch {
|
|
5337
5333
|
return false;
|
|
@@ -6059,11 +6059,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6059
6059
|
}
|
|
6060
6060
|
} catch {
|
|
6061
6061
|
}
|
|
6062
|
-
|
|
6063
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6064
|
-
{ timeout: 3e3 }
|
|
6065
|
-
);
|
|
6066
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6062
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6067
6063
|
return true;
|
|
6068
6064
|
} catch {
|
|
6069
6065
|
return false;
|
|
@@ -6043,11 +6043,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6043
6043
|
}
|
|
6044
6044
|
} catch {
|
|
6045
6045
|
}
|
|
6046
|
-
|
|
6047
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6048
|
-
{ timeout: 3e3 }
|
|
6049
|
-
);
|
|
6050
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6046
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6051
6047
|
return true;
|
|
6052
6048
|
} catch {
|
|
6053
6049
|
return false;
|
|
@@ -8597,11 +8597,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
8597
8597
|
}
|
|
8598
8598
|
} catch {
|
|
8599
8599
|
}
|
|
8600
|
-
|
|
8601
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
8602
|
-
{ timeout: 3e3 }
|
|
8603
|
-
);
|
|
8604
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
8600
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
8605
8601
|
return true;
|
|
8606
8602
|
} catch {
|
|
8607
8603
|
return false;
|
|
@@ -10152,14 +10148,13 @@ process.stdin.on("end", async () => {
|
|
|
10152
10148
|
const agentName = baseAgentName2(session.split("-")[0] ?? session);
|
|
10153
10149
|
if (isSessionBusy2(session) || hasInProgressTask(agentName)) return true;
|
|
10154
10150
|
const rtConfig = getAgentRuntime2(agentName);
|
|
10151
|
+
const nudgeMsg = "You have pending notifications. Run list_tasks to check for assigned work.";
|
|
10152
|
+
transport.sendKeys(session, nudgeMsg);
|
|
10155
10153
|
if (rtConfig.runtime === "codex" || rtConfig.runtime === "opencode") {
|
|
10156
|
-
transport.sendKeys(session, "You have new notifications. Call list_tasks to check for assigned work.");
|
|
10157
10154
|
try {
|
|
10158
10155
|
execSync10(`tmux send-keys -t ${session} Tab`, { encoding: "utf8", timeout: 2e3 });
|
|
10159
10156
|
} catch {
|
|
10160
10157
|
}
|
|
10161
|
-
} else {
|
|
10162
|
-
transport.sendKeys(session, "/exe-intercom");
|
|
10163
10158
|
}
|
|
10164
10159
|
return true;
|
|
10165
10160
|
} catch {
|
|
@@ -6252,11 +6252,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6252
6252
|
}
|
|
6253
6253
|
} catch {
|
|
6254
6254
|
}
|
|
6255
|
-
|
|
6256
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6257
|
-
{ timeout: 3e3 }
|
|
6258
|
-
);
|
|
6259
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6255
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6260
6256
|
return true;
|
|
6261
6257
|
} catch {
|
|
6262
6258
|
return false;
|
package/dist/index.js
CHANGED
|
@@ -6432,11 +6432,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6432
6432
|
}
|
|
6433
6433
|
} catch {
|
|
6434
6434
|
}
|
|
6435
|
-
|
|
6436
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6437
|
-
{ timeout: 3e3 }
|
|
6438
|
-
);
|
|
6439
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6435
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6440
6436
|
return true;
|
|
6441
6437
|
} catch {
|
|
6442
6438
|
return false;
|
package/dist/lib/exe-daemon.js
CHANGED
|
@@ -8058,11 +8058,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
8058
8058
|
}
|
|
8059
8059
|
} catch {
|
|
8060
8060
|
}
|
|
8061
|
-
|
|
8062
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
8063
|
-
{ timeout: 3e3 }
|
|
8064
|
-
);
|
|
8065
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
8061
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
8066
8062
|
return true;
|
|
8067
8063
|
} catch {
|
|
8068
8064
|
return false;
|
|
@@ -12447,15 +12443,10 @@ function isIdlePane(paneText) {
|
|
|
12447
12443
|
}
|
|
12448
12444
|
function sendNudge(transport, session, runtime, action) {
|
|
12449
12445
|
const message = action === "nudge" ? "You have open tasks. Run list_tasks to find them." : "You have more open tasks to dispatch. Run list_tasks.";
|
|
12450
|
-
if (
|
|
12451
|
-
|
|
12452
|
-
transport.sendKeysLiteral(session, message);
|
|
12453
|
-
} else {
|
|
12454
|
-
transport.sendKeys(session, message);
|
|
12455
|
-
}
|
|
12446
|
+
if (transport.sendKeysLiteral) {
|
|
12447
|
+
transport.sendKeysLiteral(session, message);
|
|
12456
12448
|
} else {
|
|
12457
|
-
transport.sendKeys(session,
|
|
12458
|
-
transport.sendKeys(session, "Enter");
|
|
12449
|
+
transport.sendKeys(session, message);
|
|
12459
12450
|
}
|
|
12460
12451
|
process.stderr.write(
|
|
12461
12452
|
`[enforcement-audit] SENT nudge to ${session} (${runtime}, ${action})
|
|
@@ -14215,14 +14206,15 @@ function startIntercomQueueDrain() {
|
|
|
14215
14206
|
const { baseAgentName: baseAgentName2 } = (init_employees(), __toCommonJS(employees_exports));
|
|
14216
14207
|
const agentName = baseAgentName2(session.split("-")[0] ?? session);
|
|
14217
14208
|
const rtConfig = getAgentRuntime2(agentName);
|
|
14209
|
+
const nudgeMsg = "You have pending notifications. Run list_tasks to check for assigned work.";
|
|
14218
14210
|
if (rtConfig.runtime === "codex" || rtConfig.runtime === "opencode") {
|
|
14219
|
-
transport.sendKeys(session,
|
|
14211
|
+
transport.sendKeys(session, nudgeMsg);
|
|
14220
14212
|
try {
|
|
14221
14213
|
__require("child_process").execSync(`tmux send-keys -t ${session} Tab`, { timeout: 2e3 });
|
|
14222
14214
|
} catch {
|
|
14223
14215
|
}
|
|
14224
14216
|
} else {
|
|
14225
|
-
transport.sendKeys(session,
|
|
14217
|
+
transport.sendKeys(session, nudgeMsg);
|
|
14226
14218
|
}
|
|
14227
14219
|
return true;
|
|
14228
14220
|
} catch {
|
package/dist/lib/tasks.js
CHANGED
|
@@ -2154,11 +2154,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
2154
2154
|
}
|
|
2155
2155
|
} catch {
|
|
2156
2156
|
}
|
|
2157
|
-
|
|
2158
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
2159
|
-
{ timeout: 3e3 }
|
|
2160
|
-
);
|
|
2161
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
2157
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
2162
2158
|
return true;
|
|
2163
2159
|
} catch {
|
|
2164
2160
|
return false;
|
package/dist/lib/tmux-routing.js
CHANGED
|
@@ -4179,11 +4179,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
4179
4179
|
}
|
|
4180
4180
|
} catch {
|
|
4181
4181
|
}
|
|
4182
|
-
|
|
4183
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
4184
|
-
{ timeout: 3e3 }
|
|
4185
|
-
);
|
|
4186
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
4182
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
4187
4183
|
return true;
|
|
4188
4184
|
} catch {
|
|
4189
4185
|
return false;
|
package/dist/mcp/server.js
CHANGED
|
@@ -8503,11 +8503,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
8503
8503
|
}
|
|
8504
8504
|
} catch {
|
|
8505
8505
|
}
|
|
8506
|
-
|
|
8507
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
8508
|
-
{ timeout: 3e3 }
|
|
8509
|
-
);
|
|
8510
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
8506
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
8511
8507
|
return true;
|
|
8512
8508
|
} catch {
|
|
8513
8509
|
return false;
|
|
@@ -2393,11 +2393,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
2393
2393
|
}
|
|
2394
2394
|
} catch {
|
|
2395
2395
|
}
|
|
2396
|
-
|
|
2397
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
2398
|
-
{ timeout: 3e3 }
|
|
2399
|
-
);
|
|
2400
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
2396
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
2401
2397
|
return true;
|
|
2402
2398
|
} catch {
|
|
2403
2399
|
return false;
|
|
@@ -2157,11 +2157,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
2157
2157
|
}
|
|
2158
2158
|
} catch {
|
|
2159
2159
|
}
|
|
2160
|
-
|
|
2161
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
2162
|
-
{ timeout: 3e3 }
|
|
2163
|
-
);
|
|
2164
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
2160
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
2165
2161
|
return true;
|
|
2166
2162
|
} catch {
|
|
2167
2163
|
return false;
|
package/dist/runtime/index.js
CHANGED
|
@@ -6193,11 +6193,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6193
6193
|
}
|
|
6194
6194
|
} catch {
|
|
6195
6195
|
}
|
|
6196
|
-
|
|
6197
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6198
|
-
{ timeout: 3e3 }
|
|
6199
|
-
);
|
|
6200
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6196
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6201
6197
|
return true;
|
|
6202
6198
|
} catch {
|
|
6203
6199
|
return false;
|
package/dist/tui/App.js
CHANGED
|
@@ -6797,11 +6797,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
6797
6797
|
}
|
|
6798
6798
|
} catch {
|
|
6799
6799
|
}
|
|
6800
|
-
|
|
6801
|
-
`tmux send-keys -t ${JSON.stringify(coordinatorSession)} '/exe-intercom' Enter`,
|
|
6802
|
-
{ timeout: 3e3 }
|
|
6803
|
-
);
|
|
6804
|
-
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}")`);
|
|
6800
|
+
logIntercom(`COMPLETION \u2192 ${coordinatorSession} (${agentName} completed "${taskTitle.slice(0, 50)}") \u2014 review count unavailable, skipping intercom (hook will catch it)`);
|
|
6805
6801
|
return true;
|
|
6806
6802
|
} catch {
|
|
6807
6803
|
return false;
|
package/package.json
CHANGED