Skip to content

Commit 64c0a56

Browse files
authored
catalogue: sixtyfour v2 bundles map (fix macOS + Linux install) (#306)
1 parent 124e573 commit 64c0a56

3 files changed

Lines changed: 47 additions & 14 deletions

File tree

catalogue/README.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,16 @@ fields stay required. `pilotctl` decodes the index directly into
5858
`catalogueEntry` in `cmd/pilotctl/appstore_catalogue.go` — any field added
5959
here must also land there.
6060

61-
`bundles` (v3) is the per-platform map keyed by `"os/arch"`. When present,
62-
`install` picks the host's entry and **errors** if the host platform isn't
63-
listed (rather than installing a binary that can't exec). `bundle_url` /
64-
`bundle_sha256` stay as the back-compat primary (linux/amd64) that pre-v3
65-
clients fetch, so a `bundles`-bearing entry still installs on old `pilotctl`
66-
for that one platform. An entry that omits `bundles` behaves exactly as v1/v2
67-
(single-platform, top-level `bundle_url`).
61+
`bundles` is the per-platform map keyed by `"os/arch"`. It is an **optional v2
62+
field — keep `"version": 2`, do NOT bump to 3.** `loadCatalogue` fail-closes on
63+
any version other than 1 or 2, so a version-3 catalogue is rejected wholesale by
64+
every client; `bundles` follows the same optional-field rule as the other v2
65+
additions. When present, a bundles-aware client (`pilotctl` ≥ v1.12.0) picks the
66+
host's entry; older clients ignore the map and fetch the top-level `bundle_url`.
67+
`bundle_url` / `bundle_sha256` stay as the back-compat primary (linux/amd64) so a
68+
`bundles`-bearing entry still installs on pre-v1.12 `pilotctl` for that one
69+
platform. An entry that omits `bundles` behaves exactly as before (single-platform,
70+
top-level `bundle_url`).
6871

6972
## Detail schema (`apps/<id>/metadata.json`)
7073

catalogue/catalogue.json

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
"bundle_sha256": "8d30b4331bc025c327dd2d8610362984cc9365843176e21b96a2637d8e18ff54",
1111
"display_name": "Wallet",
1212
"vendor": "Pilot Protocol",
13-
"categories": ["payments", "crypto", "finance"],
13+
"categories": [
14+
"payments",
15+
"crypto",
16+
"finance"
17+
],
1418
"bundle_size": 9110758,
1519
"source_url": "https://github.com/pilot-protocol/wallet",
1620
"license": "AGPL-3.0-or-later",
@@ -25,7 +29,11 @@
2529
"bundle_sha256": "faf60deeaa9a29298b447f7f0276f1bd4523af86390cf65c677452dc9718d5a0",
2630
"display_name": "Cosift",
2731
"vendor": "Pilot Protocol",
28-
"categories": ["search", "research", "retrieval"],
32+
"categories": [
33+
"search",
34+
"research",
35+
"retrieval"
36+
],
2937
"bundle_size": 4774876,
3038
"source_url": "https://github.com/pilot-protocol/cosift",
3139
"license": "MIT",
@@ -36,16 +44,38 @@
3644
"id": "io.pilot.sixtyfour",
3745
"version": "0.1.0",
3846
"description": "Sixtyfour is the app-store front door for the Sixtyfour people-intelligence and company-intelligence API. It gives an agent contact discovery (find email / find phone), reverse lookups from an email or phone, full person and company enrichment, and an agentic QA researcher that answers free-form questions about a person or company. All returned as clean structured JSON, every field source-backed.",
39-
"bundle_url": "https://github.com/pilot-protocol/catalog/releases/download/sixtyfour-v0.1.0/io.pilot.sixtyfour-0.1.0.tar.gz",
40-
"bundle_sha256": "b259f6a3b84fe16043cb972985efcdcb3d568174ac3c8a4129d551ec8ca9a712",
47+
"bundle_url": "https://github.com/pilot-protocol/catalog/releases/download/sixtyfour-v0.1.0/io.pilot.sixtyfour-0.1.0-linux-amd64.tar.gz",
48+
"bundle_sha256": "7508bb88b18a7d4b7302a9e14c9874c3bc23d8e4ed5edd0d45140a2479e07868",
4149
"display_name": "Sixtyfour",
4250
"vendor": "Sixtyfour",
43-
"categories": ["data", "enrichment", "sales-intelligence"],
51+
"categories": [
52+
"data",
53+
"enrichment",
54+
"sales-intelligence"
55+
],
4456
"bundle_size": 4898153,
4557
"source_url": "https://docs.sixtyfour.ai",
4658
"license": "Proprietary",
4759
"metadata_url": "https://raw.githubusercontent.com/pilot-protocol/pilotprotocol/main/catalogue/apps/io.pilot.sixtyfour/metadata.json",
48-
"metadata_sha256": "32512d7d401f0578e4aded373694c588b205bdea9f00d6d90618687b5df95e6d"
60+
"metadata_sha256": "32512d7d401f0578e4aded373694c588b205bdea9f00d6d90618687b5df95e6d",
61+
"bundles": {
62+
"linux/amd64": {
63+
"bundle_url": "https://github.com/pilot-protocol/catalog/releases/download/sixtyfour-v0.1.0/io.pilot.sixtyfour-0.1.0-linux-amd64.tar.gz",
64+
"bundle_sha256": "7508bb88b18a7d4b7302a9e14c9874c3bc23d8e4ed5edd0d45140a2479e07868"
65+
},
66+
"linux/arm64": {
67+
"bundle_url": "https://github.com/pilot-protocol/catalog/releases/download/sixtyfour-v0.1.0/io.pilot.sixtyfour-0.1.0-linux-arm64.tar.gz",
68+
"bundle_sha256": "54298610357c9d69060d066b75096bca43fc3014026cdbd7194b766ffc3a1ffc"
69+
},
70+
"darwin/arm64": {
71+
"bundle_url": "https://github.com/pilot-protocol/catalog/releases/download/sixtyfour-v0.1.0/io.pilot.sixtyfour-0.1.0-darwin-arm64.tar.gz",
72+
"bundle_sha256": "98d44f7138843bf72665bf4a49b6157ed95bb64ae24f21f0577cbc51e3abd493"
73+
},
74+
"darwin/amd64": {
75+
"bundle_url": "https://github.com/pilot-protocol/catalog/releases/download/sixtyfour-v0.1.0/io.pilot.sixtyfour-0.1.0-darwin-amd64.tar.gz",
76+
"bundle_sha256": "d970483e9cad84207f853d681cc810e954e236acd5e410b402880dc4d8304aa2"
77+
}
78+
}
4979
}
5080
]
5181
}

catalogue/catalogue.json.sig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
zyCgPzwS0Ecvlpc4IdtDFJ+pWxxeUqK4MDx7u4RGEMboUuv737um3ed8P22V5gmYu30YW9zy3X8bVdXRA8V2CQ==
1+
Q/l0OEbbuuEL5ViogHnrggis1OEUTK0YVKcCytFrLj0T9s0sB2fEo48GckCzopulC8cg+E9qZdl8Pk8VnpkGDw==

0 commit comments

Comments
 (0)