@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/cli.js
CHANGED
|
@@ -8811,6 +8811,19 @@ var init_platform_procedures = __esm({
|
|
|
8811
8811
|
priority: "p1",
|
|
8812
8812
|
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."
|
|
8813
8813
|
},
|
|
8814
|
+
// --- Updates and deployment ---
|
|
8815
|
+
{
|
|
8816
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
8817
|
+
domain: "operations",
|
|
8818
|
+
priority: "p0",
|
|
8819
|
+
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.'
|
|
8820
|
+
},
|
|
8821
|
+
{
|
|
8822
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
8823
|
+
domain: "operations",
|
|
8824
|
+
priority: "p1",
|
|
8825
|
+
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."
|
|
8826
|
+
},
|
|
8814
8827
|
// --- Hierarchy and dispatch ---
|
|
8815
8828
|
{
|
|
8816
8829
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -8881,6 +8894,20 @@ var init_platform_procedures = __esm({
|
|
|
8881
8894
|
priority: "p1",
|
|
8882
8895
|
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."
|
|
8883
8896
|
},
|
|
8897
|
+
// --- Platform vs Customer ownership ---
|
|
8898
|
+
{
|
|
8899
|
+
title: "What the platform provides vs what you customize",
|
|
8900
|
+
domain: "architecture",
|
|
8901
|
+
priority: "p0",
|
|
8902
|
+
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."
|
|
8903
|
+
},
|
|
8904
|
+
// --- Updates ---
|
|
8905
|
+
{
|
|
8906
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
8907
|
+
domain: "operations",
|
|
8908
|
+
priority: "p0",
|
|
8909
|
+
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."
|
|
8910
|
+
},
|
|
8884
8911
|
// --- Operations ---
|
|
8885
8912
|
{
|
|
8886
8913
|
title: "Managers must supervise deployed workers",
|
|
@@ -8940,58 +8967,52 @@ var init_platform_procedures = __esm({
|
|
|
8940
8967
|
},
|
|
8941
8968
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
8942
8969
|
{
|
|
8943
|
-
title: "MCP
|
|
8970
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
8944
8971
|
domain: "tool-use",
|
|
8945
|
-
priority: "
|
|
8946
|
-
content:
|
|
8947
|
-
},
|
|
8948
|
-
{
|
|
8949
|
-
title: "MCP tools \u2014 task orchestration",
|
|
8950
|
-
domain: "tool-use",
|
|
8951
|
-
priority: "p1",
|
|
8952
|
-
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."
|
|
8972
|
+
priority: "p0",
|
|
8973
|
+
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.'
|
|
8953
8974
|
},
|
|
8954
8975
|
{
|
|
8955
|
-
title: "MCP tools \u2014
|
|
8976
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
8956
8977
|
domain: "tool-use",
|
|
8957
8978
|
priority: "p1",
|
|
8958
|
-
content: "
|
|
8979
|
+
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.`
|
|
8959
8980
|
},
|
|
8960
8981
|
{
|
|
8961
|
-
title: "MCP tools \u2014
|
|
8982
|
+
title: "MCP tools \u2014 task orchestration",
|
|
8962
8983
|
domain: "tool-use",
|
|
8963
8984
|
priority: "p1",
|
|
8964
|
-
content: "
|
|
8985
|
+
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.'
|
|
8965
8986
|
},
|
|
8966
8987
|
{
|
|
8967
|
-
title: "MCP tools \u2014
|
|
8988
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
8968
8989
|
domain: "tool-use",
|
|
8969
8990
|
priority: "p1",
|
|
8970
|
-
content: "
|
|
8991
|
+
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.'
|
|
8971
8992
|
},
|
|
8972
8993
|
{
|
|
8973
|
-
title: "MCP tools \u2014
|
|
8994
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
8974
8995
|
domain: "tool-use",
|
|
8975
8996
|
priority: "p1",
|
|
8976
|
-
content: "
|
|
8997
|
+
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.`
|
|
8977
8998
|
},
|
|
8978
8999
|
{
|
|
8979
|
-
title: "MCP tools \u2014
|
|
9000
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
8980
9001
|
domain: "tool-use",
|
|
8981
9002
|
priority: "p1",
|
|
8982
|
-
content: "
|
|
9003
|
+
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.'
|
|
8983
9004
|
},
|
|
8984
9005
|
{
|
|
8985
|
-
title: "MCP tools \u2014
|
|
9006
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
8986
9007
|
domain: "tool-use",
|
|
8987
9008
|
priority: "p1",
|
|
8988
|
-
content: "
|
|
9009
|
+
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.'
|
|
8989
9010
|
},
|
|
8990
9011
|
{
|
|
8991
|
-
title: "MCP tools \u2014
|
|
9012
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
8992
9013
|
domain: "tool-use",
|
|
8993
9014
|
priority: "p1",
|
|
8994
|
-
content: "
|
|
9015
|
+
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.'
|
|
8995
9016
|
}
|
|
8996
9017
|
];
|
|
8997
9018
|
PLATFORM_PROCEDURE_TITLES = new Set(
|
package/dist/bin/exe-agent.js
CHANGED
|
@@ -1326,6 +1326,19 @@ var PLATFORM_PROCEDURES = [
|
|
|
1326
1326
|
priority: "p1",
|
|
1327
1327
|
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."
|
|
1328
1328
|
},
|
|
1329
|
+
// --- Updates and deployment ---
|
|
1330
|
+
{
|
|
1331
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
1332
|
+
domain: "operations",
|
|
1333
|
+
priority: "p0",
|
|
1334
|
+
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.'
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
1338
|
+
domain: "operations",
|
|
1339
|
+
priority: "p1",
|
|
1340
|
+
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."
|
|
1341
|
+
},
|
|
1329
1342
|
// --- Hierarchy and dispatch ---
|
|
1330
1343
|
{
|
|
1331
1344
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -1396,6 +1409,20 @@ var PLATFORM_PROCEDURES = [
|
|
|
1396
1409
|
priority: "p1",
|
|
1397
1410
|
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."
|
|
1398
1411
|
},
|
|
1412
|
+
// --- Platform vs Customer ownership ---
|
|
1413
|
+
{
|
|
1414
|
+
title: "What the platform provides vs what you customize",
|
|
1415
|
+
domain: "architecture",
|
|
1416
|
+
priority: "p0",
|
|
1417
|
+
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."
|
|
1418
|
+
},
|
|
1419
|
+
// --- Updates ---
|
|
1420
|
+
{
|
|
1421
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
1422
|
+
domain: "operations",
|
|
1423
|
+
priority: "p0",
|
|
1424
|
+
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."
|
|
1425
|
+
},
|
|
1399
1426
|
// --- Operations ---
|
|
1400
1427
|
{
|
|
1401
1428
|
title: "Managers must supervise deployed workers",
|
|
@@ -1455,58 +1482,52 @@ var PLATFORM_PROCEDURES = [
|
|
|
1455
1482
|
},
|
|
1456
1483
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
1457
1484
|
{
|
|
1458
|
-
title: "MCP
|
|
1485
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
1459
1486
|
domain: "tool-use",
|
|
1460
|
-
priority: "
|
|
1461
|
-
content:
|
|
1462
|
-
},
|
|
1463
|
-
{
|
|
1464
|
-
title: "MCP tools \u2014 task orchestration",
|
|
1465
|
-
domain: "tool-use",
|
|
1466
|
-
priority: "p1",
|
|
1467
|
-
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."
|
|
1487
|
+
priority: "p0",
|
|
1488
|
+
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.'
|
|
1468
1489
|
},
|
|
1469
1490
|
{
|
|
1470
|
-
title: "MCP tools \u2014
|
|
1491
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
1471
1492
|
domain: "tool-use",
|
|
1472
1493
|
priority: "p1",
|
|
1473
|
-
content: "
|
|
1494
|
+
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.`
|
|
1474
1495
|
},
|
|
1475
1496
|
{
|
|
1476
|
-
title: "MCP tools \u2014
|
|
1497
|
+
title: "MCP tools \u2014 task orchestration",
|
|
1477
1498
|
domain: "tool-use",
|
|
1478
1499
|
priority: "p1",
|
|
1479
|
-
content: "
|
|
1500
|
+
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.'
|
|
1480
1501
|
},
|
|
1481
1502
|
{
|
|
1482
|
-
title: "MCP tools \u2014
|
|
1503
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
1483
1504
|
domain: "tool-use",
|
|
1484
1505
|
priority: "p1",
|
|
1485
|
-
content: "
|
|
1506
|
+
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.'
|
|
1486
1507
|
},
|
|
1487
1508
|
{
|
|
1488
|
-
title: "MCP tools \u2014
|
|
1509
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
1489
1510
|
domain: "tool-use",
|
|
1490
1511
|
priority: "p1",
|
|
1491
|
-
content: "
|
|
1512
|
+
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.`
|
|
1492
1513
|
},
|
|
1493
1514
|
{
|
|
1494
|
-
title: "MCP tools \u2014
|
|
1515
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
1495
1516
|
domain: "tool-use",
|
|
1496
1517
|
priority: "p1",
|
|
1497
|
-
content: "
|
|
1518
|
+
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.'
|
|
1498
1519
|
},
|
|
1499
1520
|
{
|
|
1500
|
-
title: "MCP tools \u2014
|
|
1521
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
1501
1522
|
domain: "tool-use",
|
|
1502
1523
|
priority: "p1",
|
|
1503
|
-
content: "
|
|
1524
|
+
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.'
|
|
1504
1525
|
},
|
|
1505
1526
|
{
|
|
1506
|
-
title: "MCP tools \u2014
|
|
1527
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
1507
1528
|
domain: "tool-use",
|
|
1508
1529
|
priority: "p1",
|
|
1509
|
-
content: "
|
|
1530
|
+
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.'
|
|
1510
1531
|
}
|
|
1511
1532
|
];
|
|
1512
1533
|
var PLATFORM_PROCEDURE_TITLES = new Set(
|
package/dist/bin/exe-assign.js
CHANGED
|
@@ -3491,6 +3491,19 @@ var init_platform_procedures = __esm({
|
|
|
3491
3491
|
priority: "p1",
|
|
3492
3492
|
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."
|
|
3493
3493
|
},
|
|
3494
|
+
// --- Updates and deployment ---
|
|
3495
|
+
{
|
|
3496
|
+
title: "How to update exe-os \u2014 CLI update + stack update (two steps)",
|
|
3497
|
+
domain: "operations",
|
|
3498
|
+
priority: "p0",
|
|
3499
|
+
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.'
|
|
3500
|
+
},
|
|
3501
|
+
{
|
|
3502
|
+
title: "First install \u2014 setup wizard and license activation",
|
|
3503
|
+
domain: "operations",
|
|
3504
|
+
priority: "p1",
|
|
3505
|
+
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."
|
|
3506
|
+
},
|
|
3494
3507
|
// --- Hierarchy and dispatch ---
|
|
3495
3508
|
{
|
|
3496
3509
|
title: "Chain of command \u2014 who talks to whom",
|
|
@@ -3561,6 +3574,20 @@ var init_platform_procedures = __esm({
|
|
|
3561
3574
|
priority: "p1",
|
|
3562
3575
|
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."
|
|
3563
3576
|
},
|
|
3577
|
+
// --- Platform vs Customer ownership ---
|
|
3578
|
+
{
|
|
3579
|
+
title: "What the platform provides vs what you customize",
|
|
3580
|
+
domain: "architecture",
|
|
3581
|
+
priority: "p0",
|
|
3582
|
+
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."
|
|
3583
|
+
},
|
|
3584
|
+
// --- Updates ---
|
|
3585
|
+
{
|
|
3586
|
+
title: "How to update exe-os \u2014 CLI first, then stack",
|
|
3587
|
+
domain: "operations",
|
|
3588
|
+
priority: "p0",
|
|
3589
|
+
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."
|
|
3590
|
+
},
|
|
3564
3591
|
// --- Operations ---
|
|
3565
3592
|
{
|
|
3566
3593
|
title: "Managers must supervise deployed workers",
|
|
@@ -3620,58 +3647,52 @@ var init_platform_procedures = __esm({
|
|
|
3620
3647
|
},
|
|
3621
3648
|
// --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
|
|
3622
3649
|
{
|
|
3623
|
-
title: "MCP
|
|
3650
|
+
title: "MCP tool dispatch \u2014 all tools use action parameter",
|
|
3624
3651
|
domain: "tool-use",
|
|
3625
|
-
priority: "
|
|
3626
|
-
content:
|
|
3627
|
-
},
|
|
3628
|
-
{
|
|
3629
|
-
title: "MCP tools \u2014 task orchestration",
|
|
3630
|
-
domain: "tool-use",
|
|
3631
|
-
priority: "p1",
|
|
3632
|
-
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."
|
|
3652
|
+
priority: "p0",
|
|
3653
|
+
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.'
|
|
3633
3654
|
},
|
|
3634
3655
|
{
|
|
3635
|
-
title: "MCP tools \u2014
|
|
3656
|
+
title: "MCP tools \u2014 memory, decision, and search",
|
|
3636
3657
|
domain: "tool-use",
|
|
3637
3658
|
priority: "p1",
|
|
3638
|
-
content: "
|
|
3659
|
+
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.`
|
|
3639
3660
|
},
|
|
3640
3661
|
{
|
|
3641
|
-
title: "MCP tools \u2014
|
|
3662
|
+
title: "MCP tools \u2014 task orchestration",
|
|
3642
3663
|
domain: "tool-use",
|
|
3643
3664
|
priority: "p1",
|
|
3644
|
-
content: "
|
|
3665
|
+
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.'
|
|
3645
3666
|
},
|
|
3646
3667
|
{
|
|
3647
|
-
title: "MCP tools \u2014
|
|
3668
|
+
title: "MCP tools \u2014 knowledge graph (GraphRAG)",
|
|
3648
3669
|
domain: "tool-use",
|
|
3649
3670
|
priority: "p1",
|
|
3650
|
-
content: "
|
|
3671
|
+
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.'
|
|
3651
3672
|
},
|
|
3652
3673
|
{
|
|
3653
|
-
title: "MCP tools \u2014
|
|
3674
|
+
title: "MCP tools \u2014 identity, behavior, and support",
|
|
3654
3675
|
domain: "tool-use",
|
|
3655
3676
|
priority: "p1",
|
|
3656
|
-
content: "
|
|
3677
|
+
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.`
|
|
3657
3678
|
},
|
|
3658
3679
|
{
|
|
3659
|
-
title: "MCP tools \u2014
|
|
3680
|
+
title: "MCP tools \u2014 communication and messaging",
|
|
3660
3681
|
domain: "tool-use",
|
|
3661
3682
|
priority: "p1",
|
|
3662
|
-
content: "
|
|
3683
|
+
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.'
|
|
3663
3684
|
},
|
|
3664
3685
|
{
|
|
3665
|
-
title: "MCP tools \u2014
|
|
3686
|
+
title: "MCP tools \u2014 wiki, documents, CRM, and data",
|
|
3666
3687
|
domain: "tool-use",
|
|
3667
3688
|
priority: "p1",
|
|
3668
|
-
content: "
|
|
3689
|
+
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.'
|
|
3669
3690
|
},
|
|
3670
3691
|
{
|
|
3671
|
-
title: "MCP tools \u2014
|
|
3692
|
+
title: "MCP tools \u2014 admin, config, and operations",
|
|
3672
3693
|
domain: "tool-use",
|
|
3673
3694
|
priority: "p1",
|
|
3674
|
-
content: "
|
|
3695
|
+
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.'
|
|
3675
3696
|
}
|
|
3676
3697
|
];
|
|
3677
3698
|
PLATFORM_PROCEDURE_TITLES = new Set(
|