diff --git a/lith/Caddyfile b/lith/Caddyfile index b67e1d30fa..4c1c5120ce 100644 --- a/lith/Caddyfile +++ b/lith/Caddyfile @@ -51,6 +51,7 @@ ~(?i)^sotce[.]net$ machine/sotce.net.txt ~(?i)^top[.]kidlisp[.]com$ machine/top.kidlisp.com.txt ~(?i)^tv[.]whistlegraph[.]org$ machine/tv.whistlegraph.org.txt + ~(?i)^whistlegraph[.]app$ machine/whistlegraph.app.txt ~(?i)^whistlegraph[.]org$ whistlegraph.org/llms.txt ~(?i)^www[.]aesel[.]app$ machine/aesel.app.txt ~(?i)^www[.]aesthetic[.]computer$ llms.txt @@ -66,12 +67,13 @@ ~(?i)^www[.]prompt[.]ac$ machine/prompt.ac.txt ~(?i)^www[.]quiltnet[.]org$ machine/quiltnet.org.txt ~(?i)^www[.]sotce[.]net$ machine/sotce.net.txt + ~(?i)^www[.]whistlegraph[.]app$ machine/whistlegraph.app.txt ~(?i)^www[.]whistlegraph[.]org$ whistlegraph.org/llms.txt } - @machine_host host aesel.app aesthetic.computer api.aesthetic.computer api.prompt.ac bills.aesthetic.computer buy.kidlisp.com calm.kidlisp.com data.aesthetic.computer device.kidlisp.com feed.aesthetic.computer give.aesthetic.computer jas.life justanothersystem.org keep.kidlisp.com keeps.kidlisp.com kidlisp.com l5.aesthetic.computer l5.prompt.ac laklok.com learn.kidlisp.com menuband.app midi.oskiewar.com mime.ac nela.aesthetic.computer news.aesthetic.computer nft.aesthetic.computer nopaint.art notepat.com oskiewar.com p5.aesthetic.computer p5.prompt.ac pals.aesthetic.computer papers.aesthetic.computer papers.prompt.ac pj.kidlisp.com pop.aesthetic.computer processing.aesthetic.computer processing.prompt.ac prompt.ac quiltnet.org rdp.aesthetic.computer rdp.jas.life sitemap.aesthetic.computer sitemap.prompt.ac sotce.net top.kidlisp.com tv.whistlegraph.org whistlegraph.org www.aesel.app www.aesthetic.computer www.jas.life www.justanothersystem.org www.kidlisp.com www.laklok.com www.menuband.app www.mime.ac www.nopaint.art www.notepat.com www.oskiewar.com www.prompt.ac www.quiltnet.org www.sotce.net www.whistlegraph.org + @machine_host host aesel.app aesthetic.computer api.aesthetic.computer api.prompt.ac bills.aesthetic.computer buy.kidlisp.com calm.kidlisp.com data.aesthetic.computer device.kidlisp.com feed.aesthetic.computer give.aesthetic.computer jas.life justanothersystem.org keep.kidlisp.com keeps.kidlisp.com kidlisp.com l5.aesthetic.computer l5.prompt.ac laklok.com learn.kidlisp.com menuband.app midi.oskiewar.com mime.ac nela.aesthetic.computer news.aesthetic.computer nft.aesthetic.computer nopaint.art notepat.com oskiewar.com p5.aesthetic.computer p5.prompt.ac pals.aesthetic.computer papers.aesthetic.computer papers.prompt.ac pj.kidlisp.com pop.aesthetic.computer processing.aesthetic.computer processing.prompt.ac prompt.ac quiltnet.org rdp.aesthetic.computer rdp.jas.life sitemap.aesthetic.computer sitemap.prompt.ac sotce.net top.kidlisp.com tv.whistlegraph.org whistlegraph.app whistlegraph.org www.aesel.app www.aesthetic.computer www.jas.life www.justanothersystem.org www.kidlisp.com www.laklok.com www.menuband.app www.mime.ac www.nopaint.art www.notepat.com www.oskiewar.com www.prompt.ac www.quiltnet.org www.sotce.net www.whistlegraph.app www.whistlegraph.org header @machine_host +Link "; rel=\"describedby\"; type=\"text/plain\"" @machine_readme { - host aesel.app aesthetic.computer api.aesthetic.computer api.prompt.ac bills.aesthetic.computer buy.kidlisp.com calm.kidlisp.com data.aesthetic.computer device.kidlisp.com feed.aesthetic.computer give.aesthetic.computer jas.life justanothersystem.org keep.kidlisp.com keeps.kidlisp.com kidlisp.com l5.aesthetic.computer l5.prompt.ac laklok.com learn.kidlisp.com menuband.app midi.oskiewar.com mime.ac nela.aesthetic.computer news.aesthetic.computer nft.aesthetic.computer nopaint.art notepat.com oskiewar.com p5.aesthetic.computer p5.prompt.ac pals.aesthetic.computer papers.aesthetic.computer papers.prompt.ac pj.kidlisp.com pop.aesthetic.computer processing.aesthetic.computer processing.prompt.ac prompt.ac quiltnet.org rdp.aesthetic.computer rdp.jas.life sitemap.aesthetic.computer sitemap.prompt.ac sotce.net top.kidlisp.com tv.whistlegraph.org whistlegraph.org www.aesel.app www.aesthetic.computer www.jas.life www.justanothersystem.org www.kidlisp.com www.laklok.com www.menuband.app www.mime.ac www.nopaint.art www.notepat.com www.oskiewar.com www.prompt.ac www.quiltnet.org www.sotce.net www.whistlegraph.org + host aesel.app aesthetic.computer api.aesthetic.computer api.prompt.ac bills.aesthetic.computer buy.kidlisp.com calm.kidlisp.com data.aesthetic.computer device.kidlisp.com feed.aesthetic.computer give.aesthetic.computer jas.life justanothersystem.org keep.kidlisp.com keeps.kidlisp.com kidlisp.com l5.aesthetic.computer l5.prompt.ac laklok.com learn.kidlisp.com menuband.app midi.oskiewar.com mime.ac nela.aesthetic.computer news.aesthetic.computer nft.aesthetic.computer nopaint.art notepat.com oskiewar.com p5.aesthetic.computer p5.prompt.ac pals.aesthetic.computer papers.aesthetic.computer papers.prompt.ac pj.kidlisp.com pop.aesthetic.computer processing.aesthetic.computer processing.prompt.ac prompt.ac quiltnet.org rdp.aesthetic.computer rdp.jas.life sitemap.aesthetic.computer sitemap.prompt.ac sotce.net top.kidlisp.com tv.whistlegraph.org whistlegraph.app whistlegraph.org www.aesel.app www.aesthetic.computer www.jas.life www.justanothersystem.org www.kidlisp.com www.laklok.com www.menuband.app www.mime.ac www.nopaint.art www.notepat.com www.oskiewar.com www.prompt.ac www.quiltnet.org www.sotce.net www.whistlegraph.app www.whistlegraph.org path /llms.txt } handle @machine_readme { @@ -1511,6 +1513,7 @@ www.aesel.app { # Whistlegraph's iPhone app. DNS-only records require a public certificate; # a distinct TLS policy prevents the origin-certificate catch-all from winning. whistlegraph.app { + import machine_discovery tls { protocols tls1.2 tls1.3 issuer acme { diff --git a/system/public/machine/whistlegraph.app.txt b/system/public/machine/whistlegraph.app.txt new file mode 100644 index 0000000000..f228feccdc --- /dev/null +++ b/system/public/machine/whistlegraph.app.txt @@ -0,0 +1,14 @@ +# Whistlegraph for iPhone + +> Make playful software with drawing, speech and typed requests. + +Early access is by invitation. The website offers an email request; no public App Store or TestFlight download is advertised yet. + +## Resources + +- [Website](https://whistlegraph.app/): Public entry point. +- [Whistlegraph art archive](https://whistlegraph.org/): The drawing and singing practice behind the app. + +## Network + +- [Aesthetic Computer machine directory](https://aesthetic.computer/network.json): Public properties, descriptions and machine entry points. diff --git a/system/public/network.json b/system/public/network.json index 59ae4c920d..2dddbcec2b 100644 --- a/system/public/network.json +++ b/system/public/network.json @@ -50,6 +50,28 @@ } ] }, + { + "url": "https://whistlegraph.app/", + "title": "Whistlegraph for iPhone", + "summary": "Make playful software with drawing, speech and typed requests.", + "llms": "https://whistlegraph.app/llms.txt", + "aliases": [ + "www.whistlegraph.app" + ], + "note": "Early access is by invitation. The website offers an email request; no public App Store or TestFlight download is advertised yet.", + "resources": [ + { + "title": "Website", + "url": "https://whistlegraph.app/", + "description": "Public entry point." + }, + { + "title": "Whistlegraph art archive", + "url": "https://whistlegraph.org/", + "description": "The drawing and singing practice behind the app." + } + ] + }, { "url": "https://prompt.ac/", "title": "Prompt", diff --git a/utilities/machine-properties.mjs b/utilities/machine-properties.mjs index 42569d1556..dcdce127bf 100644 --- a/utilities/machine-properties.mjs +++ b/utilities/machine-properties.mjs @@ -11,6 +11,7 @@ const property = (host, title, summary, links = [], options = {}) => ({host, tit export const properties = [ property("aesthetic.computer", "Aesthetic Computer", "Creative computing with JavaScript pieces and KidLisp.", [api, docs, source], {file: "llms.txt", aliases: ["www.aesthetic.computer"]}), property("whistlegraph.org", "Whistlegraph", "An index of drawing, singing and graphic scores.", [], {file: "whistlegraph.org/llms.txt", aliases: ["www.whistlegraph.org"]}), + property("whistlegraph.app", "Whistlegraph for iPhone", "Make playful software with drawing, speech and typed requests.", [["Whistlegraph art archive", "https://whistlegraph.org/", "The drawing and singing practice behind the app."]], {aliases: ["www.whistlegraph.app"], note: "Early access is by invitation. The website offers an email request; no public App Store or TestFlight download is advertised yet."}), property("prompt.ac", "Prompt", "A fast HTML prompt for navigating Aesthetic Computer pieces and Whistlegraph works.", [["Piece catalog", `${ac}/llms-full.txt`, "Piece names, links, source and advertised controls."], ["Whistlegraph commands", "https://whistlegraph.org/api/commands", "Public JSON command feed."], ["Aesel terminal release", "https://prompt.ac/aesel.json", "Current terminal version, archive and checksum."], source], {aliases: ["www.prompt.ac"]}), property("aesel.app", "Aesel", "An assistant for making and publishing Aesthetic Computer pieces.", [["Browser app", "https://aesel.app/try/", "Sign in with an Aesthetic Computer account and handle to make pieces using AC braincells."], ["Mac release manifest", "https://releases.aesthetic.computer/aesel/mac/latest.json", "Current signed Mac release and SHA-256 checksum; follow its dmg field."], ["Windows release manifest", "https://releases.aesthetic.computer/aesel/windows/latest.json", "Current Windows x64 beta installer, SHA-256 checksum and signing status. AC braincells; vendor CLI providers and automatic updating are not included."], ["Terminal release manifest", "https://prompt.ac/aesel.json", "Current terminal build and archive."], ["Support", "https://aesel.app/support.html", "Supported workflows and help."], ["Privacy", "https://aesel.app/privacy.html", "Data handling."], docs], {aliases: ["www.aesel.app"], note: "Use the release manifests for current versions; do not infer support or availability from an old download filename. Account notebooks and provider credentials are not public resources."}), property("kidlisp.com", "KidLisp", "A browser editor for a Lisp dialect for generative art, running on Aesthetic Computer.", [["Learn", "https://learn.kidlisp.com/", "Language lessons and examples."], ["Runtime reference", `${ac}/aesthetic.computer/lib/kidlisp.mjs`, "Published interpreter source."], ["Remote MCP", `${ac}/mcp`, "Existing JSON-RPC endpoint with KidLisp validation, examples and publishing tools."], api], {aliases: ["www.kidlisp.com"]}),