agenttwin 0.3.13 → 0.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.js +472 -93
- package/dist/cli.js +126 -19
- package/dist/dashboard/assets/next/static/RRU6kOWIag8OaxBjl6DjU/_buildManifest.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/1255-d4ec8dbb0865c655.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/1482.e664aba77631265d.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/182-71d400a5d9e02879.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/3050-bac69e3c6734beee.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/3056.ffa9a4d44a274b29.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/{2442.9a266da6229b8ae0.js → 4055.1056568a41510e92.js} +1 -1
- package/dist/dashboard/assets/next/static/chunks/4343.023a18f52318dbad.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/4bd1b696-f785427dddbba9fb.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/{5490.0d5d8d5ea3577f20.js → 6751.613adb085c9a5b06.js} +1 -1
- package/dist/dashboard/assets/next/static/chunks/6787-c85d7f794360b672.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/7772-f2d773cd3e94eea6.js +67 -0
- package/dist/dashboard/assets/next/static/chunks/8093-90b99184c0a57c57.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/{3454.d29ee7a49c2a4fba.js → 8975.5be81ec8b09e3b45.js} +1 -1
- package/dist/dashboard/assets/next/static/chunks/{7280.01b3f749332bb075.js → 9013.0f2be1cc70029afa.js} +2 -2
- package/dist/dashboard/assets/next/static/chunks/9376.42da54b90ff9f2d9.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/9675.14739028910476e4.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/971-f01a5b1fb6756f6c.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/_not-found/page-43db8aef3fa81958.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/about/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/account/password/page-c2ce3c796c817ca1.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/api-policy/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/auth/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/agenttwin-vs-mockoon/page-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/agenttwin-vs-pact/page-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/agenttwin-vs-testcontainers/page-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/agenttwin-vs-wiremock/page-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/keploy-alternatives-for-database-and-payment-workflows/page-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/layout-563d8763d65d66b5.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/page-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/reset-test-environment-between-runs/page-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/blog/simulate-timeouts-and-duplicate-events/page-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/compare/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/contact/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/dashboard/layout-1afe915ed22ac5ed.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/dashboard/page-d91fa87fbf634bc9.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/demo/page-4dc63755e0013e7c.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/developers/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/docs/[[...slug]]/page-3c0d688140d910bd.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/guides/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/layout-993a96283a3ceb07.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/login/page-d6d4276397724d29.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/onboarding/page-bc480c9258e5cc4d.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/page-e4fe99bcc001a517.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/pricing/page-40f352fe5093a0ff.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/privacy/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/sandbox/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/signup/page-d6d4276397724d29.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/sitemap.xml/route-ba841d868e5d124a.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/v2/dashboard/layout-a5cf565e017886d3.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/v2/dashboard/page-ca68ba293cca7d75.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/v2/layout-abbd9f3b8811f559.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/v2/login/page-4f4a342a4c28f9de.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/v2/onboarding/page-f04c0b236abaead3.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/v2/page-3905446ec0206fb5.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/v2/signup/page-4f4a342a4c28f9de.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/app/what-is-agenttwin/page-3f5dbcdbf95bb2fc.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/{48a1527b.6d52e40c5e62d9d5.js → b468fba8.437b212aae4abcf8.js} +1 -1
- package/dist/dashboard/assets/next/static/chunks/framework-e54b663a2888b5de.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/main-5aa70aa3d6a46aa0.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/main-app-1ec13ceef4a34729.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/pages/_app-6c8c2371b16a04b8.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/pages/_error-94812ad32cad7365.js +1 -0
- package/dist/dashboard/assets/next/static/chunks/webpack-1ac08e31899efefb.js +1 -0
- package/dist/dashboard/assets/next/static/css/15b28a76469ea7e5.css +3 -0
- package/dist/dashboard/assets/next/static/css/{eea0966f05042bde.css → 18afa3e32331c41d.css} +1 -1
- package/dist/dashboard/assets/next/static/css/6695e0f2ae2e5aaf.css +1 -0
- package/dist/dashboard/assets/next/static/css/ced6baae4dc4cbab.css +1 -0
- package/dist/dashboard/assets/next/static/css/d35115cc1039cc68.css +1 -0
- package/dist/dashboard/assets/next/static/css/f27d5fbb1f484d9d.css +1 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/gateway.js +465 -86
- package/package.json +14 -2
- package/dist/dashboard/assets/next/static/BbTZs0rKnsmj45peSnlwJ/_buildManifest.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/1981-2ce2c5edd154524a.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/2529.07927d0600506985.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/3916-2698a1a3ecb8649f.js +0 -67
- package/dist/dashboard/assets/next/static/chunks/4705-a6d249b4a5dcde26.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/4816-45f42396ec2135cc.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/650-3092bf29ff938e12.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/6f3ce29d-af1469ba72f5d3e4.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/794.a624e6be9e42a62b.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/_not-found/page-471a6c74344187f9.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/account/password/page-aaee6711085b485d.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/dashboard/layout-09cb13657f62384f.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/dashboard/page-945c916b24f48675.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/demo/page-3cba0aab460c8677.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/docs/[[...slug]]/page-9f7b8dca8b973b15.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/enterprise/page-4986698442bddc6b.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/layout-09868e53e4f0541f.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/login/page-2e29d4b17645c34c.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/onboarding/page-af2c4768dc34ec92.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/page-507229409812cedd.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/pricing/page-c27282cd7bfb0fcf.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/signup/page-2e29d4b17645c34c.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/sitemap.xml/route-36bcc482b50fcb46.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/v2/dashboard/layout-77a57cd622171076.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/v2/dashboard/page-df34bcef0394d10d.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/v2/layout-d1d715b5b2dae3cd.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/v2/login/page-4f60d050bf954194.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/v2/onboarding/page-abfe2f36213848d7.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/v2/page-df6a34eff716d18e.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/app/v2/signup/page-4f60d050bf954194.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/framework-cb37e134fe056fa5.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/main-app-c83f3671ad6b824a.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/main-b7d6352ee94d0dba.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/pages/_app-9dd167be58cf5cbd.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/pages/_error-5a8b1eb076dd7c95.js +0 -1
- package/dist/dashboard/assets/next/static/chunks/webpack-44457f45df749a89.js +0 -1
- package/dist/dashboard/assets/next/static/css/0856ee8c880d8b92.css +0 -1
- package/dist/dashboard/assets/next/static/css/0cf03e33b963e5cb.css +0 -1
- package/dist/dashboard/assets/next/static/css/81a1668ab34a36e8.css +0 -1
- package/dist/dashboard/assets/next/static/css/b15fa8a0e168d625.css +0 -1
- /package/dist/dashboard/assets/next/static/{BbTZs0rKnsmj45peSnlwJ → RRU6kOWIag8OaxBjl6DjU}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9013],{1102:(e,t,r)=>{r.d(t,{B:()=>function e(t,r=!1){for(let n in t){if(void 0===t[n]&&delete t[n],!r)continue;let o=t[n];if("object"==typeof o&&null!==o){e(o,r);continue}if(Array.isArray(o))for(let t of o)e(t,r)}return t}})},1223:(e,t,r)=>{function n(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function o(e){let t="string"==typeof e?function(e){let t=e.trim();if(0===t.length)return null;let r=Array.from(new Set(t.split(/\s+/).map(e=>e.trim()).filter(Boolean)));if(0===r.length)return null;let o=r.map(n).join("|");return RegExp(`(${o})`,"gi")}(e):e;return{highlight(e){if(!t)return[{type:"text",content:e}];let r=[],n=0;for(let o of e.matchAll(t))n<o.index&&r.push({type:"text",content:e.substring(n,o.index)}),r.push({type:"text",content:o[0],styles:{highlight:!0}}),n=o.index+o[0].length;return n<e.length&&r.push({type:"text",content:e.substring(n)}),r}}}r.d(t,{r:()=>o})},9013:(e,t,r)=>{r.d(t,{search:()=>tT});var n=r(1102),o=r(1223);let i={arabic:"ar",armenian:"am",bulgarian:"bg",czech:"cz",danish:"dk",dutch:"nl",english:"en",finnish:"fi",french:"fr",german:"de",greek:"gr",hungarian:"hu",indian:"in",indonesian:"id",irish:"ie",italian:"it",lithuanian:"lt",nepali:"np",norwegian:"no",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"rs",slovenian:"ru",spanish:"es",swedish:"se",tamil:"ta",turkish:"tr",ukrainian:"uk",sanskrit:"sk"},s={dutch:/[^A-Za-zàèéìòóù0-9_'-]+/gim,english:/[^A-Za-zàèéìòóù0-9_'-]+/gim,french:/[^a-z0-9äâàéèëêïîöôùüûœç-]+/gim,italian:/[^A-Za-zàèéìòóù0-9_'-]+/gim,norwegian:/[^a-z0-9_æøåÆØÅäÄöÖüÜ]+/gim,portuguese:/[^a-z0-9à-úÀ-Ú]/gim,russian:/[^a-z0-9а-яА-ЯёЁ]+/gim,spanish:/[^a-z0-9A-Zá-úÁ-ÚñÑüÜ]+/gim,swedish:/[^a-z0-9_åÅäÄöÖüÜ-]+/gim,german:/[^a-z0-9A-ZäöüÄÖÜß]+/gim,finnish:/[^a-z0-9äöÄÖ]+/gim,danish:/[^a-z0-9æøåÆØÅ]+/gim,hungarian:/[^a-z0-9áéíóöőúüűÁÉÍÓÖŐÚÜŰ]+/gim,romanian:/[^a-z0-9ăâîșțĂÂÎȘȚ]+/gim,serbian:/[^a-z0-9čćžšđČĆŽŠĐ]+/gim,turkish:/[^a-z0-9çÇğĞıİöÖşŞüÜ]+/gim,lithuanian:/[^a-z0-9ąčęėįšųūžĄČĘĖĮŠŲŪŽ]+/gim,arabic:/[^a-z0-9أ-ي]+/gim,nepali:/[^a-z0-9अ-ह]+/gim,irish:/[^a-z0-9áéíóúÁÉÍÓÚ]+/gim,indian:/[^a-z0-9अ-ह]+/gim,armenian:/[^a-z0-9ա-ֆ]+/gim,greek:/[^a-z0-9α-ωά-ώ]+/gim,indonesian:/[^a-z0-9]+/gim,ukrainian:/[^a-z0-9а-яА-ЯіїєІЇЄ]+/gim,slovenian:/[^a-z0-9螚ȎŠ]+/gim,bulgarian:/[^a-z0-9а-яА-Я]+/gim,tamil:/[^a-z0-9அ-ஹ]+/gim,sanskrit:/[^a-z0-9A-Zāīūṛḷṃṁḥśṣṭḍṇṅñḻḹṝ]+/gim,czech:/[^A-Z0-9a-zěščřžýáíéúůóťďĚŠČŘŽÝÁÍÉÓÚŮŤĎ-]+/gim},l=Object.keys(i);var a=r(5704);let u=Date.now().toString().slice(5),c=0,f=BigInt(1e3),d=BigInt(1e6),h=BigInt(1e9);function p(e,t){if(t.length<65535)Array.prototype.push.apply(e,t);else{let r=t.length;for(let n=0;n<r;n+=65535)Array.prototype.push.apply(e,t.slice(n,n+65535))}}function g(){return BigInt(Math.floor(1e6*performance.now()))}function m(e){return("number"==typeof e&&(e=BigInt(e)),e<f)?`${e}ns`:e<d?`${e/f}μs`:e<h?`${e/d}ms`:`${e/h}s`}function y(){return"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?g():void 0!==a&&a.release&&"node"===a.release.name||void 0!==a&&"function"==typeof a?.hrtime?.bigint?a.hrtime.bigint():"undefined"!=typeof performance?g():BigInt(0)}function b(){return`${u}-${c++}`}function S(e,t){return void 0===Object.hasOwn?Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0:Object.hasOwn(e,t)?e[t]:void 0}function I(e,t){return t[1]===e[1]?e[0]-t[0]:t[1]-e[1]}function w(e,t){let r={},n=t.length;for(let o=0;o<n;o++){let n=t[o],i=n.split("."),s=e,l=i.length;for(let e=0;e<l;e++)if("object"==typeof(s=s[i[e]])){if(null!==s&&"lat"in s&&"lon"in s&&"number"==typeof s.lat&&"number"==typeof s.lon){s=r[n]=s;break}else if(!Array.isArray(s)&&null!==s&&e===l-1){s=void 0;break}}else if((null===s||"object"!=typeof s)&&e<l-1){s=void 0;break}void 0!==s&&(r[n]=s)}return r}function O(e,t){return w(e,[t])[t]}let N={cm:.01,m:1,km:1e3,ft:.3048,yd:.9144,mi:1609.344};function T(e,t){let r=N[t];if(void 0===r)throw Error(M("INVALID_DISTANCE_SUFFIX",e).message);return e*r}function v(e,t){e.hits=e.hits.map(e=>({...e,document:{...e.document,...t.reduce((e,t)=>{let r=t.split("."),n=r.pop(),o=e;for(let e of r)o[e]=o[e]??{},o=o[e];return o[n]=null,e},e.document)}}))}function _(e){return Array.isArray(e)?e.some(e=>_(e)):e?.constructor?.name==="AsyncFunction"}let D="intersection"in new Set;function A(...e){if(0===e.length)return new Set;if(1===e.length)return e[0];if(2===e.length){let t=e[0],r=e[1];if(D)return t.intersection(r);let n=new Set,o=t.size<r.size?t:r,i=o===t?r:t;for(let e of o)i.has(e)&&n.add(e);return n}let t={index:0,size:e[0].size};for(let r=1;r<e.length;r++)e[r].size<t.size&&(t.index=r,t.size=e[r].size);if(D){let r=e[t.index];for(let n=0;n<e.length;n++)n!==t.index&&(r=r.intersection(e[n]));return r}let r=e[t.index];for(let n=0;n<e.length;n++){if(n===t.index)continue;let o=e[n];for(let e of r)o.has(e)||r.delete(e)}return r}let E="union"in new Set;function k(e,t){return E?e?e.union(t):t:new Set(e?[...e,...t]:t)}let P=l.join("\n - "),R={NO_LANGUAGE_WITH_CUSTOM_TOKENIZER:"Do not pass the language option to create when using a custom tokenizer.",LANGUAGE_NOT_SUPPORTED:`Language "%s" is not supported.
|
|
2
2
|
Supported languages are:
|
|
3
3
|
- ${P}`,INVALID_STEMMER_FUNCTION_TYPE:"config.stemmer property must be a function.",MISSING_STEMMER:'As of version 1.0.0 @orama/orama does not ship non English stemmers by default. To solve this, please explicitly import and specify the "%s" stemmer from the package @orama/stemmers. See https://docs.orama.com/docs/orama-js/text-analysis/stemming for more information.',CUSTOM_STOP_WORDS_MUST_BE_FUNCTION_OR_ARRAY:"Custom stop words array must only contain strings.",UNSUPPORTED_COMPONENT:'Unsupported component "%s".',COMPONENT_MUST_BE_FUNCTION:'The component "%s" must be a function.',COMPONENT_MUST_BE_FUNCTION_OR_ARRAY_FUNCTIONS:'The component "%s" must be a function or an array of functions.',INVALID_SCHEMA_TYPE:'Unsupported schema type "%s" at "%s". Expected "string", "boolean" or "number" or array of them.',DOCUMENT_ID_MUST_BE_STRING:'Document id must be of type "string". Got "%s" instead.',DOCUMENT_ALREADY_EXISTS:'A document with id "%s" already exists.',DOCUMENT_DOES_NOT_EXIST:'A document with id "%s" does not exists.',MISSING_DOCUMENT_PROPERTY:'Missing searchable property "%s".',INVALID_DOCUMENT_PROPERTY:'Invalid document property "%s": expected "%s", got "%s"',UNKNOWN_INDEX:'Invalid property name "%s". Expected a wildcard string ("*") or array containing one of the following properties: %s',INVALID_BOOST_VALUE:"Boost value must be a number greater than, or less than 0.",INVALID_FILTER_OPERATION:"You can only use one operation per filter, you requested %d.",SCHEMA_VALIDATION_FAILURE:'Cannot insert document due schema validation failure on "%s" property.',INVALID_SORT_SCHEMA_TYPE:'Unsupported sort schema type "%s" at "%s". Expected "string" or "number".',CANNOT_SORT_BY_ARRAY:'Cannot configure sort for "%s" because it is an array (%s).',UNABLE_TO_SORT_ON_UNKNOWN_FIELD:'Unable to sort on unknown field "%s". Allowed fields: %s',SORT_DISABLED:"Sort is disabled. Please read the documentation at https://docs.orama.com/docs/orama-js for more information.",UNKNOWN_GROUP_BY_PROPERTY:'Unknown groupBy property "%s".',INVALID_GROUP_BY_PROPERTY:'Invalid groupBy property "%s". Allowed types: "%s", but given "%s".',UNKNOWN_FILTER_PROPERTY:'Unknown filter property "%s".',UNKNOWN_VECTOR_PROPERTY:'Unknown vector property "%s". Make sure the property exists in the schema and is configured as a vector.',INVALID_VECTOR_SIZE:'Vector size must be a number greater than 0. Got "%s" instead.',INVALID_VECTOR_VALUE:'Vector value must be a number greater than 0. Got "%s" instead.',INVALID_INPUT_VECTOR:`Property "%s" was declared as a %s-dimensional vector, but got a %s-dimensional vector instead.
|
|
4
4
|
Input vectors must be of the size declared in the schema, as calculating similarity between vectors of different sizes can lead to unexpected results.`,WRONG_SEARCH_PROPERTY_TYPE:'Property "%s" is not searchable. Only "string" properties are searchable.',FACET_NOT_SUPPORTED:'Facet doens\'t support the type "%s".',INVALID_DISTANCE_SUFFIX:'Invalid distance suffix "%s". Valid suffixes are: cm, m, km, mi, yd, ft.',INVALID_SEARCH_MODE:'Invalid search mode "%s". Valid modes are: "fulltext", "vector", "hybrid".',MISSING_VECTOR_AND_SECURE_PROXY:"No vector was provided and no secure proxy was configured. Please provide a vector or configure an Orama Secure Proxy to perform hybrid search.",MISSING_TERM:'"term" is a required parameter when performing hybrid search. Please provide a search term.',INVALID_VECTOR_INPUT:'Invalid "vector" property. Expected an object with "value" and "property" properties, but got "%s" instead.',PLUGIN_CRASHED:"A plugin crashed during initialization. Please check the error message for more information:",PLUGIN_SECURE_PROXY_NOT_FOUND:`Could not find '@orama/secure-proxy-plugin' installed in your Orama instance.
|
|
@@ -7,4 +7,4 @@ Read more at https://docs.orama.com/docs/orama-js/plugins/plugin-secure-proxy#pl
|
|
|
7
7
|
`,PLUGIN_SECURE_PROXY_MISSING_CHAT_MODEL:`Could not find a chat model defined in the secure proxy plugin configuration.
|
|
8
8
|
Please provide a chat model before proceeding with creating an answer session.
|
|
9
9
|
Read more at https://docs.orama.com/docs/orama-js/plugins/plugin-secure-proxy#plugin-secure-proxy
|
|
10
|
-
`,ANSWER_SESSION_LAST_MESSAGE_IS_NOT_ASSISTANT:"The last message in the session is not an assistant message. Cannot regenerate non-assistant messages.",PLUGIN_COMPONENT_CONFLICT:'The component "%s" is already defined. The plugin "%s" is trying to redefine it.'};function M(e,...t){let r=Error(function(e,...t){return e.replace(/%(?:(?<position>\d+)\$)?(?<width>-?\d*\.?\d*)(?<type>[dfs])/g,function(...e){let{width:r,type:n,position:o}=e[e.length-1],i=o?t[Number.parseInt(o)-1]:t.shift(),s=""===r?0:Number.parseInt(r);switch(n){case"d":return i.toString().padStart(s,"0");case"f":{let e=i,[t,n]=r.split(".").map(e=>Number.parseFloat(e));return"number"==typeof n&&n>=0&&(e=e.toFixed(n)),"number"==typeof t&&t>=0?e.toString().padStart(s,"0"):e.toString()}case"s":return s<0?i.toString().padEnd(-s," "):i.toString().padStart(s," ");default:return i}})}(R[e]??`Unsupported Orama Error code: ${e}`,...t));return r.code=e,"captureStackTrace"in Error.prototype&&Error.captureStackTrace(r),r}function x(e){return{raw:Number(e),formatted:m(e)}}function C(e){if(e.id){if("string"!=typeof e.id)throw M("DOCUMENT_ID_MUST_BE_STRING",typeof e.id);return e.id}return b()}let U={string:!1,number:!1,boolean:!1,enum:!1,geopoint:!1,"string[]":!0,"number[]":!0,"boolean[]":!0,"enum[]":!0},z={"string[]":"string","number[]":"number","boolean[]":"boolean","enum[]":"enum"};function L(e){return"string"==typeof e&&/^vector\[\d+\]$/.test(e)}function B(e){return"string"==typeof e&&U[e]}function V(e){let t=Number(e.slice(7,-1));switch(!0){case isNaN(t):throw M("INVALID_VECTOR_VALUE",e);case t<=0:throw M("INVALID_VECTOR_SIZE",e);default:return t}}function W(e){return{internalIdToId:e.internalIdToId}}function j(e,t){let{internalIdToId:r}=t;e.internalDocumentIDStore.idToInternalId.clear(),e.internalDocumentIDStore.internalIdToId=[];let n=r.length;for(let t=0;t<n;t++){let n=r[t];e.internalDocumentIDStore.idToInternalId.set(n,t+1),e.internalDocumentIDStore.internalIdToId.push(n)}}function F(e,t){if("string"==typeof t){let r=e.idToInternalId.get(t);if(r)return r;let n=e.idToInternalId.size+1;return e.idToInternalId.set(t,n),e.internalIdToId.push(t),n}return t>e.internalIdToId.length?F(e,t.toString()):t}function $(e,t){if(e.internalIdToId.length<t)throw Error(`Invalid internalId ${t}`);return e.internalIdToId[t-1]}function G(e,t){return{sharedInternalDocumentStore:t,docs:{},count:0}}function J(e,t){let r=F(e.sharedInternalDocumentStore,t);return e.docs[r]}function Y(e,t){let r=t.length,n=Array.from({length:r});for(let o=0;o<r;o++){let r=F(e.sharedInternalDocumentStore,t[o]);n[o]=e.docs[r]}return n}function H(e){return e.docs}function K(e,t,r,n){return void 0===e.docs[r]&&(e.docs[r]=n,e.count++,!0)}function q(e,t){let r=F(e.sharedInternalDocumentStore,t);return void 0!==e.docs[r]&&(delete e.docs[r],e.count--,!0)}function X(e){return e.count}function Z(e,t){return{docs:t.docs,count:t.count,sharedInternalDocumentStore:e}}function Q(e){return{docs:e.docs,count:e.count}}let ee=["beforeInsert","afterInsert","beforeRemove","afterRemove","beforeUpdate","afterUpdate","beforeUpsert","afterUpsert","beforeSearch","afterSearch","beforeInsertMultiple","afterInsertMultiple","beforeRemoveMultiple","afterRemoveMultiple","beforeUpdateMultiple","afterUpdateMultiple","beforeUpsertMultiple","afterUpsertMultiple","beforeLoad","afterLoad","afterCreate"],et=["tokenizer","index","documentsStore","sorter","pinning"],er=["validateSchema","getDocumentIndexId","getDocumentProperties","formatElapsedTime"];function en(e,t,r,n,o){if(e.some(_))return(async()=>{for(let i of e)await i(t,r,n,o)})();for(let i of e)i(t,r,n,o)}function eo(e,t,r,n){if(e.some(_))return(async()=>{for(let o of e)await o(t,r,n)})();for(let o of e)o(t,r,n)}class ei{k;v;l=null;r=null;h=1;constructor(e,t){this.k=e,this.v=new Set(t)}updateHeight(){this.h=Math.max(ei.getHeight(this.l),ei.getHeight(this.r))+1}static getHeight(e){return e?e.h:0}getBalanceFactor(){return ei.getHeight(this.l)-ei.getHeight(this.r)}rotateLeft(){let e=this.r;return this.r=e.l,e.l=this,this.updateHeight(),e.updateHeight(),e}rotateRight(){let e=this.l;return this.l=e.r,e.r=this,this.updateHeight(),e.updateHeight(),e}toJSON(){return{k:this.k,v:Array.from(this.v),l:this.l?this.l.toJSON():null,r:this.r?this.r.toJSON():null,h:this.h}}static fromJSON(e){let t=new ei(e.k,e.v);return t.l=e.l?ei.fromJSON(e.l):null,t.r=e.r?ei.fromJSON(e.r):null,t.h=e.h,t}}class es{root=null;insertCount=0;constructor(e,t){void 0!==e&&void 0!==t&&(this.root=new ei(e,t))}insert(e,t,r=1e3){this.root=this.insertNode(this.root,e,t,r)}insertMultiple(e,t,r=1e3){for(let n of t)this.insert(e,n,r)}rebalance(){this.root&&(this.root=this.rebalanceNode(this.root))}toJSON(){return{root:this.root?this.root.toJSON():null,insertCount:this.insertCount}}static fromJSON(e){let t=new es;return t.root=e.root?ei.fromJSON(e.root):null,t.insertCount=e.insertCount||0,t}insertNode(e,t,r,n){if(null===e)return new ei(t,[r]);let o=[],i=e,s=null;for(;null!==i;)if(o.push({parent:s,node:i}),t<i.k)if(null===i.l){i.l=new ei(t,[r]),o.push({parent:i,node:i.l});break}else s=i,i=i.l;else if(!(t>i.k))return i.v.add(r),e;else if(null===i.r){i.r=new ei(t,[r]),o.push({parent:i,node:i.r});break}else s=i,i=i.r;let l=!1;this.insertCount++%n==0&&(l=!0);for(let t=o.length-1;t>=0;t--){let{parent:r,node:n}=o[t];if(n.updateHeight(),l){let t=this.rebalanceNode(n);r?r.l===n?r.l=t:r.r===n&&(r.r=t):e=t}}return e}rebalanceNode(e){let t=e.getBalanceFactor();if(t>1){if(e.l&&e.l.getBalanceFactor()>=0)return e.rotateRight();else if(e.l)return e.l=e.l.rotateLeft(),e.rotateRight()}if(t<-1){if(e.r&&0>=e.r.getBalanceFactor())return e.rotateLeft();else if(e.r)return e.r=e.r.rotateRight(),e.rotateLeft()}return e}find(e){let t=this.findNodeByKey(e);return t?t.v:null}contains(e){return null!==this.find(e)}getSize(){let e=0,t=[],r=this.root;for(;r||t.length>0;){for(;r;)t.push(r),r=r.l;r=t.pop(),e++,r=r.r}return e}isBalanced(){if(!this.root)return!0;let e=[this.root];for(;e.length>0;){let t=e.pop();if(Math.abs(t.getBalanceFactor())>1)return!1;t.l&&e.push(t.l),t.r&&e.push(t.r)}return!0}remove(e){this.root=this.removeNode(this.root,e)}removeDocument(e,t){let r=this.findNodeByKey(e);r&&(1===r.v.size?this.root=this.removeNode(this.root,e):r.v=new Set([...r.v.values()].filter(e=>e!==t)))}findNodeByKey(e){let t=this.root;for(;t;)if(e<t.k)t=t.l;else{if(!(e>t.k))return t;t=t.r}return null}removeNode(e,t){if(null===e)return null;let r=[],n=e;for(;null!==n&&n.k!==t;)r.push(n),n=t<n.k?n.l:n.r;if(null===n)return e;if(null===n.l||null===n.r){let t=n.l?n.l:n.r;if(0===r.length)e=t;else{let e=r[r.length-1];e.l===n?e.l=t:e.r=t}}else{let e=n,t=n.r;for(;null!==t.l;)e=t,t=t.l;n.k=t.k,n.v=t.v,e.l===t?e.l=t.r:e.r=t.r,n=e}r.push(n);for(let t=r.length-1;t>=0;t--){let n=r[t];n.updateHeight();let o=this.rebalanceNode(n);if(t>0){let e=r[t-1];e.l===n?e.l=o:e.r===n&&(e.r=o)}else e=o}return e}rangeSearch(e,t){let r=new Set,n=[],o=this.root;for(;o||n.length>0;){for(;o;)n.push(o),o=o.l;if((o=n.pop()).k>=e&&o.k<=t)for(let e of o.v)r.add(e);if(o.k>t)break;o=o.r}return r}greaterThan(e,t=!1){let r=new Set,n=[],o=this.root;for(;o||n.length>0;){for(;o;)n.push(o),o=o.r;if(o=n.pop(),t&&o.k>=e||!t&&o.k>e)for(let e of o.v)r.add(e);else if(o.k<=e)break;o=o.l}return r}lessThan(e,t=!1){let r=new Set,n=[],o=this.root;for(;o||n.length>0;){for(;o;)n.push(o),o=o.l;if(o=n.pop(),t&&o.k<=e||!t&&o.k<e)for(let e of o.v)r.add(e);else if(o.k>e)break;o=o.r}return r}}class el{numberToDocumentId;constructor(){this.numberToDocumentId=new Map}insert(e,t){this.numberToDocumentId.has(e)?this.numberToDocumentId.get(e).add(t):this.numberToDocumentId.set(e,new Set([t]))}find(e){let t=this.numberToDocumentId.get(e);return t?Array.from(t):null}remove(e){this.numberToDocumentId.delete(e)}removeDocument(e,t){let r=this.numberToDocumentId.get(t);r&&(r.delete(e),0===r.size&&this.numberToDocumentId.delete(t))}contains(e){return this.numberToDocumentId.has(e)}getSize(){let e=0;for(let t of this.numberToDocumentId.values())e+=t.size;return e}filter(e){let t=Object.keys(e);if(1!==t.length)throw Error("Invalid operation");let r=t[0];switch(r){case"eq":{let t=e[r],n=this.numberToDocumentId.get(t);return n?Array.from(n):[]}case"in":{let t=e[r],n=new Set;for(let e of t){let t=this.numberToDocumentId.get(e);if(t)for(let e of t)n.add(e)}return Array.from(n)}case"nin":{let t=new Set(e[r]),n=new Set;for(let[e,r]of this.numberToDocumentId.entries())if(!t.has(e))for(let e of r)n.add(e);return Array.from(n)}default:throw Error("Invalid operation")}}filterArr(e){let t=Object.keys(e);if(1!==t.length)throw Error("Invalid operation");let r=t[0];switch(r){case"containsAll":{let t=e[r].map(e=>this.numberToDocumentId.get(e)??new Set);if(0===t.length)return[];return Array.from(t.reduce((e,t)=>new Set([...e].filter(e=>t.has(e)))))}case"containsAny":{let t=e[r].map(e=>this.numberToDocumentId.get(e)??new Set);if(0===t.length)return[];return Array.from(t.reduce((e,t)=>new Set([...e,...t])))}default:throw Error("Invalid operation")}}static fromJSON(e){if(!e.numberToDocumentId)throw Error("Invalid Flat Tree JSON");let t=new el;for(let[r,n]of e.numberToDocumentId)t.numberToDocumentId.set(r,new Set(n));return t}toJSON(){return{numberToDocumentId:Array.from(this.numberToDocumentId.entries()).map(([e,t])=>[e,Array.from(t)])}}}function ea(e,t,r){let n=function(e,t,r){if(r<0)return -1;if(e===t)return 0;let n=e.length,o=t.length;if(0===n)return o<=r?o:-1;if(0===o)return n<=r?n:-1;let i=Math.abs(n-o);if(e.startsWith(t))return i<=r?i:-1;if(t.startsWith(e))return 0;if(i>r)return -1;let s=[];for(let e=0;e<=n;e++){s[e]=[e];for(let t=1;t<=o;t++)s[e][t]=0===e?t:0}for(let i=1;i<=n;i++){let n=1/0;for(let r=1;r<=o;r++)e[i-1]===t[r-1]?s[i][r]=s[i-1][r-1]:s[i][r]=Math.min(s[i-1][r]+1,s[i][r-1]+1,s[i-1][r-1]+1),n=Math.min(n,s[i][r]);if(n>r)return -1}return s[n][o]<=r?s[n][o]:-1}(e,t,r);return{distance:n,isBounded:n>=0}}class eu{k;s;c=new Map;d=new Set;e;w="";constructor(e,t,r){this.k=e,this.s=t,this.e=r}updateParent(e){this.w=e.w+this.s}addDocument(e){this.d.add(e)}removeDocument(e){return this.d.delete(e)}findAllWords(e,t,r,n){let o=[this];for(;o.length>0;){let i=o.pop();if(i.e){let{w:o,d:s}=i;if(r&&o!==t)continue;if(null!==S(e,o))if(n){if(!(Math.abs(t.length-o.length)<=n)||!ea(t,o,n).isBounded)continue;e[o]=[]}else e[o]=[];if(null!=S(e,o)&&s.size>0){let t=e[o];for(let e of s)t.includes(e)||t.push(e)}}i.c.size>0&&o.push(...i.c.values())}return e}insert(e,t){let r=this,n=0,o=e.length;for(;n<o;){let i=e[n],s=r.c.get(i);if(s){let i=s.s,l=i.length,a=0;for(;a<l&&n+a<o&&i[a]===e[n+a];)a++;if(a===l){if(r=s,(n+=a)===o){s.e||(s.e=!0),s.addDocument(t);return}continue}let u=i.slice(0,a),c=i.slice(a),f=e.slice(n+a),d=new eu(u[0],u,!1);if(r.c.set(u[0],d),d.updateParent(r),s.s=c,s.k=c[0],d.c.set(c[0],s),s.updateParent(d),f){let e=new eu(f[0],f,!0);e.addDocument(t),d.c.set(f[0],e),e.updateParent(d)}else d.e=!0,d.addDocument(t);return}{let o=new eu(i,e.slice(n),!0);o.addDocument(t),r.c.set(i,o),o.updateParent(r);return}}r.e||(r.e=!0),r.addDocument(t)}_findLevenshtein(e,t,r,n,o){let i=[{node:this,index:t,tolerance:r}];for(;i.length>0;){let{node:t,index:r,tolerance:s}=i.pop();if(t.w.startsWith(e)){t.findAllWords(o,e,!1,0);continue}if(s<0)continue;if(t.e){let{w:r,d:i}=t;if(r&&(ea(e,r,n).isBounded&&(o[r]=[]),void 0!==S(o,r)&&i.size>0)){let e=new Set(o[r]);for(let t of i)e.add(t);o[r]=Array.from(e)}}if(r>=e.length)continue;let l=e[r];if(t.c.has(l)){let e=t.c.get(l);i.push({node:e,index:r+1,tolerance:s})}for(let[e,n]of(i.push({node:t,index:r+1,tolerance:s-1}),t.c))i.push({node:n,index:r,tolerance:s-1}),e!==l&&i.push({node:n,index:r+1,tolerance:s-1})}}find(e){let{term:t,exact:r,tolerance:n}=e;if(n&&!r){let e={};return this._findLevenshtein(t,0,n,n,e),e}{let e=this,o=0,i=t.length;for(;o<i;){let s=t[o],l=e.c.get(s);if(!l)return{};{let s=l.s,a=s.length,u=0;for(;u<a&&o+u<i&&s[u]===t[o+u];)u++;if(u===a)e=l,o+=u;else{if(o+u!==i||u!==i-o||r)return{};let e={};return l.findAllWords(e,t,r,n),e}}}let s={};return e.findAllWords(s,t,r,n),s}}contains(e){let t=this,r=0,n=e.length;for(;r<n;){let o=e[r],i=t.c.get(o);if(!i)return!1;{let o=i.s,s=o.length,l=0;for(;l<s&&r+l<n&&o[l]===e[r+l];)l++;if(l<s)return!1;r+=s,t=i}}return!0}removeWord(e){if(!e)return!1;let t=this,r=e.length,n=[];for(let o=0;o<r;o++){let r=e[o];if(!t.c.has(r))return!1;{let e=t.c.get(r);n.push({parent:t,character:r}),o+=e.s.length-1,t=e}}for(t.d.clear(),t.e=!1;n.length>0&&0===t.c.size&&!t.e&&0===t.d.size;){let{parent:e,character:r}=n.pop();e.c.delete(r),t=e}return!0}removeDocumentByWord(e,t,r=!0){if(!e)return!0;let n=this,o=e.length;for(let i=0;i<o;i++){let o=e[i];if(!n.c.has(o))return!1;{let s=n.c.get(o);i+=s.s.length-1,n=s,r&&n.w!==e||n.removeDocument(t)}}return!0}static getCommonPrefix(e,t){let r=Math.min(e.length,t.length),n=0;for(;n<r&&e.charCodeAt(n)===t.charCodeAt(n);)n++;return e.slice(0,n)}toJSON(){return{w:this.w,s:this.s,e:this.e,k:this.k,d:Array.from(this.d),c:Array.from(this.c?.entries())?.map(([e,t])=>[e,t.toJSON()])}}static fromJSON(e){let t=new eu(e.k,e.s,e.e);return t.w=e.w,t.d=new Set(e.d),t.c=new Map(e?.c?.map(([e,t])=>[e,eu.fromJSON(t)])||[]),t}}class ec extends eu{constructor(){super("","",!1)}static fromJSON(e){let t=new ec;return t.w=e.w,t.s=e.s,t.e=e.e,t.k=e.k,t.d=new Set(e.d),t.c=new Map(e?.c?.map(([e,t])=>[e,eu.fromJSON(t)])||[]),t}toJSON(){return super.toJSON()}}class ef{point;docIDs;left;right;parent;constructor(e,t){this.point=e,this.docIDs=new Set(t),this.left=null,this.right=null,this.parent=null}toJSON(){return{point:this.point,docIDs:Array.from(this.docIDs),left:this.left?this.left.toJSON():null,right:this.right?this.right.toJSON():null}}static fromJSON(e,t=null){let r=new ef(e.point,e.docIDs);return r.parent=t,e.left&&(r.left=ef.fromJSON(e.left,r)),e.right&&(r.right=ef.fromJSON(e.right,r)),r}}class ed{root;nodeMap;constructor(){this.root=null,this.nodeMap=new Map}getPointKey(e){return`${e.lon},${e.lat}`}insert(e,t){let r=this.getPointKey(e),n=this.nodeMap.get(r);if(n)return void t.forEach(e=>n.docIDs.add(e));let o=new ef(e,t);if(this.nodeMap.set(r,o),null==this.root){this.root=o;return}let i=this.root,s=0;for(;;){if(0==s%2)if(e.lon<i.point.lon){if(null==i.left){i.left=o,o.parent=i;return}i=i.left}else{if(null==i.right){i.right=o,o.parent=i;return}i=i.right}else if(e.lat<i.point.lat){if(null==i.left){i.left=o,o.parent=i;return}i=i.left}else{if(null==i.right){i.right=o,o.parent=i;return}i=i.right}s++}}contains(e){let t=this.getPointKey(e);return this.nodeMap.has(t)}getDocIDsByCoordinates(e){let t=this.getPointKey(e),r=this.nodeMap.get(t);return r?Array.from(r.docIDs):null}removeDocByID(e,t){let r=this.getPointKey(e),n=this.nodeMap.get(r);n&&(n.docIDs.delete(t),0===n.docIDs.size&&(this.nodeMap.delete(r),this.deleteNode(n)))}deleteNode(e){let t=e.parent,r=e.left?e.left:e.right;r&&(r.parent=t),t?t.left===e?t.left=r:t.right===e&&(t.right=r):(this.root=r,this.root&&(this.root.parent=null))}searchByRadius(e,t,r=!0,n="asc",o=!1){let i=o?ed.vincentyDistance:ed.haversineDistance,s=[{node:this.root,depth:0}],l=[];for(;s.length>0;){let{node:n,depth:o}=s.pop();if(null==n)continue;let a=i(e,n.point);(r?a<=t:a>t)&&l.push({point:n.point,docIDs:Array.from(n.docIDs)}),null!=n.left&&s.push({node:n.left,depth:o+1}),null!=n.right&&s.push({node:n.right,depth:o+1})}return n&&l.sort((t,r)=>{let o=i(e,t.point),s=i(e,r.point);return"asc"===n.toLowerCase()?o-s:s-o}),l}searchByPolygon(e,t=!0,r=null,n=!1){let o=[{node:this.root,depth:0}],i=[];for(;o.length>0;){let{node:r,depth:n}=o.pop();if(null==r)continue;null!=r.left&&o.push({node:r.left,depth:n+1}),null!=r.right&&o.push({node:r.right,depth:n+1});let s=ed.isPointInPolygon(e,r.point);(s&&t||!s&&!t)&&i.push({point:r.point,docIDs:Array.from(r.docIDs)})}let s=ed.calculatePolygonCentroid(e);if(r){let e=n?ed.vincentyDistance:ed.haversineDistance;i.sort((t,n)=>{let o=e(s,t.point),i=e(s,n.point);return"asc"===r.toLowerCase()?o-i:i-o})}return i}toJSON(){return{root:this.root?this.root.toJSON():null}}static fromJSON(e){let t=new ed;return e.root&&(t.root=ef.fromJSON(e.root),t.buildNodeMap(t.root)),t}buildNodeMap(e){if(null==e)return;let t=this.getPointKey(e.point);this.nodeMap.set(t,e),e.left&&this.buildNodeMap(e.left),e.right&&this.buildNodeMap(e.right)}static calculatePolygonCentroid(e){let t=0,r=0,n=0,o=e.length;for(let i=0,s=o-1;i<o;s=i++){let o=e[i].lon,l=e[i].lat,a=e[s].lon,u=e[s].lat,c=o*u-a*l;t+=c,r+=(o+a)*c,n+=(l+u)*c}let i=6*(t/=2);return{lon:r/=i,lat:n/=i}}static isPointInPolygon(e,t){let r=!1,n=t.lon,o=t.lat,i=e.length;for(let t=0,s=i-1;t<i;s=t++){let i=e[t].lon,l=e[t].lat,a=e[s].lon,u=e[s].lat;l>o!=u>o&&n<(a-i)*(o-l)/(u-l)+i&&(r=!r)}return r}static haversineDistance(e,t){let r=Math.PI/180,n=e.lat*r,o=t.lat*r,i=(t.lat-e.lat)*r,s=(t.lon-e.lon)*r,l=Math.sin(i/2)*Math.sin(i/2)+Math.cos(n)*Math.cos(o)*Math.sin(s/2)*Math.sin(s/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}static vincentyDistance(e,t){let r,n,o,i,s,l,a,u=1/298.257223563,c=(1-1/298.257223563)*6378137,f=Math.PI/180,d=e.lat*f,h=t.lat*f,p=(t.lon-e.lon)*f,g=Math.atan((1-u)*Math.tan(d)),m=Math.atan((1-u)*Math.tan(h)),y=Math.sin(g),b=Math.cos(g),S=Math.sin(m),I=Math.cos(m),w=p,O=1e3;do{let e=Math.sin(w),t=Math.cos(w);if(0===(n=Math.sqrt(I*e*(I*e)+(b*S-y*I*t)*(b*S-y*I*t))))return 0;i=Math.atan2(n,o=y*S+b*I*t),isNaN(a=o-2*y*S/(l=1-(s=b*I*e/n)*s))&&(a=0);let c=u/16*l*(4+u*(4-3*l));r=w,w=p+(1-c)*u*s*(i+c*n*(a+c*o*(-1+2*a*a)))}while(Math.abs(w-r)>1e-12&&--O>0);if(0===O)return NaN;let N=l*(0x24ffb2985f71-c*c)/(c*c),T=1+N/16384*(4096+N*(-768+N*(320-175*N))),v=N/1024*(256+N*(-128+N*(74-47*N)));return c*T*(i-v*n*(a+v/4*(o*(-1+2*a*a)-v/6*a*(-3+4*n*n)*(-3+4*a*a))))}}class eh{true;false;constructor(){this.true=new Set,this.false=new Set}insert(e,t){t?this.true.add(e):this.false.add(e)}delete(e,t){t?this.true.delete(e):this.false.delete(e)}getSize(){return this.true.size+this.false.size}toJSON(){return{true:Array.from(this.true),false:Array.from(this.false)}}static fromJSON(e){let t=new eh;return t.true=new Set(e.true),t.false=new Set(e.false),t}}class ep{size;vectors=new Map;constructor(e){this.size=e}add(e,t){t instanceof Float32Array||(t=new Float32Array(t));let r=eg(t,this.size);this.vectors.set(e,[r,t])}remove(e){this.vectors.delete(e)}find(e,t,r){return e instanceof Float32Array||(e=new Float32Array(e)),function(e,t,r,n,o){let i=eg(e,n),s=[];for(let l of t||r.keys()){let t=r.get(l);if(!t)continue;let a=t[0],u=t[1],c=0;for(let t=0;t<n;t++)c+=e[t]*u[t];let f=c/(i*a);f>=o&&s.push([l,f])}return s}(e,r,this.vectors,this.size,t)}toJSON(){let e=[];for(let[t,[r,n]]of this.vectors)e.push([t,[r,Array.from(n)]]);return{size:this.size,vectors:e}}static fromJSON(e){let t=new ep(e.size);for(let[r,[n,o]]of e.vectors)t.vectors.set(r,[n,new Float32Array(o)]);return t}}function eg(e,t){let r=0;for(let n=0;n<t;n++)r+=e[n]*e[n];return Math.sqrt(r)}function em(e,t,r,n,o){let i=F(e.sharedInternalDocumentStore,r);e.avgFieldLength[t]=((e.avgFieldLength[t]??0)*(o-1)+n.length)/o,e.fieldLengths[t][i]=n.length,e.frequencies[t][i]={}}function ey(e,t,r,n,o){let i=0;for(let e of n)e===o&&i++;let s=F(e.sharedInternalDocumentStore,r),l=i/n.length;e.frequencies[t][s][o]=l,o in e.tokenOccurrences[t]||(e.tokenOccurrences[t][o]=0),e.tokenOccurrences[t][o]=(e.tokenOccurrences[t][o]??0)+1}function eb(e,t,r,n){let o=F(e.sharedInternalDocumentStore,r);n>1?e.avgFieldLength[t]=(e.avgFieldLength[t]*n-e.fieldLengths[t][o])/(n-1):e.avgFieldLength[t]=void 0,e.fieldLengths[t][o]=void 0,e.frequencies[t][o]=void 0}function eS(e,t,r){e.tokenOccurrences[t][r]--}function eI(e,t,r,n,o,i,s,l,a,u,c){if(L(s)){var f,d,h,p;return f=t,d=r,h=i,p=o,void f.vectorIndexes[d].node.add(p,h)}let g=n=>{let{type:i,node:s}=t.indexes[r];switch(i){case"Bool":s[n?"true":"false"].add(o);break;case"AVL":{let e=c?.avlRebalanceThreshold??1;s.insert(n,o,e);break}case"Radix":{let i=a.tokenize(n,l,r,!1);for(let n of(e.insertDocumentScoreParameters(t,r,o,i,u),i))e.insertTokenScoreParameters(t,r,o,i,n),s.insert(n,o);break}case"Flat":s.insert(n,o);break;case"BKD":s.insert(n,[o])}};if(!B(s))return g(i);let m=i.length;for(let e=0;e<m;e++)g(i[e])}function ew(e,t,r,n,o,i,s,l,a,u){if(L(s))return t.vectorIndexes[r].node.remove(o),!0;let{type:c,node:f}=t.indexes[r];switch(c){case"AVL":return f.removeDocument(i,o),!0;case"Bool":return f[i?"true":"false"].delete(o),!0;case"Radix":{let s=a.tokenize(i,l,r);for(let i of(e.removeDocumentScoreParameters(t,r,n,u),s))e.removeTokenScoreParameters(t,r,i),f.removeDocumentByWord(i,o);return!0}case"Flat":return f.removeDocument(o,i),!0;case"BKD":return f.removeDocByID(i,o),!1}}function eO(e,t,r,n,o,i,s,l,a,u){if(!B(s))return ew(e,t,r,n,o,i,s,l,a,u);let c=z[s],f=i.length;for(let s=0;s<f;s++)ew(e,t,r,n,o,i[s],c,l,a,u);return!0}function eN(e,t,r,n,o,i,s,l,a,u){let c=Array.from(n),f=e.avgFieldLength[t],d=e.fieldLengths[t],h=e.tokenOccurrences[t],p=e.frequencies[t],g="number"==typeof h[r]?h[r]??0:0,m=c.length;for(let e=0;e<m;e++){let n=c[e];if(a&&!a.has(n))continue;u.has(n)||u.set(n,new Map);let h=u.get(n);h.set(t,(h.get(t)||0)+1);let m=function(e,t,r,n,o,{k:i,b:s,d:l}){return Math.log(1+(r-t+.5)/(t+.5))*(l+e*(i+1))/(e+i*(1-s+s*n/o))}(p?.[n]?.[r]??0,g,o,d[n],f,i);s.has(n)?s.set(n,s.get(n)+m*l):s.set(n,m*l)}}function eT(e,t,r,n,o,i,s,l,a,u,c,f=0){let d=r.tokenize(t,n),h=d.length||1,p=new Map,g=new Map,m=new Map;for(let r of o){if(!(r in e.indexes))continue;let n=e.indexes[r],{type:o}=n;if("Radix"!==o)throw M("WRONG_SEARCH_PROPERTY_TYPE",r);let f=l[r]??1;if(f<=0)throw M("INVALID_BOOST_VALUE",f);0!==d.length||t||d.push("");let h=d.length;for(let t=0;t<h;t++){let o=d[t],l=n.node.find({term:o,exact:i,tolerance:s}),h=Object.keys(l);h.length>0&&g.set(o,!0);let y=h.length;for(let t=0;t<y;t++){let n=h[t],o=l[n];eN(e,r,n,o,u,a,m,f,c,p)}}}let y=Array.from(m.entries()).map(([e,t])=>[e,t]).sort((e,t)=>t[1]-e[1]);if(0===y.length)return[];if(1===f)return y;if(0===f){if(1===h)return y;for(let e of d)if(!g.get(e))return[];return y.filter(([e])=>{let t=p.get(e);return!!t&&Array.from(t.values()).some(e=>e===h)})}let b=y.filter(([e])=>{let t=p.get(e);return!!t&&Array.from(t.values()).some(e=>e===h)});if(b.length>0){let e=y.filter(([e])=>!b.some(([t])=>t===e)),t=Math.ceil(e.length*f);return[...b,...e.slice(0,t)]}return y}function ev(e){return e.searchableProperties}function e_(e){return e.searchablePropertiesWithTypes}function eD(e,t){let{indexes:r,vectorIndexes:n,searchableProperties:o,searchablePropertiesWithTypes:i,frequencies:s,tokenOccurrences:l,avgFieldLength:a,fieldLengths:u}=t,c={},f={};for(let e of Object.keys(r)){let{node:t,type:n,isArray:o}=r[e];switch(n){case"Radix":c[e]={type:"Radix",node:ec.fromJSON(t),isArray:o};break;case"Flat":c[e]={type:"Flat",node:el.fromJSON(t),isArray:o};break;case"AVL":c[e]={type:"AVL",node:es.fromJSON(t),isArray:o};break;case"BKD":c[e]={type:"BKD",node:ed.fromJSON(t),isArray:o};break;case"Bool":c[e]={type:"Bool",node:eh.fromJSON(t),isArray:o};break;default:c[e]=r[e]}}for(let e of Object.keys(n))f[e]={type:"Vector",isArray:!1,node:ep.fromJSON(n[e])};return{sharedInternalDocumentStore:e,indexes:c,vectorIndexes:f,searchableProperties:o,searchablePropertiesWithTypes:i,frequencies:s,tokenOccurrences:l,avgFieldLength:a,fieldLengths:u}}function eA(e){let{indexes:t,vectorIndexes:r,searchableProperties:n,searchablePropertiesWithTypes:o,frequencies:i,tokenOccurrences:s,avgFieldLength:l,fieldLengths:a}=e,u={};for(let e of Object.keys(r))u[e]=r[e].node.toJSON();let c={};for(let e of Object.keys(t)){let{type:r,node:n,isArray:o}=t[e];"Flat"===r||"Radix"===r||"AVL"===r||"BKD"===r||"Bool"===r?c[e]={type:r,node:n.toJSON(),isArray:o}:(c[e]=t[e],c[e].node=c[e].node.toJSON())}return{indexes:c,vectorIndexes:u,searchableProperties:n,searchablePropertiesWithTypes:o,frequencies:i,tokenOccurrences:s,avgFieldLength:l,fieldLengths:a}}function eE(e,t){e||(e=new Set);let r=t.length;for(let n=0;n<r;n++){let r=t[n].docIDs,o=r.length;for(let t=0;t<o;t++)e.add(r[t])}return e}function ek(e,t,r=!1){let n=r?ed.vincentyDistance:ed.haversineDistance,o=[],i=[];for(let{point:r}of e)i.push(n(t,r));let s=Math.max(...i),l=0;for(let{docIDs:t}of e){let e=s-i[l]+1;for(let r of t)o.push([r,e]);l++}return o.sort((e,t)=>t[1]-e[1]),o}function eP(e,t,r,n){return n?.enabled===!1?{disabled:!0}:function e(t,r,n,o,i){let s={language:t.tokenizer.language,sharedInternalDocumentStore:r,enabled:!0,isSorted:!0,sortableProperties:[],sortablePropertiesWithTypes:{},sorts:{}};for(let[l,a]of Object.entries(n)){let n=`${i}${i?".":""}${l}`;if(!o.includes(n)){if("object"==typeof a&&!Array.isArray(a)){let i=e(t,r,a,o,n);p(s.sortableProperties,i.sortableProperties),s.sorts={...s.sorts,...i.sorts},s.sortablePropertiesWithTypes={...s.sortablePropertiesWithTypes,...i.sortablePropertiesWithTypes};continue}if(!L(a))switch(a){case"boolean":case"number":case"string":s.sortableProperties.push(n),s.sortablePropertiesWithTypes[n]=a,s.sorts[n]={docs:new Map,orderedDocsToRemove:new Map,orderedDocs:[],type:a};break;case"geopoint":case"enum":case"enum[]":case"boolean[]":case"number[]":case"string[]":continue;default:throw M("INVALID_SORT_SCHEMA_TYPE",Array.isArray(a)?"array":a,n)}}}return s}(e,t,r,(n||{}).unsortableProperties||[],"")}function eR(e,t,r,n){if(!e.enabled)return;e.isSorted=!1;let o=F(e.sharedInternalDocumentStore,r),i=e.sorts[t];i.orderedDocsToRemove.has(o)&&ez(e,t),i.docs.set(o,i.orderedDocs.length),i.orderedDocs.push([o,n])}function eM(e){if(!e.isSorted&&e.enabled){for(let t of Object.keys(e.sorts))!function(e,t){let r,n=e.sorts[t];switch(n.type){case"string":r=ex.bind(null,e.language);break;case"number":r=eC.bind(null);break;case"boolean":r=eU.bind(null)}n.orderedDocs.sort(r);let o=n.orderedDocs.length;for(let e=0;e<o;e++){let t=n.orderedDocs[e][0];n.docs.set(t,e)}}(e,t);e.isSorted=!0}}function ex(e,t,r){return t[1].localeCompare(r[1],void 0!==e&&l.includes(e)?i[e]:void 0)}function eC(e,t){return e[1]-t[1]}function eU(e,t){return t[1]?-1:1}function ez(e,t){let r=e.sorts[t];r.orderedDocsToRemove.size&&(r.orderedDocs=r.orderedDocs.filter(e=>!r.orderedDocsToRemove.has(e[0])),r.orderedDocsToRemove.clear())}function eL(e,t,r){if(!e.enabled)return;let n=e.sorts[t],o=F(e.sharedInternalDocumentStore,r);n.docs.get(o)&&(n.docs.delete(o),n.orderedDocsToRemove.set(o,!0))}function eB(e,t,r){if(!e.enabled)throw M("SORT_DISABLED");let n=r.property,o="DESC"===r.order,i=e.sorts[n];if(!i)throw M("UNABLE_TO_SORT_ON_UNKNOWN_FIELD",n,e.sortableProperties.join(", "));return ez(e,n),eM(e),t.sort((t,r)=>{let n=i.docs.get(F(e.sharedInternalDocumentStore,t[0])),s=i.docs.get(F(e.sharedInternalDocumentStore,r[0])),l=void 0!==n,a=void 0!==s;return l||a?l?a?o?s-n:n-s:-1:1:0}),t}function eV(e){return e.enabled?e.sortableProperties:[]}function eW(e){return e.enabled?e.sortablePropertiesWithTypes:{}}function ej(e,t){if(!t.enabled)return{enabled:!1};let r=Object.keys(t.sorts).reduce((e,r)=>{let{docs:n,orderedDocs:o,type:i}=t.sorts[r];return e[r]={docs:new Map(Object.entries(n).map(([e,t])=>[+e,t])),orderedDocsToRemove:new Map,orderedDocs:o,type:i},e},{});return{sharedInternalDocumentStore:e,language:t.language,sortableProperties:t.sortableProperties,sortablePropertiesWithTypes:t.sortablePropertiesWithTypes,sorts:r,enabled:!0,isSorted:t.isSorted}}function eF(e){if(!e.enabled)return{enabled:!1};for(let t of Object.keys(e.sorts))ez(e,t);eM(e);let t=Object.keys(e.sorts).reduce((t,r)=>{let{docs:n,orderedDocs:o,type:i}=e.sorts[r];return t[r]={docs:Object.fromEntries(n.entries()),orderedDocs:o,type:i},t},{});return{language:e.language,sortableProperties:e.sortableProperties,sortablePropertiesWithTypes:e.sortablePropertiesWithTypes,sorts:t,enabled:e.enabled,isSorted:e.isSorted}}let e$=[65,65,65,65,65,65,65,67,69,69,69,69,73,73,73,73,69,78,79,79,79,79,79,null,79,85,85,85,85,89,80,115,97,97,97,97,97,97,97,99,101,101,101,101,105,105,105,105,101,110,111,111,111,111,111,null,111,117,117,117,117,121,112,121,65,97,65,97,65,97,67,99,67,99,67,99,67,99,68,100,68,100,69,101,69,101,69,101,69,101,69,101,71,103,71,103,71,103,71,103,72,104,72,104,73,105,73,105,73,105,73,105,73,105,73,105,74,106,75,107,107,76,108,76,108,76,108,76,108,76,108,78,110,78,110,78,110,110,78,110,79,111,79,111,79,111,79,111,82,114,82,114,82,114,83,115,83,115,83,115,83,115,84,116,84,116,84,116,85,117,85,117,85,117,85,117,85,117,85,117,87,119,89,121,89,90,122,90,122,90,122,115],eG={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},eJ={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},eY="[aeiouy]",eH="[^aeiou][^aeiouy]*",eK=eY+"[aeiou]*",eq="^("+eH+")?"+eK+eH,eX="^("+eH+")?"+eK+eH+"("+eK+")?$",eZ="^("+eH+")?"+eK+eH+eK+eH,eQ="^("+eH+")?"+eY;function e0(e){let t,r,n,o,i,s;if(e.length<3)return e;let l=e.substring(0,1);if("y"==l&&(e=l.toUpperCase()+e.substring(1)),o=/^(.+?)([^s])s$/,(n=/^(.+?)(ss|i)es$/).test(e)?e=e.replace(n,"$1$2"):o.test(e)&&(e=e.replace(o,"$1$2")),o=/^(.+?)(ed|ing)$/,(n=/^(.+?)eed$/).test(e)){let t=n.exec(e);(n=new RegExp(eq)).test(t[1])&&(n=/.$/,e=e.replace(n,""))}else o.test(e)&&(t=o.exec(e)[1],(o=new RegExp(eQ)).test(t)&&(e=t,o=/(at|bl|iz)$/,i=RegExp("([^aeiouylsz])\\1$"),s=RegExp("^"+eH+eY+"[^aeiouwxy]$"),o.test(e)?e+="e":i.test(e)?(n=/.$/,e=e.replace(n,"")):s.test(e)&&(e+="e")));if((n=/^(.+?)y$/).test(e)){let r=n.exec(e);t=r?.[1],n=new RegExp(eQ),t&&n.test(t)&&(e=t+"i")}if((n=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/).test(e)){let o=n.exec(e);t=o?.[1],r=o?.[2],n=new RegExp(eq),t&&n.test(t)&&(e=t+eG[r])}if((n=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/).test(e)){let o=n.exec(e);t=o?.[1],r=o?.[2],n=new RegExp(eq),t&&n.test(t)&&(e=t+eJ[r])}if(o=/^(.+?)(s|t)(ion)$/,(n=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/).test(e)){let r=n.exec(e);t=r?.[1],n=new RegExp(eZ),t&&n.test(t)&&(e=t)}else if(o.test(e)){let r=o.exec(e);t=r?.[1]??""+r?.[2]??"",(o=new RegExp(eZ)).test(t)&&(e=t)}if((n=/^(.+?)e$/).test(e)){let r=n.exec(e);t=r?.[1],n=new RegExp(eZ),o=new RegExp(eX),i=RegExp("^"+eH+eY+"[^aeiouwxy]$"),t&&(n.test(t)||o.test(t)&&!i.test(t))&&(e=t)}return n=/ll$/,o=new RegExp(eZ),n.test(e)&&o.test(e)&&(n=/.$/,e=e.replace(n,"")),"y"==l&&(e=l.toLowerCase()+e.substring(1)),e}function e1(e,t,r=!0){let n=`${this.language}:${e}:${t}`;return r&&this.normalizationCache.has(n)?this.normalizationCache.get(n):this.stopWords?.includes(t)?(r&&this.normalizationCache.set(n,""),""):(this.stemmer&&!this.stemmerSkipProperties.has(e)&&(t=this.stemmer(t)),t=function(e){let t=[];for(let n=0;n<e.length;n++){var r;t[n]=(r=e.charCodeAt(n))<192||r>383?r:e$[r-192]||r}return String.fromCharCode(...t)}(t),r&&this.normalizationCache.set(n,t),t)}function e9(e,t,r,n=!0){let o;if(t&&t!==this.language)throw M("LANGUAGE_NOT_SUPPORTED",t);if("string"!=typeof e)return[e];let i=this.normalizeToken.bind(this,r??"");if(r&&this.tokenizeSkipProperties.has(r))o=[i(e,n)];else{let t=s[this.language];o=e.toLowerCase().split(t).map(e=>i(e,n)).filter(Boolean)}let l=function(e){for(;""===e[e.length-1];)e.pop();for(;""===e[0];)e.shift();return e}(o);return this.allowDuplicates?l:Array.from(new Set(l))}function e7(e={}){let t,r;if(e.language){if(!l.includes(e.language))throw M("LANGUAGE_NOT_SUPPORTED",e.language)}else e.language="english";if(e.stemming||e.stemmer&&!("stemming"in e))if(e.stemmer){if("function"!=typeof e.stemmer)throw M("INVALID_STEMMER_FUNCTION_TYPE");t=e.stemmer}else if("english"===e.language)t=e0;else throw M("MISSING_STEMMER",e.language);if(!1!==e.stopWords){if(r=[],Array.isArray(e.stopWords))r=e.stopWords;else if("function"==typeof e.stopWords)r=e.stopWords(r);else if(e.stopWords)throw M("CUSTOM_STOP_WORDS_MUST_BE_FUNCTION_OR_ARRAY");if(!Array.isArray(r))throw M("CUSTOM_STOP_WORDS_MUST_BE_FUNCTION_OR_ARRAY");for(let e of r)if("string"!=typeof e)throw M("CUSTOM_STOP_WORDS_MUST_BE_FUNCTION_OR_ARRAY")}let n={tokenize:e9,language:e.language,stemmer:t,stemmerSkipProperties:new Set(e.stemmerSkipProperties?[e.stemmerSkipProperties].flat():[]),tokenizeSkipProperties:new Set(e.tokenizeSkipProperties?[e.tokenizeSkipProperties].flat():[]),stopWords:r,allowDuplicates:!!e.allowDuplicates,normalizeToken:e1,normalizationCache:new Map};return n.tokenize=e9.bind(n),n.normalizeToken=e1,n}function e5(e){return{sharedInternalDocumentStore:e,rules:new Map}}function e2(e,t){if(e.rules.has(t.id))throw Error(`PINNING_RULE_ALREADY_EXISTS: A pinning rule with id "${t.id}" already exists. Use updateRule to modify it.`);e.rules.set(t.id,t)}function e6(e,t){if(!e.rules.has(t.id))throw Error(`PINNING_RULE_NOT_FOUND: Cannot update pinning rule with id "${t.id}" because it does not exist. Use addRule to create it.`);e.rules.set(t.id,t)}function e8(e,t){return e.rules.delete(t)}function e3(e,t){return e.rules.get(t)}function e4(e){return Array.from(e.rules.values())}function te(e,t){if(!t)return[];let r=[];for(let n of e.rules.values())(function(e,t){return!!e&&t.conditions.every(t=>(function(e,t){let r=e.toLowerCase().trim(),n=t.pattern.toLowerCase().trim();switch(t.anchoring){case"is":return r===n;case"starts_with":return r.startsWith(n);case"contains":return r.includes(n);default:return!1}})(e,t))})(t,n)&&r.push(n);return r}function tt(e,t){return{sharedInternalDocumentStore:e,rules:new Map(t?.rules??[])}}function tr(e){return{rules:Array.from(e.rules.entries())}}let tn="fulltext";function to(e,t){return e[1]-t[1]}function ti(e,t){return t[1]-e[1]}function ts(e,t,r){let n={},o=t.map(([e])=>e),i=e.documentsStore.getMultiple(e.data.docs,o),s=Object.keys(r),l=e.index.getSearchablePropertiesWithTypes(e.data.index);for(let e of s){let t;if("number"===l[e]){let{ranges:n}=r[e],o=n.length,i=Array.from({length:o});for(let e=0;e<o;e++){let t=n[e];i[e]=[`${t.from}-${t.to}`,0]}t=Object.fromEntries(i)}n[e]={count:0,values:t??{}}}let a=i.length;for(let e=0;e<a;e++){let t=i[e];for(let e of s){let o=e.includes(".")?O(t,e):t[e],i=l[e],s=n[e].values;switch(i){case"number":tl(r[e].ranges,s)(o);break;case"number[]":{let t=new Set,n=tl(r[e].ranges,s,t);for(let e of o)n(e);break}case"boolean":case"enum":case"string":ta(s,i)(o);break;case"boolean[]":case"enum[]":case"string[]":{let e=ta(s,"boolean[]"===i?"boolean":"string",new Set);for(let t of o)e(t);break}default:throw M("FACET_NOT_SUPPORTED",i)}}}for(let e of s){let t=n[e];if(t.count=Object.keys(t.values).length,"string"===l[e]){let n=r[e],o=function(e="desc"){return"asc"===e.toLowerCase()?to:ti}(n.sort);t.values=Object.fromEntries(Object.entries(t.values).sort(o).slice(n.offset??0,n.limit??10))}}return n}function tl(e,t,r){return n=>{for(let o of e){let e=`${o.from}-${o.to}`;!r?.has(e)&&n>=o.from&&n<=o.to&&(void 0===t[e]?t[e]=1:(t[e]++,r?.add(e)))}}}function ta(e,t,r){let n="boolean"===t?"false":"";return t=>{let o=t?.toString()??n;r?.has(o)||(e[o]=(e[o]??0)+1,r?.add(o))}}let tu={reducer:(e,t,r,n)=>(t[n]=r,t),getInitialValue:e=>Array.from({length:e})},tc=["string","number","boolean"];function tf(e,t,r){let n=r.properties,o=n.length,i=e.index.getSearchablePropertiesWithTypes(e.data.index);for(let e=0;e<o;e++){let t=n[e];if(void 0===i[t])throw M("UNKNOWN_GROUP_BY_PROPERTY",t);if(!tc.includes(i[t]))throw M("INVALID_GROUP_BY_PROPERTY",t,tc.join(", "),i[t])}let s=t.map(([t])=>$(e.internalDocumentIDStore,t)),l=e.documentsStore.getMultiple(e.data.docs,s),a=l.length,u=r.maxResult||Number.MAX_SAFE_INTEGER,c=[],f={};for(let e=0;e<o;e++){let t=n[e],r={property:t,perValue:{}},o=new Set;for(let e=0;e<a;e++){let n=O(l[e],t);if(void 0===n)continue;let i="boolean"!=typeof n?n:""+n,s=r.perValue[i]??{indexes:[],count:0};s.count>=u||(s.indexes.push(e),s.count++,r.perValue[i]=s,o.add(n))}c.push(Array.from(o)),f[t]=r}let d=function e(t,r=0){if(r+1===t.length)return t[r].map(e=>[e]);let n=t[r],o=e(t,r+1),i=[];for(let e of n)for(let t of o){let r=[e];p(r,t),i.push(r)}return i}(c),h=d.length,g=[];for(let e=0;e<h;e++){let t=d[e],r=t.length,o={values:[],indexes:[]},i=[];for(let e=0;e<r;e++){let r=t[e],s=n[e];i.push(f[s].perValue["boolean"!=typeof r?r:""+r].indexes),o.values.push(r)}o.indexes=(function(e){if(0===e.length)return[];if(1===e.length)return e[0];for(let t=1;t<e.length;t++)if(e[t].length<e[0].length){let r=e[0];e[0]=e[t],e[t]=r}let t=new Map;for(let r of e[0])t.set(r,1);for(let r=1;r<e.length;r++){let n=0;for(let o of e[r]){let e=t.get(o);e===r&&(t.set(o,e+1),n++)}if(0===n)return[]}return e[0].filter(r=>{let n=t.get(r);return void 0!==n&&t.set(r,0),n===e.length})})(i).sort((e,t)=>e-t),0!==o.indexes.length&&g.push(o)}let m=g.length,y=Array.from({length:m});for(let e=0;e<m;e++){let n=g[e],o=r.reduce||tu,i=n.indexes.map(e=>({id:s[e],score:t[e][1],document:l[e]})),a=o.reducer.bind(null,n.values),u=o.getInitialValue(n.indexes.length),c=i.reduce(a,u);y[e]={values:n.values,result:c}}return y}function td(e,t,r,n){let o=te(t,n);if(0===o.length)return r;let i=o.flatMap(e=>e.consequence.promote);i.sort((e,t)=>e.position-t.position);let s=new Set,l=new Map,a=new Set;for(let t of i){let r=F(e.internalDocumentIDStore,t.doc_id);if(void 0!==r){if(l.has(r)){let e=l.get(r);t.position<e&&l.set(r,t.position);continue}a.has(t.position)||(s.add(r),l.set(r,t.position),a.add(t.position))}}if(0===l.size)return r;let u=r.filter(([e])=>!s.has(e)),c=[];for(let[t,n]of l.entries())r.find(([e])=>e===t)?c.push([t,1e6-n]):e.documentsStore.get(e.data.docs,t)&&c.push([t,0]);c.sort((e,t)=>(l.get(e[0])??1/0)-(l.get(t[0])??1/0));let f=[],d=new Map;for(let e of c){let t=l.get(e[0]);d.set(t,e)}let h=0,p=0;for(;p<u.length+c.length;)if(d.has(p))f.push(d.get(p)),p++;else if(h<u.length)f.push(u[h]),h++,p++;else break;for(let[e,t]of d.entries())e>=f.length&&f.push(t);return f}function th(e,t,r){let n,o,{term:i,properties:s}=t,l=e.data.index,a=e.caches.propertiesToSearch;if(!a){let t=e.index.getSearchablePropertiesWithTypes(l);a=(a=e.index.getSearchableProperties(l)).filter(e=>t[e].startsWith("string")),e.caches.propertiesToSearch=a}if(s&&"*"!==s){for(let e of s)if(!a.includes(e))throw M("UNKNOWN_INDEX",e,a.join(", "));a=a.filter(e=>s.includes(e))}let u=Object.keys(t.where??{}).length>0;u&&(n=e.index.searchByWhereClause(l,e.tokenizer,t.where,r));let c=void 0!==t.threshold&&null!==t.threshold?t.threshold:1;if(i||s){let s=e.documentsStore.count(e.data.docs);if(o=e.index.search(l,i||"",e.tokenizer,r,a,t.exact||!1,t.tolerance||0,t.boost||{},function(e){let t=e??{};return t.k=t.k??tp.k,t.b=t.b??tp.b,t.d=t.d??tp.d,t}(t.relevance),s,n,c),t.exact&&i){let t=i.trim().split(/\s+/);o=o.filter(([r])=>{let n=e.documentsStore.get(e.data.docs,r);if(!n)return!1;for(let e of a){let r=function(e,t){let r=t.split("."),n=e;for(let e of r)if(!n||"object"!=typeof n||!(e in n))return;else n=n[e];return n}(n,e);if("string"==typeof r&&t.every(e=>RegExp(`\\b${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\b`).test(r)))return!0}return!1})}}else if(u){let e=function(e,t){let r,n=function(e,t){let r=Object.keys(e);if(1!==r.length)return{isGeoOnly:!1};let n=r[0],o=e[n];if(void 0===t.indexes[n])return{isGeoOnly:!1};let{type:i}=t.indexes[n];return"BKD"===i&&o&&("radius"in o||"polygon"in o)?{isGeoOnly:!0,geoProperty:n,geoOperation:o}:{isGeoOnly:!1}}(t,e);if(!n.isGeoOnly||!n.geoProperty||!n.geoOperation)return null;let{node:o}=e.indexes[n.geoProperty],i=n.geoOperation;if("radius"in i){let{value:e,coordinates:t,unit:n="m",inside:s=!0,highPrecision:l=!1}=i.radius,a=T(e,n);return ek(r=o.searchByRadius(t,a,s,"asc",l),t,l)}if("polygon"in i){let{coordinates:e,inside:t=!0,highPrecision:n=!1}=i.polygon;return ek(r=o.searchByPolygon(e,t,"asc",n),ed.calculatePolygonCentroid(e),n)}return null}(l,t.where);o=e||(n?Array.from(n):[]).map(e=>[+e,0])}else o=Object.keys(e.documentsStore.getAll(e.data.docs)).map(e=>[+e,0]);return o}let tp={k:1.2,b:.75,d:.5};function tg(e,t,r){let n,o=t.vector;if(o&&(!("value"in o)||!("property"in o)))throw M("INVALID_VECTOR_INPUT",Object.keys(o).join(", "));let i=e.data.index.vectorIndexes[o.property];if(!i)throw M("UNKNOWN_VECTOR_PROPERTY",o.property);let s=i.node.size;if(o?.value.length!==s){if(o?.property===void 0||o?.value.length===void 0)throw M("INVALID_INPUT_VECTOR","undefined",s,"undefined");throw M("INVALID_INPUT_VECTOR",o.property,s,o.value.length)}let l=e.data.index;return Object.keys(t.where??{}).length>0&&(n=e.index.searchByWhereClause(l,e.tokenizer,t.where,r)),i.node.find(o.value,t.similarity??.8,n)}function tm(e){return e[1]}function ty(e,t,r){let n=t.mode??tn;if(n===tn){let n=y();function o(){let o,i=Object.keys(e.data.index.vectorIndexes),s=t.facets&&Object.keys(t.facets).length>0,{limit:l=10,offset:a=0,distinctOn:u,includeVectors:c=!1}=t,f=!0===t.preflight,d=th(e,t,r);if(t.sortBy)if("function"==typeof t.sortBy){let r=d.map(([e])=>e),n=e.documentsStore.getMultiple(e.data.docs,r).map((e,t)=>[d[t][0],d[t][1],e]);n.sort(t.sortBy),d=n.map(([e,t])=>[e,t])}else d=e.sorter.sortBy(e.data.sorting,d,t.sortBy).map(([t,r])=>[F(e.internalDocumentIDStore,t),r]);else d=d.sort(I);d=td(e,e.data.pinning,d,t.term),f||(o=u?function(e,t,r,n,o){let i=e.data.docs,s=new Map,l=[],a=new Set,u=t.length,c=0;for(let f=0;f<u;f++){let u=t[f];if(void 0===u)continue;let[d,h]=u;if(a.has(d))continue;let p=e.documentsStore.get(i,d),g=O(p,o);if(!(void 0===g||s.has(g))&&(s.set(g,!0),!(++c<=r)&&(l.push({id:$(e.internalDocumentIDStore,d),score:h,document:p}),a.add(d),c>=r+n)))break}return l}(e,d,a,l,u):tb(e,d,a,l));let h={elapsed:{formatted:"",raw:0},hits:[],count:d.length};return void 0!==o&&(h.hits=o.filter(Boolean),c||v(h,i)),s&&(h.facets=ts(e,d,t.facets)),t.groupBy&&(h.groups=tf(e,d,t.groupBy)),h.elapsed=e.formatElapsedTime(y()-n),h}async function i(){e.beforeSearch&&await eo(e.beforeSearch,e,t,r);let n=o();return e.afterSearch&&await en(e.afterSearch,e,t,r,n),n}return e.beforeSearch?.length||e.afterSearch?.length?i():o()}if("vector"===n)return function(e,t,r="english"){let n=y();function o(){let o=tg(e,t,r).sort(I);o=td(e,e.data.pinning,o,void 0);let i=[];t.facets&&Object.keys(t.facets).length>0&&(i=ts(e,o,t.facets));let s=t.vector.property,l=t.includeVectors??!1,a=t.limit??10,u=t.offset??0,c=Array.from({length:a});for(let t=0;t<a;t++){let r=o[t+u];if(!r)break;let n=e.data.docs.docs[r[0]];if(n){l||(n[s]=null);let o={id:$(e.internalDocumentIDStore,r[0]),score:r[1],document:n};c[t]=o}}let f=[];t.groupBy&&(f=tf(e,o,t.groupBy));let d=y()-n;return{count:o.length,hits:c.filter(Boolean),elapsed:{raw:Number(d),formatted:m(d)},...i?{facets:i}:{},...f?{groups:f}:{}}}async function i(){e.beforeSearch&&await eo(e.beforeSearch,e,t,r);let n=o();return e.afterSearch&&await en(e.afterSearch,e,t,r,n),n}return e.beforeSearch?.length||e.afterSearch?.length?i():o()}(e,t);if("hybrid"===n)return function(e,t,r){let n=y();function o(){let r,o,i=function(e,t,r){let n=function(e){let t=Math.max.apply(Math,e.map(tm));return e.map(([e,r])=>[e,r/t])}(th(e,t,r)),o=tg(e,t,r),i=t.hybridWeights;return function(e,t,r,n){let o=Math.max.apply(Math,e.map(tm)),i=Math.max.apply(Math,t.map(tm)),{text:s,vector:l}=n&&n.text&&n.vector?n:{text:.5,vector:.5},a=new Map,u=e.length,c=(e,t)=>e*s+t*l;for(let t=0;t<u;t++){let[r,n]=e[t],i=c(n/o,0);a.set(r,i)}let f=t.length;for(let e=0;e<f;e++){let[r,n]=t[e],o=n/i,s=a.get(r)??0;a.set(r,s+c(0,o))}return[...a].sort((e,t)=>t[1]-e[1])}(n,o,t.term??"",i)}(e,t,void 0);i=td(e,e.data.pinning,i,t.term),t.facets&&Object.keys(t.facets).length>0&&(r=ts(e,i,t.facets)),t.groupBy&&(o=tf(e,i,t.groupBy));let s=tb(e,i,t.offset??0,t.limit??10).filter(Boolean),l=y(),a={count:i.length,elapsed:{raw:Number(l-n),formatted:m(l-n)},hits:s,...r?{facets:r}:{},...o?{groups:o}:{}};return t.includeVectors||v(a,Object.keys(e.data.index.vectorIndexes)),a}async function i(){e.beforeSearch&&await eo(e.beforeSearch,e,t,void 0);let n=o();return e.afterSearch&&await en(e.afterSearch,e,t,r,n),n}return e.beforeSearch?.length||e.afterSearch?.length?i():o()}(e,t);throw M("INVALID_SEARCH_MODE",n)}function tb(e,t,r,n){let o=e.data.docs,i=Array.from({length:n}),s=new Set;for(let l=r;l<n+r;l++){let r=t[l];if(void 0===r)break;let[n,a]=r;if(!s.has(n)){let t=e.documentsStore.get(o,n);i[l]={id:$(e.internalDocumentIDStore,n),score:a,document:t},s.add(n)}}return i}function tS(e,t){e.internalDocumentIDStore.load(e,t.internalDocumentIDStore),e.data.index=e.index.load(e.internalDocumentIDStore,t.index),e.data.docs=e.documentsStore.load(e.internalDocumentIDStore,t.docs),e.data.sorting=e.sorter.load(e.internalDocumentIDStore,t.sorting),e.data.pinning=e.pinning.load(e.internalDocumentIDStore,t.pinning),e.tokenizer.language=t.language}async function tI(e,t,r={}){let n=(0,o.r)(t);return(await ty(e,{term:t,tolerance:1,...r,boost:{title:2,..."boost"in r?r.boost:void 0}})).hits.map(e=>({type:"page",content:e.document.title,breadcrumbs:e.document.breadcrumbs,contentWithHighlights:n.highlight(e.document.title),id:e.document.url,url:e.document.url}))}async function tw(e,t,r=[],{mode:i="fulltext",...s}={}){"string"==typeof r&&(r=[r]);let l={...s,mode:i,where:(0,n.B)({tags:r.length>0?{containsAll:r}:void 0,...s.where}),groupBy:{properties:["page_id"],maxResult:8,...s.groupBy}};t.length>0&&(l={...l,term:t,properties:"fulltext"===i?["content"]:["content","embeddings"]});let a=(0,o.r)(t),u=await ty(e,l),c=[];for(let t of u.groups??[]){let r=t.values[0],n=e.documentsStore.get(e.data.docs,r);if(n)for(let e of(c.push({id:r,type:"page",content:n.content,breadcrumbs:n.breadcrumbs,contentWithHighlights:a.highlight(n.content),url:n.url}),t.result))"page"!==e.document.type&&c.push({id:e.document.id.toString(),content:e.document.content,breadcrumbs:e.document.breadcrumbs,contentWithHighlights:a.highlight(e.document.content),type:e.document.type,url:e.document.url})}return c}Symbol("orama.insertions"),Symbol("orama.removals"),r(6640);var tO=new Map;async function tN({from:e="/api/search",initOrama:t=e=>(function({schema:e,sort:t,language:r,components:n,id:o,plugins:i}){for(let t of(n||(n={}),i??[])){if(!("getComponents"in t)||"function"!=typeof t.getComponents)continue;let r=t.getComponents(e);for(let e of Object.keys(r))if(n[e])throw M("PLUGIN_COMPONENT_CONFLICT",e,t.name);n={...n,...r}}o||(o=b());let s=n.tokenizer,l=n.index,a=n.documentsStore,u=n.sorter,c=n.pinning;if(s=s?s.tokenize?s:e7(s):e7({language:r??"english"}),n.tokenizer&&r)throw M("NO_LANGUAGE_WITH_CUSTOM_TOKENIZER");let f={idToInternalId:new Map,internalIdToId:[],save:W,load:j};l||={create:function e(t,r,n,o,i=""){for(let[s,l]of(o||(o={sharedInternalDocumentStore:r,indexes:{},vectorIndexes:{},searchableProperties:[],searchablePropertiesWithTypes:{},frequencies:{},tokenOccurrences:{},avgFieldLength:{},fieldLengths:{}}),Object.entries(n))){let n=`${i}${i?".":""}${s}`;if("object"==typeof l&&!Array.isArray(l)){e(t,r,l,o,n);continue}if(L(l))o.searchableProperties.push(n),o.searchablePropertiesWithTypes[n]=l,o.vectorIndexes[n]={type:"Vector",node:new ep(V(l)),isArray:!1};else{let e=/\[/.test(l);switch(l){case"boolean":case"boolean[]":o.indexes[n]={type:"Bool",node:new eh,isArray:e};break;case"number":case"number[]":o.indexes[n]={type:"AVL",node:new es(0,[]),isArray:e};break;case"string":case"string[]":o.indexes[n]={type:"Radix",node:new ec,isArray:e},o.avgFieldLength[n]=0,o.frequencies[n]={},o.tokenOccurrences[n]={},o.fieldLengths[n]={};break;case"enum":case"enum[]":o.indexes[n]={type:"Flat",node:new el,isArray:e};break;case"geopoint":o.indexes[n]={type:"BKD",node:new ed,isArray:e};break;default:throw M("INVALID_SCHEMA_TYPE",Array.isArray(l)?"array":l,n)}o.searchableProperties.push(n),o.searchablePropertiesWithTypes[n]=l}}return o},insert:eI,remove:eO,insertDocumentScoreParameters:em,insertTokenScoreParameters:ey,removeDocumentScoreParameters:eb,removeTokenScoreParameters:eS,calculateResultScores:eN,search:eT,searchByWhereClause:function e(t,r,n,o){if("and"in n&&n.and&&Array.isArray(n.and)){let i=n.and;return 0===i.length?new Set:A(...i.map(n=>e(t,r,n,o)))}if("or"in n&&n.or&&Array.isArray(n.or)){let i=n.or;return 0===i.length?new Set:i.map(n=>e(t,r,n,o)).reduce((e,t)=>k(e,t),new Set)}if("not"in n&&n.not){let i=n.not,s=new Set,l=t.sharedInternalDocumentStore;for(let e=1;e<=l.internalIdToId.length;e++)s.add(e);let a=e(t,r,i,o),u=new Set;for(let e of s)a.has(e)||u.add(e);return u}let i=Object.keys(n),s=i.reduce((e,t)=>({[t]:new Set,...e}),{});for(let e of i){let i=n[e];if(void 0===t.indexes[e])throw M("UNKNOWN_FILTER_PROPERTY",e);let{node:l,type:a,isArray:u}=t.indexes[e];if("Bool"===a){let t=i?l.true:l.false;s[e]=k(s[e],t);continue}if("BKD"===a){let t;if("radius"in i)t="radius";else if("polygon"in i)t="polygon";else throw Error(`Invalid operation ${i}`);if("radius"===t){let{value:r,coordinates:n,unit:o="m",inside:a=!0,highPrecision:u=!1}=i[t],c=T(r,o),f=l.searchByRadius(n,c,a,void 0,u);s[e]=eE(s[e],f)}else{let{coordinates:r,inside:n=!0,highPrecision:o=!1}=i[t],a=l.searchByPolygon(r,n,void 0,o);s[e]=eE(s[e],a)}continue}if("Radix"===a&&("string"==typeof i||Array.isArray(i))){for(let t of[i].flat())for(let n of r.tokenize(t,o,e)){let t=l.find({term:n,exact:!0});s[e]=function(e,t){e||(e=new Set);let r=Object.keys(t),n=r.length;for(let o=0;o<n;o++){let n=t[r[o]],i=n.length;for(let t=0;t<i;t++)e.add(n[t])}return e}(s[e],t)}continue}let c=Object.keys(i);if(c.length>1)throw M("INVALID_FILTER_OPERATION",c.length);if("Flat"===a){let t=new Set(u?l.filterArr(i):l.filter(i));s[e]=k(s[e],t);continue}if("AVL"===a){let t,r=c[0],n=i[r];switch(r){case"gt":t=l.greaterThan(n,!1);break;case"gte":t=l.greaterThan(n,!0);break;case"lt":t=l.lessThan(n,!1);break;case"lte":t=l.lessThan(n,!0);break;case"eq":t=l.find(n)??new Set;break;case"between":{let[e,r]=n;t=l.rangeSearch(e,r);break}default:throw M("INVALID_FILTER_OPERATION",r)}s[e]=k(s[e],t)}}return A(...Object.values(s))},getSearchableProperties:ev,getSearchablePropertiesWithTypes:e_,load:eD,save:eA},u||={create:eP,insert:eR,remove:eL,save:eF,load:ej,sortBy:eB,getSortableProperties:eV,getSortablePropertiesWithTypes:eW},a||={create:G,get:J,getMultiple:Y,getAll:H,store:K,remove:q,count:X,load:Z,save:Q},c||={create:e5,addRule:e2,updateRule:e6,removeRule:e8,getRule:e3,getAllRules:e4,getMatchingRules:te,load:tt,save:tr};var d=n;let h={formatElapsedTime:x,getDocumentIndexId:C,getDocumentProperties:w,validateSchema:function e(t,r){for(let[n,o]of Object.entries(r)){let r=t[n];if(void 0!==r&&("geopoint"!==o||"object"!=typeof r||"number"!=typeof r.lon||"number"!=typeof r.lat)&&("enum"!==o||"string"!=typeof r&&"number"!=typeof r)){if("enum[]"===o&&Array.isArray(r)){let e=r.length;for(let t=0;t<e;t++)if("string"!=typeof r[t]&&"number"!=typeof r[t])return n+"."+t;continue}if(L(o)){let e=V(o);if(!Array.isArray(r)||r.length!==e)throw M("INVALID_INPUT_VECTOR",n,e,r.length);continue}if(B(o)){if(!Array.isArray(r))return n;let e=z[o],t=r.length;for(let o=0;o<t;o++)if(typeof r[o]!==e)return n+"."+o;continue}if("object"==typeof o){if(!r||"object"!=typeof r)return n;let t=e(r,o);if(t)return n+"."+t;continue}if(typeof r!==o)return n}}}};for(let e of er)if(d[e]){if("function"!=typeof d[e])throw M("COMPONENT_MUST_BE_FUNCTION",e)}else d[e]=h[e];for(let e of Object.keys(d))if(!et.includes(e)&&!er.includes(e))throw M("UNSUPPORTED_COMPONENT",e);let{getDocumentProperties:p,getDocumentIndexId:g,validateSchema:m,formatElapsedTime:y}=n,S={data:{},caches:{},schema:e,tokenizer:s,index:l,sorter:u,documentsStore:a,pinning:c,internalDocumentIDStore:f,getDocumentProperties:p,getDocumentIndexId:g,validateSchema:m,beforeInsert:[],afterInsert:[],beforeRemove:[],afterRemove:[],beforeUpdate:[],afterUpdate:[],beforeUpsert:[],afterUpsert:[],beforeSearch:[],afterSearch:[],beforeInsertMultiple:[],afterInsertMultiple:[],beforeRemoveMultiple:[],afterRemoveMultiple:[],beforeUpdateMultiple:[],afterUpdateMultiple:[],beforeUpsertMultiple:[],afterUpsertMultiple:[],afterCreate:[],formatElapsedTime:y,id:o,plugins:i,version:"{{VERSION}}"};for(let r of(S.data={index:S.index.create(S,f,e),docs:S.documentsStore.create(S,f),sorting:S.sorter.create(S,f,e,t),pinning:S.pinning.create(f)},ee))S[r]=(S[r]??[]).concat(function(e,t){let r=[],n=e.plugins?.length;if(!n)return r;for(let o=0;o<n;o++)try{let n=e.plugins[o];"function"==typeof n[t]&&r.push(n[t])}catch(e){throw console.error("Caught error in getAllPluginsByHook:",e),M("PLUGIN_CRASHED")}return r}(S,r));let I=S.afterCreate;return I&&function(e,t){if(e.some(_))return(async()=>{for(let r of e)await r(t)})();for(let r of e)r(t)}(I,S),S})({schema:{_:"string"},language:e})}){let r=tO.get(e);if(r)return r;let n=async function(){let r=await fetch(e);if(!r.ok)throw Error(`failed to fetch exported search indexes from ${e}, make sure the search database is exported and available for client.`);let n=await r.json(),o=new Map;if("i18n"===n.type)return await Promise.all(Object.entries(n.data).map(async([e,r])=>{let n=await t(e);tS(n,r),o.set(e,{type:r.type,db:n})})),o;let i=await t();return tS(i,n),o.set("",{type:n.type,db:i}),o}();return tO.set(e,n),n}async function tT(e,t){let{tag:r,locale:n}=t,o=(await tN(t)).get(n??"");return o?"simple"===o.type?tI(o,e):tw(o.db,e,r):[]}}}]);
|
|
10
|
+
`,ANSWER_SESSION_LAST_MESSAGE_IS_NOT_ASSISTANT:"The last message in the session is not an assistant message. Cannot regenerate non-assistant messages.",PLUGIN_COMPONENT_CONFLICT:'The component "%s" is already defined. The plugin "%s" is trying to redefine it.'};function M(e,...t){let r=Error(function(e,...t){return e.replace(/%(?:(?<position>\d+)\$)?(?<width>-?\d*\.?\d*)(?<type>[dfs])/g,function(...e){let{width:r,type:n,position:o}=e[e.length-1],i=o?t[Number.parseInt(o)-1]:t.shift(),s=""===r?0:Number.parseInt(r);switch(n){case"d":return i.toString().padStart(s,"0");case"f":{let e=i,[t,n]=r.split(".").map(e=>Number.parseFloat(e));return"number"==typeof n&&n>=0&&(e=e.toFixed(n)),"number"==typeof t&&t>=0?e.toString().padStart(s,"0"):e.toString()}case"s":return s<0?i.toString().padEnd(-s," "):i.toString().padStart(s," ");default:return i}})}(R[e]??`Unsupported Orama Error code: ${e}`,...t));return r.code=e,"captureStackTrace"in Error.prototype&&Error.captureStackTrace(r),r}function x(e){return{raw:Number(e),formatted:m(e)}}function C(e){if(e.id){if("string"!=typeof e.id)throw M("DOCUMENT_ID_MUST_BE_STRING",typeof e.id);return e.id}return b()}let U={string:!1,number:!1,boolean:!1,enum:!1,geopoint:!1,"string[]":!0,"number[]":!0,"boolean[]":!0,"enum[]":!0},z={"string[]":"string","number[]":"number","boolean[]":"boolean","enum[]":"enum"};function L(e){return"string"==typeof e&&/^vector\[\d+\]$/.test(e)}function B(e){return"string"==typeof e&&U[e]}function V(e){let t=Number(e.slice(7,-1));switch(!0){case isNaN(t):throw M("INVALID_VECTOR_VALUE",e);case t<=0:throw M("INVALID_VECTOR_SIZE",e);default:return t}}function W(e){return{internalIdToId:e.internalIdToId}}function j(e,t){let{internalIdToId:r}=t;e.internalDocumentIDStore.idToInternalId.clear(),e.internalDocumentIDStore.internalIdToId=[];let n=r.length;for(let t=0;t<n;t++){let n=r[t];e.internalDocumentIDStore.idToInternalId.set(n,t+1),e.internalDocumentIDStore.internalIdToId.push(n)}}function F(e,t){if("string"==typeof t){let r=e.idToInternalId.get(t);if(r)return r;let n=e.idToInternalId.size+1;return e.idToInternalId.set(t,n),e.internalIdToId.push(t),n}return t>e.internalIdToId.length?F(e,t.toString()):t}function $(e,t){if(e.internalIdToId.length<t)throw Error(`Invalid internalId ${t}`);return e.internalIdToId[t-1]}function G(e,t){return{sharedInternalDocumentStore:t,docs:{},count:0}}function J(e,t){let r=F(e.sharedInternalDocumentStore,t);return e.docs[r]}function Y(e,t){let r=t.length,n=Array.from({length:r});for(let o=0;o<r;o++){let r=F(e.sharedInternalDocumentStore,t[o]);n[o]=e.docs[r]}return n}function H(e){return e.docs}function K(e,t,r,n){return void 0===e.docs[r]&&(e.docs[r]=n,e.count++,!0)}function q(e,t){let r=F(e.sharedInternalDocumentStore,t);return void 0!==e.docs[r]&&(delete e.docs[r],e.count--,!0)}function X(e){return e.count}function Z(e,t){return{docs:t.docs,count:t.count,sharedInternalDocumentStore:e}}function Q(e){return{docs:e.docs,count:e.count}}let ee=["beforeInsert","afterInsert","beforeRemove","afterRemove","beforeUpdate","afterUpdate","beforeUpsert","afterUpsert","beforeSearch","afterSearch","beforeInsertMultiple","afterInsertMultiple","beforeRemoveMultiple","afterRemoveMultiple","beforeUpdateMultiple","afterUpdateMultiple","beforeUpsertMultiple","afterUpsertMultiple","beforeLoad","afterLoad","afterCreate"],et=["tokenizer","index","documentsStore","sorter","pinning"],er=["validateSchema","getDocumentIndexId","getDocumentProperties","formatElapsedTime"];function en(e,t,r,n,o){if(e.some(_))return(async()=>{for(let i of e)await i(t,r,n,o)})();for(let i of e)i(t,r,n,o)}function eo(e,t,r,n){if(e.some(_))return(async()=>{for(let o of e)await o(t,r,n)})();for(let o of e)o(t,r,n)}class ei{k;v;l=null;r=null;h=1;constructor(e,t){this.k=e,this.v=new Set(t)}updateHeight(){this.h=Math.max(ei.getHeight(this.l),ei.getHeight(this.r))+1}static getHeight(e){return e?e.h:0}getBalanceFactor(){return ei.getHeight(this.l)-ei.getHeight(this.r)}rotateLeft(){let e=this.r;return this.r=e.l,e.l=this,this.updateHeight(),e.updateHeight(),e}rotateRight(){let e=this.l;return this.l=e.r,e.r=this,this.updateHeight(),e.updateHeight(),e}toJSON(){return{k:this.k,v:Array.from(this.v),l:this.l?this.l.toJSON():null,r:this.r?this.r.toJSON():null,h:this.h}}static fromJSON(e){let t=new ei(e.k,e.v);return t.l=e.l?ei.fromJSON(e.l):null,t.r=e.r?ei.fromJSON(e.r):null,t.h=e.h,t}}class es{root=null;insertCount=0;constructor(e,t){void 0!==e&&void 0!==t&&(this.root=new ei(e,t))}insert(e,t,r=1e3){this.root=this.insertNode(this.root,e,t,r)}insertMultiple(e,t,r=1e3){for(let n of t)this.insert(e,n,r)}rebalance(){this.root&&(this.root=this.rebalanceNode(this.root))}toJSON(){return{root:this.root?this.root.toJSON():null,insertCount:this.insertCount}}static fromJSON(e){let t=new es;return t.root=e.root?ei.fromJSON(e.root):null,t.insertCount=e.insertCount||0,t}insertNode(e,t,r,n){if(null===e)return new ei(t,[r]);let o=[],i=e,s=null;for(;null!==i;)if(o.push({parent:s,node:i}),t<i.k)if(null===i.l){i.l=new ei(t,[r]),o.push({parent:i,node:i.l});break}else s=i,i=i.l;else if(!(t>i.k))return i.v.add(r),e;else if(null===i.r){i.r=new ei(t,[r]),o.push({parent:i,node:i.r});break}else s=i,i=i.r;let l=!1;this.insertCount++%n==0&&(l=!0);for(let t=o.length-1;t>=0;t--){let{parent:r,node:n}=o[t];if(n.updateHeight(),l){let t=this.rebalanceNode(n);r?r.l===n?r.l=t:r.r===n&&(r.r=t):e=t}}return e}rebalanceNode(e){let t=e.getBalanceFactor();if(t>1){if(e.l&&e.l.getBalanceFactor()>=0)return e.rotateRight();else if(e.l)return e.l=e.l.rotateLeft(),e.rotateRight()}if(t<-1){if(e.r&&0>=e.r.getBalanceFactor())return e.rotateLeft();else if(e.r)return e.r=e.r.rotateRight(),e.rotateLeft()}return e}find(e){let t=this.findNodeByKey(e);return t?t.v:null}contains(e){return null!==this.find(e)}getSize(){let e=0,t=[],r=this.root;for(;r||t.length>0;){for(;r;)t.push(r),r=r.l;r=t.pop(),e++,r=r.r}return e}isBalanced(){if(!this.root)return!0;let e=[this.root];for(;e.length>0;){let t=e.pop();if(Math.abs(t.getBalanceFactor())>1)return!1;t.l&&e.push(t.l),t.r&&e.push(t.r)}return!0}remove(e){this.root=this.removeNode(this.root,e)}removeDocument(e,t){let r=this.findNodeByKey(e);r&&(1===r.v.size?this.root=this.removeNode(this.root,e):r.v=new Set([...r.v.values()].filter(e=>e!==t)))}findNodeByKey(e){let t=this.root;for(;t;)if(e<t.k)t=t.l;else{if(!(e>t.k))return t;t=t.r}return null}removeNode(e,t){if(null===e)return null;let r=[],n=e;for(;null!==n&&n.k!==t;)r.push(n),n=t<n.k?n.l:n.r;if(null===n)return e;if(null===n.l||null===n.r){let t=n.l?n.l:n.r;if(0===r.length)e=t;else{let e=r[r.length-1];e.l===n?e.l=t:e.r=t}}else{let e=n,t=n.r;for(;null!==t.l;)e=t,t=t.l;n.k=t.k,n.v=t.v,e.l===t?e.l=t.r:e.r=t.r,n=e}r.push(n);for(let t=r.length-1;t>=0;t--){let n=r[t];n.updateHeight();let o=this.rebalanceNode(n);if(t>0){let e=r[t-1];e.l===n?e.l=o:e.r===n&&(e.r=o)}else e=o}return e}rangeSearch(e,t){let r=new Set,n=[],o=this.root;for(;o||n.length>0;){for(;o;)n.push(o),o=o.l;if((o=n.pop()).k>=e&&o.k<=t)for(let e of o.v)r.add(e);if(o.k>t)break;o=o.r}return r}greaterThan(e,t=!1){let r=new Set,n=[],o=this.root;for(;o||n.length>0;){for(;o;)n.push(o),o=o.r;if(o=n.pop(),t&&o.k>=e||!t&&o.k>e)for(let e of o.v)r.add(e);else if(o.k<=e)break;o=o.l}return r}lessThan(e,t=!1){let r=new Set,n=[],o=this.root;for(;o||n.length>0;){for(;o;)n.push(o),o=o.l;if(o=n.pop(),t&&o.k<=e||!t&&o.k<e)for(let e of o.v)r.add(e);else if(o.k>e)break;o=o.r}return r}}class el{numberToDocumentId;constructor(){this.numberToDocumentId=new Map}insert(e,t){this.numberToDocumentId.has(e)?this.numberToDocumentId.get(e).add(t):this.numberToDocumentId.set(e,new Set([t]))}find(e){let t=this.numberToDocumentId.get(e);return t?Array.from(t):null}remove(e){this.numberToDocumentId.delete(e)}removeDocument(e,t){let r=this.numberToDocumentId.get(t);r&&(r.delete(e),0===r.size&&this.numberToDocumentId.delete(t))}contains(e){return this.numberToDocumentId.has(e)}getSize(){let e=0;for(let t of this.numberToDocumentId.values())e+=t.size;return e}filter(e){let t=Object.keys(e);if(1!==t.length)throw Error("Invalid operation");let r=t[0];switch(r){case"eq":{let t=e[r],n=this.numberToDocumentId.get(t);return n?Array.from(n):[]}case"in":{let t=e[r],n=new Set;for(let e of t){let t=this.numberToDocumentId.get(e);if(t)for(let e of t)n.add(e)}return Array.from(n)}case"nin":{let t=new Set(e[r]),n=new Set;for(let[e,r]of this.numberToDocumentId.entries())if(!t.has(e))for(let e of r)n.add(e);return Array.from(n)}default:throw Error("Invalid operation")}}filterArr(e){let t=Object.keys(e);if(1!==t.length)throw Error("Invalid operation");let r=t[0];switch(r){case"containsAll":{let t=e[r].map(e=>this.numberToDocumentId.get(e)??new Set);if(0===t.length)return[];return Array.from(t.reduce((e,t)=>new Set([...e].filter(e=>t.has(e)))))}case"containsAny":{let t=e[r].map(e=>this.numberToDocumentId.get(e)??new Set);if(0===t.length)return[];return Array.from(t.reduce((e,t)=>new Set([...e,...t])))}default:throw Error("Invalid operation")}}static fromJSON(e){if(!e.numberToDocumentId)throw Error("Invalid Flat Tree JSON");let t=new el;for(let[r,n]of e.numberToDocumentId)t.numberToDocumentId.set(r,new Set(n));return t}toJSON(){return{numberToDocumentId:Array.from(this.numberToDocumentId.entries()).map(([e,t])=>[e,Array.from(t)])}}}function ea(e,t,r){let n=function(e,t,r){if(r<0)return -1;if(e===t)return 0;let n=e.length,o=t.length;if(0===n)return o<=r?o:-1;if(0===o)return n<=r?n:-1;let i=Math.abs(n-o);if(e.startsWith(t))return i<=r?i:-1;if(t.startsWith(e))return 0;if(i>r)return -1;let s=[];for(let e=0;e<=n;e++){s[e]=[e];for(let t=1;t<=o;t++)s[e][t]=0===e?t:0}for(let i=1;i<=n;i++){let n=1/0;for(let r=1;r<=o;r++)e[i-1]===t[r-1]?s[i][r]=s[i-1][r-1]:s[i][r]=Math.min(s[i-1][r]+1,s[i][r-1]+1,s[i-1][r-1]+1),n=Math.min(n,s[i][r]);if(n>r)return -1}return s[n][o]<=r?s[n][o]:-1}(e,t,r);return{distance:n,isBounded:n>=0}}class eu{k;s;c=new Map;d=new Set;e;w="";constructor(e,t,r){this.k=e,this.s=t,this.e=r}updateParent(e){this.w=e.w+this.s}addDocument(e){this.d.add(e)}removeDocument(e){return this.d.delete(e)}findAllWords(e,t,r,n){let o=[this];for(;o.length>0;){let i=o.pop();if(i.e){let{w:o,d:s}=i;if(r&&o!==t)continue;if(null!==S(e,o))if(n){if(!(Math.abs(t.length-o.length)<=n)||!ea(t,o,n).isBounded)continue;e[o]=[]}else e[o]=[];if(null!=S(e,o)&&s.size>0){let t=e[o];for(let e of s)t.includes(e)||t.push(e)}}i.c.size>0&&o.push(...i.c.values())}return e}insert(e,t){let r=this,n=0,o=e.length;for(;n<o;){let i=e[n],s=r.c.get(i);if(s){let i=s.s,l=i.length,a=0;for(;a<l&&n+a<o&&i[a]===e[n+a];)a++;if(a===l){if(r=s,(n+=a)===o){s.e||(s.e=!0),s.addDocument(t);return}continue}let u=i.slice(0,a),c=i.slice(a),f=e.slice(n+a),d=new eu(u[0],u,!1);if(r.c.set(u[0],d),d.updateParent(r),s.s=c,s.k=c[0],d.c.set(c[0],s),s.updateParent(d),f){let e=new eu(f[0],f,!0);e.addDocument(t),d.c.set(f[0],e),e.updateParent(d)}else d.e=!0,d.addDocument(t);return}{let o=new eu(i,e.slice(n),!0);o.addDocument(t),r.c.set(i,o),o.updateParent(r);return}}r.e||(r.e=!0),r.addDocument(t)}_findLevenshtein(e,t,r,n,o){let i=[{node:this,index:t,tolerance:r}];for(;i.length>0;){let{node:t,index:r,tolerance:s}=i.pop();if(t.w.startsWith(e)){t.findAllWords(o,e,!1,0);continue}if(s<0)continue;if(t.e){let{w:r,d:i}=t;if(r&&(ea(e,r,n).isBounded&&(o[r]=[]),void 0!==S(o,r)&&i.size>0)){let e=new Set(o[r]);for(let t of i)e.add(t);o[r]=Array.from(e)}}if(r>=e.length)continue;let l=e[r];if(t.c.has(l)){let e=t.c.get(l);i.push({node:e,index:r+1,tolerance:s})}for(let[e,n]of(i.push({node:t,index:r+1,tolerance:s-1}),t.c))i.push({node:n,index:r,tolerance:s-1}),e!==l&&i.push({node:n,index:r+1,tolerance:s-1})}}find(e){let{term:t,exact:r,tolerance:n}=e;if(n&&!r){let e={};return this._findLevenshtein(t,0,n,n,e),e}{let e=this,o=0,i=t.length;for(;o<i;){let s=t[o],l=e.c.get(s);if(!l)return{};{let s=l.s,a=s.length,u=0;for(;u<a&&o+u<i&&s[u]===t[o+u];)u++;if(u===a)e=l,o+=u;else{if(o+u!==i||u!==i-o||r)return{};let e={};return l.findAllWords(e,t,r,n),e}}}let s={};return e.findAllWords(s,t,r,n),s}}contains(e){let t=this,r=0,n=e.length;for(;r<n;){let o=e[r],i=t.c.get(o);if(!i)return!1;{let o=i.s,s=o.length,l=0;for(;l<s&&r+l<n&&o[l]===e[r+l];)l++;if(l<s)return!1;r+=s,t=i}}return!0}removeWord(e){if(!e)return!1;let t=this,r=e.length,n=[];for(let o=0;o<r;o++){let r=e[o];if(!t.c.has(r))return!1;{let e=t.c.get(r);n.push({parent:t,character:r}),o+=e.s.length-1,t=e}}for(t.d.clear(),t.e=!1;n.length>0&&0===t.c.size&&!t.e&&0===t.d.size;){let{parent:e,character:r}=n.pop();e.c.delete(r),t=e}return!0}removeDocumentByWord(e,t,r=!0){if(!e)return!0;let n=this,o=e.length;for(let i=0;i<o;i++){let o=e[i];if(!n.c.has(o))return!1;{let s=n.c.get(o);i+=s.s.length-1,n=s,r&&n.w!==e||n.removeDocument(t)}}return!0}static getCommonPrefix(e,t){let r=Math.min(e.length,t.length),n=0;for(;n<r&&e.charCodeAt(n)===t.charCodeAt(n);)n++;return e.slice(0,n)}toJSON(){return{w:this.w,s:this.s,e:this.e,k:this.k,d:Array.from(this.d),c:Array.from(this.c?.entries())?.map(([e,t])=>[e,t.toJSON()])}}static fromJSON(e){let t=new eu(e.k,e.s,e.e);return t.w=e.w,t.d=new Set(e.d),t.c=new Map(e?.c?.map(([e,t])=>[e,eu.fromJSON(t)])||[]),t}}class ec extends eu{constructor(){super("","",!1)}static fromJSON(e){let t=new ec;return t.w=e.w,t.s=e.s,t.e=e.e,t.k=e.k,t.d=new Set(e.d),t.c=new Map(e?.c?.map(([e,t])=>[e,eu.fromJSON(t)])||[]),t}toJSON(){return super.toJSON()}}class ef{point;docIDs;left;right;parent;constructor(e,t){this.point=e,this.docIDs=new Set(t),this.left=null,this.right=null,this.parent=null}toJSON(){return{point:this.point,docIDs:Array.from(this.docIDs),left:this.left?this.left.toJSON():null,right:this.right?this.right.toJSON():null}}static fromJSON(e,t=null){let r=new ef(e.point,e.docIDs);return r.parent=t,e.left&&(r.left=ef.fromJSON(e.left,r)),e.right&&(r.right=ef.fromJSON(e.right,r)),r}}class ed{root;nodeMap;constructor(){this.root=null,this.nodeMap=new Map}getPointKey(e){return`${e.lon},${e.lat}`}insert(e,t){let r=this.getPointKey(e),n=this.nodeMap.get(r);if(n)return void t.forEach(e=>n.docIDs.add(e));let o=new ef(e,t);if(this.nodeMap.set(r,o),null==this.root){this.root=o;return}let i=this.root,s=0;for(;;){if(0==s%2)if(e.lon<i.point.lon){if(null==i.left){i.left=o,o.parent=i;return}i=i.left}else{if(null==i.right){i.right=o,o.parent=i;return}i=i.right}else if(e.lat<i.point.lat){if(null==i.left){i.left=o,o.parent=i;return}i=i.left}else{if(null==i.right){i.right=o,o.parent=i;return}i=i.right}s++}}contains(e){let t=this.getPointKey(e);return this.nodeMap.has(t)}getDocIDsByCoordinates(e){let t=this.getPointKey(e),r=this.nodeMap.get(t);return r?Array.from(r.docIDs):null}removeDocByID(e,t){let r=this.getPointKey(e),n=this.nodeMap.get(r);n&&(n.docIDs.delete(t),0===n.docIDs.size&&(this.nodeMap.delete(r),this.deleteNode(n)))}deleteNode(e){let t=e.parent,r=e.left?e.left:e.right;r&&(r.parent=t),t?t.left===e?t.left=r:t.right===e&&(t.right=r):(this.root=r,this.root&&(this.root.parent=null))}searchByRadius(e,t,r=!0,n="asc",o=!1){let i=o?ed.vincentyDistance:ed.haversineDistance,s=[{node:this.root,depth:0}],l=[];for(;s.length>0;){let{node:n,depth:o}=s.pop();if(null==n)continue;let a=i(e,n.point);(r?a<=t:a>t)&&l.push({point:n.point,docIDs:Array.from(n.docIDs)}),null!=n.left&&s.push({node:n.left,depth:o+1}),null!=n.right&&s.push({node:n.right,depth:o+1})}return n&&l.sort((t,r)=>{let o=i(e,t.point),s=i(e,r.point);return"asc"===n.toLowerCase()?o-s:s-o}),l}searchByPolygon(e,t=!0,r=null,n=!1){let o=[{node:this.root,depth:0}],i=[];for(;o.length>0;){let{node:r,depth:n}=o.pop();if(null==r)continue;null!=r.left&&o.push({node:r.left,depth:n+1}),null!=r.right&&o.push({node:r.right,depth:n+1});let s=ed.isPointInPolygon(e,r.point);(s&&t||!s&&!t)&&i.push({point:r.point,docIDs:Array.from(r.docIDs)})}let s=ed.calculatePolygonCentroid(e);if(r){let e=n?ed.vincentyDistance:ed.haversineDistance;i.sort((t,n)=>{let o=e(s,t.point),i=e(s,n.point);return"asc"===r.toLowerCase()?o-i:i-o})}return i}toJSON(){return{root:this.root?this.root.toJSON():null}}static fromJSON(e){let t=new ed;return e.root&&(t.root=ef.fromJSON(e.root),t.buildNodeMap(t.root)),t}buildNodeMap(e){if(null==e)return;let t=this.getPointKey(e.point);this.nodeMap.set(t,e),e.left&&this.buildNodeMap(e.left),e.right&&this.buildNodeMap(e.right)}static calculatePolygonCentroid(e){let t=0,r=0,n=0,o=e.length;for(let i=0,s=o-1;i<o;s=i++){let o=e[i].lon,l=e[i].lat,a=e[s].lon,u=e[s].lat,c=o*u-a*l;t+=c,r+=(o+a)*c,n+=(l+u)*c}let i=6*(t/=2);return{lon:r/=i,lat:n/=i}}static isPointInPolygon(e,t){let r=!1,n=t.lon,o=t.lat,i=e.length;for(let t=0,s=i-1;t<i;s=t++){let i=e[t].lon,l=e[t].lat,a=e[s].lon,u=e[s].lat;l>o!=u>o&&n<(a-i)*(o-l)/(u-l)+i&&(r=!r)}return r}static haversineDistance(e,t){let r=Math.PI/180,n=e.lat*r,o=t.lat*r,i=(t.lat-e.lat)*r,s=(t.lon-e.lon)*r,l=Math.sin(i/2)*Math.sin(i/2)+Math.cos(n)*Math.cos(o)*Math.sin(s/2)*Math.sin(s/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}static vincentyDistance(e,t){let r,n,o,i,s,l,a,u=1/298.257223563,c=(1-1/298.257223563)*6378137,f=Math.PI/180,d=e.lat*f,h=t.lat*f,p=(t.lon-e.lon)*f,g=Math.atan((1-u)*Math.tan(d)),m=Math.atan((1-u)*Math.tan(h)),y=Math.sin(g),b=Math.cos(g),S=Math.sin(m),I=Math.cos(m),w=p,O=1e3;do{let e=Math.sin(w),t=Math.cos(w);if(0===(n=Math.sqrt(I*e*(I*e)+(b*S-y*I*t)*(b*S-y*I*t))))return 0;i=Math.atan2(n,o=y*S+b*I*t),isNaN(a=o-2*y*S/(l=1-(s=b*I*e/n)*s))&&(a=0);let c=u/16*l*(4+u*(4-3*l));r=w,w=p+(1-c)*u*s*(i+c*n*(a+c*o*(-1+2*a*a)))}while(Math.abs(w-r)>1e-12&&--O>0);if(0===O)return NaN;let N=l*(0x24ffb2985f71-c*c)/(c*c),T=1+N/16384*(4096+N*(-768+N*(320-175*N))),v=N/1024*(256+N*(-128+N*(74-47*N)));return c*T*(i-v*n*(a+v/4*(o*(-1+2*a*a)-v/6*a*(-3+4*n*n)*(-3+4*a*a))))}}class eh{true;false;constructor(){this.true=new Set,this.false=new Set}insert(e,t){t?this.true.add(e):this.false.add(e)}delete(e,t){t?this.true.delete(e):this.false.delete(e)}getSize(){return this.true.size+this.false.size}toJSON(){return{true:Array.from(this.true),false:Array.from(this.false)}}static fromJSON(e){let t=new eh;return t.true=new Set(e.true),t.false=new Set(e.false),t}}class ep{size;vectors=new Map;constructor(e){this.size=e}add(e,t){t instanceof Float32Array||(t=new Float32Array(t));let r=eg(t,this.size);this.vectors.set(e,[r,t])}remove(e){this.vectors.delete(e)}find(e,t,r){return e instanceof Float32Array||(e=new Float32Array(e)),function(e,t,r,n,o){let i=eg(e,n),s=[];for(let l of t||r.keys()){let t=r.get(l);if(!t)continue;let a=t[0],u=t[1],c=0;for(let t=0;t<n;t++)c+=e[t]*u[t];let f=c/(i*a);f>=o&&s.push([l,f])}return s}(e,r,this.vectors,this.size,t)}toJSON(){let e=[];for(let[t,[r,n]]of this.vectors)e.push([t,[r,Array.from(n)]]);return{size:this.size,vectors:e}}static fromJSON(e){let t=new ep(e.size);for(let[r,[n,o]]of e.vectors)t.vectors.set(r,[n,new Float32Array(o)]);return t}}function eg(e,t){let r=0;for(let n=0;n<t;n++)r+=e[n]*e[n];return Math.sqrt(r)}function em(e,t,r,n,o){let i=F(e.sharedInternalDocumentStore,r);e.avgFieldLength[t]=((e.avgFieldLength[t]??0)*(o-1)+n.length)/o,e.fieldLengths[t][i]=n.length,e.frequencies[t][i]={}}function ey(e,t,r,n,o){let i=0;for(let e of n)e===o&&i++;let s=F(e.sharedInternalDocumentStore,r),l=i/n.length;e.frequencies[t][s][o]=l,o in e.tokenOccurrences[t]||(e.tokenOccurrences[t][o]=0),e.tokenOccurrences[t][o]=(e.tokenOccurrences[t][o]??0)+1}function eb(e,t,r,n){let o=F(e.sharedInternalDocumentStore,r);n>1?e.avgFieldLength[t]=(e.avgFieldLength[t]*n-e.fieldLengths[t][o])/(n-1):e.avgFieldLength[t]=void 0,e.fieldLengths[t][o]=void 0,e.frequencies[t][o]=void 0}function eS(e,t,r){e.tokenOccurrences[t][r]--}function eI(e,t,r,n,o,i,s,l,a,u,c){if(L(s)){var f,d,h,p;return f=t,d=r,h=i,p=o,void f.vectorIndexes[d].node.add(p,h)}let g=n=>{let{type:i,node:s}=t.indexes[r];switch(i){case"Bool":s[n?"true":"false"].add(o);break;case"AVL":{let e=c?.avlRebalanceThreshold??1;s.insert(n,o,e);break}case"Radix":{let i=a.tokenize(n,l,r,!1);for(let n of(e.insertDocumentScoreParameters(t,r,o,i,u),i))e.insertTokenScoreParameters(t,r,o,i,n),s.insert(n,o);break}case"Flat":s.insert(n,o);break;case"BKD":s.insert(n,[o])}};if(!B(s))return g(i);let m=i.length;for(let e=0;e<m;e++)g(i[e])}function ew(e,t,r,n,o,i,s,l,a,u){if(L(s))return t.vectorIndexes[r].node.remove(o),!0;let{type:c,node:f}=t.indexes[r];switch(c){case"AVL":return f.removeDocument(i,o),!0;case"Bool":return f[i?"true":"false"].delete(o),!0;case"Radix":{let s=a.tokenize(i,l,r);for(let i of(e.removeDocumentScoreParameters(t,r,n,u),s))e.removeTokenScoreParameters(t,r,i),f.removeDocumentByWord(i,o);return!0}case"Flat":return f.removeDocument(o,i),!0;case"BKD":return f.removeDocByID(i,o),!1}}function eO(e,t,r,n,o,i,s,l,a,u){if(!B(s))return ew(e,t,r,n,o,i,s,l,a,u);let c=z[s],f=i.length;for(let s=0;s<f;s++)ew(e,t,r,n,o,i[s],c,l,a,u);return!0}function eN(e,t,r,n,o,i,s,l,a,u){let c=Array.from(n),f=e.avgFieldLength[t],d=e.fieldLengths[t],h=e.tokenOccurrences[t],p=e.frequencies[t],g="number"==typeof h[r]?h[r]??0:0,m=c.length;for(let e=0;e<m;e++){let n=c[e];if(a&&!a.has(n))continue;u.has(n)||u.set(n,new Map);let h=u.get(n);h.set(t,(h.get(t)||0)+1);let m=function(e,t,r,n,o,{k:i,b:s,d:l}){return Math.log(1+(r-t+.5)/(t+.5))*(l+e*(i+1))/(e+i*(1-s+s*n/o))}(p?.[n]?.[r]??0,g,o,d[n],f,i);s.has(n)?s.set(n,s.get(n)+m*l):s.set(n,m*l)}}function eT(e,t,r,n,o,i,s,l,a,u,c,f=0){let d=r.tokenize(t,n),h=d.length||1,p=new Map,g=new Map,m=new Map;for(let r of o){if(!(r in e.indexes))continue;let n=e.indexes[r],{type:o}=n;if("Radix"!==o)throw M("WRONG_SEARCH_PROPERTY_TYPE",r);let f=l[r]??1;if(f<=0)throw M("INVALID_BOOST_VALUE",f);0!==d.length||t||d.push("");let h=d.length;for(let t=0;t<h;t++){let o=d[t],l=n.node.find({term:o,exact:i,tolerance:s}),h=Object.keys(l);h.length>0&&g.set(o,!0);let y=h.length;for(let t=0;t<y;t++){let n=h[t],o=l[n];eN(e,r,n,o,u,a,m,f,c,p)}}}let y=Array.from(m.entries()).map(([e,t])=>[e,t]).sort((e,t)=>t[1]-e[1]);if(0===y.length)return[];if(1===f)return y;if(0===f){if(1===h)return y;for(let e of d)if(!g.get(e))return[];return y.filter(([e])=>{let t=p.get(e);return!!t&&Array.from(t.values()).some(e=>e===h)})}let b=y.filter(([e])=>{let t=p.get(e);return!!t&&Array.from(t.values()).some(e=>e===h)});if(b.length>0){let e=y.filter(([e])=>!b.some(([t])=>t===e)),t=Math.ceil(e.length*f);return[...b,...e.slice(0,t)]}return y}function ev(e){return e.searchableProperties}function e_(e){return e.searchablePropertiesWithTypes}function eD(e,t){let{indexes:r,vectorIndexes:n,searchableProperties:o,searchablePropertiesWithTypes:i,frequencies:s,tokenOccurrences:l,avgFieldLength:a,fieldLengths:u}=t,c={},f={};for(let e of Object.keys(r)){let{node:t,type:n,isArray:o}=r[e];switch(n){case"Radix":c[e]={type:"Radix",node:ec.fromJSON(t),isArray:o};break;case"Flat":c[e]={type:"Flat",node:el.fromJSON(t),isArray:o};break;case"AVL":c[e]={type:"AVL",node:es.fromJSON(t),isArray:o};break;case"BKD":c[e]={type:"BKD",node:ed.fromJSON(t),isArray:o};break;case"Bool":c[e]={type:"Bool",node:eh.fromJSON(t),isArray:o};break;default:c[e]=r[e]}}for(let e of Object.keys(n))f[e]={type:"Vector",isArray:!1,node:ep.fromJSON(n[e])};return{sharedInternalDocumentStore:e,indexes:c,vectorIndexes:f,searchableProperties:o,searchablePropertiesWithTypes:i,frequencies:s,tokenOccurrences:l,avgFieldLength:a,fieldLengths:u}}function eA(e){let{indexes:t,vectorIndexes:r,searchableProperties:n,searchablePropertiesWithTypes:o,frequencies:i,tokenOccurrences:s,avgFieldLength:l,fieldLengths:a}=e,u={};for(let e of Object.keys(r))u[e]=r[e].node.toJSON();let c={};for(let e of Object.keys(t)){let{type:r,node:n,isArray:o}=t[e];"Flat"===r||"Radix"===r||"AVL"===r||"BKD"===r||"Bool"===r?c[e]={type:r,node:n.toJSON(),isArray:o}:(c[e]=t[e],c[e].node=c[e].node.toJSON())}return{indexes:c,vectorIndexes:u,searchableProperties:n,searchablePropertiesWithTypes:o,frequencies:i,tokenOccurrences:s,avgFieldLength:l,fieldLengths:a}}function eE(e,t){e||(e=new Set);let r=t.length;for(let n=0;n<r;n++){let r=t[n].docIDs,o=r.length;for(let t=0;t<o;t++)e.add(r[t])}return e}function ek(e,t,r=!1){let n=r?ed.vincentyDistance:ed.haversineDistance,o=[],i=[];for(let{point:r}of e)i.push(n(t,r));let s=Math.max(...i),l=0;for(let{docIDs:t}of e){let e=s-i[l]+1;for(let r of t)o.push([r,e]);l++}return o.sort((e,t)=>t[1]-e[1]),o}function eP(e,t,r,n){return n?.enabled===!1?{disabled:!0}:function e(t,r,n,o,i){let s={language:t.tokenizer.language,sharedInternalDocumentStore:r,enabled:!0,isSorted:!0,sortableProperties:[],sortablePropertiesWithTypes:{},sorts:{}};for(let[l,a]of Object.entries(n)){let n=`${i}${i?".":""}${l}`;if(!o.includes(n)){if("object"==typeof a&&!Array.isArray(a)){let i=e(t,r,a,o,n);p(s.sortableProperties,i.sortableProperties),s.sorts={...s.sorts,...i.sorts},s.sortablePropertiesWithTypes={...s.sortablePropertiesWithTypes,...i.sortablePropertiesWithTypes};continue}if(!L(a))switch(a){case"boolean":case"number":case"string":s.sortableProperties.push(n),s.sortablePropertiesWithTypes[n]=a,s.sorts[n]={docs:new Map,orderedDocsToRemove:new Map,orderedDocs:[],type:a};break;case"geopoint":case"enum":case"enum[]":case"boolean[]":case"number[]":case"string[]":continue;default:throw M("INVALID_SORT_SCHEMA_TYPE",Array.isArray(a)?"array":a,n)}}}return s}(e,t,r,(n||{}).unsortableProperties||[],"")}function eR(e,t,r,n){if(!e.enabled)return;e.isSorted=!1;let o=F(e.sharedInternalDocumentStore,r),i=e.sorts[t];i.orderedDocsToRemove.has(o)&&ez(e,t),i.docs.set(o,i.orderedDocs.length),i.orderedDocs.push([o,n])}function eM(e){if(!e.isSorted&&e.enabled){for(let t of Object.keys(e.sorts))!function(e,t){let r,n=e.sorts[t];switch(n.type){case"string":r=ex.bind(null,e.language);break;case"number":r=eC.bind(null);break;case"boolean":r=eU.bind(null)}n.orderedDocs.sort(r);let o=n.orderedDocs.length;for(let e=0;e<o;e++){let t=n.orderedDocs[e][0];n.docs.set(t,e)}}(e,t);e.isSorted=!0}}function ex(e,t,r){return t[1].localeCompare(r[1],void 0!==e&&l.includes(e)?i[e]:void 0)}function eC(e,t){return e[1]-t[1]}function eU(e,t){return t[1]?-1:1}function ez(e,t){let r=e.sorts[t];r.orderedDocsToRemove.size&&(r.orderedDocs=r.orderedDocs.filter(e=>!r.orderedDocsToRemove.has(e[0])),r.orderedDocsToRemove.clear())}function eL(e,t,r){if(!e.enabled)return;let n=e.sorts[t],o=F(e.sharedInternalDocumentStore,r);n.docs.get(o)&&(n.docs.delete(o),n.orderedDocsToRemove.set(o,!0))}function eB(e,t,r){if(!e.enabled)throw M("SORT_DISABLED");let n=r.property,o="DESC"===r.order,i=e.sorts[n];if(!i)throw M("UNABLE_TO_SORT_ON_UNKNOWN_FIELD",n,e.sortableProperties.join(", "));return ez(e,n),eM(e),t.sort((t,r)=>{let n=i.docs.get(F(e.sharedInternalDocumentStore,t[0])),s=i.docs.get(F(e.sharedInternalDocumentStore,r[0])),l=void 0!==n,a=void 0!==s;return l||a?l?a?o?s-n:n-s:-1:1:0}),t}function eV(e){return e.enabled?e.sortableProperties:[]}function eW(e){return e.enabled?e.sortablePropertiesWithTypes:{}}function ej(e,t){if(!t.enabled)return{enabled:!1};let r=Object.keys(t.sorts).reduce((e,r)=>{let{docs:n,orderedDocs:o,type:i}=t.sorts[r];return e[r]={docs:new Map(Object.entries(n).map(([e,t])=>[+e,t])),orderedDocsToRemove:new Map,orderedDocs:o,type:i},e},{});return{sharedInternalDocumentStore:e,language:t.language,sortableProperties:t.sortableProperties,sortablePropertiesWithTypes:t.sortablePropertiesWithTypes,sorts:r,enabled:!0,isSorted:t.isSorted}}function eF(e){if(!e.enabled)return{enabled:!1};for(let t of Object.keys(e.sorts))ez(e,t);eM(e);let t=Object.keys(e.sorts).reduce((t,r)=>{let{docs:n,orderedDocs:o,type:i}=e.sorts[r];return t[r]={docs:Object.fromEntries(n.entries()),orderedDocs:o,type:i},t},{});return{language:e.language,sortableProperties:e.sortableProperties,sortablePropertiesWithTypes:e.sortablePropertiesWithTypes,sorts:t,enabled:e.enabled,isSorted:e.isSorted}}let e$=[65,65,65,65,65,65,65,67,69,69,69,69,73,73,73,73,69,78,79,79,79,79,79,null,79,85,85,85,85,89,80,115,97,97,97,97,97,97,97,99,101,101,101,101,105,105,105,105,101,110,111,111,111,111,111,null,111,117,117,117,117,121,112,121,65,97,65,97,65,97,67,99,67,99,67,99,67,99,68,100,68,100,69,101,69,101,69,101,69,101,69,101,71,103,71,103,71,103,71,103,72,104,72,104,73,105,73,105,73,105,73,105,73,105,73,105,74,106,75,107,107,76,108,76,108,76,108,76,108,76,108,78,110,78,110,78,110,110,78,110,79,111,79,111,79,111,79,111,82,114,82,114,82,114,83,115,83,115,83,115,83,115,84,116,84,116,84,116,85,117,85,117,85,117,85,117,85,117,85,117,87,119,89,121,89,90,122,90,122,90,122,115],eG={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},eJ={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},eY="[aeiouy]",eH="[^aeiou][^aeiouy]*",eK=eY+"[aeiou]*",eq="^("+eH+")?"+eK+eH,eX="^("+eH+")?"+eK+eH+"("+eK+")?$",eZ="^("+eH+")?"+eK+eH+eK+eH,eQ="^("+eH+")?"+eY;function e0(e){let t,r,n,o,i,s;if(e.length<3)return e;let l=e.substring(0,1);if("y"==l&&(e=l.toUpperCase()+e.substring(1)),o=/^(.+?)([^s])s$/,(n=/^(.+?)(ss|i)es$/).test(e)?e=e.replace(n,"$1$2"):o.test(e)&&(e=e.replace(o,"$1$2")),o=/^(.+?)(ed|ing)$/,(n=/^(.+?)eed$/).test(e)){let t=n.exec(e);(n=new RegExp(eq)).test(t[1])&&(n=/.$/,e=e.replace(n,""))}else o.test(e)&&(t=o.exec(e)[1],(o=new RegExp(eQ)).test(t)&&(e=t,o=/(at|bl|iz)$/,i=RegExp("([^aeiouylsz])\\1$"),s=RegExp("^"+eH+eY+"[^aeiouwxy]$"),o.test(e)?e+="e":i.test(e)?(n=/.$/,e=e.replace(n,"")):s.test(e)&&(e+="e")));if((n=/^(.+?)y$/).test(e)){let r=n.exec(e);t=r?.[1],n=new RegExp(eQ),t&&n.test(t)&&(e=t+"i")}if((n=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/).test(e)){let o=n.exec(e);t=o?.[1],r=o?.[2],n=new RegExp(eq),t&&n.test(t)&&(e=t+eG[r])}if((n=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/).test(e)){let o=n.exec(e);t=o?.[1],r=o?.[2],n=new RegExp(eq),t&&n.test(t)&&(e=t+eJ[r])}if(o=/^(.+?)(s|t)(ion)$/,(n=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/).test(e)){let r=n.exec(e);t=r?.[1],n=new RegExp(eZ),t&&n.test(t)&&(e=t)}else if(o.test(e)){let r=o.exec(e);t=r?.[1]??""+r?.[2]??"",(o=new RegExp(eZ)).test(t)&&(e=t)}if((n=/^(.+?)e$/).test(e)){let r=n.exec(e);t=r?.[1],n=new RegExp(eZ),o=new RegExp(eX),i=RegExp("^"+eH+eY+"[^aeiouwxy]$"),t&&(n.test(t)||o.test(t)&&!i.test(t))&&(e=t)}return n=/ll$/,o=new RegExp(eZ),n.test(e)&&o.test(e)&&(n=/.$/,e=e.replace(n,"")),"y"==l&&(e=l.toLowerCase()+e.substring(1)),e}function e1(e,t,r=!0){let n=`${this.language}:${e}:${t}`;return r&&this.normalizationCache.has(n)?this.normalizationCache.get(n):this.stopWords?.includes(t)?(r&&this.normalizationCache.set(n,""),""):(this.stemmer&&!this.stemmerSkipProperties.has(e)&&(t=this.stemmer(t)),t=function(e){let t=[];for(let n=0;n<e.length;n++){var r;t[n]=(r=e.charCodeAt(n))<192||r>383?r:e$[r-192]||r}return String.fromCharCode(...t)}(t),r&&this.normalizationCache.set(n,t),t)}function e9(e,t,r,n=!0){let o;if(t&&t!==this.language)throw M("LANGUAGE_NOT_SUPPORTED",t);if("string"!=typeof e)return[e];let i=this.normalizeToken.bind(this,r??"");if(r&&this.tokenizeSkipProperties.has(r))o=[i(e,n)];else{let t=s[this.language];o=e.toLowerCase().split(t).map(e=>i(e,n)).filter(Boolean)}let l=function(e){for(;""===e[e.length-1];)e.pop();for(;""===e[0];)e.shift();return e}(o);return this.allowDuplicates?l:Array.from(new Set(l))}function e7(e={}){let t,r;if(e.language){if(!l.includes(e.language))throw M("LANGUAGE_NOT_SUPPORTED",e.language)}else e.language="english";if(e.stemming||e.stemmer&&!("stemming"in e))if(e.stemmer){if("function"!=typeof e.stemmer)throw M("INVALID_STEMMER_FUNCTION_TYPE");t=e.stemmer}else if("english"===e.language)t=e0;else throw M("MISSING_STEMMER",e.language);if(!1!==e.stopWords){if(r=[],Array.isArray(e.stopWords))r=e.stopWords;else if("function"==typeof e.stopWords)r=e.stopWords(r);else if(e.stopWords)throw M("CUSTOM_STOP_WORDS_MUST_BE_FUNCTION_OR_ARRAY");if(!Array.isArray(r))throw M("CUSTOM_STOP_WORDS_MUST_BE_FUNCTION_OR_ARRAY");for(let e of r)if("string"!=typeof e)throw M("CUSTOM_STOP_WORDS_MUST_BE_FUNCTION_OR_ARRAY")}let n={tokenize:e9,language:e.language,stemmer:t,stemmerSkipProperties:new Set(e.stemmerSkipProperties?[e.stemmerSkipProperties].flat():[]),tokenizeSkipProperties:new Set(e.tokenizeSkipProperties?[e.tokenizeSkipProperties].flat():[]),stopWords:r,allowDuplicates:!!e.allowDuplicates,normalizeToken:e1,normalizationCache:new Map};return n.tokenize=e9.bind(n),n.normalizeToken=e1,n}function e2(e){return{sharedInternalDocumentStore:e,rules:new Map}}function e5(e,t){if(e.rules.has(t.id))throw Error(`PINNING_RULE_ALREADY_EXISTS: A pinning rule with id "${t.id}" already exists. Use updateRule to modify it.`);e.rules.set(t.id,t)}function e3(e,t){if(!e.rules.has(t.id))throw Error(`PINNING_RULE_NOT_FOUND: Cannot update pinning rule with id "${t.id}" because it does not exist. Use addRule to create it.`);e.rules.set(t.id,t)}function e6(e,t){return e.rules.delete(t)}function e8(e,t){return e.rules.get(t)}function e4(e){return Array.from(e.rules.values())}function te(e,t){if(!t)return[];let r=[];for(let n of e.rules.values())(function(e,t){return!!e&&t.conditions.every(t=>(function(e,t){let r=e.toLowerCase().trim(),n=t.pattern.toLowerCase().trim();switch(t.anchoring){case"is":return r===n;case"starts_with":return r.startsWith(n);case"contains":return r.includes(n);default:return!1}})(e,t))})(t,n)&&r.push(n);return r}function tt(e,t){return{sharedInternalDocumentStore:e,rules:new Map(t?.rules??[])}}function tr(e){return{rules:Array.from(e.rules.entries())}}let tn="fulltext";function to(e,t){return e[1]-t[1]}function ti(e,t){return t[1]-e[1]}function ts(e,t,r){let n={},o=t.map(([e])=>e),i=e.documentsStore.getMultiple(e.data.docs,o),s=Object.keys(r),l=e.index.getSearchablePropertiesWithTypes(e.data.index);for(let e of s){let t;if("number"===l[e]){let{ranges:n}=r[e],o=n.length,i=Array.from({length:o});for(let e=0;e<o;e++){let t=n[e];i[e]=[`${t.from}-${t.to}`,0]}t=Object.fromEntries(i)}n[e]={count:0,values:t??{}}}let a=i.length;for(let e=0;e<a;e++){let t=i[e];for(let e of s){let o=e.includes(".")?O(t,e):t[e],i=l[e],s=n[e].values;switch(i){case"number":tl(r[e].ranges,s)(o);break;case"number[]":{let t=new Set,n=tl(r[e].ranges,s,t);for(let e of o)n(e);break}case"boolean":case"enum":case"string":ta(s,i)(o);break;case"boolean[]":case"enum[]":case"string[]":{let e=ta(s,"boolean[]"===i?"boolean":"string",new Set);for(let t of o)e(t);break}default:throw M("FACET_NOT_SUPPORTED",i)}}}for(let e of s){let t=n[e];if(t.count=Object.keys(t.values).length,"string"===l[e]){let n=r[e],o=function(e="desc"){return"asc"===e.toLowerCase()?to:ti}(n.sort);t.values=Object.fromEntries(Object.entries(t.values).sort(o).slice(n.offset??0,n.limit??10))}}return n}function tl(e,t,r){return n=>{for(let o of e){let e=`${o.from}-${o.to}`;!r?.has(e)&&n>=o.from&&n<=o.to&&(void 0===t[e]?t[e]=1:(t[e]++,r?.add(e)))}}}function ta(e,t,r){let n="boolean"===t?"false":"";return t=>{let o=t?.toString()??n;r?.has(o)||(e[o]=(e[o]??0)+1,r?.add(o))}}let tu={reducer:(e,t,r,n)=>(t[n]=r,t),getInitialValue:e=>Array.from({length:e})},tc=["string","number","boolean"];function tf(e,t,r){let n=r.properties,o=n.length,i=e.index.getSearchablePropertiesWithTypes(e.data.index);for(let e=0;e<o;e++){let t=n[e];if(void 0===i[t])throw M("UNKNOWN_GROUP_BY_PROPERTY",t);if(!tc.includes(i[t]))throw M("INVALID_GROUP_BY_PROPERTY",t,tc.join(", "),i[t])}let s=t.map(([t])=>$(e.internalDocumentIDStore,t)),l=e.documentsStore.getMultiple(e.data.docs,s),a=l.length,u=r.maxResult||Number.MAX_SAFE_INTEGER,c=[],f={};for(let e=0;e<o;e++){let t=n[e],r={property:t,perValue:{}},o=new Set;for(let e=0;e<a;e++){let n=O(l[e],t);if(void 0===n)continue;let i="boolean"!=typeof n?n:""+n,s=r.perValue[i]??{indexes:[],count:0};s.count>=u||(s.indexes.push(e),s.count++,r.perValue[i]=s,o.add(n))}c.push(Array.from(o)),f[t]=r}let d=function e(t,r=0){if(r+1===t.length)return t[r].map(e=>[e]);let n=t[r],o=e(t,r+1),i=[];for(let e of n)for(let t of o){let r=[e];p(r,t),i.push(r)}return i}(c),h=d.length,g=[];for(let e=0;e<h;e++){let t=d[e],r=t.length,o={values:[],indexes:[]},i=[];for(let e=0;e<r;e++){let r=t[e],s=n[e];i.push(f[s].perValue["boolean"!=typeof r?r:""+r].indexes),o.values.push(r)}o.indexes=(function(e){if(0===e.length)return[];if(1===e.length)return e[0];for(let t=1;t<e.length;t++)if(e[t].length<e[0].length){let r=e[0];e[0]=e[t],e[t]=r}let t=new Map;for(let r of e[0])t.set(r,1);for(let r=1;r<e.length;r++){let n=0;for(let o of e[r]){let e=t.get(o);e===r&&(t.set(o,e+1),n++)}if(0===n)return[]}return e[0].filter(r=>{let n=t.get(r);return void 0!==n&&t.set(r,0),n===e.length})})(i).sort((e,t)=>e-t),0!==o.indexes.length&&g.push(o)}let m=g.length,y=Array.from({length:m});for(let e=0;e<m;e++){let n=g[e],o=r.reduce||tu,i=n.indexes.map(e=>({id:s[e],score:t[e][1],document:l[e]})),a=o.reducer.bind(null,n.values),u=o.getInitialValue(n.indexes.length),c=i.reduce(a,u);y[e]={values:n.values,result:c}}return y}function td(e,t,r,n){let o=te(t,n);if(0===o.length)return r;let i=o.flatMap(e=>e.consequence.promote);i.sort((e,t)=>e.position-t.position);let s=new Set,l=new Map,a=new Set;for(let t of i){let r=F(e.internalDocumentIDStore,t.doc_id);if(void 0!==r){if(l.has(r)){let e=l.get(r);t.position<e&&l.set(r,t.position);continue}a.has(t.position)||(s.add(r),l.set(r,t.position),a.add(t.position))}}if(0===l.size)return r;let u=r.filter(([e])=>!s.has(e)),c=[];for(let[t,n]of l.entries())r.find(([e])=>e===t)?c.push([t,1e6-n]):e.documentsStore.get(e.data.docs,t)&&c.push([t,0]);c.sort((e,t)=>(l.get(e[0])??1/0)-(l.get(t[0])??1/0));let f=[],d=new Map;for(let e of c){let t=l.get(e[0]);d.set(t,e)}let h=0,p=0;for(;p<u.length+c.length;)if(d.has(p))f.push(d.get(p)),p++;else if(h<u.length)f.push(u[h]),h++,p++;else break;for(let[e,t]of d.entries())e>=f.length&&f.push(t);return f}function th(e,t,r){let n,o,{term:i,properties:s}=t,l=e.data.index,a=e.caches.propertiesToSearch;if(!a){let t=e.index.getSearchablePropertiesWithTypes(l);a=(a=e.index.getSearchableProperties(l)).filter(e=>t[e].startsWith("string")),e.caches.propertiesToSearch=a}if(s&&"*"!==s){for(let e of s)if(!a.includes(e))throw M("UNKNOWN_INDEX",e,a.join(", "));a=a.filter(e=>s.includes(e))}let u=Object.keys(t.where??{}).length>0;u&&(n=e.index.searchByWhereClause(l,e.tokenizer,t.where,r));let c=void 0!==t.threshold&&null!==t.threshold?t.threshold:1;if(i||s){let s=e.documentsStore.count(e.data.docs);if(o=e.index.search(l,i||"",e.tokenizer,r,a,t.exact||!1,t.tolerance||0,t.boost||{},function(e){let t=e??{};return t.k=t.k??tp.k,t.b=t.b??tp.b,t.d=t.d??tp.d,t}(t.relevance),s,n,c),t.exact&&i){let t=i.trim().split(/\s+/);o=o.filter(([r])=>{let n=e.documentsStore.get(e.data.docs,r);if(!n)return!1;for(let e of a){let r=function(e,t){let r=t.split("."),n=e;for(let e of r)if(!n||"object"!=typeof n||!(e in n))return;else n=n[e];return n}(n,e);if("string"==typeof r&&t.every(e=>RegExp(`\\b${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\b`).test(r)))return!0}return!1})}}else if(u){let e=function(e,t){let r,n=function(e,t){let r=Object.keys(e);if(1!==r.length)return{isGeoOnly:!1};let n=r[0],o=e[n];if(void 0===t.indexes[n])return{isGeoOnly:!1};let{type:i}=t.indexes[n];return"BKD"===i&&o&&("radius"in o||"polygon"in o)?{isGeoOnly:!0,geoProperty:n,geoOperation:o}:{isGeoOnly:!1}}(t,e);if(!n.isGeoOnly||!n.geoProperty||!n.geoOperation)return null;let{node:o}=e.indexes[n.geoProperty],i=n.geoOperation;if("radius"in i){let{value:e,coordinates:t,unit:n="m",inside:s=!0,highPrecision:l=!1}=i.radius,a=T(e,n);return ek(r=o.searchByRadius(t,a,s,"asc",l),t,l)}if("polygon"in i){let{coordinates:e,inside:t=!0,highPrecision:n=!1}=i.polygon;return ek(r=o.searchByPolygon(e,t,"asc",n),ed.calculatePolygonCentroid(e),n)}return null}(l,t.where);o=e||(n?Array.from(n):[]).map(e=>[+e,0])}else o=Object.keys(e.documentsStore.getAll(e.data.docs)).map(e=>[+e,0]);return o}let tp={k:1.2,b:.75,d:.5};function tg(e,t,r){let n,o=t.vector;if(o&&(!("value"in o)||!("property"in o)))throw M("INVALID_VECTOR_INPUT",Object.keys(o).join(", "));let i=e.data.index.vectorIndexes[o.property];if(!i)throw M("UNKNOWN_VECTOR_PROPERTY",o.property);let s=i.node.size;if(o?.value.length!==s){if(o?.property===void 0||o?.value.length===void 0)throw M("INVALID_INPUT_VECTOR","undefined",s,"undefined");throw M("INVALID_INPUT_VECTOR",o.property,s,o.value.length)}let l=e.data.index;return Object.keys(t.where??{}).length>0&&(n=e.index.searchByWhereClause(l,e.tokenizer,t.where,r)),i.node.find(o.value,t.similarity??.8,n)}function tm(e){return e[1]}function ty(e,t,r){let n=t.mode??tn;if(n===tn){let n=y();function o(){let o,i=Object.keys(e.data.index.vectorIndexes),s=t.facets&&Object.keys(t.facets).length>0,{limit:l=10,offset:a=0,distinctOn:u,includeVectors:c=!1}=t,f=!0===t.preflight,d=th(e,t,r);if(t.sortBy)if("function"==typeof t.sortBy){let r=d.map(([e])=>e),n=e.documentsStore.getMultiple(e.data.docs,r).map((e,t)=>[d[t][0],d[t][1],e]);n.sort(t.sortBy),d=n.map(([e,t])=>[e,t])}else d=e.sorter.sortBy(e.data.sorting,d,t.sortBy).map(([t,r])=>[F(e.internalDocumentIDStore,t),r]);else d=d.sort(I);d=td(e,e.data.pinning,d,t.term),f||(o=u?function(e,t,r,n,o){let i=e.data.docs,s=new Map,l=[],a=new Set,u=t.length,c=0;for(let f=0;f<u;f++){let u=t[f];if(void 0===u)continue;let[d,h]=u;if(a.has(d))continue;let p=e.documentsStore.get(i,d),g=O(p,o);if(!(void 0===g||s.has(g))&&(s.set(g,!0),!(++c<=r)&&(l.push({id:$(e.internalDocumentIDStore,d),score:h,document:p}),a.add(d),c>=r+n)))break}return l}(e,d,a,l,u):tb(e,d,a,l));let h={elapsed:{formatted:"",raw:0},hits:[],count:d.length};return void 0!==o&&(h.hits=o.filter(Boolean),c||v(h,i)),s&&(h.facets=ts(e,d,t.facets)),t.groupBy&&(h.groups=tf(e,d,t.groupBy)),h.elapsed=e.formatElapsedTime(y()-n),h}async function i(){e.beforeSearch&&await eo(e.beforeSearch,e,t,r);let n=o();return e.afterSearch&&await en(e.afterSearch,e,t,r,n),n}return e.beforeSearch?.length||e.afterSearch?.length?i():o()}if("vector"===n)return function(e,t,r="english"){let n=y();function o(){let o=tg(e,t,r).sort(I);o=td(e,e.data.pinning,o,void 0);let i=[];t.facets&&Object.keys(t.facets).length>0&&(i=ts(e,o,t.facets));let s=t.vector.property,l=t.includeVectors??!1,a=t.limit??10,u=t.offset??0,c=Array.from({length:a});for(let t=0;t<a;t++){let r=o[t+u];if(!r)break;let n=e.data.docs.docs[r[0]];if(n){l||(n[s]=null);let o={id:$(e.internalDocumentIDStore,r[0]),score:r[1],document:n};c[t]=o}}let f=[];t.groupBy&&(f=tf(e,o,t.groupBy));let d=y()-n;return{count:o.length,hits:c.filter(Boolean),elapsed:{raw:Number(d),formatted:m(d)},...i?{facets:i}:{},...f?{groups:f}:{}}}async function i(){e.beforeSearch&&await eo(e.beforeSearch,e,t,r);let n=o();return e.afterSearch&&await en(e.afterSearch,e,t,r,n),n}return e.beforeSearch?.length||e.afterSearch?.length?i():o()}(e,t);if("hybrid"===n)return function(e,t,r){let n=y();function o(){let r,o,i=function(e,t,r){let n=function(e){let t=Math.max.apply(Math,e.map(tm));return e.map(([e,r])=>[e,r/t])}(th(e,t,r)),o=tg(e,t,r),i=t.hybridWeights;return function(e,t,r,n){let o=Math.max.apply(Math,e.map(tm)),i=Math.max.apply(Math,t.map(tm)),{text:s,vector:l}=n&&n.text&&n.vector?n:{text:.5,vector:.5},a=new Map,u=e.length,c=(e,t)=>e*s+t*l;for(let t=0;t<u;t++){let[r,n]=e[t],i=c(n/o,0);a.set(r,i)}let f=t.length;for(let e=0;e<f;e++){let[r,n]=t[e],o=n/i,s=a.get(r)??0;a.set(r,s+c(0,o))}return[...a].sort((e,t)=>t[1]-e[1])}(n,o,t.term??"",i)}(e,t,void 0);i=td(e,e.data.pinning,i,t.term),t.facets&&Object.keys(t.facets).length>0&&(r=ts(e,i,t.facets)),t.groupBy&&(o=tf(e,i,t.groupBy));let s=tb(e,i,t.offset??0,t.limit??10).filter(Boolean),l=y(),a={count:i.length,elapsed:{raw:Number(l-n),formatted:m(l-n)},hits:s,...r?{facets:r}:{},...o?{groups:o}:{}};return t.includeVectors||v(a,Object.keys(e.data.index.vectorIndexes)),a}async function i(){e.beforeSearch&&await eo(e.beforeSearch,e,t,void 0);let n=o();return e.afterSearch&&await en(e.afterSearch,e,t,r,n),n}return e.beforeSearch?.length||e.afterSearch?.length?i():o()}(e,t);throw M("INVALID_SEARCH_MODE",n)}function tb(e,t,r,n){let o=e.data.docs,i=Array.from({length:n}),s=new Set;for(let l=r;l<n+r;l++){let r=t[l];if(void 0===r)break;let[n,a]=r;if(!s.has(n)){let t=e.documentsStore.get(o,n);i[l]={id:$(e.internalDocumentIDStore,n),score:a,document:t},s.add(n)}}return i}function tS(e,t){e.internalDocumentIDStore.load(e,t.internalDocumentIDStore),e.data.index=e.index.load(e.internalDocumentIDStore,t.index),e.data.docs=e.documentsStore.load(e.internalDocumentIDStore,t.docs),e.data.sorting=e.sorter.load(e.internalDocumentIDStore,t.sorting),e.data.pinning=e.pinning.load(e.internalDocumentIDStore,t.pinning),e.tokenizer.language=t.language}async function tI(e,t,r={}){let n=(0,o.r)(t);return(await ty(e,{term:t,tolerance:1,...r,boost:{title:2,..."boost"in r?r.boost:void 0}})).hits.map(e=>({type:"page",content:e.document.title,breadcrumbs:e.document.breadcrumbs,contentWithHighlights:n.highlight(e.document.title),id:e.document.url,url:e.document.url}))}async function tw(e,t,r=[],{mode:i="fulltext",...s}={}){"string"==typeof r&&(r=[r]);let l={...s,mode:i,where:(0,n.B)({tags:r.length>0?{containsAll:r}:void 0,...s.where}),groupBy:{properties:["page_id"],maxResult:8,...s.groupBy}};t.length>0&&(l={...l,term:t,properties:"fulltext"===i?["content"]:["content","embeddings"]});let a=(0,o.r)(t),u=await ty(e,l),c=[];for(let t of u.groups??[]){let r=t.values[0],n=e.documentsStore.get(e.data.docs,r);if(n)for(let e of(c.push({id:r,type:"page",content:n.content,breadcrumbs:n.breadcrumbs,contentWithHighlights:a.highlight(n.content),url:n.url}),t.result))"page"!==e.document.type&&c.push({id:e.document.id.toString(),content:e.document.content,breadcrumbs:e.document.breadcrumbs,contentWithHighlights:a.highlight(e.document.content),type:e.document.type,url:e.document.url})}return c}Symbol("orama.insertions"),Symbol("orama.removals"),r(4394);var tO=new Map;async function tN({from:e="/api/search",initOrama:t=e=>(function({schema:e,sort:t,language:r,components:n,id:o,plugins:i}){for(let t of(n||(n={}),i??[])){if(!("getComponents"in t)||"function"!=typeof t.getComponents)continue;let r=t.getComponents(e);for(let e of Object.keys(r))if(n[e])throw M("PLUGIN_COMPONENT_CONFLICT",e,t.name);n={...n,...r}}o||(o=b());let s=n.tokenizer,l=n.index,a=n.documentsStore,u=n.sorter,c=n.pinning;if(s=s?s.tokenize?s:e7(s):e7({language:r??"english"}),n.tokenizer&&r)throw M("NO_LANGUAGE_WITH_CUSTOM_TOKENIZER");let f={idToInternalId:new Map,internalIdToId:[],save:W,load:j};l||={create:function e(t,r,n,o,i=""){for(let[s,l]of(o||(o={sharedInternalDocumentStore:r,indexes:{},vectorIndexes:{},searchableProperties:[],searchablePropertiesWithTypes:{},frequencies:{},tokenOccurrences:{},avgFieldLength:{},fieldLengths:{}}),Object.entries(n))){let n=`${i}${i?".":""}${s}`;if("object"==typeof l&&!Array.isArray(l)){e(t,r,l,o,n);continue}if(L(l))o.searchableProperties.push(n),o.searchablePropertiesWithTypes[n]=l,o.vectorIndexes[n]={type:"Vector",node:new ep(V(l)),isArray:!1};else{let e=/\[/.test(l);switch(l){case"boolean":case"boolean[]":o.indexes[n]={type:"Bool",node:new eh,isArray:e};break;case"number":case"number[]":o.indexes[n]={type:"AVL",node:new es(0,[]),isArray:e};break;case"string":case"string[]":o.indexes[n]={type:"Radix",node:new ec,isArray:e},o.avgFieldLength[n]=0,o.frequencies[n]={},o.tokenOccurrences[n]={},o.fieldLengths[n]={};break;case"enum":case"enum[]":o.indexes[n]={type:"Flat",node:new el,isArray:e};break;case"geopoint":o.indexes[n]={type:"BKD",node:new ed,isArray:e};break;default:throw M("INVALID_SCHEMA_TYPE",Array.isArray(l)?"array":l,n)}o.searchableProperties.push(n),o.searchablePropertiesWithTypes[n]=l}}return o},insert:eI,remove:eO,insertDocumentScoreParameters:em,insertTokenScoreParameters:ey,removeDocumentScoreParameters:eb,removeTokenScoreParameters:eS,calculateResultScores:eN,search:eT,searchByWhereClause:function e(t,r,n,o){if("and"in n&&n.and&&Array.isArray(n.and)){let i=n.and;return 0===i.length?new Set:A(...i.map(n=>e(t,r,n,o)))}if("or"in n&&n.or&&Array.isArray(n.or)){let i=n.or;return 0===i.length?new Set:i.map(n=>e(t,r,n,o)).reduce((e,t)=>k(e,t),new Set)}if("not"in n&&n.not){let i=n.not,s=new Set,l=t.sharedInternalDocumentStore;for(let e=1;e<=l.internalIdToId.length;e++)s.add(e);let a=e(t,r,i,o),u=new Set;for(let e of s)a.has(e)||u.add(e);return u}let i=Object.keys(n),s=i.reduce((e,t)=>({[t]:new Set,...e}),{});for(let e of i){let i=n[e];if(void 0===t.indexes[e])throw M("UNKNOWN_FILTER_PROPERTY",e);let{node:l,type:a,isArray:u}=t.indexes[e];if("Bool"===a){let t=i?l.true:l.false;s[e]=k(s[e],t);continue}if("BKD"===a){let t;if("radius"in i)t="radius";else if("polygon"in i)t="polygon";else throw Error(`Invalid operation ${i}`);if("radius"===t){let{value:r,coordinates:n,unit:o="m",inside:a=!0,highPrecision:u=!1}=i[t],c=T(r,o),f=l.searchByRadius(n,c,a,void 0,u);s[e]=eE(s[e],f)}else{let{coordinates:r,inside:n=!0,highPrecision:o=!1}=i[t],a=l.searchByPolygon(r,n,void 0,o);s[e]=eE(s[e],a)}continue}if("Radix"===a&&("string"==typeof i||Array.isArray(i))){for(let t of[i].flat())for(let n of r.tokenize(t,o,e)){let t=l.find({term:n,exact:!0});s[e]=function(e,t){e||(e=new Set);let r=Object.keys(t),n=r.length;for(let o=0;o<n;o++){let n=t[r[o]],i=n.length;for(let t=0;t<i;t++)e.add(n[t])}return e}(s[e],t)}continue}let c=Object.keys(i);if(c.length>1)throw M("INVALID_FILTER_OPERATION",c.length);if("Flat"===a){let t=new Set(u?l.filterArr(i):l.filter(i));s[e]=k(s[e],t);continue}if("AVL"===a){let t,r=c[0],n=i[r];switch(r){case"gt":t=l.greaterThan(n,!1);break;case"gte":t=l.greaterThan(n,!0);break;case"lt":t=l.lessThan(n,!1);break;case"lte":t=l.lessThan(n,!0);break;case"eq":t=l.find(n)??new Set;break;case"between":{let[e,r]=n;t=l.rangeSearch(e,r);break}default:throw M("INVALID_FILTER_OPERATION",r)}s[e]=k(s[e],t)}}return A(...Object.values(s))},getSearchableProperties:ev,getSearchablePropertiesWithTypes:e_,load:eD,save:eA},u||={create:eP,insert:eR,remove:eL,save:eF,load:ej,sortBy:eB,getSortableProperties:eV,getSortablePropertiesWithTypes:eW},a||={create:G,get:J,getMultiple:Y,getAll:H,store:K,remove:q,count:X,load:Z,save:Q},c||={create:e2,addRule:e5,updateRule:e3,removeRule:e6,getRule:e8,getAllRules:e4,getMatchingRules:te,load:tt,save:tr};var d=n;let h={formatElapsedTime:x,getDocumentIndexId:C,getDocumentProperties:w,validateSchema:function e(t,r){for(let[n,o]of Object.entries(r)){let r=t[n];if(void 0!==r&&("geopoint"!==o||"object"!=typeof r||"number"!=typeof r.lon||"number"!=typeof r.lat)&&("enum"!==o||"string"!=typeof r&&"number"!=typeof r)){if("enum[]"===o&&Array.isArray(r)){let e=r.length;for(let t=0;t<e;t++)if("string"!=typeof r[t]&&"number"!=typeof r[t])return n+"."+t;continue}if(L(o)){let e=V(o);if(!Array.isArray(r)||r.length!==e)throw M("INVALID_INPUT_VECTOR",n,e,r.length);continue}if(B(o)){if(!Array.isArray(r))return n;let e=z[o],t=r.length;for(let o=0;o<t;o++)if(typeof r[o]!==e)return n+"."+o;continue}if("object"==typeof o){if(!r||"object"!=typeof r)return n;let t=e(r,o);if(t)return n+"."+t;continue}if(typeof r!==o)return n}}}};for(let e of er)if(d[e]){if("function"!=typeof d[e])throw M("COMPONENT_MUST_BE_FUNCTION",e)}else d[e]=h[e];for(let e of Object.keys(d))if(!et.includes(e)&&!er.includes(e))throw M("UNSUPPORTED_COMPONENT",e);let{getDocumentProperties:p,getDocumentIndexId:g,validateSchema:m,formatElapsedTime:y}=n,S={data:{},caches:{},schema:e,tokenizer:s,index:l,sorter:u,documentsStore:a,pinning:c,internalDocumentIDStore:f,getDocumentProperties:p,getDocumentIndexId:g,validateSchema:m,beforeInsert:[],afterInsert:[],beforeRemove:[],afterRemove:[],beforeUpdate:[],afterUpdate:[],beforeUpsert:[],afterUpsert:[],beforeSearch:[],afterSearch:[],beforeInsertMultiple:[],afterInsertMultiple:[],beforeRemoveMultiple:[],afterRemoveMultiple:[],beforeUpdateMultiple:[],afterUpdateMultiple:[],beforeUpsertMultiple:[],afterUpsertMultiple:[],afterCreate:[],formatElapsedTime:y,id:o,plugins:i,version:"{{VERSION}}"};for(let r of(S.data={index:S.index.create(S,f,e),docs:S.documentsStore.create(S,f),sorting:S.sorter.create(S,f,e,t),pinning:S.pinning.create(f)},ee))S[r]=(S[r]??[]).concat(function(e,t){let r=[],n=e.plugins?.length;if(!n)return r;for(let o=0;o<n;o++)try{let n=e.plugins[o];"function"==typeof n[t]&&r.push(n[t])}catch(e){throw console.error("Caught error in getAllPluginsByHook:",e),M("PLUGIN_CRASHED")}return r}(S,r));let I=S.afterCreate;return I&&function(e,t){if(e.some(_))return(async()=>{for(let r of e)await r(t)})();for(let r of e)r(t)}(I,S),S})({schema:{_:"string"},language:e})}){let r=tO.get(e);if(r)return r;let n=async function(){let r=await fetch(e);if(!r.ok)throw Error(`failed to fetch exported search indexes from ${e}, make sure the search database is exported and available for client.`);let n=await r.json(),o=new Map;if("i18n"===n.type)return await Promise.all(Object.entries(n.data).map(async([e,r])=>{let n=await t(e);tS(n,r),o.set(e,{type:r.type,db:n})})),o;let i=await t();return tS(i,n),o.set("",{type:n.type,db:i}),o}();return tO.set(e,n),n}async function tT(e,t){let{tag:r,locale:n}=t,o=(await tN(t)).get(n??"");return o?"simple"===o.type?tI(o,e):tw(o.db,e,r):[]}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9376],{9376:(e,t,n)=>{n.r(t),n.d(t,{default:()=>_});var r=n(5155),o=n(8950);n(4394);var l=n(2115),a=n(9384),i=n(3878),s=n(3481),d=n(5889),u=n(9511),c=n(3101),f=n(2764),p=n(9987),h=n(6719),g=n(1501);let m=(0,l.createContext)(null),x=(0,l.createContext)(null),v=(0,l.createContext)(null);function b(e){let{open:t,onOpenChange:n,search:o,onSearchChange:a,isLoading:i=!1,children:s}=e,[d,c]=(0,l.useState)(null);return(0,r.jsx)(u.lG,{open:t,onOpenChange:n,children:(0,r.jsx)(m.Provider,{value:(0,l.useMemo)(()=>({open:t,onOpenChange:n,search:o,onSearchChange:a,active:d,setActive:c,isLoading:i}),[d,i,n,a,t,o]),children:s})})}function y(e){return(0,r.jsx)("div",{...e,className:(0,d.QP)("flex flex-row items-center gap-2 p-3",e.className)})}function j(e){let{text:t}=(0,i.useI18n)(),{search:n,onSearchChange:o}=I();return(0,r.jsx)("input",{...e,value:n,onChange:e=>o(e.target.value),placeholder:t.search,className:"w-0 flex-1 bg-transparent text-lg placeholder:text-fd-muted-foreground focus-visible:outline-none"})}function w(e){let{children:t="ESC",className:n,...o}=e,{onOpenChange:l}=I();return(0,r.jsx)("button",{type:"button",onClick:()=>l(!1),className:(0,d.QP)((0,g.r)({color:"outline",size:"sm",className:"font-mono text-fd-muted-foreground"}),n),...o,children:t})}function C(e){return(0,r.jsx)("div",{...e,className:(0,d.QP)("bg-fd-secondary/50 p-3 empty:hidden",e.className)})}function D(e){return(0,r.jsx)(u.LC,{...e,className:(0,d.QP)("fixed inset-0 z-50 backdrop-blur-xs data-[state=open]:animate-fd-fade-in data-[state=closed]:animate-fd-fade-out",e.className)})}function N(e){let{children:t,...n}=e,{text:o}=(0,i.useI18n)();return(0,r.jsxs)(u.Cf,{"aria-describedby":void 0,...n,className:(0,d.QP)("fixed left-1/2 top-4 md:top-[calc(50%-250px)] z-50 w-[calc(100%-1rem)] max-w-screen-sm -translate-x-1/2 rounded-xl border bg-fd-popover text-fd-popover-foreground shadow-2xl shadow-black/50 overflow-hidden data-[state=closed]:animate-fd-dialog-out data-[state=open]:animate-fd-dialog-in","*:border-b *:has-[+:last-child[data-empty=true]]:border-b-0 *:data-[empty=true]:border-b-0 *:last:border-b-0",n.className),children:[(0,r.jsx)(u.L3,{className:"hidden",children:o.search}),t]})}function P(e){let{items:t=null,Empty:n=()=>(0,r.jsx)("div",{className:"py-12 text-center text-sm text-fd-muted-foreground",children:(0,r.jsx)(i.I18nLabel,{label:"searchNoResult"})}),Item:o=e=>(0,r.jsx)(R,{...e}),...s}=e,u=(0,l.useRef)(null),[c,h]=(0,l.useState)(()=>t&&t.length>0?t[0].id:null),{onOpenChange:g}=I(),m=(0,p.rd)(),v=e=>{if("action"===e.type)e.onSelect();else if(e.external){var t;null==(t=window.open(e.url,"_blank"))||t.focus()}else m.push(e.url);g(!1)},b=(0,f.J)(e=>{if(t&&!e.isComposing){if("ArrowDown"===e.key||"ArrowUp"==e.key){var n,r;let o=t.findIndex(e=>e.id===c);-1===o?o=0:"ArrowDown"===e.key?o++:o--,h(null!=(r=null==(n=t.at(o%t.length))?void 0:n.id)?r:null),e.preventDefault()}if("Enter"===e.key){let n=t.find(e=>e.id===c);n&&v(n),e.preventDefault()}}});return(0,l.useEffect)(()=>{let e=u.current;if(!e)return;let t=new ResizeObserver(()=>{let t=e.firstElementChild;e.style.setProperty("--fd-animated-height","".concat(t.clientHeight,"px"))}),n=e.firstElementChild;return n&&t.observe(n),window.addEventListener("keydown",b),()=>{t.disconnect(),window.removeEventListener("keydown",b)}},[]),(0,a.T)(t,()=>{t&&t.length>0&&h(t[0].id)}),(0,r.jsx)("div",{...s,ref:u,"data-empty":null===t,className:(0,d.QP)("overflow-hidden h-(--fd-animated-height) transition-[height]",s.className),children:(0,r.jsx)("div",{className:(0,d.QP)("w-full flex flex-col overflow-y-auto max-h-[460px] p-1",!t&&"hidden"),children:(0,r.jsxs)(x.Provider,{value:(0,l.useMemo)(()=>({active:c,setActive:h}),[c]),children:[(null==t?void 0:t.length)===0&&n(),null==t?void 0:t.map(e=>(0,r.jsx)(l.Fragment,{children:o({item:e,onClick:()=>v(e)})},e.id))]})})})}function R(e){let{item:t,className:n,children:o,renderHighlights:a=S,...i}=e,{active:u,setActive:c}=function(){let e=(0,l.useContext)(x);if(!e)throw Error("Missing <SearchDialogList />");return e}(),f=t.id===u;if("action"===t.type)null!=o||(o=t.node);else{var p;null!=o||(o=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"inline-flex items-center text-fd-muted-foreground text-xs empty:hidden",children:null==(p=t.breadcrumbs)?void 0:p.map((e,t)=>(0,r.jsxs)(l.Fragment,{children:[t>0&&(0,r.jsx)(s.c_,{className:"size-4"}),e]},t))}),"page"!==t.type&&(0,r.jsx)("div",{role:"none",className:"absolute start-3 inset-y-0 w-px bg-fd-border"}),(0,r.jsxs)("p",{className:(0,d.QP)("min-w-0 truncate","page"!==t.type&&"ps-4","page"===t.type||"heading"===t.type?"font-medium":"text-fd-popover-foreground/80"),children:["heading"===t.type&&(0,r.jsx)(s.Vw,{className:"inline me-1 size-4 text-fd-muted-foreground"}),t.contentWithHighlights?a(t.contentWithHighlights):t.content]})]}))}return(0,r.jsx)("button",{type:"button",ref:(0,l.useCallback)(e=>{f&&e&&(0,h.A)(e,{scrollMode:"if-needed",block:"nearest",boundary:e.parentElement})},[f]),"aria-selected":f,className:(0,d.QP)("relative select-none px-2.5 py-2 text-start text-sm rounded-lg",f&&"bg-fd-accent text-fd-accent-foreground",n),onPointerMove:()=>c(t.id),...i,children:o})}function k(e){let{isLoading:t}=I();return(0,r.jsx)(s.vj,{...e,className:(0,d.QP)("size-5 text-fd-muted-foreground",t&&"animate-pulse duration-400",e.className)})}let E=(0,c.F)("rounded-md border px-2 py-0.5 text-xs font-medium text-fd-muted-foreground transition-colors",{variants:{active:{true:"bg-fd-accent text-fd-accent-foreground"}}});function O(e){let{tag:t,onTagChange:n,allowClear:o=!1,...a}=e;return(0,r.jsx)("div",{...a,className:(0,d.QP)("flex items-center gap-1 flex-wrap",a.className),children:(0,r.jsx)(v.Provider,{value:(0,l.useMemo)(()=>({value:t,onValueChange:n,allowClear:o}),[o,n,t]),children:a.children})})}function A(e){let{value:t,className:n,...o}=e,{onValueChange:a,value:i,allowClear:s}=function(){let e=(0,l.useContext)(v);if(!e)throw Error("Missing <TagsList />");return e}(),u=t===i;return(0,r.jsx)("button",{type:"button","data-active":u,className:(0,d.QP)(E({active:u,className:n})),onClick:()=>{a(u&&s?void 0:t)},tabIndex:-1,...o,children:o.children})}function S(e){return e.map((e,t)=>{var n;return(null==(n=e.styles)?void 0:n.highlight)?(0,r.jsx)("span",{className:"text-fd-primary underline",children:e.content},t):(0,r.jsx)(l.Fragment,{children:e.content},t)})}function I(){let e=(0,l.useContext)(m);if(!e)throw Error("Missing <SearchDialog />");return e}function _(e){let{defaultTag:t,tags:s=[],api:d,delayMs:u,type:c="fetch",allowClear:f=!1,links:p=[],footer:h,...g}=e,{locale:m}=(0,i.useI18n)(),[x,v]=(0,l.useState)(t),{search:R,setSearch:E,query:S}=function(e,t,r,a=100,i=!1,s){let{delayMs:d=a??100,allowEmpty:u=i??!1,...c}=e;c.tag??=void 0,c.locale??=void 0;let[f,p]=(0,l.useState)(""),[h,g]=(0,l.useState)("empty"),[m,x]=(0,l.useState)(),[v,b]=(0,l.useState)(!1),y=function(e,t=1e3){let[n,r]=(0,l.useState)(e),o=(0,l.useRef)(void 0);if(0===t)return e;if(e!==n&&o.current?.value!==e){o.current&&clearTimeout(o.current.handler);let n=window.setTimeout(()=>{r(e)},t);o.current={value:e,handler:n}}return n}(f,d),j=(0,l.useRef)(void 0);return(0,o.T)([c,y],()=>{j.current&&(j.current(),j.current=void 0),b(!0);let e=!1;j.current=()=>{e=!0},(async function(){if(0===y.length&&!u)return"empty";if("fetch"===c.type){let{fetchDocs:e}=await n.e(4055).then(n.bind(n,4055));return e(y,c)}if("algolia"===c.type){let{searchDocs:e}=await n.e(6751).then(n.bind(n,6751));return e(y,c)}if("orama-cloud"===c.type){let{searchDocs:e}=await n.e(4343).then(n.bind(n,4343));return e(y,c)}if("static"===c.type){let{search:e}=await n.e(9013).then(n.bind(n,9013));return e(y,c)}if("mixedbread"===c.type){let{search:e}=await n.e(8975).then(n.bind(n,8975));return e(y,c)}throw Error("unknown search client")})().then(t=>{e||(x(void 0),g(t))}).catch(e=>{x(e)}).finally(()=>{b(!1)})},function e(t,n){if(Array.isArray(t)&&Array.isArray(n))return n.length!==t.length||t.some((t,r)=>e(t,n[r]));if("object"==typeof t&&t&&"object"==typeof n&&n){let r=Object.keys(t),o=Object.keys(n);return r.length!==o.length||r.some(r=>e(t[r],n[r]))}return t!==n}),{search:f,setSearch:p,query:{isLoading:v,data:h,error:m}}}("fetch"===c?{type:"fetch",api:d,locale:m,tag:x,delayMs:u}:{type:"static",from:d,locale:m,tag:x,delayMs:u}),I=(0,l.useMemo)(()=>0===p.length?null:p.map(e=>{let[t,n]=e;return{type:"page",id:t,content:t,url:n}}),[p]);return(0,a.T)(t,e=>{v(e)}),(0,r.jsxs)(b,{search:R,onSearchChange:E,isLoading:S.isLoading,...g,children:[(0,r.jsx)(D,{}),(0,r.jsxs)(N,{children:[(0,r.jsxs)(y,{children:[(0,r.jsx)(k,{}),(0,r.jsx)(j,{}),(0,r.jsx)(w,{})]}),(0,r.jsx)(P,{items:"empty"!==S.data?S.data:I})]}),(0,r.jsxs)(C,{children:[s.length>0&&(0,r.jsx)(O,{tag:x,onTagChange:v,allowClear:f,children:s.map(e=>(0,r.jsx)(A,{value:e.value,children:e.name},e.value))}),h]})]})}},9511:(e,t,n)=>{n.d(t,{Cf:()=>L,L3:()=>G,LC:()=>I,UC:()=>L,VY:()=>K,ZL:()=>A,bL:()=>R,bm:()=>H,hE:()=>G,hJ:()=>I,lG:()=>R});var r=n(2115),o=n(2556),l=n(4446),a=n(3468),i=n(8946),s=n(6182),d=n(1987),u=n(9666),c=n(5433),f=n(6842),p=n(7602),h=n(9526),g=n(4129),m=n(101),x=n(7745),v=n(2467),b=n(5155),y=Object.defineProperty,j=(e,t)=>y(e,"name",{value:t,configurable:!0}),w="Dialog",[C,D]=(0,a.A)(w),[N,P]=C(w),R=j(e=>{let{__scopeDialog:t,children:n,open:o,defaultOpen:l,onOpenChange:a,modal:d=!0}=e,c=r.useRef(null),f=r.useRef(null),{nodes:p,registry:h}=(0,u.Rd)(),[g,m]=(0,s.i)({prop:o,defaultProp:null!=l&&l,onChange:a,caller:w}),[x,v]=r.useState(0),[y,j]=r.useState(0);return(0,b.jsx)(N,{scope:t,triggerRef:c,contentRef:f,contentId:(0,i.B)(),titleId:(0,i.B)(),descriptionId:(0,i.B)(),titlePresent:x>0,descriptionPresent:y>0,setTitleCount:v,setDescriptionCount:j,open:g,onOpenChange:m,onOpenToggle:r.useCallback(()=>m(e=>!e),[m]),modal:d,branchNodes:p,branchRegistry:h,children:n})},"Dialog"),k="DialogPortal",[E,O]=C(k,{forceMount:void 0}),A=j(e=>{let{__scopeDialog:t,forceMount:n,children:o,container:l}=e,a=P(k,t);return(0,b.jsx)(E,{scope:t,forceMount:n,children:r.Children.map(o,e=>(0,b.jsx)(f.C,{present:n||a.open,children:(0,b.jsx)(c.Z,{asChild:!0,container:l,children:e})}))})},"DialogPortal"),S="DialogOverlay",I=r.forwardRef(j(function(e,t){let n=O(S,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,l=P(S,e.__scopeDialog);return l.modal?(0,b.jsx)(f.C,{present:r||l.open,children:(0,b.jsx)(F,{...o,ref:t})}):null},"DialogOverlay")),_=(0,v.TL)("DialogOverlay.RemoveScroll"),F=r.forwardRef(j(function(e,t){let{__scopeDialog:n,...o}=e,a=P(S,n),i=(0,d.e0)(),s=(0,l.s)(t,i);return(0,b.jsx)(m.A,{as:_,allowPinchZoom:!0,shards:r.useMemo(()=>[a.contentRef,...a.branchNodes.map(e=>({current:e}))],[a.contentRef,a.branchNodes]),children:(0,b.jsx)(p.sG.div,{"data-state":q(a.open),...o,ref:s,style:{pointerEvents:"auto",...o.style}})})},"DialogOverlayImpl")),M="DialogContent",L=r.forwardRef(j(function(e,t){let n=O(M,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,l=P(M,e.__scopeDialog);return(0,b.jsx)(f.C,{present:r||l.open,children:l.modal?(0,b.jsx)(Q,{...o,ref:t}):(0,b.jsx)(T,{...o,ref:t})})},"DialogContent")),Q=r.forwardRef(j(function(e,t){let n=P(M,e.__scopeDialog),a=r.useRef(null),i=(0,l.s)(t,n.contentRef,a);return r.useEffect(()=>{let e=a.current;if(e)return(0,x.Eq)(e)},[]),(0,b.jsx)(z,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:(0,o.mK)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null==(t=n.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,o.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,o.mK)(e.onFocusOutside,e=>e.preventDefault())})},"DialogContentModal")),T=r.forwardRef(j(function(e,t){let n=P(M,e.__scopeDialog),o=r.useRef(!1),l=r.useRef(!1);return(0,b.jsx)(z,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var r,a;null==(r=e.onCloseAutoFocus)||r.call(e,t),t.defaultPrevented||(o.current||null==(a=n.triggerRef.current)||a.focus(),t.preventDefault()),o.current=!1,l.current=!1},onInteractOutside:t=>{var r,a;null==(r=e.onInteractOutside)||r.call(e,t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(l.current=!0));let i=t.target;(null==(a=n.triggerRef.current)?void 0:a.contains(i))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&l.current&&t.preventDefault()}})},"DialogContentNonModal")),z=r.forwardRef(j(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:l,"aria-describedby":a,children:i,...s}=e,c=P(M,n);return(0,h.Oh)(),(0,b.jsx)(u.UF,{registry:c.branchRegistry,children:(0,b.jsx)(u.n1,{asChild:!0,loop:!0,trapped:r,branches:c.branchNodes,onMountAutoFocus:o,onUnmountAutoFocus:l,children:(0,b.jsx)(d.qW,{role:"dialog",id:c.contentId,"aria-labelledby":c.titlePresent?c.titleId:void 0,"aria-describedby":c.descriptionPresent?U(a,c.descriptionId):a,"data-state":q(c.open),...s,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1),children:i})})})},"DialogContentImpl")),G=r.forwardRef(j(function(e,t){let{__scopeDialog:n,...r}=e,o=P("DialogTitle",n),{setTitleCount:l}=o;return(0,g.N)(()=>(l(e=>e+1),()=>l(e=>e-1)),[l]),(0,b.jsx)(p.sG.h2,{id:o.titleId,...r,ref:t})},"DialogTitle")),K=r.forwardRef(j(function(e,t){let{__scopeDialog:n,...r}=e,o=P("DialogDescription",n),{setDescriptionCount:l}=o;return(0,g.N)(()=>(l(e=>e+1),()=>l(e=>e-1)),[l]),(0,b.jsx)(p.sG.p,{id:o.descriptionId,...r,ref:t})},"DialogDescription")),H=r.forwardRef(j(function(e,t){let{__scopeDialog:n,...r}=e,l=P("DialogClose",n);return(0,b.jsx)(p.sG.button,{type:"button",...r,ref:t,onClick:(0,o.mK)(e.onClick,()=>l.onOpenChange(!1))})},"DialogClose"));function U(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let r=new Set;for(let e of t)if("string"==typeof e)for(let t of String(e).trim().split(/\s+/))t&&r.add(t);return r.size>0?Array.from(r).join(" "):void 0}function q(e){return e?"open":"closed"}j(U,"concatAriaDescribedby"),j(q,"getState")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9675],{9675:(t,e,o)=>{o.d(e,{DEMO_WORLDS:()=>w,DEMO_WORLDS_BY_SLUG:()=>f});let i="c2a9f10b7d3e5f8a9012bc34de56f7a89b0c12de",s=[i,"8e4b2c71fa39d6b05c8e7a1f0d93c5b6e2a8d7f1","41a9d02c7e35b8fa6012bc34de56f7a89b0c9d77","9c3f7e21b8d4056aec2174bdde56f8a89b1c0e44"],r=function(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{id:t,title:e,interface:"api",kind:"service",category:"tool",confidence:"medium",...o}},n=(t,e)=>({id:t,title:e,interface:"api",kind:"service",category:"access",confidence:"medium"}),a=(t,e)=>({id:t,title:e,interface:"terminal",kind:"tooling",category:"tool",confidence:"medium"}),l=(t,e)=>Array.from({length:e},()=>"0123456789abcdef"[Math.floor(16*t())]).join(""),c=t=>"".concat(l(t,8),"-").concat(l(t,4),"-4").concat(l(t,3),"-a").concat(l(t,3),"-").concat(l(t,12)),d=(t,e)=>e[Math.floor(t()*e.length)],p=["passed","passed","passed","passed","passed","passed","passed","failed","failed","incomplete","error","passed"],w=[{slug:"pylon",name:"pylon-support-twin",totalCommits:1284,seed:101,changed:["src/workflows/escalate.ts"],tools:[r("slack","Slack"),r("stripe","Stripe"),r("gmail","Gmail"),n("hubspot","HubSpot"),n("okta","Okta"),r("linear","Linear"),r("datadog","Datadog"),r("notion","Notion"),r("github","GitHub"),r("twilio","Twilio"),r("mongodb","MongoDB"),r("kubernetes","Kubernetes")],workflows:[{id:"wf-credit",title:"Issue a billing credit",entrypoint:"src/workflows/credit.ts#issueBillingCredit",tools:["stripe","hubspot","gmail"]},{id:"wf-escalate",title:"Escalate a P1 to engineering",entrypoint:"src/workflows/escalate.ts#escalateToEngineering",tools:["linear","slack"]},{id:"wf-summary",title:"Summarize a resolution thread",entrypoint:"src/workflows/summary.ts#draftResolutionSummary",tools:["slack","notion"]},{id:"wf-reply-sms",title:"Send an SMS follow-up",entrypoint:"src/workflows/sms.ts#sendFollowUpSms",tools:["twilio","hubspot"]},{id:"wf-csat",title:"Collect a CSAT response",entrypoint:"src/workflows/csat.ts#recordCsat",tools:["mongodb","slack"]},{id:"wf-sla-digest",title:"Post the SLA digest",entrypoint:"routes/sla.ts#route:Slack:postDigest@8",tools:["slack","datadog"]},{id:"wf-refund-partial",title:"Refund a partial charge",entrypoint:"routes/refunds.ts#route:Stripe:refundPartial@3",tools:["stripe","gmail"]},{id:"wf-macro-sync",title:"Sync macros from Notion",entrypoint:"src/workflows/macros.ts#syncMacros",tools:["notion","mongodb"]},{id:"wf-account-merge",title:"Merge duplicate accounts",entrypoint:"src/workflows/accounts.ts#mergeAccounts",tools:["hubspot","mongodb"]},{id:"wf-oncall-page",title:"Page support on-call",entrypoint:"src/workflows/paging.ts#pageSupport",tools:["datadog","slack"]},{id:"wf-sso-audit",title:"Audit agent SSO roles",entrypoint:"src/workflows/sso.ts#auditRoles",tools:["okta","datadog"]},{id:"wf-twin-replica",title:"Replicate the support world",entrypoint:"src/twin/replica.ts#createSupportReplica",tools:["mongodb","okta"]},{id:"wf-twin-dup",title:"Fault: duplicate credit delivery",entrypoint:"src/twin/faults.ts#injectDuplicateCredit",tools:["stripe"]},{id:"wf-twin-replay",title:"Replay a ticket in the twin",entrypoint:"src/twin/replay.ts#replayTicket",tools:["slack","stripe"]}]},{slug:"intercom",name:"intercom-returns-twin",totalCommits:946,seed:202,changed:["src/workflows/refund.ts"],tools:[r("shopify","Shopify"),r("intercom","Intercom"),r("stripe","Stripe"),r("klaviyo","Klaviyo"),r("slack","Slack"),r("gmail","Gmail"),r("postgres","PostgreSQL",{kind:"database"}),r("twilio","Twilio"),r("google-sheets","Google Sheets"),r("redis","Redis")],workflows:[{id:"wf-return",title:"Resolve a post-purchase return",entrypoint:"src/workflows/returns.ts#resolveReturnRequest",tools:["shopify","intercom","postgres"]},{id:"wf-address",title:"Change a delivery address",entrypoint:"src/workflows/address.ts#changeDeliveryAddress",tools:["shopify","klaviyo"]},{id:"wf-refund",title:"Refund a damaged item",entrypoint:"src/workflows/refund.ts#issueRefund",tools:["stripe","gmail"]},{id:"wf-exchange",title:"Offer a size exchange",entrypoint:"src/workflows/exchange.ts#offerExchange",tools:["shopify","intercom"]},{id:"wf-backorder",title:"Notify on backorder",entrypoint:"src/workflows/backorder.ts#notifyBackorder",tools:["klaviyo","twilio"]},{id:"wf-loyalty",title:"Grant loyalty points",entrypoint:"src/workflows/loyalty.ts#grantPoints",tools:["postgres","redis"]},{id:"wf-sheet-export",title:"Export weekly returns",entrypoint:"src/workflows/exports.ts#exportReturns",tools:["google-sheets","postgres"]},{id:"wf-carrier",title:"Open a carrier claim",entrypoint:"routes/carrier.ts#route:Api:openClaim@5",tools:["shopify","gmail"]},{id:"wf-fraud-hold",title:"Hold a suspicious return",entrypoint:"src/workflows/risk.ts#holdReturn",tools:["postgres","slack"]},{id:"wf-twin-replica",title:"Replicate the orders world",entrypoint:"src/twin/replica.ts#createOrdersReplica",tools:["postgres","redis"]},{id:"wf-twin-late",title:"Fault: delayed webhook replay",entrypoint:"src/twin/faults.ts#replayLateWebhook",tools:["shopify","stripe"]},{id:"wf-twin-dup",title:"Fault: duplicate refund delivery",entrypoint:"src/twin/faults.ts#injectDuplicateRefund",tools:["stripe"]}]},{slug:"ramp",name:"ramp-ap-twin",totalCommits:2103,seed:303,changed:["src/workflows/approval.ts"],tools:[r("gmail","Gmail"),n("netsuite","NetSuite"),r("slack","Slack"),n("bank","Bank rail"),r("snowflake","Snowflake"),r("postgres","PostgreSQL",{kind:"database"}),n("okta","Okta"),r("calendar","Google Calendar"),r("quickbooks","QuickBooks"),r("mongodb","MongoDB")],workflows:[{id:"wf-invoice",title:"Process a vendor invoice",entrypoint:"src/workflows/invoice.ts#processInvoice",tools:["gmail","netsuite","postgres"]},{id:"wf-approval",title:"Route an approval above threshold",entrypoint:"src/workflows/approval.ts#routeApproval",tools:["slack","netsuite","okta"]},{id:"wf-vendor",title:"Detect a duplicate vendor",entrypoint:"src/workflows/vendors.ts#detectDuplicateVendor",tools:["netsuite","snowflake"]},{id:"wf-payment",title:"Schedule a vendor payment",entrypoint:"src/workflows/payments.ts#schedulePayment",tools:["bank","netsuite"]},{id:"wf-reconcile",title:"Reconcile month-end spend",entrypoint:"src/workflows/reconcile.ts#reconcileSpend",tools:["snowflake","quickbooks"]},{id:"wf-reminder",title:"Send an invoice reminder",entrypoint:"src/workflows/reminders.ts#sendReminder",tools:["gmail","calendar"]},{id:"wf-w9",title:"Collect a missing W-9",entrypoint:"src/workflows/compliance.ts#collectW9",tools:["gmail","mongodb"]},{id:"wf-duplicate-pay",title:"Catch a duplicate payment",entrypoint:"src/workflows/risk.ts#catchDuplicatePayment",tools:["postgres","bank"]},{id:"wf-board-digest",title:"Post the spend digest",entrypoint:"routes/digest.ts#route:Slack:postSpend@11",tools:["slack","snowflake"]},{id:"wf-twin-replica",title:"Replicate the ledger world",entrypoint:"src/twin/replica.ts#createLedgerReplica",tools:["postgres","netsuite"]},{id:"wf-twin-timeout",title:"Fault: lost bank confirmation",entrypoint:"src/twin/faults.ts#injectPaymentTimeout",tools:["bank","postgres"]},{id:"wf-twin-replay",title:"Replay a payment run",entrypoint:"src/twin/replay.ts#replayPaymentRun",tools:["bank","netsuite"]}]},{slug:"clay",name:"clay-gtm-twin",totalCommits:1740,seed:404,changed:["src/workflows/route.ts"],tools:[n("salesforce","Salesforce"),n("hubspot","HubSpot"),r("slack","Slack"),r("gmail","Gmail"),r("postgres","PostgreSQL",{kind:"database"}),r("snowflake","Snowflake"),r("mixpanel","Mixpanel"),r("notion","Notion"),r("calendar","Google Calendar"),r("linkedin","LinkedIn"),r("google-sheets","Google Sheets"),r("twilio","Twilio")],workflows:[{id:"wf-enrich",title:"Enrich an inbound lead",entrypoint:"src/workflows/enrich.ts#enrichAndScore",tools:["snowflake","mixpanel","postgres"]},{id:"wf-route",title:"Route leads round-robin by territory",entrypoint:"src/workflows/route.ts#routeToRep",tools:["salesforce","slack"]},{id:"wf-sync",title:"Write enrichment back to the CRM",entrypoint:"src/workflows/sync.ts#syncEnrichment",tools:["hubspot","postgres"]},{id:"wf-waterfall",title:"Run a contact-data waterfall",entrypoint:"src/workflows/waterfall.ts#runWaterfall",tools:["linkedin","snowflake"]},{id:"wf-sequence",title:"Enroll a lead in a sequence",entrypoint:"src/workflows/sequences.ts#enrollLead",tools:["gmail","hubspot"]},{id:"wf-meeting",title:"Book a discovery meeting",entrypoint:"src/workflows/meetings.ts#bookDiscovery",tools:["calendar","gmail"]},{id:"wf-sms-nudge",title:"Send an SMS nudge",entrypoint:"src/workflows/sms.ts#sendNudge",tools:["twilio","mixpanel"]},{id:"wf-dedupe",title:"Dedupe CRM accounts",entrypoint:"src/workflows/dedupe.ts#dedupeAccounts",tools:["salesforce","snowflake"]},{id:"wf-digest",title:"Post the pipeline digest",entrypoint:"routes/pipeline.ts#route:Slack:postPipeline@6",tools:["slack","notion"]},{id:"wf-twin-replica",title:"Replicate the pipeline world",entrypoint:"src/twin/replica.ts#createPipelineReplica",tools:["postgres","snowflake"]},{id:"wf-twin-replay",title:"Replay a lead batch in the twin",entrypoint:"src/twin/replay.ts#replayLeadBatch",tools:["postgres","snowflake"]},{id:"wf-twin-rate",title:"Fault: enrichment rate limit",entrypoint:"src/twin/faults.ts#injectRateLimit",tools:["snowflake"]}]},{slug:"cognition",name:"cognition-coding-twin",totalCommits:3421,seed:505,changed:["src/workflows/migrate.ts"],tools:[r("github","GitHub"),a("npm","npm registry"),a("ec2","AWS EC2"),a("terraform","Terraform"),r("postgres","PostgreSQL",{kind:"database"}),r("datadog","Datadog"),r("pagerduty","PagerDuty"),r("slack","Slack"),r("linear","Linear"),r("kubernetes","Kubernetes"),r("docker","Docker"),r("github-actions","GitHub Actions")],workflows:[{id:"wf-ci",title:"Fix failing CI on main",entrypoint:"src/workflows/ci.ts#resolveIssue",tools:["github","npm","linear"]},{id:"wf-migrate",title:"Migrate the users table safely",entrypoint:"src/workflows/migrate.ts#migrateSchema",tools:["postgres","ec2"]},{id:"wf-rollback",title:"Roll back a bad deploy",entrypoint:"src/workflows/deploy.ts#rollBackDeploy",tools:["terraform","datadog","pagerduty"]},{id:"wf-flake",title:"Quarantine a flaky test",entrypoint:"src/workflows/tests.ts#quarantineTest",tools:["github-actions","slack"]},{id:"wf-dependabot",title:"Land a dependency bump",entrypoint:"src/workflows/deps.ts#landBump",tools:["github","npm"]},{id:"wf-image",title:"Rebuild a stale docker image",entrypoint:"src/workflows/images.ts#rebuildImage",tools:["docker","kubernetes"]},{id:"wf-infra-drift",title:"Detect infrastructure drift",entrypoint:"src/workflows/infra.ts#detectDrift",tools:["terraform","ec2"]},{id:"wf-rotate",title:"Rotate a leaked credential",entrypoint:"src/workflows/secrets.ts#rotateCredential",tools:["github","terraform"]},{id:"wf-incident-digest",title:"Post the incident digest",entrypoint:"routes/incidents.ts#route:Slack:postIncidents@9",tools:["slack","pagerduty"]},{id:"wf-twin-reset",title:"Reset the staging twin to baseline",entrypoint:"src/twin/reset.ts#resetStagingWorld",tools:["terraform","postgres"]},{id:"wf-twin-replica",title:"Replicate the services world",entrypoint:"src/twin/replica.ts#createServicesReplica",tools:["kubernetes","postgres"]},{id:"wf-twin-timeout",title:"Fault: lost response after write",entrypoint:"src/twin/faults.ts#injectTimeoutAfterWrite",tools:["postgres"]}]},{slug:"sentry",name:"sentry-oncall-twin",totalCommits:1655,seed:606,changed:["src/workflows/triage.ts"],tools:[r("pagerduty","PagerDuty"),r("slack","Slack"),r("github","GitHub"),r("linear","Linear"),r("datadog","Datadog"),a("ec2","AWS EC2"),a("terraform","Terraform"),n("okta","Okta"),r("postgres","PostgreSQL",{kind:"database"}),r("openai","OpenAI"),r("kubernetes","Kubernetes"),r("github-actions","GitHub Actions")],workflows:[{id:"wf-triage",title:"Triage a new issue",entrypoint:"src/workflows/triage.ts#triageAlert",tools:["datadog","github","linear"]},{id:"wf-incident",title:"Page on-call on an error spike",entrypoint:"src/workflows/incident.ts#openIncident",tools:["pagerduty","slack","okta"]},{id:"wf-rca",title:"Summarize root cause after resolution",entrypoint:"src/workflows/rca.ts#summarizeRootCause",tools:["datadog","postgres"]},{id:"wf-cluster",title:"Cluster related errors",entrypoint:"src/workflows/cluster.ts#clusterErrors",tools:["openai","postgres"]},{id:"wf-regression",title:"Flag a regression window",entrypoint:"src/workflows/regressions.ts#flagRegression",tools:["datadog","github-actions"]},{id:"wf-scale",title:"Scale a noisy service",entrypoint:"src/workflows/scale.ts#scaleService",tools:["kubernetes","datadog"]},{id:"wf-postmortem",title:"Draft the postmortem doc",entrypoint:"src/workflows/postmortem.ts#draftPostmortem",tools:["github","openai"]},{id:"wf-status",title:"Post a status update",entrypoint:"routes/status.ts#route:Slack:postStatus@4",tools:["slack","pagerduty"]},{id:"wf-access-review",title:"Review on-call access",entrypoint:"src/workflows/access.ts#reviewAccess",tools:["okta","linear"]},{id:"wf-twin-replica",title:"Replicate the telemetry world",entrypoint:"src/twin/replica.ts#createTelemetryReplica",tools:["postgres","datadog"]},{id:"wf-twin-spike",title:"Fault: inject a 5x error spike",entrypoint:"src/twin/faults.ts#injectErrorSpike",tools:["datadog","ec2"]},{id:"wf-twin-replay",title:"Replay an incident timeline",entrypoint:"src/twin/replay.ts#replayIncident",tools:["datadog","pagerduty"]}]},{slug:"abridge",name:"abridge-clinical-twin",totalCommits:887,seed:707,changed:["src/workflows/coding.ts"],tools:[r("ehr","EHR"),r("notes","Clinical notes"),r("coding-rules","Coding rules"),r("slack","Slack"),r("gmail","Gmail"),r("postgres","PostgreSQL",{kind:"database"}),n("okta","Okta"),r("calendar","Google Calendar"),r("redis","Redis"),r("mongodb","MongoDB"),r("twilio","Twilio")],workflows:[{id:"wf-note",title:"Draft an encounter note",entrypoint:"src/workflows/note.ts#fileEncounterNote",tools:["notes","ehr"]},{id:"wf-coding",title:"Apply coding flags for review",entrypoint:"src/workflows/coding.ts#flagCoding",tools:["coding-rules","postgres"]},{id:"wf-reconcile",title:"Reconcile orders against medications",entrypoint:"src/workflows/reconcile.ts#reconcileOrders",tools:["ehr","postgres"]},{id:"wf-claim",title:"Scrub a claim before submission",entrypoint:"src/workflows/claims.ts#scrubClaim",tools:["coding-rules","mongodb"]},{id:"wf-followup",title:"Schedule a patient follow-up",entrypoint:"src/workflows/followup.ts#scheduleFollowUp",tools:["calendar","gmail"]},{id:"wf-phi-audit",title:"Audit PHI access logs",entrypoint:"src/workflows/audit.ts#auditPhi",tools:["postgres","okta"]},{id:"wf-handoff",title:"Send a shift handoff summary",entrypoint:"routes/handoff.ts#route:Slack:postHandoff@7",tools:["slack","notes"]},{id:"wf-remind",title:"Send a medication reminder",entrypoint:"src/workflows/reminders.ts#sendReminder",tools:["twilio"]},{id:"wf-cache-warm",title:"Warm the encounter cache",entrypoint:"src/workflows/cache.ts#warmCache",tools:["redis","postgres"]},{id:"wf-twin-replica",title:"Build a de-identified clinical replica",entrypoint:"src/twin/replica.ts#createDeidReplica",tools:["postgres","okta"]},{id:"wf-twin-reconcile",title:"Reconcile orders inside the twin",entrypoint:"src/twin/replay.ts#replayReconciliation",tools:["ehr","postgres"]},{id:"wf-twin-perm",title:"Fault: expired EHR permissions",entrypoint:"src/twin/faults.ts#injectExpiredPermission",tools:["ehr"]}]},{slug:"paloalto",name:"paloalto-triage-twin",totalCommits:1988,seed:808,changed:["src/workflows/correlate.ts"],tools:[r("siem","SIEM"),r("edr","EDR"),r("pagerduty","PagerDuty"),r("slack","Slack"),r("github","GitHub"),a("ec2","AWS EC2"),a("terraform","Terraform"),n("okta","Okta"),r("datadog","Datadog"),r("kubernetes","Kubernetes"),r("openai","OpenAI"),r("redis","Redis")],workflows:[{id:"wf-alert",title:"Triage an endpoint alert",entrypoint:"src/workflows/alert.ts#triageEndpointAlert",tools:["siem","edr","github"]},{id:"wf-correlate",title:"Correlate suspicious egress events",entrypoint:"src/workflows/correlate.ts#correlateEvents",tools:["siem","datadog"]},{id:"wf-isolate",title:"Isolate a compromised host",entrypoint:"src/workflows/isolate.ts#isolateHost",tools:["edr","slack","okta"]},{id:"wf-enrich",title:"Enrich an indicator with intel",entrypoint:"src/workflows/intel.ts#enrichIndicator",tools:["openai","siem"]},{id:"wf-quarantine",title:"Quarantine a malware sample",entrypoint:"src/workflows/malware.ts#quarantineSample",tools:["edr","redis"]},{id:"wf-access",title:"Revoke a departed employee access",entrypoint:"src/workflows/offboarding.ts#revokeAccess",tools:["okta","siem"]},{id:"wf-patch",title:"Track a patch through fleet",entrypoint:"src/workflows/patch.ts#trackPatch",tools:["ec2","datadog"]},{id:"wf-drift",title:"Detect a firewall rule drift",entrypoint:"src/workflows/drift.ts#detectDrift",tools:["terraform","siem"]},{id:"wf-brief",title:"Post the SOC morning brief",entrypoint:"routes/soc.ts#route:Slack:postBrief@2",tools:["slack","siem"]},{id:"wf-twin-replica",title:"Replicate the fleet world",entrypoint:"src/twin/replica.ts#createFleetReplica",tools:["ec2","kubernetes"]},{id:"wf-twin-drill",title:"Run a breach drill in the twin",entrypoint:"src/twin/drill.ts#runBreachDrill",tools:["edr","siem","ec2"]},{id:"wf-twin-egress",title:"Fault: suspicious egress burst",entrypoint:"src/twin/faults.ts#injectEgressBurst",tools:["siem","ec2"]}]}].map(t=>{let{slug:e,name:o,totalCommits:r,seed:n,changed:a,tools:w,workflows:f}=t;return{slug:e,inventory:{schema:"company-inventory/v1",name:o,generatedAt:"2026-10-23T09:12:00Z",git:{branch:"main",head:i,previousHead:"8e4b2c71fa39d6b05c8e7a1f0d93c5b6e2a8d7f1",dirty:!1,capturedAt:"2026-10-23T09:12:00Z",totalCommits:r,commits:Array.from({length:29},(t,e)=>({sha:(i+e.toString(16).padStart(4,"0")).slice(0,40),date:new Date(Date.now()-(13-e%14)*864e5-(e+1)*36e5).toISOString(),message:["Fix thread id lookup","Add retry around postMessage","Extract shared helper","Handle renamed channel","Pin runner version","Cache lookups","Return actionable error","Structured logging","Bump adapter contracts","Tiny copy fixes"][e%10],author:"sashank"})),changedFiles:a},tools:w,workflows:f.map(t=>{var e;return{...t,confidence:"medium",steps:(null!=(e=t.tools)?e:[]).map(t=>({tool:t,operations:["invoke","observe"]}))}})},runs:function(t,e){let o,i=(o=e,()=>{o|=0;let t=Math.imul((o=o+0x6d2b79f5|0)^o>>>15,1|o);return(((t=t+Math.imul(t^t>>>7,61|t)^t)^t>>>14)>>>0)/0x100000000}),r=t.inventory.workflows,n=Date.now(),a=[];for(let e=0;e<120;e++){var w,f,u,g;let o,m=r[Math.floor(e/120*r.length+1.4*i())%r.length],k=p[Math.floor(i()*p.length)],y=new Date(n-864e5*Math.floor(60*i())-36e5*Math.floor(20*i())).toISOString(),h=d(i,s),b=e=>{var o,i;return null!=(i=null==(o=t.inventory.tools.find(t=>t.id===e))?void 0:o.title)?i:e},S=(null!=(w=m.tools)?w:[]).map(b),v=null!=(f=S[0])?f:"CLI",R=null!=(g=null!=(u=S[1])?u:S[0])?g:"CLI",C="".concat(1e3+Math.floor(8900*i())),D=(t,e,o,i,s)=>({service:t,path:e,summary:o,expected:i,actual:s,count:i,passed:i===s}),P=[],x=[],E=(t,e,o,i)=>x.push({sequence:x.length+1,service:t,operation:e,path:o,detail:i});if(E("CLI","loaded",m.id,"Loaded workflow ".concat(m.id)),"passed"===k)P.push(D(v,"".concat(m.id,"/outcome"),"Expected outcome recorded",1,1)),P.push(D(v,"".concat(m.id,"/writes"),"Exactly one write performed",1,1)),i()>.4&&P.push(D(R,"".concat(m.id,"/side-effect"),"Downstream effect verified",1,1)),E(v,"applied","record/".concat(C),"".concat(m.title," \xb7 record #").concat(C)),E("CLI","finished",m.id,"".concat(P.length," checks recorded"));else if("failed"===k){let t=d(i,["missing","duplicated","stale","wrong value"]);P.push(D(v,"".concat(m.id,"/outcome"),"Expected outcome recorded",1,0)),i()>.5&&P.push(D(R,"".concat(m.id,"/side-effect"),"Downstream effect verified",1,0)),P.push(D("CLI","retries","Retry budget respected",0,0)),E(v,"mismatch","record/".concat(C),"Observed ".concat(t," on ").concat(m.title.toLowerCase()," #").concat(C)),E("CLI","finished",m.id,"Recorded outcome differs from expected")}else if("error"===k){let t=d(i,["credentials missing for the sandbox account","adapter exited before the first call","rate limit exhausted on the test tenant","fixture set failed to load"]);P.push(D(v,"".concat(m.id,"/outcome"),"Workflow could not finish",1,0)),E("CLI","error",m.id,t.charAt(0).toUpperCase()+t.slice(1)),E("CLI","aborted",m.id,"Workflow aborted before the first write"),o="Workflow could not start: ".concat(t,".")}else P.push(D(v,"".concat(m.id,"/outcome"),"Workflow finished inside its limit",1,0)),E("CLI","timeout",m.id,"Exceeded the workflow time limit before completing");E("CLI","receipt",m.id,"Run receipt written for ".concat(m.id));let L=t=>{var e,o;return{[null!=(o=null==(e=m.tools)?void 0:e[0])?o:"cli"]:{records:[{id:C,workflow:m.id,state:t}]}}};a.push({schema:"agenttwin/run-v1",project:t.inventory.name,workflowId:m.id,name:m.id.replace(/^wf-/,"").replaceAll("-","_")+"_".concat(C),status:k,runId:c(i),runtime:"local",createdAt:y,durationMs:800+Math.floor(2600*i()),git:{head:h,branch:"main",dirty:i()>.85,capturedAt:y,totalCommits:1284,commits:[],changedFiles:[]},application:{command:["node","packages/cli/dist/cli.js","run","--workflow",m.id],exitCode:+("passed"!==k),stdout:"passed"===k?"".concat(m.title," finished with all checks passing."):"".concat(m.title," did not pass its recorded checks."),stderr:"",..."incomplete"===k?{timedOut:!0}:{}},assertions:P,events:x,initialState:L("baseline"),finalState:L("passed"===k?"settled":"incomplete"===k?"pending":"diverged"),sourceDigests:{},specDigest:l(i,64),...o?{executionError:o}:{}})}return a}({inventory:{name:o,tools:w,workflows:f}},n)}}),f=Object.fromEntries(w.map(t=>[t.slug,t]));w[0].inventory,w[0].runs}}]);
|