plugin-knowledge-base 1.0.3 → 1.0.4
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/client/index.js +1 -1
- package/dist/externalVersion.js +1 -0
- package/dist/node_modules/@langchain/textsplitters/LICENSE +21 -0
- package/dist/node_modules/@langchain/textsplitters/dist/_virtual/rolldown_runtime.cjs +25 -0
- package/dist/node_modules/@langchain/textsplitters/dist/index.cjs +7 -0
- package/dist/node_modules/@langchain/textsplitters/dist/index.d.cts +2 -0
- package/dist/node_modules/@langchain/textsplitters/dist/index.d.ts +2 -0
- package/dist/node_modules/@langchain/textsplitters/dist/index.js +3 -0
- package/dist/node_modules/@langchain/textsplitters/dist/text_splitter.cjs +539 -0
- package/dist/node_modules/@langchain/textsplitters/dist/text_splitter.d.cts +84 -0
- package/dist/node_modules/@langchain/textsplitters/dist/text_splitter.d.ts +84 -0
- package/dist/node_modules/@langchain/textsplitters/dist/text_splitter.js +532 -0
- package/dist/node_modules/@langchain/textsplitters/package.json +1 -0
- package/dist/server/actions/add-document.js +85 -0
- package/dist/server/features/vector-store-provider-impl.js +50 -15
- package/dist/server/pipeline/simple-embeddings.js +82 -0
- package/dist/server/pipeline/vectorization.js +28 -15
- package/dist/server/plugin.js +16 -0
- package/dist/server/request-context.js +54 -0
- package/package.json +1 -1
package/dist/client/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nocobase/client"),require("@nocobase/utils/client"),require("@ant-design/icons"),require("antd")):"function"==typeof define&&define.amd?define("plugin-knowledge-base",["react","@nocobase/client","@nocobase/utils/client","@ant-design/icons","antd"],t):"object"==typeof exports?exports["plugin-knowledge-base"]=t(require("react"),require("@nocobase/client"),require("@nocobase/utils/client"),require("@ant-design/icons"),require("antd")):e["plugin-knowledge-base"]=t(e.react,e["@nocobase/client"],e["@nocobase/utils/client"],e["@ant-design/icons"],e.antd)}(self,function(e,t,n,r,a){return function(){"use strict";var l={482:function(e){e.exports=r},772:function(e){e.exports=t},584:function(e){e.exports=n},721:function(e){e.exports=a},156:function(t){t.exports=e}},o={};function u(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return l[e](n,n.exports,u),n.exports}u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,{a:t}),t},u.d=function(e,t){for(var n in t)u.o(t,n)&&!u.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return!function(){u.r(s),u.d(s,{PluginKnowledgeBaseClient:function(){return j},default:function(){return L}});var e=u(156),t=u.n(e),n=u(772),r=u(584),a=u(721),l=u(482);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t,n,r,a,l,o){try{var u=e[l](o),s=u.value}catch(e){n(e);return}u.done?t(s):Promise.resolve(s).then(r,a)}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){c(l,r,a,o,u,"next",e)}function u(e){c(l,r,a,o,u,"throw",e)}o(void 0)})}}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,u=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(u)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(l){return function(u){var s=[l,u];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var m={pending:"default",processing:"processing",success:"success",failed:"error"},p=[{label:"\uD83D\uDD12 Basic (Personal)",value:"BASIC"},{label:"\uD83D\uDC65 Shared (Role-based)",value:"SHARED"},{label:"\uD83C\uDF10 Public (System-wide)",value:"PUBLIC"}],y=function(){var r,o,u,s,c,y,b,h,v,g,E=(0,n.useAPIClient)(),w=d((0,e.useState)([]),2),S=w[0],k=w[1],I=d((0,e.useState)(!1),2),x=I[0],O=I[1],C=d((0,e.useState)(!1),2),F=C[0],P=C[1],B=d((0,e.useState)(!1),2),q=B[0],A=B[1],D=d((0,e.useState)(null),2),T=D[0],j=D[1],L=d((0,e.useState)(null),2),V=L[0],M=L[1],R=d((0,e.useState)([]),2),U=R[0],K=R[1],N=d((0,e.useState)([]),2),_=N[0],z=N[1],H=d((0,e.useState)([]),2),G=H[0],$=H[1],Y=d((0,e.useState)("PUBLIC"),2),Q=Y[0],X=Y[1],J=d((0,e.useState)(!1),2),W=J[0],Z=J[1],ee=d(a.Form.useForm(),1)[0],et=d(a.Form.useForm(),1)[0],en=(r=i(function(){var e,t,n;return f(this,function(r){switch(r.label){case 0:O(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,E.request({url:"aiKnowledgeBase:list"})];case 2:return k(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,5];case 3:return r.sent(),a.message.error("Failed to load knowledge bases"),[3,5];case 4:return O(!1),[7];case 5:return[2]}})}),function(){return r.apply(this,arguments)}),er=(o=i(function(){var e,t,n;return f(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,E.request({url:"aiVectorStore:list"})];case 1:return z(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,3];case 2:return r.sent(),[3,3];case 3:return[2]}})}),function(){return o.apply(this,arguments)}),ea=(u=i(function(){var e,t,n;return f(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,E.request({url:"roles:list"})];case 1:return $(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,3];case 2:return r.sent(),[3,3];case 3:return[2]}})}),function(){return u.apply(this,arguments)}),el=(s=i(function(e){var t,n,r;return f(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,,3]),[4,E.request({url:"aiKnowledgeBaseDoc:list",params:{filter:{knowledgeBaseId:e}}})];case 1:return K(null!=(r=null==(n=l.sent())||null==(t=n.data)?void 0:t.data)?r:[]),[3,3];case 2:return l.sent(),a.message.error("Failed to load documents"),[3,3];case 3:return[2]}})}),function(e){return s.apply(this,arguments)});t().useEffect(function(){en(),er(),ea()},[]);var eo=function(e){var t;j(e),ee.setFieldsValue(e),X(null!=(t=e.accessLevel)?t:"PUBLIC"),P(!0)},eu=(c=i(function(){var e;return f(this,function(t){switch(t.label){case 0:return t.trys.push([0,6,,7]),[4,ee.validateFields()];case 1:if(e=t.sent(),!T)return[3,3];return[4,E.request({url:"aiKnowledgeBase:update",method:"post",params:{filterByTk:T.id},data:{values:e}})];case 2:return t.sent(),a.message.success("Updated successfully"),[3,5];case 3:return[4,E.request({url:"aiKnowledgeBase:create",method:"post",data:{values:e}})];case 4:t.sent(),a.message.success("Created successfully"),t.label=5;case 5:return P(!1),en(),[3,7];case 6:return t.sent(),a.message.error("Operation failed"),[3,7];case 7:return[2]}})}),function(){return c.apply(this,arguments)}),es=(y=i(function(e){return f(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,E.request({url:"aiKnowledgeBase:destroy",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Deleted successfully"),en(),[3,3];case 2:return t.sent(),a.message.error("Delete failed"),[3,3];case 3:return[2]}})}),function(e){return y.apply(this,arguments)}),ec=function(e){M(e),A(!0),el(e.id)},ei=(b=i(function(e){return f(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,E.request({url:"aiKnowledgeBaseDoc:reprocess",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Reprocessing started"),V&&el(V.id),[3,3];case 2:return t.sent(),a.message.error("Reprocess failed"),[3,3];case 3:return[2]}})}),function(e){return b.apply(this,arguments)}),ed=(h=i(function(e){return f(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,E.request({url:"aiKnowledgeBaseDoc:destroy",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Document deleted"),V&&el(V.id),[3,3];case 2:return t.sent(),a.message.error("Delete failed"),[3,3];case 3:return[2]}})}),function(e){return h.apply(this,arguments)}),ef=(v=i(function(){var e;return f(this,function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,et.validateFields()];case 1:if(e=t.sent(),!V)return[2];return[4,E.request({url:"aiKnowledgeBaseDoc:create",method:"post",data:{values:{knowledgeBaseId:V.id,filename:e.filename,textContent:e.textContent,status:"pending"}}})];case 2:return t.sent(),a.message.success("Text document added"),Z(!1),et.resetFields(),el(V.id),[3,4];case 3:return t.sent(),a.message.error("Failed to add text document"),[3,4];case 4:return[2]}})}),function(){return v.apply(this,arguments)}),em=function(e){var n,r=null!=(n=({BASIC:{color:"blue",label:"\uD83D\uDD12 Basic"},SHARED:{color:"orange",label:"\uD83D\uDC65 Shared"},PUBLIC:{color:"green",label:"\uD83C\uDF10 Public"}})[e])?n:{color:"default",label:e},l=r.color,o=r.label;return t().createElement(a.Tag,{color:l},o)},ep=[{title:"Name",dataIndex:"name",key:"name"},{title:"Type",dataIndex:"type",key:"type"},{title:"Access Level",dataIndex:"accessLevel",key:"accessLevel",render:function(e){return em(e)}},{title:"Vector Store",dataIndex:["vectorStore","name"],key:"vectorStore"},{title:"Enabled",dataIndex:"enabled",key:"enabled",render:function(e){return e?"Yes":"No"}},{title:"Actions",key:"actions",render:function(e,n){return t().createElement(a.Space,null,t().createElement(a.Button,{size:"small",icon:t().createElement(l.UploadOutlined,null),onClick:function(){return ec(n)}},"Documents"),t().createElement(a.Button,{size:"small",icon:t().createElement(l.EditOutlined,null),onClick:function(){return eo(n)}},"Edit"),t().createElement(a.Popconfirm,{title:"Are you sure?",onConfirm:function(){return es(n.id)}},t().createElement(a.Button,{size:"small",danger:!0,icon:t().createElement(l.DeleteOutlined,null)},"Delete")))}}],ey=[{title:"File",dataIndex:"filename",key:"filename"},{title:"Status",dataIndex:"status",key:"status",render:function(e){return t().createElement(a.Tag,{color:m[e]||"default"},e)}},{title:"Chunks",dataIndex:"chunkCount",key:"chunkCount"},{title:"Error",dataIndex:"error",key:"error",ellipsis:!0},{title:"Actions",key:"actions",render:function(e,n){return t().createElement(a.Space,null,t().createElement(a.Button,{size:"small",icon:t().createElement(l.ReloadOutlined,null),onClick:function(){return ei(n.id)}},"Reprocess"),t().createElement(a.Popconfirm,{title:"Are you sure?",onConfirm:function(){return ed(n.id)}},t().createElement(a.Button,{size:"small",danger:!0,icon:t().createElement(l.DeleteOutlined,null)},"Delete")))}}],eb=G.map(function(e){var t;return{label:null!=(t=e.title)?t:e.name,value:e.name}});return t().createElement("div",{style:{padding:24}},t().createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:16}},t().createElement("h2",null,"Knowledge Base"),t().createElement(a.Button,{type:"primary",icon:t().createElement(l.PlusOutlined,null),onClick:function(){j(null),ee.resetFields(),ee.setFieldsValue({type:"LOCAL",enabled:!0,accessLevel:"PUBLIC"}),X("PUBLIC"),P(!0)}},"Add new")),t().createElement(a.Table,{dataSource:S,columns:ep,rowKey:"id",loading:x}),t().createElement(a.Modal,{title:T?"Edit Knowledge Base":"Add Knowledge Base",open:F,onOk:eu,onCancel:function(){return P(!1)},destroyOnClose:!0,width:600},t().createElement(a.Form,{form:ee,layout:"vertical"},t().createElement(a.Form.Item,{name:"name",label:"Name",rules:[{required:!0,message:"Name is required"}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"type",label:"Type"},t().createElement(a.Select,{options:[{label:"Local",value:"LOCAL"},{label:"Readonly",value:"READONLY"},{label:"External",value:"EXTERNAL"}]})),t().createElement(a.Form.Item,{name:"accessLevel",label:"Access Level",rules:[{required:!0}]},t().createElement(a.Select,{options:p,onChange:function(e){return X(e)}})),"SHARED"===Q&&t().createElement(t().Fragment,null,t().createElement(a.Form.Item,{name:"allowedRoles",label:"Allowed Roles (can view & query)",rules:[{required:!0,message:"Select at least one role"}]},t().createElement(a.Select,{mode:"multiple",options:eb,placeholder:"Select roles that can access this KB"})),t().createElement(a.Form.Item,{name:"uploadRoles",label:"Upload Roles (can add documents)"},t().createElement(a.Select,{mode:"multiple",options:eb,placeholder:"Select roles that can upload documents"}))),t().createElement(a.Form.Item,{name:"vectorStoreId",label:"Vector Store",rules:[{required:!0,message:"Vector store is required"}]},t().createElement(a.Select,{options:_.map(function(e){return{label:e.name,value:e.id}}),placeholder:"Select vector store"})),t().createElement(a.Form.Item,{name:"description",label:"Description"},t().createElement(a.Input.TextArea,{autoSize:{minRows:3}})),t().createElement(a.Form.Item,{name:"enabled",label:"Enabled",valuePropName:"checked"},t().createElement(a.Switch,null)))),t().createElement(a.Modal,{title:"Documents - ".concat(null!=(g=null==V?void 0:V.name)?g:""),open:q,onCancel:function(){return A(!1)},footer:null,width:1e3,destroyOnClose:!0},t().createElement("div",{style:{marginBottom:16,display:"flex",gap:8}},t().createElement(a.Upload,{name:"file",showUploadList:!1,accept:".txt,.md,.pdf,.doc,.docx,.ppt,.pptx,.csv,.json",customRequest:function(e){var t=e.file,n=e.onSuccess,r=e.onError,a=new FormData;a.append("file",t);var l=(null==V?void 0:V.fileStorage)?"?storageRule=".concat(encodeURIComponent(V.fileStorage)):"";E.axios.post("aiFiles:create".concat(l),a,{headers:{"Content-Type":"multipart/form-data"}}).then(function(e){null==n||n(e.data,t)}).catch(function(e){null==r||r(e)})},onChange:function(e){if("done"===e.file.status){var t,n=null==(t=e.file.response)?void 0:t.data;n&&V&&E.request({url:"aiKnowledgeBaseDoc:create",method:"post",data:{values:{knowledgeBaseId:V.id,fileId:n.id,filename:n.filename||e.file.name,status:"pending"}}}).then(function(){a.message.success('File "'.concat(e.file.name,'" uploaded')),el(V.id)}).catch(function(){return a.message.error("Failed to create document record")})}else"error"===e.file.status&&a.message.error("Upload failed: ".concat(e.file.name))}},t().createElement(a.Button,{type:"primary",icon:t().createElement(l.UploadOutlined,null)},"Upload File")),t().createElement(a.Button,{icon:t().createElement(l.PlusOutlined,null),onClick:function(){return Z(!0)}},"Paste Text")),t().createElement(a.Table,{dataSource:U,columns:ey,rowKey:"id",size:"small"})),t().createElement(a.Modal,{title:"Add Text Document",open:W,onOk:ef,onCancel:function(){return Z(!1)},destroyOnClose:!0,width:600},t().createElement(a.Form,{form:et,layout:"vertical"},t().createElement(a.Form.Item,{name:"filename",label:"Document Name",rules:[{required:!0}]},t().createElement(a.Input,{placeholder:"e.g. Company FAQ"})),t().createElement(a.Form.Item,{name:"textContent",label:"Content",rules:[{required:!0}]},t().createElement(a.Input.TextArea,{autoSize:{minRows:8,maxRows:20},placeholder:"Paste your text content here..."})))))};function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t,n,r,a,l,o){try{var u=e[l](o),s=u.value}catch(e){n(e);return}u.done?t(s):Promise.resolve(s).then(r,a)}function v(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){h(l,r,a,o,u,"next",e)}function u(e){h(l,r,a,o,u,"throw",e)}o(void 0)})}}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,u=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(u)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(l){return function(u){var s=[l,u];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var w=function(){var r,o,u,s,c,i,d=(0,n.useAPIClient)(),f=g((0,e.useState)([]),2),m=f[0],p=f[1],y=g((0,e.useState)(!1),2),b=y[0],h=y[1],w=g((0,e.useState)(!1),2),S=w[0],k=w[1],I=g((0,e.useState)(null),2),x=I[0],O=I[1],C=g((0,e.useState)([]),2),F=C[0],P=C[1],B=g((0,e.useState)([]),2),q=B[0],A=B[1],D=g((0,e.useState)([]),2),T=D[0],j=D[1],L=g((0,e.useState)(!1),2),V=L[0],M=L[1],R=g(a.Form.useForm(),1)[0],U=(r=v(function(){var e,t,n;return E(this,function(r){switch(r.label){case 0:h(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,d.request({url:"aiVectorStore:list"})];case 2:return p(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,5];case 3:return r.sent(),a.message.error("Failed to load vector stores"),[3,5];case 4:return h(!1),[7];case 5:return[2]}})}),function(){return r.apply(this,arguments)}),K=(o=v(function(){var e,t,n;return E(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,d.request({url:"aiVectorDatabase:list"})];case 1:return P(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,3];case 2:return r.sent(),[3,3];case 3:return[2]}})}),function(){return o.apply(this,arguments)}),N=(u=v(function(){var e,t,n;return E(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,d.request({url:"ai:listLLMServices"})];case 1:return A(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,3];case 2:return r.sent(),[3,3];case 3:return[2]}})}),function(){return u.apply(this,arguments)}),_=(s=v(function(e){var t,n,r;return E(this,function(a){switch(a.label){case 0:M(!0),j([]),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,d.request({url:"ai:listModels",params:{llmService:e}})];case 2:return j(null!=(r=null==(n=a.sent())||null==(t=n.data)?void 0:t.data)?r:[]),[3,5];case 3:return a.sent(),j([]),[3,5];case 4:return M(!1),[7];case 5:return[2]}})}),function(e){return s.apply(this,arguments)});t().useEffect(function(){U(),K(),N()},[]);var z=function(e){O(e),R.setFieldsValue(e),k(!0),e.llmService&&_(e.llmService)},H=(c=v(function(){var e;return E(this,function(t){switch(t.label){case 0:return t.trys.push([0,6,,7]),[4,R.validateFields()];case 1:if(e=t.sent(),!x)return[3,3];return[4,d.request({url:"aiVectorStore:update",method:"post",params:{filterByTk:x.id},data:{values:e}})];case 2:return t.sent(),a.message.success("Updated successfully"),[3,5];case 3:return[4,d.request({url:"aiVectorStore:create",method:"post",data:{values:e}})];case 4:t.sent(),a.message.success("Created successfully"),t.label=5;case 5:return k(!1),U(),[3,7];case 6:return t.sent(),a.message.error("Operation failed"),[3,7];case 7:return[2]}})}),function(){return c.apply(this,arguments)}),G=(i=v(function(e){return E(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,d.request({url:"aiVectorStore:destroy",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Deleted successfully"),U(),[3,3];case 2:return t.sent(),a.message.error("Delete failed"),[3,3];case 3:return[2]}})}),function(e){return i.apply(this,arguments)}),$=t().useMemo(function(){var e={};return q.forEach(function(t){e[t.name]=t.title||t.name}),e},[q]),Y=[{title:"Name",dataIndex:"name",key:"name"},{title:"Vector Database",dataIndex:["vectorDatabase","name"],key:"vectorDatabase"},{title:"LLM Service",dataIndex:"llmService",key:"llmService",render:function(e){return $[e]||e}},{title:"Embedding Model",dataIndex:"embeddingModel",key:"embeddingModel"},{title:"Actions",key:"actions",render:function(e,n){return t().createElement(a.Space,null,t().createElement(a.Button,{size:"small",icon:t().createElement(l.EditOutlined,null),onClick:function(){return z(n)}},"Edit"),t().createElement(a.Popconfirm,{title:"Are you sure?",onConfirm:function(){return G(n.id)}},t().createElement(a.Button,{size:"small",danger:!0,icon:t().createElement(l.DeleteOutlined,null)},"Delete")))}}];return t().createElement("div",{style:{padding:24}},t().createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:16}},t().createElement("h2",null,"Vector Storage"),t().createElement(a.Button,{type:"primary",icon:t().createElement(l.PlusOutlined,null),onClick:function(){O(null),j([]),R.resetFields(),k(!0)}},"Add new")),t().createElement(a.Table,{dataSource:m,columns:Y,rowKey:"id",loading:b}),t().createElement(a.Modal,{title:x?"Edit Vector Store":"Add Vector Store",open:S,onOk:H,onCancel:function(){return k(!1)},destroyOnClose:!0},t().createElement(a.Form,{form:R,layout:"vertical"},t().createElement(a.Form.Item,{name:"name",label:"Name",rules:[{required:!0}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"vectorDatabaseId",label:"Vector Database",rules:[{required:!0}]},t().createElement(a.Select,{options:F.map(function(e){return{label:e.name,value:e.id}}),placeholder:"Select vector database"})),t().createElement(a.Form.Item,{name:"llmService",label:"LLM Service",rules:[{required:!0}]},t().createElement(a.Select,{options:q.map(function(e){return{label:e.title||e.name,value:e.name}}),placeholder:"Select LLM service",onChange:function(e){R.setFieldValue("embeddingModel",void 0),_(e)}})),t().createElement(a.Form.Item,{name:"embeddingModel",label:"Embedding Model",rules:[{required:!0}]},t().createElement(a.Select,{showSearch:!0,allowClear:!0,loading:V,placeholder:V?"Loading models...":"Select or type embedding model",options:T.map(function(e){return{label:e.id||e.name||e,value:e.id||e.name||e}}),notFoundContent:V?"Loading...":"No models found. Type a model name manually."})))))};function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e,t,n,r,a,l,o){try{var u=e[l](o),s=u.value}catch(e){n(e);return}u.done?t(s):Promise.resolve(s).then(r,a)}function I(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){k(l,r,a,o,u,"next",e)}function u(e){k(l,r,a,o,u,"throw",e)}o(void 0)})}}function x(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,u=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(u)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return S(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return S(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(l){return function(u){var s=[l,u];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var F=function(){var r,o,u,s,c,i=(0,n.useAPIClient)(),d=O((0,e.useState)([]),2),f=d[0],m=d[1],p=O((0,e.useState)(!1),2),y=p[0],b=p[1],h=O((0,e.useState)(!1),2),v=h[0],g=h[1],E=O((0,e.useState)(null),2),w=E[0],S=E[1],k=O((0,e.useState)(null),2),F=k[0],P=k[1],B=O((0,e.useState)(!1),2),q=B[0],A=B[1],D=O(a.Form.useForm(),1)[0],T=(r=I(function(){var e,t,n;return C(this,function(r){switch(r.label){case 0:b(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,i.request({url:"aiVectorDatabase:list"})];case 2:return m(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,5];case 3:return r.sent(),a.message.error("Failed to load vector databases"),[3,5];case 4:return b(!1),[7];case 5:return[2]}})}),function(){return r.apply(this,arguments)});t().useEffect(function(){T()},[]);var j=function(e){S(e),P(null),D.setFieldsValue(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({name:e.name,provider:e.provider},e.connectParams)),g(!0)},L=(o=I(function(){var e,t,n;return C(this,function(r){switch(r.label){case 0:return r.trys.push([0,6,,7]),[4,D.validateFields()];case 1:if(t=(e=r.sent()).name,n={name:t,provider:e.provider,connectParams:x(e,["name","provider"])},!w)return[3,3];return[4,i.request({url:"aiVectorDatabase:update",method:"post",params:{filterByTk:w.id},data:{values:n}})];case 2:return r.sent(),a.message.success("Updated successfully"),[3,5];case 3:return[4,i.request({url:"aiVectorDatabase:create",method:"post",data:{values:n}})];case 4:r.sent(),a.message.success("Created successfully"),r.label=5;case 5:return g(!1),T(),[3,7];case 6:return r.sent(),a.message.error("Operation failed"),[3,7];case 7:return[2]}})}),function(){return o.apply(this,arguments)}),V=(u=I(function(){var e,t,n,r,a,l,o;return C(this,function(u){switch(u.label){case 0:A(!0),P(null),u.label=1;case 1:return u.trys.push([1,4,5,6]),[4,D.validateFields()];case 2:return(t=u.sent()).name,n=t.provider,r=x(t,["name","provider"]),[4,i.request({url:"aiVectorDatabase:test",method:"post",data:{values:{provider:n,connectParams:r}}})];case 3:return P(null!=(l=null==(a=u.sent())||null==(e=a.data)?void 0:e.data)?l:{success:!1,error:"Unknown error"}),[3,6];case 4:return P({success:!1,error:null!=(o=u.sent().message)?o:"Test failed"}),[3,6];case 5:return A(!1),[7];case 6:return[2]}})}),function(){return u.apply(this,arguments)}),M=(s=I(function(e){return C(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,i.request({url:"aiVectorDatabase:destroy",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Deleted successfully"),T(),[3,3];case 2:return t.sent(),a.message.error("Delete failed"),[3,3];case 3:return[2]}})}),function(e){return s.apply(this,arguments)}),R=[{title:"Name",dataIndex:"name",key:"name"},{title:"Provider",dataIndex:"provider",key:"provider"},{title:"Host",key:"host",render:function(e,t){var n,r;return null!=(r=null==(n=t.connectParams)?void 0:n.host)?r:"-"}},{title:"Database",key:"database",render:function(e,t){var n,r;return null!=(r=null==(n=t.connectParams)?void 0:n.database)?r:"-"}},{title:"Actions",key:"actions",render:function(e,n){return t().createElement(a.Space,null,t().createElement(a.Button,{size:"small",icon:t().createElement(l.EditOutlined,null),onClick:function(){return j(n)}},"Edit"),t().createElement(a.Popconfirm,{title:"Are you sure?",onConfirm:function(){return M(n.id)}},t().createElement(a.Button,{size:"small",danger:!0,icon:t().createElement(l.DeleteOutlined,null)},"Delete")))}}];return t().createElement("div",{style:{padding:24}},t().createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:16}},t().createElement("h2",null,"Vector Database"),t().createElement(a.Button,{type:"primary",icon:t().createElement(l.PlusOutlined,null),onClick:function(){S(null),P(null),D.resetFields(),D.setFieldsValue({provider:"pgvector"}),g(!0)}},"Add new")),t().createElement(a.Table,{dataSource:f,columns:R,rowKey:"id",loading:y}),t().createElement(a.Modal,{title:w?"Edit Vector Database":"Add Vector Database",open:v,onOk:L,onCancel:function(){return g(!1)},destroyOnClose:!0,width:600},t().createElement(a.Form,{form:D,layout:"vertical"},t().createElement(a.Form.Item,{name:"name",label:"Name",rules:[{required:!0}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"provider",label:"Provider"},t().createElement(a.Select,{options:[{label:"PGVector",value:"pgvector"}]})),t().createElement(a.Form.Item,{name:"host",label:"Host",rules:[{required:!0}]},t().createElement(a.Input,{placeholder:"localhost"})),t().createElement(a.Form.Item,{name:"port",label:"Port",rules:[{required:!0}]},t().createElement(a.InputNumber,{style:{width:"100%"},placeholder:"5432"})),t().createElement(a.Form.Item,{name:"username",label:"Username",rules:[{required:!0}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"password",label:"Password",rules:[{required:!0}]},t().createElement(a.Input.Password,null)),t().createElement(a.Form.Item,{name:"database",label:"Database",rules:[{required:!0}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"tableName",label:"Table Name",rules:[{required:!0}]},t().createElement(a.Input,{placeholder:"e.g. knowledge_base_vectors"})),t().createElement("div",{style:{display:"flex",gap:8,alignItems:"center"}},t().createElement(a.Button,{icon:t().createElement(l.ApiOutlined,null),loading:q,onClick:V},"Test Connection"),F&&t().createElement(a.Tag,{color:F.success?"success":"error"},F.success?"Connection successful":null!=(c=F.error)?c:"Connection failed")))))};function P(e,t,n,r,a,l,o){try{var u=e[l](o),s=u.value}catch(e){n(e);return}u.done?t(s):Promise.resolve(s).then(r,a)}function B(e,t,n){return(B=T()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&A(a,n.prototype),a}).apply(null,arguments)}function q(e){return(q=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function A(e,t){return(A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function D(e){var t="function"==typeof Map?new Map:void 0;return(D=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return B(e,arguments,q(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),A(n,e)})(e)}function T(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(T=function(){return!!e})()}var j=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return e=n,t=arguments,e=q(e),function(e,t){var n;if(t&&("object"==((n=t)&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,T()?Reflect.construct(e,t||[],q(this).constructor):e.apply(this,t))}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&A(n,e),t=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(l){return function(u){var s=[l,u];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(e){return t.app.pluginSettingsManager.get("ai"),t.app.pluginSettingsManager.add("ai.knowledge-base",{title:(0,r.tval)("Knowledge base"),icon:"BookOutlined",Component:y,aclSnippet:"pm.plugin-knowledge-base.knowledge-base",sort:300}),t.app.pluginSettingsManager.add("ai.vector-store",{title:(0,r.tval)("Vector store"),icon:"DatabaseOutlined",Component:w,aclSnippet:"pm.plugin-knowledge-base.knowledge-base",sort:310}),t.app.pluginSettingsManager.add("ai.vector-database",{title:(0,r.tval)("Vector database"),icon:"HddOutlined",Component:F,aclSnippet:"pm.plugin-knowledge-base.knowledge-base",sort:320}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){P(l,r,a,o,u,"next",e)}function u(e){P(l,r,a,o,u,"throw",e)}o(void 0)})})()}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(D(n.Plugin)),L=j}(),s}()});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nocobase/client"),require("@nocobase/utils/client"),require("@ant-design/icons"),require("antd")):"function"==typeof define&&define.amd?define("plugin-knowledge-base",["react","@nocobase/client","@nocobase/utils/client","@ant-design/icons","antd"],t):"object"==typeof exports?exports["plugin-knowledge-base"]=t(require("react"),require("@nocobase/client"),require("@nocobase/utils/client"),require("@ant-design/icons"),require("antd")):e["plugin-knowledge-base"]=t(e.react,e["@nocobase/client"],e["@nocobase/utils/client"],e["@ant-design/icons"],e.antd)}(self,function(e,t,n,r,a){return function(){"use strict";var l={482:function(e){e.exports=r},772:function(e){e.exports=t},584:function(e){e.exports=n},721:function(e){e.exports=a},156:function(t){t.exports=e}},o={};function u(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return l[e](n,n.exports,u),n.exports}u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,{a:t}),t},u.d=function(e,t){for(var n in t)u.o(t,n)&&!u.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return!function(){u.r(s),u.d(s,{PluginKnowledgeBaseClient:function(){return j},default:function(){return M}});var e=u(156),t=u.n(e),n=u(772),r=u(584),a=u(721),l=u(482);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t,n,r,a,l,o){try{var u=e[l](o),s=u.value}catch(e){n(e);return}u.done?t(s):Promise.resolve(s).then(r,a)}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){c(l,r,a,o,u,"next",e)}function u(e){c(l,r,a,o,u,"throw",e)}o(void 0)})}}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,u=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(u)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(l){return function(u){var s=[l,u];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var f={pending:"default",processing:"processing",success:"success",failed:"error"},p=[{label:"\uD83D\uDD10 Private (Per-user isolation)",value:"PRIVATE"},{label:"\uD83D\uDD12 Basic (Personal)",value:"BASIC"},{label:"\uD83D\uDC65 Shared (Role-based)",value:"SHARED"},{label:"\uD83C\uDF10 Public (System-wide)",value:"PUBLIC"}],y=function(){var r,o,u,s,c,y,b,v,h,g,E=(0,n.useAPIClient)(),w=d((0,e.useState)([]),2),S=w[0],k=w[1],I=d((0,e.useState)(!1),2),O=I[0],x=I[1],C=d((0,e.useState)(!1),2),P=C[0],F=C[1],A=d((0,e.useState)(!1),2),B=A[0],q=A[1],D=d((0,e.useState)(null),2),T=D[0],j=D[1],M=d((0,e.useState)(null),2),V=M[0],L=M[1],R=d((0,e.useState)([]),2),U=R[0],K=R[1],N=d((0,e.useState)([]),2),_=N[0],z=N[1],H=d((0,e.useState)([]),2),G=H[0],$=H[1],Y=d((0,e.useState)("PUBLIC"),2),Q=Y[0],X=Y[1],J=d((0,e.useState)(!1),2),W=J[0],Z=J[1],ee=d(a.Form.useForm(),1)[0],et=d(a.Form.useForm(),1)[0],en=(r=i(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:x(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,E.request({url:"aiKnowledgeBase:list"})];case 2:return k(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,5];case 3:return r.sent(),a.message.error("Failed to load knowledge bases"),[3,5];case 4:return x(!1),[7];case 5:return[2]}})}),function(){return r.apply(this,arguments)}),er=(o=i(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,E.request({url:"aiVectorStore:list"})];case 1:return z(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,3];case 2:return r.sent(),[3,3];case 3:return[2]}})}),function(){return o.apply(this,arguments)}),ea=(u=i(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,E.request({url:"roles:list"})];case 1:return $(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,3];case 2:return r.sent(),[3,3];case 3:return[2]}})}),function(){return u.apply(this,arguments)}),el=(s=i(function(e){var t,n,r;return m(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,,3]),[4,E.request({url:"aiKnowledgeBaseDoc:list",params:{filter:{knowledgeBaseId:e}}})];case 1:return K(null!=(r=null==(n=l.sent())||null==(t=n.data)?void 0:t.data)?r:[]),[3,3];case 2:return l.sent(),a.message.error("Failed to load documents"),[3,3];case 3:return[2]}})}),function(e){return s.apply(this,arguments)});t().useEffect(function(){en(),er(),ea()},[]);var eo=function(e){var t;j(e),ee.setFieldsValue(e),X(null!=(t=e.accessLevel)?t:"PUBLIC"),F(!0)},eu=(c=i(function(){var e;return m(this,function(t){switch(t.label){case 0:return t.trys.push([0,6,,7]),[4,ee.validateFields()];case 1:if(e=t.sent(),!T)return[3,3];return[4,E.request({url:"aiKnowledgeBase:update",method:"post",params:{filterByTk:T.id},data:{values:e}})];case 2:return t.sent(),a.message.success("Updated successfully"),[3,5];case 3:return[4,E.request({url:"aiKnowledgeBase:create",method:"post",data:{values:e}})];case 4:t.sent(),a.message.success("Created successfully"),t.label=5;case 5:return F(!1),en(),[3,7];case 6:return t.sent(),a.message.error("Operation failed"),[3,7];case 7:return[2]}})}),function(){return c.apply(this,arguments)}),es=(y=i(function(e){return m(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,E.request({url:"aiKnowledgeBase:destroy",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Deleted successfully"),en(),[3,3];case 2:return t.sent(),a.message.error("Delete failed"),[3,3];case 3:return[2]}})}),function(e){return y.apply(this,arguments)}),ec=function(e){L(e),q(!0),el(e.id)},ei=(b=i(function(e){return m(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,E.request({url:"aiKnowledgeBaseDoc:reprocess",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Reprocessing started"),V&&el(V.id),[3,3];case 2:return t.sent(),a.message.error("Reprocess failed"),[3,3];case 3:return[2]}})}),function(e){return b.apply(this,arguments)}),ed=(v=i(function(e){return m(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,E.request({url:"aiKnowledgeBaseDoc:destroy",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Document deleted"),V&&el(V.id),[3,3];case 2:return t.sent(),a.message.error("Delete failed"),[3,3];case 3:return[2]}})}),function(e){return v.apply(this,arguments)}),em=(h=i(function(){var e;return m(this,function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,et.validateFields()];case 1:if(e=t.sent(),!V)return[2];return[4,E.request({url:"aiKnowledgeBaseDoc:create",method:"post",data:{values:{knowledgeBaseId:V.id,filename:e.filename,textContent:e.textContent,status:"pending"}}})];case 2:return t.sent(),a.message.success("Text document added"),Z(!1),et.resetFields(),el(V.id),[3,4];case 3:return t.sent(),a.message.error("Failed to add text document"),[3,4];case 4:return[2]}})}),function(){return h.apply(this,arguments)}),ef=function(e){var n,r=null!=(n=({PRIVATE:{color:"purple",label:"\uD83D\uDD10 Private"},BASIC:{color:"blue",label:"\uD83D\uDD12 Basic"},SHARED:{color:"orange",label:"\uD83D\uDC65 Shared"},PUBLIC:{color:"green",label:"\uD83C\uDF10 Public"}})[e])?n:{color:"default",label:e},l=r.color,o=r.label;return t().createElement(a.Tag,{color:l},o)},ep=[{title:"Name",dataIndex:"name",key:"name"},{title:"Type",dataIndex:"type",key:"type"},{title:"Access Level",dataIndex:"accessLevel",key:"accessLevel",render:function(e){return ef(e)}},{title:"Vector Store",dataIndex:["vectorStore","name"],key:"vectorStore"},{title:"Enabled",dataIndex:"enabled",key:"enabled",render:function(e){return e?"Yes":"No"}},{title:"Actions",key:"actions",render:function(e,n){return t().createElement(a.Space,null,t().createElement(a.Button,{size:"small",icon:t().createElement(l.UploadOutlined,null),onClick:function(){return ec(n)}},"Documents"),t().createElement(a.Button,{size:"small",icon:t().createElement(l.EditOutlined,null),onClick:function(){return eo(n)}},"Edit"),t().createElement(a.Popconfirm,{title:"Are you sure?",onConfirm:function(){return es(n.id)}},t().createElement(a.Button,{size:"small",danger:!0,icon:t().createElement(l.DeleteOutlined,null)},"Delete")))}}],ey=[{title:"File",dataIndex:"filename",key:"filename"},{title:"Status",dataIndex:"status",key:"status",render:function(e){return t().createElement(a.Tag,{color:f[e]||"default"},e)}},{title:"Chunks",dataIndex:"chunkCount",key:"chunkCount"},{title:"Error",dataIndex:"error",key:"error",ellipsis:!0},{title:"Actions",key:"actions",render:function(e,n){return t().createElement(a.Space,null,t().createElement(a.Button,{size:"small",icon:t().createElement(l.ReloadOutlined,null),onClick:function(){return ei(n.id)}},"Reprocess"),t().createElement(a.Popconfirm,{title:"Are you sure?",onConfirm:function(){return ed(n.id)}},t().createElement(a.Button,{size:"small",danger:!0,icon:t().createElement(l.DeleteOutlined,null)},"Delete")))}}],eb=G.map(function(e){var t;return{label:null!=(t=e.title)?t:e.name,value:e.name}});return t().createElement("div",{style:{padding:24}},t().createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:16}},t().createElement("h2",null,"Knowledge Base"),t().createElement(a.Button,{type:"primary",icon:t().createElement(l.PlusOutlined,null),onClick:function(){j(null),ee.resetFields(),ee.setFieldsValue({type:"LOCAL",enabled:!0,accessLevel:"PUBLIC"}),X("PUBLIC"),F(!0)}},"Add new")),t().createElement(a.Table,{dataSource:S,columns:ep,rowKey:"id",loading:O}),t().createElement(a.Modal,{title:T?"Edit Knowledge Base":"Add Knowledge Base",open:P,onOk:eu,onCancel:function(){return F(!1)},destroyOnClose:!0,width:600},t().createElement(a.Form,{form:ee,layout:"vertical"},t().createElement(a.Form.Item,{name:"name",label:"Name",rules:[{required:!0,message:"Name is required"}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"type",label:"Type"},t().createElement(a.Select,{options:[{label:"Local",value:"LOCAL"},{label:"Readonly",value:"READONLY"},{label:"External",value:"EXTERNAL"}]})),t().createElement(a.Form.Item,{name:"accessLevel",label:"Access Level",rules:[{required:!0}]},t().createElement(a.Select,{options:p,onChange:function(e){return X(e)}})),"SHARED"===Q&&t().createElement(t().Fragment,null,t().createElement(a.Form.Item,{name:"allowedRoles",label:"Allowed Roles (can view & query)",rules:[{required:!0,message:"Select at least one role"}]},t().createElement(a.Select,{mode:"multiple",options:eb,placeholder:"Select roles that can access this KB"})),t().createElement(a.Form.Item,{name:"uploadRoles",label:"Upload Roles (can add documents)"},t().createElement(a.Select,{mode:"multiple",options:eb,placeholder:"Select roles that can upload documents"}))),t().createElement(a.Form.Item,{name:"vectorStoreId",label:"Vector Store",rules:[{required:!0,message:"Vector store is required"}]},t().createElement(a.Select,{options:_.map(function(e){return{label:e.name,value:e.id}}),placeholder:"Select vector store"})),t().createElement(a.Form.Item,{name:"description",label:"Description"},t().createElement(a.Input.TextArea,{autoSize:{minRows:3}})),t().createElement(a.Form.Item,{name:"enabled",label:"Enabled",valuePropName:"checked"},t().createElement(a.Switch,null)))),t().createElement(a.Modal,{title:"Documents - ".concat(null!=(g=null==V?void 0:V.name)?g:""),open:B,onCancel:function(){return q(!1)},footer:null,width:1e3,destroyOnClose:!0},t().createElement("div",{style:{marginBottom:16,display:"flex",gap:8}},t().createElement(a.Upload,{name:"file",showUploadList:!1,accept:".txt,.md,.pdf,.doc,.docx,.ppt,.pptx,.csv,.json",customRequest:function(e){var t=e.file,n=e.onSuccess,r=e.onError,a=new FormData;a.append("file",t);var l=(null==V?void 0:V.fileStorage)?"?storageRule=".concat(encodeURIComponent(V.fileStorage)):"";E.axios.post("aiFiles:create".concat(l),a,{headers:{"Content-Type":"multipart/form-data"}}).then(function(e){null==n||n(e.data,t)}).catch(function(e){null==r||r(e)})},onChange:function(e){if("done"===e.file.status){var t,n=null==(t=e.file.response)?void 0:t.data;n&&V&&E.request({url:"aiKnowledgeBaseDoc:create",method:"post",data:{values:{knowledgeBaseId:V.id,fileId:n.id,filename:n.filename||e.file.name,status:"pending"}}}).then(function(){a.message.success('File "'.concat(e.file.name,'" uploaded')),el(V.id)}).catch(function(){return a.message.error("Failed to create document record")})}else"error"===e.file.status&&a.message.error("Upload failed: ".concat(e.file.name))}},t().createElement(a.Button,{type:"primary",icon:t().createElement(l.UploadOutlined,null)},"Upload File")),t().createElement(a.Button,{icon:t().createElement(l.PlusOutlined,null),onClick:function(){return Z(!0)}},"Paste Text")),t().createElement(a.Table,{dataSource:U,columns:ey,rowKey:"id",size:"small"})),t().createElement(a.Modal,{title:"Add Text Document",open:W,onOk:em,onCancel:function(){return Z(!1)},destroyOnClose:!0,width:600},t().createElement(a.Form,{form:et,layout:"vertical"},t().createElement(a.Form.Item,{name:"filename",label:"Document Name",rules:[{required:!0}]},t().createElement(a.Input,{placeholder:"e.g. Company FAQ"})),t().createElement(a.Form.Item,{name:"textContent",label:"Content",rules:[{required:!0}]},t().createElement(a.Input.TextArea,{autoSize:{minRows:8,maxRows:20},placeholder:"Paste your text content here..."})))))};function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function v(e,t,n,r,a,l,o){try{var u=e[l](o),s=u.value}catch(e){n(e);return}u.done?t(s):Promise.resolve(s).then(r,a)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){v(l,r,a,o,u,"next",e)}function u(e){v(l,r,a,o,u,"throw",e)}o(void 0)})}}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,u=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(u)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(l){return function(u){var s=[l,u];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var w=function(){var r,o,u,s,c,i,d=(0,n.useAPIClient)(),m=g((0,e.useState)([]),2),f=m[0],p=m[1],y=g((0,e.useState)(!1),2),b=y[0],v=y[1],w=g((0,e.useState)(!1),2),S=w[0],k=w[1],I=g((0,e.useState)(null),2),O=I[0],x=I[1],C=g((0,e.useState)([]),2),P=C[0],F=C[1],A=g((0,e.useState)([]),2),B=A[0],q=A[1],D=g((0,e.useState)([]),2),T=D[0],j=D[1],M=g((0,e.useState)(!1),2),V=M[0],L=M[1],R=g(a.Form.useForm(),1)[0],U=(r=h(function(){var e,t,n;return E(this,function(r){switch(r.label){case 0:v(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,d.request({url:"aiVectorStore:list"})];case 2:return p(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,5];case 3:return r.sent(),a.message.error("Failed to load vector stores"),[3,5];case 4:return v(!1),[7];case 5:return[2]}})}),function(){return r.apply(this,arguments)}),K=(o=h(function(){var e,t,n;return E(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,d.request({url:"aiVectorDatabase:list"})];case 1:return F(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,3];case 2:return r.sent(),[3,3];case 3:return[2]}})}),function(){return o.apply(this,arguments)}),N=(u=h(function(){var e,t,n;return E(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,d.request({url:"ai:listLLMServices"})];case 1:return q(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,3];case 2:return r.sent(),[3,3];case 3:return[2]}})}),function(){return u.apply(this,arguments)}),_=(s=h(function(e){var t,n,r;return E(this,function(a){switch(a.label){case 0:L(!0),j([]),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,d.request({url:"ai:listModels",params:{llmService:e}})];case 2:return j(null!=(r=null==(n=a.sent())||null==(t=n.data)?void 0:t.data)?r:[]),[3,5];case 3:return a.sent(),j([]),[3,5];case 4:return L(!1),[7];case 5:return[2]}})}),function(e){return s.apply(this,arguments)});t().useEffect(function(){U(),K(),N()},[]);var z=function(e){x(e);var t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},e);t.embeddingModel&&!Array.isArray(t.embeddingModel)&&(t.embeddingModel=[t.embeddingModel]),R.setFieldsValue(t),k(!0),e.llmService&&_(e.llmService)},H=(c=h(function(){var e;return E(this,function(t){switch(t.label){case 0:return t.trys.push([0,6,,7]),[4,R.validateFields()];case 1:if(Array.isArray((e=t.sent()).embeddingModel)&&(e.embeddingModel=e.embeddingModel[0]||""),!O)return[3,3];return[4,d.request({url:"aiVectorStore:update",method:"post",params:{filterByTk:O.id},data:{values:e}})];case 2:return t.sent(),a.message.success("Updated successfully"),[3,5];case 3:return[4,d.request({url:"aiVectorStore:create",method:"post",data:{values:e}})];case 4:t.sent(),a.message.success("Created successfully"),t.label=5;case 5:return k(!1),U(),[3,7];case 6:return t.sent(),a.message.error("Operation failed"),[3,7];case 7:return[2]}})}),function(){return c.apply(this,arguments)}),G=(i=h(function(e){return E(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,d.request({url:"aiVectorStore:destroy",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Deleted successfully"),U(),[3,3];case 2:return t.sent(),a.message.error("Delete failed"),[3,3];case 3:return[2]}})}),function(e){return i.apply(this,arguments)}),$=t().useMemo(function(){var e={};return B.forEach(function(t){e[t.name]=t.title||t.name}),e},[B]),Y=[{title:"Name",dataIndex:"name",key:"name"},{title:"Vector Database",dataIndex:["vectorDatabase","name"],key:"vectorDatabase"},{title:"LLM Service",dataIndex:"llmService",key:"llmService",render:function(e){return $[e]||e}},{title:"Embedding Model",dataIndex:"embeddingModel",key:"embeddingModel"},{title:"Actions",key:"actions",render:function(e,n){return t().createElement(a.Space,null,t().createElement(a.Button,{size:"small",icon:t().createElement(l.EditOutlined,null),onClick:function(){return z(n)}},"Edit"),t().createElement(a.Popconfirm,{title:"Are you sure?",onConfirm:function(){return G(n.id)}},t().createElement(a.Button,{size:"small",danger:!0,icon:t().createElement(l.DeleteOutlined,null)},"Delete")))}}];return t().createElement("div",{style:{padding:24}},t().createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:16}},t().createElement("h2",null,"Vector Storage"),t().createElement(a.Button,{type:"primary",icon:t().createElement(l.PlusOutlined,null),onClick:function(){x(null),j([]),R.resetFields(),k(!0)}},"Add new")),t().createElement(a.Table,{dataSource:f,columns:Y,rowKey:"id",loading:b}),t().createElement(a.Modal,{title:O?"Edit Vector Store":"Add Vector Store",open:S,onOk:H,onCancel:function(){return k(!1)},destroyOnClose:!0},t().createElement(a.Form,{form:R,layout:"vertical"},t().createElement(a.Form.Item,{name:"name",label:"Name",rules:[{required:!0}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"vectorDatabaseId",label:"Vector Database",rules:[{required:!0}]},t().createElement(a.Select,{options:P.map(function(e){return{label:e.name,value:e.id}}),placeholder:"Select vector database"})),t().createElement(a.Form.Item,{name:"llmService",label:"LLM Service",rules:[{required:!0}]},t().createElement(a.Select,{options:B.map(function(e){return{label:e.title||e.name,value:e.name}}),placeholder:"Select LLM service",onChange:function(e){R.setFieldValue("embeddingModel",void 0),_(e)}})),t().createElement(a.Form.Item,{name:"embeddingModel",label:"Embedding Model",rules:[{required:!0}]},t().createElement(a.Select,{showSearch:!0,allowClear:!0,mode:"tags",maxCount:1,loading:V,placeholder:V?"Loading models...":"Type or select embedding model ID",options:T.map(function(e){return{label:String(e.id||e.name||e),value:String(e.id||e.name||e)}}),notFoundContent:V?"Loading...":"Type a model name and press Enter"})))))};function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e,t,n,r,a,l,o){try{var u=e[l](o),s=u.value}catch(e){n(e);return}u.done?t(s):Promise.resolve(s).then(r,a)}function I(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){k(l,r,a,o,u,"next",e)}function u(e){k(l,r,a,o,u,"throw",e)}o(void 0)})}}function O(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,u=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(u)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return S(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return S(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(l){return function(u){var s=[l,u];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var P=function(){var r,o,u,s,c,i=(0,n.useAPIClient)(),d=x((0,e.useState)([]),2),m=d[0],f=d[1],p=x((0,e.useState)(!1),2),y=p[0],b=p[1],v=x((0,e.useState)(!1),2),h=v[0],g=v[1],E=x((0,e.useState)(null),2),w=E[0],S=E[1],k=x((0,e.useState)(null),2),P=k[0],F=k[1],A=x((0,e.useState)(!1),2),B=A[0],q=A[1],D=x(a.Form.useForm(),1)[0],T=(r=I(function(){var e,t,n;return C(this,function(r){switch(r.label){case 0:b(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,i.request({url:"aiVectorDatabase:list"})];case 2:return f(null!=(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)?n:[]),[3,5];case 3:return r.sent(),a.message.error("Failed to load vector databases"),[3,5];case 4:return b(!1),[7];case 5:return[2]}})}),function(){return r.apply(this,arguments)});t().useEffect(function(){T()},[]);var j=function(e){S(e),F(null),D.setFieldsValue(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({name:e.name,provider:e.provider},e.connectParams)),g(!0)},M=(o=I(function(){var e,t,n;return C(this,function(r){switch(r.label){case 0:return r.trys.push([0,6,,7]),[4,D.validateFields()];case 1:if(t=(e=r.sent()).name,n={name:t,provider:e.provider,connectParams:O(e,["name","provider"])},!w)return[3,3];return[4,i.request({url:"aiVectorDatabase:update",method:"post",params:{filterByTk:w.id},data:{values:n}})];case 2:return r.sent(),a.message.success("Updated successfully"),[3,5];case 3:return[4,i.request({url:"aiVectorDatabase:create",method:"post",data:{values:n}})];case 4:r.sent(),a.message.success("Created successfully"),r.label=5;case 5:return g(!1),T(),[3,7];case 6:return r.sent(),a.message.error("Operation failed"),[3,7];case 7:return[2]}})}),function(){return o.apply(this,arguments)}),V=(u=I(function(){var e,t,n,r,a,l,o;return C(this,function(u){switch(u.label){case 0:q(!0),F(null),u.label=1;case 1:return u.trys.push([1,4,5,6]),[4,D.validateFields()];case 2:return(t=u.sent()).name,n=t.provider,r=O(t,["name","provider"]),[4,i.request({url:"aiVectorDatabase:test",method:"post",data:{values:{provider:n,connectParams:r}}})];case 3:return F(null!=(l=null==(a=u.sent())||null==(e=a.data)?void 0:e.data)?l:{success:!1,error:"Unknown error"}),[3,6];case 4:return F({success:!1,error:null!=(o=u.sent().message)?o:"Test failed"}),[3,6];case 5:return q(!1),[7];case 6:return[2]}})}),function(){return u.apply(this,arguments)}),L=(s=I(function(e){return C(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,i.request({url:"aiVectorDatabase:destroy",method:"post",params:{filterByTk:e}})];case 1:return t.sent(),a.message.success("Deleted successfully"),T(),[3,3];case 2:return t.sent(),a.message.error("Delete failed"),[3,3];case 3:return[2]}})}),function(e){return s.apply(this,arguments)}),R=[{title:"Name",dataIndex:"name",key:"name"},{title:"Provider",dataIndex:"provider",key:"provider"},{title:"Host",key:"host",render:function(e,t){var n,r;return null!=(r=null==(n=t.connectParams)?void 0:n.host)?r:"-"}},{title:"Database",key:"database",render:function(e,t){var n,r;return null!=(r=null==(n=t.connectParams)?void 0:n.database)?r:"-"}},{title:"Actions",key:"actions",render:function(e,n){return t().createElement(a.Space,null,t().createElement(a.Button,{size:"small",icon:t().createElement(l.EditOutlined,null),onClick:function(){return j(n)}},"Edit"),t().createElement(a.Popconfirm,{title:"Are you sure?",onConfirm:function(){return L(n.id)}},t().createElement(a.Button,{size:"small",danger:!0,icon:t().createElement(l.DeleteOutlined,null)},"Delete")))}}];return t().createElement("div",{style:{padding:24}},t().createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:16}},t().createElement("h2",null,"Vector Database"),t().createElement(a.Button,{type:"primary",icon:t().createElement(l.PlusOutlined,null),onClick:function(){S(null),F(null),D.resetFields(),D.setFieldsValue({provider:"pgvector"}),g(!0)}},"Add new")),t().createElement(a.Table,{dataSource:m,columns:R,rowKey:"id",loading:y}),t().createElement(a.Modal,{title:w?"Edit Vector Database":"Add Vector Database",open:h,onOk:M,onCancel:function(){return g(!1)},destroyOnClose:!0,width:600},t().createElement(a.Form,{form:D,layout:"vertical"},t().createElement(a.Form.Item,{name:"name",label:"Name",rules:[{required:!0}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"provider",label:"Provider"},t().createElement(a.Select,{options:[{label:"PGVector",value:"pgvector"}]})),t().createElement(a.Form.Item,{name:"host",label:"Host",rules:[{required:!0}]},t().createElement(a.Input,{placeholder:"localhost"})),t().createElement(a.Form.Item,{name:"port",label:"Port",rules:[{required:!0}]},t().createElement(a.InputNumber,{style:{width:"100%"},placeholder:"5432"})),t().createElement(a.Form.Item,{name:"username",label:"Username",rules:[{required:!0}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"password",label:"Password",rules:[{required:!0}]},t().createElement(a.Input.Password,null)),t().createElement(a.Form.Item,{name:"database",label:"Database",rules:[{required:!0}]},t().createElement(a.Input,null)),t().createElement(a.Form.Item,{name:"tableName",label:"Table Name",rules:[{required:!0}]},t().createElement(a.Input,{placeholder:"e.g. knowledge_base_vectors"})),t().createElement("div",{style:{display:"flex",gap:8,alignItems:"center"}},t().createElement(a.Button,{icon:t().createElement(l.ApiOutlined,null),loading:B,onClick:V},"Test Connection"),P&&t().createElement(a.Tag,{color:P.success?"success":"error"},P.success?"Connection successful":null!=(c=P.error)?c:"Connection failed")))))};function F(e,t,n,r,a,l,o){try{var u=e[l](o),s=u.value}catch(e){n(e);return}u.done?t(s):Promise.resolve(s).then(r,a)}function A(e,t,n){return(A=T()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&q(a,n.prototype),a}).apply(null,arguments)}function B(e){return(B=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function q(e,t){return(q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function D(e){var t="function"==typeof Map?new Map:void 0;return(D=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return A(e,arguments,B(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),q(n,e)})(e)}function T(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(T=function(){return!!e})()}var j=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return e=n,t=arguments,e=B(e),function(e,t){var n;if(t&&("object"==((n=t)&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,T()?Reflect.construct(e,t||[],B(this).constructor):e.apply(this,t))}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&q(n,e),t=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(l){return function(u){var s=[l,u];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(e){return t.app.pluginSettingsManager.get("ai"),t.app.pluginSettingsManager.add("ai.knowledge-base",{title:(0,r.tval)("Knowledge base"),icon:"BookOutlined",Component:y,aclSnippet:"pm.plugin-knowledge-base.knowledge-base",sort:300}),t.app.pluginSettingsManager.add("ai.vector-store",{title:(0,r.tval)("Vector store"),icon:"DatabaseOutlined",Component:w,aclSnippet:"pm.plugin-knowledge-base.knowledge-base",sort:310}),t.app.pluginSettingsManager.add("ai.vector-database",{title:(0,r.tval)("Vector database"),icon:"HddOutlined",Component:P,aclSnippet:"pm.plugin-knowledge-base.knowledge-base",sort:320}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){F(l,r,a,o,u,"next",e)}function u(e){F(l,r,a,o,u,"throw",e)}o(void 0)})})()}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(D(n.Plugin)),M=j}(),s}()});
|
package/dist/externalVersion.js
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) LangChain, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
|
|
25
|
+
exports.__toESM = __toESM;
|