@askexenow/exe-os 0.9.77 → 0.9.78

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 (72) hide show
  1. package/dist/bin/agentic-ontology-backfill.js +2 -2
  2. package/dist/bin/agentic-reflection-backfill.js +2 -2
  3. package/dist/bin/agentic-semantic-label.js +2 -2
  4. package/dist/bin/backfill-conversations.js +2 -2
  5. package/dist/bin/backfill-responses.js +2 -2
  6. package/dist/bin/backfill-vectors.js +2 -2
  7. package/dist/bin/bulk-sync-postgres.js +2 -2
  8. package/dist/bin/cleanup-stale-review-tasks.js +2 -2
  9. package/dist/bin/cli.js +759 -524
  10. package/dist/bin/customer-readiness.js +19 -0
  11. package/dist/bin/exe-agent.js +2 -2
  12. package/dist/bin/exe-assign.js +2 -2
  13. package/dist/bin/exe-boot.js +2 -2
  14. package/dist/bin/exe-call.js +2 -2
  15. package/dist/bin/exe-cloud.js +2 -2
  16. package/dist/bin/exe-dispatch.js +2 -2
  17. package/dist/bin/exe-doctor.js +2 -2
  18. package/dist/bin/exe-export-behaviors.js +2 -2
  19. package/dist/bin/exe-forget.js +2 -2
  20. package/dist/bin/exe-gateway.js +158 -16
  21. package/dist/bin/exe-heartbeat.js +2 -2
  22. package/dist/bin/exe-kill.js +2 -2
  23. package/dist/bin/exe-launch-agent.js +2 -2
  24. package/dist/bin/exe-new-employee.js +2 -2
  25. package/dist/bin/exe-pending-messages.js +2 -2
  26. package/dist/bin/exe-pending-notifications.js +2 -2
  27. package/dist/bin/exe-pending-reviews.js +2 -2
  28. package/dist/bin/exe-rename.js +2 -2
  29. package/dist/bin/exe-review.js +2 -2
  30. package/dist/bin/exe-search.js +2 -2
  31. package/dist/bin/exe-session-cleanup.js +2 -2
  32. package/dist/bin/exe-start-codex.js +2 -2
  33. package/dist/bin/exe-start-opencode.js +2 -2
  34. package/dist/bin/exe-status.js +2 -2
  35. package/dist/bin/exe-support.js +461 -0
  36. package/dist/bin/exe-team.js +2 -2
  37. package/dist/bin/git-sweep.js +2 -2
  38. package/dist/bin/graph-backfill.js +2 -2
  39. package/dist/bin/graph-export.js +2 -2
  40. package/dist/bin/intercom-check.js +2 -2
  41. package/dist/bin/scan-tasks.js +2 -2
  42. package/dist/bin/setup.js +3 -2
  43. package/dist/bin/shard-migrate.js +2 -2
  44. package/dist/bin/update.js +9 -0
  45. package/dist/gateway/index.js +2 -2
  46. package/dist/hooks/bug-report-worker.js +2 -2
  47. package/dist/hooks/codex-stop-task-finalizer.js +2 -2
  48. package/dist/hooks/commit-complete.js +2 -2
  49. package/dist/hooks/error-recall.js +2 -2
  50. package/dist/hooks/ingest.js +2 -2
  51. package/dist/hooks/instructions-loaded.js +2 -2
  52. package/dist/hooks/notification.js +2 -2
  53. package/dist/hooks/post-compact.js +2 -2
  54. package/dist/hooks/post-tool-combined.js +2 -2
  55. package/dist/hooks/pre-compact.js +2 -2
  56. package/dist/hooks/pre-tool-use.js +2 -2
  57. package/dist/hooks/prompt-submit.js +2 -2
  58. package/dist/hooks/session-end.js +2 -2
  59. package/dist/hooks/session-start.js +2 -2
  60. package/dist/hooks/stop.js +2 -2
  61. package/dist/hooks/subagent-stop.js +2 -2
  62. package/dist/hooks/summary-worker.js +2 -2
  63. package/dist/index.js +2 -2
  64. package/dist/lib/employee-templates.js +2 -2
  65. package/dist/lib/exe-daemon.js +28 -16
  66. package/dist/lib/hybrid-search.js +2 -2
  67. package/dist/lib/schedules.js +2 -2
  68. package/dist/lib/store.js +2 -2
  69. package/dist/mcp/server.js +27 -15
  70. package/dist/runtime/index.js +2 -2
  71. package/dist/tui/App.js +2 -2
  72. package/package.json +1 -1
@@ -5799,7 +5799,7 @@ var init_platform_procedures = __esm({
5799
5799
  title: "Customer patch triage \u2014 upstream bug vs customization",
5800
5800
  domain: "support",
5801
5801
  priority: "p0",
5802
- content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
5802
+ content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, run `exe-os support test` and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
5803
5803
  },
5804
5804
  // --- Operations ---
5805
5805
  {
@@ -5881,7 +5881,7 @@ var init_platform_procedures = __esm({
5881
5881
  title: "MCP tools \u2014 identity, behavior, and decisions",
5882
5882
  domain: "tool-use",
5883
5883
  priority: "p1",
5884
- content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only."
5884
+ content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, run `exe-os support test` from the terminal to verify local file write, license auth, support endpoint health, and upstream POST."
5885
5885
  },
5886
5886
  {
5887
5887
  title: "MCP tools \u2014 communication and messaging",
@@ -18386,12 +18386,13 @@ function assertSecureGatewayUrlForToken(gatewayUrl, authToken) {
18386
18386
  `Insecure Company Brain gateway URL rejected: "${gatewayUrl}". Bearer tokens require https:// for remote hosts; plain http:// is only allowed for localhost or Docker-internal gateway services.`
18387
18387
  );
18388
18388
  }
18389
- function formatSuccess(query, scope, payload) {
18389
+ function formatSuccess(query, scope, payload, action) {
18390
18390
  const pretty = typeof payload === "string" ? payload : JSON.stringify(payload, null, 2);
18391
18391
  return [
18392
18392
  `# Company Brain Query`,
18393
18393
  "",
18394
- `query: ${query}`,
18394
+ `action: ${action}`,
18395
+ ...query ? [`query: ${query}`] : [],
18395
18396
  `scope: ${scope}`,
18396
18397
  "",
18397
18398
  pretty
@@ -18404,16 +18405,24 @@ function registerQueryCompanyBrain(server) {
18404
18405
  title: "Query Company Brain",
18405
18406
  description: "Search the Company Brain \u2014 queries across all data (raw events, wiki docs, agent memories, gateway messages).",
18406
18407
  inputSchema: {
18407
- query: z39.string().min(1).describe("Search text"),
18408
- scope: QUERY_SCOPE.default("all").describe("Which data scope to search"),
18408
+ action: QUERY_ACTION.default("search").describe("search = search exe-db; list_sources = list available raw/CRM/wiki/memory/gateway sources"),
18409
+ query: z39.string().optional().describe("Search text. Required for action=search."),
18410
+ scope: QUERY_SCOPE.default("all").describe("Which data scope to search/read (raw, crm, wiki, memory, gateway, all)"),
18409
18411
  source: z39.string().optional().describe("Filter raw events by source (shopify, asana, etc.)"),
18410
18412
  limit: z39.coerce.number().int().min(1).max(100).default(20).describe("Max results per scope")
18411
18413
  }
18412
18414
  },
18413
- async ({ query, scope, source, limit }) => {
18415
+ async ({ action, query, scope, source, limit }) => {
18416
+ const resolvedAction = action ?? "search";
18417
+ if (resolvedAction === "search" && !query?.trim()) {
18418
+ return {
18419
+ content: [{ type: "text", text: "query is required when action=search" }],
18420
+ isError: true
18421
+ };
18422
+ }
18414
18423
  const config2 = await loadConfig();
18415
18424
  const gatewayUrl = config2.gateway?.url || process.env.EXE_GATEWAY_URL;
18416
- const authToken = config2.gateway?.authToken || process.env.EXE_GATEWAY_AUTH_TOKEN;
18425
+ const authToken = config2.gateway?.authToken || process.env.EXE_GATEWAY_QUERY_AUTH_TOKEN || process.env.EXE_COMPANY_BRAIN_AUTH_TOKEN || process.env.EXE_GATEWAY_AUTH_TOKEN;
18417
18426
  if (!gatewayUrl) {
18418
18427
  return {
18419
18428
  content: [
@@ -18439,7 +18448,7 @@ function registerQueryCompanyBrain(server) {
18439
18448
  }
18440
18449
  let url;
18441
18450
  try {
18442
- url = new URL("/query", gatewayUrl);
18451
+ url = new URL(resolvedAction === "list_sources" ? "/query/sources" : "/query", gatewayUrl);
18443
18452
  } catch (err) {
18444
18453
  return {
18445
18454
  content: [
@@ -18451,10 +18460,12 @@ function registerQueryCompanyBrain(server) {
18451
18460
  isError: true
18452
18461
  };
18453
18462
  }
18454
- url.searchParams.set("q", query);
18455
- url.searchParams.set("scope", scope);
18456
- if (source) url.searchParams.set("source", source);
18457
- url.searchParams.set("limit", String(limit));
18463
+ if (resolvedAction === "search") {
18464
+ url.searchParams.set("q", query.trim());
18465
+ url.searchParams.set("scope", scope);
18466
+ if (source) url.searchParams.set("source", source);
18467
+ url.searchParams.set("limit", String(limit));
18468
+ }
18458
18469
  try {
18459
18470
  const response = await fetch(url.toString(), {
18460
18471
  headers: authToken ? { Authorization: `Bearer ${authToken}` } : {},
@@ -18478,7 +18489,7 @@ function registerQueryCompanyBrain(server) {
18478
18489
  content: [
18479
18490
  {
18480
18491
  type: "text",
18481
- text: formatSuccess(query, scope, payload)
18492
+ text: formatSuccess(query?.trim(), scope, payload, resolvedAction)
18482
18493
  }
18483
18494
  ]
18484
18495
  };
@@ -18496,13 +18507,14 @@ function registerQueryCompanyBrain(server) {
18496
18507
  }
18497
18508
  );
18498
18509
  }
18499
- var FETCH_TIMEOUT_MS, QUERY_SCOPE, LOCAL_GATEWAY_HTTP_HOSTS;
18510
+ var FETCH_TIMEOUT_MS, QUERY_SCOPE, QUERY_ACTION, LOCAL_GATEWAY_HTTP_HOSTS;
18500
18511
  var init_query_company_brain = __esm({
18501
18512
  "src/mcp/tools/query-company-brain.ts"() {
18502
18513
  "use strict";
18503
18514
  init_config();
18504
18515
  FETCH_TIMEOUT_MS = 1e4;
18505
- QUERY_SCOPE = z39.enum(["raw", "wiki", "memory", "gateway", "all"]);
18516
+ QUERY_SCOPE = z39.enum(["raw", "crm", "wiki", "memory", "gateway", "all"]);
18517
+ QUERY_ACTION = z39.enum(["search", "list_sources"]);
18506
18518
  LOCAL_GATEWAY_HTTP_HOSTS = /^(localhost|127\.0\.0\.1|::1|exe-gateway|gateway)$/i;
18507
18519
  }
18508
18520
  });
@@ -4132,7 +4132,7 @@ var init_platform_procedures = __esm({
4132
4132
  title: "Customer patch triage \u2014 upstream bug vs customization",
4133
4133
  domain: "support",
4134
4134
  priority: "p0",
4135
- content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
4135
+ content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, run `exe-os support test` and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
4136
4136
  },
4137
4137
  // --- Operations ---
4138
4138
  {
@@ -4214,7 +4214,7 @@ var init_platform_procedures = __esm({
4214
4214
  title: "MCP tools \u2014 identity, behavior, and decisions",
4215
4215
  domain: "tool-use",
4216
4216
  priority: "p1",
4217
- content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only."
4217
+ content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, run `exe-os support test` from the terminal to verify local file write, license auth, support endpoint health, and upstream POST."
4218
4218
  },
4219
4219
  {
4220
4220
  title: "MCP tools \u2014 communication and messaging",
@@ -3361,7 +3361,7 @@ var init_platform_procedures = __esm({
3361
3361
  title: "Customer patch triage \u2014 upstream bug vs customization",
3362
3362
  domain: "support",
3363
3363
  priority: "p0",
3364
- content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
3364
+ content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, run `exe-os support test` and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
3365
3365
  },
3366
3366
  // --- Operations ---
3367
3367
  {
@@ -3443,7 +3443,7 @@ var init_platform_procedures = __esm({
3443
3443
  title: "MCP tools \u2014 identity, behavior, and decisions",
3444
3444
  domain: "tool-use",
3445
3445
  priority: "p1",
3446
- content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only."
3446
+ content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, run `exe-os support test` from the terminal to verify local file write, license auth, support endpoint health, and upstream POST."
3447
3447
  },
3448
3448
  {
3449
3449
  title: "MCP tools \u2014 communication and messaging",
package/dist/lib/store.js CHANGED
@@ -3361,7 +3361,7 @@ var init_platform_procedures = __esm({
3361
3361
  title: "Customer patch triage \u2014 upstream bug vs customization",
3362
3362
  domain: "support",
3363
3363
  priority: "p0",
3364
- content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
3364
+ content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, run `exe-os support test` and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
3365
3365
  },
3366
3366
  // --- Operations ---
3367
3367
  {
@@ -3443,7 +3443,7 @@ var init_platform_procedures = __esm({
3443
3443
  title: "MCP tools \u2014 identity, behavior, and decisions",
3444
3444
  domain: "tool-use",
3445
3445
  priority: "p1",
3446
- content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only."
3446
+ content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, run `exe-os support test` from the terminal to verify local file write, license auth, support endpoint health, and upstream POST."
3447
3447
  },
3448
3448
  {
3449
3449
  title: "MCP tools \u2014 communication and messaging",
@@ -4781,7 +4781,7 @@ var init_platform_procedures = __esm({
4781
4781
  title: "Customer patch triage \u2014 upstream bug vs customization",
4782
4782
  domain: "support",
4783
4783
  priority: "p0",
4784
- content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
4784
+ content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, run `exe-os support test` and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
4785
4785
  },
4786
4786
  // --- Operations ---
4787
4787
  {
@@ -4863,7 +4863,7 @@ var init_platform_procedures = __esm({
4863
4863
  title: "MCP tools \u2014 identity, behavior, and decisions",
4864
4864
  domain: "tool-use",
4865
4865
  priority: "p1",
4866
- content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only."
4866
+ content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, run `exe-os support test` from the terminal to verify local file write, license auth, support endpoint health, and upstream POST."
4867
4867
  },
4868
4868
  {
4869
4869
  title: "MCP tools \u2014 communication and messaging",
@@ -17717,7 +17717,8 @@ function registerQueryConversations(server2) {
17717
17717
  init_config();
17718
17718
  import { z as z39 } from "zod";
17719
17719
  var FETCH_TIMEOUT_MS = 1e4;
17720
- var QUERY_SCOPE = z39.enum(["raw", "wiki", "memory", "gateway", "all"]);
17720
+ var QUERY_SCOPE = z39.enum(["raw", "crm", "wiki", "memory", "gateway", "all"]);
17721
+ var QUERY_ACTION = z39.enum(["search", "list_sources"]);
17721
17722
  var LOCAL_GATEWAY_HTTP_HOSTS = /^(localhost|127\.0\.0\.1|::1|exe-gateway|gateway)$/i;
17722
17723
  function assertSecureGatewayUrlForToken(gatewayUrl, authToken) {
17723
17724
  if (!authToken) return;
@@ -17733,12 +17734,13 @@ function assertSecureGatewayUrlForToken(gatewayUrl, authToken) {
17733
17734
  `Insecure Company Brain gateway URL rejected: "${gatewayUrl}". Bearer tokens require https:// for remote hosts; plain http:// is only allowed for localhost or Docker-internal gateway services.`
17734
17735
  );
17735
17736
  }
17736
- function formatSuccess(query, scope, payload) {
17737
+ function formatSuccess(query, scope, payload, action) {
17737
17738
  const pretty = typeof payload === "string" ? payload : JSON.stringify(payload, null, 2);
17738
17739
  return [
17739
17740
  `# Company Brain Query`,
17740
17741
  "",
17741
- `query: ${query}`,
17742
+ `action: ${action}`,
17743
+ ...query ? [`query: ${query}`] : [],
17742
17744
  `scope: ${scope}`,
17743
17745
  "",
17744
17746
  pretty
@@ -17751,16 +17753,24 @@ function registerQueryCompanyBrain(server2) {
17751
17753
  title: "Query Company Brain",
17752
17754
  description: "Search the Company Brain \u2014 queries across all data (raw events, wiki docs, agent memories, gateway messages).",
17753
17755
  inputSchema: {
17754
- query: z39.string().min(1).describe("Search text"),
17755
- scope: QUERY_SCOPE.default("all").describe("Which data scope to search"),
17756
+ action: QUERY_ACTION.default("search").describe("search = search exe-db; list_sources = list available raw/CRM/wiki/memory/gateway sources"),
17757
+ query: z39.string().optional().describe("Search text. Required for action=search."),
17758
+ scope: QUERY_SCOPE.default("all").describe("Which data scope to search/read (raw, crm, wiki, memory, gateway, all)"),
17756
17759
  source: z39.string().optional().describe("Filter raw events by source (shopify, asana, etc.)"),
17757
17760
  limit: z39.coerce.number().int().min(1).max(100).default(20).describe("Max results per scope")
17758
17761
  }
17759
17762
  },
17760
- async ({ query, scope, source, limit }) => {
17763
+ async ({ action, query, scope, source, limit }) => {
17764
+ const resolvedAction = action ?? "search";
17765
+ if (resolvedAction === "search" && !query?.trim()) {
17766
+ return {
17767
+ content: [{ type: "text", text: "query is required when action=search" }],
17768
+ isError: true
17769
+ };
17770
+ }
17761
17771
  const config2 = await loadConfig();
17762
17772
  const gatewayUrl = config2.gateway?.url || process.env.EXE_GATEWAY_URL;
17763
- const authToken = config2.gateway?.authToken || process.env.EXE_GATEWAY_AUTH_TOKEN;
17773
+ const authToken = config2.gateway?.authToken || process.env.EXE_GATEWAY_QUERY_AUTH_TOKEN || process.env.EXE_COMPANY_BRAIN_AUTH_TOKEN || process.env.EXE_GATEWAY_AUTH_TOKEN;
17764
17774
  if (!gatewayUrl) {
17765
17775
  return {
17766
17776
  content: [
@@ -17786,7 +17796,7 @@ function registerQueryCompanyBrain(server2) {
17786
17796
  }
17787
17797
  let url;
17788
17798
  try {
17789
- url = new URL("/query", gatewayUrl);
17799
+ url = new URL(resolvedAction === "list_sources" ? "/query/sources" : "/query", gatewayUrl);
17790
17800
  } catch (err) {
17791
17801
  return {
17792
17802
  content: [
@@ -17798,10 +17808,12 @@ function registerQueryCompanyBrain(server2) {
17798
17808
  isError: true
17799
17809
  };
17800
17810
  }
17801
- url.searchParams.set("q", query);
17802
- url.searchParams.set("scope", scope);
17803
- if (source) url.searchParams.set("source", source);
17804
- url.searchParams.set("limit", String(limit));
17811
+ if (resolvedAction === "search") {
17812
+ url.searchParams.set("q", query.trim());
17813
+ url.searchParams.set("scope", scope);
17814
+ if (source) url.searchParams.set("source", source);
17815
+ url.searchParams.set("limit", String(limit));
17816
+ }
17805
17817
  try {
17806
17818
  const response = await fetch(url.toString(), {
17807
17819
  headers: authToken ? { Authorization: `Bearer ${authToken}` } : {},
@@ -17825,7 +17837,7 @@ function registerQueryCompanyBrain(server2) {
17825
17837
  content: [
17826
17838
  {
17827
17839
  type: "text",
17828
- text: formatSuccess(query, scope, payload)
17840
+ text: formatSuccess(query?.trim(), scope, payload, resolvedAction)
17829
17841
  }
17830
17842
  ]
17831
17843
  };
@@ -7957,7 +7957,7 @@ var init_platform_procedures = __esm({
7957
7957
  title: "Customer patch triage \u2014 upstream bug vs customization",
7958
7958
  domain: "support",
7959
7959
  priority: "p0",
7960
- content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
7960
+ content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, run `exe-os support test` and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
7961
7961
  },
7962
7962
  // --- Operations ---
7963
7963
  {
@@ -8039,7 +8039,7 @@ var init_platform_procedures = __esm({
8039
8039
  title: "MCP tools \u2014 identity, behavior, and decisions",
8040
8040
  domain: "tool-use",
8041
8041
  priority: "p1",
8042
- content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only."
8042
+ content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, run `exe-os support test` from the terminal to verify local file write, license auth, support endpoint health, and upstream POST."
8043
8043
  },
8044
8044
  {
8045
8045
  title: "MCP tools \u2014 communication and messaging",
package/dist/tui/App.js CHANGED
@@ -8929,7 +8929,7 @@ var init_platform_procedures = __esm({
8929
8929
  title: "Customer patch triage \u2014 upstream bug vs customization",
8930
8930
  domain: "support",
8931
8931
  priority: "p0",
8932
- content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
8932
+ content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, run `exe-os support test` and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
8933
8933
  },
8934
8934
  // --- Operations ---
8935
8935
  {
@@ -9011,7 +9011,7 @@ var init_platform_procedures = __esm({
9011
9011
  title: "MCP tools \u2014 identity, behavior, and decisions",
9012
9012
  domain: "tool-use",
9013
9013
  priority: "p1",
9014
- content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only."
9014
+ content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, run `exe-os support test` from the terminal to verify local file write, license auth, support endpoint health, and upstream POST."
9015
9015
  },
9016
9016
  {
9017
9017
  title: "MCP tools \u2014 communication and messaging",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.9.77",
3
+ "version": "0.9.78",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "module",