@askexenow/exe-os 0.9.26 → 0.9.28
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 +6 -11
- package/dist/bin/exe-start-codex.js +25 -14
- package/dist/bin/install.js +6 -11
- package/package.json +1 -1
package/dist/bin/cli.js
CHANGED
|
@@ -30277,29 +30277,24 @@ async function mergeCodexHooks(packageRoot, homeDir = os20.homedir()) {
|
|
|
30277
30277
|
matcher: "Bash|apply_patch|Edit|Write|Read|Glob|Grep|mcp__.*",
|
|
30278
30278
|
hooks: [
|
|
30279
30279
|
{
|
|
30280
|
+
// Combined hook: runs ingest + error-recall in one Node process.
|
|
30281
|
+
// Eliminates a cold-start cycle per tool call (~3-6s savings on Codex).
|
|
30280
30282
|
type: "command",
|
|
30281
|
-
command: `node "${path45.join(packageRoot, "dist", "hooks", "
|
|
30282
|
-
},
|
|
30283
|
-
{
|
|
30284
|
-
type: "command",
|
|
30285
|
-
command: `node "${path45.join(packageRoot, "dist", "hooks", "error-recall.js")}"${logSuffix}`
|
|
30283
|
+
command: `node "${path45.join(packageRoot, "dist", "hooks", "post-tool-combined.js")}"${logSuffix}`
|
|
30286
30284
|
}
|
|
30287
30285
|
]
|
|
30288
30286
|
},
|
|
30289
|
-
marker: "dist/hooks/
|
|
30287
|
+
marker: "dist/hooks/post-tool-combined.js"
|
|
30290
30288
|
},
|
|
30291
30289
|
{
|
|
30292
30290
|
event: "UserPromptSubmit",
|
|
30293
30291
|
group: {
|
|
30294
30292
|
hooks: [
|
|
30295
30293
|
{
|
|
30294
|
+
// Single hook: prompt-submit handles memory retrieval + entity boost.
|
|
30295
|
+
// exe-heartbeat-hook is CC-specific (intercom) — omitted on Codex.
|
|
30296
30296
|
type: "command",
|
|
30297
30297
|
command: `node "${path45.join(packageRoot, "dist", "hooks", "prompt-submit.js")}"${logSuffix}`
|
|
30298
|
-
},
|
|
30299
|
-
{
|
|
30300
|
-
type: "command",
|
|
30301
|
-
command: `node "${path45.join(packageRoot, "dist", "hooks", "exe-heartbeat-hook.js")}"${logSuffix}`,
|
|
30302
|
-
timeout: 5
|
|
30303
30298
|
}
|
|
30304
30299
|
]
|
|
30305
30300
|
},
|
|
@@ -3578,29 +3578,24 @@ async function mergeCodexHooks(packageRoot, homeDir = os10.homedir()) {
|
|
|
3578
3578
|
matcher: "Bash|apply_patch|Edit|Write|Read|Glob|Grep|mcp__.*",
|
|
3579
3579
|
hooks: [
|
|
3580
3580
|
{
|
|
3581
|
+
// Combined hook: runs ingest + error-recall in one Node process.
|
|
3582
|
+
// Eliminates a cold-start cycle per tool call (~3-6s savings on Codex).
|
|
3581
3583
|
type: "command",
|
|
3582
|
-
command: `node "${path13.join(packageRoot, "dist", "hooks", "
|
|
3583
|
-
},
|
|
3584
|
-
{
|
|
3585
|
-
type: "command",
|
|
3586
|
-
command: `node "${path13.join(packageRoot, "dist", "hooks", "error-recall.js")}"${logSuffix}`
|
|
3584
|
+
command: `node "${path13.join(packageRoot, "dist", "hooks", "post-tool-combined.js")}"${logSuffix}`
|
|
3587
3585
|
}
|
|
3588
3586
|
]
|
|
3589
3587
|
},
|
|
3590
|
-
marker: "dist/hooks/
|
|
3588
|
+
marker: "dist/hooks/post-tool-combined.js"
|
|
3591
3589
|
},
|
|
3592
3590
|
{
|
|
3593
3591
|
event: "UserPromptSubmit",
|
|
3594
3592
|
group: {
|
|
3595
3593
|
hooks: [
|
|
3596
3594
|
{
|
|
3595
|
+
// Single hook: prompt-submit handles memory retrieval + entity boost.
|
|
3596
|
+
// exe-heartbeat-hook is CC-specific (intercom) — omitted on Codex.
|
|
3597
3597
|
type: "command",
|
|
3598
3598
|
command: `node "${path13.join(packageRoot, "dist", "hooks", "prompt-submit.js")}"${logSuffix}`
|
|
3599
|
-
},
|
|
3600
|
-
{
|
|
3601
|
-
type: "command",
|
|
3602
|
-
command: `node "${path13.join(packageRoot, "dist", "hooks", "exe-heartbeat-hook.js")}"${logSuffix}`,
|
|
3603
|
-
timeout: 5
|
|
3604
3599
|
}
|
|
3605
3600
|
]
|
|
3606
3601
|
},
|
|
@@ -4465,10 +4460,14 @@ function loadIdentity(agent) {
|
|
|
4465
4460
|
}
|
|
4466
4461
|
return null;
|
|
4467
4462
|
}
|
|
4468
|
-
function writePromptFile(agent, identity, behaviorsPath) {
|
|
4463
|
+
function writePromptFile(agent, identity, behaviorsPath, globalProcedures) {
|
|
4469
4464
|
const promptDir = path15.join(os11.homedir(), ".exe-os", "codex-prompt");
|
|
4470
4465
|
mkdirSync7(promptDir, { recursive: true });
|
|
4471
|
-
let prompt =
|
|
4466
|
+
let prompt = "";
|
|
4467
|
+
if (globalProcedures) {
|
|
4468
|
+
prompt += globalProcedures + "\n\n";
|
|
4469
|
+
}
|
|
4470
|
+
prompt += identity;
|
|
4472
4471
|
if (behaviorsPath && existsSync14(behaviorsPath)) {
|
|
4473
4472
|
const behaviors = readFileSync9(behaviorsPath, "utf-8").trim();
|
|
4474
4473
|
if (behaviors) {
|
|
@@ -4533,9 +4532,21 @@ async function main() {
|
|
|
4533
4532
|
);
|
|
4534
4533
|
}
|
|
4535
4534
|
let behaviorsPath = null;
|
|
4535
|
+
let globalProcedures = null;
|
|
4536
4536
|
try {
|
|
4537
4537
|
await initStore();
|
|
4538
4538
|
behaviorsPath = await exportBehaviorsForAgent(agent, "");
|
|
4539
|
+
try {
|
|
4540
|
+
const { loadGlobalProcedures: loadGlobalProcedures2, getGlobalProceduresBlock: getGlobalProceduresBlock2 } = await Promise.resolve().then(() => (init_global_procedures(), global_procedures_exports));
|
|
4541
|
+
await loadGlobalProcedures2();
|
|
4542
|
+
const block = getGlobalProceduresBlock2();
|
|
4543
|
+
if (block) globalProcedures = block;
|
|
4544
|
+
} catch (err) {
|
|
4545
|
+
process.stderr.write(
|
|
4546
|
+
`[exe-start-codex] global procedures load failed: ${err instanceof Error ? err.message : String(err)}
|
|
4547
|
+
`
|
|
4548
|
+
);
|
|
4549
|
+
}
|
|
4539
4550
|
} catch (err) {
|
|
4540
4551
|
process.stderr.write(
|
|
4541
4552
|
`[exe-start-codex] behaviors export failed for ${agent}: ${err instanceof Error ? err.message : String(err)}
|
|
@@ -4547,7 +4558,7 @@ async function main() {
|
|
|
4547
4558
|
} catch {
|
|
4548
4559
|
}
|
|
4549
4560
|
}
|
|
4550
|
-
const promptPath = identity ? writePromptFile(agent, identity, behaviorsPath) : null;
|
|
4561
|
+
const promptPath = identity ? writePromptFile(agent, identity, behaviorsPath, globalProcedures) : null;
|
|
4551
4562
|
const memoryAgent = baseAgentName(agent);
|
|
4552
4563
|
process.env.AGENT_ID = memoryAgent;
|
|
4553
4564
|
if (!process.env.EXE_SESSION_KEY) {
|
package/dist/bin/install.js
CHANGED
|
@@ -1467,29 +1467,24 @@ async function mergeCodexHooks(packageRoot, homeDir = os6.homedir()) {
|
|
|
1467
1467
|
matcher: "Bash|apply_patch|Edit|Write|Read|Glob|Grep|mcp__.*",
|
|
1468
1468
|
hooks: [
|
|
1469
1469
|
{
|
|
1470
|
+
// Combined hook: runs ingest + error-recall in one Node process.
|
|
1471
|
+
// Eliminates a cold-start cycle per tool call (~3-6s savings on Codex).
|
|
1470
1472
|
type: "command",
|
|
1471
|
-
command: `node "${path8.join(packageRoot, "dist", "hooks", "
|
|
1472
|
-
},
|
|
1473
|
-
{
|
|
1474
|
-
type: "command",
|
|
1475
|
-
command: `node "${path8.join(packageRoot, "dist", "hooks", "error-recall.js")}"${logSuffix}`
|
|
1473
|
+
command: `node "${path8.join(packageRoot, "dist", "hooks", "post-tool-combined.js")}"${logSuffix}`
|
|
1476
1474
|
}
|
|
1477
1475
|
]
|
|
1478
1476
|
},
|
|
1479
|
-
marker: "dist/hooks/
|
|
1477
|
+
marker: "dist/hooks/post-tool-combined.js"
|
|
1480
1478
|
},
|
|
1481
1479
|
{
|
|
1482
1480
|
event: "UserPromptSubmit",
|
|
1483
1481
|
group: {
|
|
1484
1482
|
hooks: [
|
|
1485
1483
|
{
|
|
1484
|
+
// Single hook: prompt-submit handles memory retrieval + entity boost.
|
|
1485
|
+
// exe-heartbeat-hook is CC-specific (intercom) — omitted on Codex.
|
|
1486
1486
|
type: "command",
|
|
1487
1487
|
command: `node "${path8.join(packageRoot, "dist", "hooks", "prompt-submit.js")}"${logSuffix}`
|
|
1488
|
-
},
|
|
1489
|
-
{
|
|
1490
|
-
type: "command",
|
|
1491
|
-
command: `node "${path8.join(packageRoot, "dist", "hooks", "exe-heartbeat-hook.js")}"${logSuffix}`,
|
|
1492
|
-
timeout: 5
|
|
1493
1488
|
}
|
|
1494
1489
|
]
|
|
1495
1490
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askexenow/exe-os",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.28",
|
|
4
4
|
"description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"type": "module",
|