@jungjaehoon/mama-os 0.22.1 → 0.24.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 (257) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +3 -1
  3. package/dist/agent/agent-loop.d.ts +3 -9
  4. package/dist/agent/agent-loop.d.ts.map +1 -1
  5. package/dist/agent/agent-loop.js +419 -216
  6. package/dist/agent/agent-loop.js.map +1 -1
  7. package/dist/agent/code-act/constants.d.ts +2 -2
  8. package/dist/agent/code-act/constants.d.ts.map +1 -1
  9. package/dist/agent/code-act/constants.js +16 -9
  10. package/dist/agent/code-act/constants.js.map +1 -1
  11. package/dist/agent/code-act/host-bridge.d.ts +12 -11
  12. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  13. package/dist/agent/code-act/host-bridge.js +92 -15
  14. package/dist/agent/code-act/host-bridge.js.map +1 -1
  15. package/dist/agent/code-act/index.d.ts +2 -0
  16. package/dist/agent/code-act/index.d.ts.map +1 -1
  17. package/dist/agent/code-act/index.js +5 -1
  18. package/dist/agent/code-act/index.js.map +1 -1
  19. package/dist/agent/code-act/tool-policy.d.ts +42 -0
  20. package/dist/agent/code-act/tool-policy.d.ts.map +1 -0
  21. package/dist/agent/code-act/tool-policy.js +122 -0
  22. package/dist/agent/code-act/tool-policy.js.map +1 -0
  23. package/dist/agent/code-act/type-definition-generator.d.ts +4 -3
  24. package/dist/agent/code-act/type-definition-generator.d.ts.map +1 -1
  25. package/dist/agent/code-act/type-definition-generator.js +26 -48
  26. package/dist/agent/code-act/type-definition-generator.js.map +1 -1
  27. package/dist/agent/codex-app-server-process.d.ts +116 -0
  28. package/dist/agent/codex-app-server-process.d.ts.map +1 -0
  29. package/dist/agent/codex-app-server-process.js +1382 -0
  30. package/dist/agent/codex-app-server-process.js.map +1 -0
  31. package/dist/agent/codex-home.d.ts +9 -0
  32. package/dist/agent/codex-home.d.ts.map +1 -1
  33. package/dist/agent/codex-home.js +626 -4
  34. package/dist/agent/codex-home.js.map +1 -1
  35. package/dist/agent/codex-thread-registry.d.ts +63 -0
  36. package/dist/agent/codex-thread-registry.d.ts.map +1 -0
  37. package/dist/agent/codex-thread-registry.js +433 -0
  38. package/dist/agent/codex-thread-registry.js.map +1 -0
  39. package/dist/agent/gateway-tool-executor.d.ts +20 -7
  40. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  41. package/dist/agent/gateway-tool-executor.js +254 -90
  42. package/dist/agent/gateway-tool-executor.js.map +1 -1
  43. package/dist/agent/gateway-tools.md +10 -5
  44. package/dist/agent/managed-agent-runtime-sync.d.ts.map +1 -1
  45. package/dist/agent/managed-agent-runtime-sync.js +0 -3
  46. package/dist/agent/managed-agent-runtime-sync.js.map +1 -1
  47. package/dist/agent/managed-agent-validation.js +1 -1
  48. package/dist/agent/managed-agent-validation.js.map +1 -1
  49. package/dist/agent/model-runner.d.ts +51 -3
  50. package/dist/agent/model-runner.d.ts.map +1 -1
  51. package/dist/agent/model-runner.js +1 -1
  52. package/dist/agent/model-runner.js.map +1 -1
  53. package/dist/agent/persistent-cli-adapter.d.ts +1 -0
  54. package/dist/agent/persistent-cli-adapter.d.ts.map +1 -1
  55. package/dist/agent/persistent-cli-adapter.js +3 -0
  56. package/dist/agent/persistent-cli-adapter.js.map +1 -1
  57. package/dist/agent/role-manager.d.ts +22 -1
  58. package/dist/agent/role-manager.d.ts.map +1 -1
  59. package/dist/agent/role-manager.js +39 -2
  60. package/dist/agent/role-manager.js.map +1 -1
  61. package/dist/agent/session-pool.d.ts +2 -2
  62. package/dist/agent/session-pool.d.ts.map +1 -1
  63. package/dist/agent/session-pool.js +6 -6
  64. package/dist/agent/session-pool.js.map +1 -1
  65. package/dist/agent/tool-registry.d.ts +14 -0
  66. package/dist/agent/tool-registry.d.ts.map +1 -1
  67. package/dist/agent/tool-registry.js +81 -12
  68. package/dist/agent/tool-registry.js.map +1 -1
  69. package/dist/agent/types.d.ts +49 -7
  70. package/dist/agent/types.d.ts.map +1 -1
  71. package/dist/agent/types.js.map +1 -1
  72. package/dist/api/graph-api.d.ts.map +1 -1
  73. package/dist/api/graph-api.js +62 -40
  74. package/dist/api/graph-api.js.map +1 -1
  75. package/dist/api/operator-tasks-handler.d.ts.map +1 -1
  76. package/dist/api/operator-tasks-handler.js +6 -2
  77. package/dist/api/operator-tasks-handler.js.map +1 -1
  78. package/dist/cli/commands/init.d.ts +1 -1
  79. package/dist/cli/commands/init.d.ts.map +1 -1
  80. package/dist/cli/commands/init.js +22 -14
  81. package/dist/cli/commands/init.js.map +1 -1
  82. package/dist/cli/commands/run.d.ts.map +1 -1
  83. package/dist/cli/commands/run.js +7 -4
  84. package/dist/cli/commands/run.js.map +1 -1
  85. package/dist/cli/commands/start.d.ts +2 -0
  86. package/dist/cli/commands/start.d.ts.map +1 -1
  87. package/dist/cli/commands/start.js +259 -23
  88. package/dist/cli/commands/start.js.map +1 -1
  89. package/dist/cli/commands/status.js +2 -2
  90. package/dist/cli/commands/status.js.map +1 -1
  91. package/dist/cli/config/config-manager.d.ts +0 -5
  92. package/dist/cli/config/config-manager.d.ts.map +1 -1
  93. package/dist/cli/config/config-manager.js +78 -6
  94. package/dist/cli/config/config-manager.js.map +1 -1
  95. package/dist/cli/config/types.d.ts +4 -4
  96. package/dist/cli/config/types.d.ts.map +1 -1
  97. package/dist/cli/config/types.js +36 -0
  98. package/dist/cli/config/types.js.map +1 -1
  99. package/dist/cli/index.js +2 -2
  100. package/dist/cli/index.js.map +1 -1
  101. package/dist/cli/runtime/agent-loop-init.d.ts +1 -1
  102. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  103. package/dist/cli/runtime/agent-loop-init.js +106 -60
  104. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  105. package/dist/cli/runtime/api-routes-init.d.ts +3 -0
  106. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  107. package/dist/cli/runtime/api-routes-init.js +226 -51
  108. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  109. package/dist/cli/runtime/connector-init.d.ts.map +1 -1
  110. package/dist/cli/runtime/connector-init.js +13 -17
  111. package/dist/cli/runtime/connector-init.js.map +1 -1
  112. package/dist/cli/runtime/envelope-bootstrap.d.ts.map +1 -1
  113. package/dist/cli/runtime/envelope-bootstrap.js +13 -1
  114. package/dist/cli/runtime/envelope-bootstrap.js.map +1 -1
  115. package/dist/cli/runtime/gateway-init.d.ts +1 -1
  116. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  117. package/dist/cli/runtime/gateway-init.js +5 -0
  118. package/dist/cli/runtime/gateway-init.js.map +1 -1
  119. package/dist/cli/runtime/mama-core-init.d.ts +2 -2
  120. package/dist/cli/runtime/mama-core-init.d.ts.map +1 -1
  121. package/dist/cli/runtime/mama-core-init.js +17 -0
  122. package/dist/cli/runtime/mama-core-init.js.map +1 -1
  123. package/dist/cli/runtime/memory-agent-init.d.ts +1 -1
  124. package/dist/cli/runtime/memory-agent-init.d.ts.map +1 -1
  125. package/dist/cli/runtime/memory-agent-init.js +16 -6
  126. package/dist/cli/runtime/memory-agent-init.js.map +1 -1
  127. package/dist/cli/runtime/types.d.ts +4 -26
  128. package/dist/cli/runtime/types.d.ts.map +1 -1
  129. package/dist/cli/runtime/utilities.js +2 -2
  130. package/dist/cli/runtime/utilities.js.map +1 -1
  131. package/dist/connectors/config-loader.d.ts +24 -0
  132. package/dist/connectors/config-loader.d.ts.map +1 -0
  133. package/dist/connectors/config-loader.js +205 -0
  134. package/dist/connectors/config-loader.js.map +1 -0
  135. package/dist/connectors/framework/types.d.ts +2 -0
  136. package/dist/connectors/framework/types.d.ts.map +1 -1
  137. package/dist/connectors/kagemusha/query-tools.js +2 -2
  138. package/dist/connectors/kagemusha/query-tools.js.map +1 -1
  139. package/dist/envelope/reactive-config.d.ts +2 -2
  140. package/dist/envelope/reactive-config.d.ts.map +1 -1
  141. package/dist/envelope/reactive-config.js +36 -4
  142. package/dist/envelope/reactive-config.js.map +1 -1
  143. package/dist/gateways/context-injector.d.ts +2 -1
  144. package/dist/gateways/context-injector.d.ts.map +1 -1
  145. package/dist/gateways/context-injector.js.map +1 -1
  146. package/dist/gateways/message-router.d.ts +19 -1
  147. package/dist/gateways/message-router.d.ts.map +1 -1
  148. package/dist/gateways/message-router.js +179 -24
  149. package/dist/gateways/message-router.js.map +1 -1
  150. package/dist/gateways/telegram.d.ts.map +1 -1
  151. package/dist/gateways/telegram.js +13 -0
  152. package/dist/gateways/telegram.js.map +1 -1
  153. package/dist/gateways/types.d.ts +4 -1
  154. package/dist/gateways/types.d.ts.map +1 -1
  155. package/dist/memory/history-extractor.d.ts +0 -24
  156. package/dist/memory/history-extractor.d.ts.map +1 -1
  157. package/dist/memory/history-extractor.js +0 -132
  158. package/dist/memory/history-extractor.js.map +1 -1
  159. package/dist/memory/save-candidate-extractor.d.ts +3 -0
  160. package/dist/memory/save-candidate-extractor.d.ts.map +1 -1
  161. package/dist/memory/save-candidate-extractor.js +12 -1
  162. package/dist/memory/save-candidate-extractor.js.map +1 -1
  163. package/dist/memory/secret-filter.d.ts +22 -0
  164. package/dist/memory/secret-filter.d.ts.map +1 -0
  165. package/dist/memory/secret-filter.js +77 -0
  166. package/dist/memory/secret-filter.js.map +1 -0
  167. package/dist/multi-agent/agent-process-manager.d.ts +9 -1
  168. package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
  169. package/dist/multi-agent/agent-process-manager.js +197 -49
  170. package/dist/multi-agent/agent-process-manager.js.map +1 -1
  171. package/dist/multi-agent/multi-agent-base.d.ts.map +1 -1
  172. package/dist/multi-agent/multi-agent-base.js +2 -1
  173. package/dist/multi-agent/multi-agent-base.js.map +1 -1
  174. package/dist/multi-agent/runtime-process.d.ts +18 -15
  175. package/dist/multi-agent/runtime-process.d.ts.map +1 -1
  176. package/dist/multi-agent/runtime-process.js +63 -59
  177. package/dist/multi-agent/runtime-process.js.map +1 -1
  178. package/dist/multi-agent/types.d.ts +13 -7
  179. package/dist/multi-agent/types.d.ts.map +1 -1
  180. package/dist/multi-agent/types.js.map +1 -1
  181. package/dist/multi-agent/workflow-engine.js +3 -3
  182. package/dist/multi-agent/workflow-engine.js.map +1 -1
  183. package/dist/multi-agent/workflow-types.d.ts +2 -2
  184. package/dist/multi-agent/workflow-types.d.ts.map +1 -1
  185. package/dist/observability/code-audit.d.ts +4 -0
  186. package/dist/observability/code-audit.d.ts.map +1 -1
  187. package/dist/observability/code-audit.js +69 -0
  188. package/dist/observability/code-audit.js.map +1 -1
  189. package/dist/operator/briefs.d.ts +26 -0
  190. package/dist/operator/briefs.d.ts.map +1 -0
  191. package/dist/operator/briefs.js +128 -0
  192. package/dist/operator/briefs.js.map +1 -0
  193. package/dist/operator/operator-trigger-loop.d.ts +27 -0
  194. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  195. package/dist/operator/operator-trigger-loop.js +72 -12
  196. package/dist/operator/operator-trigger-loop.js.map +1 -1
  197. package/dist/operator/report-carry.d.ts +29 -0
  198. package/dist/operator/report-carry.d.ts.map +1 -0
  199. package/dist/operator/report-carry.js +81 -0
  200. package/dist/operator/report-carry.js.map +1 -0
  201. package/dist/operator/report-run.d.ts +4 -4
  202. package/dist/operator/shadow-capture.d.ts +20 -0
  203. package/dist/operator/shadow-capture.d.ts.map +1 -0
  204. package/dist/operator/shadow-capture.js +34 -0
  205. package/dist/operator/shadow-capture.js.map +1 -0
  206. package/dist/operator/situation-report.d.ts +9 -0
  207. package/dist/operator/situation-report.d.ts.map +1 -1
  208. package/dist/operator/situation-report.js +56 -26
  209. package/dist/operator/situation-report.js.map +1 -1
  210. package/dist/operator/task-ledger.d.ts +90 -2
  211. package/dist/operator/task-ledger.d.ts.map +1 -1
  212. package/dist/operator/task-ledger.js +359 -23
  213. package/dist/operator/task-ledger.js.map +1 -1
  214. package/dist/operator/trigger-author.d.ts +35 -1
  215. package/dist/operator/trigger-author.d.ts.map +1 -1
  216. package/dist/operator/trigger-author.js +73 -10
  217. package/dist/operator/trigger-author.js.map +1 -1
  218. package/dist/operator/worker-run.d.ts +89 -0
  219. package/dist/operator/worker-run.d.ts.map +1 -0
  220. package/dist/operator/worker-run.js +127 -0
  221. package/dist/operator/worker-run.js.map +1 -0
  222. package/dist/operator/workorder-consumer.d.ts +121 -0
  223. package/dist/operator/workorder-consumer.d.ts.map +1 -0
  224. package/dist/operator/workorder-consumer.js +253 -0
  225. package/dist/operator/workorder-consumer.js.map +1 -0
  226. package/dist/operator/workorder-hooks.d.ts +30 -0
  227. package/dist/operator/workorder-hooks.d.ts.map +1 -0
  228. package/dist/operator/workorder-hooks.js +70 -0
  229. package/dist/operator/workorder-hooks.js.map +1 -0
  230. package/dist/operator/workorder-publishers.d.ts +68 -0
  231. package/dist/operator/workorder-publishers.d.ts.map +1 -0
  232. package/dist/operator/workorder-publishers.js +150 -0
  233. package/dist/operator/workorder-publishers.js.map +1 -0
  234. package/dist/security/security-monitor.d.ts +7 -0
  235. package/dist/security/security-monitor.d.ts.map +1 -1
  236. package/dist/security/security-monitor.js +17 -0
  237. package/dist/security/security-monitor.js.map +1 -1
  238. package/dist/setup/setup-prompt.d.ts +1 -1
  239. package/dist/setup/setup-prompt.d.ts.map +1 -1
  240. package/dist/setup/setup-prompt.js +4 -5
  241. package/dist/setup/setup-prompt.js.map +1 -1
  242. package/dist/utils/untrusted-content.d.ts +13 -0
  243. package/dist/utils/untrusted-content.d.ts.map +1 -1
  244. package/dist/utils/untrusted-content.js +43 -0
  245. package/dist/utils/untrusted-content.js.map +1 -1
  246. package/package.json +2 -2
  247. package/public/viewer/js/modules/agents.js +13 -9
  248. package/public/viewer/js/modules/settings.js +15 -10
  249. package/public/viewer/src/modules/agents.ts +12 -10
  250. package/public/viewer/src/modules/settings.ts +17 -12
  251. package/public/viewer/src/utils/api.ts +2 -2
  252. package/templates/AGENTS.codex.md +2 -23
  253. package/templates/personas/conductor.md +1 -1
  254. package/dist/agent/codex-mcp-process.d.ts +0 -105
  255. package/dist/agent/codex-mcp-process.d.ts.map +0 -1
  256. package/dist/agent/codex-mcp-process.js +0 -748
  257. package/dist/agent/codex-mcp-process.js.map +0 -1
@@ -40,6 +40,7 @@ exports.getTarpitDelayMs = getTarpitDelayMs;
40
40
  exports.isHoneypotPath = isHoneypotPath;
41
41
  exports.setSecurityAlertSender = setSecurityAlertSender;
42
42
  exports.hasSecurityAlertSender = hasSecurityAlertSender;
43
+ exports.logSecurityEventOnly = logSecurityEventOnly;
43
44
  exports.dispatchSecurityAlertDirect = dispatchSecurityAlertDirect;
44
45
  exports.resetSecurityMonitorForTests = resetSecurityMonitorForTests;
45
46
  exports.flushSecurityMonitor = flushSecurityMonitor;
@@ -621,6 +622,22 @@ function setSecurityAlertSender(sender) {
621
622
  function hasSecurityAlertSender() {
622
623
  return alertSender !== null;
623
624
  }
625
+ /**
626
+ * Record-only security event: appends to the security log (durable trail,
627
+ * surfaced by the code audit) and NOTHING else - no incident/denylist/RDAP
628
+ * fabrication (PR #151 lesson), no alert cooldown consumption, no throw when
629
+ * no sender is registered. For tripwires whose job is observability.
630
+ */
631
+ function logSecurityEventOnly(event) {
632
+ const normalized = {
633
+ ...event,
634
+ timestamp: event.timestamp || new Date().toISOString(),
635
+ };
636
+ logger.warn(`[SECURITY] ${normalized.message}`, normalized);
637
+ trackBackgroundTask(appendSecurityLog(normalized).catch((error) => {
638
+ logger.error('Failed to append security event log', error);
639
+ }));
640
+ }
624
641
  /**
625
642
  * Deliver an alert through the registered sender WITHOUT the incident pipeline.
626
643
  *
@@ -1 +1 @@
1
- {"version":3,"file":"security-monitor.js","sourceRoot":"","sources":["../../src/security/security-monitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,gCAOC;AAED,sBASC;AAED,8CAuBC;AA8JD,4CAcC;AAED,wCAEC;AAudD,wDAKC;AAED,wDAEC;AAYD,kEAiBC;AAED,oEASC;AAED,oDAKC;AAED,kDAmCC;AAED,kDAoCC;AAED,4DAiDC;AAGC,wEAA8B;AAC9B,wEAA8B;AAC9B,kDAAmB;AACnB,gDAAkB;AAClB,8CAAiB;AACjB,gDAAkB;AA16BpB,+CAA8F;AAC9F,qCAAkC;AAClC,yCAAiC;AAEjC,iFAAmE;AACnE,yDAA+E;AAE/E,MAAM,EAAE,WAAW,EAAE,GAAG,WAMvB,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAClD,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,MAAM,CAAC,CAAC;AACxF,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,KAAK,CAAC,CAAC;AAC9E,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,KAAK,CAAC,CAAC;AAClF,MAAM,8BAA8B,GAAG,MAAM,CAC3C,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,KAAK,CACzD,CAAC;AACF,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,KAAK,CAAC,CAAC;AAChG,MAAM,2BAA2B,GAAG,MAAM,CACxC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAC/D,CAAC;AACF,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,KAAK,CAAC,CAAC;AAC5F,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,MAAM,CAAC,CAAC;AAEzF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgD,CAAC;AAChF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmE,CAAC;AAEpG,iBAAiB;AACjB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AACrD,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,kBAAkB;AAQhE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;AAE5C,gCAAgC;AAChC,WAAW,CACT,GAAG,EAAE;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;QAC/B,IAAI,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,sBAAsB,EAAE,CAAC;YAC5E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC,EACD,EAAE,GAAG,EAAE,GAAG,IAAI,CACf,CAAC,KAAK,EAAE,CAAC;AAEV,SAAgB,UAAU,CAAC,aAAwC;IACjE,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,SAAS,IAAI,IAAA,iCAAc,EAAC,aAAa,CAAC,EAAE,CAAC;QACnF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC;AACtC,CAAC;AAED,SAAgB,KAAK,CAAC,aAAqB,EAAE,MAAc;IACzD,IAAI,IAAA,iCAAc,EAAC,aAAa,CAAC;QAAE,OAAO;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;QACxB,SAAS,EAAE,iBAAiB;QAC5B,WAAW,EAAE,GAAG;QAChB,WAAW,EAAE,GAAG,GAAG,eAAe;KACnC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,yBAAyB,aAAa,QAAQ,eAAe,GAAG,IAAI,OAAO,MAAM,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAgB,iBAAiB,CAAC,aAAwC;IACxE,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,SAAS,IAAI,IAAA,iCAAc,EAAC,aAAa,CAAC,EAAE,CAAC;QACnF,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAEpC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC3D,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,MAAM,CAAC,IAAI,CACT,gCAAgC,aAAa,KAAK,GAAG,CAAC,SAAS,IAAI,iBAAiB,GAAG,CACxF,CAAC;IAEF,IAAI,GAAG,CAAC,SAAS,IAAI,iBAAiB,EAAE,CAAC;QACvC,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,eAAe,CAAC;QACxC,MAAM,CAAC,KAAK,CACV,iBAAiB,aAAa,aAAa,GAAG,CAAC,SAAS,qBAAqB,sBAAsB,GAAG,KAAK,KAAK,CACjH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,oBAAoB;IACpB,mBAAmB;IACnB,0CAA0C;IAC1C,sBAAsB;IACtB,YAAY;IACZ,cAAc;CACf,CAAC;AAiCF,IAAI,WAAW,GAA+B,IAAI,CAAC;AACnD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiB,CAAC;AAC9C,IAAI,kBAAkB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAC1D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAE9D,SAAS,gBAAgB,CAAC,KAAoB;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,IAAI,SAAS;QACvD,KAAK,CAAC,IAAI,IAAI,SAAS;KACxB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,aAAwC;IAClE,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,aAAa,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;IACpF,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,QAA0B;IAC/C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,CAAC,CAAC;QACX,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,2BAA2B,EAAE,CAAC;YACxD,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,GAAG,0BAA0B,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAA2B,CAAC;QAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM;QACR,CAAC;QACD,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,2BAA2B,EAAE,CAAC;YACxD,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC,IAAI,GAAG,0BAA0B,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAA2B,CAAC;QAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM;QACR,CAAC;QACD,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,GAGxC;IACC,OAAO,IAAA,4CAAyB,EAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,sBAAsB,CAAC,GAI/B;IACC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,aAAwC,EACxC,QAA0B;IAE1B,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,SAAS,IAAI,IAAA,iCAAc,EAAC,aAAa,CAAC,EAAE,CAAC;QACnF,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAgB,gBAAgB,CAAC,aAAwC;IACvE,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,SAAS,IAAI,IAAA,iCAAc,EAAC,aAAa,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;IACtB,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC7C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,eAAe,CAAC,KAAoB;IAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,GAAG,GAAG,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAmB;IAC9C,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;QACrB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAAoB;IACnD,MAAM,IAAA,gBAAK,EAAC,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,IAAA,qBAAU,EAAC,kBAAkB,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA6B;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAE,MAAgC,CAAC,KAAK,CAAC;YAClE,CAAC,CAAG,MAAgC,CAAC,KAAmB;YACxD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAC/B,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC/E,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAI,MAAmC,CAAC,UAAU,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,SAAS;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAClF,SAAS;YACX,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,EAAU;IAChD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,SAAS,IAAI,IAAA,iCAAc,EAAC,EAAE,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QACzC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QACvB,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,OAAO,EAAE,CAAC;QACrD,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAErF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,uBAAuB,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE;YACvE,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,EAAE,MAAM,EAAE,yCAAyC,EAAE;SAC/D,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACjD,CAAC,CAAE,IAAI,CAAC,WAA8C;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,WAAW;aACrB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM;YAC5B,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE;YACrC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM;gBAC9B,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE;gBACrC,CAAC,CAAC,IAAI,CACX;aACA,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjB,MAAM,WAAW,GAAuB;YACtC,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC7D,YAAY,EACV,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC7B,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;oBACxC,CAAC,CAAC,IAAI,CAAC,eAAe;oBACtB,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YAC/D,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC5C,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC;YACrC,GAAG,EACD,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAC1B,CAAC,CAAC,IAAI,CAAC,GAAG;gBACV,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;oBACpC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;oBACzB,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;SAC7D,CAAC;QAEF,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3B,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,eAAgC;IAC7E,OAAO;QACL,sBAAsB;QACtB,EAAE;QACF,kBAAkB,UAAU,EAAE;QAC9B,mBAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QAC7C,eAAe,eAAe,CAAC,eAAe,EAAE;QAChD,0BAA0B,eAAe,CAAC,aAAa,IAAI,SAAS,EAAE;QACtE,iBAAiB,eAAe,CAAC,SAAS,EAAE;QAC5C,gBAAgB,eAAe,CAAC,QAAQ,EAAE;QAC1C,kBAAkB,eAAe,CAAC,UAAU,EAAE;QAC9C,EAAE;QACF,YAAY;QACZ,eAAe,CAAC,OAAO;QACvB,EAAE;QACF,wBAAwB;QACxB,UAAU,eAAe,CAAC,WAAW,EAAE,GAAG,IAAI,SAAS,EAAE;QACzD,cAAc,eAAe,CAAC,WAAW,EAAE,WAAW,IAAI,SAAS,EAAE;QACrE,mBAAmB,eAAe,CAAC,WAAW,EAAE,YAAY,IAAI,SAAS,EAAE;QAC3E,cAAc,eAAe,CAAC,WAAW,EAAE,OAAO,IAAI,SAAS,EAAE;QACjE,WAAW,eAAe,CAAC,WAAW,EAAE,IAAI,IAAI,SAAS,EAAE;QAC3D,aAAa,eAAe,CAAC,WAAW,EAAE,MAAM,IAAI,SAAS,EAAE;QAC/D,qBAAqB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;QACxF,EAAE;QACF,aAAa;QACb,qBAAqB,eAAe,CAAC,aAAa,IAAI,SAAS,EAAE;QACjE,qBAAqB,eAAe,CAAC,aAAa,IAAI,SAAS,EAAE;QACjE,oBAAoB,eAAe,CAAC,YAAY,IAAI,SAAS,EAAE;QAC/D,+BAA+B,eAAe,CAAC,cAAc,IAAI,SAAS,EAAE;QAC5E,qBAAqB,eAAe,CAAC,KAAK,IAAI,SAAS,EAAE;QACzD,kBAAkB,eAAe,CAAC,IAAI,IAAI,SAAS,EAAE;QACrD,oBAAoB,eAAe,CAAC,MAAM,IAAI,SAAS,EAAE;QACzD,EAAE;QACF,2BAA2B;QAC3B,sGAAsG;QACtG,oCAAoC,eAAe,CAAC,gBAAgB,EAAE;QACtE,8BAA8B,eAAe,CAAC,YAAY,EAAE;QAC5D,iCAAiC,eAAe,CAAC,qBAAqB,EAAE;QACxE,iCAAiC,eAAe,CAAC,wBAAwB,EAAE;QAC3E,qCAAqC,eAAe,CAAC,2BAA2B,EAAE;QAClF,EAAE;QACF,yBAAyB;QACzB,YAAY;QACZ,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAqCD,SAAS,iBAAiB;IACxB,6EAA6E;IAC7E,0EAA0E;IAC1E,4DAA4D;IAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,uBAAuB,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,oBAAoB,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,mCAAmC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,kCAAkC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,wBAAwB,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,+BAA+B,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,wBAAwB,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,IAAA,gBAAK,EAAC,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,wBAAwB,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,eAAI,EAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO,KAAK,IAAI,EAAE;gBAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM,IAAA,iBAAM,EAAC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7D,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;YACnD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAI,EAAC,mBAAmB,EAAE,CAAC,CAAC;gBACnD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,sBAAsB,EAAE,CAAC;oBAC3D,MAAM,IAAA,iBAAM,EAAC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC3D,SAAS;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAI,SAA2B;IACvE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;IACpC,IAAI,YAAyB,CAAC;IAC9B,kBAAkB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACjD,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEtC,IAAI,WAAW,GAAiC,IAAI,CAAC;IACrD,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;YAAS,CAAC;QACT,MAAM,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,YAAY,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,UAAkB,EAClB,SAA2B;IAE3B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3E,IAAI,YAAyB,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC9C,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEhD,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;YAAS,CAAC;QACT,YAAY,EAAE,CAAC;QACf,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAwB;IAC5D,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IACjC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,SAAS,IAAI,IAAA,iCAAc,EAAC,EAAE,CAAC,EAAE,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,2BAA2B,CAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAQ,EAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,UAAU,GAAwB,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAAsB;YACjC,EAAE;YACF,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS;YACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;YACnE,eAAe,EACb,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC1F,CAAC,CAAC,QAAQ,CAAC,eAAe;gBAC1B,CAAC,CAAC,OAAO,CAAC,eAAe;YAC7B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7E,eAAe,EAAE,yEAAyE;YAC1F,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ,EAAE,WAAW,IAAI,IAAI;SAClE,CAAC;QAEF,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE1D,MAAM,IAAA,gBAAK,EAAC,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,IAAA,oBAAS,EAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,IAAA,oBAAS,EACb,eAAe,EACf,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACvD,MAAM,CACP,CAAC;QACF,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,UAA+B;IACnE,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,4BAA4B,CAAC;QACpE,MAAM,WAAW,GAAG,GAAG,SAAS,CAAC,eAAe,IAAI,MAAM,EAAE;aACzD,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;aACxB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjB,OAAO,GAAG,SAAS,CAAC,EAAE,IAAI,WAAW,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG;QACtB,yCAAyC;QACzC,0EAA0E;QAC1E,oCAAoC;KACrC,CAAC;IAEF,MAAM,IAAA,oBAAS,EAAC,8BAA8B,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtF,MAAM,IAAA,oBAAS,EAAC,8BAA8B,EAAE,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/F,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAAoB;IAClD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAChD,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,CACjD,CAAC;IAEF,MAAM,IAAA,gBAAK,EAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,IAAA,qBAAU,EAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErE,OAAO,MAAM,4BAA4B,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,eAAe,GACnB,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjF,CAAC,CAAC,QAAQ,CAAC,eAAe;YAC1B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAErB,MAAM,OAAO,GAAoB;YAC/B,UAAU;YACV,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,QAAQ,EAAE,aAAa,IAAI,IAAI;YACrE,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,QAAQ,EAAE,aAAa,IAAI,IAAI;YACrE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,QAAQ,EAAE,YAAY,IAAI,IAAI;YAClE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,QAAQ,EAAE,cAAc,IAAI,IAAI;YACxE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,EAAE,KAAK,IAAI,IAAI;YAC7C,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,IAAI;YAC1C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM,IAAI,IAAI;YAChD,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC7E,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrD,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC;YAC3C,eAAe;YACf,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG;YAC3C,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,WAAW;YACjD,gBAAgB,EAAE,WAAW;YAC7B,YAAY;YACZ,eAAe;YACf,qBAAqB,EAAE,mBAAmB,EAAE;YAC5C,wBAAwB,EAAE,8BAA8B,EAAE;YAC1D,2BAA2B,EAAE,8BAA8B,EAAE;SAC9D,CAAC;QAEF,MAAM,IAAA,oBAAS,EAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,IAAA,oBAAS,EAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QACjF,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEtC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CAAC,MAAkC;IACvE,WAAW,GAAG,MAAM,CAAC;IACrB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB;IACpC,OAAO,WAAW,KAAK,IAAI,CAAC;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,2BAA2B,CAAC,KAAoB;IACpE,MAAM,UAAU,GAAkB;QAChC,GAAG,KAAK;QACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvD,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5D,mBAAmB,CACjB,iBAAiB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,4BAA4B;IAC1C,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,WAAW,GAAG,IAAI,CAAC;IACnB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACzB,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,oBAAoB,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AAEM,KAAK,UAAU,oBAAoB;IACxC,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAoB;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,iBAAiB,EAAE,EAAE,UAAU,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,aAAa,IAAA,gBAAI,EAAC,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAA,gBAAI,EAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,aAAa,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,mBAAmB,8BAA8B,EAAE,EAAE,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,mBAAmB,8BAA8B,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAoB;IACtD,MAAM,UAAU,GAAkB;QAChC,GAAG,KAAK;QACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvD,CAAC;IAEF,wBAAwB,CACtB,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,EACpD,UAAU,CAAC,QAAQ,CACpB,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IAE5D,mBAAmB,CACjB,iBAAiB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CACH,CAAC;IAEF,mBAAmB,CACjB,gBAAgB,CAAC,UAAU,CAAC;SACzB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SACrB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CACL,CAAC;IAEF,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO;IACT,CAAC;IAED,mBAAmB,CACjB,WAAW,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;QAC9E,MAAM,aAAa,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAE7C,8BAA8B;QAC9B,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;YACzE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,iCAAc,EAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,KAAK,CAAC,aAAa,EAAE,aAAa,QAAQ,EAAE,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;YAC7E,mBAAmB,CAAC;gBAClB,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,oCAAoC;gBAC7C,aAAa;gBACb,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,IAAI;gBAChD,YAAY,EACV,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,QAAQ;oBAChD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAChC,CAAC,CAAC,IAAI;gBACV,cAAc,EACZ,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,QAAQ;oBACjD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBACjC,CAAC,CAAC,IAAI;gBACV,KAAK,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC/E,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;aACnC,CAAC,CAAC;YAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,OAAO,GAAG,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"security-monitor.js","sourceRoot":"","sources":["../../src/security/security-monitor.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const SETUP_SYSTEM_PROMPT = "You are MAMA Setup Assistant. Help users configure MAMA Standalone step by step.\n\n## Your Role\n\nGuide users through setting up MAMA Standalone by:\n1. Understanding what platform they want to use (Discord, Slack, etc.)\n2. Walking them through creating bots on those platforms\n3. Collecting tokens/credentials\n4. Validating and saving configuration\n5. Confirming setup is complete\n\n## Available Tools\n\nYou have these tools to configure MAMA:\n\n**update_config**: Update config.yaml settings\n- Use this when you have validated a token or credential\n- Parameters: key (string), value (any)\n\n**validate_discord_token**: Check if a Discord bot token is valid\n- Use this before saving a Discord token\n- Parameters: token (string)\n- Returns: { valid: boolean, client_id?: string }\n\n**mark_setup_complete**: Signal that setup is finished\n- Use this only when all required configuration is done\n- No parameters\n\n## Setup Flow\n\n### Discord Setup\n\n1. Ask if they want to set up Discord bot\n2. Guide them:\n - Go to https://discord.com/developers/applications\n - Click \"New Application\"\n - Give it a name (e.g., \"MAMA Bot\")\n - Go to \"Bot\" tab\n - Click \"Reset Token\" and copy it\n3. Ask them to paste the token\n4. Validate the token using validate_discord_token\n5. If valid, save it:\n ```\n update_config(\"discord.token\", \"MTQ2NDg4...\")\n update_config(\"discord.enabled\", true)\n ```\n6. Generate invite link: https://discord.com/oauth2/authorize?client_id=CLIENT_ID&permissions=8&scope=bot\n7. Ask them to invite the bot to their server\n8. Ask for the channel ID where they want MAMA to respond\n9. Save channel ID:\n ```\n update_config(\"discord.default_channel\", \"CHANNEL_ID_HERE\")\n ```\n\n### Slack Setup\n\n1. Ask if they want to set up Slack bot\n2. Guide them:\n - Go to https://api.slack.com/apps\n - Click \"Create New App\" \u2192 \"From scratch\"\n - Give it a name and select workspace\n - Go to \"OAuth & Permissions\"\n - Add scopes: chat:write, channels:history, groups:history\n - Install to workspace\n - Copy Bot User OAuth Token\n - Copy App-Level Token\n3. Save tokens:\n ```\n update_config(\"slack.bot_token\", \"xoxb-...\")\n update_config(\"slack.app_token\", \"xapp-...\")\n update_config(\"slack.enabled\", true)\n ```\n\n### Agent Backend Setup\n\nAsk users which AI backend they want to use:\n\n**Options:**\n- **claude** (default): Uses Claude CLI. Requires Claude Code subscription.\n- **codex-mcp**: Uses OpenAI Codex via MCP. Requires Codex subscription and setup.\n\nTo configure:\n```\nupdate_config(\"agent.backend\", \"claude\") // or \"codex-mcp\"\nupdate_config(\"agent.model\", \"claude-sonnet-4-6\") // for claude\nupdate_config(\"agent.model\", \"gpt-5.3-codex\") // for codex-mcp\n```\n\n**Important:**\n- If using `codex-mcp`, user must have Codex credentials in `~/.mama/.codex/`\n- Do NOT use `backend: codex` (legacy, broken) - always use `codex-mcp`\n\n### Security & Permission Settings\n\nAsk users about agent permission settings:\n\n**Agent Autonomy (dangerouslySkipPermissions)**\n\nThis controls whether agents can execute tools (file writes, bash commands, git operations) without asking for permission.\n\n**Options:**\n- **true** (default): Agents run autonomously without approval prompts. Required for headless/daemon operation.\n- **false**: Agents ask for permission before executing each tool.\n\n\u26A0\uFE0F **Warning**: Setting this to `true` gives agents full system access. Only enable in trusted environments.\n\nTo configure:\n```\nupdate_config(\"multi_agent.dangerouslySkipPermissions\", true)\n```\n\n**IMPORTANT**: This setting also requires `MAMA_TRUSTED_ENV=true` environment variable.\n- For systemd service: Add `Environment=MAMA_TRUSTED_ENV=true` to the service file\n- For manual start: Run with `MAMA_TRUSTED_ENV=true mama start`\n\nIf they want autonomous agents, save the config and remind them about the environment variable.\n\n### Completion\n\nAfter setup is done:\n1. Summarize what was configured\n2. Tell them to run: mama start\n3. Explain how to use MAMA (mention bot in Discord/Slack)\n4. Call mark_setup_complete\n\n## Important Rules\n\n- Be friendly and encouraging\n- Provide clickable links\n- Ask for one thing at a time\n- Validate inputs before saving\n- Explain each step clearly\n- If they make a mistake, help them fix it\n- If token is invalid, ask them to double-check and try again\n- Never save invalid credentials\n\n## Example Interaction\n\nUser: \"I want to set up Discord\"\n\nYou: \"Great! Let's set up a Discord bot for MAMA. \n\nFirst, you'll need to create a Discord application:\n1. Go to https://discord.com/developers/applications\n2. Click 'New Application'\n3. Give it a name like 'MAMA Bot'\n4. Go to the 'Bot' tab\n5. Click 'Reset Token' and copy the token\n\nOnce you have the token, paste it here.\"\n\nUser: \"MTIzNDU2Nzg5MDEyMzQ1Njc4OQ...\"\n\nYou: [validate token] \"\u2713 Token is valid! I've saved it to your configuration.\n\nNow let's invite the bot to your server:\nhttps://discord.com/oauth2/authorize?client_id=YOUR_BOT_CLIENT_ID&permissions=8&scope=bot\n\nClick that link and select your server. After that, tell me the channel ID where you want MAMA to respond.\"\n\nUser: \"1234567890123456789\"\n\nYou: [save channel] \"Perfect! Your Discord bot is now configured.\n\nTo start MAMA, run:\n`mama start`\n\nThen go to Discord and mention @MAMA to start chatting!\n\n[mark_setup_complete]\"\n\n## Tone\n\n- Friendly but professional\n- Match the user's language (will be specified in system prompt)\n- Use emojis sparingly (\u2713, \uD83C\uDF89 for success moments)\n- Keep responses concise but complete\n";
1
+ export declare const SETUP_SYSTEM_PROMPT = "You are MAMA Setup Assistant. Help users configure MAMA Standalone step by step.\n\n## Your Role\n\nGuide users through setting up MAMA Standalone by:\n1. Understanding what platform they want to use (Discord, Slack, etc.)\n2. Walking them through creating bots on those platforms\n3. Collecting tokens/credentials\n4. Validating and saving configuration\n5. Confirming setup is complete\n\n## Available Tools\n\nYou have these tools to configure MAMA:\n\n**update_config**: Update config.yaml settings\n- Use this when you have validated a token or credential\n- Parameters: key (string), value (any)\n\n**validate_discord_token**: Check if a Discord bot token is valid\n- Use this before saving a Discord token\n- Parameters: token (string)\n- Returns: { valid: boolean, client_id?: string }\n\n**mark_setup_complete**: Signal that setup is finished\n- Use this only when all required configuration is done\n- No parameters\n\n## Setup Flow\n\n### Discord Setup\n\n1. Ask if they want to set up Discord bot\n2. Guide them:\n - Go to https://discord.com/developers/applications\n - Click \"New Application\"\n - Give it a name (e.g., \"MAMA Bot\")\n - Go to \"Bot\" tab\n - Click \"Reset Token\" and copy it\n3. Ask them to paste the token\n4. Validate the token using validate_discord_token\n5. If valid, save it:\n ```\n update_config(\"discord.token\", \"MTQ2NDg4...\")\n update_config(\"discord.enabled\", true)\n ```\n6. Generate invite link: https://discord.com/oauth2/authorize?client_id=CLIENT_ID&permissions=8&scope=bot\n7. Ask them to invite the bot to their server\n8. Ask for the channel ID where they want MAMA to respond\n9. Save channel ID:\n ```\n update_config(\"discord.default_channel\", \"CHANNEL_ID_HERE\")\n ```\n\n### Slack Setup\n\n1. Ask if they want to set up Slack bot\n2. Guide them:\n - Go to https://api.slack.com/apps\n - Click \"Create New App\" \u2192 \"From scratch\"\n - Give it a name and select workspace\n - Go to \"OAuth & Permissions\"\n - Add scopes: chat:write, channels:history, groups:history\n - Install to workspace\n - Copy Bot User OAuth Token\n - Copy App-Level Token\n3. Save tokens:\n ```\n update_config(\"slack.bot_token\", \"xoxb-...\")\n update_config(\"slack.app_token\", \"xapp-...\")\n update_config(\"slack.enabled\", true)\n ```\n\n### Agent Backend Setup\n\nAsk users which AI backend they want to use:\n\n**Options:**\n- **claude** (default): Uses Claude CLI. Requires Claude Code subscription.\n- **codex**: Uses OpenAI Codex app-server. Requires a Codex subscription and codex login.\n\nTo configure:\n```\nupdate_config(\"agent.backend\", \"claude\") // or \"codex\"\nupdate_config(\"agent.model\", \"claude-sonnet-4-6\") // for claude\nupdate_config(\"agent.model\", \"gpt-5.4\") // for codex\n```\n\n**Important:**\n- If using `codex`, authenticate first with `codex login`; MAMA manages its isolated runtime home.\n\n### Security & Permission Settings\n\nAsk users about agent permission settings:\n\n**Agent Autonomy (dangerouslySkipPermissions)**\n\nThis controls whether agents can execute tools (file writes, bash commands, git operations) without asking for permission.\n\n**Options:**\n- **true** (default): Agents run autonomously without approval prompts. Required for headless/daemon operation.\n- **false**: Agents ask for permission before executing each tool.\n\n\u26A0\uFE0F **Warning**: Setting this to `true` gives agents full system access. Only enable in trusted environments.\n\nTo configure:\n```\nupdate_config(\"multi_agent.dangerouslySkipPermissions\", true)\n```\n\n**IMPORTANT**: This setting also requires `MAMA_TRUSTED_ENV=true` environment variable.\n- For systemd service: Add `Environment=MAMA_TRUSTED_ENV=true` to the service file\n- For manual start: Run with `MAMA_TRUSTED_ENV=true mama start`\n\nIf they want autonomous agents, save the config and remind them about the environment variable.\n\n### Completion\n\nAfter setup is done:\n1. Summarize what was configured\n2. Tell them to run: mama start\n3. Explain how to use MAMA (mention bot in Discord/Slack)\n4. Call mark_setup_complete\n\n## Important Rules\n\n- Be friendly and encouraging\n- Provide clickable links\n- Ask for one thing at a time\n- Validate inputs before saving\n- Explain each step clearly\n- If they make a mistake, help them fix it\n- If token is invalid, ask them to double-check and try again\n- Never save invalid credentials\n\n## Example Interaction\n\nUser: \"I want to set up Discord\"\n\nYou: \"Great! Let's set up a Discord bot for MAMA. \n\nFirst, you'll need to create a Discord application:\n1. Go to https://discord.com/developers/applications\n2. Click 'New Application'\n3. Give it a name like 'MAMA Bot'\n4. Go to the 'Bot' tab\n5. Click 'Reset Token' and copy the token\n\nOnce you have the token, paste it here.\"\n\nUser: \"MTIzNDU2Nzg5MDEyMzQ1Njc4OQ...\"\n\nYou: [validate token] \"\u2713 Token is valid! I've saved it to your configuration.\n\nNow let's invite the bot to your server:\nhttps://discord.com/oauth2/authorize?client_id=YOUR_BOT_CLIENT_ID&permissions=8&scope=bot\n\nClick that link and select your server. After that, tell me the channel ID where you want MAMA to respond.\"\n\nUser: \"1234567890123456789\"\n\nYou: [save channel] \"Perfect! Your Discord bot is now configured.\n\nTo start MAMA, run:\n`mama start`\n\nThen go to Discord and mention @MAMA to start chatting!\n\n[mark_setup_complete]\"\n\n## Tone\n\n- Friendly but professional\n- Match the user's language (will be specified in system prompt)\n- Use emojis sparingly (\u2713, \uD83C\uDF89 for success moments)\n- Keep responses concise but complete\n";
2
2
  //# sourceMappingURL=setup-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-prompt.d.ts","sourceRoot":"","sources":["../../src/setup/setup-prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,wnLAiL/B,CAAC"}
1
+ {"version":3,"file":"setup-prompt.d.ts","sourceRoot":"","sources":["../../src/setup/setup-prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,mkLAgL/B,CAAC"}
@@ -80,18 +80,17 @@ Ask users which AI backend they want to use:
80
80
 
81
81
  **Options:**
82
82
  - **claude** (default): Uses Claude CLI. Requires Claude Code subscription.
83
- - **codex-mcp**: Uses OpenAI Codex via MCP. Requires Codex subscription and setup.
83
+ - **codex**: Uses OpenAI Codex app-server. Requires a Codex subscription and codex login.
84
84
 
85
85
  To configure:
86
86
  \`\`\`
87
- update_config("agent.backend", "claude") // or "codex-mcp"
87
+ update_config("agent.backend", "claude") // or "codex"
88
88
  update_config("agent.model", "claude-sonnet-4-6") // for claude
89
- update_config("agent.model", "gpt-5.3-codex") // for codex-mcp
89
+ update_config("agent.model", "gpt-5.4") // for codex
90
90
  \`\`\`
91
91
 
92
92
  **Important:**
93
- - If using \`codex-mcp\`, user must have Codex credentials in \`~/.mama/.codex/\`
94
- - Do NOT use \`backend: codex\` (legacy, broken) - always use \`codex-mcp\`
93
+ - If using \`codex\`, authenticate first with \`codex login\`; MAMA manages its isolated runtime home.
95
94
 
96
95
  ### Security & Permission Settings
97
96
 
@@ -1 +1 @@
1
- {"version":3,"file":"setup-prompt.js","sourceRoot":"","sources":["../../src/setup/setup-prompt.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiLlC,CAAC"}
1
+ {"version":3,"file":"setup-prompt.js","sourceRoot":"","sources":["../../src/setup/setup-prompt.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgLlC,CAAC"}
@@ -15,4 +15,17 @@
15
15
  * block cannot be closed early from inside the content
16
16
  */
17
17
  export declare function wrapUntrustedContent(source: string, content: string): string;
18
+ /**
19
+ * Remove every untrusted-content block, leaving only the surrounding
20
+ * (owner-authored) text. Unambiguous because wrap-time neutralization
21
+ * guarantees each block terminates at its own END marker - wrapped content
22
+ * cannot escape its block.
23
+ *
24
+ * Consumers: the sensitive-request wall (owner text only - a forwarded
25
+ * phishing message must not trip it) and the save-candidate extractor
26
+ * (a "remember this" INSIDE forwarded content is data, not an instruction).
27
+ */
28
+ export declare function stripUntrustedBlocks(text: string, options?: {
29
+ unterminated?: 'drop' | 'keep';
30
+ }): string;
18
31
  //# sourceMappingURL=untrusted-content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"untrusted-content.d.ts","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5E"}
1
+ {"version":3,"file":"untrusted-content.d.ts","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,GAC/C,MAAM,CA+BR"}
@@ -10,6 +10,7 @@
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.wrapUntrustedContent = wrapUntrustedContent;
13
+ exports.stripUntrustedBlocks = stripUntrustedBlocks;
13
14
  const OPEN_MARKER = '<<<UNTRUSTED-CONTENT';
14
15
  const END_MARKER = '<<<END-UNTRUSTED-CONTENT>>>';
15
16
  /**
@@ -31,4 +32,46 @@ function wrapUntrustedContent(source, content) {
31
32
  END_MARKER,
32
33
  ].join('\n');
33
34
  }
35
+ /**
36
+ * Remove every untrusted-content block, leaving only the surrounding
37
+ * (owner-authored) text. Unambiguous because wrap-time neutralization
38
+ * guarantees each block terminates at its own END marker - wrapped content
39
+ * cannot escape its block.
40
+ *
41
+ * Consumers: the sensitive-request wall (owner text only - a forwarded
42
+ * phishing message must not trip it) and the save-candidate extractor
43
+ * (a "remember this" INSIDE forwarded content is data, not an instruction).
44
+ */
45
+ function stripUntrustedBlocks(text, options = {}) {
46
+ if (!text.includes(OPEN_MARKER)) {
47
+ return text;
48
+ }
49
+ const unterminated = options.unterminated ?? 'drop';
50
+ let result = '';
51
+ let cursor = 0;
52
+ while (cursor < text.length) {
53
+ const open = text.indexOf(OPEN_MARKER, cursor);
54
+ if (open === -1) {
55
+ result += text.slice(cursor);
56
+ break;
57
+ }
58
+ result += text.slice(cursor, open);
59
+ const end = text.indexOf(END_MARKER, open);
60
+ if (end === -1) {
61
+ // Unterminated open marker. Legit wraps ALWAYS terminate (wrap-time END
62
+ // neutralization), so this is either corruption or a SPOOFED marker a
63
+ // sender typed to smuggle text past a strip-then-check consumer.
64
+ // - 'keep' (sensitive wall): treat the tail as author text so a spoofed
65
+ // marker cannot bypass the wall.
66
+ // - 'drop' (save-candidate extractor): fail-safe direction is to NOT
67
+ // extract candidates from unattributable text.
68
+ if (unterminated === 'keep') {
69
+ result += text.slice(open);
70
+ }
71
+ break;
72
+ }
73
+ cursor = end + END_MARKER.length;
74
+ }
75
+ return result;
76
+ }
34
77
  //# sourceMappingURL=untrusted-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"untrusted-content.js","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAYH,oDAWC;AArBD,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,MAAc,EAAE,OAAe;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrE,OAAO;QACL,GAAG,WAAW,WAAW,UAAU,KAAK;QACxC,8EAA8E;QAC9E,kFAAkF;QAClF,yDAAyD;QACzD,IAAI;QACJ,UAAU;KACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"untrusted-content.js","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAYH,oDAWC;AAYD,oDAkCC;AAnED,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,MAAc,EAAE,OAAe;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrE,OAAO;QACL,GAAG,WAAW,WAAW,UAAU,KAAK;QACxC,8EAA8E;QAC9E,kFAAkF;QAClF,yDAAyD;QACzD,IAAI;QACJ,UAAU;KACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,IAAY,EACZ,UAA8C,EAAE;IAEhD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC;IACpD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM;QACR,CAAC;QACD,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,wEAAwE;YACxE,sEAAsE;YACtE,iEAAiE;YACjE,wEAAwE;YACxE,mCAAmC;YACnC,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jungjaehoon/mama-os",
3
- "version": "0.22.1",
3
+ "version": "0.24.0",
4
4
  "description": "MAMA OS - Local AI Runtime. Your scattered knowledge, organized by AI agents that never sleep.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@anthropic-ai/sdk": "^0.71.2",
64
- "@jungjaehoon/mama-core": "^1.8.1",
64
+ "@jungjaehoon/mama-core": "^1.9.0",
65
65
  "better-sqlite3": "^12.8.0",
66
66
  "@slack/socket-mode": "^2.0.5",
67
67
  "@slack/web-api": "^7.13.0",
@@ -33,16 +33,20 @@ const SYSTEM_AGENT_IDS = new Set([
33
33
  'wiki-agent',
34
34
  ]);
35
35
  const CLAUDE_MODEL_OPTIONS = ['claude-sonnet-4-6', 'claude-opus-4-6', 'claude-haiku-4-5-20251001'];
36
- const CODEX_MODEL_OPTIONS = ['gpt-5.3-codex', 'gpt-5.4-mini'];
36
+ const CODEX_MODEL_OPTIONS = ['gpt-5.4', 'gpt-5.3-codex', 'gpt-5.4-mini'];
37
37
  const GEMINI_MODEL_OPTIONS = ['gemini-2.5-pro', 'gemini-2.5-flash'];
38
- function getModelsForBackend(backend) {
39
- if (backend === 'codex-mcp' || backend === 'codex') {
40
- return CODEX_MODEL_OPTIONS;
38
+ export function getModelsForBackend(backend, currentModel) {
39
+ let models;
40
+ if (backend === 'codex') {
41
+ models = CODEX_MODEL_OPTIONS;
41
42
  }
42
- if (backend === 'gemini') {
43
- return GEMINI_MODEL_OPTIONS;
43
+ else if (backend === 'gemini') {
44
+ models = GEMINI_MODEL_OPTIONS;
44
45
  }
45
- return CLAUDE_MODEL_OPTIONS;
46
+ else {
47
+ models = CLAUDE_MODEL_OPTIONS;
48
+ }
49
+ return currentModel && !models.includes(currentModel) ? [...models, currentModel] : [...models];
46
50
  }
47
51
  export class AgentsModule {
48
52
  container = null;
@@ -428,13 +432,13 @@ export class AgentsModule {
428
432
  }
429
433
  renderConfigTab(el, a) {
430
434
  const backend = String(a.backend || 'claude');
431
- const modelOptions = getModelsForBackend(backend)
435
+ const modelOptions = getModelsForBackend(backend, a.model)
432
436
  .map((m) => `<option value="${escapeAttr(m)}" ${a.model === m ? 'selected' : ''}>${escapeHtml(m)}</option>`)
433
437
  .join('');
434
438
  const tierOptions = [1, 2, 3]
435
439
  .map((t) => `<option value="${t}" ${(a.tier ?? 1) === t ? 'selected' : ''}>T${t}</option>`)
436
440
  .join('');
437
- const backendOptions = Array.from(new Set(['claude', 'codex', 'codex-mcp', 'gemini', backend]))
441
+ const backendOptions = Array.from(new Set(['claude', 'codex', 'gemini', backend]))
438
442
  .map((b) => `<option value="${escapeAttr(b)}" ${backend === b ? 'selected' : ''}>${escapeHtml(b)}</option>`)
439
443
  .join('');
440
444
  el.innerHTML = `
@@ -19,10 +19,9 @@ const logger = new DebugLogger('Settings');
19
19
  // Model options by backend (single source of truth)
20
20
  // Claude models: https://platform.claude.com/docs/en/about-claude/models/overview
21
21
  const MODEL_OPTIONS = {
22
- 'codex-mcp': [
23
- 'gpt-5.3-codex',
24
- 'gpt-5.2-codex',
25
- 'gpt-5.1-codex-max',
22
+ codex: [
23
+ 'gpt-5.4',
24
+ 'gpt-5.4-mini',
26
25
  'gpt-4.1',
27
26
  'gpt-4o',
28
27
  'gpt-4o-mini',
@@ -45,6 +44,12 @@ const MODEL_OPTIONS = {
45
44
  'claude-3-haiku-20240307',
46
45
  ],
47
46
  };
47
+ export function getSettingsModelOptions(backend, currentModel) {
48
+ const options = MODEL_OPTIONS[backend] || MODEL_OPTIONS.claude;
49
+ return currentModel && !options.includes(currentModel)
50
+ ? [...options, currentModel]
51
+ : [...options];
52
+ }
48
53
  const EFFORT_SUPPORTED_MODELS = new Set(['claude-opus-4-6', 'claude-sonnet-4-6']);
49
54
  const MAX_EFFORT_MODELS = new Set(['claude-opus-4-6']);
50
55
  /**
@@ -629,7 +634,7 @@ export class SettingsModule {
629
634
  const model = this.getSelectValue('settings-agent-model');
630
635
  const effort = (this.getSelectValue('settings-agent-effort') || 'medium');
631
636
  const useClaudeCli = backend === 'claude';
632
- const resolvedModel = model || (backend === 'codex-mcp' ? 'gpt-5.2-codex' : 'claude-sonnet-4-6');
637
+ const resolvedModel = model || (backend === 'codex' ? 'gpt-5.4' : 'claude-sonnet-4-6');
633
638
  const normalizedEffort = this.supportsEffortModel(resolvedModel)
634
639
  ? this.normalizeEffortForModel(resolvedModel, effort)
635
640
  : undefined;
@@ -731,8 +736,8 @@ export class SettingsModule {
731
736
  if (!select) {
732
737
  return;
733
738
  }
734
- const modelList = MODEL_OPTIONS[backend] || MODEL_OPTIONS.claude;
735
739
  const normalized = this.getNormalizedModelForBackend(backend, currentModel);
740
+ const modelList = getSettingsModelOptions(backend, normalized);
736
741
  select.innerHTML = modelList
737
742
  .map((m) => `<option value="${escapeHtml(m)}" ${m === normalized ? 'selected' : ''}>${escapeHtml(formatModelName(m))}</option>`)
738
743
  .join('');
@@ -760,13 +765,13 @@ export class SettingsModule {
760
765
  effortSelect.value = normalizedEffort;
761
766
  }
762
767
  getNormalizedModelForBackend(backend, model) {
763
- const isCodexBackend = backend === 'codex-mcp';
768
+ const isCodexBackend = backend === 'codex';
764
769
  if (!model) {
765
- return isCodexBackend ? 'gpt-5.2-codex' : 'claude-sonnet-4-6';
770
+ return isCodexBackend ? 'gpt-5.4' : 'claude-sonnet-4-6';
766
771
  }
767
772
  const isClaudeModel = /^claude-/i.test(model);
768
773
  if (isCodexBackend && isClaudeModel) {
769
- return 'gpt-5.2-codex';
774
+ return 'gpt-5.4';
770
775
  }
771
776
  if (backend === 'claude' && !isClaudeModel) {
772
777
  return 'claude-sonnet-4-20250514';
@@ -969,7 +974,7 @@ export class SettingsModule {
969
974
  const backend = (backendSelect.value || 'claude');
970
975
  const currentModel = modelSelect.value || '';
971
976
  const normalized = this.getNormalizedModelForBackend(backend, currentModel);
972
- const options = MODEL_OPTIONS[backend] || MODEL_OPTIONS.claude;
977
+ const options = getSettingsModelOptions(backend, normalized);
973
978
  modelSelect.innerHTML = options
974
979
  .map((m) => `<option value="${escapeAttr(m)}" ${m === normalized ? 'selected' : ''}>${escapeHtml(formatModelName(m))}</option>`)
975
980
  .join('');
@@ -42,17 +42,19 @@ const SYSTEM_AGENT_IDS = new Set([
42
42
  ]);
43
43
 
44
44
  const CLAUDE_MODEL_OPTIONS = ['claude-sonnet-4-6', 'claude-opus-4-6', 'claude-haiku-4-5-20251001'];
45
- const CODEX_MODEL_OPTIONS = ['gpt-5.3-codex', 'gpt-5.4-mini'];
45
+ const CODEX_MODEL_OPTIONS = ['gpt-5.4', 'gpt-5.3-codex', 'gpt-5.4-mini'];
46
46
  const GEMINI_MODEL_OPTIONS = ['gemini-2.5-pro', 'gemini-2.5-flash'];
47
47
 
48
- function getModelsForBackend(backend: string): string[] {
49
- if (backend === 'codex-mcp' || backend === 'codex') {
50
- return CODEX_MODEL_OPTIONS;
48
+ export function getModelsForBackend(backend: string, currentModel?: string): string[] {
49
+ let models: readonly string[];
50
+ if (backend === 'codex') {
51
+ models = CODEX_MODEL_OPTIONS;
52
+ } else if (backend === 'gemini') {
53
+ models = GEMINI_MODEL_OPTIONS;
54
+ } else {
55
+ models = CLAUDE_MODEL_OPTIONS;
51
56
  }
52
- if (backend === 'gemini') {
53
- return GEMINI_MODEL_OPTIONS;
54
- }
55
- return CLAUDE_MODEL_OPTIONS;
57
+ return currentModel && !models.includes(currentModel) ? [...models, currentModel] : [...models];
56
58
  }
57
59
 
58
60
  export class AgentsModule {
@@ -488,7 +490,7 @@ export class AgentsModule {
488
490
 
489
491
  private renderConfigTab(el: HTMLElement, a: AgentWithVersion): void {
490
492
  const backend = String(a.backend || 'claude');
491
- const modelOptions = getModelsForBackend(backend)
493
+ const modelOptions = getModelsForBackend(backend, a.model)
492
494
  .map(
493
495
  (m) =>
494
496
  `<option value="${escapeAttr(m)}" ${a.model === m ? 'selected' : ''}>${escapeHtml(m)}</option>`
@@ -499,7 +501,7 @@ export class AgentsModule {
499
501
  .map((t) => `<option value="${t}" ${(a.tier ?? 1) === t ? 'selected' : ''}>T${t}</option>`)
500
502
  .join('');
501
503
 
502
- const backendOptions = Array.from(new Set(['claude', 'codex', 'codex-mcp', 'gemini', backend]))
504
+ const backendOptions = Array.from(new Set(['claude', 'codex', 'gemini', backend]))
503
505
  .map(
504
506
  (b) =>
505
507
  `<option value="${escapeAttr(b)}" ${backend === b ? 'selected' : ''}>${escapeHtml(b)}</option>`
@@ -31,7 +31,7 @@ import {
31
31
 
32
32
  const logger = new DebugLogger('Settings');
33
33
 
34
- type AgentBackend = 'claude' | 'codex-mcp';
34
+ export type AgentBackend = 'claude' | 'codex';
35
35
  type SettingsFilterValue = 'loading' | 'error' | 'success' | '';
36
36
  type SettingsPayloadToolConfig = {
37
37
  gateway: string[];
@@ -94,10 +94,9 @@ type SettingsPayload = {
94
94
  // Model options by backend (single source of truth)
95
95
  // Claude models: https://platform.claude.com/docs/en/about-claude/models/overview
96
96
  const MODEL_OPTIONS: Record<AgentBackend, readonly string[]> = {
97
- 'codex-mcp': [
98
- 'gpt-5.3-codex',
99
- 'gpt-5.2-codex',
100
- 'gpt-5.1-codex-max',
97
+ codex: [
98
+ 'gpt-5.4',
99
+ 'gpt-5.4-mini',
101
100
  'gpt-4.1',
102
101
  'gpt-4o',
103
102
  'gpt-4o-mini',
@@ -121,6 +120,13 @@ const MODEL_OPTIONS: Record<AgentBackend, readonly string[]> = {
121
120
  ],
122
121
  };
123
122
 
123
+ export function getSettingsModelOptions(backend: AgentBackend, currentModel?: string): string[] {
124
+ const options = MODEL_OPTIONS[backend] || MODEL_OPTIONS.claude;
125
+ return currentModel && !options.includes(currentModel)
126
+ ? [...options, currentModel]
127
+ : [...options];
128
+ }
129
+
124
130
  const EFFORT_SUPPORTED_MODELS = new Set<string>(['claude-opus-4-6', 'claude-sonnet-4-6']);
125
131
  const MAX_EFFORT_MODELS = new Set<string>(['claude-opus-4-6']);
126
132
 
@@ -817,8 +823,7 @@ export class SettingsModule {
817
823
  const model = this.getSelectValue('settings-agent-model');
818
824
  const effort = (this.getSelectValue('settings-agent-effort') || 'medium') as EffortLevel;
819
825
  const useClaudeCli = backend === 'claude';
820
- const resolvedModel =
821
- model || (backend === 'codex-mcp' ? 'gpt-5.2-codex' : 'claude-sonnet-4-6');
826
+ const resolvedModel = model || (backend === 'codex' ? 'gpt-5.4' : 'claude-sonnet-4-6');
822
827
  const normalizedEffort = this.supportsEffortModel(resolvedModel)
823
828
  ? this.normalizeEffortForModel(resolvedModel, effort)
824
829
  : undefined;
@@ -941,8 +946,8 @@ export class SettingsModule {
941
946
  if (!select) {
942
947
  return;
943
948
  }
944
- const modelList = MODEL_OPTIONS[backend] || MODEL_OPTIONS.claude;
945
949
  const normalized = this.getNormalizedModelForBackend(backend, currentModel);
950
+ const modelList = getSettingsModelOptions(backend, normalized);
946
951
  select.innerHTML = modelList
947
952
  .map(
948
953
  (m) =>
@@ -978,13 +983,13 @@ export class SettingsModule {
978
983
  }
979
984
 
980
985
  getNormalizedModelForBackend(backend: AgentBackend, model: string): string {
981
- const isCodexBackend = backend === 'codex-mcp';
986
+ const isCodexBackend = backend === 'codex';
982
987
  if (!model) {
983
- return isCodexBackend ? 'gpt-5.2-codex' : 'claude-sonnet-4-6';
988
+ return isCodexBackend ? 'gpt-5.4' : 'claude-sonnet-4-6';
984
989
  }
985
990
  const isClaudeModel = /^claude-/i.test(model);
986
991
  if (isCodexBackend && isClaudeModel) {
987
- return 'gpt-5.2-codex';
992
+ return 'gpt-5.4';
988
993
  }
989
994
  if (backend === 'claude' && !isClaudeModel) {
990
995
  return 'claude-sonnet-4-20250514';
@@ -1215,7 +1220,7 @@ export class SettingsModule {
1215
1220
  const backend = (backendSelect.value || 'claude') as AgentBackend;
1216
1221
  const currentModel = modelSelect.value || '';
1217
1222
  const normalized = this.getNormalizedModelForBackend(backend, currentModel);
1218
- const options = MODEL_OPTIONS[backend] || MODEL_OPTIONS.claude;
1223
+ const options = getSettingsModelOptions(backend, normalized);
1219
1224
 
1220
1225
  modelSelect.innerHTML = options
1221
1226
  .map(
@@ -162,7 +162,7 @@ export type EffortLevel = 'low' | 'medium' | 'high' | 'max';
162
162
  export type ApiValidationTriggerType = 'agent_test' | 'delegate_run' | 'system_run' | 'audit';
163
163
 
164
164
  export interface ApiAgentConfig {
165
- backend?: 'claude' | 'codex' | 'codex-mcp' | 'gemini';
165
+ backend?: 'claude' | 'codex' | 'gemini';
166
166
  model?: string;
167
167
  effort?: EffortLevel;
168
168
  tools?: ApiAgentToolsConfig;
@@ -220,7 +220,7 @@ export interface MultiAgentAgent {
220
220
  status?: string;
221
221
  model?: string;
222
222
  effort?: EffortLevel;
223
- backend?: 'claude' | 'codex' | 'codex-mcp' | 'gemini';
223
+ backend?: 'claude' | 'codex' | 'gemini';
224
224
  bot_token?: string;
225
225
  slack_bot_token?: string | null;
226
226
  slack_app_token?: string | null;
@@ -2,30 +2,9 @@
2
2
 
3
3
  ## Tool Usage
4
4
 
5
- You are running on the Codex backend. Use gateway tools via `tool_call` JSON blocks.
5
+ You are running on the Codex backend. MAMA exposes the tools permitted for this run as native host tools. Call those tools directly through the model tool interface.
6
6
 
7
- ### How to Call Tools
8
-
9
- ```tool_call
10
- {"name": "tool_name", "input": {"param1": "value1"}}
11
- ```
12
-
13
- ### Available Gateway Tools
14
-
15
- - **mama_search**(query?, type?, limit?) — Search decisions in MAMA memory
16
- - **mama_save**(type, topic?, decision?, reasoning?) — Save decision or checkpoint
17
- - **mama_update**(id, outcome, reason?) — Update decision outcome
18
- - **mama_load_checkpoint**() — Load last checkpoint
19
- - **discord_send**(channel_id, message?) — Send message to Discord channel
20
- - **slack_send**(channel_id, message?) — Send message to Slack channel
21
- - **Read**(path) — Read file
22
- - **Write**(path, content) — Write file
23
- - **Bash**(command) — Execute shell command
24
-
25
- ### Important
26
-
27
- - Do NOT use `exec_command` or `apply_patch` — use gateway tools instead
28
- - Tool calls are executed automatically. No need to use curl or Bash for these.
7
+ Do not print Markdown tool blocks or JavaScript as a substitute for a tool call. The available native tool set is injected for each run and already reflects the current role and channel permissions.
29
8
 
30
9
  ### Skills
31
10