From 6354b9b62294a8e5ae0e9cb08cec3a818287b632 Mon Sep 17 00:00:00 2001 From: bel Date: Sun, 22 Mar 2026 20:24:23 -0600 Subject: [PATCH] thatll do --- .main.go.swp | Bin 12288 -> 0 bytes go.mod | 23 +++++++++- go.sum | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++ main.go | 109 +++++++++++++++++++++++++++++++++++++++++++- mise.toml | 3 ++ 5 files changed, 258 insertions(+), 3 deletions(-) delete mode 100644 .main.go.swp create mode 100644 go.sum diff --git a/.main.go.swp b/.main.go.swp deleted file mode 100644 index c2ab3dae1283f62147b4161407dbf399ad31ffa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&L2DC17zW@k#mgS7Vh$EXm_{hOrQL1yq>@WTN+=deZO=|8n{{wA6J{rvP^^E$ zKjK|c#B1-`o;}+Bfqr8)6ublq9t!W0m)V`{ygPYrAvsvv@4OUG(sknFHqnibpY@mf zJJF9VqJz8)vonuf<)l|{X5M$ih1sUfDyOnS`&?$;zB8-R$gD55Neer(0yjVa0#_Ee zNsk|`uZ86gTZ^K3XYa~QSO@_KKmY;|fB*y_009VGKLI~z&q`s} zfB*y_009U<00Izz00bZa0SH_}0of%Q&lCOPgx~+C-~Z2V5uI^Y#Pc)FntsooaO z4ox>sRzx+flq}11x3k&VepP>l@R#{G347(@R((s0Pi>V=y2C|X*dpB@Sm#AdG~jMo I= Bend at 3k/sqmi`, + `Lots of schools`, + `Coffee shops`, + `Yummy resturaunts`, + `Board game stores`, + `Home for < 400k`, + `20min drive to fun`, + `Would we get out and be active? Bike++`, + `Close airport`, + `DnD Players`, + `Trees!`, + `Population is college educated`, + `Home for < 600k`, + `Software developers per capita`, + `Fiber-speed internet`, + `Organic Groceries`, + `Close hospital for emergency situations`, + `Home for < 800`, + `Hematologist reasonably close`, + `Does it have the vibes?`, + `Concrete Jungle`, + } + + tmpl, err := template.New("tmpl").Parse(` +For the city {{.City}}, answer the following descriptors '1' for true or '0' for false. Output only a JSON object mapping descriptors to answers. + +{{ range .Descriptors -}} +* {{ . }} +{{ end }} + `) + if err != nil { + return err + } + w := bytes.NewBuffer(nil) + if err := tmpl.Execute(w, map[string]any{ + "City": city, + "Descriptors": descriptors, + }); err != nil { + return err + } + //panic(w.String()) + + result, err := client.Models.GenerateContent( + ctx, + "gemini-2.5-flash", + genai.Text(w.String()), + nil, + ) + if err != nil { + return err + } + text := "{" + strings.Split(strings.Split(result.Text(), "{")[1], "}")[0] + "}" + + var m map[string]any + if err := json.Unmarshal([]byte(text), &m); err != nil { + return err + } + for _, d := range descriptors { + if _, ok := m[d]; !ok { + return fmt.Errorf("desc %q missing", d) + } + } + + fmt.Println(text) + for _, d := range descriptors { + fmt.Println(m[d]) + } + return ctx.Err() } diff --git a/mise.toml b/mise.toml index 4424a1c..cc64b55 100644 --- a/mise.toml +++ b/mise.toml @@ -4,3 +4,6 @@ GEMINI_API_KEY = "AIzaSyDCih9MINanaerHuyu-4dBrC07_vxEWsik" [tasks.default] run = "cd \"${MISE_PROJECT_ROOT}\" && go run ./" + +[tasks.bend] +run = "mise run default 'bend, or'"