@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
|
@@ -1671,6 +1671,7 @@ var init_db_daemon_client = __esm({
|
|
|
1671
1671
|
// src/lib/database.ts
|
|
1672
1672
|
var database_exports = {};
|
|
1673
1673
|
__export(database_exports, {
|
|
1674
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1674
1675
|
disposeDatabase: () => disposeDatabase,
|
|
1675
1676
|
disposeTurso: () => disposeTurso,
|
|
1676
1677
|
ensureSchema: () => ensureSchema,
|
|
@@ -1827,10 +1828,17 @@ async function ensureSchema() {
|
|
|
1827
1828
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1828
1829
|
END;
|
|
1829
1830
|
|
|
1830
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1831
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1832
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1831
1833
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1832
1834
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1833
1835
|
END;
|
|
1836
|
+
|
|
1837
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1838
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1839
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1840
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1841
|
+
END;
|
|
1834
1842
|
`);
|
|
1835
1843
|
await client.executeMultiple(`
|
|
1836
1844
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2233,6 +2241,13 @@ async function ensureSchema() {
|
|
|
2233
2241
|
});
|
|
2234
2242
|
} catch {
|
|
2235
2243
|
}
|
|
2244
|
+
try {
|
|
2245
|
+
await client.execute({
|
|
2246
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2247
|
+
args: []
|
|
2248
|
+
});
|
|
2249
|
+
} catch {
|
|
2250
|
+
}
|
|
2236
2251
|
try {
|
|
2237
2252
|
await client.execute({
|
|
2238
2253
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2769,7 +2784,7 @@ async function disposeDatabase() {
|
|
|
2769
2784
|
_resilientClient = null;
|
|
2770
2785
|
}
|
|
2771
2786
|
}
|
|
2772
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2787
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2773
2788
|
var init_database = __esm({
|
|
2774
2789
|
"src/lib/database.ts"() {
|
|
2775
2790
|
"use strict";
|
|
@@ -2783,6 +2798,7 @@ var init_database = __esm({
|
|
|
2783
2798
|
_daemonClient = null;
|
|
2784
2799
|
_adapterClient = null;
|
|
2785
2800
|
initTurso = initDatabase;
|
|
2801
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2786
2802
|
disposeTurso = disposeDatabase;
|
|
2787
2803
|
}
|
|
2788
2804
|
});
|
|
@@ -1672,6 +1672,7 @@ var init_db_daemon_client = __esm({
|
|
|
1672
1672
|
// src/lib/database.ts
|
|
1673
1673
|
var database_exports = {};
|
|
1674
1674
|
__export(database_exports, {
|
|
1675
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1675
1676
|
disposeDatabase: () => disposeDatabase,
|
|
1676
1677
|
disposeTurso: () => disposeTurso,
|
|
1677
1678
|
ensureSchema: () => ensureSchema,
|
|
@@ -1828,10 +1829,17 @@ async function ensureSchema() {
|
|
|
1828
1829
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1829
1830
|
END;
|
|
1830
1831
|
|
|
1831
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1832
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1833
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1832
1834
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1833
1835
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1834
1836
|
END;
|
|
1837
|
+
|
|
1838
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1839
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1840
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1841
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1842
|
+
END;
|
|
1835
1843
|
`);
|
|
1836
1844
|
await client.executeMultiple(`
|
|
1837
1845
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2234,6 +2242,13 @@ async function ensureSchema() {
|
|
|
2234
2242
|
});
|
|
2235
2243
|
} catch {
|
|
2236
2244
|
}
|
|
2245
|
+
try {
|
|
2246
|
+
await client.execute({
|
|
2247
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2248
|
+
args: []
|
|
2249
|
+
});
|
|
2250
|
+
} catch {
|
|
2251
|
+
}
|
|
2237
2252
|
try {
|
|
2238
2253
|
await client.execute({
|
|
2239
2254
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2770,7 +2785,7 @@ async function disposeDatabase() {
|
|
|
2770
2785
|
_resilientClient = null;
|
|
2771
2786
|
}
|
|
2772
2787
|
}
|
|
2773
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2788
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2774
2789
|
var init_database = __esm({
|
|
2775
2790
|
"src/lib/database.ts"() {
|
|
2776
2791
|
"use strict";
|
|
@@ -2784,6 +2799,7 @@ var init_database = __esm({
|
|
|
2784
2799
|
_daemonClient = null;
|
|
2785
2800
|
_adapterClient = null;
|
|
2786
2801
|
initTurso = initDatabase;
|
|
2802
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2787
2803
|
disposeTurso = disposeDatabase;
|
|
2788
2804
|
}
|
|
2789
2805
|
});
|
|
@@ -1672,6 +1672,7 @@ var init_db_daemon_client = __esm({
|
|
|
1672
1672
|
// src/lib/database.ts
|
|
1673
1673
|
var database_exports = {};
|
|
1674
1674
|
__export(database_exports, {
|
|
1675
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1675
1676
|
disposeDatabase: () => disposeDatabase,
|
|
1676
1677
|
disposeTurso: () => disposeTurso,
|
|
1677
1678
|
ensureSchema: () => ensureSchema,
|
|
@@ -1828,10 +1829,17 @@ async function ensureSchema() {
|
|
|
1828
1829
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1829
1830
|
END;
|
|
1830
1831
|
|
|
1831
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1832
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1833
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1832
1834
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1833
1835
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1834
1836
|
END;
|
|
1837
|
+
|
|
1838
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1839
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1840
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1841
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1842
|
+
END;
|
|
1835
1843
|
`);
|
|
1836
1844
|
await client.executeMultiple(`
|
|
1837
1845
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2234,6 +2242,13 @@ async function ensureSchema() {
|
|
|
2234
2242
|
});
|
|
2235
2243
|
} catch {
|
|
2236
2244
|
}
|
|
2245
|
+
try {
|
|
2246
|
+
await client.execute({
|
|
2247
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2248
|
+
args: []
|
|
2249
|
+
});
|
|
2250
|
+
} catch {
|
|
2251
|
+
}
|
|
2237
2252
|
try {
|
|
2238
2253
|
await client.execute({
|
|
2239
2254
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2770,7 +2785,7 @@ async function disposeDatabase() {
|
|
|
2770
2785
|
_resilientClient = null;
|
|
2771
2786
|
}
|
|
2772
2787
|
}
|
|
2773
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2788
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2774
2789
|
var init_database = __esm({
|
|
2775
2790
|
"src/lib/database.ts"() {
|
|
2776
2791
|
"use strict";
|
|
@@ -2784,6 +2799,7 @@ var init_database = __esm({
|
|
|
2784
2799
|
_daemonClient = null;
|
|
2785
2800
|
_adapterClient = null;
|
|
2786
2801
|
initTurso = initDatabase;
|
|
2802
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2787
2803
|
disposeTurso = disposeDatabase;
|
|
2788
2804
|
}
|
|
2789
2805
|
});
|
package/dist/bin/exe-rename.js
CHANGED
|
@@ -1410,6 +1410,7 @@ var init_db_daemon_client = __esm({
|
|
|
1410
1410
|
// src/lib/database.ts
|
|
1411
1411
|
var database_exports = {};
|
|
1412
1412
|
__export(database_exports, {
|
|
1413
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1413
1414
|
disposeDatabase: () => disposeDatabase,
|
|
1414
1415
|
disposeTurso: () => disposeTurso,
|
|
1415
1416
|
ensureSchema: () => ensureSchema,
|
|
@@ -1566,10 +1567,17 @@ async function ensureSchema() {
|
|
|
1566
1567
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1567
1568
|
END;
|
|
1568
1569
|
|
|
1569
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1570
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1571
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1570
1572
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1571
1573
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1572
1574
|
END;
|
|
1575
|
+
|
|
1576
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1577
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1578
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1579
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1580
|
+
END;
|
|
1573
1581
|
`);
|
|
1574
1582
|
await client.executeMultiple(`
|
|
1575
1583
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -1972,6 +1980,13 @@ async function ensureSchema() {
|
|
|
1972
1980
|
});
|
|
1973
1981
|
} catch {
|
|
1974
1982
|
}
|
|
1983
|
+
try {
|
|
1984
|
+
await client.execute({
|
|
1985
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
1986
|
+
args: []
|
|
1987
|
+
});
|
|
1988
|
+
} catch {
|
|
1989
|
+
}
|
|
1975
1990
|
try {
|
|
1976
1991
|
await client.execute({
|
|
1977
1992
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2508,7 +2523,7 @@ async function disposeDatabase() {
|
|
|
2508
2523
|
_resilientClient = null;
|
|
2509
2524
|
}
|
|
2510
2525
|
}
|
|
2511
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2526
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2512
2527
|
var init_database = __esm({
|
|
2513
2528
|
"src/lib/database.ts"() {
|
|
2514
2529
|
"use strict";
|
|
@@ -2522,6 +2537,7 @@ var init_database = __esm({
|
|
|
2522
2537
|
_daemonClient = null;
|
|
2523
2538
|
_adapterClient = null;
|
|
2524
2539
|
initTurso = initDatabase;
|
|
2540
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2525
2541
|
disposeTurso = disposeDatabase;
|
|
2526
2542
|
}
|
|
2527
2543
|
});
|
package/dist/bin/exe-review.js
CHANGED
|
@@ -1675,6 +1675,7 @@ var init_db_daemon_client = __esm({
|
|
|
1675
1675
|
// src/lib/database.ts
|
|
1676
1676
|
var database_exports = {};
|
|
1677
1677
|
__export(database_exports, {
|
|
1678
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1678
1679
|
disposeDatabase: () => disposeDatabase,
|
|
1679
1680
|
disposeTurso: () => disposeTurso,
|
|
1680
1681
|
ensureSchema: () => ensureSchema,
|
|
@@ -1831,10 +1832,17 @@ async function ensureSchema() {
|
|
|
1831
1832
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1832
1833
|
END;
|
|
1833
1834
|
|
|
1834
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1835
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1836
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1835
1837
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1836
1838
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1837
1839
|
END;
|
|
1840
|
+
|
|
1841
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1842
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1843
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1844
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1845
|
+
END;
|
|
1838
1846
|
`);
|
|
1839
1847
|
await client.executeMultiple(`
|
|
1840
1848
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2237,6 +2245,13 @@ async function ensureSchema() {
|
|
|
2237
2245
|
});
|
|
2238
2246
|
} catch {
|
|
2239
2247
|
}
|
|
2248
|
+
try {
|
|
2249
|
+
await client.execute({
|
|
2250
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2251
|
+
args: []
|
|
2252
|
+
});
|
|
2253
|
+
} catch {
|
|
2254
|
+
}
|
|
2240
2255
|
try {
|
|
2241
2256
|
await client.execute({
|
|
2242
2257
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2773,7 +2788,7 @@ async function disposeDatabase() {
|
|
|
2773
2788
|
_resilientClient = null;
|
|
2774
2789
|
}
|
|
2775
2790
|
}
|
|
2776
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2791
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2777
2792
|
var init_database = __esm({
|
|
2778
2793
|
"src/lib/database.ts"() {
|
|
2779
2794
|
"use strict";
|
|
@@ -2787,6 +2802,7 @@ var init_database = __esm({
|
|
|
2787
2802
|
_daemonClient = null;
|
|
2788
2803
|
_adapterClient = null;
|
|
2789
2804
|
initTurso = initDatabase;
|
|
2805
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2790
2806
|
disposeTurso = disposeDatabase;
|
|
2791
2807
|
}
|
|
2792
2808
|
});
|
package/dist/bin/exe-search.js
CHANGED
|
@@ -1650,6 +1650,7 @@ var init_db_daemon_client = __esm({
|
|
|
1650
1650
|
// src/lib/database.ts
|
|
1651
1651
|
var database_exports = {};
|
|
1652
1652
|
__export(database_exports, {
|
|
1653
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1653
1654
|
disposeDatabase: () => disposeDatabase,
|
|
1654
1655
|
disposeTurso: () => disposeTurso,
|
|
1655
1656
|
ensureSchema: () => ensureSchema,
|
|
@@ -1806,10 +1807,17 @@ async function ensureSchema() {
|
|
|
1806
1807
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1807
1808
|
END;
|
|
1808
1809
|
|
|
1809
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1810
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1811
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1810
1812
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1811
1813
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1812
1814
|
END;
|
|
1815
|
+
|
|
1816
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1817
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1818
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1819
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1820
|
+
END;
|
|
1813
1821
|
`);
|
|
1814
1822
|
await client.executeMultiple(`
|
|
1815
1823
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2212,6 +2220,13 @@ async function ensureSchema() {
|
|
|
2212
2220
|
});
|
|
2213
2221
|
} catch {
|
|
2214
2222
|
}
|
|
2223
|
+
try {
|
|
2224
|
+
await client.execute({
|
|
2225
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2226
|
+
args: []
|
|
2227
|
+
});
|
|
2228
|
+
} catch {
|
|
2229
|
+
}
|
|
2215
2230
|
try {
|
|
2216
2231
|
await client.execute({
|
|
2217
2232
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2748,7 +2763,7 @@ async function disposeDatabase() {
|
|
|
2748
2763
|
_resilientClient = null;
|
|
2749
2764
|
}
|
|
2750
2765
|
}
|
|
2751
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2766
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2752
2767
|
var init_database = __esm({
|
|
2753
2768
|
"src/lib/database.ts"() {
|
|
2754
2769
|
"use strict";
|
|
@@ -2762,6 +2777,7 @@ var init_database = __esm({
|
|
|
2762
2777
|
_daemonClient = null;
|
|
2763
2778
|
_adapterClient = null;
|
|
2764
2779
|
initTurso = initDatabase;
|
|
2780
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2765
2781
|
disposeTurso = disposeDatabase;
|
|
2766
2782
|
}
|
|
2767
2783
|
});
|
|
@@ -1694,6 +1694,7 @@ var init_db_daemon_client = __esm({
|
|
|
1694
1694
|
// src/lib/database.ts
|
|
1695
1695
|
var database_exports = {};
|
|
1696
1696
|
__export(database_exports, {
|
|
1697
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1697
1698
|
disposeDatabase: () => disposeDatabase,
|
|
1698
1699
|
disposeTurso: () => disposeTurso,
|
|
1699
1700
|
ensureSchema: () => ensureSchema,
|
|
@@ -1850,10 +1851,17 @@ async function ensureSchema() {
|
|
|
1850
1851
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1851
1852
|
END;
|
|
1852
1853
|
|
|
1853
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1854
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1855
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1854
1856
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1855
1857
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1856
1858
|
END;
|
|
1859
|
+
|
|
1860
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1861
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1862
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1863
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1864
|
+
END;
|
|
1857
1865
|
`);
|
|
1858
1866
|
await client.executeMultiple(`
|
|
1859
1867
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2256,6 +2264,13 @@ async function ensureSchema() {
|
|
|
2256
2264
|
});
|
|
2257
2265
|
} catch {
|
|
2258
2266
|
}
|
|
2267
|
+
try {
|
|
2268
|
+
await client.execute({
|
|
2269
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2270
|
+
args: []
|
|
2271
|
+
});
|
|
2272
|
+
} catch {
|
|
2273
|
+
}
|
|
2259
2274
|
try {
|
|
2260
2275
|
await client.execute({
|
|
2261
2276
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2792,7 +2807,7 @@ async function disposeDatabase() {
|
|
|
2792
2807
|
_resilientClient = null;
|
|
2793
2808
|
}
|
|
2794
2809
|
}
|
|
2795
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2810
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2796
2811
|
var init_database = __esm({
|
|
2797
2812
|
"src/lib/database.ts"() {
|
|
2798
2813
|
"use strict";
|
|
@@ -2806,6 +2821,7 @@ var init_database = __esm({
|
|
|
2806
2821
|
_daemonClient = null;
|
|
2807
2822
|
_adapterClient = null;
|
|
2808
2823
|
initTurso = initDatabase;
|
|
2824
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2809
2825
|
disposeTurso = disposeDatabase;
|
|
2810
2826
|
}
|
|
2811
2827
|
});
|
|
@@ -6567,9 +6583,10 @@ async function updateTask(input) {
|
|
|
6567
6583
|
args: [assignedAgent]
|
|
6568
6584
|
});
|
|
6569
6585
|
} else if (input.status === "cancelled") {
|
|
6586
|
+
const now2 = (/* @__PURE__ */ new Date()).toISOString();
|
|
6570
6587
|
await draftClient.execute({
|
|
6571
|
-
sql: `
|
|
6572
|
-
args: [assignedAgent]
|
|
6588
|
+
sql: `UPDATE memories SET status = 'deleted', deleted_at = ? WHERE agent_id = ? AND draft = 1`,
|
|
6589
|
+
args: [now2, assignedAgent]
|
|
6573
6590
|
});
|
|
6574
6591
|
}
|
|
6575
6592
|
} catch {
|
package/dist/bin/exe-settings.js
CHANGED
|
@@ -434,7 +434,7 @@ function isMainModule(importMetaUrl) {
|
|
|
434
434
|
|
|
435
435
|
// src/lib/cloud-sync.ts
|
|
436
436
|
init_database();
|
|
437
|
-
import { readFileSync as readFileSync5, writeFileSync as writeFileSync4, existsSync as existsSync6, readdirSync, mkdirSync as mkdirSync4, appendFileSync, unlinkSync as unlinkSync3, openSync, closeSync } from "fs";
|
|
437
|
+
import { readFileSync as readFileSync5, writeFileSync as writeFileSync4, existsSync as existsSync6, readdirSync, mkdirSync as mkdirSync4, appendFileSync, unlinkSync as unlinkSync3, openSync, closeSync, statSync } from "fs";
|
|
438
438
|
import crypto2 from "crypto";
|
|
439
439
|
import path6 from "path";
|
|
440
440
|
import { homedir as homedir2 } from "os";
|
|
@@ -1468,6 +1468,7 @@ var init_db_daemon_client = __esm({
|
|
|
1468
1468
|
// src/lib/database.ts
|
|
1469
1469
|
var database_exports = {};
|
|
1470
1470
|
__export(database_exports, {
|
|
1471
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1471
1472
|
disposeDatabase: () => disposeDatabase,
|
|
1472
1473
|
disposeTurso: () => disposeTurso,
|
|
1473
1474
|
ensureSchema: () => ensureSchema,
|
|
@@ -1624,10 +1625,17 @@ async function ensureSchema() {
|
|
|
1624
1625
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1625
1626
|
END;
|
|
1626
1627
|
|
|
1627
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1628
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1629
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1628
1630
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1629
1631
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1630
1632
|
END;
|
|
1633
|
+
|
|
1634
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1635
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1636
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1637
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1638
|
+
END;
|
|
1631
1639
|
`);
|
|
1632
1640
|
await client.executeMultiple(`
|
|
1633
1641
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2030,6 +2038,13 @@ async function ensureSchema() {
|
|
|
2030
2038
|
});
|
|
2031
2039
|
} catch {
|
|
2032
2040
|
}
|
|
2041
|
+
try {
|
|
2042
|
+
await client.execute({
|
|
2043
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2044
|
+
args: []
|
|
2045
|
+
});
|
|
2046
|
+
} catch {
|
|
2047
|
+
}
|
|
2033
2048
|
try {
|
|
2034
2049
|
await client.execute({
|
|
2035
2050
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2566,7 +2581,7 @@ async function disposeDatabase() {
|
|
|
2566
2581
|
_resilientClient = null;
|
|
2567
2582
|
}
|
|
2568
2583
|
}
|
|
2569
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2584
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2570
2585
|
var init_database = __esm({
|
|
2571
2586
|
"src/lib/database.ts"() {
|
|
2572
2587
|
"use strict";
|
|
@@ -2580,6 +2595,7 @@ var init_database = __esm({
|
|
|
2580
2595
|
_daemonClient = null;
|
|
2581
2596
|
_adapterClient = null;
|
|
2582
2597
|
initTurso = initDatabase;
|
|
2598
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2583
2599
|
disposeTurso = disposeDatabase;
|
|
2584
2600
|
}
|
|
2585
2601
|
});
|
|
@@ -3250,6 +3266,19 @@ var init_session_key = __esm({
|
|
|
3250
3266
|
}
|
|
3251
3267
|
});
|
|
3252
3268
|
|
|
3269
|
+
// src/mcp/agent-context.ts
|
|
3270
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
3271
|
+
function getAgentContext() {
|
|
3272
|
+
return agentStore.getStore();
|
|
3273
|
+
}
|
|
3274
|
+
var agentStore;
|
|
3275
|
+
var init_agent_context = __esm({
|
|
3276
|
+
"src/mcp/agent-context.ts"() {
|
|
3277
|
+
"use strict";
|
|
3278
|
+
agentStore = new AsyncLocalStorage();
|
|
3279
|
+
}
|
|
3280
|
+
});
|
|
3281
|
+
|
|
3253
3282
|
// src/lib/active-agent.ts
|
|
3254
3283
|
var active_agent_exports = {};
|
|
3255
3284
|
__export(active_agent_exports, {
|
|
@@ -3325,6 +3354,8 @@ function clearActiveAgent() {
|
|
|
3325
3354
|
}
|
|
3326
3355
|
}
|
|
3327
3356
|
function getActiveAgent() {
|
|
3357
|
+
const httpCtx = getAgentContext();
|
|
3358
|
+
if (httpCtx) return httpCtx;
|
|
3328
3359
|
try {
|
|
3329
3360
|
const markerPath = getMarkerPath();
|
|
3330
3361
|
const raw = readFileSync5(markerPath, "utf8");
|
|
@@ -3419,6 +3450,7 @@ var init_active_agent = __esm({
|
|
|
3419
3450
|
"use strict";
|
|
3420
3451
|
init_config();
|
|
3421
3452
|
init_session_key();
|
|
3453
|
+
init_agent_context();
|
|
3422
3454
|
init_employees();
|
|
3423
3455
|
CACHE_DIR = path9.join(EXE_AI_DIR, "session-cache");
|
|
3424
3456
|
STALE_MS = 24 * 60 * 60 * 1e3;
|
|
@@ -4559,16 +4591,19 @@ MCP tools are available under the exe-os server. Call them directly by name:
|
|
|
4559
4591
|
- get_task \u2014 read full task context
|
|
4560
4592
|
- update_task \u2014 mark tasks in_progress or done
|
|
4561
4593
|
- store_memory \u2014 persist findings for future sessions
|
|
4562
|
-
- recall_my_memory \u2014 search your past work
|
|
4594
|
+
- recall_my_memory \u2014 search your past work (IMPORTANT: call this before starting any task)
|
|
4563
4595
|
- ask_team_memory \u2014 query a colleague's knowledge
|
|
4564
4596
|
|
|
4597
|
+
CRITICAL \u2014 Memory retrieval is NOT automatic in this runtime.
|
|
4598
|
+
You MUST call recall_my_memory proactively:
|
|
4599
|
+
- Before starting any task: recall relevant past work, decisions, and patterns
|
|
4600
|
+
- When encountering an error: recall past solutions
|
|
4601
|
+
- When making architectural decisions: recall past ADRs and constraints
|
|
4602
|
+
Do NOT assume you remember \u2014 always check memory first.
|
|
4603
|
+
|
|
4565
4604
|
On startup: call list_tasks to check for assigned work.
|
|
4566
4605
|
When done with a task: call update_task with status "done" and a result summary.
|
|
4567
4606
|
Always call store_memory to persist important decisions.
|
|
4568
|
-
|
|
4569
|
-
\u26A0 FIRST RUN: If hooks haven't been approved yet, run /hooks in Codex and approve
|
|
4570
|
-
all exe-os hooks before starting work. Without approved hooks, memory capture
|
|
4571
|
-
and session tracking won't function.
|
|
4572
4607
|
`;
|
|
4573
4608
|
function resolveAgent(argv) {
|
|
4574
4609
|
const invokedAs = path15.basename(argv[1] ?? "");
|
|
@@ -1457,6 +1457,7 @@ var init_db_daemon_client = __esm({
|
|
|
1457
1457
|
// src/lib/database.ts
|
|
1458
1458
|
var database_exports = {};
|
|
1459
1459
|
__export(database_exports, {
|
|
1460
|
+
SOFT_DELETE_RETENTION_DAYS: () => SOFT_DELETE_RETENTION_DAYS,
|
|
1460
1461
|
disposeDatabase: () => disposeDatabase,
|
|
1461
1462
|
disposeTurso: () => disposeTurso,
|
|
1462
1463
|
ensureSchema: () => ensureSchema,
|
|
@@ -1613,10 +1614,17 @@ async function ensureSchema() {
|
|
|
1613
1614
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1614
1615
|
END;
|
|
1615
1616
|
|
|
1616
|
-
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1617
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories
|
|
1618
|
+
WHEN new.status IS NULL OR new.status != 'deleted' BEGIN
|
|
1617
1619
|
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1618
1620
|
INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
|
|
1619
1621
|
END;
|
|
1622
|
+
|
|
1623
|
+
-- Soft-delete trigger: remove from FTS when status changes to 'deleted'
|
|
1624
|
+
CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE ON memories
|
|
1625
|
+
WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
|
|
1626
|
+
INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
|
|
1627
|
+
END;
|
|
1620
1628
|
`);
|
|
1621
1629
|
await client.executeMultiple(`
|
|
1622
1630
|
CREATE TABLE IF NOT EXISTS sync_meta (
|
|
@@ -2019,6 +2027,13 @@ async function ensureSchema() {
|
|
|
2019
2027
|
});
|
|
2020
2028
|
} catch {
|
|
2021
2029
|
}
|
|
2030
|
+
try {
|
|
2031
|
+
await client.execute({
|
|
2032
|
+
sql: `ALTER TABLE memories ADD COLUMN deleted_at TEXT`,
|
|
2033
|
+
args: []
|
|
2034
|
+
});
|
|
2035
|
+
} catch {
|
|
2036
|
+
}
|
|
2022
2037
|
try {
|
|
2023
2038
|
await client.execute({
|
|
2024
2039
|
sql: `ALTER TABLE memories ADD COLUMN confidence REAL DEFAULT 0.7`,
|
|
@@ -2555,7 +2570,7 @@ async function disposeDatabase() {
|
|
|
2555
2570
|
_resilientClient = null;
|
|
2556
2571
|
}
|
|
2557
2572
|
}
|
|
2558
|
-
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, disposeTurso;
|
|
2573
|
+
var _client, _resilientClient, _walCheckpointTimer, _daemonClient, _adapterClient, initTurso, SOFT_DELETE_RETENTION_DAYS, disposeTurso;
|
|
2559
2574
|
var init_database = __esm({
|
|
2560
2575
|
"src/lib/database.ts"() {
|
|
2561
2576
|
"use strict";
|
|
@@ -2569,6 +2584,7 @@ var init_database = __esm({
|
|
|
2569
2584
|
_daemonClient = null;
|
|
2570
2585
|
_adapterClient = null;
|
|
2571
2586
|
initTurso = initDatabase;
|
|
2587
|
+
SOFT_DELETE_RETENTION_DAYS = 7;
|
|
2572
2588
|
disposeTurso = disposeDatabase;
|
|
2573
2589
|
}
|
|
2574
2590
|
});
|
|
@@ -3238,6 +3254,19 @@ var init_session_key = __esm({
|
|
|
3238
3254
|
}
|
|
3239
3255
|
});
|
|
3240
3256
|
|
|
3257
|
+
// src/mcp/agent-context.ts
|
|
3258
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
3259
|
+
function getAgentContext() {
|
|
3260
|
+
return agentStore.getStore();
|
|
3261
|
+
}
|
|
3262
|
+
var agentStore;
|
|
3263
|
+
var init_agent_context = __esm({
|
|
3264
|
+
"src/mcp/agent-context.ts"() {
|
|
3265
|
+
"use strict";
|
|
3266
|
+
agentStore = new AsyncLocalStorage();
|
|
3267
|
+
}
|
|
3268
|
+
});
|
|
3269
|
+
|
|
3241
3270
|
// src/lib/active-agent.ts
|
|
3242
3271
|
var active_agent_exports = {};
|
|
3243
3272
|
__export(active_agent_exports, {
|
|
@@ -3313,6 +3342,8 @@ function clearActiveAgent() {
|
|
|
3313
3342
|
}
|
|
3314
3343
|
}
|
|
3315
3344
|
function getActiveAgent() {
|
|
3345
|
+
const httpCtx = getAgentContext();
|
|
3346
|
+
if (httpCtx) return httpCtx;
|
|
3316
3347
|
try {
|
|
3317
3348
|
const markerPath = getMarkerPath();
|
|
3318
3349
|
const raw = readFileSync5(markerPath, "utf8");
|
|
@@ -3407,6 +3438,7 @@ var init_active_agent = __esm({
|
|
|
3407
3438
|
"use strict";
|
|
3408
3439
|
init_config();
|
|
3409
3440
|
init_session_key();
|
|
3441
|
+
init_agent_context();
|
|
3410
3442
|
init_employees();
|
|
3411
3443
|
CACHE_DIR = path9.join(EXE_AI_DIR, "session-cache");
|
|
3412
3444
|
STALE_MS = 24 * 60 * 60 * 1e3;
|