@flamingo-stack/openframe-frontend-core 0.0.723 → 0.0.724
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/{chunk-WSMOTZRJ.cjs → chunk-2A4AGW7Z.cjs} +11 -11
- package/dist/{chunk-F6JAGSKV.js → chunk-2HLGX6JF.js} +5 -5
- package/dist/{chunk-Y5H3M7OM.cjs → chunk-3MMKIVWZ.cjs} +23 -23
- package/dist/{chunk-OWRD2GZU.cjs → chunk-3NVSC3BU.cjs} +687 -611
- package/dist/{chunk-N4VCU6XP.js → chunk-4N5DLIEC.js} +1 -1
- package/dist/{chunk-OHC2MPUO.cjs → chunk-5CJGNPTT.cjs} +35 -35
- package/dist/{chunk-OVG6MV3X.js → chunk-6BKDXUOQ.js} +6 -6
- package/dist/{chunk-VIFVSFYY.js → chunk-6QO6BIX7.js} +1 -1
- package/dist/{chunk-FDWYBJYD.cjs → chunk-7AXOAA5T.cjs} +3 -3
- package/dist/{chunk-YUSA7IPD.js → chunk-7CNGNPBI.js} +3 -3
- package/dist/{chunk-VGXAZEQP.cjs → chunk-A4WHVIYZ.cjs} +17 -17
- package/dist/{chunk-KSZRALRL.cjs → chunk-BIWG3CYN.cjs} +3 -3
- package/dist/{chunk-WVA7SCLY.js → chunk-BWMEQ7IZ.js} +1 -1
- package/dist/{chunk-PKS2QQJU.js → chunk-CJENFR5T.js} +2 -1
- package/dist/{chunk-JENNI7XU.cjs → chunk-DGNGABNG.cjs} +5 -4
- package/dist/{chunk-KY4WQYYG.cjs → chunk-FR4MFSH5.cjs} +19 -19
- package/dist/{chunk-MWLVYYRX.cjs → chunk-GRB5HVEV.cjs} +2580 -2120
- package/dist/{chunk-3RIKO2O2.cjs → chunk-IPUDFAU5.cjs} +31 -31
- package/dist/{chunk-A7JPMNHF.js → chunk-IUQKIU5A.js} +6 -6
- package/dist/{chunk-LV6UJD2K.cjs → chunk-JKWQWHNV.cjs} +6 -1
- package/dist/{chunk-NESUUHPV.cjs → chunk-JQ7A7PO5.cjs} +76 -76
- package/dist/{chunk-XTG7W75B.js → chunk-KKO4GRM3.js} +4 -4
- package/dist/{chunk-YQOJOW2Z.cjs → chunk-L5CAET76.cjs} +64 -64
- package/dist/{chunk-WY4SLTMZ.js → chunk-MRBPJ4NB.js} +1 -1
- package/dist/{chunk-JL7AHSFE.js → chunk-MU5F5QXJ.js} +6 -6
- package/dist/{chunk-2VOPQJNR.js → chunk-N2PX26BZ.js} +2 -2
- package/dist/{chunk-NFABAOMD.cjs → chunk-N4NGKXUU.cjs} +15 -15
- package/dist/{chunk-SBCJFJ6Q.js → chunk-NLZZUWR6.js} +4 -4
- package/dist/{chunk-7JXCLUU7.js → chunk-OFOBVPDV.js} +2 -2
- package/dist/{chunk-GRDJR2Q7.js → chunk-OWFDXYEO.js} +1 -1
- package/dist/{chunk-QBXEF7D5.js → chunk-PF4WAKCS.js} +4 -4
- package/dist/{chunk-KSADTFNZ.cjs → chunk-QJ67GFF3.cjs} +32 -32
- package/dist/{chunk-G6YNPBWV.js → chunk-QN3OXRTM.js} +3045 -2585
- package/dist/{chunk-P7MDECYI.cjs → chunk-QUI7DKBW.cjs} +41 -41
- package/dist/{chunk-IIBTYCEN.js → chunk-S4SVKXHN.js} +88 -12
- package/dist/{chunk-2MC4DRSC.cjs → chunk-SOTXV3T5.cjs} +3 -3
- package/dist/{chunk-TDSLKKX7.cjs → chunk-SVDXNMBL.cjs} +16 -16
- package/dist/{chunk-UYMTAFHG.js → chunk-VLPGV5WH.js} +1 -1
- package/dist/{chunk-YGIUWQEN.js → chunk-XDTD6YGG.js} +7 -7
- package/dist/{chunk-GYUFKNOQ.cjs → chunk-YKV45BSJ.cjs} +4 -4
- package/dist/{chunk-6QTGLBJH.cjs → chunk-ZKL52ALL.cjs} +3 -3
- package/dist/{chunk-EWED6ISQ.js → chunk-ZQKN2Z6W.js} +5 -0
- package/dist/{cloud-tenants-N6KV2T7X.js → cloud-tenants-5MINXS5J.js} +6 -6
- package/dist/{cloud-tenants-3TVX7U23.cjs → cloud-tenants-UMZJZTMB.cjs} +7 -7
- package/dist/components/case-studies/index.cjs +20 -20
- package/dist/components/case-studies/index.js +7 -7
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +5 -5
- package/dist/components/chat/index.js +4 -4
- package/dist/components/chat/utils/icon-library.d.ts +2 -0
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +8 -8
- package/dist/components/contact/index.js +7 -7
- package/dist/components/docs/index.cjs +11 -11
- package/dist/components/docs/index.js +10 -10
- package/dist/components/embeds/index.cjs +8 -8
- package/dist/components/embeds/index.js +7 -7
- package/dist/components/faq/index.cjs +8 -8
- package/dist/components/faq/index.js +7 -7
- package/dist/components/features/index.cjs +23 -7
- package/dist/components/features/index.d.ts +1 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +22 -6
- package/dist/components/features/model-token-rates.d.ts +179 -0
- package/dist/components/features/model-token-rates.d.ts.map +1 -0
- package/dist/components/help-center-pages/index.cjs +106 -106
- package/dist/components/help-center-pages/index.js +18 -18
- package/dist/components/index.cjs +71 -55
- package/dist/components/index.js +34 -18
- package/dist/components/meeting-scheduler/index.cjs +32 -32
- package/dist/components/meeting-scheduler/index.js +6 -6
- package/dist/components/navigation/index.cjs +10 -10
- package/dist/components/navigation/index.js +9 -9
- package/dist/components/onboarding-guides/index.cjs +10 -10
- package/dist/components/onboarding-guides/index.js +9 -9
- package/dist/components/product-demo/index.cjs +7 -7
- package/dist/components/product-demo/index.js +7 -7
- package/dist/components/related-content/index.cjs +4 -4
- package/dist/components/related-content/index.js +3 -3
- package/dist/components/tickets/index.cjs +11 -11
- package/dist/components/tickets/index.js +10 -10
- package/dist/components/ui/index.cjs +7 -7
- package/dist/components/ui/index.js +6 -6
- package/dist/{devices-275UZZUS.js → devices-FSSUAUQN.js} +6 -6
- package/dist/{devices-MAALZ7DX.cjs → devices-HOT7YSDN.cjs} +8 -8
- package/dist/index.cjs +45 -11
- package/dist/index.js +44 -10
- package/dist/{knowledge-YMMULPPK.cjs → knowledge-3N6HCFLU.cjs} +8 -8
- package/dist/{knowledge-THXC2KC3.js → knowledge-7HRUJX26.js} +6 -6
- package/dist/{logs-IBUKQOHS.cjs → logs-75M5YP6V.cjs} +15 -15
- package/dist/{logs-GM2XBHYT.js → logs-T25OE2QW.js} +6 -6
- package/dist/{policies-NKMRK6RR.js → policies-4OK4XTD4.js} +6 -6
- package/dist/{policies-J5GJXD6G.cjs → policies-BTG7UJJC.cjs} +11 -11
- package/dist/{remote-session-Z2YCUPHU.cjs → remote-session-4DTOM3QD.cjs} +5 -5
- package/dist/{remote-session-WCLR47RN.js → remote-session-AZJXG7ZF.js} +3 -3
- package/dist/{software-update-EKKMKDWI.js → software-update-5SOV4FIR.js} +6 -6
- package/dist/{software-update-JHC4T4SE.cjs → software-update-OZURO4VK.cjs} +11 -11
- package/dist/utils/ai-providers.d.ts +29 -0
- package/dist/utils/ai-providers.d.ts.map +1 -0
- package/dist/utils/index.cjs +76 -2
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +68 -3
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/model-token-rates.d.ts +55 -0
- package/dist/utils/model-token-rates.d.ts.map +1 -0
- package/dist/utils/source-icons.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/entity-cards/dispatch.tsx +3 -0
- package/src/components/chat/utils/icon-library.tsx +6 -0
- package/src/components/features/index.ts +1 -0
- package/src/components/features/model-token-rates.tsx +696 -0
- package/src/utils/ai-providers.ts +46 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/list-url.ts +1 -0
- package/src/utils/model-token-rates.ts +103 -0
- package/src/utils/source-icons.ts +3 -0
|
@@ -15,30 +15,30 @@ var _chunkKHXZFLINcjs = require('./chunk-KHXZFLIN.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkGRB5HVEVcjs = require('./chunk-GRB5HVEV.cjs');
|
|
19
19
|
require('./chunk-ABSWD4PQ.cjs');
|
|
20
20
|
require('./chunk-HQQE74RO.cjs');
|
|
21
21
|
require('./chunk-DEY6XXGO.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkN4NGKXUUcjs = require('./chunk-N4NGKXUU.cjs');
|
|
25
25
|
require('./chunk-4LY6R4TN.cjs');
|
|
26
26
|
require('./chunk-B4NCVYEQ.cjs');
|
|
27
27
|
require('./chunk-MZ4KBSH7.cjs');
|
|
28
28
|
require('./chunk-A6P6DHEZ.cjs');
|
|
29
29
|
require('./chunk-BYUIFT7Q.cjs');
|
|
30
30
|
require('./chunk-LX22Y43B.cjs');
|
|
31
|
-
require('./chunk-
|
|
31
|
+
require('./chunk-3NVSC3BU.cjs');
|
|
32
32
|
require('./chunk-HP4UUBJC.cjs');
|
|
33
33
|
require('./chunk-EWPR7662.cjs');
|
|
34
|
-
require('./chunk-
|
|
34
|
+
require('./chunk-7AXOAA5T.cjs');
|
|
35
35
|
require('./chunk-RUZIICXT.cjs');
|
|
36
36
|
require('./chunk-K2JUJ37D.cjs');
|
|
37
37
|
require('./chunk-WVOTC7HW.cjs');
|
|
38
38
|
require('./chunk-7DNL734S.cjs');
|
|
39
|
-
require('./chunk-
|
|
39
|
+
require('./chunk-DGNGABNG.cjs');
|
|
40
40
|
require('./chunk-AL2GUHAJ.cjs');
|
|
41
|
-
require('./chunk-
|
|
41
|
+
require('./chunk-JKWQWHNV.cjs');
|
|
42
42
|
require('./chunk-TKFTWM3V.cjs');
|
|
43
43
|
require('./chunk-MGHIV4L6.cjs');
|
|
44
44
|
require('./chunk-7GRPR7XA.cjs');
|
|
@@ -116,14 +116,14 @@ var noop = () => {
|
|
|
116
116
|
var HIDDEN_WHEN_COMPACT = ["organization"];
|
|
117
117
|
function StaticPackageField({ value }) {
|
|
118
118
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
119
|
-
|
|
119
|
+
_chunkN4NGKXUUcjs.Autocomplete,
|
|
120
120
|
{
|
|
121
|
-
label:
|
|
121
|
+
label: _chunkGRB5HVEVcjs.PACKAGE_SEARCH_LABEL,
|
|
122
122
|
labelVariant: "large",
|
|
123
123
|
options: value ? [{ value: value.id, label: value.name, description: _nullishCoalesce(value.description, () => ( void 0)) }] : [],
|
|
124
124
|
value: _nullishCoalesce(_optionalChain([value, 'optionalAccess', _ => _.id]), () => ( null)),
|
|
125
125
|
onChange: noop,
|
|
126
|
-
placeholder:
|
|
126
|
+
placeholder: _chunkGRB5HVEVcjs.PACKAGE_SEARCH_PLACEHOLDER
|
|
127
127
|
}
|
|
128
128
|
);
|
|
129
129
|
}
|
|
@@ -137,7 +137,7 @@ function SoftwareUpdateScreen({ compact = false }) {
|
|
|
137
137
|
[fixture.devices, fixture.selectedIds]
|
|
138
138
|
);
|
|
139
139
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
140
|
-
|
|
140
|
+
_chunkGRB5HVEVcjs.SoftwareActionForm,
|
|
141
141
|
{
|
|
142
142
|
action: fixture.action,
|
|
143
143
|
showHeader: false,
|
|
@@ -149,7 +149,7 @@ function SoftwareUpdateScreen({ compact = false }) {
|
|
|
149
149
|
initialValues: fixture.initialValues,
|
|
150
150
|
renderPackageSearch,
|
|
151
151
|
renderDevicePicker: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
152
|
-
|
|
152
|
+
_chunkGRB5HVEVcjs.DeviceSelector,
|
|
153
153
|
{
|
|
154
154
|
devices: selected,
|
|
155
155
|
loading: false,
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AI model providers the product names: what each is called and the NAME of
|
|
3
|
+
* its mark in the icon set. THE one owner of both, for every surface that shows
|
|
4
|
+
* a provider (the token rates, a model picker). Server-safe: it holds names
|
|
5
|
+
* only, and the mark is resolved from the icon set by that name where it is
|
|
6
|
+
* drawn (`findIcon`), so no surface imports a provider's icon.
|
|
7
|
+
*
|
|
8
|
+
* A host that is told a provider's name or mark by its server states them on
|
|
9
|
+
* the record and they win. A provider this list has not met is named from its
|
|
10
|
+
* key, and its mark is looked up by the icon set's own naming
|
|
11
|
+
* (`<provider>-logo-grey`), so a logo added to the set shows with no change here.
|
|
12
|
+
*/
|
|
13
|
+
export interface AiProvider {
|
|
14
|
+
/** The name people know the provider by. */
|
|
15
|
+
label: string;
|
|
16
|
+
/** The icon set's name of the provider's monochrome mark. */
|
|
17
|
+
icon: string;
|
|
18
|
+
}
|
|
19
|
+
/** Keyed by the provider key billing sends (`ANTHROPIC`). */
|
|
20
|
+
export declare const AI_PROVIDERS: Readonly<Record<string, AiProvider>>;
|
|
21
|
+
/**
|
|
22
|
+
* A provider by its key: what a host stated for it, else this list's entry,
|
|
23
|
+
* else its key read as a name and the mark the icon set would hold for it.
|
|
24
|
+
*/
|
|
25
|
+
export declare function aiProvider(key: string, stated?: {
|
|
26
|
+
label?: string | null;
|
|
27
|
+
icon?: string | null;
|
|
28
|
+
} | null): AiProvider;
|
|
29
|
+
//# sourceMappingURL=ai-providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-providers.d.ts","sourceRoot":"","sources":["../../src/utils/ai-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6DAA6D;AAC7D,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAI7D,CAAC;AAQF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,UAAU,CAQnH"}
|
package/dist/utils/index.cjs
CHANGED
|
@@ -304,8 +304,8 @@ function formatAbbreviatedNumber(n) {
|
|
|
304
304
|
function nameInitials(name, fallback = "E", options = {}) {
|
|
305
305
|
const { maxLetters = 2, pick: mode = "all" } = options;
|
|
306
306
|
const source = typeof name === "string" ? name.trim() : "";
|
|
307
|
-
const
|
|
308
|
-
const chosen = mode === "first-last" &&
|
|
307
|
+
const words2 = source.length > 0 ? source.split(/\s+/).filter(Boolean) : [];
|
|
308
|
+
const chosen = mode === "first-last" && words2.length > 1 ? [words2[0], words2[words2.length - 1]] : words2.slice(0, maxLetters);
|
|
309
309
|
const letters = chosen.map((w) => w[0]).filter(Boolean).slice(0, maxLetters).join("");
|
|
310
310
|
return (letters || fallback).toUpperCase();
|
|
311
311
|
}
|
|
@@ -658,6 +658,67 @@ function formatUrlForDisplay(url, options = {}) {
|
|
|
658
658
|
return url.replace(options.keepWww ? /^https?:\/\//i : /^https?:\/\/(www\.)?/i, "").replace(/[?#].*$/, "").replace(/\/$/, "");
|
|
659
659
|
}
|
|
660
660
|
|
|
661
|
+
// src/utils/ai-providers.ts
|
|
662
|
+
var AI_PROVIDERS = {
|
|
663
|
+
ANTHROPIC: { label: "Anthropic", icon: "anthropic-logo-grey" },
|
|
664
|
+
OPENAI: { label: "OpenAI", icon: "openai-logo-grey" },
|
|
665
|
+
GOOGLE_GEMINI: { label: "Google Gemini", icon: "gemini-logo-grey" }
|
|
666
|
+
};
|
|
667
|
+
var words = (key) => key.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean);
|
|
668
|
+
function aiProvider(key, stated) {
|
|
669
|
+
const known = AI_PROVIDERS[key];
|
|
670
|
+
const parts = words(key);
|
|
671
|
+
return {
|
|
672
|
+
label: stated?.label || known?.label || parts.map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ") || key,
|
|
673
|
+
icon: stated?.icon || known?.icon || `${parts.join("-")}-logo-grey`
|
|
674
|
+
};
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
// src/utils/model-token-rates.ts
|
|
678
|
+
var TOKEN_RATE_EMPTY = "\u2014";
|
|
679
|
+
function formatTokenRate(value) {
|
|
680
|
+
if (value == null || !Number.isFinite(value) || value <= 0) return TOKEN_RATE_EMPTY;
|
|
681
|
+
const rounded = value >= 0.1 ? Number(value.toFixed(2)) : Number(value.toPrecision(2));
|
|
682
|
+
return `${rounded}\xD7`;
|
|
683
|
+
}
|
|
684
|
+
function tokenCost(tokens, tokenPrice) {
|
|
685
|
+
if (!tokenPrice || !(tokenPrice.tokens > 0) || !(tokenPrice.price > 0) || !(tokens >= 0)) return null;
|
|
686
|
+
return tokens / tokenPrice.tokens * tokenPrice.price;
|
|
687
|
+
}
|
|
688
|
+
var TOKEN_AMOUNT_UNITS = [
|
|
689
|
+
{ size: 1e9, suffix: "B" },
|
|
690
|
+
{ size: 1e6, suffix: "M" },
|
|
691
|
+
{ size: 1e3, suffix: "K" }
|
|
692
|
+
];
|
|
693
|
+
function formatTokenAmount(tokens) {
|
|
694
|
+
if (tokens == null || !Number.isFinite(tokens) || tokens < 0) return TOKEN_RATE_EMPTY;
|
|
695
|
+
const whole = Math.round(tokens);
|
|
696
|
+
if (whole < 1e3) return String(whole);
|
|
697
|
+
for (const [index, unit] of TOKEN_AMOUNT_UNITS.entries()) {
|
|
698
|
+
if (whole < unit.size) continue;
|
|
699
|
+
const figure = Number((whole / unit.size).toPrecision(3));
|
|
700
|
+
const larger = TOKEN_AMOUNT_UNITS[index - 1];
|
|
701
|
+
return figure >= 1e3 && larger ? `1${larger.suffix}` : `${figure}${unit.suffix}`;
|
|
702
|
+
}
|
|
703
|
+
return String(whole);
|
|
704
|
+
}
|
|
705
|
+
function tokensForBalance(balance, rate) {
|
|
706
|
+
if (rate == null || !Number.isFinite(rate) || rate <= 0 || !(balance > 0)) return null;
|
|
707
|
+
return balance / rate;
|
|
708
|
+
}
|
|
709
|
+
function tokenRateProviderLabel(providerType, stated) {
|
|
710
|
+
return aiProvider(providerType, { label: stated }).label;
|
|
711
|
+
}
|
|
712
|
+
function groupTokenRatesByProvider(rates) {
|
|
713
|
+
const groups = /* @__PURE__ */ new Map();
|
|
714
|
+
for (const rate of rates) {
|
|
715
|
+
const group = groups.get(rate.providerType);
|
|
716
|
+
if (group) group.push(rate);
|
|
717
|
+
else groups.set(rate.providerType, [rate]);
|
|
718
|
+
}
|
|
719
|
+
return [...groups].map(([providerType, grouped]) => ({ providerType, rates: grouped }));
|
|
720
|
+
}
|
|
721
|
+
|
|
661
722
|
// src/utils/trial.ts
|
|
662
723
|
var TRIAL_DAYS = 14;
|
|
663
724
|
var TRIAL_LABELS = {
|
|
@@ -3513,6 +3574,7 @@ var SOURCE_ICON_NAMES = {
|
|
|
3513
3574
|
"trust-center": "shield-check",
|
|
3514
3575
|
// The public website's own pages (live source): the site's own mark, as a glyph in the slot's colour
|
|
3515
3576
|
"website-pages": "flamingo-logo-grey",
|
|
3577
|
+
"openframe-pricing": "money-bill-dollar",
|
|
3516
3578
|
// The OpenMSP vendor directory: the icon the site menu's "Tool directory" entry draws (it reads this one)
|
|
3517
3579
|
vendors: "package-search",
|
|
3518
3580
|
// Financials
|
|
@@ -3578,6 +3640,7 @@ var SOURCE_LABELS_BY_TABLE = {
|
|
|
3578
3640
|
// Trust
|
|
3579
3641
|
"trust-center": "Trust Center",
|
|
3580
3642
|
"website-pages": "Website",
|
|
3643
|
+
"openframe-pricing": "OpenFrame pricing",
|
|
3581
3644
|
vendors: "Vendor Directory",
|
|
3582
3645
|
// Financials
|
|
3583
3646
|
"investor-updates": "Investor Updates",
|
|
@@ -3647,6 +3710,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
|
|
|
3647
3710
|
// Trust
|
|
3648
3711
|
trust_center: "trust-center",
|
|
3649
3712
|
site_page: "website-pages",
|
|
3713
|
+
openframe_price: "openframe-pricing",
|
|
3650
3714
|
vendor: "vendors",
|
|
3651
3715
|
// Financials
|
|
3652
3716
|
investor_update: "investor-updates",
|
|
@@ -5201,6 +5265,7 @@ var BUILDERS = {
|
|
|
5201
5265
|
prospect_call: (ids, b) => `${b}/api/prospect-calls?ids=${ids.join(",")}`,
|
|
5202
5266
|
// The public website's own pages (live source; ChatRef-shaped items like the objects above).
|
|
5203
5267
|
site_page: (ids, b) => `${b}/api/site-pages?ids=${ids.join(",")}`,
|
|
5268
|
+
openframe_price: (ids, b) => `${b}/api/openframe-pricing?ids=${ids.join(",")}`,
|
|
5204
5269
|
// The OpenMSP vendor directory (indexed source).
|
|
5205
5270
|
vendor: (ids, b) => `${b}/api/vendors/cards?ids=${ids.join(",")}`,
|
|
5206
5271
|
// Code intelligence — per-object card hydration, same `handleEntityCardList`
|
|
@@ -6471,6 +6536,7 @@ function pathMatchesAny(pathname, patterns) {
|
|
|
6471
6536
|
}
|
|
6472
6537
|
|
|
6473
6538
|
exports.ACTIVE_ANCHOR_ATTRIBUTE = ACTIVE_ANCHOR_ATTRIBUTE;
|
|
6539
|
+
exports.AI_PROVIDERS = AI_PROVIDERS;
|
|
6474
6540
|
exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME;
|
|
6475
6541
|
exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX;
|
|
6476
6542
|
exports.BADGE_PALETTE = BADGE_PALETTE;
|
|
@@ -6555,12 +6621,14 @@ exports.STICKY_HEADER_OFFSET_PX = STICKY_HEADER_OFFSET_PX;
|
|
|
6555
6621
|
exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN;
|
|
6556
6622
|
exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM;
|
|
6557
6623
|
exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS;
|
|
6624
|
+
exports.TOKEN_RATE_EMPTY = TOKEN_RATE_EMPTY;
|
|
6558
6625
|
exports.TRIAL_DAYS = TRIAL_DAYS;
|
|
6559
6626
|
exports.TRIAL_LABELS = TRIAL_LABELS;
|
|
6560
6627
|
exports.VENDOR_CLASSIFICATIONS = VENDOR_CLASSIFICATIONS;
|
|
6561
6628
|
exports.VIEWER_TIMEZONE = VIEWER_TIMEZONE;
|
|
6562
6629
|
exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM;
|
|
6563
6630
|
exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
6631
|
+
exports.aiProvider = aiProvider;
|
|
6564
6632
|
exports.analyzeImageColor = analyzeImageColor;
|
|
6565
6633
|
exports.announcementDismissCookieName = announcementDismissCookieName;
|
|
6566
6634
|
exports.applyProxyAuth = applyProxyAuth;
|
|
@@ -6684,6 +6752,8 @@ exports.formatSingularLookupInvocation = formatSingularLookupInvocation;
|
|
|
6684
6752
|
exports.formatTicketFullTimestamp = formatTicketFullTimestamp;
|
|
6685
6753
|
exports.formatTicketRelativeTime = formatTicketRelativeTime;
|
|
6686
6754
|
exports.formatTimeWithTimezone = formatTimeWithTimezone;
|
|
6755
|
+
exports.formatTokenAmount = formatTokenAmount;
|
|
6756
|
+
exports.formatTokenRate = formatTokenRate;
|
|
6687
6757
|
exports.formatUnderscoreText = formatUnderscoreText;
|
|
6688
6758
|
exports.formatUrlForDisplay = formatUrlForDisplay;
|
|
6689
6759
|
exports.formatWebinarTimeMeta = formatWebinarTimeMeta;
|
|
@@ -6758,6 +6828,7 @@ exports.getToolLabel = getToolLabel;
|
|
|
6758
6828
|
exports.getToolTypeAliases = getToolTypeAliases;
|
|
6759
6829
|
exports.getTrendColors = getTrendColors;
|
|
6760
6830
|
exports.groupSourcesByTable = groupSourcesByTable;
|
|
6831
|
+
exports.groupTokenRatesByProvider = groupTokenRatesByProvider;
|
|
6761
6832
|
exports.groupsByTable = groupsByTable;
|
|
6762
6833
|
exports.hasGenericEmailDomain = hasGenericEmailDomain;
|
|
6763
6834
|
exports.hexToRgb = hexToRgb2;
|
|
@@ -6894,6 +6965,9 @@ exports.toFigmaOriginalUrl = toFigmaOriginalUrl;
|
|
|
6894
6965
|
exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl;
|
|
6895
6966
|
exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl;
|
|
6896
6967
|
exports.toToolLabel = toToolLabel;
|
|
6968
|
+
exports.tokenCost = tokenCost;
|
|
6969
|
+
exports.tokenRateProviderLabel = tokenRateProviderLabel;
|
|
6970
|
+
exports.tokensForBalance = tokensForBalance;
|
|
6897
6971
|
exports.transformPlatformConfigsToOptions = transformPlatformConfigsToOptions;
|
|
6898
6972
|
exports.truncateString = truncateString;
|
|
6899
6973
|
exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { cn } from './cn';
|
|
2
2
|
export { getPlatformUrl, getPlatformProductionUrl, getAllPlatformBaseDomains, getDeploymentUrl, getRequestOrigin, isLocalUrl, resolveRedirectTarget, } from '../platform-domains';
|
|
3
3
|
export { formatDate, formatNumber, formatPrice, formatBytes, formatUrlForDisplay } from './format';
|
|
4
|
+
export * from './ai-providers';
|
|
5
|
+
export * from './model-token-rates';
|
|
4
6
|
export { TRIAL_DAYS, TRIAL_LABELS } from './trial';
|
|
5
7
|
export { VENDOR_CLASSIFICATIONS, OPENFRAME_CLASSIFICATIONS, isVendorClassification, isOpenFrameClassification, type VendorClassificationValue, type OpenFrameClassification, type OpenFrameClassificationCopy, } from './vendor-classification';
|
|
6
8
|
export { PLAY_ICON_PATH } from '../components/icons-v2-generated/media-playback/play-icon';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.js
CHANGED
|
@@ -298,8 +298,8 @@ function formatAbbreviatedNumber(n) {
|
|
|
298
298
|
function nameInitials(name, fallback = "E", options = {}) {
|
|
299
299
|
const { maxLetters = 2, pick: mode = "all" } = options;
|
|
300
300
|
const source = typeof name === "string" ? name.trim() : "";
|
|
301
|
-
const
|
|
302
|
-
const chosen = mode === "first-last" &&
|
|
301
|
+
const words2 = source.length > 0 ? source.split(/\s+/).filter(Boolean) : [];
|
|
302
|
+
const chosen = mode === "first-last" && words2.length > 1 ? [words2[0], words2[words2.length - 1]] : words2.slice(0, maxLetters);
|
|
303
303
|
const letters = chosen.map((w) => w[0]).filter(Boolean).slice(0, maxLetters).join("");
|
|
304
304
|
return (letters || fallback).toUpperCase();
|
|
305
305
|
}
|
|
@@ -652,6 +652,67 @@ function formatUrlForDisplay(url, options = {}) {
|
|
|
652
652
|
return url.replace(options.keepWww ? /^https?:\/\//i : /^https?:\/\/(www\.)?/i, "").replace(/[?#].*$/, "").replace(/\/$/, "");
|
|
653
653
|
}
|
|
654
654
|
|
|
655
|
+
// src/utils/ai-providers.ts
|
|
656
|
+
var AI_PROVIDERS = {
|
|
657
|
+
ANTHROPIC: { label: "Anthropic", icon: "anthropic-logo-grey" },
|
|
658
|
+
OPENAI: { label: "OpenAI", icon: "openai-logo-grey" },
|
|
659
|
+
GOOGLE_GEMINI: { label: "Google Gemini", icon: "gemini-logo-grey" }
|
|
660
|
+
};
|
|
661
|
+
var words = (key) => key.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean);
|
|
662
|
+
function aiProvider(key, stated) {
|
|
663
|
+
const known = AI_PROVIDERS[key];
|
|
664
|
+
const parts = words(key);
|
|
665
|
+
return {
|
|
666
|
+
label: stated?.label || known?.label || parts.map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ") || key,
|
|
667
|
+
icon: stated?.icon || known?.icon || `${parts.join("-")}-logo-grey`
|
|
668
|
+
};
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
// src/utils/model-token-rates.ts
|
|
672
|
+
var TOKEN_RATE_EMPTY = "\u2014";
|
|
673
|
+
function formatTokenRate(value) {
|
|
674
|
+
if (value == null || !Number.isFinite(value) || value <= 0) return TOKEN_RATE_EMPTY;
|
|
675
|
+
const rounded = value >= 0.1 ? Number(value.toFixed(2)) : Number(value.toPrecision(2));
|
|
676
|
+
return `${rounded}\xD7`;
|
|
677
|
+
}
|
|
678
|
+
function tokenCost(tokens, tokenPrice) {
|
|
679
|
+
if (!tokenPrice || !(tokenPrice.tokens > 0) || !(tokenPrice.price > 0) || !(tokens >= 0)) return null;
|
|
680
|
+
return tokens / tokenPrice.tokens * tokenPrice.price;
|
|
681
|
+
}
|
|
682
|
+
var TOKEN_AMOUNT_UNITS = [
|
|
683
|
+
{ size: 1e9, suffix: "B" },
|
|
684
|
+
{ size: 1e6, suffix: "M" },
|
|
685
|
+
{ size: 1e3, suffix: "K" }
|
|
686
|
+
];
|
|
687
|
+
function formatTokenAmount(tokens) {
|
|
688
|
+
if (tokens == null || !Number.isFinite(tokens) || tokens < 0) return TOKEN_RATE_EMPTY;
|
|
689
|
+
const whole = Math.round(tokens);
|
|
690
|
+
if (whole < 1e3) return String(whole);
|
|
691
|
+
for (const [index, unit] of TOKEN_AMOUNT_UNITS.entries()) {
|
|
692
|
+
if (whole < unit.size) continue;
|
|
693
|
+
const figure = Number((whole / unit.size).toPrecision(3));
|
|
694
|
+
const larger = TOKEN_AMOUNT_UNITS[index - 1];
|
|
695
|
+
return figure >= 1e3 && larger ? `1${larger.suffix}` : `${figure}${unit.suffix}`;
|
|
696
|
+
}
|
|
697
|
+
return String(whole);
|
|
698
|
+
}
|
|
699
|
+
function tokensForBalance(balance, rate) {
|
|
700
|
+
if (rate == null || !Number.isFinite(rate) || rate <= 0 || !(balance > 0)) return null;
|
|
701
|
+
return balance / rate;
|
|
702
|
+
}
|
|
703
|
+
function tokenRateProviderLabel(providerType, stated) {
|
|
704
|
+
return aiProvider(providerType, { label: stated }).label;
|
|
705
|
+
}
|
|
706
|
+
function groupTokenRatesByProvider(rates) {
|
|
707
|
+
const groups = /* @__PURE__ */ new Map();
|
|
708
|
+
for (const rate of rates) {
|
|
709
|
+
const group = groups.get(rate.providerType);
|
|
710
|
+
if (group) group.push(rate);
|
|
711
|
+
else groups.set(rate.providerType, [rate]);
|
|
712
|
+
}
|
|
713
|
+
return [...groups].map(([providerType, grouped]) => ({ providerType, rates: grouped }));
|
|
714
|
+
}
|
|
715
|
+
|
|
655
716
|
// src/utils/trial.ts
|
|
656
717
|
var TRIAL_DAYS = 14;
|
|
657
718
|
var TRIAL_LABELS = {
|
|
@@ -3507,6 +3568,7 @@ var SOURCE_ICON_NAMES = {
|
|
|
3507
3568
|
"trust-center": "shield-check",
|
|
3508
3569
|
// The public website's own pages (live source): the site's own mark, as a glyph in the slot's colour
|
|
3509
3570
|
"website-pages": "flamingo-logo-grey",
|
|
3571
|
+
"openframe-pricing": "money-bill-dollar",
|
|
3510
3572
|
// The OpenMSP vendor directory: the icon the site menu's "Tool directory" entry draws (it reads this one)
|
|
3511
3573
|
vendors: "package-search",
|
|
3512
3574
|
// Financials
|
|
@@ -3572,6 +3634,7 @@ var SOURCE_LABELS_BY_TABLE = {
|
|
|
3572
3634
|
// Trust
|
|
3573
3635
|
"trust-center": "Trust Center",
|
|
3574
3636
|
"website-pages": "Website",
|
|
3637
|
+
"openframe-pricing": "OpenFrame pricing",
|
|
3575
3638
|
vendors: "Vendor Directory",
|
|
3576
3639
|
// Financials
|
|
3577
3640
|
"investor-updates": "Investor Updates",
|
|
@@ -3641,6 +3704,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
|
|
|
3641
3704
|
// Trust
|
|
3642
3705
|
trust_center: "trust-center",
|
|
3643
3706
|
site_page: "website-pages",
|
|
3707
|
+
openframe_price: "openframe-pricing",
|
|
3644
3708
|
vendor: "vendors",
|
|
3645
3709
|
// Financials
|
|
3646
3710
|
investor_update: "investor-updates",
|
|
@@ -5195,6 +5259,7 @@ var BUILDERS = {
|
|
|
5195
5259
|
prospect_call: (ids, b) => `${b}/api/prospect-calls?ids=${ids.join(",")}`,
|
|
5196
5260
|
// The public website's own pages (live source; ChatRef-shaped items like the objects above).
|
|
5197
5261
|
site_page: (ids, b) => `${b}/api/site-pages?ids=${ids.join(",")}`,
|
|
5262
|
+
openframe_price: (ids, b) => `${b}/api/openframe-pricing?ids=${ids.join(",")}`,
|
|
5198
5263
|
// The OpenMSP vendor directory (indexed source).
|
|
5199
5264
|
vendor: (ids, b) => `${b}/api/vendors/cards?ids=${ids.join(",")}`,
|
|
5200
5265
|
// Code intelligence — per-object card hydration, same `handleEntityCardList`
|
|
@@ -6464,4 +6529,4 @@ function pathMatchesAny(pathname, patterns) {
|
|
|
6464
6529
|
return (patterns ?? []).some((pattern) => matchesPathPattern(pathname, pattern));
|
|
6465
6530
|
}
|
|
6466
6531
|
|
|
6467
|
-
export { ACTIVE_ANCHOR_ATTRIBUTE, ANTHROPIC_SUPPORTED_IMAGE_MIME, AUTO_CONTINUATION_DIRECTIVE_PREFIX, BADGE_PALETTE, BITE_ID_RE, BRAND_MARK_SVGS, CHAT_ATTACHMENT_MARKDOWN_PATTERN, CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM, CHAT_ATTACHMENT_VIEW_URL_PREFIX, CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED, COMPLIANCE_STANDARDS, CONTENT_REF_GROUPS, CSV_CONTENT_TYPE, CUSTOM_ITEM_ID, DEFAULT_CONTENT_SUFFIXES, DEFAULT_FOLDER_INDEX_FILE, DEFAULT_MIN_FILL_MS, DEFAULT_OS_PLATFORM, DELIVERY_TASK_TYPE_OPTIONS, DESIGN_DOC_READINESS, DESIGN_DOC_READINESS_DISPLAY, DESIGN_PALETTE, DESKTOP_OSES, DEV_SECTION_PARAM_KEYS, DOC_TABLE_TYPES, DOWNLOAD_PAGE_PATH, ELAPSED_MS_FIELD, EMBED_PROXY_OPTIONAL_HEADERS, FIRST_TOUCH_ATTRIBUTION_KEY, FORM_DRAFT_STATUSES, FORM_RESCUE_ATTEMPT_FIELD, FORM_RESCUE_DEBOUNCE_MS, FORM_RESCUE_EVENTS, FORM_RESCUE_MAX_FIELDS, FORM_RESCUE_MAX_VALUE_CHARS, FORM_RESCUE_RESUME_FIELD, FORM_RESCUE_RESUME_PARAM, FORM_RESCUE_SKIP_REASONS, FORM_RESCUE_SUBMIT_KEYS, FORM_RESCUE_VALUE_FIELDS, FullscreenSwitchController, GENERIC_EMAIL_DOMAINS, HEADING_EMOJI_RE, HEX_PATTERN, HONEYPOT_FIELD, HUBSPOT_DO_NOT_COLLECT_FORM_PROPS, HUB_HEADER_OFFSET_PX, HUMANITY_SIGNAL_KEYS, ICON_REGISTRY, IMAGE_FILE_ACCEPT, LOCATION_HASH_SYNC_EVENT, MAX_MONTH_OFFSET, MEDIA_FILE_ACCEPT, MEDIA_TYPE, NO_CLIENT_CACHE, ODS_SPACING_PROPS, ODS_SPACING_TOKENS, ODS_SPACING_TOKEN_PATTERN, ODS_STEM_CLASSES, ODS_STEM_TOKENS, OPENFRAME_CLASSIFICATIONS, OPENFRAME_DEV_SECTIONS, OS_PLATFORMS, PAGE_PARAM_LIMITS, PLATFORM_BRAND, PLATFORM_SURFACE, PLATFORM_THEME, PLAY_ICON_PATH, PROGRAM_META_RENDERERS, RESCUE_FORMS, ROADMAP_STATUS_OPTIONS, SCHEDULING_SLUG_SHAPE, SCROLL_ANCHOR, SCROLL_ANCHOR_WIRE_KEY, SECTION_HERO_ICON_CLASS, SEO_DESCRIPTION_MAX_LENGTH, SEO_TITLE_MAX_LENGTH, SOCIAL_PLATFORM_ALIASES, SOCIAL_PLATFORM_ALT_HOSTS, SOURCE_ICON_NAMES, SOURCE_LABELS_BY_TABLE, STICKY_HEADER_OFFSET_PX, TAILWIND_STEP_TO_ODS_TOKEN, TICKET_OPEN_PARAM, TICKET_STATUS_OPTIONS, TRIAL_DAYS, TRIAL_LABELS, VENDOR_CLASSIFICATIONS, VIEWER_TIMEZONE, WALKTHROUGH_OPEN_QUERY_PARAM, WALKTHROUGH_VIDEO_DISMISS_KEY, analyzeImageColor, announcementDismissCookieName, applyProxyAuth, brandMarkDataUri, buildAutoContinuationDirective, buildChatAttachmentViewUrl, buildDefaultHref, buildDiscussAddendum, buildDocumentTree, buildGroupedSource, buildListUrl, buildOgPlaceholderUrl, buildSuggestionUrl, buildTicketOpenHref, canonicalContentRefType, captureFirstTouchAttribution, captureFormRescueEvent, clamp, clampPageToTotal, classifySocialHost, cleanEmailDomain, clearAnnouncementDismissals, clearDismissCookie, clearEmbedProxyAuth, clearFirstTouchAttribution, clearLegacyAnnouncementCache, clearWalkthroughDismissal, clickupTaskUrl, cn, complianceStandardForName, consumeAccessCode, copyrightLine, createFenceTracker, createHeadingIdDeduper, createSearchParams, createSseSubscription, createUTCTimestamp, csvEscape, deepClone, defineParamSchema, defineRescueForm, delay, deriveActiveColor, deriveHoverColor, designDocReadiness, desktopOsOf, detectDesktopOs, detectVisitorOs, devSectionAnchorId, dismissAnnouncement, dismissWalkthrough, embedAuthedFetch, ensureBiteIds, errorMessage, escapeMarkdownInline, escapeRegExp, evaluateHumanitySignals, eventAudience, extractCardItems, extractDomainFromEmail, extractDominantColor, extractEntityIdFilter, extractHumanitySignals, extractImageEdgeColorAsync, extractItemId, extractItems, extractSections, faqItemAnchor, faqSectionSlug, fetchPriorityProp, fileContentKey, fileMediaType, filledRescueFields, findAnchorElementByNormalizedId, findDocNodeByPath, findHoneypotCopySource, firstParamValue, flattenAssistantContent, formatAbbreviatedNumber, formatAbsoluteDate, formatBioText, formatBytes, formatBytesShort, formatChatAttachmentMarkdownForBubble, formatCitationIndices, formatClassification, formatCompactMetric, formatCompletionLabel, formatCompletionLabelWithBlockers, formatCurrency, formatDate, formatDateRange, formatDateShort, formatDateSlashUTC, formatDateTime, formatDateTimeAt, formatDateTimeYmd, formatDateUTC, formatDateWithTimezone, formatDocName, formatDuration, formatDurationCompact, formatDurationFromMs, formatDurationFromRange, formatDurationMMSS, formatEntryMonthUTC, formatFileSize, formatLargeNumber, formatLegalDate, formatNumber, formatPercent, formatPhoneE164, formatPrice, formatPricingModel, formatProgramDate, formatProgramDateRange, formatProgramTimeRange, formatRelativeTime, formatReleaseDate, formatSingularLookupInvocation, formatTicketFullTimestamp, formatTicketRelativeTime, formatTimeWithTimezone, formatUnderscoreText, formatUrlForDisplay, formatWebinarTimeMeta, formatWholeDollars, fromKeys, generateBiteId, generateImageSizes, generateRandomString, getAllPlatformBaseDomains, getBestContrastColor, getConfidenceBgClass, getConfidenceBorderClass, getConfidenceColorClass, getConfidenceLabel, getConfidenceLevel, getConfidenceTextClass, getContentRefLabel, getContentRefLabelOrTitleCase, getContrastRatio, getCountryByCode, getCountryByName, getCountryPhoneData, getCurrentPlatform, getDefaultColorForPlatform, getDefaultIconForPlatform, getDeploymentUrl, getDetailedTimeDifference, getDocAncestorNodeIds, getDocSourceDefaultPath, getDynamicIcon, getEmbedProxyAuth, getFirstTouchAttribution, getFlagFromCountryName, getIconComponent, getInitialExpandedNodeIds, getOSIcon, getOSLabel, getOSPlatformId, getOSTypeDefinition, getPersistedProxyEmail, getPlatformAccentColor, getPlatformBackgroundVarName, getPlatformBrand, getPlatformBrandClasses, getPlatformColor, getPlatformConfig, getPlatformDescription, getPlatformDisplayName, getPlatformIcon, getPlatformIconComponent, getPlatformIconComponent as getPlatformLogo, getPlatformProductionUrl, getPlatformSecondaryColor, getPlatformShortName, getPlatformSlogan, getPlatformTextVarName, getPlatformUrl, getProxiedImageUrl, getReadableTextColor, getRequestOrigin, getRescueForm, getSemanticColor, getShellIcon, getShellLabel, getSlackCommunityJoinUrl, getSmallPlatformIcon, getSourceIconName, getSourceLabel, getStatusColorScheme, getTaskTypeLabel, getToolLabel, getToolTypeAliases, getTrendColors, groupSourcesByTable, groupsByTable, hasGenericEmailDomain, hexToRgb2 as hexToRgb, hostMatches, isAnnouncementDismissed, isBadgePaletteKey, isBlankLine, isCrossOriginUrl, isDismissedCookieValue, isExcludedRescueField, isFigmaSlidesUrl, isFormAttemptId, isGenericDomain, isGenericWebsiteDomain, isHumanitySignalKey, isImageMedia, isListedSchedulingName, isLocalUrl, isOSPlatform, isOpenFrameClassification, isOrderedRange, isPublishableMediaType, isRescueEmail, isResumeToken, isScrollSyncedHash, isToday, isValidEmailDomain, isValidPathPattern, isValidSchedulingSlug, isValidToolType, isVendorClassification, isVideoMedia, isWalkthroughDismissed, isWithinMinutes, listRescueForms, makeComposeContentUrl, markdownToPlainText, matchBiteElement, matchesPathPattern, mediaNameKey, nameInitials, navigateSamePageHash, normalizeAnchorId, normalizeDocPath, normalizeDomain, normalizeHashFragment, normalizeIconKey, normalizeOSType, normalizeSchedulingSlug, normalizeSocialPlatform, normalizeToolType, normalizeToolTypeWithFallback, openInNewTab, orderContentRefTypes, pageCount, parseAttributionFromUrl, parseFaqHash, parseFormDraftSaveRequest, parseSchedulingLinkName, parseSchemaParams, parseScrollAnchor, parseWireCommandOverride, partitionMediaByType, pathMatchesAny, pathToNodeId, personFirstName, personInitials, pick, pickBadgePaletteColor, pickReadableTextColor, pickSocialLink, platformAccentToken, platformAccentVarName, platformColors, platformDescriptions, platformDisplayNames, platformHexColors, platformIconNames, platformIcons, platformSecondaryToken, platformSecondaryVarName, platformShortNames, platformSlogans, positiveInt, programDateInstant, programMetaFormatters, programMetaLine, programStr, readDismissCookie, readLeadingDecisionFrame, recordCountLabel, releaseTypeToBadgeColor, replaceLocationHash, rescueCompletionPct, resolveContentFetchPath, resolveMobileStoreUrl, resolveRedirectTarget, resolveReleaseCover, rgbToHex, sanitizeLandingUrl, sanitizeRescueFieldName, sanitizeRescueValues, sanitizeTitleForChat, scanHeadings, schedulingAudienceKey, scrollElementIntoView, serializeJsonLd, serializeSchemaParams, setEmbedAuthAdapter, setEmbedProxyAuth, shortcutLabel, shouldIncludeInUrl, shouldProxyImage, singleInitial, skipsImageOptimizer, slugifyHeadingBase, slugifyHeadingText, socialPlatformHosts, sortTreeChildren, splitCsvEnv, stripChatAttachmentMarkdown, stripFolderIndexFromPath, stripHeadingEmojis, stripHtml, stripInlineMarkdown, switchPlatformTheme, titleCaseFromSlug, toClaudeEmbedUrl, toClaudeMirrorPath, toCsv, toDocSlug, toFigmaEmbedUrl, toFigmaOriginalUrl, toGoogleSheetsEmbedUrl, toGoogleSheetsOriginalUrl, toToolLabel, transformPlatformConfigsToOptions, truncateString, urlPathLooksLikeSvg, usePlatformColors, usesCommandKey, validateAccessCode, validateAndConsumeAccessCode, validateEmailDomain, validateEmailDomainList, validatePhoneNumber, walkthroughDismissCookieName, webinarTiming, withFirstTouchAttribution, withQuery, withWalkthroughOpenParam, writeDismissCookie };
|
|
6532
|
+
export { ACTIVE_ANCHOR_ATTRIBUTE, AI_PROVIDERS, ANTHROPIC_SUPPORTED_IMAGE_MIME, AUTO_CONTINUATION_DIRECTIVE_PREFIX, BADGE_PALETTE, BITE_ID_RE, BRAND_MARK_SVGS, CHAT_ATTACHMENT_MARKDOWN_PATTERN, CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM, CHAT_ATTACHMENT_VIEW_URL_PREFIX, CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED, COMPLIANCE_STANDARDS, CONTENT_REF_GROUPS, CSV_CONTENT_TYPE, CUSTOM_ITEM_ID, DEFAULT_CONTENT_SUFFIXES, DEFAULT_FOLDER_INDEX_FILE, DEFAULT_MIN_FILL_MS, DEFAULT_OS_PLATFORM, DELIVERY_TASK_TYPE_OPTIONS, DESIGN_DOC_READINESS, DESIGN_DOC_READINESS_DISPLAY, DESIGN_PALETTE, DESKTOP_OSES, DEV_SECTION_PARAM_KEYS, DOC_TABLE_TYPES, DOWNLOAD_PAGE_PATH, ELAPSED_MS_FIELD, EMBED_PROXY_OPTIONAL_HEADERS, FIRST_TOUCH_ATTRIBUTION_KEY, FORM_DRAFT_STATUSES, FORM_RESCUE_ATTEMPT_FIELD, FORM_RESCUE_DEBOUNCE_MS, FORM_RESCUE_EVENTS, FORM_RESCUE_MAX_FIELDS, FORM_RESCUE_MAX_VALUE_CHARS, FORM_RESCUE_RESUME_FIELD, FORM_RESCUE_RESUME_PARAM, FORM_RESCUE_SKIP_REASONS, FORM_RESCUE_SUBMIT_KEYS, FORM_RESCUE_VALUE_FIELDS, FullscreenSwitchController, GENERIC_EMAIL_DOMAINS, HEADING_EMOJI_RE, HEX_PATTERN, HONEYPOT_FIELD, HUBSPOT_DO_NOT_COLLECT_FORM_PROPS, HUB_HEADER_OFFSET_PX, HUMANITY_SIGNAL_KEYS, ICON_REGISTRY, IMAGE_FILE_ACCEPT, LOCATION_HASH_SYNC_EVENT, MAX_MONTH_OFFSET, MEDIA_FILE_ACCEPT, MEDIA_TYPE, NO_CLIENT_CACHE, ODS_SPACING_PROPS, ODS_SPACING_TOKENS, ODS_SPACING_TOKEN_PATTERN, ODS_STEM_CLASSES, ODS_STEM_TOKENS, OPENFRAME_CLASSIFICATIONS, OPENFRAME_DEV_SECTIONS, OS_PLATFORMS, PAGE_PARAM_LIMITS, PLATFORM_BRAND, PLATFORM_SURFACE, PLATFORM_THEME, PLAY_ICON_PATH, PROGRAM_META_RENDERERS, RESCUE_FORMS, ROADMAP_STATUS_OPTIONS, SCHEDULING_SLUG_SHAPE, SCROLL_ANCHOR, SCROLL_ANCHOR_WIRE_KEY, SECTION_HERO_ICON_CLASS, SEO_DESCRIPTION_MAX_LENGTH, SEO_TITLE_MAX_LENGTH, SOCIAL_PLATFORM_ALIASES, SOCIAL_PLATFORM_ALT_HOSTS, SOURCE_ICON_NAMES, SOURCE_LABELS_BY_TABLE, STICKY_HEADER_OFFSET_PX, TAILWIND_STEP_TO_ODS_TOKEN, TICKET_OPEN_PARAM, TICKET_STATUS_OPTIONS, TOKEN_RATE_EMPTY, TRIAL_DAYS, TRIAL_LABELS, VENDOR_CLASSIFICATIONS, VIEWER_TIMEZONE, WALKTHROUGH_OPEN_QUERY_PARAM, WALKTHROUGH_VIDEO_DISMISS_KEY, aiProvider, analyzeImageColor, announcementDismissCookieName, applyProxyAuth, brandMarkDataUri, buildAutoContinuationDirective, buildChatAttachmentViewUrl, buildDefaultHref, buildDiscussAddendum, buildDocumentTree, buildGroupedSource, buildListUrl, buildOgPlaceholderUrl, buildSuggestionUrl, buildTicketOpenHref, canonicalContentRefType, captureFirstTouchAttribution, captureFormRescueEvent, clamp, clampPageToTotal, classifySocialHost, cleanEmailDomain, clearAnnouncementDismissals, clearDismissCookie, clearEmbedProxyAuth, clearFirstTouchAttribution, clearLegacyAnnouncementCache, clearWalkthroughDismissal, clickupTaskUrl, cn, complianceStandardForName, consumeAccessCode, copyrightLine, createFenceTracker, createHeadingIdDeduper, createSearchParams, createSseSubscription, createUTCTimestamp, csvEscape, deepClone, defineParamSchema, defineRescueForm, delay, deriveActiveColor, deriveHoverColor, designDocReadiness, desktopOsOf, detectDesktopOs, detectVisitorOs, devSectionAnchorId, dismissAnnouncement, dismissWalkthrough, embedAuthedFetch, ensureBiteIds, errorMessage, escapeMarkdownInline, escapeRegExp, evaluateHumanitySignals, eventAudience, extractCardItems, extractDomainFromEmail, extractDominantColor, extractEntityIdFilter, extractHumanitySignals, extractImageEdgeColorAsync, extractItemId, extractItems, extractSections, faqItemAnchor, faqSectionSlug, fetchPriorityProp, fileContentKey, fileMediaType, filledRescueFields, findAnchorElementByNormalizedId, findDocNodeByPath, findHoneypotCopySource, firstParamValue, flattenAssistantContent, formatAbbreviatedNumber, formatAbsoluteDate, formatBioText, formatBytes, formatBytesShort, formatChatAttachmentMarkdownForBubble, formatCitationIndices, formatClassification, formatCompactMetric, formatCompletionLabel, formatCompletionLabelWithBlockers, formatCurrency, formatDate, formatDateRange, formatDateShort, formatDateSlashUTC, formatDateTime, formatDateTimeAt, formatDateTimeYmd, formatDateUTC, formatDateWithTimezone, formatDocName, formatDuration, formatDurationCompact, formatDurationFromMs, formatDurationFromRange, formatDurationMMSS, formatEntryMonthUTC, formatFileSize, formatLargeNumber, formatLegalDate, formatNumber, formatPercent, formatPhoneE164, formatPrice, formatPricingModel, formatProgramDate, formatProgramDateRange, formatProgramTimeRange, formatRelativeTime, formatReleaseDate, formatSingularLookupInvocation, formatTicketFullTimestamp, formatTicketRelativeTime, formatTimeWithTimezone, formatTokenAmount, formatTokenRate, formatUnderscoreText, formatUrlForDisplay, formatWebinarTimeMeta, formatWholeDollars, fromKeys, generateBiteId, generateImageSizes, generateRandomString, getAllPlatformBaseDomains, getBestContrastColor, getConfidenceBgClass, getConfidenceBorderClass, getConfidenceColorClass, getConfidenceLabel, getConfidenceLevel, getConfidenceTextClass, getContentRefLabel, getContentRefLabelOrTitleCase, getContrastRatio, getCountryByCode, getCountryByName, getCountryPhoneData, getCurrentPlatform, getDefaultColorForPlatform, getDefaultIconForPlatform, getDeploymentUrl, getDetailedTimeDifference, getDocAncestorNodeIds, getDocSourceDefaultPath, getDynamicIcon, getEmbedProxyAuth, getFirstTouchAttribution, getFlagFromCountryName, getIconComponent, getInitialExpandedNodeIds, getOSIcon, getOSLabel, getOSPlatformId, getOSTypeDefinition, getPersistedProxyEmail, getPlatformAccentColor, getPlatformBackgroundVarName, getPlatformBrand, getPlatformBrandClasses, getPlatformColor, getPlatformConfig, getPlatformDescription, getPlatformDisplayName, getPlatformIcon, getPlatformIconComponent, getPlatformIconComponent as getPlatformLogo, getPlatformProductionUrl, getPlatformSecondaryColor, getPlatformShortName, getPlatformSlogan, getPlatformTextVarName, getPlatformUrl, getProxiedImageUrl, getReadableTextColor, getRequestOrigin, getRescueForm, getSemanticColor, getShellIcon, getShellLabel, getSlackCommunityJoinUrl, getSmallPlatformIcon, getSourceIconName, getSourceLabel, getStatusColorScheme, getTaskTypeLabel, getToolLabel, getToolTypeAliases, getTrendColors, groupSourcesByTable, groupTokenRatesByProvider, groupsByTable, hasGenericEmailDomain, hexToRgb2 as hexToRgb, hostMatches, isAnnouncementDismissed, isBadgePaletteKey, isBlankLine, isCrossOriginUrl, isDismissedCookieValue, isExcludedRescueField, isFigmaSlidesUrl, isFormAttemptId, isGenericDomain, isGenericWebsiteDomain, isHumanitySignalKey, isImageMedia, isListedSchedulingName, isLocalUrl, isOSPlatform, isOpenFrameClassification, isOrderedRange, isPublishableMediaType, isRescueEmail, isResumeToken, isScrollSyncedHash, isToday, isValidEmailDomain, isValidPathPattern, isValidSchedulingSlug, isValidToolType, isVendorClassification, isVideoMedia, isWalkthroughDismissed, isWithinMinutes, listRescueForms, makeComposeContentUrl, markdownToPlainText, matchBiteElement, matchesPathPattern, mediaNameKey, nameInitials, navigateSamePageHash, normalizeAnchorId, normalizeDocPath, normalizeDomain, normalizeHashFragment, normalizeIconKey, normalizeOSType, normalizeSchedulingSlug, normalizeSocialPlatform, normalizeToolType, normalizeToolTypeWithFallback, openInNewTab, orderContentRefTypes, pageCount, parseAttributionFromUrl, parseFaqHash, parseFormDraftSaveRequest, parseSchedulingLinkName, parseSchemaParams, parseScrollAnchor, parseWireCommandOverride, partitionMediaByType, pathMatchesAny, pathToNodeId, personFirstName, personInitials, pick, pickBadgePaletteColor, pickReadableTextColor, pickSocialLink, platformAccentToken, platformAccentVarName, platformColors, platformDescriptions, platformDisplayNames, platformHexColors, platformIconNames, platformIcons, platformSecondaryToken, platformSecondaryVarName, platformShortNames, platformSlogans, positiveInt, programDateInstant, programMetaFormatters, programMetaLine, programStr, readDismissCookie, readLeadingDecisionFrame, recordCountLabel, releaseTypeToBadgeColor, replaceLocationHash, rescueCompletionPct, resolveContentFetchPath, resolveMobileStoreUrl, resolveRedirectTarget, resolveReleaseCover, rgbToHex, sanitizeLandingUrl, sanitizeRescueFieldName, sanitizeRescueValues, sanitizeTitleForChat, scanHeadings, schedulingAudienceKey, scrollElementIntoView, serializeJsonLd, serializeSchemaParams, setEmbedAuthAdapter, setEmbedProxyAuth, shortcutLabel, shouldIncludeInUrl, shouldProxyImage, singleInitial, skipsImageOptimizer, slugifyHeadingBase, slugifyHeadingText, socialPlatformHosts, sortTreeChildren, splitCsvEnv, stripChatAttachmentMarkdown, stripFolderIndexFromPath, stripHeadingEmojis, stripHtml, stripInlineMarkdown, switchPlatformTheme, titleCaseFromSlug, toClaudeEmbedUrl, toClaudeMirrorPath, toCsv, toDocSlug, toFigmaEmbedUrl, toFigmaOriginalUrl, toGoogleSheetsEmbedUrl, toGoogleSheetsOriginalUrl, toToolLabel, tokenCost, tokenRateProviderLabel, tokensForBalance, transformPlatformConfigsToOptions, truncateString, urlPathLooksLikeSvg, usePlatformColors, usesCommandKey, validateAccessCode, validateAndConsumeAccessCode, validateEmailDomain, validateEmailDomainList, validatePhoneNumber, walkthroughDismissCookieName, webinarTiming, withFirstTouchAttribution, withQuery, withWalkthroughOpenParam, writeDismissCookie };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-url.d.ts","sourceRoot":"","sources":["../../src/utils/list-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAaH;;;;iEAIiE;AACjE,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAKtE;
|
|
1
|
+
{"version":3,"file":"list-url.d.ts","sourceRoot":"","sources":["../../src/utils/list-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAaH;;;;iEAIiE;AACjE,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAKtE;AA2FD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,SAAK,GAAG,MAAM,GAAG,IAAI,CAa5F"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-model AI token exchange rates: their shape and how a rate is written.
|
|
3
|
+
* Server-safe (no client code), so a host's server (a chat source, a page's
|
|
4
|
+
* metadata) states a rate exactly as the shared table (`ModelTokenRates`) does.
|
|
5
|
+
*/
|
|
6
|
+
/** One model's rates: OpenFrame tokens charged per ONE token of the model. */
|
|
7
|
+
export interface ModelTokenRate {
|
|
8
|
+
modelName: string;
|
|
9
|
+
/** The name people know the model by; the model's id stands in when it is missing. */
|
|
10
|
+
displayName?: string | null;
|
|
11
|
+
/** The provider's key (`ANTHROPIC`, `OPENAI`, `GOOGLE_GEMINI`); an unknown one is shown by name, without a mark. */
|
|
12
|
+
providerType: string;
|
|
13
|
+
/** The provider's name, when the host's server states one; else the shared provider list names it. */
|
|
14
|
+
providerLabel?: string | null;
|
|
15
|
+
/** The icon set's name of the provider's mark, when the host's server states one; else the shared provider list's. */
|
|
16
|
+
providerIcon?: string | null;
|
|
17
|
+
inputTokenRate: number;
|
|
18
|
+
outputTokenRate: number;
|
|
19
|
+
/** Charged for an input token read back from the prompt cache. Shown only where the table has room for it. */
|
|
20
|
+
cacheReadInputTokenRate?: number | null;
|
|
21
|
+
}
|
|
22
|
+
/** What a figure that cannot be stated is written as. */
|
|
23
|
+
export declare const TOKEN_RATE_EMPTY = "\u2014";
|
|
24
|
+
/**
|
|
25
|
+
* A rate as a multiplier. Two decimals from 0.1 up ("1.33×", "5×"), two
|
|
26
|
+
* significant digits under it ("0.033×"), so a cheap model's rate is never
|
|
27
|
+
* rounded to nothing.
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatTokenRate(value: number | null | undefined): string;
|
|
30
|
+
/** What OpenFrame tokens cost: `price` USD buys `tokens` of them. */
|
|
31
|
+
export interface TokenPrice {
|
|
32
|
+
tokens: number;
|
|
33
|
+
price: number;
|
|
34
|
+
}
|
|
35
|
+
/** What a number of OpenFrame tokens costs in USD at a price. Null without a price. */
|
|
36
|
+
export declare function tokenCost(tokens: number, tokenPrice: TokenPrice | null | undefined): number | null;
|
|
37
|
+
/**
|
|
38
|
+
* A token count in short form: "850", "10K", "750K", "1.25M". The unit is chosen
|
|
39
|
+
* from the ROUNDED figure, so a count just under a unit reads as the next one
|
|
40
|
+
* ("1M", never "1000K").
|
|
41
|
+
*/
|
|
42
|
+
export declare function formatTokenAmount(tokens: number | null | undefined): string;
|
|
43
|
+
/**
|
|
44
|
+
* How many of a model's tokens a balance of OpenFrame tokens runs at a rate:
|
|
45
|
+
* the balance divided by the rate. Null without a rate.
|
|
46
|
+
*/
|
|
47
|
+
export declare function tokensForBalance(balance: number, rate: number | null | undefined): number | null;
|
|
48
|
+
/** A provider's name: what the host stated for it, else the shared provider list's (`aiProvider`). */
|
|
49
|
+
export declare function tokenRateProviderLabel(providerType: string, stated?: string | null): string;
|
|
50
|
+
/** The rates under their providers, in the order the host gave them (providers by first appearance). */
|
|
51
|
+
export declare function groupTokenRatesByProvider<T extends ModelTokenRate>(rates: readonly T[]): {
|
|
52
|
+
providerType: string;
|
|
53
|
+
rates: T[];
|
|
54
|
+
}[];
|
|
55
|
+
//# sourceMappingURL=model-token-rates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-token-rates.d.ts","sourceRoot":"","sources":["../../src/utils/model-token-rates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oHAAoH;IACpH,YAAY,EAAE,MAAM,CAAC;IACrB,sGAAsG;IACtG,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,sHAAsH;IACtH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,8GAA8G;IAC9G,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIxE;AAED,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGlG;AASD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAY3E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGhG;AAED,sGAAsG;AACtG,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3F;AAED,wGAAwG;AACxG,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,cAAc,EAChE,KAAK,EAAE,SAAS,CAAC,EAAE,GAClB;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,CAAA;CAAE,EAAE,CAQxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-icons.d.ts","sourceRoot":"","sources":["../../src/utils/source-icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"source-icons.d.ts","sourceRoot":"","sources":["../../src/utils/source-icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqFpD,CAAC;AAEF;;6DAE6D;AAC7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGxF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4EzD,CAAC;AAEF;;kEAEkE;AAClE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsEpE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5E"}
|
package/package.json
CHANGED
|
@@ -1507,6 +1507,9 @@ const REF_GLYPH_CARD_CONFIGS: Record<string, GlyphCardConfig> = {
|
|
|
1507
1507
|
// A page of the public website (pricing, product, legal, and every page the navigation lists), read live
|
|
1508
1508
|
// from the data the page shows. A glyph card: a page has no cover of its own, and the card opens the page.
|
|
1509
1509
|
site_page: { label: 'Website page', icon: ref => <SitePageGlyph iconName={refText(ref, 'icon_name')} /> },
|
|
1510
|
+
// What OpenFrame charges, read live from its billing: the plan in force, or one AI model's token exchange
|
|
1511
|
+
// rate. A glyph card; it opens the pricing page.
|
|
1512
|
+
openframe_price: { label: 'OpenFrame price', icon: () => <OpenFrameGlyph size={24} /> },
|
|
1510
1513
|
// A vendor (product) of the OpenMSP directory. A glyph card; it opens the vendor's page there.
|
|
1511
1514
|
vendor: { label: 'Vendor', icon: ref => <VendorGlyph title={ref?.title ?? ''} logoUrl={refText(ref, 'logo_url')} /> },
|
|
1512
1515
|
};
|
|
@@ -295,6 +295,12 @@ export function resolveIcon(
|
|
|
295
295
|
return ICON_ALIASES[iconName] ?? resolveFromLibrary(iconName) ?? FileIcon;
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
+
/** The icon a name resolves to, or `null` when the set holds none: for a caller that draws nothing in that case (`resolveIcon` draws a fallback glyph). */
|
|
299
|
+
export function findIcon(iconName: string | null | undefined): IconComponent | null {
|
|
300
|
+
if (!iconName) return null;
|
|
301
|
+
return ICON_ALIASES[iconName] ?? resolveFromLibrary(iconName) ?? null;
|
|
302
|
+
}
|
|
303
|
+
|
|
298
304
|
/** One selectable icon in the admin slash-command picker. */
|
|
299
305
|
export interface IconOption {
|
|
300
306
|
/** Stored `icon_name` value — a kebab-case `icons-v2-generated` key (or a
|
|
@@ -32,6 +32,7 @@ export * from './github-releases-manager';
|
|
|
32
32
|
export * from './knowledge-base-links-manager';
|
|
33
33
|
export * from './loading-provider';
|
|
34
34
|
export * from './media-gallery-manager';
|
|
35
|
+
export * from './model-token-rates';
|
|
35
36
|
export * from './more-about-button';
|
|
36
37
|
export * from './os-type-badge';
|
|
37
38
|
export * from './os-type-badge-group';
|