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:
j3ssie
2026-04-04 13:57:34 +08:00
parent 51bb8bfbac
commit 0269cf4e26
401 changed files with 11651 additions and 2918 deletions
+47
View File
@@ -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()