fss-link 1.4.3 → 1.4.4

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/bundle/fss-link.js +61 -19
  2. package/package.json +1 -1
@@ -22379,7 +22379,7 @@ async function createContentGeneratorConfig(config, authType) {
22379
22379
  async function createContentGenerator(config, gcConfig, sessionId2) {
22380
22380
  if (DEBUG_CONTENT)
22381
22381
  console.log(`\u{1F41B} DEBUG createContentGenerator: authType=${config.authType}, apiKey=${config.apiKey}, baseUrl=${config.baseUrl}`);
22382
- const version = "1.4.3";
22382
+ const version = "1.4.4";
22383
22383
  const userAgent = `FSS-Link/${version} (${process.platform}; ${process.arch})`;
22384
22384
  const baseHeaders = {
22385
22385
  "User-Agent": userAgent
@@ -96074,7 +96074,7 @@ async function getPackageJson() {
96074
96074
  // packages/cli/src/utils/version.ts
96075
96075
  async function getCliVersion() {
96076
96076
  const pkgJson = await getPackageJson();
96077
- return "1.4.3";
96077
+ return "1.4.4";
96078
96078
  }
96079
96079
 
96080
96080
  // packages/cli/src/ui/commands/aboutCommand.ts
@@ -96126,7 +96126,7 @@ import open4 from "open";
96126
96126
  import process11 from "node:process";
96127
96127
 
96128
96128
  // packages/cli/src/generated/git-commit.ts
96129
- var GIT_COMMIT_INFO = "7f17b88e";
96129
+ var GIT_COMMIT_INFO = "3df29013";
96130
96130
 
96131
96131
  // packages/cli/src/ui/commands/bugCommand.ts
96132
96132
  init_dist2();
@@ -120465,7 +120465,10 @@ async function fetchModelsFromCustomEndpoint(baseUrl, providerType, apiKey) {
120465
120465
  } catch (error) {
120466
120466
  if (error instanceof Error) {
120467
120467
  if (error.name === "AbortError") {
120468
- throw new Error("Connection timeout - endpoint took too long to respond");
120468
+ throw new Error("Connection timeout (10s) - endpoint did not respond");
120469
+ }
120470
+ if (error.message.includes("fetch failed")) {
120471
+ throw new Error(`Network error - cannot reach ${normalizedBase} (check URL and network)`);
120469
120472
  }
120470
120473
  throw error;
120471
120474
  }
@@ -120505,6 +120508,20 @@ function AddCustomEndpointDialog({
120505
120508
  }
120506
120509
  }, [step, url2, providerType, apiKey]);
120507
120510
  useInput4((input, key) => {
120511
+ if (key.escape && step !== "name" && step !== "model-fetch") {
120512
+ if (step === "url") {
120513
+ setStep("name");
120514
+ return;
120515
+ }
120516
+ if (step === "provider") {
120517
+ setStep("url");
120518
+ return;
120519
+ }
120520
+ if (step === "apikey") {
120521
+ setStep("provider");
120522
+ return;
120523
+ }
120524
+ }
120508
120525
  if (key.escape) {
120509
120526
  onCancel();
120510
120527
  return;
@@ -120546,7 +120563,23 @@ function AddCustomEndpointDialog({
120546
120563
  if (step === "model-fetch" && fetchError) {
120547
120564
  if (input === "r" || input === "R") {
120548
120565
  setFetchError(null);
120549
- setStep("model-fetch");
120566
+ setStep("apikey");
120567
+ setTimeout(() => setStep("model-fetch"), 10);
120568
+ return;
120569
+ }
120570
+ if (input === "u" || input === "U") {
120571
+ setFetchError(null);
120572
+ setStep("url");
120573
+ return;
120574
+ }
120575
+ if (input === "k" || input === "K") {
120576
+ setFetchError(null);
120577
+ setStep("apikey");
120578
+ return;
120579
+ }
120580
+ if (input === "p" || input === "P") {
120581
+ setFetchError(null);
120582
+ setStep("provider");
120550
120583
  return;
120551
120584
  }
120552
120585
  return;
@@ -120670,24 +120703,33 @@ function AddCustomEndpointDialog({
120670
120703
  return /* @__PURE__ */ jsxs22(Fragment4, { children: [
120671
120704
  /* @__PURE__ */ jsx24(Text26, { bold: true, color: Colors.AccentRed, children: "Connection Failed" }),
120672
120705
  /* @__PURE__ */ jsx24(Box19, { marginTop: 1, children: /* @__PURE__ */ jsxs22(Text26, { children: [
120673
- "Endpoint: ",
120674
- /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentGreen, children: name2 }),
120675
- " (",
120676
- url2,
120677
- ")"
120706
+ "Name: ",
120707
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentCyan, children: name2 })
120708
+ ] }) }),
120709
+ /* @__PURE__ */ jsx24(Box19, { marginTop: 1, children: /* @__PURE__ */ jsxs22(Text26, { children: [
120710
+ "URL: ",
120711
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentCyan, children: url2 })
120712
+ ] }) }),
120713
+ /* @__PURE__ */ jsx24(Box19, { marginTop: 1, children: /* @__PURE__ */ jsxs22(Text26, { children: [
120714
+ "Provider: ",
120715
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentCyan, children: providerOptions[selectedProviderIndex].label })
120716
+ ] }) }),
120717
+ /* @__PURE__ */ jsx24(Box19, { marginTop: 1, children: /* @__PURE__ */ jsxs22(Text26, { children: [
120718
+ "API Key: ",
120719
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentCyan, children: apiKey ? `${apiKey.substring(0, 20)}...` : "(none)" })
120678
120720
  ] }) }),
120679
120721
  /* @__PURE__ */ jsx24(Box19, { marginTop: 1, children: /* @__PURE__ */ jsxs22(Text26, { color: Colors.AccentRed, children: [
120680
- "Error: ",
120722
+ "\u2716 Error: ",
120681
120723
  fetchError
120682
120724
  ] }) }),
120683
- /* @__PURE__ */ jsx24(Box19, { marginTop: 1, children: /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentYellow, children: "Common issues:" }) }),
120684
- /* @__PURE__ */ jsxs22(Box19, { marginLeft: 2, flexDirection: "column", children: [
120685
- /* @__PURE__ */ jsx24(Text26, { children: "\u2022 Incorrect URL (verify /v1 suffix)" }),
120686
- /* @__PURE__ */ jsx24(Text26, { children: "\u2022 API key required but not provided" }),
120687
- /* @__PURE__ */ jsx24(Text26, { children: "\u2022 Endpoint not accessible from this machine" }),
120688
- /* @__PURE__ */ jsx24(Text26, { children: "\u2022 Firewall blocking connection" })
120689
- ] }),
120690
- /* @__PURE__ */ jsx24(Box19, { marginTop: 1, children: /* @__PURE__ */ jsx24(Text26, { color: Colors.Gray, children: "Press R to retry, Esc to cancel" }) })
120725
+ /* @__PURE__ */ jsx24(Box19, { marginTop: 1, children: /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentYellow, children: "What would you like to do?" }) }),
120726
+ /* @__PURE__ */ jsxs22(Box19, { marginTop: 1, flexDirection: "column", children: [
120727
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentGreen, children: " [U] Edit URL" }),
120728
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentGreen, children: " [K] Edit API Key" }),
120729
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentGreen, children: " [P] Change Provider Type" }),
120730
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.AccentBlue, children: " [R] Retry Connection" }),
120731
+ /* @__PURE__ */ jsx24(Text26, { color: Colors.Gray, children: " [Esc] Cancel and Exit" })
120732
+ ] })
120691
120733
  ] });
120692
120734
  }
120693
120735
  return /* @__PURE__ */ jsxs22(Fragment4, { children: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fss-link",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "engines": {
5
5
  "node": ">=20.0.0"
6
6
  },