@askexenow/exe-os 0.9.89 → 0.9.90
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 +48 -9
- package/dist/bin/agentic-ontology-backfill.js +44 -23
- package/dist/bin/agentic-reflection-backfill.js +44 -23
- package/dist/bin/agentic-semantic-label.js +44 -23
- package/dist/bin/backfill-conversations.js +44 -23
- package/dist/bin/backfill-responses.js +44 -23
- package/dist/bin/backfill-vectors.js +44 -23
- package/dist/bin/bulk-sync-postgres.js +44 -23
- package/dist/bin/cleanup-stale-review-tasks.js +44 -23
- package/dist/bin/cli.js +44 -23
- package/dist/bin/exe-agent.js +44 -23
- package/dist/bin/exe-assign.js +44 -23
- package/dist/bin/exe-boot.js +44 -23
- package/dist/bin/exe-call.js +44 -23
- package/dist/bin/exe-cloud.js +44 -23
- package/dist/bin/exe-dispatch.js +44 -23
- package/dist/bin/exe-doctor.js +44 -23
- package/dist/bin/exe-export-behaviors.js +44 -23
- package/dist/bin/exe-forget.js +44 -23
- package/dist/bin/exe-gateway.js +44 -23
- package/dist/bin/exe-heartbeat.js +44 -23
- package/dist/bin/exe-kill.js +44 -23
- package/dist/bin/exe-launch-agent.js +44 -23
- package/dist/bin/exe-new-employee.js +44 -23
- package/dist/bin/exe-pending-messages.js +44 -23
- package/dist/bin/exe-pending-notifications.js +44 -23
- package/dist/bin/exe-pending-reviews.js +44 -23
- package/dist/bin/exe-rename.js +44 -23
- package/dist/bin/exe-review.js +44 -23
- package/dist/bin/exe-search.js +44 -23
- package/dist/bin/exe-session-cleanup.js +44 -23
- package/dist/bin/exe-start-codex.js +44 -23
- package/dist/bin/exe-start-opencode.js +44 -23
- package/dist/bin/exe-status.js +44 -23
- package/dist/bin/exe-team.js +44 -23
- package/dist/bin/git-sweep.js +44 -23
- package/dist/bin/graph-backfill.js +44 -23
- package/dist/bin/graph-export.js +44 -23
- package/dist/bin/intercom-check.js +44 -23
- package/dist/bin/scan-tasks.js +44 -23
- package/dist/bin/setup.js +44 -23
- package/dist/bin/shard-migrate.js +44 -23
- package/dist/gateway/index.js +44 -23
- package/dist/hooks/bug-report-worker.js +44 -23
- package/dist/hooks/codex-stop-task-finalizer.js +44 -23
- package/dist/hooks/commit-complete.js +44 -23
- package/dist/hooks/error-recall.js +44 -23
- package/dist/hooks/ingest.js +44 -23
- package/dist/hooks/instructions-loaded.js +44 -23
- package/dist/hooks/notification.js +44 -23
- package/dist/hooks/post-compact.js +44 -23
- package/dist/hooks/post-tool-combined.js +44 -23
- package/dist/hooks/pre-compact.js +44 -23
- package/dist/hooks/pre-tool-use.js +44 -23
- package/dist/hooks/prompt-submit.js +44 -23
- package/dist/hooks/session-end.js +44 -23
- package/dist/hooks/session-start.js +44 -23
- package/dist/hooks/stop.js +44 -23
- package/dist/hooks/subagent-stop.js +44 -23
- package/dist/hooks/summary-worker.js +44 -23
- package/dist/index.js +44 -23
- package/dist/lib/employee-templates.js +44 -23
- package/dist/lib/exe-daemon.js +44 -23
- package/dist/lib/hybrid-search.js +44 -23
- package/dist/lib/schedules.js +44 -23
- package/dist/lib/store.js +44 -23
- package/dist/mcp/server.js +44 -23
- package/dist/runtime/index.js +44 -23
- package/dist/tui/App.js +44 -23
- package/package.json +1 -1
- package/stack.release.json +4 -4
package/dist/index.js
CHANGED
|
@@ -8176,6 +8176,19 @@ var init_platform_procedures = __esm({
|
|
|
8176
8176
|
priority: "p1",
|
|
8177
8177
|
content: "exe-os supports three tools: Claude Code (Anthropic), Codex (OpenAI), and OpenCode (open source, 75+ providers). Each agent can use a different tool and model. COO uses set_agent_config MCP tool to view or change settings. Call with no args to show all agents. Call with agent_id + runtime + model to change. Users can also run `exe-os settings` from terminal for interactive arrow-key selection."
|
|
8178
8178
|
},
|
|
8179
|
+
// --- Updates and deployment ---
|
|
8180
|
+
{
|
|
8181
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
8182
|
+
domain: "operations",
|
|
8183
|
+
priority: "p0",
|
|
8184
|
+
content: 'Updating exe-os is a two-step process. Step 1 \u2014 update the CLI: `npm install -g @askexenow/exe-os@latest` (gets bug fixes, new platform procedures, new tools). Step 2 \u2014 update the VPS stack (if applicable): `exe-os stack-update --target <version> --yes` (pulls new Docker images for exed, wiki, CRM, gateway). Step 1 MUST happen before Step 2 \u2014 the stack-update command itself may have bug fixes. After updating, restart the daemon: the deploy script handles this automatically. Check update availability: `exe-os update --check` or config(action="check_update"). Agents should NEVER run npm install or stack-update autonomously \u2014 always confirm with the user first.'
|
|
8185
|
+
},
|
|
8186
|
+
{
|
|
8187
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
8188
|
+
domain: "operations",
|
|
8189
|
+
priority: "p1",
|
|
8190
|
+
content: "Fresh install: `npm install -g @askexenow/exe-os` then run `exe` to start the setup wizard. The wizard prompts for: encryption passphrase (creates master key), license key (exe_sk_* from AskExe team), COO name, and optional team members. No license key = free tier (1 employee, 5K memories). After setup: hooks install automatically, MCP server registers in ~/.claude.json, daemon starts. Verify health: run `exe-os healthcheck` or use mcp_ping() tool."
|
|
8191
|
+
},
|
|
8179
8192
|
// --- Hierarchy and dispatch ---
|
|
8180
8193
|
{
|
|
8181
8194
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -8246,6 +8259,20 @@ var init_platform_procedures = __esm({
|
|
|
8246
8259
|
priority: "p1",
|
|
8247
8260
|
content: "Once per session (COO boot only, never repeat), call list_my_feature_requests to check if any previously filed feature requests have been shipped by AskExe. If any request has status 'shipped' with a shipped_version, surface it to the founder immediately: '\u{1F680} N feature(s) shipped \u2014 run exe-os update to get version X.Y.Z'. This is a one-time check at boot, not a recurring poll. If no requests exist or none are shipped, skip silently. If the MCP tool is unavailable or the network call fails, skip silently \u2014 this is informational, not blocking."
|
|
8248
8261
|
},
|
|
8262
|
+
// --- Platform vs Customer ownership ---
|
|
8263
|
+
{
|
|
8264
|
+
title: "What the platform provides vs what you customize",
|
|
8265
|
+
domain: "architecture",
|
|
8266
|
+
priority: "p0",
|
|
8267
|
+
content: "Exe OS has two layers. PLATFORM layer (shipped in code, updated via npm): platform procedures, default identity templates, MCP tools, tool gating, schema migrations, daemon behavior. You get improvements automatically on update. CUSTOMER layer (yours, stored locally): agent identities (exe.md files), behaviors, company procedures, config.json, wiki content, CRM data, memory. These are NEVER overwritten by updates. Identity templates are stamped once at /exe-new-employee \u2014 after that the file is yours. If the platform ships a better template, you can compare yours against the default with getTemplate() and merge what you want. Company procedures (company_procedure tool) layer ON TOP of platform procedures \u2014 both are injected, platform first. Behaviors are always yours. Config is always yours. The platform will never modify your local data."
|
|
8268
|
+
},
|
|
8269
|
+
// --- Updates ---
|
|
8270
|
+
{
|
|
8271
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
8272
|
+
domain: "operations",
|
|
8273
|
+
priority: "p0",
|
|
8274
|
+
content: "When bug fixes or features are available (surfaced at boot via list_my_bug_reports/list_my_feature_requests), update in two steps: (1) CLI: `npm install -g @askexenow/exe-os@latest` \u2014 this updates the local tools, MCP server, and bundled stack manifest. Must happen first so the stack-update tool itself has the latest fixes. (2) Stack (VPS only): `exe-os stack-update --target <version> --yes` \u2014 pulls new Docker images and restarts services. The target version comes from the stack manifest bundled with the CLI. Always update CLI before stack. Use `exe-os update --check` to see if a CLI update is available. Use `exe-os stack-update --check` to see stack status. For non-interactive/SSH: use `--yes` or `-y` flag. Never run `npm install -g` inside a tmux agent session \u2014 have the founder or COO do it from the host shell."
|
|
8275
|
+
},
|
|
8249
8276
|
// --- Operations ---
|
|
8250
8277
|
{
|
|
8251
8278
|
title: "Managers must supervise deployed workers",
|
|
@@ -8305,58 +8332,52 @@ var init_platform_procedures = __esm({
|
|
|
8305
8332
|
},
|
|
8306
8333
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
8307
8334
|
{
|
|
8308
|
-
title: "MCP
|
|
8335
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
8309
8336
|
domain: "tool-use",
|
|
8310
|
-
priority: "
|
|
8311
|
-
content:
|
|
8312
|
-
},
|
|
8313
|
-
{
|
|
8314
|
-
title: "MCP tools \u2014 task orchestration",
|
|
8315
|
-
domain: "tool-use",
|
|
8316
|
-
priority: "p1",
|
|
8317
|
-
content: "create_task: dispatch work to an employee (auto-spawns session). The ONLY dispatch path. list_tasks: query tasks by status, assignee, project. get_task: fetch full task details by ID. update_task: change status (in_progress, done, blocked, cancelled) + add result summary. close_task: finalize a reviewed task (COO only). checkpoint_task: save progress state for crash recovery. resume_employee: re-spawn an employee session for an existing task."
|
|
8337
|
+
priority: "p0",
|
|
8338
|
+
content: 'exe-os MCP tools come in two surfaces depending on EXE_MCP_TOOL_SURFACE config. Consolidated (19 tools): action-based dispatch \u2014 memory(action="recall"), task(action="create"), etc. Legacy (108 tools): one tool per operation \u2014 recall_my_memory, create_task, etc. Both surfaces have identical functionality. Use whichever tool names are available in your session. If you see domain tools (memory, task, config, etc.), use the action parameter. If you see specific tools (recall_my_memory, create_task, etc.), call them directly.'
|
|
8318
8339
|
},
|
|
8319
8340
|
{
|
|
8320
|
-
title: "MCP tools \u2014
|
|
8341
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
8321
8342
|
domain: "tool-use",
|
|
8322
8343
|
priority: "p1",
|
|
8323
|
-
content: "
|
|
8344
|
+
content: `memory(action="recall") / recall_my_memory: search your own memories (semantic + FTS). memory(action="ask_team") / ask_team_memory: search a colleague's memories by agent name. memory(action="store") / store_memory: persist a memory. memory(action="commit") / commit_memory: high-importance memory that survives consolidation. Requires summary. memory(action="search") / search_everything: unified search across memories, tasks, entities, conversations. memory(action="session_context") / get_session_context: temporal memory window. Requires session_id + target_timestamp. memory(action="consolidate") / consolidate_memories: merge duplicate/related memories. memory(action="cardinality") / get_memory_cardinality: count memories per agent. decision(action="store") / store_decision: record an architectural decision (domain, decision, rationale). decision(action="get") / get_decision: retrieve a past decision by domain or query.`
|
|
8324
8345
|
},
|
|
8325
8346
|
{
|
|
8326
|
-
title: "MCP tools \u2014
|
|
8347
|
+
title: "MCP tools \u2014 task orchestration",
|
|
8327
8348
|
domain: "tool-use",
|
|
8328
8349
|
priority: "p1",
|
|
8329
|
-
content: "
|
|
8350
|
+
content: 'task(action="create") / create_task: dispatch work (title, assigned_to, context). The ONLY dispatch path. Auto-spawns session. task(action="list") / list_tasks: query tasks by status, assignee, project. task(action="get") / get_task: fetch full task details by task_id. task(action="update") / update_task: change status (in_progress, done, blocked, cancelled) + result summary. task(action="close") / close_task: finalize a reviewed task (COO only). task(action="checkpoint") / checkpoint_task: save progress state for crash recovery. task(action="resume") / resume_employee: re-spawn an employee session for an existing task.'
|
|
8330
8351
|
},
|
|
8331
8352
|
{
|
|
8332
|
-
title: "MCP tools \u2014
|
|
8353
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
8333
8354
|
domain: "tool-use",
|
|
8334
8355
|
priority: "p1",
|
|
8335
|
-
content: "
|
|
8356
|
+
content: 'graph(action="query_relationships") / query_relationships: find connections between entities. graph(action="entity_neighbors") / get_entity_neighbors: explore direct connections. graph(action="hot_entities") / get_hot_entities: most-referenced entities. graph(action="stats") / get_graph_stats: entity/relationship counts. graph(action="export") / export_graph: export for visualization (output_path, format). graph(action="merge_entities") / merge_entities: deduplicate entities (source_id, target_id). graph(action="similar_trajectories") / find_similar_trajectories: match patterns to past solutions.'
|
|
8336
8357
|
},
|
|
8337
8358
|
{
|
|
8338
|
-
title: "MCP tools \u2014
|
|
8359
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
8339
8360
|
domain: "tool-use",
|
|
8340
8361
|
priority: "p1",
|
|
8341
|
-
content: "
|
|
8362
|
+
content: `identity(action="get") / get_identity: read an agent's exe.md (Layer 1 identity). identity(action="update") / update_identity: write an agent's exe.md. Identity > behavior. behavior(action="store") / store_behavior: record a correction or pattern (Layer 2 expertise). behavior(action="list") / list_behaviors: view active behaviors. behavior(action="deactivate") / deactivate_behavior: soft-delete a stale behavior. support(action="create_bug") / create_bug_report: file a bug report to AskExe (title, description, severity). support(action="create_feature") / create_feature_request: file a feature request. support(action="health") / support_health: check support server readiness. support(action="triage_bug"): triage a bug (id, triage_notes). AskExe-internal only. CRITICAL: triage uses triage_notes NOT notes.`
|
|
8342
8363
|
},
|
|
8343
8364
|
{
|
|
8344
|
-
title: "MCP tools \u2014
|
|
8365
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
8345
8366
|
domain: "tool-use",
|
|
8346
8367
|
priority: "p1",
|
|
8347
|
-
content: "
|
|
8368
|
+
content: 'message(action="send") / send_message: send context to another agent (NOT for actionable work \u2014 use task). message(action="acknowledge") / acknowledge_messages: mark messages as read. reminder(action="create") / create_reminder: set a reminder (text, due_date). Shown in boot brief. reminder(action="list") / list_reminders: view pending reminders. reminder(action="complete") / complete_reminder: mark done (reminder_id). session(action="events") / get_session_events: view session event log (session_id). session(action="last_response") / get_last_assistant_response: get most recent response.'
|
|
8348
8369
|
},
|
|
8349
8370
|
{
|
|
8350
|
-
title: "MCP tools \u2014
|
|
8371
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
8351
8372
|
domain: "tool-use",
|
|
8352
8373
|
priority: "p1",
|
|
8353
|
-
content: "
|
|
8374
|
+
content: 'wiki(action="list") / list_wiki_pages: list wiki pages (workspace). wiki(action="get") / get_wiki_page: read a wiki page (workspace, title or document_id). document(action="ingest") / ingest_document: import a file as memory chunks (workspace_id, filename, chunks). document(action="list") / list_documents: browse documents (workspace_id). document(action="purge") / purge_document: remove a document (document_id). document(action="set_importance") / set_document_importance: adjust chunk scores. document(action="rerank") / rerank_documents: re-score relevance (query, candidates). crm(action="list_people|get_person|list_tables|describe_table"): CRM records from exe-db. raw_data(action="list_sources|query|get"): read raw landing-pad events. gateway(action="send_whatsapp") / send_whatsapp: send WhatsApp message (recipients, message). gateway(action="query_conversations") / query_conversations: search conversations across channels. gateway(action="query_company_brain") / query_company_brain: unified RAG across company knowledge.'
|
|
8354
8375
|
},
|
|
8355
8376
|
{
|
|
8356
|
-
title: "MCP tools \u2014
|
|
8377
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
8357
8378
|
domain: "tool-use",
|
|
8358
8379
|
priority: "p1",
|
|
8359
|
-
content: "
|
|
8380
|
+
content: 'config(action="list_employees"): view roster. config(action="agent_spend"): token usage per agent. config(action="daemon_health"): check exed status. config(action="license_status"): check license. config(action="cloud_sync"): force sync. config(action="memory_audit"): health check (dupes, null vectors). config(action="run_consolidation"): trigger memory consolidation. config(action="company_procedure", subaction="store|list|deactivate"): manage company procedures. config(action="global_procedure"): list all procedures (platform + company). config(action="create_trigger|list_triggers"): scheduled agent jobs. config(action="export_orchestration|import_orchestration"): portable org state. diagnostics(action="healthcheck|doctor|status_brief|check_update|cloud_status"): system diagnostics. mcp_ping(): daemon health + license status + tool usage stats.'
|
|
8360
8381
|
}
|
|
8361
8382
|
];
|
|
8362
8383
|
PLATFORM_PROCEDURE_TITLES = new Set(
|
|
@@ -170,6 +170,19 @@ var PLATFORM_PROCEDURES = [
|
|
|
170
170
|
priority: "p1",
|
|
171
171
|
content: "exe-os supports three tools: Claude Code (Anthropic), Codex (OpenAI), and OpenCode (open source, 75+ providers). Each agent can use a different tool and model. COO uses set_agent_config MCP tool to view or change settings. Call with no args to show all agents. Call with agent_id + runtime + model to change. Users can also run `exe-os settings` from terminal for interactive arrow-key selection."
|
|
172
172
|
},
|
|
173
|
+
// --- Updates and deployment ---
|
|
174
|
+
{
|
|
175
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
176
|
+
domain: "operations",
|
|
177
|
+
priority: "p0",
|
|
178
|
+
content: 'Updating exe-os is a two-step process. Step 1 \u2014 update the CLI: `npm install -g @askexenow/exe-os@latest` (gets bug fixes, new platform procedures, new tools). Step 2 \u2014 update the VPS stack (if applicable): `exe-os stack-update --target <version> --yes` (pulls new Docker images for exed, wiki, CRM, gateway). Step 1 MUST happen before Step 2 \u2014 the stack-update command itself may have bug fixes. After updating, restart the daemon: the deploy script handles this automatically. Check update availability: `exe-os update --check` or config(action="check_update"). Agents should NEVER run npm install or stack-update autonomously \u2014 always confirm with the user first.'
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
182
|
+
domain: "operations",
|
|
183
|
+
priority: "p1",
|
|
184
|
+
content: "Fresh install: `npm install -g @askexenow/exe-os` then run `exe` to start the setup wizard. The wizard prompts for: encryption passphrase (creates master key), license key (exe_sk_* from AskExe team), COO name, and optional team members. No license key = free tier (1 employee, 5K memories). After setup: hooks install automatically, MCP server registers in ~/.claude.json, daemon starts. Verify health: run `exe-os healthcheck` or use mcp_ping() tool."
|
|
185
|
+
},
|
|
173
186
|
// --- Hierarchy and dispatch ---
|
|
174
187
|
{
|
|
175
188
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -240,6 +253,20 @@ var PLATFORM_PROCEDURES = [
|
|
|
240
253
|
priority: "p1",
|
|
241
254
|
content: "Once per session (COO boot only, never repeat), call list_my_feature_requests to check if any previously filed feature requests have been shipped by AskExe. If any request has status 'shipped' with a shipped_version, surface it to the founder immediately: '\u{1F680} N feature(s) shipped \u2014 run exe-os update to get version X.Y.Z'. This is a one-time check at boot, not a recurring poll. If no requests exist or none are shipped, skip silently. If the MCP tool is unavailable or the network call fails, skip silently \u2014 this is informational, not blocking."
|
|
242
255
|
},
|
|
256
|
+
// --- Platform vs Customer ownership ---
|
|
257
|
+
{
|
|
258
|
+
title: "What the platform provides vs what you customize",
|
|
259
|
+
domain: "architecture",
|
|
260
|
+
priority: "p0",
|
|
261
|
+
content: "Exe OS has two layers. PLATFORM layer (shipped in code, updated via npm): platform procedures, default identity templates, MCP tools, tool gating, schema migrations, daemon behavior. You get improvements automatically on update. CUSTOMER layer (yours, stored locally): agent identities (exe.md files), behaviors, company procedures, config.json, wiki content, CRM data, memory. These are NEVER overwritten by updates. Identity templates are stamped once at /exe-new-employee \u2014 after that the file is yours. If the platform ships a better template, you can compare yours against the default with getTemplate() and merge what you want. Company procedures (company_procedure tool) layer ON TOP of platform procedures \u2014 both are injected, platform first. Behaviors are always yours. Config is always yours. The platform will never modify your local data."
|
|
262
|
+
},
|
|
263
|
+
// --- Updates ---
|
|
264
|
+
{
|
|
265
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
266
|
+
domain: "operations",
|
|
267
|
+
priority: "p0",
|
|
268
|
+
content: "When bug fixes or features are available (surfaced at boot via list_my_bug_reports/list_my_feature_requests), update in two steps: (1) CLI: `npm install -g @askexenow/exe-os@latest` \u2014 this updates the local tools, MCP server, and bundled stack manifest. Must happen first so the stack-update tool itself has the latest fixes. (2) Stack (VPS only): `exe-os stack-update --target <version> --yes` \u2014 pulls new Docker images and restarts services. The target version comes from the stack manifest bundled with the CLI. Always update CLI before stack. Use `exe-os update --check` to see if a CLI update is available. Use `exe-os stack-update --check` to see stack status. For non-interactive/SSH: use `--yes` or `-y` flag. Never run `npm install -g` inside a tmux agent session \u2014 have the founder or COO do it from the host shell."
|
|
269
|
+
},
|
|
243
270
|
// --- Operations ---
|
|
244
271
|
{
|
|
245
272
|
title: "Managers must supervise deployed workers",
|
|
@@ -299,58 +326,52 @@ var PLATFORM_PROCEDURES = [
|
|
|
299
326
|
},
|
|
300
327
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
301
328
|
{
|
|
302
|
-
title: "MCP
|
|
329
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
303
330
|
domain: "tool-use",
|
|
304
|
-
priority: "
|
|
305
|
-
content:
|
|
306
|
-
},
|
|
307
|
-
{
|
|
308
|
-
title: "MCP tools \u2014 task orchestration",
|
|
309
|
-
domain: "tool-use",
|
|
310
|
-
priority: "p1",
|
|
311
|
-
content: "create_task: dispatch work to an employee (auto-spawns session). The ONLY dispatch path. list_tasks: query tasks by status, assignee, project. get_task: fetch full task details by ID. update_task: change status (in_progress, done, blocked, cancelled) + add result summary. close_task: finalize a reviewed task (COO only). checkpoint_task: save progress state for crash recovery. resume_employee: re-spawn an employee session for an existing task."
|
|
331
|
+
priority: "p0",
|
|
332
|
+
content: 'exe-os MCP tools come in two surfaces depending on EXE_MCP_TOOL_SURFACE config. Consolidated (19 tools): action-based dispatch \u2014 memory(action="recall"), task(action="create"), etc. Legacy (108 tools): one tool per operation \u2014 recall_my_memory, create_task, etc. Both surfaces have identical functionality. Use whichever tool names are available in your session. If you see domain tools (memory, task, config, etc.), use the action parameter. If you see specific tools (recall_my_memory, create_task, etc.), call them directly.'
|
|
312
333
|
},
|
|
313
334
|
{
|
|
314
|
-
title: "MCP tools \u2014
|
|
335
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
315
336
|
domain: "tool-use",
|
|
316
337
|
priority: "p1",
|
|
317
|
-
content: "
|
|
338
|
+
content: `memory(action="recall") / recall_my_memory: search your own memories (semantic + FTS). memory(action="ask_team") / ask_team_memory: search a colleague's memories by agent name. memory(action="store") / store_memory: persist a memory. memory(action="commit") / commit_memory: high-importance memory that survives consolidation. Requires summary. memory(action="search") / search_everything: unified search across memories, tasks, entities, conversations. memory(action="session_context") / get_session_context: temporal memory window. Requires session_id + target_timestamp. memory(action="consolidate") / consolidate_memories: merge duplicate/related memories. memory(action="cardinality") / get_memory_cardinality: count memories per agent. decision(action="store") / store_decision: record an architectural decision (domain, decision, rationale). decision(action="get") / get_decision: retrieve a past decision by domain or query.`
|
|
318
339
|
},
|
|
319
340
|
{
|
|
320
|
-
title: "MCP tools \u2014
|
|
341
|
+
title: "MCP tools \u2014 task orchestration",
|
|
321
342
|
domain: "tool-use",
|
|
322
343
|
priority: "p1",
|
|
323
|
-
content: "
|
|
344
|
+
content: 'task(action="create") / create_task: dispatch work (title, assigned_to, context). The ONLY dispatch path. Auto-spawns session. task(action="list") / list_tasks: query tasks by status, assignee, project. task(action="get") / get_task: fetch full task details by task_id. task(action="update") / update_task: change status (in_progress, done, blocked, cancelled) + result summary. task(action="close") / close_task: finalize a reviewed task (COO only). task(action="checkpoint") / checkpoint_task: save progress state for crash recovery. task(action="resume") / resume_employee: re-spawn an employee session for an existing task.'
|
|
324
345
|
},
|
|
325
346
|
{
|
|
326
|
-
title: "MCP tools \u2014
|
|
347
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
327
348
|
domain: "tool-use",
|
|
328
349
|
priority: "p1",
|
|
329
|
-
content: "
|
|
350
|
+
content: 'graph(action="query_relationships") / query_relationships: find connections between entities. graph(action="entity_neighbors") / get_entity_neighbors: explore direct connections. graph(action="hot_entities") / get_hot_entities: most-referenced entities. graph(action="stats") / get_graph_stats: entity/relationship counts. graph(action="export") / export_graph: export for visualization (output_path, format). graph(action="merge_entities") / merge_entities: deduplicate entities (source_id, target_id). graph(action="similar_trajectories") / find_similar_trajectories: match patterns to past solutions.'
|
|
330
351
|
},
|
|
331
352
|
{
|
|
332
|
-
title: "MCP tools \u2014
|
|
353
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
333
354
|
domain: "tool-use",
|
|
334
355
|
priority: "p1",
|
|
335
|
-
content: "
|
|
356
|
+
content: `identity(action="get") / get_identity: read an agent's exe.md (Layer 1 identity). identity(action="update") / update_identity: write an agent's exe.md. Identity > behavior. behavior(action="store") / store_behavior: record a correction or pattern (Layer 2 expertise). behavior(action="list") / list_behaviors: view active behaviors. behavior(action="deactivate") / deactivate_behavior: soft-delete a stale behavior. support(action="create_bug") / create_bug_report: file a bug report to AskExe (title, description, severity). support(action="create_feature") / create_feature_request: file a feature request. support(action="health") / support_health: check support server readiness. support(action="triage_bug"): triage a bug (id, triage_notes). AskExe-internal only. CRITICAL: triage uses triage_notes NOT notes.`
|
|
336
357
|
},
|
|
337
358
|
{
|
|
338
|
-
title: "MCP tools \u2014
|
|
359
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
339
360
|
domain: "tool-use",
|
|
340
361
|
priority: "p1",
|
|
341
|
-
content: "
|
|
362
|
+
content: 'message(action="send") / send_message: send context to another agent (NOT for actionable work \u2014 use task). message(action="acknowledge") / acknowledge_messages: mark messages as read. reminder(action="create") / create_reminder: set a reminder (text, due_date). Shown in boot brief. reminder(action="list") / list_reminders: view pending reminders. reminder(action="complete") / complete_reminder: mark done (reminder_id). session(action="events") / get_session_events: view session event log (session_id). session(action="last_response") / get_last_assistant_response: get most recent response.'
|
|
342
363
|
},
|
|
343
364
|
{
|
|
344
|
-
title: "MCP tools \u2014
|
|
365
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
345
366
|
domain: "tool-use",
|
|
346
367
|
priority: "p1",
|
|
347
|
-
content: "
|
|
368
|
+
content: 'wiki(action="list") / list_wiki_pages: list wiki pages (workspace). wiki(action="get") / get_wiki_page: read a wiki page (workspace, title or document_id). document(action="ingest") / ingest_document: import a file as memory chunks (workspace_id, filename, chunks). document(action="list") / list_documents: browse documents (workspace_id). document(action="purge") / purge_document: remove a document (document_id). document(action="set_importance") / set_document_importance: adjust chunk scores. document(action="rerank") / rerank_documents: re-score relevance (query, candidates). crm(action="list_people|get_person|list_tables|describe_table"): CRM records from exe-db. raw_data(action="list_sources|query|get"): read raw landing-pad events. gateway(action="send_whatsapp") / send_whatsapp: send WhatsApp message (recipients, message). gateway(action="query_conversations") / query_conversations: search conversations across channels. gateway(action="query_company_brain") / query_company_brain: unified RAG across company knowledge.'
|
|
348
369
|
},
|
|
349
370
|
{
|
|
350
|
-
title: "MCP tools \u2014
|
|
371
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
351
372
|
domain: "tool-use",
|
|
352
373
|
priority: "p1",
|
|
353
|
-
content: "
|
|
374
|
+
content: 'config(action="list_employees"): view roster. config(action="agent_spend"): token usage per agent. config(action="daemon_health"): check exed status. config(action="license_status"): check license. config(action="cloud_sync"): force sync. config(action="memory_audit"): health check (dupes, null vectors). config(action="run_consolidation"): trigger memory consolidation. config(action="company_procedure", subaction="store|list|deactivate"): manage company procedures. config(action="global_procedure"): list all procedures (platform + company). config(action="create_trigger|list_triggers"): scheduled agent jobs. config(action="export_orchestration|import_orchestration"): portable org state. diagnostics(action="healthcheck|doctor|status_brief|check_update|cloud_status"): system diagnostics. mcp_ping(): daemon health + license status + tool usage stats.'
|
|
354
375
|
}
|
|
355
376
|
];
|
|
356
377
|
var PLATFORM_PROCEDURE_TITLES = new Set(
|
package/dist/lib/exe-daemon.js
CHANGED
|
@@ -5794,6 +5794,19 @@ var init_platform_procedures = __esm({
|
|
|
5794
5794
|
priority: "p1",
|
|
5795
5795
|
content: "exe-os supports three tools: Claude Code (Anthropic), Codex (OpenAI), and OpenCode (open source, 75+ providers). Each agent can use a different tool and model. COO uses set_agent_config MCP tool to view or change settings. Call with no args to show all agents. Call with agent_id + runtime + model to change. Users can also run `exe-os settings` from terminal for interactive arrow-key selection."
|
|
5796
5796
|
},
|
|
5797
|
+
// --- Updates and deployment ---
|
|
5798
|
+
{
|
|
5799
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
5800
|
+
domain: "operations",
|
|
5801
|
+
priority: "p0",
|
|
5802
|
+
content: 'Updating exe-os is a two-step process. Step 1 \u2014 update the CLI: `npm install -g @askexenow/exe-os@latest` (gets bug fixes, new platform procedures, new tools). Step 2 \u2014 update the VPS stack (if applicable): `exe-os stack-update --target <version> --yes` (pulls new Docker images for exed, wiki, CRM, gateway). Step 1 MUST happen before Step 2 \u2014 the stack-update command itself may have bug fixes. After updating, restart the daemon: the deploy script handles this automatically. Check update availability: `exe-os update --check` or config(action="check_update"). Agents should NEVER run npm install or stack-update autonomously \u2014 always confirm with the user first.'
|
|
5803
|
+
},
|
|
5804
|
+
{
|
|
5805
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
5806
|
+
domain: "operations",
|
|
5807
|
+
priority: "p1",
|
|
5808
|
+
content: "Fresh install: `npm install -g @askexenow/exe-os` then run `exe` to start the setup wizard. The wizard prompts for: encryption passphrase (creates master key), license key (exe_sk_* from AskExe team), COO name, and optional team members. No license key = free tier (1 employee, 5K memories). After setup: hooks install automatically, MCP server registers in ~/.claude.json, daemon starts. Verify health: run `exe-os healthcheck` or use mcp_ping() tool."
|
|
5809
|
+
},
|
|
5797
5810
|
// --- Hierarchy and dispatch ---
|
|
5798
5811
|
{
|
|
5799
5812
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -5864,6 +5877,20 @@ var init_platform_procedures = __esm({
|
|
|
5864
5877
|
priority: "p1",
|
|
5865
5878
|
content: "Once per session (COO boot only, never repeat), call list_my_feature_requests to check if any previously filed feature requests have been shipped by AskExe. If any request has status 'shipped' with a shipped_version, surface it to the founder immediately: '\u{1F680} N feature(s) shipped \u2014 run exe-os update to get version X.Y.Z'. This is a one-time check at boot, not a recurring poll. If no requests exist or none are shipped, skip silently. If the MCP tool is unavailable or the network call fails, skip silently \u2014 this is informational, not blocking."
|
|
5866
5879
|
},
|
|
5880
|
+
// --- Platform vs Customer ownership ---
|
|
5881
|
+
{
|
|
5882
|
+
title: "What the platform provides vs what you customize",
|
|
5883
|
+
domain: "architecture",
|
|
5884
|
+
priority: "p0",
|
|
5885
|
+
content: "Exe OS has two layers. PLATFORM layer (shipped in code, updated via npm): platform procedures, default identity templates, MCP tools, tool gating, schema migrations, daemon behavior. You get improvements automatically on update. CUSTOMER layer (yours, stored locally): agent identities (exe.md files), behaviors, company procedures, config.json, wiki content, CRM data, memory. These are NEVER overwritten by updates. Identity templates are stamped once at /exe-new-employee \u2014 after that the file is yours. If the platform ships a better template, you can compare yours against the default with getTemplate() and merge what you want. Company procedures (company_procedure tool) layer ON TOP of platform procedures \u2014 both are injected, platform first. Behaviors are always yours. Config is always yours. The platform will never modify your local data."
|
|
5886
|
+
},
|
|
5887
|
+
// --- Updates ---
|
|
5888
|
+
{
|
|
5889
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
5890
|
+
domain: "operations",
|
|
5891
|
+
priority: "p0",
|
|
5892
|
+
content: "When bug fixes or features are available (surfaced at boot via list_my_bug_reports/list_my_feature_requests), update in two steps: (1) CLI: `npm install -g @askexenow/exe-os@latest` \u2014 this updates the local tools, MCP server, and bundled stack manifest. Must happen first so the stack-update tool itself has the latest fixes. (2) Stack (VPS only): `exe-os stack-update --target <version> --yes` \u2014 pulls new Docker images and restarts services. The target version comes from the stack manifest bundled with the CLI. Always update CLI before stack. Use `exe-os update --check` to see if a CLI update is available. Use `exe-os stack-update --check` to see stack status. For non-interactive/SSH: use `--yes` or `-y` flag. Never run `npm install -g` inside a tmux agent session \u2014 have the founder or COO do it from the host shell."
|
|
5893
|
+
},
|
|
5867
5894
|
// --- Operations ---
|
|
5868
5895
|
{
|
|
5869
5896
|
title: "Managers must supervise deployed workers",
|
|
@@ -5923,58 +5950,52 @@ var init_platform_procedures = __esm({
|
|
|
5923
5950
|
},
|
|
5924
5951
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
5925
5952
|
{
|
|
5926
|
-
title: "MCP
|
|
5953
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
5927
5954
|
domain: "tool-use",
|
|
5928
|
-
priority: "
|
|
5929
|
-
content:
|
|
5930
|
-
},
|
|
5931
|
-
{
|
|
5932
|
-
title: "MCP tools \u2014 task orchestration",
|
|
5933
|
-
domain: "tool-use",
|
|
5934
|
-
priority: "p1",
|
|
5935
|
-
content: "create_task: dispatch work to an employee (auto-spawns session). The ONLY dispatch path. list_tasks: query tasks by status, assignee, project. get_task: fetch full task details by ID. update_task: change status (in_progress, done, blocked, cancelled) + add result summary. close_task: finalize a reviewed task (COO only). checkpoint_task: save progress state for crash recovery. resume_employee: re-spawn an employee session for an existing task."
|
|
5955
|
+
priority: "p0",
|
|
5956
|
+
content: 'exe-os MCP tools come in two surfaces depending on EXE_MCP_TOOL_SURFACE config. Consolidated (19 tools): action-based dispatch \u2014 memory(action="recall"), task(action="create"), etc. Legacy (108 tools): one tool per operation \u2014 recall_my_memory, create_task, etc. Both surfaces have identical functionality. Use whichever tool names are available in your session. If you see domain tools (memory, task, config, etc.), use the action parameter. If you see specific tools (recall_my_memory, create_task, etc.), call them directly.'
|
|
5936
5957
|
},
|
|
5937
5958
|
{
|
|
5938
|
-
title: "MCP tools \u2014
|
|
5959
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
5939
5960
|
domain: "tool-use",
|
|
5940
5961
|
priority: "p1",
|
|
5941
|
-
content: "
|
|
5962
|
+
content: `memory(action="recall") / recall_my_memory: search your own memories (semantic + FTS). memory(action="ask_team") / ask_team_memory: search a colleague's memories by agent name. memory(action="store") / store_memory: persist a memory. memory(action="commit") / commit_memory: high-importance memory that survives consolidation. Requires summary. memory(action="search") / search_everything: unified search across memories, tasks, entities, conversations. memory(action="session_context") / get_session_context: temporal memory window. Requires session_id + target_timestamp. memory(action="consolidate") / consolidate_memories: merge duplicate/related memories. memory(action="cardinality") / get_memory_cardinality: count memories per agent. decision(action="store") / store_decision: record an architectural decision (domain, decision, rationale). decision(action="get") / get_decision: retrieve a past decision by domain or query.`
|
|
5942
5963
|
},
|
|
5943
5964
|
{
|
|
5944
|
-
title: "MCP tools \u2014
|
|
5965
|
+
title: "MCP tools \u2014 task orchestration",
|
|
5945
5966
|
domain: "tool-use",
|
|
5946
5967
|
priority: "p1",
|
|
5947
|
-
content: "
|
|
5968
|
+
content: 'task(action="create") / create_task: dispatch work (title, assigned_to, context). The ONLY dispatch path. Auto-spawns session. task(action="list") / list_tasks: query tasks by status, assignee, project. task(action="get") / get_task: fetch full task details by task_id. task(action="update") / update_task: change status (in_progress, done, blocked, cancelled) + result summary. task(action="close") / close_task: finalize a reviewed task (COO only). task(action="checkpoint") / checkpoint_task: save progress state for crash recovery. task(action="resume") / resume_employee: re-spawn an employee session for an existing task.'
|
|
5948
5969
|
},
|
|
5949
5970
|
{
|
|
5950
|
-
title: "MCP tools \u2014
|
|
5971
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
5951
5972
|
domain: "tool-use",
|
|
5952
5973
|
priority: "p1",
|
|
5953
|
-
content: "
|
|
5974
|
+
content: 'graph(action="query_relationships") / query_relationships: find connections between entities. graph(action="entity_neighbors") / get_entity_neighbors: explore direct connections. graph(action="hot_entities") / get_hot_entities: most-referenced entities. graph(action="stats") / get_graph_stats: entity/relationship counts. graph(action="export") / export_graph: export for visualization (output_path, format). graph(action="merge_entities") / merge_entities: deduplicate entities (source_id, target_id). graph(action="similar_trajectories") / find_similar_trajectories: match patterns to past solutions.'
|
|
5954
5975
|
},
|
|
5955
5976
|
{
|
|
5956
|
-
title: "MCP tools \u2014
|
|
5977
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
5957
5978
|
domain: "tool-use",
|
|
5958
5979
|
priority: "p1",
|
|
5959
|
-
content: "
|
|
5980
|
+
content: `identity(action="get") / get_identity: read an agent's exe.md (Layer 1 identity). identity(action="update") / update_identity: write an agent's exe.md. Identity > behavior. behavior(action="store") / store_behavior: record a correction or pattern (Layer 2 expertise). behavior(action="list") / list_behaviors: view active behaviors. behavior(action="deactivate") / deactivate_behavior: soft-delete a stale behavior. support(action="create_bug") / create_bug_report: file a bug report to AskExe (title, description, severity). support(action="create_feature") / create_feature_request: file a feature request. support(action="health") / support_health: check support server readiness. support(action="triage_bug"): triage a bug (id, triage_notes). AskExe-internal only. CRITICAL: triage uses triage_notes NOT notes.`
|
|
5960
5981
|
},
|
|
5961
5982
|
{
|
|
5962
|
-
title: "MCP tools \u2014
|
|
5983
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
5963
5984
|
domain: "tool-use",
|
|
5964
5985
|
priority: "p1",
|
|
5965
|
-
content: "
|
|
5986
|
+
content: 'message(action="send") / send_message: send context to another agent (NOT for actionable work \u2014 use task). message(action="acknowledge") / acknowledge_messages: mark messages as read. reminder(action="create") / create_reminder: set a reminder (text, due_date). Shown in boot brief. reminder(action="list") / list_reminders: view pending reminders. reminder(action="complete") / complete_reminder: mark done (reminder_id). session(action="events") / get_session_events: view session event log (session_id). session(action="last_response") / get_last_assistant_response: get most recent response.'
|
|
5966
5987
|
},
|
|
5967
5988
|
{
|
|
5968
|
-
title: "MCP tools \u2014
|
|
5989
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
5969
5990
|
domain: "tool-use",
|
|
5970
5991
|
priority: "p1",
|
|
5971
|
-
content: "
|
|
5992
|
+
content: 'wiki(action="list") / list_wiki_pages: list wiki pages (workspace). wiki(action="get") / get_wiki_page: read a wiki page (workspace, title or document_id). document(action="ingest") / ingest_document: import a file as memory chunks (workspace_id, filename, chunks). document(action="list") / list_documents: browse documents (workspace_id). document(action="purge") / purge_document: remove a document (document_id). document(action="set_importance") / set_document_importance: adjust chunk scores. document(action="rerank") / rerank_documents: re-score relevance (query, candidates). crm(action="list_people|get_person|list_tables|describe_table"): CRM records from exe-db. raw_data(action="list_sources|query|get"): read raw landing-pad events. gateway(action="send_whatsapp") / send_whatsapp: send WhatsApp message (recipients, message). gateway(action="query_conversations") / query_conversations: search conversations across channels. gateway(action="query_company_brain") / query_company_brain: unified RAG across company knowledge.'
|
|
5972
5993
|
},
|
|
5973
5994
|
{
|
|
5974
|
-
title: "MCP tools \u2014
|
|
5995
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
5975
5996
|
domain: "tool-use",
|
|
5976
5997
|
priority: "p1",
|
|
5977
|
-
content: "
|
|
5998
|
+
content: 'config(action="list_employees"): view roster. config(action="agent_spend"): token usage per agent. config(action="daemon_health"): check exed status. config(action="license_status"): check license. config(action="cloud_sync"): force sync. config(action="memory_audit"): health check (dupes, null vectors). config(action="run_consolidation"): trigger memory consolidation. config(action="company_procedure", subaction="store|list|deactivate"): manage company procedures. config(action="global_procedure"): list all procedures (platform + company). config(action="create_trigger|list_triggers"): scheduled agent jobs. config(action="export_orchestration|import_orchestration"): portable org state. diagnostics(action="healthcheck|doctor|status_brief|check_update|cloud_status"): system diagnostics. mcp_ping(): daemon health + license status + tool usage stats.'
|
|
5978
5999
|
}
|
|
5979
6000
|
];
|
|
5980
6001
|
PLATFORM_PROCEDURE_TITLES = new Set(
|