@websolutespa/bom-mixer-llm 2.0.1 → 2.0.2
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/CHANGELOG.md +7 -0
- package/dist/cjs/index.js +50 -25
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/initializer/app/app.js +10 -6
- package/dist/esm/initializer/app/app.js.map +1 -1
- package/dist/esm/initializer/initializer.js +5 -4
- package/dist/esm/initializer/initializer.js.map +1 -1
- package/dist/esm/llm/components/IntroContext/intro-context.js +12 -0
- package/dist/esm/llm/components/IntroContext/intro-context.js.map +1 -0
- package/dist/esm/llm/components/Main/main.js +3 -1
- package/dist/esm/llm/components/Main/main.js.map +1 -1
- package/dist/esm/llm/components/Suggestions/suggestions.js +4 -0
- package/dist/esm/llm/components/Suggestions/suggestions.js.map +1 -1
- package/dist/esm/llm/components/index.js +2 -0
- package/dist/esm/llm/components/index.js.map +1 -1
- package/dist/esm/llm/llm.js +6 -6
- package/dist/esm/llm/llm.js.map +1 -1
- package/dist/esm/useLlm/useLlm.js.map +1 -1
- package/dist/esm/useLlm/useLlmView.js +14 -8
- package/dist/esm/useLlm/useLlmView.js.map +1 -1
- package/dist/types/initializer/initializer.d.ts +2 -1
- package/dist/types/initializer/initializer.d.ts.map +1 -1
- package/dist/types/llm/components/IntroContext/intro-context-test.d.ts +3 -0
- package/dist/types/llm/components/IntroContext/intro-context-test.d.ts.map +1 -0
- package/dist/types/llm/components/IntroContext/intro-context.d.ts +3 -0
- package/dist/types/llm/components/IntroContext/intro-context.d.ts.map +1 -0
- package/dist/types/llm/components/Main/main.d.ts.map +1 -1
- package/dist/types/llm/components/Suggestions/suggestions.d.ts.map +1 -1
- package/dist/types/llm/components/index.d.ts +1 -0
- package/dist/types/llm/components/index.d.ts.map +1 -1
- package/dist/types/types.d.ts +3 -3
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/useLlm/useLlm.d.ts +2 -1
- package/dist/types/useLlm/useLlm.d.ts.map +1 -1
- package/dist/types/useLlm/useLlmView.d.ts +3 -2
- package/dist/types/useLlm/useLlmView.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/initializer/app/app.tsx +12 -5
- package/src/initializer/initializer.ts +6 -5
- package/src/llm/components/Intro/intro.tsx +1 -1
- package/src/llm/components/IntroContext/_style.scss +71 -0
- package/src/llm/components/IntroContext/intro-context-test.tsx +78 -0
- package/src/llm/components/IntroContext/intro-context.tsx +10 -0
- package/src/llm/components/Main/main.tsx +7 -1
- package/src/llm/components/Suggestions/suggestions.tsx +5 -0
- package/src/llm/components/index.ts +2 -0
- package/src/llm/llm.tsx +6 -6
- package/src/types.ts +11 -11
- package/src/useLlm/useLlm.tsx +3 -2
- package/src/useLlm/useLlmView.tsx +24 -6
package/CHANGELOG.md
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -384,13 +384,16 @@ const createLlmViewStore = _ref => {
|
|
|
384
384
|
}
|
|
385
385
|
});
|
|
386
386
|
}),
|
|
387
|
-
open:
|
|
387
|
+
open: openingContext => {
|
|
388
388
|
setIdleTimeout();
|
|
389
389
|
set(state => {
|
|
390
390
|
const opened = !state.opened;
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
}
|
|
391
|
+
if (opened) {
|
|
392
|
+
state.openingContext = openingContext;
|
|
393
|
+
}
|
|
394
|
+
pushDataLayer(Object.assign({
|
|
395
|
+
event: opened ? state.openingContext ? 'llm_open_context' : 'llm_open' : 'llm_close'
|
|
396
|
+
}, state.openingContext || {}));
|
|
394
397
|
persistMinimized(false);
|
|
395
398
|
return {
|
|
396
399
|
opened,
|
|
@@ -404,12 +407,15 @@ const createLlmViewStore = _ref => {
|
|
|
404
407
|
} = get();
|
|
405
408
|
return opened;
|
|
406
409
|
},
|
|
407
|
-
setOpened: opened => {
|
|
410
|
+
setOpened: (opened, openingContext) => {
|
|
408
411
|
setIdleTimeout();
|
|
409
412
|
set(state => {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
}
|
|
413
|
+
if (opened) {
|
|
414
|
+
state.openingContext = openingContext;
|
|
415
|
+
}
|
|
416
|
+
pushDataLayer(Object.assign({
|
|
417
|
+
event: opened ? state.openingContext ? 'llm_open_context' : 'llm_open' : 'llm_close'
|
|
418
|
+
}, state.openingContext || {}));
|
|
413
419
|
return {
|
|
414
420
|
opened
|
|
415
421
|
};
|
|
@@ -3475,12 +3481,20 @@ const Intro = () => {
|
|
|
3475
3481
|
});
|
|
3476
3482
|
};
|
|
3477
3483
|
|
|
3484
|
+
const IntroContext = () => {
|
|
3485
|
+
const {
|
|
3486
|
+
Intro
|
|
3487
|
+
} = useLlm(state => state.components);
|
|
3488
|
+
return jsxRuntime.jsx(Intro, {});
|
|
3489
|
+
};
|
|
3490
|
+
|
|
3478
3491
|
const Main = () => {
|
|
3479
3492
|
var _a;
|
|
3480
3493
|
const {
|
|
3481
3494
|
Canvas,
|
|
3482
3495
|
Header,
|
|
3483
3496
|
Intro,
|
|
3497
|
+
IntroContext,
|
|
3484
3498
|
Prompt,
|
|
3485
3499
|
Scroller,
|
|
3486
3500
|
ScrollProposition,
|
|
@@ -3489,6 +3503,7 @@ const Main = () => {
|
|
|
3489
3503
|
const app = useLlm(state => state.app);
|
|
3490
3504
|
const theme = useLlm(state => state.theme);
|
|
3491
3505
|
const messages = useLlm(state => state.messages);
|
|
3506
|
+
const openingContext = useLlmView(state => state.openingContext);
|
|
3492
3507
|
const introed = useLlmView(state => state.introed);
|
|
3493
3508
|
const visible = useLlmView(state => state.visible);
|
|
3494
3509
|
const embedded = useLlmView(state => state.embedded);
|
|
@@ -3572,7 +3587,7 @@ const Main = () => {
|
|
|
3572
3587
|
initial: "hidden",
|
|
3573
3588
|
animate: "show",
|
|
3574
3589
|
className: "llm__content",
|
|
3575
|
-
children: [jsxRuntime.jsx(Intro, {}), messages && messages.length > 0 && jsxRuntime.jsx(Thread, {})]
|
|
3590
|
+
children: [openingContext ? jsxRuntime.jsx(IntroContext, {}) : jsxRuntime.jsx(Intro, {}), messages && messages.length > 0 && jsxRuntime.jsx(Thread, {})]
|
|
3576
3591
|
})
|
|
3577
3592
|
}), shouldShowPrompt && jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
3578
3593
|
children: [app && !((_a = theme.canvas) === null || _a === void 0 ? void 0 : _a.enabled) && jsxRuntime.jsx("div", {
|
|
@@ -5087,6 +5102,7 @@ const Stream = _ref => {
|
|
|
5087
5102
|
const Suggestions = () => {
|
|
5088
5103
|
bomMixerHooks.useWindowSize();
|
|
5089
5104
|
const app = useLlm(state => state.app);
|
|
5105
|
+
const openingContext = useLlmView(state => state.openingContext);
|
|
5090
5106
|
const {
|
|
5091
5107
|
send
|
|
5092
5108
|
} = useLlmView(state => state.actions);
|
|
@@ -5097,6 +5113,9 @@ const Suggestions = () => {
|
|
|
5097
5113
|
// console.log('Suggestions.onEnd', response);
|
|
5098
5114
|
});
|
|
5099
5115
|
});
|
|
5116
|
+
if (openingContext) {
|
|
5117
|
+
return;
|
|
5118
|
+
}
|
|
5100
5119
|
const sampleInputTexts = app === null || app === void 0 ? void 0 : app.contents.sampleInputTexts;
|
|
5101
5120
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
5102
5121
|
children: sampleInputTexts && sampleInputTexts.length > 0 && jsxRuntime.jsx("section", {
|
|
@@ -5269,6 +5288,7 @@ const LLM_COMPONENTS = {
|
|
|
5269
5288
|
Header,
|
|
5270
5289
|
Hints,
|
|
5271
5290
|
Intro,
|
|
5291
|
+
IntroContext,
|
|
5272
5292
|
Main,
|
|
5273
5293
|
PageActions,
|
|
5274
5294
|
PageContext,
|
|
@@ -8962,17 +8982,17 @@ const LlmComponent = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
8962
8982
|
const embedded = useLlmView(state => state.embedded);
|
|
8963
8983
|
const imperative = useLlmView(state => state.imperative);
|
|
8964
8984
|
const instance = React.useMemo(() => ({
|
|
8965
|
-
open:
|
|
8966
|
-
open();
|
|
8985
|
+
open: openingContext => {
|
|
8986
|
+
open(openingContext);
|
|
8967
8987
|
},
|
|
8968
8988
|
isOpened: () => {
|
|
8969
8989
|
return isOpened();
|
|
8970
8990
|
},
|
|
8971
|
-
setOpened: opened => {
|
|
8972
|
-
setOpened(opened);
|
|
8991
|
+
setOpened: (opened, openingContext) => {
|
|
8992
|
+
setOpened(opened, openingContext);
|
|
8973
8993
|
},
|
|
8974
|
-
send: message => {
|
|
8975
|
-
setOpened(true);
|
|
8994
|
+
send: (message, openingContext) => {
|
|
8995
|
+
setOpened(true, openingContext);
|
|
8976
8996
|
send(message);
|
|
8977
8997
|
},
|
|
8978
8998
|
clear: () => {
|
|
@@ -9392,7 +9412,7 @@ const App = _a => {
|
|
|
9392
9412
|
const defaultEndpoint = typeof props.test !== 'undefined' ? 'https://bom-sample-basic-web-git-bom-llm-actarian.vercel.app' : 'https://platform.websolute.ai';
|
|
9393
9413
|
const endpoint = props.endpoint || defaultEndpoint;
|
|
9394
9414
|
const layout = {
|
|
9395
|
-
labels: getLabels(data.locale, defaultLabels, props.labels),
|
|
9415
|
+
labels: getLabels(data.locale, defaultLabels, props.pluginLabels, props.labels),
|
|
9396
9416
|
locale: data.locale,
|
|
9397
9417
|
locales: [{
|
|
9398
9418
|
id: data.locale,
|
|
@@ -9462,12 +9482,16 @@ const App = _a => {
|
|
|
9462
9482
|
})
|
|
9463
9483
|
});
|
|
9464
9484
|
};
|
|
9465
|
-
function getLabels(locale, defaultLabels,
|
|
9466
|
-
if (
|
|
9467
|
-
|
|
9485
|
+
function getLabels(locale, defaultLabels, pluginLabels, externalLabels) {
|
|
9486
|
+
if (pluginLabels === void 0) {
|
|
9487
|
+
pluginLabels = [];
|
|
9488
|
+
}
|
|
9489
|
+
if (externalLabels === void 0) {
|
|
9490
|
+
externalLabels = [];
|
|
9468
9491
|
}
|
|
9469
|
-
const labels = [...defaultLabels.filter(x =>
|
|
9470
|
-
|
|
9492
|
+
const labels = [...defaultLabels.filter(x => pluginLabels.findIndex(e => e.id === x.id) === -1), ...pluginLabels];
|
|
9493
|
+
const finalLabels = [...labels.filter(x => externalLabels.findIndex(e => e.id === x.id) === -1), ...externalLabels];
|
|
9494
|
+
return finalLabels.map(x => {
|
|
9471
9495
|
const localizedItem = bomCore.localizeItem(x, locale, 'en');
|
|
9472
9496
|
return {
|
|
9473
9497
|
id: localizedItem.id,
|
|
@@ -9612,7 +9636,7 @@ function isIterable(element) {
|
|
|
9612
9636
|
return element != null && typeof element[Symbol.iterator] === 'function';
|
|
9613
9637
|
}
|
|
9614
9638
|
|
|
9615
|
-
function getInitializer(globalName, plugins) {
|
|
9639
|
+
function getInitializer(globalName, plugins, pluginLabels) {
|
|
9616
9640
|
if (globalName === void 0) {
|
|
9617
9641
|
globalName = 'bomLlm';
|
|
9618
9642
|
}
|
|
@@ -9625,23 +9649,24 @@ function getInitializer(globalName, plugins) {
|
|
|
9625
9649
|
return;
|
|
9626
9650
|
}
|
|
9627
9651
|
props.plugins = [...(props.plugins || []), ...(plugins || [])];
|
|
9652
|
+
props.pluginLabels = pluginLabels;
|
|
9628
9653
|
const id = bomCore.toKebabCase(globalName);
|
|
9629
9654
|
const node = document.createElement('div');
|
|
9630
9655
|
node.setAttribute('id', id);
|
|
9631
9656
|
body.appendChild(node);
|
|
9632
9657
|
const initError = 'llm plugin is not initialized';
|
|
9633
9658
|
const llmInstance = {
|
|
9634
|
-
open:
|
|
9659
|
+
open: openingContext => {
|
|
9635
9660
|
console.log(initError);
|
|
9636
9661
|
},
|
|
9637
|
-
setOpened: opened => {
|
|
9662
|
+
setOpened: (opened, openingContext) => {
|
|
9638
9663
|
console.log(initError);
|
|
9639
9664
|
},
|
|
9640
9665
|
isOpened: () => {
|
|
9641
9666
|
console.log(initError);
|
|
9642
9667
|
return false;
|
|
9643
9668
|
},
|
|
9644
|
-
send: message => {
|
|
9669
|
+
send: (message, openingContext) => {
|
|
9645
9670
|
console.log(initError);
|
|
9646
9671
|
},
|
|
9647
9672
|
clear: () => {
|