aidevops 2.100.16 → 2.100.18

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 (3) hide show
  1. package/VERSION +1 -1
  2. package/package.json +1 -1
  3. package/setup.sh +30 -9
package/VERSION CHANGED
@@ -1 +1 @@
1
- 2.100.16
1
+ 2.100.18
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidevops",
3
- "version": "2.100.16",
3
+ "version": "2.100.18",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/setup.sh CHANGED
@@ -385,8 +385,7 @@ disable_ondemand_mcps() {
385
385
  # Oh-My-OpenCode MCPs - use @github-search subagent instead
386
386
  "grep_app"
387
387
  "websearch"
388
- # osgrep - use osgrep tool directly via Bash, not MCP
389
- "osgrep"
388
+ # Note: osgrep is kept ENABLED - it's useful for semantic code search
390
389
  )
391
390
 
392
391
  local disabled=0
@@ -396,23 +395,45 @@ disable_ondemand_mcps() {
396
395
  cp "$opencode_config" "$tmp_config"
397
396
 
398
397
  for mcp in "${ondemand_mcps[@]}"; do
399
- # Check if MCP exists
398
+ # Only disable MCPs that exist in the config
399
+ # Don't add fake entries - they break OpenCode's config validation
400
400
  if jq -e ".mcp[\"$mcp\"]" "$tmp_config" > /dev/null 2>&1; then
401
- # MCP exists - check if enabled
402
401
  local current_enabled
403
402
  current_enabled=$(jq -r ".mcp[\"$mcp\"].enabled // \"true\"" "$tmp_config")
404
403
  if [[ "$current_enabled" != "false" ]]; then
405
404
  jq ".mcp[\"$mcp\"].enabled = false" "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
406
405
  ((disabled++))
407
406
  fi
408
- else
409
- # MCP doesn't exist - add it as disabled (prevents OmO from enabling it)
410
- # This is needed for MCPs that plugins add dynamically (like oh-my-opencode)
411
- jq ".mcp[\"$mcp\"] = {\"type\": \"stdio\", \"enabled\": false, \"command\": [\"echo\", \"disabled\"]}" "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
412
- ((disabled++))
413
407
  fi
414
408
  done
415
409
 
410
+ # Remove oh-my-opencode plugin if present (it adds unwanted MCPs like grep_app, websearch)
411
+ # Users who want OmO can re-add it manually
412
+ if jq -e '.plugin | index("oh-my-opencode")' "$tmp_config" > /dev/null 2>&1; then
413
+ jq '.plugin = [.plugin[] | select(. != "oh-my-opencode")]' "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
414
+ print_info "Removed oh-my-opencode plugin (adds unwanted MCPs)"
415
+ fi
416
+
417
+ # Remove invalid MCP entries added by v2.100.16 bug
418
+ # These have type "stdio" (invalid - only "local" or "remote" are valid)
419
+ # or command ["echo", "disabled"] which breaks OpenCode
420
+ local invalid_mcps=("grep_app" "websearch" "context7" "augment-context-engine")
421
+ for mcp in "${invalid_mcps[@]}"; do
422
+ # Check for invalid type "stdio" or dummy command
423
+ if jq -e ".mcp[\"$mcp\"].type == \"stdio\" or .mcp[\"$mcp\"].command[0] == \"echo\"" "$tmp_config" > /dev/null 2>&1; then
424
+ jq "del(.mcp[\"$mcp\"])" "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
425
+ print_info "Removed invalid MCP entry: $mcp"
426
+ disabled=1 # Mark as changed
427
+ fi
428
+ done
429
+
430
+ # Re-enable osgrep if it was accidentally disabled (v2.100.16 bug)
431
+ if jq -e '.mcp["osgrep"].enabled == false' "$tmp_config" > /dev/null 2>&1; then
432
+ jq '.mcp["osgrep"].enabled = true' "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
433
+ print_info "Re-enabled osgrep MCP"
434
+ disabled=1 # Mark as changed
435
+ fi
436
+
416
437
  if [[ $disabled -gt 0 ]]; then
417
438
  create_backup_with_rotation "$opencode_config" "opencode"
418
439
  mv "$tmp_config" "$opencode_config"