@astermind/cybernetic-chatbot-client 1.0.6

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.
Files changed (61) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +667 -0
  3. package/dist/ApiClient.d.ts +86 -0
  4. package/dist/ApiClient.d.ts.map +1 -0
  5. package/dist/CyberneticCache.d.ts +56 -0
  6. package/dist/CyberneticCache.d.ts.map +1 -0
  7. package/dist/CyberneticClient.d.ts +207 -0
  8. package/dist/CyberneticClient.d.ts.map +1 -0
  9. package/dist/CyberneticLocalRAG.d.ts +59 -0
  10. package/dist/CyberneticLocalRAG.d.ts.map +1 -0
  11. package/dist/agentic/CyberneticAgent.d.ts +111 -0
  12. package/dist/agentic/CyberneticAgent.d.ts.map +1 -0
  13. package/dist/agentic/CyberneticIntentClassifier.d.ts +78 -0
  14. package/dist/agentic/CyberneticIntentClassifier.d.ts.map +1 -0
  15. package/dist/agentic/index.d.ts +13 -0
  16. package/dist/agentic/index.d.ts.map +1 -0
  17. package/dist/agentic/register.d.ts +32 -0
  18. package/dist/agentic/register.d.ts.map +1 -0
  19. package/dist/agentic/tools/ClickTool.d.ts +41 -0
  20. package/dist/agentic/tools/ClickTool.d.ts.map +1 -0
  21. package/dist/agentic/tools/FillTool.d.ts +59 -0
  22. package/dist/agentic/tools/FillTool.d.ts.map +1 -0
  23. package/dist/agentic/tools/NavigateTool.d.ts +87 -0
  24. package/dist/agentic/tools/NavigateTool.d.ts.map +1 -0
  25. package/dist/agentic/tools/ScrollTool.d.ts +74 -0
  26. package/dist/agentic/tools/ScrollTool.d.ts.map +1 -0
  27. package/dist/agentic/tools/index.d.ts +9 -0
  28. package/dist/agentic/tools/index.d.ts.map +1 -0
  29. package/dist/agentic/types.d.ts +112 -0
  30. package/dist/agentic/types.d.ts.map +1 -0
  31. package/dist/config.d.ts +10 -0
  32. package/dist/config.d.ts.map +1 -0
  33. package/dist/cybernetic-chatbot-client-full.esm.js +3271 -0
  34. package/dist/cybernetic-chatbot-client-full.esm.js.map +1 -0
  35. package/dist/cybernetic-chatbot-client-full.min.js +2 -0
  36. package/dist/cybernetic-chatbot-client-full.min.js.map +1 -0
  37. package/dist/cybernetic-chatbot-client-full.umd.js +3296 -0
  38. package/dist/cybernetic-chatbot-client-full.umd.js.map +1 -0
  39. package/dist/cybernetic-chatbot-client.esm.js +3265 -0
  40. package/dist/cybernetic-chatbot-client.esm.js.map +1 -0
  41. package/dist/cybernetic-chatbot-client.min.js +2 -0
  42. package/dist/cybernetic-chatbot-client.min.js.map +1 -0
  43. package/dist/cybernetic-chatbot-client.umd.js +3290 -0
  44. package/dist/cybernetic-chatbot-client.umd.js.map +1 -0
  45. package/dist/full.d.ts +15 -0
  46. package/dist/full.d.ts.map +1 -0
  47. package/dist/index.d.ts +15 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/license/base64url.d.ts +24 -0
  50. package/dist/license/base64url.d.ts.map +1 -0
  51. package/dist/license/index.d.ts +5 -0
  52. package/dist/license/index.d.ts.map +1 -0
  53. package/dist/license/licenseManager.d.ts +124 -0
  54. package/dist/license/licenseManager.d.ts.map +1 -0
  55. package/dist/license/types.d.ts +72 -0
  56. package/dist/license/types.d.ts.map +1 -0
  57. package/dist/license/verifier.d.ts +19 -0
  58. package/dist/license/verifier.d.ts.map +1 -0
  59. package/dist/types.d.ts +163 -0
  60. package/dist/types.d.ts.map +1 -0
  61. package/package.json +85 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cybernetic-chatbot-client.esm.js","sources":["../src/ApiClient.ts","../node_modules/idb/build/wrap-idb-value.js","../node_modules/idb/build/index.js","../src/CyberneticCache.ts","../src/CyberneticLocalRAG.ts","../src/license/base64url.ts","../src/license/verifier.ts","../src/license/licenseManager.ts","../src/CyberneticClient.ts","../src/config.ts","../src/agentic/CyberneticIntentClassifier.ts","../src/agentic/CyberneticAgent.ts","../src/agentic/register.ts","../src/index.ts"],"sourcesContent":[null,"const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n",null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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","x_google_ignoreList":[1,2]}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).AsterMindCybernetic={})}(this,function(e){"use strict";class t{constructor(e,t){this.baseUrl=e.replace(/\/$/,""),this.apiKey=t}async chat(e,t){const n=await fetch(`${this.baseUrl}/api/external/chat`,{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.apiKey},body:JSON.stringify({message:e,sessionId:t?.sessionId,context:t?.context})});if(!n.ok){const e=await n.json().catch(()=>({}));throw new Error(e.message||`HTTP ${n.status}: ${n.statusText}`)}return n.json()}async chatStream(e,t){const n=await fetch(`${this.baseUrl}/api/external/chat/stream`,{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.apiKey},body:JSON.stringify({message:e,sessionId:t?.sessionId,context:t?.context})});if(!n.ok){const e=await n.json().catch(()=>({}));throw new Error(e.message||`HTTP ${n.status}`)}const s=n.body?.getReader();if(!s)throw new Error("Streaming not supported");const i=new TextDecoder;let o,a="",r="",c=[];try{for(;;){const{done:e,value:n}=await s.read();if(e)break;a+=i.decode(n,{stream:!0});const l=a.split("\n");a=l.pop()||"";for(const e of l)if(e.startsWith("event: "));else if(e.startsWith("data: "))try{const n=JSON.parse(e.slice(6));void 0!==n.text?(r+=n.text,t.onToken?.(n.text)):void 0!==n.sources?(c=n.sources,t.onSources?.(c)):void 0!==n.sessionId&&(o=n.sessionId)}catch{}}t.onComplete?.({fullText:r,sessionId:o,sources:c})}catch(e){t.onError?.(e)}}async getGeneralDocs(e){const t=new URLSearchParams;e&&t.set("since",e);const n=`${this.baseUrl}/api/external/docs${t.toString()?"?"+t:""}`,s=await fetch(n,{headers:{"X-API-Key":this.apiKey}});if(!s.ok)throw new Error(`HTTP ${s.status}`);return(await s.json()).documents}async getStatus(){const e=await fetch(`${this.baseUrl}/api/external/status`,{headers:{"X-API-Key":this.apiKey}});if(!e.ok)throw new Error(`HTTP ${e.status}`);return e.json()}async health(){const e=await fetch(`${this.baseUrl}/api/external/health`);if(!e.ok)throw new Error(`HTTP ${e.status}`);return e.json()}}let n,s;const i=new WeakMap,o=new WeakMap,a=new WeakMap,r=new WeakMap,c=new WeakMap;let l={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return o.get(e);if("objectStoreNames"===t)return e.objectStoreNames||a.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return h(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function u(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(s||(s=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(f(this),t),h(i.get(this))}:function(...t){return h(e.apply(f(this),t))}:function(t,...n){const s=e.call(f(this),t,...n);return a.set(s,t.sort?t.sort():[t]),h(s)}}function d(e){return"function"==typeof e?u(e):(e instanceof IDBTransaction&&function(e){if(o.has(e))return;const t=new Promise((t,n)=>{const s=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",o),e.removeEventListener("abort",o)},i=()=>{t(),s()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",i),e.addEventListener("error",o),e.addEventListener("abort",o)});o.set(e,t)}(e),t=e,(n||(n=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(e=>t instanceof e)?new Proxy(e,l):e);var t}function h(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,n)=>{const s=()=>{e.removeEventListener("success",i),e.removeEventListener("error",o)},i=()=>{t(h(e.result)),s()},o=()=>{n(e.error),s()};e.addEventListener("success",i),e.addEventListener("error",o)});return t.then(t=>{t instanceof IDBCursor&&i.set(t,e)}).catch(()=>{}),c.set(t,e),t}(e);if(r.has(e))return r.get(e);const t=d(e);return t!==e&&(r.set(e,t),c.set(t,e)),t}const f=e=>c.get(e);const g=["get","getKey","getAll","getAllKeys","count"],m=["put","add","delete","clear"],p=new Map;function y(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(p.get(t))return p.get(t);const n=t.replace(/FromIndex$/,""),s=t!==n,i=m.includes(n);if(!(n in(s?IDBIndex:IDBObjectStore).prototype)||!i&&!g.includes(n))return;const o=async function(e,...t){const o=this.transaction(e,i?"readwrite":"readonly");let a=o.store;return s&&(a=a.index(t.shift())),(await Promise.all([a[n](...t),i&&o.done]))[0]};return p.set(t,o),o}l=(e=>({...e,get:(t,n,s)=>y(t,n)||e.get(t,n,s),has:(t,n)=>!!y(t,n)||e.has(t,n)}))(l);class w{constructor(e){this.db=null,this.dbPromise=null,this.documentCount=0,this.lastSyncAt=null,this.config=e,"indexeddb"===e.storage&&"undefined"!=typeof indexedDB?this.dbPromise=this.initDB():"localstorage"===e.storage&&this.loadLocalStorageMetadata()}loadLocalStorageMetadata(){try{const e=localStorage.getItem("cybernetic-cache-meta");if(e){const t=JSON.parse(e);this.documentCount=t.documentCount||0,this.lastSyncAt=t.lastSyncAt||null}}catch{}}async initDB(){return this.db=await function(e,t,{blocked:n,upgrade:s,blocking:i,terminated:o}={}){const a=indexedDB.open(e,t),r=h(a);return s&&a.addEventListener("upgradeneeded",e=>{s(h(a.result),e.oldVersion,e.newVersion,h(a.transaction),e)}),n&&a.addEventListener("blocked",e=>n(e.oldVersion,e.newVersion,e)),r.then(e=>{o&&e.addEventListener("close",()=>o()),i&&e.addEventListener("versionchange",e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),r}("cybernetic-cache",1,{upgrade(e){if(!e.objectStoreNames.contains("documents")){e.createObjectStore("documents",{keyPath:"id"}).createIndex("by-updated","updatedAt")}e.objectStoreNames.contains("metadata")||e.createObjectStore("metadata",{keyPath:"key"})}}),await this.loadMetadata(),this.db}async getDB(){if(this.db)return this.db;if(this.dbPromise)return this.dbPromise;throw new Error("Database not available")}async loadMetadata(){if(!this.db)return;const e=await this.db.get("metadata","documentCount");this.documentCount=e?.value||0;const t=await this.db.get("metadata","lastSyncAt");this.lastSyncAt=t?.value||null}async store(e){if("localstorage"===this.config.storage)return this.storeLocalStorage(e);const t=(await this.getDB()).transaction(["documents","metadata"],"readwrite");for(const n of e)await t.objectStore("documents").put(n);this.documentCount=await t.objectStore("documents").count(),this.lastSyncAt=(new Date).toISOString(),await t.objectStore("metadata").put({key:"documentCount",value:this.documentCount}),await t.objectStore("metadata").put({key:"lastSyncAt",value:this.lastSyncAt}),await t.done}async retrieve(){if("localstorage"===this.config.storage)return this.retrieveLocalStorage();return(await this.getDB()).getAll("documents")}async getLastSync(){return this.lastSyncAt}getStatus(){const e=Date.now()-(this.lastSyncAt?new Date(this.lastSyncAt).getTime():0)>this.config.maxAge;return{documentCount:this.documentCount,lastSyncAt:this.lastSyncAt,cacheSize:5e3*this.documentCount,isStale:e}}async clear(){if("localstorage"===this.config.storage)return localStorage.removeItem("cybernetic-cache-docs"),localStorage.removeItem("cybernetic-cache-meta"),this.documentCount=0,void(this.lastSyncAt=null);const e=(await this.getDB()).transaction(["documents","metadata"],"readwrite");await e.objectStore("documents").clear(),await e.objectStore("metadata").clear(),await e.done,this.documentCount=0,this.lastSyncAt=null}storeLocalStorage(e){try{localStorage.setItem("cybernetic-cache-docs",JSON.stringify(e)),this.documentCount=e.length,this.lastSyncAt=(new Date).toISOString(),localStorage.setItem("cybernetic-cache-meta",JSON.stringify({documentCount:this.documentCount,lastSyncAt:this.lastSyncAt}))}catch{localStorage.removeItem("cybernetic-cache-docs");const t=e.slice(0,50);localStorage.setItem("cybernetic-cache-docs",JSON.stringify(t)),this.documentCount=t.length}}retrieveLocalStorage(){try{const e=localStorage.getItem("cybernetic-cache-docs");return e?JSON.parse(e):[]}catch{return[]}}}class b{constructor(){this.documents=[],this.idf=new Map,this.indexed=!1}isIndexed(){return this.indexed&&this.documents.length>0}async index(e){this.documents=[],this.idf=new Map;const t=new Map;for(const n of e){const e=this.tokenize(n.content),s=new Set(e);for(const e of s)t.set(e,(t.get(e)||0)+1);this.documents.push({id:n.id,title:n.title,content:n.content,tokens:e,tfidf:new Map})}const n=e.length;for(const[e,s]of t)this.idf.set(e,Math.log((n+1)/(s+1))+1);for(const e of this.documents){const t=this.computeTermFrequency(e.tokens);for(const[n,s]of t){const t=this.idf.get(n)||1;e.tfidf.set(n,s*t)}}this.indexed=!0}async ask(e){if(!this.indexed||0===this.documents.length)return{answer:"I don't have any information available offline.",sources:[],topScore:0};const t=this.tokenize(e),n=this.computeTermFrequency(t),s=new Map;for(const[e,t]of n){const n=this.idf.get(e)||1;s.set(e,t*n)}const i=this.documents.map(e=>({doc:e,score:this.cosineSimilarity(s,e.tfidf)}));i.sort((e,t)=>t.score-e.score);const o=i.slice(0,3).filter(e=>e.score>.1);if(0===o.length)return{answer:"I couldn't find relevant information for your question in my offline data.",sources:[],topScore:i[0]?.score||0};const a=o[0].doc;return{answer:this.extractRelevantSnippet(a.content,t),sources:o.map(e=>({title:e.doc.title,snippet:e.doc.content.substring(0,200)+"...",score:e.score})),topScore:o[0].score}}reset(){this.documents=[],this.idf=new Map,this.indexed=!1}tokenize(e){return e.toLowerCase().replace(/[^\w\s]/g," ").split(/\s+/).filter(e=>e.length>2&&!this.isStopWord(e))}computeTermFrequency(e){const t=new Map;for(const n of e)t.set(n,(t.get(n)||0)+1);const n=Math.max(...t.values());if(n>0)for(const[e,s]of t)t.set(e,s/n);return t}cosineSimilarity(e,t){let n=0,s=0,i=0;for(const[i,o]of e){n+=o*(t.get(i)||0),s+=o*o}for(const e of t.values())i+=e*e;return 0===s||0===i?0:n/(Math.sqrt(s)*Math.sqrt(i))}extractRelevantSnippet(e,t){const n=e.split(/[.!?]+/).filter(e=>e.trim().length>0).map(e=>{const n=new Set(this.tokenize(e));let s=0;for(const e of t)n.has(e)&&s++;return{sentence:e.trim(),score:s}});n.sort((e,t)=>t.score-e.score);const s=n.slice(0,3).filter(e=>e.score>0);return 0===s.length?e.substring(0,300)+"...":s.map(e=>e.sentence).join(". ")+"."}isStopWord(e){return new Set(["the","a","an","and","or","but","in","on","at","to","for","of","with","by","from","up","about","into","through","during","is","are","was","were","be","been","being","have","has","had","do","does","did","will","would","could","should","may","might","this","that","these","those","it","its","they","them","their","what","which","who","whom","when","where","why","how","all","each","every","both","few","more","most","other","some","such","no","not","only","same","so","than","too","very"]).has(e)}}function v(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");const n=t.length%4;n&&(t+="=".repeat(4-n));const s=atob(t),i=new Uint8Array(s.length);for(let e=0;e<s.length;e++)i[e]=s.charCodeAt(e);return i}function S(e){const t=v(e);return(new TextDecoder).decode(t)}function C(e){try{const t=e.split(".");if(3!==t.length)return null;const[n,s,i]=t;return{header:JSON.parse(S(n)),payload:JSON.parse(S(s)),signature:v(i),signedContent:`${n}.${s}`}}catch{return null}}async function E(e,t,n){try{const s=await async function(e){const t=e.replace(/-----BEGIN PUBLIC KEY-----/,"").replace(/-----END PUBLIC KEY-----/,"").replace(/\s/g,""),n=atob(t),s=new Uint8Array(n.length);for(let e=0;e<n.length;e++)s[e]=n.charCodeAt(e);return crypto.subtle.importKey("spki",s.buffer,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"])}(n),i=(new TextEncoder).encode(e),o=new Uint8Array(t).buffer;return await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},s,o,i)}catch(e){return console.warn("[License] Signature verification failed:",e),!1}}async function k(e,t){if(!e||""===e.trim())return{status:"missing",payload:null,error:"No license key provided",inGracePeriod:!1,daysRemaining:null};const n=C(e);if(!n)return{status:"invalid",payload:null,error:"Invalid license key format",inGracePeriod:!1,daysRemaining:null};const s=function(e){return"string"!=typeof e.iss||"string"!=typeof e.sub||"string"!=typeof e.aud||"number"!=typeof e.iat||"number"!=typeof e.exp||"string"!=typeof e.plan||"number"!=typeof e.seats?null:Array.isArray(e.features)?"number"!=typeof e.licenseVersion?null:{iss:e.iss,sub:e.sub,aud:e.aud,iat:e.iat,exp:e.exp,plan:e.plan,org:"string"==typeof e.org?e.org:void 0,seats:e.seats,features:e.features,graceUntil:"number"==typeof e.graceUntil?e.graceUntil:void 0,licenseVersion:e.licenseVersion}:null}(n.payload);if(!s)return{status:"invalid",payload:null,error:"Invalid license payload structure",inGracePeriod:!1,daysRemaining:null};if("astermind"!==s.iss)return{status:"invalid",payload:null,error:"Invalid license issuer",inGracePeriod:!1,daysRemaining:null};if("cybernetic-chatbot"!==s.aud&&"*"!==s.aud)return{status:"invalid",payload:null,error:"License not valid for this product",inGracePeriod:!1,daysRemaining:null};if("undefined"!=typeof crypto&&crypto.subtle){const e=t||"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLW7MXHQ0Fuk1OKt9D5CbRw7fUMN\nLJ5AZXvOhHaXdHzMuYKX5BpK4w7TqbPvJ6QPvKmLKvHh1VKcUJ6mJQgJJw==\n-----END PUBLIC KEY-----";if(!await E(n.signedContent,n.signature,e))return{status:"invalid",payload:null,error:"License signature verification failed",inGracePeriod:!1,daysRemaining:null}}const i=Math.floor(Date.now()/1e3),o=function(e){const t=e-Math.floor(Date.now()/1e3);return Math.floor(t/86400)}(s.exp);return s.exp<i?s.graceUntil&&s.graceUntil>i?{status:"valid",payload:s,inGracePeriod:!0,daysRemaining:o}:{status:"expired",payload:s,error:"License has expired",inGracePeriod:!1,daysRemaining:o}:"eval"===s.plan?{status:"eval",payload:s,inGracePeriod:!1,daysRemaining:o}:{status:"valid",payload:s,inGracePeriod:!1,daysRemaining:o}}const x={CLIENT:"cybernetic-chatbot-client",AGENTIC:"agentic"};function A(){if("undefined"==typeof window)return"production"===process?.env?.NODE_ENV?"production":"development";const e=window.location?.hostname||"",t=["localhost","127.0.0.1","0.0.0.0",".local",".dev",".test",":3000",":5173",":8080",":4200"];for(const n of t)if(e.includes(n)||window.location?.port===n.replace(":",""))return"development";if("file:"===window.location?.protocol)return"development";const n=["staging.","preview.","-preview.",".vercel.app",".netlify.app",".pages.dev"];for(const t of n)if(e.includes(t))return"production";return"production"}function M(e){return"development"===e?"soft":"hard"}class I{constructor(e={}){this.state=null,this.verificationPromise=null,this.hasLoggedWarning=!1,this.loggedMissingFeatures=new Set,this.config=e,this.environment=e.environment||A(),this.enforcementMode=M(this.environment)}async verify(){if(this.state)return this.state;if(this.verificationPromise)return this.verificationPromise;this.verificationPromise=k(this.config.licenseKey,this.config.publicKey);try{return this.state=await this.verificationPromise,this.config.onStatusChange?.(this.state),this.logLicenseStatus(),this.state}finally{this.verificationPromise=null}}getState(){return this.state}isValid(){return!!this.state&&("valid"===this.state.status||"eval"===this.state.status)}requiresAction(){return!this.state||("expired"===this.state.status||"missing"===this.state.status||"invalid"===this.state.status)}getEnvironment(){return this.environment}getEnforcementMode(){return this.enforcementMode}processResponse(e){return this.state?this.isValid()&&!this.state.inGracePeriod?e:"soft"===this.enforcementMode?(this.hasLoggedWarning||(this.logDevelopmentWarning(),this.hasLoggedWarning=!0),e):e+"\n\n---\n⚠️ License Notice: Your AsterMind license key needs to be updated. Please contact support@astermind.ai or visit https://astermind.ai/license to renew your license.":e}getStatusMessage(){if(!this.state)return"License not verified";switch(this.state.status){case"valid":return this.state.inGracePeriod?`License expired but in grace period (${Math.abs(this.state.daysRemaining||0)} days overdue)`:`License valid (${this.state.daysRemaining} days remaining)`;case"eval":return`Evaluation license (${this.state.daysRemaining} days remaining)`;case"expired":return`License expired ${Math.abs(this.state.daysRemaining||0)} days ago`;case"missing":return"No license key provided";case"invalid":return`Invalid license: ${this.state.error}`;default:return"Unknown license status"}}async reVerify(){return this.state=null,this.hasLoggedWarning=!1,this.loggedMissingFeatures.clear(),this.verify()}hasFeature(e){return!!this.state?.payload&&this.state.payload.features.includes(e)}getFeatures(){return this.state?.payload?.features||[]}checkClientFeature(){return this.checkFeatureWithLog(x.CLIENT,"CyberneticClient")}checkAgenticFeature(){return this.checkFeatureWithLog(x.AGENTIC,"Agentic capabilities")}checkFeatureWithLog(e,t){if(!this.state?.payload)return!0;const n=this.state.payload.features.includes(e);return n||this.loggedMissingFeatures.has(e)||(this.loggedMissingFeatures.add(e),this.logMissingFeature(e,t)),n}logMissingFeature(e,t){const n=this.getFeatures(),s=this.state?.payload?.plan||"unknown";console.warn(`[Cybernetic License] ${t} requires the '${e}' feature, which is not included in your license.`),console.info(`[Cybernetic License] Current license plan: ${s}`),console.info(`[Cybernetic License] Licensed features: ${n.length>0?n.join(", "):"(none)"}`),console.info("[Cybernetic License] To add this feature, upgrade your license at https://astermind.ai/license")}logLicenseStatus(){if(!this.state)return;const e="[Cybernetic License]";switch(this.state.status){case"valid":this.state.inGracePeriod?console.warn(`${e} License expired but in grace period. Please renew at https://astermind.ai/license`):null!==this.state.daysRemaining&&this.state.daysRemaining<=30&&console.info(`${e} License expires in ${this.state.daysRemaining} days`);break;case"eval":console.info(`${e} Evaluation license - ${this.state.daysRemaining} days remaining`);break;case"expired":console.error(`${e} License expired. Enforcement mode: ${this.enforcementMode}. Renew at https://astermind.ai/license`);break;case"missing":console.warn(`${e} No license key provided. Enforcement mode: ${this.enforcementMode}. Get a license at https://astermind.ai/license`);break;case"invalid":console.error(`${e} Invalid license: ${this.state.error}. Enforcement mode: ${this.enforcementMode}`)}}logDevelopmentWarning(){console.warn(`[Cybernetic License] Running in development mode with ${this.state?.status||"unknown"} license. In production, a warning will be appended to chatbot responses. Get a license at https://astermind.ai/license`)}}class L{constructor(e){this.status="connecting",this.lastError=null,this.systemSettings=null,this.settingsLastChecked=0,this.SETTINGS_CHECK_INTERVAL=3e5,this.agenticCapabilities=null,this.config={apiUrl:e.apiUrl,apiKey:e.apiKey,fallback:{enabled:e.fallback?.enabled??!0,cacheMaxAge:e.fallback?.cacheMaxAge??864e5,cacheOnConnect:e.fallback?.cacheOnConnect??!0,cacheStorage:e.fallback?.cacheStorage??"indexeddb"},retry:{maxRetries:e.retry?.maxRetries??2,initialDelay:e.retry?.initialDelay??1e3,exponentialBackoff:e.retry?.exponentialBackoff??!0},agentic:e.agentic??null,onStatusChange:e.onStatusChange||(()=>{}),onError:e.onError||(()=>{})},this.apiClient=new t(this.config.apiUrl,this.config.apiKey),this.cache=new w({storage:this.config.fallback.cacheStorage,maxAge:this.config.fallback.cacheMaxAge}),this.localRAG=new b,this.licenseManager=new I({licenseKey:e.licenseKey}),this.licenseManager.verify().then(()=>{this.licenseManager.checkClientFeature()}).catch(()=>{}),this.monitorConnection(),this.config.fallback.enabled&&this.config.fallback.cacheOnConnect&&this.syncCache().catch(()=>{})}registerAgentic(e){this.agenticCapabilities=e,console.log("[Cybernetic] Agentic capabilities registered")}isAgenticEnabled(){return null!==this.agenticCapabilities&&!0===this.config.agentic?.enabled&&(this.licenseManager.checkAgenticFeature(),!0)}getAgenticCapabilities(){return this.agenticCapabilities}getAgenticConfig(){return this.config.agentic}classifyIntent(e){if(!this.isAgenticEnabled()||!this.agenticCapabilities)return null;const t=this.config.agentic;return new(0,this.agenticCapabilities.agent)(t).interpretIntent(e)}async executeAction(e){if(!this.isAgenticEnabled()||!this.agenticCapabilities)return{success:!1,message:"Agentic capabilities not enabled"};const t=this.config.agentic;return new(0,this.agenticCapabilities.agent)(t).executeAction(e)}async smartAsk(e,t){const n=this.classifyIntent(e);if(n&&n.action&&!n.shouldEscalate){if(!1!==this.config.agentic?.requireConfirmation)return{action:n.action};const e=await this.executeAction(n.action);return{action:n.action,actionResult:e}}return{response:await this.ask(e,t)}}async ask(e,t){if(!e||"string"!=typeof e)return this.createErrorResponse("Message is required","none");const n=await this.checkSystemStatus();if(n.maintenanceMode||n.forceOfflineClients)return console.log("[Cybernetic] Maintenance mode active, using cached data"),this.isCacheValid()?await this.fallbackAsk(e):{reply:n.maintenanceMessage||"The service is currently under maintenance. Please try again later.",confidence:"none",sources:[],offline:!0,degradedReason:"Maintenance mode active, no valid cache available"};try{const n=await this.apiWithRetry(e,t);this.setStatus("online");return{reply:this.licenseManager.processResponse(n.reply),confidence:"high",sources:n.sources||[],offline:!1,sessionId:n.sessionId}}catch(n){const s=this.normalizeError(n);return this.lastError=s,this.config.onError(s),"RATE_LIMIT"===s.code?{reply:"I'm receiving too many requests right now. Please try again in a moment.",confidence:"none",sources:[],offline:!1,retryAfter:s.retryAfter}:this.config.fallback.enabled&&!t?.skipFallback?await this.fallbackAsk(e):this.createErrorResponse("Unable to connect to the chatbot service. Please try again later.","none",s.retryAfter)}}async askStream(e,t,n){if(!e||"string"!=typeof e)return void t.onError?.({code:"LOCAL_RAG_ERROR",message:"Message is required"});const s=await this.checkSystemStatus();if(s.maintenanceMode||s.forceOfflineClients){console.log("[Cybernetic] Maintenance mode active, falling back to offline");const n=await this.fallbackAsk(e);return void t.onComplete?.(n)}try{await this.apiClient.chatStream(e,{sessionId:n?.sessionId,context:n?.context,onToken:t.onToken,onSources:t.onSources,onComplete:e=>{this.setStatus("online");const n=this.licenseManager.processResponse(e.fullText);t.onComplete?.({reply:n,confidence:"high",sources:e.sources||[],offline:!1,sessionId:e.sessionId})},onError:e=>{const n=this.normalizeError(e);this.config.onError(n),t.onError?.(n)}})}catch(s){const i=this.normalizeError(s);if(this.lastError=i,this.config.onError(i),this.config.fallback.enabled&&!n?.skipFallback){const n=await this.fallbackAsk(e);t.onComplete?.(n)}else t.onError?.(i)}}async syncCache(){try{const e=await this.cache.getLastSync(),t=await this.apiClient.getGeneralDocs(e);t.length>0&&(await this.cache.store(t),await this.localRAG.index(t),console.log(`[Cybernetic] Cache synced: ${t.length} documents`)),this.setStatus("online")}catch(e){console.warn("[Cybernetic] Cache sync failed:",e)}}getStatus(){return{connection:this.status,cache:this.cache.getStatus(),lastError:this.lastError,systemSettings:this.systemSettings,license:this.licenseManager.getState()}}getLicenseManager(){return this.licenseManager}async clearCache(){await this.cache.clear(),this.localRAG.reset()}async checkConnection(){try{return await this.apiClient.getStatus(),this.setStatus("online"),!0}catch{return this.setStatus("offline"),!1}}async checkSystemStatus(){if(this.systemSettings&&Date.now()-this.settingsLastChecked<this.SETTINGS_CHECK_INTERVAL)return this.systemSettings;try{const e=await this.apiClient.getStatus();return this.systemSettings={cacheRetentionHours:e.systemSettings?.cacheRetentionHours??168,maintenanceMode:e.systemSettings?.maintenanceMode??!1,maintenanceMessage:e.systemSettings?.maintenanceMessage,forceOfflineClients:e.systemSettings?.forceOfflineClients??!1},this.settingsLastChecked=Date.now(),this.systemSettings}catch{return this.systemSettings||{cacheRetentionHours:168,maintenanceMode:!1,forceOfflineClients:!1}}}isMaintenanceMode(){return this.systemSettings?.maintenanceMode??!1}getMaintenanceMessage(){return this.systemSettings?.maintenanceMessage}isCacheValid(){const e=this.cache.getStatus();if(!e.lastSyncAt)return!1;const t=60*(this.systemSettings?.cacheRetentionHours||168)*60*1e3,n=new Date(e.lastSyncAt).getTime();return Date.now()-n<t}async apiWithRetry(e,t){const{maxRetries:n,initialDelay:s,exponentialBackoff:i}=this.config.retry;let o=null;for(let a=0;a<=n;a++)try{return await this.apiClient.chat(e,{sessionId:t?.sessionId,context:t?.context})}catch(e){o=e;const t=this.normalizeError(e);if("AUTH_ERROR"===t.code||"RATE_LIMIT"===t.code)throw e;if(a<n){const e=i?s*Math.pow(2,a):s;await this.sleep(e)}}throw o}async fallbackAsk(e){this.setStatus("offline");const t=this.cache.getStatus();if(0===t.documentCount)return{reply:"I'm currently offline and don't have any cached information. Please check your connection and try again.",confidence:"none",sources:[],offline:!0,degradedReason:"No cached documents available"};try{const n=await this.cache.retrieve();this.localRAG.isIndexed()||await this.localRAG.index(n);const s=await this.localRAG.ask(e);let i="medium";s.topScore<.3?i="low":s.topScore>.7&&(i="medium");return{reply:this.licenseManager.processResponse(s.answer),confidence:i,sources:s.sources.map(e=>({title:e.title,snippet:e.snippet,relevance:e.score})),offline:!0,degradedReason:t.isStale?"Using stale cached data":"Processed locally without server"}}catch(e){return console.error("[Cybernetic] Local RAG error:",e),{reply:"I'm having trouble processing your request offline. Please try again when you're back online.",confidence:"none",sources:[],offline:!0,degradedReason:"Local RAG processing failed"}}}monitorConnection(){"undefined"!=typeof window&&(window.addEventListener("online",()=>{this.syncCache().catch(()=>{})}),window.addEventListener("offline",()=>{this.setStatus("offline")}),navigator.onLine||this.setStatus("offline"))}setStatus(e){this.status!==e&&(this.status=e,this.config.onStatusChange(e))}normalizeError(e){if(e instanceof Error){if(e.message.includes("401")||e.message.includes("Unauthorized"))return{code:"AUTH_ERROR",message:"Invalid or expired API key",originalError:e};if(e.message.includes("429")||e.message.includes("Rate limit")){const t=e.message.match(/retry after (\d+)/i);return{code:"RATE_LIMIT",message:"Rate limit exceeded",retryAfter:t?parseInt(t[1],10):60,originalError:e}}return e.message.includes("5")||e.message.includes("Server")?{code:"SERVER_ERROR",message:"Server error occurred",originalError:e}:{code:"NETWORK_ERROR",message:e.message||"Network error",originalError:e}}return{code:"NETWORK_ERROR",message:"Unknown error occurred"}}createErrorResponse(e,t,n){return{reply:e,confidence:t,sources:[],offline:!1,retryAfter:n}}sleep(e){return new Promise(t=>setTimeout(t,e))}}function $(e){if(!e||"object"!=typeof e)throw new Error("Config must be an object");const t=e;if(!t.apiUrl||"string"!=typeof t.apiUrl)throw new Error("apiUrl is required and must be a string");if(!t.apiKey||"string"!=typeof t.apiKey)throw new Error("apiKey is required and must be a string");if(!t.apiKey.startsWith("am_"))throw new Error('apiKey must start with "am_"');return!0}const R={navigate:[{pattern:/^(go to|navigate to|take me to|open|show me|bring up)\s+(.+)/i,type:"navigate",weight:.9},{pattern:/^(i want to see|i need to go to|let me see)\s+(.+)/i,type:"navigate",weight:.85},{pattern:/^(where is|how do i get to)\s+(.+)/i,type:"navigate",weight:.6}],fillForm:[{pattern:/^(search for|find|look up|search)\s+(.+)/i,type:"fillForm",weight:.88},{pattern:/^(filter by|set .+ to|change .+ to)\s+(.+)/i,type:"fillForm",weight:.85},{pattern:/^(enter|type|put)\s+(.+)\s+(in|into)\s+(.+)/i,type:"fillForm",weight:.9}],clickElement:[{pattern:/^(click|press|hit|tap)\s+(the\s+)?(.+)\s+(button|link)/i,type:"clickElement",weight:.9},{pattern:/^(submit|send|confirm|save|cancel|delete)/i,type:"clickElement",weight:.85}],triggerModal:[{pattern:/^(open|show|display)\s+(the\s+)?(.+)\s+(modal|dialog|popup|window)/i,type:"triggerModal",weight:.9},{pattern:/^(open|show)\s+(help|settings|preferences|options)/i,type:"triggerModal",weight:.85}],scroll:[{pattern:/^(scroll to|jump to|go to)\s+(the\s+)?(.+)\s+(section|area|part)/i,type:"scroll",weight:.85},{pattern:/^(show me|take me to)\s+(the\s+)?(bottom|top|end|beginning)/i,type:"scroll",weight:.8}],highlight:[{pattern:/^(highlight|show me|point to|where is)\s+(the\s+)?(.+)/i,type:"highlight",weight:.7}],custom:[{pattern:/^(export|download|refresh|reload|sync)/i,type:"custom",weight:.85}]};class T{constructor(e){this.config=e,this.siteMapIndex=new Map,this.formIndex=new Map,this.modalIndex=new Map,this.buildIndexes()}buildIndexes(){if(this.config.siteMap)for(const e of this.config.siteMap){const t=[e.name.toLowerCase(),e.path.toLowerCase(),...(e.aliases||[]).map(e=>e.toLowerCase())];for(const n of t)this.siteMapIndex.set(n,e)}if(this.config.forms)for(const[e,t]of Object.entries(this.config.forms)){const n=[e.toLowerCase(),t.name.toLowerCase(),...(t.aliases||[]).map(e=>e.toLowerCase())];for(const e of n)this.formIndex.set(e,t)}if(this.config.modals)for(const[e,t]of Object.entries(this.config.modals)){const n=[e.toLowerCase(),t.id.toLowerCase(),...(t.aliases||[]).map(e=>e.toLowerCase())];for(const e of n)this.modalIndex.set(e,t)}}classify(e){if(!this.config.enabled)return{action:null,shouldEscalate:!0,rawConfidence:0};const t=e.trim().toLowerCase();for(const[t,n]of Object.entries(R))for(const{pattern:s,weight:i}of n){const n=e.match(s);if(n){const e=this.buildAction(t,n,i);if(e)return e}}const n=this.fuzzyMatchSiteMap(t);if(n)return n;const s=this.matchCustomAction(t);return s||{action:null,shouldEscalate:!0,rawConfidence:0,matchedPatterns:[]}}buildAction(e,t,n){const s=this.config.confidenceThreshold??.8;switch(e){case"navigate":{const e=this.extractTarget(t),i=this.findSiteMapMatch(e);if(i){const e=n*i.similarity;return{action:{id:`action-${Date.now()}`,type:"navigate",target:i.entry.path,confidence:e,explanation:`Navigate to ${i.entry.name}`},shouldEscalate:e<s,rawConfidence:e,matchedPatterns:["navigate",i.entry.name]}}break}case"fillForm":{const e=this.extractTarget(t),{field:i,value:o}=this.parseFormIntent(t);if(i){const e=.95*n;return{action:{id:`action-${Date.now()}`,type:"fillForm",target:i.selector,params:{value:o},confidence:e,explanation:`Fill "${i.name}" with "${o}"`},shouldEscalate:e<s,rawConfidence:e,matchedPatterns:["fillForm",i.name]}}if(this.config.forms?.search){const t=.9*n;return{action:{id:`action-${Date.now()}`,type:"fillForm",target:this.config.forms.search.selector,params:{value:e},confidence:t,explanation:`Search for "${e}"`},shouldEscalate:t<s,rawConfidence:t,matchedPatterns:["fillForm","search"]}}break}case"clickElement":{const e=this.extractTarget(t),i=this.findButtonSelector(e);if(i){const t=.95*n;return{action:{id:`action-${Date.now()}`,type:"clickElement",target:i,confidence:t,explanation:`Click "${e}" button`},shouldEscalate:t<s,rawConfidence:t,matchedPatterns:["clickElement",e]}}break}case"triggerModal":{const e=this.extractTarget(t),i=this.findModalConfig(e);if(i){const e=.95*n;return{action:{id:`action-${Date.now()}`,type:"triggerModal",target:i.trigger,confidence:e,explanation:`Open ${i.id} modal`},shouldEscalate:e<s,rawConfidence:e,matchedPatterns:["triggerModal",i.id]}}break}case"scroll":{const e=this.extractTarget(t),i=this.findScrollTarget(e);if(i){const t=.9*n;return{action:{id:`action-${Date.now()}`,type:"scroll",target:i,confidence:t,explanation:`Scroll to ${e}`},shouldEscalate:t<s,rawConfidence:t,matchedPatterns:["scroll",e]}}break}case"highlight":{const e=this.extractTarget(t),i=this.findElementByDescription(e);if(i){const t=.85*n;return{action:{id:`action-${Date.now()}`,type:"highlight",target:i,confidence:t,explanation:`Highlight ${e}`},shouldEscalate:t<s,rawConfidence:t,matchedPatterns:["highlight",e]}}break}case"custom":{const e=t[1]?.toLowerCase();if(this.config.customActions?.[e]){const t=.95*n;return{action:{id:`action-${Date.now()}`,type:"custom",target:e,confidence:t,explanation:`Execute ${e} action`},shouldEscalate:t<s,rawConfidence:t,matchedPatterns:["custom",e]}}break}}return null}extractTarget(e){for(let t=e.length-1;t>=1;t--)if(e[t])return e[t].trim();return""}findSiteMapMatch(e){const t=e.toLowerCase().replace(/[^a-z0-9\s]/g,""),n=this.siteMapIndex.get(t);if(n)return{entry:n,similarity:1};let s=null,i=0;for(const[e,n]of this.siteMapIndex){const o=this.calculateSimilarity(t,e);o>i&&o>.6&&(i=o,s=n)}return s?{entry:s,similarity:i}:null}fuzzyMatchSiteMap(e){const t=this.config.confidenceThreshold??.8;for(const[n,s]of this.siteMapIndex)if(e.includes(n)){const e=.75;return{action:{id:`action-${Date.now()}`,type:"navigate",target:s.path,confidence:e,explanation:`Navigate to ${s.name}`},shouldEscalate:e<t,rawConfidence:e,matchedPatterns:["fuzzy-sitemap",n]}}return null}matchCustomAction(e){if(!this.config.customActions)return null;const t=this.config.confidenceThreshold??.8;for(const n of Object.keys(this.config.customActions))if(e.includes(n.toLowerCase())){const e=.85;return{action:{id:`action-${Date.now()}`,type:"custom",target:n,confidence:e,explanation:`Execute ${n}`},shouldEscalate:e<t,rawConfidence:e,matchedPatterns:["custom",n]}}return null}parseFormIntent(e){const t=e[0];for(const[,e]of this.formIndex)if(t.toLowerCase().includes(e.name.toLowerCase())){const n=t.match(new RegExp(`${e.name}[^a-z]*(.+)`,"i"));return{field:e,value:n?.[1]?.trim()||""}}return{field:null,value:this.extractTarget(e)}}findButtonSelector(e){const t=e.toLowerCase();if("undefined"==typeof document)return`button:contains("${e}")`;const n=[`[data-action="${t}"]`,`[aria-label*="${t}" i]`,`.btn-${t}`,`#${t}-button`,`button.${t}`];for(const e of n)try{if(document.querySelector(e))return e}catch{}const s=document.querySelectorAll('button, [role="button"], a.btn');for(const e of s)if(e.textContent?.toLowerCase().includes(t))return this.generateUniqueSelector(e);return null}findModalConfig(e){return this.modalIndex.get(e.toLowerCase())||null}findScrollTarget(e){const t=e.toLowerCase();if("top"===t||"beginning"===t)return"body";if("bottom"===t||"end"===t)return"body:last-child";if("undefined"==typeof document)return`#${t.replace(/\s+/g,"-")}`;const n=[`#${t.replace(/\s+/g,"-")}`,`[data-section="${t}"]`,`.${t.replace(/\s+/g,"-")}-section`,`section[aria-label*="${t}" i]`];for(const e of n)try{if(document.querySelector(e))return e}catch{continue}return null}findElementByDescription(e){const t=e.toLowerCase();if("undefined"==typeof document)return`[aria-label*="${t}" i]`;const n=[`[aria-label*="${t}" i]`,`[data-testid*="${t}" i]`,`[title*="${t}" i]`];for(const e of n)try{if(document.querySelector(e))return e}catch{continue}return null}generateUniqueSelector(e){if(e.id)return`#${e.id}`;if(e.getAttribute("data-testid"))return`[data-testid="${e.getAttribute("data-testid")}"]`;const t=[];let n=e;for(;n&&n!==document.body;){let e=n.tagName.toLowerCase();if(n.className&&"string"==typeof n.className){const t=n.className.split(" ").filter(e=>e&&!e.includes(" "));t.length>0&&(e+=`.${t.slice(0,2).join(".")}`)}t.unshift(e),n=n.parentElement}return t.join(" > ")}calculateSimilarity(e,t){const n=new Set(e.split(/\s+/)),s=new Set(t.split(/\s+/)),i=new Set([...n].filter(e=>s.has(e))),o=new Set([...n,...s]);return i.size/o.size}getConfig(){return this.config}}class D{constructor(e){this.highlightOverlay=null,this.actionCount=0,this.lastActionReset=Date.now(),this.config=e,this.classifier=new T(e),"undefined"!=typeof document&&this.injectStyles()}interpretIntent(e){return this.classifier.classify(e)}async executeAction(e){const t=Date.now();t-this.lastActionReset>6e4&&(this.actionCount=0,this.lastActionReset=t);const n=this.config.maxActionsPerTurn??5;if(this.actionCount>=n)return{success:!1,message:`Rate limit exceeded. Maximum ${n} actions per minute.`};if(!this.isActionAllowed(e))return{success:!1,message:`Action type "${e.type}" is not allowed`};switch(this.actionCount++,e.type){case"navigate":return this.navigate(e.target,e.params);case"fillForm":return this.fillForm(e.target,e.params?.value);case"clickElement":return this.clickElement(e.target);case"triggerModal":return this.triggerModal(e.target);case"scroll":return this.scrollToElement(e.target);case"highlight":return this.highlightElement(e.target);case"custom":return this.executeCustomAction(e.target,e.params);default:return{success:!1,message:`Unknown action type: ${e.type}`}}}isActionAllowed(e){const t=this.config.allowedActions;if(!t)return!0;const n={navigate:"navigate",fillForm:"fill",clickElement:"click",scroll:"scroll",highlight:"click",triggerModal:"click",custom:"click"}[e.type];return t.includes(n)}isSelectorAllowed(e){if(this.config.blockedSelectors)for(const t of this.config.blockedSelectors)if(e.includes(t))return!1;return!(this.config.allowedSelectors&&this.config.allowedSelectors.length>0)||this.config.allowedSelectors.some(t=>e.includes(t))}async navigate(e,t){try{if(!this.validateNavigationUrl(e))return{success:!1,message:"Invalid or blocked URL"};let n=e;if(t){const e=new URLSearchParams;for(const[n,s]of Object.entries(t))null!=s&&e.set(n,String(s));const s=e.toString();s&&(n+=(n.includes("?")?"&":"?")+s)}return"undefined"==typeof window?{success:!0,message:`Navigation to ${e} would be executed (server-side)`}:this.isInternalUrl(n)?this.tryClientSideNavigation(n)?{success:!0,message:`Navigated to ${e}`}:(window.location.href=n,{success:!0,message:`Navigating to ${e}...`}):(window.open(n,"_blank","noopener,noreferrer"),{success:!0,message:`Opened ${n} in new tab`})}catch(e){return{success:!1,message:"Navigation failed",error:String(e)}}}async fillForm(e,t){if(!this.isSelectorAllowed(e))return{success:!1,message:`Selector "${e}" is not allowed`};const n=this.sanitizeSelector(e);if("undefined"==typeof document)return{success:!0,message:`Form fill would set "${n}" to "${t}" (server-side)`};try{const e=document.querySelector(n);if(!e)return{success:!1,message:`Element not found: ${n}`};if(!(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement))return{success:!1,message:"Element is not a form field"};if(e.focus(),e instanceof HTMLSelectElement){const n=Array.from(e.options).find(e=>e.value.toLowerCase()===t.toLowerCase()||e.text.toLowerCase()===t.toLowerCase());if(!n)return{success:!1,message:`Option "${t}" not found`};e.value=n.value}else e.value=t;e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}));const s=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value")?.set;return s&&e instanceof HTMLInputElement&&(s.call(e,t),e.dispatchEvent(new Event("input",{bubbles:!0}))),{success:!0,message:`Filled field with "${t}"`}}catch(e){return{success:!1,message:"Failed to fill form field",error:String(e)}}}async clickElement(e){if(!this.isSelectorAllowed(e))return{success:!1,message:`Selector "${e}" is not allowed`};const t=this.sanitizeSelector(e);if("undefined"==typeof document)return{success:!0,message:`Click on "${t}" would be executed (server-side)`};try{const e=document.querySelector(t);return e?e instanceof HTMLElement?(e.scrollIntoView({behavior:"smooth",block:"center"}),await this.sleep(300),e.click(),{success:!0,message:"Element clicked"}):{success:!1,message:"Element is not clickable"}:{success:!1,message:`Element not found: ${t}`}}catch(e){return{success:!1,message:"Failed to click element",error:String(e)}}}async triggerModal(e){return this.clickElement(e)}async scrollToElement(e){if("undefined"==typeof window)return{success:!0,message:`Scroll to "${e}" would be executed (server-side)`};try{if("body"===e)return window.scrollTo({top:0,behavior:"smooth"}),{success:!0,message:"Scrolled to top"};if("body:last-child"===e)return window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"}),{success:!0,message:"Scrolled to bottom"};const t=document.querySelector(e);return t?(t.scrollIntoView({behavior:"smooth",block:"start"}),{success:!0,message:"Scrolled to element"}):{success:!1,message:`Element not found: ${e}`}}catch(e){return{success:!1,message:"Failed to scroll",error:String(e)}}}async highlightElement(e){if(!this.isSelectorAllowed(e))return{success:!1,message:`Selector "${e}" is not allowed`};if("undefined"==typeof document)return{success:!0,message:`Highlight on "${e}" would be shown (server-side)`};try{const t=document.querySelector(e);if(!t)return{success:!1,message:`Element not found: ${e}`};this.removeHighlight(),t.scrollIntoView({behavior:"smooth",block:"center"}),await this.sleep(300);const n=t.getBoundingClientRect(),s=document.createElement("div");return s.className="astermind-highlight-overlay",s.style.cssText=`\n position: fixed;\n top: ${n.top-4}px;\n left: ${n.left-4}px;\n width: ${n.width+8}px;\n height: ${n.height+8}px;\n border: 3px solid #4F46E5;\n border-radius: 4px;\n pointer-events: none;\n z-index: 999999;\n animation: astermind-highlight-pulse 1s ease-in-out 3;\n `,document.body.appendChild(s),this.highlightOverlay=s,setTimeout(()=>this.removeHighlight(),3e3),{success:!0,message:"Element highlighted"}}catch(e){return{success:!1,message:"Failed to highlight element",error:String(e)}}}async executeCustomAction(e,t){if(!this.isAllowedCustomAction(e))return{success:!1,message:`Custom action "${e}" not found`};const n=this.config.customActions[e];try{return await n(t)}catch(t){return{success:!1,message:`Custom action "${e}" failed`,error:String(t)}}}isInternalUrl(e){if(e.startsWith("/")||e.startsWith("./")||e.startsWith("../"))return!0;if("undefined"==typeof window)return!0;try{return new URL(e,window.location.href).origin===window.location.origin}catch{return!0}}tryClientSideNavigation(e){if("undefined"==typeof window)return!1;try{return window.history.pushState({},"",e),window.dispatchEvent(new PopStateEvent("popstate")),e.includes("#")&&window.dispatchEvent(new HashChangeEvent("hashchange")),!0}catch{return!1}}validateNavigationUrl(e){if(/^(javascript|data):/i.test(e))return!1;if("undefined"==typeof window)return!0;try{return new URL(e,window.location.href).origin===window.location.origin||e.startsWith("/")}catch{return e.startsWith("/")}}sanitizeSelector(e){return e.replace(/[<>'"]/g,"").replace(/javascript:/gi,"").replace(/data:/gi,"").trim()}isAllowedCustomAction(e){return void 0!==this.config.customActions&&Object.prototype.hasOwnProperty.call(this.config.customActions,e)}removeHighlight(){this.highlightOverlay&&(this.highlightOverlay.remove(),this.highlightOverlay=null)}injectStyles(){if("undefined"==typeof document)return;if(document.getElementById("astermind-agent-styles"))return;const e=document.createElement("style");e.id="astermind-agent-styles",e.textContent="\n @keyframes astermind-highlight-pulse {\n 0%, 100% {\n box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.4);\n }\n 50% {\n box-shadow: 0 0 0 10px rgba(79, 70, 229, 0);\n }\n }\n\n .astermind-highlight-overlay {\n transition: all 0.2s ease-out;\n }\n ",document.head.appendChild(e)}sleep(e){return new Promise(t=>setTimeout(t,e))}getConfig(){return this.config}getClassifier(){return this.classifier}resetActionCount(){this.actionCount=0,this.lastActionReset=Date.now()}}e.ApiClient=t,e.CyberneticAgent=D,e.CyberneticCache=w,e.CyberneticClient=L,e.CyberneticIntentClassifier=T,e.CyberneticLocalRAG=b,e.LicenseManager=I,e.REQUIRED_FEATURES=x,e.createClient=function(e){return new L(e)},e.createLicenseManager=async function(e){const t=new I(e);return await t.verify(),t},e.detectEnvironment=A,e.getEnforcementMode=M,e.getTokenExpiration=function(e){const t=C(e);return t&&"number"==typeof t.payload.exp?new Date(1e3*t.payload.exp):null},e.isValidJWTFormat=function(e){return null!==C(e)},e.loadConfig=function(){if("undefined"==typeof window)return null;if(window.astermindConfig){const e=window.astermindConfig;return $(e),e}const e=document.querySelector("script[data-astermind-key]");return e?{apiUrl:e.getAttribute("data-astermind-url")||"https://api.astermind.ai",apiKey:e.getAttribute("data-astermind-key")||""}:null},e.registerAgenticCapabilities=function(e){const t={agent:D,intentClassifier:T};e.registerAgentic(t)},e.validateConfig=$,e.verifyLicenseToken=k});
2
+ //# sourceMappingURL=cybernetic-chatbot-client.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cybernetic-chatbot-client.min.js","sources":["../src/ApiClient.ts","../node_modules/idb/build/wrap-idb-value.js","../node_modules/idb/build/index.js","../src/CyberneticCache.ts","../src/CyberneticLocalRAG.ts","../src/license/base64url.ts","../src/license/verifier.ts","../src/license/licenseManager.ts","../src/CyberneticClient.ts","../src/config.ts","../src/agentic/CyberneticIntentClassifier.ts","../src/agentic/CyberneticAgent.ts","../src/index.ts","../src/agentic/register.ts"],"sourcesContent":[null,"const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n",null,null,null,null,null,null,null,null,null,null,null],"names":["ApiClient","constructor","baseUrl","apiKey","this","replace","chat","message","options","response","fetch","method","headers","body","JSON","stringify","sessionId","context","ok","error","json","catch","Error","status","statusText","chatStream","reader","getReader","decoder","TextDecoder","buffer","fullText","sources","done","value","read","decode","stream","lines","split","pop","line","startsWith","data","parse","slice","undefined","text","onToken","onSources","onComplete","onError","getGeneralDocs","since","params","URLSearchParams","set","url","toString","documents","getStatus","health","idbProxyableTypes","cursorAdvanceMethods","cursorRequestMap","WeakMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","idbProxyTraps","get","target","prop","receiver","IDBTransaction","objectStoreNames","objectStore","wrap","has","wrapFunction","func","IDBDatabase","prototype","transaction","IDBCursor","advance","continue","continuePrimaryKey","includes","args","apply","unwrap","storeNames","tx","call","sort","transformCachableValue","Promise","resolve","reject","unlisten","removeEventListener","complete","DOMException","addEventListener","cacheDonePromiseForTransaction","object","IDBObjectStore","IDBIndex","some","c","Proxy","IDBRequest","request","promise","success","result","then","promisifyRequest","newValue","readMethods","writeMethods","cachedMethods","Map","getMethod","targetFuncName","useIndex","isWrite","async","storeName","store","index","shift","all","oldTraps","callback","CyberneticCache","config","db","dbPromise","documentCount","lastSyncAt","storage","indexedDB","initDB","loadLocalStorageMetadata","meta","localStorage","getItem","parsed","name","version","blocked","upgrade","blocking","terminated","open","openPromise","event","oldVersion","newVersion","openDB","contains","createObjectStore","keyPath","createIndex","loadMetadata","getDB","countMeta","syncMeta","storeLocalStorage","doc","put","count","Date","toISOString","key","retrieve","retrieveLocalStorage","getAll","getLastSync","isStale","now","getTime","maxAge","cacheSize","clear","removeItem","setItem","length","limited","CyberneticLocalRAG","idf","indexed","isIndexed","docFreq","tokens","tokenize","content","uniqueTokens","Set","token","push","id","title","tfidf","N","term","df","Math","log","termFreq","computeTermFrequency","tf","ask","query","answer","topScore","queryTokens","queryTf","queryTfidf","scores","map","score","cosineSimilarity","a","b","topResults","filter","r","topDoc","extractRelevantSnippet","snippet","substring","reset","toLowerCase","isStopWord","freq","maxFreq","max","values","f","vec1","vec2","dotProduct","norm1","norm2","val1","val","sqrt","scored","s","trim","sentence","sentenceTokens","qt","topSentences","join","word","base64urlDecode","input","base64","padding","repeat","binaryString","atob","bytes","Uint8Array","i","charCodeAt","base64urlDecodeString","parseJWT","parts","headerB64","payloadB64","signatureB64","header","payload","signature","signedContent","verifySignature","publicKey","pemKey","pemContents","crypto","subtle","importKey","namedCurve","importPublicKey","TextEncoder","encode","sigBuffer","verify","hash","console","warn","verifyLicenseToken","inGracePeriod","daysRemaining","iss","sub","aud","iat","exp","plan","seats","Array","isArray","features","licenseVersion","org","graceUntil","validatePayload","keyToUse","floor","expTimestamp","secondsRemaining","calculateDaysRemaining","REQUIRED_FEATURES","CLIENT","AGENTIC","detectEnvironment","window","process","env","NODE_ENV","hostname","location","devPatterns","pattern","port","protocol","stagingPatterns","getEnforcementMode","environment","LicenseManager","state","verificationPromise","hasLoggedWarning","loggedMissingFeatures","enforcementMode","licenseKey","onStatusChange","logLicenseStatus","getState","isValid","requiresAction","getEnvironment","processResponse","logDevelopmentWarning","getStatusMessage","abs","reVerify","hasFeature","feature","getFeatures","checkClientFeature","checkFeatureWithLog","checkAgenticFeature","displayName","add","logMissingFeature","missingFeature","availableFeatures","info","prefix","CyberneticClient","lastError","systemSettings","settingsLastChecked","SETTINGS_CHECK_INTERVAL","agenticCapabilities","apiUrl","fallback","enabled","cacheMaxAge","cacheOnConnect","cacheStorage","retry","maxRetries","initialDelay","exponentialBackoff","agentic","apiClient","cache","localRAG","licenseManager","monitorConnection","syncCache","registerAgentic","capabilities","isAgenticEnabled","getAgenticCapabilities","getAgenticConfig","classifyIntent","agentConfig","AgentClass","agent","interpretIntent","executeAction","action","smartAsk","classification","shouldEscalate","requireConfirmation","actionResult","createErrorResponse","settings","checkSystemStatus","maintenanceMode","forceOfflineClients","isCacheValid","fallbackAsk","reply","maintenanceMessage","confidence","offline","degradedReason","apiWithRetry","setStatus","omegaError","normalizeError","code","retryAfter","skipFallback","askStream","callbacks","processedReply","lastSync","docs","connection","license","getLicenseManager","clearCache","checkConnection","cacheRetentionHours","isMaintenanceMode","getMaintenanceMessage","cacheStatus","retentionMs","lastSyncTime","attempt","delay","pow","sleep","relevance","navigator","onLine","originalError","match","parseInt","ms","setTimeout","validateConfig","ACTION_PATTERNS","navigate","type","weight","fillForm","clickElement","triggerModal","scroll","highlight","custom","CyberneticIntentClassifier","siteMapIndex","formIndex","modalIndex","buildIndexes","siteMap","entry","keys","path","aliases","forms","field","Object","entries","k","modals","modal","classify","rawConfidence","normalizedMessage","actionType","patterns","buildAction","siteMapResult","fuzzyMatchSiteMap","customResult","matchCustomAction","matchedPatterns","baseWeight","threshold","confidenceThreshold","extractTarget","siteMatch","findSiteMapMatch","similarity","explanation","parseFormIntent","selector","search","buttonName","findButtonSelector","modalName","findModalConfig","trigger","findScrollTarget","findElementByDescription","actionName","customActions","normalizedTarget","exact","bestMatch","bestScore","calculateSimilarity","valueMatch","RegExp","normalizedName","document","selectors","querySelector","buttons","querySelectorAll","btn","textContent","generateUniqueSelector","description","normalizedDesc","element","getAttribute","current","tagName","className","classes","unshift","parentElement","setA","setB","intersection","x","union","size","getConfig","CyberneticAgent","highlightOverlay","actionCount","lastActionReset","classifier","injectStyles","maxActions","maxActionsPerTurn","isActionAllowed","scrollToElement","highlightElement","executeCustomAction","allowedActions","mappedType","isSelectorAllowed","blockedSelectors","allowedSelectors","allowed","validateNavigationUrl","searchParams","String","queryString","isInternalUrl","tryClientSideNavigation","href","sanitizedSelector","sanitizeSelector","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","focus","option","from","find","opt","dispatchEvent","Event","bubbles","nativeInputValueSetter","getOwnPropertyDescriptor","HTMLElement","scrollIntoView","behavior","block","click","triggerSelector","scrollTo","top","scrollHeight","removeHighlight","rect","getBoundingClientRect","overlay","createElement","style","cssText","left","width","height","appendChild","isAllowedCustomAction","URL","origin","history","pushState","PopStateEvent","HashChangeEvent","test","hasOwnProperty","remove","getElementById","head","getClassifier","resetActionCount","manager","astermindConfig","script","client","intentClassifier"],"mappings":"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","x_google_ignoreList":[1,2]}