@askexenow/exe-os 0.9.89 → 0.9.91
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 +51 -25
- 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 +51 -25
- 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-dispatch.js
CHANGED
|
@@ -7879,6 +7879,19 @@ var init_platform_procedures = __esm({
|
|
|
7879
7879
|
priority: "p1",
|
|
7880
7880
|
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."
|
|
7881
7881
|
},
|
|
7882
|
+
// --- Updates and deployment ---
|
|
7883
|
+
{
|
|
7884
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
7885
|
+
domain: "operations",
|
|
7886
|
+
priority: "p0",
|
|
7887
|
+
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.'
|
|
7888
|
+
},
|
|
7889
|
+
{
|
|
7890
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
7891
|
+
domain: "operations",
|
|
7892
|
+
priority: "p1",
|
|
7893
|
+
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."
|
|
7894
|
+
},
|
|
7882
7895
|
// --- Hierarchy and dispatch ---
|
|
7883
7896
|
{
|
|
7884
7897
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -7949,6 +7962,20 @@ var init_platform_procedures = __esm({
|
|
|
7949
7962
|
priority: "p1",
|
|
7950
7963
|
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."
|
|
7951
7964
|
},
|
|
7965
|
+
// --- Platform vs Customer ownership ---
|
|
7966
|
+
{
|
|
7967
|
+
title: "What the platform provides vs what you customize",
|
|
7968
|
+
domain: "architecture",
|
|
7969
|
+
priority: "p0",
|
|
7970
|
+
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."
|
|
7971
|
+
},
|
|
7972
|
+
// --- Updates ---
|
|
7973
|
+
{
|
|
7974
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
7975
|
+
domain: "operations",
|
|
7976
|
+
priority: "p0",
|
|
7977
|
+
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."
|
|
7978
|
+
},
|
|
7952
7979
|
// --- Operations ---
|
|
7953
7980
|
{
|
|
7954
7981
|
title: "Managers must supervise deployed workers",
|
|
@@ -8008,58 +8035,52 @@ var init_platform_procedures = __esm({
|
|
|
8008
8035
|
},
|
|
8009
8036
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
8010
8037
|
{
|
|
8011
|
-
title: "MCP
|
|
8038
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
8012
8039
|
domain: "tool-use",
|
|
8013
|
-
priority: "
|
|
8014
|
-
content:
|
|
8015
|
-
},
|
|
8016
|
-
{
|
|
8017
|
-
title: "MCP tools \u2014 task orchestration",
|
|
8018
|
-
domain: "tool-use",
|
|
8019
|
-
priority: "p1",
|
|
8020
|
-
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."
|
|
8040
|
+
priority: "p0",
|
|
8041
|
+
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.'
|
|
8021
8042
|
},
|
|
8022
8043
|
{
|
|
8023
|
-
title: "MCP tools \u2014
|
|
8044
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
8024
8045
|
domain: "tool-use",
|
|
8025
8046
|
priority: "p1",
|
|
8026
|
-
content: "
|
|
8047
|
+
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.`
|
|
8027
8048
|
},
|
|
8028
8049
|
{
|
|
8029
|
-
title: "MCP tools \u2014
|
|
8050
|
+
title: "MCP tools \u2014 task orchestration",
|
|
8030
8051
|
domain: "tool-use",
|
|
8031
8052
|
priority: "p1",
|
|
8032
|
-
content: "
|
|
8053
|
+
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.'
|
|
8033
8054
|
},
|
|
8034
8055
|
{
|
|
8035
|
-
title: "MCP tools \u2014
|
|
8056
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
8036
8057
|
domain: "tool-use",
|
|
8037
8058
|
priority: "p1",
|
|
8038
|
-
content: "
|
|
8059
|
+
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.'
|
|
8039
8060
|
},
|
|
8040
8061
|
{
|
|
8041
|
-
title: "MCP tools \u2014
|
|
8062
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
8042
8063
|
domain: "tool-use",
|
|
8043
8064
|
priority: "p1",
|
|
8044
|
-
content: "
|
|
8065
|
+
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.`
|
|
8045
8066
|
},
|
|
8046
8067
|
{
|
|
8047
|
-
title: "MCP tools \u2014
|
|
8068
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
8048
8069
|
domain: "tool-use",
|
|
8049
8070
|
priority: "p1",
|
|
8050
|
-
content: "
|
|
8071
|
+
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.'
|
|
8051
8072
|
},
|
|
8052
8073
|
{
|
|
8053
|
-
title: "MCP tools \u2014
|
|
8074
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
8054
8075
|
domain: "tool-use",
|
|
8055
8076
|
priority: "p1",
|
|
8056
|
-
content: "
|
|
8077
|
+
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.'
|
|
8057
8078
|
},
|
|
8058
8079
|
{
|
|
8059
|
-
title: "MCP tools \u2014
|
|
8080
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
8060
8081
|
domain: "tool-use",
|
|
8061
8082
|
priority: "p1",
|
|
8062
|
-
content: "
|
|
8083
|
+
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.'
|
|
8063
8084
|
}
|
|
8064
8085
|
];
|
|
8065
8086
|
PLATFORM_PROCEDURE_TITLES = new Set(
|
package/dist/bin/exe-doctor.js
CHANGED
|
@@ -4433,6 +4433,19 @@ var init_platform_procedures = __esm({
|
|
|
4433
4433
|
priority: "p1",
|
|
4434
4434
|
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."
|
|
4435
4435
|
},
|
|
4436
|
+
// --- Updates and deployment ---
|
|
4437
|
+
{
|
|
4438
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
4439
|
+
domain: "operations",
|
|
4440
|
+
priority: "p0",
|
|
4441
|
+
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.'
|
|
4442
|
+
},
|
|
4443
|
+
{
|
|
4444
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
4445
|
+
domain: "operations",
|
|
4446
|
+
priority: "p1",
|
|
4447
|
+
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."
|
|
4448
|
+
},
|
|
4436
4449
|
// --- Hierarchy and dispatch ---
|
|
4437
4450
|
{
|
|
4438
4451
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -4503,6 +4516,20 @@ var init_platform_procedures = __esm({
|
|
|
4503
4516
|
priority: "p1",
|
|
4504
4517
|
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."
|
|
4505
4518
|
},
|
|
4519
|
+
// --- Platform vs Customer ownership ---
|
|
4520
|
+
{
|
|
4521
|
+
title: "What the platform provides vs what you customize",
|
|
4522
|
+
domain: "architecture",
|
|
4523
|
+
priority: "p0",
|
|
4524
|
+
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."
|
|
4525
|
+
},
|
|
4526
|
+
// --- Updates ---
|
|
4527
|
+
{
|
|
4528
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
4529
|
+
domain: "operations",
|
|
4530
|
+
priority: "p0",
|
|
4531
|
+
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."
|
|
4532
|
+
},
|
|
4506
4533
|
// --- Operations ---
|
|
4507
4534
|
{
|
|
4508
4535
|
title: "Managers must supervise deployed workers",
|
|
@@ -4562,58 +4589,52 @@ var init_platform_procedures = __esm({
|
|
|
4562
4589
|
},
|
|
4563
4590
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
4564
4591
|
{
|
|
4565
|
-
title: "MCP
|
|
4592
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
4566
4593
|
domain: "tool-use",
|
|
4567
|
-
priority: "
|
|
4568
|
-
content:
|
|
4569
|
-
},
|
|
4570
|
-
{
|
|
4571
|
-
title: "MCP tools \u2014 task orchestration",
|
|
4572
|
-
domain: "tool-use",
|
|
4573
|
-
priority: "p1",
|
|
4574
|
-
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."
|
|
4594
|
+
priority: "p0",
|
|
4595
|
+
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.'
|
|
4575
4596
|
},
|
|
4576
4597
|
{
|
|
4577
|
-
title: "MCP tools \u2014
|
|
4598
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
4578
4599
|
domain: "tool-use",
|
|
4579
4600
|
priority: "p1",
|
|
4580
|
-
content: "
|
|
4601
|
+
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.`
|
|
4581
4602
|
},
|
|
4582
4603
|
{
|
|
4583
|
-
title: "MCP tools \u2014
|
|
4604
|
+
title: "MCP tools \u2014 task orchestration",
|
|
4584
4605
|
domain: "tool-use",
|
|
4585
4606
|
priority: "p1",
|
|
4586
|
-
content: "
|
|
4607
|
+
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.'
|
|
4587
4608
|
},
|
|
4588
4609
|
{
|
|
4589
|
-
title: "MCP tools \u2014
|
|
4610
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
4590
4611
|
domain: "tool-use",
|
|
4591
4612
|
priority: "p1",
|
|
4592
|
-
content: "
|
|
4613
|
+
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.'
|
|
4593
4614
|
},
|
|
4594
4615
|
{
|
|
4595
|
-
title: "MCP tools \u2014
|
|
4616
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
4596
4617
|
domain: "tool-use",
|
|
4597
4618
|
priority: "p1",
|
|
4598
|
-
content: "
|
|
4619
|
+
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.`
|
|
4599
4620
|
},
|
|
4600
4621
|
{
|
|
4601
|
-
title: "MCP tools \u2014
|
|
4622
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
4602
4623
|
domain: "tool-use",
|
|
4603
4624
|
priority: "p1",
|
|
4604
|
-
content: "
|
|
4625
|
+
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.'
|
|
4605
4626
|
},
|
|
4606
4627
|
{
|
|
4607
|
-
title: "MCP tools \u2014
|
|
4628
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
4608
4629
|
domain: "tool-use",
|
|
4609
4630
|
priority: "p1",
|
|
4610
|
-
content: "
|
|
4631
|
+
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.'
|
|
4611
4632
|
},
|
|
4612
4633
|
{
|
|
4613
|
-
title: "MCP tools \u2014
|
|
4634
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
4614
4635
|
domain: "tool-use",
|
|
4615
4636
|
priority: "p1",
|
|
4616
|
-
content: "
|
|
4637
|
+
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.'
|
|
4617
4638
|
}
|
|
4618
4639
|
];
|
|
4619
4640
|
PLATFORM_PROCEDURE_TITLES = new Set(
|
|
@@ -4189,6 +4189,19 @@ var init_platform_procedures = __esm({
|
|
|
4189
4189
|
priority: "p1",
|
|
4190
4190
|
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."
|
|
4191
4191
|
},
|
|
4192
|
+
// --- Updates and deployment ---
|
|
4193
|
+
{
|
|
4194
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
4195
|
+
domain: "operations",
|
|
4196
|
+
priority: "p0",
|
|
4197
|
+
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.'
|
|
4198
|
+
},
|
|
4199
|
+
{
|
|
4200
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
4201
|
+
domain: "operations",
|
|
4202
|
+
priority: "p1",
|
|
4203
|
+
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."
|
|
4204
|
+
},
|
|
4192
4205
|
// --- Hierarchy and dispatch ---
|
|
4193
4206
|
{
|
|
4194
4207
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -4259,6 +4272,20 @@ var init_platform_procedures = __esm({
|
|
|
4259
4272
|
priority: "p1",
|
|
4260
4273
|
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."
|
|
4261
4274
|
},
|
|
4275
|
+
// --- Platform vs Customer ownership ---
|
|
4276
|
+
{
|
|
4277
|
+
title: "What the platform provides vs what you customize",
|
|
4278
|
+
domain: "architecture",
|
|
4279
|
+
priority: "p0",
|
|
4280
|
+
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."
|
|
4281
|
+
},
|
|
4282
|
+
// --- Updates ---
|
|
4283
|
+
{
|
|
4284
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
4285
|
+
domain: "operations",
|
|
4286
|
+
priority: "p0",
|
|
4287
|
+
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."
|
|
4288
|
+
},
|
|
4262
4289
|
// --- Operations ---
|
|
4263
4290
|
{
|
|
4264
4291
|
title: "Managers must supervise deployed workers",
|
|
@@ -4318,58 +4345,52 @@ var init_platform_procedures = __esm({
|
|
|
4318
4345
|
},
|
|
4319
4346
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
4320
4347
|
{
|
|
4321
|
-
title: "MCP
|
|
4348
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
4322
4349
|
domain: "tool-use",
|
|
4323
|
-
priority: "
|
|
4324
|
-
content:
|
|
4325
|
-
},
|
|
4326
|
-
{
|
|
4327
|
-
title: "MCP tools \u2014 task orchestration",
|
|
4328
|
-
domain: "tool-use",
|
|
4329
|
-
priority: "p1",
|
|
4330
|
-
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."
|
|
4350
|
+
priority: "p0",
|
|
4351
|
+
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.'
|
|
4331
4352
|
},
|
|
4332
4353
|
{
|
|
4333
|
-
title: "MCP tools \u2014
|
|
4354
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
4334
4355
|
domain: "tool-use",
|
|
4335
4356
|
priority: "p1",
|
|
4336
|
-
content: "
|
|
4357
|
+
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.`
|
|
4337
4358
|
},
|
|
4338
4359
|
{
|
|
4339
|
-
title: "MCP tools \u2014
|
|
4360
|
+
title: "MCP tools \u2014 task orchestration",
|
|
4340
4361
|
domain: "tool-use",
|
|
4341
4362
|
priority: "p1",
|
|
4342
|
-
content: "
|
|
4363
|
+
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.'
|
|
4343
4364
|
},
|
|
4344
4365
|
{
|
|
4345
|
-
title: "MCP tools \u2014
|
|
4366
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
4346
4367
|
domain: "tool-use",
|
|
4347
4368
|
priority: "p1",
|
|
4348
|
-
content: "
|
|
4369
|
+
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.'
|
|
4349
4370
|
},
|
|
4350
4371
|
{
|
|
4351
|
-
title: "MCP tools \u2014
|
|
4372
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
4352
4373
|
domain: "tool-use",
|
|
4353
4374
|
priority: "p1",
|
|
4354
|
-
content: "
|
|
4375
|
+
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.`
|
|
4355
4376
|
},
|
|
4356
4377
|
{
|
|
4357
|
-
title: "MCP tools \u2014
|
|
4378
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
4358
4379
|
domain: "tool-use",
|
|
4359
4380
|
priority: "p1",
|
|
4360
|
-
content: "
|
|
4381
|
+
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.'
|
|
4361
4382
|
},
|
|
4362
4383
|
{
|
|
4363
|
-
title: "MCP tools \u2014
|
|
4384
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
4364
4385
|
domain: "tool-use",
|
|
4365
4386
|
priority: "p1",
|
|
4366
|
-
content: "
|
|
4387
|
+
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.'
|
|
4367
4388
|
},
|
|
4368
4389
|
{
|
|
4369
|
-
title: "MCP tools \u2014
|
|
4390
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
4370
4391
|
domain: "tool-use",
|
|
4371
4392
|
priority: "p1",
|
|
4372
|
-
content: "
|
|
4393
|
+
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.'
|
|
4373
4394
|
}
|
|
4374
4395
|
];
|
|
4375
4396
|
PLATFORM_PROCEDURE_TITLES = new Set(
|