Files
cdn/hanzo/market/tools/generic-application-launcher.json
zeekayandHanzo Dev edabf3842c feat(market): real catalog, verifiable versioning, purge-on-deploy
The Market read plane is files and nothing else. This makes that actually true
and actually deployable.

Catalog: was 10 mock "zoo-eco-agent" placeholders + 5 mock tools, which every
app would have shown to every user. Now generated from the curated flatfile
catalog (hanzoai/store data/{agents,tools}) -> 23 agents + 179 tools, each with
its own detail document. Drops purchases.json: per-user state has no business
on a public CDN. Strips upstream icon URLs, which are expired presigned R2 links
that carry an AWS credential + signature in the query string.

Versioning: index.json gains `schema` (breaking-shape gate, so a client that
does not recognise it keeps its bundle) and a `version` that is a content digest
over every served document. It changes iff what we serve changes, which is what
makes a deploy checkable rather than hopeful.

One writer: gen-market.py -> market.py with `gen` and `check`. It emits the CDN
documents AND each app's offline bundle, so the two cannot disagree about the
schema; `check` re-derives the digest and validates counts, ids, dangling
featured references and per-tool details, with no network and no other checkout.

Deploy: upload, then purge the Cloudflare edge for exactly the URLs written,
then verify the live manifest matches the repo and fail if it does not. Also
resolves wrangler once instead of re-resolving it per object.

CI: hanzo.yml + a 7-line cicd.yml importing hanzoai/ci. Static assets, so no
images:/deploy: — test: is the gate.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-27 20:40:33 -07:00

51 lines
3.3 KiB
JSON

{
"author": "hanzo.ai",
"category": {
"description": "",
"examples": "",
"id": "utilities",
"name": "Utilities"
},
"changelog": "",
"created_at": "2025-05-09T10:28:51.638Z",
"description": "This tool launches a specified application to open a designated file or directory.\nYou provide the path to the executable (e.g., 'notepad.exe', 'C:\\Program Files\\RStudio\\rstudio.exe'), the path to the file or directory you want it to open (e.g., 'path_to\\personal_notes.txt', 'path_to\\R_project_directory'), and any optional additional command-line arguments.\nThe tool reports success, the process ID (PID), and the command executed.\n\nPrompt Examples:\n\n1. Open a text file with Notepad (Windows)\n\nTo open the text file C:\\Users\\YourUser\\Documents\\personal_notes.txt using notepad.exe:\n\nexecutable_path: \"notepad.exe\"\nfile_to_open_path: \"C:\\\\Users\\\\YourUser\\\\Documents\\\\personal_notes.txt\"\nadditional_args: []\n\n2. Open an R project directory with RStudio (Windows)\n\nTo open the R project located in the directory D:\\Work\\R_Projects\\Customer_Churn_Analysis using a specific RStudio installation:\n\nexecutable_path: \"C:\\\\Program Files\\\\RStudio\\\\rstudio.exe\"\nfile_to_open_path: \"D:\\\\Work\\\\R_Projects\\\\Customer_Churn_Analysis\"\nadditional_args: []\n\n3. Open a document with LibreOffice Writer (Windows)\n\nTo open the document C:\\Shared\\TeamReports\\Q3_Summary.docx using a specific LibreOffice Writer installation, perhaps with an argument to open it read-only (if supported, e.g., --view or similar, specific arguments depend on the application):\n\nexecutable_path: \"C:\\\\Program Files\\\\LibreOffice\\\\program\\\\swriter.exe\"\nfile_to_open_path: \"C:\\\\Shared\\\\TeamReports\\\\Q3_Summary.docx\"\nadditional_args: [\"--view\"]\n(Note: --view is an example; actual read-only flags vary by application. For simple opening, [] is fine.)\n\n4. Open an image file with Microsoft Paint (Windows)\n\nTo open the image C:\\MyPictures\\Holiday\\beach.jpg using mspaint.exe:\n\nexecutable_path: \"mspaint.exe\"\nfile_to_open_path: \"C:\\\\MyPictures\\\\Holiday\\\\beach.jpg\"\nadditional_args: []\n\n5. Open an R script with RStudio and additional options (assuming 'rstudio' is in PATH)\n\nTo open the R script /home/data_scientist/projects/my_analysis_v2.R using the rstudio command, without restoring the previous workspace or environment:\n\nexecutable_path: \"rstudio\"\nfile_to_open_path: \"/home/data_scientist/projects/my_analysis_v2.R\"\nadditional_args: [\"--no-restore-workspace\", \"--no-environ\"]",
"downloads": 6,
"icon_url": "",
"id": "generic-application-launcher",
"install_command": "",
"license": "MIT",
"mcp_config": {
"args": [
"local:::__gilles_test2_sep_shinkai:::generic_application_launcher"
],
"command": "any",
"env": {}
},
"name": "Generic Application Launcher",
"operating_system": [
"linux",
"macos",
"windows"
],
"path": "/tools/generic-application-launcher",
"price": 0,
"readme": "",
"repository": "github.com/hanzoai/tools",
"router_key": "@hanzo/generic-application-launcher",
"runner": "any",
"screenshots": [],
"tags": [
"software",
"launcher",
"process",
"executable",
"open",
"application",
"run",
"app"
],
"type": "Tool",
"updated_at": "2025-05-09T10:28:51.638Z",
"version": "1.0.0"
}