@jungjaehoon/mama-os 0.21.0 → 0.22.0

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 (129) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +12 -4
  3. package/dist/agent/agent-loop.d.ts.map +1 -1
  4. package/dist/agent/agent-loop.js +76 -11
  5. package/dist/agent/agent-loop.js.map +1 -1
  6. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  7. package/dist/agent/code-act/host-bridge.js +74 -0
  8. package/dist/agent/code-act/host-bridge.js.map +1 -1
  9. package/dist/agent/codex-mcp-process.d.ts +1 -0
  10. package/dist/agent/codex-mcp-process.d.ts.map +1 -1
  11. package/dist/agent/codex-mcp-process.js +3 -2
  12. package/dist/agent/codex-mcp-process.js.map +1 -1
  13. package/dist/agent/gateway-tool-executor.d.ts +16 -1
  14. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  15. package/dist/agent/gateway-tool-executor.js +148 -2
  16. package/dist/agent/gateway-tool-executor.js.map +1 -1
  17. package/dist/agent/gateway-tools.md +6 -1
  18. package/dist/agent/model-runner.d.ts +8 -0
  19. package/dist/agent/model-runner.d.ts.map +1 -1
  20. package/dist/agent/model-runner.js.map +1 -1
  21. package/dist/agent/persistent-cli-adapter.d.ts +6 -0
  22. package/dist/agent/persistent-cli-adapter.d.ts.map +1 -1
  23. package/dist/agent/persistent-cli-adapter.js +21 -10
  24. package/dist/agent/persistent-cli-adapter.js.map +1 -1
  25. package/dist/agent/tool-registry.d.ts.map +1 -1
  26. package/dist/agent/tool-registry.js +32 -1
  27. package/dist/agent/tool-registry.js.map +1 -1
  28. package/dist/agent/types.d.ts +26 -2
  29. package/dist/agent/types.d.ts.map +1 -1
  30. package/dist/agent/types.js.map +1 -1
  31. package/dist/api/index.d.ts +1 -1
  32. package/dist/api/index.d.ts.map +1 -1
  33. package/dist/api/index.js +15 -13
  34. package/dist/api/index.js.map +1 -1
  35. package/dist/api/operator-handler.d.ts +2 -0
  36. package/dist/api/operator-handler.d.ts.map +1 -1
  37. package/dist/api/operator-handler.js +23 -5
  38. package/dist/api/operator-handler.js.map +1 -1
  39. package/dist/api/operator-summary.d.ts +3 -0
  40. package/dist/api/operator-summary.d.ts.map +1 -0
  41. package/dist/api/operator-summary.js +72 -0
  42. package/dist/api/operator-summary.js.map +1 -0
  43. package/dist/api/operator-tasks-handler.d.ts +7 -0
  44. package/dist/api/operator-tasks-handler.d.ts.map +1 -0
  45. package/dist/api/operator-tasks-handler.js +165 -0
  46. package/dist/api/operator-tasks-handler.js.map +1 -0
  47. package/dist/cli/commands/start.d.ts.map +1 -1
  48. package/dist/cli/commands/start.js +62 -12
  49. package/dist/cli/commands/start.js.map +1 -1
  50. package/dist/cli/runtime/agent-loop-init.d.ts +2 -1
  51. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  52. package/dist/cli/runtime/agent-loop-init.js +16 -8
  53. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  54. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  55. package/dist/cli/runtime/api-routes-init.js +129 -13
  56. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  57. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  58. package/dist/cli/runtime/gateway-init.js +3 -1
  59. package/dist/cli/runtime/gateway-init.js.map +1 -1
  60. package/dist/cli/runtime/memory-agent-init.d.ts +2 -1
  61. package/dist/cli/runtime/memory-agent-init.d.ts.map +1 -1
  62. package/dist/cli/runtime/memory-agent-init.js +15 -3
  63. package/dist/cli/runtime/memory-agent-init.js.map +1 -1
  64. package/dist/connectors/framework/types.d.ts +8 -0
  65. package/dist/connectors/framework/types.d.ts.map +1 -1
  66. package/dist/connectors/slack/index.d.ts.map +1 -1
  67. package/dist/connectors/slack/index.js +3 -1
  68. package/dist/connectors/slack/index.js.map +1 -1
  69. package/dist/connectors/trello/index.d.ts.map +1 -1
  70. package/dist/connectors/trello/index.js +6 -2
  71. package/dist/connectors/trello/index.js.map +1 -1
  72. package/dist/db/agent-store.d.ts +5 -0
  73. package/dist/db/agent-store.d.ts.map +1 -1
  74. package/dist/db/agent-store.js +6 -3
  75. package/dist/db/agent-store.js.map +1 -1
  76. package/dist/db/migrations/agent-activity-tool-name.d.ts +8 -0
  77. package/dist/db/migrations/agent-activity-tool-name.d.ts.map +1 -0
  78. package/dist/db/migrations/agent-activity-tool-name.js +24 -0
  79. package/dist/db/migrations/agent-activity-tool-name.js.map +1 -0
  80. package/dist/envelope/run-guard.d.ts +10 -0
  81. package/dist/envelope/run-guard.d.ts.map +1 -0
  82. package/dist/envelope/run-guard.js +19 -0
  83. package/dist/envelope/run-guard.js.map +1 -0
  84. package/dist/multi-agent/agent-event-bus.d.ts +4 -0
  85. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  86. package/dist/multi-agent/agent-event-bus.js.map +1 -1
  87. package/dist/multi-agent/dashboard-agent-persona.d.ts.map +1 -1
  88. package/dist/multi-agent/dashboard-agent-persona.js +18 -5
  89. package/dist/multi-agent/dashboard-agent-persona.js.map +1 -1
  90. package/dist/multi-agent/runtime-process.d.ts +4 -2
  91. package/dist/multi-agent/runtime-process.d.ts.map +1 -1
  92. package/dist/multi-agent/runtime-process.js +7 -4
  93. package/dist/multi-agent/runtime-process.js.map +1 -1
  94. package/dist/operator/action-verifier.d.ts +50 -0
  95. package/dist/operator/action-verifier.d.ts.map +1 -0
  96. package/dist/operator/action-verifier.js +68 -0
  97. package/dist/operator/action-verifier.js.map +1 -0
  98. package/dist/operator/board-reconcile.d.ts +62 -0
  99. package/dist/operator/board-reconcile.d.ts.map +1 -0
  100. package/dist/operator/board-reconcile.js +160 -0
  101. package/dist/operator/board-reconcile.js.map +1 -0
  102. package/dist/operator/board-slot-instructions.d.ts +8 -0
  103. package/dist/operator/board-slot-instructions.d.ts.map +1 -1
  104. package/dist/operator/board-slot-instructions.js +25 -1
  105. package/dist/operator/board-slot-instructions.js.map +1 -1
  106. package/dist/operator/operator-trigger-loop.d.ts +15 -2
  107. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  108. package/dist/operator/operator-trigger-loop.js +40 -1
  109. package/dist/operator/operator-trigger-loop.js.map +1 -1
  110. package/dist/operator/report-scheduler.d.ts +23 -0
  111. package/dist/operator/report-scheduler.d.ts.map +1 -1
  112. package/dist/operator/report-scheduler.js +56 -8
  113. package/dist/operator/report-scheduler.js.map +1 -1
  114. package/dist/operator/situation-report.d.ts +5 -1
  115. package/dist/operator/situation-report.d.ts.map +1 -1
  116. package/dist/operator/situation-report.js +12 -2
  117. package/dist/operator/situation-report.js.map +1 -1
  118. package/dist/operator/task-ledger.d.ts +96 -0
  119. package/dist/operator/task-ledger.d.ts.map +1 -0
  120. package/dist/operator/task-ledger.js +277 -0
  121. package/dist/operator/task-ledger.js.map +1 -0
  122. package/package.json +1 -1
  123. package/public/ui/assets/index-CKOJQYXA.css +1 -0
  124. package/public/ui/assets/index-OSgiwL24.js +62 -0
  125. package/public/ui/index.html +3 -2
  126. package/public/ui/theme-init.js +20 -0
  127. package/public/viewer/viewer.html +12 -28
  128. package/public/ui/assets/index-BDsaQNGd.js +0 -62
  129. package/public/ui/assets/index-C4URnm_X.css +0 -1
@@ -4,8 +4,9 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>MAMA Operator</title>
7
- <script type="module" crossorigin src="/ui/assets/index-BDsaQNGd.js"></script>
8
- <link rel="stylesheet" crossorigin href="/ui/assets/index-C4URnm_X.css">
7
+ <script src="/ui/theme-init.js"></script>
8
+ <script type="module" crossorigin src="/ui/assets/index-OSgiwL24.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/ui/assets/index-CKOJQYXA.css">
9
10
  </head>
10
11
  <body>
11
12
  <div id="root"></div>
@@ -0,0 +1,20 @@
1
+ /* global localStorage, window, document */
2
+ (function () {
3
+ let theme = null;
4
+ try {
5
+ // Keep in sync with THEME_STORAGE_KEY in src/lib/theme.ts.
6
+ const stored = localStorage.getItem('mama-ui-theme');
7
+ if (stored === 'light' || stored === 'dark') {
8
+ theme = stored;
9
+ }
10
+ } catch (_error) {
11
+ theme = null;
12
+ }
13
+ if (!theme) {
14
+ const prefersDark =
15
+ typeof window.matchMedia === 'function' &&
16
+ window.matchMedia('(prefers-color-scheme: dark)').matches;
17
+ theme = prefersDark ? 'dark' : 'light';
18
+ }
19
+ document.documentElement.setAttribute('data-theme', theme);
20
+ })();
@@ -430,20 +430,12 @@
430
430
  <span>MAMA</span>
431
431
  </a>
432
432
  <div class="mama-nav-items">
433
- <button
434
- class="mama-nav-item mama-nav-active"
435
- data-tab="dashboard"
436
- onclick="window.switchTab && window.switchTab('dashboard')"
437
- >
438
- <i data-lucide="layout-dashboard"></i>
439
- <span>Dashboard</span>
440
- </button>
441
433
  <a class="mama-nav-item" href="/ui" title="Operator Board (beta)">
442
434
  <i data-lucide="zap"></i>
443
435
  <span>Operator (beta)</span>
444
436
  </a>
445
437
  <button
446
- class="mama-nav-item"
438
+ class="mama-nav-item mama-nav-active"
447
439
  data-tab="feed"
448
440
  onclick="window.switchTab && window.switchTab('feed')"
449
441
  >
@@ -1250,7 +1242,7 @@
1250
1242
  <span
1251
1243
  id="chat-tab-indicator"
1252
1244
  class="text-[10px] bg-gray-100 text-gray-500 px-1.5 py-0.5 rounded-md font-medium"
1253
- >Dashboard</span
1245
+ >Feed</span
1254
1246
  >
1255
1247
  <span
1256
1248
  class="status-indicator w-1.5 h-1.5 rounded-full bg-gray-300 flex-shrink-0"
@@ -1477,14 +1469,6 @@
1477
1469
 
1478
1470
  <!-- Mobile Bottom Tab Bar -->
1479
1471
  <div id="mama-mobile-tabs">
1480
- <button
1481
- class="mama-mobile-tab mama-nav-active"
1482
- data-tab="dashboard"
1483
- onclick="window.switchTab && window.switchTab('dashboard')"
1484
- >
1485
- <i data-lucide="layout-dashboard"></i>
1486
- <span>Home</span>
1487
- </button>
1488
1472
  <button
1489
1473
  class="mama-mobile-tab"
1490
1474
  data-tab="chat"
@@ -1510,7 +1494,7 @@
1510
1494
  <span>Memory</span>
1511
1495
  </button>
1512
1496
  <button
1513
- class="mama-mobile-tab"
1497
+ class="mama-mobile-tab mama-nav-active"
1514
1498
  data-tab="more"
1515
1499
  onclick="window.toggleMobileMore && window.toggleMobileMore()"
1516
1500
  >
@@ -2036,7 +2020,7 @@ export MAMA_AUTH_TOKEN="your-secure-token-here"</pre
2036
2020
  };
2037
2021
 
2038
2022
  const STATE = {
2039
- currentTab: 'dashboard',
2023
+ currentTab: 'feed',
2040
2024
  theme: 'dark',
2041
2025
  graphLoaded: false,
2042
2026
  };
@@ -2047,11 +2031,6 @@ export MAMA_AUTH_TOKEN="your-secure-token-here"</pre
2047
2031
  // Close mobile More menu if open
2048
2032
  const moreMenu = document.getElementById('mama-mobile-more');
2049
2033
  if (moreMenu) moreMenu.style.display = 'none';
2050
- const moreBtn = document.querySelector('#mama-mobile-tabs [data-tab="more"]');
2051
- const overflowTabs = ['feed', 'wiki', 'logs', 'settings'];
2052
- if (moreBtn) {
2053
- moreBtn.classList.toggle('mama-nav-active', overflowTabs.includes(tabName));
2054
- }
2055
2034
 
2056
2035
  // Also highlight the source tab in More menu if it was selected from there
2057
2036
  document.querySelectorAll('#mama-mobile-more .mama-mobile-tab').forEach((btn) => {
@@ -2073,6 +2052,11 @@ export MAMA_AUTH_TOKEN="your-secure-token-here"</pre
2073
2052
  document.querySelectorAll('#mama-mobile-tabs .mama-mobile-tab').forEach((btn) => {
2074
2053
  btn.classList.toggle('mama-nav-active', btn.dataset.tab === tabName);
2075
2054
  });
2055
+ const moreBtn = document.querySelector('#mama-mobile-tabs [data-tab="more"]');
2056
+ const overflowTabs = ['feed', 'wiki', 'logs', 'settings'];
2057
+ if (moreBtn) {
2058
+ moreBtn.classList.toggle('mama-nav-active', overflowTabs.includes(tabName));
2059
+ }
2076
2060
 
2077
2061
  // Legacy: update any remaining [data-tab] buttons outside sidebar/mobile
2078
2062
  document.querySelectorAll('[data-tab]').forEach((btn) => {
@@ -3049,8 +3033,8 @@ export MAMA_AUTH_TOKEN="your-secure-token-here"</pre
3049
3033
  initTheme();
3050
3034
  // Initialize floating chat panel bindings (session init is lazy, on first open)
3051
3035
  chat.initFloating();
3052
- // Default to dashboard tab
3053
- switchTab('dashboard');
3036
+ // Default to feed tab
3037
+ switchTab('feed');
3054
3038
  });
3055
3039
 
3056
3040
  // Listen for postMessage from skill deployment
@@ -3124,7 +3108,7 @@ Be friendly and concise.`,
3124
3108
  };
3125
3109
 
3126
3110
  window.askContextHelp = function () {
3127
- const currentTab = STATE.currentTab || 'dashboard';
3111
+ const currentTab = STATE.currentTab || 'feed';
3128
3112
  const prompt = TAB_HELP_PROMPTS[currentTab];
3129
3113
  if (!prompt) return;
3130
3114