@askexenow/exe-os 0.9.208 → 0.9.210
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/{backfill-metadata-4N22ZA6N.js → backfill-metadata-32SPFWL5.js} +1 -1
- package/dist/bin/agentic-ontology-backfill.js +1 -1
- package/dist/bin/agentic-reflection-backfill.js +1 -1
- package/dist/bin/agentic-semantic-label.js +1 -1
- package/dist/bin/backfill-conversations.js +1 -1
- package/dist/bin/backfill-responses.js +1 -1
- package/dist/bin/backfill-vectors.js +2 -2
- package/dist/bin/bulk-sync-postgres.js +1 -1
- package/dist/bin/cleanup-stale-review-tasks.js +2 -2
- package/dist/bin/cli.js +5 -5
- package/dist/bin/exe-agent.js +10 -10
- package/dist/bin/exe-assign.js +1 -1
- package/dist/bin/exe-boot.js +3 -3
- package/dist/bin/exe-dispatch.js +2 -2
- package/dist/bin/exe-doctor.js +1 -1
- package/dist/bin/exe-export-behaviors.js +2 -2
- package/dist/bin/exe-forget.js +3 -3
- package/dist/bin/exe-gateway.js +4 -4
- package/dist/bin/exe-heartbeat.js +2 -2
- package/dist/bin/exe-kill.js +3 -3
- package/dist/bin/exe-launch-agent.js +2 -2
- package/dist/bin/exe-pending-messages.js +3 -3
- package/dist/bin/exe-pending-notifications.js +2 -2
- package/dist/bin/exe-pending-reviews.js +2 -2
- package/dist/bin/exe-review.js +3 -3
- package/dist/bin/exe-search.js +2 -2
- package/dist/bin/exe-session-cleanup.js +5 -5
- package/dist/bin/exe-start-codex.js +1 -1
- package/dist/bin/exe-start-opencode.js +1 -1
- package/dist/bin/exe-status.js +3 -3
- package/dist/bin/exe-team.js +1 -1
- package/dist/bin/git-sweep.js +2 -2
- package/dist/bin/graph-backfill.js +1 -1
- package/dist/bin/graph-export.js +2 -2
- package/dist/bin/import-history.js +1 -1
- package/dist/bin/intercom-check.js +3 -3
- package/dist/bin/mcp-sessions.js +194 -0
- package/dist/bin/orchestration-metrics.js +1 -1
- package/dist/bin/scan-tasks.js +2 -2
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +1 -1
- package/dist/{capacity-monitor-EHXIFEE2.js → capacity-monitor-PQ7EZ5ES.js} +2 -2
- package/dist/{catchup-brief-CNAN2KVD.js → catchup-brief-4EQIVXVV.js} +3 -3
- package/dist/{chunk-EAHUS6WU.js → chunk-3GFXV46R.js} +1 -1
- package/dist/{chunk-WLEIKHPC.js → chunk-3WTNJTDW.js} +47 -47
- package/dist/{chunk-MGPVDQIM.js → chunk-5452FPV5.js} +1 -1
- package/dist/{chunk-TV7ZTQ7L.js → chunk-6XAXYBCI.js} +7 -7
- package/dist/{chunk-4EOXPKWA.js → chunk-A3K7V6SW.js} +128 -4
- package/dist/{chunk-7VDMUMHM.js → chunk-AOBTVA7I.js} +3 -3
- package/dist/{chunk-IN5SGMHP.js → chunk-BCWQQBMO.js} +4 -4
- package/dist/{chunk-QOAPYITU.js → chunk-BO6HP63V.js} +2 -2
- package/dist/{chunk-RRMPIH6C.js → chunk-DYY6DEA4.js} +3 -3
- package/dist/{chunk-SQK3Q6VY.js → chunk-EXRMA2QK.js} +16 -16
- package/dist/{chunk-YQKFNXGL.js → chunk-EYXCCLFI.js} +2 -2
- package/dist/{chunk-3BV34EJB.js → chunk-GD5AQDZL.js} +1 -1
- package/dist/{chunk-MMLE3M4J.js → chunk-IZPPTNXR.js} +1 -1
- package/dist/{chunk-FLCWUX6G.js → chunk-K5EXLDQD.js} +1 -1
- package/dist/{chunk-QOTQZAAE.js → chunk-K5O5UAO3.js} +1 -1
- package/dist/{chunk-OBVXTLRM.js → chunk-MTZZHS73.js} +2 -2
- package/dist/{chunk-DBSMRM52.js → chunk-PQU74C7J.js} +2 -2
- package/dist/{chunk-WGOVSJNR.js → chunk-PZCC4YWO.js} +1 -1
- package/dist/{chunk-PNQ74YDS.js → chunk-SNEP3JX2.js} +2 -2
- package/dist/{chunk-BS6YQM5R.js → chunk-UK5GYNHU.js} +1 -1
- package/dist/{chunk-MB7PRC5E.js → chunk-VBPNKKOP.js} +1 -1
- package/dist/{chunk-3M2CCVXM.js → chunk-VUJHFM4F.js} +1 -1
- package/dist/{chunk-4EKVVGVV.js → chunk-YDXCENQ5.js} +1 -1
- package/dist/{chunk-RS5JCKEP.js → chunk-ZCA2WOY3.js} +1 -1
- package/dist/{crm-webhook-VSPYINPL.js → crm-webhook-NGKBEDCE.js} +2 -2
- package/dist/{cto-delegation-gate-W7ESM5IQ.js → cto-delegation-gate-6YC3E5RL.js} +1 -1
- package/dist/{daemon-orchestration-TC3JWVDC.js → daemon-orchestration-QVJ26DDN.js} +3 -3
- package/dist/{exe-export-6NC4TNCZ.js → exe-export-3KLM55BC.js} +1 -1
- package/dist/{exe-import-GQRGZKW3.js → exe-import-SFRVKEGL.js} +1 -1
- package/dist/{fast-db-init-4ETTWASA.js → fast-db-init-WSVNCMIA.js} +1 -1
- package/dist/gateway/index.js +19 -19
- package/dist/{git-task-sweep-HMSTHZ6X.js → git-task-sweep-KBCSNNWI.js} +2 -2
- package/dist/hooks/bug-report-worker.js +3 -3
- package/dist/hooks/codex-stop-task-finalizer.js +3 -3
- package/dist/hooks/commit-complete.js +4 -4
- package/dist/hooks/error-recall.js +2 -2
- package/dist/hooks/ingest.js +2 -2
- package/dist/hooks/instructions-loaded.js +1 -1
- package/dist/hooks/manifest.json +18 -18
- package/dist/hooks/notification.js +1 -1
- package/dist/hooks/post-compact.js +2 -2
- package/dist/hooks/post-tool-combined.js +2 -2
- package/dist/hooks/pre-compact.js +3 -3
- package/dist/hooks/pre-tool-use.js +6 -6
- package/dist/hooks/prompt-submit.js +8 -8
- package/dist/hooks/session-end.js +4 -4
- package/dist/hooks/session-start.js +4 -4
- package/dist/hooks/stop.js +5 -5
- package/dist/hooks/subagent-stop.js +2 -2
- package/dist/hooks/summary-worker.js +5 -5
- package/dist/index.js +12 -12
- package/dist/lib/consolidation.js +2 -2
- package/dist/lib/exe-daemon.js +16 -16
- package/dist/lib/hybrid-search.js +2 -2
- package/dist/lib/messaging.js +2 -2
- package/dist/lib/schedules.js +2 -2
- package/dist/lib/store.js +1 -1
- package/dist/lib/tasks.js +2 -2
- package/dist/lib/tmux-routing.js +1 -1
- package/dist/mcp/register-tools.js +27 -27
- package/dist/mcp/server.js +30 -30
- package/dist/mcp/tools/create-task.js +3 -3
- package/dist/mcp/tools/list-tasks.js +3 -3
- package/dist/mcp/tools/send-message.js +3 -3
- package/dist/mcp/tools/update-task.js +3 -3
- package/dist/{notifications-25FGAXTC.js → notifications-YF7ANNPB.js} +1 -1
- package/dist/{orchestrator-ZWPDXMW4.js → orchestrator-3G7MW4XO.js} +2 -2
- package/dist/{reranker-MLJUTXY7.js → reranker-N4DKQYFR.js} +1 -1
- package/dist/{review-polling-QQMFB3Q4.js → review-polling-E2ZTZAR7.js} +2 -2
- package/dist/runtime/index.js +7 -7
- package/dist/{session-events-OWSPMDJV.js → session-events-RNEA3WRN.js} +2 -2
- package/dist/{session-scope-PKBCQOLO.js → session-scope-RGIEAQRR.js} +1 -1
- package/dist/{setup-wizard-2INM4CSL.js → setup-wizard-AZOKR4PP.js} +1 -1
- package/dist/{task-enforcement-M2NU3OVK.js → task-enforcement-OSPCFH5T.js} +1 -1
- package/dist/{task-scope-LQRP3MQ2.js → task-scope-4CBJ3QI2.js} +1 -1
- package/dist/{tasks-crud-TMYB245Z.js → tasks-crud-PQ23SS5C.js} +5 -1
- package/dist/{tasks-review-GJWB2BPT.js → tasks-review-XZSYVGRL.js} +1 -1
- package/dist/{telemetry-upload-Y3CPHI7M.js → telemetry-upload-DPF4WUMT.js} +21 -7
- package/dist/tui/App.js +7 -7
- package/dist/{tui-data-ZVRIZAIF.js → tui-data-SKVPBPBV.js} +1 -1
- package/dist/{worker-gate-VZLM2AU3.js → worker-gate-XHZWIMDA.js} +1 -1
- package/dist/{workflow-engine-ESXHBY55.js → workflow-engine-RN3ADPEN.js} +2 -2
- package/package.json +1 -1
- package/release-notes.json +57 -57
- /package/dist/{chunk-KJVFW5C7.js → chunk-E3Q4R3K6.js} +0 -0
- /package/dist/{chunk-MTR5SMNA.js → chunk-GMQKS5JD.js} +0 -0
- /package/dist/{chunk-ATKMIQXP.js → chunk-RUTQMSNJ.js} +0 -0
- /package/dist/{chunk-SEPXWHA3.js → chunk-UDSY3K33.js} +0 -0
- /package/dist/{chunk-4DLHWZRV.js → chunk-XXXJ6HV3.js} +0 -0
- /package/dist/{chunk-5YFC6HQX.js → chunk-Z2HB2SXL.js} +0 -0
- /package/dist/{core-memory-6JX6V4QR.js → core-memory-U6ZYHCFK.js} +0 -0
- /package/dist/{exe-key-K7FHMOVL.js → exe-key-FLTUNYFH.js} +0 -0
- /package/dist/{skill-refinement-KL2INB5E.js → skill-refinement-BGWMSERG.js} +0 -0
|
@@ -182,6 +182,93 @@ import os2 from "os";
|
|
|
182
182
|
import { execSync } from "child_process";
|
|
183
183
|
import { mkdir, writeFile, appendFile } from "fs/promises";
|
|
184
184
|
import { existsSync as existsSync2, readFileSync } from "fs";
|
|
185
|
+
var TASK_COMPLETION_REPORT_HEADING = "# Task Completion Report";
|
|
186
|
+
var REPORTABLE_COMPLETION_STATUSES = /* @__PURE__ */ new Set(["needs_review"]);
|
|
187
|
+
var FILE_PATH_RE = /(?:^|\s)([\w./-]+\.(?:ts|tsx|js|jsx|json|md|yml|yaml|sql|go|py|css|scss|html|sh))(?:\b|$)/g;
|
|
188
|
+
function isStructuredTaskCompletionReport(text) {
|
|
189
|
+
return (text ?? "").trimStart().startsWith(TASK_COMPLETION_REPORT_HEADING);
|
|
190
|
+
}
|
|
191
|
+
function cleanReportLine(line) {
|
|
192
|
+
return line.replace(/^[-*]\s+/, "").replace(/^#+\s+/, "").trim();
|
|
193
|
+
}
|
|
194
|
+
function formatReportList(lines, fallback) {
|
|
195
|
+
const cleaned = lines.map(cleanReportLine).filter((line) => line.length > 0).slice(0, 12);
|
|
196
|
+
if (cleaned.length === 0) return [`- ${fallback}`];
|
|
197
|
+
return cleaned.map((line) => `- ${line}`);
|
|
198
|
+
}
|
|
199
|
+
function linesMatching(lines, pattern) {
|
|
200
|
+
return lines.filter((line) => pattern.test(line));
|
|
201
|
+
}
|
|
202
|
+
function extractMentionedArtifacts(text) {
|
|
203
|
+
const artifacts = /* @__PURE__ */ new Set();
|
|
204
|
+
for (const match of text.matchAll(FILE_PATH_RE)) {
|
|
205
|
+
if (match[1]) artifacts.add(match[1]);
|
|
206
|
+
if (artifacts.size >= 12) break;
|
|
207
|
+
}
|
|
208
|
+
return [...artifacts];
|
|
209
|
+
}
|
|
210
|
+
function agentRoleForReport(agentId) {
|
|
211
|
+
try {
|
|
212
|
+
const employee = loadEmployeesSync().find((e) => e.name === agentId);
|
|
213
|
+
return employee?.role ?? "employee";
|
|
214
|
+
} catch {
|
|
215
|
+
return "employee";
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
function buildTaskCompletionReport(input) {
|
|
219
|
+
const rawResult = (input.result ?? "").trim();
|
|
220
|
+
if (isStructuredTaskCompletionReport(rawResult)) return rawResult;
|
|
221
|
+
const sourceLines = rawResult.split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0);
|
|
222
|
+
const artifacts = extractMentionedArtifacts(rawResult);
|
|
223
|
+
const verificationLines = linesMatching(
|
|
224
|
+
sourceLines,
|
|
225
|
+
/\b(test|tests|tested|verify|verified|verification|typecheck|build|vitest|npm run|curl|passed|failed)\b/i
|
|
226
|
+
);
|
|
227
|
+
const findingLines = linesMatching(
|
|
228
|
+
sourceLines,
|
|
229
|
+
/\b(finding|findings|root cause|decision|discovered|discovery|constraint|gotcha|learned)\b/i
|
|
230
|
+
);
|
|
231
|
+
const followupLines = linesMatching(
|
|
232
|
+
sourceLines,
|
|
233
|
+
/\b(follow[- ]?up|risk|risks|blocker|blocked|todo|next action|remaining|caveat)\b/i
|
|
234
|
+
);
|
|
235
|
+
const statusNote = input.requestedStatus === input.status ? input.status : `${input.status} (requested ${input.requestedStatus})`;
|
|
236
|
+
const parts = [
|
|
237
|
+
TASK_COMPLETION_REPORT_HEADING,
|
|
238
|
+
"",
|
|
239
|
+
`Task: ${input.title}`,
|
|
240
|
+
`Task ID: ${input.taskId}`,
|
|
241
|
+
`Agent: ${input.agentId} (${agentRoleForReport(input.agentId)})`,
|
|
242
|
+
`Project: ${input.projectName}`,
|
|
243
|
+
`Status: ${statusNote}`,
|
|
244
|
+
`Date: ${input.completedAt}`,
|
|
245
|
+
`Reviewer: ${input.reviewer || "not specified"}`,
|
|
246
|
+
`Task file: ${input.taskFile}`,
|
|
247
|
+
"",
|
|
248
|
+
"## Outcome",
|
|
249
|
+
...formatReportList(sourceLines, "No result summary provided."),
|
|
250
|
+
"",
|
|
251
|
+
"## What Changed",
|
|
252
|
+
...artifacts.length > 0 ? formatReportList(artifacts, "No changed files or artifacts specified.") : ["- See outcome above; no changed files or artifacts were explicitly listed."],
|
|
253
|
+
"",
|
|
254
|
+
"## Verification",
|
|
255
|
+
...formatReportList(verificationLines, "Not specified in completion result."),
|
|
256
|
+
"",
|
|
257
|
+
"## Key Findings",
|
|
258
|
+
...formatReportList(findingLines, "Not specified."),
|
|
259
|
+
"",
|
|
260
|
+
"## Follow-ups / Risks",
|
|
261
|
+
...formatReportList(followupLines, "None specified."),
|
|
262
|
+
"",
|
|
263
|
+
"## Handoff Notes",
|
|
264
|
+
"- Reviewer should verify this report against the original task requirements before closing.",
|
|
265
|
+
`- Use the task ID (${input.taskId}) and task file (${input.taskFile}) for full context.`
|
|
266
|
+
];
|
|
267
|
+
return parts.join("\n");
|
|
268
|
+
}
|
|
269
|
+
function shouldNormalizeTaskResult(requestedStatus, finalStatus) {
|
|
270
|
+
return requestedStatus === "done" || REPORTABLE_COMPLETION_STATUSES.has(finalStatus);
|
|
271
|
+
}
|
|
185
272
|
async function writeCheckpoint(input) {
|
|
186
273
|
const client = getClient();
|
|
187
274
|
const row = await resolveTask(client, input.taskId);
|
|
@@ -374,7 +461,7 @@ async function createTaskCore(input) {
|
|
|
374
461
|
if (isCoordinatorSession) {
|
|
375
462
|
earlySessionScope = resolved;
|
|
376
463
|
} else {
|
|
377
|
-
const { getSessionProject } = await import("./session-scope-
|
|
464
|
+
const { getSessionProject } = await import("./session-scope-RGIEAQRR.js");
|
|
378
465
|
const sessionProject = getSessionProject(resolved);
|
|
379
466
|
if (sessionProject && sessionProject !== input.projectName) {
|
|
380
467
|
scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
|
|
@@ -823,7 +910,7 @@ async function updateTaskStatus(input) {
|
|
|
823
910
|
} catch {
|
|
824
911
|
}
|
|
825
912
|
try {
|
|
826
|
-
const { writeNotification: writeNotification2 } = await import("./notifications-
|
|
913
|
+
const { writeNotification: writeNotification2 } = await import("./notifications-YF7ANNPB.js");
|
|
827
914
|
await writeNotification2({
|
|
828
915
|
agentId: reviewer,
|
|
829
916
|
agentRole: isCoordinatorName(reviewer) ? "COO" : "manager",
|
|
@@ -907,6 +994,21 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
|
|
|
907
994
|
}
|
|
908
995
|
}
|
|
909
996
|
}
|
|
997
|
+
const shouldWriteCompletionMemory = shouldNormalizeTaskResult(requestedStatus, input.status) && previousStatus !== input.status && (requestedStatus === "done" || input.status === "needs_review");
|
|
998
|
+
if (shouldNormalizeTaskResult(requestedStatus, input.status)) {
|
|
999
|
+
input.result = buildTaskCompletionReport({
|
|
1000
|
+
taskId,
|
|
1001
|
+
title: String(row.title),
|
|
1002
|
+
agentId: String(row.assigned_to),
|
|
1003
|
+
projectName: String(row.project_name ?? ""),
|
|
1004
|
+
status: input.status,
|
|
1005
|
+
requestedStatus,
|
|
1006
|
+
taskFile,
|
|
1007
|
+
reviewer: row.reviewer ? String(row.reviewer) : null,
|
|
1008
|
+
completedAt: now,
|
|
1009
|
+
result: input.result
|
|
1010
|
+
});
|
|
1011
|
+
}
|
|
910
1012
|
if (input.status === "in_progress") {
|
|
911
1013
|
const tmuxSession = process.env.TMUX_PANE ?? process.env.MY_TMUX_SESSION ?? "unknown";
|
|
912
1014
|
const claimAgent = process.env.AGENT_ID ?? String(row.assigned_to ?? "unknown");
|
|
@@ -1090,6 +1192,26 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
|
|
|
1090
1192
|
result: input.status
|
|
1091
1193
|
});
|
|
1092
1194
|
}
|
|
1195
|
+
if (shouldWriteCompletionMemory && input.result) {
|
|
1196
|
+
try {
|
|
1197
|
+
const { writeMemoryViaDaemon } = await import("./memory-queue-client-BKEAVZHZ.js");
|
|
1198
|
+
await writeMemoryViaDaemon({
|
|
1199
|
+
raw_text: input.result,
|
|
1200
|
+
agent_id: String(row.assigned_to),
|
|
1201
|
+
agent_role: agentRoleForReport(String(row.assigned_to)),
|
|
1202
|
+
session_id: eventSessionScope ?? "task-completion",
|
|
1203
|
+
tool_name: "task-completion-report",
|
|
1204
|
+
project_name: eventProjectName ?? "",
|
|
1205
|
+
timestamp: now,
|
|
1206
|
+
importance: 8,
|
|
1207
|
+
task_id: taskId,
|
|
1208
|
+
memory_type: "checkpoint",
|
|
1209
|
+
trajectory: "completed",
|
|
1210
|
+
session_scope: eventSessionScope ?? void 0
|
|
1211
|
+
});
|
|
1212
|
+
} catch {
|
|
1213
|
+
}
|
|
1214
|
+
}
|
|
1093
1215
|
if (input.status === "needs_review" && previousStatus !== "needs_review" && previousStatus !== "closed") {
|
|
1094
1216
|
recordOrchestrationEventBestEffort({
|
|
1095
1217
|
eventType: "review.ready",
|
|
@@ -1175,7 +1297,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
|
|
|
1175
1297
|
}
|
|
1176
1298
|
if (input.status === "done" || input.status === "needs_review") {
|
|
1177
1299
|
try {
|
|
1178
|
-
const { incrementSkillSuccess } = await import("./skill-refinement-
|
|
1300
|
+
const { incrementSkillSuccess } = await import("./skill-refinement-BGWMSERG.js");
|
|
1179
1301
|
await incrementSkillSuccess(
|
|
1180
1302
|
String(row.assigned_to),
|
|
1181
1303
|
row.project_name ? String(row.project_name) : null
|
|
@@ -2304,7 +2426,7 @@ async function verifyPaneAtCapacity(sessionName) {
|
|
|
2304
2426
|
reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
|
|
2305
2427
|
};
|
|
2306
2428
|
}
|
|
2307
|
-
const { isAtCapacity } = await import("./capacity-monitor-
|
|
2429
|
+
const { isAtCapacity } = await import("./capacity-monitor-PQ7EZ5ES.js");
|
|
2308
2430
|
if (!isAtCapacity(pane)) {
|
|
2309
2431
|
return {
|
|
2310
2432
|
atCapacity: false,
|
|
@@ -3083,6 +3205,8 @@ export {
|
|
|
3083
3205
|
markDoneTaskNotificationsAsRead,
|
|
3084
3206
|
formatNotifications,
|
|
3085
3207
|
migrateJsonNotifications,
|
|
3208
|
+
isStructuredTaskCompletionReport,
|
|
3209
|
+
buildTaskCompletionReport,
|
|
3086
3210
|
writeCheckpoint,
|
|
3087
3211
|
extractParentFromContext,
|
|
3088
3212
|
slugify,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
sessionScopeFilter,
|
|
12
12
|
updateTaskStatus,
|
|
13
13
|
writeNotification
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-A3K7V6SW.js";
|
|
15
15
|
import {
|
|
16
16
|
getTransport
|
|
17
17
|
} from "./chunk-5YDHBZCO.js";
|
|
@@ -159,7 +159,7 @@ async function dispatchTaskToEmployee(input) {
|
|
|
159
159
|
let crossProject = false;
|
|
160
160
|
if (input.projectName) {
|
|
161
161
|
try {
|
|
162
|
-
const { assertSessionScope } = await import("./session-scope-
|
|
162
|
+
const { assertSessionScope } = await import("./session-scope-RGIEAQRR.js");
|
|
163
163
|
const check = assertSessionScope("dispatch_task", input.projectName);
|
|
164
164
|
if (check.reason === "cross_session_denied") {
|
|
165
165
|
crossProject = true;
|
|
@@ -500,7 +500,7 @@ async function updateTask(input) {
|
|
|
500
500
|
await markTaskNotificationsRead(taskFile);
|
|
501
501
|
if (input.status === "needs_review" && !isCoordinator) {
|
|
502
502
|
try {
|
|
503
|
-
const { writeNotification: writeNotification2 } = await import("./notifications-
|
|
503
|
+
const { writeNotification: writeNotification2 } = await import("./notifications-YF7ANNPB.js");
|
|
504
504
|
await writeNotification2({
|
|
505
505
|
agentId: String(row.assigned_to),
|
|
506
506
|
agentRole: String(row.assigned_to),
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
buildRawVisibilityFilter,
|
|
4
4
|
buildWikiScopeFilter,
|
|
5
5
|
searchMemories
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-E3Q4R3K6.js";
|
|
7
7
|
import {
|
|
8
8
|
getClient
|
|
9
9
|
} from "./chunk-3MHKTBHZ.js";
|
|
@@ -233,7 +233,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
233
233
|
let rerankerAvailable = false;
|
|
234
234
|
if (process.env.EXE_IS_DAEMON === "1") {
|
|
235
235
|
try {
|
|
236
|
-
const { isRerankerAvailable } = await import("./reranker-
|
|
236
|
+
const { isRerankerAvailable } = await import("./reranker-N4DKQYFR.js");
|
|
237
237
|
rerankerAvailable = isRerankerAvailable();
|
|
238
238
|
} catch {
|
|
239
239
|
}
|
|
@@ -397,7 +397,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
397
397
|
try {
|
|
398
398
|
let rerankedRecords;
|
|
399
399
|
if (graphContextMap.size > 0) {
|
|
400
|
-
const { rerankWithContext } = await import("./reranker-
|
|
400
|
+
const { rerankWithContext } = await import("./reranker-N4DKQYFR.js");
|
|
401
401
|
const candidates = merged.map((m) => ({
|
|
402
402
|
text: m.raw_text,
|
|
403
403
|
context: graphContextMap.get(m.id)
|
|
@@ -405,7 +405,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
405
405
|
const scored = await rerankWithContext(effectiveQuery, candidates, rerankReturnLimit);
|
|
406
406
|
rerankedRecords = scored.map((s) => merged[s.index]);
|
|
407
407
|
} else {
|
|
408
|
-
const { rerank } = await import("./reranker-
|
|
408
|
+
const { rerank } = await import("./reranker-N4DKQYFR.js");
|
|
409
409
|
rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
|
|
410
410
|
}
|
|
411
411
|
if (rerankedRecords.length > 0) {
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-3S3ERUUH.js";
|
|
4
4
|
import {
|
|
5
5
|
updateTask
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AOBTVA7I.js";
|
|
7
7
|
import {
|
|
8
8
|
ensureEmployee,
|
|
9
9
|
extractRootExe,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
sessionScopeFilter,
|
|
15
15
|
strictSessionScopeFilter,
|
|
16
16
|
writeNotification
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-A3K7V6SW.js";
|
|
18
18
|
import {
|
|
19
19
|
queueIntercom
|
|
20
20
|
} from "./chunk-QI4IXJN7.js";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-MLXJ5EZG.js";
|
|
4
4
|
import {
|
|
5
5
|
createTask
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AOBTVA7I.js";
|
|
7
7
|
import {
|
|
8
8
|
getActiveAgent
|
|
9
9
|
} from "./chunk-3N4ZEPZI.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
ensureEmployee,
|
|
12
12
|
logTaskDispatch,
|
|
13
13
|
resolveExeSession
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-A3K7V6SW.js";
|
|
15
15
|
import {
|
|
16
16
|
recordOrchestrationEventBestEffort
|
|
17
17
|
} from "./chunk-ITYWLFYC.js";
|
|
@@ -243,7 +243,7 @@ function registerCreateTask(server) {
|
|
|
243
243
|
let projectConflictOpts = {};
|
|
244
244
|
try {
|
|
245
245
|
const { getClient } = await import("./lib/database.js");
|
|
246
|
-
const { sessionScopeFilter } = await import("./task-scope-
|
|
246
|
+
const { sessionScopeFilter } = await import("./task-scope-4CBJ3QI2.js");
|
|
247
247
|
const client = getClient();
|
|
248
248
|
const scope = sessionScopeFilter();
|
|
249
249
|
const existing = await client.execute({
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TelegramAdapter
|
|
3
|
+
} from "./chunk-Q3V7K4ME.js";
|
|
4
|
+
import {
|
|
5
|
+
DiscordAdapter
|
|
6
|
+
} from "./chunk-N5RRQOAC.js";
|
|
7
|
+
import {
|
|
8
|
+
SlackAdapter
|
|
9
|
+
} from "./chunk-ORCCI2VV.js";
|
|
1
10
|
import {
|
|
2
11
|
IMessageAdapter
|
|
3
12
|
} from "./chunk-FLSASUV3.js";
|
|
4
13
|
import {
|
|
5
14
|
createCRMWebhookHandler,
|
|
6
15
|
parseTwentyWebhook
|
|
7
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-VBPNKKOP.js";
|
|
8
17
|
import {
|
|
9
18
|
WhatsAppAdapter
|
|
10
19
|
} from "./chunk-ECSNSHZ7.js";
|
|
@@ -12,14 +21,12 @@ import {
|
|
|
12
21
|
SignalAdapter
|
|
13
22
|
} from "./chunk-RJT7H2KR.js";
|
|
14
23
|
import {
|
|
15
|
-
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import {
|
|
18
|
-
DiscordAdapter
|
|
19
|
-
} from "./chunk-N5RRQOAC.js";
|
|
24
|
+
OllamaProvider
|
|
25
|
+
} from "./chunk-FWFFZGSC.js";
|
|
20
26
|
import {
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
AnthropicProvider,
|
|
28
|
+
OpenAICompatProvider
|
|
29
|
+
} from "./chunk-ECGTESAP.js";
|
|
23
30
|
import {
|
|
24
31
|
BotRegistry,
|
|
25
32
|
BotRuntime,
|
|
@@ -42,14 +49,7 @@ import {
|
|
|
42
49
|
retryWithBackoff,
|
|
43
50
|
routeMessage,
|
|
44
51
|
validateGatewayConfig
|
|
45
|
-
} from "./chunk-
|
|
46
|
-
import {
|
|
47
|
-
OllamaProvider
|
|
48
|
-
} from "./chunk-FWFFZGSC.js";
|
|
49
|
-
import {
|
|
50
|
-
AnthropicProvider,
|
|
51
|
-
OpenAICompatProvider
|
|
52
|
-
} from "./chunk-ECGTESAP.js";
|
|
52
|
+
} from "./chunk-GD5AQDZL.js";
|
|
53
53
|
import {
|
|
54
54
|
getAccountByName,
|
|
55
55
|
getAccountByPhoneNumberId,
|
|
@@ -111,7 +111,7 @@ function releaseBackfillLock() {
|
|
|
111
111
|
}
|
|
112
112
|
async function getTaskAwareCapacity() {
|
|
113
113
|
const { getClient } = await import("./lib/database.js");
|
|
114
|
-
const { sessionScopeFilter } = await import("./task-scope-
|
|
114
|
+
const { sessionScopeFilter } = await import("./task-scope-4CBJ3QI2.js");
|
|
115
115
|
const client = getClient();
|
|
116
116
|
const scope = sessionScopeFilter();
|
|
117
117
|
const result = await client.execute({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionScopeFilter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-A3K7V6SW.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/git-task-sweep.ts
|
|
6
6
|
import { execSync } from "child_process";
|
|
@@ -178,7 +178,7 @@ async function sweepTasks(projectName, options = {}) {
|
|
|
178
178
|
}
|
|
179
179
|
if (!dryRun) {
|
|
180
180
|
try {
|
|
181
|
-
const { updateTaskStatus } = await import("./tasks-crud-
|
|
181
|
+
const { updateTaskStatus } = await import("./tasks-crud-PQ23SS5C.js");
|
|
182
182
|
await updateTaskStatus({
|
|
183
183
|
taskId: task.id,
|
|
184
184
|
status: "needs_review",
|
|
@@ -849,7 +849,7 @@ function formatReport(report, flags) {
|
|
|
849
849
|
return lines.join("\n");
|
|
850
850
|
}
|
|
851
851
|
async function fixNullVectors() {
|
|
852
|
-
const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-
|
|
852
|
+
const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-XHZWIMDA.js");
|
|
853
853
|
if (!tryAcquireWorkerSlot()) {
|
|
854
854
|
process.stderr.write("[exe-doctor] Worker gate full \u2014 waiting for existing backfill workers to finish\n");
|
|
855
855
|
await new Promise((r) => setTimeout(r, 5e3));
|
|
@@ -970,7 +970,7 @@ function splitAtSentences(text, maxChunkSize) {
|
|
|
970
970
|
}
|
|
971
971
|
async function main(argv = process.argv.slice(2)) {
|
|
972
972
|
const flags = parseFlags(argv);
|
|
973
|
-
const { fastDbInit } = await import("./fast-db-init-
|
|
973
|
+
const { fastDbInit } = await import("./fast-db-init-WSVNCMIA.js");
|
|
974
974
|
const client = await fastDbInit();
|
|
975
975
|
const report = await runAudit(client, flags);
|
|
976
976
|
console.log(formatReport(report, flags));
|
|
@@ -48,10 +48,10 @@ import {
|
|
|
48
48
|
shouldKillIdleSession,
|
|
49
49
|
shouldKillSession,
|
|
50
50
|
shouldNudgeEmployee
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-BO6HP63V.js";
|
|
52
52
|
import "./chunk-3S3ERUUH.js";
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-AOBTVA7I.js";
|
|
54
|
+
import "./chunk-A3K7V6SW.js";
|
|
55
55
|
import "./chunk-FYJCMGTD.js";
|
|
56
56
|
import "./chunk-QI4IXJN7.js";
|
|
57
57
|
import "./chunk-IR4L6K5L.js";
|
package/dist/gateway/index.js
CHANGED
|
@@ -11,14 +11,23 @@ import {
|
|
|
11
11
|
createSignupBot,
|
|
12
12
|
ensureCRMContact,
|
|
13
13
|
formatAlert
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-EXRMA2QK.js";
|
|
15
|
+
import {
|
|
16
|
+
TelegramAdapter
|
|
17
|
+
} from "../chunk-Q3V7K4ME.js";
|
|
18
|
+
import {
|
|
19
|
+
DiscordAdapter
|
|
20
|
+
} from "../chunk-N5RRQOAC.js";
|
|
21
|
+
import {
|
|
22
|
+
SlackAdapter
|
|
23
|
+
} from "../chunk-ORCCI2VV.js";
|
|
15
24
|
import {
|
|
16
25
|
IMessageAdapter
|
|
17
26
|
} from "../chunk-FLSASUV3.js";
|
|
18
27
|
import {
|
|
19
28
|
createCRMWebhookHandler,
|
|
20
29
|
parseTwentyWebhook
|
|
21
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-VBPNKKOP.js";
|
|
22
31
|
import {
|
|
23
32
|
WhatsAppAdapter
|
|
24
33
|
} from "../chunk-ECSNSHZ7.js";
|
|
@@ -26,14 +35,12 @@ import {
|
|
|
26
35
|
SignalAdapter
|
|
27
36
|
} from "../chunk-RJT7H2KR.js";
|
|
28
37
|
import {
|
|
29
|
-
|
|
30
|
-
} from "../chunk-
|
|
31
|
-
import {
|
|
32
|
-
DiscordAdapter
|
|
33
|
-
} from "../chunk-N5RRQOAC.js";
|
|
38
|
+
OllamaProvider
|
|
39
|
+
} from "../chunk-FWFFZGSC.js";
|
|
34
40
|
import {
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
AnthropicProvider,
|
|
42
|
+
OpenAICompatProvider
|
|
43
|
+
} from "../chunk-ECGTESAP.js";
|
|
37
44
|
import {
|
|
38
45
|
BotRegistry,
|
|
39
46
|
BotRuntime,
|
|
@@ -56,22 +63,15 @@ import {
|
|
|
56
63
|
retryWithBackoff,
|
|
57
64
|
routeMessage,
|
|
58
65
|
validateGatewayConfig
|
|
59
|
-
} from "../chunk-
|
|
60
|
-
import "../chunk-
|
|
61
|
-
import {
|
|
62
|
-
OllamaProvider
|
|
63
|
-
} from "../chunk-FWFFZGSC.js";
|
|
64
|
-
import {
|
|
65
|
-
AnthropicProvider,
|
|
66
|
-
OpenAICompatProvider
|
|
67
|
-
} from "../chunk-ECGTESAP.js";
|
|
66
|
+
} from "../chunk-GD5AQDZL.js";
|
|
67
|
+
import "../chunk-VUJHFM4F.js";
|
|
68
68
|
import {
|
|
69
69
|
getAccountByName,
|
|
70
70
|
getAccountByPhoneNumberId,
|
|
71
71
|
getDefaultAccount,
|
|
72
72
|
loadAccounts
|
|
73
73
|
} from "../chunk-YGAAZN3E.js";
|
|
74
|
-
import "../chunk-
|
|
74
|
+
import "../chunk-Z2HB2SXL.js";
|
|
75
75
|
import {
|
|
76
76
|
createPerson,
|
|
77
77
|
findPersonByContact,
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
getRecentCommits,
|
|
5
5
|
matchScore,
|
|
6
6
|
sweepTasks
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-PQU74C7J.js";
|
|
8
|
+
import "./chunk-A3K7V6SW.js";
|
|
9
9
|
import "./chunk-FYJCMGTD.js";
|
|
10
10
|
import "./chunk-QI4IXJN7.js";
|
|
11
11
|
import "./chunk-IR4L6K5L.js";
|