@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.
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +245 -50
- package/dist/index.js.map +1 -1
- package/dist/internal.js +245 -50
- package/dist/internal.js.map +1 -1
- package/dist/licensing/ChartRuntimeResolver.d.ts +55 -24
- package/dist/licensing/ChartRuntimeResolver.d.ts.map +1 -1
- package/dist/licensing/LicenseManager.d.ts +17 -2
- package/dist/licensing/LicenseManager.d.ts.map +1 -1
- package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts +3 -0
- package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts.map +1 -1
- package/dist/licensing/__tests__/LicenseManager.test.d.ts +3 -0
- package/dist/licensing/__tests__/LicenseManager.test.d.ts.map +1 -1
- package/dist/licensing/__tests__/capabilityMatrix.test.d.ts +11 -0
- package/dist/licensing/__tests__/capabilityMatrix.test.d.ts.map +1 -0
- package/dist/licensing/capabilityMatrix.d.ts +77 -0
- package/dist/licensing/capabilityMatrix.d.ts.map +1 -0
- package/dist/licensing/licenseTypes.d.ts +29 -2
- package/dist/licensing/licenseTypes.d.ts.map +1 -1
- package/dist/node.d.ts +3 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/react/index.js +234 -55
- package/dist/react/index.js.map +1 -1
- package/dist/react/internal.js +237 -57
- package/dist/react/internal.js.map +1 -1
- package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
- package/dist/trading/__tests__/managedCapabilities.test.d.ts +11 -0
- package/dist/trading/__tests__/managedCapabilities.test.d.ts.map +1 -0
- package/dist/trading/managed/ManagedTradingController.d.ts.map +1 -1
- package/dist/trading/managed/managedCapabilities.d.ts +45 -13
- package/dist/trading/managed/managedCapabilities.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -2,26 +2,31 @@
|
|
|
2
2
|
* ChartRuntimeResolver
|
|
3
3
|
*
|
|
4
4
|
* Single source of truth for runtime capability queries.
|
|
5
|
-
* Mode
|
|
6
|
-
* never passed in by chart config, ensuring clients cannot bypass
|
|
7
|
-
* license-driven
|
|
5
|
+
* Mode and productTier are always derived from the installed LicenseManager
|
|
6
|
+
* state — never passed in by chart config, ensuring clients cannot bypass
|
|
7
|
+
* license-driven gating.
|
|
8
8
|
*
|
|
9
|
-
* Capability resolution (
|
|
10
|
-
* 1.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
9
|
+
* Capability resolution (3-model schema — deploymentMode × productTier):
|
|
10
|
+
* 1. The 8 canonical capabilities (orderEntry, managedTrading,
|
|
11
|
+
* draggableOrders, bracketOrders, externalIngestion,
|
|
12
|
+
* symbolResolverRequired, tradingBridgeRequired, fullAppShell) are
|
|
13
|
+
* read directly from `LicenseManager.getCapabilities()`, which was
|
|
14
|
+
* resolved once at license-load time by `capabilityMatrix.ts`'s
|
|
15
|
+
* tier × mode matrix. No capability is ever gated on `deploymentMode`
|
|
16
|
+
* alone here.
|
|
17
|
+
* 2. Other granular features (trailingStops, positionsOverlay, and the
|
|
18
|
+
* generic charting/data/scripting/workspace flags) use the license
|
|
19
|
+
* payload's `features` map, gated on `productTier` (not mode) where
|
|
20
|
+
* trading-adjacent, defaulting to allowed when omitted.
|
|
17
21
|
*
|
|
18
22
|
* Usage:
|
|
19
23
|
* import { ChartRuntimeResolver } from '@forgecharts/sdk';
|
|
20
24
|
* const resolver = ChartRuntimeResolver.getInstance();
|
|
21
|
-
* resolver.
|
|
25
|
+
* resolver.getProductTier();
|
|
22
26
|
* resolver.canUseOrderEntry();
|
|
23
27
|
* resolver.hasFeature('barReplay');
|
|
24
28
|
*/
|
|
29
|
+
import type { ProductTier } from './capabilityMatrix';
|
|
25
30
|
export declare class ChartRuntimeResolver {
|
|
26
31
|
#private;
|
|
27
32
|
private static instance;
|
|
@@ -36,12 +41,14 @@ export declare class ChartRuntimeResolver {
|
|
|
36
41
|
/**
|
|
37
42
|
* Check whether a specific platform feature is enabled.
|
|
38
43
|
*
|
|
39
|
-
* Resolution:
|
|
40
|
-
* 1. If the feature is a trading feature and
|
|
44
|
+
* Resolution (capability-driven — never gated on deploymentMode alone):
|
|
45
|
+
* 1. If the feature is a trading feature and productTier is 'core' → false.
|
|
41
46
|
* 2. If the feature has an explicit flag in the license → use it.
|
|
42
|
-
* 3. Default: true for
|
|
47
|
+
* 3. Default: true for platform/trading tier, true for non-trading features.
|
|
43
48
|
*/
|
|
44
49
|
hasFeature(name: string): boolean;
|
|
50
|
+
/** The entitlement tier driven by the active license. */
|
|
51
|
+
getProductTier(): ProductTier;
|
|
45
52
|
/** Chart type selection (candlestick, bar, line, area, etc.). */
|
|
46
53
|
canUseChartTypes(): boolean;
|
|
47
54
|
/** Basic drawing tools (trend lines, horizontal lines, etc.). */
|
|
@@ -68,32 +75,47 @@ export declare class ChartRuntimeResolver {
|
|
|
68
75
|
canUseDataExport(): boolean;
|
|
69
76
|
/**
|
|
70
77
|
* Built-in order entry UI hooks.
|
|
71
|
-
*
|
|
78
|
+
* Ceiling driven by `productTier` (core = false, trading/platform = true) —
|
|
79
|
+
* available in both Unmanaged Trading and Managed Platform. An explicit
|
|
80
|
+
* `features.orderEntry` flag on the payload may only narrow below the
|
|
81
|
+
* ceiling, never elevate above it.
|
|
72
82
|
*/
|
|
73
83
|
canUseOrderEntry(): boolean;
|
|
74
84
|
/**
|
|
75
85
|
* Managed trading service hooks (broker execution, position management).
|
|
76
|
-
*
|
|
86
|
+
* Only true for Managed Platform — `managedTrading` is forced off under
|
|
87
|
+
* unmanaged deployment regardless of tier (see capabilityMatrix).
|
|
77
88
|
*/
|
|
78
89
|
canUseManagedTrading(): boolean;
|
|
79
90
|
/**
|
|
80
91
|
* Drag-to-price order placement.
|
|
81
|
-
*
|
|
92
|
+
* Ceiling driven by `productTier` — available in Unmanaged Trading and
|
|
93
|
+
* Managed Platform.
|
|
82
94
|
*/
|
|
83
95
|
canUseDraggableOrders(): boolean;
|
|
84
96
|
/**
|
|
85
97
|
* Bracket / OCO order support.
|
|
86
|
-
*
|
|
98
|
+
* Ceiling driven by `productTier` — available in Unmanaged Trading and
|
|
99
|
+
* Managed Platform.
|
|
87
100
|
*/
|
|
88
101
|
canUseBracketOrders(): boolean;
|
|
89
102
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
103
|
+
* Whether trading UI must route execution through host-supplied intent
|
|
104
|
+
* handlers rather than a managed backend (Unmanaged Trading only).
|
|
105
|
+
*/
|
|
106
|
+
requiresTradingBridge(): boolean;
|
|
107
|
+
/** Whether the host must supply an `ISymbolResolver` (unmanaged tiers). */
|
|
108
|
+
requiresSymbolResolver(): boolean;
|
|
109
|
+
/** Whether the full managed app shell should render (Managed Platform only). */
|
|
110
|
+
hasFullAppShell(): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Trailing stop orders. Not part of the core capability set — gated on
|
|
113
|
+
* productTier (not deploymentMode) to keep the two axes independent.
|
|
92
114
|
*/
|
|
93
115
|
canUseTrailingStops(): boolean;
|
|
94
116
|
/**
|
|
95
|
-
* Positions overlay on chart.
|
|
96
|
-
*
|
|
117
|
+
* Positions overlay on chart. Not part of the core capability set — gated
|
|
118
|
+
* on productTier (not deploymentMode) to keep the two axes independent.
|
|
97
119
|
*/
|
|
98
120
|
canUsePositionsOverlay(): boolean;
|
|
99
121
|
/** ForgeScript scripting engine. */
|
|
@@ -114,7 +136,8 @@ export declare class ChartRuntimeResolver {
|
|
|
114
136
|
canUseMultiChartLayout(): boolean;
|
|
115
137
|
/**
|
|
116
138
|
* External data ingestion APIs (e.g. pushing tick data from an external broker).
|
|
117
|
-
*
|
|
139
|
+
* Driven by `productTier`/`deploymentMode` via `capabilities.externalIngestion`
|
|
140
|
+
* — true for core/trading, false for Managed Platform (the managed feed owns data).
|
|
118
141
|
*/
|
|
119
142
|
canUseExternalIngestion(): boolean;
|
|
120
143
|
/** Whether to render the order entry tool in the toolbar. */
|
|
@@ -149,6 +172,10 @@ export declare class ChartRuntimeResolver {
|
|
|
149
172
|
}
|
|
150
173
|
export interface ChartCapabilities {
|
|
151
174
|
mode: 'managed' | 'unmanaged';
|
|
175
|
+
productTier: ProductTier;
|
|
176
|
+
symbolResolverRequired: boolean;
|
|
177
|
+
tradingBridgeRequired: boolean;
|
|
178
|
+
fullAppShell: boolean;
|
|
152
179
|
chartTypes: boolean;
|
|
153
180
|
drawingTools: boolean;
|
|
154
181
|
extendedDrawings: boolean;
|
|
@@ -203,6 +230,10 @@ export interface ChartCapabilities {
|
|
|
203
230
|
}
|
|
204
231
|
export declare const isManagedMode: () => boolean;
|
|
205
232
|
export declare const isUnmanagedMode: () => boolean;
|
|
233
|
+
export declare const getProductTier: () => ProductTier;
|
|
234
|
+
export declare const requiresTradingBridge: () => boolean;
|
|
235
|
+
export declare const requiresSymbolResolver: () => boolean;
|
|
236
|
+
export declare const hasFullAppShell: () => boolean;
|
|
206
237
|
export declare const canUseChartTypes: () => boolean;
|
|
207
238
|
export declare const canUseDrawingTools: () => boolean;
|
|
208
239
|
export declare const canUseExtendedDrawings: () => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartRuntimeResolver.d.ts","sourceRoot":"","sources":["../../src/licensing/ChartRuntimeResolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ChartRuntimeResolver.d.ts","sourceRoot":"","sources":["../../src/licensing/ChartRuntimeResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,oBAAoB;;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAE5D,0EAA0E;IAC1E,OAAO,KAAK,EAAE,GAEb;IAED,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAS1C,uDAAuD;IACvD,aAAa,IAAI,OAAO;IAIxB,6EAA6E;IAC7E,eAAe,IAAI,OAAO;IAM1B;;;;;;;OAOG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKjC,yDAAyD;IACzD,cAAc,IAAI,WAAW;IAW7B,iEAAiE;IACjE,gBAAgB,IAAI,OAAO;IAI3B,iEAAiE;IACjE,kBAAkB,IAAI,OAAO;IAI7B,iEAAiE;IACjE,sBAAsB,IAAI,OAAO;IAIjC,sCAAsC;IACtC,gBAAgB,IAAI,OAAO;IAI3B,2DAA2D;IAC3D,eAAe,IAAI,OAAO;IAI1B,0CAA0C;IAC1C,eAAe,IAAI,OAAO;IAI1B,iDAAiD;IACjD,sBAAsB,IAAI,OAAO;IAIjC,wDAAwD;IACxD,iBAAiB,IAAI,OAAO;IAM5B,8BAA8B;IAC9B,oBAAoB,IAAI,OAAO;IAI/B,gCAAgC;IAChC,kBAAkB,IAAI,OAAO;IAI7B,uCAAuC;IACvC,uBAAuB,IAAI,OAAO;IAIlC,iCAAiC;IACjC,gBAAgB,IAAI,OAAO;IAM3B;;;;;;OAMG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;;;OAIG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;OAIG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAe9B;;;OAGG;IACH,qBAAqB,IAAI,OAAO;IAIhC,2EAA2E;IAC3E,sBAAsB,IAAI,OAAO;IAIjC,gFAAgF;IAChF,eAAe,IAAI,OAAO;IAI1B;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAK9B;;;OAGG;IACH,sBAAsB,IAAI,OAAO;IAOjC,oCAAoC;IACpC,iBAAiB,IAAI,OAAO;IAI5B,iCAAiC;IACjC,sBAAsB,IAAI,OAAO;IAIjC,4BAA4B;IAC5B,aAAa,IAAI,OAAO;IAMxB,sCAAsC;IACtC,kBAAkB,IAAI,OAAO;IAI7B,kCAAkC;IAClC,wBAAwB,IAAI,OAAO;IAInC,4BAA4B;IAC5B,gBAAgB,IAAI,OAAO;IAI3B,gCAAgC;IAChC,YAAY,IAAI,OAAO;IAIvB,+BAA+B;IAC/B,sBAAsB,IAAI,OAAO;IAMjC;;;;OAIG;IACH,uBAAuB,IAAI,OAAO;IAOlC,6DAA6D;IAC7D,mBAAmB,IAAI,OAAO;IAI9B,mDAAmD;IACnD,uBAAuB,IAAI,OAAO;IAIlC,gDAAgD;IAChD,oBAAoB,IAAI,OAAO;IAI/B,8DAA8D;IAC9D,wBAAwB,IAAI,OAAO;IAKnC,sEAAsE;IACtE,kCAAkC,IAAI,OAAO;IAK7C,2DAA2D;IAC3D,+BAA+B,IAAI,OAAO;IAI1C,2DAA2D;IAC3D,gCAAgC,IAAI,OAAO;IAI3C,8EAA8E;IAC9E,kBAAkB,IAAI,OAAO;IAI7B,yCAAyC;IACzC,cAAc,IAAI,OAAO;IAIzB,wEAAwE;IACxE,gBAAgB,IAAI,OAAO;IAI3B,uDAAuD;IACvD,mBAAmB,IAAI,OAAO;IAI9B,4DAA4D;IAC5D,iBAAiB,IAAI,OAAO;IAM5B;;;OAGG;IACH,eAAe,IAAI,iBAAiB;CA8ErC;AAID,MAAM,WAAW,iBAAiB;IAEhC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IAGzB,sBAAsB,EAAE,OAAO,CAAC;IAChC,qBAAqB,EAAG,OAAO,CAAC;IAChC,YAAY,EAAa,OAAO,CAAC;IAGjC,UAAU,EAAQ,OAAO,CAAC;IAC1B,YAAY,EAAM,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAQ,OAAO,CAAC;IAC1B,SAAS,EAAS,OAAO,CAAC;IAC1B,SAAS,EAAS,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAU,OAAO,CAAC;IAG1B,cAAc,EAAK,OAAO,CAAC;IAC3B,YAAY,EAAO,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAS,OAAO,CAAC;IAG3B,UAAU,EAAQ,OAAO,CAAC;IAC1B,cAAc,EAAI,OAAO,CAAC;IAC1B,eAAe,EAAG,OAAO,CAAC;IAC1B,aAAa,EAAK,OAAO,CAAC;IAC1B,aAAa,EAAK,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAG1B,WAAW,EAAO,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAW,OAAO,CAAC;IAG1B,YAAY,EAAQ,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAU,OAAO,CAAC;IAC5B,MAAM,EAAc,OAAO,CAAC;IAC5B,gBAAgB,EAAI,OAAO,CAAC;IAG5B,iBAAiB,EAAE,OAAO,CAAC;IAG3B,4DAA4D;IAC5D,gBAAgB,EAAiB,OAAO,CAAC;IACzC,qDAAqD;IACrD,oBAAoB,EAAa,OAAO,CAAC;IACzC,yDAAyD;IACzD,iBAAiB,EAAgB,OAAO,CAAC;IACzC,2EAA2E;IAC3E,qBAAqB,EAAY,OAAO,CAAC;IACzC,+FAA+F;IAC/F,+BAA+B,EAAE,OAAO,CAAC;IACzC,iEAAiE;IACjE,4BAA4B,EAAK,OAAO,CAAC;IACzC,qEAAqE;IACrE,yBAAyB,EAAQ,OAAO,CAAC;IACzC,0EAA0E;IAC1E,eAAe,EAAkB,OAAO,CAAC;IACzC,uCAAuC;IACvC,WAAW,EAAsB,OAAO,CAAC;IACzC,sEAAsE;IACtE,aAAa,EAAoB,OAAO,CAAC;IACzC,oEAAoE;IACpE,gBAAgB,EAAiB,OAAO,CAAC;IACzC,4DAA4D;IAC5D,cAAc,EAAmB,OAAO,CAAC;CAC1C;AAOD,eAAO,MAAM,aAAa,QAAiB,OAAqC,CAAC;AACjF,eAAO,MAAM,eAAe,QAAe,OAAuC,CAAC;AACnF,eAAO,MAAM,cAAc,QAAgB,WAA0C,CAAC;AACtF,eAAO,MAAM,qBAAqB,QAAS,OAA6C,CAAC;AACzF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAC1F,eAAO,MAAM,eAAe,QAAe,OAAuC,CAAC;AAGnF,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AACpF,eAAO,MAAM,kBAAkB,QAAY,OAA0C,CAAC;AACtF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAC1F,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AACpF,eAAO,MAAM,eAAe,QAAe,OAAuC,CAAC;AACnF,eAAO,MAAM,eAAe,QAAe,OAAuC,CAAC;AACnF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAC1F,eAAO,MAAM,iBAAiB,QAAa,OAAyC,CAAC;AAGrF,eAAO,MAAM,oBAAoB,QAAU,OAA4C,CAAC;AACxF,eAAO,MAAM,kBAAkB,QAAY,OAA0C,CAAC;AACtF,eAAO,MAAM,uBAAuB,QAAO,OAA+C,CAAC;AAC3F,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AAGpF,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AACpF,eAAO,MAAM,oBAAoB,QAAU,OAA4C,CAAC;AACxF,eAAO,MAAM,qBAAqB,QAAS,OAA6C,CAAC;AACzF,eAAO,MAAM,mBAAmB,QAAW,OAA2C,CAAC;AACvF,eAAO,MAAM,mBAAmB,QAAW,OAA2C,CAAC;AACvF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAG1F,eAAO,MAAM,iBAAiB,QAAa,OAAyC,CAAC;AACrF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAC1F,eAAO,MAAM,aAAa,QAAiB,OAAqC,CAAC;AAGjF,eAAO,MAAM,kBAAkB,QAAY,OAA0C,CAAC;AACtF,eAAO,MAAM,wBAAwB,QAAO,OAAgD,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AACpF,eAAO,MAAM,YAAY,QAAkB,OAAoC,CAAC;AAChF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAG1F,eAAO,MAAM,uBAAuB,QAAO,OAA+C,CAAC;AAG3F,eAAO,MAAM,UAAU,GAAiB,MAAM,MAAM,KAAG,OAAsC,CAAC;AAG9F,eAAO,MAAM,eAAe,QAAe,iBAAiD,CAAC;AAI7F,eAAO,MAAM,mBAAmB,QAAsB,OAA2C,CAAC;AAClG,eAAO,MAAM,uBAAuB,QAAkB,OAA+C,CAAC;AACtG,eAAO,MAAM,oBAAoB,QAAqB,OAA4C,CAAC;AACnG,eAAO,MAAM,wBAAwB,QAAiB,OAAgD,CAAC;AACvG,eAAO,MAAM,kCAAkC,QAAO,OAA0D,CAAC;AACjH,eAAO,MAAM,+BAA+B,QAAU,OAAuD,CAAC;AAC9G,eAAO,MAAM,gCAAgC,QAAS,OAAwD,CAAC;AAC/G,eAAO,MAAM,kBAAkB,QAAuB,OAA0C,CAAC;AACjG,eAAO,MAAM,cAAc,QAA2B,OAAsC,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAAyB,OAAwC,CAAC;AAC/F,eAAO,MAAM,mBAAmB,QAAsB,OAA2C,CAAC;AAClG,eAAO,MAAM,iBAAiB,QAAwB,OAAyC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LicenseFeatures, LicenseMode, LicensePayload } from './licenseTypes';
|
|
2
|
+
import type { CapabilitySet, LegacyPayloadShape, ProductTier } from './capabilityMatrix';
|
|
2
3
|
/**
|
|
3
4
|
* LicenseManager — single source of truth for chart mode and feature access.
|
|
4
5
|
*
|
|
@@ -9,6 +10,7 @@ import type { LicenseFeatures, LicenseMode, LicensePayload } from './licenseType
|
|
|
9
10
|
* lm.hasFeature('orderEntry');
|
|
10
11
|
*/
|
|
11
12
|
export declare class LicenseManager {
|
|
13
|
+
#private;
|
|
12
14
|
private static instance;
|
|
13
15
|
private payload;
|
|
14
16
|
private readonly subscribers;
|
|
@@ -35,8 +37,8 @@ export declare class LicenseManager {
|
|
|
35
37
|
* e.g. "http://licenses.example.com:4100/api/public/license/verify"
|
|
36
38
|
*/
|
|
37
39
|
validateLicense(key: string, verifyUrl: string): Promise<LicensePayload>;
|
|
38
|
-
/** Load a pre-validated payload (e.g. from cache / localStorage). */
|
|
39
|
-
loadLicense(payload:
|
|
40
|
+
/** Load a pre-validated payload (e.g. from cache / localStorage). Runs through the same migration + guardrail pipeline as `validateLicense`. */
|
|
41
|
+
loadLicense(payload: LegacyPayloadShape): void;
|
|
40
42
|
/** Return the currently loaded payload, or null if none. */
|
|
41
43
|
getLicense(): LicensePayload | null;
|
|
42
44
|
/**
|
|
@@ -49,6 +51,19 @@ export declare class LicenseManager {
|
|
|
49
51
|
getFeatures(): LicenseFeatures;
|
|
50
52
|
/** Check whether a specific feature is enabled on the active license. */
|
|
51
53
|
hasFeature(name: keyof LicenseFeatures): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* The entitlement tier driven by the active license.
|
|
56
|
+
* Defaults to 'core' — the most restrictive tier — so no trading/managed
|
|
57
|
+
* capability appears without a valid license.
|
|
58
|
+
*/
|
|
59
|
+
getProductTier(): ProductTier;
|
|
60
|
+
/**
|
|
61
|
+
* The resolved capability set for the active license (or the safest
|
|
62
|
+
* defaults — unmanaged/core — when no license is loaded yet).
|
|
63
|
+
*/
|
|
64
|
+
getCapabilities(): CapabilitySet;
|
|
65
|
+
/** Check whether a specific capability is enabled on the active license. */
|
|
66
|
+
hasCapability(name: keyof CapabilitySet): boolean;
|
|
52
67
|
/** Clear the current license state (returns to safe unmanaged defaults). */
|
|
53
68
|
clear(): void;
|
|
54
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LicenseManager.d.ts","sourceRoot":"","sources":["../../src/licensing/LicenseManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"LicenseManager.d.ts","sourceRoot":"","sources":["../../src/licensing/LicenseManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAEhG,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMzF;;;;;;;;GAQG;AACH,qBAAa,cAAc;;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IAEtD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,OAAO;IAEP;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKrC,OAAO,CAAC,MAAM;IAMd,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;;;;;OAMG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAiD9E,gJAAgJ;IAChJ,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAqB9C,4DAA4D;IAC5D,UAAU,IAAI,cAAc,GAAG,IAAI;IAInC;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAItB,uDAAuD;IACvD,WAAW,IAAI,eAAe;IAI9B,yEAAyE;IACzE,UAAU,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,OAAO;IAIhD;;;;OAIG;IACH,cAAc,IAAI,WAAW;IAI7B;;;OAGG;IACH,eAAe,IAAI,aAAa;IAIhC,4EAA4E;IAC5E,aAAa,CAAC,IAAI,EAAE,MAAM,aAAa,GAAG,OAAO;IAIjD,4EAA4E;IAC5E,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
* - Trading features gated to managed mode
|
|
11
11
|
* - getCapabilities() snapshot is consistent with individual methods
|
|
12
12
|
* - Module-level convenience functions alias correctly
|
|
13
|
+
* - Unmanaged Trading (productTier='trading') gets order UI + tradingBridgeRequired
|
|
14
|
+
* without any deploymentMode==='managed' check (capability-driven, not mode-hardwired)
|
|
15
|
+
* - Managed Platform is the only combination with fullAppShell/managedTrading
|
|
13
16
|
*/
|
|
14
17
|
export {};
|
|
15
18
|
//# sourceMappingURL=ChartRuntimeResolver.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartRuntimeResolver.test.d.ts","sourceRoot":"","sources":["../../../src/licensing/__tests__/ChartRuntimeResolver.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ChartRuntimeResolver.test.d.ts","sourceRoot":"","sources":["../../../src/licensing/__tests__/ChartRuntimeResolver.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
* - validateLicense resolves a payload (placeholder logic)
|
|
8
8
|
* - clear() resets to safe unmanaged defaults
|
|
9
9
|
* - subscribe/unsubscribe fires on every mutation
|
|
10
|
+
* - legacy payloads (no productTier/capabilities/schemaVersion) are
|
|
11
|
+
* migrated deterministically, with warnings, on every load path
|
|
12
|
+
* - the managed+non-platform guardrail is normalized with a warning
|
|
10
13
|
*/
|
|
11
14
|
export {};
|
|
12
15
|
//# sourceMappingURL=LicenseManager.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LicenseManager.test.d.ts","sourceRoot":"","sources":["../../../src/licensing/__tests__/LicenseManager.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"LicenseManager.test.d.ts","sourceRoot":"","sources":["../../../src/licensing/__tests__/LicenseManager.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* capabilityMatrix — unit tests
|
|
3
|
+
*
|
|
4
|
+
* Covers:
|
|
5
|
+
* - getDefaultCapabilities() for all 6 productTier x deploymentMode combos
|
|
6
|
+
* - no capability is ever true purely "because mode matches" (tier drives it)
|
|
7
|
+
* - isValidCombination() / validateLicensePolicy() guardrail behaviour
|
|
8
|
+
* - migrateLegacyPayload() deterministic inference + warnings
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=capabilityMatrix.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilityMatrix.test.d.ts","sourceRoot":"","sources":["../../../src/licensing/__tests__/capabilityMatrix.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* capabilityMatrix — the single source of truth for deriving capabilities
|
|
3
|
+
* from a license payload's two independent axes:
|
|
4
|
+
*
|
|
5
|
+
* deploymentMode : 'managed' | 'unmanaged' (wiring concern — who hosts the runtime)
|
|
6
|
+
* productTier : 'core' | 'trading' | 'platform' (entitlement concern — what's sold)
|
|
7
|
+
*
|
|
8
|
+
* No capability may be enabled purely because deploymentMode matches — tier
|
|
9
|
+
* drives the matrix; deploymentMode only vetoes the two capabilities that are
|
|
10
|
+
* inherently managed-stack concepts (`managedTrading`, `fullAppShell`).
|
|
11
|
+
*
|
|
12
|
+
* Server-side (ForgeCharts-admin) keeps a hand-synced copy of this file at
|
|
13
|
+
* `server/src/shared/capabilityMatrix.ts` — keep both in sync when editing.
|
|
14
|
+
*/
|
|
15
|
+
import type { LicenseFeatures, LicenseMode, LicensePayload, LicenseTier } from './licenseTypes';
|
|
16
|
+
export type ProductTier = 'core' | 'trading' | 'platform';
|
|
17
|
+
export declare const PRODUCT_TIERS: readonly ProductTier[];
|
|
18
|
+
export declare const CURRENT_SCHEMA_VERSION = 2;
|
|
19
|
+
export interface CapabilitySet {
|
|
20
|
+
orderEntry: boolean;
|
|
21
|
+
managedTrading: boolean;
|
|
22
|
+
draggableOrders: boolean;
|
|
23
|
+
bracketOrders: boolean;
|
|
24
|
+
externalIngestion: boolean;
|
|
25
|
+
symbolResolverRequired: boolean;
|
|
26
|
+
tradingBridgeRequired: boolean;
|
|
27
|
+
fullAppShell: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the default capability set for a given tier + mode.
|
|
31
|
+
* `managedTrading` and `fullAppShell` are inherently managed-stack concepts —
|
|
32
|
+
* they are forced off under unmanaged deployment regardless of tier. Every
|
|
33
|
+
* other capability is decided by tier alone.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getDefaultCapabilities(productTier: ProductTier, deploymentMode: LicenseMode): CapabilitySet;
|
|
36
|
+
/**
|
|
37
|
+
* The only structurally invalid combination: a managed deployment that
|
|
38
|
+
* doesn't run the full managed shell. Managed Platform is the sole managed
|
|
39
|
+
* offering — there is no "managed core"/"managed trading" product.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isValidCombination(deploymentMode: LicenseMode, capabilities: CapabilitySet): boolean;
|
|
42
|
+
export interface LegacyPayloadShape {
|
|
43
|
+
licenseKey?: string;
|
|
44
|
+
mode?: LicenseMode;
|
|
45
|
+
deploymentMode?: LicenseMode;
|
|
46
|
+
tier?: LicenseTier;
|
|
47
|
+
productTier?: ProductTier;
|
|
48
|
+
plan?: string;
|
|
49
|
+
expires?: string;
|
|
50
|
+
features?: LicenseFeatures;
|
|
51
|
+
capabilities?: CapabilitySet;
|
|
52
|
+
schemaVersion?: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Upgrade any payload (current or legacy) to the current schema: ensures
|
|
56
|
+
* `deploymentMode`, `productTier`, `capabilities`, and `schemaVersion` are
|
|
57
|
+
* always present. Never throws — always returns a usable payload plus a
|
|
58
|
+
* list of human-readable warnings describing any defaults that were applied.
|
|
59
|
+
*/
|
|
60
|
+
export declare function migrateLegacyPayload(raw: LegacyPayloadShape): {
|
|
61
|
+
payload: LicensePayload;
|
|
62
|
+
warnings: string[];
|
|
63
|
+
};
|
|
64
|
+
export interface PolicyValidationResult {
|
|
65
|
+
valid: boolean;
|
|
66
|
+
normalized: LicensePayload;
|
|
67
|
+
warnings: string[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Guardrail check for structurally invalid mode/tier/capability combinations.
|
|
71
|
+
* Consumption-side policy (SDK): normalize with a warning rather than throw,
|
|
72
|
+
* so a single bad payload can't break chart mounting for an end user.
|
|
73
|
+
* Issuance-side policy (ForgeCharts-admin) should reject instead — see the
|
|
74
|
+
* server-side `capabilityMatrix.ts` copy.
|
|
75
|
+
*/
|
|
76
|
+
export declare function validateLicensePolicy(payload: LicensePayload): PolicyValidationResult;
|
|
77
|
+
//# sourceMappingURL=capabilityMatrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilityMatrix.d.ts","sourceRoot":"","sources":["../../src/licensing/capabilityMatrix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE1D,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAAoC,CAAC;AAErF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;CACvB;AAoCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,GAAG,aAAa,CAM3G;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,GAAG,OAAO,CAGpG;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAqC7G;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,sBAAsB,CAkBrF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProductTier, CapabilitySet } from './capabilityMatrix';
|
|
1
2
|
export type LicenseMode = 'managed' | 'unmanaged';
|
|
2
3
|
/**
|
|
3
4
|
* @deprecated Tier is no longer used — mode + features is sufficient.
|
|
@@ -62,16 +63,42 @@ export interface LicenseFeatures {
|
|
|
62
63
|
}
|
|
63
64
|
/** Trading feature keys — the subset gated to managed mode by default. */
|
|
64
65
|
export declare const TRADING_FEATURE_KEYS: ReadonlySet<string>;
|
|
66
|
+
/**
|
|
67
|
+
* A license payload as it may arrive from any source — a fresh v2 verify
|
|
68
|
+
* response, a v1 payload cached in localStorage, or a hand-built object in
|
|
69
|
+
* older host/test code. Only `licenseKey` and `mode` are guaranteed.
|
|
70
|
+
*
|
|
71
|
+
* `deploymentMode`/`productTier`/`capabilities`/`schemaVersion` are optional
|
|
72
|
+
* here (existing callers constructing `{ licenseKey, mode }` literals must
|
|
73
|
+
* keep type-checking — that's the backward-compat contract). Always pass
|
|
74
|
+
* payloads through `LicenseManager.loadLicense()`/`validateLicense()`, which
|
|
75
|
+
* runs `migrateLegacyPayload` + `validateLicensePolicy` and guarantees
|
|
76
|
+
* `LicenseManager.getCapabilities()`/`getProductTier()` never see gaps —
|
|
77
|
+
* never read `payload.capabilities` directly off a raw payload.
|
|
78
|
+
*/
|
|
65
79
|
export interface LicensePayload {
|
|
66
80
|
licenseKey: string;
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated Use `deploymentMode` — kept in sync for backward compatibility
|
|
83
|
+
* with code that still reads `.mode`.
|
|
84
|
+
*/
|
|
67
85
|
mode: LicenseMode;
|
|
86
|
+
/** Wiring axis — who hosts the runtime. Independent of `productTier`. */
|
|
87
|
+
deploymentMode?: LicenseMode;
|
|
88
|
+
/** Entitlement axis — what's sold. Independent of `deploymentMode`. */
|
|
89
|
+
productTier?: ProductTier;
|
|
90
|
+
/** Resolved capability set for this payload's tier + mode combination. */
|
|
91
|
+
capabilities?: CapabilitySet;
|
|
92
|
+
/** Payload contract version. Absent/less-than-current implies a legacy (v1) payload — see `migrateLegacyPayload`. */
|
|
93
|
+
schemaVersion?: number;
|
|
68
94
|
/**
|
|
69
|
-
* @deprecated
|
|
70
|
-
*
|
|
95
|
+
* @deprecated Superseded by `productTier`. Kept for backward compatibility
|
|
96
|
+
* with cached payloads; no longer drives capability resolution.
|
|
71
97
|
*/
|
|
72
98
|
tier?: LicenseTier;
|
|
73
99
|
plan?: string;
|
|
74
100
|
expires?: string;
|
|
75
101
|
features?: LicenseFeatures;
|
|
76
102
|
}
|
|
103
|
+
export type { ProductTier, CapabilitySet };
|
|
77
104
|
//# sourceMappingURL=licenseTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"licenseTypes.d.ts","sourceRoot":"","sources":["../../src/licensing/licenseTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,aAAa,kBAA2C,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAe;IAE9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,2EAA2E;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAGnD,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B"}
|
|
1
|
+
{"version":3,"file":"licenseTypes.d.ts","sourceRoot":"","sources":["../../src/licensing/licenseTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,aAAa,kBAA2C,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAe;IAE9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,2EAA2E;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAGnD,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB,yEAAyE;IACzE,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,uEAAuE;IACvE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,qHAAqH;IACrH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAID,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/node.d.ts
CHANGED
|
@@ -42,7 +42,9 @@ export { ManagedTradingController } from './trading/managed/ManagedTradingContro
|
|
|
42
42
|
export type { IExecutionProvider, PlaceOrderInput, ModifyOrderInput, PlaceBracketOrderInput, OrderAck, BracketOrderAck, ManagedOrderType, TimeInForce, } from './trading/managed/managedTypes';
|
|
43
43
|
export { assertManagedMode, assertCanPlaceOrders, assertCanUseBrackets, assertCanUseDraggableOrders, assertCanUseManagedTrading, isManagedCapable, canPlaceOrders, canPlaceBrackets, canUseDraggable, canUseManagedTradingHook, } from './trading/managed/managedCapabilities';
|
|
44
44
|
export { LicenseManager } from './licensing/LicenseManager';
|
|
45
|
-
export type { LicenseMode, LicenseFeatures, LicensePayload } from './licensing/licenseTypes';
|
|
45
|
+
export type { LicenseMode, LicenseFeatures, LicensePayload, ProductTier, CapabilitySet } from './licensing/licenseTypes';
|
|
46
|
+
export { getDefaultCapabilities, isValidCombination, migrateLegacyPayload, validateLicensePolicy, CURRENT_SCHEMA_VERSION, PRODUCT_TIERS, } from './licensing/capabilityMatrix';
|
|
47
|
+
export type { PolicyValidationResult, LegacyPayloadShape } from './licensing/capabilityMatrix';
|
|
46
48
|
export { ChartRuntimeResolver } from './licensing/ChartRuntimeResolver';
|
|
47
49
|
export type { ChartCapabilities } from './licensing/ChartRuntimeResolver';
|
|
48
50
|
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';
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|