@kelet-ai/feedback-ui 1.1.3 → 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/README.md +140 -70
- package/dist/components/vote-feedback.d.ts +1 -1
- package/dist/contexts/kelet.d.ts +20 -0
- package/dist/feedback-ui.es.js +270 -263
- package/dist/feedback-ui.es.js.map +1 -1
- package/dist/feedback-ui.es.min.js +850 -838
- package/dist/feedback-ui.es.min.js.map +1 -1
- package/dist/feedback-ui.umd.js +269 -262
- package/dist/feedback-ui.umd.js.map +1 -1
- package/dist/feedback-ui.umd.min.js +11 -11
- package/dist/feedback-ui.umd.min.js.map +1 -1
- package/dist/hooks/feedback-state/diff-utils.d.ts +1 -1
- package/dist/hooks/feedback-state/types.d.ts +5 -5
- package/dist/index.d.ts +1 -1
- package/dist/types/index.d.ts +16 -9
- package/package.json +2 -1
package/dist/feedback-ui.umd.js
CHANGED
|
@@ -446,7 +446,7 @@
|
|
|
446
446
|
}
|
|
447
447
|
return context;
|
|
448
448
|
};
|
|
449
|
-
const
|
|
449
|
+
const useKeletSignal = () => {
|
|
450
450
|
const context = require$$0$1.useContext(KeletContext);
|
|
451
451
|
if (!context) {
|
|
452
452
|
console.warn(
|
|
@@ -458,6 +458,7 @@
|
|
|
458
458
|
return context.feedback;
|
|
459
459
|
}
|
|
460
460
|
};
|
|
461
|
+
const useDefaultFeedbackHandler = useKeletSignal;
|
|
461
462
|
const KeletProvider = ({ apiKey, project, baseUrl, children }) => {
|
|
462
463
|
require$$0$1.useEffect(() => {
|
|
463
464
|
initEventCapture();
|
|
@@ -480,18 +481,20 @@
|
|
|
480
481
|
const url = `${resolvedBaseUrl}/api/projects/${project}/signal`;
|
|
481
482
|
const capturedEvent = getLatestEvent();
|
|
482
483
|
const metadata = {
|
|
483
|
-
...data.
|
|
484
|
+
...data.metadata ?? {},
|
|
484
485
|
...capturedEvent && { $dom_event: capturedEvent }
|
|
485
486
|
};
|
|
486
487
|
const req = {
|
|
487
488
|
session_id: data.session_id,
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
explanation: data.explanation,
|
|
491
|
-
correction: data.correction,
|
|
492
|
-
selection: data.selection,
|
|
489
|
+
kind: data.kind,
|
|
490
|
+
source: data.source,
|
|
493
491
|
trigger_name: data.trigger_name,
|
|
494
|
-
|
|
492
|
+
score: data.score,
|
|
493
|
+
value: data.value,
|
|
494
|
+
confidence: data.confidence,
|
|
495
|
+
metadata: Object.keys(metadata).length > 0 ? metadata : void 0,
|
|
496
|
+
timestamp: data.timestamp || (/* @__PURE__ */ new Date()).toISOString(),
|
|
497
|
+
trace_id: data.trace_id
|
|
495
498
|
};
|
|
496
499
|
const response = await fetch(url, {
|
|
497
500
|
method: "POST",
|
|
@@ -537,9 +540,7 @@
|
|
|
537
540
|
}
|
|
538
541
|
return { ...slotProps, ...overrideProps };
|
|
539
542
|
};
|
|
540
|
-
const VoteFeedbackContext = require$$0$1.createContext(
|
|
541
|
-
null
|
|
542
|
-
);
|
|
543
|
+
const VoteFeedbackContext = require$$0$1.createContext(null);
|
|
543
544
|
const useVoteFeedbackContext = () => {
|
|
544
545
|
const context = require$$0$1.useContext(VoteFeedbackContext);
|
|
545
546
|
if (!context) {
|
|
@@ -554,10 +555,12 @@
|
|
|
554
555
|
onFeedback,
|
|
555
556
|
defaultText = "",
|
|
556
557
|
session_id: sessionIdProp,
|
|
557
|
-
|
|
558
|
-
trigger_name
|
|
558
|
+
metadata,
|
|
559
|
+
trigger_name: triggerProp,
|
|
560
|
+
trace_id
|
|
559
561
|
}) => {
|
|
560
562
|
const session_id = typeof sessionIdProp === "function" ? sessionIdProp() : sessionIdProp;
|
|
563
|
+
const trigger_name = triggerProp || void 0;
|
|
561
564
|
const [showPopover, setShowPopover] = require$$0$1.useState(false);
|
|
562
565
|
const [feedbackText, setFeedbackText] = require$$0$1.useState(defaultText);
|
|
563
566
|
const [isSubmitting, setIsSubmitting] = require$$0$1.useState(false);
|
|
@@ -579,9 +582,12 @@
|
|
|
579
582
|
setVote("upvote");
|
|
580
583
|
const data = {
|
|
581
584
|
session_id,
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
+
kind: "feedback",
|
|
586
|
+
source: "human",
|
|
587
|
+
trigger_name,
|
|
588
|
+
score: 1,
|
|
589
|
+
...metadata && { metadata },
|
|
590
|
+
...trace_id && { trace_id }
|
|
585
591
|
};
|
|
586
592
|
try {
|
|
587
593
|
setIsSubmitting(true);
|
|
@@ -589,15 +595,18 @@
|
|
|
589
595
|
} finally {
|
|
590
596
|
setIsSubmitting(false);
|
|
591
597
|
}
|
|
592
|
-
}, [handler, session_id,
|
|
598
|
+
}, [handler, session_id, metadata, trigger_name, trace_id]);
|
|
593
599
|
const handleDownvote = require$$0$1.useCallback(async () => {
|
|
594
600
|
setVote("downvote");
|
|
595
601
|
if (handler) {
|
|
596
602
|
const data = {
|
|
597
603
|
session_id,
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
604
|
+
kind: "feedback",
|
|
605
|
+
source: "human",
|
|
606
|
+
trigger_name,
|
|
607
|
+
score: 0,
|
|
608
|
+
...metadata && { metadata },
|
|
609
|
+
...trace_id && { trace_id }
|
|
601
610
|
};
|
|
602
611
|
try {
|
|
603
612
|
setIsSubmitting(true);
|
|
@@ -617,7 +626,7 @@
|
|
|
617
626
|
document.body.appendChild(announcement);
|
|
618
627
|
setTimeout(() => document.body.removeChild(announcement), 1e3);
|
|
619
628
|
}, 0);
|
|
620
|
-
}, [handler, session_id,
|
|
629
|
+
}, [handler, session_id, metadata, trigger_name, trace_id]);
|
|
621
630
|
const handleTextareaChange = require$$0$1.useCallback(
|
|
622
631
|
(e) => {
|
|
623
632
|
setFeedbackText(e.target.value);
|
|
@@ -629,10 +638,13 @@
|
|
|
629
638
|
if (hasText) {
|
|
630
639
|
const data = {
|
|
631
640
|
session_id,
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
641
|
+
kind: "feedback",
|
|
642
|
+
source: "human",
|
|
643
|
+
trigger_name,
|
|
644
|
+
score: 0,
|
|
645
|
+
value: feedbackText,
|
|
646
|
+
...metadata && { metadata },
|
|
647
|
+
...trace_id && { trace_id }
|
|
636
648
|
};
|
|
637
649
|
try {
|
|
638
650
|
setIsSubmitting(true);
|
|
@@ -657,8 +669,9 @@
|
|
|
657
669
|
feedbackText,
|
|
658
670
|
defaultText,
|
|
659
671
|
session_id,
|
|
660
|
-
|
|
661
|
-
trigger_name
|
|
672
|
+
metadata,
|
|
673
|
+
trigger_name,
|
|
674
|
+
trace_id
|
|
662
675
|
]);
|
|
663
676
|
const handleKeyDown = require$$0$1.useCallback(
|
|
664
677
|
(e) => {
|
|
@@ -709,8 +722,9 @@
|
|
|
709
722
|
popoverId,
|
|
710
723
|
triggerId,
|
|
711
724
|
session_id,
|
|
712
|
-
|
|
713
|
-
trigger_name
|
|
725
|
+
metadata,
|
|
726
|
+
trigger_name,
|
|
727
|
+
trace_id
|
|
714
728
|
};
|
|
715
729
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(VoteFeedbackContext.Provider, { value: contextValue, children });
|
|
716
730
|
};
|
|
@@ -1346,223 +1360,6 @@
|
|
|
1346
1360
|
return deepDiff$1.exports;
|
|
1347
1361
|
}
|
|
1348
1362
|
var deepDiffExports = requireDeepDiff();
|
|
1349
|
-
var levenshtein$1 = { exports: {} };
|
|
1350
|
-
const peq = new Uint32Array(65536);
|
|
1351
|
-
const myers_32 = (a, b) => {
|
|
1352
|
-
const n = a.length;
|
|
1353
|
-
const m = b.length;
|
|
1354
|
-
const lst = 1 << n - 1;
|
|
1355
|
-
let pv = -1;
|
|
1356
|
-
let mv = 0;
|
|
1357
|
-
let sc = n;
|
|
1358
|
-
let i = n;
|
|
1359
|
-
while (i--) {
|
|
1360
|
-
peq[a.charCodeAt(i)] |= 1 << i;
|
|
1361
|
-
}
|
|
1362
|
-
for (i = 0; i < m; i++) {
|
|
1363
|
-
let eq = peq[b.charCodeAt(i)];
|
|
1364
|
-
const xv = eq | mv;
|
|
1365
|
-
eq |= (eq & pv) + pv ^ pv;
|
|
1366
|
-
mv |= ~(eq | pv);
|
|
1367
|
-
pv &= eq;
|
|
1368
|
-
if (mv & lst) {
|
|
1369
|
-
sc++;
|
|
1370
|
-
}
|
|
1371
|
-
if (pv & lst) {
|
|
1372
|
-
sc--;
|
|
1373
|
-
}
|
|
1374
|
-
mv = mv << 1 | 1;
|
|
1375
|
-
pv = pv << 1 | ~(xv | mv);
|
|
1376
|
-
mv &= xv;
|
|
1377
|
-
}
|
|
1378
|
-
i = n;
|
|
1379
|
-
while (i--) {
|
|
1380
|
-
peq[a.charCodeAt(i)] = 0;
|
|
1381
|
-
}
|
|
1382
|
-
return sc;
|
|
1383
|
-
};
|
|
1384
|
-
const myers_x = (b, a) => {
|
|
1385
|
-
const n = a.length;
|
|
1386
|
-
const m = b.length;
|
|
1387
|
-
const mhc = [];
|
|
1388
|
-
const phc = [];
|
|
1389
|
-
const hsize = Math.ceil(n / 32);
|
|
1390
|
-
const vsize = Math.ceil(m / 32);
|
|
1391
|
-
for (let i = 0; i < hsize; i++) {
|
|
1392
|
-
phc[i] = -1;
|
|
1393
|
-
mhc[i] = 0;
|
|
1394
|
-
}
|
|
1395
|
-
let j = 0;
|
|
1396
|
-
for (; j < vsize - 1; j++) {
|
|
1397
|
-
let mv2 = 0;
|
|
1398
|
-
let pv2 = -1;
|
|
1399
|
-
const start2 = j * 32;
|
|
1400
|
-
const vlen2 = Math.min(32, m) + start2;
|
|
1401
|
-
for (let k = start2; k < vlen2; k++) {
|
|
1402
|
-
peq[b.charCodeAt(k)] |= 1 << k;
|
|
1403
|
-
}
|
|
1404
|
-
for (let i = 0; i < n; i++) {
|
|
1405
|
-
const eq = peq[a.charCodeAt(i)];
|
|
1406
|
-
const pb = phc[i / 32 | 0] >>> i & 1;
|
|
1407
|
-
const mb = mhc[i / 32 | 0] >>> i & 1;
|
|
1408
|
-
const xv = eq | mv2;
|
|
1409
|
-
const xh = ((eq | mb) & pv2) + pv2 ^ pv2 | eq | mb;
|
|
1410
|
-
let ph = mv2 | ~(xh | pv2);
|
|
1411
|
-
let mh = pv2 & xh;
|
|
1412
|
-
if (ph >>> 31 ^ pb) {
|
|
1413
|
-
phc[i / 32 | 0] ^= 1 << i;
|
|
1414
|
-
}
|
|
1415
|
-
if (mh >>> 31 ^ mb) {
|
|
1416
|
-
mhc[i / 32 | 0] ^= 1 << i;
|
|
1417
|
-
}
|
|
1418
|
-
ph = ph << 1 | pb;
|
|
1419
|
-
mh = mh << 1 | mb;
|
|
1420
|
-
pv2 = mh | ~(xv | ph);
|
|
1421
|
-
mv2 = ph & xv;
|
|
1422
|
-
}
|
|
1423
|
-
for (let k = start2; k < vlen2; k++) {
|
|
1424
|
-
peq[b.charCodeAt(k)] = 0;
|
|
1425
|
-
}
|
|
1426
|
-
}
|
|
1427
|
-
let mv = 0;
|
|
1428
|
-
let pv = -1;
|
|
1429
|
-
const start = j * 32;
|
|
1430
|
-
const vlen = Math.min(32, m - start) + start;
|
|
1431
|
-
for (let k = start; k < vlen; k++) {
|
|
1432
|
-
peq[b.charCodeAt(k)] |= 1 << k;
|
|
1433
|
-
}
|
|
1434
|
-
let score = m;
|
|
1435
|
-
for (let i = 0; i < n; i++) {
|
|
1436
|
-
const eq = peq[a.charCodeAt(i)];
|
|
1437
|
-
const pb = phc[i / 32 | 0] >>> i & 1;
|
|
1438
|
-
const mb = mhc[i / 32 | 0] >>> i & 1;
|
|
1439
|
-
const xv = eq | mv;
|
|
1440
|
-
const xh = ((eq | mb) & pv) + pv ^ pv | eq | mb;
|
|
1441
|
-
let ph = mv | ~(xh | pv);
|
|
1442
|
-
let mh = pv & xh;
|
|
1443
|
-
score += ph >>> m - 1 & 1;
|
|
1444
|
-
score -= mh >>> m - 1 & 1;
|
|
1445
|
-
if (ph >>> 31 ^ pb) {
|
|
1446
|
-
phc[i / 32 | 0] ^= 1 << i;
|
|
1447
|
-
}
|
|
1448
|
-
if (mh >>> 31 ^ mb) {
|
|
1449
|
-
mhc[i / 32 | 0] ^= 1 << i;
|
|
1450
|
-
}
|
|
1451
|
-
ph = ph << 1 | pb;
|
|
1452
|
-
mh = mh << 1 | mb;
|
|
1453
|
-
pv = mh | ~(xv | ph);
|
|
1454
|
-
mv = ph & xv;
|
|
1455
|
-
}
|
|
1456
|
-
for (let k = start; k < vlen; k++) {
|
|
1457
|
-
peq[b.charCodeAt(k)] = 0;
|
|
1458
|
-
}
|
|
1459
|
-
return score;
|
|
1460
|
-
};
|
|
1461
|
-
const distance = (a, b) => {
|
|
1462
|
-
if (a.length < b.length) {
|
|
1463
|
-
const tmp = b;
|
|
1464
|
-
b = a;
|
|
1465
|
-
a = tmp;
|
|
1466
|
-
}
|
|
1467
|
-
if (b.length === 0) {
|
|
1468
|
-
return a.length;
|
|
1469
|
-
}
|
|
1470
|
-
if (a.length <= 32) {
|
|
1471
|
-
return myers_32(a, b);
|
|
1472
|
-
}
|
|
1473
|
-
return myers_x(a, b);
|
|
1474
|
-
};
|
|
1475
|
-
const closest = (str, arr) => {
|
|
1476
|
-
let min_distance = Infinity;
|
|
1477
|
-
let min_index = 0;
|
|
1478
|
-
for (let i = 0; i < arr.length; i++) {
|
|
1479
|
-
const dist = distance(str, arr[i]);
|
|
1480
|
-
if (dist < min_distance) {
|
|
1481
|
-
min_distance = dist;
|
|
1482
|
-
min_index = i;
|
|
1483
|
-
}
|
|
1484
|
-
}
|
|
1485
|
-
return arr[min_index];
|
|
1486
|
-
};
|
|
1487
|
-
const mod = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1488
|
-
__proto__: null,
|
|
1489
|
-
closest,
|
|
1490
|
-
distance
|
|
1491
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
1492
|
-
const require$$0 = /* @__PURE__ */ getAugmentedNamespace(mod);
|
|
1493
|
-
var hasRequiredLevenshtein;
|
|
1494
|
-
function requireLevenshtein() {
|
|
1495
|
-
if (hasRequiredLevenshtein) return levenshtein$1.exports;
|
|
1496
|
-
hasRequiredLevenshtein = 1;
|
|
1497
|
-
(function(module2, exports3) {
|
|
1498
|
-
(function() {
|
|
1499
|
-
var collator;
|
|
1500
|
-
try {
|
|
1501
|
-
collator = typeof Intl !== "undefined" && typeof Intl.Collator !== "undefined" ? Intl.Collator("generic", { sensitivity: "base" }) : null;
|
|
1502
|
-
} catch (err) {
|
|
1503
|
-
console.log("Collator could not be initialized and wouldn't be used");
|
|
1504
|
-
}
|
|
1505
|
-
var levenshtein2 = require$$0;
|
|
1506
|
-
var prevRow = [], str2Char = [];
|
|
1507
|
-
var Levenshtein = {
|
|
1508
|
-
/**
|
|
1509
|
-
* Calculate levenshtein distance of the two strings.
|
|
1510
|
-
*
|
|
1511
|
-
* @param str1 String the first string.
|
|
1512
|
-
* @param str2 String the second string.
|
|
1513
|
-
* @param [options] Additional options.
|
|
1514
|
-
* @param [options.useCollator] Use `Intl.Collator` for locale-sensitive string comparison.
|
|
1515
|
-
* @return Integer the levenshtein distance (0 and above).
|
|
1516
|
-
*/
|
|
1517
|
-
get: function(str1, str2, options) {
|
|
1518
|
-
var useCollator = options && collator && options.useCollator;
|
|
1519
|
-
if (useCollator) {
|
|
1520
|
-
var str1Len = str1.length, str2Len = str2.length;
|
|
1521
|
-
if (str1Len === 0) return str2Len;
|
|
1522
|
-
if (str2Len === 0) return str1Len;
|
|
1523
|
-
var curCol, nextCol, i, j, tmp;
|
|
1524
|
-
for (i = 0; i < str2Len; ++i) {
|
|
1525
|
-
prevRow[i] = i;
|
|
1526
|
-
str2Char[i] = str2.charCodeAt(i);
|
|
1527
|
-
}
|
|
1528
|
-
prevRow[str2Len] = str2Len;
|
|
1529
|
-
var strCmp;
|
|
1530
|
-
for (i = 0; i < str1Len; ++i) {
|
|
1531
|
-
nextCol = i + 1;
|
|
1532
|
-
for (j = 0; j < str2Len; ++j) {
|
|
1533
|
-
curCol = nextCol;
|
|
1534
|
-
strCmp = 0 === collator.compare(str1.charAt(i), String.fromCharCode(str2Char[j]));
|
|
1535
|
-
nextCol = prevRow[j] + (strCmp ? 0 : 1);
|
|
1536
|
-
tmp = curCol + 1;
|
|
1537
|
-
if (nextCol > tmp) {
|
|
1538
|
-
nextCol = tmp;
|
|
1539
|
-
}
|
|
1540
|
-
tmp = prevRow[j + 1] + 1;
|
|
1541
|
-
if (nextCol > tmp) {
|
|
1542
|
-
nextCol = tmp;
|
|
1543
|
-
}
|
|
1544
|
-
prevRow[j] = curCol;
|
|
1545
|
-
}
|
|
1546
|
-
prevRow[j] = nextCol;
|
|
1547
|
-
}
|
|
1548
|
-
return nextCol;
|
|
1549
|
-
}
|
|
1550
|
-
return levenshtein2.distance(str1, str2);
|
|
1551
|
-
}
|
|
1552
|
-
};
|
|
1553
|
-
if (module2 !== null && true && module2.exports === exports3) {
|
|
1554
|
-
module2.exports = Levenshtein;
|
|
1555
|
-
} else if (typeof self !== "undefined" && typeof self.postMessage === "function" && typeof self.importScripts === "function") {
|
|
1556
|
-
self.Levenshtein = Levenshtein;
|
|
1557
|
-
} else if (typeof window !== "undefined" && window !== null) {
|
|
1558
|
-
window.Levenshtein = Levenshtein;
|
|
1559
|
-
}
|
|
1560
|
-
})();
|
|
1561
|
-
})(levenshtein$1, levenshtein$1.exports);
|
|
1562
|
-
return levenshtein$1.exports;
|
|
1563
|
-
}
|
|
1564
|
-
var levenshteinExports = requireLevenshtein();
|
|
1565
|
-
const levenshtein = /* @__PURE__ */ getDefaultExportFromCjs(levenshteinExports);
|
|
1566
1363
|
class Diff {
|
|
1567
1364
|
diff(oldStr, newStr, options = {}) {
|
|
1568
1365
|
let callback;
|
|
@@ -1972,6 +1769,223 @@
|
|
|
1972
1769
|
}
|
|
1973
1770
|
return result;
|
|
1974
1771
|
}
|
|
1772
|
+
var levenshtein$1 = { exports: {} };
|
|
1773
|
+
const peq = new Uint32Array(65536);
|
|
1774
|
+
const myers_32 = (a, b) => {
|
|
1775
|
+
const n = a.length;
|
|
1776
|
+
const m = b.length;
|
|
1777
|
+
const lst = 1 << n - 1;
|
|
1778
|
+
let pv = -1;
|
|
1779
|
+
let mv = 0;
|
|
1780
|
+
let sc = n;
|
|
1781
|
+
let i = n;
|
|
1782
|
+
while (i--) {
|
|
1783
|
+
peq[a.charCodeAt(i)] |= 1 << i;
|
|
1784
|
+
}
|
|
1785
|
+
for (i = 0; i < m; i++) {
|
|
1786
|
+
let eq = peq[b.charCodeAt(i)];
|
|
1787
|
+
const xv = eq | mv;
|
|
1788
|
+
eq |= (eq & pv) + pv ^ pv;
|
|
1789
|
+
mv |= ~(eq | pv);
|
|
1790
|
+
pv &= eq;
|
|
1791
|
+
if (mv & lst) {
|
|
1792
|
+
sc++;
|
|
1793
|
+
}
|
|
1794
|
+
if (pv & lst) {
|
|
1795
|
+
sc--;
|
|
1796
|
+
}
|
|
1797
|
+
mv = mv << 1 | 1;
|
|
1798
|
+
pv = pv << 1 | ~(xv | mv);
|
|
1799
|
+
mv &= xv;
|
|
1800
|
+
}
|
|
1801
|
+
i = n;
|
|
1802
|
+
while (i--) {
|
|
1803
|
+
peq[a.charCodeAt(i)] = 0;
|
|
1804
|
+
}
|
|
1805
|
+
return sc;
|
|
1806
|
+
};
|
|
1807
|
+
const myers_x = (b, a) => {
|
|
1808
|
+
const n = a.length;
|
|
1809
|
+
const m = b.length;
|
|
1810
|
+
const mhc = [];
|
|
1811
|
+
const phc = [];
|
|
1812
|
+
const hsize = Math.ceil(n / 32);
|
|
1813
|
+
const vsize = Math.ceil(m / 32);
|
|
1814
|
+
for (let i = 0; i < hsize; i++) {
|
|
1815
|
+
phc[i] = -1;
|
|
1816
|
+
mhc[i] = 0;
|
|
1817
|
+
}
|
|
1818
|
+
let j = 0;
|
|
1819
|
+
for (; j < vsize - 1; j++) {
|
|
1820
|
+
let mv2 = 0;
|
|
1821
|
+
let pv2 = -1;
|
|
1822
|
+
const start2 = j * 32;
|
|
1823
|
+
const vlen2 = Math.min(32, m) + start2;
|
|
1824
|
+
for (let k = start2; k < vlen2; k++) {
|
|
1825
|
+
peq[b.charCodeAt(k)] |= 1 << k;
|
|
1826
|
+
}
|
|
1827
|
+
for (let i = 0; i < n; i++) {
|
|
1828
|
+
const eq = peq[a.charCodeAt(i)];
|
|
1829
|
+
const pb = phc[i / 32 | 0] >>> i & 1;
|
|
1830
|
+
const mb = mhc[i / 32 | 0] >>> i & 1;
|
|
1831
|
+
const xv = eq | mv2;
|
|
1832
|
+
const xh = ((eq | mb) & pv2) + pv2 ^ pv2 | eq | mb;
|
|
1833
|
+
let ph = mv2 | ~(xh | pv2);
|
|
1834
|
+
let mh = pv2 & xh;
|
|
1835
|
+
if (ph >>> 31 ^ pb) {
|
|
1836
|
+
phc[i / 32 | 0] ^= 1 << i;
|
|
1837
|
+
}
|
|
1838
|
+
if (mh >>> 31 ^ mb) {
|
|
1839
|
+
mhc[i / 32 | 0] ^= 1 << i;
|
|
1840
|
+
}
|
|
1841
|
+
ph = ph << 1 | pb;
|
|
1842
|
+
mh = mh << 1 | mb;
|
|
1843
|
+
pv2 = mh | ~(xv | ph);
|
|
1844
|
+
mv2 = ph & xv;
|
|
1845
|
+
}
|
|
1846
|
+
for (let k = start2; k < vlen2; k++) {
|
|
1847
|
+
peq[b.charCodeAt(k)] = 0;
|
|
1848
|
+
}
|
|
1849
|
+
}
|
|
1850
|
+
let mv = 0;
|
|
1851
|
+
let pv = -1;
|
|
1852
|
+
const start = j * 32;
|
|
1853
|
+
const vlen = Math.min(32, m - start) + start;
|
|
1854
|
+
for (let k = start; k < vlen; k++) {
|
|
1855
|
+
peq[b.charCodeAt(k)] |= 1 << k;
|
|
1856
|
+
}
|
|
1857
|
+
let score = m;
|
|
1858
|
+
for (let i = 0; i < n; i++) {
|
|
1859
|
+
const eq = peq[a.charCodeAt(i)];
|
|
1860
|
+
const pb = phc[i / 32 | 0] >>> i & 1;
|
|
1861
|
+
const mb = mhc[i / 32 | 0] >>> i & 1;
|
|
1862
|
+
const xv = eq | mv;
|
|
1863
|
+
const xh = ((eq | mb) & pv) + pv ^ pv | eq | mb;
|
|
1864
|
+
let ph = mv | ~(xh | pv);
|
|
1865
|
+
let mh = pv & xh;
|
|
1866
|
+
score += ph >>> m - 1 & 1;
|
|
1867
|
+
score -= mh >>> m - 1 & 1;
|
|
1868
|
+
if (ph >>> 31 ^ pb) {
|
|
1869
|
+
phc[i / 32 | 0] ^= 1 << i;
|
|
1870
|
+
}
|
|
1871
|
+
if (mh >>> 31 ^ mb) {
|
|
1872
|
+
mhc[i / 32 | 0] ^= 1 << i;
|
|
1873
|
+
}
|
|
1874
|
+
ph = ph << 1 | pb;
|
|
1875
|
+
mh = mh << 1 | mb;
|
|
1876
|
+
pv = mh | ~(xv | ph);
|
|
1877
|
+
mv = ph & xv;
|
|
1878
|
+
}
|
|
1879
|
+
for (let k = start; k < vlen; k++) {
|
|
1880
|
+
peq[b.charCodeAt(k)] = 0;
|
|
1881
|
+
}
|
|
1882
|
+
return score;
|
|
1883
|
+
};
|
|
1884
|
+
const distance = (a, b) => {
|
|
1885
|
+
if (a.length < b.length) {
|
|
1886
|
+
const tmp = b;
|
|
1887
|
+
b = a;
|
|
1888
|
+
a = tmp;
|
|
1889
|
+
}
|
|
1890
|
+
if (b.length === 0) {
|
|
1891
|
+
return a.length;
|
|
1892
|
+
}
|
|
1893
|
+
if (a.length <= 32) {
|
|
1894
|
+
return myers_32(a, b);
|
|
1895
|
+
}
|
|
1896
|
+
return myers_x(a, b);
|
|
1897
|
+
};
|
|
1898
|
+
const closest = (str, arr) => {
|
|
1899
|
+
let min_distance = Infinity;
|
|
1900
|
+
let min_index = 0;
|
|
1901
|
+
for (let i = 0; i < arr.length; i++) {
|
|
1902
|
+
const dist = distance(str, arr[i]);
|
|
1903
|
+
if (dist < min_distance) {
|
|
1904
|
+
min_distance = dist;
|
|
1905
|
+
min_index = i;
|
|
1906
|
+
}
|
|
1907
|
+
}
|
|
1908
|
+
return arr[min_index];
|
|
1909
|
+
};
|
|
1910
|
+
const mod = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1911
|
+
__proto__: null,
|
|
1912
|
+
closest,
|
|
1913
|
+
distance
|
|
1914
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
1915
|
+
const require$$0 = /* @__PURE__ */ getAugmentedNamespace(mod);
|
|
1916
|
+
var hasRequiredLevenshtein;
|
|
1917
|
+
function requireLevenshtein() {
|
|
1918
|
+
if (hasRequiredLevenshtein) return levenshtein$1.exports;
|
|
1919
|
+
hasRequiredLevenshtein = 1;
|
|
1920
|
+
(function(module2, exports3) {
|
|
1921
|
+
(function() {
|
|
1922
|
+
var collator;
|
|
1923
|
+
try {
|
|
1924
|
+
collator = typeof Intl !== "undefined" && typeof Intl.Collator !== "undefined" ? Intl.Collator("generic", { sensitivity: "base" }) : null;
|
|
1925
|
+
} catch (err) {
|
|
1926
|
+
console.log("Collator could not be initialized and wouldn't be used");
|
|
1927
|
+
}
|
|
1928
|
+
var levenshtein2 = require$$0;
|
|
1929
|
+
var prevRow = [], str2Char = [];
|
|
1930
|
+
var Levenshtein = {
|
|
1931
|
+
/**
|
|
1932
|
+
* Calculate levenshtein distance of the two strings.
|
|
1933
|
+
*
|
|
1934
|
+
* @param str1 String the first string.
|
|
1935
|
+
* @param str2 String the second string.
|
|
1936
|
+
* @param [options] Additional options.
|
|
1937
|
+
* @param [options.useCollator] Use `Intl.Collator` for locale-sensitive string comparison.
|
|
1938
|
+
* @return Integer the levenshtein distance (0 and above).
|
|
1939
|
+
*/
|
|
1940
|
+
get: function(str1, str2, options) {
|
|
1941
|
+
var useCollator = options && collator && options.useCollator;
|
|
1942
|
+
if (useCollator) {
|
|
1943
|
+
var str1Len = str1.length, str2Len = str2.length;
|
|
1944
|
+
if (str1Len === 0) return str2Len;
|
|
1945
|
+
if (str2Len === 0) return str1Len;
|
|
1946
|
+
var curCol, nextCol, i, j, tmp;
|
|
1947
|
+
for (i = 0; i < str2Len; ++i) {
|
|
1948
|
+
prevRow[i] = i;
|
|
1949
|
+
str2Char[i] = str2.charCodeAt(i);
|
|
1950
|
+
}
|
|
1951
|
+
prevRow[str2Len] = str2Len;
|
|
1952
|
+
var strCmp;
|
|
1953
|
+
for (i = 0; i < str1Len; ++i) {
|
|
1954
|
+
nextCol = i + 1;
|
|
1955
|
+
for (j = 0; j < str2Len; ++j) {
|
|
1956
|
+
curCol = nextCol;
|
|
1957
|
+
strCmp = 0 === collator.compare(str1.charAt(i), String.fromCharCode(str2Char[j]));
|
|
1958
|
+
nextCol = prevRow[j] + (strCmp ? 0 : 1);
|
|
1959
|
+
tmp = curCol + 1;
|
|
1960
|
+
if (nextCol > tmp) {
|
|
1961
|
+
nextCol = tmp;
|
|
1962
|
+
}
|
|
1963
|
+
tmp = prevRow[j + 1] + 1;
|
|
1964
|
+
if (nextCol > tmp) {
|
|
1965
|
+
nextCol = tmp;
|
|
1966
|
+
}
|
|
1967
|
+
prevRow[j] = curCol;
|
|
1968
|
+
}
|
|
1969
|
+
prevRow[j] = nextCol;
|
|
1970
|
+
}
|
|
1971
|
+
return nextCol;
|
|
1972
|
+
}
|
|
1973
|
+
return levenshtein2.distance(str1, str2);
|
|
1974
|
+
}
|
|
1975
|
+
};
|
|
1976
|
+
if (module2 !== null && true && module2.exports === exports3) {
|
|
1977
|
+
module2.exports = Levenshtein;
|
|
1978
|
+
} else if (typeof self !== "undefined" && typeof self.postMessage === "function" && typeof self.importScripts === "function") {
|
|
1979
|
+
self.Levenshtein = Levenshtein;
|
|
1980
|
+
} else if (typeof window !== "undefined" && window !== null) {
|
|
1981
|
+
window.Levenshtein = Levenshtein;
|
|
1982
|
+
}
|
|
1983
|
+
})();
|
|
1984
|
+
})(levenshtein$1, levenshtein$1.exports);
|
|
1985
|
+
return levenshtein$1.exports;
|
|
1986
|
+
}
|
|
1987
|
+
var levenshteinExports = requireLevenshtein();
|
|
1988
|
+
const levenshtein = /* @__PURE__ */ getDefaultExportFromCjs(levenshteinExports);
|
|
1975
1989
|
function formatDiff(oldValue, newValue, diffType = "git", context = 1) {
|
|
1976
1990
|
switch (diffType) {
|
|
1977
1991
|
case "git":
|
|
@@ -2148,25 +2162,17 @@
|
|
|
2148
2162
|
(startState, endState, triggerName) => {
|
|
2149
2163
|
const diffPercentage = calculateDiffPercentage(startState, endState);
|
|
2150
2164
|
const diffString = formatDiff(startState, endState, diffType);
|
|
2151
|
-
|
|
2152
|
-
if (options?.vote) {
|
|
2153
|
-
if (typeof options.vote === "function") {
|
|
2154
|
-
vote = options.vote(startState, endState, diffPercentage);
|
|
2155
|
-
} else {
|
|
2156
|
-
vote = options.vote;
|
|
2157
|
-
}
|
|
2158
|
-
} else {
|
|
2159
|
-
vote = diffPercentage > 0.5 ? "downvote" : "upvote";
|
|
2160
|
-
}
|
|
2165
|
+
const score = typeof options?.score === "function" ? options.score(startState, endState, diffPercentage) : options?.score ?? (diffPercentage > 0.5 ? 0 : 1);
|
|
2161
2166
|
const idString = typeof session_id === "function" ? session_id(endState) : session_id;
|
|
2162
2167
|
feedbackHandler({
|
|
2163
2168
|
session_id: idString,
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2169
|
+
kind: "edit",
|
|
2170
|
+
source: "human",
|
|
2171
|
+
trigger_name: triggerName,
|
|
2172
|
+
score,
|
|
2173
|
+
value: diffString,
|
|
2174
|
+
confidence: diffPercentage,
|
|
2175
|
+
metadata: options?.metadata
|
|
2170
2176
|
});
|
|
2171
2177
|
},
|
|
2172
2178
|
[options, session_id, diffType, feedbackHandler]
|
|
@@ -2273,6 +2279,7 @@
|
|
|
2273
2279
|
exports2.useDefaultFeedbackHandler = useDefaultFeedbackHandler;
|
|
2274
2280
|
exports2.useFeedbackState = useFeedbackState;
|
|
2275
2281
|
exports2.useKelet = useKelet;
|
|
2282
|
+
exports2.useKeletSignal = useKeletSignal;
|
|
2276
2283
|
Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
|
|
2277
2284
|
});
|
|
2278
2285
|
//# sourceMappingURL=feedback-ui.umd.js.map
|