@molecule/app-ide-react 1.1.2 → 1.2.0
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/components/ChatPanel.d.ts.map +1 -1
- package/dist/components/ChatPanel.js +14 -2
- package/dist/components/ChatPanel.js.map +1 -1
- package/dist/components/chat-models-utilities.d.ts +68 -8
- package/dist/components/chat-models-utilities.d.ts.map +1 -1
- package/dist/components/chat-models-utilities.js +116 -12
- package/dist/components/chat-models-utilities.js.map +1 -1
- package/package.json +3 -3
|
@@ -40,34 +40,94 @@ export type ModelProcessingRegion = string;
|
|
|
40
40
|
*/
|
|
41
41
|
export declare function effectiveModelRegion(model: AppModelDefinition, requested?: string): ModelProcessingRegion;
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
43
|
+
* The peak-hour multiplier in force for a model at an instant, in a region.
|
|
44
|
+
*
|
|
45
|
+
* Mirrors the server's `priceMultiplierAt`, including the rule that matters
|
|
46
|
+
* most: peak belongs to the NATIVE provider, so a region with a `regionPricing`
|
|
47
|
+
* override — a different host, billing its own flat card — never takes it.
|
|
48
|
+
* Showing a 2× on a re-host the user is actually routed to would be a lie in
|
|
49
|
+
* the expensive direction.
|
|
50
|
+
*
|
|
51
|
+
* @param model - The model metadata.
|
|
52
|
+
* @param region - The user's per-model region choice, if any.
|
|
53
|
+
* @param at - The instant to evaluate (defaults to now).
|
|
54
|
+
* @returns The multiplier, or `1` when no peak window applies.
|
|
55
|
+
*/
|
|
56
|
+
export declare function modelPeakMultiplier(model: AppModelDefinition, region?: string, at?: Date): number;
|
|
57
|
+
/**
|
|
58
|
+
* Whether a model can EVER cost more at some hours than others, in a region.
|
|
59
|
+
*
|
|
60
|
+
* Distinct from {@link modelPeakMultiplier}, which answers "right now". The
|
|
61
|
+
* picker needs both: one to price the current moment, one to decide whether the
|
|
62
|
+
* model deserves a "costs more at some hours" explanation at all — a model in
|
|
63
|
+
* its off-peak hours still surprises the user later if nothing says so.
|
|
64
|
+
*
|
|
65
|
+
* @param model - The model metadata.
|
|
66
|
+
* @param region - The user's per-model region choice, if any.
|
|
67
|
+
* @returns True when the model has peak windows that apply in this region.
|
|
68
|
+
*/
|
|
69
|
+
export declare function modelHasPeakPricing(model: AppModelDefinition, region?: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* The peak windows as local-time `HH:MM–HH:MM` ranges, for display.
|
|
72
|
+
*
|
|
73
|
+
* Local, not UTC: a user reasons about "is it expensive right now" in their own
|
|
74
|
+
* clock, and the windows are only actionable if they can be compared to it.
|
|
75
|
+
*
|
|
76
|
+
* @param model - The model metadata.
|
|
77
|
+
* @returns Formatted local ranges, empty when the model has no peak windows.
|
|
78
|
+
*/
|
|
79
|
+
export declare function modelPeakWindowLabels(model: AppModelDefinition): string[];
|
|
80
|
+
/**
|
|
81
|
+
* What a representative agentic turn costs on a model, in USD — the single
|
|
82
|
+
* "cost" figure, at the rates of the model's effective region (`regionPricing`
|
|
83
|
+
* override when the region has one, else the base rates).
|
|
84
|
+
*
|
|
85
|
+
* This weighted `AGENTIC_TOKEN_MIX` replaced a plain `input + output` sum on
|
|
86
|
+
* 2026-08-14. That sum ignored cache reads, which is the term that actually
|
|
87
|
+
* dominates the bill, and the error was not small: it showed Claude Haiku at
|
|
88
|
+
* ×23 the cheapest model when the real figure is ×10, and gemini-3.7-flash at
|
|
89
|
+
* ×35 against a true ×15 — systematically scaring users off cache-friendly
|
|
90
|
+
* models while making a couple of others look cheaper than they bill. The sum
|
|
91
|
+
* was a fine proxy while every provider's cache read was a fixed fraction of
|
|
92
|
+
* input; it stopped being one once hosts started pricing cache reads
|
|
93
|
+
* independently (DeepSeek's absolute cache-hit rates, DeepInfra's 0.2x).
|
|
94
|
+
*
|
|
95
|
+
* Not currency: callers surface this only as a RELATIVE multiplier
|
|
96
|
+
* ({@link modelUsageRate}), never as a price.
|
|
46
97
|
*
|
|
47
98
|
* @param model - The model metadata.
|
|
48
99
|
* @param region - The user's per-model region choice, if any (omitted → the
|
|
49
100
|
* model's default region).
|
|
50
|
-
* @returns
|
|
101
|
+
* @returns The blended cost of one representative turn in USD.
|
|
51
102
|
*/
|
|
52
103
|
export declare function modelTotalCost(model: AppModelDefinition, region?: string): number;
|
|
53
104
|
/**
|
|
54
105
|
* Relative usage rate: how much faster this model consumes the user's AI
|
|
55
106
|
* allowance than the cheapest available model (a unitless `×N` multiplier,
|
|
56
|
-
* `1` for the cheapest). Derived from
|
|
57
|
-
* is the ONLY per-model "cost" figure user-facing surfaces show — AI
|
|
58
|
-
* never presented as currency.
|
|
107
|
+
* `1` for the cheapest). Derived from {@link modelTotalCost}, a blended agentic
|
|
108
|
+
* turn. This is the ONLY per-model "cost" figure user-facing surfaces show — AI
|
|
109
|
+
* usage is never presented as currency.
|
|
59
110
|
*
|
|
60
111
|
* The base is every model's DEFAULT-region cost (stable regardless of the
|
|
61
112
|
* user's per-model region choices); the rated model itself is priced at the
|
|
62
113
|
* given region so the figure tracks what a region switch actually changes.
|
|
63
114
|
*
|
|
115
|
+
* PEAK PRICING IS INCLUDED, at `at`. A model inside a provider's peak window
|
|
116
|
+
* genuinely drains the allowance at its multiplier, so the figure has to move
|
|
117
|
+
* with it — a single all-day number is wrong twice a day. Only the RATED model
|
|
118
|
+
* takes its multiplier: the base stays each model's off-peak default-region
|
|
119
|
+
* cost, so the anchor does not wobble as unrelated models enter their windows.
|
|
120
|
+
* Pair it with {@link modelHasPeakPricing} / {@link modelPeakWindowLabels} so a
|
|
121
|
+
* changing number reads as explained rather than erratic.
|
|
122
|
+
*
|
|
64
123
|
* @param model - The model to rate.
|
|
65
124
|
* @param models - The full available-model list (supplies the cheapest base).
|
|
66
125
|
* @param region - The rated model's region choice, if any (omitted → its
|
|
67
126
|
* default region).
|
|
127
|
+
* @param at - The instant to price at (defaults to now).
|
|
68
128
|
* @returns The multiplier, rounded to 1 decimal below 10 and whole above.
|
|
69
129
|
*/
|
|
70
|
-
export declare function modelUsageRate(model: AppModelDefinition, models: readonly AppModelDefinition[], region?: string): number;
|
|
130
|
+
export declare function modelUsageRate(model: AppModelDefinition, models: readonly AppModelDefinition[], region?: string, at?: Date): number;
|
|
71
131
|
/**
|
|
72
132
|
* Ascending comparator for two models by the given column. Returns a negative,
|
|
73
133
|
* zero, or positive number suitable for `Array.prototype.sort`. Ties fall back
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-models-utilities.d.ts","sourceRoot":"","sources":["../../src/components/chat-models-utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;AAExF,sBAAsB;AACtB,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAA;AAE1C;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,kBAAkB,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,qBAAqB,CAGvB;AAED
|
|
1
|
+
{"version":3,"file":"chat-models-utilities.d.ts","sourceRoot":"","sources":["../../src/components/chat-models-utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;AAExF,sBAAsB;AACtB,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAA;AAE1C;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,kBAAkB,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,qBAAqB,CAGvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,kBAAkB,EACzB,MAAM,CAAC,EAAE,MAAM,EACf,EAAE,GAAE,IAAiB,GACpB,MAAM,CAaR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAGvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAQzE;AAYD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAejF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,SAAS,kBAAkB,EAAE,EACrC,MAAM,CAAC,EAAE,MAAM,EACf,EAAE,GAAE,IAAiB,GACpB,MAAM,CAMR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,kBAAkB,EACrB,CAAC,EAAE,kBAAkB,EACrB,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,qBAAqB,GAC9D,MAAM,CAoCR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,kBAAkB,EAAE,EACrC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,aAAa,EACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,qBAAqB,GAC9D,kBAAkB,EAAE,CAQtB"}
|
|
@@ -23,44 +23,148 @@ export function effectiveModelRegion(model, requested) {
|
|
|
23
23
|
return requested && regions.includes(requested) ? requested : regions[0];
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* The peak-hour multiplier in force for a model at an instant, in a region.
|
|
27
|
+
*
|
|
28
|
+
* Mirrors the server's `priceMultiplierAt`, including the rule that matters
|
|
29
|
+
* most: peak belongs to the NATIVE provider, so a region with a `regionPricing`
|
|
30
|
+
* override — a different host, billing its own flat card — never takes it.
|
|
31
|
+
* Showing a 2× on a re-host the user is actually routed to would be a lie in
|
|
32
|
+
* the expensive direction.
|
|
33
|
+
*
|
|
34
|
+
* @param model - The model metadata.
|
|
35
|
+
* @param region - The user's per-model region choice, if any.
|
|
36
|
+
* @param at - The instant to evaluate (defaults to now).
|
|
37
|
+
* @returns The multiplier, or `1` when no peak window applies.
|
|
38
|
+
*/
|
|
39
|
+
export function modelPeakMultiplier(model, region, at = new Date()) {
|
|
40
|
+
if (model.regionPricing?.[effectiveModelRegion(model, region)])
|
|
41
|
+
return 1;
|
|
42
|
+
const peak = model.peakPricing;
|
|
43
|
+
if (!peak || peak.windows.length === 0)
|
|
44
|
+
return 1;
|
|
45
|
+
const minute = at.getUTCHours() * 60 + at.getUTCMinutes();
|
|
46
|
+
for (const w of peak.windows) {
|
|
47
|
+
const inWindow = w.startMinuteUtc <= w.endMinuteUtc
|
|
48
|
+
? minute >= w.startMinuteUtc && minute < w.endMinuteUtc
|
|
49
|
+
: minute >= w.startMinuteUtc || minute < w.endMinuteUtc;
|
|
50
|
+
if (inWindow)
|
|
51
|
+
return peak.multiplier;
|
|
52
|
+
}
|
|
53
|
+
return 1;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Whether a model can EVER cost more at some hours than others, in a region.
|
|
57
|
+
*
|
|
58
|
+
* Distinct from {@link modelPeakMultiplier}, which answers "right now". The
|
|
59
|
+
* picker needs both: one to price the current moment, one to decide whether the
|
|
60
|
+
* model deserves a "costs more at some hours" explanation at all — a model in
|
|
61
|
+
* its off-peak hours still surprises the user later if nothing says so.
|
|
62
|
+
*
|
|
63
|
+
* @param model - The model metadata.
|
|
64
|
+
* @param region - The user's per-model region choice, if any.
|
|
65
|
+
* @returns True when the model has peak windows that apply in this region.
|
|
66
|
+
*/
|
|
67
|
+
export function modelHasPeakPricing(model, region) {
|
|
68
|
+
if (model.regionPricing?.[effectiveModelRegion(model, region)])
|
|
69
|
+
return false;
|
|
70
|
+
return (model.peakPricing?.windows.length ?? 0) > 0 && model.peakPricing.multiplier !== 1;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The peak windows as local-time `HH:MM–HH:MM` ranges, for display.
|
|
74
|
+
*
|
|
75
|
+
* Local, not UTC: a user reasons about "is it expensive right now" in their own
|
|
76
|
+
* clock, and the windows are only actionable if they can be compared to it.
|
|
77
|
+
*
|
|
78
|
+
* @param model - The model metadata.
|
|
79
|
+
* @returns Formatted local ranges, empty when the model has no peak windows.
|
|
80
|
+
*/
|
|
81
|
+
export function modelPeakWindowLabels(model) {
|
|
82
|
+
const windows = model.peakPricing?.windows ?? [];
|
|
83
|
+
const fmt = (minuteUtc) => {
|
|
84
|
+
const d = new Date();
|
|
85
|
+
d.setUTCHours(Math.floor(minuteUtc / 60), minuteUtc % 60, 0, 0);
|
|
86
|
+
return d.toLocaleTimeString(undefined, { hour: '2-digit', minute: '2-digit' });
|
|
87
|
+
};
|
|
88
|
+
return windows.map((w) => `${fmt(w.startMinuteUtc)}–${fmt(w.endMinuteUtc)}`);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The token mix a real agentic turn bills at, used to weight the cost figure.
|
|
92
|
+
*
|
|
93
|
+
* Agentic conversations re-send a growing prefix every turn, so prompt-cache
|
|
94
|
+
* HITS dominate: measured traffic runs ~94% cache reads (deepseek, 2026-08-01).
|
|
95
|
+
* Weighting matters more than the exact numbers — what breaks is ignoring cache
|
|
96
|
+
* reads entirely, not being a few points off the ratio.
|
|
97
|
+
*/
|
|
98
|
+
const AGENTIC_TOKEN_MIX = { cacheRead: 47_000, input: 3_000, output: 800 };
|
|
99
|
+
/**
|
|
100
|
+
* What a representative agentic turn costs on a model, in USD — the single
|
|
101
|
+
* "cost" figure, at the rates of the model's effective region (`regionPricing`
|
|
102
|
+
* override when the region has one, else the base rates).
|
|
103
|
+
*
|
|
104
|
+
* This weighted `AGENTIC_TOKEN_MIX` replaced a plain `input + output` sum on
|
|
105
|
+
* 2026-08-14. That sum ignored cache reads, which is the term that actually
|
|
106
|
+
* dominates the bill, and the error was not small: it showed Claude Haiku at
|
|
107
|
+
* ×23 the cheapest model when the real figure is ×10, and gemini-3.7-flash at
|
|
108
|
+
* ×35 against a true ×15 — systematically scaring users off cache-friendly
|
|
109
|
+
* models while making a couple of others look cheaper than they bill. The sum
|
|
110
|
+
* was a fine proxy while every provider's cache read was a fixed fraction of
|
|
111
|
+
* input; it stopped being one once hosts started pricing cache reads
|
|
112
|
+
* independently (DeepSeek's absolute cache-hit rates, DeepInfra's 0.2x).
|
|
113
|
+
*
|
|
114
|
+
* Not currency: callers surface this only as a RELATIVE multiplier
|
|
115
|
+
* ({@link modelUsageRate}), never as a price.
|
|
29
116
|
*
|
|
30
117
|
* @param model - The model metadata.
|
|
31
118
|
* @param region - The user's per-model region choice, if any (omitted → the
|
|
32
119
|
* model's default region).
|
|
33
|
-
* @returns
|
|
120
|
+
* @returns The blended cost of one representative turn in USD.
|
|
34
121
|
*/
|
|
35
122
|
export function modelTotalCost(model, region) {
|
|
36
123
|
const override = model.regionPricing?.[effectiveModelRegion(model, region)];
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
124
|
+
const input = override?.inputPricePerMTok ?? model.inputPricePerMTok;
|
|
125
|
+
const output = override?.outputPricePerMTok ?? model.outputPricePerMTok;
|
|
126
|
+
// An override with no cache fields bills cache reads at its input rate — the
|
|
127
|
+
// same fallback `modelRegionRates` applies server-side for metering.
|
|
128
|
+
const cacheRead = override
|
|
129
|
+
? (override.cacheReadPricePerMTok ?? override.inputPricePerMTok)
|
|
130
|
+
: model.cacheReadPricePerMTok;
|
|
131
|
+
return ((AGENTIC_TOKEN_MIX.cacheRead * cacheRead +
|
|
132
|
+
AGENTIC_TOKEN_MIX.input * input +
|
|
133
|
+
AGENTIC_TOKEN_MIX.output * output) /
|
|
134
|
+
1_000_000);
|
|
40
135
|
}
|
|
41
136
|
/**
|
|
42
137
|
* Relative usage rate: how much faster this model consumes the user's AI
|
|
43
138
|
* allowance than the cheapest available model (a unitless `×N` multiplier,
|
|
44
|
-
* `1` for the cheapest). Derived from
|
|
45
|
-
* is the ONLY per-model "cost" figure user-facing surfaces show — AI
|
|
46
|
-
* never presented as currency.
|
|
139
|
+
* `1` for the cheapest). Derived from {@link modelTotalCost}, a blended agentic
|
|
140
|
+
* turn. This is the ONLY per-model "cost" figure user-facing surfaces show — AI
|
|
141
|
+
* usage is never presented as currency.
|
|
47
142
|
*
|
|
48
143
|
* The base is every model's DEFAULT-region cost (stable regardless of the
|
|
49
144
|
* user's per-model region choices); the rated model itself is priced at the
|
|
50
145
|
* given region so the figure tracks what a region switch actually changes.
|
|
51
146
|
*
|
|
147
|
+
* PEAK PRICING IS INCLUDED, at `at`. A model inside a provider's peak window
|
|
148
|
+
* genuinely drains the allowance at its multiplier, so the figure has to move
|
|
149
|
+
* with it — a single all-day number is wrong twice a day. Only the RATED model
|
|
150
|
+
* takes its multiplier: the base stays each model's off-peak default-region
|
|
151
|
+
* cost, so the anchor does not wobble as unrelated models enter their windows.
|
|
152
|
+
* Pair it with {@link modelHasPeakPricing} / {@link modelPeakWindowLabels} so a
|
|
153
|
+
* changing number reads as explained rather than erratic.
|
|
154
|
+
*
|
|
52
155
|
* @param model - The model to rate.
|
|
53
156
|
* @param models - The full available-model list (supplies the cheapest base).
|
|
54
157
|
* @param region - The rated model's region choice, if any (omitted → its
|
|
55
158
|
* default region).
|
|
159
|
+
* @param at - The instant to price at (defaults to now).
|
|
56
160
|
* @returns The multiplier, rounded to 1 decimal below 10 and whole above.
|
|
57
161
|
*/
|
|
58
|
-
export function modelUsageRate(model, models, region) {
|
|
162
|
+
export function modelUsageRate(model, models, region, at = new Date()) {
|
|
59
163
|
const costs = models.map((m) => modelTotalCost(m)).filter((c) => c > 0);
|
|
60
164
|
const base = costs.length > 0 ? Math.min(...costs) : 0;
|
|
61
165
|
if (!Number.isFinite(base) || base <= 0)
|
|
62
166
|
return 1;
|
|
63
|
-
const rate = modelTotalCost(model, region) / base;
|
|
167
|
+
const rate = (modelTotalCost(model, region) * modelPeakMultiplier(model, region, at)) / base;
|
|
64
168
|
return rate >= 10 ? Math.round(rate) : Math.max(1, Math.round(rate * 10) / 10);
|
|
65
169
|
}
|
|
66
170
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-models-utilities.js","sourceRoot":"","sources":["../../src/components/chat-models-utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAyB,EACzB,SAAkB;IAElB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"chat-models-utilities.js","sourceRoot":"","sources":["../../src/components/chat-models-utilities.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@molecule/app-ide-react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "React IDE components for molecule.dev workspace",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
"material-file-icons": "2.4.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@molecule/app-ai-models": "1.
|
|
59
|
+
"@molecule/app-ai-models": "1.2.0",
|
|
60
60
|
"@molecule/app-ai-voice": "1.0.1",
|
|
61
61
|
"@molecule/app-country-flags": "1.0.1",
|
|
62
62
|
"@molecule/app-i18n": "1.0.1",
|
|
63
63
|
"@molecule/app-icons": "1.0.1",
|
|
64
64
|
"@molecule/app-live-preview": "1.0.1",
|
|
65
|
-
"@molecule/app-locales-ide": "1.0
|
|
65
|
+
"@molecule/app-locales-ide": "1.1.0",
|
|
66
66
|
"@molecule/app-logger": "1.0.1",
|
|
67
67
|
"@molecule/app-react": "1.0.1",
|
|
68
68
|
"@molecule/app-storage": "1.0.1",
|