@forgecharts/sdk 1.5.71 → 1.5.73

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.
@@ -187,7 +187,14 @@ export declare class PixiChart implements ChartBackend {
187
187
  private _handleDrawClick;
188
188
  private _buildDraftPreview;
189
189
  private _snapToBar;
190
- /** Convert a Timeframe string to seconds (internal helper). */
190
+ /**
191
+ * Convert a Timeframe string to seconds (internal helper).
192
+ *
193
+ * Delegates to the shared parser — this was one of three private maps, and
194
+ * the only one still keyed '1D'/'1W' uppercase, so canonical '1d' fell to
195
+ * the 3600 fallback here while '1D' fell to the 1m fallback everywhere
196
+ * else. One derivation, one dialect.
197
+ */
191
198
  private _tfToSeconds;
192
199
  private _resolveOptions;
193
200
  private _resolveColors;
@@ -1 +1 @@
1
- {"version":3,"file":"PixiChart.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiChart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PixiChart.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiChart.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PixiLastPriceRenderer.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiLastPriceRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AA+B7C;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;IACtC,OAAO,CAAC,QAAQ,CAAK;IACrB,yDAAyD;IACzD,cAAc,EAAE,MAAM,GAAG,SAAS,CAAa;IAC/C,2CAA2C;IAC3C,aAAa,UAAQ;gBAET,KAAK,EAAE,SAAS;IAyB5B,OAAO,IAAI,IAAI;IAOf;;;;OAIG;IACH,IAAI,CACF,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,SAAS,GAClB,OAAO;IA8EV,6EAA6E;IAC7E,WAAW,IAAI,OAAO;CAIvB"}
1
+ {"version":3,"file":"PixiLastPriceRenderer.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiLastPriceRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAyB7C;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;IACtC,OAAO,CAAC,QAAQ,CAAK;IACrB,yDAAyD;IACzD,cAAc,EAAE,MAAM,GAAG,SAAS,CAAa;IAC/C,2CAA2C;IAC3C,aAAa,UAAQ;gBAET,KAAK,EAAE,SAAS;IAyB5B,OAAO,IAAI,IAAI;IAOf;;;;OAIG;IACH,IAAI,CACF,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,SAAS,GAClB,OAAO;IA8EV,6EAA6E;IAC7E,WAAW,IAAI,OAAO;CAIvB"}
@@ -47,8 +47,14 @@ function timeframeToMs(tf) {
47
47
  const secs = parseTfSeconds(tf);
48
48
  return secs !== null ? secs * 1e3 : null;
49
49
  }
50
+ function normalizeTimeframe(tf) {
51
+ const m = /^(\d+)([a-zA-Z])$/.exec(tf.trim());
52
+ if (!m) return tf.trim();
53
+ const unit = m[2];
54
+ return m[1] + (unit === "M" ? unit : unit.toLowerCase());
55
+ }
50
56
  function parseTfSeconds(tf) {
51
- const m = /^(\d+)(s|m|h|d|w|M)$/.exec(tf);
57
+ const m = /^(\d+)(s|m|h|d|w|M)$/.exec(normalizeTimeframe(tf));
52
58
  if (!m) return null;
53
59
  const n = parseInt(m[1], 10);
54
60
  const unit = m[2];
@@ -64,6 +70,7 @@ function parseTfSeconds(tf) {
64
70
  return unitSec !== void 0 ? n * unitSec : null;
65
71
  }
66
72
  function getBucketStart(timeMs, timeframe) {
73
+ timeframe = normalizeTimeframe(timeframe);
67
74
  if (timeframe === "1w") return getWeekBucketStart(timeMs);
68
75
  if (timeframe === "1M") return getMonthBucketStart(timeMs);
69
76
  if (timeframe === "3M") return getQuarterBucketStart(timeMs);
@@ -7670,32 +7677,7 @@ function formatCountdown(secs) {
7670
7677
  return `${m}:${String(s).padStart(2, "0")}`;
7671
7678
  }
7672
7679
  function tfToSeconds(tf) {
7673
- const map = {
7674
- "1s": 1,
7675
- "5s": 5,
7676
- "10s": 10,
7677
- "15s": 15,
7678
- "30s": 30,
7679
- "1m": 60,
7680
- "3m": 180,
7681
- "5m": 300,
7682
- "15m": 900,
7683
- "30m": 1800,
7684
- "1h": 3600,
7685
- "2h": 7200,
7686
- "4h": 14400,
7687
- "6h": 21600,
7688
- "8h": 28800,
7689
- "12h": 43200,
7690
- "1D": 86400,
7691
- "3D": 259200,
7692
- "1W": 604800,
7693
- "1M": 2592e3,
7694
- "3M": 7776e3,
7695
- "6M": 15552e3,
7696
- "12M": 31536e3
7697
- };
7698
- return map[tf] ?? 3600;
7680
+ return parseTfSeconds(tf) ?? 3600;
7699
7681
  }
7700
7682
  var PixiLastPriceRenderer = class {
7701
7683
  _lineGfx;
@@ -9680,34 +9662,16 @@ var PixiChart = class {
9680
9662
  }
9681
9663
  return { time: bestBar.time, price: snappedPrice };
9682
9664
  }
9683
- /** Convert a Timeframe string to seconds (internal helper). */
9665
+ /**
9666
+ * Convert a Timeframe string to seconds (internal helper).
9667
+ *
9668
+ * Delegates to the shared parser — this was one of three private maps, and
9669
+ * the only one still keyed '1D'/'1W' uppercase, so canonical '1d' fell to
9670
+ * the 3600 fallback here while '1D' fell to the 1m fallback everywhere
9671
+ * else. One derivation, one dialect.
9672
+ */
9684
9673
  _tfToSeconds(tf) {
9685
- const map = {
9686
- "1s": 1,
9687
- "5s": 5,
9688
- "10s": 10,
9689
- "15s": 15,
9690
- "30s": 30,
9691
- "1m": 60,
9692
- "3m": 180,
9693
- "5m": 300,
9694
- "15m": 900,
9695
- "30m": 1800,
9696
- "1h": 3600,
9697
- "2h": 7200,
9698
- "4h": 14400,
9699
- "6h": 21600,
9700
- "8h": 28800,
9701
- "12h": 43200,
9702
- "1D": 86400,
9703
- "3D": 259200,
9704
- "1W": 604800,
9705
- "1M": 2592e3,
9706
- "3M": 7776e3,
9707
- "6M": 15552e3,
9708
- "12M": 31536e3
9709
- };
9710
- return map[tf] ?? 3600;
9674
+ return parseTfSeconds(tf) ?? 3600;
9711
9675
  }
9712
9676
  // ─── Option resolvers ────────────────────────────────────────────────────────
9713
9677
  _resolveOptions(opts) {
@@ -18144,7 +18108,7 @@ var DEMONSTRATION_STROKE = "rgba(255, 200, 50, 0.7)";
18144
18108
  var DEMONSTRATION_COLOR = "var(--crosshair-overlay, rgba(255,255,255,0.75))";
18145
18109
 
18146
18110
  // src/version.ts
18147
- var FORGECHARTS_VERSION = "1.5.71" ;
18111
+ var FORGECHARTS_VERSION = "1.5.73" ;
18148
18112
  function applyRuntimeConfig(caps, config) {
18149
18113
  if (!config) return caps;
18150
18114
  const orderEntry = config.enableOrderEntry === false ? false : caps.orderEntry;
@@ -18371,11 +18335,19 @@ var _listeners = /* @__PURE__ */ new Set();
18371
18335
  var _subscribed = /* @__PURE__ */ new Set();
18372
18336
  var _reconnectTimer = null;
18373
18337
  var _authToken = null;
18338
+ var _baseUrl = null;
18374
18339
  function setWsAuthToken(token) {
18375
18340
  _authToken = token;
18376
18341
  }
18342
+ function setWsBaseUrl(url) {
18343
+ if (!url) {
18344
+ _baseUrl = null;
18345
+ return;
18346
+ }
18347
+ _baseUrl = url.replace(/\/$/, "").replace(/^http/, "ws");
18348
+ }
18377
18349
  function _wsUrl() {
18378
- const base = typeof window === "undefined" ? "ws://localhost:4001/ws" : `${window.location.protocol === "https:" ? "wss" : "ws"}://${window.location.host}/ws`;
18350
+ const base = _baseUrl ?? (typeof window === "undefined" ? "ws://localhost:4001/ws" : `${window.location.protocol === "https:" ? "wss" : "ws"}://${window.location.host}/ws`);
18379
18351
  return _authToken ? `${base}?token=${encodeURIComponent(_authToken)}` : base;
18380
18352
  }
18381
18353
  function _send(msg) {
@@ -25973,6 +25945,7 @@ function IndicatorsDialog({ onAdd, onClose, maxIndicators, getAuthToken }) {
25973
25945
  ] })
25974
25946
  ] }) });
25975
25947
  }
25948
+ var chipLabel = (tf) => /^\d+[dw]$/.test(tf) ? tf.toUpperCase() : tf;
25976
25949
  var TF_LABELS = {
25977
25950
  "1m": "1 minute",
25978
25951
  "2m": "2 minutes",
@@ -26412,7 +26385,7 @@ function TopToolbar({
26412
26385
  onClick: () => onTimeframeChange(tf),
26413
26386
  children: tf
26414
26387
  },
26415
- tf
26388
+ chipLabel(tf)
26416
26389
  )),
26417
26390
  /* @__PURE__ */ jsx(
26418
26391
  "button",
@@ -29980,6 +29953,7 @@ function ScriptDrawer({ onClose, onAddIndicator, apiUrl, getAuthToken }) {
29980
29953
  const [savedScripts, setSavedScripts] = useState([]);
29981
29954
  const [scriptsMenuOpen, setScriptsMenuOpen] = useState(false);
29982
29955
  const [saving, setSaving] = useState(false);
29956
+ const [saveError, setSaveError] = useState(null);
29983
29957
  const [activeScriptId, setActiveScriptId] = useState(null);
29984
29958
  const [saveNameInput, setSaveNameInput] = useState("");
29985
29959
  const [showSaveNamePrompt, setShowSaveNamePrompt] = useState(false);
@@ -30073,6 +30047,7 @@ function ScriptDrawer({ onClose, onAddIndicator, apiUrl, getAuthToken }) {
30073
30047
  }, [scriptsMenuOpen]);
30074
30048
  const handleSaveScript = useCallback(async (name) => {
30075
30049
  setSaving(true);
30050
+ setSaveError(null);
30076
30051
  const base = apiUrl ?? "";
30077
30052
  const auth = await _authHeaders();
30078
30053
  const scriptSource = code;
@@ -30080,27 +30055,28 @@ function ScriptDrawer({ onClose, onAddIndicator, apiUrl, getAuthToken }) {
30080
30055
  const scriptName = name ?? extractScriptName(scriptSource);
30081
30056
  try {
30082
30057
  if (activeScriptId) {
30083
- await fetch(`${base}/api/scripts/${encodeURIComponent(activeScriptId)}/versions`, {
30058
+ const res = await fetch(`${base}/api/scripts/${encodeURIComponent(activeScriptId)}/versions`, {
30084
30059
  method: "POST",
30085
30060
  headers: { "Content-Type": "application/json", ...auth },
30086
30061
  body: JSON.stringify({ source: scriptSource })
30087
30062
  });
30063
+ if (!res.ok) throw new Error(`save failed (${res.status})`);
30088
30064
  } else {
30089
30065
  const res = await fetch(`${base}/api/scripts`, {
30090
30066
  method: "POST",
30091
30067
  headers: { "Content-Type": "application/json", ...auth },
30092
30068
  body: JSON.stringify({ name: scriptName, language: scriptLang, source: scriptSource })
30093
30069
  });
30094
- if (res.ok) {
30095
- const created = await res.json();
30096
- setActiveScriptId(created.id);
30097
- }
30070
+ if (!res.ok) throw new Error(`save failed (${res.status})`);
30071
+ const created = await res.json();
30072
+ setActiveScriptId(created.id);
30098
30073
  }
30099
30074
  await fetchSavedScripts();
30100
- } catch {
30075
+ setShowSaveNamePrompt(false);
30076
+ } catch (err) {
30077
+ setSaveError(err instanceof Error ? err.message : "save failed");
30101
30078
  }
30102
30079
  setSaving(false);
30103
- setShowSaveNamePrompt(false);
30104
30080
  }, [apiUrl, _authHeaders, code, activeScriptId, extractScriptName, fetchSavedScripts]);
30105
30081
  const handleSaveClick = useCallback(() => {
30106
30082
  if (activeScriptId) {
@@ -30203,6 +30179,16 @@ function ScriptDrawer({ onClose, onAddIndicator, apiUrl, getAuthToken }) {
30203
30179
  ]
30204
30180
  }
30205
30181
  ),
30182
+ saveError && /* @__PURE__ */ jsx(
30183
+ "span",
30184
+ {
30185
+ className: "script-save-error",
30186
+ role: "alert",
30187
+ title: saveError,
30188
+ style: { color: "var(--fc-danger, #e5484d)", fontSize: 11, marginLeft: 6 },
30189
+ children: saveError
30190
+ }
30191
+ ),
30206
30192
  /* @__PURE__ */ jsxs("div", { className: "script-my-scripts-wrap", ref: scriptsMenuRef, children: [
30207
30193
  /* @__PURE__ */ jsxs(
30208
30194
  "button",
@@ -31293,6 +31279,8 @@ function ChartWorkspace({
31293
31279
  symbolResolver,
31294
31280
  rollRule,
31295
31281
  onRollRuleChange,
31282
+ quotesWsUrl,
31283
+ getQuotesAuthToken,
31296
31284
  extraTfGroups,
31297
31285
  // RightToolbar
31298
31286
  watchlistOpen,
@@ -31349,6 +31337,27 @@ function ChartWorkspace({
31349
31337
  tradingBridge,
31350
31338
  tradingOverlayStore
31351
31339
  }) {
31340
+ const [quotesReady, setQuotesReady] = React11.useState(false);
31341
+ React11.useEffect(() => {
31342
+ let cancelled = false;
31343
+ if (!quotesWsUrl || !getQuotesAuthToken) {
31344
+ setQuotesReady(false);
31345
+ return void 0;
31346
+ }
31347
+ void (async () => {
31348
+ try {
31349
+ const token = await getQuotesAuthToken();
31350
+ if (cancelled) return;
31351
+ setWsAuthToken(token || null);
31352
+ setWsBaseUrl(quotesWsUrl);
31353
+ setQuotesReady(true);
31354
+ } catch {
31355
+ }
31356
+ })();
31357
+ return () => {
31358
+ cancelled = true;
31359
+ };
31360
+ }, [quotesWsUrl, getQuotesAuthToken]);
31352
31361
  const capabilities = useChartCapabilities();
31353
31362
  const dataBlocked = useLicenseDataBlocked();
31354
31363
  useHostLicense(hostApiUrl, getAuthToken);
@@ -31529,7 +31538,7 @@ function ChartWorkspace({
31529
31538
  onClose: closeWatchlist,
31530
31539
  onSelectSymbol: onSymbolChange,
31531
31540
  symbolResolver,
31532
- liveQuotes: false,
31541
+ liveQuotes: quotesReady,
31533
31542
  ...hostApiUrl !== void 0 ? { apiUrl: hostApiUrl } : {},
31534
31543
  ...getAuthToken !== void 0 ? { getAuthToken } : {}
31535
31544
  }