JuliusBrussee/caveman · error

not valid JSON: %w

Error message

not valid JSON: %w

What it means

Error "not valid JSON: %w" thrown in JuliusBrussee/caveman.

Source

Thrown at shrink/shrink.go:243

		out[e.name] = profileOf(e.schema)
	}
	return out, nil
}

// --- catalog parsing --------------------------------------------------------

type toolEntry struct {
	name   string
	raw    []byte         // the tool object's JSON
	schema map[string]any // its inputSchema/parameters, if any
}

// extractTools handles the MCP ({"tools":[…]}), OpenAI (array of {function:…} or
// flat) and {"functions":[…]} shapes.
func extractTools(input []byte) ([]toolEntry, error) {
	var top any
	if err := json.Unmarshal(input, &top); err != nil {
		return nil, fmt.Errorf("not valid JSON: %w", err)
	}
	var rawList []any
	switch t := top.(type) {
	case map[string]any:
		if v, ok := t["tools"].([]any); ok {
			rawList = v
		} else if v, ok := t["functions"].([]any); ok {
			rawList = v
		} else {
			rawList = []any{t} // a single tool object
		}
	case []any:
		rawList = t
	default:
		return nil, fmt.Errorf("unsupported catalog shape")
	}

	var entries []toolEntry

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Provide valid JSON input.

When it happens

Trigger: Thrown at shrink/shrink.go:243 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/3e02fcbe1840439e. Report an issue: GitHub.