metheus-governance-mcp-cli 0.2.83 → 0.2.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -232,11 +232,12 @@ Behavior:
232
232
  - For Telegram, the CLI tries to match the verified bot identity against the server `me/bots` list first. If the server exposes one logical bot name with multiple roles such as `approval`, `worker`, `review`, and `monitor`, the CLI does not ask you to choose one UUID. It binds by server bot name and keeps the local role/AI fields empty so runtime can use the server bot role for each route.
233
233
  - When the Telegram username matches exactly one server bot role, the CLI still auto-fills the local `role_profile` and blank AI defaults from your local `bot-runner.json` `role_profiles` mapping.
234
234
  - `bot edit` without flags now uses the same sequential flow every time: provider -> bot entry -> username/token review -> grouped server-role review when needed -> AI field choices -> default choice -> save.
235
- - when the CLI asks for `AI model`, it now shows client-specific display labels first and still allows manual entry when you need a custom model name.
235
+ - when the CLI asks for `AI model`, it now shows client-specific model choices first and still allows manual entry when you need a custom model name.
236
236
  - display labels are converted to tested execution model IDs at runtime:
237
- - `GPT-5.4` -> `gpt-5.2`
238
- - `GPT-5.3-CODEX` -> `gpt-5.2-codex`
239
- - `GPT-5.3-CODEX-Spark` -> `gpt-5.1-codex-mini`
237
+ - `gpt-5.4` -> `gpt-5.4`
238
+ - `gpt-5.3-codex` -> `gpt-5.3-codex`
239
+ - `gpt-5.3-codex-spark` -> `gpt-5.3-codex-spark`
240
+ - older uppercase GPT labels are still accepted as compatibility aliases
240
241
  - `Sonnet 4.6r` -> `sonnet`
241
242
  - `Haiku 4.5` -> `haiku`
242
243
  - `Opus 4.6` -> `opus`
@@ -267,7 +268,7 @@ Non-interactive examples:
267
268
  ```bash
268
269
  metheus-governance-mcp-cli bot global --provider telegram --non-interactive true --api-base-url http://127.0.0.1:8999/telegram --auto-clear-webhook false --allowed-updates message,edited_message,channel_post
269
270
  metheus-governance-mcp-cli bot add --provider telegram --non-interactive true --server-bot-id <server_bot_uuid> --token <telegram_bot_token> --default true
270
- metheus-governance-mcp-cli bot add --provider telegram --non-interactive true --server-bot-id <server_bot_uuid> --token <telegram_bot_token> --ai-client gpt --ai-model "GPT-5.4" --ai-permission-mode read_only --ai-reasoning-effort low
271
+ metheus-governance-mcp-cli bot add --provider telegram --non-interactive true --server-bot-id <server_bot_uuid> --token <telegram_bot_token> --ai-client gpt --ai-model "gpt-5.4" --ai-permission-mode read_only --ai-reasoning-effort low
271
272
  metheus-governance-mcp-cli bot edit --provider telegram --bot-key ryoai_bot --non-interactive true --ai-client claude --ai-model "Sonnet 4.6r" --ai-permission-mode danger_full_access --ai-reasoning-effort high
272
273
  metheus-governance-mcp-cli bot set-default --provider telegram --bot-key main --non-interactive true
273
274
  metheus-governance-mcp-cli bot migrate --provider telegram --bot-key main --server-bot-id <server_bot_uuid> --bot-name <telegram_username> --role-profile monitor --ai-client codex --ai-permission-mode read_only --ai-reasoning-effort low --non-interactive true
@@ -1462,9 +1462,9 @@ function suggestedAIModelsForClient(clientName) {
1462
1462
  const normalizedClient = String(clientName || "").trim().toLowerCase();
1463
1463
  if (normalizedClient === "codex") {
1464
1464
  return [
1465
- { value: "GPT-5.4", label: "GPT-5.4", description: "display label; runs as gpt-5.2" },
1466
- { value: "GPT-5.3-CODEX", label: "GPT-5.3-CODEX", description: "display label; runs as gpt-5.2-codex" },
1467
- { value: "GPT-5.3-CODEX-Spark", label: "GPT-5.3-CODEX-Spark", description: "display label; runs as gpt-5.1-codex-mini" },
1465
+ { value: "gpt-5.4", label: "gpt-5.4", description: "recommended GPT model" },
1466
+ { value: "gpt-5.3-codex", label: "gpt-5.3-codex", description: "stable GPT codex model" },
1467
+ { value: "gpt-5.3-codex-spark", label: "gpt-5.3-codex-spark", description: "faster GPT codex model" },
1468
1468
  ];
1469
1469
  }
1470
1470
  if (normalizedClient === "claude") {
@@ -11,19 +11,19 @@ const SUPPORTED_REASONING_EFFORTS = ["low", "medium", "high"];
11
11
  const LOCAL_AI_MODEL_MAPPINGS = {
12
12
  codex: [
13
13
  {
14
- display: "GPT-5.4",
15
- execution: "gpt-5.2",
16
- aliases: ["gpt-5.4", "gpt 5.4", "gpt-5.2", "gpt 5.2", "gpt-5"],
14
+ display: "gpt-5.4",
15
+ execution: "gpt-5.4",
16
+ aliases: ["gpt-5.4", "gpt 5.4", "GPT-5.4"],
17
17
  },
18
18
  {
19
- display: "GPT-5.3-CODEX",
20
- execution: "gpt-5.2-codex",
21
- aliases: ["gpt-5.3-codex", "gpt 5.3 codex", "gpt-5.2-codex", "gpt 5.2 codex", "gpt-5-codex"],
19
+ display: "gpt-5.3-codex",
20
+ execution: "gpt-5.3-codex",
21
+ aliases: ["gpt-5.3-codex", "gpt 5.3 codex", "GPT-5.3-CODEX"],
22
22
  },
23
23
  {
24
- display: "GPT-5.3-CODEX-Spark",
25
- execution: "gpt-5.1-codex-mini",
26
- aliases: ["gpt-5.3-codex-spark", "gpt 5.3 codex spark", "gpt-5.1-codex-mini", "gpt 5.1 codex mini"],
24
+ display: "gpt-5.3-codex-spark",
25
+ execution: "gpt-5.3-codex-spark",
26
+ aliases: ["gpt-5.3-codex-spark", "gpt 5.3 codex spark", "GPT-5.3-CODEX-Spark"],
27
27
  },
28
28
  ],
29
29
  claude: [
@@ -234,17 +234,20 @@ export async function runSelftestBotCommands(push, deps) {
234
234
  try {
235
235
  push(
236
236
  "display_model_labels_map_to_tested_execution_ids",
237
- resolveLocalAIExecutionModel("codex", "GPT-5.4") === "gpt-5.2"
238
- && resolveLocalAIExecutionModel("codex", "GPT-5.3-CODEX") === "gpt-5.2-codex"
239
- && resolveLocalAIExecutionModel("codex", "GPT-5.3-CODEX-Spark") === "gpt-5.1-codex-mini"
237
+ resolveLocalAIExecutionModel("codex", "gpt-5.4") === "gpt-5.4"
238
+ && resolveLocalAIExecutionModel("codex", "gpt-5.3-codex") === "gpt-5.3-codex"
239
+ && resolveLocalAIExecutionModel("codex", "gpt-5.3-codex-spark") === "gpt-5.3-codex-spark"
240
+ && resolveLocalAIExecutionModel("codex", "GPT-5.4") === "gpt-5.4"
241
+ && resolveLocalAIExecutionModel("codex", "GPT-5.3-CODEX") === "gpt-5.3-codex"
242
+ && resolveLocalAIExecutionModel("codex", "GPT-5.3-CODEX-Spark") === "gpt-5.3-codex-spark"
240
243
  && resolveLocalAIExecutionModel("claude", "Sonnet 4.6r") === "sonnet"
241
244
  && resolveLocalAIExecutionModel("claude", "Haiku 4.5") === "haiku"
242
245
  && resolveLocalAIExecutionModel("claude", "Opus 4.6") === "opus"
243
246
  && resolveLocalAIExecutionModel("gemini", "Gemini 3.1 Pro") === "gemini-2.5-pro",
244
247
  [
245
- `gpt54=${resolveLocalAIExecutionModel("codex", "GPT-5.4")}`,
246
- `gpt53codex=${resolveLocalAIExecutionModel("codex", "GPT-5.3-CODEX")}`,
247
- `spark=${resolveLocalAIExecutionModel("codex", "GPT-5.3-CODEX-Spark")}`,
248
+ `gpt54=${resolveLocalAIExecutionModel("codex", "gpt-5.4")}`,
249
+ `gpt53codex=${resolveLocalAIExecutionModel("codex", "gpt-5.3-codex")}`,
250
+ `spark=${resolveLocalAIExecutionModel("codex", "gpt-5.3-codex-spark")}`,
248
251
  `claude=${resolveLocalAIExecutionModel("claude", "Sonnet 4.6r")}`,
249
252
  `gemini=${resolveLocalAIExecutionModel("gemini", "Gemini 3.1 Pro")}`,
250
253
  ].join(" "),
@@ -703,7 +706,7 @@ export async function runSelftestBotCommands(push, deps) {
703
706
  "--server-bot-id", mock.bots[0].id,
704
707
  "--token", "selftest-main-token",
705
708
  "--ai-client", "gpt",
706
- "--ai-model", "GPT-5.4",
709
+ "--ai-model", "gpt-5.4",
707
710
  "--ai-permission-mode", "read_only",
708
711
  "--ai-reasoning-effort", "low",
709
712
  "--verify", "true",
@@ -716,7 +719,7 @@ export async function runSelftestBotCommands(push, deps) {
716
719
  String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_SERVER_BOT_ID || "") === mock.bots[0].id
717
720
  && String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_USERNAME || "") === ""
718
721
  && String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_AI_CLIENT || "") === "codex"
719
- && String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_AI_MODEL || "") === "GPT-5.4"
722
+ && String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_AI_MODEL || "") === "gpt-5.4"
720
723
  && String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_AI_PERMISSION_MODE || "") === "read_only"
721
724
  && String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_AI_REASONING_EFFORT || "") === "low",
722
725
  `client=${String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_AI_CLIENT || "")} model=${String(aliasAddState.TELEGRAM_BOT_MONITORSELFTESTBOT_AI_MODEL || "")}`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metheus-governance-mcp-cli",
3
- "version": "0.2.83",
3
+ "version": "0.2.84",
4
4
  "description": "Metheus Governance MCP CLI (setup + stdio proxy)",
5
5
  "type": "module",
6
6
  "files": [