1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| {% import ( "path/filepath" "strings"
"{{{ .Package }}}/app" "{{{ .Package }}}/app/controller/cutil" "{{{ .Package }}}/app/lib/mcpserver" "{{{ .Package }}}/app/util" "{{{ .Package }}}/views/components" "{{{ .Package }}}/views/components/edit" "{{{ .Package }}}/views/layout" ) %}
{% code type ResourceTemplateDetail struct { layout.Basic Server *mcpserver.Server ResourceTemplate *mcpserver.ResourceTemplate Args util.ValueMap URI string MIMEType string Result any } %}
{% func (p *ResourceTemplateDetail) Body(as *app.State, ps *cutil.PageState) %} <div class="card"> <div class="right" title="{%s util.ExtensionFromMIME(p.ResourceTemplate.MIMEType) %} - {%s p.ResourceTemplate.MIMEType %}"><em>{%s p.ResourceTemplate.URI %}</em></div> <h3>{%= components.SVGIcon(`cog`, ps) %} Resource [{%s p.ResourceTemplate.Name %}]</h3> <em>{%s p.ResourceTemplate.Description %}</em> <div class="mt">{%= edit.TableEditor("args", p.ResourceTemplate.Args, p.Args, "/mcp/resourcetemplate/" + p.ResourceTemplate.Name, "post", "Run") %}</div> </div> {%- if p.Result != "" -%} <div class="card"> <div class="right" title="{%s p.MIMEType %}"><em>{%s p.URI %}</em></div> <h3>{%= components.SVGIcon(`cog`, ps) %} Result</h3> <div class="mt"> {%- code ext := filepath.Ext(p.URI) if ext == "" { ext = util.ExtensionFromMIME(p.MIMEType) } if ext == "" { ext = "txt" } ext = strings.TrimPrefix(ext, ".") res := mcpserver.ResultString(p.Result, ps.Logger) out, err := cutil.FormatLang(res, ext) -%} {%- if err == nil -%} {%s= out %} {%- else -%} <pre>{%s util.ToJSON(p.Result) %}</pre> <div class="mt"><em>unknown extension [{%s ext %}]: {%s err.Error() %}</em></div> {%- endif -%} </div> </div> {%- endif -%} {% endfunc %}
{% func listResourceTemplates(rts mcpserver.ResourceTemplates, ps *cutil.PageState) %} {%- for idx, rt := range rts -%} <a class="link-section" href="/mcp/resourcetemplate/{%s rt.Name %}"> <div class="clear mt"> <div class="left mrs">{%= components.SVGRef(rt.IconSafe(), 40, 40, "", ps) %}</div> <strong class="highlight">{%s rt.Name %}</strong> <div><em>{%s rt.Description %}</em></div> </div> </a> {%- if idx < len(rts) - 1 -%} <hr /> {%- endif -%} {%- endfor -%} {% endfunc %}
|