@askexenow/exe-os 0.9.37 → 0.9.39
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/deploy/stack-manifests/v0.9.json +55 -0
- package/dist/bin/backfill-conversations.js +36 -9
- package/dist/bin/backfill-responses.js +36 -9
- package/dist/bin/backfill-vectors.js +36 -9
- package/dist/bin/cleanup-stale-review-tasks.js +37 -10
- package/dist/bin/cli.js +624 -204
- package/dist/bin/exe-agent.js +13 -5
- package/dist/bin/exe-assign.js +36 -9
- package/dist/bin/exe-boot.js +50 -20
- package/dist/bin/exe-call.js +134 -342
- package/dist/bin/exe-dispatch.js +36 -9
- package/dist/bin/exe-doctor.js +39 -12
- package/dist/bin/exe-export-behaviors.js +38 -11
- package/dist/bin/exe-forget.js +36 -9
- package/dist/bin/exe-gateway.js +64 -15
- package/dist/bin/exe-heartbeat.js +37 -10
- package/dist/bin/exe-kill.js +36 -9
- package/dist/bin/exe-launch-agent.js +287 -1081
- package/dist/bin/exe-new-employee.js +100 -14
- package/dist/bin/exe-pending-messages.js +36 -9
- package/dist/bin/exe-pending-notifications.js +36 -9
- package/dist/bin/exe-pending-reviews.js +36 -9
- package/dist/bin/exe-rename.js +1780 -204
- package/dist/bin/exe-review.js +36 -9
- package/dist/bin/exe-search.js +38 -11
- package/dist/bin/exe-session-cleanup.js +38 -11
- package/dist/bin/exe-start-codex.js +38 -11
- package/dist/bin/exe-start-opencode.js +38 -11
- package/dist/bin/exe-status.js +37 -10
- package/dist/bin/exe-team.js +36 -9
- package/dist/bin/git-sweep.js +36 -9
- package/dist/bin/graph-backfill.js +36 -9
- package/dist/bin/graph-export.js +36 -9
- package/dist/bin/install.js +70 -3
- package/dist/bin/intercom-check.js +38 -11
- package/dist/bin/scan-tasks.js +36 -9
- package/dist/bin/setup.js +20 -19
- package/dist/bin/shard-migrate.js +36 -9
- package/dist/bin/stack-update.js +308 -0
- package/dist/gateway/index.js +62 -13
- package/dist/hooks/bug-report-worker.js +40 -12
- package/dist/hooks/codex-stop-task-finalizer.js +38 -11
- package/dist/hooks/commit-complete.js +36 -9
- package/dist/hooks/error-recall.js +38 -11
- package/dist/hooks/ingest.js +38 -10
- package/dist/hooks/instructions-loaded.js +44 -12
- package/dist/hooks/notification.js +36 -9
- package/dist/hooks/post-compact.js +36 -9
- package/dist/hooks/post-tool-combined.js +39 -12
- package/dist/hooks/pre-compact.js +37 -10
- package/dist/hooks/pre-tool-use.js +38 -10
- package/dist/hooks/prompt-submit.js +43 -15
- package/dist/hooks/session-end.js +37 -10
- package/dist/hooks/session-start.js +49 -16
- package/dist/hooks/stop.js +37 -10
- package/dist/hooks/subagent-stop.js +36 -9
- package/dist/hooks/summary-worker.js +45 -18
- package/dist/index.js +60 -11
- package/dist/lib/consolidation.js +2 -1
- package/dist/lib/employee-templates.js +4 -3
- package/dist/lib/employees.js +2 -1
- package/dist/lib/exe-daemon.js +11229 -10537
- package/dist/lib/hybrid-search.js +38 -11
- package/dist/lib/identity.js +8 -3
- package/dist/lib/schedules.js +36 -9
- package/dist/lib/store.js +36 -9
- package/dist/mcp/server.js +6873 -6249
- package/dist/mcp/tools/create-task.js +10 -4
- package/dist/runtime/index.js +36 -9
- package/dist/tui/App.js +42 -13
- package/package.json +4 -1
- package/stack.release.json +31 -0
- package/stack.release.schema.json +31 -0
package/dist/bin/exe-kill.js
CHANGED
|
@@ -3250,7 +3250,7 @@ __export(shard_manager_exports, {
|
|
|
3250
3250
|
shardExists: () => shardExists
|
|
3251
3251
|
});
|
|
3252
3252
|
import path7 from "path";
|
|
3253
|
-
import { existsSync as existsSync7, mkdirSync as mkdirSync2, readdirSync } from "fs";
|
|
3253
|
+
import { existsSync as existsSync7, mkdirSync as mkdirSync2, readdirSync, renameSync as renameSync3, statSync as statSync2 } from "fs";
|
|
3254
3254
|
import { createClient as createClient2 } from "@libsql/client";
|
|
3255
3255
|
function initShardManager(encryptionKey) {
|
|
3256
3256
|
_encryptionKey = encryptionKey;
|
|
@@ -3272,7 +3272,7 @@ function getShardClient(projectName) {
|
|
|
3272
3272
|
if (!_encryptionKey) {
|
|
3273
3273
|
throw new Error("Shard manager not initialized. Call initShardManager() first.");
|
|
3274
3274
|
}
|
|
3275
|
-
const safeName = projectName
|
|
3275
|
+
const safeName = safeShardName(projectName);
|
|
3276
3276
|
if (!safeName || safeName === "unknown") {
|
|
3277
3277
|
throw new Error(`Invalid project name for shard: "${projectName}" (resolved to "${safeName}")`);
|
|
3278
3278
|
}
|
|
@@ -3294,9 +3294,12 @@ function getShardClient(projectName) {
|
|
|
3294
3294
|
return client;
|
|
3295
3295
|
}
|
|
3296
3296
|
function shardExists(projectName) {
|
|
3297
|
-
const safeName = projectName
|
|
3297
|
+
const safeName = safeShardName(projectName);
|
|
3298
3298
|
return existsSync7(path7.join(SHARDS_DIR, `${safeName}.db`));
|
|
3299
3299
|
}
|
|
3300
|
+
function safeShardName(projectName) {
|
|
3301
|
+
return projectName.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
3302
|
+
}
|
|
3300
3303
|
function listShards() {
|
|
3301
3304
|
if (!existsSync7(SHARDS_DIR)) return [];
|
|
3302
3305
|
return readdirSync(SHARDS_DIR).filter((f) => f.endsWith(".db")).map((f) => f.replace(".db", ""));
|
|
@@ -3390,7 +3393,8 @@ async function ensureShardSchema(client) {
|
|
|
3390
3393
|
"ALTER TABLE memories ADD COLUMN token_cost REAL",
|
|
3391
3394
|
"ALTER TABLE memories ADD COLUMN audience TEXT",
|
|
3392
3395
|
"ALTER TABLE memories ADD COLUMN language_type TEXT",
|
|
3393
|
-
"ALTER TABLE memories ADD COLUMN parent_memory_id TEXT"
|
|
3396
|
+
"ALTER TABLE memories ADD COLUMN parent_memory_id TEXT",
|
|
3397
|
+
"ALTER TABLE memories ADD COLUMN deleted_at TEXT"
|
|
3394
3398
|
]) {
|
|
3395
3399
|
try {
|
|
3396
3400
|
await client.execute(col);
|
|
@@ -3486,9 +3490,32 @@ async function ensureShardSchema(client) {
|
|
|
3486
3490
|
}
|
|
3487
3491
|
}
|
|
3488
3492
|
async function getReadyShardClient(projectName) {
|
|
3489
|
-
const
|
|
3490
|
-
|
|
3491
|
-
|
|
3493
|
+
const safeName = safeShardName(projectName);
|
|
3494
|
+
let client = getShardClient(projectName);
|
|
3495
|
+
try {
|
|
3496
|
+
await ensureShardSchema(client);
|
|
3497
|
+
return client;
|
|
3498
|
+
} catch (err) {
|
|
3499
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
3500
|
+
if (!/SQLITE_NOTADB|file is not a database/i.test(message)) throw err;
|
|
3501
|
+
client.close();
|
|
3502
|
+
_shards.delete(safeName);
|
|
3503
|
+
_shardLastAccess.delete(safeName);
|
|
3504
|
+
const dbPath = path7.join(SHARDS_DIR, `${safeName}.db`);
|
|
3505
|
+
if (existsSync7(dbPath)) {
|
|
3506
|
+
const stat = statSync2(dbPath);
|
|
3507
|
+
const stamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
3508
|
+
const archivedPath = path7.join(SHARDS_DIR, `${safeName}.db.broken-${stamp}`);
|
|
3509
|
+
renameSync3(dbPath, archivedPath);
|
|
3510
|
+
process.stderr.write(
|
|
3511
|
+
`[shard-manager] Archived unreadable shard ${safeName}: ${archivedPath} (${stat.size} bytes, mtime ${stat.mtime.toISOString()})
|
|
3512
|
+
`
|
|
3513
|
+
);
|
|
3514
|
+
}
|
|
3515
|
+
client = getShardClient(projectName);
|
|
3516
|
+
await ensureShardSchema(client);
|
|
3517
|
+
return client;
|
|
3518
|
+
}
|
|
3492
3519
|
}
|
|
3493
3520
|
function evictLRU() {
|
|
3494
3521
|
let oldest = null;
|
|
@@ -3709,7 +3736,7 @@ var init_platform_procedures = __esm({
|
|
|
3709
3736
|
title: "MCP tools \u2014 wiki, documents, and content",
|
|
3710
3737
|
domain: "tool-use",
|
|
3711
3738
|
priority: "p1",
|
|
3712
|
-
content: "
|
|
3739
|
+
content: "wiki: read/list wiki pages only. Direct wiki write tools are removed; wiki updates flow through raw-data ingestion/projection into the curated wiki store. Legacy aliases: list_wiki_pages/get_wiki_page. crm: read/list/get CRM records from exe-db. raw_data: read capped raw landing-pad events from exe-db with payload opt-in. ingest_document: import a file (PDF, MD, etc.) into memory as chunks. list_documents: browse ingested documents by workspace. purge_document: remove a document and its memory chunks. set_document_importance: adjust chunk importance scores. rerank_documents: re-score document relevance for a query."
|
|
3713
3740
|
},
|
|
3714
3741
|
{
|
|
3715
3742
|
title: "MCP tools \u2014 system, operations, and admin",
|
|
@@ -3727,7 +3754,7 @@ var init_platform_procedures = __esm({
|
|
|
3727
3754
|
title: "MCP tools \u2014 advanced (triggers, skills, orchestration)",
|
|
3728
3755
|
domain: "tool-use",
|
|
3729
3756
|
priority: "p1",
|
|
3730
|
-
content: "create_trigger: set up a scheduled recurring agent job (cron). list_triggers: view active triggers. load_skill: load a slash-command skill dynamically. apply_starter_pack: import a pre-built behavior + identity pack for a role. export_orchestration: export full org state (tasks, behaviors, identities) as portable JSON. import_orchestration: import org state into a new instance. deploy_client: deploy a customer client instance. query_company_brain: unified RAG query across all company knowledge. create_reminder: set a text reminder (shown in boot brief). list_reminders: view pending reminders. complete_reminder: mark a reminder done. global_procedure: manage
|
|
3757
|
+
content: "create_trigger: set up a scheduled recurring agent job (cron). list_triggers: view active triggers. load_skill: load a slash-command skill dynamically. apply_starter_pack: import a pre-built behavior + identity pack for a role. export_orchestration: export full org state (tasks, behaviors, identities) as portable JSON. import_orchestration: import org state into a new instance. deploy_client: deploy a customer client instance. query_company_brain: unified RAG query across all company knowledge. create_reminder: set a text reminder (shown in boot brief). list_reminders: view pending reminders. complete_reminder: mark a reminder done. global_procedure: manage customer-owned company procedures (Layer 0; actions: store, list, deactivate). Legacy aliases: store_global_procedure, list_global_procedures, deactivate_global_procedure."
|
|
3731
3758
|
}
|
|
3732
3759
|
];
|
|
3733
3760
|
PLATFORM_PROCEDURE_TITLES = new Set(
|