diff --git a/packages/kbot/.frontmatter/database/taxonomyDb.json b/packages/kbot/.frontmatter/database/taxonomyDb.json
deleted file mode 100644
index 9e26dfee..00000000
--- a/packages/kbot/.frontmatter/database/taxonomyDb.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
\ No newline at end of file
diff --git a/packages/kbot/coverage/base.css b/packages/kbot/coverage/base.css
deleted file mode 100644
index f418035b..00000000
--- a/packages/kbot/coverage/base.css
+++ /dev/null
@@ -1,224 +0,0 @@
-body, html {
- margin:0; padding: 0;
- height: 100%;
-}
-body {
- font-family: Helvetica Neue, Helvetica, Arial;
- font-size: 14px;
- color:#333;
-}
-.small { font-size: 12px; }
-*, *:after, *:before {
- -webkit-box-sizing:border-box;
- -moz-box-sizing:border-box;
- box-sizing:border-box;
- }
-h1 { font-size: 20px; margin: 0;}
-h2 { font-size: 14px; }
-pre {
- font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
- margin: 0;
- padding: 0;
- -moz-tab-size: 2;
- -o-tab-size: 2;
- tab-size: 2;
-}
-a { color:#0074D9; text-decoration:none; }
-a:hover { text-decoration:underline; }
-.strong { font-weight: bold; }
-.space-top1 { padding: 10px 0 0 0; }
-.pad2y { padding: 20px 0; }
-.pad1y { padding: 10px 0; }
-.pad2x { padding: 0 20px; }
-.pad2 { padding: 20px; }
-.pad1 { padding: 10px; }
-.space-left2 { padding-left:55px; }
-.space-right2 { padding-right:20px; }
-.center { text-align:center; }
-.clearfix { display:block; }
-.clearfix:after {
- content:'';
- display:block;
- height:0;
- clear:both;
- visibility:hidden;
- }
-.fl { float: left; }
-@media only screen and (max-width:640px) {
- .col3 { width:100%; max-width:100%; }
- .hide-mobile { display:none!important; }
-}
-
-.quiet {
- color: #7f7f7f;
- color: rgba(0,0,0,0.5);
-}
-.quiet a { opacity: 0.7; }
-
-.fraction {
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
- font-size: 10px;
- color: #555;
- background: #E8E8E8;
- padding: 4px 5px;
- border-radius: 3px;
- vertical-align: middle;
-}
-
-div.path a:link, div.path a:visited { color: #333; }
-table.coverage {
- border-collapse: collapse;
- margin: 10px 0 0 0;
- padding: 0;
-}
-
-table.coverage td {
- margin: 0;
- padding: 0;
- vertical-align: top;
-}
-table.coverage td.line-count {
- text-align: right;
- padding: 0 5px 0 20px;
-}
-table.coverage td.line-coverage {
- text-align: right;
- padding-right: 10px;
- min-width:20px;
-}
-
-table.coverage td span.cline-any {
- display: inline-block;
- padding: 0 5px;
- width: 100%;
-}
-.missing-if-branch {
- display: inline-block;
- margin-right: 5px;
- border-radius: 3px;
- position: relative;
- padding: 0 4px;
- background: #333;
- color: yellow;
-}
-
-.skip-if-branch {
- display: none;
- margin-right: 10px;
- position: relative;
- padding: 0 4px;
- background: #ccc;
- color: white;
-}
-.missing-if-branch .typ, .skip-if-branch .typ {
- color: inherit !important;
-}
-.coverage-summary {
- border-collapse: collapse;
- width: 100%;
-}
-.coverage-summary tr { border-bottom: 1px solid #bbb; }
-.keyline-all { border: 1px solid #ddd; }
-.coverage-summary td, .coverage-summary th { padding: 10px; }
-.coverage-summary tbody { border: 1px solid #bbb; }
-.coverage-summary td { border-right: 1px solid #bbb; }
-.coverage-summary td:last-child { border-right: none; }
-.coverage-summary th {
- text-align: left;
- font-weight: normal;
- white-space: nowrap;
-}
-.coverage-summary th.file { border-right: none !important; }
-.coverage-summary th.pct { }
-.coverage-summary th.pic,
-.coverage-summary th.abs,
-.coverage-summary td.pct,
-.coverage-summary td.abs { text-align: right; }
-.coverage-summary td.file { white-space: nowrap; }
-.coverage-summary td.pic { min-width: 120px !important; }
-.coverage-summary tfoot td { }
-
-.coverage-summary .sorter {
- height: 10px;
- width: 7px;
- display: inline-block;
- margin-left: 0.5em;
- background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
-}
-.coverage-summary .sorted .sorter {
- background-position: 0 -20px;
-}
-.coverage-summary .sorted-desc .sorter {
- background-position: 0 -10px;
-}
-.status-line { height: 10px; }
-/* yellow */
-.cbranch-no { background: yellow !important; color: #111; }
-/* dark red */
-.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
-.low .chart { border:1px solid #C21F39 }
-.highlighted,
-.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
- background: #C21F39 !important;
-}
-/* medium red */
-.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
-/* light red */
-.low, .cline-no { background:#FCE1E5 }
-/* light green */
-.high, .cline-yes { background:rgb(230,245,208) }
-/* medium green */
-.cstat-yes { background:rgb(161,215,106) }
-/* dark green */
-.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
-.high .chart { border:1px solid rgb(77,146,33) }
-/* dark yellow (gold) */
-.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
-.medium .chart { border:1px solid #f9cd0b; }
-/* light yellow */
-.medium { background: #fff4c2; }
-
-.cstat-skip { background: #ddd; color: #111; }
-.fstat-skip { background: #ddd; color: #111 !important; }
-.cbranch-skip { background: #ddd !important; color: #111; }
-
-span.cline-neutral { background: #eaeaea; }
-
-.coverage-summary td.empty {
- opacity: .5;
- padding-top: 4px;
- padding-bottom: 4px;
- line-height: 1;
- color: #888;
-}
-
-.cover-fill, .cover-empty {
- display:inline-block;
- height: 12px;
-}
-.chart {
- line-height: 0;
-}
-.cover-empty {
- background: white;
-}
-.cover-full {
- border-right: none !important;
-}
-pre.prettyprint {
- border: none !important;
- padding: 0 !important;
- margin: 0 !important;
-}
-.com { color: #999 !important; }
-.ignore-none { color: #999; font-weight: normal; }
-
-.wrapper {
- min-height: 100%;
- height: auto !important;
- height: 100%;
- margin: 0 auto -48px;
-}
-.footer, .push {
- height: 48px;
-}
diff --git a/packages/kbot/coverage/block-navigation.js b/packages/kbot/coverage/block-navigation.js
deleted file mode 100644
index cc121302..00000000
--- a/packages/kbot/coverage/block-navigation.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/* eslint-disable */
-var jumpToCode = (function init() {
- // Classes of code we would like to highlight in the file view
- var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
-
- // Elements to highlight in the file listing view
- var fileListingElements = ['td.pct.low'];
-
- // We don't want to select elements that are direct descendants of another match
- var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
-
- // Selecter that finds elements on the page to which we can jump
- var selector =
- fileListingElements.join(', ') +
- ', ' +
- notSelector +
- missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
-
- // The NodeList of matching elements
- var missingCoverageElements = document.querySelectorAll(selector);
-
- var currentIndex;
-
- function toggleClass(index) {
- missingCoverageElements
- .item(currentIndex)
- .classList.remove('highlighted');
- missingCoverageElements.item(index).classList.add('highlighted');
- }
-
- function makeCurrent(index) {
- toggleClass(index);
- currentIndex = index;
- missingCoverageElements.item(index).scrollIntoView({
- behavior: 'smooth',
- block: 'center',
- inline: 'center'
- });
- }
-
- function goToPrevious() {
- var nextIndex = 0;
- if (typeof currentIndex !== 'number' || currentIndex === 0) {
- nextIndex = missingCoverageElements.length - 1;
- } else if (missingCoverageElements.length > 1) {
- nextIndex = currentIndex - 1;
- }
-
- makeCurrent(nextIndex);
- }
-
- function goToNext() {
- var nextIndex = 0;
-
- if (
- typeof currentIndex === 'number' &&
- currentIndex < missingCoverageElements.length - 1
- ) {
- nextIndex = currentIndex + 1;
- }
-
- makeCurrent(nextIndex);
- }
-
- return function jump(event) {
- if (
- document.getElementById('fileSearch') === document.activeElement &&
- document.activeElement != null
- ) {
- // if we're currently focused on the search input, we don't want to navigate
- return;
- }
-
- switch (event.which) {
- case 78: // n
- case 74: // j
- goToNext();
- break;
- case 66: // b
- case 75: // k
- case 80: // p
- goToPrevious();
- break;
- }
- };
-})();
-window.addEventListener('keydown', jumpToCode);
diff --git a/packages/kbot/coverage/clover.xml b/packages/kbot/coverage/clover.xml
deleted file mode 100644
index 0c1af704..00000000
--- a/packages/kbot/coverage/clover.xml
+++ /dev/null
@@ -1,4472 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/kbot/coverage/coverage-final.json b/packages/kbot/coverage/coverage-final.json
deleted file mode 100644
index 608024bd..00000000
--- a/packages/kbot/coverage/coverage-final.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\test_web_urls.js": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\test_web_urls.js","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":19}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":38}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":0}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":20}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":4}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":27}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":135}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":4}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":4}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":22}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":97}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":4}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":3}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":26}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":138}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":2}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":30}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":56}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":52}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":2}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":35}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":65}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":25}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":22}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":7}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":4}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":33}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":74}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":26}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":7}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":27}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":48}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":2}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":34}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":40}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":73}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":3}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":2}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":39}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":1}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":25}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":47}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":18}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":3}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":50,"column":-80}},"locations":[{"start":{"line":1,"column":0},"end":{"line":50,"column":-80}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":50,"column":-80}},"loc":{"start":{"line":1,"column":0},"end":{"line":50,"column":-80}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\debug\\fix-tests.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\debug\\fix-tests.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":32}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":56}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":101}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":51}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":37}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":22}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":9}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":7}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":19}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":6}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":64}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":11}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":31}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":48}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":19}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":28}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":30}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":49}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":48}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":25}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":105}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":63}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":31}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":8}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":73}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":17}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":14}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":40}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":55}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":44}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":17}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":18}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":23}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":27}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":29}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":25}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":27}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":32}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":12}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":10}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":40}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":8}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":5}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":4}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":78}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":1}}},"s":{"0":0,"11":0,"13":0,"16":0,"17":0,"18":0,"19":0,"22":0,"23":0,"24":0,"27":0,"28":0,"29":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"43":0,"45":0,"46":0,"47":0,"50":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"73":0,"74":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":2907},"end":{"line":75,"column":1}},"locations":[{"start":{"line":1,"column":2907},"end":{"line":75,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":2907},"end":{"line":75,"column":1}},"loc":{"start":{"line":1,"column":2907},"end":{"line":75,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\zod_types.js": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\zod_types.js","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":10}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":10}},"locations":[{"start":{"line":1,"column":10},"end":{"line":1,"column":10}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":10},"end":{"line":1,"column":10}},"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":10}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\docs-internal\\examples.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\docs-internal\\examples.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":3022}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3022},"end":{"line":1,"column":3022}},"locations":[{"start":{"line":1,"column":3022},"end":{"line":1,"column":3022}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3022},"end":{"line":1,"column":3022}},"loc":{"start":{"line":1,"column":3022},"end":{"line":1,"column":3022}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\models\\cache\\openai-models.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\models\\cache\\openai-models.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":29}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":76}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":70}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":24}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":70}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":86}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":64}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":76}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":42}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":52}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":54}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":38}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":34}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":52}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":18}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":24}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":58}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":48}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":50}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":62}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":60}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":28}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":30}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":44}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":30}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":52}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":34}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":42}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":82}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":42}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":26}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":44}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":42}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":42}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":52}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":44}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":28}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":28}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":50}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":38}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":60}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":72}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":52}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":18}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":60}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":52}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":20}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":30}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":42}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":22}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":52}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":46}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":44}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":22}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":80}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":44}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":44}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":12}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":34}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":20}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":41}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":7},"end":{"line":65,"column":-857}},"locations":[{"start":{"line":1,"column":7},"end":{"line":65,"column":-857}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":7},"end":{"line":65,"column":-857}},"loc":{"start":{"line":1,"column":7},"end":{"line":65,"column":-857}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\models\\cache\\openai.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\models\\cache\\openai.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":5496}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":7},"end":{"line":1,"column":4945}},"locations":[{"start":{"line":1,"column":7},"end":{"line":1,"column":4945}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":7},"end":{"line":1,"column":4945}},"loc":{"start":{"line":1,"column":7},"end":{"line":1,"column":4945}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\models\\cache\\openrouter-models.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\models\\cache\\openrouter-models.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":48}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":68}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":80}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":82}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":54}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":78}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":72}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":80}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":74}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":78}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":68}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":62}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":34}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":98}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":88}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":64}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":66}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":68}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":72}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":58}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":58}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":48}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":48}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":46}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":60}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":50}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":40}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":74}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":64}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":106}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":56}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":60}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":50}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":66}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":92}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":58}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":78}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":68}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":48}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":68}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":68}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":42}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":32}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":58}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":92}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":106}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":52}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":72}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":72}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":62}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":80}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":44}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":52}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":112}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":106}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":62}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":46}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":82}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":62}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":80}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":42}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":44}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":54}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":68}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":40}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":38}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":74}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":64}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":36}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":34}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":36}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":84}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":100}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":90}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":92}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":82}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":92}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":82}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":60}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":40}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":34}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":34}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":94}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":84}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":90}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":58}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":48}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":90}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":44}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":56}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":38}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":58}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":62}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":52}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":100}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":54}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":26}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":68}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":54}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":40}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":60}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":72}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":84}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":74}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":46}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":48}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":44}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":58}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":48}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":88}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":64}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":56}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":64}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":64}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":64}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":50}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":58}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":82}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":72}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":54}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":64}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":58}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":70}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":60}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":88}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":78}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":74}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":64}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":72}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":62}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":36}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":52}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":52}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":58}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":94}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":84}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":80}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":60}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":60}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":56}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":64}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":36}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":82}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":72}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":82}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":72}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":88}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":98}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":88}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":70}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":60}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":66}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":72}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":42}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":64}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":36}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":58}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":50}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":66}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":56}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":74}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":64}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":54}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":68}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":46}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":48}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":80}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":78}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":80}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":56}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":48}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":66}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":56}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":58}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":66}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":96}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":96}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":82}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":72}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":76}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":74}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":58}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":62}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":52}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":44}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":66}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":64}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":54}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":50}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":48}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":58}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":48}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":36}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":46}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":90}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":80}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":50}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":94}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":56}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":76}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":66}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":76}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":80}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":86}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":76}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":90}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":80}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":70}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":54}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":34}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":52}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":56}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":62}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":86}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":68}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":56}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":78}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":68}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":70}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":72}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":60}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":54}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":50}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":44}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":50}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":66}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":74}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":36}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":40}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":66}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":56}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":64}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":54}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":68}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":58}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":56}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":54}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":44}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":58}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":60}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":94}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":56}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":54}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":52}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":76}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":92}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":56}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":42}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":52}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":70}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":58}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":48}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":54}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":58}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":48}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":54}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":44}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":74}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":52}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":42}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":52}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":38}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":58}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":58}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":64}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":72}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":60}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":46}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":66}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":76}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":58}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":56}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":40}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":50}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":78}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":34}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":74}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":58}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":48}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":56}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":56}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":64}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":62}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":52}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":62}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":62}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":48}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":58}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":32}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":41}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":1}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":292,"column":1}},"locations":[{"start":{"line":1,"column":0},"end":{"line":292,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":292,"column":1}},"loc":{"start":{"line":1,"column":0},"end":{"line":292,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\models\\cache\\openrouter.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\dist-in\\src\\models\\cache\\openrouter.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":92222}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":7},"end":{"line":1,"column":83907}},"locations":[{"start":{"line":1,"column":7},"end":{"line":1,"column":83907}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":7},"end":{"line":1,"column":83907}},"loc":{"start":{"line":1,"column":7},"end":{"line":1,"column":83907}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\docs\\astro.config.mjs": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\docs\\astro.config.mjs","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":12}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":44}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":29}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":16}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":13}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":20}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":12}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":53}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":5}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":13}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":5}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":21}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":13}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":57}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":7}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":6}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":24}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":46}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":6}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":19}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":41}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":6}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":2}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":30,"column":-187}},"locations":[{"start":{"line":1,"column":0},"end":{"line":30,"column":-187}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":30,"column":-187}},"loc":{"start":{"line":1,"column":0},"end":{"line":30,"column":-187}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\docs\\src\\content.config.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\docs\\src\\content.config.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":49}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":56}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":55}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":28}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":72}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":2}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":7,"column":2}},"locations":[{"start":{"line":1,"column":0},"end":{"line":7,"column":2}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":7,"column":2}},"loc":{"start":{"line":1,"column":0},"end":{"line":7,"column":2}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\kbot-tests\\src\\index.js": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\kbot-tests\\src\\index.js","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":19}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":13}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":62}}},"s":{"0":0,"1":0,"2":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":96},"end":{"line":3,"column":62}},"locations":[{"start":{"line":1,"column":96},"end":{"line":3,"column":62}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":96},"end":{"line":3,"column":62}},"loc":{"start":{"line":1,"column":96},"end":{"line":3,"column":62}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\kbot-tests\\src\\index.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\kbot-tests\\src\\index.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":19}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":42}}},"s":{"0":0,"2":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":63},"end":{"line":3,"column":42}},"locations":[{"start":{"line":1,"column":63},"end":{"line":3,"column":42}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":63},"end":{"line":3,"column":42}},"loc":{"start":{"line":1,"column":63},"end":{"line":3,"column":42}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\async-iterator.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\async-iterator.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":40}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":88}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":87}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":81}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":67}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":51}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":39}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":38}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":29}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":13}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":9}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":20}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":6}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":2}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":67}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":54}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":38}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":29}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":32}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":17}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":26}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":28}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":33}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":32}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":18}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":71}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":15}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":14}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":40}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":56}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":127}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":10}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":40}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":1}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":36}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":29}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":19}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":32}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":26}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":28}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":24}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":33}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":32}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":18}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":42}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":47}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":74}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":19}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":9}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":57}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":5}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":41}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":32}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":17}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":32}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":6}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":56}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":13}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":82}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":88}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":111}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":17}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":91}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":38}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":60}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":30}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":26}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":34}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":36}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":34}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":32}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":17}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":13}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":25}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":54}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":9}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":1}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":99}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":77}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":1}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":49}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":29}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":32}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":38}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":18}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":11}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":17}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":26}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":29}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":28}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":37}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":54}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":16}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":22}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":31}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":16}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":22}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":21}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":26}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":28}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":26}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":26}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":10}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":5}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":53}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":26}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":17}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":18}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":17}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":22}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":24}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":22}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":22}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":6}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":81}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":28}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":43}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":49}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":35}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":39}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":37}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":73}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":43}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":9}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":45}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":25}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":39}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":37}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":63}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":33}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":9}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":50}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":45}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":9}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":5}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":1}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":94}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":12}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":37}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":44}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":51}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":54}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":61}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":79}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":5}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":1}}},"s":{"0":1,"26":1,"27":1,"28":1,"30":1,"31":3,"32":6,"33":18,"34":6,"35":6,"36":18,"37":0,"38":6,"39":3,"41":1,"42":3,"43":3,"44":3,"46":8,"47":8,"48":8,"49":8,"50":8,"51":8,"52":8,"53":8,"54":8,"55":8,"56":8,"57":8,"58":8,"59":16,"60":16,"61":16,"62":8,"63":8,"64":8,"66":16,"67":16,"68":16,"69":16,"70":16,"71":16,"72":16,"73":16,"74":16,"75":16,"77":16,"79":16,"80":34,"81":0,"82":0,"83":34,"84":34,"85":16,"86":16,"87":16,"88":16,"89":16,"90":16,"91":16,"92":16,"93":16,"94":10,"95":10,"96":16,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":16,"108":0,"109":0,"110":16,"111":16,"113":1,"114":0,"115":0,"126":5,"127":5,"128":5,"129":5,"130":5,"131":5,"132":5,"133":5,"134":5,"135":5,"136":5,"137":5,"138":5,"141":5,"142":3,"143":3,"144":3,"145":3,"146":3,"147":3,"148":3,"149":3,"150":3,"151":3,"154":2,"157":2,"158":2,"159":2,"160":2,"161":2,"162":2,"163":2,"164":2,"165":2,"168":2,"171":5,"172":4,"175":4,"178":4,"179":4,"180":14,"181":14,"182":14,"183":14,"186":4,"187":4,"188":4,"189":10,"190":10,"191":10,"192":10,"194":4,"195":4,"196":4,"197":4,"198":2,"200":1,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0},"branchMap":{"0":{"type":"branch","line":27,"loc":{"start":{"line":27,"column":32},"end":{"line":27,"column":88}},"locations":[{"start":{"line":27,"column":32},"end":{"line":27,"column":88}}]},"1":{"type":"branch","line":28,"loc":{"start":{"line":28,"column":33},"end":{"line":28,"column":87}},"locations":[{"start":{"line":28,"column":33},"end":{"line":28,"column":87}}]},"2":{"type":"branch","line":29,"loc":{"start":{"line":29,"column":37},"end":{"line":29,"column":81}},"locations":[{"start":{"line":29,"column":37},"end":{"line":29,"column":81}}]},"3":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":27},"end":{"line":40,"column":2}},"locations":[{"start":{"line":31,"column":27},"end":{"line":40,"column":2}}]},"4":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":11},"end":{"line":39,"column":6}},"locations":[{"start":{"line":32,"column":11},"end":{"line":39,"column":6}}]},"5":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":38},"end":{"line":37,"column":9}},"locations":[{"start":{"line":33,"column":38},"end":{"line":37,"column":9}}]},"6":{"type":"branch","line":34,"loc":{"start":{"line":34,"column":37},"end":{"line":36,"column":13}},"locations":[{"start":{"line":34,"column":37},"end":{"line":36,"column":13}}]},"7":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":8},"end":{"line":38,"column":20}},"locations":[{"start":{"line":37,"column":8},"end":{"line":38,"column":20}}]},"8":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":30},"end":{"line":45,"column":5}},"locations":[{"start":{"line":42,"column":30},"end":{"line":45,"column":5}}]},"9":{"type":"branch","line":47,"loc":{"start":{"line":47,"column":0},"end":{"line":65,"column":1}},"locations":[{"start":{"line":47,"column":0},"end":{"line":65,"column":1}}]},"10":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":8},"end":{"line":62,"column":10}},"locations":[{"start":{"line":59,"column":8},"end":{"line":62,"column":10}}]},"11":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":0},"end":{"line":112,"column":1}},"locations":[{"start":{"line":67,"column":0},"end":{"line":112,"column":1}}]},"12":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":46},"end":{"line":85,"column":5}},"locations":[{"start":{"line":80,"column":46},"end":{"line":85,"column":5}}]},"13":{"type":"branch","line":81,"loc":{"start":{"line":81,"column":73},"end":{"line":83,"column":9}},"locations":[{"start":{"line":81,"column":73},"end":{"line":83,"column":9}}]},"14":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":87},"end":{"line":96,"column":17}},"locations":[{"start":{"line":94,"column":87},"end":{"line":96,"column":17}}]},"15":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":12},"end":{"line":107,"column":13}},"locations":[{"start":{"line":97,"column":12},"end":{"line":107,"column":13}}]},"16":{"type":"branch","line":108,"loc":{"start":{"line":108,"column":8},"end":{"line":110,"column":9}},"locations":[{"start":{"line":108,"column":8},"end":{"line":110,"column":9}}]},"17":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":0},"end":{"line":199,"column":1}},"locations":[{"start":{"line":127,"column":0},"end":{"line":199,"column":1}}]},"18":{"type":"branch","line":142,"loc":{"start":{"line":142,"column":21},"end":{"line":152,"column":5}},"locations":[{"start":{"line":142,"column":21},"end":{"line":152,"column":5}}]},"19":{"type":"branch","line":152,"loc":{"start":{"line":152,"column":4},"end":{"line":172,"column":27}},"locations":[{"start":{"line":152,"column":4},"end":{"line":172,"column":27}}]},"20":{"type":"branch","line":172,"loc":{"start":{"line":172,"column":27},"end":{"line":198,"column":5}},"locations":[{"start":{"line":172,"column":27},"end":{"line":198,"column":5}}]},"21":{"type":"branch","line":180,"loc":{"start":{"line":180,"column":38},"end":{"line":184,"column":9}},"locations":[{"start":{"line":180,"column":38},"end":{"line":184,"column":9}}]},"22":{"type":"branch","line":181,"loc":{"start":{"line":181,"column":28},"end":{"line":181,"column":37}},"locations":[{"start":{"line":181,"column":28},"end":{"line":181,"column":37}}]},"23":{"type":"branch","line":182,"loc":{"start":{"line":182,"column":67},"end":{"line":182,"column":73}},"locations":[{"start":{"line":182,"column":67},"end":{"line":182,"column":73}}]},"24":{"type":"branch","line":189,"loc":{"start":{"line":189,"column":38},"end":{"line":193,"column":9}},"locations":[{"start":{"line":189,"column":38},"end":{"line":193,"column":9}}]},"25":{"type":"branch","line":190,"loc":{"start":{"line":190,"column":28},"end":{"line":190,"column":37}},"locations":[{"start":{"line":190,"column":28},"end":{"line":190,"column":37}}]},"26":{"type":"branch","line":191,"loc":{"start":{"line":191,"column":57},"end":{"line":191,"column":63}},"locations":[{"start":{"line":191,"column":57},"end":{"line":191,"column":63}}]},"27":{"type":"branch","line":198,"loc":{"start":{"line":198,"column":4},"end":{"line":199,"column":1}},"locations":[{"start":{"line":198,"column":4},"end":{"line":199,"column":1}}]}},"b":{"0":[6],"1":[6],"2":[6],"3":[3],"4":[6],"5":[18],"6":[6],"7":[0],"8":[3],"9":[8],"10":[16],"11":[16],"12":[34],"13":[0],"14":[10],"15":[0],"16":[0],"17":[5],"18":[3],"19":[2],"20":[4],"21":[14],"22":[0],"23":[0],"24":[10],"25":[0],"26":[0],"27":[2]},"fnMap":{"0":{"name":"isNumber","decl":{"start":{"line":27,"column":32},"end":{"line":27,"column":88}},"loc":{"start":{"line":27,"column":32},"end":{"line":27,"column":88}},"line":27},"1":{"name":"isBoolean","decl":{"start":{"line":28,"column":33},"end":{"line":28,"column":87}},"loc":{"start":{"line":28,"column":33},"end":{"line":28,"column":87}},"line":28},"2":{"name":"isValidString","decl":{"start":{"line":29,"column":37},"end":{"line":29,"column":81}},"loc":{"start":{"line":29,"column":37},"end":{"line":29,"column":81}},"line":29},"3":{"name":"testFilters","decl":{"start":{"line":31,"column":27},"end":{"line":40,"column":2}},"loc":{"start":{"line":31,"column":27},"end":{"line":40,"column":2}},"line":31},"4":{"name":"defaultFilters","decl":{"start":{"line":42,"column":30},"end":{"line":45,"column":5}},"loc":{"start":{"line":42,"column":30},"end":{"line":45,"column":5}},"line":42},"5":{"name":"transformObject","decl":{"start":{"line":47,"column":0},"end":{"line":65,"column":1}},"loc":{"start":{"line":47,"column":0},"end":{"line":65,"column":1}},"line":47},"6":{"name":"__vite_ssr_import_2__.default.concurrency","decl":{"start":{"line":59,"column":8},"end":{"line":62,"column":10}},"loc":{"start":{"line":59,"column":8},"end":{"line":62,"column":10}},"line":59},"7":{"name":"transformPath","decl":{"start":{"line":67,"column":0},"end":{"line":112,"column":1}},"loc":{"start":{"line":67,"column":0},"end":{"line":112,"column":1}},"line":67},"8":{"name":"defaultError","decl":{"start":{"line":114,"column":43},"end":{"line":116,"column":1}},"loc":{"start":{"line":114,"column":43},"end":{"line":116,"column":1}},"line":114},"9":{"name":"transformObjectWithOptions","decl":{"start":{"line":127,"column":0},"end":{"line":199,"column":1}},"loc":{"start":{"line":127,"column":0},"end":{"line":199,"column":1}},"line":127},"10":{"name":"defaultOptions","decl":{"start":{"line":201,"column":30},"end":{"line":210,"column":1}},"loc":{"start":{"line":201,"column":30},"end":{"line":210,"column":1}},"line":201}},"f":{"0":6,"1":6,"2":6,"3":3,"4":3,"5":8,"6":16,"7":16,"8":0,"9":5,"10":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\client.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\client.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":29}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":54}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":47}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":42}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":41}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":56}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":76}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":71}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":86}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":58}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":1}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":52}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":46}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":24}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":30}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":32}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":46}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":53}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":45}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":1}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":2}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":56}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":39}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":18}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":21}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":60}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":84}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":10}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":25}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":5}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":78}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":33}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":18}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":25}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":30}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":49}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":22}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":26}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":45}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":22}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":28}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":47}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":22}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":31}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":50}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":22}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":26}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":73}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":58}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":22}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":29}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":48}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":22}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":26}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":45}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":22}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":23}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":42}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":22}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":9}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":5}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":19}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":127}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":25}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":63}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":25}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":46}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":9}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":23}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":15}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":16}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":6}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":1}}},"s":{"0":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"44":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"76":0,"77":0,"78":0,"79":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3197},"end":{"line":91,"column":1}},"locations":[{"start":{"line":1,"column":3197},"end":{"line":91,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3197},"end":{"line":91,"column":1}},"loc":{"start":{"line":1,"column":3197},"end":{"line":91,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\collector.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\collector.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":81}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":43}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":12}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":16}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":61}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":97}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":72}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":32}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":10}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":76}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":92}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":73}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":17}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":84}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":33}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":25}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":37}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":13}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":10}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":52}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":99}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":83}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":17}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":60}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":33}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":25}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":37}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":13}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":10}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":56}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":93}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":79}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":33}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":10}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":41}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":90}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":72}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":33}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":10}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":46}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":87}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":69}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":58}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":10}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":93}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":16}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":63}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":22}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":37}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":13}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":10}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":94}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":17}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":63}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":25}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":37}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":13}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":28}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":9}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":5}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":1}}},"s":{"0":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3277},"end":{"line":75,"column":1}},"locations":[{"start":{"line":1,"column":3277},"end":{"line":75,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3277},"end":{"line":75,"column":1}},"loc":{"start":{"line":1,"column":3277},"end":{"line":75,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\config.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\config.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":25}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":13}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":85}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":39}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":60}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":35}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":18}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":68}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":13}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":29}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":73}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":9}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":10}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":46}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":21}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":5}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":1}}},"s":{"0":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":943},"end":{"line":26,"column":1}},"locations":[{"start":{"line":1,"column":943},"end":{"line":26,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":943},"end":{"line":26,"column":1}},"loc":{"start":{"line":1,"column":943},"end":{"line":26,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\constants.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\constants.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":29}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":17}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":18}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":21}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":12}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":22}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":10}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":1}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":44}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":31}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":53}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":50}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":392},"end":{"line":14,"column":50}},"locations":[{"start":{"line":1,"column":392},"end":{"line":14,"column":50}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":392},"end":{"line":14,"column":50}},"loc":{"start":{"line":1,"column":392},"end":{"line":14,"column":50}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\filters.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\filters.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":52}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":75}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":44}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":38}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":28}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":30}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":5}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":19}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":1}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":64}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":35}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":37}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":13}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":53}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":33}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":1}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":54}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":84}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":17}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":7}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":33}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":16}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":19}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":16}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":54}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":34}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":15}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":49}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":30}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":26}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":25}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":27}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":27}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":26}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":26}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":26}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":27}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":45}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":70}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":50}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":1}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":45}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":45}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":44}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":49}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":49}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":70}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":30}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":30}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":69}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":48}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":30}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":40}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":9}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":14}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":44}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":41}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":41}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":28}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":29}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":9}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":7}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":69}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":41}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":14}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":1}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":44}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":9}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":31}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":21}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":19}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":5}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":1}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":60}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":74}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":41}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":38}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":37}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":9}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":55}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":21}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":18}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":5}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":1}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":38}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":50}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":1}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":24}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":29}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":35}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":13}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":30}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":30}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":12}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":6}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":1}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":67}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":15}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":15}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":3}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":40}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":11}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":29}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":21}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":26}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":18}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":88}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":11}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":23}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":65}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":7}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":4}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":14}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":1}}},"s":{"0":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"50":0,"51":0,"52":0,"53":0,"54":0,"56":0,"57":0,"58":0,"59":0,"60":0,"62":0,"63":0,"64":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"81":0,"82":0,"83":0,"84":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3840},"end":{"line":136,"column":1}},"locations":[{"start":{"line":1,"column":3840},"end":{"line":136,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3840},"end":{"line":136,"column":1}},"loc":{"start":{"line":1,"column":3840},"end":{"line":136,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\http.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\http.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":38}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":34}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":70}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":46}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":78}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":66}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":1}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":3}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":51}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":27}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":16}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":7}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":40}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":44}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":31}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":19}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":74}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":16}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":1}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":3}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":51}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":52}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":37}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":54}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":25}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":29}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":30}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":18}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":37}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":62}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":42}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":52}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":52}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":44}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":5}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":34}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":26}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":88}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":99}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":104}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":40}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":1}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":3}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":118}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":34}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":27}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":18}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":3}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":38}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":60}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":32}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":9}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":110}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":99}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":55}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":21}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":7}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":21}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":60}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":60}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":3}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":7}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":43}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":16}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":58}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":8}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":26}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":6}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":71}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":31}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":27}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":63}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":39}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":36}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":24}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":59}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":20}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":14}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":18}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":17}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":5}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":33}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":44}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":17}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":19}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":57}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":63}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":3}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":1}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":3}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":74}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":7}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":69}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":39}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":29}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":101}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":14}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":103}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":18}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":21}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":42}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":7}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":12}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":63}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":14}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":25}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":18}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":21}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":42}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":7}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":19}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":57}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":12}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":63}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":16}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":19}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":46}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":5}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":3}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":1}}},"s":{"0":0,"11":0,"12":0,"13":0,"15":0,"18":0,"19":0,"20":0,"21":0,"23":0,"26":0,"27":0,"28":0,"29":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"41":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"63":0,"64":0,"65":0,"66":0,"67":0,"69":0,"70":0,"72":0,"75":0,"76":0,"77":0,"78":0,"79":0,"81":0,"82":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"105":0,"106":0,"107":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"116":0,"117":0,"118":0,"119":0,"120":0,"122":0,"123":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"132":0,"135":0,"136":0,"137":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":5273},"end":{"line":167,"column":1}},"locations":[{"start":{"line":1,"column":5273},"end":{"line":167,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":5273},"end":{"line":167,"column":1}},"loc":{"start":{"line":1,"column":5273},"end":{"line":167,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\index.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\index.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":38}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":77}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":37}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":67}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":16}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":18}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":3}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":47}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":15}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":15}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":15}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":14}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":14}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":15}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":14}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":36}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":25}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":47}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":49}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":75}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":12}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":33}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":3}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":33}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":22}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":13}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":39}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":27}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":76}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":4}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":16}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":1}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":117}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":60}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":19}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":23}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":25}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":21}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":31}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":85}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":25}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":23}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":25}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":27}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":30}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":25}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":28}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":23}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":87}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":25}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":23}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":28}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":23}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":34}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":22}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":1}}},"s":{"0":0,"3":0,"10":0,"12":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"48":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":2510},"end":{"line":82,"column":46}},"locations":[{"start":{"line":1,"column":2510},"end":{"line":82,"column":46}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":2510},"end":{"line":82,"column":46}},"loc":{"start":{"line":1,"column":2510},"end":{"line":82,"column":46}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\iterator.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\iterator.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":40}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":31}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":29}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":37}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":20}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":10}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":20}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":11}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":29}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":28}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":37}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":55}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":26}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":22}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":81}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":63}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":6}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":78}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":12}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":26}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":71}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":45}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":91}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":64}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":69}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":49}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":24}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":32}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":21}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":33}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":35}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":38}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":40}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":38}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":38}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":21}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":18}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":13}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":9}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":6}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":1}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":44}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":29}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":64}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":29}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":20}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":10}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":18}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":11}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":29}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":28}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":37}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":54}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":22}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":37}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":83}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":55}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":41}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":16}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":24}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":13}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":25}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":27}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":30}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":32}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":30}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":30}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":13}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":10}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":5}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":1}}},"s":{"0":1,"15":1,"16":4,"17":4,"18":4,"24":4,"25":4,"26":4,"27":4,"28":4,"29":4,"30":4,"31":4,"32":4,"34":4,"37":1,"38":1,"40":4,"42":4,"43":4,"44":4,"45":2,"47":3,"48":3,"49":3,"51":3,"52":3,"53":3,"54":3,"55":3,"56":3,"57":3,"58":3,"59":3,"60":3,"61":3,"62":3,"63":3,"64":2,"65":4,"66":4,"68":1,"69":1,"70":1,"71":1,"72":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"86":1,"87":2,"88":2,"90":2,"91":2,"92":2,"93":2,"94":2,"95":2,"96":2,"97":2,"98":2,"99":2,"100":2,"101":2,"102":2,"103":1},"branchMap":{"0":{"type":"branch","line":16,"loc":{"start":{"line":16,"column":7},"end":{"line":67,"column":1}},"locations":[{"start":{"line":16,"column":7},"end":{"line":67,"column":1}}]},"1":{"type":"branch","line":41,"loc":{"start":{"line":41,"column":30},"end":{"line":41,"column":78}},"locations":[{"start":{"line":41,"column":30},"end":{"line":41,"column":78}}]},"2":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":38},"end":{"line":39,"column":6}},"locations":[{"start":{"line":35,"column":38},"end":{"line":39,"column":6}}]},"3":{"type":"branch","line":38,"loc":{"start":{"line":38,"column":15},"end":{"line":38,"column":63}},"locations":[{"start":{"line":38,"column":15},"end":{"line":38,"column":63}}]},"4":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":19},"end":{"line":65,"column":9}},"locations":[{"start":{"line":45,"column":19},"end":{"line":65,"column":9}}]},"5":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":44},"end":{"line":64,"column":13}},"locations":[{"start":{"line":46,"column":44},"end":{"line":64,"column":13}}]},"6":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"locations":[{"start":{"line":69,"column":0},"end":{"line":104,"column":1}}]},"7":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":36},"end":{"line":103,"column":5}},"locations":[{"start":{"line":87,"column":36},"end":{"line":103,"column":5}}]}},"b":{"0":[4],"1":[1],"2":[1],"3":[1],"4":[2],"5":[3],"6":[1],"7":[2]},"fnMap":{"0":{"name":"createIterator","decl":{"start":{"line":16,"column":7},"end":{"line":67,"column":1}},"loc":{"start":{"line":16,"column":7},"end":{"line":67,"column":1}},"line":16},"1":{"name":"defaultTransformerFactory","decl":{"start":{"line":35,"column":38},"end":{"line":39,"column":6}},"loc":{"start":{"line":35,"column":38},"end":{"line":39,"column":6}},"line":35},"2":{"name":"transform","decl":{"start":{"line":45,"column":19},"end":{"line":65,"column":9}},"loc":{"start":{"line":45,"column":19},"end":{"line":65,"column":9}},"line":45},"3":{"name":"transformWithMappings","decl":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"loc":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"line":69}},"f":{"0":4,"1":1,"2":2,"3":1}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\main.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\main.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":19}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":71}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":26}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":37}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":18}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":20}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":9}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":48}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":9}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":21}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":9}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":78}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":9}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":4}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":28}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":11}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":11}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":36}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":60}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":8}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":11}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":22}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":33}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":60}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":10}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":11}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":12}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":21}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":19}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":21}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":11}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":12}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":28}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":19}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":21}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":11}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":12}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":36}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":19}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":21}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":11}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":14}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":29}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":19}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":15}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":11}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":15}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":20}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":19}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":12}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":63}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":68}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":9}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":37}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":10}}},"s":{"0":0,"16":0,"18":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"42":0,"43":0,"44":0,"45":0,"46":0,"48":0,"49":0,"50":0,"51":0,"52":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"61":0,"62":0,"63":0,"64":0,"66":0,"67":0,"68":0,"69":0,"70":0,"72":0,"73":0,"74":0,"75":0,"76":0,"78":0,"79":0,"80":0,"81":0,"82":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":1965},"end":{"line":83,"column":10}},"locations":[{"start":{"line":1,"column":1965},"end":{"line":83,"column":10}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":1965},"end":{"line":83,"column":10}},"loc":{"start":{"line":1,"column":1965},"end":{"line":83,"column":10}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\merge.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\merge.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":52}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":65}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":39}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":69}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":21}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":5}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":46}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":9}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":63}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":17}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":52}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":21}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":9}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":41}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":43}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":21}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":56}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":18}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":1}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":22}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":1}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":19}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}}},"s":{"0":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":30,"column":-385}},"locations":[{"start":{"line":1,"column":0},"end":{"line":30,"column":-385}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":30,"column":-385}},"loc":{"start":{"line":1,"column":0},"end":{"line":30,"column":-385}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\mime-handlers.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\mime-handlers.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":51}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":66}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":12}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":19}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":16}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":9}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":22}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":33}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":49}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":66}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":12}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":25}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":32}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":19}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":37}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":50}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":66}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":12}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":19}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":25}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":40}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":34}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":58}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":60}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":41}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":3}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":53}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":89}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":39}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":81}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":3}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":46}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":61}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":28}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":67}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":73}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":65}}},"s":{"0":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"27":0,"28":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"52":0,"53":0,"55":0,"56":0,"57":0,"59":0,"60":0,"61":0,"62":0,"63":0,"66":0,"67":0,"69":0,"70":0,"71":0,"72":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":2005},"end":{"line":73,"column":65}},"locations":[{"start":{"line":1,"column":2005},"end":{"line":73,"column":65}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":2005},"end":{"line":73,"column":65}},"loc":{"start":{"line":1,"column":2005},"end":{"line":73,"column":65}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\profile.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\profile.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":43}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":21}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":14}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":5}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":68}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":30}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":1}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":84}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":89}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":100}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":69}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":32}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":87}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":1}}},"s":{"0":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":1003},"end":{"line":27,"column":1}},"locations":[{"start":{"line":1,"column":1003},"end":{"line":27,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":1003},"end":{"line":27,"column":1}},"loc":{"start":{"line":1,"column":1003},"end":{"line":27,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\prompt.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\prompt.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":46}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":99}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":42}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":12}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":21}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":28}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":1}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":104}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":34}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":87}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":35}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":78}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":84}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":65}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":12}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":21}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":58}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}}},"s":{"0":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":1298},"end":{"line":34,"column":1}},"locations":[{"start":{"line":1,"column":1298},"end":{"line":34,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":1298},"end":{"line":34,"column":1}},"loc":{"start":{"line":1,"column":1298},"end":{"line":34,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\source.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\source.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":32}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":9}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":9}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":68}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":2}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":74}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":56}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":17}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":15}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":33}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":41}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":4}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":2}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":77}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":39}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":39}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":37}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":2}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":60}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":7}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":49}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":38}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":20}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":56}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":5}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":53}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":51}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":19}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":62}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":16}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":3}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":2}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":78}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":28}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":22}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":33}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":1}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":3}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":51}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":34}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":1}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":21}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":22}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":24}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":49}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":29}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":20}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":52}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":3}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":35}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":41}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":35}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":55}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":30}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":40}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":28}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":26}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":12}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":35}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":47}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":28}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":14}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":34}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":7}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":12}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":26}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":4}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":44}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":21}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":20}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":24}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":4}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":39}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":59}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":32}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":36}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":72}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":3}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":27}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":1}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":26}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":22}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":25}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":20}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":55}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":26}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":47}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":9}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":78}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":49}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":57}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":64}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":22}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":55}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":9}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":95}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":7}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":17}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":21}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":60}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":17}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":5}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":4}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":21}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":73}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":9}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":36}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":21}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":61}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":17}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":4}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":54}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":31}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":75}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":16}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":1}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":84}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":24}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":66}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":3}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":46}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":28}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":111}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":3}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":7}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":28}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":66}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":31}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":6}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":34}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":48}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":81}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":25}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":6}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":78}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":40}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":22}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":36}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":45}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":25}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":30}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":30}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":65}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":25}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":19}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":60}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":15}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":3}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":1}}},"s":{"0":0,"18":0,"23":0,"24":0,"25":0,"26":0,"27":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"38":0,"39":0,"40":0,"41":0,"42":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"66":0,"69":0,"70":0,"71":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"82":0,"83":0,"84":0,"86":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"106":0,"107":0,"108":0,"109":0,"110":0,"112":0,"113":0,"114":0,"115":0,"117":0,"118":0,"119":0,"120":0,"121":0,"123":0,"124":0,"125":0,"126":0,"128":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"159":0,"161":0,"162":0,"163":0,"164":0,"166":0,"167":0,"168":0,"169":0,"171":0,"172":0,"173":0,"174":0,"176":0,"177":0,"178":0,"179":0,"180":0,"182":0,"183":0,"184":0,"185":0,"186":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"197":0,"198":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":5984},"end":{"line":206,"column":1}},"locations":[{"start":{"line":1,"column":5984},"end":{"line":206,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":5984},"end":{"line":206,"column":1}},"loc":{"start":{"line":1,"column":5984},"end":{"line":206,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\splitter.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\splitter.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":761},"end":{"line":33,"column":2}},"locations":[{"start":{"line":1,"column":761},"end":{"line":33,"column":2}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":761},"end":{"line":33,"column":2}},"loc":{"start":{"line":1,"column":761},"end":{"line":33,"column":2}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\tools.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\tools.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":78}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":32}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":14}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":29}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":21}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":22}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":25}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":17}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":17}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":16}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":11}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":6}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":17}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":82}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":101}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":93}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":9}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":51}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":36}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":63}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":23}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":9}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":53}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":55}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":54}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":16}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":89}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":23}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":9}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":17}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":76}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":19}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":1}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":98}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":63}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":60}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":90}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":84}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":33}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":17}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":58}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":25}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":78}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":27}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":13}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":9}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":54}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":7}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":29}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":15}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":71}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":35}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":79}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":65}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":23}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":10}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":27}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":94}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":92}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":6}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":16}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":1}}},"s":{"0":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3124},"end":{"line":81,"column":1}},"locations":[{"start":{"line":1,"column":3124},"end":{"line":81,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3124},"end":{"line":81,"column":1}},"loc":{"start":{"line":1,"column":3124},"end":{"line":81,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\types.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\types.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":45}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":30}}},"s":{"0":0,"4":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":465},"end":{"line":14,"column":1}},"locations":[{"start":{"line":1,"column":465},"end":{"line":14,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":465},"end":{"line":14,"column":1}},"loc":{"start":{"line":1,"column":465},"end":{"line":14,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\variables.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\variables.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":54}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":49}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":15}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":14}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":15}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":16}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":25}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":27}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":5}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":41}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":41}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":39}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":44}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":55}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":45}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":43}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":43}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":32}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":81}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":9}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":47}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":32}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":53}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":57}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":13}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":9}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":47}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":32}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":53}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":57}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":13}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":9}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":52}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":37}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":58}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":62}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":13}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":9}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":41}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":25}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":110}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":16}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":47}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":9}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":7}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":49}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":42}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":19}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":11}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":35}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":1}}},"s":{"0":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"15":0,"16":0,"17":0,"19":0,"20":0,"22":0,"23":0,"24":0,"26":0,"27":0,"28":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"63":0,"64":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":2087},"end":{"line":65,"column":1}},"locations":[{"start":{"line":1,"column":2087},"end":{"line":65,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":2087},"end":{"line":65,"column":1}},"loc":{"start":{"line":1,"column":2087},"end":{"line":65,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\zod_schema.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\zod_schema.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":23}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":160}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":123}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":145}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":60}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":133}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":23}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":27}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":17}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":25}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":18}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":10}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":29}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":20}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":15}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":19}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":15}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":2}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":84}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":2}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":33}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":9}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":36}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":32}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":35}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":45}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":31}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":43}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":13}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":51}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":52}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":16}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":11}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":14}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":13}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":19}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":35}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":30}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":9}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":15}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":16}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":79}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":19}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":9}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":15}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":16}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":19}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":77}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":9}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":12}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":16}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":19}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":156}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":9}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":13}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":16}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":19}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":256}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":9}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":16}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":25}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":20}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":95}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":9}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":21}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":25}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":19}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":20}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":54}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":9}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":14}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":14}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":9}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":30}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":20}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":21}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":39}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":144}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":70}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":9}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":16}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":25}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":19}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":115}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":9}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":16}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":16}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":19}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":44}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":9}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":14}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":16}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":19}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":99}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":9}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":15}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":16}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":30}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":66}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":9}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":13}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":11}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":30}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":74}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":113}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":128}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":163}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":52}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":8}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":9}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":17}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":16}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":19}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":54}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":9}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":16}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":16}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":19}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":83}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":9}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":16}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":16}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":19}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":71}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":9}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":15}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":16}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":19}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":96}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":9}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":13}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":16}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":19}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":36}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":9}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":20}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":16}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":39}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":125}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":9}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":13}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":16}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":35}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":38}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":9}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":12}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":16}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":27}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":45}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":44}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":88}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":9}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":18}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":38}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":19}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":20}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":9}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":16}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":15}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":19}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":27}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":28}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":29}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":8}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":19}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":20}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":58}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":48}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":29}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":65}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":22}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":11}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":60}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":71}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":24}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":10}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":9}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":14}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":16}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":19}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":19}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":22}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":73}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":9}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":12}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":15}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":20}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":67}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":8}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":19}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":23}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":81}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":9}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":15}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":15}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":39}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":15}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":49}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":55}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":42}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":60}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":59}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":65}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":58}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":60}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":20}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":49}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":19}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":47}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":61}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":60}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":62}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":23}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":69}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":51}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":62}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":15}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":13}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":23}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":55}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":24}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":11}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":11}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":36}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":58}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":65}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":52}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":11}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":22}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":10}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":8}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":19}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":141}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":6}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":25}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":18}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":29}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":1}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":28}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":60}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":96}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":11}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":1}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":30}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":53}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":52}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":1}}},"s":{"0":0,"13":0,"14":0,"15":0,"21":0,"23":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"62":0,"64":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"80":0,"81":0,"82":0,"83":0,"84":0,"86":0,"87":0,"88":0,"89":0,"90":0,"92":0,"93":0,"94":0,"95":0,"96":0,"98":0,"99":0,"100":0,"101":0,"102":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"122":0,"123":0,"124":0,"125":0,"126":0,"128":0,"129":0,"130":0,"131":0,"132":0,"134":0,"135":0,"136":0,"137":0,"138":0,"140":0,"141":0,"142":0,"143":0,"144":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"157":0,"158":0,"159":0,"160":0,"161":0,"163":0,"164":0,"165":0,"166":0,"167":0,"169":0,"170":0,"171":0,"172":0,"173":0,"175":0,"176":0,"177":0,"178":0,"179":0,"181":0,"182":0,"183":0,"184":0,"185":0,"187":0,"188":0,"189":0,"190":0,"191":0,"193":0,"194":0,"195":0,"196":0,"197":0,"199":0,"200":0,"201":0,"202":0,"203":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":10296},"end":{"line":309,"column":1}},"locations":[{"start":{"line":1,"column":10296},"end":{"line":309,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":10296},"end":{"line":309,"column":1}},"loc":{"start":{"line":1,"column":10296},"end":{"line":309,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\zod_types.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\zod_types.ts","all":true,"statementMap":{},"s":{},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":17066},"end":{"line":437,"column":1}},"locations":[{"start":{"line":1,"column":17066},"end":{"line":437,"column":1}}]}},"b":{"0":[1]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":17066},"end":{"line":437,"column":1}},"loc":{"start":{"line":1,"column":17066},"end":{"line":437,"column":1}},"line":1}},"f":{"0":1}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\build.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\build.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":62}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":64}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":54}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":48}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":117}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":2}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":20}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":1}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":68}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":59}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":45}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":36}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":33}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":12}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":57}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":65}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":52}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":4}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":48}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":126}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":2}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":20}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":1}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":69}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":54}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":45}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":41}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":61}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":67}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":53}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":4}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":48}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":127}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":2}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":20}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":1}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":36}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":73}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":27}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":53}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":84}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":77}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":60}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":8}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":58}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":40}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":66}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":75}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":12}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":19}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":23}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":29}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":29}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":29}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":38}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":5}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":4}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":25}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":91}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":99}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":100}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":108}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":102}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":110}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":66}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":78}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":74}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":76}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":88}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":38}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":21}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":83}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":81}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":91}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":89}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":1}}},"s":{"0":0,"12":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"64":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"93":0,"94":0,"95":0,"97":0,"98":0,"99":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":4477},"end":{"line":100,"column":1}},"locations":[{"start":{"line":1,"column":4477},"end":{"line":100,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":4477},"end":{"line":100,"column":1}},"loc":{"start":{"line":1,"column":4477},"end":{"line":100,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\examples.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\examples.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":33}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":28}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":5}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":19}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":5}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":4}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":49}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}}},"s":{"0":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":300},"end":{"line":12,"column":1}},"locations":[{"start":{"line":1,"column":300},"end":{"line":12,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":300},"end":{"line":12,"column":1}},"loc":{"start":{"line":1,"column":300},"end":{"line":12,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\fetch.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\fetch.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":34}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":40}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":43}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":67}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":23}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":73}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":43}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":89}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":12}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":51}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":75}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":12}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":19}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":23}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":29}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":29}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":28}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":4}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":77}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":47}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":97}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}}},"s":{"0":0,"7":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":1259},"end":{"line":34,"column":1}},"locations":[{"start":{"line":1,"column":1259},"end":{"line":34,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":1259},"end":{"line":34,"column":1}},"loc":{"start":{"line":1,"column":1259},"end":{"line":34,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\help.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\help.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":23}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":27}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":32}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":38}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":14}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":36}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":7}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":14}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":38}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":10}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":7}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":21}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":7}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":7}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":17}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":6}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":27}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":51}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":55}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":52}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":50}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":23}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":15}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":42}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":37}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":61}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":52}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":15}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":3}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":29}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":16}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":58}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":31}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":16}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":1}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":37}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":15}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":1}}},"s":{"0":0,"7":0,"8":0,"9":0,"10":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"50":0,"51":0,"52":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":1306},"end":{"line":53,"column":1}},"locations":[{"start":{"line":1,"column":1306},"end":{"line":53,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":1306},"end":{"line":53,"column":1}},"loc":{"start":{"line":1,"column":1306},"end":{"line":53,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\init.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\init.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":52}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":25}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":12}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":38}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":21}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":4}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":16}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":32}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":4}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":15}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":30}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":4}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":14}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":29}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":4}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":13}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":28}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":4}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":14}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":29}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":4}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":13}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":28}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":4}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":17}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":32}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":4}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":13}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":28}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":4}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":17}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":32}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":4}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":15}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":30}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":4}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":13}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":29}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":36}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":1}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":48}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":38}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":39}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":27}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":22}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":76}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":4}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":75}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":25}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":16}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":3}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":48}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":65}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":33}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":48}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":66}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":8}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":73}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":43}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":57}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":28}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":38}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":63}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":10}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":70}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":44}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":10}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":1}}},"s":{"0":0,"8":0,"33":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"74":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":2629},"end":{"line":107,"column":1}},"locations":[{"start":{"line":1,"column":2629},"end":{"line":107,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":2629},"end":{"line":107,"column":1}},"loc":{"start":{"line":1,"column":2629},"end":{"line":107,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\renderer.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\renderer.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":26}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":24}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":54}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":68}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":4}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":2}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":41}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":64}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":33}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":19}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":42}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":27}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":19}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":18}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":19}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":18}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":19}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":15}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":13}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":16}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":19}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":23}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":20}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":48}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":32}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":14}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":18}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":1}}},"s":{"0":0,"8":0,"9":0,"11":0,"12":0,"14":0,"18":0,"25":0,"27":0,"28":0,"29":0,"30":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"48":0,"51":0,"54":0,"55":0,"57":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":1607},"end":{"line":58,"column":1}},"locations":[{"start":{"line":1,"column":1607},"end":{"line":58,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":1607},"end":{"line":58,"column":1}},"loc":{"start":{"line":1,"column":1607},"end":{"line":58,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\run-assistant.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\run-assistant.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":50}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":19}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":23}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":25}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":21}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":31}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":85}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":25}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":23}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":25}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":27}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":30}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":25}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":23}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":87}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":67}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":23}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":28}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":23}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":34}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":22}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":2}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":109}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":30}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":40}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":27}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":4}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":1}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":2}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":88}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":41}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":27}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":14}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":27}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":40}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":16}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":3}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":20}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":46}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":12}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":24}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":22}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":21}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":19}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":5}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":3}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":67}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":12}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":17}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":42}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":16}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":12}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":5}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":3}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":19}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":39}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":57}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":32}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":24}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":54}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":4}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":114}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":74}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":84}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":56}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":12}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":26}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":38}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":5}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":5}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":51}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":15}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":7}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":21}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":33}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":40}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":13}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":4}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":11}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":7}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":46}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":45}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":28}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":37}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":10}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":72}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":84}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":45}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":49}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":37}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":11}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":10}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":19}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":6}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":15}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":68}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":3}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":25}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":52}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":1}}},"s":{"0":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"140":0,"141":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"158":0,"159":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":5277},"end":{"line":183,"column":1}},"locations":[{"start":{"line":1,"column":5277},"end":{"line":183,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":5277},"end":{"line":183,"column":1}},"loc":{"start":{"line":1,"column":5277},"end":{"line":183,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\run-completion.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\run-completion.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":27}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":77}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":66}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":31}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":20}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":12}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":14}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":44}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":29}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":67}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":26}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":82}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":10}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":31}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":19}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":7}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":53}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":33}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":23}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":20}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":15}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":89}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":20}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":54}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":16}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":3}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":45}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":59}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":25}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":30}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":43}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":4}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":145}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":13}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":3}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":52}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":46}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":15}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":1}}},"s":{"0":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":1826},"end":{"line":54,"column":1}},"locations":[{"start":{"line":1,"column":1826},"end":{"line":54,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":1826},"end":{"line":54,"column":1}},"loc":{"start":{"line":1,"column":1826},"end":{"line":54,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\run-tools.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\run-tools.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":27}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":84}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":41}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":14}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":27}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":40}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":16}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":3}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":20}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":54}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":12}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":24}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":22}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":21}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":19}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":5}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":3}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":67}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":12}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":17}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":42}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":16}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":12}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":19}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":7}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":103}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":63}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":99}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":8}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":73}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":104}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":8}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":40}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":65}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":8}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":79}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":65}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":15}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":27}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":30}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":7}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":47}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":19}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":52}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":104}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":12}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":83}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":10}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":29}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":43}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":1}}},"s":{"0":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":2256},"end":{"line":66,"column":1}},"locations":[{"start":{"line":1,"column":2256},"end":{"line":66,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":2256},"end":{"line":66,"column":1}},"loc":{"start":{"line":1,"column":2256},"end":{"line":66,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\run.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\run.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":87}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":31}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":62}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":24}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":15}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":3}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":38}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":48}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":38}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":62}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":7}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":47}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":40}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":40}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":18}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":50}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":17}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":27}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":71}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":50}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":65}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":18}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":19}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":78}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":15}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":3}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":1}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":3}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":40}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":18}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":20}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":7}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":54}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":42}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":32}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":38}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":3}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":60}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":72}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":40}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":90}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":59}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":73}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":28}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":1}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":3}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":38}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":21}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":45}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":52}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":18}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":25}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":13}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":13}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":42}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":75}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":43}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":31}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":38}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":3}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":15}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":1}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":3}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":38}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":21}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":14}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":45}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":33}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":21}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":7}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":27}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":29}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":58}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":13}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":24}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":53}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":13}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":28}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":57}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":13}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":14}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":60}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":5}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":15}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":77}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":3}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":12}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":1}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":3}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":81}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":44}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":17}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":15}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":3}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":31}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":68}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":30}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":13}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":3}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":57}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":61}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":53}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":59}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":35}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":287}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":10}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":214}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":3}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":51}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":60}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":12}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":1}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":3}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":48}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":33}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":24}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":18}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":3}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":49}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":45}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":18}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":3}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":44}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":24}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":18}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":3}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":95}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":59}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":36}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":36}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":41}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":57}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":35}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":3}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":32}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":29}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":14}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":3}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":50}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":29}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":49}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":34}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":81}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":52}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":15}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":23}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":5}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":3}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":15}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":1}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":47}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":50}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":39}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":16}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":1}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":76}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":36}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":70}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":22}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":21}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":33}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":35}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":5}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":32}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":51}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":101}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":34}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":99}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":73}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":53}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":60}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":5}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":10}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":21}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":3}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":18}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":28}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":29}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":23}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":97}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":49}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":37}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":78}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":24}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":56}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":25}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":37}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":34}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":5}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":29}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":86}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":16}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":5}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":89}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":25}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":31}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":24}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":16}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":19}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":33}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":7}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":44}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":52}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":18}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":29}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":7}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":68}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":47}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":33}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":24}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":7}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":5}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":10}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":41}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":31}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":22}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":5}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":3}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":12}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":1}}},"s":{"0":0,"33":0,"39":0,"40":0,"42":0,"43":0,"44":0,"45":0,"47":0,"48":0,"49":0,"50":0,"52":0,"53":0,"54":0,"56":0,"57":0,"58":0,"59":0,"60":0,"62":0,"63":0,"64":0,"65":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"74":0,"81":0,"82":0,"83":0,"87":0,"88":0,"90":0,"91":0,"92":0,"93":0,"95":0,"96":0,"98":0,"99":0,"100":0,"101":0,"103":0,"104":0,"106":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"123":0,"124":0,"125":0,"126":0,"127":0,"129":0,"130":0,"132":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"147":0,"148":0,"149":0,"150":0,"151":0,"153":0,"154":0,"155":0,"157":0,"158":0,"159":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"168":0,"169":0,"171":0,"177":0,"178":0,"179":0,"180":0,"181":0,"183":0,"185":0,"186":0,"187":0,"188":0,"190":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"205":0,"215":0,"216":0,"217":0,"218":0,"219":0,"221":0,"222":0,"223":0,"224":0,"226":0,"227":0,"228":0,"229":0,"231":0,"232":0,"234":0,"235":0,"237":0,"238":0,"239":0,"240":0,"242":0,"243":0,"244":0,"245":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"258":0,"259":0,"261":0,"262":0,"263":0,"264":0,"265":0,"267":0,"268":0,"269":0,"270":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":10794},"end":{"line":333,"column":1}},"locations":[{"start":{"line":1,"column":10794},"end":{"line":333,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":10794},"end":{"line":333,"column":1}},"loc":{"start":{"line":1,"column":10794},"end":{"line":333,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\audio-handler.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\audio-handler.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":67}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":54}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":31}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":31}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":31}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":2}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":57}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":46}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":44}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":6}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":42}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":42}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":16}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":3}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":58}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":52}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":68}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":5}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":3}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":72}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":3}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":72}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":3}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":61}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":46}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":82}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":29}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":17}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":39}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":6}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":41}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":41}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":41}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":38}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":5}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":17}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":3}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":40}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":6}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":41}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":41}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":42}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":39}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":5}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":17}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":14}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":1}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":3}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":72}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":3}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":41}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":53}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":53}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":53}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":2}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":3}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":61}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":46}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":82}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":29}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":17}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":3}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":38}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":6}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":41}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":41}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":41}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":38}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":5}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":17}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":3}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":40}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":46}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":48}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":56}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":12}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":35}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":35}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":35}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":32}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":6}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":27}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":1}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":55}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":7}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":42}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":20}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":19}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":53}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":18}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":3}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":1}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":97}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":89}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":12}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":18}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":18}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":65}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":18}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":64}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":18}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":64}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":5}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":3}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":60}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":92}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":26}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":61}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":33}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":60}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":33}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":60}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":3}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":46}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":2}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":47}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":32}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":38}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":12}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":27}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":3}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":80}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":17}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":39}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":64}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":52}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":5}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":37}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":48}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":74}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":3}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":76}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":67}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":18}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":80}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":9}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":60}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":19}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":43}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":47}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":14}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":56}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":7}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":115}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":18}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":56}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":67}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":7}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":98}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":70}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":13}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":27}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":40}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":9}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":48}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":62}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":34}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":14}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":70}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":7}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":21}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":76}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":81}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":5}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":3}}},"s":{"0":0,"7":0,"11":0,"13":0,"20":0,"21":0,"22":0,"23":0,"24":0,"26":0,"27":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"50":0,"52":0,"59":0,"61":0,"66":0,"67":0,"69":0,"70":0,"71":0,"72":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"94":0,"95":0,"96":0,"99":0,"101":0,"110":0,"111":0,"112":0,"113":0,"114":0,"116":0,"127":0,"128":0,"130":0,"131":0,"132":0,"133":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"145":0,"146":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"158":0,"159":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"195":0,"196":0,"198":0,"199":0,"200":0,"201":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"210":0,"211":0,"212":0,"213":0,"215":0,"216":0,"217":0,"218":0,"219":0,"221":0,"223":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"232":0,"233":0,"234":0,"235":0,"236":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":7748},"end":{"line":257,"column":1}},"locations":[{"start":{"line":1,"column":7748},"end":{"line":257,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":7748},"end":{"line":257,"column":1}},"loc":{"start":{"line":1,"column":7748},"end":{"line":257,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\base-handler.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\base-handler.ts","all":true,"statementMap":{"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":55}}},"s":{"5":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":394},"end":{"line":9,"column":1}},"locations":[{"start":{"line":1,"column":394},"end":{"line":9,"column":1}}]}},"b":{"0":[1]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":394},"end":{"line":9,"column":1}},"loc":{"start":{"line":1,"column":394},"end":{"line":9,"column":1}},"line":1}},"f":{"0":1}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\image-handler.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\image-handler.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":47}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":45}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":26}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":30}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":37}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":43}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":72}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":44}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":63}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":62}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":2}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":53}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":49}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":15}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":89}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":16}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":14}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":68}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":16}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":14}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":82}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":82}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":29}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":16}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":15}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":2}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":100}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":37}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":53}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":18}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":18}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":19}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":65}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":18}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":64}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":18}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":64}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":3}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":24}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":81}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":63}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":89}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":61}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":3}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":68}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":60}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":3}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":71}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":71}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":60}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":46}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":2}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":47}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":32}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":38}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":12}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":27}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":3}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":80}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":9}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":19}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":66}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":63}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":7}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":65}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":13}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":19}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":5}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":3}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":76}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":69}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":18}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":75}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":9}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":46}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":74}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":20}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":56}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":7}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":100}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":18}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":69}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":7}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":95}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":61}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":38}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":19}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":11}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":25}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":22}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":122}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":121}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":14}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":12}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":10}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":25}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":9}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":50}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":59}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":51}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":14}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":60}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":7}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":21}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":73}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":76}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":5}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":3}}},"s":{"0":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"19":0,"20":0,"22":0,"23":0,"24":0,"25":0,"27":0,"28":0,"29":0,"30":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"39":0,"40":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"56":0,"57":0,"59":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"72":0,"73":0,"75":0,"76":0,"78":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"95":0,"96":0,"97":0,"98":0,"99":0,"101":0,"102":0,"103":0,"105":0,"106":0,"107":0,"109":0,"110":0,"111":0,"112":0,"114":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":4790},"end":{"line":142,"column":1}},"locations":[{"start":{"line":1,"column":4790},"end":{"line":142,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":4790},"end":{"line":142,"column":1}},"loc":{"start":{"line":1,"column":4790},"end":{"line":142,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\index.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\index.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":67}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":10}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":30}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":22}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":3}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":1}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":105}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":44}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":36}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":40}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":27}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":50}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":37}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":52}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":46}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":7}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":3}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":26}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":35}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":50}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":44}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":5}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":69}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}}},"s":{"0":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":1207},"end":{"line":37,"column":1}},"locations":[{"start":{"line":1,"column":1207},"end":{"line":37,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":1207},"end":{"line":37,"column":1}},"loc":{"start":{"line":1,"column":1207},"end":{"line":37,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\text-handler.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\commands\\handlers\\text-handler.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":47}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":46}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":80}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":17}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":45}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":66}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":5}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":51}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":9}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":37}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":33}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":7}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":18}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":13}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":19}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":76}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":17}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":31}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":57}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":35}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":73}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}}},"s":{"0":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"23":0,"24":0,"25":0,"26":0,"27":0,"29":0,"30":0,"31":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":984},"end":{"line":33,"column":1}},"locations":[{"start":{"line":1,"column":984},"end":{"line":33,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":984},"end":{"line":33,"column":1}},"loc":{"start":{"line":1,"column":984},"end":{"line":33,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\docs-internal\\examples.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\docs-internal\\examples.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":3096}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3096},"end":{"line":1,"column":3096}},"locations":[{"start":{"line":1,"column":3096},"end":{"line":1,"column":3096}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3096},"end":{"line":1,"column":3096}},"loc":{"start":{"line":1,"column":3096},"end":{"line":1,"column":3096}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\examples\\index.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\examples\\index.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":18}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":50}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}}},"s":{"0":0,"1":0,"2":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":123},"end":{"line":3,"column":51}},"locations":[{"start":{"line":1,"column":123},"end":{"line":3,"column":51}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":123},"end":{"line":3,"column":51}},"loc":{"start":{"line":1,"column":123},"end":{"line":3,"column":51}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\examples\\core\\async-iterator-example.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\examples\\core\\async-iterator-example.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":51}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":63}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":28}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":21}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":14}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":63}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":63}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":67}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":65}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":64}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":2}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":21}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":15}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":17}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":13}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":25}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":30}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":57}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":26}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":33}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":40}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":60}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":14}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":13}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":25}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":31}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":55}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":26}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":36}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":45}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":50}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":10}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":21}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":13}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":25}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":31}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":56}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":26}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":36}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":38}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":55}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":14}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":13}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":25}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":33}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":61}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":26}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":35}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":36}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":57}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":6}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":15}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":34}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":33}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":65}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":2}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":72}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":72}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":63}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":39}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":55}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":37}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":42}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":27}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":73}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":32}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":35}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":10}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":13}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":48}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":82}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":49}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":49}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":30}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":13}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":88}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":25}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":25}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":76}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":25}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":9}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":6}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":2}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":42}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":60}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":66}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":60}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":9}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":61}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":74}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":52}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":31}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":76}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":73}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":10}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":49}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":56}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":25}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":27}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":32}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":35}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":10}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":46}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":40}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":18}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":31}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":13}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":36}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":35}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":30}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":49}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":56}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":13}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":10}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":69}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":52}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":13}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":43}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":33}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":26}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":98}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":14}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":13}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":41}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":33}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":26}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":117}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":14}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":13}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":48}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":44}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":26}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":87}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":10}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":49}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":53}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":91}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":57}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":79}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":79}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":58}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":91}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":87}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":77}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":84}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":58}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":91}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":87}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":77}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":84}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":20}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":21}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":61}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":70}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":20}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":5}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":1}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":68}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":49}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":49}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":96}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":55}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":24}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":53}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":54}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":74}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":67}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":18}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":18}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":69}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":69}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":73}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":71}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":70}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":10}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":65}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":5}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":39}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":49}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":7}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":1}}},"s":{"0":0,"6":0,"7":0,"8":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"75":0,"76":0,"77":0,"78":0,"79":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"97":0,"98":0,"100":0,"101":0,"102":0,"103":0,"104":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"115":0,"116":0,"117":0,"118":0,"120":0,"121":0,"122":0,"123":0,"125":0,"126":0,"127":0,"128":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"174":0,"176":0,"177":0,"179":0,"180":0,"182":0,"183":0,"185":0,"186":0,"187":0,"188":0,"189":0,"191":0,"192":0,"193":0,"194":0,"195":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"205":0,"206":0,"207":0,"209":0,"210":0,"212":0,"213":0,"214":0,"215":0,"216":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"229":0,"230":0,"231":0,"232":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":8698},"end":{"line":238,"column":2}},"locations":[{"start":{"line":1,"column":8698},"end":{"line":238,"column":2}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":8698},"end":{"line":238,"column":2}},"loc":{"start":{"line":1,"column":8698},"end":{"line":238,"column":2}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\examples\\core\\iterator-factory-example.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\examples\\core\\iterator-factory-example.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":51}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":63}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":20}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":16}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":63}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":63}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":67}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":65}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":64}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":2}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":21}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":15}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":17}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":13}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":25}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":30}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":57}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":26}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":33}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":40}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":60}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":14}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":13}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":25}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":31}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":55}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":26}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":36}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":45}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":50}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":2}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":28}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":39}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":35}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":25}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":18}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":90}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":6}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":33}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":25}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":18}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":109}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":6}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":5}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":28}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":36}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":18}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":79}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":2}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":33}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":72}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":72}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":63}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":39}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":55}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":37}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":23}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":73}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":10}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":13}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":48}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":82}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":49}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":49}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":30}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":13}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":88}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":25}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":25}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":76}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":25}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":9}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":6}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":2}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":16}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":68}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":65}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":2}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":40}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":60}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":53}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":60}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":9}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":61}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":49}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":56}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":25}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":27}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":32}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":35}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":10}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":46}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":40}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":18}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":13}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":36}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":35}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":30}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":49}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":56}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":13}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":10}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":49}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":48}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":93}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":57}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":79}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":58}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":91}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":87}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":77}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":84}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":20}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":21}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":61}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":20}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":1}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":68}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":49}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":49}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":98}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":55}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":24}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":53}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":56}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":74}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":67}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":18}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":31}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":65}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":5}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":37}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":49}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":7}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":1}}},"s":{"0":0,"9":0,"10":0,"11":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"47":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"72":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"81":0,"82":0,"83":0,"84":0,"86":0,"87":0,"89":0,"90":0,"91":0,"92":0,"93":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"104":0,"105":0,"106":0,"107":0,"109":0,"110":0,"111":0,"112":0,"114":0,"115":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"138":0,"139":0,"141":0,"142":0,"144":0,"146":0,"147":0,"148":0,"149":0,"150":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"159":0,"160":0,"161":0,"163":0,"164":0,"166":0,"167":0,"168":0,"169":0,"170":0,"172":0,"173":0,"174":0,"175":0,"177":0,"178":0,"179":0,"180":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":6342},"end":{"line":181,"column":1}},"locations":[{"start":{"line":1,"column":6342},"end":{"line":181,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":6342},"end":{"line":181,"column":1}},"loc":{"start":{"line":1,"column":6342},"end":{"line":181,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\index.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\index.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":34}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":34}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":31}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":25}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":29}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":6}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":5}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":32}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":33}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":6}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":69}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":33}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":54}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":73}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":33}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":53}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":29}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":60}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":65}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":56}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":62}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":24}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":58}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":67}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":24}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":15}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":1}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":29}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":29}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":60}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":32}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":27}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":8}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":100}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":62}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":67}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":62}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":52}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":40}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":51}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":40}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":27}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":88}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":58}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":63}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":3}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":58}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":24}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":15}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":1}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":26}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":24}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":60}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":32}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":27}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":8}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":100}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":44}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":3}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":52}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":40}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":51}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":40}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":27}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":88}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":58}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":44}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":3}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":15}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":1}}},"s":{"0":0,"15":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"30":0,"31":0,"32":0,"33":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"43":0,"44":0,"45":0,"47":0,"48":0,"49":0,"50":0,"51":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"65":0,"66":0,"67":0,"68":0,"69":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3774},"end":{"line":103,"column":1}},"locations":[{"start":{"line":1,"column":3774},"end":{"line":103,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3774},"end":{"line":103,"column":1}},"loc":{"start":{"line":1,"column":3774},"end":{"line":103,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\openai.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\openai.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":27}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":113}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":63}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":106}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":42}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":93}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":9}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":33}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":23}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":9}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":57}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":30}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":57}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":25}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":9}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":31}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":21}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":56}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":19}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":1}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":84}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":9}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":41}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":34}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":18}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":9}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":35}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":21}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":54}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":1}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":113}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":9}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":45}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":51}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":36}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":78}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":39}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":21}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":21}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":60}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":19}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":1}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":70}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":60}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":48}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":1}}},"s":{"0":0,"20":0,"21":0,"22":0,"24":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":2351},"end":{"line":70,"column":1}},"locations":[{"start":{"line":1,"column":2351},"end":{"line":70,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":2351},"end":{"line":70,"column":1}},"loc":{"start":{"line":1,"column":2351},"end":{"line":70,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\openrouter.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\openrouter.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":113}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":63}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":110}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":71}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":101}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":7}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":29}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":17}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":62}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":27}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":53}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":19}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":35}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":19}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":52}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":16}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":3}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":1}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":88}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":35}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":26}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":10}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":4}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":29}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":1}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":108}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":7}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":45}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":57}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":44}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":7}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":17}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":42}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":7}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":36}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":90}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":38}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":19}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":60}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":16}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":1}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":78}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":23}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":14}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":35}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":39}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":31}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":4}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":1}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":84}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":62}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":1}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":88}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":66}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":1}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":83}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":61}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":1}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":74}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":62}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":32}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":46}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":54}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":4}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":1}}},"s":{"0":0,"49":0,"50":0,"51":0,"52":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"110":0,"111":0,"112":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3649},"end":{"line":124,"column":1}},"locations":[{"start":{"line":1,"column":3649},"end":{"line":124,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3649},"end":{"line":124,"column":1}},"loc":{"start":{"line":1,"column":3649},"end":{"line":124,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openai-models-free.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openai-models-free.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":7},"end":{"line":3,"column":-23}},"locations":[{"start":{"line":1,"column":7},"end":{"line":3,"column":-23}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":7},"end":{"line":3,"column":-23}},"loc":{"start":{"line":1,"column":7},"end":{"line":3,"column":-23}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openai-models-tools.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openai-models-tools.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":7},"end":{"line":3,"column":-18}},"locations":[{"start":{"line":1,"column":7},"end":{"line":3,"column":-18}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":7},"end":{"line":3,"column":-18}},"loc":{"start":{"line":1,"column":7},"end":{"line":3,"column":-18}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openai-models.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openai-models.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":82}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":76}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":30}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":76}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":82}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":48}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":58}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":60}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":36}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":44}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":40}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":58}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":24}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":58}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":58}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":30}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":64}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":54}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":56}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":70}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":92}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":68}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":66}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":50}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":34}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":36}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":50}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":36}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":58}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":40}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":48}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":88}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":48}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":32}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":50}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":48}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":48}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":58}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":50}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":34}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":34}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":56}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":40}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":26}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":18}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":48}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":44}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":66}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":78}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":28}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":50}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":24}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":66}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":58}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":26}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":36}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":48}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":58}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":28}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":86}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":49}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":1}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":3280},"end":{"line":65,"column":1}},"locations":[{"start":{"line":1,"column":3280},"end":{"line":65,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":3280},"end":{"line":65,"column":1}},"loc":{"start":{"line":1,"column":3280},"end":{"line":65,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openai.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openai.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":4377}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":4377},"end":{"line":1,"column":4377}},"locations":[{"start":{"line":1,"column":4377},"end":{"line":1,"column":4377}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":4377},"end":{"line":1,"column":4377}},"loc":{"start":{"line":1,"column":4377},"end":{"line":1,"column":4377}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openrouter-models-free.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openrouter-models-free.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":37}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":83}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":77}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":65}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":79}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":65}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":89}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":83}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":91}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":85}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":89}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":73}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":109}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":75}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":77}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":69}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":69}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":71}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":67}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":71}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":79}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":53}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":103}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":117}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":123}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":117}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":91}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":85}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":111}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":103}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":103}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":105}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":101}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":69}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":101}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":73}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":111}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":83}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":95}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":69}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":99}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":93}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":79}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":105}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":93}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":93}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":109}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":81}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":85}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":79}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":93}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":73}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":69}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":87}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":97}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":101}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":69}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":63}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":84}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":1}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":5128},"end":{"line":60,"column":1}},"locations":[{"start":{"line":1,"column":5128},"end":{"line":60,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":5128},"end":{"line":60,"column":1}},"loc":{"start":{"line":1,"column":5128},"end":{"line":60,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openrouter-models-tools.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openrouter-models-tools.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":7},"end":{"line":3,"column":-22}},"locations":[{"start":{"line":1,"column":7},"end":{"line":3,"column":-22}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":7},"end":{"line":3,"column":-22}},"loc":{"start":{"line":1,"column":7},"end":{"line":3,"column":-22}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openrouter-models.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openrouter-models.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":78}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":68}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":72}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":60}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":76}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":74}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":86}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":88}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":60}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":84}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":78}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":86}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":80}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":70}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":84}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":74}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":68}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":40}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":104}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":94}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":70}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":72}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":74}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":78}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":64}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":64}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":54}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":54}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":52}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":66}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":56}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":46}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":80}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":70}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":112}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":62}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":66}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":56}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":72}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":98}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":64}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":84}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":74}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":54}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":74}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":74}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":48}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":38}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":64}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":98}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":112}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":58}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":78}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":68}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":86}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":78}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":50}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":58}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":118}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":112}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":68}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":52}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":88}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":68}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":86}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":48}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":50}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":60}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":74}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":46}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":44}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":80}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":70}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":42}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":40}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":42}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":90}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":106}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":96}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":98}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":88}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":98}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":88}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":66}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":46}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":40}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":40}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":100}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":90}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":96}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":64}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":54}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":96}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":50}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":62}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":44}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":64}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":68}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":58}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":106}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":60}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":32}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":74}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":60}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":46}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":66}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":78}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":90}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":80}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":52}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":54}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":50}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":64}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":54}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":94}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":70}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":62}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":70}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":70}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":70}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":56}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":64}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":88}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":78}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":60}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":70}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":64}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":76}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":66}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":94}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":84}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":80}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":70}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":78}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":68}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":42}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":58}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":58}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":74}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":64}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":100}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":90}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":86}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":66}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":66}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":62}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":70}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":42}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":88}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":78}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":88}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":78}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":94}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":104}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":94}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":76}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":66}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":72}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":78}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":48}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":70}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":42}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":64}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":56}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":72}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":62}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":80}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":70}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":60}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":74}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":52}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":54}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":86}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":84}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":86}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":62}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":54}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":72}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":62}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":64}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":72}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":102}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":102}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":88}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":78}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":82}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":80}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":64}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":68}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":58}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":50}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":72}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":56}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":54}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":64}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":54}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":42}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":52}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":96}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":86}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":56}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":100}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":62}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":82}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":72}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":82}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":86}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":92}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":82}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":96}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":86}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":76}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":60}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":40}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":58}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":62}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":68}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":92}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":74}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":62}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":74}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":76}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":78}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":66}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":60}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":56}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":50}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":56}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":72}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":80}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":42}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":46}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":72}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":62}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":70}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":60}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":74}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":64}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":62}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":60}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":64}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":66}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":100}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":62}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":60}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":58}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":82}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":98}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":62}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":48}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":58}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":76}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":64}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":54}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":60}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":64}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":54}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":60}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":50}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":58}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":48}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":58}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":44}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":64}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":64}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":70}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":78}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":66}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":52}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":72}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":82}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":64}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":62}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":46}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":56}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":84}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":40}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":80}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":64}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":54}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":62}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":62}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":70}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":58}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":68}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":68}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":54}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":64}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":38}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":47}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":1}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":20558},"end":{"line":295,"column":1}},"locations":[{"start":{"line":1,"column":20558},"end":{"line":295,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":20558},"end":{"line":295,"column":1}},"loc":{"start":{"line":1,"column":20558},"end":{"line":295,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openrouter.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\models\\cache\\openrouter.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":38771}}},"s":{"0":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":38771},"end":{"line":1,"column":38771}},"locations":[{"start":{"line":1,"column":38771},"end":{"line":1,"column":38771}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":38771},"end":{"line":1,"column":38771}},"loc":{"start":{"line":1,"column":38771},"end":{"line":1,"column":38771}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\reference\\translate_commons.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\reference\\translate_commons.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":20}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":40}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":55}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":63}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":76}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":15}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":70}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":39}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":9}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":12}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":27}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":16}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":1}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":102}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":47}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":36}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":27}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":81}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":44}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":19}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":23}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":1}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":87}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":51}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":27}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":27}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":28}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":36}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":28}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":62}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":14}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":10}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":59}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":55}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":28}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":13}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":71}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":25}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":29}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":13}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":68}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":29}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":36}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":68}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":17}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":33}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":13}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":24}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":10}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":69}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":84}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":24}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":9}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":26}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":9}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":144}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":18}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":21}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":50}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":5}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":1}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":37}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":17}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":27}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":27}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":34}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":27}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":27}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":17}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":40}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":36}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":10}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":16}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":9}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":86}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":17}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":57}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":26}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":33}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":30}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":20}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":19}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":53}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":53}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":50}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":28}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":42}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":54}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":5}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":84}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":15}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":56}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":20}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":5}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":19}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":26}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":46}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":67}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":64}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":14}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":10}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":5}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":27}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":1}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":77}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":96}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":9}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":38}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":54}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":27}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":31}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":39}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":1}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":84}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":24}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":18}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":5}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":46}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":18}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":5}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":41}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":65}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":38}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":25}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":9}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":65}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":35}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":51}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":22}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":16}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":54}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":9}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":18}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":5}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":40}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":63}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":28}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":24}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":13}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":33}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":24}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":13}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":81}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":24}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":13}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":34}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":75}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":46}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":37}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":24}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":78}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":40}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":70}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":21}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":17}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":41}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":69}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":40}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":25}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":46}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":36}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":69}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":23}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":17}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":13}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":9}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":5}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":14}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":1}}},"s":{"0":0,"10":0,"23":0,"25":0,"26":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"117":0,"118":0,"119":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":204,"column":-1173}},"locations":[{"start":{"line":1,"column":0},"end":{"line":204,"column":-1173}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":204,"column":-1173}},"loc":{"start":{"line":1,"column":0},"end":{"line":204,"column":-1173}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\reference\\translate_xls.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\reference\\translate_xls.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":84}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":48}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":23}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":54}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":14}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":38}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":17}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":33}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":77}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":62}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":21}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":5}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":46}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":36}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":62}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":127}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":33}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":9}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":32}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":27}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":10}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":18}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":9}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":62}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":23}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":29}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":10}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":21}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":60}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":14}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":22}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":53}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":14}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":79}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":45}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":79}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":40}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":104}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":14}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":1}}},"s":{"0":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":56,"column":-976}},"locations":[{"start":{"line":1,"column":0},"end":{"line":56,"column":-976}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":56,"column":-976}},"loc":{"start":{"line":1,"column":0},"end":{"line":56,"column":-976}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\array.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\array.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":76}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":36}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":83}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":10}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":21}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":64}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":53}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":28}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":8}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":46}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":57}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":42}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":15}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":4}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":39}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":1}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"10":0,"11":0,"12":0,"13":0,"14":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":765},"end":{"line":23,"column":1}},"locations":[{"start":{"line":1,"column":765},"end":{"line":23,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":765},"end":{"line":23,"column":1}},"loc":{"start":{"line":1,"column":765},"end":{"line":23,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\content.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\content.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":49}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":55}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":1}}},"s":{"0":0,"1":0,"2":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":109},"end":{"line":3,"column":1}},"locations":[{"start":{"line":1,"column":109},"end":{"line":3,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":109},"end":{"line":3,"column":1}},"loc":{"start":{"line":1,"column":109},"end":{"line":3,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\env.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\env.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":55}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":48}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":1}}},"s":{"0":0,"1":0,"2":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":108},"end":{"line":3,"column":1}},"locations":[{"start":{"line":1,"column":108},"end":{"line":3,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":108},"end":{"line":3,"column":1}},"loc":{"start":{"line":1,"column":108},"end":{"line":3,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\input.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\input.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":78}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":43}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":32}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":31}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":13}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":39}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":38}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":26}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":25}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":16}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":37}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":37}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":16}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":18}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":29}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":16}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":83}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":6}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":36}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":27}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":51}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":49}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":53}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":28}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":6}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":29}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":37}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":35}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":39}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":24}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":53}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":41}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":27}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":2}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":79}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":41}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":32}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":9}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":58}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":21}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":70}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":18}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":3}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":23}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":66}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":49}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":62}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":11}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":57}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":23}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":76}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":20}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":7}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":37}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":26}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":3}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":11}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":1}}},"s":{"0":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"17":0,"18":0,"19":0,"21":0,"22":0,"23":0,"24":0,"25":0,"27":0,"28":0,"29":0,"30":0,"32":0,"33":0,"34":0,"35":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"45":0,"46":0,"47":0,"48":0,"50":0,"51":0,"53":0,"54":0,"55":0,"56":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":2402},"end":{"line":85,"column":1}},"locations":[{"start":{"line":1,"column":2402},"end":{"line":85,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":2402},"end":{"line":85,"column":1}},"loc":{"start":{"line":1,"column":2402},"end":{"line":85,"column":1}},"line":1}},"f":{"0":0}}
-,"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\script.ts": {"path":"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\src\\utils\\script.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":59}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":19}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":10}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":3}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":71}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":64}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":31}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":38}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":28}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":45}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":36}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":32}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":14}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":4}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":47}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":27}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":1}}},"s":{"0":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":728},"end":{"line":23,"column":1}},"locations":[{"start":{"line":1,"column":728},"end":{"line":23,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":728},"end":{"line":23,"column":1}},"loc":{"start":{"line":1,"column":728},"end":{"line":23,"column":1}},"line":1}},"f":{"0":0}}
-}
diff --git a/packages/kbot/coverage/favicon.png b/packages/kbot/coverage/favicon.png
deleted file mode 100644
index c1525b81..00000000
Binary files a/packages/kbot/coverage/favicon.png and /dev/null differ
diff --git a/packages/kbot/coverage/index.html b/packages/kbot/coverage/index.html
deleted file mode 100644
index 5d01020b..00000000
--- a/packages/kbot/coverage/index.html
+++ /dev/null
@@ -1,371 +0,0 @@
-
-
-
-
-
- Code coverage report for All files
-
-
-
-
-
-
-
-
-
-
-
-
All files
-
-
-
- 4.64%
- Statements
- 195/4202
-
-
-
-
- 28.84%
- Branches
- 30/104
-
-
-
-
- 18.07%
- Functions
- 15/83
-
-
-
-
- 4.64%
- Lines
- 195/4202
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/debug/fix-tests.ts.html b/packages/kbot/coverage/kbot/debug/fix-tests.ts.html
deleted file mode 100644
index 44bbb872..00000000
--- a/packages/kbot/coverage/kbot/debug/fix-tests.ts.html
+++ /dev/null
@@ -1,307 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/debug/fix-tests.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/49
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/49
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { vi } from 'vitest';
-import * as asyncIterator from '../src/async-iterator';
-import { JSONPath } from 'jsonpath-plus';
-import pMap from 'p-map';
-
-// The issue is that the testFilters function in the source code is inverted compared to how the tests expect it to work.
-// In the source code: true from filter = don't transform, false = transform
-// In the tests: true from filter = transform, false = don't transform
-//
-// This utility patches the testFilters function to match the test expectations without modifying the source code.
-
-export function applyPatches() {
- // Preserve the original implementation
- const originalTestFilters = asyncIterator.testFilters;
-
- // Create a version of testFilters with inverted logic to match test expectations
- const fixedTestFilters = vi.fn((filters: asyncIterator.Filter[]): asyncIterator.FilterCallback => {
- return async (input: string, path: string) => {
- for (const filter of filters) {
- if (await filter(input)) {
- // In original: true from filter means don't transform
- // In fixed: true from filter means transform
- return true;
- }
- }
- // In original: all filters return false means transform
- // In fixed: all filters return false means don't transform
- return false;
- };
- });
-
- // Mock the transformObject function to use the fixed filter logic
- vi.spyOn(asyncIterator, 'transformObject').mockImplementation(
- async (
- obj: Record<string, any>,
- transform: asyncIterator.AsyncTransformer,
- path: string,
- throttleDelay: number,
- concurrentTasks: number,
- errorCallback: asyncIterator.ErrorCallback,
- testCallback: asyncIterator.FilterCallback
- ): Promise<void> => {
- // Using the original transformObject, but inverting the testCallback result
- const invertedTestCallback: asyncIterator.FilterCallback = async (input: string, path: string) => {
- // Invert the result of the testCallback
- const originalResult = await testCallback(input, path);
- return !originalResult;
- };
-
- // Call the real transformObject with the inverted callback
- const paths = JSONPath({ path, json: obj, resultType: 'pointer' });
-
- await pMap(
- paths,
- async (jsonPointer: string) => {
- const keys = jsonPointer.slice(1).split('/');
- await asyncIterator.transformPath(
- obj,
- keys,
- transform,
- throttleDelay,
- concurrentTasks,
- jsonPointer,
- errorCallback,
- invertedTestCallback
- );
- },
- { concurrency: concurrentTasks }
- );
- }
- );
-
- // Replace the test filters function
- vi.spyOn(asyncIterator, 'testFilters').mockImplementation(fixedTestFilters);
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/debug/index.html b/packages/kbot/coverage/kbot/debug/index.html
deleted file mode 100644
index 334d6f8a..00000000
--- a/packages/kbot/coverage/kbot/debug/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/debug
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/49
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/49
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- fix-tests.ts
-
-
-
- 0%
- 0/49
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/49
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/dist-in/index.html b/packages/kbot/coverage/kbot/dist-in/index.html
deleted file mode 100644
index ea1194eb..00000000
--- a/packages/kbot/coverage/kbot/dist-in/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/dist-in
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- zod_types.js
-
-
-
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/dist-in/src/models/cache/index.html b/packages/kbot/coverage/kbot/dist-in/src/models/cache/index.html
deleted file mode 100644
index 14bf7265..00000000
--- a/packages/kbot/coverage/kbot/dist-in/src/models/cache/index.html
+++ /dev/null
@@ -1,161 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/dist-in/src/models/cache
-
-
-
-
-
-
-
-
-
-
-
-
All files kbot/dist-in/src/models/cache
-
-
-
- 0%
- Statements
- 0/358
-
-
-
-
- 0%
- Branches
- 0/4
-
-
-
-
- 0%
- Functions
- 0/4
-
-
-
-
- 0%
- Lines
- 0/358
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- openai-models.ts
-
-
-
- 0%
- 0/64
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/64
-
-
-
- openai.ts
-
-
-
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/1
-
-
-
- openrouter-models.ts
-
-
-
- 0%
- 0/292
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/292
-
-
-
- openrouter.ts
-
-
-
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/dist-in/src/models/cache/openai-models.ts.html b/packages/kbot/coverage/kbot/dist-in/src/models/cache/openai-models.ts.html
deleted file mode 100644
index 069bee2b..00000000
--- a/packages/kbot/coverage/kbot/dist-in/src/models/cache/openai-models.ts.html
+++ /dev/null
@@ -1,277 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/dist-in/src/models/cache/openai-models.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/64
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/64
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- export enum E_OpenAI_Models {
- GPT_4O_REALTIME_PREVIEW_2024_12_17 = "gpt-4o-realtime-preview-2024-12-17",
- GPT_4O_AUDIO_PREVIEW_2024_12_17 = "gpt-4o-audio-preview-2024-12-17",
- DALL_E_3 = "dall-e-3",
- DALL_E_2 = "dall-e-2",
- GPT_4O_AUDIO_PREVIEW_2024_10_01 = "gpt-4o-audio-preview-2024-10-01",
- GPT_4O_MINI_REALTIME_PREVIEW_2024_12_17 = "gpt-4o-mini-realtime-preview-2024-12-17",
- GPT_4O_MINI_REALTIME_PREVIEW = "gpt-4o-mini-realtime-preview",
- GPT_4O_REALTIME_PREVIEW_2024_10_01 = "gpt-4o-realtime-preview-2024-10-01",
- GPT_4O_TRANSCRIBE = "gpt-4o-transcribe",
- GPT_4O_MINI_TRANSCRIBE = "gpt-4o-mini-transcribe",
- GPT_4O_REALTIME_PREVIEW = "gpt-4o-realtime-preview",
- BABBAGE_002 = "babbage-002",
- GPT_4O_MINI_TTS = "gpt-4o-mini-tts",
- TTS_1_HD_1106 = "tts-1-hd-1106",
- TEXT_EMBEDDING_3_LARGE = "text-embedding-3-large",
- GPT_4 = "gpt-4",
- TEXT_EMBEDDING_ADA_002 = "text-embedding-ada-002",
- TTS_1_HD = "tts-1-hd",
- GPT_4O_MINI_AUDIO_PREVIEW = "gpt-4o-mini-audio-preview",
- GPT_4O_AUDIO_PREVIEW = "gpt-4o-audio-preview",
- O1_PREVIEW_2024_09_12 = "o1-preview-2024-09-12",
- GPT_3_5_TURBO_INSTRUCT_0914 = "gpt-3.5-turbo-instruct-0914",
- GPT_4O_MINI_SEARCH_PREVIEW = "gpt-4o-mini-search-preview",
- TTS_1_1106 = "tts-1-1106",
- DAVINCI_002 = "davinci-002",
- GPT_3_5_TURBO_1106 = "gpt-3.5-turbo-1106",
- GPT_4_TURBO = "gpt-4-turbo",
- GPT_3_5_TURBO_INSTRUCT = "gpt-3.5-turbo-instruct",
- GPT_3_5_TURBO = "gpt-3.5-turbo",
- CHATGPT_4O_LATEST = "chatgpt-4o-latest",
- GPT_4O_MINI_SEARCH_PREVIEW_2025_03_11 = "gpt-4o-mini-search-preview-2025-03-11",
- GPT_4O_2024_11_20 = "gpt-4o-2024-11-20",
- WHISPER_1 = "whisper-1",
- GPT_3_5_TURBO_0125 = "gpt-3.5-turbo-0125",
- GPT_4O_2024_05_13 = "gpt-4o-2024-05-13",
- GPT_3_5_TURBO_16K = "gpt-3.5-turbo-16k",
- GPT_4_TURBO_2024_04_09 = "gpt-4-turbo-2024-04-09",
- GPT_4_1106_PREVIEW = "gpt-4-1106-preview",
- O1_PREVIEW = "o1-preview",
- GPT_4_0613 = "gpt-4-0613",
- GPT_4O_SEARCH_PREVIEW = "gpt-4o-search-preview",
- GPT_4_5_PREVIEW = "gpt-4.5-preview",
- GPT_4_5_PREVIEW_2025_02_27 = "gpt-4.5-preview-2025-02-27",
- GPT_4O_SEARCH_PREVIEW_2025_03_11 = "gpt-4o-search-preview-2025-03-11",
- OMNI_MODERATION_LATEST = "omni-moderation-latest",
- TTS_1 = "tts-1",
- OMNI_MODERATION_2024_09_26 = "omni-moderation-2024-09-26",
- TEXT_EMBEDDING_3_SMALL = "text-embedding-3-small",
- GPT_4O = "gpt-4o",
- GPT_4O_MINI = "gpt-4o-mini",
- GPT_4O_2024_08_06 = "gpt-4o-2024-08-06",
- O3_MINI = "o3-mini",
- GPT_4O_MINI_2024_07_18 = "gpt-4o-mini-2024-07-18",
- GPT_4_TURBO_PREVIEW = "gpt-4-turbo-preview",
- O3_MINI_2025_01_31 = "o3-mini-2025-01-31",
- O1_MINI = "o1-mini",
- GPT_4O_MINI_AUDIO_PREVIEW_2024_12_17 = "gpt-4o-mini-audio-preview-2024-12-17",
- O1_MINI_2024_09_12 = "o1-mini-2024-09-12",
- GPT_4_0125_PREVIEW = "gpt-4-0125-preview",
- O1 = "o1",
- O1_2024_12_17 = "o1-2024-12-17",
- O1_PRO = "o1-pro",
- O1_PRO_2025_03_19 = "o1-pro-2025-03-19"
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/dist-in/src/models/cache/openai.ts.html b/packages/kbot/coverage/kbot/dist-in/src/models/cache/openai.ts.html
deleted file mode 100644
index a130682d..00000000
--- a/packages/kbot/coverage/kbot/dist-in/src/models/cache/openai.ts.html
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/dist-in/src/models/cache/openai.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1 export const models = [{"id":"gpt-4o-realtime-preview-2024-12-17","object":"model","created":1733945430,"owned_by":"system"},{"id":"gpt-4o-audio-preview-2024-12-17","object":"model","created":1734034239,"owned_by":"system"},{"id":"dall-e-3","object":"model","created":1698785189,"owned_by":"system"},{"id":"dall-e-2","object":"model","created":1698798177,"owned_by":"system"},{"id":"gpt-4o-audio-preview-2024-10-01","object":"model","created":1727389042,"owned_by":"system"},{"id":"gpt-4o-realtime-preview-2024-10-01","object":"model","created":1727131766,"owned_by":"system"},{"id":"gpt-4o-transcribe","object":"model","created":1742068463,"owned_by":"system"},{"id":"gpt-4o-mini-transcribe","object":"model","created":1742068596,"owned_by":"system"},{"id":"gpt-4o-realtime-preview","object":"model","created":1727659998,"owned_by":"system"},{"id":"babbage-002","object":"model","created":1692634615,"owned_by":"system"},{"id":"gpt-4o-mini-tts","object":"model","created":1742403959,"owned_by":"system"},{"id":"tts-1-hd-1106","object":"model","created":1699053533,"owned_by":"system"},{"id":"text-embedding-3-large","object":"model","created":1705953180,"owned_by":"system"},{"id":"gpt-4","object":"model","created":1687882411,"owned_by":"openai"},{"id":"text-embedding-ada-002","object":"model","created":1671217299,"owned_by":"openai-internal"},{"id":"omni-moderation-latest","object":"model","created":1731689265,"owned_by":"system"},{"id":"tts-1-hd","object":"model","created":1699046015,"owned_by":"system"},{"id":"gpt-4o-mini-audio-preview","object":"model","created":1734387424,"owned_by":"system"},{"id":"gpt-4o-audio-preview","object":"model","created":1727460443,"owned_by":"system"},{"id":"o1-preview-2024-09-12","object":"model","created":1725648865,"owned_by":"system"},{"id":"gpt-4o-mini-realtime-preview","object":"model","created":1734387380,"owned_by":"system"},{"id":"gpt-4o-mini-realtime-preview-2024-12-17","object":"model","created":1734112601,"owned_by":"system"},{"id":"gpt-3.5-turbo-instruct-0914","object":"model","created":1694122472,"owned_by":"system"},{"id":"gpt-4o-mini-search-preview","object":"model","created":1741391161,"owned_by":"system"},{"id":"gpt-4-turbo-preview","object":"model","created":1706037777,"owned_by":"system"},{"id":"gpt-4-0125-preview","object":"model","created":1706037612,"owned_by":"system"},{"id":"tts-1-1106","object":"model","created":1699053241,"owned_by":"system"},{"id":"davinci-002","object":"model","created":1692634301,"owned_by":"system"},{"id":"gpt-3.5-turbo-1106","object":"model","created":1698959748,"owned_by":"system"},{"id":"gpt-4-turbo","object":"model","created":1712361441,"owned_by":"system"},{"id":"gpt-3.5-turbo-instruct","object":"model","created":1692901427,"owned_by":"system"},{"id":"gpt-3.5-turbo","object":"model","created":1677610602,"owned_by":"openai"},{"id":"chatgpt-4o-latest","object":"model","created":1723515131,"owned_by":"system"},{"id":"gpt-4o-mini-search-preview-2025-03-11","object":"model","created":1741390858,"owned_by":"system"},{"id":"gpt-4o-2024-11-20","object":"model","created":1739331543,"owned_by":"system"},{"id":"whisper-1","object":"model","created":1677532384,"owned_by":"openai-internal"},{"id":"gpt-3.5-turbo-0125","object":"model","created":1706048358,"owned_by":"system"},{"id":"gpt-4o-2024-05-13","object":"model","created":1715368132,"owned_by":"system"},{"id":"gpt-3.5-turbo-16k","object":"model","created":1683758102,"owned_by":"openai-internal"},{"id":"gpt-4-turbo-2024-04-09","object":"model","created":1712601677,"owned_by":"system"},{"id":"gpt-4-1106-preview","object":"model","created":1698957206,"owned_by":"system"},{"id":"o1-preview","object":"model","created":1725648897,"owned_by":"system"},{"id":"gpt-4-0613","object":"model","created":1686588896,"owned_by":"openai"},{"id":"gpt-4o-search-preview","object":"model","created":1741388720,"owned_by":"system"},{"id":"o1-2024-12-17","object":"model","created":1734326976,"owned_by":"system"},{"id":"o1-pro","object":"model","created":1742251791,"owned_by":"system"},{"id":"o1","object":"model","created":1734375816,"owned_by":"system"},{"id":"o1-pro-2025-03-19","object":"model","created":1742251504,"owned_by":"system"},{"id":"gpt-4.5-preview","object":"model","created":1740623059,"owned_by":"system"},{"id":"gpt-4.5-preview-2025-02-27","object":"model","created":1740623304,"owned_by":"system"},{"id":"gpt-4o-search-preview-2025-03-11","object":"model","created":1741388170,"owned_by":"system"},{"id":"o3-mini","object":"model","created":1737146383,"owned_by":"system"},{"id":"o3-mini-2025-01-31","object":"model","created":1738010200,"owned_by":"system"},{"id":"tts-1","object":"model","created":1681940951,"owned_by":"openai-internal"},{"id":"omni-moderation-2024-09-26","object":"model","created":1732734466,"owned_by":"system"},{"id":"text-embedding-3-small","object":"model","created":1705948997,"owned_by":"system"},{"id":"gpt-4o","object":"model","created":1 715367049,"owned_by":"system"},{"id":"gpt-4o-mini","object":"model","created":1721172741,"owned_by":"system"},{"id":"gpt-4o-2024-08-06","object":"model","created":1722814719,"owned_by":"system"},{"id":"gpt-4o-mini-2024-07-18","object":"model","created":1721172717,"owned_by":"system"},{"id":"o1-mini","object":"model","created":1725649008,"owned_by":"system"},{"id":"gpt-4o-mini-audio-preview-2024-12-17","object":"model","created":1734115920,"owned_by":"system"},{"id":"o1-mini-2024-09-12","object":"model","created":1725648979,"owned_by":"system"}]
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/dist-in/src/models/cache/openrouter-models.ts.html b/packages/kbot/coverage/kbot/dist-in/src/models/cache/openrouter-models.ts.html
deleted file mode 100644
index 01654c2f..00000000
--- a/packages/kbot/coverage/kbot/dist-in/src/models/cache/openrouter-models.ts.html
+++ /dev/null
@@ -1,958 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/dist-in/src/models/cache/openrouter-models.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/292
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/292
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- export enum E_OpenRouter_Models {
- MISTRAL_MINISTRAL_8B = "mistral/ministral-8b",
- DEEPSEEK_DEEPSEEK_V3_BASE_FREE = "deepseek/deepseek-v3-base:free",
- SCB10X_LLAMA3_1_TYPHOON2_8B_INSTRUCT = "scb10x/llama3.1-typhoon2-8b-instruct",
- SCB10X_LLAMA3_1_TYPHOON2_70B_INSTRUCT = "scb10x/llama3.1-typhoon2-70b-instruct",
- ALLENAI_MOLMO_7B_D_FREE = "allenai/molmo-7b-d:free",
- BYTEDANCE_RESEARCH_UI_TARS_72B_FREE = "bytedance-research/ui-tars-72b:free",
- QWEN_QWEN2_5_VL_3B_INSTRUCT_FREE = "qwen/qwen2.5-vl-3b-instruct:free",
- GOOGLE_GEMINI_2_5_PRO_EXP_03_25_FREE = "google/gemini-2.5-pro-exp-03-25:free",
- QWEN_QWEN2_5_VL_32B_INSTRUCT_FREE = "qwen/qwen2.5-vl-32b-instruct:free",
- DEEPSEEK_DEEPSEEK_CHAT_V3_0324_FREE = "deepseek/deepseek-chat-v3-0324:free",
- DEEPSEEK_DEEPSEEK_CHAT_V3_0324 = "deepseek/deepseek-chat-v3-0324",
- FEATHERLESS_QWERKY_72B_FREE = "featherless/qwerky-72b:free",
- OPENAI_O1_PRO = "openai/o1-pro",
- MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT_FREE = "mistralai/mistral-small-3.1-24b-instruct:free",
- MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT = "mistralai/mistral-small-3.1-24b-instruct",
- OPEN_R1_OLYMPICCODER_7B_FREE = "open-r1/olympiccoder-7b:free",
- OPEN_R1_OLYMPICCODER_32B_FREE = "open-r1/olympiccoder-32b:free",
- STEELSKULL_L3_3_ELECTRA_R1_70B = "steelskull/l3.3-electra-r1-70b",
- ALLENAI_OLMO_2_0325_32B_INSTRUCT = "allenai/olmo-2-0325-32b-instruct",
- GOOGLE_GEMMA_3_1B_IT_FREE = "google/gemma-3-1b-it:free",
- GOOGLE_GEMMA_3_4B_IT_FREE = "google/gemma-3-4b-it:free",
- GOOGLE_GEMMA_3_4B_IT = "google/gemma-3-4b-it",
- AI21_JAMBA_1_6_LARGE = "ai21/jamba-1.6-large",
- AI21_JAMBA_1_6_MINI = "ai21/jamba-1.6-mini",
- GOOGLE_GEMMA_3_12B_IT_FREE = "google/gemma-3-12b-it:free",
- GOOGLE_GEMMA_3_12B_IT = "google/gemma-3-12b-it",
- COHERE_COMMAND_A = "cohere/command-a",
- OPENAI_GPT_4O_MINI_SEARCH_PREVIEW = "openai/gpt-4o-mini-search-preview",
- OPENAI_GPT_4O_SEARCH_PREVIEW = "openai/gpt-4o-search-preview",
- TOKYOTECH_LLM_LLAMA_3_1_SWALLOW_70B_INSTRUCT_V0_3 = "tokyotech-llm/llama-3.1-swallow-70b-instruct-v0.3",
- REKAAI_REKA_FLASH_3_FREE = "rekaai/reka-flash-3:free",
- GOOGLE_GEMMA_3_27B_IT_FREE = "google/gemma-3-27b-it:free",
- GOOGLE_GEMMA_3_27B_IT = "google/gemma-3-27b-it",
- THEDRUMMER_ANUBIS_PRO_105B_V1 = "thedrummer/anubis-pro-105b-v1",
- LATITUDEGAMES_WAYFARER_LARGE_70B_LLAMA_3_3 = "latitudegames/wayfarer-large-70b-llama-3.3",
- THEDRUMMER_SKYFALL_36B_V2 = "thedrummer/skyfall-36b-v2",
- MICROSOFT_PHI_4_MULTIMODAL_INSTRUCT = "microsoft/phi-4-multimodal-instruct",
- PERPLEXITY_SONAR_REASONING_PRO = "perplexity/sonar-reasoning-pro",
- PERPLEXITY_SONAR_PRO = "perplexity/sonar-pro",
- PERPLEXITY_SONAR_DEEP_RESEARCH = "perplexity/sonar-deep-research",
- DEEPSEEK_DEEPSEEK_R1_ZERO_FREE = "deepseek/deepseek-r1-zero:free",
- QWEN_QWQ_32B_FREE = "qwen/qwq-32b:free",
- QWEN_QWQ_32B = "qwen/qwq-32b",
- QWEN_QWEN2_5_32B_INSTRUCT = "qwen/qwen2.5-32b-instruct",
- MOONSHOTAI_MOONLIGHT_16B_A3B_INSTRUCT_FREE = "moonshotai/moonlight-16b-a3b-instruct:free",
- NOUSRESEARCH_DEEPHERMES_3_LLAMA_3_8B_PREVIEW_FREE = "nousresearch/deephermes-3-llama-3-8b-preview:free",
- OPENAI_GPT_4_5_PREVIEW = "openai/gpt-4.5-preview",
- GOOGLE_GEMINI_2_0_FLASH_LITE_001 = "google/gemini-2.0-flash-lite-001",
- ANTHROPIC_CLAUDE_3_7_SONNET_BETA = "anthropic/claude-3.7-sonnet:beta",
- ANTHROPIC_CLAUDE_3_7_SONNET = "anthropic/claude-3.7-sonnet",
- ANTHROPIC_CLAUDE_3_7_SONNET_THINKING = "anthropic/claude-3.7-sonnet:thinking",
- PERPLEXITY_R1_1776 = "perplexity/r1-1776",
- MISTRALAI_MISTRAL_SABA = "mistralai/mistral-saba",
- COGNITIVECOMPUTATIONS_DOLPHIN3_0_R1_MISTRAL_24B_FREE = "cognitivecomputations/dolphin3.0-r1-mistral-24b:free",
- COGNITIVECOMPUTATIONS_DOLPHIN3_0_MISTRAL_24B_FREE = "cognitivecomputations/dolphin3.0-mistral-24b:free",
- META_LLAMA_LLAMA_GUARD_3_8B = "meta-llama/llama-guard-3-8b",
- OPENAI_O3_MINI_HIGH = "openai/o3-mini-high",
- DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_8B = "deepseek/deepseek-r1-distill-llama-8b",
- GOOGLE_GEMINI_2_0_FLASH_001 = "google/gemini-2.0-flash-001",
- GOOGLE_GEMINI_2_0_PRO_EXP_02_05_FREE = "google/gemini-2.0-pro-exp-02-05:free",
- QWEN_QWEN_VL_PLUS = "qwen/qwen-vl-plus",
- AION_LABS_AION_1_0 = "aion-labs/aion-1.0",
- AION_LABS_AION_1_0_MINI = "aion-labs/aion-1.0-mini",
- AION_LABS_AION_RP_LLAMA_3_1_8B = "aion-labs/aion-rp-llama-3.1-8b",
- QWEN_QWEN_VL_MAX = "qwen/qwen-vl-max",
- QWEN_QWEN_TURBO = "qwen/qwen-turbo",
- QWEN_QWEN2_5_VL_72B_INSTRUCT_FREE = "qwen/qwen2.5-vl-72b-instruct:free",
- QWEN_QWEN2_5_VL_72B_INSTRUCT = "qwen/qwen2.5-vl-72b-instruct",
- QWEN_QWEN_PLUS = "qwen/qwen-plus",
- QWEN_QWEN_MAX = "qwen/qwen-max",
- OPENAI_O3_MINI = "openai/o3-mini",
- DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_1_5B = "deepseek/deepseek-r1-distill-qwen-1.5b",
- MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501_FREE = "mistralai/mistral-small-24b-instruct-2501:free",
- MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501 = "mistralai/mistral-small-24b-instruct-2501",
- DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B_FREE = "deepseek/deepseek-r1-distill-qwen-32b:free",
- DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B = "deepseek/deepseek-r1-distill-qwen-32b",
- DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_14B_FREE = "deepseek/deepseek-r1-distill-qwen-14b:free",
- DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_14B = "deepseek/deepseek-r1-distill-qwen-14b",
- PERPLEXITY_SONAR_REASONING = "perplexity/sonar-reasoning",
- PERPLEXITY_SONAR = "perplexity/sonar",
- LIQUID_LFM_7B = "liquid/lfm-7b",
- LIQUID_LFM_3B = "liquid/lfm-3b",
- DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B_FREE = "deepseek/deepseek-r1-distill-llama-70b:free",
- DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B = "deepseek/deepseek-r1-distill-llama-70b",
- GOOGLE_GEMINI_2_0_FLASH_THINKING_EXP_FREE = "google/gemini-2.0-flash-thinking-exp:free",
- DEEPSEEK_DEEPSEEK_R1_FREE = "deepseek/deepseek-r1:free",
- DEEPSEEK_DEEPSEEK_R1 = "deepseek/deepseek-r1",
- SOPHOSYMPATHEIA_ROGUE_ROSE_103B_V0_2_FREE = "sophosympatheia/rogue-rose-103b-v0.2:free",
- MINIMAX_MINIMAX_01 = "minimax/minimax-01",
- MISTRALAI_CODESTRAL_2501 = "mistralai/codestral-2501",
- MICROSOFT_PHI_4 = "microsoft/phi-4",
- SAO10K_L3_1_70B_HANAMI_X1 = "sao10k/l3.1-70b-hanami-x1",
- DEEPSEEK_DEEPSEEK_CHAT_FREE = "deepseek/deepseek-chat:free",
- DEEPSEEK_DEEPSEEK_CHAT = "deepseek/deepseek-chat",
- GOOGLE_GEMINI_2_0_FLASH_THINKING_EXP_1219_FREE = "google/gemini-2.0-flash-thinking-exp-1219:free",
- SAO10K_L3_3_EURYALE_70B = "sao10k/l3.3-euryale-70b",
- OPENAI_O1 = "openai/o1",
- EVA_UNIT_01_EVA_LLAMA_3_33_70B = "eva-unit-01/eva-llama-3.33-70b",
- X_AI_GROK_2_VISION_1212 = "x-ai/grok-2-vision-1212",
- X_AI_GROK_2_1212 = "x-ai/grok-2-1212",
- COHERE_COMMAND_R7B_12_2024 = "cohere/command-r7b-12-2024",
- GOOGLE_GEMINI_2_0_FLASH_EXP_FREE = "google/gemini-2.0-flash-exp:free",
- META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE = "meta-llama/llama-3.3-70b-instruct:free",
- META_LLAMA_LLAMA_3_3_70B_INSTRUCT = "meta-llama/llama-3.3-70b-instruct",
- AMAZON_NOVA_LITE_V1 = "amazon/nova-lite-v1",
- AMAZON_NOVA_MICRO_V1 = "amazon/nova-micro-v1",
- AMAZON_NOVA_PRO_V1 = "amazon/nova-pro-v1",
- QWEN_QWQ_32B_PREVIEW_FREE = "qwen/qwq-32b-preview:free",
- QWEN_QWQ_32B_PREVIEW = "qwen/qwq-32b-preview",
- GOOGLE_LEARNLM_1_5_PRO_EXPERIMENTAL_FREE = "google/learnlm-1.5-pro-experimental:free",
- EVA_UNIT_01_EVA_QWEN_2_5_72B = "eva-unit-01/eva-qwen-2.5-72b",
- OPENAI_GPT_4O_2024_11_20 = "openai/gpt-4o-2024-11-20",
- MISTRALAI_MISTRAL_LARGE_2411 = "mistralai/mistral-large-2411",
- MISTRALAI_MISTRAL_LARGE_2407 = "mistralai/mistral-large-2407",
- MISTRALAI_PIXTRAL_LARGE_2411 = "mistralai/pixtral-large-2411",
- X_AI_GROK_VISION_BETA = "x-ai/grok-vision-beta",
- INFERMATIC_MN_INFEROR_12B = "infermatic/mn-inferor-12b",
- QWEN_QWEN_2_5_CODER_32B_INSTRUCT_FREE = "qwen/qwen-2.5-coder-32b-instruct:free",
- QWEN_QWEN_2_5_CODER_32B_INSTRUCT = "qwen/qwen-2.5-coder-32b-instruct",
- RAIFLE_SORCERERLM_8X22B = "raifle/sorcererlm-8x22b",
- EVA_UNIT_01_EVA_QWEN_2_5_32B = "eva-unit-01/eva-qwen-2.5-32b",
- THEDRUMMER_UNSLOPNEMO_12B = "thedrummer/unslopnemo-12b",
- ANTHROPIC_CLAUDE_3_5_HAIKU_BETA = "anthropic/claude-3.5-haiku:beta",
- ANTHROPIC_CLAUDE_3_5_HAIKU = "anthropic/claude-3.5-haiku",
- ANTHROPIC_CLAUDE_3_5_HAIKU_20241022_BETA = "anthropic/claude-3.5-haiku-20241022:beta",
- ANTHROPIC_CLAUDE_3_5_HAIKU_20241022 = "anthropic/claude-3.5-haiku-20241022",
- NEVERSLEEP_LLAMA_3_1_LUMIMAID_70B = "neversleep/llama-3.1-lumimaid-70b",
- ANTHRACITE_ORG_MAGNUM_V4_72B = "anthracite-org/magnum-v4-72b",
- ANTHROPIC_CLAUDE_3_5_SONNET_BETA = "anthropic/claude-3.5-sonnet:beta",
- ANTHROPIC_CLAUDE_3_5_SONNET = "anthropic/claude-3.5-sonnet",
- X_AI_GROK_BETA = "x-ai/grok-beta",
- MISTRALAI_MINISTRAL_8B = "mistralai/ministral-8b",
- MISTRALAI_MINISTRAL_3B = "mistralai/ministral-3b",
- QWEN_QWEN_2_5_7B_INSTRUCT = "qwen/qwen-2.5-7b-instruct",
- NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT_FREE = "nvidia/llama-3.1-nemotron-70b-instruct:free",
- NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT = "nvidia/llama-3.1-nemotron-70b-instruct",
- INFLECTION_INFLECTION_3_PRODUCTIVITY = "inflection/inflection-3-productivity",
- INFLECTION_INFLECTION_3_PI = "inflection/inflection-3-pi",
- GOOGLE_GEMINI_FLASH_1_5_8B = "google/gemini-flash-1.5-8b",
- THEDRUMMER_ROCINANTE_12B = "thedrummer/rocinante-12b",
- ANTHRACITE_ORG_MAGNUM_V2_72B = "anthracite-org/magnum-v2-72b",
- LIQUID_LFM_40B = "liquid/lfm-40b",
- META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE = "meta-llama/llama-3.2-3b-instruct:free",
- META_LLAMA_LLAMA_3_2_3B_INSTRUCT = "meta-llama/llama-3.2-3b-instruct",
- META_LLAMA_LLAMA_3_2_1B_INSTRUCT_FREE = "meta-llama/llama-3.2-1b-instruct:free",
- META_LLAMA_LLAMA_3_2_1B_INSTRUCT = "meta-llama/llama-3.2-1b-instruct",
- META_LLAMA_LLAMA_3_2_90B_VISION_INSTRUCT = "meta-llama/llama-3.2-90b-vision-instruct",
- META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT_FREE = "meta-llama/llama-3.2-11b-vision-instruct:free",
- META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT = "meta-llama/llama-3.2-11b-vision-instruct",
- QWEN_QWEN_2_5_72B_INSTRUCT_FREE = "qwen/qwen-2.5-72b-instruct:free",
- QWEN_QWEN_2_5_72B_INSTRUCT = "qwen/qwen-2.5-72b-instruct",
- QWEN_QWEN_2_5_VL_72B_INSTRUCT = "qwen/qwen-2.5-vl-72b-instruct",
- NEVERSLEEP_LLAMA_3_1_LUMIMAID_8B = "neversleep/llama-3.1-lumimaid-8b",
- OPENAI_O1_PREVIEW = "openai/o1-preview",
- OPENAI_O1_PREVIEW_2024_09_12 = "openai/o1-preview-2024-09-12",
- OPENAI_O1_MINI = "openai/o1-mini",
- OPENAI_O1_MINI_2024_09_12 = "openai/o1-mini-2024-09-12",
- MISTRALAI_PIXTRAL_12B = "mistralai/pixtral-12b",
- COHERE_COMMAND_R_PLUS_08_2024 = "cohere/command-r-plus-08-2024",
- COHERE_COMMAND_R_08_2024 = "cohere/command-r-08-2024",
- QWEN_QWEN_2_5_VL_7B_INSTRUCT_FREE = "qwen/qwen-2.5-vl-7b-instruct:free",
- QWEN_QWEN_2_5_VL_7B_INSTRUCT = "qwen/qwen-2.5-vl-7b-instruct",
- SAO10K_L3_1_EURYALE_70B = "sao10k/l3.1-euryale-70b",
- GOOGLE_GEMINI_FLASH_1_5_8B_EXP = "google/gemini-flash-1.5-8b-exp",
- AI21_JAMBA_1_5_MINI = "ai21/jamba-1-5-mini",
- AI21_JAMBA_1_5_LARGE = "ai21/jamba-1-5-large",
- MICROSOFT_PHI_3_5_MINI_128K_INSTRUCT = "microsoft/phi-3.5-mini-128k-instruct",
- NOUSRESEARCH_HERMES_3_LLAMA_3_1_70B = "nousresearch/hermes-3-llama-3.1-70b",
- NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B = "nousresearch/hermes-3-llama-3.1-405b",
- OPENAI_CHATGPT_4O_LATEST = "openai/chatgpt-4o-latest",
- SAO10K_L3_LUNARIS_8B = "sao10k/l3-lunaris-8b",
- AETHERWIING_MN_STARCANNON_12B = "aetherwiing/mn-starcannon-12b",
- OPENAI_GPT_4O_2024_08_06 = "openai/gpt-4o-2024-08-06",
- META_LLAMA_LLAMA_3_1_405B = "meta-llama/llama-3.1-405b",
- NOTHINGIISREAL_MN_CELESTE_12B = "nothingiisreal/mn-celeste-12b",
- PERPLEXITY_LLAMA_3_1_SONAR_SMALL_128K_ONLINE = "perplexity/llama-3.1-sonar-small-128k-online",
- PERPLEXITY_LLAMA_3_1_SONAR_LARGE_128K_ONLINE = "perplexity/llama-3.1-sonar-large-128k-online",
- META_LLAMA_LLAMA_3_1_8B_INSTRUCT_FREE = "meta-llama/llama-3.1-8b-instruct:free",
- META_LLAMA_LLAMA_3_1_8B_INSTRUCT = "meta-llama/llama-3.1-8b-instruct",
- META_LLAMA_LLAMA_3_1_405B_INSTRUCT = "meta-llama/llama-3.1-405b-instruct",
- META_LLAMA_LLAMA_3_1_70B_INSTRUCT = "meta-llama/llama-3.1-70b-instruct",
- MISTRALAI_CODESTRAL_MAMBA = "mistralai/codestral-mamba",
- MISTRALAI_MISTRAL_NEMO_FREE = "mistralai/mistral-nemo:free",
- MISTRALAI_MISTRAL_NEMO = "mistralai/mistral-nemo",
- OPENAI_GPT_4O_MINI = "openai/gpt-4o-mini",
- OPENAI_GPT_4O_MINI_2024_07_18 = "openai/gpt-4o-mini-2024-07-18",
- QWEN_QWEN_2_7B_INSTRUCT_FREE = "qwen/qwen-2-7b-instruct:free",
- QWEN_QWEN_2_7B_INSTRUCT = "qwen/qwen-2-7b-instruct",
- GOOGLE_GEMMA_2_27B_IT = "google/gemma-2-27b-it",
- ALPINDALE_MAGNUM_72B = "alpindale/magnum-72b",
- GOOGLE_GEMMA_2_9B_IT_FREE = "google/gemma-2-9b-it:free",
- GOOGLE_GEMMA_2_9B_IT = "google/gemma-2-9b-it",
- 01_AI_YI_LARGE = "01-ai/yi-large",
- AI21_JAMBA_INSTRUCT = "ai21/jamba-instruct",
- ANTHROPIC_CLAUDE_3_5_SONNET_20240620_BETA = "anthropic/claude-3.5-sonnet-20240620:beta",
- ANTHROPIC_CLAUDE_3_5_SONNET_20240620 = "anthropic/claude-3.5-sonnet-20240620",
- SAO10K_L3_EURYALE_70B = "sao10k/l3-euryale-70b",
- COGNITIVECOMPUTATIONS_DOLPHIN_MIXTRAL_8X22B = "cognitivecomputations/dolphin-mixtral-8x22b",
- QWEN_QWEN_2_72B_INSTRUCT = "qwen/qwen-2-72b-instruct",
- MISTRALAI_MISTRAL_7B_INSTRUCT_FREE = "mistralai/mistral-7b-instruct:free",
- MISTRALAI_MISTRAL_7B_INSTRUCT = "mistralai/mistral-7b-instruct",
- MISTRALAI_MISTRAL_7B_INSTRUCT_V0_3 = "mistralai/mistral-7b-instruct-v0.3",
- NOUSRESEARCH_HERMES_2_PRO_LLAMA_3_8B = "nousresearch/hermes-2-pro-llama-3-8b",
- MICROSOFT_PHI_3_MINI_128K_INSTRUCT_FREE = "microsoft/phi-3-mini-128k-instruct:free",
- MICROSOFT_PHI_3_MINI_128K_INSTRUCT = "microsoft/phi-3-mini-128k-instruct",
- MICROSOFT_PHI_3_MEDIUM_128K_INSTRUCT_FREE = "microsoft/phi-3-medium-128k-instruct:free",
- MICROSOFT_PHI_3_MEDIUM_128K_INSTRUCT = "microsoft/phi-3-medium-128k-instruct",
- NEVERSLEEP_LLAMA_3_LUMIMAID_70B = "neversleep/llama-3-lumimaid-70b",
- GOOGLE_GEMINI_FLASH_1_5 = "google/gemini-flash-1.5",
- OPENAI_GPT_4O = "openai/gpt-4o",
- OPENAI_GPT_4O_EXTENDED = "openai/gpt-4o:extended",
- OPENAI_GPT_4O_2024_05_13 = "openai/gpt-4o-2024-05-13",
- META_LLAMA_LLAMA_GUARD_2_8B = "meta-llama/llama-guard-2-8b",
- NEVERSLEEP_LLAMA_3_LUMIMAID_8B_EXTENDED = "neversleep/llama-3-lumimaid-8b:extended",
- NEVERSLEEP_LLAMA_3_LUMIMAID_8B = "neversleep/llama-3-lumimaid-8b",
- SAO10K_FIMBULVETR_11B_V2 = "sao10k/fimbulvetr-11b-v2",
- META_LLAMA_LLAMA_3_8B_INSTRUCT_FREE = "meta-llama/llama-3-8b-instruct:free",
- META_LLAMA_LLAMA_3_8B_INSTRUCT = "meta-llama/llama-3-8b-instruct",
- META_LLAMA_LLAMA_3_70B_INSTRUCT = "meta-llama/llama-3-70b-instruct",
- MISTRALAI_MIXTRAL_8X22B_INSTRUCT = "mistralai/mixtral-8x22b-instruct",
- MICROSOFT_WIZARDLM_2_8X22B = "microsoft/wizardlm-2-8x22b",
- MICROSOFT_WIZARDLM_2_7B = "microsoft/wizardlm-2-7b",
- GOOGLE_GEMINI_PRO_1_5 = "google/gemini-pro-1.5",
- OPENAI_GPT_4_TURBO = "openai/gpt-4-turbo",
- COHERE_COMMAND_R_PLUS = "cohere/command-r-plus",
- COHERE_COMMAND_R_PLUS_04_2024 = "cohere/command-r-plus-04-2024",
- SOPHOSYMPATHEIA_MIDNIGHT_ROSE_70B = "sophosympatheia/midnight-rose-70b",
- COHERE_COMMAND = "cohere/command",
- COHERE_COMMAND_R = "cohere/command-r",
- ANTHROPIC_CLAUDE_3_HAIKU_BETA = "anthropic/claude-3-haiku:beta",
- ANTHROPIC_CLAUDE_3_HAIKU = "anthropic/claude-3-haiku",
- ANTHROPIC_CLAUDE_3_OPUS_BETA = "anthropic/claude-3-opus:beta",
- ANTHROPIC_CLAUDE_3_OPUS = "anthropic/claude-3-opus",
- ANTHROPIC_CLAUDE_3_SONNET_BETA = "anthropic/claude-3-sonnet:beta",
- ANTHROPIC_CLAUDE_3_SONNET = "anthropic/claude-3-sonnet",
- COHERE_COMMAND_R_03_2024 = "cohere/command-r-03-2024",
- MISTRALAI_MISTRAL_LARGE = "mistralai/mistral-large",
- GOOGLE_GEMMA_7B_IT = "google/gemma-7b-it",
- OPENAI_GPT_3_5_TURBO_0613 = "openai/gpt-3.5-turbo-0613",
- OPENAI_GPT_4_TURBO_PREVIEW = "openai/gpt-4-turbo-preview",
- NOUSRESEARCH_NOUS_HERMES_2_MIXTRAL_8X7B_DPO = "nousresearch/nous-hermes-2-mixtral-8x7b-dpo",
- MISTRALAI_MISTRAL_MEDIUM = "mistralai/mistral-medium",
- MISTRALAI_MISTRAL_SMALL = "mistralai/mistral-small",
- MISTRALAI_MISTRAL_TINY = "mistralai/mistral-tiny",
- MISTRALAI_MISTRAL_7B_INSTRUCT_V0_2 = "mistralai/mistral-7b-instruct-v0.2",
- COGNITIVECOMPUTATIONS_DOLPHIN_MIXTRAL_8X7B = "cognitivecomputations/dolphin-mixtral-8x7b",
- GOOGLE_GEMINI_PRO_VISION = "google/gemini-pro-vision",
- GOOGLE_GEMINI_PRO = "google/gemini-pro",
- MISTRALAI_MIXTRAL_8X7B = "mistralai/mixtral-8x7b",
- MISTRALAI_MIXTRAL_8X7B_INSTRUCT = "mistralai/mixtral-8x7b-instruct",
- OPENCHAT_OPENCHAT_7B_FREE = "openchat/openchat-7b:free",
- OPENCHAT_OPENCHAT_7B = "openchat/openchat-7b",
- NEVERSLEEP_NOROMAID_20B = "neversleep/noromaid-20b",
- ANTHROPIC_CLAUDE_2_1_BETA = "anthropic/claude-2.1:beta",
- ANTHROPIC_CLAUDE_2_1 = "anthropic/claude-2.1",
- ANTHROPIC_CLAUDE_2_BETA = "anthropic/claude-2:beta",
- ANTHROPIC_CLAUDE_2 = "anthropic/claude-2",
- TEKNIUM_OPENHERMES_2_5_MISTRAL_7B = "teknium/openhermes-2.5-mistral-7b",
- UNDI95_TOPPY_M_7B_FREE = "undi95/toppy-m-7b:free",
- UNDI95_TOPPY_M_7B = "undi95/toppy-m-7b",
- ALPINDALE_GOLIATH_120B = "alpindale/goliath-120b",
- OPENROUTER_AUTO = "openrouter/auto",
- OPENAI_GPT_3_5_TURBO_1106 = "openai/gpt-3.5-turbo-1106",
- OPENAI_GPT_4_1106_PREVIEW = "openai/gpt-4-1106-preview",
- GOOGLE_PALM_2_CHAT_BISON_32K = "google/palm-2-chat-bison-32k",
- GOOGLE_PALM_2_CODECHAT_BISON_32K = "google/palm-2-codechat-bison-32k",
- JONDURBIN_AIROBOROS_L2_70B = "jondurbin/airoboros-l2-70b",
- XWIN_LM_XWIN_LM_70B = "xwin-lm/xwin-lm-70b",
- OPENAI_GPT_3_5_TURBO_INSTRUCT = "openai/gpt-3.5-turbo-instruct",
- MISTRALAI_MISTRAL_7B_INSTRUCT_V0_1 = "mistralai/mistral-7b-instruct-v0.1",
- PYGMALIONAI_MYTHALION_13B = "pygmalionai/mythalion-13b",
- OPENAI_GPT_3_5_TURBO_16K = "openai/gpt-3.5-turbo-16k",
- OPENAI_GPT_4_32K = "openai/gpt-4-32k",
- OPENAI_GPT_4_32K_0314 = "openai/gpt-4-32k-0314",
- NOUSRESEARCH_NOUS_HERMES_LLAMA2_13B = "nousresearch/nous-hermes-llama2-13b",
- MANCER_WEAVER = "mancer/weaver",
- HUGGINGFACEH4_ZEPHYR_7B_BETA_FREE = "huggingfaceh4/zephyr-7b-beta:free",
- ANTHROPIC_CLAUDE_2_0_BETA = "anthropic/claude-2.0:beta",
- ANTHROPIC_CLAUDE_2_0 = "anthropic/claude-2.0",
- UNDI95_REMM_SLERP_L2_13B = "undi95/remm-slerp-l2-13b",
- GOOGLE_PALM_2_CHAT_BISON = "google/palm-2-chat-bison",
- GOOGLE_PALM_2_CODECHAT_BISON = "google/palm-2-codechat-bison",
- GRYPHE_MYTHOMAX_L2_13B_FREE = "gryphe/mythomax-l2-13b:free",
- GRYPHE_MYTHOMAX_L2_13B = "gryphe/mythomax-l2-13b",
- META_LLAMA_LLAMA_2_13B_CHAT = "meta-llama/llama-2-13b-chat",
- META_LLAMA_LLAMA_2_70B_CHAT = "meta-llama/llama-2-70b-chat",
- OPENAI_GPT_3_5_TURBO = "openai/gpt-3.5-turbo",
- OPENAI_GPT_3_5_TURBO_0125 = "openai/gpt-3.5-turbo-0125",
- OPENAI_GPT_4 = "openai/gpt-4",
- OPENAI_GPT_4_0314 = "openai/gpt-4-0314"
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/dist-in/src/models/cache/openrouter.ts.html b/packages/kbot/coverage/kbot/dist-in/src/models/cache/openrouter.ts.html
deleted file mode 100644
index abe96061..00000000
--- a/packages/kbot/coverage/kbot/dist-in/src/models/cache/openrouter.ts.html
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/dist-in/src/models/cache/openrouter.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1 export const models = [{"id":"meta-llama/llama-4-maverick:free","name":"Meta: Llama 4 Maverick (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743881822,"top_provider":{"context_length":256000,"max_completion_tokens":null,"is_moderated":false}},{"id":"meta-llama/llama-4-maverick","name":"Meta: Llama 4 Maverick","pricing":{"prompt":"0.0000002","completion":"0.0000006","request":"0","image":"0.0006684","web_search":"0","internal_reasoning":"0"},"created":1743881822,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"meta-llama/llama-4-scout:free","name":"Meta: Llama 4 Scout (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743881519,"top_provider":{"context_length":512000,"max_completion_tokens":null,"is_moderated":false}},{"id":"meta-llama/llama-4-scout","name":"Meta: Llama 4 Scout","pricing":{"prompt":"0.0000001","completion":"0.0000003","request":"0","image":"0.0003342","web_search":"0","internal_reasoning":"0"},"created":1743881519,"top_provider":{"context_length":131072,"max_completion_tokens":4096,"is_moderated":false}},{"id":"google/gemini-2.5-pro-preview-03-25","name":"Google: Gemini 2.5 Pro Preview","pricing":{"prompt":"0.00000125","completion":"0.00001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743780493,"top_provider":{"context_length":1000000,"max_completion_tokens":65535,"is_moderated":false}},{"id":"openrouter/quasar-alpha","name":"Quasar Alpha","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743626809,"top_provider":{"context_length":1000000,"max_completion_tokens":32000,"is_moderated":true}},{"id":"all-hands/openhands-lm-32b-v0.1","name":"OpenHands LM 32B V0.1","pricing":{"prompt":"0.0000026","completion":"0.0000034","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743613013,"top_provider":{"context_length":16384,"max_completion_tokens":4096,"is_moderated":false}},{"id":"mistral/ministral-8b","name":"Mistral: Ministral 8B","pricing":{"prompt":"0.0000001","completion":"0.0000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743430021,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-v3-base:free","name":"DeepSeek: DeepSeek V3 Base (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743272023,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"scb10x/llama3.1-typhoon2-8b-instruct","name":"Typhoon2 8B Instruct","pricing":{"prompt":"0.00000018","completion":"0.00000018","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743196511,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"scb10x/llama3.1-typhoon2-70b-instruct","name":"Typhoon2 70B Instruct","pricing":{"prompt":"0.00000088","completion":"0.00000088","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743196170,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"allenai/molmo-7b-d:free","name":"AllenAI: Molmo 7B D (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743023247,"top_provider":{"context_length":4096,"max_completion_tokens":null,"is_moderated":false}},{"id":"bytedance-research/ui-tars-72b:free","name":"Bytedance: UI-TARS 72B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743020065,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwen2.5-vl-3b-instruct:free","name":"Qwen: Qwen2.5 VL 3B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1743014573,"top_provider":{"context_length":64000,"max_completion_tokens":null,"is_moderated":false}},{"id":"google/gemini-2.5-pro-exp-03-25:free","name":"Google: Gemini 2.5 Pro Experimental (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742922099,"top_provider":{"context_length":1000000,"max_completion_tokens":65535,"is_moderated":false}},{"id":"qwen/qwen2.5-vl-32b-instruct:free","name":"Qwen: Qwen2.5 VL 32B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742839838,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwen2.5-vl-32b-instruct","name":"Qwen: Qwen2.5 VL 32B Instruct","pricing":{"prompt":"0.0000009","completion":"0.0000009","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742839838,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-chat-v3-0324:free","name":"DeepSeek: DeepSeek V3 0324 (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742824755,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-chat-v3-0324","name":"DeepSeek: DeepSeek V3 0324","pricing":{"prompt":"0.00000027","completion":"0.0000011","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000007"},"created":1742824755,"top_provider":{"context_length":64000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"featherless/qwerky-72b:free","name":"Qwerky 72B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742481597,"top_provider":{"context_length":32768,"max_completion_tokens":4096,"is_moderated":false}},{"id":"openai/o1-pro","name":"OpenAI: o1-pro","pricing":{"prompt":"0.00015","completion":"0.0006","request":"0","image":"0.21675","web_search":"0","internal_reasoning":"0"},"created":1742423211,"top_provider":{"context_length":200000,"max_completion_tokens":100000,"is_moderated":true}},{"id":"mistralai/mistral-small-3.1-24b-instruct:free","name":"Mistral: Mistral Small 3.1 24B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742238937,"top_provider":{"context_length":96000,"max_completion_tokens":96000,"is_moderated":false}},{"id":"mistralai/mistral-small-3.1-24b-instruct","name":"Mistral: Mistral Small 3.1 24B","pricing":{"prompt":"0.0000001","completion":"0.0000003","request":"0","image":"0.0009264","web_search":"0","internal_reasoning":"0"},"created":1742238937,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"open-r1/olympiccoder-7b:free","name":"OlympicCoder 7B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742078265,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"open-r1/olympiccoder-32b:free","name":"OlympicCoder 32B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742077228,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"steelskull/l3.3-electra-r1-70b","name":"SteelSkull: L3.3 Electra R1 70B","pricing":{"prompt":"0.0000007","completion":"0.00000095","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1742067611,"top_provider":{"context_length":131072,"max_completion_tokens":131072,"is_moderated":false}},{"id":"allenai/olmo-2-0325-32b-instruct","name":"AllenAI: Olmo 2 32B Instruct","pricing":{"prompt":"0.000001","completion":"0.0000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741988556,"top_provider":{"context_length":4096,"max_completion_tokens":4096,"is_moderated":false}},{"id":"google/gemma-3-1b-it:free","name":"Google: Gemma 3 1B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741963556,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"google/gemma-3-4b-it:free","name":"Google: Gemma 3 4B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741905510,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"google/gemma-3-4b-it","name":"Google: Gemma 3 4B","pricing":{"prompt":"0.00000002","completion":"0.00000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741905510,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"ai21/jamba-1.6-large","name":"AI21: Jamba 1.6 Large","pricing":{"prompt":"0.000002","completion":"0.000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741905173,"top_provider":{"context_length":256000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"ai21/jamba-1.6-mini","name":"AI21: Jamba Mini 1.6","pricing":{"prompt":"0.0000002","completion":"0.0000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741905171,"top_provider":{"context_length":256000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"google/gemma-3-12b-it:free","name":"Google: Gemma 3 12B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741902625,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"google/gemma-3-12b-it","name":"Google: Gemma 3 12B","pricing":{"prompt":"0.00000005","completion":"0.0000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741902625,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"cohere/command-a","name":"Cohere: Command A","pricing":{"prompt":"0.0000025","completion":"0.00001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741894342,"top_provider":{"context_length":256000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"openai/gpt-4o-mini-search-preview","name":"OpenAI: GPT-4o-mini Search Preview","pricing":{"prompt":"0.00000015","completion":"0.0000006","request":"0.0275","image":"0.000217","web_search":"0","internal_reasoning":"0"},"created":1741818122,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"openai/gpt-4o-search-preview","name":"OpenAI: GPT-4o Search Preview","pricing":{"prompt":"0.0000025","completion":"0.00001","request":"0.035","image":"0.003613","web_search":"0","internal_reasoning":"0"},"created":1741817949,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"tokyotech-llm/llama-3.1-swallow-70b-instruct-v0.3","name":"Swallow: Llama 3.1 Swallow 70B Instruct V0.3","pricing":{"prompt":"0.0000006","completion":"0.0000012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741813936,"top_provider":{"context_length":16384,"max_completion_tokens":4096,"is_moderated":false}},{"id":"rekaai/reka-flash-3:free","name":"Reka: Flash 3 (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741812813,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"google/gemma-3-27b-it:free","name":"Google: Gemma 3 27B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741756359,"top_provider":{"context_length":96000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"google/gemma-3-27b-it","name":"Google: Gemma 3 27B","pricing":{"prompt":"0.0000001","completion":"0.0000002","request":"0","image":"0.0000256","web_search":"0","internal_reasoning":"0"},"created":1741756359,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"thedrummer/anubis-pro-105b-v1","name":"TheDrummer: Anubis Pro 105B V1","pricing":{"prompt":"0.0000008","completion":"0.000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741642290,"top_provider":{"context_length":131072,"max_completion_tokens":131072,"is_moderated":false}},{"id":"latitudegames/wayfarer-large-70b-llama-3.3","name":"LatitudeGames: Wayfarer Large 70B Llama 3.3","pricing":{"prompt":"0.0000008","completion":"0.0000009","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741636885,"top_provider":{"context_length":131072,"max_completion_tokens":131072,"is_moderated":false}},{"id":"thedrummer/skyfall-36b-v2","name":"TheDrummer: Skyfall 36B V2","pricing":{"prompt":"0.0000005","completion":"0.0000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741636566,"top_provider":{"context_length":32768,"max_completion_tokens":32768,"is_moderated":false}},{"id":"microsoft/phi-4-multimodal-instruct","name":"Microsoft: Phi 4 Multimodal Instruct","pricing":{"prompt":"0.00000005","completion":"0.0000001","request":"0","image":"0.00017685","web_search":"0","internal_reasoning":"0"},"created":1741396284,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"perplexity/sonar-reasoning-pro","name":"Perplexity: Sonar Reasoning Pro","pricing":{"prompt":"0.000002","completion":"0.000008","request":"0","image":"0","web_search":"0.005","internal_reasoning":"0"},"created":1741313308,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"perplexity/sonar-pro","name":"Perplexity: Sonar Pro","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0","web_search":"0.005","internal_reasoning":"0"},"created":1741312423,"top_provider":{"context_length":200000,"max_completion_tokens":8000,"is_moderated":false}},{"id":"perplexity/sonar-deep-research","name":"Perplexity: Sonar Deep Research","pricing":{"prompt":"0.000002","completion":"0.000008","request":"0","image":"0","web_search":"0.005","internal_reasoning":"0.000003"},"created":1741311246,"top_provider":{"context_length":200000,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-r1-zero:free","name":"DeepSeek: DeepSeek R1 Zero (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741297434,"top_provider":{"context_length":163840,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwq-32b:free","name":"Qwen: QwQ 32B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741208814,"top_provider":{"context_length":40000,"max_completion_tokens":40000,"is_moderated":false}},{"id":"qwen/qwq-32b","name":"Qwen: QwQ 32B","pricing":{"prompt":"0.00000015","completion":"0.0000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741208814,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwen2.5-32b-instruct","name":"Qwen: Qwen2.5 32B Instruct","pricing":{"prompt":"0.00000079","completion":"0.00000079","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1741042744,"top_provider":{"context_length":131072,"max_completion_tokens":131072,"is_moderated":false}},{"id":"moonshotai/moonlight-16b-a3b-instruct:free","name":"Moonshot AI: Moonlight 16B A3B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1740719801,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"nousresearch/deephermes-3-llama-3-8b-preview:free","name":"Nous: DeepHermes 3 Llama 3 8B Preview (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1740719372,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"openai/gpt-4.5-preview","name":"OpenAI: GPT-4.5 (Preview)","pricing":{"prompt":"0.000075","completion":"0.00015","request":"0","image":"0.108375","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000375"},"created":1740687810,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"google/gemini-2.0-flash-lite-001","name":"Google: Gemini 2.0 Flash Lite","pricing":{"prompt":"0.000000075","completion":"0.0000003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1740506212,"top_provider":{"context_length":1048576,"max_completion_tokens":8192,"is_moderated":false}},{"id":"anthropic/claude-3.7-sonnet","name":"Anthropic: Claude 3.7 Sonnet","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1740422110,"top_provider":{"context_length":200000,"max_completion_tokens":64000,"is_moderated":false}},{"id":"anthropic/claude-3.7-sonnet:thinking","name":"Anthropic: Claude 3.7 Sonnet (thinking)","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1740422110,"top_provider":{"context_length":200000,"max_completion_tokens":64000,"is_moderated":false}},{"id":"anthropic/claude-3.7-sonnet:beta","name":"Anthropic: Claude 3.7 Sonnet (self-moderated)","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1740422110,"top_provider":{"context_length":200000,"max_completion_tokens":128000,"is_moderated":false}},{"id":"perplexity/r1-1776","name":"Perplexity: R1 1776","pricing":{"prompt":"0.000002","completion":"0.000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1740004929,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/mistral-saba","name":"Mistral: Saba","pricing":{"prompt":"0.0000002","completion":"0.0000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1739803239,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"cognitivecomputations/dolphin3.0-r1-mistral-24b:free","name":"Dolphin3.0 R1 Mistral 24B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1739462498,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"cognitivecomputations/dolphin3.0-mistral-24b:free","name":"Dolphin3.0 Mistral 24B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1739462019,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"meta-llama/llama-guard-3-8b","name":"Llama Guard 3 8B","pricing":{"prompt":"0.0000002","completion":"0.0000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1739401318,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"openai/o3-mini-high","name":"OpenAI: o3 Mini High","pricing":{"prompt":"0.0000011","completion":"0.0000044","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000055"},"created":1739372611,"top_provider":{"context_length":200000,"max_completion_tokens":100000,"is_moderated":true}},{"id":"deepseek/deepseek-r1-distill-llama-8b","name":"DeepSeek: R1 Distill Llama 8B","pricing":{"prompt":"0.00000004","completion":"0.00000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738937718,"top_provider":{"context_length":32000,"max_completion_tokens":32000,"is_moderated":false}},{"id":"google/gemini-2.0-flash-001","name":"Google: Gemini 2.0 Flash","pricing":{"prompt":"0.0000001","completion":"0.0000004","request":"0","image":"0.0000258","web_search":"0","internal_reasoning":"0"},"created":1738769413,"top_provider":{"context_length":1000000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"google/gemini-2.0-pro-exp-02-05:free","name":"Google: Gemini 2.0 Pro Experimental (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738768044,"top_provider":{"context_length":2000000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"qwen/qwen-vl-plus","name":"Qwen: Qwen VL Plus","pricing":{"prompt":"0.00000021","completion":"0.00000063","request":"0","image":"0.0002688","web_search":"0","internal_reasoning":"0"},"created":1738731255,"top_provider":{"context_length":7500,"max_completion_tokens":1500,"is_moderated":false}},{"id":"aion-labs/aion-1.0","name":"AionLabs: Aion-1.0","pricing":{"prompt":"0.000004","completion":"0.000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738697557,"top_provider":{"context_length":131072,"max_completion_tokens":32768,"is_moderated":false}},{"id":"aion-labs/aion-1.0-mini","name":"AionLabs: Aion-1.0-Mini","pricing":{"prompt":"0.0000007","completion":"0.0000014","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738697107,"top_provider":{"context_length":131072,"max_completion_tokens":32768,"is_moderated":false}},{"id":"aion-labs/aion-rp-llama-3.1-8b","name":"AionLabs: Aion-RP 1.0 (8B)","pricing":{"prompt":"0.0000002","completion":"0.0000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738696718,"top_provider":{"context_length":32768,"max_completion_tokens":32768,"is_moderated":false}},{"id":"qwen/qwen-vl-max","name":"Qwen: Qwen VL Max","pricing":{"prompt":"0.0000008","completion":"0.0000032","request":"0","image":"0.001024","web_search":"0","internal_reasoning":"0"},"created":1738434304,"top_provider":{"context_length":7500,"max_completion_tokens":1500,"is_moderated":false}},{"id":"qwen/qwen-turbo","name":"Qwen: Qwen-Turbo","pricing":{"prompt":"0.00000005","completion":"0.0000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738410974,"top_provider":{"context_length":1000000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"qwen/qwen2.5-vl-72b-instruct:free","name":"Qwen: Qwen2.5 VL 72B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738410311,"top_provider":{"context_length":131072,"max_completion_tokens":2048,"is_moderated":false}},{"id":"qwen/qwen2.5-vl-72b-instruct","name":"Qwen: Qwen2.5 VL 72B Instruct","pricing":{"prompt":"0.0000007","completion":"0.0000007","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738410311,"top_provider":{"context_length":32000,"max_completion_tokens":32000,"is_moderated":false}},{"id":"qwen/qwen-plus","name":"Qwen: Qwen-Plus","pricing":{"prompt":"0.0000004","completion":"0.0000012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738409840,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"qwen/qwen-max","name":"Qwen: Qwen-Max ","pricing":{"prompt":"0.0000016","completion":"0.0000064","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738402289,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"openai/o3-mini","name":"OpenAI: o3 Mini","pricing":{"prompt":"0.0000011","completion":"0.0000044","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000055"},"created":1738351721,"top_provider":{"context_length":200000,"max_completion_tokens":100000,"is_moderated":true}},{"id":"deepseek/deepseek-r1-distill-qwen-1.5b","name":"DeepSeek: R1 Distill Qwen 1.5B","pricing":{"prompt":"0.00000018","completion":"0.00000018","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738328067,"top_provider":{"context_length":131072,"max_completion_tokens":32768,"is_moderated":false}},{"id":"mistralai/mistral-small-24b-instruct-2501:free","name":"Mistral: Mistral Small 3 (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738255409,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/mistral-small-24b-instruct-2501","name":"Mistral: Mistral Small 3","pricing":{"prompt":"0.00000007","completion":"0.00000014","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738255409,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"deepseek/deepseek-r1-distill-qwen-32b:free","name":"DeepSeek: R1 Distill Qwen 32B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738194830,"top_provider":{"context_length":16000,"max_completion_tokens":16000,"is_moderated":false}},{"id":"deepseek/deepseek-r1-distill-qwen-32b","name":"DeepSeek: R1 Distill Qwen 32B","pricing":{"prompt":"0.00000012","completion":"0.00000018","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738194830,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"deepseek/deepseek-r1-distill-qwen-14b:free","name":"DeepSeek: R1 Distill Qwen 14B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738193940,"top_provider":{"context_length":64000,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-r1-distill-qwen-14b","name":"DeepSeek: R1 Distill Qwen 14B","pricing":{"prompt":"0.00000015","completion":"0.00000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738193940,"top_provider":{"context_length":64000,"max_completion_tokens":64000,"is_moderated":false}},{"id":"perplexity/sonar-reasoning","name":"Perplexity: Sonar Reasoning","pricing":{"prompt":"0.000001","completion":"0.000005","request":"0.005","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738131107,"top_provider":{"context_length":127000,"max_completion_tokens":null,"is_moderated":false}},{"id":"perplexity/sonar","name":"Perplexity: Sonar","pricing":{"prompt":"0.000001","completion":"0.000001","request":"0.005","image":"0","web_search":"0","internal_reasoning":"0"},"created":1738013808,"top_provider":{"context_length":127072,"max_completion_tokens":null,"is_moderated":false}},{"id":"liquid/lfm-7b","name":"Liquid: LFM 7B","pricing":{"prompt":"0.00000001","completion":"0.00000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1737806883,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"liquid/lfm-3b","name":"Liquid: LFM 3B","pricing":{"prompt":"0.00000002","completion":"0.00000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1737806501,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-r1-distill-llama-70b:free","name":"DeepSeek: R1 Distill Llama 70B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1737663169,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-r1-distill-llama-70b","name":"DeepSeek: R1 Distill Llama 70B","pricing":{"prompt":"0.00000023","completion":"0.00000069","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1737663169,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"google/gemini-2.0-flash-thinking-exp:free","name":"Google: Gemini 2.0 Flash Thinking Experimental 01-21 (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1737547899,"top_provider":{"context_length":1048576,"max_completion_tokens":65536,"is_moderated":false}},{"id":"deepseek/deepseek-r1:free","name":"DeepSeek: R1 (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1737381095,"top_provider":{"context_length":163840,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-r1","name":"DeepSeek: R1","pricing":{"prompt":"0.00000055","completion":"0.00000219","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1737381095,"top_provider":{"context_length":163840,"max_completion_tokens":163840,"is_moderated":false}},{"id":"sophosympatheia/rogue-rose-103b-v0.2:free","name":"Rogue Rose 103B v0.2 (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1737195189,"top_provider":{"context_length":4096,"max_completion_tokens":null,"is_moderated":false}},{"id":"minimax/minimax-01","name":"MiniMax: MiniMax-01","pricing":{"prompt":"0.0000002","completion":"0.0000011","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1736915462,"top_provider":{"context_length":1000192,"max_completion_tokens":1000192,"is_moderated":false}},{"id":"mistralai/codestral-2501","name":"Mistral: Codestral 2501","pricing":{"prompt":"0.0000003","completion":"0.0000009","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1736895522,"top_provider":{"context_length":262144,"max_completion_tokens":null,"is_moderated":false}},{"id":"microsoft/phi-4","name":"Microsoft: Phi 4","pricing":{"prompt":"0.00000007","completion":"0.00000014","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1736489872,"top_provider":{"context_length":16384,"max_completion_tokens":8192,"is_moderated":false}},{"id":"sao10k/l3.1-70b-hanami-x1","name":"Sao10K: Llama 3.1 70B Hanami x1","pricing":{"prompt":"0.000003","completion":"0.000003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1736302854,"top_provider":{"context_length":16000,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-chat:free","name":"DeepSeek: DeepSeek V3 (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1735241320,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"deepseek/deepseek-chat","name":"DeepSeek: DeepSeek V3","pricing":{"prompt":"0.0000004","completion":"0.00000089","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1735241320,"top_provider":{"context_length":163840,"max_completion_tokens":163840,"is_moderated":false}},{"id":"google/gemini-2.0-flash-thinking-exp-1219:free","name":"Google: Gemini 2.0 Flash Thinking Experimental (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1734650026,"top_provider":{"context_length":40000,"max_completion_tokens":8000,"is_moderated":false}},{"id":"sao10k/l3.3-euryale-70b","name":"Sao10K: Llama 3.3 Euryale 70B","pricing":{"prompt":"0.0000007","completion":"0.0000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1734535928,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"openai/o1","name":"OpenAI: o1","pricing":{"prompt":"0.000015","completion":"0.00006","request":"0","image":"0.021675","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000075"},"created":1734459999,"top_provider":{"context_length":200000,"max_completion_tokens":100000,"is_moderated":true}},{"id":"eva-unit-01/eva-llama-3.33-70b","name":"EVA Llama 3.33 70B","pricing":{"prompt":"0.000004","completion":"0.000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1734377303,"top_provider":{"context_length":16384,"max_completion_tokens":4096,"is_moderated":false}},{"id":"x-ai/grok-2-vision-1212","name":"xAI: Grok 2 Vision 1212","pricing":{"prompt":"0.000002","completion":"0.00001","request":"0","image":"0.0036","web_search":"0","internal_reasoning":"0"},"created":1734237338,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"x-ai/grok-2-1212","name":"xAI: Grok 2 1212","pricing":{"prompt":"0.000002","completion":"0.00001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1734232814,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"cohere/command-r7b-12-2024","name":"Cohere: Command R7B (12-2024)","pricing":{"prompt":"0.0000000375","completion":"0.00000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1734158152,"top_provider":{"context_length":128000,"max_completion_tokens":4000,"is_moderated":false}},{"id":"google/gemini-2.0-flash-exp:free","name":"Google: Gemini 2.0 Flash Experimental (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1733937523,"top_provider":{"context_length":1048576,"max_completion_tokens":8192,"is_moderated":false}},{"id":"meta-llama/llama-3.3-70b-instruct:free","name":"Meta: Llama 3.3 70B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1733506137,"top_provider":{"context_length":8000,"max_completion_tokens":8000,"is_moderated":false}},{"id":"meta-llama/llama-3.3-70b-instruct","name":"Meta: Llama 3.3 70B Instruct","pricing":{"prompt":"0.00000012","completion":"0.0000003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1733506137,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"amazon/nova-lite-v1","name":"Amazon: Nova Lite 1.0","pricing":{"prompt":"0.00000006","completion":"0.00000024","request":"0","image":"0.00009","web_search":"0","internal_reasoning":"0"},"created":1733437363,"top_provider":{"context_length":300000,"max_completion_tokens":5120,"is_moderated":false}},{"id":"amazon/nova-micro-v1","name":"Amazon: Nova Micro 1.0","pricing":{"prompt":"0.000000035","completion":"0.00000014","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1733437237,"top_provider":{"context_length":128000,"max_completion_tokens":5120,"is_moderated":false}},{"id":"amazon/nova-pro-v1","name":"Amazon: Nova Pro 1.0","pricing":{"prompt":"0.0000008","completion":"0.0000032","request":"0","image":"0.0012","web_search":"0","internal_reasoning":"0"},"created":1733436303,"top_provider":{"context_length":300000,"max_completion_tokens":5120,"is_moderated":false}},{"id":"qwen/qwq-32b-preview:free","name":"Qwen: QwQ 32B Preview (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1732754541,"top_provider":{"context_length":16384,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwq-32b-preview","name":"Qwen: QwQ 32B Preview","pricing":{"prompt":"0.0000002","completion":"0.0000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1732754541,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"google/learnlm-1.5-pro-experimental:free","name":"Google: LearnLM 1.5 Pro Experimental (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1732216551,"top_provider":{"context_length":40960,"max_completion_tokens":8192,"is_moderated":false}},{"id":"eva-unit-01/eva-qwen-2.5-72b","name":"EVA Qwen2.5 72B","pricing":{"prompt":"0.0000009","completion":"0.0000012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1732210606,"top_provider":{"context_length":131072,"max_completion_tokens":131072,"is_moderated":false}},{"id":"openai/gpt-4o-2024-11-20","name":"OpenAI: GPT-4o (2024-11-20)","pricing":{"prompt":"0.0000025","completion":"0.00001","request":"0","image":"0.003613","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000125"},"created":1732127594,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"mistralai/mistral-large-2411","name":"Mistral Large 2411","pricing":{"prompt":"0.000002","completion":"0.000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1731978685,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/mistral-large-2407","name":"Mistral Large 2407","pricing":{"prompt":"0.000002","completion":"0.000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1731978415,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/pixtral-large-2411","name":"Mistral: Pixtral Large 2411","pricing":{"prompt":"0.000002","completion":"0.000006","request":"0","image":"0.002888","web_search":"0","internal_reasoning":"0"},"created":1731977388,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"x-ai/grok-vision-beta","name":"xAI: Grok Vision Beta","pricing":{"prompt":"0.000005","completion":"0.000015","request":"0","image":"0.009","web_search":"0","internal_reasoning":"0"},"created":1731976624,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"infermatic/mn-inferor-12b","name":"Infermatic: Mistral Nemo Inferor 12B","pricing":{"prompt":"0.0000008","completion":"0.0000012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1731464428,"top_provider":{"context_length":16384,"max_completion_tokens":4096,"is_moderated":false}},{"id":"qwen/qwen-2.5-coder-32b-instruct:free","name":"Qwen2.5 Coder 32B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1731368400,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwen-2.5-coder-32b-instruct","name":"Qwen2.5 Coder 32B Instruct","pricing":{"prompt":"0.00000007","completion":"0.00000016","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1731368400,"top_provider":{"context_length":33000,"max_completion_tokens":3000,"is_moderated":false}},{"id":"raifle/sorcererlm-8x22b","name":"SorcererLM 8x22B","pricing":{"prompt":"0.0000045","completion":"0.0000045","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1731105083,"top_provider":{"context_length":16000,"max_completion_tokens":null,"is_moderated":false}},{"id":"eva-unit-01/eva-qwen-2.5-32b","name":"EVA Qwen2.5 32B","pricing":{"prompt":"0.0000026","completion":"0.0000034","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1731104847,"top_provider":{"context_length":16384,"max_completion_tokens":4096,"is_moderated":false}},{"id":"thedrummer/unslopnemo-12b","name":"Unslopnemo 12B","pricing":{"prompt":"0.0000005","completion":"0.0000005","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1731103448,"top_provider":{"context_length":32000,"max_completion_tokens":null,"is_moderated":false}},{"id":"anthropic/claude-3.5-haiku:beta","name":"Anthropic: Claude 3.5 Haiku (self-moderated)","pricing":{"prompt":"0.0000008","completion":"0.000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000008","input_cache_write":"0.000001"},"created":1730678400,"top_provider":{"context_length":200000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"anthropic/claude-3.5-haiku","name":"Anthropic: Claude 3.5 Haiku","pricing":{"prompt":"0.0000008","completion":"0.000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000008","input_cache_write":"0.000001"},"created":1730678400,"top_provider":{"context_length":200000,"max_completion_tokens":8192,"is_moderated":true}},{"id":"anthropic/claude-3.5-haiku-20241022:beta","name":"Anthropic: Claude 3.5 Haiku (2024-10-22) (self-moderated)","pricing":{"prompt":"0.0000008","completion":"0.000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000008","input_cache_write":"0.000001"},"created":1730678400,"top_provider":{"context_length":200000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"anthropic/claude-3.5-haiku-20241022","name":"Anthropic: Claude 3.5 Haiku (2024-10-22)","pricing":{"prompt":"0.0000008","completion":"0.000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000008","input_cache_write":"0.000001"},"created":1730678400,"top_provider":{"context_length":200000,"max_completion_tokens":8192,"is_moderated":true}},{"id":"neversleep/llama-3.1-lumimaid-70b","name":"NeverSleep: Lumimaid v0.2 70B","pricing":{"prompt":"0.0000015","completion":"0.00000225","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1729555200,"top_provider":{"context_length":16384,"max_completion_tokens":2048,"is_moderated":false}},{"id":"anthracite-org/magnum-v4-72b","name":"Magnum v4 72B","pricing":{"prompt":"0.0000015","completion":"0.00000225","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1729555200,"top_provider":{"context_length":16384,"max_completion_tokens":1024,"is_moderated":false}},{"id":"anthropic/claude-3.5-sonnet:beta","name":"Anthropic: Claude 3.5 Sonnet (self-moderated)","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1729555200,"top_provider":{"context_length":200000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"anthropic/claude-3.5-sonnet","name":"Anthropic: Claude 3.5 Sonnet","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1729555200,"top_provider":{"context_length":200000,"max_completion_tokens":8192,"is_moderated":true}},{"id":"x-ai/grok-beta","name":"xAI: Grok Beta","pricing":{"prompt":"0.000005","completion":"0.000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1729382400,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/ministral-8b","name":"Mistral: Ministral 8B","pricing":{"prompt":"0.0000001","completion":"0.0000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1729123200,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/ministral-3b","name":"Mistral: Ministral 3B","pricing":{"prompt":"0.00000004","completion":"0.00000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1729123200,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwen-2.5-7b-instruct:free","name":"Qwen2.5 7B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1729036800,"top_provider":{"context_length":32768,"max_completion_tokens":32768,"is_moderated":false}},{"id":"qwen/qwen-2.5-7b-instruct","name":"Qwen2.5 7B Instruct","pricing":{"prompt":"0.000000025","completion":"0.00000005","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1729036800,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"nvidia/llama-3.1-nemotron-70b-instruct:free","name":"NVIDIA: Llama 3.1 Nemotron 70B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1728950400,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"nvidia/llama-3.1-nemotron-70b-instruct","name":"NVIDIA: Llama 3.1 Nemotron 70B Instruct","pricing":{"prompt":"0.00000012","completion":"0.0000003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1728950400,"top_provider":{"context_length":131000,"max_completion_tokens":131000,"is_moderated":false}},{"id":"inflection/inflection-3-productivity","name":"Inflection: Inflection 3 Productivity","pricing":{"prompt":"0.0000025","completion":"0.00001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1728604800,"top_provider":{"context_length":8000,"max_completion_tokens":1024,"is_moderated":false}},{"id":"inflection/inflection-3-pi","name":"Inflection: Inflection 3 Pi","pricing":{"prompt":"0.0000025","completion":"0.00001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1728604800,"top_provider":{"context_length":8000,"max_completion_tokens":1024,"is_moderated":false}},{"id":"google/gemini-flash-1.5-8b","name":"Google: Gemini 1.5 Flash 8B","pricing":{"prompt":"0.0000000375","completion":"0.00000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000001","input_cache_write":"0.0000000583"},"created":1727913600,"top_provider":{"context_length":1000000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"thedrummer/rocinante-12b","name":"Rocinante 12B","pricing":{"prompt":"0.00000025","completion":"0.0000005","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1727654400,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"anthracite-org/magnum-v2-72b","name":"Magnum v2 72B","pricing":{"prompt":"0.000003","completion":"0.000003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1727654400,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"liquid/lfm-40b","name":"Liquid: LFM 40B MoE","pricing":{"prompt":"0.00000015","completion":"0.00000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1727654400,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"meta-llama/llama-3.2-3b-instruct:free","name":"Meta: Llama 3.2 3B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1727222400,"top_provider":{"context_length":20000,"max_completion_tokens":20000,"is_moderated":false}},{"id":"meta-llama/llama-3.2-3b-instruct","name":"Meta: Llama 3.2 3B Instruct","pricing":{"prompt":"0.000000015","completion":"0.000000025","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1727222400,"top_provider":{"context_length":131000,"max_completion_tokens":131000,"is_moderated":false}},{"id":"meta-llama/llama-3.2-1b-instruct:free","name":"Meta: Llama 3.2 1B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1727222400,"top_provider":{"context_length":131072,"max_completion_tokens":131072,"is_moderated":false}},{"id":"meta-llama/llama-3.2-1b-instruct","name":"Meta: Llama 3.2 1B Instruct","pricing":{"prompt":"0.00000001","completion":"0.00000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1727222400,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"meta-llama/llama-3.2-90b-vision-instruct","name":"Meta: Llama 3.2 90B Vision Instruct","pricing":{"prompt":"0.0000008","completion":"0.0000016","request":"0","image":"0.0051456","web_search":"0","internal_reasoning":"0"},"created":1727222400,"top_provider":{"context_length":4096,"max_completion_tokens":4096,"is_moderated":false}},{"id":"meta-llama/llama-3.2-11b-vision-instruct:free","name":"Meta: Llama 3.2 11B Vision Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1727222400,"top_provider":{"context_length":131072,"max_completion_tokens":2048,"is_moderated":false}},{"id":"meta-llama/llama-3.2-11b-vision-instruct","name":"Meta: Llama 3.2 11B Vision Instruct","pricing":{"prompt":"0.000000055","completion":"0.000000055","request":"0","image":"0.00007948","web_search":"0","internal_reasoning":"0"},"created":1727222400,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"qwen/qwen-2.5-72b-instruct:free","name":"Qwen2.5 72B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1726704000,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwen-2.5-72b-instruct","name":"Qwen2.5 72B Instruct","pricing":{"prompt":"0.00000013","completion":"0.0000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1726704000,"top_provider":{"context_length":131072,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwen-2.5-vl-72b-instruct","name":"Qwen: Qwen2.5-VL 72B Instruct","pricing":{"prompt":"0.0000006","completion":"0.0000006","request":"0","image":"0.000578","web_search":"0","internal_reasoning":"0"},"created":1726617600,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"neversleep/llama-3.1-lumimaid-8b","name":"NeverSleep: Lumimaid v0.2 8B","pricing":{"prompt":"0.00000009375","completion":"0.00000075","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1726358400,"top_provider":{"context_length":32768,"max_completion_tokens":2048,"is_moderated":false}},{"id":"openai/o1-preview","name":"OpenAI: o1-preview","pricing":{"prompt":"0.000015","completion":"0.00006","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000075"},"created":1726099200,"top_provider":{"context_length":128000,"max_completion_tokens":32768,"is_moderated":true}},{"id":"openai/o1-preview-2024-09-12","name":"OpenAI: o1-preview (2024-09-12)","pricing":{"prompt":"0.000015","completion":"0.00006","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000075"},"created":1726099200,"top_provider":{"context_length":128000,"max_completion_tokens":32768,"is_moderated":true}},{"id":"openai/o1-mini","name":"OpenAI: o1-mini","pricing":{"prompt":"0.0000011","completion":"0.0000044","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000055"},"created":1726099200,"top_provider":{"context_length":128000,"max_completion_tokens":65536,"is_moderated":true}},{"id":"openai/o1-mini-2024-09-12","name":"OpenAI: o1-mini (2024-09-12)","pricing":{"prompt":"0.0000011","completion":"0.0000044","request":"0","image":"0","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000055"},"created":1726099200,"top_provider":{"context_length":128000,"max_completion_tokens":65536,"is_moderated":true}},{"id":"mistralai/pixtral-12b","name":"Mistral: Pixtral 12B","pricing":{"prompt":"0.0000001","completion":"0.0000001","request":"0","image":"0.0001445","web_search":"0","internal_reasoning":"0"},"created":1725926400,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"cohere/command-r-plus-08-2024","name":"Cohere: Command R+ (08-2024)","pricing":{"prompt":"0.0000025","completion":"0.00001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1724976000,"top_provider":{"context_length":128000,"max_completion_tokens":4000,"is_moderated":false}},{"id":"cohere/command-r-08-2024","name":"Cohere: Command R (08-2024)","pricing":{"prompt":"0.00000015","completion":"0.0000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1724976000,"top_provider":{"context_length":128000,"max_completion_tokens":4000,"is_moderated":false}},{"id":"qwen/qwen-2.5-vl-7b-instruct:free","name":"Qwen: Qwen2.5-VL 7B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1724803200,"top_provider":{"context_length":64000,"max_completion_tokens":64000,"is_moderated":false}},{"id":"qwen/qwen-2.5-vl-7b-instruct","name":"Qwen: Qwen2.5-VL 7B Instruct","pricing":{"prompt":"0.0000002","completion":"0.0000002","request":"0","image":"0.0001445","web_search":"0","internal_reasoning":"0"},"created":1724803200,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"sao10k/l3.1-euryale-70b","name":"Sao10K: Llama 3.1 Euryale 70B v2.2","pricing":{"prompt":"0.0000007","completion":"0.0000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1724803200,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"google/gemini-flash-1.5-8b-exp","name":"Google: Gemini 1.5 Flash 8B Experimental","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1724803200,"top_provider":{"context_length":1000000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"ai21/jamba-1-5-mini","name":"AI21: Jamba 1.5 Mini","pricing":{"prompt":"0.0000002","completion":"0.0000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1724371200,"top_provider":{"context_length":256000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"ai21/jamba-1-5-large","name":"AI21: Jamba 1.5 Large","pricing":{"prompt":"0.000002","completion":"0.000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1724371200,"top_provider":{"context_length":256000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"microsoft/phi-3.5-mini-128k-instruct","name":"Microsoft: Phi-3.5 Mini 128K Instruct","pricing":{"prompt":"0.0000001","completion":"0.0000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1724198400,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"nousresearch/hermes-3-llama-3.1-70b","name":"Nous: Hermes 3 70B Instruct","pricing":{"prompt":"0.00000012","completion":"0.0000003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1723939200,"top_provider":{"context_length":131000,"max_completion_tokens":131000,"is_moderated":false}},{"id":"nousresearch/hermes-3-llama-3.1-405b","name":"Nous: Hermes 3 405B Instruct","pricing":{"prompt":"0.0000008","completion":"0.0000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1723766400,"top_provider":{"context_length":131000,"max_completion_tokens":131000,"is_moderated":false}},{"id":"openai/chatgpt-4o-latest","name":"OpenAI: ChatGPT-4o","pricing":{"prompt":"0.000005","completion":"0.000015","request":"0","image":"0.007225","web_search":"0","internal_reasoning":"0"},"created":1723593600,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"sao10k/l3-lunaris-8b","name":"Sao10K: Llama 3 8B Lunaris","pricing":{"prompt":"0.00000005","completion":"0.00000005","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1723507200,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"aetherwiing/mn-starcannon-12b","name":"Aetherwiing: Starcannon 12B","pricing":{"prompt":"0.0000008","completion":"0.0000012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1723507200,"top_provider":{"context_length":16384,"max_completion_tokens":4096,"is_moderated":false}},{"id":"openai/gpt-4o-2024-08-06","name":"OpenAI: GPT-4o (2024-08-06)","pricing":{"prompt":"0.0000025","completion":"0.00001","request":"0","image":"0.003613","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000125"},"created":1722902400,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"meta-llama/llama-3.1-405b","name":"Meta: Llama 3.1 405B (base)","pricing":{"prompt":"0.000002","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1722556800,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"nothingiisreal/mn-celeste-12b","name":"Mistral Nemo 12B Celeste","pricing":{"prompt":"0.0000008","completion":"0.0000012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1722556800,"top_provider":{"context_length":16384,"max_completion_tokens":4096,"is_moderated":false}},{"id":"perplexity/llama-3.1-sonar-small-128k-online","name":"Perplexity: Llama 3.1 Sonar 8B Online","pricing":{"prompt":"0.0000002","completion":"0.0000002","request":"0.005","image":"0","web_search":"0","internal_reasoning":"0"},"created":1722470400,"top_provider":{"context_length":127072,"max_completion_tokens":null,"is_moderated":false}},{"id":"perplexity/llama-3.1-sonar-large-128k-online","name":"Perplexity: Llama 3.1 Sonar 70B Online","pricing":{"prompt":"0.000001","completion":"0.000001","request":"0.005","image":"0","web_search":"0","internal_reasoning":"0"},"created":1722470400,"top_provider":{"context_length":127072,"max_completion_tokens":null,"is_moderated":false}},{"id":"meta-llama/llama-3.1-8b-instruct:free","name":"Meta: Llama 3.1 8B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1721692800,"top_provider":{"context_length":131072,"max_completion_tokens":4096,"is_moderated":false}},{"id":"meta-llama/llama-3.1-8b-instruct","name":"Meta: Llama 3.1 8B Instruct","pricing":{"prompt":"0.00000002","completion":"0.00000005","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1721692800,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"meta-llama/llama-3.1-405b-instruct","name":"Meta: Llama 3.1 405B Instruct","pricing":{"prompt":"0.0000008","completion":"0.0000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1721692800,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"meta-llama/llama-3.1-70b-instruct","name":"Meta: Llama 3.1 70B Instruct","pricing":{"prompt":"0.00000012","completion":"0.0000003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1721692800,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"mistralai/codestral-mamba","name":"Mistral: Codestral Mamba","pricing":{"prompt":"0.00000025","completion":"0.00000025","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1721347200,"top_provider":{"context_length":262144,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/mistral-nemo:free","name":"Mistral: Mistral Nemo (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1721347200,"top_provider":{"context_length":128000,"max_completion_tokens":128000,"is_moderated":false}},{"id":"mistralai/mistral-nemo","name":"Mistral: Mistral Nemo","pricing":{"prompt":"0.000000035","completion":"0.00000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1721347200,"top_provider":{"context_length":131072,"max_completion_tokens":8192,"is_moderated":false}},{"id":"openai/gpt-4o-mini","name":"OpenAI: GPT-4o-mini","pricing":{"prompt":"0.00000015","completion":"0.0000006","request":"0","image":"0.000217","web_search":"0","internal_reasoning":"0","input_cache_read":"0.000000075"},"created":1721260800,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"openai/gpt-4o-mini-2024-07-18","name":"OpenAI: GPT-4o-mini (2024-07-18)","pricing":{"prompt":"0.00000015","completion":"0.0000006","request":"0","image":"0.007225","web_search":"0","internal_reasoning":"0","input_cache_read":"0.000000075"},"created":1721260800,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"google/gemma-2-27b-it","name":"Google: Gemma 2 27B","pricing":{"prompt":"0.0000008","completion":"0.0000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1720828800,"top_provider":{"context_length":8192,"max_completion_tokens":2048,"is_moderated":false}},{"id":"alpindale/magnum-72b","name":"Magnum 72B","pricing":{"prompt":"0.0000015","completion":"0.00000225","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1720656000,"top_provider":{"context_length":16384,"max_completion_tokens":1024,"is_moderated":false}},{"id":"google/gemma-2-9b-it:free","name":"Google: Gemma 2 9B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1719532800,"top_provider":{"context_length":8192,"max_completion_tokens":4096,"is_moderated":false}},{"id":"google/gemma-2-9b-it","name":"Google: Gemma 2 9B","pricing":{"prompt":"0.00000007","completion":"0.00000007","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1719532800,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"01-ai/yi-large","name":"01.AI: Yi Large","pricing":{"prompt":"0.000003","completion":"0.000003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1719273600,"top_provider":{"context_length":32768,"max_completion_tokens":4096,"is_moderated":false}},{"id":"ai21/jamba-instruct","name":"AI21: Jamba Instruct","pricing":{"prompt":"0.0000005","completion":"0.0000007","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1719273600,"top_provider":{"context_length":256000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"anthropic/claude-3.5-sonnet-20240620:beta","name":"Anthropic: Claude 3.5 Sonnet (2024-06-20) (self-moderated)","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1718841600,"top_provider":{"context_length":200000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"anthropic/claude-3.5-sonnet-20240620","name":"Anthropic: Claude 3.5 Sonnet (2024-06-20)","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1718841600,"top_provider":{"context_length":200000,"max_completion_tokens":8192,"is_moderated":true}},{"id":"sao10k/l3-euryale-70b","name":"Sao10k: Llama 3 Euryale 70B v2.1","pricing":{"prompt":"0.00000148","completion":"0.00000148","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1718668800,"top_provider":{"context_length":8192,"max_completion_tokens":8192,"is_moderated":false}},{"id":"cognitivecomputations/dolphin-mixtral-8x22b","name":"Dolphin 2.9.2 Mixtral 8x22B 🐬","pricing":{"prompt":"0.0000009","completion":"0.0000009","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1717804800,"top_provider":{"context_length":16000,"max_completion_tokens":null,"is_moderated":false}},{"id":"qwen/qwen-2-72b-instruct","name":"Qwen 2 72B Instruct","pricing":{"prompt":"0.0000009","completion":"0.0000009","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1717718400,"top_provider":{"context_length":32768,"max_completion_tokens":4096,"is_moderated":false}},{"id":"mistralai/mistral-7b-instruct:free","name":"Mistral: Mistral 7B Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1716768000,"top_provider":{"context_length":8192,"max_completion_tokens":4096,"is_moderated":false}},{"id":"mistralai/mistral-7b-instruct","name":"Mistral: Mistral 7B Instruct","pricing":{"prompt":"0.00000003","completion":"0.000000055","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1716768000,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"mistralai/mistral-7b-instruct-v0.3","name":"Mistral: Mistral 7B Instruct v0.3","pricing":{"prompt":"0.00000003","completion":"0.000000055","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1716768000,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"nousresearch/hermes-2-pro-llama-3-8b","name":"NousResearch: Hermes 2 Pro - Llama-3 8B","pricing":{"prompt":"0.000000025","completion":"0.00000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1716768000,"top_provider":{"context_length":131000,"max_completion_tokens":131000,"is_moderated":false}},{"id":"microsoft/phi-3-mini-128k-instruct:free","name":"Microsoft: Phi-3 Mini 128K Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1716681600,"top_provider":{"context_length":8192,"max_completion_tokens":4096,"is_moderated":false}},{"id":"microsoft/phi-3-mini-128k-instruct","name":"Microsoft: Phi-3 Mini 128K Instruct","pricing":{"prompt":"0.0000001","completion":"0.0000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1716681600,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"microsoft/phi-3-medium-128k-instruct:free","name":"Microsoft: Phi-3 Medium 128K Instruct (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1716508800,"top_provider":{"context_length":8192,"max_completion_tokens":4096,"is_moderated":false}},{"id":"microsoft/phi-3-medium-128k-instruct","name":"Microsoft: Phi-3 Medium 128K Instruct","pricing":{"prompt":"0.000001","completion":"0.000001","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1716508800,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"neversleep/llama-3-lumimaid-70b","name":"NeverSleep: Llama 3 Lumimaid 70B","pricing":{"prompt":"0.000003375","completion":"0.0000045","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1715817600,"top_provider":{"context_length":8192,"max_completion_tokens":2048,"is_moderated":false}},{"id":"google/gemini-flash-1.5","name":"Google: Gemini 1.5 Flash ","pricing":{"prompt":"0.000000075","completion":"0.0000003","request":"0","image":"0.00004","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000001875","input_cache_write":"0.0000001583"},"created":1715644800,"top_provider":{"context_length":1000000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"openai/gpt-4o","name":"OpenAI: GPT-4o","pricing":{"prompt":"0.0000025","completion":"0.00001","request":"0","image":"0.003613","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000125"},"created":1715558400,"top_provider":{"context_length":128000,"max_completion_tokens":16384,"is_moderated":true}},{"id":"openai/gpt-4o:extended","name":"OpenAI: GPT-4o (extended)","pricing":{"prompt":"0.000006","completion":"0.000018","request":"0","image":"0.007225","web_search":"0","internal_reasoning":"0"},"created":1715558400,"top_provider":{"context_length":128000,"max_completion_tokens":64000,"is_moderated":true}},{"id":"openai/gpt-4o-2024-05-13","name":"OpenAI: GPT-4o (2024-05-13)","pricing":{"prompt":"0.000005","completion":"0.000015","request":"0","image":"0.007225","web_search":"0","internal_reasoning":"0"},"created":1715558400,"top_provider":{"context_length":128000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"meta-llama/llama-guard-2-8b","name":"Meta: LlamaGuard 2 8B","pricing":{"prompt":"0.0000002","completion":"0.0000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1715558400,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"neversleep/llama-3-lumimaid-8b:extended","name":"NeverSleep: Llama 3 Lumimaid 8B (extended)","pricing":{"prompt":"0.00000009375","completion":"0.00000075","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1714780800,"top_provider":{"context_length":24576,"max_completion_tokens":2048,"is_moderated":false}},{"id":"neversleep/llama-3-lumimaid-8b","name":"NeverSleep: Llama 3 Lumimaid 8B","pricing":{"prompt":"0.00000009375","completion":"0.00000075","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1714780800,"top_provider":{"context_length":24576,"max_completion_tokens":2048,"is_moderated":false}},{"id":"sao10k/fimbulvetr-11b-v2","name":"Fimbulvetr 11B v2","pricing":{"prompt":"0.0000008","completion":"0.0000012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1713657600,"top_provider":{"context_length":4096,"max_completion_tokens":4096,"is_moderated":false}},{"id":"meta-llama/llama-3-8b-instruct","name":"Meta: Llama 3 8B Instruct","pricing":{"prompt":"0.00000003","completion":"0.00000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1713398400,"top_provider":{"context_length":8192,"max_completion_tokens":8192,"is_moderated":false}},{"id":"meta-llama/llama-3-70b-instruct","name":"Meta: Llama 3 70B Instruct","pricing":{"prompt":"0.00000023","completion":"0.0000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1713398400,"top_provider":{"context_length":8192,"max_completion_tokens":8192,"is_moderated":false}},{"id":"mistralai/mixtral-8x22b-instruct","name":"Mistral: Mixtral 8x22B Instruct","pricing":{"prompt":"0.0000009","completion":"0.0000009","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1713312000,"top_provider":{"context_length":65536,"max_completion_tokens":null,"is_moderated":false}},{"id":"microsoft/wizardlm-2-8x22b","name":"WizardLM-2 8x22B","pricing":{"prompt":"0.0000005","completion":"0.0000005","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1713225600,"top_provider":{"context_length":65536,"max_completion_tokens":8192,"is_moderated":false}},{"id":"microsoft/wizardlm-2-7b","name":"WizardLM-2 7B","pricing":{"prompt":"0.00000007","completion":"0.00000007","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1713225600,"top_provider":{"context_length":32000,"max_completion_tokens":null,"is_moderated":false}},{"id":"google/gemini-pro-1.5","name":"Google: Gemini 1.5 Pro","pricing":{"prompt":"0.00000125","completion":"0.000005","request":"0","image":"0.0006575","web_search":"0","internal_reasoning":"0"},"created":1712620800,"top_provider":{"context_length":2000000,"max_completion_tokens":8192,"is_moderated":false}},{"id":"openai/gpt-4-turbo","name":"OpenAI: GPT-4 Turbo","pricing":{"prompt":"0.00001","completion":"0.00003","request":"0","image":"0.01445","web_search":"0","internal_reasoning":"0"},"created":1712620800,"top_provider":{"context_length":128000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"cohere/command-r-plus","name":"Cohere: Command R+","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1712188800,"top_provider":{"context_length":128000,"max_completion_tokens":4000,"is_moderated":false}},{"id":"cohere/command-r-plus-04-2024","name":"Cohere: Command R+ (04-2024)","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1712016000,"top_provider":{"context_length":128000,"max_completion_tokens":4000,"is_moderated":false}},{"id":"sophosympatheia/midnight-rose-70b","name":"Midnight Rose 70B","pricing":{"prompt":"0.0000008","completion":"0.0000008","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1711065600,"top_provider":{"context_length":4096,"max_completion_tokens":null,"is_moderated":false}},{"id":"cohere/command","name":"Cohere: Command","pricing":{"prompt":"0.000001","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1710374400,"top_provider":{"context_length":4096,"max_completion_tokens":4000,"is_moderated":false}},{"id":"cohere/command-r","name":"Cohere: Command R","pricing":{"prompt":"0.0000005","completion":"0.0000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1710374400,"top_provider":{"context_length":128000,"max_completion_tokens":4000,"is_moderated":false}},{"id":"anthropic/claude-3-haiku:beta","name":"Anthropic: Claude 3 Haiku (self-moderated)","pricing":{"prompt":"0.00000025","completion":"0.00000125","request":"0","image":"0.0004","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000003","input_cache_write":"0.0000003"},"created":1710288000,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"anthropic/claude-3-haiku","name":"Anthropic: Claude 3 Haiku","pricing":{"prompt":"0.00000025","completion":"0.00000125","request":"0","image":"0.0004","web_search":"0","internal_reasoning":"0","input_cache_read":"0.00000003","input_cache_write":"0.0000003"},"created":1710288000,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"anthropic/claude-3-opus:beta","name":"Anthropic: Claude 3 Opus (self-moderated)","pricing":{"prompt":"0.000015","completion":"0.000075","request":"0","image":"0.024","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000015","input_cache_write":"0.00001875"},"created":1709596800,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"anthropic/claude-3-opus","name":"Anthropic: Claude 3 Opus","pricing":{"prompt":"0.000015","completion":"0.000075","request":"0","image":"0.024","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000015","input_cache_write":"0.00001875"},"created":1709596800,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"anthropic/claude-3-sonnet:beta","name":"Anthropic: Claude 3 Sonnet (self-moderated)","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1709596800,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"anthropic/claude-3-sonnet","name":"Anthropic: Claude 3 Sonnet","pricing":{"prompt":"0.000003","completion":"0.000015","request":"0","image":"0.0048","web_search":"0","internal_reasoning":"0","input_cache_read":"0.0000003","input_cache_write":"0.00000375"},"created":1709596800,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"cohere/command-r-03-2024","name":"Cohere: Command R (03-2024)","pricing":{"prompt":"0.0000005","completion":"0.0000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1709341200,"top_provider":{"context_length":128000,"max_completion_tokens":4000,"is_moderated":false}},{"id":"mistralai/mistral-large","name":"Mistral Large","pricing":{"prompt":"0.000002","completion":"0.000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1708905600,"top_provider":{"context_length":128000,"max_completion_tokens":null,"is_moderated":false}},{"id":"openai/gpt-3.5-turbo-0613","name":"OpenAI: GPT-3.5 Turbo (older v0613)","pricing":{"prompt":"0.000001","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1706140800,"top_provider":{"context_length":4095,"max_completion_tokens":4096,"is_moderated":false}},{"id":"openai/gpt-4-turbo-preview","name":"OpenAI: GPT-4 Turbo Preview","pricing":{"prompt":"0.00001","completion":"0.00003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1706140800,"top_provider":{"context_length":128000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"nousresearch/nous-hermes-2-mixtral-8x7b-dpo","name":"Nous: Hermes 2 Mixtral 8x7B DPO","pricing":{"prompt":"0.0000006","completion":"0.0000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1705363200,"top_provider":{"context_length":32768,"max_completion_tokens":2048,"is_moderated":false}},{"id":"mistralai/mistral-medium","name":"Mistral Medium","pricing":{"prompt":"0.00000275","completion":"0.0000081","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1704844800,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/mistral-small","name":"Mistral Small","pricing":{"prompt":"0.0000002","completion":"0.0000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1704844800,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/mistral-tiny","name":"Mistral Tiny","pricing":{"prompt":"0.00000025","completion":"0.00000025","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1704844800,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"mistralai/mistral-7b-instruct-v0.2","name":"Mistral: Mistral 7B Instruct v0.2","pricing":{"prompt":"0.0000002","completion":"0.0000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1703721600,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"cognitivecomputations/dolphin-mixtral-8x7b","name":"Dolphin 2.6 Mixtral 8x7B 🐬","pricing":{"prompt":"0.0000005","completion":"0.0000005","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1703116800,"top_provider":{"context_length":32768,"max_completion_tokens":null,"is_moderated":false}},{"id":"google/gemini-pro-vision","name":"Google: Gemini Pro Vision 1.0","pricing":{"prompt":"0.0000005","completion":"0.0000015","request":"0","image":"0.0025","web_search":"0","internal_reasoning":"0"},"created":1702425600,"top_provider":{"context_length":16384,"max_completion_tokens":2048,"is_moderated":false}},{"id":"google/gemini-pro","name":"Google: Gemini Pro 1.0","pricing":{"prompt":"0.0000005","completion":"0.0000015","request":"0","image":"0.0025","web_search":"0","internal_reasoning":"0"},"created":1702425600,"top_provider":{"context_length":32760,"max_completion_tokens":8192,"is_moderated":false}},{"id":"mistralai/mixtral-8x7b","name":"Mistral: Mixtral 8x7B (base)","pricing":{"prompt":"0.0000006","completion":"0.0000006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1702166400,"top_provider":{"context_length":32768,"max_completion_tokens":2048,"is_moderated":false}},{"id":"mistralai/mixtral-8x7b-instruct","name":"Mistral: Mixtral 8x7B Instruct","pricing":{"prompt":"0.00000024","completion":"0.00000024","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1702166400,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"openchat/openchat-7b:free","name":"OpenChat 3.5 7B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1701129600,"top_provider":{"context_length":8192,"max_completion_tokens":4096,"is_moderated":false}},{"id":"openchat/openchat-7b","name":"OpenChat 3.5 7B","pricing":{"prompt":"0.00000007","completion":"0.00000007","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1701129600,"top_provider":{"context_length":8192,"max_completion_tokens":null,"is_moderated":false}},{"id":"neversleep/noromaid-20b","name":"Noromaid 20B","pricing":{"prompt":"0.00000075","completion":"0.0000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1700956800,"top_provider":{"context_length":8192,"max_completion_tokens":2048,"is_moderated":false}},{"id":"anthropic/claude-2.1:beta","name":"Anthropic: Claude v2.1 (self-moderated)","pricing":{"prompt":"0.000008","completion":"0.000024","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1700611200,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"anthropic/claude-2.1","name":"Anthropic: Claude v2.1","pricing":{"prompt":"0.000008","completion":"0.000024","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1700611200,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"anthropic/claude-2:beta","name":"Anthropic: Claude v2 (self-moderated)","pricing":{"prompt":"0.000008","completion":"0.000024","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1700611200,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"anthropic/claude-2","name":"Anthropic: Claude v2","pricing":{"prompt":"0.000008","completion":"0.000024","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1700611200,"top_provider":{"context_length":200000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"undi95/toppy-m-7b:free","name":"Toppy M 7B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1699574400,"top_provider":{"context_length":4096,"max_completion_tokens":2048,"is_moderated":false}},{"id":"undi95/toppy-m-7b","name":"Toppy M 7B","pricing":{"prompt":"0.00000007","completion":"0.00000007","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1699574400,"top_provider":{"context_length":4096,"max_completion_tokens":null,"is_moderated":false}},{"id":"alpindale/goliath-120b","name":"Goliath 120B","pricing":{"prompt":"0.0000065625","completion":"0.000009375","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1699574400,"top_provider":{"context_length":6144,"max_completion_tokens":512,"is_moderated":false}},{"id":"openrouter/auto","name":"Auto Router","pricing":{ "prompt":"-1","completion":"-1"},"created":1699401600,"top_provider":{"context_length":null,"max_completion_tokens":null,"is_moderated":false}},{"id":"openai/gpt-3.5-turbo-1106","name":"OpenAI: GPT-3.5 Turbo 16k (older v1106)","pricing":{"prompt":"0.000001","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1699228800,"top_provider":{"context_length":16385,"max_completion_tokens":4096,"is_moderated":true}},{"id":"openai/gpt-4-1106-preview","name":"OpenAI: GPT-4 Turbo (older v1106)","pricing":{"prompt":"0.00001","completion":"0.00003","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1699228800,"top_provider":{"context_length":128000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"google/palm-2-chat-bison-32k","name":"Google: PaLM 2 Chat 32k","pricing":{"prompt":"0.000001","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1698969600,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"google/palm-2-codechat-bison-32k","name":"Google: PaLM 2 Code Chat 32k","pricing":{"prompt":"0.000001","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1698969600,"top_provider":{"context_length":32768,"max_completion_tokens":8192,"is_moderated":false}},{"id":"jondurbin/airoboros-l2-70b","name":"Airoboros 70B","pricing":{"prompt":"0.0000005","completion":"0.0000005","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1698537600,"top_provider":{"context_length":4096,"max_completion_tokens":null,"is_moderated":false}},{"id":"xwin-lm/xwin-lm-70b","name":"Xwin 70B","pricing":{"prompt":"0.00000375","completion":"0.00000375","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1697328000,"top_provider":{"context_length":8192,"max_completion_tokens":512,"is_moderated":false}},{"id":"openai/gpt-3.5-turbo-instruct","name":"OpenAI: GPT-3.5 Turbo Instruct","pricing":{"prompt":"0.0000015","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1695859200,"top_provider":{"context_length":4095,"max_completion_tokens":4096,"is_moderated":true}},{"id":"mistralai/mistral-7b-instruct-v0.1","name":"Mistral: Mistral 7B Instruct v0.1","pricing":{"prompt":"0.0000002","completion":"0.0000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1695859200,"top_provider":{"context_length":32768,"max_completion_tokens":2048,"is_moderated":false}},{"id":"pygmalionai/mythalion-13b","name":"Pygmalion: Mythalion 13B","pricing":{"prompt":"0.0000005625","completion":"0.000001125","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1693612800,"top_provider":{"context_length":8192,"max_completion_tokens":512,"is_moderated":false}},{"id":"openai/gpt-3.5-turbo-16k","name":"OpenAI: GPT-3.5 Turbo 16k","pricing":{"prompt":"0.000003","completion":"0.000004","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1693180800,"top_provider":{"context_length":16385,"max_completion_tokens":4096,"is_moderated":true}},{"id":"openai/gpt-4-32k","name":"OpenAI: GPT-4 32k","pricing":{"prompt":"0.00006","completion":"0.00012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1693180800,"top_provider":{"context_length":32767,"max_completion_tokens":4096,"is_moderated":true}},{"id":"openai/gpt-4-32k-0314","name":"OpenAI: GPT-4 32k (older v0314)","pricing":{"prompt":"0.00006","completion":"0.00012","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1693180800,"top_provider":{"context_length":32767,"max_completion_tokens":4096,"is_moderated":true}},{"id":"nousresearch/nous-hermes-llama2-13b","name":"Nous: Hermes 13B","pricing":{"prompt":"0.00000018","completion":"0.00000018","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1692489600,"top_provider":{"context_length":4096,"max_completion_tokens":null,"is_moderated":false}},{"id":"mancer/weaver","name":"Mancer: Weaver (alpha)","pricing":{"prompt":"0.0000015","completion":"0.000001125","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1690934400,"top_provider":{"context_length":8000,"max_completion_tokens":1000,"is_moderated":false}},{"id":"huggingfaceh4/zephyr-7b-beta:free","name":"Hugging Face: Zephyr 7B (free)","pricing":{"prompt":"0","completion":"0","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1690934400,"top_provider":{"context_length":4096,"max_completion_tokens":2048,"is_moderated":false}},{"id":"anthropic/claude-2.0:beta","name":"Anthropic: Claude v2.0 (self-moderated)","pricing":{"prompt":"0.000008","completion":"0.000024","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1690502400,"top_provider":{"context_length":100000,"max_completion_tokens":4096,"is_moderated":false}},{"id":"anthropic/claude-2.0","name":"Anthropic: Claude v2.0","pricing":{"prompt":"0.000008","completion":"0.000024","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1690502400,"top_provider":{"context_length":100000,"max_completion_tokens":4096,"is_moderated":true}},{"id":"undi95/remm-slerp-l2-13b","name":"ReMM SLERP 13B","pricing":{"prompt":"0.0000005625","completion":"0.000001125","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1689984000,"top_provider":{"context_length":6144,"max_completion_tokens":512,"is_moderated":false}},{"id":"google/palm-2-chat-bison","name":"Google: PaLM 2 Chat","pricing":{"prompt":"0.000001","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1689811200,"top_provider":{"context_length":9216,"max_completion_tokens":1024,"is_moderated":false}},{"id":"google/palm-2-codechat-bison","name":"Google: PaLM 2 Code Chat","pricing":{"prompt":"0.000001","completion":"0.000002","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1689811200,"top_provider":{"context_length":7168,"max_completion_tokens":1024,"is_moderated":false}},{"id":"gryphe/mythomax-l2-13b","name":"MythoMax 13B","pricing":{"prompt":"0.000000065","completion":"0.000000065","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1688256000,"top_provider":{"context_length":4096,"max_completion_tokens":4096,"is_moderated":false}},{"id":"meta-llama/llama-2-13b-chat","name":"Meta: Llama 2 13B Chat","pricing":{"prompt":"0.00000022","completion":"0.00000022","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1687219200,"top_provider":{"context_length":4096,"max_completion_tokens":2048,"is_moderated":false}},{"id":"meta-llama/llama-2-70b-chat","name":"Meta: Llama 2 70B Chat","pricing":{"prompt":"0.0000009","completion":"0.0000009","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1687219200,"top_provider":{"context_length":4096,"max_completion_tokens":null,"is_moderated":false}},{"id":"openai/gpt-3.5-turbo","name":"OpenAI: GPT-3.5 Turbo","pricing":{"prompt":"0.0000005","completion":"0.0000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1685232000,"top_provider":{"context_length":16385,"max_completion_tokens":4096,"is_moderated":true}},{"id":"openai/gpt-3.5-turbo-0125","name":"OpenAI: GPT-3.5 Turbo 16k","pricing":{"prompt":"0.0000005","completion":"0.0000015","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1685232000,"top_provider":{"context_length":16385,"max_completion_tokens":4096,"is_moderated":true}},{"id":"openai/gpt-4","name":"OpenAI: GPT-4","pricing":{"prompt":"0.00003","completion":"0.00006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1685232000,"top_provider":{"context_length":8191,"max_completion_tokens":4096,"is_moderated":true}},{"id":"openai/gpt-4-0314","name":"OpenAI: GPT-4 (older v0314)","pricing":{"prompt":"0.00003","completion":"0.00006","request":"0","image":"0","web_search":"0","internal_reasoning":"0"},"created":1685232000,"top_provider":{"context_length":8191,"max_completion_tokens":4096,"is_moderated":true}}]
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/dist-in/zod_types.js.html b/packages/kbot/coverage/kbot/dist-in/zod_types.js.html
deleted file mode 100644
index 885eee42..00000000
--- a/packages/kbot/coverage/kbot/dist-in/zod_types.js.html
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/dist-in/zod_types.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
- export {};
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX3R5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3pvZF90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/docs/astro.config.mjs.html b/packages/kbot/coverage/kbot/docs/astro.config.mjs.html
deleted file mode 100644
index 13ae7671..00000000
--- a/packages/kbot/coverage/kbot/docs/astro.config.mjs.html
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/docs/astro.config.mjs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/30
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/30
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- // @ts-check
-import { defineConfig } from 'astro/config';
-import starlight from '@astrojs/starlight';
-export default defineConfig({
- integrations: [
- starlight({
- title: 'My Docs',
- social: {
- github: 'https://github.com/withastro/starlight',
- },
- sidebar: [
- {
- label: 'Guides',
- items: [
- // Each item here is one entry in the navigation menu.
- { label: 'Example Guide', slug: 'guides/example' },
- ],
- },
- {
- label: 'Reference',
- autogenerate: { directory: 'reference' },
- },
- {
- label: 'Meta',
- autogenerate: { directory: 'meta' },
- },
- ],
- }),
- ],
-})
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/docs/index.html b/packages/kbot/coverage/kbot/docs/index.html
deleted file mode 100644
index 8512422e..00000000
--- a/packages/kbot/coverage/kbot/docs/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/docs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/30
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/30
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- astro.config.mjs
-
-
-
- 0%
- 0/30
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/30
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/docs/src/content.config.ts.html b/packages/kbot/coverage/kbot/docs/src/content.config.ts.html
deleted file mode 100644
index c27eddeb..00000000
--- a/packages/kbot/coverage/kbot/docs/src/content.config.ts.html
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/docs/src/content.config.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/7
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/7
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-
-
-
-
-
-
- import { defineCollection } from 'astro:content';
-import { docsLoader } from '@astrojs/starlight/loaders';
-import { docsSchema } from '@astrojs/starlight/schema';
-
-export const collections = {
- docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
-};
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/docs/src/index.html b/packages/kbot/coverage/kbot/docs/src/index.html
deleted file mode 100644
index 49048a8b..00000000
--- a/packages/kbot/coverage/kbot/docs/src/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/docs/src
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/7
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/7
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- content.config.ts
-
-
-
- 0%
- 0/7
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/index.html b/packages/kbot/coverage/kbot/index.html
deleted file mode 100644
index 18f2b3f5..00000000
--- a/packages/kbot/coverage/kbot/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/50
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/50
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- test_web_urls.js
-
-
-
- 0%
- 0/50
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/50
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/kbot-tests/src/index.html b/packages/kbot/coverage/kbot/kbot-tests/src/index.html
deleted file mode 100644
index 5e5d0410..00000000
--- a/packages/kbot/coverage/kbot/kbot-tests/src/index.html
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/kbot-tests/src
-
-
-
-
-
-
-
-
-
-
-
-
All files kbot/kbot-tests/src
-
-
-
- 0%
- Statements
- 0/5
-
-
-
-
- 0%
- Branches
- 0/2
-
-
-
-
- 0%
- Functions
- 0/2
-
-
-
-
- 0%
- Lines
- 0/5
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- index.js
-
-
-
- 0%
- 0/3
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/3
-
-
-
- index.ts
-
-
-
- 0%
- 0/2
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/kbot-tests/src/index.js.html b/packages/kbot/coverage/kbot/kbot-tests/src/index.js.html
deleted file mode 100644
index 2ba73d07..00000000
--- a/packages/kbot/coverage/kbot/kbot-tests/src/index.js.html
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/kbot-tests/src/index.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/3
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/3
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-
-
- #!/usr/bin/env node
-"use strict";
-console.log('Hello, World! Welcome to your CLI application.');
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/kbot-tests/src/index.ts.html b/packages/kbot/coverage/kbot/kbot-tests/src/index.ts.html
deleted file mode 100644
index e7197aca..00000000
--- a/packages/kbot/coverage/kbot/kbot-tests/src/index.ts.html
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/kbot-tests/src/index.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/2
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/2
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-
-
- #!/usr/bin/env node
-
-console.log('Hello from TypeScript CLI!');
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/async-iterator.ts.html b/packages/kbot/coverage/kbot/src/async-iterator.ts.html
deleted file mode 100644
index d980666c..00000000
--- a/packages/kbot/coverage/kbot/src/async-iterator.ts.html
+++ /dev/null
@@ -1,715 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/async-iterator.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 82.66%
- Statements
- 124/150
-
-
-
-
- 71.42%
- Branches
- 20/28
-
-
-
-
- 81.81%
- Functions
- 9/11
-
-
-
-
- 82.66%
- Lines
- 124/150
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211 1x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1x
-1x
-1x
-
-1x
-3x
-6x
-18x
-6x
-6x
-18x
-
-6x
-3x
-
-1x
-3x
-3x
-3x
-
-8x
-8x
-8x
-8x
-8x
-8x
-8x
-8x
-8x
-8x
-8x
-8x
-8x
-16x
-16x
-16x
-8x
-8x
-8x
-
-16x
-16x
-16x
-16x
-16x
-16x
-16x
-16x
-16x
-16x
-
-16x
-
-16x
-34x
-
-
-34x
-34x
-16x
-16x
-16x
-16x
-16x
-16x
-16x
-16x
-16x
-10x
-10x
-16x
-
-
-
-
-
-
-
-
-
-
-16x
-
-
-16x
-16x
-
-1x
-
-
-
-
-
-
-
-
-
-
-
-
-5x
-5x
-5x
-5x
-5x
-5x
-5x
-5x
-5x
-5x
-5x
-5x
-5x
-
-
-5x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-
-
-2x
-
-
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-
-
-2x
-
-
-5x
-4x
-
-
-4x
-
-
-4x
-4x
-14x
-14x
-14x
-14x
-
-
-4x
-4x
-4x
-10x
-10x
-10x
-10x
-
-4x
-4x
-4x
-4x
-2x
-
-1x
-
-
-
-
-
-
-
-
-
- import { JSONPath } from 'jsonpath-plus'
-import pThrottle from 'p-throttle'
-import pMap from 'p-map'
-
-export type AsyncTransformer = (input: string, path: string) => Promise<string>
-export type ErrorCallback = (path: string, value: string, error: unknown) => void
-export type FilterCallback = (input: string, path: string) => Promise<boolean>
-export type Filter = (input: string) => Promise<boolean>
-
-export interface TransformOptions {
- transform: AsyncTransformer
- path: string
- throttleDelay: number
- concurrentTasks: number
- errorCallback: ErrorCallback
- filterCallback: FilterCallback
- targetPath?: string | null
-}
-
-export interface GlobalOptions {
- throttleDelay?: number
- concurrentTasks?: number
- errorCallback?: ErrorCallback
- filterCallback?: FilterCallback
-}
-
-export const isNumber: Filter = async (input: string) => (/^-?\d+(\.\d+)?$/.test(input))
-export const isBoolean: Filter = async (input: string) => /^(true|false)$/i.test(input)
-export const isValidString: Filter = async (input: string) => input.trim() !== ''
-
-export const testFilters = (filters: Filter[]): FilterCallback => {
- return async (input: string, path: string) => {
- for (const filter of filters) {
- if (await filter(input)) {
- return false;
- }
- }
- return true;
- };
-};
-
-export const defaultFilters = (filters: Filter[] = []): Filter[] =>
- [
- isNumber, isBoolean, isValidString, ...filters
- ]
-
-export async function transformObject(
- obj: Record<string, any>,
- transform: AsyncTransformer,
- path: string,
- throttleDelay: number,
- concurrentTasks: number,
- errorCallback: ErrorCallback,
- testCallback: FilterCallback
-): Promise<void> {
- const paths = JSONPath({ path, json: obj, resultType: 'pointer' });
- await pMap(
- paths,
- async (jsonPointer: string) => {
- const keys = jsonPointer.slice(1).split('/')
- await transformPath(obj, keys, transform, throttleDelay, concurrentTasks, jsonPointer, errorCallback, testCallback)
- },
- { concurrency: concurrentTasks }
- )
-}
-
-export async function transformPath(
- obj: Record<string, any>,
- keys: string[],
- transform: AsyncTransformer,
- throttleDelay: number,
- concurrentTasks: number,
- currentPath: string,
- errorCallback: ErrorCallback,
- testCallback: FilterCallback
-): Promise<void> {
-
- let current: Record<string, any> = obj
-
- for (let i = 0; i < keys.length - 1; i++) {
- if (current[keys[i]] === undefined || current[keys[i]] === null) {
- return;
- }
- current = current[keys[i]] as Record<string, any>
- }
- const lastKey = keys[keys.length - 1]
- const throttle = pThrottle({
- limit: 1,
- interval: throttleDelay,
- })
- if (typeof lastKey === 'string' && lastKey !== '') {
- try {
- if (typeof current[lastKey] === 'string' && current[lastKey] !== '') {
- if (await testCallback(current[lastKey], `${currentPath}/${lastKey}`)) {
- current[lastKey] = await throttle(transform)(current[lastKey], `${currentPath}/${lastKey}`)
- }
- } else if (typeof current[lastKey] === 'object' && current[lastKey] !== null) {
- await transformObject(
- current[lastKey] as Record<string, any>,
- transform,
- '$.*',
- throttleDelay,
- concurrentTasks,
- errorCallback,
- testCallback
- )
- }
- } catch (error) {
- errorCallback(currentPath, lastKey, error)
- }
- }
-}
-
-export const defaultError: ErrorCallback = (path: string, value: string, error: unknown): void => {
- console.error(`Error at path: ${path}, value: ${value}, error: ${error}`)
-}
-
-export interface TransformWithOptionsInput {
- jsonPath: string
- targetPath?: string | null
- throttleDelay?: number
- concurrentTasks?: number
- errorCallback?: ErrorCallback
- filterCallback?: FilterCallback
-}
-
-export async function transformObjectWithOptions(
- obj: Record<string, any>,
- transform: AsyncTransformer,
- options: TransformWithOptionsInput
-): Promise<void> {
- const {
- jsonPath,
- targetPath = null,
- throttleDelay = 1000,
- concurrentTasks = 1,
- errorCallback = defaultError,
- filterCallback = testFilters(defaultFilters())
- } = options;
-
- // If targetPath is null, directly transform the object at jsonPath
- if (!targetPath) {
- return transformObject(
- obj,
- transform,
- jsonPath,
- throttleDelay,
- concurrentTasks,
- errorCallback,
- filterCallback
- );
- }
-
- // For targetPath case, create a deep clone and transform it
- const dataCopy = JSON.parse(JSON.stringify(obj));
-
- // Transform the copy
- await transformObject(
- dataCopy,
- transform,
- jsonPath,
- throttleDelay,
- concurrentTasks,
- errorCallback,
- filterCallback
- );
-
- // Get paths from original object
- const paths = JSONPath({ path: jsonPath, json: obj, resultType: 'pointer' });
-
- // Apply transformed values to original object with targetPath
- for (const p of paths) {
- const keys = p.slice(1).split('/');
-
- // Get source path for transformation
- const sourceKeys = p.slice(1).split('/');
-
- // Get source value from matching path in processed data
- let sourceValue = dataCopy;
- for (const key of sourceKeys) {
- if (key === '') continue;
- if (sourceValue === undefined || sourceValue === null) break;
- sourceValue = sourceValue[key];
- }
-
- // Set value to target path in original object
- const parentKeys = keys.slice(0, -1);
- let target = obj;
- for (const key of parentKeys) {
- if (key === '') continue;
- if (target === undefined || target === null) break;
- target = target[key];
- }
-
- if (target && sourceValue !== undefined) {
- target[targetPath] = sourceValue;
- }
- }
-}
-
-export const defaultOptions = (options: Partial<TransformOptions> = {}): TransformOptions => {
- return {
- transform: options.transform,
- path: options.path || '$[*][0,1,2]',
- throttleDelay: options.throttleDelay || 10,
- concurrentTasks: options.concurrentTasks || 1,
- errorCallback: options.errorCallback || defaultError,
- filterCallback: options.filterCallback || testFilters(defaultFilters())
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/client.ts.html b/packages/kbot/coverage/kbot/src/client.ts.html
deleted file mode 100644
index a0f8c85a..00000000
--- a/packages/kbot/coverage/kbot/src/client.ts.html
+++ /dev/null
@@ -1,358 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/client.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/75
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/75
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import OpenAI from 'openai'
-import { logger } from './index.js'
-import { loadConfig } from './config.js'
-import { IKBotOptions } from './zod_types.js'
-
-type RouterType = 'openrouter' | 'openai' | 'deepseek' | 'huggingface' | 'ollama' | 'fireworks' | 'gemini' | 'xai'
-
-const ROUTER_BASE_URLS: Record<RouterType, string> = {
- openrouter: 'https://openrouter.ai/api/v1',
- openai: '', // OpenAI uses default URL
- deepseek: 'https://api.deepseek.com',
- huggingface: 'https://api-inference.huggingface.co',
- ollama: 'http://localhost:11434', // Ollama's default local API endpoint
- fireworks: 'https://api.fireworks.ai/v1', // Fireworks API endpoint
- gemini: 'https://generativelanguage.googleapis.com/v1beta', // Gemini API base URL
- xai: 'https://api.x.ai/v1', // XAI (Grok) API base URL
-}
-
-const DEFAULT_MODELS: Record<RouterType, string> = {
- openrouter: 'anthropic/claude-3.5-sonnet',
- openai: 'gpt-4o',
- deepseek: 'deepseek-chat',
- huggingface: 'meta-llama/2',
- ollama: 'leonard', // Default Ollama model
- fireworks: 'llama-v2-70b-chat', // Default Fireworks model
- gemini: 'gemini-1.5-pro', // Default Gemini model
- xai: 'grok-1' // Default XAI (Grok) model
-}
-/*
- * Creates an OpenAI client instance based on the provided options.
- * @param options - Configuration options for the client
- * @returns OpenAI client instance or undefined if configuration is invalid
- */
-export const createClient = (options: IKBotOptions) => {
- const config = loadConfig(options);
- if (!config) {
- logger.error(
- "Config not found in $HOME/.osr/config.json. " +
- "Optionally, export OSR_CONFIG with the path to the configuration file."
- );
- return undefined;
- }
- const router: RouterType = (options.router ?? 'openrouter') as RouterType;
-
- let apiKey = options.api_key;
-
- if (!apiKey) {
- switch (router) {
- case 'openrouter':
- apiKey = config?.openrouter?.key;
- break;
- case 'openai':
- apiKey = config?.openai?.key;
- break;
- case 'deepseek':
- apiKey = config?.deepseek?.key;
- break;
- case 'huggingface':
- apiKey = config?.huggingface?.key;
- break;
- case 'ollama':
- // Ollama doesn't require an API key when running locally
- apiKey = 'ollama'; // Dummy key for Ollama
- break;
- case 'fireworks':
- apiKey = config?.fireworks?.key;
- break;
- case 'gemini':
- apiKey = config?.gemini?.key;
- break;
- case 'xai':
- apiKey = config?.xai?.key;
- break;
- }
- }
-
- if (!apiKey ) {
- logger.error(`No ${router} key found. Please provide an "api_key", set it in the config, or pass it via JSON config.`);
- return undefined;
- }
-
- const baseURL = options.baseURL ?? ROUTER_BASE_URLS[router]
-
- if (!options.model) {
- options.model = DEFAULT_MODELS[router]
- }
- return new OpenAI({
- apiKey,
- baseURL,
- })
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/collector.ts.html b/packages/kbot/coverage/kbot/src/collector.ts.html
deleted file mode 100644
index 06aaa8a7..00000000
--- a/packages/kbot/coverage/kbot/src/collector.ts.html
+++ /dev/null
@@ -1,307 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/collector.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/63
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/63
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import path from 'node:path'
-import OpenAI from 'openai'
-
-import { ICollector } from '@polymech/ai-tools'
-import { resolve } from '@polymech/commons'
-import { RunnableFunctionWithParse } from 'openai/lib/RunnableFunction'
-
-import { winstonLogger, } from '@polymech/ai-tools'
-import { IKBotOptions } from './zod_types.js'
-import { getLogger } from './index.js'
-
-import { ChatCompletion, ChatCompletionMessage, ChatCompletionMessageParam } from 'openai/resources/index.mjs'
-
-export const collector = (options: IKBotOptions, client: OpenAI): ICollector => {
- const loggerIntern = getLogger(options)
- return {
- //OpenAI
- onMessage: (message: ChatCompletionMessageParam) => {
- const logFile = path.resolve(path.join(resolve(options.logs), 'openai-message.json'))
- const logger = winstonLogger('collector:onMessage', logFile)
- logger.info(message)
- },
- onToolCall: async (message: ChatCompletionMessage.FunctionCall) => {
- const logFile = path.resolve(path.join(resolve(options.logs), 'tool-call.json'))
- const logger = winstonLogger('collector:onToolCall', logFile)
- try {
- const msg = { ...message, arguments: JSON.parse(message.arguments) }
- logger.debug(msg)
- } catch (e) {
- logger.debug(message)
- }
- },
- onFunctionCallResult: (message: string) => {
- const logFile = path.resolve(path.join(resolve(options.logs), 'tool-call-result.json'))
- const logger = winstonLogger('collector:onFunctionCallResult', logFile)
- try {
- const msg = { message: JSON.parse(message) }
- logger.debug(msg)
- } catch (e) {
- logger.debug(message)
- }
- },
- onChatCompletion: (message: ChatCompletion) => {
- const logFile = path.resolve(path.join(resolve(options.logs), 'completion.json'))
- const logger = winstonLogger('collector:onChatCompletion', logFile)
- logger.debug(message)
- },
- onContent: (content: string) => {
- const logFile = path.resolve(path.join(resolve(options.logs), 'content.json'))
- const logger = winstonLogger('collector:onContent', logFile)
- logger.debug(content)
- },
- onTool(category, name, args, result) {
- const logFile = path.resolve(path.join(resolve(options.logs), 'tool.json'))
- const logger = winstonLogger('collector:onTool', logFile)
- logger.debug({ category, name, args, result })
- },
- onToolBefore: async (ctx: RunnableFunctionWithParse<any>, args: any) => {
- try{
- loggerIntern.debug(`onToolBefore :${ctx.name}`)
- }catch(e){
- loggerIntern.error(e)
- }
- return args
- },
- onToolAfter: async (ctx: RunnableFunctionWithParse<any>, args: any, result?: any) => {
- try {
- loggerIntern.debug(`onToolAfter : ${ctx.name}`)
- } catch (e) {
- loggerIntern.error(e)
- }
- return result[0]
- }
- }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/build.ts.html b/packages/kbot/coverage/kbot/src/commands/build.ts.html
deleted file mode 100644
index 081ac92d..00000000
--- a/packages/kbot/coverage/kbot/src/commands/build.ts.html
+++ /dev/null
@@ -1,385 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/build.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/80
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/80
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import path from 'node:path'
-import { fileURLToPath } from 'node:url'
-import { CONFIG_DEFAULT } from '@polymech/commons'
-
-import { sync as read } from '@polymech/fs/read'
-import { sync as write } from '@polymech/fs/write'
-import { sync as exists } from '@polymech/fs/exists'
-
-import { logger } from '../index.js'
-import { fetchOpenAIModels } from '../models/openai.js'
-import { fetchOpenRouterModels } from '../models/openrouter.js'
-
-const __dirname = path.dirname(fileURLToPath(import.meta.url))
-
-const generateModelEnum = (models: any[], provider: string) => {
- const enumName = `E_${provider.toUpperCase()}_MODEL`
- const enumContent = `export enum ${enumName} {
-${models.map(model => ` MODEL_${model.id.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()} = "${model.id}"`).join(',\n')}
-}`
- return enumContent
-}
-
-const generateModelEnumFree = (models: any[], provider: string) => {
- const enumName = `E_${provider.toUpperCase()}_MODEL_FREE`
- const freeModels = models.filter(model => {
- if (!model.pricing) return false
- const pricing = model.pricing
- return (
- (pricing.prompt === 0 || pricing.prompt === "0") &&
- (pricing.completion === 0 || pricing.completion === "0") &&
- (pricing.image === 0 || pricing.image === "0")
- )
- })
- const enumContent = `export enum ${enumName} {
-${freeModels.map(model => ` MODEL_FREE_${model.id.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()} = "${model.id}"`).join(',\n')}
-}`
- return enumContent
-}
-
-const generateModelEnumTools = (models: any[], provider: string) => {
- const enumName = `E_${provider.toUpperCase()}_MODEL`
- const toolModels = models.filter(model => {
- if (!model.top_provider) return false
- return model.top_provider.supports_functions === true ||
- model.top_provider.supports_function_calling === true ||
- model.top_provider.supports_tools === true
- })
- const enumContent = `export enum ${enumName} {
-${toolModels.map(model => ` MODEL_TOOLS_${model.id.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()} = "${model.id}"`).join(',\n')}
-}`
- return enumContent
-}
-
-export const build = async () => {
- const examplesSrc = path.resolve(__dirname, '../../docs_/examples.md')
- if(exists(examplesSrc)) {
- const examples = read(examplesSrc,'string') || ''
- const examplesPath = path.resolve(__dirname, '../src/docs-internal/examples.ts')
- write(examplesPath,`export const examples = ${JSON.stringify(examples)}`)
- logger.info(`Examples file generated " ${examplesPath}`)
- }else{
- logger.error(`Examples file not found ${examplesSrc}`)
- }
-
- const config = CONFIG_DEFAULT() as any
-
- const modelsOpenAI = await fetchOpenAIModels(config.openai.key)
- const modelsOpenRouter = (await fetchOpenRouterModels()).map((model) => {
- return {
- id: model.id,
- name: model.name,
- pricing: model.pricing,
- context: model.context,
- created: model.created,
- top_provider: model.top_provider
- }
- })
- // Generate model enums
- const openAIEnumPath = path.resolve(__dirname, '../../src/models/cache/openai-models.ts')
- const openRouterEnumPath = path.resolve(__dirname, '../../src/models/cache/openrouter-models.ts')
- const openAIEnumFreePath = path.resolve(__dirname, '../../src/models/cache/openai-models-free.ts')
- const openRouterEnumFreePath = path.resolve(__dirname, '../../src/models/cache/openrouter-models-free.ts')
- const openAIEnumToolsPath = path.resolve(__dirname, '../../src/models/cache/openai-models-tools.ts')
- const openRouterEnumToolsPath = path.resolve(__dirname, '../../src/models/cache/openrouter-models-tools.ts')
-
- write(openAIEnumPath, generateModelEnum(modelsOpenAI, 'OpenAI'))
- write(openRouterEnumPath, generateModelEnum(modelsOpenRouter, 'OpenRouter'))
- write(openAIEnumFreePath, generateModelEnumFree(modelsOpenAI, 'OpenAI'))
- write(openRouterEnumFreePath, generateModelEnumFree(modelsOpenRouter, 'OpenRouter'))
- write(openAIEnumToolsPath, generateModelEnumTools(modelsOpenAI, 'OpenAI'))
- write(openRouterEnumToolsPath, generateModelEnumTools(modelsOpenRouter, 'OpenRouter'))
- logger.info('Model enums generated')
-
- // Write model data
- const modelsOpenAIPath = path.resolve(__dirname, '../src/models/cache/openai.ts')
- write(modelsOpenAIPath,`export const models = ${JSON.stringify(modelsOpenAI)}`)
-
- const modelsOpenRouterPath = path.resolve(__dirname, '../src/models/cache/openrouter.ts')
- write(modelsOpenRouterPath,`export const models = ${JSON.stringify(modelsOpenRouter)}`)
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/examples.ts.html b/packages/kbot/coverage/kbot/src/commands/examples.ts.html
deleted file mode 100644
index 7cfe5f54..00000000
--- a/packages/kbot/coverage/kbot/src/commands/examples.ts.html
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/examples.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/9
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/9
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-
-
-
-
-
-
-
-
-
-
-
- import { marked } from 'marked'
-import { markedTerminal } from 'marked-terminal'
-import { examples as content } from '../docs-internal/examples.js'
-
-export const examples = () => {
- marked.use(markedTerminal(
- {
- emoji: false,
- }
- ))
- process.stdout.write(marked(content) as string)
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/fetch.ts.html b/packages/kbot/coverage/kbot/src/commands/fetch.ts.html
deleted file mode 100644
index 834542e1..00000000
--- a/packages/kbot/coverage/kbot/src/commands/fetch.ts.html
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/fetch.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/26
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/26
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import path from 'node:path'
-import { sync as write } from '@polymech/fs/write'
-import { logger, module_root } from '../index.js'
-import { fetchOpenAIModels } from '../models/openai.js'
-import { fetchOpenRouterModels } from '../models/openrouter.js'
-import { CONFIG_DEFAULT } from '@polymech/commons'
-
-export const fetch = async () => {
-
- const config = CONFIG_DEFAULT() as any
- if (config.openai && config.openai.key) {
- const modelsOpenAI = await fetchOpenAIModels(config.openai.key)
- if (modelsOpenAI) {
- const modelsOpenAIPath = path.resolve(module_root(), 'openai.json')
- write(modelsOpenAIPath, modelsOpenAI)
- logger.info(`Fetched ${modelsOpenAI.length} OpenAI models, to ${modelsOpenAIPath}`)
- } else {
- logger.error(`Failed to fetch OpenAI models`)
- }
- }
-
- const modelsOpenRouter = (await fetchOpenRouterModels()).map((model) => {
- return {
- id: model.id,
- name: model.name,
- pricing: model.pricing,
- context: model.context,
- created: model.created
- }
- })
- const modelsOpenRouterPath = path.resolve(module_root(), 'openrouter.json')
- write(modelsOpenRouterPath, modelsOpenRouter)
- logger.info(`Fetched ${modelsOpenRouter.length} OpenRouter models, to ${modelsOpenRouterPath}`)
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/handlers/audio-handler.ts.html b/packages/kbot/coverage/kbot/src/commands/handlers/audio-handler.ts.html
deleted file mode 100644
index f9e3fa93..00000000
--- a/packages/kbot/coverage/kbot/src/commands/handlers/audio-handler.ts.html
+++ /dev/null
@@ -1,853 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/handlers/audio-handler.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/175
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/175
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import * as fs from 'node:fs'
-import { BaseHandler } from './base-handler.js';
-import { logger } from '../../index.js'
-import { createClient } from '../../client.js';
-import { toFile } from "openai"
-import { IKBotOptions } from '../../zod_types.js';
-/**
- * Hex bytes for the "ID3" tag (ID3v2 header).
- * Typically found at the beginning of an MP3 file that contains ID3 metadata.
- */
-export const ID3_HEADER_BYTES = new Uint8Array([0x49, 0x44, 0x33]);
-
-/**
- * Possible first two bytes (frame sync) of an MP3 file without an ID3 tag.
- * Commonly:
- * - 0xFF 0xFB for MPEG-1 Layer III
- * - 0xFF 0xF3 for MPEG-2 Layer III
- * - 0xFF 0xF2 for MPEG-2.5 Layer III
- */
-export const MP3_FRAME_SYNC_PATTERNS: Uint8Array[] = [
- new Uint8Array([0xFF, 0xFB]),
- new Uint8Array([0xFF, 0xF3]),
- new Uint8Array([0xFF, 0xF2]),
-];
-
-const isMp3File = (fileBuffer: ArrayBuffer): boolean => {
- const byteView = new Uint8Array(fileBuffer);
-
- // Check if the file starts with ID3 bytes
- if (
- byteView[0] === ID3_HEADER_BYTES[0] &&
- byteView[1] === ID3_HEADER_BYTES[1] &&
- byteView[2] === ID3_HEADER_BYTES[2]
- ) {
- return true;
- }
-
- // Or check if it starts with a known frame sync pattern
- return MP3_FRAME_SYNC_PATTERNS.some((pattern) => {
- return byteView[0] === pattern[0] && byteView[1] === pattern[1];
- });
-}
-/**
- * "RIFF" in ASCII
- * 0x52 = R
- * 0x49 = I
- * 0x46 = F
- * 0x46 = F
- */
-export const WAV_RIFF_HEADER = new Uint8Array([0x52, 0x49, 0x46, 0x46]);
-
-/**
- * "WAVE" in ASCII
- * 0x57 = W
- * 0x41 = A
- * 0x56 = V
- * 0x45 = E
- */
-export const WAV_WAVE_HEADER = new Uint8Array([0x57, 0x41, 0x56, 0x45]);
-
-/**
- * Checks if the provided file buffer is likely a WAV file.
- * - Must start with "RIFF" (bytes 0–3)
- * - Must have "WAVE" at bytes 8–11
- */
-export function isWavFile(fileBuffer: ArrayBuffer): boolean {
- const byteView = new Uint8Array(fileBuffer);
-
- // Safety check: we need at least 12 bytes to validate "RIFF" + "WAVE" positions
- if (byteView.length < 12) {
- return false;
- }
-
- // Check the "RIFF" part (bytes 0..3)
- if (
- byteView[0] !== WAV_RIFF_HEADER[0] ||
- byteView[1] !== WAV_RIFF_HEADER[1] ||
- byteView[2] !== WAV_RIFF_HEADER[2] ||
- byteView[3] !== WAV_RIFF_HEADER[3]
- ) {
- return false;
- }
-
- // Check the "WAVE" part (bytes 8..11)
- if (
- byteView[8] !== WAV_WAVE_HEADER[0] ||
- byteView[9] !== WAV_WAVE_HEADER[1] ||
- byteView[10] !== WAV_WAVE_HEADER[2] ||
- byteView[11] !== WAV_WAVE_HEADER[3]
- ) {
- return false;
- }
-
- return true;
-}
-/**
- * "ftyp" in ASCII (0x66 = f, 0x74 = t, 0x79 = y, 0x70 = p).
- */
-export const FTYP_BOX_HEADER = new Uint8Array([0x66, 0x74, 0x79, 0x70]);
-
-/**
- * Common major/compatible brand signatures for M4A.
- * - "M4A " (0x4D 0x34 0x41 0x20)
- * - "mp42" (0x6D 0x70 0x34 0x32)
- * - "isom" (0x69 0x73 0x6F 0x6D)
- *
- * Note: Some M4A files might list different/older brand combos,
- * but these are the most common.
- */
-export const M4A_BRANDS: Uint8Array[] = [
- new Uint8Array([0x4D, 0x34, 0x41, 0x20]), // "M4A "
- new Uint8Array([0x6D, 0x70, 0x34, 0x32]), // "mp42"
- new Uint8Array([0x69, 0x73, 0x6F, 0x6D]), // "isom"
-];
-
-/**
- * Checks if the provided file buffer likely represents an M4A.
- *
- * Basic check:
- * 1. Must have at least 12 bytes (4 bytes size + "ftyp" + brand).
- * 2. Bytes [4..7] should be "f t y p".
- * 3. Bytes [8..11] should match a known brand (e.g., "M4A ", "mp42", "isom").
- *
- * @param fileBuffer The raw file data as an ArrayBuffer
- * @returns boolean indicating if this is likely an M4A
- */
-export function isM4AFile(fileBuffer: ArrayBuffer): boolean {
- const byteView = new Uint8Array(fileBuffer);
-
- // We need at least 12 bytes to check: [0..3] size, [4..7] 'ftyp', [8..11] brand
- if (byteView.length < 12) {
- return false;
- }
-
- // Check that bytes [4..7] == "ftyp"
- if (
- byteView[4] !== FTYP_BOX_HEADER[0] ||
- byteView[5] !== FTYP_BOX_HEADER[1] ||
- byteView[6] !== FTYP_BOX_HEADER[2] ||
- byteView[7] !== FTYP_BOX_HEADER[3]
- ) {
- return false;
- }
-
- // Extract the 4-byte brand at [8..11]
- const brandBytes = byteView.subarray(8, 12);
-
- // Check if brandBytes matches any known brand
- const matchesKnownBrand = M4A_BRANDS.some((brand) => {
- return (
- brandBytes[0] === brand[0] &&
- brandBytes[1] === brand[1] &&
- brandBytes[2] === brand[2] &&
- brandBytes[3] === brand[3]
- );
- });
-
- return matchesKnownBrand;
-}
-
-const createBuffer = (path: string): Buffer | null => {
- try {
- const buffer = fs.readFileSync(path)
- return buffer;
- } catch (error) {
- console.error('Error creating buffer:', error);
- return null;
- }
-}
-const getAudioFileType = (filePath: string | Buffer): { fileName: string; mimeType: string } => {
- const ext = typeof filePath === 'string' ? path.extname(filePath).toLowerCase() : null;
- if (ext) {
- switch (ext) {
- case '.mp3':
- return { fileName: 'audio.mp3', mimeType: 'audio/mpeg' };
- case '.m4a':
- return { fileName: 'audio.m4a', mimeType: 'audio/m4a' };
- case '.wav':
- return { fileName: 'audio.wav', mimeType: 'audio/wav' };
- }
- }
-
- // If no ext or not a string (buffer), detect from content
- const buffer = Buffer.isBuffer(filePath) ? filePath : fs.readFileSync(filePath as string);
- if (isMp3File(buffer)) {
- return { fileName: 'audio.mp3', mimeType: 'audio/mpeg' };
- } else if (isM4AFile(buffer)) {
- return { fileName: 'audio.m4a', mimeType: 'audio/m4a' };
- } else if (isWavFile(buffer)) {
- return { fileName: 'audio.wav', mimeType: 'audio/wav' };
- }
- throw new Error('Unsupported audio format');
-};
-
-export class AudioHandler extends BaseHandler {
- private options: IKBotOptions;
-
- constructor(options: IKBotOptions) {
- super();
- this.options = options;
- }
-
- async canHandle(content: Buffer | string, isPath: boolean): Promise<boolean> {
- if (isPath) {
- // Check file extension for paths
- const ext = path.extname(content as string).toLowerCase();
- return ['.wav', '.mp3', '.m4a'].includes(ext);
- }
-
- // Check content type for buffers
- if (!Buffer.isBuffer(content)) return false;
- return isMp3File(content) || isWavFile(content) || isM4AFile(content);
- }
-
- async handle(content: Buffer | string, isPath: boolean): Promise<string> {
- const client = createClient({...this.options,router: 'openai'})
- if (!client) {
- throw new Error('Failed to create OpenAI client for audio transcription');
- }
-
- try {
-
- let audioType: { fileName: string; mimeType: string };
-
- if (isPath) {
- const filePath = content as string;
- audioType = getAudioFileType(filePath);
- } else {
- audioType = getAudioFileType(content as Buffer);
- }
-
- const file = await toFile(createBuffer(content as string), audioType.fileName, { type: audioType.mimeType });
- if (!file) {
- logger.error('Error converting source to file');
- throw new Error('Failed to create file for transcription');
- }
-
- logger.debug(`Transcribing audio content... ${audioType.fileName} : ${audioType.mimeType}`);
- const transcription = await client.audio.transcriptions.create({
- file,
- model: 'whisper-1',
- response_format: "verbose_json",
- });
-
- if (transcription && transcription.text) {
- logger.info('Successfully transcribed audio content');
- return transcription.text;
- } else {
- throw new Error('No transcription text received from OpenAI');
- }
- } catch (error) {
- logger.error('Failed to transcribe audio:', (error as Error).message);
- throw new Error(`Audio transcription failed: ${(error as Error).message}`);
- }
- }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/handlers/base-handler.ts.html b/packages/kbot/coverage/kbot/src/commands/handlers/base-handler.ts.html
deleted file mode 100644
index fbb5d3c3..00000000
--- a/packages/kbot/coverage/kbot/src/commands/handlers/base-handler.ts.html
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/handlers/base-handler.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 100%
- Branches
- 1/1
-
-
-
-
- 100%
- Functions
- 1/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-
-
-
-
-
-
-
- export interface IHandler {
- canHandle(content: Buffer | string, isPath: boolean): Promise<boolean>;
- handle(content: Buffer | string, isPath: boolean): Promise<string>;
-}
-
-export abstract class BaseHandler implements IHandler {
- abstract canHandle(content: Buffer | string, isPath: boolean): Promise<boolean>;
- abstract handle(content: Buffer | string, isPath: boolean): Promise<string>;
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/handlers/image-handler.ts.html b/packages/kbot/coverage/kbot/src/commands/handlers/image-handler.ts.html
deleted file mode 100644
index d347c353..00000000
--- a/packages/kbot/coverage/kbot/src/commands/handlers/image-handler.ts.html
+++ /dev/null
@@ -1,508 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/handlers/image-handler.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/114
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/114
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { BaseHandler } from './base-handler.js'
-import * as path from 'node:path'
-import { sync as read } from '@polymech/fs/read'
-import { createClient } from '../../client.js'
-import { logger } from '../../index.js'
-import { toFile } from 'openai'
-import { IKBotOptions } from '../../zod_types.js'
-
-// Common image file signatures/magic numbers
-const IMAGE_SIGNATURES = {
- // JPEG/JPG start with FF D8
- JPEG: new Uint8Array([0xFF, 0xD8]),
- // PNG start with 89 50 4E 47 0D 0A 1A 0A
- PNG: new Uint8Array([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A]),
- // GIF starts with either GIF87a or GIF89a
- GIF87a: new Uint8Array([0x47, 0x49, 0x46, 0x38, 0x37, 0x61]),
- GIF89a: new Uint8Array([0x47, 0x49, 0x46, 0x38, 0x39, 0x61])
-};
-
-const isImageContent = (buffer: Buffer): boolean => {
- if (!buffer || buffer.length < 8) return false;
-
- // Check JPEG
- if (buffer[0] === IMAGE_SIGNATURES.JPEG[0] && buffer[1] === IMAGE_SIGNATURES.JPEG[1]) {
- return true;
- }
-
- // Check PNG
- if (IMAGE_SIGNATURES.PNG.every((byte, i) => buffer[i] === byte)) {
- return true;
- }
-
- // Check GIF
- const isGif87a = IMAGE_SIGNATURES.GIF87a.every((byte, i) => buffer[i] === byte);
- const isGif89a = IMAGE_SIGNATURES.GIF89a.every((byte, i) => buffer[i] === byte);
- if (isGif87a || isGif89a) {
- return true;
- }
-
- return false;
-};
-
-export const getImageType = (filePath: string | Buffer): { fileName: string; mimeType: string } => {
- if (typeof filePath === 'string') {
- const ext = path.extname(filePath).toLowerCase();
- switch (ext) {
- case '.jpg':
- case '.jpeg':
- return { fileName: 'image.jpg', mimeType: 'image/jpeg' };
- case '.png':
- return { fileName: 'image.png', mimeType: 'image/png' };
- case '.gif':
- return { fileName: 'image.gif', mimeType: 'image/gif' };
- }
- }
-
- // Detect from content
- const buffer = Buffer.isBuffer(filePath) ? filePath : read(filePath as string);
-
- if (!buffer) throw new Error('Could not read image content');
-
- if (buffer[0] === IMAGE_SIGNATURES.JPEG[0] && buffer[1] === IMAGE_SIGNATURES.JPEG[1]) {
- return { fileName: 'image.jpg', mimeType: 'image/jpeg' };
- }
- if (IMAGE_SIGNATURES.PNG.every((byte, i) => buffer[i] === byte)) {
- return { fileName: 'image.png', mimeType: 'image/png' };
- }
- if (IMAGE_SIGNATURES.GIF87a.every((byte, i) => buffer[i] === byte) ||
- IMAGE_SIGNATURES.GIF89a.every((byte, i) => buffer[i] === byte)) {
- return { fileName: 'image.gif', mimeType: 'image/gif' };
- }
-
- throw new Error('Unsupported image format');
-};
-
-export class ImageHandler extends BaseHandler {
- private options: IKBotOptions;
-
- constructor(options: IKBotOptions) {
- super();
- this.options = options;
- }
-
- async canHandle(content: Buffer | string, isPath: boolean): Promise<boolean> {
- try {
- if (isPath) {
- const ext = path.extname(content as string).toLowerCase();
- return ['.jpg', '.jpeg', '.png', '.gif'].includes(ext);
- }
- return Buffer.isBuffer(content) && isImageContent(content);
- } catch {
- return false;
- }
- }
-
- async handle(content: Buffer | string, isPath: boolean): Promise<string> {
- const client = createClient({...this.options, router: 'openai'});
- if (!client) {
- throw new Error('Failed to create OpenAI client for image analysis');
- }
-
- try {
- const imageType = getImageType(content);
- const buffer = isPath ? read(content as string) : content as Buffer;
-
- if (!buffer) {
- throw new Error('Failed to read image content');
- }
-
- const file = await toFile(buffer as Buffer, imageType.fileName, { type: imageType.mimeType });
- if (!file) {
- throw new Error('Failed to create file for vision analysis');
- }
-
- logger.debug(`Analyzing image content... ${imageType.fileName} : ${imageType.mimeType}`);
-
- const response = await client.chat.completions.create({
- model: 'gpt-4-vision-preview',
- messages: [
- {
- role: 'user',
- content: [
- { type: 'text', text: 'Describe this image in detail, focusing on relevant technical or content aspects:' },
- { type: 'image_url', image_url: { url: `data:${imageType.mimeType};base64,${buffer.toString('base64')}` } }
- ],
- },
- ],
- max_tokens: 1500,
- });
-
- if (response.choices[0]?.message?.content) {
- logger.info('Successfully analyzed image content');
- return response.choices[0].message.content;
- } else {
- throw new Error('No analysis received from OpenAI');
- }
- } catch (error) {
- logger.error('Failed to analyze image:', (error as Error).message);
- throw new Error(`Image analysis failed: ${(error as Error).message}`);
- }
- }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/handlers/index.html b/packages/kbot/coverage/kbot/src/commands/handlers/index.html
deleted file mode 100644
index c80f680a..00000000
--- a/packages/kbot/coverage/kbot/src/commands/handlers/index.html
+++ /dev/null
@@ -1,176 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/handlers
-
-
-
-
-
-
-
-
-
-
-
-
All files kbot/src/commands/handlers
-
-
-
- 0%
- Statements
- 0/344
-
-
-
-
- 20%
- Branches
- 1/5
-
-
-
-
- 20%
- Functions
- 1/5
-
-
-
-
- 0%
- Lines
- 0/344
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- audio-handler.ts
-
-
-
- 0%
- 0/175
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/175
-
-
-
- base-handler.ts
-
-
-
- 0%
- 0/1
- 100%
- 1/1
- 100%
- 1/1
- 0%
- 0/1
-
-
-
- image-handler.ts
-
-
-
- 0%
- 0/114
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/114
-
-
-
- index.ts
-
-
-
- 0%
- 0/28
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/28
-
-
-
- text-handler.ts
-
-
-
- 0%
- 0/26
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/26
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/handlers/index.ts.html b/packages/kbot/coverage/kbot/src/commands/handlers/index.ts.html
deleted file mode 100644
index f0d913a1..00000000
--- a/packages/kbot/coverage/kbot/src/commands/handlers/index.ts.html
+++ /dev/null
@@ -1,193 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/handlers/index.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/28
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/28
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import { IHandler } from './base-handler.js'
-import { TextHandler } from './text-handler.js'
-import { AudioHandler } from './audio-handler.js'
-import { ImageHandler } from './image-handler.js'
-import { sync as exists } from '@polymech/fs/exists'
-
-import { IKBotOptions } from '../../zod_types.js'
-
-export function createHandlers(options: IKBotOptions): IHandler[] {
- return [
- new AudioHandler(options),
- new ImageHandler(options),
- new TextHandler(),
- ]
-}
-export async function detectAndHandle(content: Buffer | string, options: IKBotOptions): Promise<string> {
- const handlers = createHandlers(options)
- // Check if content is a file path
- const contentStr = content.toString();
- if (exists(contentStr)) {
- const filePath = path.resolve(contentStr);
- for (const handler of handlers) {
- if (await handler.canHandle(filePath, true)) {
- return handler.handle(filePath, true);
- }
- }
- }
-
- // Handle as raw content
- for (const handler of handlers) {
- if (await handler.canHandle(content, false)) {
- return handler.handle(content, false);
- }
- }
- throw new Error('No suitable handler found for the input content');
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/handlers/text-handler.ts.html b/packages/kbot/coverage/kbot/src/commands/handlers/text-handler.ts.html
deleted file mode 100644
index dc4cfc58..00000000
--- a/packages/kbot/coverage/kbot/src/commands/handlers/text-handler.ts.html
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/handlers/text-handler.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/26
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/26
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { BaseHandler } from './base-handler.js'
-import { sync as read } from '@polymech/fs/read'
-import * as path from 'node:path'
-
-export class TextHandler extends BaseHandler {
- async canHandle(content: Buffer | string, isPath: boolean): Promise<boolean> {
- if (isPath) {
- // For file paths, check file extension
- const ext = path.extname(content as string).toLowerCase();
- return ['.txt', '.md', '.json', '.js', '.ts'].includes(ext);
- }
-
- // For raw content, try to decode as UTF-8 text
- try {
- if (Buffer.isBuffer(content)) {
- content.toString('utf8');
- }
- return true;
- } catch {
- return false;
- }
- }
-
- async handle(content: Buffer | string, isPath: boolean): Promise<string> {
- if (isPath) {
- // Read content from file
- return read(content as string, 'string') as string;
- }
-
- // Return raw content as string
- return Buffer.isBuffer(content) ? content.toString('utf8') : content;
- }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/help.ts.html b/packages/kbot/coverage/kbot/src/commands/help.ts.html
deleted file mode 100644
index 8679c1b9..00000000
--- a/packages/kbot/coverage/kbot/src/commands/help.ts.html
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/help.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/43
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/43
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { z } from 'zod'
-import { marked } from 'marked'
-import { markedTerminal } from 'marked-terminal'
-import { getDefaultValue, getDescription } from '@polymech/commons'
-
-import { OptionsSchema } from '../zod_schema.js'
-
-export const help = () => {
- const schema = OptionsSchema()
- const desc = schema._def.description
- const shape = schema.shape
-
- const md = [
- '# KBot Command Line Interface',
- '',
- '```bash',
- 'kplus modify [prompt] [options]',
- '```',
- '',
- '## Description',
- '',
- desc || 'KBot CLI Tool',
- '',
- '## Options',
- ''
- ]
-
- // Process each parameter
- for (const [key, def] of Object.entries(shape)) {
- const isOptional = def instanceof z.ZodOptional
- const defaultValue = getDefaultValue(def as any)
- const description = getDescription(def as any)
- md.push(`--${key}`)
- md.push('')
- md.push(`Description: ${description}`)
- if (defaultValue !== undefined) {
- md.push(`Default: \`${JSON.stringify(defaultValue)}\``)
- }
- md.push(`Required: ${(!isOptional).toString()}`)
- md.push('')
- }
-
- marked.use(markedTerminal({
- emoji: false
- }))
- const content: string = marked(md.join('\n')) as string;
- process.stdout.write(content)
- return content
-}
-
-export default async (argv: any) => {
- return help()
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/index.html b/packages/kbot/coverage/kbot/src/commands/index.html
deleted file mode 100644
index 6cdc4cd1..00000000
--- a/packages/kbot/coverage/kbot/src/commands/index.html
+++ /dev/null
@@ -1,251 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/684
-
-
-
-
- 0%
- Branches
- 0/10
-
-
-
-
- 0%
- Functions
- 0/10
-
-
-
-
- 0%
- Lines
- 0/684
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- build.ts
-
-
-
- 0%
- 0/80
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/80
-
-
-
- examples.ts
-
-
-
- 0%
- 0/9
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/9
-
-
-
- fetch.ts
-
-
-
- 0%
- 0/26
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/26
-
-
-
- help.ts
-
-
-
- 0%
- 0/43
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/43
-
-
-
- init.ts
-
-
-
- 0%
- 0/72
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/72
-
-
-
- renderer.ts
-
-
-
- 0%
- 0/30
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/30
-
-
-
- run-assistant.ts
-
-
-
- 0%
- 0/102
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/102
-
-
-
- run-completion.ts
-
-
-
- 0%
- 0/42
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/42
-
-
-
- run-tools.ts
-
-
-
- 0%
- 0/57
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/57
-
-
-
- run.ts
-
-
-
- 0%
- 0/223
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/223
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/init.ts.html b/packages/kbot/coverage/kbot/src/commands/init.ts.html
deleted file mode 100644
index 4c4f0777..00000000
--- a/packages/kbot/coverage/kbot/src/commands/init.ts.html
+++ /dev/null
@@ -1,403 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/init.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/72
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/72
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import { Logger } from 'tslog'
-import { sync as dir } from '@polymech/fs/dir'
-import { sync as exists } from '@polymech/fs/exists'
-import { sync as write } from '@polymech/fs/write'
-import { MODULE_NAME } from '../constants.js'
-import { IKBotTask } from '@polymech/ai-tools'
-
-const PREFERENCES_TEMPLATE = `# Personal Preferences
-
-This file stores personal information and preferences to help the AI assistant provide more personalized and contextual responses.
-
-## My Preferences
-
-Gender :
-Location :
-Language :
-Occupation :
-Age :
-
-## Contacts
-
-My email address :
-My wife's email address :
-My second wife's email address :
-
-## Content
-
-When creating content
-
-- always Markdown
-- always add links to sources
-- when searching for news, always add links to videos
-`
-
-const CONFIG_TEMPLATE = {
- "deepl": {
- "auth_key": "YOUR_DEEPL_AUTH_KEY",
- "free_api": false
- },
- "scaleserp": {
- "key": "YOUR_SCALE_SERP_KEY"
- },
- "geocoder": {
- "key": "YOUR_GEOCODER_KEY"
- },
- "serpapi": {
- "key": "YOUR_SERPAPI_KEY"
- },
- "openai": {
- "key": "YOUR_OPENAI_KEY"
- },
- "bigdata": {
- "key": "YOUR_BIGDATA_KEY"
- },
- "novita": {
- "key": "YOUR_NOVITA_KEY"
- },
- "perplexity": {
- "key": "YOUR_PERPLEXITY_KEY"
- },
- "gemini": {
- "key": "YOUR_GEMINI_KEY"
- },
- "openrouter": {
- "key": "YOUR_OPENROUTER_KEY"
- },
- "deepseek": {
- "key": "YOUR_DEEPSEEK_KEY"
- },
- "google": {
- "cse": "YOUR_GOOGLE_CSE",
- "api_key": "YOUR_GOOGLE_API_KEY"
- }
-}
-
-export const init = async (argv: IKBotTask) => {
- const logger = new Logger<unknown>({
- hideLogPositionForProduction: true,
- maskPlaceholder: '***',
- name: MODULE_NAME,
- prettyLogTemplate: "{{logLevelName}}\t[{{filePathWithLine}}{{name}}]\t",
- })
- const kbotDir = path.resolve(path.join(process.cwd(), `.${MODULE_NAME}`))
- if (!exists(kbotDir)) {
- dir(kbotDir)
- }
- // Create preferences file if it doesn't exist
- const preferencesPath = path.resolve(kbotDir, 'preferences.md')
- if (!exists(preferencesPath)) {
- write(preferencesPath, PREFERENCES_TEMPLATE)
- logger.info(`📋 Created preferences file: ${preferencesPath}`)
- }else{
- logger.info(`📋 Preferences file already exists: ${preferencesPath}`)
- }
-
- // Create config file if it doesn't exist
- const configPath = path.resolve(kbotDir, 'config.json')
- if (!exists(configPath)) {
- write(configPath, CONFIG_TEMPLATE)
- logger.info(`📋 Created configuration file: ${configPath}`)
- }else{
- logger.info(`📋 Configuration file already exists: ${configPath}`)
- }
- logger.info('📋 Initialization complete!')
- return 0
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/renderer.ts.html b/packages/kbot/coverage/kbot/src/commands/renderer.ts.html
deleted file mode 100644
index fb3f319d..00000000
--- a/packages/kbot/coverage/kbot/src/commands/renderer.ts.html
+++ /dev/null
@@ -1,259 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/renderer.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/30
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/30
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- // src/markdown-blessed.ts
-
-import * as blessed from 'blessed'
-import { marked, Tokens } from 'marked'
-/**
- * Define a custom renderer where the `image` method
- * uses Marked's new signature: image({ href, title, text }: Tokens.Image).
- */
-const customRenderer = {
- image({ href, title, text }: Tokens.Image): string {
- // Provide a textual placeholder instead of an actual image
- return `\n[IMAGE: ${text || 'No Alt'}](${href || 'No Href'})\n`;
- },
- // (Optional) you can override other renderer methods here
-};
-
-// We tell Marked to use our custom renderer
-// Alternatively, you can pass { renderer: customRenderer } directly to marked().
-marked.use({ renderer: customRenderer });
-
-/**
- * Renders the given Markdown string in a Blessed terminal UI.
- *
- * @param markdownContent - The Markdown content to display.
- */
-export function displayMarkdown(markdownContent: string): void {
- // 1) Create Blessed screen
- const screen = blessed.screen({
- smartCSR: true,
- title: 'Markdown Example with Blessed'
- });
-
- // 2) Create a scrollable box for the text
- const box = blessed.box({
- parent: screen,
- top: 'center',
- left: 'center',
- width: '100%',
- height: '100%',
- keys: true,
- vi: true,
- mouse: true,
- border: 'none',
- alwaysScroll: true,
- scrollable: true
- });
-
- // 3) Parse the markdown into a string using our renderer
- const parsedContent = marked(markdownContent);
-
- // 4) Set the box content
- box.setContent(parsedContent);
-
- // 5) Focus and render
- box.focus();
- screen.render();
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/run-assistant.ts.html b/packages/kbot/coverage/kbot/src/commands/run-assistant.ts.html
deleted file mode 100644
index 40aeff03..00000000
--- a/packages/kbot/coverage/kbot/src/commands/run-assistant.ts.html
+++ /dev/null
@@ -1,631 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/run-assistant.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/102
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/102
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import * as fs from 'node:fs'
-
-import OpenAI from 'openai'
-
-import { IKBotTask } from '@polymech/ai-tools'
-
-import { logger } from '../index.js'
-import { onCompletion } from './run-completion.js'
-import { glob } from '../source.js'
-import { prompt } from '../prompt.js'
-
-export const supported: Record<string, string> = {
- ".c": "text/x-c",
- ".cpp": "text/x-c++",
- ".cs": "text/x-csharp",
- ".css": "text/css",
- ".doc": "application/msword",
- ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
- ".go": "text/x-golang",
- ".html": "text/html",
- ".java": "text/x-java",
- ".js": "text/javascript",
- ".json": "application/json",
- ".md": "text/markdown",
- ".pdf": "application/pdf",
- ".php": "text/x-php",
- ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
- ".py": "text/x-python", // sometimes text/x-script.python
- ".rb": "text/x-ruby",
- ".sh": "application/x-sh",
- ".tex": "text/x-tex",
- ".ts": "application/typescript",
- ".txt": "text/plain"
-};
-
-export const createOpenAIFile = async (client: OpenAI, filePath: string, purpose: string = 'assistants') => {
- return client.files.create({
- file: fs.createReadStream(filePath),
- purpose: purpose as any
- })
-}
-/*
-class EventHandler extends EventEmitter {
- constructor(client) {
- super();
- // this.client = client;
- }
-
- async onEvent(event) {
- try {
- console.log(event);
- // Retrieve events that are denoted with 'requires_action'
- // since these will have our tool_calls
- if (event.event === "thread.run.requires_action") {
- await this.handleRequiresAction(
- event.data,
- event.data.id,
- event.data.thread_id,
- );
- }
- } catch (error) {
- console.error("Error handling event:", error);
- }
- }
-
- async handleRequiresAction(data, runId, threadId) {
- try {
- const toolOutputs =
- data.required_action.submit_tool_outputs.tool_calls.map((toolCall) => {
- if (toolCall.function.name === "getCurrentTemperature") {
- return {
- tool_call_id: toolCall.id,
- output: "57",
- };
- } else if (toolCall.function.name === "getRainProbability") {
- return {
- tool_call_id: toolCall.id,
- output: "0.06",
- };
- }
- });
- // Submit all the tool outputs at the same time
- await this.submitToolOutputs(toolOutputs, runId, threadId);
- } catch (error) {
- console.error("Error processing required action:", error);
- }
- }
-
- async submitToolOutputs(toolOutputs, runId, threadId) {
- try {
- // Use the submitToolOutputsStream helper
- const stream = this.client.beta.threads.runs.submitToolOutputsStream(
- threadId,
- runId,
- { tool_outputs: toolOutputs },
- );
- for await (const event of stream) {
- this.emit("event", event);
- }
- } catch (error) {
- console.error("Error submitting tool outputs:", error);
- }
- }
-}
-*/
-export const runAssistant = async (client: OpenAI, params: any, options: IKBotTask) => {
- const sessionId = Date.now().toString()
- const sessionMessages = {
- sessionId,
- prompt: options.prompt,
- timestamp: new Date().toISOString(),
- messages: []
- }
-
- if (options.dry) {
- logger.info('Dry run - skipping API call')
- return {
- result: 'DRY RUN',
- sessionMessages,
- result_raw: {},
- toolCalls: []
- }
- }
- const logMessage = (message: any, sessionId: string, prompt) => {
- return {
- ...message,
- timestamp: new Date().toISOString(),
- sessionId,
- prompt
- }
- }
- let result = null
- const prompt_ = await prompt(options)
- const assistant = await client.beta.assistants.create({
- name: "Documents Assistant",
- model: params.model,
- tools: [{ type: "file_search" }, ...params.tools],
- })
-
- const { files } = glob(path.resolve(options.path), options.include) || { files: [], webUrls: new Set<string>() }
- const filesToProcess = files.filter((f) => path.extname(f) in supported)
-
- const attachments = await Promise.all(filesToProcess.map(async (file: string) => {
- const file_id = await createOpenAIFile(client, file)
- return {
- file_id: file_id.id,
- tools: [{ type: "file_search" }]
- }
- }))
-
- const thread = await client.beta.threads.create({
- messages: [
- {
- role: "user",
- content: prompt_.content,
- attachments: attachments as any,
- }
- ] as any,
- })
-
- let defer
- try {
- defer = new Promise((resolve, reject) => {
- const stream = client.beta.threads.runs
- .stream(thread.id, {
- assistant_id: assistant.id,
- })
- //.on("textCreated", (args) => logger.trace("assistant >",args))
- .on("toolCallCreated", (event) => logger.debug("Assistant : " + event.type))
- .on("messageDone", async (event) => {
- if (event.content[0].type === "text") {
- resolve(event.content[0])
- }
- })
- return stream
- })
- } catch (e) {
- logger.error(`Failed to run assistant: ${e.message}`, e.message)
- }
- const ret = await defer
- return await onCompletion(ret.text.value, options)
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/run-completion.ts.html b/packages/kbot/coverage/kbot/src/commands/run-completion.ts.html
deleted file mode 100644
index 8b22018a..00000000
--- a/packages/kbot/coverage/kbot/src/commands/run-completion.ts.html
+++ /dev/null
@@ -1,247 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/run-completion.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/42
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/42
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import OpenAI from 'openai'
-import { marked } from 'marked'
-import { markedTerminal } from 'marked-terminal'
-import * as path from 'node:path'
-import { sync as write } from '@polymech/fs/write'
-import { resolve } from '@polymech/commons'
-import { IKBotTask } from '@polymech/ai-tools'
-
-import { dumpAsScript } from '../utils/script.js'
-import { applyFilters, Filter } from '../filters.js'
-import { variables } from '../variables.js'
-
-export const onCompletion = async (result: any = "", options: IKBotTask) => {
- result = applyFilters(result, options.filters as Filter[] || [])
- let vars = variables(options)
- if (options.dst) {
- vars = {
- ...vars,
- MODEL: path.parse(options.model).name,
- ROUTER: options.router,
- }
- const dstPath = path.resolve(resolve(options.dst, false, vars))
- write(dstPath, result)
- options.logger.debug(`Wrote completion result to ${dstPath} : ${options.dst}`)
- } else {
- marked.use(markedTerminal({
- emoji: false,
- }))
- const content: string = marked(result) as string;
- process.stdout.write(content)
- }
- dumpAsScript(options)
- // process.exit(0)
- return result
-}
-
-export const runCompletion = async (client: OpenAI, params: any, options: IKBotTask) => {
- if (options.dry) {
- options.logger.info('Dry run - skipping API call')
- return false
- }
- // await client.beta.chat.completions.parse
- const completion = await client.chat.completions.create({
- model: options.model,
- messages: params.messages,
- response_format: options.format as any,
- })
- if (!completion || !completion.choices || !completion.choices[0] || !completion.choices[0].message || !completion.choices[0].message.content) {
- return ''
- }
- let result = completion.choices[0].message.content
- result = await onCompletion(result, options)
- return result
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/run-tools.ts.html b/packages/kbot/coverage/kbot/src/commands/run-tools.ts.html
deleted file mode 100644
index 3c452d64..00000000
--- a/packages/kbot/coverage/kbot/src/commands/run-tools.ts.html
+++ /dev/null
@@ -1,283 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/run-tools.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/57
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/57
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import OpenAI from 'openai'
-import { ChatCompletionMessage, ChatCompletionMessageParam } from 'openai/resources/index.mjs'
-import { ChatCompletionToolRunnerParams } from 'openai/lib/ChatCompletionRunner'
-
-import { IKBotTask, ICollector } from '@polymech/ai-tools'
-
-import { content } from '../utils/content.js'
-import { onCompletion } from './run-completion.js'
-
-export const runTools = async (client: OpenAI, params: any, options: IKBotTask) => {
- const sessionId = Date.now().toString()
- const sessionMessages = {
- sessionId,
- prompt: options.prompt,
- timestamp: new Date().toISOString(),
- messages: []
- }
- if (options.dry) {
- options.logger.info('Dry run - skipping API call')
- return {
- result: 'DRY RUN',
- sessionMessages,
- result_raw: {},
- toolCalls: []
- }
- }
- const logMessage = (message: any, sessionId: string, prompt) => {
- return {
- ...message,
- timestamp: new Date().toISOString(),
- sessionId,
- prompt
- }
- }
- let runner = null
- try {
- runner = await client.beta.chat.completions.runTools(params as ChatCompletionToolRunnerParams<any>)
- .on('message', (message: ChatCompletionMessageParam) => {
- (options.collector as ICollector).onMessage(logMessage(message, sessionId, options.prompt))
- })
- .on('functionCall', (tool: ChatCompletionMessage.FunctionCall) => {
- return (options.collector as ICollector).onToolCall(logMessage(tool, sessionId, options.prompt))
- })
- .on('functionCallResult', (a) => {
- (options.collector as ICollector).onFunctionCallResult(a)
- })
- .on('chatCompletion', (options.collector as ICollector).onChatCompletion)
- .on('content', (options.collector as ICollector).onContent)
- } catch (e) {
- options.logger.trace(e)
- }
-
- let result = content(runner)
- try {
- result = await runner.finalChatCompletion()
- } catch (error) {
- if (error.message.includes("(reading 'map')")) {
- options.logger.error('Failed to complete runner: credits :)', error.message, error.message, error)
- return
- }
- options.logger.error('Failed to complete runner:', error.message, error.issues)
- return
- }
- const ret = content(result)
- return await onCompletion(ret, options)
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/commands/run.ts.html b/packages/kbot/coverage/kbot/src/commands/run.ts.html
deleted file mode 100644
index e89ad338..00000000
--- a/packages/kbot/coverage/kbot/src/commands/run.ts.html
+++ /dev/null
@@ -1,1084 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/commands/run.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/223
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/223
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-293
-294
-295
-296
-297
-298
-299
-300
-301
-302
-303
-304
-305
-306
-307
-308
-309
-310
-311
-312
-313
-314
-315
-316
-317
-318
-319
-320
-321
-322
-323
-324
-325
-326
-327
-328
-329
-330
-331
-332
-333
-334
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import { hasMagic } from 'glob'
-import { sync as dir } from '@polymech/fs/dir'
-import { sync as exists } from '@polymech/fs/exists'
-import { sync as write } from '@polymech/fs/write'
-import { sync as read } from '@polymech/fs/read'
-import { forward_slash, resolve, isFile, pathInfoEx } from '@polymech/commons'
-import { isArray, isString } from '@polymech/core/primitives'
-import { ChatCompletionToolRunnerParams } from 'openai/lib/ChatCompletionRunner'
-import { ChatCompletionMessageParam } from 'openai/resources/index.mjs'
-
-import { IKBotTask } from '@polymech/ai-tools'
-import { Logger, ILogObj } from 'tslog'
-import { createClient } from '../client.js'
-import { OptionsSchema } from '../zod_schema.js'
-import { get, isWebUrl } from '../source.js'
-import { flatten } from '../utils/array.js'
-import { collector } from '../collector.js'
-import { load as loadProfile } from '../profile.js'
-import { load as loadTools } from '../tools.js'
-import { preferences, prompt } from '../prompt.js'
-import { variables } from '../variables.js'
-import { E_Mode } from '../zod_schema.js'
-
-import { runCompletion } from './run-completion.js'
-import { runTools } from './run-tools.js'
-import { runAssistant } from './run-assistant.js'
-import { all } from '../models/index.js'
-import { getLogger } from '../index.js'
-
-
-type ProcessRunResult = string | boolean | Record<string, unknown> | null;
-
-/**
- * Complete options by setting up defaults, validating inputs, and initializing required components
- *
- * @param opts - The initial task options
- * @returns - The fully configured options object or null if validation fails
- */
-export const complete_options = async (opts: IKBotTask): Promise<IKBotTask | null> => {
- opts.logger = getLogger(opts)
-
- const target = path.resolve(opts.output || opts.path || '.')
- if (!exists(target)) {
- dir(target)
- }
-
- opts.disable = flatten(opts.disable)
- opts.disableTools = flatten(opts.disableTools)
- opts.include = flatten(opts.include)
- opts.variables = opts.profile ? await loadProfile(opts) : {}
-
- try {
- const parsed = OptionsSchema().parse(opts);
- const options = parsed as IKBotTask;
-
- const client = createClient(options)
- if (!client) {
- opts.logger.error('Failed to create client')
- return null
- }
-
- options.client = client
- options.variables = { ...options.variables, ...variables(options) }
- options.collector = collector(options, client)
- options.onRun = options.onRun || (async (options) => options)
-
- return options
- } catch (error) {
- opts.logger.error('Failed to parse options:', error.message, error.issues)
- return null
- }
-}
-
-/**
- * Gather all messages from various sources for the task
- *
- * @param opts - The task options
- * @param options - The completed options
- * @returns - Array of messages and source files
- */
-export const complete_messages = async (
- opts: IKBotTask,
- options: IKBotTask
-): Promise<{
- messages: Array<ChatCompletionMessageParam>,
- files: any[]
-}> => {
- let messages: Array<ChatCompletionMessageParam> = []
-
- const promptMessage = await prompt(opts)
- if (!promptMessage?.content) {
- return { messages: [], files: [] }
- }
-
- messages.push(promptMessage as ChatCompletionMessageParam)
- messages.push((await preferences(opts)) as ChatCompletionMessageParam)
-
- // Get content from files and web URLs
- let files = await get(path.resolve(options.path || '.'), options.include, options) || []
- files = files.map(f => { return { ...f, role: 'user' } })
- messages = [...messages as Array<ChatCompletionMessageParam>, ...files]
-
- return { messages, files }
-}
-
-/**
- * Create and configure the parameters for the request
- *
- * @param options - The completed options
- * @param messages - The gathered messages
- * @returns - The configured parameters for the API request
- */
-export const complete_params = async (
- options: IKBotTask,
- messages: Array<ChatCompletionMessageParam>
-): Promise<ChatCompletionToolRunnerParams<any>> => {
- const params = {
- model: options.model,
- messages,
- tools: []
- } as ChatCompletionToolRunnerParams<any>
-
- if (options.mode === E_Mode.TOOLS || options.mode === E_Mode.ASSISTANT) {
- params.tools = await loadTools(options)
- params.tool_choice = 'auto'
- params.parallel_tool_calls = false
- }
-
- return params
-}
-
-/**
- * Execute the request based on the mode and return the result
- *
- * @param options - The completed options
- * @param client - The API client
- * @param params - The request parameters
- * @returns - The result of the execution
- */
-export const execute_request = async (
- options: IKBotTask,
- client: any,
- params: ChatCompletionToolRunnerParams<any>
-): Promise<ProcessRunResult> => {
- let ret: any = null
-
- try {
- switch (options.mode) {
- case E_Mode.COMPLETION:
- ret = await runCompletion(client, params, options)
- break
-
- case E_Mode.TOOLS:
- ret = await runTools(client, params, options)
- break
-
- case E_Mode.ASSISTANT:
- ret = await runAssistant(client, params, options)
- break
-
- default:
- throw new Error(`Unsupported mode: ${options.mode}`)
- }
- } catch (e) {
- options.logger?.error(`Error running ${options.mode} mode: ${e.message}`)
- }
-
- return ret
-}
-
-/**
- * Process a task with the configured options and return the result
- *
- * @param opts - The task options
- * @returns - The result of the task execution
- */
-export const processRun = async (opts: IKBotTask): Promise<ProcessRunResult> => {
- let options = await complete_options(opts)
- if (!options) {
- return null
- }
-
- const client = options.client
-
- const { messages, files } = await complete_messages(opts, options)
- if (messages.length === 0) {
- return ""
- }
-
- const params = await complete_params(options, messages)
-
- const logDir = path.resolve(resolve(opts.logs || './logs'))
- const paramsPath = path.join(logDir, 'params.json')
- write(paramsPath, JSON.stringify({ ...params }, null, 2))
- if (opts.mode === E_Mode.TOOLS) {
- options.logger.debug(`kbot run ${options.mode} : ${options.model} @ ${options.router} : ${files.length} files from project ${path.resolve(options.path || '.')} with ${options.include}`, files.map(f => f.path), params.tools.map(t => `${t.function.name} : ${t.function.description}`))
- } else {
- options.logger.debug(`kbot run ${options.mode} : ${options.model} @ ${options.router} : ${files.length} files from project ${path.resolve(options.path || '.')} with ${options.include}`, files.map(f => f.path))
- }
- options = await options.onRun(options) || options
- const ret = await execute_request(options, client, params)
- return ret
-}
-
-/**
- * Extract file paths (Windows or POSIX style) from a single string,
- * preserving any spaces within the paths. Needed for Salamand File Manager selections (eg: kbot "summarize, as json" -i "$(ListOfSelectedFullNames)")
- * - For Windows, it looks for patterns like "C:\" (any drive letter).
- * - For POSIX, it looks for a leading slash "/".
- * - For web URLs, it looks for patterns like "http://" or "https://".
- *
- * Returns an array of path strings. If no matches are found, returns [].
- *
- */
-function extractPaths(input: string): string[] {
- // If it's a web URL, return it
- if (isWebUrl(input)) {
- return [input]
- }
-
- // If it's a direct path that exists, return it
- if (exists(path.resolve(resolve(input)))) {
- return [input]
- }
-
- // If it's a glob pattern, return it as is
- if (hasMagic(input)) {
- return [input]
- }
-
- // Matches either a Windows drive pattern like "C:\", a forward slash "/", or http/https URLs
- const pathStartRegex = /([A-Za-z]:\\)|\/|(https?:\/\/)/g;
-
- const matchIndices: number[] = [];
- let match: RegExpExecArray | null;
-
- // Collect the start index of each path
- while ((match = pathStartRegex.exec(input)) !== null) {
- matchIndices.push(match.index);
- }
-
- // If none found, return empty
- if (!matchIndices.length) {
- return [];
- }
-
- // Slice from each index to just before the next
- const paths: string[] = [];
- for (let i = 0; i < matchIndices.length; i++) {
- const start = matchIndices[i];
- const end = i < matchIndices.length - 1 ? matchIndices[i + 1] : input.length;
- const path = input.substring(start, end).trim();
- if (path) {
- paths.push(path);
- }
- }
-
- return paths;
-}
-
-function flattenArrays<T>(arrays: T[][]): T[] {
- return arrays.reduce((accumulator, current) => {
- return accumulator.concat(current);
- }, [] as T[]);
-}
-
-export const run = async (opts: IKBotTask): Promise<ProcessRunResult[]> => {
- const ret: ProcessRunResult[] = []
- const logger = new Logger<ILogObj>({ minLevel: opts.logLevel || 2 })
- opts.logger = logger
-
- if (opts.include) {
- if (isString(opts.include)) {
- opts.include = [opts.include]
- }
- if (isArray(opts.include)) {
- // First check for glob patterns and web URLs
- const specialPatterns = opts.include.filter((path: string) => hasMagic(path) || isWebUrl(path))
- // Then process normal paths
- const normalPaths = opts.include.filter((path: string) => !hasMagic(path) && !isWebUrl(path))
- const processedPaths = flattenArrays(normalPaths.map(extractPaths))
- // Combine special patterns and processed paths
- opts.include = [...specialPatterns, ...processedPaths]
- }
- } else {
- opts.include = []
- }
- if (opts.each) {
- let items: string[] = []
- if (isArray(opts.each)) {
- items = opts.each
- } else if (exists(opts.each) && isFile(opts.each) && path.parse(opts.each).ext === '.json') {
- items = read(opts.each, 'json') as [] || []
- } else if (hasMagic(opts.each)) {
- const info = pathInfoEx(forward_slash(path.resolve(resolve(opts.each))))
- items = info.FILES
- } else if (isFile(opts.each) && exists(opts.each)) {
- items = [opts.each]
- } else if (isString(opts.each)) {
- items = opts.each.split(',')
- }
- if (items.length === 0) {
- opts.logger.warn(`No files matching pattern ${opts.each} found in ${opts.path}`)
- return ret
- }
- opts.logger.info(`Processing ${items.length} items matching pattern ${opts.each}...`)
- const _models = all()
- for (const item of items) {
- const itemOpts = {
- ...opts,
- ITEM: item,
- variables: { ITEM: item }
- }
- //override model if item is a model id
- const model = _models.find(m => m.id === item)
- if (model) {
- itemOpts.model = item
- }
- itemOpts.include = [...opts.include, ...[forward_slash(item)]]
- const result = await processRun(itemOpts)
- if (result !== undefined) {
- ret.push(result)
- }
- }
- } else {
- const result = await processRun(opts)
- if (result !== undefined) {
- ret.push(result)
- }
- }
- return ret
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/config.ts.html b/packages/kbot/coverage/kbot/src/config.ts.html
deleted file mode 100644
index f55c6381..00000000
--- a/packages/kbot/coverage/kbot/src/config.ts.html
+++ /dev/null
@@ -1,169 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/config.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/19
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/19
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import { CONFIG_DEFAULT, resolve } from '@polymech/commons'
-import { sync as exists } from '@polymech/fs/exists'
-import { sync as read } from '@polymech/fs/read'
-import { IKBotOptions } from './zod_types.js'
-import { logger } from './index.js'
-import { env_vars } from './utils/env.js'
-
-export const loadConfig = (options: IKBotOptions) => {
- if (options.config) {
- try {
- const configPath = path.resolve(resolve(options.config,false,env_vars()))
- if ( exists(configPath) ) {
- const parsedConfig = read(configPath,'json')
- return parsedConfig
- }else{
- logger.error(`Config file not found: ${configPath}`)
- }
- } catch (error:any) {
- logger.error(`Failed to parse config JSON: ${error.message}`)
- }
- }else{
- const config = CONFIG_DEFAULT() as any
- return config
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/constants.ts.html b/packages/kbot/coverage/kbot/src/constants.ts.html
deleted file mode 100644
index 6d489584..00000000
--- a/packages/kbot/coverage/kbot/src/constants.ts.html
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/constants.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/14
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/14
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-
-
-
-
-
-
-
-
-
-
-
-
-
- export const MODULE_NAME = 'kbot'
-export const EXCLUDE_GLOB = [
- "**/node_modules/**",
- "**/dist/**",
- "**/build/**",
- "**/coverage/**",
- "*.log",
- `.${MODULE_NAME}`,
- ".git"
-]
-export const MAX_FILE_SIZE = 1024 * 1024 * 2
-export const API_PREFIX = 'osr'
-export const PREFERENCES_FILE_NAME = 'preferences.md'
-export const LOGGING_DIRECTORY = `.${MODULE_NAME}`
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/examples/core/async-iterator-example.ts.html b/packages/kbot/coverage/kbot/src/examples/core/async-iterator-example.ts.html
deleted file mode 100644
index 8c816397..00000000
--- a/packages/kbot/coverage/kbot/src/examples/core/async-iterator-example.ts.html
+++ /dev/null
@@ -1,796 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/examples/core/async-iterator-example.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/181
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/181
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { sync as write } from "@polymech/fs/write";
-import * as path from 'path';
-import type { IKBotTask } from '@polymech/ai-tools';
-import { E_OPENROUTER_MODEL } from '../../models/cache/openrouter-models.js'
-import { E_Mode } from '../../zod_schema.js'
-
-const MODEL = E_OPENROUTER_MODEL.MODEL_OPENROUTER_QUASAR_ALPHA;
-const ROUTER = 'openrouter';
-const LOG_LEVEL = 2;
-
-let logger = {
- info: (message: string) => console.log(`INFO: ${message}`),
- warn: (message: string) => console.log(`WARN: ${message}`),
- error: (message: string) => console.error(`ERROR: ${message}`),
- debug: (message: string) => console.log(`DEBUG: ${message}`),
- trace: (message: string) => console.log(`TRACE: ${message}`)
-};
-
-import {
- AsyncTransformer
-} from '../../async-iterator.js';
-
-import {
- FieldMapping,
- createIterator
-} from '../../iterator.js';
-
-import { run } from '../../commands/run.js';
-
-const exampleData = {
- products: {
- fruits: [
- {
- id: 'f1',
- name: 'apple',
- description: 'A sweet and crunchy fruit',
- details: {
- color: 'red',
- origin: 'Worldwide',
- nutrition: 'Rich in fiber and vitamin C'
- }
- },
- {
- id: 'f2',
- name: 'banana',
- description: 'A yellow tropical fruit',
- details: {
- color: 'yellow',
- origin: 'Southeast Asia',
- nutrition: 'High in potassium'
- }
- }
- ],
- vegetables: [
- {
- id: 'v1',
- name: 'carrot',
- description: 'An orange root vegetable',
- details: {
- color: 'orange',
- origin: 'Eurasia',
- nutrition: 'Good for vision health'
- }
- },
- {
- id: 'v2',
- name: 'broccoli',
- description: 'A green cruciferous vegetable',
- details: {
- color: 'green',
- origin: 'Italy',
- nutrition: 'High in vitamins K and C'
- }
- }
- ]
- },
- metadata: {
- lastUpdated: '2023-04-15',
- source: 'Foods Database',
- description: 'Collection of common fruits and vegetables'
- }
-};
-
-const createLLMTransformer = (options: IKBotTask): AsyncTransformer => {
- return async (input: string, jsonPath: string): Promise<string> => {
- logger.info(`Transforming field at path: ${jsonPath}`);
- logger.info(`Input: ${input}`);
- logger.info(`Using prompt: ${options.prompt}`);
-
- const kbotTask: IKBotTask = {
- model: options.model || MODEL,
- router: ROUTER,
- prompt: `${options.prompt}\n\nText to transform: "${input}"`,
- logLevel: LOG_LEVEL,
- mode: E_Mode.COMPLETION
- };
-
- try {
- const results = await run(kbotTask);
-
- if (results && results.length > 0 && typeof results[0] === 'string') {
- const result = results[0].trim();
- logger.info(`Result: ${result}`);
- return result;
- }
-
- logger.warn(`No valid result received for ${jsonPath}, returning original`);
- return input;
- } catch (error) {
- console.error(`Error calling LLM API: ${error.message}`, error);
- return input;
- }
- };
-};
-
-export async function transformExample() {
- console.log("========================================");
- console.log("Starting async-iterator example transformation");
- console.log("========================================");
-
- try {
- const data = JSON.parse(JSON.stringify(exampleData));
- logger.info("Starting transformation of data fields with LLM...");
- console.log("Processing field mappings...");
-
- // Create error handler
- const errorCallback = (path: string, value: string, error: any) => {
- logger.error(`Error transforming ${path}: ${error.message}`);
- };
-
- // Global options for all transformations
- const globalOptionsMixin: Partial<IKBotTask> = {
- model: MODEL,
- router: ROUTER,
- logLevel: LOG_LEVEL,
- mode: E_Mode.COMPLETION
- };
-
- // Create an iterator factory instance
- const iterator = createIterator(
- data,
- globalOptionsMixin,
- {
- throttleDelay: 1000,
- concurrentTasks: 1,
- errorCallback,
- filterCallback: async () => true,
- transformerFactory: createLLMTransformer
- }
- );
-
- // Define simplified field mappings without redundant options
- const simplifiedMappings: FieldMapping[] = [
- {
- jsonPath: '$..description',
- targetPath: null,
- options: {
- prompt: 'Make this description more engaging and detailed, around 20-30 words'
- }
- },
- {
- jsonPath: '$..nutrition',
- targetPath: null,
- options: {
- prompt: 'Expand this nutrition information with 2-3 specific health benefits, around 25-35 words'
- }
- },
- {
- jsonPath: '$.products.*.*.name',
- targetPath: 'marketingName',
- options: {
- prompt: 'Generate a more appealing marketing name for this product'
- }
- }
- ];
-
- // Use the iterator to transform the data
- await iterator.transform(simplifiedMappings);
-
- const outputPath = path.resolve('./tests/test-data/core/async-iterator-data.json');
- write(outputPath, JSON.stringify(data, null, 2));
-
- console.log(`Transformation complete. Results saved to ${outputPath}`);
- logger.info(`Transformation complete. Results saved to ${outputPath}`);
-
- console.log("\nBefore/After Comparison Example:");
- console.log(`Original description: ${exampleData.products.fruits[0].description}`);
- console.log(`Transformed description: ${data.products.fruits[0].description}`);
- console.log(`Original name: ${exampleData.products.fruits[0].name}`);
- console.log(`New marketing name: ${data.products.fruits[0].marketingName}`);
-
- logger.info("\nBefore/After Comparison Example:");
- logger.info(`Original description: ${exampleData.products.fruits[0].description}`);
- logger.info(`Transformed description: ${data.products.fruits[0].description}`);
- logger.info(`Original name: ${exampleData.products.fruits[0].name}`);
- logger.info(`New marketing name: ${data.products.fruits[0].marketingName}`);
-
- return data;
- } catch (error) {
- console.error("ERROR during transformation:", error);
- logger.error(`Error during transformation: ${error.message}`);
- throw error;
- }
-}
-
-console.log("Module loading, checking if this is direct execution");
-console.log("process.argv[1]:", process.argv[1]);
-console.log("import.meta.url:", import.meta.url);
-
-const isDirectExecution = process.argv[1] && process.argv[1].includes('async-iterator-example');
-console.log("Is direct execution:", isDirectExecution);
-
-if (isDirectExecution) {
- const isDebug = process.argv.includes('--debug');
- console.log('Starting async-iterator example...');
- console.log(`Command arguments: ${process.argv.slice(2).join(', ')}`);
- console.log(`Debug mode: ${isDebug ? 'enabled' : 'disabled'}`);
-
- if (isDebug) {
- logger = {
- info: (message) => console.log(`DEBUG-INFO: ${message}`),
- warn: (message) => console.log(`DEBUG-WARN: ${message}`),
- error: (message) => console.error(`DEBUG-ERROR: ${message}`),
- debug: (message) => console.log(`DEBUG-DEBUG: ${message}`),
- trace: (message) => console.log(`DEBUG-TRACE: ${message}`)
- };
- logger.info("Running in debug mode with verbose output");
- }
-
- transformExample().catch(error => {
- console.error("Unhandled error:", error);
- });
-}
-
-export {
- createLLMTransformer,
- exampleData
-};
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/examples/core/index.html b/packages/kbot/coverage/kbot/src/examples/core/index.html
deleted file mode 100644
index 76464a49..00000000
--- a/packages/kbot/coverage/kbot/src/examples/core/index.html
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/examples/core
-
-
-
-
-
-
-
-
-
-
-
-
All files kbot/src/examples/core
-
-
-
- 0%
- Statements
- 0/322
-
-
-
-
- 0%
- Branches
- 0/2
-
-
-
-
- 0%
- Functions
- 0/2
-
-
-
-
- 0%
- Lines
- 0/322
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/examples/core/iterator-factory-example.ts.html b/packages/kbot/coverage/kbot/src/examples/core/iterator-factory-example.ts.html
deleted file mode 100644
index 15e0db98..00000000
--- a/packages/kbot/coverage/kbot/src/examples/core/iterator-factory-example.ts.html
+++ /dev/null
@@ -1,625 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/examples/core/iterator-factory-example.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/141
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/141
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { sync as write } from "@polymech/fs/write";
-import * as path from 'path';
-import type { IKBotTask } from '@polymech/ai-tools';
-import { E_OPENROUTER_MODEL } from '../../models/cache/openrouter-models.js';
-import { E_Mode } from '../../zod_schema.js';
-import { AsyncTransformer } from '../../async-iterator.js';
-import { FieldMapping, createIterator } from '../../iterator.js';
-import { run } from '../../commands/run.js';
-
-const MODEL = E_OPENROUTER_MODEL.MODEL_OPENROUTER_QUASAR_ALPHA;
-const ROUTER = 'openrouter';
-const LOG_LEVEL = 2;
-
-const logger = {
- info: (message: string) => console.log(`INFO: ${message}`),
- warn: (message: string) => console.log(`WARN: ${message}`),
- error: (message: string) => console.error(`ERROR: ${message}`),
- debug: (message: string) => console.log(`DEBUG: ${message}`),
- trace: (message: string) => console.log(`TRACE: ${message}`)
-};
-
-// Example data with products
-const exampleData = {
- products: {
- fruits: [
- {
- id: 'f1',
- name: 'apple',
- description: 'A sweet and crunchy fruit',
- details: {
- color: 'red',
- origin: 'Worldwide',
- nutrition: 'Rich in fiber and vitamin C'
- }
- },
- {
- id: 'f2',
- name: 'banana',
- description: 'A yellow tropical fruit',
- details: {
- color: 'yellow',
- origin: 'Southeast Asia',
- nutrition: 'High in potassium'
- }
- }
- ]
- }
-};
-
-// Field mappings definition
-const fieldMappings: FieldMapping[] = [
- {
- jsonPath: '$..description',
- targetPath: null,
- options: {
- prompt: 'Make this description more engaging and detailed, around 20-30 words'
- }
- },
- {
- jsonPath: '$..nutrition',
- targetPath: null,
- options: {
- prompt: 'Expand this nutrition information with 2-3 specific health benefits, around 25-35 words'
- }
- },
- {
- jsonPath: '$..name',
- targetPath: 'marketingName',
- options: {
- prompt: 'Generate a more appealing marketing name for this product'
- }
- }
-];
-
-// Create LLM transformer factory
-const createLLMTransformer = (options: IKBotTask): AsyncTransformer => {
- return async (input: string, jsonPath: string): Promise<string> => {
- logger.info(`Transforming field at path: ${jsonPath}`);
- logger.info(`Input: ${input}`);
- logger.info(`Using prompt: ${options.prompt}`);
-
- const kbotTask: IKBotTask = {
- ...options,
- prompt: `${options.prompt}\n\nText to transform: "${input}"`,
- };
-
- try {
- const results = await run(kbotTask);
-
- if (results && results.length > 0 && typeof results[0] === 'string') {
- const result = results[0].trim();
- logger.info(`Result: ${result}`);
- return result;
- }
-
- logger.warn(`No valid result received for ${jsonPath}, returning original`);
- return input;
- } catch (error) {
- console.error(`Error calling LLM API: ${error.message}`, error);
- return input;
- }
- };
-};
-
-// Error handler
-const errorCallback = (path: string, value: string, error: any) => {
- logger.error(`Error transforming ${path}: ${error.message}`);
-};
-
-export async function factoryExample() {
- console.log("========================================");
- console.log("Starting iterator factory example");
- console.log("========================================");
-
- try {
- const data = JSON.parse(JSON.stringify(exampleData));
-
- // Global options for all transformations
- const globalOptionsMixin: Partial<IKBotTask> = {
- model: MODEL,
- router: ROUTER,
- logLevel: LOG_LEVEL,
- mode: E_Mode.COMPLETION
- };
-
- // Create an iterator factory instance
- const iterator = createIterator(
- data,
- globalOptionsMixin,
- {
- throttleDelay: 1000,
- concurrentTasks: 1,
- errorCallback,
- filterCallback: async () => true,
- transformerFactory: createLLMTransformer
- }
- );
-
- // Use the iterator to transform the data
- await iterator.transform(fieldMappings);
-
- const outputPath = path.resolve('./tests/test-data/core/iterator-factory-data.json');
- write(outputPath, JSON.stringify(data, null, 2));
-
- console.log(`Transformation complete. Results saved to ${outputPath}`);
-
- console.log("\nBefore/After Comparison Example:");
- console.log(`Original description: ${exampleData.products.fruits[0].description}`);
- console.log(`Transformed description: ${data.products.fruits[0].description}`);
- console.log(`Original name: ${exampleData.products.fruits[0].name}`);
- console.log(`New marketing name: ${data.products.fruits[0].marketingName}`);
-
- return data;
- } catch (error) {
- console.error("ERROR during transformation:", error);
- throw error;
- }
-}
-
-console.log("Module loading, checking if this is direct execution");
-console.log("process.argv[1]:", process.argv[1]);
-console.log("import.meta.url:", import.meta.url);
-
-const isDirectExecution = process.argv[1] && process.argv[1].includes('iterator-factory-example');
-console.log("Is direct execution:", isDirectExecution);
-
-if (isDirectExecution) {
- const isDebug = process.argv.includes('--debug');
- console.log('Starting iterator factory example...');
- console.log(`Command arguments: ${process.argv.slice(2).join(', ')}`);
- console.log(`Debug mode: ${isDebug ? 'enabled' : 'disabled'}`);
-
- if (isDebug) {
- // Set up debug logging
- console.log("Running in debug mode with verbose output");
- }
-
- factoryExample().catch(error => {
- console.error("Unhandled error:", error);
- });
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/examples/index.html b/packages/kbot/coverage/kbot/src/examples/index.html
deleted file mode 100644
index 856cb7e4..00000000
--- a/packages/kbot/coverage/kbot/src/examples/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/examples
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/3
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/3
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- index.ts
-
-
-
- 0%
- 0/3
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/examples/index.ts.html b/packages/kbot/coverage/kbot/src/examples/index.ts.html
deleted file mode 100644
index b52149cf..00000000
--- a/packages/kbot/coverage/kbot/src/examples/index.ts.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/examples/index.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/3
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/3
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-
- // Export examples
-export * from './core/async-iterator-example.js';
-export * from './core/iterator-factory-example.js';
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/filters.ts.html b/packages/kbot/coverage/kbot/src/filters.ts.html
deleted file mode 100644
index d425c3c2..00000000
--- a/packages/kbot/coverage/kbot/src/filters.ts.html
+++ /dev/null
@@ -1,490 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/filters.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/122
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/122
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { isString } from '@polymech/core/primitives'
-import { logger } from './index.js'
-
-export type Filter = (json: string) => any
-
-export const extractFirstCodeBlock = (markdown: string): string | null => {
- const regex = /```(\w+\n)?([\s\S]*?)```/
- const match = regex.exec(markdown)
- if (match && match[2]) {
- return match[2].trim()
- }
- return markdown
-}
-
-export const extractCodeBlocks = (markdown: string): string => {
- const codeBlocks: string[] = []
- const regex = /```([\s\S]*?)```/g
- let match
- while ((match = regex.exec(markdown)) !== null) {
- codeBlocks.push(match[1])
- }
- return codeBlocks[0]
-}
-function isEscapedJsonString(input: string): boolean {
- if (typeof input !== 'string' || !input.startsWith('"') || !input.endsWith('"')) {
- return false;
- }
-
- try {
- const ret = JSON.parse(input)
- return false
- } catch (error) {
- return true;
- }
-}
-const unescapeJsonString = (json: string): string => {
- if (isEscapedJsonString(json)) {
- return json
- }
- // Use regex to replace common escape sequences
- const unescapedString = json
- .replace(/\\n/g, '\n')
- .replace(/\\"/g, '"')
- .replace(/\\\\/g, '\\')
- .replace(/(\")/g, "\"")
- .replace(/\\b/g, '\b')
- .replace(/\\f/g, '\f')
- .replace(/\\r/g, '\r')
- .replace(/\\t/g, '\t');
-
- // Handle unicode escape sequences (\uXXXX)
- return unescapedString.replace(/\\u([\d\w]{4})/gi, (match, grp) => {
- return String.fromCharCode(parseInt(grp, 16));
- });
-}
-
-const alphanumericSort = (arr: string[]) => {
- arr = isString(arr) ? JSON.parse(arr) : arr
- return JSON.stringify(arr.sort((a, b) => {
- const aParts = a.match(/(\d+)|(\D+)/g) || [];
- const bParts = b.match(/(\d+)|(\D+)/g) || [];
-
- for (let i = 0; i < Math.min(aParts.length, bParts.length); i++) {
- const aPart = aParts[i];
- const bPart = bParts[i];
-
- if (isNaN(parseInt(aPart, 10)) || isNaN(parseInt(bPart, 10))) {
- // Non-numeric parts, compare as strings
- if (aPart !== bPart) {
- return aPart < bPart ? -1 : 1;
- }
- } else {
- // Numeric parts, compare as numbers
- const aNum = parseInt(aPart, 10);
- const bNum = parseInt(bPart, 10);
- if (aNum !== bNum) {
- return aNum - bNum;
- }
- }
- }
-
- // If everything else is equal, compare by length (shorter first)
- return aParts.length - bParts.length;
- }), null, 2)
-}
-
-export const JSONParse = (json: string) => {
- try {
- return JSON.parse(json)
- } catch (error) {
- return null
- }
-}
-export const trim = (str: string) => str ? str.trim() : null
-export const extractJsonCodeBlock = (markdown: string): string | null => {
- const regex = /```json([\s\S]*?)```/g
- const match = regex.exec(markdown)
- let ret = match ? match[1] : '{}'
- try {
- return JSON.stringify(JSON.parse(ret), null, 2)
- } catch (error) {
- return ret
- }
-}
-const JSONPretty = (json: string) => {
- return JSON.stringify(JSON.parse(json), null, 2)
-}
-
-export const Filters = {
- JSON: extractJsonCodeBlock,
- JSONUnescape: unescapeJsonString,
- JSONPretty,
- AlphaSort: alphanumericSort,
- code: extractFirstCodeBlock,
- JSONParse,
- trim
-}
-
-export const applyFilters = (value: string, filters: Filter[]) => {
- if (!value) {
- return ''
- }
- (filters as Filter[]).forEach((f) => {
- try {
- let _ret = f(value)
- if (_ret) {
- value = _ret
- } else {
- logger.warn(`applyFilters: filter returned null : ${value}`, f.toString())
- }
- } catch (error) {
- logger.error(`Error applying filter: ${error.message}`)
- }
- })
- return value
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/http.ts.html b/packages/kbot/coverage/kbot/src/http.ts.html
deleted file mode 100644
index 571ac11f..00000000
--- a/packages/kbot/coverage/kbot/src/http.ts.html
+++ /dev/null
@@ -1,583 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/http.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/129
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/129
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import * as fs from 'node:fs'
-import axios from 'axios'
-import TurndownService from 'turndown'
-import { sync as dir } from '@polymech/fs/dir'
-import { sync as exists } from '@polymech/fs/exists'
-import { sync as write } from '@polymech/fs/write'
-import { sync as read } from '@polymech/fs/read'
-import { logger } from './index.js'
-import { IHandlerResult } from './mime-handlers.js'
-
-const turndown = new TurndownService()
-const CACHE_DIR = './.cache/https'
-const CACHE_EXPIRY = 7 * 24 * 60 * 60 * 1000 // 1 week in milliseconds
-
-/**
- * Create cache key from URL
- */
-function createCacheKey(url: string): string {
- // Remove protocol and convert special characters to create a valid filename
- return url.replace(/^https?:\/\//, '').replace(/[\/\?=&]/g, '_')
-}
-
-/**
- * Check if cache is valid (exists and not expired)
- */
-function isCacheValid(cacheFile: string): boolean {
- if (!exists(cacheFile)) {
- return false
- }
-
- try {
- const stats = fs.statSync(cacheFile)
- const ageMs = Date.now() - stats.mtimeMs
- return ageMs < CACHE_EXPIRY
- } catch (error) {
- logger.error(`Error checking cache validity for ${cacheFile}:`, error)
- return false
- }
-}
-
-/**
- * Process HTML content into markdown
- */
-export function processHtml(html: string): string {
- // Configure turndown with more aggressive options
- turndown.addRule('removeScripts', {
- filter: ['script', 'style', 'iframe', 'noscript'],
- replacement: () => ''
- });
-
- // Configure image handling
- turndown.addRule('images', {
- filter: 'img',
- replacement: (content, node) => {
- // Cast node to HTMLElement for TypeScript compatibility
- const element = node as HTMLElement;
- const alt = element.getAttribute('alt') || '';
- const src = element.getAttribute('src') || '';
- return src ? `` : '';
- }
- });
-
- // Clean up common wiki elements
- const cleanedHtml = html
- .replace(/<sup[^>]*class="reference[^>]*>.*?<\/sup>/g, '') // Remove reference links
- .replace(/<span[^>]*class="[^"]*citation[^"]*"[^>]*>.*?<\/span>/g, '') // Remove citation spans
- .replace(/<span[^>]*class="mw-parser-output[^>]*>(.*?)<\/span>/g, '$1'); // Clean wiki parser output
-
- return turndown.turndown(cleanedHtml);
-}
-
-/**
- * Fetch web content with caching
- */
-export async function fetchUrl(url: string): Promise<{ content: string, contentType: string, isProcessed: boolean }> {
- // Ensure cache directory exists
- if (!exists(CACHE_DIR)) {
- dir(CACHE_DIR)
- }
-
- const cacheKey = createCacheKey(url)
- const cacheFile = path.join(CACHE_DIR, `${cacheKey}.json`)
-
- if (isCacheValid(cacheFile)) {
- try {
- const cached = read(cacheFile, 'json') as { content: string, contentType: string, isProcessed: boolean }
- if (cached && typeof cached === 'object' && 'content' in cached && 'contentType' in cached) {
- logger.debug(`Using cached content for ${url}`)
- return cached
- }
- } catch (error) {
- logger.error(`Error reading cache for ${url}:`, error)
- // Continue to fetch fresh content if cache read fails
- }
- }
-
- try {
- const response = await axios.get(url, {
- headers: {
- 'User-Agent': 'Mozilla/5.0 (compatible; KBot/1.0)'
- },
- responseType: 'text'
- })
-
- const contentType = response.headers['content-type'] || 'text/html'
- let content = response.data
- let isProcessed = false
-
- // Always process HTML content into markdown before caching
- if (contentType.includes('html')) {
- content = processHtml(content)
- isProcessed = true
- logger.debug(`Converted HTML to markdown for ${url}`)
- }
-
- const result = {
- content,
- contentType,
- isProcessed
- }
-
- // Cache the processed result
- write(cacheFile, JSON.stringify(result))
-
- return result
- } catch (error) {
- logger.error(`Error fetching ${url}:`, error.message)
- throw new Error(`Failed to fetch ${url}: ${error.message}`)
- }
-}
-
-/**
- * Handle a web URL and return it in a format compatible with the get() function
- */
-export async function handleWebUrl(url: string): Promise<IHandlerResult> {
- try {
- const { content, contentType, isProcessed } = await fetchUrl(url)
-
- if (contentType.includes('json')) {
- // Handle JSON response
- const jsonContent = typeof content === 'string' && !isProcessed ? JSON.parse(content) : content
- return {
- content: isProcessed ? content : `\`\`\`json\n${JSON.stringify(jsonContent, null, 2)}\n\`\`\``,
- path: url,
- role: 'user',
- name: `web_${createCacheKey(url)}`
- }
- } else {
- // Handle HTML response - already processed into markdown
- return {
- content: content,
- path: url,
- role: 'user',
- name: `web_${createCacheKey(url)}`
- }
- }
- } catch (error) {
- logger.error(`Error handling web URL ${url}:`, error)
- return {
- content: `Error fetching URL: ${url} - ${error.message}`,
- path: url,
- role: 'user',
- name: `web_${createCacheKey(url)}_error`
- }
- }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/index.html b/packages/kbot/coverage/kbot/src/index.html
deleted file mode 100644
index 9f3e2be4..00000000
--- a/packages/kbot/coverage/kbot/src/index.html
+++ /dev/null
@@ -1,416 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 14%
- Statements
- 195/1392
-
-
-
-
- 52.72%
- Branches
- 29/55
-
-
-
-
- 41.17%
- Functions
- 14/34
-
-
-
-
- 14%
- Lines
- 195/1392
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- async-iterator.ts
-
-
-
- 82.66%
- 124/150
- 71.42%
- 20/28
- 81.81%
- 9/11
- 82.66%
- 124/150
-
-
-
- client.ts
-
-
-
- 0%
- 0/75
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/75
-
-
-
- collector.ts
-
-
-
- 0%
- 0/63
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/63
-
-
-
- config.ts
-
-
-
- 0%
- 0/19
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/19
-
-
-
- constants.ts
-
-
-
- 0%
- 0/14
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/14
-
-
-
- filters.ts
-
-
-
- 0%
- 0/122
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/122
-
-
-
- http.ts
-
-
-
- 0%
- 0/129
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/129
-
-
-
- index.ts
-
-
-
- 0%
- 0/59
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/59
-
-
-
- iterator.ts
-
-
-
- 100%
- 71/71
- 100%
- 8/8
- 100%
- 4/4
- 100%
- 71/71
-
-
-
- main.ts
-
-
-
- 0%
- 0/58
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/58
-
-
-
- merge.ts
-
-
-
- 0%
- 0/25
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/25
-
-
-
- mime-handlers.ts
-
-
-
- 0%
- 0/45
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/45
-
-
-
- profile.ts
-
-
-
- 0%
- 0/17
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/17
-
-
-
- prompt.ts
-
-
-
- 0%
- 0/21
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/21
-
-
-
- source.ts
-
-
-
- 0%
- 0/157
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/157
-
-
-
- splitter.ts
-
-
-
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/1
-
-
-
- tools.ts
-
-
-
- 0%
- 0/64
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/64
-
-
-
- types.ts
-
-
-
- 0%
- 0/2
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/2
-
-
-
- variables.ts
-
-
-
- 0%
- 0/53
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/53
-
-
-
- zod_schema.ts
-
-
-
- 0%
- 0/247
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/247
-
-
-
- zod_types.ts
-
-
-
- 0%
- 0/0
- 0%
- 1/1
- 0%
- 1/1
- 0%
- 0/0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/index.ts.html b/packages/kbot/coverage/kbot/src/index.ts.html
deleted file mode 100644
index ff0df084..00000000
--- a/packages/kbot/coverage/kbot/src/index.ts.html
+++ /dev/null
@@ -1,328 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/index.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/59
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/59
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { platform } from 'node:process'
-import path from 'node:path'
-import { Logger, ILogObj } from 'tslog'
-const isWindows = platform === 'win32'
-
-import { get_var } from '@polymech/commons'
-import { MODULE_NAME } from './constants.js'
-import { IKBotTask } from '@polymech/ai-tools'
-
-import { createLogger } from '@polymech/log'
-export const logger = createLogger('llm-tools') as unknown as Logger<ILogObj>
-
-let _logger: Logger<ILogObj> = logger
-
-export const getLogger = (options: IKBotTask): Logger<ILogObj> => {
- if (_logger) {
- return _logger
- }
- const logLevelMap: Record<string, number> = {
- 'silly': 0,
- 'trace': 1,
- 'debug': 2,
- 'info': 3,
- 'warn': 4,
- 'error': 5,
- 'fatal': 6
- }
-
- let minLevel = logLevelMap['info']
- if (options.logLevel) {
- if (typeof options.logLevel === 'string') {
- const levelStr = options.logLevel as string
- minLevel = logLevelMap[levelStr.toLowerCase()] || logLevelMap['info']
- } else {
- minLevel = options.logLevel
- }
- }
- _logger = new Logger<ILogObj>({
- name: MODULE_NAME,
- minLevel,
- hideLogPositionForProduction: true,
- maskPlaceholder: '***',
- prettyLogTemplate: "{{logLevelName}}\t[{{filePathWithLine}}{{name}}]\t",
- })
- return _logger
-}
-
-export { run } from './commands/run.js'
-export const module_root = () => path.resolve(path.join(get_var(isWindows ? 'HOMEPATH' : 'HOME'), `.${MODULE_NAME}`))
-
-export const assistant_supported: Record<string, string> = {
- ".c": "text/x-c",
- ".cpp": "text/x-c++",
- ".cs": "text/x-csharp",
- ".css": "text/css",
- ".doc": "application/msword",
- ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
- ".go": "text/x-golang",
- ".html": "text/html",
- ".java": "text/x-java",
- ".js": "text/javascript",
- ".json": "application/json",
- ".md": "text/markdown",
- ".pdf": "application/pdf",
- ".php": "text/x-php",
- ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
- ".py": "text/x-python",
- ".rb": "text/x-ruby",
- ".sh": "application/x-sh",
- ".tex": "text/x-tex",
- ".ts": "application/typescript",
- ".txt": "text/plain"
-}
-export * from './types.js'
-export * from './zod_types.js'
-export * from './zod_schema.js'
-
-export { E_OPENAI_MODEL } from './models/cache/openai-models.js'
-export { E_OPENROUTER_MODEL } from './models/cache/openrouter-models.js'
-export { E_OPENROUTER_MODEL_FREE } from './models/cache/openrouter-models-free.js'
-
-export { IKBotTask } from '@polymech/ai-tools'
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/iterator.ts.html b/packages/kbot/coverage/kbot/src/iterator.ts.html
deleted file mode 100644
index a8853146..00000000
--- a/packages/kbot/coverage/kbot/src/iterator.ts.html
+++ /dev/null
@@ -1,394 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/iterator.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 100%
- Statements
- 71/71
-
-
-
-
- 100%
- Branches
- 8/8
-
-
-
-
- 100%
- Functions
- 4/4
-
-
-
-
- 100%
- Lines
- 71/71
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104 1x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1x
-4x
-4x
-4x
-
-
-
-
-
-4x
-4x
-4x
-4x
-4x
-4x
-4x
-4x
-4x
-
-4x
-
-
-1x
-1x
-
-4x
-
-4x
-4x
-4x
-2x
-
-3x
-3x
-3x
-
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-3x
-2x
-4x
-4x
-
-1x
-1x
-1x
-1x
-1x
-
-
-
-
-1x
-1x
-1x
-1x
-1x
-1x
-1x
-1x
-
-1x
-2x
-2x
-
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-2x
-1x import { JSONPath } from 'jsonpath-plus'
-import { IKBotTask } from '@polymech/ai-tools'
-import { AsyncTransformer, ErrorCallback, FilterCallback, defaultError, defaultFilters, testFilters, transformObjectWithOptions } from './async-iterator.js'
-
-export interface FieldMapping {
- jsonPath: string
- targetPath?: string | null
- options?: IKBotTask
-}
-
-export interface IteratorFactory {
- transform: (mappings: FieldMapping[]) => Promise<void>
- createTransformer: (options: IKBotTask) => AsyncTransformer
-}
-
-export function createIterator(
- obj: Record<string, any>,
- optionsMixin: Partial<IKBotTask>,
- globalOptions: {
- throttleDelay?: number
- concurrentTasks?: number
- errorCallback?: ErrorCallback
- filterCallback?: FilterCallback
- transformerFactory?: (options: IKBotTask) => AsyncTransformer
- } = {}
-): IteratorFactory {
- const {
- throttleDelay = 1000,
- concurrentTasks = 1,
- errorCallback = defaultError,
- filterCallback = testFilters(defaultFilters()),
- transformerFactory
- } = globalOptions;
-
- const defaultTransformerFactory = (options: IKBotTask): AsyncTransformer => {
- // This is a placeholder transformer that just returns the input
- // In real usage, this would be replaced by the provided transformerFactory
- return async (input: string): Promise<string> => input;
- };
-
- const createTransformer = transformerFactory || defaultTransformerFactory;
-
- return {
- createTransformer,
- transform: async (mappings: FieldMapping[]): Promise<void> => {
- for (const mapping of mappings) {
- // Merge the mapping options with the global mixin
- const mergedOptions = { ...optionsMixin, ...mapping.options } as IKBotTask;
- const { jsonPath, targetPath = null } = mapping;
- const transformer = createTransformer(mergedOptions);
-
- await transformObjectWithOptions(
- obj,
- transformer,
- {
- jsonPath,
- targetPath,
- throttleDelay,
- concurrentTasks,
- errorCallback,
- filterCallback
- }
- );
- }
- }
- };
-}
-
-export async function transformWithMappings(
- obj: Record<string, any>,
- createTransformer: (options: IKBotTask) => AsyncTransformer,
- mappings: FieldMapping[],
- globalOptions: {
- throttleDelay?: number
- concurrentTasks?: number
- errorCallback?: ErrorCallback
- filterCallback?: FilterCallback
- } = {}
-): Promise<void> {
- const {
- throttleDelay = 1000,
- concurrentTasks = 1,
- errorCallback = defaultError,
- filterCallback = testFilters(defaultFilters())
- } = globalOptions;
-
- for (const mapping of mappings) {
- const { jsonPath, targetPath = null, options = {} as IKBotTask } = mapping;
- const transformer = createTransformer(options);
-
- await transformObjectWithOptions(
- obj,
- transformer,
- {
- jsonPath,
- targetPath,
- throttleDelay,
- concurrentTasks,
- errorCallback,
- filterCallback
- }
- );
- }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/main.ts.html b/packages/kbot/coverage/kbot/src/main.ts.html
deleted file mode 100644
index 0ca2e2f5..00000000
--- a/packages/kbot/coverage/kbot/src/main.ts.html
+++ /dev/null
@@ -1,331 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/main.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/58
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/58
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #!/usr/bin/env node
-import yargs from 'yargs'
-import { hideBin } from 'yargs/helpers'
-import { toYargs } from '@polymech/commons'
-import { createLogger } from '@polymech/log'
-import { OptionsSchema, types } from './zod_schema.js'
-
-import { IKBotTask } from '@polymech/ai-tools'
-
-import helpCommand from './commands/help.js'
-import { examples } from './commands/examples.js'
-import { init } from './commands/init.js'
-import { build } from './commands/build.js'
-import { fetch } from './commands/fetch.js'
-import { run } from './commands/run.js'
-
-export const logger: any = createLogger('llm-tools')
-
-const modify = async (argv: IKBotTask) => await run(argv as IKBotTask)
-
-const yargOptions: any = {
- onKey: ((_yargs, key, options) => {
- switch (key) {
- case 'prompt':
- {
- return _yargs.positional(key, options)
- }
- case 'include':
- {
- return _yargs.option(key, {...options, alias: key[0].toLowerCase()})
- }
- }
- })
-}
-
-yargs(hideBin(process.argv))
- .command(
- 'init',
- 'Initialize KBot configuration',
- (yargs) => toYargs(yargs, OptionsSchema(), yargOptions),
- init
- )
- .command(
- 'modify [prompt]',
- 'Modify an existing project',
- (yargs) => toYargs(yargs, OptionsSchema(), yargOptions),
- modify
- )
- .command(
- 'types',
- 'Generate types',
- (yargs) => { },
- (argv) => types()
- )
- .command(
- 'build',
- 'Build kbot essentials',
- (yargs) => { },
- (argv) => build()
- )
- .command(
- 'fetch',
- "Fetch models, to $HOME/.kbot/",
- (yargs) => { },
- (argv) => fetch()
- )
- .command(
- 'help-md',
- 'Generate markdown help',
- (yargs) => { },
- helpCommand
- )
- .command(
- 'examples',
- 'Show examples',
- (yargs) => { },
- examples
- )
- .command(['modify [prompt]', '$0'], 'Default command modify',
- (yargs) => toYargs(yargs, OptionsSchema(), yargOptions), modify)
- .help()
- //.wrap(yargs.terminalWidth() - 20)
- .parse()
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/merge.ts.html b/packages/kbot/coverage/kbot/src/merge.ts.html
deleted file mode 100644
index a96e8787..00000000
--- a/packages/kbot/coverage/kbot/src/merge.ts.html
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/merge.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/25
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/25
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { isString } from '@polymech/core/primitives'
-import { sync as read } from '@polymech/fs/read'
-
-import { logger } from './index.js'
-
-import { deepmerge as merge } from 'deepmerge-ts'
-export const deepMerge = async (target: string, source: any) => {
- if (!isString(target) || !source) {
- logger.error(`Invalid deepmerge parameters:`, target, source)
- return source
- }
- target = read(target, 'json') as any || []
- try {
- source = isString(source) ? JSON.parse(source) : source
- } catch (e) {
- logger.error('Error parsing completion:', e)
- return source
- }
- try {
- const ret = merge(target, source)
- return JSON.stringify(ret, null, 2)
- } catch (error) {
- logger.error('Error merging completion:', error)
- }
- return target;
-}
-export const mergers =
-{
- json: deepMerge
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/mime-handlers.ts.html b/packages/kbot/coverage/kbot/src/mime-handlers.ts.html
deleted file mode 100644
index 7ab66f2d..00000000
--- a/packages/kbot/coverage/kbot/src/mime-handlers.ts.html
+++ /dev/null
@@ -1,304 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/mime-handlers.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/45
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/45
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import { sync as read } from '@polymech/fs/read'
-
-import { ChatCompletionUserMessageParam } from 'openai/resources/index.mjs'
-
-import { base64 } from './source.js'
-export type IHandlerResult = ChatCompletionUserMessageParam &
-{
- path?: string
-}
-
-export interface IMimeHandler {
- handle(filePath: string, relativePath: string): IHandlerResult;
-}
-
-export class ImageHandler implements IMimeHandler {
- handle(filePath: string, relativePath: string): IHandlerResult {
- return {
- role: "user",
- content: [
- {
- type: "image_url",
- image_url: {
- url: base64(filePath)
- }
- }
- ]
- }
- }
-}
-
-export class PDFHandler implements IMimeHandler {
- handle(filePath: string, relativePath: string): IHandlerResult {
- return {
- path: relativePath,
- content: base64(filePath),
- role: "user",
- name: path.parse(filePath).base
- }
- }
-}
-
-export class TextHandler implements IMimeHandler {
- handle(filePath: string, relativePath: string): IHandlerResult {
- return {
- role: "user",
- path: relativePath,
- content: read(filePath).toString()
- }
- }
-}
-
-export class MimeHandlerRegistry {
- private handlers: Map<string, IMimeHandler> = new Map();
-
- registerHandler(mimeType: string, handler: IMimeHandler) {
- this.handlers.set(mimeType, handler);
- }
-
- getHandler(mimeType: string): IMimeHandler | null {
- // For mime types like 'image/png', try to match 'image/*' if specific type not found
- const [type] = mimeType.split('/');
- return this.handlers.get(mimeType) || this.handlers.get(`${type}/*`) || null;
- }
-}
-
-// Create and export a pre-configured registry
-export const defaultMimeRegistry = new MimeHandlerRegistry();
-
-// Register default handlers
-defaultMimeRegistry.registerHandler('image/*', new ImageHandler());
-defaultMimeRegistry.registerHandler('application/pdf', new PDFHandler());
-defaultMimeRegistry.registerHandler('text/*', new TextHandler());
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/index.html b/packages/kbot/coverage/kbot/src/models/cache/index.html
deleted file mode 100644
index 527d177a..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/index.html
+++ /dev/null
@@ -1,221 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache
-
-
-
-
-
-
-
-
-
-
-
-
All files kbot/src/models/cache
-
-
-
- 0%
- Statements
- 0/425
-
-
-
-
- 0%
- Branches
- 0/8
-
-
-
-
- 0%
- Functions
- 0/8
-
-
-
-
- 0%
- Lines
- 0/425
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/openai-models-free.ts.html b/packages/kbot/coverage/kbot/src/models/cache/openai-models-free.ts.html
deleted file mode 100644
index ea521902..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/openai-models-free.ts.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache/openai-models-free.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-
- export enum E_OPENAI_MODEL_FREE {
-
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/openai-models-tools.ts.html b/packages/kbot/coverage/kbot/src/models/cache/openai-models-tools.ts.html
deleted file mode 100644
index 89bbba58..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/openai-models-tools.ts.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache/openai-models-tools.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-
- export enum E_OPENAI_MODEL {
-
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/openai-models.ts.html b/packages/kbot/coverage/kbot/src/models/cache/openai-models.ts.html
deleted file mode 100644
index df6499a8..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/openai-models.ts.html
+++ /dev/null
@@ -1,277 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache/openai-models.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/65
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/65
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- export enum E_OPENAI_MODEL {
- MODEL_GPT_4O_REALTIME_PREVIEW_2024_12_17 = "gpt-4o-realtime-preview-2024-12-17",
- MODEL_GPT_4O_AUDIO_PREVIEW_2024_12_17 = "gpt-4o-audio-preview-2024-12-17",
- MODEL_DALL_E_3 = "dall-e-3",
- MODEL_DALL_E_2 = "dall-e-2",
- MODEL_GPT_4O_AUDIO_PREVIEW_2024_10_01 = "gpt-4o-audio-preview-2024-10-01",
- MODEL_GPT_4O_REALTIME_PREVIEW_2024_10_01 = "gpt-4o-realtime-preview-2024-10-01",
- MODEL_GPT_4O_TRANSCRIBE = "gpt-4o-transcribe",
- MODEL_GPT_4O_MINI_TRANSCRIBE = "gpt-4o-mini-transcribe",
- MODEL_GPT_4O_REALTIME_PREVIEW = "gpt-4o-realtime-preview",
- MODEL_BABBAGE_002 = "babbage-002",
- MODEL_GPT_4O_MINI_TTS = "gpt-4o-mini-tts",
- MODEL_TTS_1_HD_1106 = "tts-1-hd-1106",
- MODEL_TEXT_EMBEDDING_3_LARGE = "text-embedding-3-large",
- MODEL_GPT_4 = "gpt-4",
- MODEL_TEXT_EMBEDDING_ADA_002 = "text-embedding-ada-002",
- MODEL_OMNI_MODERATION_LATEST = "omni-moderation-latest",
- MODEL_TTS_1_HD = "tts-1-hd",
- MODEL_GPT_4O_MINI_AUDIO_PREVIEW = "gpt-4o-mini-audio-preview",
- MODEL_GPT_4O_AUDIO_PREVIEW = "gpt-4o-audio-preview",
- MODEL_O1_PREVIEW_2024_09_12 = "o1-preview-2024-09-12",
- MODEL_GPT_4O_MINI_REALTIME_PREVIEW = "gpt-4o-mini-realtime-preview",
- MODEL_GPT_4O_MINI_REALTIME_PREVIEW_2024_12_17 = "gpt-4o-mini-realtime-preview-2024-12-17",
- MODEL_GPT_3_5_TURBO_INSTRUCT_0914 = "gpt-3.5-turbo-instruct-0914",
- MODEL_GPT_4O_MINI_SEARCH_PREVIEW = "gpt-4o-mini-search-preview",
- MODEL_GPT_4_TURBO_PREVIEW = "gpt-4-turbo-preview",
- MODEL_GPT_4_0125_PREVIEW = "gpt-4-0125-preview",
- MODEL_TTS_1_1106 = "tts-1-1106",
- MODEL_DAVINCI_002 = "davinci-002",
- MODEL_GPT_3_5_TURBO_1106 = "gpt-3.5-turbo-1106",
- MODEL_GPT_4_TURBO = "gpt-4-turbo",
- MODEL_GPT_3_5_TURBO_INSTRUCT = "gpt-3.5-turbo-instruct",
- MODEL_GPT_3_5_TURBO = "gpt-3.5-turbo",
- MODEL_CHATGPT_4O_LATEST = "chatgpt-4o-latest",
- MODEL_GPT_4O_MINI_SEARCH_PREVIEW_2025_03_11 = "gpt-4o-mini-search-preview-2025-03-11",
- MODEL_GPT_4O_2024_11_20 = "gpt-4o-2024-11-20",
- MODEL_WHISPER_1 = "whisper-1",
- MODEL_GPT_3_5_TURBO_0125 = "gpt-3.5-turbo-0125",
- MODEL_GPT_4O_2024_05_13 = "gpt-4o-2024-05-13",
- MODEL_GPT_3_5_TURBO_16K = "gpt-3.5-turbo-16k",
- MODEL_GPT_4_TURBO_2024_04_09 = "gpt-4-turbo-2024-04-09",
- MODEL_GPT_4_1106_PREVIEW = "gpt-4-1106-preview",
- MODEL_O1_PREVIEW = "o1-preview",
- MODEL_GPT_4_0613 = "gpt-4-0613",
- MODEL_GPT_4O_SEARCH_PREVIEW = "gpt-4o-search-preview",
- MODEL_O1_2024_12_17 = "o1-2024-12-17",
- MODEL_O1_PRO = "o1-pro",
- MODEL_O1 = "o1",
- MODEL_O1_PRO_2025_03_19 = "o1-pro-2025-03-19",
- MODEL_GPT_4_5_PREVIEW = "gpt-4.5-preview",
- MODEL_GPT_4_5_PREVIEW_2025_02_27 = "gpt-4.5-preview-2025-02-27",
- MODEL_GPT_4O_SEARCH_PREVIEW_2025_03_11 = "gpt-4o-search-preview-2025-03-11",
- MODEL_O3_MINI = "o3-mini",
- MODEL_O3_MINI_2025_01_31 = "o3-mini-2025-01-31",
- MODEL_TTS_1 = "tts-1",
- MODEL_OMNI_MODERATION_2024_09_26 = "omni-moderation-2024-09-26",
- MODEL_TEXT_EMBEDDING_3_SMALL = "text-embedding-3-small",
- MODEL_GPT_4O = "gpt-4o",
- MODEL_GPT_4O_MINI = "gpt-4o-mini",
- MODEL_GPT_4O_2024_08_06 = "gpt-4o-2024-08-06",
- MODEL_GPT_4O_MINI_2024_07_18 = "gpt-4o-mini-2024-07-18",
- MODEL_O1_MINI = "o1-mini",
- MODEL_GPT_4O_MINI_AUDIO_PREVIEW_2024_12_17 = "gpt-4o-mini-audio-preview-2024-12-17",
- MODEL_O1_MINI_2024_09_12 = "o1-mini-2024-09-12"
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/openai.ts.html b/packages/kbot/coverage/kbot/src/models/cache/openai.ts.html
deleted file mode 100644
index c6c2939b..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/openai.ts.html
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache/openai.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1 export const models = [{"id":"gpt-4o-audio-preview-2024-10-01","object":"model","created":1727389042,"owned_by":"system"},{"id":"gpt-4o-realtime-preview","object":"model","created":1727659998,"owned_by":"system"},{"id":"gpt-4o-realtime-preview-2024-10-01","object":"model","created":1727131766,"owned_by":"system"},{"id":"dall-e-2","object":"model","created":1698798177,"owned_by":"system"},{"id":"gpt-4o-2024-08-06","object":"model","created":1722814719,"owned_by":"system"},{"id":"gpt-4-turbo","object":"model","created":1712361441,"owned_by":"system"},{"id":"gpt-4-1106-preview","object":"model","created":1698957206,"owned_by":"system"},{"id":"gpt-4o","object":"model","created":1715367049,"owned_by":"system"},{"id":"gpt-3.5-turbo","object":"model","created":1677610602,"owned_by":"openai"},{"id":"gpt-3.5-turbo-0125","object":"model","created":1706048358,"owned_by":"system"},{"id":"gpt-3.5-turbo-instruct","object":"model","created":1692901427,"owned_by":"system"},{"id":"gpt-4-1106-vision-preview","object":"model","created":1711473033,"owned_by":"system"},{"id":"babbage-002","object":"model","created":1692634615,"owned_by":"system"},{"id":"whisper-1","object":"model","created":1677532384,"owned_by":"openai-internal"},{"id":"dall-e-3","object":"model","created":1698785189,"owned_by":"system"},{"id":"text-embedding-3-small","object":"model","created":1705948997,"owned_by":"system"},{"id":"gpt-3.5-turbo-16k","object":"model","created":1683758102,"owned_by":"openai-internal"},{"id":"gpt-4-0125-preview","object":"model","created":1706037612,"owned_by":"system"},{"id":"gpt-4-turbo-preview","object":"model","created":1706037777,"owned_by":"system"},{"id":"chatgpt-4o-latest","object":"model","created":1723515131,"owned_by":"system"},{"id":"omni-moderation-latest","object":"model","created":1731689265,"owned_by":"system"},{"id":"gpt-4o-2024-05-13","object":"model","created":1715368132,"owned_by":"system"},{"id":"o1-preview-2024-09-12","object":"model","created":1725648865,"owned_by":"system"},{"id":"omni-moderation-2024-09-26","object":"model","created":1732734466,"owned_by":"system"},{"id":"tts-1-hd-1106","object":"model","created":1699053533,"owned_by":"system"},{"id":"o1-preview","object":"model","created":1725648897,"owned_by":"system"},{"id":"gpt-4","object":"model","created":1687882411,"owned_by":"openai"},{"id":"gpt-4-0613","object":"model","created":1686588896,"owned_by":"openai"},{"id":"tts-1-hd","object":"model","created":1699046015,"owned_by":"system"},{"id":"gpt-4-vision-preview","object":"model","created":1698894917,"owned_by":"system"},{"id":"text-embedding-ada-002","object":"model","created":1671217299,"owned_by":"openai-internal"},{"id":"gpt-3.5-turbo-1106","object":"model","created":1698959748,"owned_by":"system"},{"id":"gpt-4o-audio-preview","object":"model","created":1727460443,"owned_by":"system"},{"id":"tts-1","object":"model","created":1681940951,"owned_by":"openai-internal"},{"id":"tts-1-1106","object":"model","created":1699053241,"owned_by":"system"},{"id":"gpt-3.5-turbo-instruct-0914","object":"model","created":1694122472,"owned_by":"system"},{"id":"davinci-002","object":"model","created":1692634301,"owned_by":"system"},{"id":"text-embedding-3-large","object":"model","created":1705953180,"owned_by":"system"},{"id":"gpt-4o-realtime-preview-2024-12-17","object":"model","created":1733945430,"owned_by":"system"},{"id":"gpt-4o-mini-realtime-preview","object":"model","created":1734387380,"owned_by":"system"},{"id":"gpt-4o-mini-realtime-preview-2024-12-17","object":"model","created":1734112601,"owned_by":"system"},{"id":"o1-mini","object":"model","created":1725649008,"owned_by":"system"},{"id":"gpt-4o-2024-11-20","object":"model","created":1731975040,"owned_by":"system"},{"id":"o1-mini-2024-09-12","object":"model","created":1725648979,"owned_by":"system"},{"id":"gpt-4o-mini-2024-07-18","object":"model","created":1721172717,"owned_by":"system"},{"id":"gpt-4o-mini","object":"model","created":1721172741,"owned_by":"system"},{"id":"gpt-4o-audio-preview-2024-12-17","object":"model","created":1734034239,"owned_by":"system"},{"id":"gpt-4o-mini-audio-preview","object":"model","created":1734387424,"owned_by":"system"},{"id":"gpt-4o-mini-audio-preview-2024-12-17","object":"model","created":1734115920,"owned_by":"system"},{"id":"gpt-4-turbo-2024-04-09","object":"model","created":1712601677,"owned_by":""}]
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/openrouter-models-free.ts.html b/packages/kbot/coverage/kbot/src/models/cache/openrouter-models-free.ts.html
deleted file mode 100644
index 412ffcd8..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/openrouter-models-free.ts.html
+++ /dev/null
@@ -1,262 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache/openrouter-models-free.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/60
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/60
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- export enum E_OPENROUTER_MODEL_FREE {
- MODEL_FREE_META_LLAMA_LLAMA_4_MAVERICK_FREE = "meta-llama/llama-4-maverick:free",
- MODEL_FREE_META_LLAMA_LLAMA_4_SCOUT_FREE = "meta-llama/llama-4-scout:free",
- MODEL_FREE_OPENROUTER_QUASAR_ALPHA = "openrouter/quasar-alpha",
- MODEL_FREE_DEEPSEEK_DEEPSEEK_V3_BASE_FREE = "deepseek/deepseek-v3-base:free",
- MODEL_FREE_ALLENAI_MOLMO_7B_D_FREE = "allenai/molmo-7b-d:free",
- MODEL_FREE_BYTEDANCE_RESEARCH_UI_TARS_72B_FREE = "bytedance-research/ui-tars-72b:free",
- MODEL_FREE_QWEN_QWEN2_5_VL_3B_INSTRUCT_FREE = "qwen/qwen2.5-vl-3b-instruct:free",
- MODEL_FREE_GOOGLE_GEMINI_2_5_PRO_EXP_03_25_FREE = "google/gemini-2.5-pro-exp-03-25:free",
- MODEL_FREE_QWEN_QWEN2_5_VL_32B_INSTRUCT_FREE = "qwen/qwen2.5-vl-32b-instruct:free",
- MODEL_FREE_DEEPSEEK_DEEPSEEK_CHAT_V3_0324_FREE = "deepseek/deepseek-chat-v3-0324:free",
- MODEL_FREE_FEATHERLESS_QWERKY_72B_FREE = "featherless/qwerky-72b:free",
- MODEL_FREE_MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT_FREE = "mistralai/mistral-small-3.1-24b-instruct:free",
- MODEL_FREE_OPEN_R1_OLYMPICCODER_7B_FREE = "open-r1/olympiccoder-7b:free",
- MODEL_FREE_OPEN_R1_OLYMPICCODER_32B_FREE = "open-r1/olympiccoder-32b:free",
- MODEL_FREE_GOOGLE_GEMMA_3_1B_IT_FREE = "google/gemma-3-1b-it:free",
- MODEL_FREE_GOOGLE_GEMMA_3_4B_IT_FREE = "google/gemma-3-4b-it:free",
- MODEL_FREE_GOOGLE_GEMMA_3_12B_IT_FREE = "google/gemma-3-12b-it:free",
- MODEL_FREE_REKAAI_REKA_FLASH_3_FREE = "rekaai/reka-flash-3:free",
- MODEL_FREE_GOOGLE_GEMMA_3_27B_IT_FREE = "google/gemma-3-27b-it:free",
- MODEL_FREE_DEEPSEEK_DEEPSEEK_R1_ZERO_FREE = "deepseek/deepseek-r1-zero:free",
- MODEL_FREE_QWEN_QWQ_32B_FREE = "qwen/qwq-32b:free",
- MODEL_FREE_MOONSHOTAI_MOONLIGHT_16B_A3B_INSTRUCT_FREE = "moonshotai/moonlight-16b-a3b-instruct:free",
- MODEL_FREE_NOUSRESEARCH_DEEPHERMES_3_LLAMA_3_8B_PREVIEW_FREE = "nousresearch/deephermes-3-llama-3-8b-preview:free",
- MODEL_FREE_COGNITIVECOMPUTATIONS_DOLPHIN3_0_R1_MISTRAL_24B_FREE = "cognitivecomputations/dolphin3.0-r1-mistral-24b:free",
- MODEL_FREE_COGNITIVECOMPUTATIONS_DOLPHIN3_0_MISTRAL_24B_FREE = "cognitivecomputations/dolphin3.0-mistral-24b:free",
- MODEL_FREE_GOOGLE_GEMINI_2_0_PRO_EXP_02_05_FREE = "google/gemini-2.0-pro-exp-02-05:free",
- MODEL_FREE_QWEN_QWEN2_5_VL_72B_INSTRUCT_FREE = "qwen/qwen2.5-vl-72b-instruct:free",
- MODEL_FREE_MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501_FREE = "mistralai/mistral-small-24b-instruct-2501:free",
- MODEL_FREE_DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B_FREE = "deepseek/deepseek-r1-distill-qwen-32b:free",
- MODEL_FREE_DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_14B_FREE = "deepseek/deepseek-r1-distill-qwen-14b:free",
- MODEL_FREE_DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B_FREE = "deepseek/deepseek-r1-distill-llama-70b:free",
- MODEL_FREE_GOOGLE_GEMINI_2_0_FLASH_THINKING_EXP_FREE = "google/gemini-2.0-flash-thinking-exp:free",
- MODEL_FREE_DEEPSEEK_DEEPSEEK_R1_FREE = "deepseek/deepseek-r1:free",
- MODEL_FREE_SOPHOSYMPATHEIA_ROGUE_ROSE_103B_V0_2_FREE = "sophosympatheia/rogue-rose-103b-v0.2:free",
- MODEL_FREE_DEEPSEEK_DEEPSEEK_CHAT_FREE = "deepseek/deepseek-chat:free",
- MODEL_FREE_GOOGLE_GEMINI_2_0_FLASH_THINKING_EXP_1219_FREE = "google/gemini-2.0-flash-thinking-exp-1219:free",
- MODEL_FREE_GOOGLE_GEMINI_2_0_FLASH_EXP_FREE = "google/gemini-2.0-flash-exp:free",
- MODEL_FREE_META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE = "meta-llama/llama-3.3-70b-instruct:free",
- MODEL_FREE_QWEN_QWQ_32B_PREVIEW_FREE = "qwen/qwq-32b-preview:free",
- MODEL_FREE_GOOGLE_LEARNLM_1_5_PRO_EXPERIMENTAL_FREE = "google/learnlm-1.5-pro-experimental:free",
- MODEL_FREE_QWEN_QWEN_2_5_CODER_32B_INSTRUCT_FREE = "qwen/qwen-2.5-coder-32b-instruct:free",
- MODEL_FREE_QWEN_QWEN_2_5_7B_INSTRUCT_FREE = "qwen/qwen-2.5-7b-instruct:free",
- MODEL_FREE_NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT_FREE = "nvidia/llama-3.1-nemotron-70b-instruct:free",
- MODEL_FREE_META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE = "meta-llama/llama-3.2-3b-instruct:free",
- MODEL_FREE_META_LLAMA_LLAMA_3_2_1B_INSTRUCT_FREE = "meta-llama/llama-3.2-1b-instruct:free",
- MODEL_FREE_META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT_FREE = "meta-llama/llama-3.2-11b-vision-instruct:free",
- MODEL_FREE_QWEN_QWEN_2_5_72B_INSTRUCT_FREE = "qwen/qwen-2.5-72b-instruct:free",
- MODEL_FREE_QWEN_QWEN_2_5_VL_7B_INSTRUCT_FREE = "qwen/qwen-2.5-vl-7b-instruct:free",
- MODEL_FREE_GOOGLE_GEMINI_FLASH_1_5_8B_EXP = "google/gemini-flash-1.5-8b-exp",
- MODEL_FREE_META_LLAMA_LLAMA_3_1_8B_INSTRUCT_FREE = "meta-llama/llama-3.1-8b-instruct:free",
- MODEL_FREE_MISTRALAI_MISTRAL_NEMO_FREE = "mistralai/mistral-nemo:free",
- MODEL_FREE_GOOGLE_GEMMA_2_9B_IT_FREE = "google/gemma-2-9b-it:free",
- MODEL_FREE_MISTRALAI_MISTRAL_7B_INSTRUCT_FREE = "mistralai/mistral-7b-instruct:free",
- MODEL_FREE_MICROSOFT_PHI_3_MINI_128K_INSTRUCT_FREE = "microsoft/phi-3-mini-128k-instruct:free",
- MODEL_FREE_MICROSOFT_PHI_3_MEDIUM_128K_INSTRUCT_FREE = "microsoft/phi-3-medium-128k-instruct:free",
- MODEL_FREE_OPENCHAT_OPENCHAT_7B_FREE = "openchat/openchat-7b:free",
- MODEL_FREE_UNDI95_TOPPY_M_7B_FREE = "undi95/toppy-m-7b:free",
- MODEL_FREE_HUGGINGFACEH4_ZEPHYR_7B_BETA_FREE = "huggingfaceh4/zephyr-7b-beta:free"
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/openrouter-models-tools.ts.html b/packages/kbot/coverage/kbot/src/models/cache/openrouter-models-tools.ts.html
deleted file mode 100644
index 57267745..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/openrouter-models-tools.ts.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache/openrouter-models-tools.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-
- export enum E_OPENROUTER_MODEL {
-
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/openrouter-models.ts.html b/packages/kbot/coverage/kbot/src/models/cache/openrouter-models.ts.html
deleted file mode 100644
index db0d402b..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/openrouter-models.ts.html
+++ /dev/null
@@ -1,967 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache/openrouter-models.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/295
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/295
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-293
-294
-295
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- export enum E_OPENROUTER_MODEL {
- MODEL_META_LLAMA_LLAMA_4_MAVERICK_FREE = "meta-llama/llama-4-maverick:free",
- MODEL_META_LLAMA_LLAMA_4_MAVERICK = "meta-llama/llama-4-maverick",
- MODEL_META_LLAMA_LLAMA_4_SCOUT_FREE = "meta-llama/llama-4-scout:free",
- MODEL_META_LLAMA_LLAMA_4_SCOUT = "meta-llama/llama-4-scout",
- MODEL_GOOGLE_GEMINI_2_5_PRO_PREVIEW_03_25 = "google/gemini-2.5-pro-preview-03-25",
- MODEL_OPENROUTER_QUASAR_ALPHA = "openrouter/quasar-alpha",
- MODEL_ALL_HANDS_OPENHANDS_LM_32B_V0_1 = "all-hands/openhands-lm-32b-v0.1",
- MODEL_MISTRAL_MINISTRAL_8B = "mistral/ministral-8b",
- MODEL_DEEPSEEK_DEEPSEEK_V3_BASE_FREE = "deepseek/deepseek-v3-base:free",
- MODEL_SCB10X_LLAMA3_1_TYPHOON2_8B_INSTRUCT = "scb10x/llama3.1-typhoon2-8b-instruct",
- MODEL_SCB10X_LLAMA3_1_TYPHOON2_70B_INSTRUCT = "scb10x/llama3.1-typhoon2-70b-instruct",
- MODEL_ALLENAI_MOLMO_7B_D_FREE = "allenai/molmo-7b-d:free",
- MODEL_BYTEDANCE_RESEARCH_UI_TARS_72B_FREE = "bytedance-research/ui-tars-72b:free",
- MODEL_QWEN_QWEN2_5_VL_3B_INSTRUCT_FREE = "qwen/qwen2.5-vl-3b-instruct:free",
- MODEL_GOOGLE_GEMINI_2_5_PRO_EXP_03_25_FREE = "google/gemini-2.5-pro-exp-03-25:free",
- MODEL_QWEN_QWEN2_5_VL_32B_INSTRUCT_FREE = "qwen/qwen2.5-vl-32b-instruct:free",
- MODEL_QWEN_QWEN2_5_VL_32B_INSTRUCT = "qwen/qwen2.5-vl-32b-instruct",
- MODEL_DEEPSEEK_DEEPSEEK_CHAT_V3_0324_FREE = "deepseek/deepseek-chat-v3-0324:free",
- MODEL_DEEPSEEK_DEEPSEEK_CHAT_V3_0324 = "deepseek/deepseek-chat-v3-0324",
- MODEL_FEATHERLESS_QWERKY_72B_FREE = "featherless/qwerky-72b:free",
- MODEL_OPENAI_O1_PRO = "openai/o1-pro",
- MODEL_MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT_FREE = "mistralai/mistral-small-3.1-24b-instruct:free",
- MODEL_MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT = "mistralai/mistral-small-3.1-24b-instruct",
- MODEL_OPEN_R1_OLYMPICCODER_7B_FREE = "open-r1/olympiccoder-7b:free",
- MODEL_OPEN_R1_OLYMPICCODER_32B_FREE = "open-r1/olympiccoder-32b:free",
- MODEL_STEELSKULL_L3_3_ELECTRA_R1_70B = "steelskull/l3.3-electra-r1-70b",
- MODEL_ALLENAI_OLMO_2_0325_32B_INSTRUCT = "allenai/olmo-2-0325-32b-instruct",
- MODEL_GOOGLE_GEMMA_3_1B_IT_FREE = "google/gemma-3-1b-it:free",
- MODEL_GOOGLE_GEMMA_3_4B_IT_FREE = "google/gemma-3-4b-it:free",
- MODEL_GOOGLE_GEMMA_3_4B_IT = "google/gemma-3-4b-it",
- MODEL_AI21_JAMBA_1_6_LARGE = "ai21/jamba-1.6-large",
- MODEL_AI21_JAMBA_1_6_MINI = "ai21/jamba-1.6-mini",
- MODEL_GOOGLE_GEMMA_3_12B_IT_FREE = "google/gemma-3-12b-it:free",
- MODEL_GOOGLE_GEMMA_3_12B_IT = "google/gemma-3-12b-it",
- MODEL_COHERE_COMMAND_A = "cohere/command-a",
- MODEL_OPENAI_GPT_4O_MINI_SEARCH_PREVIEW = "openai/gpt-4o-mini-search-preview",
- MODEL_OPENAI_GPT_4O_SEARCH_PREVIEW = "openai/gpt-4o-search-preview",
- MODEL_TOKYOTECH_LLM_LLAMA_3_1_SWALLOW_70B_INSTRUCT_V0_3 = "tokyotech-llm/llama-3.1-swallow-70b-instruct-v0.3",
- MODEL_REKAAI_REKA_FLASH_3_FREE = "rekaai/reka-flash-3:free",
- MODEL_GOOGLE_GEMMA_3_27B_IT_FREE = "google/gemma-3-27b-it:free",
- MODEL_GOOGLE_GEMMA_3_27B_IT = "google/gemma-3-27b-it",
- MODEL_THEDRUMMER_ANUBIS_PRO_105B_V1 = "thedrummer/anubis-pro-105b-v1",
- MODEL_LATITUDEGAMES_WAYFARER_LARGE_70B_LLAMA_3_3 = "latitudegames/wayfarer-large-70b-llama-3.3",
- MODEL_THEDRUMMER_SKYFALL_36B_V2 = "thedrummer/skyfall-36b-v2",
- MODEL_MICROSOFT_PHI_4_MULTIMODAL_INSTRUCT = "microsoft/phi-4-multimodal-instruct",
- MODEL_PERPLEXITY_SONAR_REASONING_PRO = "perplexity/sonar-reasoning-pro",
- MODEL_PERPLEXITY_SONAR_PRO = "perplexity/sonar-pro",
- MODEL_PERPLEXITY_SONAR_DEEP_RESEARCH = "perplexity/sonar-deep-research",
- MODEL_DEEPSEEK_DEEPSEEK_R1_ZERO_FREE = "deepseek/deepseek-r1-zero:free",
- MODEL_QWEN_QWQ_32B_FREE = "qwen/qwq-32b:free",
- MODEL_QWEN_QWQ_32B = "qwen/qwq-32b",
- MODEL_QWEN_QWEN2_5_32B_INSTRUCT = "qwen/qwen2.5-32b-instruct",
- MODEL_MOONSHOTAI_MOONLIGHT_16B_A3B_INSTRUCT_FREE = "moonshotai/moonlight-16b-a3b-instruct:free",
- MODEL_NOUSRESEARCH_DEEPHERMES_3_LLAMA_3_8B_PREVIEW_FREE = "nousresearch/deephermes-3-llama-3-8b-preview:free",
- MODEL_OPENAI_GPT_4_5_PREVIEW = "openai/gpt-4.5-preview",
- MODEL_GOOGLE_GEMINI_2_0_FLASH_LITE_001 = "google/gemini-2.0-flash-lite-001",
- MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = "anthropic/claude-3.7-sonnet",
- MODEL_ANTHROPIC_CLAUDE_3_7_SONNET_THINKING = "anthropic/claude-3.7-sonnet:thinking",
- MODEL_ANTHROPIC_CLAUDE_3_7_SONNET_BETA = "anthropic/claude-3.7-sonnet:beta",
- MODEL_PERPLEXITY_R1_1776 = "perplexity/r1-1776",
- MODEL_MISTRALAI_MISTRAL_SABA = "mistralai/mistral-saba",
- MODEL_COGNITIVECOMPUTATIONS_DOLPHIN3_0_R1_MISTRAL_24B_FREE = "cognitivecomputations/dolphin3.0-r1-mistral-24b:free",
- MODEL_COGNITIVECOMPUTATIONS_DOLPHIN3_0_MISTRAL_24B_FREE = "cognitivecomputations/dolphin3.0-mistral-24b:free",
- MODEL_META_LLAMA_LLAMA_GUARD_3_8B = "meta-llama/llama-guard-3-8b",
- MODEL_OPENAI_O3_MINI_HIGH = "openai/o3-mini-high",
- MODEL_DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_8B = "deepseek/deepseek-r1-distill-llama-8b",
- MODEL_GOOGLE_GEMINI_2_0_FLASH_001 = "google/gemini-2.0-flash-001",
- MODEL_GOOGLE_GEMINI_2_0_PRO_EXP_02_05_FREE = "google/gemini-2.0-pro-exp-02-05:free",
- MODEL_QWEN_QWEN_VL_PLUS = "qwen/qwen-vl-plus",
- MODEL_AION_LABS_AION_1_0 = "aion-labs/aion-1.0",
- MODEL_AION_LABS_AION_1_0_MINI = "aion-labs/aion-1.0-mini",
- MODEL_AION_LABS_AION_RP_LLAMA_3_1_8B = "aion-labs/aion-rp-llama-3.1-8b",
- MODEL_QWEN_QWEN_VL_MAX = "qwen/qwen-vl-max",
- MODEL_QWEN_QWEN_TURBO = "qwen/qwen-turbo",
- MODEL_QWEN_QWEN2_5_VL_72B_INSTRUCT_FREE = "qwen/qwen2.5-vl-72b-instruct:free",
- MODEL_QWEN_QWEN2_5_VL_72B_INSTRUCT = "qwen/qwen2.5-vl-72b-instruct",
- MODEL_QWEN_QWEN_PLUS = "qwen/qwen-plus",
- MODEL_QWEN_QWEN_MAX = "qwen/qwen-max",
- MODEL_OPENAI_O3_MINI = "openai/o3-mini",
- MODEL_DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_1_5B = "deepseek/deepseek-r1-distill-qwen-1.5b",
- MODEL_MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501_FREE = "mistralai/mistral-small-24b-instruct-2501:free",
- MODEL_MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501 = "mistralai/mistral-small-24b-instruct-2501",
- MODEL_DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B_FREE = "deepseek/deepseek-r1-distill-qwen-32b:free",
- MODEL_DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B = "deepseek/deepseek-r1-distill-qwen-32b",
- MODEL_DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_14B_FREE = "deepseek/deepseek-r1-distill-qwen-14b:free",
- MODEL_DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_14B = "deepseek/deepseek-r1-distill-qwen-14b",
- MODEL_PERPLEXITY_SONAR_REASONING = "perplexity/sonar-reasoning",
- MODEL_PERPLEXITY_SONAR = "perplexity/sonar",
- MODEL_LIQUID_LFM_7B = "liquid/lfm-7b",
- MODEL_LIQUID_LFM_3B = "liquid/lfm-3b",
- MODEL_DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B_FREE = "deepseek/deepseek-r1-distill-llama-70b:free",
- MODEL_DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B = "deepseek/deepseek-r1-distill-llama-70b",
- MODEL_GOOGLE_GEMINI_2_0_FLASH_THINKING_EXP_FREE = "google/gemini-2.0-flash-thinking-exp:free",
- MODEL_DEEPSEEK_DEEPSEEK_R1_FREE = "deepseek/deepseek-r1:free",
- MODEL_DEEPSEEK_DEEPSEEK_R1 = "deepseek/deepseek-r1",
- MODEL_SOPHOSYMPATHEIA_ROGUE_ROSE_103B_V0_2_FREE = "sophosympatheia/rogue-rose-103b-v0.2:free",
- MODEL_MINIMAX_MINIMAX_01 = "minimax/minimax-01",
- MODEL_MISTRALAI_CODESTRAL_2501 = "mistralai/codestral-2501",
- MODEL_MICROSOFT_PHI_4 = "microsoft/phi-4",
- MODEL_SAO10K_L3_1_70B_HANAMI_X1 = "sao10k/l3.1-70b-hanami-x1",
- MODEL_DEEPSEEK_DEEPSEEK_CHAT_FREE = "deepseek/deepseek-chat:free",
- MODEL_DEEPSEEK_DEEPSEEK_CHAT = "deepseek/deepseek-chat",
- MODEL_GOOGLE_GEMINI_2_0_FLASH_THINKING_EXP_1219_FREE = "google/gemini-2.0-flash-thinking-exp-1219:free",
- MODEL_SAO10K_L3_3_EURYALE_70B = "sao10k/l3.3-euryale-70b",
- MODEL_OPENAI_O1 = "openai/o1",
- MODEL_EVA_UNIT_01_EVA_LLAMA_3_33_70B = "eva-unit-01/eva-llama-3.33-70b",
- MODEL_X_AI_GROK_2_VISION_1212 = "x-ai/grok-2-vision-1212",
- MODEL_X_AI_GROK_2_1212 = "x-ai/grok-2-1212",
- MODEL_COHERE_COMMAND_R7B_12_2024 = "cohere/command-r7b-12-2024",
- MODEL_GOOGLE_GEMINI_2_0_FLASH_EXP_FREE = "google/gemini-2.0-flash-exp:free",
- MODEL_META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE = "meta-llama/llama-3.3-70b-instruct:free",
- MODEL_META_LLAMA_LLAMA_3_3_70B_INSTRUCT = "meta-llama/llama-3.3-70b-instruct",
- MODEL_AMAZON_NOVA_LITE_V1 = "amazon/nova-lite-v1",
- MODEL_AMAZON_NOVA_MICRO_V1 = "amazon/nova-micro-v1",
- MODEL_AMAZON_NOVA_PRO_V1 = "amazon/nova-pro-v1",
- MODEL_QWEN_QWQ_32B_PREVIEW_FREE = "qwen/qwq-32b-preview:free",
- MODEL_QWEN_QWQ_32B_PREVIEW = "qwen/qwq-32b-preview",
- MODEL_GOOGLE_LEARNLM_1_5_PRO_EXPERIMENTAL_FREE = "google/learnlm-1.5-pro-experimental:free",
- MODEL_EVA_UNIT_01_EVA_QWEN_2_5_72B = "eva-unit-01/eva-qwen-2.5-72b",
- MODEL_OPENAI_GPT_4O_2024_11_20 = "openai/gpt-4o-2024-11-20",
- MODEL_MISTRALAI_MISTRAL_LARGE_2411 = "mistralai/mistral-large-2411",
- MODEL_MISTRALAI_MISTRAL_LARGE_2407 = "mistralai/mistral-large-2407",
- MODEL_MISTRALAI_PIXTRAL_LARGE_2411 = "mistralai/pixtral-large-2411",
- MODEL_X_AI_GROK_VISION_BETA = "x-ai/grok-vision-beta",
- MODEL_INFERMATIC_MN_INFEROR_12B = "infermatic/mn-inferor-12b",
- MODEL_QWEN_QWEN_2_5_CODER_32B_INSTRUCT_FREE = "qwen/qwen-2.5-coder-32b-instruct:free",
- MODEL_QWEN_QWEN_2_5_CODER_32B_INSTRUCT = "qwen/qwen-2.5-coder-32b-instruct",
- MODEL_RAIFLE_SORCERERLM_8X22B = "raifle/sorcererlm-8x22b",
- MODEL_EVA_UNIT_01_EVA_QWEN_2_5_32B = "eva-unit-01/eva-qwen-2.5-32b",
- MODEL_THEDRUMMER_UNSLOPNEMO_12B = "thedrummer/unslopnemo-12b",
- MODEL_ANTHROPIC_CLAUDE_3_5_HAIKU_BETA = "anthropic/claude-3.5-haiku:beta",
- MODEL_ANTHROPIC_CLAUDE_3_5_HAIKU = "anthropic/claude-3.5-haiku",
- MODEL_ANTHROPIC_CLAUDE_3_5_HAIKU_20241022_BETA = "anthropic/claude-3.5-haiku-20241022:beta",
- MODEL_ANTHROPIC_CLAUDE_3_5_HAIKU_20241022 = "anthropic/claude-3.5-haiku-20241022",
- MODEL_NEVERSLEEP_LLAMA_3_1_LUMIMAID_70B = "neversleep/llama-3.1-lumimaid-70b",
- MODEL_ANTHRACITE_ORG_MAGNUM_V4_72B = "anthracite-org/magnum-v4-72b",
- MODEL_ANTHROPIC_CLAUDE_3_5_SONNET_BETA = "anthropic/claude-3.5-sonnet:beta",
- MODEL_ANTHROPIC_CLAUDE_3_5_SONNET = "anthropic/claude-3.5-sonnet",
- MODEL_X_AI_GROK_BETA = "x-ai/grok-beta",
- MODEL_MISTRALAI_MINISTRAL_8B = "mistralai/ministral-8b",
- MODEL_MISTRALAI_MINISTRAL_3B = "mistralai/ministral-3b",
- MODEL_QWEN_QWEN_2_5_7B_INSTRUCT_FREE = "qwen/qwen-2.5-7b-instruct:free",
- MODEL_QWEN_QWEN_2_5_7B_INSTRUCT = "qwen/qwen-2.5-7b-instruct",
- MODEL_NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT_FREE = "nvidia/llama-3.1-nemotron-70b-instruct:free",
- MODEL_NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT = "nvidia/llama-3.1-nemotron-70b-instruct",
- MODEL_INFLECTION_INFLECTION_3_PRODUCTIVITY = "inflection/inflection-3-productivity",
- MODEL_INFLECTION_INFLECTION_3_PI = "inflection/inflection-3-pi",
- MODEL_GOOGLE_GEMINI_FLASH_1_5_8B = "google/gemini-flash-1.5-8b",
- MODEL_THEDRUMMER_ROCINANTE_12B = "thedrummer/rocinante-12b",
- MODEL_ANTHRACITE_ORG_MAGNUM_V2_72B = "anthracite-org/magnum-v2-72b",
- MODEL_LIQUID_LFM_40B = "liquid/lfm-40b",
- MODEL_META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE = "meta-llama/llama-3.2-3b-instruct:free",
- MODEL_META_LLAMA_LLAMA_3_2_3B_INSTRUCT = "meta-llama/llama-3.2-3b-instruct",
- MODEL_META_LLAMA_LLAMA_3_2_1B_INSTRUCT_FREE = "meta-llama/llama-3.2-1b-instruct:free",
- MODEL_META_LLAMA_LLAMA_3_2_1B_INSTRUCT = "meta-llama/llama-3.2-1b-instruct",
- MODEL_META_LLAMA_LLAMA_3_2_90B_VISION_INSTRUCT = "meta-llama/llama-3.2-90b-vision-instruct",
- MODEL_META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT_FREE = "meta-llama/llama-3.2-11b-vision-instruct:free",
- MODEL_META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT = "meta-llama/llama-3.2-11b-vision-instruct",
- MODEL_QWEN_QWEN_2_5_72B_INSTRUCT_FREE = "qwen/qwen-2.5-72b-instruct:free",
- MODEL_QWEN_QWEN_2_5_72B_INSTRUCT = "qwen/qwen-2.5-72b-instruct",
- MODEL_QWEN_QWEN_2_5_VL_72B_INSTRUCT = "qwen/qwen-2.5-vl-72b-instruct",
- MODEL_NEVERSLEEP_LLAMA_3_1_LUMIMAID_8B = "neversleep/llama-3.1-lumimaid-8b",
- MODEL_OPENAI_O1_PREVIEW = "openai/o1-preview",
- MODEL_OPENAI_O1_PREVIEW_2024_09_12 = "openai/o1-preview-2024-09-12",
- MODEL_OPENAI_O1_MINI = "openai/o1-mini",
- MODEL_OPENAI_O1_MINI_2024_09_12 = "openai/o1-mini-2024-09-12",
- MODEL_MISTRALAI_PIXTRAL_12B = "mistralai/pixtral-12b",
- MODEL_COHERE_COMMAND_R_PLUS_08_2024 = "cohere/command-r-plus-08-2024",
- MODEL_COHERE_COMMAND_R_08_2024 = "cohere/command-r-08-2024",
- MODEL_QWEN_QWEN_2_5_VL_7B_INSTRUCT_FREE = "qwen/qwen-2.5-vl-7b-instruct:free",
- MODEL_QWEN_QWEN_2_5_VL_7B_INSTRUCT = "qwen/qwen-2.5-vl-7b-instruct",
- MODEL_SAO10K_L3_1_EURYALE_70B = "sao10k/l3.1-euryale-70b",
- MODEL_GOOGLE_GEMINI_FLASH_1_5_8B_EXP = "google/gemini-flash-1.5-8b-exp",
- MODEL_AI21_JAMBA_1_5_MINI = "ai21/jamba-1-5-mini",
- MODEL_AI21_JAMBA_1_5_LARGE = "ai21/jamba-1-5-large",
- MODEL_MICROSOFT_PHI_3_5_MINI_128K_INSTRUCT = "microsoft/phi-3.5-mini-128k-instruct",
- MODEL_NOUSRESEARCH_HERMES_3_LLAMA_3_1_70B = "nousresearch/hermes-3-llama-3.1-70b",
- MODEL_NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B = "nousresearch/hermes-3-llama-3.1-405b",
- MODEL_OPENAI_CHATGPT_4O_LATEST = "openai/chatgpt-4o-latest",
- MODEL_SAO10K_L3_LUNARIS_8B = "sao10k/l3-lunaris-8b",
- MODEL_AETHERWIING_MN_STARCANNON_12B = "aetherwiing/mn-starcannon-12b",
- MODEL_OPENAI_GPT_4O_2024_08_06 = "openai/gpt-4o-2024-08-06",
- MODEL_META_LLAMA_LLAMA_3_1_405B = "meta-llama/llama-3.1-405b",
- MODEL_NOTHINGIISREAL_MN_CELESTE_12B = "nothingiisreal/mn-celeste-12b",
- MODEL_PERPLEXITY_LLAMA_3_1_SONAR_SMALL_128K_ONLINE = "perplexity/llama-3.1-sonar-small-128k-online",
- MODEL_PERPLEXITY_LLAMA_3_1_SONAR_LARGE_128K_ONLINE = "perplexity/llama-3.1-sonar-large-128k-online",
- MODEL_META_LLAMA_LLAMA_3_1_8B_INSTRUCT_FREE = "meta-llama/llama-3.1-8b-instruct:free",
- MODEL_META_LLAMA_LLAMA_3_1_8B_INSTRUCT = "meta-llama/llama-3.1-8b-instruct",
- MODEL_META_LLAMA_LLAMA_3_1_405B_INSTRUCT = "meta-llama/llama-3.1-405b-instruct",
- MODEL_META_LLAMA_LLAMA_3_1_70B_INSTRUCT = "meta-llama/llama-3.1-70b-instruct",
- MODEL_MISTRALAI_CODESTRAL_MAMBA = "mistralai/codestral-mamba",
- MODEL_MISTRALAI_MISTRAL_NEMO_FREE = "mistralai/mistral-nemo:free",
- MODEL_MISTRALAI_MISTRAL_NEMO = "mistralai/mistral-nemo",
- MODEL_OPENAI_GPT_4O_MINI = "openai/gpt-4o-mini",
- MODEL_OPENAI_GPT_4O_MINI_2024_07_18 = "openai/gpt-4o-mini-2024-07-18",
- MODEL_GOOGLE_GEMMA_2_27B_IT = "google/gemma-2-27b-it",
- MODEL_ALPINDALE_MAGNUM_72B = "alpindale/magnum-72b",
- MODEL_GOOGLE_GEMMA_2_9B_IT_FREE = "google/gemma-2-9b-it:free",
- MODEL_GOOGLE_GEMMA_2_9B_IT = "google/gemma-2-9b-it",
- MODEL_01_AI_YI_LARGE = "01-ai/yi-large",
- MODEL_AI21_JAMBA_INSTRUCT = "ai21/jamba-instruct",
- MODEL_ANTHROPIC_CLAUDE_3_5_SONNET_20240620_BETA = "anthropic/claude-3.5-sonnet-20240620:beta",
- MODEL_ANTHROPIC_CLAUDE_3_5_SONNET_20240620 = "anthropic/claude-3.5-sonnet-20240620",
- MODEL_SAO10K_L3_EURYALE_70B = "sao10k/l3-euryale-70b",
- MODEL_COGNITIVECOMPUTATIONS_DOLPHIN_MIXTRAL_8X22B = "cognitivecomputations/dolphin-mixtral-8x22b",
- MODEL_QWEN_QWEN_2_72B_INSTRUCT = "qwen/qwen-2-72b-instruct",
- MODEL_MISTRALAI_MISTRAL_7B_INSTRUCT_FREE = "mistralai/mistral-7b-instruct:free",
- MODEL_MISTRALAI_MISTRAL_7B_INSTRUCT = "mistralai/mistral-7b-instruct",
- MODEL_MISTRALAI_MISTRAL_7B_INSTRUCT_V0_3 = "mistralai/mistral-7b-instruct-v0.3",
- MODEL_NOUSRESEARCH_HERMES_2_PRO_LLAMA_3_8B = "nousresearch/hermes-2-pro-llama-3-8b",
- MODEL_MICROSOFT_PHI_3_MINI_128K_INSTRUCT_FREE = "microsoft/phi-3-mini-128k-instruct:free",
- MODEL_MICROSOFT_PHI_3_MINI_128K_INSTRUCT = "microsoft/phi-3-mini-128k-instruct",
- MODEL_MICROSOFT_PHI_3_MEDIUM_128K_INSTRUCT_FREE = "microsoft/phi-3-medium-128k-instruct:free",
- MODEL_MICROSOFT_PHI_3_MEDIUM_128K_INSTRUCT = "microsoft/phi-3-medium-128k-instruct",
- MODEL_NEVERSLEEP_LLAMA_3_LUMIMAID_70B = "neversleep/llama-3-lumimaid-70b",
- MODEL_GOOGLE_GEMINI_FLASH_1_5 = "google/gemini-flash-1.5",
- MODEL_OPENAI_GPT_4O = "openai/gpt-4o",
- MODEL_OPENAI_GPT_4O_EXTENDED = "openai/gpt-4o:extended",
- MODEL_OPENAI_GPT_4O_2024_05_13 = "openai/gpt-4o-2024-05-13",
- MODEL_META_LLAMA_LLAMA_GUARD_2_8B = "meta-llama/llama-guard-2-8b",
- MODEL_NEVERSLEEP_LLAMA_3_LUMIMAID_8B_EXTENDED = "neversleep/llama-3-lumimaid-8b:extended",
- MODEL_NEVERSLEEP_LLAMA_3_LUMIMAID_8B = "neversleep/llama-3-lumimaid-8b",
- MODEL_SAO10K_FIMBULVETR_11B_V2 = "sao10k/fimbulvetr-11b-v2",
- MODEL_META_LLAMA_LLAMA_3_8B_INSTRUCT = "meta-llama/llama-3-8b-instruct",
- MODEL_META_LLAMA_LLAMA_3_70B_INSTRUCT = "meta-llama/llama-3-70b-instruct",
- MODEL_MISTRALAI_MIXTRAL_8X22B_INSTRUCT = "mistralai/mixtral-8x22b-instruct",
- MODEL_MICROSOFT_WIZARDLM_2_8X22B = "microsoft/wizardlm-2-8x22b",
- MODEL_MICROSOFT_WIZARDLM_2_7B = "microsoft/wizardlm-2-7b",
- MODEL_GOOGLE_GEMINI_PRO_1_5 = "google/gemini-pro-1.5",
- MODEL_OPENAI_GPT_4_TURBO = "openai/gpt-4-turbo",
- MODEL_COHERE_COMMAND_R_PLUS = "cohere/command-r-plus",
- MODEL_COHERE_COMMAND_R_PLUS_04_2024 = "cohere/command-r-plus-04-2024",
- MODEL_SOPHOSYMPATHEIA_MIDNIGHT_ROSE_70B = "sophosympatheia/midnight-rose-70b",
- MODEL_COHERE_COMMAND = "cohere/command",
- MODEL_COHERE_COMMAND_R = "cohere/command-r",
- MODEL_ANTHROPIC_CLAUDE_3_HAIKU_BETA = "anthropic/claude-3-haiku:beta",
- MODEL_ANTHROPIC_CLAUDE_3_HAIKU = "anthropic/claude-3-haiku",
- MODEL_ANTHROPIC_CLAUDE_3_OPUS_BETA = "anthropic/claude-3-opus:beta",
- MODEL_ANTHROPIC_CLAUDE_3_OPUS = "anthropic/claude-3-opus",
- MODEL_ANTHROPIC_CLAUDE_3_SONNET_BETA = "anthropic/claude-3-sonnet:beta",
- MODEL_ANTHROPIC_CLAUDE_3_SONNET = "anthropic/claude-3-sonnet",
- MODEL_COHERE_COMMAND_R_03_2024 = "cohere/command-r-03-2024",
- MODEL_MISTRALAI_MISTRAL_LARGE = "mistralai/mistral-large",
- MODEL_OPENAI_GPT_3_5_TURBO_0613 = "openai/gpt-3.5-turbo-0613",
- MODEL_OPENAI_GPT_4_TURBO_PREVIEW = "openai/gpt-4-turbo-preview",
- MODEL_NOUSRESEARCH_NOUS_HERMES_2_MIXTRAL_8X7B_DPO = "nousresearch/nous-hermes-2-mixtral-8x7b-dpo",
- MODEL_MISTRALAI_MISTRAL_MEDIUM = "mistralai/mistral-medium",
- MODEL_MISTRALAI_MISTRAL_SMALL = "mistralai/mistral-small",
- MODEL_MISTRALAI_MISTRAL_TINY = "mistralai/mistral-tiny",
- MODEL_MISTRALAI_MISTRAL_7B_INSTRUCT_V0_2 = "mistralai/mistral-7b-instruct-v0.2",
- MODEL_COGNITIVECOMPUTATIONS_DOLPHIN_MIXTRAL_8X7B = "cognitivecomputations/dolphin-mixtral-8x7b",
- MODEL_GOOGLE_GEMINI_PRO_VISION = "google/gemini-pro-vision",
- MODEL_GOOGLE_GEMINI_PRO = "google/gemini-pro",
- MODEL_MISTRALAI_MIXTRAL_8X7B = "mistralai/mixtral-8x7b",
- MODEL_MISTRALAI_MIXTRAL_8X7B_INSTRUCT = "mistralai/mixtral-8x7b-instruct",
- MODEL_OPENCHAT_OPENCHAT_7B_FREE = "openchat/openchat-7b:free",
- MODEL_OPENCHAT_OPENCHAT_7B = "openchat/openchat-7b",
- MODEL_NEVERSLEEP_NOROMAID_20B = "neversleep/noromaid-20b",
- MODEL_ANTHROPIC_CLAUDE_2_1_BETA = "anthropic/claude-2.1:beta",
- MODEL_ANTHROPIC_CLAUDE_2_1 = "anthropic/claude-2.1",
- MODEL_ANTHROPIC_CLAUDE_2_BETA = "anthropic/claude-2:beta",
- MODEL_ANTHROPIC_CLAUDE_2 = "anthropic/claude-2",
- MODEL_UNDI95_TOPPY_M_7B_FREE = "undi95/toppy-m-7b:free",
- MODEL_UNDI95_TOPPY_M_7B = "undi95/toppy-m-7b",
- MODEL_ALPINDALE_GOLIATH_120B = "alpindale/goliath-120b",
- MODEL_OPENROUTER_AUTO = "openrouter/auto",
- MODEL_OPENAI_GPT_3_5_TURBO_1106 = "openai/gpt-3.5-turbo-1106",
- MODEL_OPENAI_GPT_4_1106_PREVIEW = "openai/gpt-4-1106-preview",
- MODEL_GOOGLE_PALM_2_CHAT_BISON_32K = "google/palm-2-chat-bison-32k",
- MODEL_GOOGLE_PALM_2_CODECHAT_BISON_32K = "google/palm-2-codechat-bison-32k",
- MODEL_JONDURBIN_AIROBOROS_L2_70B = "jondurbin/airoboros-l2-70b",
- MODEL_XWIN_LM_XWIN_LM_70B = "xwin-lm/xwin-lm-70b",
- MODEL_OPENAI_GPT_3_5_TURBO_INSTRUCT = "openai/gpt-3.5-turbo-instruct",
- MODEL_MISTRALAI_MISTRAL_7B_INSTRUCT_V0_1 = "mistralai/mistral-7b-instruct-v0.1",
- MODEL_PYGMALIONAI_MYTHALION_13B = "pygmalionai/mythalion-13b",
- MODEL_OPENAI_GPT_3_5_TURBO_16K = "openai/gpt-3.5-turbo-16k",
- MODEL_OPENAI_GPT_4_32K = "openai/gpt-4-32k",
- MODEL_OPENAI_GPT_4_32K_0314 = "openai/gpt-4-32k-0314",
- MODEL_NOUSRESEARCH_NOUS_HERMES_LLAMA2_13B = "nousresearch/nous-hermes-llama2-13b",
- MODEL_MANCER_WEAVER = "mancer/weaver",
- MODEL_HUGGINGFACEH4_ZEPHYR_7B_BETA_FREE = "huggingfaceh4/zephyr-7b-beta:free",
- MODEL_ANTHROPIC_CLAUDE_2_0_BETA = "anthropic/claude-2.0:beta",
- MODEL_ANTHROPIC_CLAUDE_2_0 = "anthropic/claude-2.0",
- MODEL_UNDI95_REMM_SLERP_L2_13B = "undi95/remm-slerp-l2-13b",
- MODEL_GOOGLE_PALM_2_CHAT_BISON = "google/palm-2-chat-bison",
- MODEL_GOOGLE_PALM_2_CODECHAT_BISON = "google/palm-2-codechat-bison",
- MODEL_GRYPHE_MYTHOMAX_L2_13B = "gryphe/mythomax-l2-13b",
- MODEL_META_LLAMA_LLAMA_2_13B_CHAT = "meta-llama/llama-2-13b-chat",
- MODEL_META_LLAMA_LLAMA_2_70B_CHAT = "meta-llama/llama-2-70b-chat",
- MODEL_OPENAI_GPT_3_5_TURBO = "openai/gpt-3.5-turbo",
- MODEL_OPENAI_GPT_3_5_TURBO_0125 = "openai/gpt-3.5-turbo-0125",
- MODEL_OPENAI_GPT_4 = "openai/gpt-4",
- MODEL_OPENAI_GPT_4_0314 = "openai/gpt-4-0314"
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/cache/openrouter.ts.html b/packages/kbot/coverage/kbot/src/models/cache/openrouter.ts.html
deleted file mode 100644
index 3e66a688..00000000
--- a/packages/kbot/coverage/kbot/src/models/cache/openrouter.ts.html
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/cache/openrouter.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1 export const models = [{"id":"deepseek/deepseek-chat","name":"DeepSeek V3","pricing":{"prompt":"0.00000014","completion":"0.00000028","image":"0","request":"0"},"created":1735241320},{"id":"qwen/qvq-72b-preview","name":"Qwen: QvQ 72B Preview","pricing":{"prompt":"0.00000025","completion":"0.0000005","image":"0","request":"0"},"created":1735088567},{"id":"google/gemini-2.0-flash-thinking-exp:free","name":"Google: Gemini 2.0 Flash Thinking Experimental (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1734650026},{"id":"sao10k/l3.3-euryale-70b","name":"Sao10K: Llama 3.3 Euryale 70B","pricing":{"prompt":"0.0000015","completion":"0.0000015","image":"0","request":"0"},"created":1734535928},{"id":"inflatebot/mn-mag-mell-r1","name":"Inflatebot: Mag Mell R1 12B","pricing":{"prompt":"0.0000009","completion":"0.0000009","image":"0","request":"0"},"created":1734535439},{"id":"openai/o1","name":"OpenAI: o1","pricing":{"prompt":"0.000015","completion":"0.00006","image":"0.021675","request":"0"},"created":1734459999},{"id":"eva-unit-01/eva-llama-3.33-70b","name":"EVA Llama 3.33 70b","pricing":{"prompt":"0.000004","completion":"0.000006","image":"0","request":"0"},"created":1734377303},{"id":"x-ai/grok-2-vision-1212","name":"xAI: Grok 2 Vision 1212","pricing":{"prompt":"0.000002","completion":"0.00001","image":"0.0036","request":"0"},"created":1734237338},{"id":"x-ai/grok-2-1212","name":"xAI: Grok 2 1212","pricing":{"prompt":"0.000002","completion":"0.00001","image":"0","request":"0"},"created":1734232814},{"id":"cohere/command-r7b-12-2024","name":"Cohere: Command R7B (12-2024)","pricing":{"prompt":"0.0000000375","completion":"0.00000015","image":"0","request":"0"},"created":1734158152},{"id":"google/gemini-2.0-flash-exp:free","name":"Google: Gemini Flash 2.0 Experimental (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1733937523},{"id":"google/gemini-exp-1206:free","name":"Google: Gemini Experimental 1206 (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1733507713},{"id":"meta-llama/llama-3.3-70b-instruct","name":"Meta: Llama 3.3 70B Instruct","pricing":{"prompt":"0.00000012","completion":"0.0000003","image":"0","request":"0"},"created":1733506137},{"id":"amazon/nova-lite-v1","name":"Amazon: Nova Lite 1.0","pricing":{"prompt":"0.00000006","completion":"0.00000024","image":"0.00009","request":"0"},"created":1733437363},{"id":"amazon/nova-micro-v1","name":"Amazon: Nova Micro 1.0","pricing":{"prompt":"0.000000035","completion":"0.00000014","image":"0","request":"0"},"created":1733437237},{"id":"amazon/nova-pro-v1","name":"Amazon: Nova Pro 1.0","pricing":{"prompt":"0.0000008","completion":"0.0000032","image":"0.0012","request":"0"},"created":1733436303},{"id":"qwen/qwq-32b-preview","name":"Qwen: QwQ 32B Preview","pricing":{"prompt":"0.00000012","completion":"0.00000018","image":"0","request":"0"},"created":1732754541},{"id":"google/gemini-exp-1121:free","name":"Google: Gemini Experimental 1121 (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1732216725},{"id":"google/learnlm-1.5-pro-experimental:free","name":"Google: LearnLM 1.5 Pro Experimental (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1732216551},{"id":"eva-unit-01/eva-qwen-2.5-72b","name":"EVA Qwen2.5 72B","pricing":{"prompt":"0.000004","completion":"0.000006","image":"0","request":"0"},"created":1732210606},{"id":"openai/gpt-4o-2024-11-20","name":"OpenAI: GPT-4o (2024-11-20)","pricing":{"prompt":"0.0000025","completion":"0.00001","image":"0.003613","request":"0"},"created":1732127594},{"id":"mistralai/mistral-large-2411","name":"Mistral Large 2411","pricing":{"prompt":"0.000002","completion":"0.000006","image":"0","request":"0"},"created":1731978685},{"id":"mistralai/mistral-large-2407","name":"Mistral Large 2407","pricing":{"prompt":"0.000002","completion":"0.000006","image":"0","request":"0"},"created":1731978415},{"id":"mistralai/pixtral-large-2411","name":"Mistral: Pixtral Large 2411","pricing":{"prompt":"0.000002","completion":"0.000006","image":"0.002888","request":"0"},"created":1731977388},{"id":"x-ai/grok-vision-beta","name":"xAI: Grok Vision Beta","pricing":{"prompt":"0.000005","completion":"0.000015","image":"0.009","request":"0"},"created":1731976624},{"id":"google/gemini-exp-1114:free","name":"Google: Gemini Experimental 1114 (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1731714740},{"id":"infermatic/mn-inferor-12b","name":"Infermatic: Mistral Nemo Inferor 12B","pricing":{"prompt":"0.00000025","completion":"0.0000005","image":"0","request":"0"},"created":1731464428},{"id":"qwen/qwen-2.5-coder-32b-instruct","name":"Qwen2.5 Coder 32B Instruct","pricing":{"prompt":"0.00000007","completion":"0.00000016","image":"0","request":"0"},"created":1731368400},{"id":"raifle/sorcererlm-8x22b","name":"SorcererLM 8x22B","pricing":{"prompt":"0.0000045","completion":"0.0000045","image":"0","request":"0"},"created":1731105083},{"id":"eva-unit-01/eva-qwen-2.5-32b","name":"EVA Qwen2.5 32B","pricing":{"prompt":"0.0000026","completion":"0.0000034","image":"0","request":"0"},"created":1731104847},{"id":"thedrummer/unslopnemo-12b","name":"Unslopnemo 12b","pricing":{"prompt":"0.0000005","completion":"0.0000005","image":"0","request":"0"},"created":1731103448},{"id":"anthropic/claude-3.5-haiku-20241022:beta","name":"Anthropic: Claude 3.5 Haiku (2024-10-22) (self-moderated)","pricing":{"prompt":"0.0000008","completion":"0.000004","image":"0","request":"0"},"created":1730678400},{"id":"anthropic/claude-3.5-haiku-20241022","name":"Anthropic: Claude 3.5 Haiku (2024-10-22)","pricing":{"prompt":"0.0000008","completion":"0.000004","image":"0","request":"0"},"created":1730678400},{"id":"anthropic/claude-3.5-haiku:beta","name":"Anthropic: Claude 3.5 Haiku (self-moderated)","pricing":{"prompt":"0.0000008","completion":"0.000004","image":"0","request":"0"},"created":1730678400},{"id":"anthropic/claude-3.5-haiku","name":"Anthropic: Claude 3.5 Haiku","pricing":{"prompt":"0.0000008","completion":"0.000004","image":"0","request":"0"},"created":1730678400},{"id":"neversleep/llama-3.1-lumimaid-70b","name":"NeverSleep: Lumimaid v0.2 70B","pricing":{"prompt":"0.000003375","completion":"0.0000045","image":"0","request":"0"},"created":1729555200},{"id":"anthracite-org/magnum-v4-72b","name":"Magnum v4 72B","pricing":{"prompt":"0.000001875","completion":"0.00000225","image":"0","request":"0"},"created":1729555200},{"id":"anthropic/claude-3.5-sonnet:beta","name":"Anthropic: Claude 3.5 Sonnet (self-moderated)","pricing":{"prompt":"0.000003","completion":"0.000015","image":"0.0048","request":"0"},"created":1729555200},{"id":"anthropic/claude-3.5-sonnet","name":"Anthropic: Claude 3.5 Sonnet","pricing":{"prompt":"0.000003","completion":"0.000015","image":"0.0048","request":"0"},"created":1729555200},{"id":"x-ai/grok-beta","name":"xAI: Grok Beta","pricing":{"prompt":"0.000005","completion":"0.000015","image":"0","request":"0"},"created":1729382400},{"id":"mistralai/ministral-8b","name":"Mistral: Ministral 8B","pricing":{"prompt":"0.0000001","completion":"0.0000001","image":"0","request":"0"},"created":1729123200},{"id":"mistralai/ministral-3b","name":"Mistral: Ministral 3B","pricing":{"prompt":"0.00000004","completion":"0.00000004","image":"0","request":"0"},"created":1729123200},{"id":"qwen/qwen-2.5-7b-instruct","name":"Qwen2.5 7B Instruct","pricing":{"prompt":"0.00000027","completion":"0.00000027","image":"0","request":"0"},"created":1729036800},{"id":"nvidia/llama-3.1-nemotron-70b-instruct","name":"NVIDIA: Llama 3.1 Nemotron 70B Instruct","pricing":{"prompt":"0.00000012","completion":"0.0000003","image":"0","request":"0"},"created":1728950400},{"id":"inflection/inflection-3-pi","name":"Inflection: Inflection 3 Pi","pricing":{"prompt":"0.0000025","completion":"0.00001","image":"0","request":"0"},"created":1728604800},{"id":"inflection/inflection-3-productivity","name":"Inflection: Inflection 3 Productivity","pricing":{"prompt":"0.0000025","completion":"0.00001","image":"0","request":"0"},"created":1728604800},{"id":"google/gemini-flash-1.5-8b","name":"Google: Gemini Flash 1.5 8B","pricing":{"prompt":"0.0000000375","completion":"0.00000015","image":"0","request":"0"},"created":1727913600},{"id":"anthracite-org/magnum-v2-72b","name":"Magnum v2 72B","pricing":{"prompt":"0.000003","completion":"0.000003","image":"0","request":"0"},"created":1727654400},{"id":"liquid/lfm-40b","name":"Liquid: LFM 40B MoE","pricing":{"prompt":"0.00000015","completion":"0.00000015","image":"0","request":"0"},"created":1727654400},{"id":"thedrummer/rocinante-12b","name":"Rocinante 12B","pricing":{"prompt":"0.00000025","completion":"0.0000005","image":"0","request":"0"},"created":1727654400},{"id":"meta-llama/llama-3.2-3b-instruct:free","name":"Meta: Llama 3.2 3B Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1727222400},{"id":"meta-llama/llama-3.2-3b-instruct","name":"Meta: Llama 3.2 3B Instruct","pricing":{"prompt":"0.000000015","completion":"0.000000025","image":"0","request":"0"},"created":1727222400},{"id":"meta-llama/llama-3.2-1b-instruct:free","name":"Meta: Llama 3.2 1B Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1727222400},{"id":"meta-llama/llama-3.2-1b-instruct","name":"Meta: Llama 3.2 1B Instruct","pricing":{"prompt":"0.00000001","completion":"0.00000001","image":"0","request":"0"},"created":1727222400},{"id":"meta-llama/llama-3.2-90b-vision-instruct:free","name":"Meta: Llama 3.2 90B Vision Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1727222400},{"id":"meta-llama/llama-3.2-90b-vision-instruct","name":"Meta: Llama 3.2 90B Vision Instruct","pricing":{"prompt":"0.0000009","completion":"0.0000009","image":"0.001301","request":"0"},"created":1727222400},{"id":"meta-llama/llama-3.2-11b-vision-instruct:free","name":"Meta: Llama 3.2 11B Vision Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1727222400},{"id":"meta-llama/llama-3.2-11b-vision-instruct","name":"Meta: Llama 3.2 11B Vision Instruct","pricing":{"prompt":"0.000000055","completion":"0.000000055","image":"0.00007948","request":"0"},"created":1727222400},{"id":"qwen/qwen-2.5-72b-instruct","name":"Qwen2.5 72B Instruct","pricing":{"prompt":"0.00000023","completion":"0.0000004","image":"0","request":"0"},"created":1726704000},{"id":"qwen/qwen-2-vl-72b-instruct","name":"Qwen2-VL 72B Instruct","pricing":{"prompt":"0.0000004","completion":"0.0000004","image":"0.000578","request":"0"},"created":1726617600},{"id":"neversleep/llama-3.1-lumimaid-8b","name":"NeverSleep: Lumimaid v0.2 8B","pricing":{"prompt":"0.0000001875","completion":"0.000001125","image":"0","request":"0"},"created":1726358400},{"id":"openai/o1-mini-2024-09-12","name":"OpenAI: o1-mini (2024-09-12)","pricing":{"prompt":"0.000003","completion":"0.000012","image":"0","request":"0"},"created":1726099200},{"id":"openai/o1-preview","name":"OpenAI: o1-preview","pricing":{"prompt":"0.000015","completion":"0.00006","image":"0","request":"0"},"created":1726099200},{"id":"openai/o1-preview-2024-09-12","name":"OpenAI: o1-preview (2024-09-12)","pricing":{"prompt":"0.000015","completion":"0.00006","image":"0","request":"0"},"created":1726099200},{"id":"openai/o1-mini","name":"OpenAI: o1-mini","pricing":{"prompt":"0.000003","completion":"0.000012","image":"0","request":"0"},"created":1726099200},{"id":"mistralai/pixtral-12b","name":"Mistral: Pixtral 12B","pricing":{"prompt":"0.0000001","completion":"0.0000001","image":"0.0001445","request":"0"},"created":1725926400},{"id":"cohere/command-r-08-2024","name":"Cohere: Command R (08-2024)","pricing":{"prompt":"0.0000001425","completion":"0.00000057","image":"0","request":"0"},"created":1724976000},{"id":"cohere/command-r-plus-08-2024","name":"Cohere: Command R+ (08-2024)","pricing":{"prompt":"0.000002375","completion":"0.0000095","image":"0","request":"0"},"created":1724976000},{"id":"qwen/qwen-2-vl-7b-instruct","name":"Qwen2-VL 7B Instruct","pricing":{"prompt":"0.0000001","completion":"0.0000001","image":"0.0001445","request":"0"},"created":1724803200},{"id":"google/gemini-flash-1.5-exp","name":"Google: Gemini Flash 1.5 Experimental","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1724803200},{"id":"sao10k/l3.1-euryale-70b","name":"Sao10K: Llama 3.1 Euryale 70B v2.2","pricing":{"prompt":"0.00000035","completion":"0.0000004","image":"0","request":"0"},"created":1724803200},{"id":"google/gemini-flash-1.5-8b-exp","name":"Google: Gemini Flash 1.5 8B Experimental","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1724803200},{"id":"ai21/jamba-1-5-large","name":"AI21: Jamba 1.5 Large","pricing":{"prompt":"0.000002","completion":"0.000008","image":"0","request":"0"},"created":1724371200},{"id":"ai21/jamba-1-5-mini","name":"AI21: Jamba 1.5 Mini","pricing":{"prompt":"0.0000002","completion":"0.0000004","image":"0","request":"0"},"created":1724371200},{"id":"microsoft/phi-3.5-mini-128k-instruct","name":"Microsoft: Phi-3.5 Mini 128K Instruct","pricing":{"prompt":"0.0000001","completion":"0.0000001","image":"0","request":"0"},"created":1724198400},{"id":"nousresearch/hermes-3-llama-3.1-70b","name":"Nous: Hermes 3 70B Instruct","pricing":{"prompt":"0.00000012","completion":"0.0000003","image":"0","request":"0"},"created":1723939200},{"id":"nousresearch/hermes-3-llama-3.1-405b","name":"Nous: Hermes 3 405B Instruct","pricing":{"prompt":"0.0000008","completion":"0.0000008","image":"0","request":"0"},"created":1723766400},{"id":"perplexity/llama-3.1-sonar-huge-128k-online","name":"Perplexity: Llama 3.1 Sonar 405B Online","pricing":{"prompt":"0.000005","completion":"0.000005","image":"0","request":"0.005"},"created":1723593600},{"id":"openai/chatgpt-4o-latest","name":"OpenAI: ChatGPT-4o","pricing":{"prompt":"0.000005","completion":"0.000015","image":"0.007225","request":"0"},"created":1723593600},{"id":"sao10k/l3-lunaris-8b","name":"Sao10K: Llama 3 8B Lunaris","pricing":{"prompt":"0.00000003","completion":"0.00000006","image":"0","request":"0"},"created":1723507200},{"id":"aetherwiing/mn-starcannon-12b","name":"Aetherwiing: Starcannon 12B","pricing":{"prompt":"0.0000008","completion":"0.0000012","image":"0","request":"0"},"created":1723507200},{"id":"openai/gpt-4o-2024-08-06","name":"OpenAI: GPT-4o (2024-08-06)","pricing":{"prompt":"0.0000025","completion":"0.00001","image":"0.003613","request":"0"},"created":1722902400},{"id":"meta-llama/llama-3.1-405b","name":"Meta: Llama 3.1 405B (base)","pricing":{"prompt":"0.000002","completion":"0.000002","image":"0","request":"0"},"created":1722556800},{"id":"nothingiisreal/mn-celeste-12b","name":"Mistral Nemo 12B Celeste","pricing":{"prompt":"0.0000008","completion":"0.0000012","image":"0","request":"0"},"created":1722556800},{"id":"perplexity/llama-3.1-sonar-small-128k-chat","name":"Perplexity: Llama 3.1 Sonar 8B","pricing":{"prompt":"0.0000002","completion":"0.0000002","image":"0","request":"0"},"created":1722470400},{"id":"google/gemini-pro-1.5-exp","name":"Google: Gemini Pro 1.5 Experimental","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1722470400},{"id":"perplexity/llama-3.1-sonar-large-128k-chat","name":"Perplexity: Llama 3.1 Sonar 70B","pricing":{"prompt":"0.000001","completion":"0.000001","image":"0","request":"0"},"created":1722470400},{"id":"perplexity/llama-3.1-sonar-large-128k-online","name":"Perplexity: Llama 3.1 Sonar 70B Online","pricing":{"prompt":"0.000001","completion":"0.000001","image":"0","request":"0.005"},"created":1722470400},{"id":"perplexity/llama-3.1-sonar-small-128k-online","name":"Perplexity: Llama 3.1 Sonar 8B Online","pricing":{"prompt":"0.0000002","completion":"0.0000002","image":"0","request":"0.005"},"created":1722470400},{"id":"meta-llama/llama-3.1-405b-instruct:free","name":"Meta: Llama 3.1 405B Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1721692800},{"id":"meta-llama/llama-3.1-405b-instruct","name":"Meta: Llama 3.1 405B Instruct","pricing":{"prompt":"0.0000008","completion":"0.0000008","image":"0","request":"0"},"created":1721692800},{"id":"meta-llama/llama-3.1-405b-instruct:nitro","name":"Meta: Llama 3.1 405B Instruct (nitro)","pricing":{"prompt":"0.00001462","completion":"0.00001462","image":"0","request":"0"},"created":1721692800},{"id":"meta-llama/llama-3.1-8b-instruct:free","name":"Meta: Llama 3.1 8B Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1721692800},{"id":"meta-llama/llama-3.1-8b-instruct","name":"Meta: Llama 3.1 8B Instruct","pricing":{"prompt":"0.00000002","completion":"0.00000005","image":"0","request":"0"},"created":1721692800},{"id":"meta-llama/llama-3.1-70b-instruct:free","name":"Meta: Llama 3.1 70B Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1721692800},{"id":"meta-llama/llama-3.1-70b-instruct","name":"Meta: Llama 3.1 70B Instruct","pricing":{"prompt":"0.00000012","completion":"0.0000003","image":"0","request":"0"},"created":1721692800},{"id":"meta-llama/llama-3.1-70b-instruct:nitro","name":"Meta: Llama 3.1 70B Instruct (nitro)","pricing":{"prompt":"0.00000325","completion":"0.00000325","image":"0","request":"0"},"created":1721692800},{"id":"mistralai/mistral-nemo","name":"Mistral: Mistral Nemo","pricing":{"prompt":"0.000000035","completion":"0.00000008","image":"0","request":"0"},"created":1721347200},{"id":"mistralai/codestral-mamba","name":"Mistral: Codestral Mamba","pricing":{"prompt":"0.00000025","completion":"0.00000025","image":"0","request":"0"},"created":1721347200},{"id":"openai/gpt-4o-mini","name":"OpenAI: GPT-4o-mini","pricing":{"prompt":"0.00000015","completion":"0.0000006","image":"0.007225","request":"0"},"created":1721260800},{"id":"openai/gpt-4o-mini-2024-07-18","name":"OpenAI: GPT-4o-mini (2024-07-18)","pricing":{"prompt":"0.00000015","completion":"0.0000006","image":"0.007225","request":"0"},"created":1721260800},{"id":"qwen/qwen-2-7b-instruct:free","name":"Qwen 2 7B Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1721088000},{"id":"qwen/qwen-2-7b-instruct","name":"Qwen 2 7B Instruct","pricing":{"prompt":"0.000000054","completion":"0.000000054","image":"0","request":"0"},"created":1721088000},{"id":"google/gemma-2-27b-it","name":"Google: Gemma 2 27B","pricing":{"prompt":"0.00000027","completion":"0.00000027","image":"0","request":"0"},"created":1720828800},{"id":"alpindale/magnum-72b","name":"Magnum 72B","pricing":{"prompt":"0.000001875","completion":"0.00000225","image":"0","request":"0"},"created":1720656000},{"id":"google/gemma-2-9b-it:free","name":"Google: Gemma 2 9B (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1719532800},{"id":"google/gemma-2-9b-it","name":"Google: Gemma 2 9B","pricing":{"prompt":"0.00000003","completion":"0.00000006","image":"0","request":"0"},"created":1719532800},{"id":"01-ai/yi-large","name":"01.AI: Yi Large","pricing":{"prompt":"0.000003","completion":"0.000003","image":"0","request":"0"},"created":1719273600},{"id":"ai21/jamba-instruct","name":"AI21: Jamba Instruct","pricing":{"prompt":"0.0000005","completion":"0.0000007","image":"0","request":"0"},"created":1719273600},{"id":"anthropic/claude-3.5-sonnet-20240620:beta","name":"Anthropic: Claude 3.5 Sonnet (2024-06-20) (self-moderated)","pricing":{"prompt":"0.000003","completion":"0.000015","image":"0.0048","request":"0"},"created":1718841600},{"id":"anthropic/claude-3.5-sonnet-20240620","name":"Anthropic: Claude 3.5 Sonnet (2024-06-20)","pricing":{"prompt":"0.000003","completion":"0.000015","image":"0.0048","request":"0"},"created":1718841600},{"id":"sao10k/l3-euryale-70b","name":"Sao10k: Llama 3 Euryale 70B v2.1","pricing":{"prompt":"0.00000035","completion":"0.0000004","image":"0","request":"0"},"created":1718668800},{"id":"cognitivecomputations/dolphin-mixtral-8x22b","name":"Dolphin 2.9.2 Mixtral 8x22B 🐬","pricing":{"prompt":"0.0000009","completion":"0.0000009","image":"0","request":"0"},"created":1717804800},{"id":"qwen/qwen-2-72b-instruct","name":"Qwen 2 72B Instruct","pricing":{"prompt":"0.00000034","completion":"0.00000039","image":"0","request":"0"},"created":1717718400},{"id":"mistralai/mistral-7b-instruct:free","name":"Mistral: Mistral 7B Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1716768000},{"id":"mistralai/mistral-7b-instruct","name":"Mistral: Mistral 7B Instruct","pricing":{"prompt":"0.00000003","completion":"0.000000055","image":"0","request":"0"},"created":1716768000},{"id":"mistralai/mistral-7b-instruct:nitro","name":"Mistral: Mistral 7B Instruct (nitro)","pricing":{"prompt":"0.00000007","completion":"0.00000007","image":"0","request":"0"},"created":1716768000},{"id":"mistralai/mistral-7b-instruct-v0.3","name":"Mistral: Mistral 7B Instruct v0.3","pricing":{"prompt":"0.00000003","completion":"0.000000055","image":"0","request":"0"},"created":1716768000},{"id":"nousresearch/hermes-2-pro-llama-3-8b","name":"NousResearch: Hermes 2 Pro - Llama-3 8B","pricing":{"prompt":"0.000000025","completion":"0.00000004","image":"0","request":"0"},"created":1716768000},{"id":"microsoft/phi-3-mini-128k-instruct:free","name":"Microsoft: Phi-3 Mini 128K Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1716681600},{"id":"microsoft/phi-3-mini-128k-instruct","name":"Microsoft: Phi-3 Mini 128K Instruct","pricing":{"prompt":"0.0000001","completion":"0.0000001","image":"0","request":"0"},"created":1716681600},{"id":"microsoft/phi-3-medium-128k-instruct:free","name":"Microsoft: Phi-3 Medium 128K Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1716508800},{"id":"microsoft/phi-3-medium-128k-instruct","name":"Microsoft: Phi-3 Medium 128K Instruct","pricing":{"prompt":"0.000001","completion":"0.000001","image":"0","request":"0"},"created":1716508800},{"id":"neversleep/llama-3-lumimaid-70b","name":"NeverSleep: Llama 3 Lumimaid 70B","pricing":{"prompt":"0.000003375","completion":"0.0000045","image":"0","request":"0"},"created":1715817600},{"id":"google/gemini-flash-1.5","name":"Google: Gemini Flash 1.5","pricing":{"prompt":"0.000000075","completion":"0.0000003","image":"0.00004","request":"0"},"created":1715644800},{"id":"perplexity/llama-3-sonar-large-32k-chat","name":"Perplexity: Llama3 Sonar 70B","pricing":{"prompt":"0.000001","completion":"0.000001","image":"0","request":"0"},"created":1715644800},{"id":"perplexity/llama-3-sonar-large-32k-online","name":"Perplexity: Llama3 Sonar 70B Online","pricing":{"prompt":"0.000001","completion":"0.000001","image":"0","request":"0.005"},"created":1715644800},{"id":"deepseek/deepseek-chat-v2.5","name":"DeepSeek V2.5","pricing":{"prompt":"0.000002","completion":"0.000002","image":"0","request":"0"},"created":1715644800},{"id":"perplexity/llama-3-sonar-small-32k-chat","name":"Perplexity: Llama3 Sonar 8B","pricing":{"prompt":"0.0000002","completion":"0.0000002","image":"0","request":"0"},"created":1715644800},{"id":"openai/gpt-4o-2024-05-13","name":"OpenAI: GPT-4o (2024-05-13)","pricing":{"prompt":"0.000005","completion":"0.000015","image":"0.007225","request":"0"},"created":1715558400},{"id":"meta-llama/llama-guard-2-8b","name":"Meta: LlamaGuard 2 8B","pricing":{"prompt":"0.00000018","completion":"0.00000018","image":"0","request":"0"},"created":1715558400},{"id":"openai/gpt-4o","name":"OpenAI: GPT-4o","pricing":{"prompt":"0.0000025","completion":"0.00001","image":"0.003613","request":"0"},"created":1715558400},{"id":"openai/gpt-4o:extended","name":"OpenAI: GPT-4o (extended)","pricing":{"prompt":"0.000006","completion":"0.000018","image":"0.007225","request":"0"},"created":1715558400},{"id":"neversleep/llama-3-lumimaid-8b:extended","name":"NeverSleep: Llama 3 Lumimaid 8B (extended)","pricing":{"prompt":"0.0000001875","completion":"0.000001125","image":"0","request":"0"},"created":1714780800},{"id":"neversleep/llama-3-lumimaid-8b","name":"NeverSleep: Llama 3 Lumimaid 8B","pricing":{"prompt":"0.0000001875","completion":"0.000001125","image":"0","request":"0"},"created":1714780800},{"id":"meta-llama/llama-3-8b-instruct:free","name":"Meta: Llama 3 8B Instruct (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1713398400},{"id":"meta-llama/llama-3-8b-instruct","name":"Meta: Llama 3 8B Instruct","pricing":{"prompt":"0.00000003","completion":"0.00000006","image":"0","request":"0"},"created":1713398400},{"id":"meta-llama/llama-3-8b-instruct:extended","name":"Meta: Llama 3 8B Instruct (extended)","pricing":{"prompt":"0.0000001875","completion":"0.000001125","image":"0","request":"0"},"created":1713398400},{"id":"meta-llama/llama-3-8b-instruct:nitro","name":"Meta: Llama 3 8B Instruct (nitro)","pricing":{"prompt":"0.0000002","completion":"0.0000002","image":"0","request":"0"},"created":1713398400},{"id":"meta-llama/llama-3-70b-instruct","name":"Meta: Llama 3 70B Instruct","pricing":{"prompt":"0.00000023","completion":"0.0000004","image":"0","request":"0"},"created":1713398400},{"id":"meta-llama/llama-3-70b-instruct:nitro","name":"Meta: Llama 3 70B Instruct (nitro)","pricing":{"prompt":"0.000000792","completion":"0.000000792","image":"0","request":"0"},"created":1713398400},{"id":"mistralai/mixtral-8x22b-instruct","name":"Mistral: Mixtral 8x22B Instruct","pricing":{"prompt":"0.0000009","completion":"0.0000009","image":"0","request":"0"},"created":1713312000},{"id":"microsoft/wizardlm-2-8x22b","name":"WizardLM-2 8x22B","pricing":{"prompt":"0.0000005","completion":"0.0000005","image":"0","request":"0"},"created":1713225600},{"id":"microsoft/wizardlm-2-7b","name":"WizardLM-2 7B","pricing":{"prompt":"0.000000055","completion":"0.000000055","image":"0","request":"0"},"created":1713225600},{"id":"google/gemini-pro-1.5","name":"Google: Gemini Pro 1.5","pricing":{"prompt":"0.00000125","completion":"0.000005","image":"0.0006575","request":"0"},"created":1712620800},{"id":"openai/gpt-4-turbo","name":"OpenAI: GPT-4 Turbo","pricing":{"prompt":"0.00001","completion":"0.00003","image":"0.01445","request":"0"},"created":1712620800},{"id":"cohere/command-r-plus","name":"Cohere: Command R+","pricing":{"prompt":"0.00000285","completion":"0.00001425","image":"0","request":"0"},"created":1712188800},{"id":"cohere/command-r-plus-04-2024","name":"Cohere: Command R+ (04-2024)","pricing":{"prompt":"0.00000285","completion":"0.00001425","image":"0","request":"0"},"created":1712016000},{"id":"databricks/dbrx-instruct","name":"Databricks: DBRX 132B Instruct","pricing":{"prompt":"0.00000108","completion":"0.00000108","image":"0","request":"0"},"created":1711670400},{"id":"sophosympatheia/midnight-rose-70b","name":"Midnight Rose 70B","pricing":{"prompt":"0.0000008","completion":"0.0000008","image":"0","request":"0"},"created":1711065600},{"id":"cohere/command","name":"Cohere: Command","pricing":{"prompt":"0.00000095","completion":"0.0000019","image":"0","request":"0"},"created":1710374400},{"id":"cohere/command-r","name":"Cohere: Command R","pricing":{"prompt":"0.000000475","completion":"0.000001425","image":"0","request":"0"},"created":1710374400},{"id":"anthropic/claude-3-haiku:beta","name":"Anthropic: Claude 3 Haiku (self-moderated)","pricing":{"prompt":"0.00000025","completion":"0.00000125","image":"0.0004","request":"0"},"created":1710288000},{"id":"anthropic/claude-3-haiku","name":"Anthropic: Claude 3 Haiku","pricing":{"prompt":"0.00000025","completion":"0.00000125","image":"0.0004","request":"0"},"created":1710288000},{"id":"anthropic/claude-3-opus:beta","name":"Anthropic: Claude 3 Opus (self-moderated)","pricing":{"prompt":"0.000015","completion":"0.000075","image":"0.024","request":"0"},"created":1709596800},{"id":"anthropic/claude-3-opus","name":"Anthropic: Claude 3 Opus","pricing":{"prompt":"0.000015","completion":"0.000075","image":"0.024","request":"0"},"created":1709596800},{"id":"anthropic/claude-3-sonnet:beta","name":"Anthropic: Claude 3 Sonnet (self-moderated)","pricing":{"prompt":"0.000003","completion":"0.000015","image":"0.0048","request":"0"},"created":1709596800},{"id":"anthropic/claude-3-sonnet","name":"Anthropic: Claude 3 Sonnet","pricing":{"prompt":"0.000003","completion":"0.000015","image":"0.0048","request":"0"},"created":1709596800},{"id":"cohere/command-r-03-2024","name":"Cohere: Command R (03-2024)","pricing":{"prompt":"0.000000475","completion":"0.000001425","image":"0","request":"0"},"created":1709341200},{"id":"mistralai/mistral-large","name":"Mistral Large","pricing":{"prompt":"0.000002","completion":"0.000006","image":"0","request":"0"},"created":1708905600},{"id":"openai/gpt-3.5-turbo-0613","name":"OpenAI: GPT-3.5 Turbo (older v0613)","pricing":{"prompt":"0.000001","completion":"0.000002","image":"0","request":"0"},"created":1706140800},{"id":"openai/gpt-4-turbo-preview","name":"OpenAI: GPT-4 Turbo Preview","pricing":{"prompt":"0.00001","completion":"0.00003","image":"0","request":"0"},"created":1706140800},{"id":"nousresearch/nous-hermes-2-mixtral-8x7b-dpo","name":"Nous: Hermes 2 Mixtral 8x7B DPO","pricing":{"prompt":"0.00000054","completion":"0.00000054","image":"0","request":"0"},"created":1705363200},{"id":"mistralai/mistral-small","name":"Mistral Small","pricing":{"prompt":"0.0000002","completion":"0.0000006","image":"0","request":"0"},"created":1704844800},{"id":"mistralai/mistral-tiny","name":"Mistral Tiny","pricing":{"prompt":"0.00000025","completion":"0.00000025","image":"0","request":"0"},"created":1704844800},{"id":"mistralai/mistral-medium","name":"Mistral Medium","pricing":{"prompt":"0.00000275","completion":"0.0000081","image":"0","request":"0"},"created":1704844800},{"id":"mistralai/mistral-7b-instruct-v0.2","name":"Mistral: Mistral 7B Instruct v0.2","pricing":{"prompt":"0.00000018","completion":"0.00000018","image":"0","request":"0"},"created":1703721600},{"id":"cognitivecomputations/dolphin-mixtral-8x7b","name":"Dolphin 2.6 Mixtral 8x7B 🐬","pricing":{"prompt":"0.0000005","completion":"0.0000005","image":"0","request":"0"},"created":1703116800},{"id":"google/gemini-pro-vision","name":"Google: Gemini Pro Vision 1.0","pricing":{"prompt":"0.0000005","completion":"0.0000015","image":"0.0025","request":"0"},"created":1702425600},{"id":"google/gemini-pro","name":"Google: Gemini Pro 1.0","pricing":{"prompt":"0.0000005","completion":"0.0000015","image":"0.0025","request":"0"},"created":1702425600},{"id":"mistralai/mixtral-8x7b","name":"Mistral: Mixtral 8x7B (base)","pricing":{"prompt":"0.00000054","completion":"0.00000054","image":"0","request":"0"},"created":1702166400},{"id":"mistralai/mixtral-8x7b-instruct","name":"Mistral: Mixtral 8x7B Instruct","pricing":{"prompt":"0.00000024","completion":"0.00000024","image":"0","request":"0"},"created":1702166400},{"id":"mistralai/mixtral-8x7b-instruct:nitro","name":"Mistral: Mixtral 8x7B Instruct (nitro)","pricing":{"prompt":"0.00000054","completion":"0.00000054","image":"0","request":"0"},"created":1702166400},{"id":"openchat/openchat-7b:free","name":"OpenChat 3.5 7B (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1701129600},{"id":"openchat/openchat-7b","name":"OpenChat 3.5 7B","pricing":{"prompt":"0.000000055","completion":"0.000000055","image":"0","request":"0"},"created":1701129600},{"id":"neversleep/noromaid-20b","name":"Noromaid 20B","pricing":{"prompt":"0.0000015","completion":"0.00000225","image":"0","request":"0"},"created":1700956800},{"id":"anthropic/claude-2:beta","name":"Anthropic: Claude v2 (self-moderated)","pricing":{"prompt":"0.000008","completion":"0.000024","image":"0","request":"0"},"created":1700611200},{"id":"anthropic/claude-2","name":"Anthropic: Claude v2","pricing":{"prompt":"0.000008","completion":"0.000024","image":"0","request":"0"},"created":1700611200},{"id":"anthropic/claude-2.1:beta","name":"Anthropic: Claude v2.1 (self-moderated)","pricing":{"prompt":"0.000008","completion":"0.000024","image":"0","request":"0"},"created":1700611200},{"id":"anthropic/claude-2.1","name":"Anthropic: Claude v2.1","pricing":{"prompt":"0.000008","completion":"0.000024","image":"0","request":"0"},"created":1700611200},{"id":"teknium/openhermes-2.5-mistral-7b","name":"OpenHermes 2.5 Mistral 7B","pricing":{"prompt":"0.00000017","completion":"0.00000017","image":"0","request":"0"},"created":1700438400},{"id":"lizpreciatior/lzlv-70b-fp16-hf","name":"lzlv 70B","pricing":{"prompt":"0.00000035","completion":"0.0000004","image":"0","request":"0"},"created":1699747200},{"id":"undi95/toppy-m-7b:free","name":"Toppy M 7B (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1699574400},{"id":"undi95/toppy-m-7b:nitro","name":"Toppy M 7B (nitro)","pricing":{"prompt":"0.00000007","completion":"0.00000007","image":"0","request":"0"},"created":1699574400},{"id":"undi95/toppy-m-7b","name":"Toppy M 7B","pricing":{"prompt":"0.00000007","completion":"0.00000007","image":"0","request":"0"},"created":1699574400},{"id":"alpindale/goliath-120b","name":"Goliath 120B","pricing":{"prompt":"0.000009375","completion":"0.000009375","image":"0","request":"0"},"created":1699574400},{"id":"openrouter/auto","name":"Auto Router (best for prompt)","pricing":{"prompt":"-1","completion":"-1","request":"-1","image":"-1"},"created":1699401600},{"id":"openai/gpt-3.5-turbo-1106","name":"OpenAI: GPT-3.5 Turbo 16k (older v1106)","pricing":{"prompt":"0.000001","completion":"0.000002","image":"0","request":"0"},"created":1699228800},{"id":"openai/gpt-4-1106-preview","name":"OpenAI: GPT-4 Turbo (older v1106)","pricing":{"prompt":"0.00001","completion":"0.00003","image":"0","request":"0"},"created":1699228800},{"id":"google/palm-2-chat-bison-32k","name":"Google: PaLM 2 Chat 32k","pricing":{"prompt":"0.000001","completion":"0.000002","image":"0","request":"0"},"created":1698969600},{"id":"google/palm-2-codechat-bison-32k","name":"Google: PaLM 2 Code Chat 32k","pricing":{"prompt":"0.000001","completion":"0.000002","image":"0","request":"0"},"created":1698969600},{"id":"jondurbin/airoboros-l2-70b","name":"Airoboros 70B","pricing":{"prompt":"0.0000005","completion":"0.0000005","image":"0","request":"0"},"created":1698537600},{"id":"xwin-lm/xwin-lm-70b","name":"Xwin 70B","pricing":{"prompt":"0.00000375","completion":"0.00000375","image":"0","request":"0"},"created":1697328000},{"id":"openai/gpt-3.5-turbo-instruct","name":"OpenAI: GPT-3.5 Turbo Instruct","pricing":{"prompt":"0.0000015","completion":"0.000002","image":"0","request":"0"},"created":1695859200},{"id":"mistralai/mistral-7b-instruct-v0.1","name":"Mistral: Mistral 7B Instruct v0.1","pricing":{"prompt":"0.00000018","completion":"0.00000018","image":"0","request":"0"},"created":1695859200},{"id":"pygmalionai/mythalion-13b","name":"Pygmalion: Mythalion 13B","pricing":{"prompt":"0.0000008","completion":"0.0000012","image":"0","request":"0"},"created":1693612800},{"id":"openai/gpt-3.5-turbo-16k","name":"OpenAI: GPT-3.5 Turbo 16k","pricing":{"prompt":"0.000003","completion":"0.000004","image":"0","request":"0"},"created":1693180800},{"id":"openai/gpt-4-32k","name":"OpenAI: GPT-4 32k","pricing":{"prompt":"0.00006","completion":"0.00012","image":"0","request":"0"},"created":1693180800},{"id":"openai/gpt-4-32k-0314","name":"OpenAI: GPT-4 32k (older v0314)","pricing":{"prompt":"0.00006","completion":"0.00012","image":"0","request":"0"},"created":1693180800},{"id":"nousresearch/nous-hermes-llama2-13b","name":"Nous: Hermes 13B","pricing":{"prompt":"0.00000017","completion":"0.00000017","image":"0","request":"0"},"created":1692489600},{"id":"mancer/weaver","name":"Mancer: Weaver (alpha)","pricing":{"prompt":"0.0000015","completion":"0.00000225","image":"0","request":"0"},"created":1690934400},{"id":"huggingfaceh4/zephyr-7b-beta:free","name":"Hugging Face: Zephyr 7B (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1690934400},{"id":"anthropic/claude-2.0:beta","name":"Anthropic: Claude v2.0 (self-moderated)","pricing":{"prompt":"0.000008","completion":"0.000024","image":"0","request":"0"},"created":1690502400},{"id":"anthropic/claude-2.0","name":"Anthropic: Claude v2.0","pricing":{"prompt":"0.000008","completion":"0.000024","image":"0","request":"0"},"created":1690502400},{"id":"undi95/remm-slerp-l2-13b","name":"ReMM SLERP 13B","pricing":{"prompt":"0.0000008","completion":"0.0000012","image":"0","request":"0"},"created":1689984000},{"id":"undi95/remm-slerp-l2-13b:extended","name":"ReMM SLERP 13B (extended)","pricing":{"prompt":"0.000001125","completion":"0.000001125","image":"0","request":"0"},"created":1689984000},{"id":"google/palm-2-chat-bison","name":"Google: PaLM 2 Chat","pricing":{"prompt":"0.000001","completion":"0.000002","image":"0","request":"0"},"created":1689811200},{"id":"google/palm-2-codechat-bison","name":"Google: PaLM 2 Code Chat","pricing":{"prompt":"0.000001","completion":"0.000002","image":"0","request":"0"},"created":1689811200},{"id":"gryphe/mythomax-l2-13b:free","name":"MythoMax 13B (free)","pricing":{"prompt":"0","completion":"0","image":"0","request":"0"},"created":1688256000},{"id":"gryphe/mythomax-l2-13b","name":"MythoMax 13B","pricing":{"prompt":"0.000000065","completion":"0.000000065","image":"0","request":"0"},"created":1688256000},{"id":"gryphe/mythomax-l2-13b:nitro","name":"MythoMax 13B (nitro)","pricing":{"prompt":"0.0000002","completion":"0.0000002","image":"0","request":"0"},"created":1688256000},{"id":"gryphe/mythomax-l2-13b:extended","name":"MythoMax 13B (extended)","pricing":{"prompt":"0.000001125","completion":"0.000001125","image":"0","request":"0"},"created":1688256000},{"id":"meta-llama/llama-2-13b-chat","name":"Meta: Llama 2 13B Chat","pricing":{"prompt":"0.000000198","completion":"0.000000198","image":"0","request":"0"},"created":1687219200},{"id":"openai/gpt-3.5-turbo","name":"OpenAI: GPT-3.5 Turbo","pricing":{"prompt":"0.0000005","completion":"0.0000015","image":"0","request":"0"},"created":1685232000},{"id":"openai/gpt-3.5-turbo-0125","name":"OpenAI: GPT-3.5 Turbo 16k","pricing":{"prompt":"0.0000005","completion":"0.0000015","image":"0","request":"0"},"created":1685232000},{"id":"openai/gpt-4","name":"OpenAI: GPT-4","pricing":{"prompt":"0.00003","completion":"0.00006","image":"0","request":"0"},"created":1685232000},{"id":"openai/gpt-4-0314","name":"OpenAI: GPT-4 (older v0314)","pricing":{"prompt":"0.00003","completion":"0.00006","image":"0","request":"0"},"created":1685232000}]
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/index.html b/packages/kbot/coverage/kbot/src/models/index.html
deleted file mode 100644
index dc9c30c5..00000000
--- a/packages/kbot/coverage/kbot/src/models/index.html
+++ /dev/null
@@ -1,146 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/198
-
-
-
-
- 0%
- Branches
- 0/3
-
-
-
-
- 0%
- Functions
- 0/3
-
-
-
-
- 0%
- Lines
- 0/198
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- index.ts
-
-
-
- 0%
- 0/79
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/79
-
-
-
- openai.ts
-
-
-
- 0%
- 0/49
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/49
-
-
-
- openrouter.ts
-
-
-
- 0%
- 0/70
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/70
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/index.ts.html b/packages/kbot/coverage/kbot/src/models/index.ts.html
deleted file mode 100644
index 010f5e0c..00000000
--- a/packages/kbot/coverage/kbot/src/models/index.ts.html
+++ /dev/null
@@ -1,394 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/index.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/79
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/79
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import chalk from 'chalk'
-import * as path from 'node:path'
-import { sync as read } from '@polymech/fs/read'
-import { sync as exists } from '@polymech/fs/exists'
-
-import { logger, module_root } from '../index.js'
-import { CACHE_PATH as OPENROUTER_CACHE_PATH, CachedModels as OpenRouterCachedModels, fetchOpenRouterModels, listModelsAsStrings as listOpenRouterModelsAsStrings } from './openrouter.js'
-import { CACHE_PATH as OPENAI_CACHE_PATH, CachedModels as OpenAICachedModels, listModelsAsStrings as listOpenAIModelsAsStrings } from './openai.js'
-
-import { fetchOpenAIModels } from '../models/openai.js'
-import { CONFIG_DEFAULT } from '@polymech/commons'
-
-import { models as OpenAIModels } from './cache/openai.js'
-import { models as OpenRouterModels } from './cache/openrouter.js'
-
-export const models_dist = () => {
-
- let or_models = OpenRouterModels
- let oai_models = OpenAIModels
- let deepseek_models = [
- {
- "id": "deepseek-chat",
- "name": "deepseek-chat"
- },
- {
- "id": "deepseek-reasoner",
- "name": "deepseek-reasoner"
- },
- ]
-
- const modelsOpenAIPath = path.resolve(module_root(), 'openai.json')
- if (exists(modelsOpenAIPath)) {
- oai_models = read(modelsOpenAIPath, 'json') as any
- }
-
- const modelsRouterPath = path.resolve(module_root(), 'openrouter.json')
- if (exists(modelsRouterPath)) {
- or_models = read(modelsRouterPath, 'json') as any
- }
- const models: string[] = []
- models.push(chalk.magenta.bold('\n OpenRouter models:\n'))
- models.push(...listOpenRouterModelsAsStrings(or_models as any))
-
- models.push(chalk.magenta.bold('\n OpenAI models:\n'))
- models.push(...listOpenAIModelsAsStrings(oai_models as any))
- models.push('-----\n')
-
- models.push(chalk.magenta.bold('\n Deepseek models:\n'))
- models.push(...listOpenAIModelsAsStrings(deepseek_models as any))
- models.push('-----\n')
- return models
-}
-
-export const models = () => {
- const models: string[] = []
- const openRouterPath = path.resolve(OPENROUTER_CACHE_PATH)
- if (!exists(openRouterPath)) {
- fetchOpenRouterModels()
- }else{
- const modelData: OpenRouterCachedModels = read(openRouterPath, 'json') as OpenRouterCachedModels
- models.push(chalk.magenta.bold('\n OpenRouter models:\n'))
- models.push(...listOpenRouterModelsAsStrings(modelData.models))
- }
- logger.debug('Openrouter models cache: ', OPENAI_CACHE_PATH)
-
- const openAIPath = path.resolve(OPENAI_CACHE_PATH)
- const config = CONFIG_DEFAULT() as any
- if (!exists(openAIPath) && config?.openai?.key) {
- fetchOpenAIModels(config.openai.key)
- }
-
- if (exists(openAIPath)) {
- const modelData: OpenAICachedModels = read(openAIPath, 'json') as OpenAICachedModels
- models.push(chalk.magenta.bold('\n OpenAI models:\n'))
- models.push(...listOpenAIModelsAsStrings(modelData.models))
- }
- logger.debug('OpenAI models cache: ', OPENAI_CACHE_PATH)
- models.push('-----\n')
- return models
-}
-
-export const all = () => {
- let models: any[] = []
- const openRouterPath = path.resolve(OPENROUTER_CACHE_PATH)
- if (!exists(openRouterPath)) {
- fetchOpenRouterModels()
- }else{
- const modelData: OpenRouterCachedModels = read(openRouterPath, 'json') as OpenRouterCachedModels
- models = models.concat(modelData.models)
- }
- const openAIPath = path.resolve(OPENAI_CACHE_PATH)
- const config = CONFIG_DEFAULT() as any
- if (!exists(openAIPath) && config?.openai?.key) {
- fetchOpenAIModels(config.openai.key)
- }
-
- if (exists(openAIPath)) {
- const modelData: OpenAICachedModels = read(openAIPath, 'json') as OpenAICachedModels
- models.push(chalk.magenta.bold('\n OpenAI models:\n'))
- models = models.concat(modelData.models)
- }
- return models
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/openai.ts.html b/packages/kbot/coverage/kbot/src/models/openai.ts.html
deleted file mode 100644
index 93f7cb6e..00000000
--- a/packages/kbot/coverage/kbot/src/models/openai.ts.html
+++ /dev/null
@@ -1,295 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/openai.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/49
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/49
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import OpenAI from 'openai'
-import * as path from 'node:path'
-import { sync as exists } from '@polymech/fs/exists'
-import { sync as read } from '@polymech/fs/read'
-import { sync as write } from '@polymech/fs/write'
-
-import { logger } from '../index.js'
-
-interface OpenAIModel {
- id: string;
- created: number;
- owned_by: string;
- root?: string;
- parent?: string | null;
-}
-export interface CachedModels {
- timestamp: number;
- models: OpenAIModel[];
-}
-import { fileURLToPath } from 'node:url';
-//export const CACHE_PATH = path.resolve(path.join(path.parse(__filename).dir), 'data', 'openrouter_models.json')
-const __dirname = fileURLToPath(new URL('.', import.meta.url));
-export const CACHE_PATH = path.resolve(path.join(path.parse(__dirname).dir, 'data', 'openai_models.json'))
-
-const CACHE_DURATION = 24 * 60 * 60 * 1000
-
-async function readFromCache(cachePath: string = CACHE_PATH): Promise<OpenAIModel[] | null> {
- try {
- if (!exists(cachePath)) {
- return null
- }
- const cacheData = read(cachePath) as CachedModels
- const now = Date.now()
- if (now - cacheData.timestamp > CACHE_DURATION) {
- //return null
- }
- return cacheData.models
- } catch (error) {
- logger.error('Error reading from cache:', error)
- return null
- }
-}
-function writeToCache(models: OpenAIModel[], cachePath: string = CACHE_PATH): void {
- try {
- const cacheData: CachedModels = {
- timestamp: Date.now(),
- models
- }
- write(cachePath, cacheData)
- } catch (error) {
- logger.error('Error writing to cache:', error)
- }
-}
-export async function fetchOpenAIModels(apiKey: string, cachePath: string = CACHE_PATH): Promise<OpenAIModel[]> {
- try {
- const openai = new OpenAI({ apiKey })
- const response = await openai.models.list()
- const models = response.data
- logger.info(`Fetched ${models.length} OpenAI models, to ${cachePath}`)
- writeToCache(models, cachePath)
- return models
- } catch (error) {
- logger.error('Error fetching OpenAI models:', error)
- throw error
- }
-}
-export function listModelsAsStrings(models: OpenAIModel[]): string[] {
- models = models.sort((a, b) => a.id.localeCompare(b.id))
- return models.map((model) => `${model.id}`);
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/models/openrouter.ts.html b/packages/kbot/coverage/kbot/src/models/openrouter.ts.html
deleted file mode 100644
index 15cf1970..00000000
--- a/packages/kbot/coverage/kbot/src/models/openrouter.ts.html
+++ /dev/null
@@ -1,457 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/models/openrouter.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/70
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/70
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import axios from 'axios'
-import * as path from 'node:path';
-
-import { sync as exists } from '@polymech/fs/exists'
-import { sync as read } from '@polymech/fs/read'
-import { sync as write } from '@polymech/fs/write'
-
-import { logger } from '../index.js'
-
-interface ModelPricing {
- prompt: number;
- completion: number;
- image: number;
-}
-
-interface ModelContext {
- max_tokens: number;
- supported_parameters: string[];
-}
-
-interface TopProvider {
- context_length: number;
- max_completion_tokens: number | null;
- is_moderated: boolean;
- supports_functions?: boolean;
- supports_function_calling?: boolean;
- supports_tools?: boolean;
-}
-
-export interface OpenRouterModel {
- id: string;
- name: string;
- description: string;
- pricing: ModelPricing;
- context: ModelContext;
- created: number;
- top_provider?: TopProvider;
-}
-
-interface OpenRouterResponse {
- data: OpenRouterModel[];
-}
-
-export interface CachedModels {
- timestamp: number;
- models: OpenRouterModel[];
-}
-
-import { fileURLToPath } from 'node:url';
-//export const CACHE_PATH = path.resolve(path.join(path.parse(__filename).dir), 'data', 'openrouter_models.json')
-const __dirname = fileURLToPath(new URL('.', import.meta.url));
-export const CACHE_PATH = path.resolve(path.join(path.parse(__dirname).dir, 'data', 'openrouter_models.json'))
-const CACHE_DURATION = 24 * 60 * 60 * 1000; // 24 hours in milliseconds
-
-export const readFromCache = (cachePath: string = CACHE_PATH): Promise<OpenRouterModel[] | null> => {
- try {
- if (!exists(cachePath)) {
- return null
- }
- const cacheData = read(cachePath, 'json') as CachedModels;
- const now = Date.now();
- if (now - cacheData.timestamp > CACHE_DURATION) {
- //return null
- }
- return cacheData.models as any;
- } catch (error) {
- logger.error('Error reading from cache:', error)
- return null;
- }
-}
-function writeToCache(models: OpenRouterModel[], cachePath: string = CACHE_PATH): void {
- const cacheData: CachedModels = {
- timestamp: Date.now(),
- models
- };
- write(cachePath, cacheData)
-}
-
-export const fetchOpenRouterModels = async (cachePath: string = CACHE_PATH): Promise<OpenRouterModel[]> => {
- try {
- // If no cache or expired, fetch from API
- const response = await axios.get<OpenRouterResponse>(
- 'https://openrouter.ai/api/v1/models',
- {
- params: {
- // supported_parameters: 'tools'
- }
- }
- )
- writeToCache(response.data.data)
- logger.debug(`Fetched ${response.data.data.length} OpenRouter models to ${cachePath}`)
- return response.data.data as any[]
- } catch (error) {
- logger.error('Error fetching OpenRouter models:', error)
- throw error;
- }
-}
-
-export function findFreeModels(models: OpenRouterModel[]): OpenRouterModel[] {
- return models.filter(
- (model) =>
- model.pricing.prompt === 0 &&
- model.pricing.completion === 0 &&
- model.pricing.image === 0
- );
-}
-export function findFreePromptModels(models: OpenRouterModel[]): OpenRouterModel[] {
- return models.filter((model) => model.pricing.prompt === 0);
-}
-
-export function findFreeCompletionModels(models: OpenRouterModel[]): OpenRouterModel[] {
- return models.filter((model) => model.pricing.completion === 0);
-}
-
-export function findFreeImageModels(models: OpenRouterModel[]): OpenRouterModel[] {
- return models.filter((model) => model.pricing.image === 0);
-}
-export function listModelsAsStrings(models: OpenRouterModel[]): string[] {
- models = models.sort((a, b) => a.name.localeCompare(b.name))
- return models.map((model) => {
- const isFree = model.name.includes('free')
- return `${model.id} | ${isFree ? 'free' : 'paid'}`
- })
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/profile.ts.html b/packages/kbot/coverage/kbot/src/profile.ts.html
deleted file mode 100644
index d48d90d0..00000000
--- a/packages/kbot/coverage/kbot/src/profile.ts.html
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/profile.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/17
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/17
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-
-import { isFile, resolve } from '@polymech/commons'
-import { sync as exists } from '@polymech/fs/exists'
-import { IProfile, parse } from '@polymech/commons'
-
-import { IKBotTask } from '@polymech/ai-tools'
-
-import { env_vars } from './utils/env.js'
-
-const testPath = (profilePath: string) => {
- if(!profilePath){
- return
- }
- const ret= path.resolve(resolve(profilePath, false, env_vars()))
- if(exists(ret)) return ret
-}
-
-export const load = async (options: IKBotTask): Promise<Record<string, string>> => {
- let profile: IProfile = { includes: [], variables: options.variables || {}, env: {} }
- let profilePath = testPath(options.profile || path.join(options.logs as string, 'profile.json'))
- if(!profilePath || !exists(profilePath) || !isFile(profilePath)){
- return profile.variables
- }
- profile = parse(profilePath, profile, { env: options.env || 'default' }) || profile
- return profile.variables
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/prompt.ts.html b/packages/kbot/coverage/kbot/src/prompt.ts.html
deleted file mode 100644
index 8d10c5b6..00000000
--- a/packages/kbot/coverage/kbot/src/prompt.ts.html
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/prompt.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/21
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/21
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { IKBotTask } from '@polymech/ai-tools'
-
-import { ChatCompletionMessageParam } from 'openai/resources/index.mjs'
-
-import { sync as read } from '@polymech/fs/read'
-import { sync as exists } from '@polymech/fs/exists'
-import { resolve } from '@polymech/commons'
-import * as path from 'node:path'
-
-import { resolveQuery } from './utils/input.js'
-import { env_vars } from './utils/env.js'
-import { PREFERENCES_FILE_NAME } from './constants.js'
-
-export const prompt = async (opts: IKBotTask): Promise<ChatCompletionMessageParam | undefined> => {
- const input = await resolveQuery(opts)
- return {
- role: "user",
- content: input || ''
- }
-}
-
-export const preferences = async (opts: IKBotTask): Promise<ChatCompletionMessageParam | undefined> => {
- // First try local preferences
- let preferencesPath = path.resolve(path.join(process.cwd(), PREFERENCES_FILE_NAME))
- if (!exists(preferencesPath)) {
- // Fall back to specified preferences path if local file doesn't exist
- preferencesPath = path.resolve(resolve(opts.preferences, false, env_vars()))
- }
- const preferences = read(preferencesPath, 'string') as string
- return {
- role: "user",
- content: `USER Preferences : ${preferences}` || ''
- }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/reference/index.html b/packages/kbot/coverage/kbot/src/reference/index.html
deleted file mode 100644
index 876d636a..00000000
--- a/packages/kbot/coverage/kbot/src/reference/index.html
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/reference
-
-
-
-
-
-
-
-
-
-
-
-
All files kbot/src/reference
-
-
-
- 0%
- Statements
- 0/219
-
-
-
-
- 0%
- Branches
- 0/2
-
-
-
-
- 0%
- Functions
- 0/2
-
-
-
-
- 0%
- Lines
- 0/219
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- translate_commons.ts
-
-
-
- 0%
- 0/175
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/175
-
-
-
- translate_xls.ts
-
-
-
- 0%
- 0/44
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/44
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/reference/translate_commons.ts.html b/packages/kbot/coverage/kbot/src/reference/translate_commons.ts.html
deleted file mode 100644
index f54446e3..00000000
--- a/packages/kbot/coverage/kbot/src/reference/translate_commons.ts.html
+++ /dev/null
@@ -1,697 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/reference/translate_commons.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/175
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/175
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'path'
-import { isString, isArray, isObject, isNumber } from '@polymech/core/primitives'
-import { sync as read } from "@polymech/fs/read"
-import { sync as write } from "@polymech/fs/write"
-import { minify as minify_html } from 'html-minifier-terser'
-
-import { IOptions, TranslateFilter } from '../types.js'
-import { store, get } from './store.js'
-import * as deepl from './deepl.js'
-
-const minify = false
-
-import {
- defaultFilters,
- defaultOptions,
- transformObject,
- TransformOptions,
- testFilters
-} from '../async-iterator.js'
-
-import { update } from './glossary.js'
-
-import { createLogger } from '@polymech/log'
-export let logger = createLogger('i18n')
-
-export const clean = (text: string = "") => text.trim()
-export const extension = (file: string) => path.parse(file).ext
-
-export const getTranslation = (translations: any, all: boolean = false) => {
- if (!all) {
- if (translations && translations[0] && translations[0].text) {
- return translations[0].text
- }
- } else {
- return translations
- }
- return false
-}
-export const storeSet = (storePath: string, text: string, translation: string, file: string = '') => {
- const store = read(storePath, 'json') || {}
- store[text] = clean(translation)
- write(storePath, store)
-}
-export const storeGet = (storePath: string, text: string, file: string = '') => {
- const db = read(storePath, 'json') || {}
- if (db[text]) {
- return db[text]
- }
-}
-export const translateObjectAIT = async (obj: any, src: string, options: IOptions) => {
- const opts: TransformOptions = defaultOptions({
- throttleDelay: 100,
- concurrentTasks: 1,
- path: options.query,
- filterCallback: testFilters(
- defaultFilters([
- async (input) => !options.keys.includes(input)
- ])
- ),
- transform: async (input: string, path: string) => {
- if ((isNumber(input) || parseInt(input))) {
- return input
- }
- const stored = get(options.store, input as string, options)
- if (stored) {
- return stored
- }
- const translated = await _translate(input, src, options)
- if (translated) {
- if (options.store) {
- store(options.store, input, translated, options)
- }
- return translated
- }
- return input
- },
- errorCallback: (path: string, value: string, error: any) => {
- logger.error(`Error at path: ${path}, value: ${value}, error: ${error}`)
- return value
- }
- } as TransformOptions)
- try {
- await transformObject(obj, opts.transform, opts.path, opts.throttleDelay, opts.concurrentTasks, opts.errorCallback, opts.filterCallback)
- return obj
- } catch (error) {
- logger.error('Translation failed:', error)
- }
-}
-export const translateDeepL = async (
- text: string,
- srcLang: string = 'EN',
- dstLang: string = 'DE',
- dOptions: deepl.IDeepLOptions,
- options: IOptions = {},
- file: string = '') => {
-
- if (minify) {
- text = await minify_html(text, {
- collapseWhitespace: true
- })
- }
- let glossary
- try {
- glossary = await update(srcLang.toLowerCase(), dstLang.toLowerCase(), options)
- } catch (e) {
- logger.warn('Error updating glossary', e.message)
- }
- const deeplOptions = {
- preserve_formatting: '1',
- tag_handling: ["xml"],
- ...dOptions,
- text: text,
- target_lang: dstLang as deepl.DeepLLanguages,
- source_lang: srcLang as deepl.DeepLLanguages,
- formality: options.formality || 'default',
- } as deepl.IDeepLOptions
-
- if (glossary && glossary.glossaryId) {
- deeplOptions.glossary_id = glossary.glossaryId
- }
- // logger.info('Translate:', deeplOptions)
- let ret: any = await deepl.translate_deepl(deeplOptions) as deepl.IDeepLResponse
- if (!ret) {
- logger.error('Translate failed : ' + text, file)
- return false
- }
- ret = ret?.data
- if (options.filters) {
- (ret.translations).forEach((t, i) => {
- (options.filters as TranslateFilter[]).forEach((f) => {
- ret.translations[i].text = f(text, t.text, file)
- })
- })
- }
- return ret.translations
-}
-const _translate = async (value: string, src: string, options: IOptions) => {
-
- const translations = await translateDeepL(value as string, options.srcLang, options.dstLang,
- {
- auth_key: options.api_key,
- formality: options.formality || 'default',
- free_api: false
- } as any, options, src)
-
- return getTranslation(translations)
-}
-export const translateObject = async (obj: any, src: string, options: IOptions) => {
- if (isNumber(obj)) {
- return obj
- }
- if (isString(obj) && !obj.trim().length) {
- return obj
- }
-
- if (isString(obj) && options.store) {
- const stored = get(options.store, obj as string, options)
- if (stored && options.cache) {
- return stored
- }
- const ret = await _translate(obj as string, src, options)
- if (ret && options.store) {
- store(options.store, obj, ret, options)
- return ret
- } else {
- console.error('Error translating : ', obj)
- }
- return obj
- }
- if (isObject(obj) || isArray(obj)) {
- for await (const [key, value] of Object.entries(obj)) {
- if (!obj[key]) {
- continue
- }
- if (!isString(key)) {
- continue
- }
- if (isString(value) && options.keys && !options.keys.includes(key)) {
- continue
- }
- if (isString(value)) {
- const stored = get(options.store, value as string, options)
- if (stored && options.cache) {
- obj[key] = stored
- } else {
- obj[key] = await _translate(value as string, src, options)
- if (options.store) {
- store(options.store, value, obj[key], options)
- }
- }
- } else if (isObject(value)) {
- obj[key] = await translateObject(value, src, options)
- } else if (isArray(value)) {
- let i = 0
- for await (const v of value) {
- if (!v) continue
- value[i] = await translateObject(v, src, options)
- i++
- }
- }
- }
- }
- return obj
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/reference/translate_xls.ts.html b/packages/kbot/coverage/kbot/src/reference/translate_xls.ts.html
deleted file mode 100644
index 18eb281a..00000000
--- a/packages/kbot/coverage/kbot/src/reference/translate_xls.ts.html
+++ /dev/null
@@ -1,253 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/reference/translate_xls.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/44
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/44
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'path'
-import { JSONPath } from 'jsonpath-plus'
-import { get_cached, set_cached } from '@polymech/cache'
-import XLSX from 'xlsx'
-import { OSR_CACHE } from '@polymech/commons'
-import { sync as read } from "@polymech/fs/read"
-import { sync as exists } from "@polymech/fs/exists"
-import { sync as mkdir } from "@polymech/fs/dir"
-import { MODULE_NAME } from '../constants.js'
-import { IOptions } from '../types.js'
-import { logger, translateObjectAIT } from './translate_commons.js'
-
-export const translateXLS = async (src: string, dst: string, options: IOptions) => {
- logger.debug(`Translating ${src} to ${dst}`)
- if (!exists(src)) {
- logger.error(`Translating ${src} : not found`)
- return
- }
- const dstDir = path.parse(dst).dir
- mkdir(dstDir)
- const osr_cache = OSR_CACHE()
- const cached = await get_cached(src, { keys: options.keys }, MODULE_NAME)
- if (osr_cache && cached && options.cache && exists(dst)) {
- return cached
- }
- const data = read(src, 'buffer') as Buffer
- const workbook = XLSX.read(data)
- const worksheet = workbook.Sheets[workbook.SheetNames[0]];
- const raw_data: any[] = XLSX.utils.sheet_to_json(worksheet, { header: 1, blankrows: false, raw: false, skipHidden: true });
- const queryResult = JSONPath(
- {
- path: options.query,
- json: raw_data,
-
- })
- let translated
- try {
- translated = await translateObjectAIT(raw_data, src, {
- ...options,
- keys: queryResult
- })
- } catch (error) {
- logger.error(`Error translating XLSX ${src}`, error)
- return
- }
- if (!translated) {
- logger.error(`Error translating XLSX ${src}`)
- return
- }
- const sheetOut = XLSX.utils.json_to_sheet(translated, { skipHeader: true })
- const workbookOut = XLSX.utils.book_new()
- XLSX.utils.book_append_sheet(workbookOut, sheetOut, workbook.SheetNames[0])
- XLSX.writeFileXLSX(workbookOut, dst)
- osr_cache && options.cache && await set_cached(src, { keys: options.keys }, MODULE_NAME, translated)
- return dst
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/source.ts.html b/packages/kbot/coverage/kbot/src/source.ts.html
deleted file mode 100644
index 28faadaa..00000000
--- a/packages/kbot/coverage/kbot/src/source.ts.html
+++ /dev/null
@@ -1,700 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/source.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/157
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/157
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import * as fs from 'node:fs'
-import { sync as read } from '@polymech/fs/read'
-import { sync as dir } from '@polymech/fs/dir'
-
-import { createItem as toNode } from '@polymech/fs/inspect'
-import { sync as exists } from '@polymech/fs/exists'
-import { isFile, forward_slash } from '@polymech/commons'
-import { logger } from './index.js'
-import { lookup } from 'mime-types'
-import { globSync } from 'glob'
-import { EXCLUDE_GLOB, MAX_FILE_SIZE } from './constants.js'
-import { defaultMimeRegistry, IHandlerResult } from './mime-handlers.js'
-import { ChatCompletionContentPartImage } from 'openai/resources/index.mjs'
-import { IKBotTask, ICollector } from '@polymech/ai-tools'
-import { supported } from './commands/run-assistant.js'
-import { handleWebUrl } from './http.js'
-
-/**
- * @todos
- * - add support for vector stores : https://platform.openai.com/docs/assistants/tools/file-search?lang=node.js
- */
-
-export const default_filters = {
- isFile,
- exists,
- size: (filePath: string) => toNode(filePath).size < MAX_FILE_SIZE,
-};
-
-const isPathInside = (childPath: string, parentPath: string): boolean => {
- const relation = path.relative(parentPath, childPath);
- return Boolean(
- relation &&
- !relation.startsWith('..') &&
- !relation.startsWith('..' + path.sep)
- );
-};
-
-export const isPathOutsideSafe = (pathA: string, pathB: string): boolean => {
- const realA = fs.realpathSync(pathA);
- const realB = fs.realpathSync(pathB);
- return !isPathInside(realA, realB);
-};
-
-export const base64 = (filePath: string): string | null => {
- try {
- const fileBuffer = fs.readFileSync(filePath);
- const mimeType = lookup(filePath);
- if (!mimeType) {
- throw new Error('Unable to determine MIME type.');
- }
- const base64Data = fileBuffer.toString('base64');
- return `data:${mimeType};base64,${base64Data}`;
- } catch (error) {
- logger.error('fileToBase64 : Error reading file:', error);
- return null;
- }
-};
-
-export const images = (files: string[]): ChatCompletionContentPartImage[] => {
- return files.map((f) => ({
- type: "image_url",
- image_url: { url: base64(f) }
- }))
-}
-
-/**
- * Check if a string is a web URL
- */
-export const isWebUrl = (str: string): boolean => {
- return /^https?:\/\//.test(str);
-}
-
-export const glob = (
- projectPath: string,
- include: string[] = []
-): { files: string[], webUrls: Set<string> } => {
- if (!exists(projectPath)) {
- dir(projectPath)
- return { files: [], webUrls: new Set<string>() }
- }
-
- const filters = new Set<string>()
- const absolutePaths = new Set<string>()
- const webUrls = new Set<string>()
-
- EXCLUDE_GLOB.forEach(pattern => filters.add(pattern))
-
- include.forEach(pattern => {
- // Check if the pattern is a web URL
- if (isWebUrl(pattern)) {
- webUrls.add(pattern)
- return
- }
-
- if (path.isAbsolute(pattern)) {
- if (isPathInside(pattern, projectPath)) {
- filters.add(pattern)
- } else {
- absolutePaths.add(pattern)
- }
- } else {
- filters.add(pattern)
- }
- })
-
- const globFiles = globSync([...filters], {
- cwd: projectPath,
- absolute: false,
- ignore: EXCLUDE_GLOB
- })
-
- const allFiles = Array.from(new Set([
- ...globFiles.map(file => path.join(projectPath, file)),
- ...Array.from(absolutePaths)
- ]))
-
- let files = allFiles.filter((f) =>
- Object.keys(default_filters).every((key) => default_filters[key](f))
- )
- return { files, webUrls }
-}
-
-export async function get(
- projectPath: string,
- include: string[] = [],
- options: IKBotTask
-): Promise<Array<IHandlerResult>> {
- const { files, webUrls } = glob(projectPath, include)
-
- // Process file contents
- const fileResults = files.map((fullPath) => {
- try {
- const relativePath = forward_slash(path.relative(projectPath, fullPath))
- if (isFile(fullPath) && exists(fullPath)) {
- const mimeType = lookup(fullPath) || 'text/plain'
- const handler = defaultMimeRegistry.getHandler(mimeType)
- if (handler) {
- return handler.handle(fullPath, relativePath)
- }
- return defaultMimeRegistry.getHandler('text/*')?.handle(fullPath, relativePath) || null
- }
- return null
- } catch (error) {
- logger.error(`Error reading file ${fullPath}:`, error)
- return null
- }
- })
-
- // Process web URLs
- const webUrlPromises = Array.from(webUrls).map(async (url: string) => {
- try {
- return await handleWebUrl(url)
- } catch (error) {
- logger.error(`Error processing web URL ${url}:`, error)
- return null
- }
- })
-
- const webResults = await Promise.all(webUrlPromises)
-
- // Combine and filter results
- const results = [...fileResults, ...webResults].filter((r) => r !== null)
- return results
-}
-
-export async function vectorize(file: string, options: IKBotTask): Promise<string> {
- if (!options.client) {
- throw new Error('OpenAI client is required for vectorization')
- }
-
- const ext = path.extname(file).toLowerCase()
- if (!(ext in supported)) {
- throw new Error(`Unsupported file format: ${ext}. Supported formats: ${Object.keys(supported).join(', ')}`)
- }
-
- try {
- // Create a vector store
- const vectorStore = await options.client.vectorStores.create({
- name: path.basename(file)
- })
-
- // Upload file to vector store
- const fileStream = fs.createReadStream(file)
- await options.client.vectorStores.fileBatches.uploadAndPoll(vectorStore.id, {
- files: [fileStream]
- })
-
- // Create meta file path by appending .meta.json to the original file path
- const metaPath = `${file}.meta.json`
- const metaData = {
- vectorStoreId: vectorStore.id,
- vectorizedAt: new Date().toISOString(),
- originalPath: file,
- mimeType: supported[ext]
- }
-
- // Write meta data to file
- fs.writeFileSync(metaPath, JSON.stringify(metaData, null, 2))
-
- return vectorStore.id
- } catch (error) {
- logger.error(`Failed to vectorize file ${file}:`, error)
- throw error
- }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/splitter.ts.html b/packages/kbot/coverage/kbot/src/splitter.ts.html
deleted file mode 100644
index da2e3376..00000000
--- a/packages/kbot/coverage/kbot/src/splitter.ts.html
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/splitter.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/1
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/1
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- export const foo = 2
-
-/*
-import { Document } from "@langchain/core/documents";
-import {
- CharacterTextSplitter,
- LatexTextSplitter,
- MarkdownTextSplitter,
- RecursiveCharacterTextSplitter,
- TokenTextSplitter,
-} from "@langchain/textsplitters"
-
-/*
-
-export const splitter_text = async (text: string, options: any) => {
-
- const splitter = new CharacterTextSplitter({
- separator: " ",
- chunkSize: 7,
- chunkOverlap: 3,
- });
- const output = await splitter.splitText(text);
-}
-
-export const splitter_md = async (text: string, options: any) => {
-
- const splitter = new MarkdownTextSplitter({
- chunkSize: 60,
- chunkOverlap: 3,
- });
- const output = await splitter.splitText(text);
-}
-*/
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/tools.ts.html b/packages/kbot/coverage/kbot/src/tools.ts.html
deleted file mode 100644
index 6a997c01..00000000
--- a/packages/kbot/coverage/kbot/src/tools.ts.html
+++ /dev/null
@@ -1,328 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/tools.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/64
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/64
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { ChatCompletionMessageParam } from "openai/resources/chat/completions"
-import { resolve } from '@polymech/commons'
-import { } from '@polymech/commons/config'
-import { sync as exists } from '@polymech/fs/exists'
-import * as path from 'node:path'
-
-import { tools as defaultTools } from "@polymech/ai-tools/tools"
-import { logger } from './index.js'
-import { IKBotOptions } from './zod_types.js'
-import { RunnableToolFunctionWithParse } from "openai/lib/RunnableFunction"
-
-import { after, before } from '@polymech/core/aspects_simple'
-import { IKBotTask } from '@polymech/ai-tools'
-
-export type TMessageParam = ChatCompletionMessageParam & { type?: string }
-
-export const defaultTemplate = {
- include: [
- "!node_modules/**/*",
- "!dist/**/*",
- "!build/**/*",
- "!coverage/**/*",
- "!*.log",
- "!.kbot",
- "!.git",
- "*"
- ],
- messages: [],
- tools: ['fs', 'git', 'interact', 'terminal', 'search', 'web', 'email', 'user']
-}
-export const resolve_package_path = (dir: string): string => resolve(path.join(__dirname, dir || ''))
-const loadToolFromPath = async (toolPath: string, target: string, options: IKBotOptions) => {
- try {
- const absolutePath = path.resolve(toolPath)
- if (!exists(absolutePath)) {
- logger.warn(`Tool path not found: ${absolutePath}`)
- return null
- }
- const toolModule = await import(absolutePath)
- if (typeof toolModule.default === 'function') {
- return toolModule.default(target, options)
- } else {
- logger.warn(`Invalid tool module at ${toolPath}: no default export function`)
- return null
- }
- } catch (e) {
- logger.error(`Error loading tool from path ${toolPath}:`, e.message)
- return null
- }
-}
-export const load = async (options: IKBotTask): Promise<RunnableToolFunctionWithParse<any>[]> => {
- const target = path.resolve(options.output || options.path)
- const toolsList = options.tools || defaultTemplate.tools
- const enabledTools = (toolsList as []).filter(tool => !options.disable.includes(tool))
- const loadedTools = await Promise.all(enabledTools.map(async (tool: string) => {
- if (defaultTools[tool]) {
- try {
- return defaultTools[tool](target, options)
- } catch (e) {
- logger.error(`Error loading built-in tool ${tool}`, e.message)
- return null
- }
- }
- return loadToolFromPath(tool, target, options)
- }))
-
- const tools = loadedTools
- .flat()
- .filter((tool): tool is RunnableToolFunctionWithParse<any> => {
- if (!tool) return false
- if (options.disableTools.includes(tool.function.name)) return false
- if (tool.function.name === 'completion') return false
- return true
- })
-
- tools.forEach(tool => {
- tool.function.function = before(tool.function.function,options.collector.onToolBefore)
- tool.function.function = after(tool.function.function,options.collector.onToolAfter)
- })
- return tools
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/types.ts.html b/packages/kbot/coverage/kbot/src/types.ts.html
deleted file mode 100644
index f83d33be..00000000
--- a/packages/kbot/coverage/kbot/src/types.ts.html
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/types.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/2
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/2
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-
-
-
-
-
-
-
-
-
-
-
-
- import { IKBotOptions } from './zod_types.js'
-import OpenAI from 'openai'
-import { ICollector } from '@polymech/ai-tools'
-
-export * from './zod_types.js'
-
-export type onToolCall = (category: string, name: string, args: any, result?: any) => Promise<void>
-export type onMessage = (category: string, name: string, args: any, result?: any) => Promise<void>
-
-export interface IKBotTask extends IKBotOptions
-{
- client: OpenAI
- collector: ICollector
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/utils/array.ts.html b/packages/kbot/coverage/kbot/src/utils/array.ts.html
deleted file mode 100644
index 025a0a17..00000000
--- a/packages/kbot/coverage/kbot/src/utils/array.ts.html
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/utils/array.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/21
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/21
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- export const flatten = (value: string | string[] | undefined): string[] => {
- let initialArray: string[]
- if (typeof value === "string") {
- initialArray = value.split(",")
- } else if (Array.isArray(value)) {
- initialArray = value.filter((item): item is string => typeof item === "string")
- } else {
- initialArray = []
- }
-
- // 2. Split on commas within each array element, then trim
- const expanded = initialArray.reduce<string[]>((acc, str) => {
- const parts = str.split(",").map((s) => s.trim())
- return acc.concat(parts)
- }, [])
-
- const filtered = expanded.filter((item) => {
- if (item === "true" || item === "false") return false
- if (!isNaN(Number(item))) return false
- return true
- })
- return Array.from(new Set(filtered));
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/utils/content.ts.html b/packages/kbot/coverage/kbot/src/utils/content.ts.html
deleted file mode 100644
index c8b7f85f..00000000
--- a/packages/kbot/coverage/kbot/src/utils/content.ts.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/utils/content.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/3
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/3
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-
- export const content = (result: any): string => {
- return result?.choices?.[0]?.message?.content || ""
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/utils/env.ts.html b/packages/kbot/coverage/kbot/src/utils/env.ts.html
deleted file mode 100644
index 56260fa9..00000000
--- a/packages/kbot/coverage/kbot/src/utils/env.ts.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/utils/env.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/3
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/3
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-
- export const env_vars = (): Record<string, string> => {
- return process.env as Record<string, string>
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/utils/index.html b/packages/kbot/coverage/kbot/src/utils/index.html
deleted file mode 100644
index 3a5f5244..00000000
--- a/packages/kbot/coverage/kbot/src/utils/index.html
+++ /dev/null
@@ -1,176 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/utils
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/113
-
-
-
-
- 0%
- Branches
- 0/5
-
-
-
-
- 0%
- Functions
- 0/5
-
-
-
-
- 0%
- Lines
- 0/113
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- array.ts
-
-
-
- 0%
- 0/21
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/21
-
-
-
- content.ts
-
-
-
- 0%
- 0/3
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/3
-
-
-
- env.ts
-
-
-
- 0%
- 0/3
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/3
-
-
-
- input.ts
-
-
-
- 0%
- 0/67
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/67
-
-
-
- script.ts
-
-
-
- 0%
- 0/19
- 0%
- 0/1
- 0%
- 0/1
- 0%
- 0/19
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/utils/input.ts.html b/packages/kbot/coverage/kbot/src/utils/input.ts.html
deleted file mode 100644
index 847af515..00000000
--- a/packages/kbot/coverage/kbot/src/utils/input.ts.html
+++ /dev/null
@@ -1,340 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/utils/input.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/67
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/67
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import { sync as exists } from '@polymech/fs/exists'
-import { sync as read } from '@polymech/fs/read'
-import { resolve, isFile } from '@polymech/commons'
-
-import { detectAndHandle } from '../commands/handlers/index.js'
-import { logger } from '../index.js'
-import { IKBotOptions } from '../zod_types.js'
-
-export const readStdin = async (timeoutMs: number = 100): Promise<Buffer> => {
- return new Promise((resolve, reject) => {
- const chunks: Buffer[] = [];
- if (process.stdin.isTTY) {
- resolve(Buffer.from(''));
- return;
- }
-
- const onData = (chunk: Buffer) => {
- chunks.push(Buffer.from(chunk));
- }
-
- // Handle end of stdin
- const onEnd = () => {
- cleanup();
- resolve(Buffer.concat(chunks));
- }
-
- const onError = (err: Error) => {
- cleanup();
- reject(err);
- }
-
- const onTimeout = () => {
- cleanup();
- resolve(Buffer.concat(chunks)); // Resolve with whatever has been read so far
- };
-
- // Cleanup listeners and timeout
- const cleanup = () => {
- process.stdin.removeListener('data', onData);
- process.stdin.removeListener('end', onEnd);
- process.stdin.removeListener('error', onError);
- clearTimeout(timeout);
- };
-
- // Attach event listeners
- process.stdin.on('data', onData);
- process.stdin.on('end', onEnd);
- process.stdin.on('error', onError);
-
- // Start the timeout
- const timeout = setTimeout(onTimeout, timeoutMs);
-
- // Ensure the stdin stream is flowing
- process.stdin.resume();
- });
-};
-
-export const resolveQuery = async (options: IKBotOptions): Promise<string> => {
- const stdinContent = await readStdin();
- if (stdinContent.length > 0) {
- try {
- return await detectAndHandle(stdinContent, options);
- } catch (error) {
- logger.error('Failed to process stdin content:', error.message);
- throw error;
- }
- }
-
- if (options.prompt) {
- const queryPath = resolve(path.resolve(options.prompt) || '');
- if (exists(queryPath) && isFile(queryPath)) {
- const fileContent = read(queryPath, 'buffer') as Buffer;
- try {
- return await detectAndHandle(fileContent,options)
- } catch (error) {
- logger.error(`Failed to process file ${queryPath}:`, error.message);
- throw error;
- }
- }
- // 3. Return direct prompt string
- return options.prompt;
- }
- return ""
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/utils/script.ts.html b/packages/kbot/coverage/kbot/src/utils/script.ts.html
deleted file mode 100644
index 682f4728..00000000
--- a/packages/kbot/coverage/kbot/src/utils/script.ts.html
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/utils/script.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/19
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/19
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import { sync as write } from '@polymech/fs/write'
-import { resolve } from '@polymech/commons'
-import { IKBotOptions } from '../zod_types.js'
-
-export const dumpAsScript = async (opts: IKBotOptions) => {
- if (!opts.dump) {
- return
- }
- const args = process.argv.slice(2).filter(a => !a.includes('--dump'))
- const scriptPath = path.resolve(resolve(opts.dump, false, {}))
- // Quote all parameter values
- const quotedArgs = args.map(arg => {
- if (arg.includes('=')) {
- const [key, ...values] = arg.split('=')
- const value = values.join('=')
- return `${key}="${value}"`
- }
- return arg
- })
- const script = `kbot ${quotedArgs.join(' ')}`
- write(scriptPath, script)
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/variables.ts.html b/packages/kbot/coverage/kbot/src/variables.ts.html
deleted file mode 100644
index ad8aff67..00000000
--- a/packages/kbot/coverage/kbot/src/variables.ts.html
+++ /dev/null
@@ -1,277 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/variables.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/53
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/53
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import * as path from 'node:path'
-import { pathInfoEx } from '@polymech/commons'
-import { DEFAULT_ROOTS, DEFAULT_VARS } from '@polymech/commons'
-import { IKBotTask } from '@polymech/ai-tools'
-
-export const variables = (options: IKBotTask) => {
- const { model, router,baseURL } = options
- let ret = {
- model,
- router,
- baseURL,
- ...DEFAULT_ROOTS,
- ...DEFAULT_VARS({})
- }
-
- if (options?.include?.length === 1) {
- const [include] = options.include
- const { } = pathInfoEx(include)
-
- const srcParts = path.parse(include)
- const srcVariables: Record<string, string> = {}
-
- srcVariables.SRC_NAME = srcParts.name
- srcVariables.SRC_DIR = srcParts.dir
- srcVariables.SRC_EXT = srcParts.ext
-
- if (srcVariables.ROOT) {
- srcVariables.SRC_REL = path.relative(srcVariables.ROOT, srcParts.dir)
- }
-
- const dashed = srcParts.name.split('-')
- if (dashed.length > 1) {
- for (let i = 0; i < dashed.length; i++) {
- srcVariables[`SRC_NAME-${i}`] = dashed[i]
- }
- }
- const dotted = srcParts.name.split('.')
- if (dotted.length > 1) {
- for (let i = 0; i < dotted.length; i++) {
- srcVariables[`SRC_NAME.${i}`] = dotted[i]
- }
- }
-
- const underscored = srcParts.name.split('_')
- if (underscored.length > 1) {
- for (let i = 0; i < underscored.length; i++) {
- srcVariables[`SRC_NAME_${i}`] = underscored[i]
- }
- }
- ret = { ...ret, ...srcVariables }
- }
-
- // CLI argv variables
- let variables = Object.assign({}, ...Object.keys(options).filter((k) => k.startsWith('var-')).map((k) => {
- return {
- [k.replace('var-', '')]: options[k]
- }
- }))
- ret = Object.keys(ret).reduce((acc, key) => {
- acc[key.toUpperCase()] = ret[key];
- return acc;
- }, {});
-
- return { ...ret, ...variables }
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/zod_schema.ts.html b/packages/kbot/coverage/kbot/src/zod_schema.ts.html
deleted file mode 100644
index 62ebe5cb..00000000
--- a/packages/kbot/coverage/kbot/src/zod_schema.ts.html
+++ /dev/null
@@ -1,1009 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/zod_schema.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/247
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/247
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-293
-294
-295
-296
-297
-298
-299
-300
-301
-302
-303
-304
-305
-306
-307
-308
-309
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- import { z } from 'zod'
-import * as path from 'node:path'
-import chalk from 'chalk'
-import env from 'env-var'
-import { generate_interfaces, ZodMetaMap, resolve, write } from '@polymech/commons'
-import { sync as exists } from '@polymech/fs/exists'
-import { sync as writeFS } from '@polymech/fs/write'
-import { sync as readFS } from '@polymech/fs/read'
-import { isArray, isFunction, isString } from '@polymech/core/primitives'
-import { zodResponseFormat } from "openai/helpers/zod"
-
-import { API_PREFIX, LOGGING_DIRECTORY, PREFERENCES_FILE_NAME } from './constants.js'
-
-export const get_var = (key: string = '') => env.get(key).asString() || env.get(key.replace(/-/g, '_')).asString() || env.get(key.replace(/_/g, '-')).asString()
-export const HOME = (sub = '') => path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'] || '', sub)
-export const PREFERENCES_DEFAULT = (key: string = 'KBOT_PREFERENCES') => get_var(key) || path.join(HOME(`.${API_PREFIX}`), PREFERENCES_FILE_NAME)
-import { jsonSchemaToZod } from "json-schema-to-zod"
-import { Filters } from './filters.js'
-import { models_dist } from './models/index.js'
-import { defaultTemplate } from './tools.js'
-
-export const E_Filters = z.enum(Object.keys(Filters) as any)
-
-export const E_RouterTypeSchema = z.enum(['openrouter', 'openai', 'deepseek', 'huggingface', 'ollama', 'fireworks', 'gemini', 'xai'])
-export type E_RouterType = z.infer<typeof E_RouterTypeSchema>
-
-export const E_Mode = {
- COMPLETION: 'completion',
- TOOLS: 'tools',
- ASSISTANT: 'assistant',
- CUSTOM: 'custom'
-} as const
-
-export const EType = z.enum([
- E_Mode.COMPLETION,
- E_Mode.TOOLS,
- E_Mode.ASSISTANT,
- E_Mode.CUSTOM
-])
-// https://rjsf-team.github.io/react-jsonschema-form/docs/usage/widgets#file-widgets
-/*
-langchain/CharacterTextSplitter,
- langchain/LatexTextSplitter,
- langchain/MarkdownTextSplitter,
- langchain/RecursiveCharacterTextSplitter,
- langchain/TokenTextSplitter
-*/
-export const SplitType = z.enum([
- 'none',
- 'langchain/CharacterTextSplitter',
- 'langchain/LatexTextSplitter',
- 'langchain/MarkdownTextSplitter',
- 'langchain/RecursiveCharacterTextSplitter',
- 'langchain/TokenTextSplitter'
-]).describe('Type of text splitter to use')
-
-
-export type OptionsSchemaMeta = Record<string, unknown>
-
-export { fetchOpenRouterModels, listModelsAsStrings as listOpenRouterModelsAsStrings } from './models/openrouter.js'
-export { fetchOpenAIModels, listModelsAsStrings as listOpenAIModelsAsStrings } from './models/openai.js'
-
-let schemaMap
-
-export const OptionsSchema = (opts?: any): any => {
-
- schemaMap = ZodMetaMap.create<OptionsSchemaMeta>()
- schemaMap.add(
- 'path',
- z.string()
- .min(1)
- .default('.')
- .describe('Target directory')
- , { 'ui:widget': 'file' })
- .add(
- 'prompt',
- z.string()
- .describe('The prompt. Supports file paths and environment variables.')
- .optional()
- )
- .add(
- 'output',
- z.string()
- .optional()
- .describe('Optional output path for modified files (Tool mode only)')
- )
- .add(
- 'dst',
- z.string()
- .optional()
- .describe('Optional destination path for the result, will substitute ${MODEL_NAME} and ${ROUTER} in the path. Optional, used for "completion" mode')
- )
- .add(
- 'each',
- z.string()
- .optional()
- .describe('Iterate over items, supported: GLOB | Path to JSON File | array of strings (comma separated). To test different models, use --each="gpt-3.5-turbo,gpt-4o", the actual string will exposed as variable `ITEM`, eg: --dst="${ITEM}-output.md"')
- )
- .add(
- 'disable',
- z.array(z.string())
- .default([])
- .describe(`Disable tools categories, eg: --disable=${defaultTemplate.tools.join(',')}`)
- )
- .add(
- 'disableTools',
- z.array(z.string())
- .optional()
- .default([])
- .describe('List of specific tools to disable')
- )
- .add(
- 'tools',
- z.union(
- [
- z.array(z.string()),
- z.string()
- ]).optional()
- .default(defaultTemplate.tools)
- .describe(`List of tools to use. Can be built-in tool names or paths to custom tool files. Default: ${defaultTemplate.tools.join(',')}`)
- .transform((val) => Array.isArray(val) ? val : val.split(','))
- )
- .add(
- 'include',
- z.array(z.string())
- .optional()
- .describe('Comma separated glob patterns or paths, eg --include=src/*.tsx,src/*.ts --include=package.json')
- )
- .add(
- 'api_key',
- z.string()
- .optional()
- .describe('Explicit API key to use')
- )
- .add(
- 'model',
- z.string()
- .optional()
- .describe(`AI model to use for processing. Available models:\n${models_dist().join('\n')}`)
- )
- .add(
- 'router',
- z.string()
- .default('openrouter')
- .describe('Router to use: openai, openrouter or deepseek')
- )
- .add(
- 'mode',
- EType
- .default(E_Mode.TOOLS)
- .describe(`Chat completion mode:\n\t completion, tools, assistant.
- ${chalk.green.bold('completion')}: no support for tools, please use --dst parameter to save the output.
- ${chalk.green.bold('tools')}: allows for tools to be used, eg 'save to ./output.md'. Not all models support this mode.
- ${chalk.green.bold('assistant')}: : allows documents (PDF, DOCX, ...) to be added but dont support tools. Use --dst to save the output. Supported files :
- ${chalk.green.bold('custom')}: custom mode
- `)
- )
- .add(
- 'logLevel',
- z.number()
- .default(4)
- .describe('Logging level for the application')
- )
- .add(
- 'profile',
- z.string()
- .optional()
- .describe('Path to profile for variables. Supports environment variables.')
- )
- .add(
- 'baseURL',
- z.string()
- .optional()
- .describe('Base URL for the API, set via --router or directly')
- )
- .add(
- 'config',
- z.string()
- .optional()
- .describe('Path to JSON configuration file (API keys). Supports environment variables.')
- )
- .add(
- 'dump',
- z.string()
- .optional()
- .describe('Create a script')
- )
- .add(
- 'preferences',
- z.string()
- .default(PREFERENCES_DEFAULT())
- .describe('Path to preferences file, eg: location, your email address, gender, etc. Supports environment variables.')
- )
- .add(
- 'logs',
- z.string()
- .default(LOGGING_DIRECTORY)
- .describe('Logging directory')
- )
- .add(
- 'env',
- z.string()
- .default('default')
- .describe('Environment (in profile)')
- )
- // If "split" was relevant, re-add here:
- // .add('split', SplitType.default('none').describe('Type of text splitter to use'))
- .add(
- 'variables',
- z.record(z.string(), z.string())
- .optional()
- .default({})
- )
- .add(
- 'filters',
- z.union([
- z.string(),
- z.array(E_Filters),
- z.array(z.string()),
- z.array(z.function())
- ])
- .optional()
- .default('')
- .describe(`List of filters to apply to the output.
- Used only in completion mode and a given output file specified with --dst.
- It unwraps by default any code or data in Markdown.
- Choices:\n\t${Object.keys(Filters)}\n`)
- .transform((val) => {
- if (isArray(val) && val.length && isFunction(val[0])) {
- return val
- }
- let filters = isString(val) ? val.split(',') : val
- filters = filters.map((f: any) => Filters[f]).filter(Boolean)
- return filters
- })
- )
- .add(
- 'query',
- z.string()
- .nullable()
- .optional()
- .default(null)
- .describe('JSONPath query to be used to transform input objects')
- )
- .add(
- 'dry',
- z.union([
- z.boolean(),
- z.string().transform((val) => val.toLowerCase() === 'true')
- ])
- .optional()
- .default(false)
- .describe('Dry run - only write out parameters without making API calls')
- )
- .add(
- 'format',
- z.union([
- z.string().transform((val) => {
- try {
- // Check if the string is a file path
- if (exists(val) && val.endsWith('.json')) {
- const content = readFS(val);
- const schema = JSON.parse(content.toString());
- const zodSchemaStr = jsonSchemaToZod(schema);
- // Evaluate the string to get the actual Zod schema
- const zodSchema = eval(`(${zodSchemaStr})`);
- return zodResponseFormat(zodSchema, "format");
- } else {
- // Try parsing as JSON schema first
- try {
- const schema = JSON.parse(val);
- const zodSchemaStr = jsonSchemaToZod(schema);
- const zodSchema = eval(`(${zodSchemaStr})`);
- return zodResponseFormat(zodSchema, "format");
- } catch {
- // If not JSON, try evaluating as Zod schema directly
- const zodSchema = eval(`(${val})`);
- return zodResponseFormat(zodSchema, "format");
- }
- }
- } catch (e) {
- console.error(`Error parsing format: ${e}`)
- return null;
- }
- }),
- z.any().transform((val) => {
- // If it's already a Zod schema, use it directly
- if (val && typeof val === 'object' && 'parse' in val) {
- return zodResponseFormat(val, "format");
- }
- return null;
- })
- ])
- .optional()
- .describe('Format for structured outputs. Can be a Zod schema, a Zod schema string, a JSON schema string, or a path to a JSON file.')
- );
- return schemaMap.root()
- .passthrough()
- .describe('IKBotOptions')
-}
-export const types = () => {
- generate_interfaces([OptionsSchema()], 'src/zod_types.ts')
- generate_interfaces([OptionsSchema()], path.resolve(resolve('../ai-tools/src/types_kbot.ts')))
- schemas()
-}
-export const schemas = () => {
- write([OptionsSchema()], 'schema.json', 'kbot', {})
- writeFS('schema_ui.json', schemaMap.getUISchema())
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/src/zod_types.ts.html b/packages/kbot/coverage/kbot/src/zod_types.ts.html
deleted file mode 100644
index d845d584..00000000
--- a/packages/kbot/coverage/kbot/src/zod_types.ts.html
+++ /dev/null
@@ -1,1393 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/src/zod_types.ts
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/0
-
-
-
-
- 0%
- Branches
- 1/1
-
-
-
-
- 0%
- Functions
- 1/1
-
-
-
-
- 0%
- Lines
- 0/0
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-293
-294
-295
-296
-297
-298
-299
-300
-301
-302
-303
-304
-305
-306
-307
-308
-309
-310
-311
-312
-313
-314
-315
-316
-317
-318
-319
-320
-321
-322
-323
-324
-325
-326
-327
-328
-329
-330
-331
-332
-333
-334
-335
-336
-337
-338
-339
-340
-341
-342
-343
-344
-345
-346
-347
-348
-349
-350
-351
-352
-353
-354
-355
-356
-357
-358
-359
-360
-361
-362
-363
-364
-365
-366
-367
-368
-369
-370
-371
-372
-373
-374
-375
-376
-377
-378
-379
-380
-381
-382
-383
-384
-385
-386
-387
-388
-389
-390
-391
-392
-393
-394
-395
-396
-397
-398
-399
-400
-401
-402
-403
-404
-405
-406
-407
-408
-409
-410
-411
-412
-413
-414
-415
-416
-417
-418
-419
-420
-421
-422
-423
-424
-425
-426
-427
-428
-429
-430
-431
-432
-433
-434
-435
-436
-437
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- export interface IKBotOptions {
- /** Target directory */
- path?: string;
- /** The prompt. Supports file paths and environment variables. */
- prompt?: string | undefined;
- /** Optional output path for modified files (Tool mode only) */
- output?: string | undefined;
- /** Optional destination path for the result, will substitute ${MODEL_NAME} and ${ROUTER} in the path. Optional, used for "completion" mode */
- dst?: string | undefined;
- /** Iterate over items, supported: GLOB | Path to JSON File | array of strings (comma separated). To test different models, use --each="gpt-3.5-turbo,gpt-4o", the actual string will exposed as variable `ITEM`, eg: --dst="${ITEM}-output.md" */
- each?: string | undefined;
- /** Disable tools categories, eg: --disable=fs,git,interact,terminal,search,web,email,user */
- disable?: string[];
- /** List of specific tools to disable */
- disableTools?: string[];
- /** List of tools to use. Can be built-in tool names or paths to custom tool files. Default: fs,git,interact,terminal,search,web,email,user */
- tools?: (string[] | string);
- /** Comma separated glob patterns or paths, eg --include=src/*.tsx,src/*.ts --include=package.json */
- include?: string[] | undefined;
- /** Explicit API key to use */
- api_key?: string | undefined;
- /** AI model to use for processing. Available models:
- [35m[1m[22m[39m
- [35m[1m OpenRouter models:[22m[39m
- [35m[1m[22m[39m
- 01-ai/yi-large | paid
- aetherwiing/mn-starcannon-12b | paid
- ai21/jamba-1-5-large | paid
- ai21/jamba-1-5-mini | paid
- ai21/jamba-1.6-large | paid
- ai21/jamba-instruct | paid
- ai21/jamba-1.6-mini | paid
- aion-labs/aion-1.0 | paid
- aion-labs/aion-1.0-mini | paid
- aion-labs/aion-rp-llama-3.1-8b | paid
- jondurbin/airoboros-l2-70b | paid
- allenai/molmo-7b-d:free | free
- allenai/olmo-2-0325-32b-instruct | paid
- amazon/nova-lite-v1 | paid
- amazon/nova-micro-v1 | paid
- amazon/nova-pro-v1 | paid
- anthropic/claude-3-haiku | paid
- anthropic/claude-3-haiku:beta | paid
- anthropic/claude-3-opus | paid
- anthropic/claude-3-opus:beta | paid
- anthropic/claude-3-sonnet | paid
- anthropic/claude-3-sonnet:beta | paid
- anthropic/claude-3.5-haiku | paid
- anthropic/claude-3.5-haiku-20241022 | paid
- anthropic/claude-3.5-haiku-20241022:beta | paid
- anthropic/claude-3.5-haiku:beta | paid
- anthropic/claude-3.5-sonnet | paid
- anthropic/claude-3.5-sonnet-20240620 | paid
- anthropic/claude-3.5-sonnet-20240620:beta | paid
- anthropic/claude-3.5-sonnet:beta | paid
- anthropic/claude-3.7-sonnet | paid
- anthropic/claude-3.7-sonnet:beta | paid
- anthropic/claude-3.7-sonnet:thinking | paid
- anthropic/claude-2 | paid
- anthropic/claude-2:beta | paid
- anthropic/claude-2.0 | paid
- anthropic/claude-2.0:beta | paid
- anthropic/claude-2.1 | paid
- anthropic/claude-2.1:beta | paid
- openrouter/auto | paid
- bytedance-research/ui-tars-72b:free | free
- cohere/command | paid
- cohere/command-a | paid
- cohere/command-r | paid
- cohere/command-r-03-2024 | paid
- cohere/command-r-08-2024 | paid
- cohere/command-r-plus | paid
- cohere/command-r-plus-04-2024 | paid
- cohere/command-r-plus-08-2024 | paid
- cohere/command-r7b-12-2024 | paid
- deepseek/deepseek-r1-zero:free | free
- deepseek/deepseek-chat | paid
- deepseek/deepseek-chat:free | free
- deepseek/deepseek-chat-v3-0324 | paid
- deepseek/deepseek-chat-v3-0324:free | free
- deepseek/deepseek-v3-base:free | free
- deepseek/deepseek-r1 | paid
- deepseek/deepseek-r1:free | free
- deepseek/deepseek-r1-distill-llama-70b | paid
- deepseek/deepseek-r1-distill-llama-70b:free | free
- deepseek/deepseek-r1-distill-llama-8b | paid
- deepseek/deepseek-r1-distill-qwen-1.5b | paid
- deepseek/deepseek-r1-distill-qwen-14b | paid
- deepseek/deepseek-r1-distill-qwen-14b:free | free
- deepseek/deepseek-r1-distill-qwen-32b | paid
- deepseek/deepseek-r1-distill-qwen-32b:free | free
- cognitivecomputations/dolphin-mixtral-8x7b | paid
- cognitivecomputations/dolphin-mixtral-8x22b | paid
- cognitivecomputations/dolphin3.0-mistral-24b:free | free
- cognitivecomputations/dolphin3.0-r1-mistral-24b:free | free
- eva-unit-01/eva-llama-3.33-70b | paid
- eva-unit-01/eva-qwen-2.5-32b | paid
- eva-unit-01/eva-qwen-2.5-72b | paid
- sao10k/fimbulvetr-11b-v2 | paid
- alpindale/goliath-120b | paid
- google/gemini-flash-1.5 | paid
- google/gemini-flash-1.5-8b | paid
- google/gemini-flash-1.5-8b-exp | paid
- google/gemini-pro-1.5 | paid
- google/gemini-2.0-flash-001 | paid
- google/gemini-2.0-flash-exp:free | free
- google/gemini-2.0-flash-lite-001 | paid
- google/gemini-2.0-flash-thinking-exp-1219:free | free
- google/gemini-2.0-flash-thinking-exp:free | free
- google/gemini-2.0-pro-exp-02-05:free | free
- google/gemini-2.5-pro-exp-03-25:free | free
- google/gemini-2.5-pro-preview-03-25 | paid
- google/gemini-pro | paid
- google/gemini-pro-vision | paid
- google/gemma-2-27b-it | paid
- google/gemma-2-9b-it | paid
- google/gemma-2-9b-it:free | free
- google/gemma-3-12b-it | paid
- google/gemma-3-12b-it:free | free
- google/gemma-3-1b-it:free | free
- google/gemma-3-27b-it | paid
- google/gemma-3-27b-it:free | free
- google/gemma-3-4b-it | paid
- google/gemma-3-4b-it:free | free
- google/learnlm-1.5-pro-experimental:free | free
- google/palm-2-chat-bison | paid
- google/palm-2-chat-bison-32k | paid
- google/palm-2-codechat-bison | paid
- google/palm-2-codechat-bison-32k | paid
- huggingfaceh4/zephyr-7b-beta:free | free
- infermatic/mn-inferor-12b | paid
- inflection/inflection-3-pi | paid
- inflection/inflection-3-productivity | paid
- latitudegames/wayfarer-large-70b-llama-3.3 | paid
- liquid/lfm-3b | paid
- liquid/lfm-40b | paid
- liquid/lfm-7b | paid
- meta-llama/llama-guard-3-8b | paid
- alpindale/magnum-72b | paid
- anthracite-org/magnum-v2-72b | paid
- anthracite-org/magnum-v4-72b | paid
- mancer/weaver | paid
- meta-llama/llama-2-13b-chat | paid
- meta-llama/llama-2-70b-chat | paid
- meta-llama/llama-3-70b-instruct | paid
- meta-llama/llama-3-8b-instruct | paid
- meta-llama/llama-3.1-405b | paid
- meta-llama/llama-3.1-405b-instruct | paid
- meta-llama/llama-3.1-70b-instruct | paid
- meta-llama/llama-3.1-8b-instruct | paid
- meta-llama/llama-3.1-8b-instruct:free | free
- meta-llama/llama-3.2-11b-vision-instruct | paid
- meta-llama/llama-3.2-11b-vision-instruct:free | free
- meta-llama/llama-3.2-1b-instruct | paid
- meta-llama/llama-3.2-1b-instruct:free | free
- meta-llama/llama-3.2-3b-instruct | paid
- meta-llama/llama-3.2-3b-instruct:free | free
- meta-llama/llama-3.2-90b-vision-instruct | paid
- meta-llama/llama-3.3-70b-instruct | paid
- meta-llama/llama-3.3-70b-instruct:free | free
- meta-llama/llama-4-maverick | paid
- meta-llama/llama-4-maverick:free | free
- meta-llama/llama-4-scout | paid
- meta-llama/llama-4-scout:free | free
- meta-llama/llama-guard-2-8b | paid
- microsoft/phi-4 | paid
- microsoft/phi-4-multimodal-instruct | paid
- microsoft/phi-3-medium-128k-instruct | paid
- microsoft/phi-3-medium-128k-instruct:free | free
- microsoft/phi-3-mini-128k-instruct | paid
- microsoft/phi-3-mini-128k-instruct:free | free
- microsoft/phi-3.5-mini-128k-instruct | paid
- sophosympatheia/midnight-rose-70b | paid
- minimax/minimax-01 | paid
- mistralai/mistral-large | paid
- mistralai/mistral-large-2407 | paid
- mistralai/mistral-large-2411 | paid
- mistralai/mistral-medium | paid
- nothingiisreal/mn-celeste-12b | paid
- mistralai/mistral-small | paid
- mistralai/mistral-tiny | paid
- mistralai/codestral-2501 | paid
- mistralai/codestral-mamba | paid
- mistralai/ministral-3b | paid
- mistral/ministral-8b | paid
- mistralai/ministral-8b | paid
- mistralai/mistral-7b-instruct | paid
- mistralai/mistral-7b-instruct:free | free
- mistralai/mistral-7b-instruct-v0.1 | paid
- mistralai/mistral-7b-instruct-v0.2 | paid
- mistralai/mistral-7b-instruct-v0.3 | paid
- mistralai/mistral-nemo | paid
- mistralai/mistral-nemo:free | free
- mistralai/mistral-small-24b-instruct-2501 | paid
- mistralai/mistral-small-24b-instruct-2501:free | free
- mistralai/mistral-small-3.1-24b-instruct | paid
- mistralai/mistral-small-3.1-24b-instruct:free | free
- mistralai/mixtral-8x22b-instruct | paid
- mistralai/mixtral-8x7b | paid
- mistralai/mixtral-8x7b-instruct | paid
- mistralai/pixtral-12b | paid
- mistralai/pixtral-large-2411 | paid
- mistralai/mistral-saba | paid
- moonshotai/moonlight-16b-a3b-instruct:free | free
- gryphe/mythomax-l2-13b | paid
- neversleep/llama-3-lumimaid-70b | paid
- neversleep/llama-3-lumimaid-8b | paid
- neversleep/llama-3-lumimaid-8b:extended | paid
- neversleep/llama-3.1-lumimaid-70b | paid
- neversleep/llama-3.1-lumimaid-8b | paid
- neversleep/noromaid-20b | paid
- nousresearch/deephermes-3-llama-3-8b-preview:free | free
- nousresearch/nous-hermes-llama2-13b | paid
- nousresearch/nous-hermes-2-mixtral-8x7b-dpo | paid
- nousresearch/hermes-3-llama-3.1-405b | paid
- nousresearch/hermes-3-llama-3.1-70b | paid
- nousresearch/hermes-2-pro-llama-3-8b | paid
- nvidia/llama-3.1-nemotron-70b-instruct | paid
- nvidia/llama-3.1-nemotron-70b-instruct:free | free
- open-r1/olympiccoder-32b:free | free
- open-r1/olympiccoder-7b:free | free
- openai/chatgpt-4o-latest | paid
- openai/gpt-3.5-turbo | paid
- openai/gpt-3.5-turbo-0613 | paid
- openai/gpt-3.5-turbo-16k | paid
- openai/gpt-3.5-turbo-0125 | paid
- openai/gpt-3.5-turbo-1106 | paid
- openai/gpt-3.5-turbo-instruct | paid
- openai/gpt-4 | paid
- openai/gpt-4-0314 | paid
- openai/gpt-4-32k | paid
- openai/gpt-4-32k-0314 | paid
- openai/gpt-4-turbo | paid
- openai/gpt-4-1106-preview | paid
- openai/gpt-4-turbo-preview | paid
- openai/gpt-4.5-preview | paid
- openai/gpt-4o | paid
- openai/gpt-4o-2024-05-13 | paid
- openai/gpt-4o-2024-08-06 | paid
- openai/gpt-4o-2024-11-20 | paid
- openai/gpt-4o:extended | paid
- openai/gpt-4o-search-preview | paid
- openai/gpt-4o-mini | paid
- openai/gpt-4o-mini-2024-07-18 | paid
- openai/gpt-4o-mini-search-preview | paid
- openai/o1 | paid
- openai/o1-mini | paid
- openai/o1-mini-2024-09-12 | paid
- openai/o1-preview | paid
- openai/o1-preview-2024-09-12 | paid
- openai/o1-pro | paid
- openai/o3-mini | paid
- openai/o3-mini-high | paid
- openchat/openchat-7b | paid
- openchat/openchat-7b:free | free
- all-hands/openhands-lm-32b-v0.1 | paid
- perplexity/llama-3.1-sonar-large-128k-online | paid
- perplexity/llama-3.1-sonar-small-128k-online | paid
- perplexity/r1-1776 | paid
- perplexity/sonar | paid
- perplexity/sonar-deep-research | paid
- perplexity/sonar-pro | paid
- perplexity/sonar-reasoning | paid
- perplexity/sonar-reasoning-pro | paid
- pygmalionai/mythalion-13b | paid
- openrouter/quasar-alpha | paid
- qwen/qwen-2-72b-instruct | paid
- qwen/qwen-vl-max | paid
- qwen/qwen-vl-plus | paid
- qwen/qwen-max | paid
- qwen/qwen-plus | paid
- qwen/qwen-turbo | paid
- qwen/qwen2.5-32b-instruct | paid
- qwen/qwen2.5-vl-32b-instruct | paid
- qwen/qwen2.5-vl-32b-instruct:free | free
- qwen/qwen2.5-vl-3b-instruct:free | free
- qwen/qwen2.5-vl-72b-instruct | paid
- qwen/qwen2.5-vl-72b-instruct:free | free
- qwen/qwen-2.5-vl-72b-instruct | paid
- qwen/qwen-2.5-vl-7b-instruct | paid
- qwen/qwen-2.5-vl-7b-instruct:free | free
- qwen/qwq-32b | paid
- qwen/qwq-32b:free | free
- qwen/qwq-32b-preview | paid
- qwen/qwq-32b-preview:free | free
- qwen/qwen-2.5-72b-instruct | paid
- qwen/qwen-2.5-72b-instruct:free | free
- qwen/qwen-2.5-7b-instruct | paid
- qwen/qwen-2.5-7b-instruct:free | free
- qwen/qwen-2.5-coder-32b-instruct | paid
- qwen/qwen-2.5-coder-32b-instruct:free | free
- featherless/qwerky-72b:free | free
- rekaai/reka-flash-3:free | free
- undi95/remm-slerp-l2-13b | paid
- thedrummer/rocinante-12b | paid
- sophosympatheia/rogue-rose-103b-v0.2:free | free
- sao10k/l3-lunaris-8b | paid
- sao10k/l3-euryale-70b | paid
- sao10k/l3.1-70b-hanami-x1 | paid
- sao10k/l3.1-euryale-70b | paid
- sao10k/l3.3-euryale-70b | paid
- raifle/sorcererlm-8x22b | paid
- steelskull/l3.3-electra-r1-70b | paid
- tokyotech-llm/llama-3.1-swallow-70b-instruct-v0.3 | paid
- thedrummer/anubis-pro-105b-v1 | paid
- thedrummer/skyfall-36b-v2 | paid
- undi95/toppy-m-7b | paid
- undi95/toppy-m-7b:free | free
- scb10x/llama3.1-typhoon2-70b-instruct | paid
- scb10x/llama3.1-typhoon2-8b-instruct | paid
- thedrummer/unslopnemo-12b | paid
- microsoft/wizardlm-2-7b | paid
- microsoft/wizardlm-2-8x22b | paid
- x-ai/grok-2-1212 | paid
- x-ai/grok-2-vision-1212 | paid
- x-ai/grok-beta | paid
- x-ai/grok-vision-beta | paid
- xwin-lm/xwin-lm-70b | paid
- [35m[1m[22m[39m
- [35m[1m OpenAI models:[22m[39m
- [35m[1m[22m[39m
- babbage-002
- chatgpt-4o-latest
- dall-e-2
- dall-e-3
- davinci-002
- gpt-3.5-turbo
- gpt-3.5-turbo-0125
- gpt-3.5-turbo-1106
- gpt-3.5-turbo-16k
- gpt-3.5-turbo-instruct
- gpt-3.5-turbo-instruct-0914
- gpt-4
- gpt-4-0125-preview
- gpt-4-0613
- gpt-4-1106-preview
- gpt-4-turbo
- gpt-4-turbo-2024-04-09
- gpt-4-turbo-preview
- gpt-4.5-preview
- gpt-4.5-preview-2025-02-27
- gpt-4o
- gpt-4o-2024-05-13
- gpt-4o-2024-08-06
- gpt-4o-2024-11-20
- gpt-4o-audio-preview
- gpt-4o-audio-preview-2024-10-01
- gpt-4o-audio-preview-2024-12-17
- gpt-4o-mini
- gpt-4o-mini-2024-07-18
- gpt-4o-mini-audio-preview
- gpt-4o-mini-audio-preview-2024-12-17
- gpt-4o-mini-realtime-preview
- gpt-4o-mini-realtime-preview-2024-12-17
- gpt-4o-mini-search-preview
- gpt-4o-mini-search-preview-2025-03-11
- gpt-4o-mini-transcribe
- gpt-4o-mini-tts
- gpt-4o-realtime-preview
- gpt-4o-realtime-preview-2024-10-01
- gpt-4o-realtime-preview-2024-12-17
- gpt-4o-search-preview
- gpt-4o-search-preview-2025-03-11
- gpt-4o-transcribe
- o1
- o1-2024-12-17
- o1-mini
- o1-mini-2024-09-12
- o1-preview
- o1-preview-2024-09-12
- o1-pro
- o1-pro-2025-03-19
- o3-mini
- o3-mini-2025-01-31
- omni-moderation-2024-09-26
- omni-moderation-latest
- text-embedding-3-large
- text-embedding-3-small
- text-embedding-ada-002
- tts-1
- tts-1-1106
- tts-1-hd
- tts-1-hd-1106
- whisper-1
- -----
-
- [35m[1m[22m[39m
- [35m[1m Deepseek models:[22m[39m
- [35m[1m[22m[39m
- deepseek-chat
- deepseek-reasoner
- -----
- */
- model?: string | undefined;
- /** Router to use: openai, openrouter or deepseek */
- router?: string;
- /** Chat completion mode:
- completion, tools, assistant.
- [32m[1mcompletion[22m[39m: no support for tools, please use --dst parameter to save the output.
- [32m[1mtools[22m[39m: allows for tools to be used, eg 'save to ./output.md'. Not all models support this mode.
- [32m[1massistant[22m[39m: : allows documents (PDF, DOCX, ...) to be added but dont support tools. Use --dst to save the output. Supported files :
- [32m[1mcustom[22m[39m: custom mode
- */
- mode?: "completion" | "tools" | "assistant" | "custom";
- /** Logging level for the application */
- logLevel?: number;
- /** Path to profile for variables. Supports environment variables. */
- profile?: string | undefined;
- /** Base URL for the API, set via --router or directly */
- baseURL?: string | undefined;
- /** Path to JSON configuration file (API keys). Supports environment variables. */
- config?: string | undefined;
- /** Create a script */
- dump?: string | undefined;
- /** Path to preferences file, eg: location, your email address, gender, etc. Supports environment variables. */
- preferences?: string;
- /** Logging directory */
- logs?: string;
- /** Environment (in profile) */
- env?: string;
- variables?: {
- [x: string]: string;
- };
- /** List of filters to apply to the output.
- Used only in completion mode and a given output file specified with --dst.
- It unwraps by default any code or data in Markdown.
- Choices:
- JSON,JSONUnescape,JSONPretty,AlphaSort,code,JSONParse,trim
- */
- filters?: (string | ("JSON" | "JSONUnescape" | "JSONPretty" | "AlphaSort" | "code" | "JSONParse" | "trim")[] | string[] | ((...args_0: unknown[]) => unknown)[]);
- /** JSONPath query to be used to transform input objects */
- query?: (string | null);
- /** Dry run - only write out parameters without making API calls */
- dry?: (boolean | string);
- /** Format for structured outputs. Can be a Zod schema, a Zod schema string, a JSON schema string, or a path to a JSON file. */
- format?: (string | any) | undefined;
-}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/kbot/test_web_urls.js.html b/packages/kbot/coverage/kbot/test_web_urls.js.html
deleted file mode 100644
index ea7788fc..00000000
--- a/packages/kbot/coverage/kbot/test_web_urls.js.html
+++ /dev/null
@@ -1,232 +0,0 @@
-
-
-
-
-
- Code coverage report for kbot/test_web_urls.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0%
- Statements
- 0/50
-
-
-
-
- 0%
- Branches
- 0/1
-
-
-
-
- 0%
- Functions
- 0/1
-
-
-
-
- 0%
- Lines
- 0/50
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #!/usr/bin/env node
-import { spawn } from 'child_process';
-
-const TEST_CASES = [
- {
- name: 'GitHub README',
- command: ['kbot', 'Summarize this documentation', '-i', 'https://raw.githubusercontent.com/polymech/polymech-mono/main/README.md']
- },
- {
- name: 'JSON API',
- command: ['kbot', 'Extract user emails', '-i', 'https://jsonplaceholder.typicode.com/users']
- },
- {
- name: 'Mixed Sources',
- command: ['kbot', 'Compare these files and the web content', '-i', 'package.json,https://docs.npmjs.com/cli/v10/commands/npm-install']
- }
-];
-
-async function runTest(test) {
- console.log(`\n\n=== Running Test: ${test.name} ===`);
- console.log(`Command: ${test.command.join(' ')}`);
-
- return new Promise((resolve) => {
- const child = spawn(test.command[0], test.command.slice(1), {
- cwd: process.cwd(),
- stdio: 'inherit'
- });
-
- child.on('close', (code) => {
- console.log(`Test "${test.name}" completed with exit code ${code}`);
- resolve(code === 0);
- });
- });
-}
-
-async function runTests() {
- console.log('Starting Web URL Support Tests');
-
- for (const test of TEST_CASES) {
- const success = await runTest(test);
- console.log(`Test "${test.name}": ${success ? 'PASSED' : 'FAILED'}`);
- }
-
- console.log('\nAll tests completed');
-}
-
-runTests().catch(err => {
- console.error('Test execution failed:', err);
- process.exit(1);
-});
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/kbot/coverage/prettify.css b/packages/kbot/coverage/prettify.css
deleted file mode 100644
index b317a7cd..00000000
--- a/packages/kbot/coverage/prettify.css
+++ /dev/null
@@ -1 +0,0 @@
-.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
diff --git a/packages/kbot/coverage/prettify.js b/packages/kbot/coverage/prettify.js
deleted file mode 100644
index b3225238..00000000
--- a/packages/kbot/coverage/prettify.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/* eslint-disable */
-window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^