@forgecharts/sdk 1.2.5 → 1.2.8

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 (33) hide show
  1. package/dist/index.d.ts +3 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +245 -50
  4. package/dist/index.js.map +1 -1
  5. package/dist/internal.js +245 -50
  6. package/dist/internal.js.map +1 -1
  7. package/dist/licensing/ChartRuntimeResolver.d.ts +55 -24
  8. package/dist/licensing/ChartRuntimeResolver.d.ts.map +1 -1
  9. package/dist/licensing/LicenseManager.d.ts +17 -2
  10. package/dist/licensing/LicenseManager.d.ts.map +1 -1
  11. package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts +3 -0
  12. package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts.map +1 -1
  13. package/dist/licensing/__tests__/LicenseManager.test.d.ts +3 -0
  14. package/dist/licensing/__tests__/LicenseManager.test.d.ts.map +1 -1
  15. package/dist/licensing/__tests__/capabilityMatrix.test.d.ts +11 -0
  16. package/dist/licensing/__tests__/capabilityMatrix.test.d.ts.map +1 -0
  17. package/dist/licensing/capabilityMatrix.d.ts +77 -0
  18. package/dist/licensing/capabilityMatrix.d.ts.map +1 -0
  19. package/dist/licensing/licenseTypes.d.ts +29 -2
  20. package/dist/licensing/licenseTypes.d.ts.map +1 -1
  21. package/dist/node.d.ts +3 -1
  22. package/dist/node.d.ts.map +1 -1
  23. package/dist/react/index.js +234 -55
  24. package/dist/react/index.js.map +1 -1
  25. package/dist/react/internal.js +237 -57
  26. package/dist/react/internal.js.map +1 -1
  27. package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
  28. package/dist/trading/__tests__/managedCapabilities.test.d.ts +11 -0
  29. package/dist/trading/__tests__/managedCapabilities.test.d.ts.map +1 -0
  30. package/dist/trading/managed/ManagedTradingController.d.ts.map +1 -1
  31. package/dist/trading/managed/managedCapabilities.d.ts +45 -13
  32. package/dist/trading/managed/managedCapabilities.d.ts.map +1 -1
  33. package/package.json +2 -1
package/dist/index.d.ts CHANGED
@@ -29,7 +29,9 @@ export { ManagedTradingController } from './trading/managed/ManagedTradingContro
29
29
  export type { IExecutionProvider, PlaceOrderInput, ModifyOrderInput, PlaceBracketOrderInput, OrderAck, BracketOrderAck, ManagedOrderType, TimeInForce, } from './trading/managed/managedTypes';
30
30
  export { assertManagedMode, assertCanPlaceOrders, assertCanUseBrackets, assertCanUseDraggableOrders, assertCanUseManagedTrading, isManagedCapable, canPlaceOrders, canPlaceBrackets, canUseDraggable, canUseManagedTradingHook, } from './trading/managed/managedCapabilities';
31
31
  export { LicenseManager } from './licensing/LicenseManager';
32
- export type { LicenseMode, LicenseFeatures, LicensePayload } from './licensing/licenseTypes';
32
+ export type { LicenseMode, LicenseFeatures, LicensePayload, ProductTier, CapabilitySet } from './licensing/licenseTypes';
33
+ export { getDefaultCapabilities, isValidCombination, migrateLegacyPayload, validateLicensePolicy, CURRENT_SCHEMA_VERSION, PRODUCT_TIERS, } from './licensing/capabilityMatrix';
34
+ export type { PolicyValidationResult, LegacyPayloadShape } from './licensing/capabilityMatrix';
33
35
  export { ChartRuntimeResolver } from './licensing/ChartRuntimeResolver';
34
36
  export type { ChartCapabilities } from './licensing/ChartRuntimeResolver';
35
37
  export { isManagedMode, isUnmanagedMode, canUseChartTypes, canUseDrawingTools, canUseExtendedDrawings, canUseIndicators, canUseMultiPane, canUseBarReplay, canUseCustomTimeframes, canRenderOverlays, canUseHistoricalData, canUseRealtimeData, canUseMultipleProviders, canUseDataExport, canUseOrderEntry, canUseManagedTrading, canUseDraggableOrders, canUseBracketOrders, canUseTrailingStops, canUsePositionsOverlay, canUseForgeScript, canUseCustomIndicators, canUseAiAgent, canUseSavedLayouts, canUseMultipleWorkspaces, canUseWatchlists, canUseAlerts, canUseMultiChartLayout, canUseExternalIngestion, hasFeature, getCapabilities, canRenderOrderEntry, canRenderBuySellButtons, canRenderOrderTicket, canRenderBracketControls, canRenderOrderModificationControls, canRenderManagedTradingControls, canRenderExternalOverlayOnlyMode, canRenderPositions, canRenderFills, canRenderCandles, canRenderIndicators, canRenderDrawings, } from './licensing/ChartRuntimeResolver';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10661,8 +10661,127 @@ var TradingOverlayStore = class {
10661
10661
  }
10662
10662
  };
10663
10663
 
10664
+ // src/licensing/licenseTypes.ts
10665
+ var TRADING_FEATURE_KEYS = /* @__PURE__ */ new Set([
10666
+ "orderEntry",
10667
+ "managedTrading",
10668
+ "draggableOrders",
10669
+ "bracketOrders",
10670
+ "trailingStops",
10671
+ "positionsOverlay"
10672
+ ]);
10673
+
10674
+ // src/licensing/capabilityMatrix.ts
10675
+ var PRODUCT_TIERS = ["core", "trading", "platform"];
10676
+ var CURRENT_SCHEMA_VERSION = 2;
10677
+ var BASE_MATRIX = {
10678
+ core: {
10679
+ orderEntry: false,
10680
+ managedTrading: false,
10681
+ draggableOrders: false,
10682
+ bracketOrders: false,
10683
+ externalIngestion: true,
10684
+ symbolResolverRequired: true,
10685
+ tradingBridgeRequired: false,
10686
+ fullAppShell: false
10687
+ },
10688
+ trading: {
10689
+ orderEntry: true,
10690
+ managedTrading: false,
10691
+ draggableOrders: true,
10692
+ bracketOrders: true,
10693
+ externalIngestion: true,
10694
+ symbolResolverRequired: true,
10695
+ tradingBridgeRequired: true,
10696
+ fullAppShell: false
10697
+ },
10698
+ platform: {
10699
+ orderEntry: true,
10700
+ managedTrading: true,
10701
+ draggableOrders: true,
10702
+ bracketOrders: true,
10703
+ externalIngestion: false,
10704
+ symbolResolverRequired: false,
10705
+ tradingBridgeRequired: false,
10706
+ fullAppShell: true
10707
+ }
10708
+ };
10709
+ function getDefaultCapabilities(productTier, deploymentMode) {
10710
+ const base = BASE_MATRIX[productTier];
10711
+ if (deploymentMode === "unmanaged") {
10712
+ return { ...base, managedTrading: false, fullAppShell: false };
10713
+ }
10714
+ return { ...base };
10715
+ }
10716
+ function isValidCombination(deploymentMode, capabilities) {
10717
+ if (deploymentMode === "managed" && capabilities.fullAppShell === false) return false;
10718
+ return true;
10719
+ }
10720
+ function hasAnyTradingFeature(features) {
10721
+ if (!features) return false;
10722
+ for (const key of TRADING_FEATURE_KEYS) {
10723
+ if (features[key] === true) return true;
10724
+ }
10725
+ return false;
10726
+ }
10727
+ function inferProductTier(raw, mode) {
10728
+ if (mode === "managed") return "platform";
10729
+ if (raw.tier === "trading" || raw.tier === "dom") return "trading";
10730
+ if (hasAnyTradingFeature(raw.features)) return "trading";
10731
+ return "core";
10732
+ }
10733
+ function migrateLegacyPayload(raw) {
10734
+ const warnings = [];
10735
+ const mode = raw.deploymentMode ?? raw.mode ?? "unmanaged";
10736
+ let productTier = raw.productTier;
10737
+ if (!productTier) {
10738
+ productTier = inferProductTier(raw, mode);
10739
+ warnings.push(
10740
+ `License payload has no productTier \u2014 inferred '${productTier}' from mode='${mode}'` + (raw.tier ? ` and legacy tier='${raw.tier}'` : "") + "."
10741
+ );
10742
+ }
10743
+ let capabilities = raw.capabilities;
10744
+ if (!capabilities) {
10745
+ capabilities = getDefaultCapabilities(productTier, mode);
10746
+ warnings.push(`License payload has no capabilities \u2014 derived defaults for productTier='${productTier}', deploymentMode='${mode}'.`);
10747
+ }
10748
+ if (!raw.schemaVersion || raw.schemaVersion < CURRENT_SCHEMA_VERSION) {
10749
+ warnings.push(`License payload schemaVersion=${raw.schemaVersion ?? 1} is legacy \u2014 migrated to v${CURRENT_SCHEMA_VERSION}.`);
10750
+ }
10751
+ const payload = {
10752
+ licenseKey: raw.licenseKey ?? "",
10753
+ mode,
10754
+ deploymentMode: mode,
10755
+ productTier,
10756
+ capabilities,
10757
+ schemaVersion: CURRENT_SCHEMA_VERSION,
10758
+ ...raw.tier != null && { tier: raw.tier },
10759
+ ...raw.plan != null && { plan: raw.plan },
10760
+ ...raw.expires != null && { expires: raw.expires },
10761
+ ...raw.features != null && { features: raw.features }
10762
+ };
10763
+ return { payload, warnings };
10764
+ }
10765
+ function validateLicensePolicy(payload) {
10766
+ const warnings = [];
10767
+ const capabilities = payload.capabilities ?? getDefaultCapabilities(payload.productTier ?? "core", payload.mode);
10768
+ if (isValidCombination(payload.mode, capabilities)) {
10769
+ return { valid: true, normalized: { ...payload, capabilities }, warnings };
10770
+ }
10771
+ warnings.push(
10772
+ `Invalid license combination: deploymentMode='${payload.mode}' requires fullAppShell capability. Normalizing productTier to 'platform'.`
10773
+ );
10774
+ const normalizedCapabilities = getDefaultCapabilities("platform", payload.mode);
10775
+ return {
10776
+ valid: false,
10777
+ normalized: { ...payload, productTier: "platform", capabilities: normalizedCapabilities },
10778
+ warnings
10779
+ };
10780
+ }
10781
+
10664
10782
  // src/licensing/LicenseManager.ts
10665
10783
  var DEFAULT_MODE = "unmanaged";
10784
+ var DEFAULT_PRODUCT_TIER = "core";
10666
10785
  var DEFAULT_FEATURES = {};
10667
10786
  var LicenseManager = class _LicenseManager {
10668
10787
  static instance = null;
@@ -10725,22 +10844,42 @@ var LicenseManager = class _LicenseManager {
10725
10844
  if (!data.valid) {
10726
10845
  throw new Error(data.reason ?? "License invalid");
10727
10846
  }
10728
- const payload = {
10847
+ const raw = {
10729
10848
  licenseKey: data.licenseKey ?? key.trim().toUpperCase(),
10730
10849
  mode: data.mode ?? "unmanaged",
10850
+ ...data.tier != null && { tier: data.tier },
10851
+ ...data.productTier != null && { productTier: data.productTier },
10852
+ ...data.capabilities != null && { capabilities: data.capabilities },
10853
+ ...data.schemaVersion != null && { schemaVersion: data.schemaVersion },
10731
10854
  ...data.plan != null && { plan: data.plan },
10732
10855
  ...data.expiresAt != null && { expires: data.expiresAt },
10733
10856
  ...data.features != null && { features: data.features }
10734
10857
  };
10858
+ const payload = this.#applyPolicyPipeline(raw);
10735
10859
  this.payload = payload;
10736
10860
  this.notify();
10737
10861
  return payload;
10738
10862
  }
10739
- /** Load a pre-validated payload (e.g. from cache / localStorage). */
10863
+ /** Load a pre-validated payload (e.g. from cache / localStorage). Runs through the same migration + guardrail pipeline as `validateLicense`. */
10740
10864
  loadLicense(payload) {
10741
- this.payload = payload;
10865
+ this.payload = this.#applyPolicyPipeline(payload);
10742
10866
  this.notify();
10743
10867
  }
10868
+ /**
10869
+ * Runs a raw/legacy/partial payload through `migrateLegacyPayload` (fills
10870
+ * missing productTier/capabilities/schemaVersion, deterministically, with
10871
+ * warnings) then `validateLicensePolicy` (guardrail normalization).
10872
+ * Any warnings are surfaced via `console.warn` — callers never see a
10873
+ * payload without `capabilities`.
10874
+ */
10875
+ #applyPolicyPipeline(raw) {
10876
+ const { payload: migrated, warnings: migrationWarnings } = migrateLegacyPayload(raw);
10877
+ const { normalized, warnings: policyWarnings } = validateLicensePolicy(migrated);
10878
+ for (const warning of [...migrationWarnings, ...policyWarnings]) {
10879
+ console.warn(`[LicenseManager] ${warning}`);
10880
+ }
10881
+ return normalized;
10882
+ }
10744
10883
  /** Return the currently loaded payload, or null if none. */
10745
10884
  getLicense() {
10746
10885
  return this.payload;
@@ -10761,6 +10900,25 @@ var LicenseManager = class _LicenseManager {
10761
10900
  hasFeature(name) {
10762
10901
  return this.getFeatures()[name] === true;
10763
10902
  }
10903
+ /**
10904
+ * The entitlement tier driven by the active license.
10905
+ * Defaults to 'core' — the most restrictive tier — so no trading/managed
10906
+ * capability appears without a valid license.
10907
+ */
10908
+ getProductTier() {
10909
+ return this.payload?.productTier ?? DEFAULT_PRODUCT_TIER;
10910
+ }
10911
+ /**
10912
+ * The resolved capability set for the active license (or the safest
10913
+ * defaults — unmanaged/core — when no license is loaded yet).
10914
+ */
10915
+ getCapabilities() {
10916
+ return this.payload?.capabilities ?? getDefaultCapabilities(DEFAULT_PRODUCT_TIER, DEFAULT_MODE);
10917
+ }
10918
+ /** Check whether a specific capability is enabled on the active license. */
10919
+ hasCapability(name) {
10920
+ return this.getCapabilities()[name] === true;
10921
+ }
10764
10922
  /** Clear the current license state (returns to safe unmanaged defaults). */
10765
10923
  clear() {
10766
10924
  this.payload = null;
@@ -10768,16 +10926,6 @@ var LicenseManager = class _LicenseManager {
10768
10926
  }
10769
10927
  };
10770
10928
 
10771
- // src/licensing/licenseTypes.ts
10772
- var TRADING_FEATURE_KEYS = /* @__PURE__ */ new Set([
10773
- "orderEntry",
10774
- "managedTrading",
10775
- "draggableOrders",
10776
- "bracketOrders",
10777
- "trailingStops",
10778
- "positionsOverlay"
10779
- ]);
10780
-
10781
10929
  // src/licensing/ChartRuntimeResolver.ts
10782
10930
  var ChartRuntimeResolver = class _ChartRuntimeResolver {
10783
10931
  static instance = null;
@@ -10806,15 +10954,23 @@ var ChartRuntimeResolver = class _ChartRuntimeResolver {
10806
10954
  /**
10807
10955
  * Check whether a specific platform feature is enabled.
10808
10956
  *
10809
- * Resolution:
10810
- * 1. If the feature is a trading feature and mode is unmanaged → false.
10957
+ * Resolution (capability-driven — never gated on deploymentMode alone):
10958
+ * 1. If the feature is a trading feature and productTier is 'core' → false.
10811
10959
  * 2. If the feature has an explicit flag in the license → use it.
10812
- * 3. Default: true for managed, true for non-trading unmanaged features.
10960
+ * 3. Default: true for platform/trading tier, true for non-trading features.
10813
10961
  */
10814
10962
  hasFeature(name) {
10815
- if (TRADING_FEATURE_KEYS.has(name) && this.isUnmanagedMode()) return false;
10963
+ if (TRADING_FEATURE_KEYS.has(name) && this.#isCoreTier()) return false;
10816
10964
  return this.#featureOrDefault(name, true);
10817
10965
  }
10966
+ /** The entitlement tier driven by the active license. */
10967
+ getProductTier() {
10968
+ return this.lm.getProductTier();
10969
+ }
10970
+ /** True when the active license's productTier is 'core' (no trading capabilities). */
10971
+ #isCoreTier() {
10972
+ return this.lm.getProductTier() === "core";
10973
+ }
10818
10974
  // ── Charting capability queries ─────────────────────────────────────────────
10819
10975
  /** Chart type selection (candlestick, bar, line, area, etc.). */
10820
10976
  canUseChartTypes() {
@@ -10868,50 +11024,77 @@ var ChartRuntimeResolver = class _ChartRuntimeResolver {
10868
11024
  // ── Trading capability queries (managed-only by default) ────────────────────
10869
11025
  /**
10870
11026
  * Built-in order entry UI hooks.
10871
- * Requires managed mode unmanaged licenses cannot use order entry.
11027
+ * Ceiling driven by `productTier` (core = false, trading/platform = true) —
11028
+ * available in both Unmanaged Trading and Managed Platform. An explicit
11029
+ * `features.orderEntry` flag on the payload may only narrow below the
11030
+ * ceiling, never elevate above it.
10872
11031
  */
10873
11032
  canUseOrderEntry() {
10874
- if (this.isUnmanagedMode()) return false;
10875
- return this.#featureOrDefault("orderEntry", true);
11033
+ return this.#capabilityWithOverride("orderEntry");
10876
11034
  }
10877
11035
  /**
10878
11036
  * Managed trading service hooks (broker execution, position management).
10879
- * Requires managed mode.
11037
+ * Only true for Managed Platform — `managedTrading` is forced off under
11038
+ * unmanaged deployment regardless of tier (see capabilityMatrix).
10880
11039
  */
10881
11040
  canUseManagedTrading() {
10882
- if (this.isUnmanagedMode()) return false;
10883
- return this.#featureOrDefault("managedTrading", true);
11041
+ return this.#capabilityWithOverride("managedTrading");
10884
11042
  }
10885
11043
  /**
10886
11044
  * Drag-to-price order placement.
10887
- * Requires managed mode.
11045
+ * Ceiling driven by `productTier` — available in Unmanaged Trading and
11046
+ * Managed Platform.
10888
11047
  */
10889
11048
  canUseDraggableOrders() {
10890
- if (this.isUnmanagedMode()) return false;
10891
- return this.#featureOrDefault("draggableOrders", true);
11049
+ return this.#capabilityWithOverride("draggableOrders");
10892
11050
  }
10893
11051
  /**
10894
11052
  * Bracket / OCO order support.
10895
- * Requires managed mode.
11053
+ * Ceiling driven by `productTier` — available in Unmanaged Trading and
11054
+ * Managed Platform.
10896
11055
  */
10897
11056
  canUseBracketOrders() {
10898
- if (this.isUnmanagedMode()) return false;
10899
- return this.#featureOrDefault("bracketOrders", true);
11057
+ return this.#capabilityWithOverride("bracketOrders");
11058
+ }
11059
+ /**
11060
+ * Resolve one of the 4 override-able capability keys: the tier×mode matrix
11061
+ * sets the ceiling, an explicit `features[name]` flag may only narrow it.
11062
+ */
11063
+ #capabilityWithOverride(name) {
11064
+ const ceiling = this.lm.getCapabilities()[name];
11065
+ if (!ceiling) return false;
11066
+ const explicit = this.lm.getFeatures()[name];
11067
+ return explicit === void 0 ? true : explicit === true;
11068
+ }
11069
+ /**
11070
+ * Whether trading UI must route execution through host-supplied intent
11071
+ * handlers rather than a managed backend (Unmanaged Trading only).
11072
+ */
11073
+ requiresTradingBridge() {
11074
+ return this.lm.getCapabilities().tradingBridgeRequired;
11075
+ }
11076
+ /** Whether the host must supply an `ISymbolResolver` (unmanaged tiers). */
11077
+ requiresSymbolResolver() {
11078
+ return this.lm.getCapabilities().symbolResolverRequired;
11079
+ }
11080
+ /** Whether the full managed app shell should render (Managed Platform only). */
11081
+ hasFullAppShell() {
11082
+ return this.lm.getCapabilities().fullAppShell;
10900
11083
  }
10901
11084
  /**
10902
- * Trailing stop orders.
10903
- * Requires managed mode.
11085
+ * Trailing stop orders. Not part of the core capability set — gated on
11086
+ * productTier (not deploymentMode) to keep the two axes independent.
10904
11087
  */
10905
11088
  canUseTrailingStops() {
10906
- if (this.isUnmanagedMode()) return false;
11089
+ if (this.#isCoreTier()) return false;
10907
11090
  return this.#featureOrDefault("trailingStops", true);
10908
11091
  }
10909
11092
  /**
10910
- * Positions overlay on chart.
10911
- * Requires managed mode.
11093
+ * Positions overlay on chart. Not part of the core capability set — gated
11094
+ * on productTier (not deploymentMode) to keep the two axes independent.
10912
11095
  */
10913
11096
  canUsePositionsOverlay() {
10914
- if (this.isUnmanagedMode()) return false;
11097
+ if (this.#isCoreTier()) return false;
10915
11098
  return this.#featureOrDefault("positionsOverlay", true);
10916
11099
  }
10917
11100
  // ── Scripting capability queries ────────────────────────────────────────────
@@ -10951,11 +11134,11 @@ var ChartRuntimeResolver = class _ChartRuntimeResolver {
10951
11134
  // ── Legacy / backward-compat ────────────────────────────────────────────────
10952
11135
  /**
10953
11136
  * External data ingestion APIs (e.g. pushing tick data from an external broker).
10954
- * Available in unmanaged mode only — in managed mode the built-in feed owns data.
11137
+ * Driven by `productTier`/`deploymentMode` via `capabilities.externalIngestion`
11138
+ * — true for core/trading, false for Managed Platform (the managed feed owns data).
10955
11139
  */
10956
11140
  canUseExternalIngestion() {
10957
- if (this.isUnmanagedMode()) return true;
10958
- return this.#featureOrDefault("unmanagedIngestion", false);
11141
+ return this.lm.getCapabilities().externalIngestion;
10959
11142
  }
10960
11143
  // ── UI render capability checks ──────────────────────────────────────────────
10961
11144
  // Component-level gates derived from the feature-level checks above.
@@ -11016,8 +11199,13 @@ var ChartRuntimeResolver = class _ChartRuntimeResolver {
11016
11199
  */
11017
11200
  getCapabilities() {
11018
11201
  return {
11019
- // ── Mode ────────────────────────────────────────────────────────────
11202
+ // ── Mode / tier ─────────────────────────────────────────────────────
11020
11203
  mode: this.lm.getMode(),
11204
+ productTier: this.lm.getProductTier(),
11205
+ // ── Capabilities (the 3-model matrix) ──────────────────────────────
11206
+ symbolResolverRequired: this.requiresSymbolResolver(),
11207
+ tradingBridgeRequired: this.requiresTradingBridge(),
11208
+ fullAppShell: this.hasFullAppShell(),
11021
11209
  // ── Charting features ───────────────────────────────────────────────
11022
11210
  chartTypes: this.canUseChartTypes(),
11023
11211
  drawingTools: this.canUseDrawingTools(),
@@ -11211,10 +11399,9 @@ function assertManagedMode() {
11211
11399
  }
11212
11400
  }
11213
11401
  function assertCanPlaceOrders() {
11214
- assertManagedMode();
11215
11402
  if (!resolver2().canUseOrderEntry()) {
11216
11403
  throw new Error(
11217
- "[ForgeCharts] Order entry is not enabled on the active license. Contact your license provider to enable the orderEntry feature."
11404
+ "[ForgeCharts] Order entry is not enabled on the active license. Contact your license provider to enable the orderEntry capability (requires productTier=trading or productTier=platform)."
11218
11405
  );
11219
11406
  }
11220
11407
  }
@@ -11222,7 +11409,15 @@ function assertCanUseBrackets() {
11222
11409
  assertCanPlaceOrders();
11223
11410
  if (!resolver2().canUseBracketOrders()) {
11224
11411
  throw new Error(
11225
- "[ForgeCharts] Bracket orders are not enabled on the active license. Contact your license provider to enable the bracketOrders feature."
11412
+ "[ForgeCharts] Bracket orders are not enabled on the active license. Contact your license provider to enable the bracketOrders capability."
11413
+ );
11414
+ }
11415
+ }
11416
+ function assertCanUseManagedBrackets() {
11417
+ assertCanUseManagedTrading();
11418
+ if (!resolver2().canUseBracketOrders()) {
11419
+ throw new Error(
11420
+ "[ForgeCharts] Bracket orders are not enabled on the active license. Contact your license provider to enable the bracketOrders capability."
11226
11421
  );
11227
11422
  }
11228
11423
  }
@@ -11230,7 +11425,7 @@ function assertCanUseDraggableOrders() {
11230
11425
  assertCanPlaceOrders();
11231
11426
  if (!resolver2().canUseDraggableOrders()) {
11232
11427
  throw new Error(
11233
- "[ForgeCharts] Draggable orders are not enabled on the active license. Contact your license provider to enable the draggableOrders feature."
11428
+ "[ForgeCharts] Draggable orders are not enabled on the active license. Contact your license provider to enable the draggableOrders capability."
11234
11429
  );
11235
11430
  }
11236
11431
  }
@@ -11238,12 +11433,12 @@ function assertCanUseManagedTrading() {
11238
11433
  assertManagedMode();
11239
11434
  if (!resolver2().canUseManagedTrading()) {
11240
11435
  throw new Error(
11241
- "[ForgeCharts] Managed trading is not enabled on the active license. Contact your license provider to enable the managedTrading feature."
11436
+ "[ForgeCharts] Managed trading is not enabled on the active license. Contact your license provider to enable the managedTrading capability (requires productTier=platform)."
11242
11437
  );
11243
11438
  }
11244
11439
  }
11245
11440
  var isManagedCapable = () => resolver2().isManagedMode();
11246
- var canPlaceOrders = () => resolver2().isManagedMode() && resolver2().canUseOrderEntry();
11441
+ var canPlaceOrders = () => resolver2().canUseOrderEntry();
11247
11442
  var canPlaceBrackets = () => canPlaceOrders() && resolver2().canUseBracketOrders();
11248
11443
  var canUseDraggable = () => canPlaceOrders() && resolver2().canUseDraggableOrders();
11249
11444
  var canUseManagedTradingHook = () => resolver2().isManagedMode() && resolver2().canUseManagedTrading();
@@ -11302,7 +11497,7 @@ var ManagedTradingController = class {
11302
11497
  * (provider event stream) and call _store.upsertOrder() as status changes.
11303
11498
  */
11304
11499
  async placeOrder(input) {
11305
- assertCanPlaceOrders();
11500
+ assertCanUseManagedTrading();
11306
11501
  if (!this._provider) notImplemented("placeOrder");
11307
11502
  const clientId = makeId();
11308
11503
  const overlayOrder = {
@@ -11340,7 +11535,7 @@ var ManagedTradingController = class {
11340
11535
  * visually fades out rather than disappearing instantly).
11341
11536
  */
11342
11537
  async cancelOrder(orderId) {
11343
- assertCanPlaceOrders();
11538
+ assertCanUseManagedTrading();
11344
11539
  if (!this._provider) notImplemented("cancelOrder");
11345
11540
  await this._provider.cancelOrder(orderId);
11346
11541
  const existing = this._store.getOrders().find((o) => o.id === orderId);
@@ -11360,7 +11555,7 @@ var ManagedTradingController = class {
11360
11555
  * before forwarding to the provider.
11361
11556
  */
11362
11557
  async modifyOrder(orderId, updates) {
11363
- assertCanPlaceOrders();
11558
+ assertCanUseManagedTrading();
11364
11559
  if (!this._provider) notImplemented("modifyOrder");
11365
11560
  const ack = await this._provider.modifyOrder(orderId, updates);
11366
11561
  const existing = this._store.getOrders().find((o) => o.id === orderId);
@@ -11387,7 +11582,7 @@ var ManagedTradingController = class {
11387
11582
  * users can adjust prices before confirming.
11388
11583
  */
11389
11584
  async placeBracketOrder(input) {
11390
- assertCanUseBrackets();
11585
+ assertCanUseManagedBrackets();
11391
11586
  if (!this._provider) notImplemented("placeBracketOrder");
11392
11587
  const groupId = input.entry.groupId ?? makeId();
11393
11588
  const ack = await this._provider.placeBracketOrder({
@@ -24667,6 +24862,6 @@ var demonstrationTool = {
24667
24862
  cursorStyle: DEMONSTRATION_STYLE
24668
24863
  };
24669
24864
 
24670
- export { CROSSHAIR_LABEL, CROSSHAIR_STYLE, CURSOR_LABEL, CURSOR_STYLE, CandleEngine, ChartRuntimeResolver, CoordTransform, DEFAULT_SYNC_OPTIONS, DEMONSTRATION_COLOR, DEMONSTRATION_FILL, DEMONSTRATION_LABEL, DEMONSTRATION_RADIUS, DEMONSTRATION_STROKE, DEMONSTRATION_STYLE, DOT_COLOR, DOT_LABEL, DOT_RADIUS, DOT_STYLE, DatafeedConnector, ForgeScriptIndicator, ForgeScriptRuntime, Series2 as ForgeScriptSeries, GridChartContainer, GridSyncProvider, IndicatorDAG, LayoutTemplateSelector, LicenseManager, ManagedTradingController, PaneManager, ReferenceAPI, TChart, TradingOverlayStore, UnmanagedIngestion, assertCanPlaceOrders, assertCanUseBrackets, assertCanUseDraggableOrders, assertCanUseManagedTrading, assertManagedMode, canPlaceBrackets, canPlaceOrders, canRenderBracketControls, canRenderBuySellButtons, canRenderCandles, canRenderDrawings, canRenderExternalOverlayOnlyMode, canRenderFills, canRenderIndicators, canRenderManagedTradingControls, canRenderOrderEntry, canRenderOrderModificationControls, canRenderOrderTicket, canRenderOverlays, canRenderPositions, canUseAiAgent, canUseAlerts, canUseBarReplay, canUseBracketOrders, canUseChartTypes, canUseCustomIndicators, canUseCustomTimeframes, canUseDataExport, canUseDraggable, canUseDraggableOrders, canUseDrawingTools, canUseExtendedDrawings, canUseExternalIngestion, canUseForgeScript, canUseHistoricalData, canUseIndicators, canUseManagedTrading, canUseManagedTradingHook, canUseMultiChartLayout, canUseMultiPane, canUseMultipleProviders, canUseMultipleWorkspaces, canUseOrderEntry, canUsePositionsOverlay, canUseRealtimeData, canUseSavedLayouts, canUseTrailingStops, canUseWatchlists, clearTelemetryListeners, computeEMA, computeEMAFromSeries, computeMACD, computeRSI, computeSMA, computeSMAFromSeries, computeVolume, computeWMAFromSeries, createChart, crosshairTool, cursorTool, demonstrationTool, detectLanguage, detectLanguageWithFallback, dotTool, evaluateSaveGate, exchangeNow, extractField, getBucketStart2 as getBucketStart, getCapabilities, getDefaultStyle, getGridTemplate, getGroupedTemplates, getMissingBarCount, getStyleSlots, hasFeature, initServerClock, isManagedCapable, isManagedMode, isUnmanagedMode, lineStyleToDash, mergeBars, onConversionEvent, resolveStyle, runSandbox, serverClockOffset, serverNow, timeframeToMs2 as timeframeToMs, useGridSync, validateForgeScript };
24865
+ export { CROSSHAIR_LABEL, CROSSHAIR_STYLE, CURRENT_SCHEMA_VERSION, CURSOR_LABEL, CURSOR_STYLE, CandleEngine, ChartRuntimeResolver, CoordTransform, DEFAULT_SYNC_OPTIONS, DEMONSTRATION_COLOR, DEMONSTRATION_FILL, DEMONSTRATION_LABEL, DEMONSTRATION_RADIUS, DEMONSTRATION_STROKE, DEMONSTRATION_STYLE, DOT_COLOR, DOT_LABEL, DOT_RADIUS, DOT_STYLE, DatafeedConnector, ForgeScriptIndicator, ForgeScriptRuntime, Series2 as ForgeScriptSeries, GridChartContainer, GridSyncProvider, IndicatorDAG, LayoutTemplateSelector, LicenseManager, ManagedTradingController, PRODUCT_TIERS, PaneManager, ReferenceAPI, TChart, TradingOverlayStore, UnmanagedIngestion, assertCanPlaceOrders, assertCanUseBrackets, assertCanUseDraggableOrders, assertCanUseManagedTrading, assertManagedMode, canPlaceBrackets, canPlaceOrders, canRenderBracketControls, canRenderBuySellButtons, canRenderCandles, canRenderDrawings, canRenderExternalOverlayOnlyMode, canRenderFills, canRenderIndicators, canRenderManagedTradingControls, canRenderOrderEntry, canRenderOrderModificationControls, canRenderOrderTicket, canRenderOverlays, canRenderPositions, canUseAiAgent, canUseAlerts, canUseBarReplay, canUseBracketOrders, canUseChartTypes, canUseCustomIndicators, canUseCustomTimeframes, canUseDataExport, canUseDraggable, canUseDraggableOrders, canUseDrawingTools, canUseExtendedDrawings, canUseExternalIngestion, canUseForgeScript, canUseHistoricalData, canUseIndicators, canUseManagedTrading, canUseManagedTradingHook, canUseMultiChartLayout, canUseMultiPane, canUseMultipleProviders, canUseMultipleWorkspaces, canUseOrderEntry, canUsePositionsOverlay, canUseRealtimeData, canUseSavedLayouts, canUseTrailingStops, canUseWatchlists, clearTelemetryListeners, computeEMA, computeEMAFromSeries, computeMACD, computeRSI, computeSMA, computeSMAFromSeries, computeVolume, computeWMAFromSeries, createChart, crosshairTool, cursorTool, demonstrationTool, detectLanguage, detectLanguageWithFallback, dotTool, evaluateSaveGate, exchangeNow, extractField, getBucketStart2 as getBucketStart, getCapabilities, getDefaultCapabilities, getDefaultStyle, getGridTemplate, getGroupedTemplates, getMissingBarCount, getStyleSlots, hasFeature, initServerClock, isManagedCapable, isManagedMode, isUnmanagedMode, isValidCombination, lineStyleToDash, mergeBars, migrateLegacyPayload, onConversionEvent, resolveStyle, runSandbox, serverClockOffset, serverNow, timeframeToMs2 as timeframeToMs, useGridSync, validateForgeScript, validateLicensePolicy };
24671
24866
  //# sourceMappingURL=index.js.map
24672
24867
  //# sourceMappingURL=index.js.map