@askexenow/exe-os 0.9.111 → 0.9.112

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.
Files changed (79) hide show
  1. package/dist/bin/agentic-ontology-backfill.js +8 -1
  2. package/dist/bin/agentic-reflection-backfill.js +8 -1
  3. package/dist/bin/agentic-semantic-label.js +8 -1
  4. package/dist/bin/backfill-conversations.js +8 -1
  5. package/dist/bin/backfill-responses.js +8 -1
  6. package/dist/bin/backfill-vectors.js +8 -1
  7. package/dist/bin/bulk-sync-postgres.js +8 -1
  8. package/dist/bin/cleanup-stale-review-tasks.js +8 -1
  9. package/dist/bin/cli.js +19 -4
  10. package/dist/bin/exe-agent.js +1 -1
  11. package/dist/bin/exe-assign.js +8 -1
  12. package/dist/bin/exe-boot.js +19 -4
  13. package/dist/bin/exe-call.js +1 -1
  14. package/dist/bin/exe-cloud.js +8 -1
  15. package/dist/bin/exe-dispatch.js +460 -5
  16. package/dist/bin/exe-doctor.js +8 -1
  17. package/dist/bin/exe-export-behaviors.js +13 -3
  18. package/dist/bin/exe-forget.js +8 -1
  19. package/dist/bin/exe-gateway.js +19 -4
  20. package/dist/bin/exe-heartbeat.js +8 -1
  21. package/dist/bin/exe-kill.js +8 -1
  22. package/dist/bin/exe-launch-agent.js +13 -3
  23. package/dist/bin/exe-new-employee.js +1 -1
  24. package/dist/bin/exe-pending-messages.js +8 -1
  25. package/dist/bin/exe-pending-notifications.js +8 -1
  26. package/dist/bin/exe-pending-reviews.js +8 -1
  27. package/dist/bin/exe-rename.js +8 -1
  28. package/dist/bin/exe-review.js +8 -1
  29. package/dist/bin/exe-search.js +8 -1
  30. package/dist/bin/exe-session-cleanup.js +460 -5
  31. package/dist/bin/exe-start-codex.js +13 -3
  32. package/dist/bin/exe-start-opencode.js +13 -3
  33. package/dist/bin/exe-status.js +8 -1
  34. package/dist/bin/exe-team.js +8 -1
  35. package/dist/bin/git-sweep.js +460 -5
  36. package/dist/bin/graph-backfill.js +8 -1
  37. package/dist/bin/graph-export.js +8 -1
  38. package/dist/bin/intercom-check.js +460 -5
  39. package/dist/bin/pre-publish.js +1 -1
  40. package/dist/bin/scan-tasks.js +460 -5
  41. package/dist/bin/setup.js +8 -1
  42. package/dist/bin/shard-migrate.js +8 -1
  43. package/dist/gateway/index.js +460 -5
  44. package/dist/hooks/bug-report-worker.js +460 -5
  45. package/dist/hooks/codex-stop-task-finalizer.js +467 -5
  46. package/dist/hooks/commit-complete.js +460 -5
  47. package/dist/hooks/error-recall.js +8 -1
  48. package/dist/hooks/ingest.js +8 -1
  49. package/dist/hooks/instructions-loaded.js +8 -1
  50. package/dist/hooks/notification.js +8 -1
  51. package/dist/hooks/post-compact.js +8 -1
  52. package/dist/hooks/post-tool-combined.js +8 -1
  53. package/dist/hooks/pre-compact.js +460 -5
  54. package/dist/hooks/pre-tool-use.js +8 -1
  55. package/dist/hooks/prompt-submit.js +469 -8
  56. package/dist/hooks/session-end.js +460 -5
  57. package/dist/hooks/session-start.js +8 -1
  58. package/dist/hooks/stop.js +8 -1
  59. package/dist/hooks/subagent-stop.js +8 -1
  60. package/dist/hooks/summary-worker.js +8 -1
  61. package/dist/index.js +469 -8
  62. package/dist/lib/cloud-sync.js +7 -0
  63. package/dist/lib/database.js +7 -0
  64. package/dist/lib/db.js +7 -0
  65. package/dist/lib/device-registry.js +7 -0
  66. package/dist/lib/employee-templates.js +1 -1
  67. package/dist/lib/exe-daemon.js +216 -12
  68. package/dist/lib/hybrid-search.js +8 -1
  69. package/dist/lib/schedules.js +8 -1
  70. package/dist/lib/skill-learning.js +488 -7
  71. package/dist/lib/store.js +8 -1
  72. package/dist/lib/tasks.js +452 -4
  73. package/dist/lib/tmux-routing.js +452 -4
  74. package/dist/mcp/server.js +69 -11
  75. package/dist/mcp/tools/create-task.js +452 -4
  76. package/dist/mcp/tools/update-task.js +452 -4
  77. package/dist/runtime/index.js +469 -8
  78. package/dist/tui/App.js +19 -4
  79. package/package.json +1 -1
@@ -2065,6 +2065,13 @@ async function ensureSchema() {
2065
2065
  } catch (e) {
2066
2066
  logCatchDebug("migration", e);
2067
2067
  }
2068
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
2069
+ try {
2070
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
2071
+ } catch (e) {
2072
+ logCatchDebug("migration", e);
2073
+ }
2074
+ }
2068
2075
  try {
2069
2076
  await client.execute({
2070
2077
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -4593,7 +4600,7 @@ var init_platform_procedures = __esm({
4593
4600
  title: "MCP tool dispatch \u2014 all tools use action parameter",
4594
4601
  domain: "tool-use",
4595
4602
  priority: "p0",
4596
- 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.'
4603
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
4597
4604
  },
4598
4605
  {
4599
4606
  title: "MCP tools \u2014 memory, decision, and search",
@@ -2026,6 +2026,13 @@ async function ensureSchema() {
2026
2026
  } catch (e) {
2027
2027
  logCatchDebug("migration", e);
2028
2028
  }
2029
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
2030
+ try {
2031
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
2032
+ } catch (e) {
2033
+ logCatchDebug("migration", e);
2034
+ }
2035
+ }
2029
2036
  try {
2030
2037
  await client.execute({
2031
2038
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -4554,7 +4561,7 @@ var init_platform_procedures = __esm({
4554
4561
  title: "MCP tool dispatch \u2014 all tools use action parameter",
4555
4562
  domain: "tool-use",
4556
4563
  priority: "p0",
4557
- 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.'
4564
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
4558
4565
  },
4559
4566
  {
4560
4567
  title: "MCP tools \u2014 memory, decision, and search",
@@ -2124,6 +2124,13 @@ async function ensureSchema() {
2124
2124
  } catch (e) {
2125
2125
  logCatchDebug("migration", e);
2126
2126
  }
2127
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
2128
+ try {
2129
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
2130
+ } catch (e) {
2131
+ logCatchDebug("migration", e);
2132
+ }
2133
+ }
2127
2134
  try {
2128
2135
  await client.execute({
2129
2136
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -4652,7 +4659,7 @@ var init_platform_procedures = __esm({
4652
4659
  title: "MCP tool dispatch \u2014 all tools use action parameter",
4653
4660
  domain: "tool-use",
4654
4661
  priority: "p0",
4655
- 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.'
4662
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
4656
4663
  },
4657
4664
  {
4658
4665
  title: "MCP tools \u2014 memory, decision, and search",
@@ -6272,7 +6279,7 @@ import crypto2 from "crypto";
6272
6279
  async function listBehaviors(agentId, projectName, limit = 30) {
6273
6280
  const client = getClient();
6274
6281
  const result = await client.execute({
6275
- sql: `SELECT id, agent_id, project_name, domain, priority, content, active, created_at, updated_at, vector
6282
+ sql: `SELECT id, agent_id, project_name, domain, priority, content, active, created_at, updated_at, vector, created_by_agent, created_by_device, source_session_id
6276
6283
  FROM behaviors
6277
6284
  WHERE agent_id = ? AND active = 1
6278
6285
  AND (project_name IS NULL OR project_name = ?)
@@ -6301,7 +6308,10 @@ async function listBehaviors(agentId, projectName, limit = 30) {
6301
6308
  active: Number(r.active),
6302
6309
  created_at: String(r.created_at),
6303
6310
  updated_at: String(r.updated_at),
6304
- vector: r.vector ? Array.from(new Float32Array(r.vector)) : null
6311
+ vector: r.vector ? Array.from(new Float32Array(r.vector)) : null,
6312
+ created_by_agent: r.created_by_agent ? String(r.created_by_agent) : null,
6313
+ created_by_device: r.created_by_device ? String(r.created_by_device) : null,
6314
+ source_session_id: r.source_session_id ? String(r.source_session_id) : null
6305
6315
  }));
6306
6316
  }
6307
6317
 
@@ -2869,7 +2869,7 @@ var PLATFORM_PROCEDURES = [
2869
2869
  title: "MCP tool dispatch \u2014 all tools use action parameter",
2870
2870
  domain: "tool-use",
2871
2871
  priority: "p0",
2872
- 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.'
2872
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
2873
2873
  },
2874
2874
  {
2875
2875
  title: "MCP tools \u2014 memory, decision, and search",
@@ -2036,6 +2036,13 @@ async function ensureSchema() {
2036
2036
  } catch (e) {
2037
2037
  logCatchDebug("migration", e);
2038
2038
  }
2039
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
2040
+ try {
2041
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
2042
+ } catch (e) {
2043
+ logCatchDebug("migration", e);
2044
+ }
2045
+ }
2039
2046
  try {
2040
2047
  await client.execute({
2041
2048
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -5035,7 +5042,7 @@ var init_platform_procedures = __esm({
5035
5042
  title: "MCP tool dispatch \u2014 all tools use action parameter",
5036
5043
  domain: "tool-use",
5037
5044
  priority: "p0",
5038
- 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.'
5045
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
5039
5046
  },
5040
5047
  {
5041
5048
  title: "MCP tools \u2014 memory, decision, and search",
@@ -2037,6 +2037,13 @@ async function ensureSchema() {
2037
2037
  } catch (e) {
2038
2038
  logCatchDebug("migration", e);
2039
2039
  }
2040
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
2041
+ try {
2042
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
2043
+ } catch (e) {
2044
+ logCatchDebug("migration", e);
2045
+ }
2046
+ }
2040
2047
  try {
2041
2048
  await client.execute({
2042
2049
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -5101,7 +5108,7 @@ var init_platform_procedures = __esm({
5101
5108
  title: "MCP tool dispatch \u2014 all tools use action parameter",
5102
5109
  domain: "tool-use",
5103
5110
  priority: "p0",
5104
- 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.'
5111
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
5105
5112
  },
5106
5113
  {
5107
5114
  title: "MCP tools \u2014 memory, decision, and search",
@@ -2037,6 +2037,13 @@ async function ensureSchema() {
2037
2037
  } catch (e) {
2038
2038
  logCatchDebug("migration", e);
2039
2039
  }
2040
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
2041
+ try {
2042
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
2043
+ } catch (e) {
2044
+ logCatchDebug("migration", e);
2045
+ }
2046
+ }
2040
2047
  try {
2041
2048
  await client.execute({
2042
2049
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -5140,7 +5147,7 @@ var init_platform_procedures = __esm({
5140
5147
  title: "MCP tool dispatch \u2014 all tools use action parameter",
5141
5148
  domain: "tool-use",
5142
5149
  priority: "p0",
5143
- 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.'
5150
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
5144
5151
  },
5145
5152
  {
5146
5153
  title: "MCP tools \u2014 memory, decision, and search",
@@ -1881,6 +1881,13 @@ async function ensureSchema() {
1881
1881
  } catch (e) {
1882
1882
  logCatchDebug("migration", e);
1883
1883
  }
1884
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
1885
+ try {
1886
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
1887
+ } catch (e) {
1888
+ logCatchDebug("migration", e);
1889
+ }
1890
+ }
1884
1891
  try {
1885
1892
  await client.execute({
1886
1893
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -3388,7 +3395,7 @@ var init_platform_procedures = __esm({
3388
3395
  title: "MCP tool dispatch \u2014 all tools use action parameter",
3389
3396
  domain: "tool-use",
3390
3397
  priority: "p0",
3391
- 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.'
3398
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
3392
3399
  },
3393
3400
  {
3394
3401
  title: "MCP tools \u2014 memory, decision, and search",
@@ -2040,6 +2040,13 @@ async function ensureSchema() {
2040
2040
  } catch (e) {
2041
2041
  logCatchDebug("migration", e);
2042
2042
  }
2043
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
2044
+ try {
2045
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
2046
+ } catch (e) {
2047
+ logCatchDebug("migration", e);
2048
+ }
2049
+ }
2043
2050
  try {
2044
2051
  await client.execute({
2045
2052
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -4568,7 +4575,7 @@ var init_platform_procedures = __esm({
4568
4575
  title: "MCP tool dispatch \u2014 all tools use action parameter",
4569
4576
  domain: "tool-use",
4570
4577
  priority: "p0",
4571
- 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.'
4578
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
4572
4579
  },
4573
4580
  {
4574
4581
  title: "MCP tools \u2014 memory, decision, and search",
@@ -2025,6 +2025,13 @@ async function ensureSchema() {
2025
2025
  } catch (e) {
2026
2026
  logCatchDebug("migration", e);
2027
2027
  }
2028
+ for (const col of ["created_by_agent TEXT", "created_by_device TEXT", "source_session_id TEXT"]) {
2029
+ try {
2030
+ await client.execute({ sql: `ALTER TABLE behaviors ADD COLUMN ${col}`, args: [] });
2031
+ } catch (e) {
2032
+ logCatchDebug("migration", e);
2033
+ }
2034
+ }
2028
2035
  try {
2029
2036
  await client.execute({
2030
2037
  sql: `ALTER TABLE tasks ADD COLUMN blocked_by TEXT`,
@@ -4553,7 +4560,7 @@ var init_platform_procedures = __esm({
4553
4560
  title: "MCP tool dispatch \u2014 all tools use action parameter",
4554
4561
  domain: "tool-use",
4555
4562
  priority: "p0",
4556
- 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.'
4563
+ content: 'exe-os MCP tools use consolidated action-based dispatch by default (19 tools). Call domain tools with an action parameter: memory(action="recall"), task(action="create"), config(action="list_employees"), etc. Legacy mode (108 separate tools like recall_my_memory, create_task) is still available via EXE_MCP_TOOL_SURFACE=legacy but will be removed in a future version. If you see specific tool names, call them directly \u2014 both surfaces are identical. Consolidated is the default and recommended surface.'
4557
4564
  },
4558
4565
  {
4559
4566
  title: "MCP tools \u2014 memory, decision, and search",