@promptbook/wizard 0.106.0-0 → 0.107.0-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/esm/index.es.js +824 -91
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/components.index.d.ts +4 -0
- package/esm/typings/src/_packages/types.index.d.ts +9 -1
- package/esm/typings/src/_packages/utils.index.d.ts +2 -2
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +26 -2
- package/esm/typings/src/book-components/Chat/types/ChatMessage.d.ts +10 -2
- package/esm/typings/src/book-components/Chat/utils/getChatMessageTimingDisplay.d.ts +26 -0
- package/esm/typings/src/book-components/Chat/utils/{getToolCallChipletText.d.ts → getToolCallChipletInfo.d.ts} +1 -8
- package/esm/typings/src/types/ToolCall.d.ts +13 -1
- package/esm/typings/src/utils/linguistic-hash/LinguisticHashLanguage.d.ts +41 -0
- package/esm/typings/src/utils/linguistic-hash/linguisticHash.d.ts +37 -0
- package/esm/typings/src/utils/linguistic-hash/linguisticHashTypes.d.ts +19 -0
- package/esm/typings/src/utils/linguistic-hash/linguisticHashWords.cs.d.ts +10 -0
- package/esm/typings/src/utils/linguistic-hash/linguisticHashWords.en.d.ts +10 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +824 -91
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/utils/misc/linguisticHash.d.ts +0 -9
- /package/esm/typings/src/utils/{misc → linguistic-hash}/linguisticHash.test.d.ts +0 -0
package/esm/index.es.js
CHANGED
|
@@ -37,7 +37,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
|
|
|
37
37
|
* @generated
|
|
38
38
|
* @see https://github.com/webgptorg/promptbook
|
|
39
39
|
*/
|
|
40
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.
|
|
40
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.107.0-0';
|
|
41
41
|
/**
|
|
42
42
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
43
43
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -6442,103 +6442,564 @@ function capitalize(word) {
|
|
|
6442
6442
|
return word.substring(0, 1).toUpperCase() + word.substring(1);
|
|
6443
6443
|
}
|
|
6444
6444
|
|
|
6445
|
+
// spell-checker: disable
|
|
6445
6446
|
/**
|
|
6446
|
-
*
|
|
6447
|
+
* @@@
|
|
6447
6448
|
*
|
|
6448
|
-
* @
|
|
6449
|
-
*/
|
|
6450
|
-
|
|
6451
|
-
|
|
6452
|
-
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
'
|
|
6457
|
-
'
|
|
6458
|
-
'
|
|
6459
|
-
'
|
|
6460
|
-
'
|
|
6461
|
-
'
|
|
6462
|
-
'
|
|
6463
|
-
'
|
|
6464
|
-
'
|
|
6465
|
-
'
|
|
6466
|
-
'
|
|
6467
|
-
'
|
|
6449
|
+
* @private utility of `linguisticHash`
|
|
6450
|
+
*/
|
|
6451
|
+
const ADJECTIVES$1 = [
|
|
6452
|
+
'červený',
|
|
6453
|
+
'modrý',
|
|
6454
|
+
'zelený',
|
|
6455
|
+
'žlutý',
|
|
6456
|
+
'rychlý',
|
|
6457
|
+
'pomalý',
|
|
6458
|
+
'jasný',
|
|
6459
|
+
'temný',
|
|
6460
|
+
'veselý',
|
|
6461
|
+
'smutný',
|
|
6462
|
+
'statečný',
|
|
6463
|
+
'klidný',
|
|
6464
|
+
'chytrý',
|
|
6465
|
+
'bystrý',
|
|
6466
|
+
'dychtivý',
|
|
6467
|
+
'honosný',
|
|
6468
|
+
'velkolepý',
|
|
6469
|
+
'hravý',
|
|
6470
|
+
'laskavý',
|
|
6471
|
+
'šťastný',
|
|
6472
|
+
'hrdý',
|
|
6473
|
+
'pošetilý',
|
|
6474
|
+
'moudrý',
|
|
6475
|
+
'mladý',
|
|
6476
|
+
'starý',
|
|
6477
|
+
'veliký',
|
|
6478
|
+
'malý',
|
|
6479
|
+
'drobný',
|
|
6480
|
+
'obrovský',
|
|
6481
|
+
'krátký',
|
|
6482
|
+
'dlouhý',
|
|
6483
|
+
'blízký',
|
|
6484
|
+
'vzdálený',
|
|
6485
|
+
'vnitřní',
|
|
6486
|
+
'vnější',
|
|
6487
|
+
'trpělivý',
|
|
6488
|
+
'stálý',
|
|
6489
|
+
'ušlechtilý',
|
|
6490
|
+
'čistý',
|
|
6491
|
+
'špinavý',
|
|
6492
|
+
'čerstvý',
|
|
6493
|
+
'zvětralý',
|
|
6494
|
+
'ostrý',
|
|
6495
|
+
'tupý',
|
|
6496
|
+
'tlustý',
|
|
6497
|
+
'tenký',
|
|
6498
|
+
'široký',
|
|
6499
|
+
'úzký',
|
|
6500
|
+
'hluboký',
|
|
6501
|
+
'mělký',
|
|
6502
|
+
'mocný',
|
|
6503
|
+
'jemný',
|
|
6504
|
+
'divoký',
|
|
6505
|
+
'tichý',
|
|
6506
|
+
'hlučný',
|
|
6507
|
+
'pokojný',
|
|
6508
|
+
'rušný',
|
|
6509
|
+
'prázdný',
|
|
6510
|
+
'plný',
|
|
6511
|
+
'kulatý',
|
|
6512
|
+
'hranatý',
|
|
6513
|
+
'plochý',
|
|
6514
|
+
'křivý',
|
|
6515
|
+
'tvrdý',
|
|
6516
|
+
'měkký',
|
|
6517
|
+
'teplý',
|
|
6518
|
+
'chladný',
|
|
6519
|
+
'sladký',
|
|
6520
|
+
'kyselý',
|
|
6521
|
+
'hořký',
|
|
6522
|
+
'slaný',
|
|
6523
|
+
'silný',
|
|
6524
|
+
'slabý',
|
|
6525
|
+
'pevný',
|
|
6526
|
+
'pružný',
|
|
6527
|
+
'křehký',
|
|
6528
|
+
'houževnatý',
|
|
6529
|
+
'lesklý',
|
|
6530
|
+
'matný',
|
|
6531
|
+
'kluzký',
|
|
6532
|
+
'lepkavý',
|
|
6533
|
+
'svěží',
|
|
6534
|
+
'vybledlý',
|
|
6535
|
+
'mlhavý',
|
|
6536
|
+
'bouřlivý',
|
|
6537
|
+
'slunný',
|
|
6538
|
+
'větrný',
|
|
6539
|
+
'deštivý',
|
|
6540
|
+
'mrazivý',
|
|
6541
|
+
'zlatý',
|
|
6542
|
+
'stříbrný',
|
|
6543
|
+
'ledový',
|
|
6544
|
+
'žhavý',
|
|
6545
|
+
'prastarý',
|
|
6546
|
+
'moderní',
|
|
6547
|
+
'skrytý',
|
|
6548
|
+
'ztracený',
|
|
6549
|
+
'nalezený',
|
|
6550
|
+
'magický',
|
|
6551
|
+
'tajemný',
|
|
6552
|
+
'kosmický',
|
|
6553
|
+
'hvězdný',
|
|
6554
|
+
'měsíční',
|
|
6555
|
+
'sluneční',
|
|
6556
|
+
'mlžný',
|
|
6557
|
+
'ranní',
|
|
6558
|
+
'večerní',
|
|
6559
|
+
'noční',
|
|
6560
|
+
'denní',
|
|
6561
|
+
'osamělý',
|
|
6562
|
+
'společenský',
|
|
6563
|
+
'soukromý',
|
|
6564
|
+
'veřejný',
|
|
6565
|
+
'tajný',
|
|
6566
|
+
'slavný',
|
|
6567
|
+
'jistý',
|
|
6568
|
+
'neurčitý',
|
|
6569
|
+
'prostý',
|
|
6570
|
+
'snadný',
|
|
6571
|
+
'krotký',
|
|
6572
|
+
'mírný',
|
|
6573
|
+
'horký',
|
|
6574
|
+
'suchý',
|
|
6575
|
+
'mokrý',
|
|
6576
|
+
'vlhký',
|
|
6577
|
+
'promočený',
|
|
6578
|
+
'vyprahlý',
|
|
6579
|
+
'hladový',
|
|
6580
|
+
'žíznivý',
|
|
6581
|
+
'ospalý',
|
|
6582
|
+
'bdělý',
|
|
6583
|
+
'unavený',
|
|
6584
|
+
'líný',
|
|
6585
|
+
'neklidný',
|
|
6586
|
+
'nestálý',
|
|
6587
|
+
'odvážný',
|
|
6588
|
+
'bázlivý',
|
|
6589
|
+
'upřímný',
|
|
6590
|
+
'věrný',
|
|
6591
|
+
'pravý',
|
|
6592
|
+
'falešný',
|
|
6593
|
+
'spravedlivý',
|
|
6594
|
+
'jednoduchý',
|
|
6595
|
+
'složitý',
|
|
6596
|
+
'přirozený',
|
|
6597
|
+
'umělý',
|
|
6598
|
+
'živý',
|
|
6599
|
+
'mrtvý',
|
|
6600
|
+
'zvídavý',
|
|
6601
|
+
'zvláštní',
|
|
6602
|
+
'běžný',
|
|
6603
|
+
'vzácný',
|
|
6604
|
+
'jedinečný',
|
|
6605
|
+
'základní',
|
|
6606
|
+
'prvotní',
|
|
6607
|
+
'hbitý',
|
|
6468
6608
|
];
|
|
6469
|
-
const
|
|
6470
|
-
|
|
6471
|
-
'
|
|
6472
|
-
'
|
|
6473
|
-
'
|
|
6474
|
-
'
|
|
6475
|
-
'
|
|
6476
|
-
'
|
|
6477
|
-
'
|
|
6478
|
-
'
|
|
6479
|
-
'
|
|
6480
|
-
'
|
|
6481
|
-
'
|
|
6482
|
-
'
|
|
6483
|
-
'
|
|
6484
|
-
'
|
|
6609
|
+
const NOUNS$1 = [
|
|
6610
|
+
'jablko',
|
|
6611
|
+
'nebe',
|
|
6612
|
+
'strom',
|
|
6613
|
+
'liška',
|
|
6614
|
+
'kočka',
|
|
6615
|
+
'pták',
|
|
6616
|
+
'pes',
|
|
6617
|
+
'řeka',
|
|
6618
|
+
'hora',
|
|
6619
|
+
'les',
|
|
6620
|
+
'oceán',
|
|
6621
|
+
'hvězda',
|
|
6622
|
+
'měsíc',
|
|
6623
|
+
'slunce',
|
|
6624
|
+
'mrak',
|
|
6625
|
+
'květ',
|
|
6626
|
+
'list',
|
|
6627
|
+
'kámen',
|
|
6628
|
+
'vítr',
|
|
6629
|
+
'déšť',
|
|
6630
|
+
'oheň',
|
|
6631
|
+
'led',
|
|
6632
|
+
'kniha',
|
|
6633
|
+
'sen',
|
|
6634
|
+
'píseň',
|
|
6635
|
+
'cesta',
|
|
6636
|
+
'brána',
|
|
6637
|
+
'klíč',
|
|
6638
|
+
'lampa',
|
|
6639
|
+
'mapa',
|
|
6640
|
+
'dům',
|
|
6641
|
+
'město',
|
|
6642
|
+
'most',
|
|
6643
|
+
'pole',
|
|
6644
|
+
'zahrada',
|
|
6645
|
+
'jezero',
|
|
6646
|
+
'pláž',
|
|
6647
|
+
'ostrov',
|
|
6648
|
+
'údolí',
|
|
6649
|
+
'poušť',
|
|
6650
|
+
'svět',
|
|
6651
|
+
'duch',
|
|
6652
|
+
'srdce',
|
|
6653
|
+
'mysl',
|
|
6654
|
+
'duše',
|
|
6655
|
+
'život',
|
|
6656
|
+
'čas',
|
|
6657
|
+
'prostor',
|
|
6658
|
+
'světlo',
|
|
6659
|
+
'stín',
|
|
6660
|
+
'zvuk',
|
|
6661
|
+
'hudba',
|
|
6662
|
+
'hlas',
|
|
6663
|
+
'slovo',
|
|
6664
|
+
'stránka',
|
|
6665
|
+
'příběh',
|
|
6666
|
+
'perla',
|
|
6667
|
+
'zlato',
|
|
6668
|
+
'stříbro',
|
|
6669
|
+
'krystal',
|
|
6670
|
+
'diamant',
|
|
6671
|
+
'smaragd',
|
|
6672
|
+
'rubín',
|
|
6673
|
+
'stezka',
|
|
6674
|
+
'vrchol',
|
|
6675
|
+
'břeh',
|
|
6676
|
+
'vlna',
|
|
6677
|
+
'příliv',
|
|
6678
|
+
'plamen',
|
|
6679
|
+
'jiskra',
|
|
6680
|
+
'paprsek',
|
|
6681
|
+
'semínko',
|
|
6682
|
+
'kořen',
|
|
6683
|
+
'větev',
|
|
6684
|
+
'pupen',
|
|
6685
|
+
'trn',
|
|
6686
|
+
'kůra',
|
|
6687
|
+
'skořápka',
|
|
6688
|
+
'pírko',
|
|
6689
|
+
'křídlo',
|
|
6690
|
+
'dráp',
|
|
6691
|
+
'tlapa',
|
|
6692
|
+
'hnízdo',
|
|
6693
|
+
'jeskyně',
|
|
6694
|
+
'hájek',
|
|
6695
|
+
'věž',
|
|
6696
|
+
'hrad',
|
|
6697
|
+
'koruna',
|
|
6698
|
+
'meč',
|
|
6699
|
+
'štít',
|
|
6700
|
+
'mince',
|
|
6701
|
+
'drahokam',
|
|
6702
|
+
'prsten',
|
|
6703
|
+
'zvonek',
|
|
6704
|
+
'hodiny',
|
|
6705
|
+
'kompas',
|
|
6706
|
+
'kotva',
|
|
6707
|
+
'pochodeň',
|
|
6708
|
+
'flétna',
|
|
6709
|
+
'harfa',
|
|
6710
|
+
'buben',
|
|
6711
|
+
'čočka',
|
|
6712
|
+
'sklo',
|
|
6713
|
+
'písek',
|
|
6714
|
+
'prach',
|
|
6715
|
+
'mlha',
|
|
6716
|
+
'rosa',
|
|
6717
|
+
'svítání',
|
|
6718
|
+
'soumrak',
|
|
6719
|
+
'noc',
|
|
6720
|
+
'den',
|
|
6721
|
+
'rok',
|
|
6722
|
+
'věk',
|
|
6723
|
+
'blesk',
|
|
6724
|
+
'kapka',
|
|
6725
|
+
'bouře',
|
|
6726
|
+
'sníh',
|
|
6727
|
+
'kroupa',
|
|
6728
|
+
'kouř',
|
|
6729
|
+
'pára',
|
|
6730
|
+
'plyn',
|
|
6731
|
+
'kov',
|
|
6732
|
+
'skála',
|
|
6733
|
+
'hlína',
|
|
6734
|
+
'sůl',
|
|
6735
|
+
'cukr',
|
|
6736
|
+
'dřevo',
|
|
6737
|
+
'kost',
|
|
6738
|
+
'kůže',
|
|
6739
|
+
'tělo',
|
|
6740
|
+
'krev',
|
|
6741
|
+
'buňka',
|
|
6742
|
+
'atom',
|
|
6743
|
+
'tep',
|
|
6744
|
+
'dech',
|
|
6745
|
+
'vzdech',
|
|
6746
|
+
'jméno',
|
|
6747
|
+
'ozvěna',
|
|
6748
|
+
'obraz',
|
|
6749
|
+
'vize',
|
|
6750
|
+
'myšlenka',
|
|
6751
|
+
'nápad',
|
|
6752
|
+
'plán',
|
|
6753
|
+
'cíl',
|
|
6754
|
+
'přání',
|
|
6755
|
+
'naděje',
|
|
6756
|
+
'strach',
|
|
6757
|
+
'radost',
|
|
6758
|
+
'láska',
|
|
6759
|
+
'nenávist',
|
|
6760
|
+
'vůle',
|
|
6761
|
+
'síla',
|
|
6762
|
+
'energie',
|
|
6763
|
+
'pohyb',
|
|
6764
|
+
'rychlost',
|
|
6765
|
+
'místo',
|
|
6766
|
+
'bod',
|
|
6767
|
+
'linie',
|
|
6768
|
+
'tvar',
|
|
6769
|
+
'forma',
|
|
6770
|
+
'velikost',
|
|
6771
|
+
'hmota',
|
|
6772
|
+
'váha',
|
|
6773
|
+
'teplo',
|
|
6774
|
+
'chlad',
|
|
6775
|
+
'barva',
|
|
6776
|
+
'tón',
|
|
6777
|
+
'rytmus',
|
|
6778
|
+
'nálada',
|
|
6779
|
+
'stav',
|
|
6780
|
+
'krok',
|
|
6781
|
+
'pád',
|
|
6782
|
+
'skok',
|
|
6783
|
+
'běh',
|
|
6784
|
+
'let',
|
|
6785
|
+
'klid',
|
|
6786
|
+
'úkol',
|
|
6787
|
+
'práce',
|
|
6788
|
+
'hra',
|
|
6789
|
+
'sport',
|
|
6790
|
+
'umění',
|
|
6791
|
+
'řemeslo',
|
|
6792
|
+
'nástroj',
|
|
6793
|
+
'loď',
|
|
6794
|
+
'člun',
|
|
6795
|
+
'auto',
|
|
6796
|
+
'kolo',
|
|
6797
|
+
'vlak',
|
|
6798
|
+
'letadlo',
|
|
6799
|
+
'uzel',
|
|
6800
|
+
'síť',
|
|
6801
|
+
'krabice',
|
|
6802
|
+
'taška',
|
|
6803
|
+
'dóza',
|
|
6804
|
+
'hrnek',
|
|
6805
|
+
'miska',
|
|
6806
|
+
'talíř',
|
|
6807
|
+
'lžíce',
|
|
6808
|
+
'vidlička',
|
|
6809
|
+
'nůž',
|
|
6810
|
+
'pánev',
|
|
6811
|
+
'hrnec',
|
|
6812
|
+
'postel',
|
|
6813
|
+
'stůl',
|
|
6814
|
+
'židle',
|
|
6815
|
+
'dveře',
|
|
6816
|
+
'stěna',
|
|
6817
|
+
'střecha',
|
|
6818
|
+
'podlaha',
|
|
6819
|
+
'okno',
|
|
6820
|
+
'chodba',
|
|
6485
6821
|
];
|
|
6486
|
-
const
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6490
|
-
|
|
6822
|
+
const VERBS$1 = [
|
|
6823
|
+
'skáče',
|
|
6824
|
+
'tančí',
|
|
6825
|
+
'letí',
|
|
6826
|
+
'běží',
|
|
6827
|
+
'zpívá',
|
|
6828
|
+
'svítí',
|
|
6829
|
+
'roste',
|
|
6830
|
+
'plyne',
|
|
6831
|
+
'padá',
|
|
6832
|
+
'stoupá',
|
|
6833
|
+
'spí',
|
|
6834
|
+
'kráčí',
|
|
6835
|
+
'mluví',
|
|
6836
|
+
'myslí',
|
|
6837
|
+
'sní',
|
|
6838
|
+
'hledá',
|
|
6839
|
+
'nachází',
|
|
6840
|
+
'dává',
|
|
6841
|
+
'bere',
|
|
6842
|
+
'tvoří',
|
|
6843
|
+
'hoří',
|
|
6844
|
+
'mrzne',
|
|
6845
|
+
'taje',
|
|
6846
|
+
'dýchá',
|
|
6847
|
+
'pulzuje',
|
|
6848
|
+
'bije',
|
|
6849
|
+
'žije',
|
|
6850
|
+
'učí',
|
|
6851
|
+
'ví',
|
|
6852
|
+
'skrývá',
|
|
6853
|
+
'ukazuje',
|
|
6854
|
+
'láme',
|
|
6855
|
+
'opravuje',
|
|
6856
|
+
'ztrácí',
|
|
6857
|
+
'nalézá',
|
|
6858
|
+
'začíná',
|
|
6859
|
+
'končí',
|
|
6860
|
+
'plave',
|
|
6861
|
+
'pluje',
|
|
6862
|
+
'klouže',
|
|
6863
|
+
'točí',
|
|
6864
|
+
'mění',
|
|
6865
|
+
'bledne',
|
|
6866
|
+
'mizí',
|
|
6867
|
+
'rodí',
|
|
6868
|
+
'hučí',
|
|
6869
|
+
'pláče',
|
|
6870
|
+
'závodí',
|
|
6871
|
+
'plíží',
|
|
6872
|
+
'sleduje',
|
|
6873
|
+
'slyší',
|
|
6874
|
+
'cítí',
|
|
6875
|
+
'touží',
|
|
6876
|
+
'doufá',
|
|
6877
|
+
'miluje',
|
|
6878
|
+
'bloudí',
|
|
6879
|
+
'putuje',
|
|
6880
|
+
'cestuje',
|
|
6881
|
+
'překračuje',
|
|
6882
|
+
'potkává',
|
|
6883
|
+
'drží',
|
|
6884
|
+
'sdílí',
|
|
6885
|
+
'jiskří',
|
|
6886
|
+
'plápolá',
|
|
6887
|
+
'léčí',
|
|
6888
|
+
'řeší',
|
|
6889
|
+
'otevírá',
|
|
6890
|
+
'zavírá',
|
|
6891
|
+
'zvedá',
|
|
6892
|
+
'táhne',
|
|
6893
|
+
'tlačí',
|
|
6894
|
+
'hází',
|
|
6895
|
+
'chytá',
|
|
6896
|
+
'dělá',
|
|
6897
|
+
'vidí',
|
|
6898
|
+
'chutná',
|
|
6899
|
+
'voní',
|
|
6900
|
+
'spěchá',
|
|
6901
|
+
'zastaví',
|
|
6902
|
+
'jde',
|
|
6903
|
+
'přichází',
|
|
6904
|
+
'odchází',
|
|
6905
|
+
'jedná',
|
|
6906
|
+
'existuje',
|
|
6907
|
+
'zmenšuje',
|
|
6908
|
+
'rozšiřuje',
|
|
6909
|
+
'zužuje',
|
|
6910
|
+
'hřeje',
|
|
6911
|
+
'chladí',
|
|
6912
|
+
'suší',
|
|
6913
|
+
'máčí',
|
|
6914
|
+
'plní',
|
|
6915
|
+
'vyprazdňuje',
|
|
6916
|
+
'pouští',
|
|
6917
|
+
'získává',
|
|
6918
|
+
'vítězí',
|
|
6919
|
+
'selhává',
|
|
6920
|
+
'zkouší',
|
|
6921
|
+
'používá',
|
|
6922
|
+
'dostává',
|
|
6923
|
+
'měří',
|
|
6924
|
+
'stojí',
|
|
6925
|
+
'dosahuje',
|
|
6926
|
+
'míjí',
|
|
6927
|
+
'udeří',
|
|
6928
|
+
'vede',
|
|
6929
|
+
'následuje',
|
|
6930
|
+
'pomáhá',
|
|
6931
|
+
'slouží',
|
|
6932
|
+
'trénuje',
|
|
6933
|
+
'kóduje',
|
|
6934
|
+
'píše',
|
|
6935
|
+
'čte',
|
|
6936
|
+
'kreslí',
|
|
6937
|
+
'maluje',
|
|
6938
|
+
'tvaruje',
|
|
6939
|
+
'spojuje',
|
|
6940
|
+
'dělí',
|
|
6941
|
+
'váže',
|
|
6942
|
+
'zraňuje',
|
|
6943
|
+
'chrání',
|
|
6944
|
+
'bojuje',
|
|
6945
|
+
'brání',
|
|
6946
|
+
'útočí',
|
|
6947
|
+
'uniká',
|
|
6948
|
+
'lapá',
|
|
6949
|
+
'osvobozuje',
|
|
6950
|
+
'poutá',
|
|
6951
|
+
'spřádá',
|
|
6952
|
+
'tká',
|
|
6953
|
+
'vrhá',
|
|
6954
|
+
'nese',
|
|
6955
|
+
'přenáší',
|
|
6956
|
+
'vrací',
|
|
6957
|
+
'zrychluje',
|
|
6958
|
+
'zpomaluje',
|
|
6959
|
+
'probouzí',
|
|
6960
|
+
'uspává',
|
|
6961
|
+
'šeptá',
|
|
6962
|
+
'volá',
|
|
6963
|
+
'hledí',
|
|
6964
|
+
'čeká',
|
|
6965
|
+
'bdí',
|
|
6966
|
+
'rozkvétá',
|
|
6967
|
+
'klíčí',
|
|
6968
|
+
'zraje',
|
|
6969
|
+
'chvěje',
|
|
6970
|
+
'třpytí',
|
|
6971
|
+
'shromažďuje',
|
|
6972
|
+
'rozhazuje',
|
|
6973
|
+
'tápe',
|
|
6974
|
+
'žhne',
|
|
6975
|
+
'vibruje',
|
|
6976
|
+
'šumí',
|
|
6977
|
+
'stéká',
|
|
6978
|
+
'vypráví',
|
|
6979
|
+
'plánuje',
|
|
6980
|
+
'počítá',
|
|
6981
|
+
'váhá',
|
|
6982
|
+
'riskuje',
|
|
6491
6983
|
];
|
|
6492
6984
|
/**
|
|
6493
|
-
*
|
|
6494
|
-
|
|
6495
|
-
|
|
6496
|
-
const expandedHash = `${hash}${hash}`;
|
|
6497
|
-
const start = (segmentIndex * HASH_SEGMENT_LENGTH + segmentIndex) % hash.length;
|
|
6498
|
-
return parseInt(expandedHash.substring(start, start + HASH_SEGMENT_LENGTH), 16);
|
|
6499
|
-
}
|
|
6500
|
-
/**
|
|
6501
|
-
* Picks a deterministic item from a list based on the hash seed.
|
|
6502
|
-
*/
|
|
6503
|
-
function pickFromHash(hash, segmentIndex, list) {
|
|
6504
|
-
const seed = getHashSeed(hash, segmentIndex);
|
|
6505
|
-
return list[seed % list.length];
|
|
6506
|
-
}
|
|
6507
|
-
/**
|
|
6508
|
-
* Index constants for story part selection to avoid magic numbers.
|
|
6509
|
-
*/
|
|
6510
|
-
const ADJECTIVE3_INDEX = 9;
|
|
6511
|
-
const NOUN3_INDEX = 10;
|
|
6512
|
-
/**
|
|
6513
|
-
* Creates the deterministic story parts used by the sentence templates.
|
|
6985
|
+
* Czech word lists used by the linguistic hash.
|
|
6986
|
+
*
|
|
6987
|
+
* @private utility of `linguisticHash`
|
|
6514
6988
|
*/
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
|
|
6520
|
-
adjective1: pickFromHash(hash, 3, ADJECTIVES),
|
|
6521
|
-
noun1: pickFromHash(hash, 4, NOUNS),
|
|
6522
|
-
verb1: pickFromHash(hash, 5, VERBS),
|
|
6523
|
-
adjective2: pickFromHash(hash, 6, ADJECTIVES),
|
|
6524
|
-
noun2: pickFromHash(hash, 7, NOUNS),
|
|
6525
|
-
verb2: pickFromHash(hash, 8, VERBS),
|
|
6526
|
-
adjective3: pickFromHash(hash, ADJECTIVE3_INDEX, ADJECTIVES),
|
|
6527
|
-
noun3: pickFromHash(hash, NOUN3_INDEX, NOUNS),
|
|
6528
|
-
};
|
|
6529
|
-
}
|
|
6989
|
+
const LINGUISTIC_HASH_WORD_LISTS_CS = {
|
|
6990
|
+
adjective: ADJECTIVES$1,
|
|
6991
|
+
noun: NOUNS$1,
|
|
6992
|
+
verb: VERBS$1,
|
|
6993
|
+
};
|
|
6530
6994
|
/**
|
|
6531
|
-
*
|
|
6995
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
6532
6996
|
*/
|
|
6533
|
-
|
|
6997
|
+
|
|
6534
6998
|
/**
|
|
6535
|
-
*
|
|
6999
|
+
* @@@
|
|
7000
|
+
*
|
|
7001
|
+
* @private utility of `linguisticHash`
|
|
6536
7002
|
*/
|
|
6537
|
-
function createStorySentence(hash) {
|
|
6538
|
-
const parts = createStoryParts(hash);
|
|
6539
|
-
const template = pickFromHash(hash, STORY_TEMPLATE_INDEX, STORY_TEMPLATES);
|
|
6540
|
-
return template(parts).trim();
|
|
6541
|
-
}
|
|
6542
7003
|
const ADJECTIVES = [
|
|
6543
7004
|
'red',
|
|
6544
7005
|
'blue',
|
|
@@ -7213,8 +7674,203 @@ const VERBS = [
|
|
|
7213
7674
|
'spinning',
|
|
7214
7675
|
];
|
|
7215
7676
|
/**
|
|
7216
|
-
*
|
|
7677
|
+
* English word lists used by the linguistic hash.
|
|
7678
|
+
*
|
|
7679
|
+
* @private utility of `linguisticHash`
|
|
7680
|
+
*/
|
|
7681
|
+
const LINGUISTIC_HASH_WORD_LISTS_EN = {
|
|
7682
|
+
adjective: ADJECTIVES,
|
|
7683
|
+
noun: NOUNS,
|
|
7684
|
+
verb: VERBS,
|
|
7685
|
+
};
|
|
7686
|
+
/**
|
|
7687
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
7688
|
+
*/
|
|
7689
|
+
|
|
7690
|
+
/**
|
|
7691
|
+
* Default language used for linguistic hashes.
|
|
7692
|
+
*
|
|
7693
|
+
* @private utility of `linguisticHash`
|
|
7694
|
+
*/
|
|
7695
|
+
const DEFAULT_LINGUISTIC_HASH_LANGUAGE = 'en';
|
|
7696
|
+
/**
|
|
7697
|
+
* @@@
|
|
7698
|
+
*
|
|
7699
|
+
* @private utility of `linguisticHash`
|
|
7700
|
+
*/
|
|
7701
|
+
const LANGUAGE_CONFIGS = {
|
|
7702
|
+
en: {
|
|
7703
|
+
language: 'en',
|
|
7704
|
+
label: 'English',
|
|
7705
|
+
wordLists: LINGUISTIC_HASH_WORD_LISTS_EN,
|
|
7706
|
+
},
|
|
7707
|
+
cs: {
|
|
7708
|
+
language: 'cs',
|
|
7709
|
+
label: 'Czech',
|
|
7710
|
+
wordLists: LINGUISTIC_HASH_WORD_LISTS_CS,
|
|
7711
|
+
},
|
|
7712
|
+
};
|
|
7713
|
+
/**
|
|
7714
|
+
* Normalizes a requested language to a supported linguistic hash language.
|
|
7715
|
+
*
|
|
7716
|
+
* @private utility of `linguisticHash`
|
|
7717
|
+
*/
|
|
7718
|
+
function normalizeLinguisticHashLanguage(language) {
|
|
7719
|
+
if (typeof language !== 'string') {
|
|
7720
|
+
return DEFAULT_LINGUISTIC_HASH_LANGUAGE;
|
|
7721
|
+
}
|
|
7722
|
+
const normalized = language.trim().toLowerCase();
|
|
7723
|
+
if (normalized === 'cs') {
|
|
7724
|
+
return 'cs';
|
|
7725
|
+
}
|
|
7726
|
+
if (normalized === 'en') {
|
|
7727
|
+
return 'en';
|
|
7728
|
+
}
|
|
7729
|
+
return DEFAULT_LINGUISTIC_HASH_LANGUAGE;
|
|
7730
|
+
}
|
|
7731
|
+
/**
|
|
7732
|
+
* Returns the language configuration for linguistic hash generation.
|
|
7733
|
+
*
|
|
7734
|
+
* @private utility of `linguisticHash`
|
|
7735
|
+
*/
|
|
7736
|
+
function getLinguisticHashLanguageConfig(language) {
|
|
7737
|
+
const normalized = normalizeLinguisticHashLanguage(language);
|
|
7738
|
+
return LANGUAGE_CONFIGS[normalized];
|
|
7739
|
+
}
|
|
7740
|
+
|
|
7741
|
+
// <- TODO: !!!! Remove re-exports
|
|
7742
|
+
/**
|
|
7743
|
+
* Creates a human-readable hash as a short, story-like phrase.
|
|
7744
|
+
*
|
|
7745
|
+
* @param wordCount how many words to include (defaults to {@link DEFAULT_LINGUISTIC_HASH_WORD_COUNT}, clamped to
|
|
7746
|
+
* {@link MIN_LINGUISTIC_HASH_WORD_COUNT}..{@link MAX_LINGUISTIC_HASH_WORD_COUNT})
|
|
7747
|
+
* @param language optional language code (defaults to {@link DEFAULT_LINGUISTIC_HASH_LANGUAGE})
|
|
7748
|
+
*
|
|
7749
|
+
* @public exported from `@promptbook/utils`
|
|
7750
|
+
*/
|
|
7751
|
+
async function linguisticHash(input, wordCount, language) {
|
|
7752
|
+
const hash = computeHash(input);
|
|
7753
|
+
const normalizedWordCount = normalizeLinguisticHashWordCount(wordCount);
|
|
7754
|
+
const languageConfig = getLinguisticHashLanguageConfig(language);
|
|
7755
|
+
const words = createLinguisticHashWords(hash, normalizedWordCount, languageConfig.wordLists);
|
|
7756
|
+
return capitalize(words.join(' '));
|
|
7757
|
+
}
|
|
7758
|
+
/**
|
|
7759
|
+
* @@@
|
|
7760
|
+
*
|
|
7761
|
+
* @private utility of `linguisticHash`
|
|
7762
|
+
*/
|
|
7763
|
+
const HASH_SEGMENT_LENGTH = 8;
|
|
7764
|
+
/**
|
|
7765
|
+
* The minimum number of words for a linguistic hash.
|
|
7766
|
+
*
|
|
7767
|
+
* @private utility of `linguisticHash`
|
|
7768
|
+
*/
|
|
7769
|
+
const MIN_LINGUISTIC_HASH_WORD_COUNT = 1;
|
|
7770
|
+
/**
|
|
7771
|
+
* The default number of words for a linguistic hash.
|
|
7772
|
+
*
|
|
7773
|
+
* @private utility of `linguisticHash`
|
|
7774
|
+
*/
|
|
7775
|
+
const DEFAULT_LINGUISTIC_HASH_WORD_COUNT = 7;
|
|
7776
|
+
/**
|
|
7777
|
+
* Extracts a deterministic numeric seed from a SHA-256 hash.
|
|
7778
|
+
*
|
|
7779
|
+
* @private utility of `linguisticHash`
|
|
7780
|
+
*/
|
|
7781
|
+
function getHashSeed(hash, segmentIndex) {
|
|
7782
|
+
const expandedHash = `${hash}${hash}`;
|
|
7783
|
+
const start = (segmentIndex * HASH_SEGMENT_LENGTH + segmentIndex) % hash.length;
|
|
7784
|
+
return parseInt(expandedHash.substring(start, start + HASH_SEGMENT_LENGTH), 16);
|
|
7785
|
+
}
|
|
7786
|
+
/**
|
|
7787
|
+
* Picks a deterministic item from a list based on the hash seed.
|
|
7788
|
+
*
|
|
7789
|
+
* @private utility of `linguisticHash`
|
|
7790
|
+
*/
|
|
7791
|
+
function pickFromHash(hash, segmentIndex, list) {
|
|
7792
|
+
const seed = getHashSeed(hash, segmentIndex);
|
|
7793
|
+
return list[seed % list.length];
|
|
7794
|
+
}
|
|
7795
|
+
/**
|
|
7796
|
+
* Ordered word kinds used to build the linguistic hash output.
|
|
7797
|
+
*
|
|
7798
|
+
* @private utility of `linguisticHash`
|
|
7799
|
+
*/
|
|
7800
|
+
const WORD_SEQUENCE = [
|
|
7801
|
+
'adjective',
|
|
7802
|
+
'noun',
|
|
7803
|
+
'verb',
|
|
7804
|
+
'adjective',
|
|
7805
|
+
'noun',
|
|
7806
|
+
'verb',
|
|
7807
|
+
'adjective',
|
|
7808
|
+
'noun',
|
|
7809
|
+
'verb',
|
|
7810
|
+
'adjective',
|
|
7811
|
+
'noun',
|
|
7812
|
+
'verb',
|
|
7813
|
+
'adjective',
|
|
7814
|
+
'noun',
|
|
7815
|
+
'verb',
|
|
7816
|
+
'adjective',
|
|
7817
|
+
'noun',
|
|
7818
|
+
'verb',
|
|
7819
|
+
'adjective',
|
|
7820
|
+
'noun',
|
|
7821
|
+
];
|
|
7822
|
+
/**
|
|
7823
|
+
* The maximum number of words for a linguistic hash.
|
|
7824
|
+
*
|
|
7825
|
+
* @private utility of `linguisticHash`
|
|
7826
|
+
*/
|
|
7827
|
+
const MAX_LINGUISTIC_HASH_WORD_COUNT = WORD_SEQUENCE.length;
|
|
7828
|
+
/**
|
|
7829
|
+
* Index of the noun used for single-word hashes.
|
|
7830
|
+
*
|
|
7831
|
+
* @private utility of `linguisticHash`
|
|
7832
|
+
*/
|
|
7833
|
+
const SINGLE_WORD_INDEX = 1;
|
|
7834
|
+
/**
|
|
7835
|
+
* Normalizes the word count to a supported integer range.
|
|
7836
|
+
*
|
|
7837
|
+
* @private utility of `linguisticHash`
|
|
7838
|
+
*/
|
|
7839
|
+
function normalizeLinguisticHashWordCount(wordCount) {
|
|
7840
|
+
if (typeof wordCount !== 'number' || !Number.isFinite(wordCount)) {
|
|
7841
|
+
return DEFAULT_LINGUISTIC_HASH_WORD_COUNT;
|
|
7842
|
+
}
|
|
7843
|
+
const rounded = Math.round(wordCount);
|
|
7844
|
+
return Math.min(MAX_LINGUISTIC_HASH_WORD_COUNT, Math.max(MIN_LINGUISTIC_HASH_WORD_COUNT, rounded));
|
|
7845
|
+
}
|
|
7846
|
+
/**
|
|
7847
|
+
* Picks a deterministic word from the hash by kind.
|
|
7848
|
+
*
|
|
7849
|
+
* @private utility of `linguisticHash`
|
|
7850
|
+
*/
|
|
7851
|
+
function pickWordFromHash(hash, segmentIndex, wordKind, wordLists) {
|
|
7852
|
+
return pickFromHash(hash, segmentIndex, wordLists[wordKind]);
|
|
7853
|
+
}
|
|
7854
|
+
/**
|
|
7855
|
+
* Creates the deterministic word sequence used for the linguistic hash output.
|
|
7856
|
+
*
|
|
7857
|
+
* @private utility of `linguisticHash`
|
|
7858
|
+
*/
|
|
7859
|
+
function createLinguisticHashWordSequence(hash, wordLists) {
|
|
7860
|
+
return WORD_SEQUENCE.map((wordKind, index) => pickWordFromHash(hash, index, wordKind, wordLists));
|
|
7861
|
+
}
|
|
7862
|
+
/**
|
|
7863
|
+
* Selects the requested number of words from the hash output.
|
|
7864
|
+
*
|
|
7865
|
+
* @private utility of `linguisticHash`
|
|
7217
7866
|
*/
|
|
7867
|
+
function createLinguisticHashWords(hash, wordCount, wordLists) {
|
|
7868
|
+
const words = createLinguisticHashWordSequence(hash, wordLists);
|
|
7869
|
+
if (wordCount === 1) {
|
|
7870
|
+
return [words[SINGLE_WORD_INDEX]];
|
|
7871
|
+
}
|
|
7872
|
+
return words.slice(0, wordCount);
|
|
7873
|
+
}
|
|
7218
7874
|
|
|
7219
7875
|
/**
|
|
7220
7876
|
* Function parseNumber will parse number from string
|
|
@@ -27818,6 +28474,21 @@ function book(strings, ...values) {
|
|
|
27818
28474
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
27819
28475
|
*/
|
|
27820
28476
|
|
|
28477
|
+
/**
|
|
28478
|
+
* Tool call name emitted while preparing a GPT assistant for an agent.
|
|
28479
|
+
*
|
|
28480
|
+
* @public exported from `@promptbook/types`
|
|
28481
|
+
*/
|
|
28482
|
+
const ASSISTANT_PREPARATION_TOOL_CALL_NAME = 'assistant_preparation';
|
|
28483
|
+
/**
|
|
28484
|
+
* Checks whether a tool call is the assistant preparation marker.
|
|
28485
|
+
*
|
|
28486
|
+
* @public exported from `@promptbook/types`
|
|
28487
|
+
*/
|
|
28488
|
+
function isAssistantPreparationToolCall(toolCall) {
|
|
28489
|
+
return toolCall.name === ASSISTANT_PREPARATION_TOOL_CALL_NAME;
|
|
28490
|
+
}
|
|
28491
|
+
|
|
27821
28492
|
/*! *****************************************************************************
|
|
27822
28493
|
Copyright (c) Microsoft Corporation.
|
|
27823
28494
|
|
|
@@ -28228,6 +28899,33 @@ class OpenAiAgentExecutionTools extends OpenAiExecutionTools {
|
|
|
28228
28899
|
}
|
|
28229
28900
|
}
|
|
28230
28901
|
|
|
28902
|
+
/**
|
|
28903
|
+
* Emits a progress update to signal assistant preparation before long setup work.
|
|
28904
|
+
*/
|
|
28905
|
+
function emitAssistantPreparationProgress(options) {
|
|
28906
|
+
const startedAt = $getCurrentDate();
|
|
28907
|
+
options.onProgress({
|
|
28908
|
+
content: '',
|
|
28909
|
+
modelName: options.modelName,
|
|
28910
|
+
timing: {
|
|
28911
|
+
start: startedAt,
|
|
28912
|
+
complete: startedAt,
|
|
28913
|
+
},
|
|
28914
|
+
usage: UNCERTAIN_USAGE,
|
|
28915
|
+
rawPromptContent: options.prompt.content,
|
|
28916
|
+
rawRequest: null,
|
|
28917
|
+
rawResponse: {
|
|
28918
|
+
status: 'assistant_preparation',
|
|
28919
|
+
},
|
|
28920
|
+
toolCalls: [
|
|
28921
|
+
{
|
|
28922
|
+
name: ASSISTANT_PREPARATION_TOOL_CALL_NAME,
|
|
28923
|
+
arguments: {},
|
|
28924
|
+
createdAt: startedAt,
|
|
28925
|
+
},
|
|
28926
|
+
],
|
|
28927
|
+
});
|
|
28928
|
+
}
|
|
28231
28929
|
/**
|
|
28232
28930
|
* Execution Tools for calling LLM models with a predefined agent "soul"
|
|
28233
28931
|
* This wraps underlying LLM execution tools and applies agent-specific system prompts and requirements
|
|
@@ -28451,6 +29149,11 @@ class AgentLlmExecutionTools {
|
|
|
28451
29149
|
if (this.options.isVerbose) {
|
|
28452
29150
|
console.log(`1️⃣ Updating OpenAI Assistant for agent ${this.title}...`);
|
|
28453
29151
|
}
|
|
29152
|
+
emitAssistantPreparationProgress({
|
|
29153
|
+
onProgress,
|
|
29154
|
+
prompt,
|
|
29155
|
+
modelName: this.modelName,
|
|
29156
|
+
});
|
|
28454
29157
|
assistant = await this.options.llmTools.updateAssistant({
|
|
28455
29158
|
assistantId: cached.assistantId,
|
|
28456
29159
|
name: this.title,
|
|
@@ -28469,6 +29172,11 @@ class AgentLlmExecutionTools {
|
|
|
28469
29172
|
console.log(`1️⃣ Creating new OpenAI Assistant for agent ${this.title}...`);
|
|
28470
29173
|
}
|
|
28471
29174
|
// <- TODO: [🐱🚀] Check also `isCreatingNewAssistantsAllowed` and warn about it
|
|
29175
|
+
emitAssistantPreparationProgress({
|
|
29176
|
+
onProgress,
|
|
29177
|
+
prompt,
|
|
29178
|
+
modelName: this.modelName,
|
|
29179
|
+
});
|
|
28472
29180
|
assistant = await this.options.llmTools.createNewAssistant({
|
|
28473
29181
|
name: this.title,
|
|
28474
29182
|
instructions: modelRequirements.systemMessage,
|
|
@@ -28999,6 +29707,8 @@ class RemoteAgent extends Agent {
|
|
|
28999
29707
|
// <- TODO: [🐱🚀] Maybe use promptbookFetch
|
|
29000
29708
|
let content = '';
|
|
29001
29709
|
const toolCalls = [];
|
|
29710
|
+
const preparationToolCalls = [];
|
|
29711
|
+
let hasReceivedModelOutput = false;
|
|
29002
29712
|
const normalizeToolCall = (toolCall) => {
|
|
29003
29713
|
if (toolCall.createdAt) {
|
|
29004
29714
|
return toolCall;
|
|
@@ -29045,6 +29755,17 @@ class RemoteAgent extends Agent {
|
|
|
29045
29755
|
const upsertToolCalls = (incomingToolCalls) => {
|
|
29046
29756
|
for (const toolCall of incomingToolCalls) {
|
|
29047
29757
|
const normalized = normalizeToolCall(toolCall);
|
|
29758
|
+
if (isAssistantPreparationToolCall(normalized)) {
|
|
29759
|
+
if (hasReceivedModelOutput) {
|
|
29760
|
+
continue;
|
|
29761
|
+
}
|
|
29762
|
+
preparationToolCalls.length = 0;
|
|
29763
|
+
preparationToolCalls.push(normalized);
|
|
29764
|
+
continue;
|
|
29765
|
+
}
|
|
29766
|
+
if (preparationToolCalls.length > 0) {
|
|
29767
|
+
preparationToolCalls.length = 0;
|
|
29768
|
+
}
|
|
29048
29769
|
const key = getToolCallKey(normalized);
|
|
29049
29770
|
const existingIndex = toolCalls.findIndex((existing) => getToolCallKey(existing) === key);
|
|
29050
29771
|
if (existingIndex === -1) {
|
|
@@ -29055,6 +29776,10 @@ class RemoteAgent extends Agent {
|
|
|
29055
29776
|
}
|
|
29056
29777
|
}
|
|
29057
29778
|
};
|
|
29779
|
+
/**
|
|
29780
|
+
* Builds the tool call list including any preparation marker still active.
|
|
29781
|
+
*/
|
|
29782
|
+
const getActiveToolCalls = () => preparationToolCalls.length > 0 ? [...preparationToolCalls, ...toolCalls] : toolCalls;
|
|
29058
29783
|
if (!bookResponse.body) {
|
|
29059
29784
|
content = await bookResponse.text();
|
|
29060
29785
|
}
|
|
@@ -29091,7 +29816,7 @@ class RemoteAgent extends Agent {
|
|
|
29091
29816
|
rawPromptContent: {},
|
|
29092
29817
|
rawRequest: {},
|
|
29093
29818
|
rawResponse: {},
|
|
29094
|
-
toolCalls:
|
|
29819
|
+
toolCalls: getActiveToolCalls(),
|
|
29095
29820
|
});
|
|
29096
29821
|
sawToolCalls = true;
|
|
29097
29822
|
isToolCallLine = true;
|
|
@@ -29119,6 +29844,10 @@ class RemoteAgent extends Agent {
|
|
|
29119
29844
|
// console.debug('RemoteAgent chunk:', textChunk);
|
|
29120
29845
|
content += textChunk;
|
|
29121
29846
|
}
|
|
29847
|
+
if (!hasReceivedModelOutput && content.trim().length > 0) {
|
|
29848
|
+
hasReceivedModelOutput = true;
|
|
29849
|
+
preparationToolCalls.length = 0;
|
|
29850
|
+
}
|
|
29122
29851
|
onProgress({
|
|
29123
29852
|
content,
|
|
29124
29853
|
modelName: this.modelName,
|
|
@@ -29127,7 +29856,7 @@ class RemoteAgent extends Agent {
|
|
|
29127
29856
|
rawPromptContent: {},
|
|
29128
29857
|
rawRequest: {},
|
|
29129
29858
|
rawResponse: {},
|
|
29130
|
-
toolCalls,
|
|
29859
|
+
toolCalls: getActiveToolCalls(),
|
|
29131
29860
|
});
|
|
29132
29861
|
}
|
|
29133
29862
|
}
|
|
@@ -29135,6 +29864,10 @@ class RemoteAgent extends Agent {
|
|
|
29135
29864
|
const lastChunk = decoder.decode();
|
|
29136
29865
|
if (lastChunk) {
|
|
29137
29866
|
content += lastChunk;
|
|
29867
|
+
if (!hasReceivedModelOutput && content.trim().length > 0) {
|
|
29868
|
+
hasReceivedModelOutput = true;
|
|
29869
|
+
preparationToolCalls.length = 0;
|
|
29870
|
+
}
|
|
29138
29871
|
onProgress({
|
|
29139
29872
|
content: lastChunk,
|
|
29140
29873
|
modelName: this.modelName,
|
|
@@ -29143,7 +29876,7 @@ class RemoteAgent extends Agent {
|
|
|
29143
29876
|
rawPromptContent: {},
|
|
29144
29877
|
rawRequest: {},
|
|
29145
29878
|
rawResponse: {},
|
|
29146
|
-
toolCalls,
|
|
29879
|
+
toolCalls: getActiveToolCalls(),
|
|
29147
29880
|
});
|
|
29148
29881
|
}
|
|
29149
29882
|
}
|