From 73de3cec8674e428e9f43e1c413a7ec118378986 Mon Sep 17 00:00:00 2001 From: Alex Godoroja Date: Wed, 15 Jul 2026 20:27:43 +0000 Subject: [PATCH] catalogue: io.pilot.bowmark v0.1.0 (rich, from R2) --- catalogue/apps/io.pilot.bowmark/metadata.json | 73 ++++++++++++++++++- catalogue/catalogue.json | 73 +++++++++---------- catalogue/catalogue.json.sig | 2 +- 3 files changed, 104 insertions(+), 44 deletions(-) diff --git a/catalogue/apps/io.pilot.bowmark/metadata.json b/catalogue/apps/io.pilot.bowmark/metadata.json index 5eb8a8c4..aff73ac0 100644 --- a/catalogue/apps/io.pilot.bowmark/metadata.json +++ b/catalogue/apps/io.pilot.bowmark/metadata.json @@ -31,7 +31,7 @@ "scraping" ], "size": { - "bundle_bytes": 5070050, + "bundle_bytes": 5070051, "installed_bytes": 9105408 }, "compat": { @@ -65,9 +65,74 @@ } ], "links": [ - { "label": "Source", "url": "https://github.com/bowmark-ai/plugin" }, - { "label": "Website", "url": "https://bowmark.ai" } + { + "label": "Source", + "url": "https://github.com/bowmark-ai/plugin" + }, + { + "label": "Website", + "url": "https://bowmark.ai" + } ], "published_at": "2026-07-06", - "updated_at": "2026-07-06" + "updated_at": "2026-07-06", + "product_demo": { + "skill": "io.pilot.bowmark", + "title": "Full usage demo", + "when_to_use": "When your agent is about to act on a known public website — call bowmark.ask({site, task}) first to get a ready-to-run URL shortcut or UI procedure instead of exploring the DOM.", + "metered": true, + "quickstart": { + "goal": "Get a navigation cheatsheet for a site + task", + "command": "pilotctl appstore call io.pilot.bowmark bowmark.ask '{\"site\":\"sec.gov\",\"task\":\"find Apple's latest 10-K filing\"}'", + "expect": "{\"status\":\"ok\",\"id\":\"...\",\"shortcut\":{\"template\":\"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK={ticker}&type=10-K\"}}" + }, + "examples": [ + { + "title": "Ask for a UI procedure on a product surface", + "goal": "Scope with a path to skip the ambiguous_scope round-trip", + "command": "pilotctl appstore call io.pilot.bowmark bowmark.ask '{\"site\":\"google.com/maps\",\"task\":\"get directions from SFO to downtown\"}'", + "expect": "{\"status\":\"ok\",\"id\":\"...\",\"ui_procedure\":{\"steps\":[...]}}" + }, + { + "title": "Request the signed-in surface", + "command": "pilotctl appstore call io.pilot.bowmark bowmark.ask '{\"site\":\"github.com\",\"task\":\"create a new private repo\",\"variants\":{\"auth_state\":\"logged_in\",\"role\":\"owner\"}}'", + "expect": "{\"status\":\"ok\",\"id\":\"...\",\"ui_procedure\":{\"steps\":[...]},\"variants_assumed\":{...}}" + }, + { + "title": "Report the outcome to keep cheatsheets fresh", + "goal": "success=true only if every step ran clean — no retries or extra clicks", + "command": "pilotctl appstore call io.pilot.bowmark bowmark.report_outcome '{\"envelope_id\":\"\",\"success\":true}'", + "expect": "{\"id\":\"...\"}" + } + ], + "cost": { + "unit": "requests (managed key, currently unmetered)", + "free_budget": "managed — no per-user charge today", + "hard_cap_usd": 0, + "operations": [ + { + "op": "bowmark.ask", + "price": "free", + "note": "the nav-recipe call (POST /v1/ask); managed key, no per-op meter currently" + }, + { + "op": "bowmark.report_outcome", + "price": "free", + "note": "feedback that triggers a re-crawl; no charge" + } + ], + "worked_total": "Managed key with quota 0 — there is no per-user dollar charge today; both methods are free to call." + }, + "gotchas": [ + "Put intent in `task`, never a URL — 'find Apple's latest 10-K', not a link.", + "Execute the cheatsheet open-loop — don't re-snapshot the DOM to verify what it already documents.", + "A step flagged `irreversible` needs user confirmation; `requires_user_input` means stop and ask.", + "report_outcome success=false on ANY deviation (a retry, raw-JS fallback, extra click) even if you got the answer.", + "Non-ok statuses (no_useful_data / site_not_supported / ambiguous_scope / rate_limited) → browse manually or retry with scopeHint.", + "Skip Bowmark for localhost, RFC1918 IPs, and open-ended search with no destination." + ], + "next": [ + "io.pilot.bowmark bowmark.help '{}'" + ] + } } diff --git a/catalogue/catalogue.json b/catalogue/catalogue.json index f1fe2e3c..1e288fd6 100644 --- a/catalogue/catalogue.json +++ b/catalogue/catalogue.json @@ -462,45 +462,6 @@ ], "publisher": "ed25519:54rnZ8+dN9V2cxZMJLMQKt36oYP/CfhF/zIgJMkjLIQ=" }, - { - "id": "io.pilot.bowmark", - "version": "0.1.0", - "description": "Navigation cheatsheets for public websites, so agents run cheaper, faster, and more accurately. Call ask({site, task}) before any browser action to get a ready-to-run cheatsheet — a parameterized URL shortcut and/or a short UI procedure to execute open-loop — instead of exploring the DOM; then report_outcome to keep them fresh. Free to use — no signup, no API key.", - "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-linux-amd64.tar.gz", - "bundle_sha256": "af6f94bd8dd1ec2143d6d791205539f3b8ebeab94585d6f29552747de32cf997", - "display_name": "Bowmark", - "vendor": "Bowmark AI", - "categories": [ - "web", - "browser", - "agents", - "automation" - ], - "bundle_size": 5070051, - "source_url": "https://github.com/bowmark-ai/plugin", - "license": "Proprietary", - "metadata_url": "https://raw.githubusercontent.com/pilot-protocol/pilotprotocol/main/catalogue/apps/io.pilot.bowmark/metadata.json", - "metadata_sha256": "c90576c9fa3a62100e263215ff771dc4b92966bced0be237e530f20c2d346c7e", - "bundles": { - "linux/amd64": { - "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-linux-amd64.tar.gz", - "bundle_sha256": "af6f94bd8dd1ec2143d6d791205539f3b8ebeab94585d6f29552747de32cf997" - }, - "linux/arm64": { - "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-linux-arm64.tar.gz", - "bundle_sha256": "aeb587e89701bdc121717893562bfe50578a9b7235373fa93fd4c868ddacb928" - }, - "darwin/arm64": { - "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-darwin-arm64.tar.gz", - "bundle_sha256": "c30336813659d2647164b519cd987a0a2b4d362bc985a30e3842903ab5fdb7e7" - }, - "darwin/amd64": { - "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-darwin-amd64.tar.gz", - "bundle_sha256": "ac71dfcbf72966eec95e3f8b6e4577c10a7fef62952b771e9dc765080613a23b" - } - }, - "publisher": "ed25519:Lmf0vzz0CNPu94pbqsbD/ueSuOaKsGc0xU/DoL+Yu7c=" - }, { "id": "io.pilot.sqlite", "version": "3.45.2", @@ -776,6 +737,40 @@ } }, "publisher": "ed25519:BAsg7bdd2t0V9tFCkXRCWRgIdEuuWtJVEjjZp8HBgEg=" + }, + { + "id": "io.pilot.bowmark", + "version": "0.1.0", + "description": "Navigation cheatsheets for public websites, so agents run cheaper, faster, and more accurately. Call bowmark.ask({site, task}) before any browser action to get a ready-to-run cheatsheet — a parameterized URL shortcut and/or a short UI procedure to execute open-loop — instead of exploring the DOM; then bowmark.report_outcome to keep the cheatsheets fresh.", + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-linux-amd64.tar.gz", + "bundle_sha256": "af6f94bd8dd1ec2143d6d791205539f3b8ebeab94585d6f29552747de32cf997", + "display_name": "Bowmark", + "vendor": "Bowmark AI", + "categories": [], + "bundle_size": 5070051, + "source_url": "https://github.com/pilot-protocol/app-template/tree/main/submissions/io.pilot.bowmark", + "license": "", + "metadata_url": "https://raw.githubusercontent.com/pilot-protocol/pilotprotocol/main/catalogue/apps/io.pilot.bowmark/metadata.json", + "metadata_sha256": "99ba58fffca89ae05772adae2021bc0c4a71ca13cd2f04aee216951c8f07061e", + "bundles": { + "linux/amd64": { + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-linux-amd64.tar.gz", + "bundle_sha256": "af6f94bd8dd1ec2143d6d791205539f3b8ebeab94585d6f29552747de32cf997" + }, + "linux/arm64": { + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-linux-arm64.tar.gz", + "bundle_sha256": "aeb587e89701bdc121717893562bfe50578a9b7235373fa93fd4c868ddacb928" + }, + "darwin/amd64": { + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-darwin-amd64.tar.gz", + "bundle_sha256": "ac71dfcbf72966eec95e3f8b6e4577c10a7fef62952b771e9dc765080613a23b" + }, + "darwin/arm64": { + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.bowmark/0.1.0/io.pilot.bowmark-0.1.0-darwin-arm64.tar.gz", + "bundle_sha256": "c30336813659d2647164b519cd987a0a2b4d362bc985a30e3842903ab5fdb7e7" + } + }, + "publisher": "ed25519:Lmf0vzz0CNPu94pbqsbD/ueSuOaKsGc0xU/DoL+Yu7c=" } ] } diff --git a/catalogue/catalogue.json.sig b/catalogue/catalogue.json.sig index 1e892a3a..ca881001 100644 --- a/catalogue/catalogue.json.sig +++ b/catalogue/catalogue.json.sig @@ -1 +1 @@ -IcWEYl+PRCPCU/osMH3fk+Xop6Hax+htirANCxPmpBcldHjWJwrnTZjBNy5/ueJEvLERAwFBuVrMvcIAv0QXCg== +S6hqVXc48/9KfOvgN1ZZkxiOP4AqfW0TkOZIaFXMom8Ny1OPVz3A+eZs6LhkS3FbaDZhPFB4gv6ycPcd7wkkBQ==