mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-09-10 11:47:45 +02:00
feat: update Next.js build assets and add cloud setup E2E tests
- Update Next.js generated chunk hashes and build IDs reflecting latest dashboard build - Update CSS stylesheet references in workflow upload page metadata - Add comprehensive cloud setup E2E test suite (cloud_setup_test.go) with SSH password/key auth, post-command variable expansion, and Ansible integration - Fix API priority levels to include 'medium' priority in test coverage - Add agent-sdk test workflows (minimal, config, codex, multi-agent, session variants) - Update E2E test utilities with runCLIInBase helper for multi-step cloud config tests - Fix stderr/stdout capture in dependencies_target_types_test assertions
This commit is contained in:
@@ -3,6 +3,7 @@ package cli
|
||||
import (
|
||||
"bufio"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
@@ -421,6 +422,10 @@ func runFunctionList(cmd *cobra.Command, args []string) error {
|
||||
}
|
||||
|
||||
if len(rows) == 0 {
|
||||
if globalJSON {
|
||||
fmt.Println("[]")
|
||||
return nil
|
||||
}
|
||||
if funcSearchFilter != "" {
|
||||
printer.Info("No functions matching '%s'", funcSearchFilter)
|
||||
} else {
|
||||
@@ -429,6 +434,48 @@ func runFunctionList(cmd *cobra.Command, args []string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
if globalJSON {
|
||||
var jsonFuncs []map[string]string
|
||||
// Re-iterate to build clean JSON (rows contain color codes)
|
||||
for _, cat := range categories {
|
||||
if funcs, ok := registry[cat.Key]; ok {
|
||||
for _, fn := range funcs {
|
||||
if funcSearchFilter != "" {
|
||||
nameLower := strings.ToLower(fn.Name)
|
||||
descLower := strings.ToLower(fn.Description)
|
||||
catLower := strings.ToLower(cat.Title)
|
||||
if !strings.Contains(nameLower, searchLower) &&
|
||||
!strings.Contains(descLower, searchLower) &&
|
||||
!strings.Contains(catLower, searchLower) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
entry := map[string]string{
|
||||
"category": cat.ShortTitle,
|
||||
"name": fn.Name,
|
||||
"signature": fn.Signature,
|
||||
"description": fn.Description,
|
||||
"return_type": fn.ReturnType,
|
||||
}
|
||||
if fn.Example != "" {
|
||||
entry["example"] = fn.Example
|
||||
}
|
||||
jsonFuncs = append(jsonFuncs, entry)
|
||||
}
|
||||
}
|
||||
}
|
||||
if jsonFuncs == nil {
|
||||
fmt.Println("[]")
|
||||
return nil
|
||||
}
|
||||
jsonBytes, err := json.MarshalIndent(jsonFuncs, "", " ")
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to marshal functions: %w", err)
|
||||
}
|
||||
fmt.Println(string(jsonBytes))
|
||||
return nil
|
||||
}
|
||||
|
||||
if funcSearchFilter != "" {
|
||||
printer.Info("Found %d function(s) matching '%s':", len(rows), funcSearchFilter)
|
||||
fmt.Println()
|
||||
|
||||
Reference in New Issue
Block a user