@askexenow/exe-os 0.9.32 → 0.9.34
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 +18 -2
- package/dist/bin/backfill-responses.js +18 -2
- package/dist/bin/backfill-vectors.js +18 -2
- package/dist/bin/cleanup-stale-review-tasks.js +18 -2
- package/dist/bin/cli.js +43 -11
- package/dist/bin/exe-assign.js +18 -2
- package/dist/bin/exe-boot.js +32 -10
- package/dist/bin/exe-cloud.js +3 -3
- package/dist/bin/exe-dispatch.js +21 -4
- package/dist/bin/exe-doctor.js +45 -21
- package/dist/bin/exe-export-behaviors.js +18 -2
- package/dist/bin/exe-forget.js +27 -8
- package/dist/bin/exe-gateway.js +21 -4
- package/dist/bin/exe-heartbeat.js +18 -2
- package/dist/bin/exe-kill.js +18 -2
- package/dist/bin/exe-launch-agent.js +34 -2
- package/dist/bin/exe-link.js +20 -5
- package/dist/bin/exe-pending-messages.js +18 -2
- package/dist/bin/exe-pending-notifications.js +18 -2
- package/dist/bin/exe-pending-reviews.js +18 -2
- package/dist/bin/exe-rename.js +18 -2
- package/dist/bin/exe-review.js +18 -2
- package/dist/bin/exe-search.js +18 -2
- package/dist/bin/exe-session-cleanup.js +21 -4
- package/dist/bin/exe-settings.js +1 -1
- package/dist/bin/exe-start-codex.js +42 -7
- package/dist/bin/exe-start-opencode.js +34 -2
- package/dist/bin/exe-status.js +18 -2
- package/dist/bin/exe-team.js +18 -2
- package/dist/bin/git-sweep.js +21 -4
- package/dist/bin/graph-backfill.js +18 -2
- package/dist/bin/graph-export.js +18 -2
- package/dist/bin/intercom-check.js +21 -4
- package/dist/bin/scan-tasks.js +21 -4
- package/dist/bin/setup.js +24 -9
- package/dist/bin/shard-migrate.js +18 -2
- package/dist/gateway/index.js +21 -4
- package/dist/hooks/bug-report-worker.js +21 -4
- package/dist/hooks/codex-stop-task-finalizer.js +21 -4
- package/dist/hooks/commit-complete.js +21 -4
- package/dist/hooks/error-recall.js +27 -2
- package/dist/hooks/exe-heartbeat-hook.js +9 -0
- package/dist/hooks/ingest.js +27 -2
- package/dist/hooks/instructions-loaded.js +27 -2
- package/dist/hooks/notification.js +27 -2
- package/dist/hooks/post-compact.js +30 -3
- package/dist/hooks/post-tool-combined.js +34 -2
- package/dist/hooks/pre-compact.js +33 -5
- package/dist/hooks/pre-tool-use.js +30 -3
- package/dist/hooks/prompt-submit.js +33 -5
- package/dist/hooks/session-end.js +33 -5
- package/dist/hooks/session-start.js +34 -2
- package/dist/hooks/stop.js +30 -3
- package/dist/hooks/subagent-stop.js +30 -3
- package/dist/hooks/summary-worker.js +22 -7
- package/dist/index.js +21 -4
- package/dist/lib/cloud-sync.js +20 -5
- package/dist/lib/database.js +17 -1
- package/dist/lib/db.js +17 -1
- package/dist/lib/device-registry.js +18 -2
- package/dist/lib/exe-daemon.js +20243 -6717
- package/dist/lib/hybrid-search.js +18 -2
- package/dist/lib/schedules.js +18 -2
- package/dist/lib/store.js +18 -2
- package/dist/lib/tasks.js +3 -2
- package/dist/lib/tmux-routing.js +3 -2
- package/dist/mcp/server.js +213 -167
- package/dist/mcp/tools/create-task.js +15 -3
- package/dist/mcp/tools/deactivate-behavior.js +9 -0
- package/dist/mcp/tools/list-tasks.js +12 -1
- package/dist/mcp/tools/send-message.js +12 -1
- package/dist/mcp/tools/update-task.js +19 -2
- package/dist/runtime/index.js +21 -4
- package/dist/tui/App.js +21 -4
- package/package.json +1 -1
|
@@ -1649,6 +1649,7 @@ var init_db_daemon_client = __esm({
|
|
|
1649
1649
|
// src/lib/database.ts
|
|
1650
1650
|
var database_exports = {};
|
|
1651
1651
|
__export(database_exports, {
|
|
1652
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1652
1653
|
disposeDatabase: () => disposeDatabase,
|
|
1653
1654
|
disposeTurso: () => disposeTurso,
|
|
1654
1655
|
ensureSchema: () => ensureSchema,
|
|
@@ -1805,10 +1806,17 @@ async function ensureSchema() {
|
|
|
1805
1806
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1806
1807
|
END;
|
|
1807
1808
|
|
|
1808
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1809
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1810
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1809
1811
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1810
1812
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1811
1813
|
END;
|
|
1814
|
+
|
|
1815
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1816
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1817
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1818
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1819
|
+
END;
|
|
1812
1820
|
`);
|
|
1813
1821
|
await client.executeMultiple(`
|
|
1814
1822
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2211,6 +2219,13 @@ async function ensureSchema() {
|
|
|
2211
2219
|
});
|
|
2212
2220
|
} catch {
|
|
2213
2221
|
}
|
|
2222
|
+
try {
|
|
2223
|
+
await client.execute({
|
|
2224
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2225
|
+
args: []
|
|
2226
|
+
});
|
|
2227
|
+
} catch {
|
|
2228
|
+
}
|
|
2214
2229
|
try {
|
|
2215
2230
|
await client.execute({
|
|
2216
2231
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2747,7 +2762,7 @@ async function disposeDatabase() {
|
|
|
2747
2762
|
_resilientClient = null;
|
|
2748
2763
|
}
|
|
2749
2764
|
}
|
|
2750
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2765
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2751
2766
|
var init_database = __esm({
|
|
2752
2767
|
"src/lib/database.ts"() {
|
|
2753
2768
|
"use strict";
|
|
@@ -2761,6 +2776,7 @@ var init_database = __esm({
|
|
|
2761
2776
|
_daemonClient = null;
|
|
2762
2777
|
_adapterClient = null;
|
|
2763
2778
|
initTurso = initDatabase;
|
|
2779
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2764
2780
|
disposeTurso = disposeDatabase;
|
|
2765
2781
|
}
|
|
2766
2782
|
});
|
package/dist/lib/schedules.js
CHANGED
|
@@ -1445,6 +1445,7 @@ var init_db_daemon_client = __esm({
|
|
|
1445
1445
|
// src/lib/database.ts
|
|
1446
1446
|
var database_exports = {};
|
|
1447
1447
|
__export(database_exports, {
|
|
1448
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1448
1449
|
disposeDatabase: () => disposeDatabase,
|
|
1449
1450
|
disposeTurso: () => disposeTurso,
|
|
1450
1451
|
ensureSchema: () => ensureSchema,
|
|
@@ -1601,10 +1602,17 @@ async function ensureSchema() {
|
|
|
1601
1602
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1602
1603
|
END;
|
|
1603
1604
|
|
|
1604
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1605
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1606
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1605
1607
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1606
1608
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1607
1609
|
END;
|
|
1610
|
+
|
|
1611
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1612
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1613
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1614
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1615
|
+
END;
|
|
1608
1616
|
`);
|
|
1609
1617
|
await client.executeMultiple(`
|
|
1610
1618
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2007,6 +2015,13 @@ async function ensureSchema() {
|
|
|
2007
2015
|
});
|
|
2008
2016
|
} catch {
|
|
2009
2017
|
}
|
|
2018
|
+
try {
|
|
2019
|
+
await client.execute({
|
|
2020
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2021
|
+
args: []
|
|
2022
|
+
});
|
|
2023
|
+
} catch {
|
|
2024
|
+
}
|
|
2010
2025
|
try {
|
|
2011
2026
|
await client.execute({
|
|
2012
2027
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2543,7 +2558,7 @@ async function disposeDatabase() {
|
|
|
2543
2558
|
_resilientClient = null;
|
|
2544
2559
|
}
|
|
2545
2560
|
}
|
|
2546
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2561
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2547
2562
|
var init_database = __esm({
|
|
2548
2563
|
"src/lib/database.ts"() {
|
|
2549
2564
|
"use strict";
|
|
@@ -2557,6 +2572,7 @@ var init_database = __esm({
|
|
|
2557
2572
|
_daemonClient = null;
|
|
2558
2573
|
_adapterClient = null;
|
|
2559
2574
|
initTurso = initDatabase;
|
|
2575
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2560
2576
|
disposeTurso = disposeDatabase;
|
|
2561
2577
|
}
|
|
2562
2578
|
});
|
package/dist/lib/store.js
CHANGED
|
@@ -1445,6 +1445,7 @@ var init_db_daemon_client = __esm({
|
|
|
1445
1445
|
// src/lib/database.ts
|
|
1446
1446
|
var database_exports = {};
|
|
1447
1447
|
__export(database_exports, {
|
|
1448
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1448
1449
|
disposeDatabase: () => disposeDatabase,
|
|
1449
1450
|
disposeTurso: () => disposeTurso,
|
|
1450
1451
|
ensureSchema: () => ensureSchema,
|
|
@@ -1601,10 +1602,17 @@ async function ensureSchema() {
|
|
|
1601
1602
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1602
1603
|
END;
|
|
1603
1604
|
|
|
1604
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1605
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1606
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1605
1607
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1606
1608
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1607
1609
|
END;
|
|
1610
|
+
|
|
1611
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1612
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1613
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1614
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1615
|
+
END;
|
|
1608
1616
|
`);
|
|
1609
1617
|
await client.executeMultiple(`
|
|
1610
1618
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2007,6 +2015,13 @@ async function ensureSchema() {
|
|
|
2007
2015
|
});
|
|
2008
2016
|
} catch {
|
|
2009
2017
|
}
|
|
2018
|
+
try {
|
|
2019
|
+
await client.execute({
|
|
2020
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2021
|
+
args: []
|
|
2022
|
+
});
|
|
2023
|
+
} catch {
|
|
2024
|
+
}
|
|
2010
2025
|
try {
|
|
2011
2026
|
await client.execute({
|
|
2012
2027
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2543,7 +2558,7 @@ async function disposeDatabase() {
|
|
|
2543
2558
|
_resilientClient = null;
|
|
2544
2559
|
}
|
|
2545
2560
|
}
|
|
2546
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2561
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2547
2562
|
var init_database = __esm({
|
|
2548
2563
|
"src/lib/database.ts"() {
|
|
2549
2564
|
"use strict";
|
|
@@ -2557,6 +2572,7 @@ var init_database = __esm({
|
|
|
2557
2572
|
_daemonClient = null;
|
|
2558
2573
|
_adapterClient = null;
|
|
2559
2574
|
initTurso = initDatabase;
|
|
2575
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2560
2576
|
disposeTurso = disposeDatabase;
|
|
2561
2577
|
}
|
|
2562
2578
|
});
|
package/dist/lib/tasks.js
CHANGED
|
@@ -4420,9 +4420,10 @@ async function updateTask(input) {
|
|
|
4420
4420
|
args: [assignedAgent]
|
|
4421
4421
|
});
|
|
4422
4422
|
} else if (input.status === "cancelled") {
|
|
4423
|
+
const now2 = (/* @__PURE__ */ new Date()).toISOString();
|
|
4423
4424
|
await draftClient.execute({
|
|
4424
|
-
sql: `
|
|
4425
|
-
args: [assignedAgent]
|
|
4425
|
+
sql: `UPDATE memories SET status = 'deleted', deleted_at = ? WHERE agent_id = ? AND draft = 1`,
|
|
4426
|
+
args: [now2, assignedAgent]
|
|
4426
4427
|
});
|
|
4427
4428
|
}
|
|
4428
4429
|
} catch {
|
package/dist/lib/tmux-routing.js
CHANGED
|
@@ -3325,9 +3325,10 @@ async function updateTask(input) {
|
|
|
3325
3325
|
args: [assignedAgent]
|
|
3326
3326
|
});
|
|
3327
3327
|
} else if (input.status === "cancelled") {
|
|
3328
|
+
const now2 = (/* @__PURE__ */ new Date()).toISOString();
|
|
3328
3329
|
await draftClient.execute({
|
|
3329
|
-
sql: `
|
|
3330
|
-
args: [assignedAgent]
|
|
3330
|
+
sql: `UPDATE memories SET status = 'deleted', deleted_at = ? WHERE agent_id = ? AND draft = 1`,
|
|
3331
|
+
args: [now2, assignedAgent]
|
|
3331
3332
|
});
|
|
3332
3333
|
}
|
|
3333
3334
|
} catch {
|