claudekit-cli 3.41.4-dev.39 → 3.41.4-dev.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +29 -17
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -60747,7 +60747,7 @@ var package_default;
60747
60747
  var init_package = __esm(() => {
60748
60748
  package_default = {
60749
60749
  name: "claudekit-cli",
60750
- version: "3.41.4-dev.39",
60750
+ version: "3.41.4-dev.40",
60751
60751
  description: "CLI tool for bootstrapping and updating ClaudeKit projects",
60752
60752
  type: "module",
60753
60753
  repository: {
@@ -79144,17 +79144,12 @@ function launchDesktopApp(binaryPath, options2 = {}) {
79144
79144
  }
79145
79145
  // src/domains/desktop/desktop-release-service.ts
79146
79146
  init_version_utils();
79147
- var DESKTOP_RELEASE_REPOSITORY = "https://github.com/mrgoonie/claudekit-cli/releases/download";
79148
- function getDesktopManifestUrl(opts) {
79149
- const version = opts?.version;
79150
- const channel = opts?.channel ?? "stable";
79151
- let tag;
79152
- if (version) {
79153
- tag = `desktop-v${version}`;
79154
- } else {
79155
- tag = channel === "dev" ? "desktop-latest-dev" : "desktop-latest";
79156
- }
79157
- return `${DESKTOP_RELEASE_REPOSITORY}/${tag}/desktop-manifest.json`;
79147
+ var GITHUB_API_REPO = "https://api.github.com/repos/mrgoonie/claudekit-cli";
79148
+ var MANIFEST_ASSET_NAME = "desktop-manifest.json";
79149
+ function resolveTag(opts) {
79150
+ if (opts?.version)
79151
+ return `desktop-v${opts.version}`;
79152
+ return (opts?.channel ?? "stable") === "dev" ? "desktop-latest-dev" : "desktop-latest";
79158
79153
  }
79159
79154
  function resolveManifestChannel(rawManifest, opts) {
79160
79155
  if (rawManifest && typeof rawManifest === "object" && "channel" in rawManifest) {
@@ -79174,12 +79169,29 @@ function resolveManifestChannel(rawManifest, opts) {
79174
79169
  }
79175
79170
  return "stable";
79176
79171
  }
79177
- async function fetchDesktopReleaseManifest(opts, fetchFn = globalThis.fetch) {
79178
- const response = await fetchFn(getDesktopManifestUrl(opts));
79179
- if (!response.ok) {
79180
- throw new Error(`Failed to fetch desktop manifest: ${response.status} ${response.statusText}`);
79172
+ async function fetchManifestViaApi(tag, fetchFn) {
79173
+ const tagRes = await fetchFn(`${GITHUB_API_REPO}/releases/tags/${tag}`, {
79174
+ headers: { Accept: "application/vnd.github+json" }
79175
+ });
79176
+ if (!tagRes.ok) {
79177
+ throw new Error(`Failed to resolve desktop release tag ${tag}: ${tagRes.status} ${tagRes.statusText}`);
79178
+ }
79179
+ const tagBody = await tagRes.json();
79180
+ const asset = tagBody.assets?.find((a3) => a3.name === MANIFEST_ASSET_NAME);
79181
+ if (!asset?.id) {
79182
+ throw new Error(`Release tag ${tag} has no ${MANIFEST_ASSET_NAME} asset`);
79181
79183
  }
79182
- const rawManifest = await response.json();
79184
+ const assetRes = await fetchFn(`${GITHUB_API_REPO}/releases/assets/${asset.id}`, {
79185
+ headers: { Accept: "application/octet-stream" }
79186
+ });
79187
+ if (!assetRes.ok) {
79188
+ throw new Error(`Failed to fetch desktop manifest asset ${asset.id}: ${assetRes.status} ${assetRes.statusText}`);
79189
+ }
79190
+ return assetRes.json();
79191
+ }
79192
+ async function fetchDesktopReleaseManifest(opts, fetchFn = globalThis.fetch) {
79193
+ const tag = resolveTag(opts);
79194
+ const rawManifest = await fetchManifestViaApi(tag, fetchFn);
79183
79195
  const manifestRecord = rawManifest && typeof rawManifest === "object" ? rawManifest : { value: rawManifest };
79184
79196
  return parseDesktopReleaseManifest({
79185
79197
  ...manifestRecord,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudekit-cli",
3
- "version": "3.41.4-dev.39",
3
+ "version": "3.41.4-dev.40",
4
4
  "description": "CLI tool for bootstrapping and updating ClaudeKit projects",
5
5
  "type": "module",
6
6
  "repository": {