@askexenow/exe-os 0.9.88 → 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 +66 -27
- package/dist/lib/hybrid-search.js +44 -23
- package/dist/lib/schedules.js +44 -23
- package/dist/lib/store.js +44 -23
- package/dist/lib/ws-client.js +8 -0
- 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/bin/exe-kill.js
CHANGED
|
@@ -4113,6 +4113,19 @@ var init_platform_procedures = __esm({
|
|
|
4113
4113
|
priority: "p1",
|
|
4114
4114
|
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."
|
|
4115
4115
|
},
|
|
4116
|
+
// --- Updates and deployment ---
|
|
4117
|
+
{
|
|
4118
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
4119
|
+
domain: "operations",
|
|
4120
|
+
priority: "p0",
|
|
4121
|
+
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.'
|
|
4122
|
+
},
|
|
4123
|
+
{
|
|
4124
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
4125
|
+
domain: "operations",
|
|
4126
|
+
priority: "p1",
|
|
4127
|
+
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."
|
|
4128
|
+
},
|
|
4116
4129
|
// --- Hierarchy and dispatch ---
|
|
4117
4130
|
{
|
|
4118
4131
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -4183,6 +4196,20 @@ var init_platform_procedures = __esm({
|
|
|
4183
4196
|
priority: "p1",
|
|
4184
4197
|
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."
|
|
4185
4198
|
},
|
|
4199
|
+
// --- Platform vs Customer ownership ---
|
|
4200
|
+
{
|
|
4201
|
+
title: "What the platform provides vs what you customize",
|
|
4202
|
+
domain: "architecture",
|
|
4203
|
+
priority: "p0",
|
|
4204
|
+
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."
|
|
4205
|
+
},
|
|
4206
|
+
// --- Updates ---
|
|
4207
|
+
{
|
|
4208
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
4209
|
+
domain: "operations",
|
|
4210
|
+
priority: "p0",
|
|
4211
|
+
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."
|
|
4212
|
+
},
|
|
4186
4213
|
// --- Operations ---
|
|
4187
4214
|
{
|
|
4188
4215
|
title: "Managers must supervise deployed workers",
|
|
@@ -4242,58 +4269,52 @@ var init_platform_procedures = __esm({
|
|
|
4242
4269
|
},
|
|
4243
4270
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
4244
4271
|
{
|
|
4245
|
-
title: "MCP
|
|
4272
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
4246
4273
|
domain: "tool-use",
|
|
4247
|
-
priority: "
|
|
4248
|
-
content:
|
|
4249
|
-
},
|
|
4250
|
-
{
|
|
4251
|
-
title: "MCP tools \u2014 task orchestration",
|
|
4252
|
-
domain: "tool-use",
|
|
4253
|
-
priority: "p1",
|
|
4254
|
-
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."
|
|
4274
|
+
priority: "p0",
|
|
4275
|
+
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.'
|
|
4255
4276
|
},
|
|
4256
4277
|
{
|
|
4257
|
-
title: "MCP tools \u2014
|
|
4278
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
4258
4279
|
domain: "tool-use",
|
|
4259
4280
|
priority: "p1",
|
|
4260
|
-
content: "
|
|
4281
|
+
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.`
|
|
4261
4282
|
},
|
|
4262
4283
|
{
|
|
4263
|
-
title: "MCP tools \u2014
|
|
4284
|
+
title: "MCP tools \u2014 task orchestration",
|
|
4264
4285
|
domain: "tool-use",
|
|
4265
4286
|
priority: "p1",
|
|
4266
|
-
content: "
|
|
4287
|
+
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.'
|
|
4267
4288
|
},
|
|
4268
4289
|
{
|
|
4269
|
-
title: "MCP tools \u2014
|
|
4290
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
4270
4291
|
domain: "tool-use",
|
|
4271
4292
|
priority: "p1",
|
|
4272
|
-
content: "
|
|
4293
|
+
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.'
|
|
4273
4294
|
},
|
|
4274
4295
|
{
|
|
4275
|
-
title: "MCP tools \u2014
|
|
4296
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
4276
4297
|
domain: "tool-use",
|
|
4277
4298
|
priority: "p1",
|
|
4278
|
-
content: "
|
|
4299
|
+
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.`
|
|
4279
4300
|
},
|
|
4280
4301
|
{
|
|
4281
|
-
title: "MCP tools \u2014
|
|
4302
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
4282
4303
|
domain: "tool-use",
|
|
4283
4304
|
priority: "p1",
|
|
4284
|
-
content: "
|
|
4305
|
+
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.'
|
|
4285
4306
|
},
|
|
4286
4307
|
{
|
|
4287
|
-
title: "MCP tools \u2014
|
|
4308
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
4288
4309
|
domain: "tool-use",
|
|
4289
4310
|
priority: "p1",
|
|
4290
|
-
content: "
|
|
4311
|
+
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.'
|
|
4291
4312
|
},
|
|
4292
4313
|
{
|
|
4293
|
-
title: "MCP tools \u2014
|
|
4314
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
4294
4315
|
domain: "tool-use",
|
|
4295
4316
|
priority: "p1",
|
|
4296
|
-
content: "
|
|
4317
|
+
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.'
|
|
4297
4318
|
}
|
|
4298
4319
|
];
|
|
4299
4320
|
PLATFORM_PROCEDURE_TITLES = new Set(
|
|
@@ -4211,6 +4211,19 @@ var init_platform_procedures = __esm({
|
|
|
4211
4211
|
priority: "p1",
|
|
4212
4212
|
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."
|
|
4213
4213
|
},
|
|
4214
|
+
// --- Updates and deployment ---
|
|
4215
|
+
{
|
|
4216
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
4217
|
+
domain: "operations",
|
|
4218
|
+
priority: "p0",
|
|
4219
|
+
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.'
|
|
4220
|
+
},
|
|
4221
|
+
{
|
|
4222
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
4223
|
+
domain: "operations",
|
|
4224
|
+
priority: "p1",
|
|
4225
|
+
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."
|
|
4226
|
+
},
|
|
4214
4227
|
// --- Hierarchy and dispatch ---
|
|
4215
4228
|
{
|
|
4216
4229
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -4281,6 +4294,20 @@ var init_platform_procedures = __esm({
|
|
|
4281
4294
|
priority: "p1",
|
|
4282
4295
|
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."
|
|
4283
4296
|
},
|
|
4297
|
+
// --- Platform vs Customer ownership ---
|
|
4298
|
+
{
|
|
4299
|
+
title: "What the platform provides vs what you customize",
|
|
4300
|
+
domain: "architecture",
|
|
4301
|
+
priority: "p0",
|
|
4302
|
+
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."
|
|
4303
|
+
},
|
|
4304
|
+
// --- Updates ---
|
|
4305
|
+
{
|
|
4306
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
4307
|
+
domain: "operations",
|
|
4308
|
+
priority: "p0",
|
|
4309
|
+
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."
|
|
4310
|
+
},
|
|
4284
4311
|
// --- Operations ---
|
|
4285
4312
|
{
|
|
4286
4313
|
title: "Managers must supervise deployed workers",
|
|
@@ -4340,58 +4367,52 @@ var init_platform_procedures = __esm({
|
|
|
4340
4367
|
},
|
|
4341
4368
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
4342
4369
|
{
|
|
4343
|
-
title: "MCP
|
|
4370
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
4344
4371
|
domain: "tool-use",
|
|
4345
|
-
priority: "
|
|
4346
|
-
content:
|
|
4347
|
-
},
|
|
4348
|
-
{
|
|
4349
|
-
title: "MCP tools \u2014 task orchestration",
|
|
4350
|
-
domain: "tool-use",
|
|
4351
|
-
priority: "p1",
|
|
4352
|
-
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."
|
|
4372
|
+
priority: "p0",
|
|
4373
|
+
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.'
|
|
4353
4374
|
},
|
|
4354
4375
|
{
|
|
4355
|
-
title: "MCP tools \u2014
|
|
4376
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
4356
4377
|
domain: "tool-use",
|
|
4357
4378
|
priority: "p1",
|
|
4358
|
-
content: "
|
|
4379
|
+
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.`
|
|
4359
4380
|
},
|
|
4360
4381
|
{
|
|
4361
|
-
title: "MCP tools \u2014
|
|
4382
|
+
title: "MCP tools \u2014 task orchestration",
|
|
4362
4383
|
domain: "tool-use",
|
|
4363
4384
|
priority: "p1",
|
|
4364
|
-
content: "
|
|
4385
|
+
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.'
|
|
4365
4386
|
},
|
|
4366
4387
|
{
|
|
4367
|
-
title: "MCP tools \u2014
|
|
4388
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
4368
4389
|
domain: "tool-use",
|
|
4369
4390
|
priority: "p1",
|
|
4370
|
-
content: "
|
|
4391
|
+
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.'
|
|
4371
4392
|
},
|
|
4372
4393
|
{
|
|
4373
|
-
title: "MCP tools \u2014
|
|
4394
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
4374
4395
|
domain: "tool-use",
|
|
4375
4396
|
priority: "p1",
|
|
4376
|
-
content: "
|
|
4397
|
+
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.`
|
|
4377
4398
|
},
|
|
4378
4399
|
{
|
|
4379
|
-
title: "MCP tools \u2014
|
|
4400
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
4380
4401
|
domain: "tool-use",
|
|
4381
4402
|
priority: "p1",
|
|
4382
|
-
content: "
|
|
4403
|
+
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.'
|
|
4383
4404
|
},
|
|
4384
4405
|
{
|
|
4385
|
-
title: "MCP tools \u2014
|
|
4406
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
4386
4407
|
domain: "tool-use",
|
|
4387
4408
|
priority: "p1",
|
|
4388
|
-
content: "
|
|
4409
|
+
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.'
|
|
4389
4410
|
},
|
|
4390
4411
|
{
|
|
4391
|
-
title: "MCP tools \u2014
|
|
4412
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
4392
4413
|
domain: "tool-use",
|
|
4393
4414
|
priority: "p1",
|
|
4394
|
-
content: "
|
|
4415
|
+
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.'
|
|
4395
4416
|
}
|
|
4396
4417
|
];
|
|
4397
4418
|
PLATFORM_PROCEDURE_TITLES = new Set(
|
|
@@ -2641,6 +2641,19 @@ var PLATFORM_PROCEDURES = [
|
|
|
2641
2641
|
priority: "p1",
|
|
2642
2642
|
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."
|
|
2643
2643
|
},
|
|
2644
|
+
// --- Updates and deployment ---
|
|
2645
|
+
{
|
|
2646
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
2647
|
+
domain: "operations",
|
|
2648
|
+
priority: "p0",
|
|
2649
|
+
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.'
|
|
2650
|
+
},
|
|
2651
|
+
{
|
|
2652
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
2653
|
+
domain: "operations",
|
|
2654
|
+
priority: "p1",
|
|
2655
|
+
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."
|
|
2656
|
+
},
|
|
2644
2657
|
// --- Hierarchy and dispatch ---
|
|
2645
2658
|
{
|
|
2646
2659
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -2711,6 +2724,20 @@ var PLATFORM_PROCEDURES = [
|
|
|
2711
2724
|
priority: "p1",
|
|
2712
2725
|
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."
|
|
2713
2726
|
},
|
|
2727
|
+
// --- Platform vs Customer ownership ---
|
|
2728
|
+
{
|
|
2729
|
+
title: "What the platform provides vs what you customize",
|
|
2730
|
+
domain: "architecture",
|
|
2731
|
+
priority: "p0",
|
|
2732
|
+
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."
|
|
2733
|
+
},
|
|
2734
|
+
// --- Updates ---
|
|
2735
|
+
{
|
|
2736
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
2737
|
+
domain: "operations",
|
|
2738
|
+
priority: "p0",
|
|
2739
|
+
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."
|
|
2740
|
+
},
|
|
2714
2741
|
// --- Operations ---
|
|
2715
2742
|
{
|
|
2716
2743
|
title: "Managers must supervise deployed workers",
|
|
@@ -2770,58 +2797,52 @@ var PLATFORM_PROCEDURES = [
|
|
|
2770
2797
|
},
|
|
2771
2798
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
2772
2799
|
{
|
|
2773
|
-
title: "MCP
|
|
2800
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
2774
2801
|
domain: "tool-use",
|
|
2775
|
-
priority: "
|
|
2776
|
-
content:
|
|
2777
|
-
},
|
|
2778
|
-
{
|
|
2779
|
-
title: "MCP tools \u2014 task orchestration",
|
|
2780
|
-
domain: "tool-use",
|
|
2781
|
-
priority: "p1",
|
|
2782
|
-
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."
|
|
2802
|
+
priority: "p0",
|
|
2803
|
+
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.'
|
|
2783
2804
|
},
|
|
2784
2805
|
{
|
|
2785
|
-
title: "MCP tools \u2014
|
|
2806
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
2786
2807
|
domain: "tool-use",
|
|
2787
2808
|
priority: "p1",
|
|
2788
|
-
content: "
|
|
2809
|
+
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.`
|
|
2789
2810
|
},
|
|
2790
2811
|
{
|
|
2791
|
-
title: "MCP tools \u2014
|
|
2812
|
+
title: "MCP tools \u2014 task orchestration",
|
|
2792
2813
|
domain: "tool-use",
|
|
2793
2814
|
priority: "p1",
|
|
2794
|
-
content: "
|
|
2815
|
+
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.'
|
|
2795
2816
|
},
|
|
2796
2817
|
{
|
|
2797
|
-
title: "MCP tools \u2014
|
|
2818
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
2798
2819
|
domain: "tool-use",
|
|
2799
2820
|
priority: "p1",
|
|
2800
|
-
content: "
|
|
2821
|
+
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.'
|
|
2801
2822
|
},
|
|
2802
2823
|
{
|
|
2803
|
-
title: "MCP tools \u2014
|
|
2824
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
2804
2825
|
domain: "tool-use",
|
|
2805
2826
|
priority: "p1",
|
|
2806
|
-
content: "
|
|
2827
|
+
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.`
|
|
2807
2828
|
},
|
|
2808
2829
|
{
|
|
2809
|
-
title: "MCP tools \u2014
|
|
2830
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
2810
2831
|
domain: "tool-use",
|
|
2811
2832
|
priority: "p1",
|
|
2812
|
-
content: "
|
|
2833
|
+
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.'
|
|
2813
2834
|
},
|
|
2814
2835
|
{
|
|
2815
|
-
title: "MCP tools \u2014
|
|
2836
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
2816
2837
|
domain: "tool-use",
|
|
2817
2838
|
priority: "p1",
|
|
2818
|
-
content: "
|
|
2839
|
+
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.'
|
|
2819
2840
|
},
|
|
2820
2841
|
{
|
|
2821
|
-
title: "MCP tools \u2014
|
|
2842
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
2822
2843
|
domain: "tool-use",
|
|
2823
2844
|
priority: "p1",
|
|
2824
|
-
content: "
|
|
2845
|
+
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.'
|
|
2825
2846
|
}
|
|
2826
2847
|
];
|
|
2827
2848
|
var PLATFORM_PROCEDURE_TITLES = new Set(
|