@askexenow/exe-os 0.8.80 → 0.8.82
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/backfill-conversations.js +359 -267
- package/dist/bin/backfill-responses.js +357 -265
- package/dist/bin/backfill-vectors.js +339 -264
- package/dist/bin/cleanup-stale-review-tasks.js +315 -256
- package/dist/bin/cli.js +494 -240
- package/dist/bin/exe-agent.js +141 -46
- package/dist/bin/exe-assign.js +151 -63
- package/dist/bin/exe-boot.js +294 -115
- package/dist/bin/exe-call.js +76 -51
- package/dist/bin/exe-cloud.js +58 -45
- package/dist/bin/exe-dispatch.js +434 -277
- package/dist/bin/exe-doctor.js +317 -246
- package/dist/bin/exe-export-behaviors.js +328 -248
- package/dist/bin/exe-forget.js +314 -231
- package/dist/bin/exe-gateway.js +2676 -1402
- package/dist/bin/exe-heartbeat.js +329 -264
- package/dist/bin/exe-kill.js +324 -244
- package/dist/bin/exe-launch-agent.js +574 -463
- package/dist/bin/exe-link.js +1055 -95
- package/dist/bin/exe-new-employee.js +49 -54
- package/dist/bin/exe-pending-messages.js +310 -253
- package/dist/bin/exe-pending-notifications.js +299 -228
- package/dist/bin/exe-pending-reviews.js +314 -245
- package/dist/bin/exe-rename.js +259 -195
- package/dist/bin/exe-review.js +140 -64
- package/dist/bin/exe-search.js +543 -356
- package/dist/bin/exe-session-cleanup.js +463 -382
- package/dist/bin/exe-settings.js +129 -99
- package/dist/bin/exe-start.sh +6 -6
- package/dist/bin/exe-status.js +95 -36
- package/dist/bin/exe-team.js +116 -51
- package/dist/bin/git-sweep.js +482 -307
- package/dist/bin/graph-backfill.js +357 -245
- package/dist/bin/graph-export.js +324 -244
- package/dist/bin/install.js +33 -10
- package/dist/bin/scan-tasks.js +481 -307
- package/dist/bin/setup.js +1147 -140
- package/dist/bin/shard-migrate.js +321 -241
- package/dist/bin/update.js +1 -7
- package/dist/bin/wiki-sync.js +318 -238
- package/dist/gateway/index.js +2656 -1383
- package/dist/hooks/bug-report-worker.js +641 -472
- package/dist/hooks/commit-complete.js +482 -307
- package/dist/hooks/error-recall.js +363 -135
- package/dist/hooks/exe-heartbeat-hook.js +97 -27
- package/dist/hooks/ingest-worker.js +584 -397
- package/dist/hooks/ingest.js +123 -58
- package/dist/hooks/instructions-loaded.js +212 -82
- package/dist/hooks/notification.js +200 -70
- package/dist/hooks/post-compact.js +199 -81
- package/dist/hooks/pre-compact.js +352 -140
- package/dist/hooks/pre-tool-use.js +416 -278
- package/dist/hooks/prompt-ingest-worker.js +376 -299
- package/dist/hooks/prompt-submit.js +414 -188
- package/dist/hooks/response-ingest-worker.js +408 -338
- package/dist/hooks/session-end.js +209 -83
- package/dist/hooks/session-start.js +382 -158
- package/dist/hooks/stop.js +209 -83
- package/dist/hooks/subagent-stop.js +209 -85
- package/dist/hooks/summary-worker.js +606 -510
- package/dist/index.js +2133 -855
- package/dist/lib/cloud-sync.js +1175 -184
- package/dist/lib/config.js +1 -9
- package/dist/lib/consolidation.js +71 -34
- package/dist/lib/database.js +166 -14
- package/dist/lib/device-registry.js +189 -117
- package/dist/lib/embedder.js +6 -10
- package/dist/lib/employee-templates.js +134 -39
- package/dist/lib/employees.js +30 -7
- package/dist/lib/exe-daemon-client.js +5 -7
- package/dist/lib/exe-daemon.js +514 -152
- package/dist/lib/hybrid-search.js +543 -356
- package/dist/lib/identity-templates.js +15 -15
- package/dist/lib/identity.js +19 -15
- package/dist/lib/license.js +1 -7
- package/dist/lib/messaging.js +157 -135
- package/dist/lib/reminders.js +97 -0
- package/dist/lib/schedules.js +302 -231
- package/dist/lib/skill-learning.js +33 -27
- package/dist/lib/status-brief.js +11 -14
- package/dist/lib/store.js +326 -237
- package/dist/lib/task-router.js +105 -1
- package/dist/lib/tasks.js +233 -116
- package/dist/lib/tmux-routing.js +173 -56
- package/dist/lib/ws-client.js +13 -3
- package/dist/mcp/server.js +2009 -1015
- package/dist/mcp/tools/complete-reminder.js +97 -0
- package/dist/mcp/tools/create-reminder.js +97 -0
- package/dist/mcp/tools/create-task.js +426 -262
- package/dist/mcp/tools/deactivate-behavior.js +119 -44
- package/dist/mcp/tools/list-reminders.js +97 -0
- package/dist/mcp/tools/list-tasks.js +56 -57
- package/dist/mcp/tools/send-message.js +206 -143
- package/dist/mcp/tools/update-task.js +259 -85
- package/dist/runtime/index.js +495 -316
- package/dist/tui/App.js +1128 -919
- package/package.json +2 -10
- package/src/commands/exe/afk.md +8 -8
- package/src/commands/exe/assign.md +1 -1
- package/src/commands/exe/build-adv.md +1 -1
- package/src/commands/exe/call.md +10 -10
- package/src/commands/exe/employee-heartbeat.md +9 -6
- package/src/commands/exe/heartbeat.md +5 -5
- package/src/commands/exe/intercom.md +26 -15
- package/src/commands/exe/launch.md +2 -2
- package/src/commands/exe/new-employee.md +1 -1
- package/src/commands/exe/review.md +2 -2
- package/src/commands/exe/schedule.md +1 -1
- package/src/commands/exe/sessions.md +2 -2
- package/src/commands/exe.md +22 -20
package/dist/bin/install.js
CHANGED
|
@@ -73,13 +73,7 @@ var init_config = __esm({
|
|
|
73
73
|
wikiUrl: "",
|
|
74
74
|
wikiApiKey: "",
|
|
75
75
|
wikiSyncIntervalMs: 30 * 60 * 1e3,
|
|
76
|
-
wikiWorkspaceMapping: {
|
|
77
|
-
exe: "Executive",
|
|
78
|
-
yoshi: "Engineering",
|
|
79
|
-
mari: "Marketing",
|
|
80
|
-
tom: "Engineering",
|
|
81
|
-
sasha: "Production"
|
|
82
|
-
},
|
|
76
|
+
wikiWorkspaceMapping: {},
|
|
83
77
|
wikiAutoUpdate: true,
|
|
84
78
|
wikiAutoUpdateThreshold: 0.5,
|
|
85
79
|
wikiAutoUpdateCreateNew: true,
|
|
@@ -109,15 +103,23 @@ var init_config = __esm({
|
|
|
109
103
|
// src/lib/employees.ts
|
|
110
104
|
var employees_exports = {};
|
|
111
105
|
__export(employees_exports, {
|
|
106
|
+
COORDINATOR_ROLE: () => COORDINATOR_ROLE,
|
|
107
|
+
DEFAULT_COORDINATOR_TEMPLATE_NAME: () => DEFAULT_COORDINATOR_TEMPLATE_NAME,
|
|
112
108
|
EMPLOYEES_PATH: () => EMPLOYEES_PATH,
|
|
113
109
|
addEmployee: () => addEmployee,
|
|
110
|
+
canCoordinate: () => canCoordinate,
|
|
111
|
+
getCoordinatorEmployee: () => getCoordinatorEmployee,
|
|
112
|
+
getCoordinatorName: () => getCoordinatorName,
|
|
114
113
|
getEmployee: () => getEmployee,
|
|
115
114
|
getEmployeeByRole: () => getEmployeeByRole,
|
|
116
115
|
getEmployeeNamesByRole: () => getEmployeeNamesByRole,
|
|
117
116
|
hasRole: () => hasRole,
|
|
117
|
+
isCoordinatorName: () => isCoordinatorName,
|
|
118
|
+
isCoordinatorRole: () => isCoordinatorRole,
|
|
118
119
|
isMultiInstance: () => isMultiInstance,
|
|
119
120
|
loadEmployees: () => loadEmployees,
|
|
120
121
|
loadEmployeesSync: () => loadEmployeesSync,
|
|
122
|
+
normalizeRole: () => normalizeRole,
|
|
121
123
|
normalizeRosterCase: () => normalizeRosterCase,
|
|
122
124
|
registerBinSymlinks: () => registerBinSymlinks,
|
|
123
125
|
saveEmployees: () => saveEmployees,
|
|
@@ -128,6 +130,25 @@ import { existsSync as existsSync2, symlinkSync, readlinkSync, readFileSync as r
|
|
|
128
130
|
import { execSync } from "child_process";
|
|
129
131
|
import path2 from "path";
|
|
130
132
|
import os2 from "os";
|
|
133
|
+
function normalizeRole(role) {
|
|
134
|
+
return (role ?? "").trim().toLowerCase();
|
|
135
|
+
}
|
|
136
|
+
function isCoordinatorRole(role) {
|
|
137
|
+
return normalizeRole(role) === normalizeRole(COORDINATOR_ROLE);
|
|
138
|
+
}
|
|
139
|
+
function getCoordinatorEmployee(employees) {
|
|
140
|
+
return employees.find((e) => isCoordinatorRole(e.role));
|
|
141
|
+
}
|
|
142
|
+
function getCoordinatorName(employees = loadEmployeesSync()) {
|
|
143
|
+
return getCoordinatorEmployee(employees)?.name ?? DEFAULT_COORDINATOR_TEMPLATE_NAME;
|
|
144
|
+
}
|
|
145
|
+
function isCoordinatorName(agentName, employees = loadEmployeesSync()) {
|
|
146
|
+
if (!agentName) return false;
|
|
147
|
+
return agentName.toLowerCase() === getCoordinatorName(employees).toLowerCase();
|
|
148
|
+
}
|
|
149
|
+
function canCoordinate(agentName, agentRole, employees = loadEmployeesSync()) {
|
|
150
|
+
return agentName === "default" || isCoordinatorRole(agentRole) || isCoordinatorName(agentName, employees);
|
|
151
|
+
}
|
|
131
152
|
function validateEmployeeName(name) {
|
|
132
153
|
if (!name) {
|
|
133
154
|
return { valid: false, error: "Name is required" };
|
|
@@ -265,12 +286,14 @@ function registerBinSymlinks(name) {
|
|
|
265
286
|
}
|
|
266
287
|
return { created, skipped, errors };
|
|
267
288
|
}
|
|
268
|
-
var EMPLOYEES_PATH, MULTI_INSTANCE_ROLES;
|
|
289
|
+
var EMPLOYEES_PATH, DEFAULT_COORDINATOR_TEMPLATE_NAME, COORDINATOR_ROLE, MULTI_INSTANCE_ROLES;
|
|
269
290
|
var init_employees = __esm({
|
|
270
291
|
"src/lib/employees.ts"() {
|
|
271
292
|
"use strict";
|
|
272
293
|
init_config();
|
|
273
294
|
EMPLOYEES_PATH = path2.join(EXE_AI_DIR, "exe-employees.json");
|
|
295
|
+
DEFAULT_COORDINATOR_TEMPLATE_NAME = "exe";
|
|
296
|
+
COORDINATOR_ROLE = "COO";
|
|
274
297
|
MULTI_INSTANCE_ROLES = /* @__PURE__ */ new Set(["principal engineer", "content production specialist", "staff code reviewer"]);
|
|
275
298
|
}
|
|
276
299
|
});
|
|
@@ -742,10 +765,10 @@ var ORCHESTRATION_RULES = `${EXE_SECTION_START}
|
|
|
742
765
|
|
|
743
766
|
These rules are injected by exe-os and override default behavior for multi-agent coordination.
|
|
744
767
|
|
|
745
|
-
- **Session routing is deterministic.** When working in
|
|
768
|
+
- **Session routing is deterministic.** When working in a coordinator session, ALL employee sessions use that same coordinator-session suffix. NEVER reference, consider, or dispatch to employee sessions from other project sessions. This is not a choice \u2014 it is a hard constraint.
|
|
746
769
|
- **Always use create_task to assign work.** Never use messages, tmux send-keys, or ad-hoc instructions as a substitute for tasks.
|
|
747
770
|
- **Never modify another agent's in-progress task.** Create a new task instead. Modifying active tasks causes race conditions.
|
|
748
|
-
- **Chain of command:** founder
|
|
771
|
+
- **Chain of command:** founder -> COO -> managers -> specialists. The COO does not bypass managers for specialist work.
|
|
749
772
|
- **Verify dispatch.** After every create_task, confirm the employee received and started the task via tmux capture-pane.
|
|
750
773
|
${EXE_SECTION_END}`;
|
|
751
774
|
async function injectOrchestrationRules(homeDir) {
|