@nocobase/plugin-ai 2.0.0-alpha.49 → 2.0.0-alpha.50

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 (33) hide show
  1. package/dist/client/e6260220a6286d8e.js +10 -0
  2. package/dist/client/index.js +1 -1
  3. package/dist/client/schemas/llms.d.ts +7 -0
  4. package/dist/externalVersion.js +11 -11
  5. package/dist/locale/de-DE.json +193 -15
  6. package/dist/locale/en-US.json +181 -179
  7. package/dist/locale/es-ES.json +203 -0
  8. package/dist/locale/fr-FR.json +203 -0
  9. package/dist/locale/hu-HU.json +203 -0
  10. package/dist/locale/id-ID.json +203 -0
  11. package/dist/locale/it-IT.json +193 -15
  12. package/dist/locale/ja-JP.json +203 -0
  13. package/dist/locale/ko-KR.json +203 -0
  14. package/dist/locale/nl-NL.json +202 -25
  15. package/dist/locale/pt-BR.json +203 -0
  16. package/dist/locale/ru-RU.json +181 -3
  17. package/dist/locale/tr-TR.json +203 -0
  18. package/dist/locale/uk-UA.json +203 -0
  19. package/dist/locale/vi-VN.json +203 -0
  20. package/dist/locale/zh-CN.json +180 -179
  21. package/dist/locale/zh-TW.json +203 -0
  22. package/dist/node_modules/@langchain/anthropic/package.json +1 -1
  23. package/dist/node_modules/@langchain/core/package.json +1 -1
  24. package/dist/node_modules/@langchain/deepseek/package.json +1 -1
  25. package/dist/node_modules/@langchain/google-genai/package.json +1 -1
  26. package/dist/node_modules/@langchain/ollama/package.json +1 -1
  27. package/dist/node_modules/@langchain/openai/package.json +1 -1
  28. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  29. package/dist/node_modules/zod/package.json +1 -1
  30. package/dist/node_modules/zod-to-json-schema/package.json +1 -1
  31. package/dist/server/resource/ai.js +7 -2
  32. package/package.json +2 -2
  33. package/dist/client/7f550cc4bd6786d8.js +0 -10
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["428"],{9438:function(e,t,n){n.r(t),n.d(t,{LLMServices:function(){return V},Settings:function(){return N},useProviderSettingsForm:function(){return B}});var r=n(3772),o=n(8156),i=n.n(o),c=n(3990),a=n(2721),l=n(482),s={name:"llmServices",fields:[{name:"name",type:"uid",primaryKey:!0},{name:"title",type:"string",interface:"input",uiSchema:{title:'{{t("Title")}}',"x-component":"Input"}},{name:"provider",type:"string",interface:"select",uiSchema:{title:'{{t("Provider")}}',"x-component":"Select"}},{name:"options",type:"jsonb"}]},u={type:"void",properties:{drawer:{type:"void",title:'{{ t("Add new") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useCreateFormProps",properties:{name:{type:"string","x-decorator":"FormItem",title:'{{ t("UID") }}',"x-component":"Input"},title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input"},options:{type:"object","x-component":"Settings"},testFlight:{type:"void","x-component":"LLMTestFlight"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useCreateActionProps"}}}}}}},p={type:"void",name:"llm-services",properties:{card:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{collection:"llmServices",action:"list"},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:20}},properties:{filter:{"x-component":"Filter.Action","x-use-component-props":"useFilterActionProps",title:"{{t('Filter')}}","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},refresh:{title:"{{t('Refresh')}}","x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},bulkDelete:{title:"{{t('Delete')}}","x-action":"destroy","x-component":"Action","x-use-component-props":"useBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},add:{type:"void","x-component":"AddNew",title:"{{t('Add new')}}","x-align":"right"}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void",title:'{{ t("UID") }}',"x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"Input","x-read-pretty":!0}}},column2:{type:"void",title:'{{ t("Title") }}',"x-component":"TableV2.Column",properties:{title:{type:"string","x-component":"Input","x-read-pretty":!0}}},column3:{type:"void",title:'{{ t("Provider") }}',"x-component":"TableV2.Column",properties:{provider:{type:"string","x-component":"Select","x-read-pretty":!0,enum:"{{ providers }}"}}},column4:{type:"void",title:'{{ t("Actions") }}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",properties:{title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input"},options:{type:"object","x-component":"Settings"},testFlight:{type:"void","x-component":"LLMTestFlight"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useEditActionProps"}}}}}}},destroy:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}},m=(0,o.createContext)({provider:""});m.displayName="LLMProvidersContext";var f=(0,o.createContext)({providers:[]});f.displayName="LLMProviderssContext";var d=n(3505),y=n(8563),v=n(8875),b=n(7584);function h(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 x(e,t,n,r,o,i,c){try{var a=e[i](c),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(r,o)}function g(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function c(e){x(i,r,o,c,a,"next",e)}function a(e){x(i,r,o,c,a,"throw",e)}c(void 0)})}}function A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],c=!0,a=!1;try{for(o=o.call(e);!(c=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);c=!0);}catch(e){a=!0,r=e}finally{try{c||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return h(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 h(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 w(e,t){var n,r,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var l=[i,a];if(n)throw TypeError("Generator is already executing.");for(;c;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,r=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){c.label=l[1];break}if(6===l[0]&&c.label<o[1]){c.label=o[1],o=l;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(l);break}o[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var S=function(){var e=(0,c.NT)(),t=(0,d.useForm)(),n=(0,r.useAPIClient)(),l=A((0,o.useState)(""),2),s=l[0],u=l[1],p=A((0,o.useState)(!1),2),m=p[0],f=p[1],y=A((0,o.useState)(!1),2),v=y[0],h=y[1];return i().createElement("div",{style:{marginBottom:24}},i().createElement(a.Collapse,{bordered:!1,size:"small",items:[{key:"testFlight",label:e("Test flight"),forceRender:!0,children:i().createElement(r.SchemaComponent,{components:{ModelSelect:P,NotifyMessage:function(){return m?i().createElement("div",{style:{marginBottom:16}},i().createElement(a.Alert,{message:e("Successful"),type:"success",closable:!0})):s&&i().createElement("div",{style:{marginBottom:16}},i().createElement(a.Alert,{message:e("Failure"),description:s,type:"warning",closable:!0}))}},scope:{useTestActionProps:function(){return{type:"primary",loading:v,onClick:function(){return g(function(){var e;return w(this,function(r){switch(r.label){case 0:return[4,t.validate()];case 1:return r.sent(),e=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}({},t.values),f(!1),u(null),h(!0),n.resource("ai").testFlight({values:e}).then(function(e){0!==e.data.data.code?u(e.data.data.message):f(!0)}).finally(function(){return h(!1)}).catch(console.error),[2]}})})()}}}},schema:{type:"void",properties:{model:{title:(0,b.tval)("Model",{ns:c.uD}),type:"string","x-decorator":"FormItem","x-component":"ModelSelect"},notifyMessage:{type:"void","x-component":"NotifyMessage"},runTest:{title:'{{ t("Run") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useTestActionProps"}}}})}]}))},P=function(){var e,t=(0,r.useAPIClient)(),n=A((0,o.useState)([]),2),c=n[0],l=n[1],s=A((0,o.useState)([]),2),u=s[0],p=s[1],m=A((0,o.useState)(!1),2),f=m[0],v=m[1],b=(0,d.useField)(),h=(0,d.useForm)(),x=(e=g(function(e){var n,r,o,i;return w(this,function(c){switch(c.label){case 0:return c.trys.push([0,2,3,4]),[4,h.validate()];case 1:return c.sent(),[3,4];case 2:return c.sent(),[2];case 3:return h.clearErrors(),[7];case 4:return c.trys.push([4,,6,7]),v(!0),[4,t.resource("ai").testFlightModels({values:e},{skipNotify:!0})];case 5:return p(i=null==(o=c.sent())||null==(r=o.data)||null==(n=r.data)?void 0:n.map(function(e){var t=e.id;return{label:t,value:t}})),l(i),[3,7];case 6:return v(!1),[7];case 7:return[2]}})}),function(t){return e.apply(this,arguments)});return(0,o.useEffect)(function(){x(h.values);var e=h.subscribe(function(e){e.type===y.LifeCycleTypes.ON_FORM_VALUES_CHANGE&&(p([]),l([]),x(e.payload.values))});return function(){h.unsubscribe(e)}},[t,h]),i().createElement(a.AutoComplete,{onSearch:function(e){return u?e?void l(u.filter(function(t){return t.label.toLowerCase().includes(e.toLowerCase())})):void l(u):void l([])},options:c,notFoundContent:f?i().createElement(a.Spin,{size:"small"}):null,value:b.value,onChange:function(e){return b.value=e}})};function C(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 E(e,t,n,r,o,i,c){try{var a=e[i](c),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(r,o)}function F(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function c(e){E(i,r,o,c,a,"next",e)}function a(e){E(i,r,o,c,a,"throw",e)}c(void 0)})}}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],c=!0,a=!1;try{for(o=o.call(e);!(c=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);c=!0);}catch(e){a=!0,r=e}finally{try{c||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return C(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 C(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 k(e,t){var n,r,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var l=[i,a];if(n)throw TypeError("Generator is already executing.");for(;c;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,r=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){c.label=l[1];break}if(6===l[0]&&c.label<o[1]){c.label=o[1],o=l;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(l);break}o[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var T=function(){var e=(0,o.useContext)(m).provider;return{form:(0,o.useMemo)(function(){return(0,y.createForm)({initialValues:{name:"v_".concat((0,v.uid)()),provider:e}})},[e])}},j=function(){var e=(0,r.useCollectionRecordData)();return{form:(0,o.useMemo)(function(){return(0,y.createForm)({initialValues:e})},[e])}},D=function(){var e=(0,r.useActionContext)().setVisible,t=(0,d.useForm)();return{type:"default",onClick:function(){e(!1),t.reset()}}},M=function(){var e=(0,r.useActionContext)().setVisible,t=a.App.useApp().message,n=(0,d.useForm)(),o=(0,r.useDataBlockResource)(),i=(0,r.useDataBlockRequest)().refresh,l=(0,c.NT)();return{type:"primary",onClick:function(){return F(function(){var r;return k(this,function(c){switch(c.label){case 0:return[4,n.submit()];case 1:return c.sent(),r=n.values,[4,o.create({values:r})];case 2:return c.sent(),i(),t.success(l("Saved successfully")),e(!1),n.reset(),[2]}})})()}}},L=function(){var e=(0,r.useActionContext)().setVisible,t=a.App.useApp().message,n=(0,d.useForm)(),o=(0,r.useDataBlockResource)(),i=(0,r.useDataBlockRequest)().refresh,l=(0,r.useCollection)().getFilterTargetKey(),s=(0,c.NT)();return{type:"primary",onClick:function(){return F(function(){var r;return k(this,function(c){switch(c.label){case 0:return[4,n.submit()];case 1:return c.sent(),r=n.values,[4,o.update({values:r,filterByTk:r[l]})];case 2:return c.sent(),i(),t.success(s("Saved successfully")),e(!1),n.reset(),[2]}})})()}}},I=function(){var e=(0,c.NT)(),t=O((0,o.useState)(!1),2),n=t[0],s=t[1],p=O((0,o.useState)(""),2),d=p[0],y=p[1],v=(0,o.useContext)(f).providers.map(function(e){var t,n;return 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),n=n={label:i().createElement(i().Fragment,null,i().createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:35}},i().createElement("span",null,e.label),i().createElement("div",null,e.supportedModel.map(function(e){return i().createElement(a.Tag,{key:e},e)})))),onClick:function(){s(!0),y(e.value)}},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t});return i().createElement(r.ActionContextProvider,{value:{visible:n,setVisible:s}},i().createElement(m.Provider,{value:{provider:d}},i().createElement(a.Dropdown,{menu:{items:v}},i().createElement(a.Button,{icon:i().createElement(l.PlusOutlined,null),type:"primary"},e("Add new")," ",i().createElement(l.DownOutlined,null))),i().createElement(r.SchemaComponent,{components:{LLMTestFlight:S},scope:{setProvider:y,useCreateFormProps:T},schema:u})))},B=function(e){var t,n=(0,r.usePlugin)("ai").aiManager.llmProviders.get(e);return null==n||null==(t=n.components)?void 0:t.ProviderSettingsForm},N=(0,d.observer)(function(){var e=(0,d.useForm)(),t=(0,r.useCollectionRecordData)(),n=B(e.values.provider||t.provider);return n?i().createElement(n,null):null},{displayName:"LLMProviderSettings"}),V=function(){var e=(0,c.NT)(),t=O((0,o.useState)([]),2),n=t[0],a=t[1],l=(0,r.useAPIClient)();return(0,r.useRequest)(function(){return l.resource("ai").listLLMProviders().then(function(t){var n;return((null==t||null==(n=t.data)?void 0:n.data)||[]).map(function(t){return{key:t.name,label:d.Schema.compile(t.title||t.name,{t:e}),value:t.name,supportedModel:t.supportedModel}})})},{onSuccess:function(e){a(e)}}),i().createElement(f.Provider,{value:{providers:n}},i().createElement(r.ExtendCollectionsProvider,{collections:[s]},i().createElement(r.SchemaComponent,{schema:p,components:{AddNew:I,Settings:N,LLMTestFlight:S},scope:{t:e,providers:n,useEditFormProps:j,useCancelActionProps:D,useCreateActionProps:M,useEditActionProps:L}})))}}}]);