plugin-build-visualization-block 0.1.1 → 0.1.3

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.
@@ -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("@formily/core"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@ant-design/icons")):"function"==typeof define&&define.amd?define("plugin-build-visualization-block",["@formily/core","react","antd","@nocobase/client","@formily/react","@ant-design/icons"],t):"object"==typeof exports?exports["plugin-build-visualization-block"]=t(require("@formily/core"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@ant-design/icons")):e["plugin-build-visualization-block"]=t(e["@formily/core"],e.react,e.antd,e["@nocobase/client"],e["@formily/react"],e["@ant-design/icons"])}(self,function(e,t,r,n,o,a){return function(){"use strict";var l={375:function(e){e.exports=a},452:function(t){t.exports=e},230:function(e){e.exports=o},342:function(e){e.exports=n},59:function(e){e.exports=r},155:function(e){e.exports=t}},i={};function u(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return l[e](r,r.exports,u),r.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 r in t)u.o(t,r)&&!u.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.g.importScripts&&(c=u.g.location+"");var c,s=u.g.document;if(!c&&s&&(s.currentScript&&"SCRIPT"===s.currentScript.tagName.toUpperCase()&&(c=s.currentScript.src),!c)){var f=s.getElementsByTagName("script");if(f.length)for(var p=f.length-1;p>-1&&(!c||!/^http(s?):/.test(c));)c=f[p--].src}if(!c)throw Error("Automatic publicPath is not supported in this browser");u.p=c.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var d={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/plugin-build-visualization-block/dist/client/")}if(!e){var n=window.__nocobase_modern_client_prefix__||"v",o="/"+(n=String(n).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",l=a.indexOf(o);e=l>=0?a.slice(0,l+1):"/"}e&&(e=e.replace(RegExp("/"+n+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/plugin-build-visualization-block/dist/client/"}u.p=e}(),!function(){u.r(d),u.d(d,{PluginBuildVisualizationBlockClient:function(){return ea},default:function(){return el}});var e=u(342),t=u(375),r=u(59),n=u(155),o=u.n(n),a=u(452),l=u(230);function i(){var t=(0,e.useApp)();return(0,n.useCallback)(function(e,r){return t.i18n.t(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ns:["plugin-build-visualization-block","client"]},r))},[t.i18n])}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function s(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))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.")}()}var p=function(t){var u,c,p=i(),d=(0,e.useAPIClient)(),b=(0,l.useField)(),y=f((0,n.useState)([]),2),v=y[0],m=y[1],h=f((0,n.useState)(!1),2),g=h[0],S=h[1],w=f((0,n.useState)(!1),2),O=w[0],E=w[1];(0,n.useEffect)(function(){var e,t=!0;return(e=function(){var e,r;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:S(!0),E(!1),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,d.resource("ai").listLLMServices()];case 2:var o,a;if(e=n.sent(),!t)return[2];return m((Array.isArray(a=null==e||null==(o=e.data)?void 0:o.data)?a:[]).filter(function(e){return!!e.name}).map(function(e){return{label:e.title||e.name,value:e.name}})),[3,5];case 3:if(r=n.sent(),!t)return[2];return console.error("Failed to load LLM services:",r),m([]),E(!0),[3,5];case 4:return t&&S(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){s(a,n,o,l,i,"next",e)}function i(e){s(a,n,o,l,i,"throw",e)}l(void 0)})})(),function(){t=!1}},[d]);var j=(0,n.useCallback)(function(e){b.setValue(e);var t=b.query(".model").take();(0,a.isField)(t)&&t.setValue(void 0)},[b]);return o().createElement(r.Select,(u=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},t),c=c={options:v,loading:g,status:O?"error":void 0,value:b.value,onChange:j,notFoundContent:O?p("Failed to load the list"):void 0,allowClear:!0,showSearch:!0,optionFilterProp:"label"},Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(c)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(c)).forEach(function(e){Object.defineProperty(u,e,Object.getOwnPropertyDescriptor(c,e))}),u))};function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))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.")}()}var m=(0,l.observer)(function(t){var a,u,c,s=i(),f=(0,e.useAPIClient)(),p=(0,l.useField)(),d=(0,l.useForm)(),b=v((0,n.useState)([]),2),m=b[0],h=b[1],g=v((0,n.useState)(!1),2),S=g[0],w=g[1],O=v((0,n.useState)(!1),2),E=O[0],j=O[1],k="string"==typeof(null==(c=d.values)?void 0:c.llmService)?d.values.llmService:void 0;(0,n.useEffect)(function(){var e,t=!0;if(!k){h([]),j(!1);return}return(e=function(){var e,r;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:w(!0),j(!1),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,f.resource("ai").listModels({llmService:k})];case 2:var o,a;if(e=n.sent(),!t)return[2];return h((Array.isArray(a=null==e||null==(o=e.data)?void 0:o.data)?a:[]).map(function(e){return e.id||e.name}).filter(function(e){return!!e}).map(function(e){return{label:e,value:e}})),[3,5];case 3:if(r=n.sent(),!t)return[2];return console.error("Failed to load models:",r),h([]),j(!0),[3,5];case 4:return t&&w(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){y(a,n,o,l,i,"next",e)}function i(e){y(a,n,o,l,i,"throw",e)}l(void 0)})})(),function(){t=!1}},[f,k]);var P=(0,n.useCallback)(function(e){p.setValue(e)},[p]);return o().createElement(r.Select,(a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},t),u=u={options:m,loading:S,status:E?"error":void 0,value:p.value,onChange:P,disabled:!k,notFoundContent:E?s("Failed to load the list"):void 0,allowClear:!0,showSearch:!0,optionFilterProp:"label"},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(u)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(u)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(u,e))}),a))}),h="aiVisualizationBuilds",g="aiVisualizationBuildSettings",S=["idle","queued","analyzing","generating","completed","failed"],w=function(t){var a,l=t.value,u=t.onChange,c=t.disabled,s=i(),f=(0,e.useCompile)(),p=(0,e.useDataSourceManager)(),d=(0,e.useACLRoleContext)().parseAction,b=null==l?void 0:l.dataSource,y=null!=(a=null==l?void 0:l.collections)?a:[],v=(0,n.useMemo)(function(){var e;return(null!=(e=null==p?void 0:p.getDataSources())?e:[]).map(function(e){return{label:f(e.displayName)||e.key,value:e.key}})},[p,f]),m=(0,n.useCallback)(function(e){return!!d("".concat(e,":list"))},[d]),h=(0,n.useMemo)(function(){if(!b)return[];var e,t,r=null==p?void 0:p.getDataSource(b);return(null!=(e=null==r||null==(t=r.collectionManager)?void 0:t.getCollections())?e:[]).filter(function(e){return m(e.name)}).map(function(e){return{label:f(e.title)||e.name,value:e.name}})},[p,b,f,m]),g=(0,n.useCallback)(function(e){null==u||u({dataSource:e,collections:[]})},[u]),S=(0,n.useCallback)(function(e){var t=e.slice(0,50);null==u||u({dataSource:b,collections:t})},[u,b]),w=y.length>=50;return o().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"small"},o().createElement(r.Select,{"aria-label":s("Data source"),placeholder:s("Data source"),style:{width:"100%"},options:v,value:null!=b?b:v.length?void 0:e.DEFAULT_DATA_SOURCE_KEY,onChange:g,disabled:c,showSearch:!0,optionFilterProp:"label"}),o().createElement(r.Select,{"aria-label":s("Collections"),placeholder:s("Collections"),style:{width:"100%"},mode:"multiple",options:h,value:y,onChange:S,disabled:c||!b,showSearch:!0,optionFilterProp:"label"}),w?o().createElement(r.Typography.Text,{type:"warning"},s("You can select at most {{max}} collections",{max:50})):null)},O={idle:"default",queued:"default",analyzing:"processing",generating:"processing",completed:"success",failed:"error"},E={idle:"Idle",queued:"Queued",analyzing:"Analyzing",generating:"Generating",completed:"Completed",failed:"Failed"},j=Object.keys(O),k=function(e){var t,n=i(),u=(0,l.useField)(),c=(0,a.isField)(u)?u.value:void 0,s=null!=(t=e.value)?t:c;return"string"==typeof s&&j.includes(s)?o().createElement(r.Tag,{color:O[s],"aria-label":n(E[s])},n(E[s])):null},P=function(t){var a=t.schema,l=t.usedFallback,u=t.adjustments,c=t.onInsert,s=t.onRegenerate,f=t.onCancel,p=t.loading,d=i(),b=(0,n.useMemo)(function(){return Array.isArray(u)&&u.every(function(e){return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e&&"string"==typeof e.reference&&"string"==typeof e.action})?u:[]},[u]),y=!!a;return o().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"middle"},l?o().createElement(r.Alert,{type:"warning",showIcon:!0,message:d("A fallback block was generated")}):null,b.length>0?o().createElement(r.Alert,{type:"info",showIcon:!0,message:d("Some fields were adjusted to match the collection"),description:o().createElement("ul",{style:{margin:0,paddingInlineStart:20}},b.map(function(e,t){return o().createElement("li",{key:"".concat(e.reference,"-").concat(e.action,"-").concat(t)},"remapped"===e.action&&e.replacement?"".concat(e.reference," → ").concat(e.replacement):"".concat(e.reference," → ").concat(e.action))}))}):null,o().createElement("section",{"aria-label":d("Preview")},o().createElement(r.Typography.Title,{level:5,style:{marginTop:0}},d("Preview")),y?o().createElement(e.SchemaComponentOptions,null,o().createElement(e.SchemaComponent,{schema:a})):p?o().createElement(r.Spin,{"aria-label":d("Generating")}):o().createElement(r.Empty,{image:r.Empty.PRESENTED_IMAGE_SIMPLE,description:d("Preview")})),o().createElement(r.Space,null,o().createElement(r.Button,{type:"primary",onClick:function(){return a&&c(a)},disabled:!y||p,"aria-label":d("Insert")},d("Insert")),o().createElement(r.Button,{onClick:s,loading:p,"aria-label":d("Regenerate")},d("Regenerate")),o().createElement(r.Button,{onClick:f,disabled:p,"aria-label":d("Cancel")},d("Cancel"))))};function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function A(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function I(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return C(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))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 x(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function M(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function z(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){M(a,n,o,l,i,"next",e)}function i(e){M(a,n,o,l,i,"throw",e)}l(void 0)})}}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return T(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return T(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 B(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function D(e,t){if(e&&(void 0===e?"undefined":B(e))==="object"){var r=e[t];if("string"==typeof r)return r}return""}var q=function(t){var u=t.onInsert,c=t.onClose,s=i(),f=(0,e.useAPIClient)(),d=(0,e.useApp)(),b=(0,n.useMemo)(function(){return(0,a.createForm)()},[]),y=F((0,n.useState)(""),2),v=y[0],O=y[1],E=F((0,n.useState)({collections:[]}),2),j=E[0],C=E[1],T=F((0,n.useState)({}),2),M=T[0],q=T[1],L=F((0,n.useState)(void 0),2),R=L[0],V=L[1],$=F((0,n.useState)(!1),2),G=$[0],U=$[1],N=F((0,n.useState)(!1),2),Y=N[0],K=N[1],Q=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.intervalMs,a=void 0===o?2e3:o,l=r.enabled,i=void 0===l||l,u=(0,e.useAPIClient)(),c=I((0,n.useState)(void 0),2),s=c[0],f=c[1],p=I((0,n.useState)(void 0),2),d=p[0],b=p[1],y=I((0,n.useState)(!1),2),v=y[0],m=y[1],g=(0,n.useRef)(null),w=(0,n.useRef)(!1);return(0,n.useEffect)(function(){var e=function(){null!==g.current&&(clearInterval(g.current),g.current=null)};if(!i||void 0===t)return e(),m(!1),e;var r=!1,n=function(){var n;return(n=function(){var n,o,a;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(l){var i,c;switch(l.label){case 0:if(w.current)return[2];w.current=!0,m(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,u.resource(h).getResult({filterByTk:t})];case 2:if(n=l.sent(),r)return[2];return(o=function(e){if(e&&(void 0===e?"undefined":x(e))==="object"){var t,r,n,o,a=e.id;if("string"==typeof a||"number"==typeof a)return{id:a,status:"string"==typeof e.status?e.status:"",buildPhase:"string"==typeof(o=e.buildPhase)&&S.includes(o)?e.buildPhase:"idle",blockSchema:null!=(t=e.blockSchema)?t:void 0,blockSpec:null!=(r=e.blockSpec)?r:void 0,adjustments:null!=(n=e.adjustments)?n:void 0,usedFallback:!0===e.usedFallback,errorMessage:"string"==typeof e.errorMessage?e.errorMessage:null}}}(function(e){if(e&&(void 0===e?"undefined":x(e))==="object"){var t=e.data;if(t&&(void 0===t?"undefined":x(t))==="object")return t.data}}(n)))&&(f(o),b(void 0),("completed"===(i=o.buildPhase)||"failed"===i)&&e()),[3,5];case 3:return a=l.sent(),r||b((null!=(c=Error)&&"u">typeof Symbol&&c[Symbol.hasInstance]?!!c[Symbol.hasInstance](a):a instanceof c)?a:Error(String(a))),[3,5];case 4:return w.current=!1,r||m(!1),[7];case 5:return[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,o){var a=n.apply(e,t);function l(e){A(a,r,o,l,i,"next",e)}function i(e){A(a,r,o,l,i,"throw",e)}l(void 0)})})()};return n(),g.current=setInterval(n,a),function(){r=!0,e()}},[u,t,i,a]),{phase:null==s?void 0:s.buildPhase,status:null==s?void 0:s.status,record:s,error:d,loading:v}}(R,{enabled:!!R&&Y}),W=Q.phase,H=Q.record;(0,n.useEffect)(function(){("completed"===W||"failed"===W)&&K(!1)},[W]),(0,n.useEffect)(function(){var e=!0;return z(function(){var t,r,n,o;return _(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,f.resource(g).publicGet()];case 1:var l,i;if(n=a.sent(),!e)return[2];return C({dataSource:(o={defaultDataSource:"string"==typeof(i=(l=null==(r=n.data)?void 0:r.data)&&(void 0===l?"undefined":B(l))==="object"?l:{}).defaultDataSource?i.defaultDataSource:void 0,defaultCollections:Array.isArray(i.defaultCollections)?i.defaultCollections.filter(function(e){return"string"==typeof e}):[],defaultLLMService:"string"==typeof i.defaultLLMService?i.defaultLLMService:void 0,defaultModel:"string"==typeof i.defaultModel?i.defaultModel:void 0}).defaultDataSource,collections:null!=(t=o.defaultCollections)?t:[]}),b.setValues({llmService:o.defaultLLMService,model:o.defaultModel}),[3,3];case 2:return console.warn("[plugin-build-visualization-block] Failed to load default settings:",a.sent()),[3,3];case 3:return[2]}})})(),function(){e=!1}},[f,b]);var J=(0,n.useMemo)(function(){var e=d.pm;return!!(e.get("ai")||e.get("@nocobase/plugin-ai")||e.get("plugin-ai"))},[d]),X=j.dataSource,Z=(0,n.useMemo)(function(){var e;return null!=(e=j.collections)?e:[]},[j]),ee=(0,n.useCallback)(function(){var e={};v.trim()?v.length>2e3&&(e.requirement=s("Requirement must be at most {{max}} characters",{max:2e3})):e.requirement=s("Requirement description is required"),Z.length<1?e.collections=s("At least one collection is required"):Z.length>50&&(e.collections=s("You can select at most {{max}} collections",{max:50}));var t=D(b.values,"llmService"),r=D(b.values,"model");return t&&r||(e.ai=s("AI service and model are required")),e},[v,Z,b,s]),et=(0,n.useCallback)(function(){return z(function(){var e,t,r;return _(this,function(n){switch(n.label){case 0:if(!J)return[2];if(Object.keys(e=ee()).length>0)return q(e),[2];q({}),t={requirement:v.trim(),dataSource:X,collections:Z,primaryCollection:Z[0],llmService:D(b.values,"llmService"),model:D(b.values,"model")},U(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,f.resource(h).build({values:t})];case 2:if(!(r=function(e){if(e&&(void 0===e?"undefined":B(e))==="object"){var t=e.data;if(t&&(void 0===t?"undefined":B(t))==="object"){var r=t.data;if(r&&(void 0===r?"undefined":B(r))==="object"){var n=r.id;if("string"==typeof n||"number"==typeof n)return String(n)}}}}(n.sent())))return q({submit:s("The requirement could not be saved")}),[2];return V(r),K(!0),[3,5];case 3:return n.sent(),q({submit:s("The requirement could not be saved")}),[3,5];case 4:return U(!1),[7];case 5:return[2]}})})()},[J,ee,v,X,Z,b,f,s]),er=(0,n.useCallback)(function(){return z(function(){return _(this,function(e){switch(e.label){case 0:if(!R)return[2];q({}),U(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,f.resource(h).retry({filterByTk:R})];case 2:return e.sent(),K(!0),[3,5];case 3:return e.sent(),q({submit:s("The requirement could not be saved")}),[3,5];case 4:return U(!1),[7];case 5:return[2]}})})()},[f,R,s]);return R&&!Y&&"completed"===W&&H?o().createElement(P,{schema:H.blockSchema,usedFallback:H.usedFallback,adjustments:H.adjustments,onInsert:u,onRegenerate:er,onCancel:c,loading:!1}):R&&!Y&&"failed"===W?o().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"middle"},o().createElement(r.Alert,{type:"error",showIcon:!0,message:(null==H?void 0:H.errorMessage)||s("The requirement could not be saved")}),o().createElement(r.Space,null,o().createElement(r.Button,{type:"primary",onClick:er,loading:G},s("Retry")),o().createElement(r.Button,{onClick:c},s("Cancel")))):R&&Y?o().createElement(r.Space,{direction:"vertical",align:"center",style:{width:"100%",padding:24},size:"middle"},o().createElement(r.Spin,{"aria-label":s("Generating")}),o().createElement(r.Space,null,o().createElement(k,{value:W}),o().createElement(r.Typography.Text,{type:"secondary"},s("Generating")))):o().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"middle"},J?null:o().createElement(r.Alert,{type:"warning",showIcon:!0,message:s("The AI service is unavailable")}),o().createElement("div",null,o().createElement(r.Typography.Text,{strong:!0},s("Requirement")),o().createElement(r.Input.TextArea,{"aria-label":s("Requirement"),placeholder:s("Describe the block you want to build"),value:v,onChange:function(e){return O(e.target.value)},showCount:!0,maxLength:2e3,autoSize:{minRows:3,maxRows:8},status:M.requirement?"error":void 0}),M.requirement?o().createElement(r.Typography.Text,{type:"danger"},M.requirement):null),o().createElement("div",null,o().createElement(r.Typography.Text,{strong:!0},s("Collections")),o().createElement(w,{value:j,onChange:C}),M.collections?o().createElement(r.Typography.Text,{type:"danger"},M.collections):null),o().createElement(l.FormProvider,{form:b},o().createElement("div",null,o().createElement(r.Typography.Text,{strong:!0},s("AI service")),o().createElement(l.Field,{name:"llmService",component:[p,{placeholder:s("AI service"),style:{width:"100%"}}]})),o().createElement("div",null,o().createElement(r.Typography.Text,{strong:!0},s("Model")),o().createElement(l.Field,{name:"model",component:[m,{placeholder:s("Model"),style:{width:"100%"}}]}))),M.ai?o().createElement(r.Typography.Text,{type:"danger"},M.ai):null,M.submit?o().createElement(r.Alert,{type:"error",showIcon:!0,message:M.submit}):null,o().createElement(r.Space,null,o().createElement(r.Button,{type:"primary",onClick:et,loading:G,disabled:!J},s("Build")),o().createElement(r.Button,{onClick:c,disabled:G},s("Cancel"))))};function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var R=function(){var a,l,u,c=(0,e.useSchemaInitializerItem)(),s=(0,e.useSchemaInitializer)().insert,f=(0,e.useACLRoleContext)().parseAction,p=i(),d=function(e){if(Array.isArray(e))return e}(a=(0,n.useState)(!1))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],a=!0,l=!1;try{for(n=n.call(e);!(a=(t=n.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(l)throw r}}return o}}(a)||function(e){if(e){if("string"==typeof e)return L(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return L(e,2)}}(a)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),b=d[0],y=d[1],v=(0,n.useCallback)(function(){return y(!0)},[]),m=(0,n.useCallback)(function(){return y(!1)},[]),h=(0,n.useCallback)(function(e){y(!1),s(e)},[s]);if(!f||!f("aiVisualizationBuilds:build"))return null;var g=c.title||p("Build Visualization Block");return o().createElement(o().Fragment,null,o().createElement(e.SchemaInitializerItem,(l=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},c),u=u={title:g,icon:o().createElement(t.DashboardOutlined,null),onClick:v},Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(u)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(u)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(u,e))}),l)),o().createElement(r.Modal,{open:b,title:g,footer:null,destroyOnClose:!0,onCancel:m,width:720},o().createElement(q,{onInsert:h,onClose:m})))};function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function $(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function G(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){$(a,n,o,l,i,"next",e)}function i(e){$(a,n,o,l,i,"throw",e)}l(void 0)})}}function U(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return V(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return V(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 N(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function Y(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function K(e,t){if(e&&(void 0===e?"undefined":N(e))==="object"){var r=e[t];return"string"==typeof r&&r.trim()?r.trim():void 0}}var Q=function(){var t=(0,e.useAPIClient)(),u=r.App.useApp().message,c=i(),s=(0,n.useMemo)(function(){return(0,a.createForm)()},[]),f=U((0,n.useState)({collections:[]}),2),d=f[0],b=f[1],y=U((0,n.useState)(!0),2),v=y[0],h=y[1],S=U((0,n.useState)(!0),2),O=S[0],E=S[1],j=U((0,n.useState)(!1),2),k=j[0],P=j[1],C=U((0,n.useState)(!1),2),A=C[0],I=C[1];(0,n.useEffect)(function(){var e=!0;return G(function(){var r,n,o,a,l,i;return Y(this,function(u){switch(u.label){case 0:E(!0),I(!1),u.label=1;case 1:return u.trys.push([1,3,4,5]),[4,t.resource(g).publicGet()];case 2:var c,f;if(a=u.sent(),!e)return[2];return b({dataSource:null!=(r=(l={defaultDataSource:"string"==typeof(f=(c=null==(o=a.data)?void 0:o.data)&&(void 0===c?"undefined":N(c))==="object"?c:{}).defaultDataSource?f.defaultDataSource:void 0,defaultCollections:Array.isArray(f.defaultCollections)?f.defaultCollections.filter(function(e){return"string"==typeof e}):[],defaultLLMService:"string"==typeof f.defaultLLMService?f.defaultLLMService:void 0,defaultModel:"string"==typeof f.defaultModel?f.defaultModel:void 0,enableAITool:!1!==f.enableAITool}).defaultDataSource)?r:void 0,collections:null!=(n=l.defaultCollections)?n:[]}),s.setValues({llmService:l.defaultLLMService,model:l.defaultModel}),h(!1!==l.enableAITool),[3,5];case 3:if(i=u.sent(),!e)return[2];return console.error("[plugin-build-visualization-block] Failed to load settings:",i),I(!0),[3,5];case 4:return e&&E(!1),[7];case 5:return[2]}})})(),function(){e=!1}},[t,s]);var x=(0,n.useCallback)(function(){return G(function(){var e;return Y(this,function(r){switch(r.label){case 0:P(!0),r.label=1;case 1:return r.trys.push([1,,3,4]),[4,t.resource(g).update({filterByTk:1,values:{defaultDataSource:d.dataSource,defaultCollections:null!=(e=d.collections)?e:[],defaultLLMService:K(s.values,"llmService"),defaultModel:K(s.values,"model"),enableAITool:v}})];case 2:return r.sent(),u.success(c("Saved successfully")),[3,4];case 3:return P(!1),[7];case 4:return[2]}})})()},[t,d,v,s,u,c]);return o().createElement(r.Card,{loading:O},o().createElement(r.Space,{direction:"vertical",size:"middle",style:{width:"100%",maxWidth:720}},A?o().createElement(r.Alert,{type:"error",showIcon:!0,message:c("Failed to load the list")}):null,o().createElement(r.Form,{layout:"vertical"},o().createElement(r.Form.Item,{label:c("Default collections")},o().createElement(w,{value:d,onChange:b})),o().createElement(l.FormProvider,{form:s},o().createElement(r.Form.Item,{label:c("Default AI service")},o().createElement(l.Field,{name:"llmService",component:[p,{style:{width:"100%"}}]})),o().createElement(r.Form.Item,{label:c("Default model")},o().createElement(l.Field,{name:"model",component:[m,{style:{width:"100%"}}]}))),o().createElement(r.Form.Item,{label:c("Enable AI tool")},o().createElement(r.Switch,{checked:v,onChange:h})),o().createElement(r.Button,{type:"primary",loading:k,onClick:x},c("Save")))))};function W(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function H(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){W(a,n,o,l,i,"next",e)}function i(e){W(a,n,o,l,i,"throw",e)}l(void 0)})}}function J(e,t,r){return(J=et()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&Z(o,r.prototype),o}).apply(null,arguments)}function X(e){return(X=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Z(e,t){return(Z=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ee(e){var t="function"==typeof Map?new Map:void 0;return(ee=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,r)}function r(){return J(e,arguments,X(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Z(r,e)})(e)}function et(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(et=function(){return!!e})()}function er(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var en=["page:addBlock","popup:common:addBlock","popup:addNew:addBlock","mobile:addBlock"],eo="dataBlocks.buildVisualizationBlock",ea=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=X(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,et()?Reflect.construct(e,t||[],X(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&Z(r,e),t=[{key:"afterAdd",value:function(){return H(function(){var e;return er(this,function(t){e=this.app.pm;try{e.get("@nocobase/plugin-data-visualization")||e.get("plugin-data-visualization")||console.warn("[plugin-build-visualization-block] plugin-data-visualization is not available")}catch(e){console.warn("[plugin-build-visualization-block] plugin-data-visualization is not available")}try{e.get("@nocobase/plugin-ai")||e.get("plugin-ai")||console.warn("[plugin-build-visualization-block] plugin-ai is not available")}catch(e){console.warn("[plugin-build-visualization-block] plugin-ai is not available")}return[2]})}).call(this)}},{key:"load",value:function(){return H(function(){var e;return er(this,function(t){return e=this,this.app.addComponents({BuildVisualizationBlockInitializer:R}),this.app.pluginSettingsManager.add("plugin-build-visualization-block",{icon:"DashboardOutlined",title:this.t("Build Visualization Block"),Component:Q,aclSnippet:"pm.plugin-build-visualization-block.settings"}),en.forEach(function(t){e.app.schemaInitializerManager.addItem(t,eo,{name:"buildVisualizationBlock",title:'{{t("Build Visualization Block", { ns: "plugin-build-visualization-block" })}}',Component:"BuildVisualizationBlockInitializer"})}),[2]})}).call(this)}},{key:"remove",value:function(){return H(function(){var e;return er(this,function(t){return e=this,this.app.pluginSettingsManager.remove("plugin-build-visualization-block"),en.forEach(function(t){e.app.schemaInitializerManager.removeItem(t,eo)}),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(ee(e.Plugin)),el=ea}(),d}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client-v2"),require("@formily/core"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@ant-design/icons")):"function"==typeof define&&define.amd?define("plugin-build-visualization-block",["@nocobase/client-v2","@formily/core","react","antd","@nocobase/client","@formily/react","@ant-design/icons"],t):"object"==typeof exports?exports["plugin-build-visualization-block"]=t(require("@nocobase/client-v2"),require("@formily/core"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@ant-design/icons")):e["plugin-build-visualization-block"]=t(e["@nocobase/client-v2"],e["@formily/core"],e.react,e.antd,e["@nocobase/client"],e["@formily/react"],e["@ant-design/icons"])}(self,function(e,t,r,n,o,a,l){return function(){"use strict";var i={375:function(e){e.exports=l},452:function(e){e.exports=t},230:function(e){e.exports=a},342:function(e){e.exports=o},485:function(t){t.exports=e},59:function(e){e.exports=n},155:function(e){e.exports=r}},u={};function c(e){var t=u[e];if(void 0!==t)return t.exports;var r=u[e]={exports:{}};return i[e](r,r.exports,c),r.exports}c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},c.d=function(e,t){for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.g.importScripts&&(s=c.g.location+"");var s,f=c.g.document;if(!s&&f&&(f.currentScript&&"SCRIPT"===f.currentScript.tagName.toUpperCase()&&(s=f.currentScript.src),!s)){var p=f.getElementsByTagName("script");if(p.length)for(var d=p.length-1;d>-1&&(!s||!/^http(s?):/.test(s));)s=p[d--].src}if(!s)throw Error("Automatic publicPath is not supported in this browser");c.p=s.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var b={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/plugin-build-visualization-block/dist/client/")}if(!e){var n=window.__nocobase_modern_client_prefix__||"v",o="/"+(n=String(n).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",l=a.indexOf(o);e=l>=0?a.slice(0,l+1):"/"}e&&(e=e.replace(RegExp("/"+n+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/plugin-build-visualization-block/dist/client/"}c.p=e}(),!function(){c.r(b),c.d(b,{PluginBuildVisualizationBlockClient:function(){return el},default:function(){return ei}});var e=c(342),t=c(375),r=c(59),n=c(155),o=c.n(n),a=c(452),l=c(230),i=c(485);function u(){var e=(0,i.useApp)();return(0,n.useCallback)(function(t,r){return e.i18n.t(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ns:["plugin-build-visualization-block","client"]},r))},[e.i18n])}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))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.")}()}var d=function(e){var t,c,s=u(),d=(0,i.useApp)().apiClient,b=(0,l.useField)(),y=p((0,n.useState)([]),2),v=y[0],m=y[1],h=p((0,n.useState)(!1),2),g=h[0],S=h[1],w=p((0,n.useState)(!1),2),O=w[0],E=w[1];(0,n.useEffect)(function(){var e,t=!0;return(e=function(){var e,r;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:S(!0),E(!1),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,d.resource("ai").listLLMServices()];case 2:var o,a;if(e=n.sent(),!t)return[2];return m((Array.isArray(a=null==e||null==(o=e.data)?void 0:o.data)?a:[]).filter(function(e){return!!e.name}).map(function(e){return{label:e.title||e.name,value:e.name}})),[3,5];case 3:if(r=n.sent(),!t)return[2];return console.error("Failed to load LLM services:",r),m([]),E(!0),[3,5];case 4:return t&&S(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){f(a,n,o,l,i,"next",e)}function i(e){f(a,n,o,l,i,"throw",e)}l(void 0)})})(),function(){t=!1}},[d]);var j=(0,n.useCallback)(function(e){b.setValue(e);var t=b.query(".model").take();(0,a.isField)(t)&&t.setValue(void 0)},[b]);return o().createElement(r.Select,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),c=c={options:v,loading:g,status:O?"error":void 0,value:b.value,onChange:j,notFoundContent:O?s("Failed to load the list"):void 0,allowClear:!0,showSearch:!0,optionFilterProp:"label"},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(c)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(c)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(c,e))}),t))};function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function v(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(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.")}()}var h=(0,l.observer)(function(e){var t,a,c,s=u(),f=(0,i.useApp)().apiClient,p=(0,l.useField)(),d=(0,l.useForm)(),b=m((0,n.useState)([]),2),y=b[0],h=b[1],g=m((0,n.useState)(!1),2),S=g[0],w=g[1],O=m((0,n.useState)(!1),2),E=O[0],j=O[1],k="string"==typeof(null==(c=d.values)?void 0:c.llmService)?d.values.llmService:void 0;(0,n.useEffect)(function(){var e,t=!0;if(!k){h([]),j(!1);return}return(e=function(){var e,r;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:w(!0),j(!1),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,f.resource("ai").listModels({llmService:k})];case 2:var o,a;if(e=n.sent(),!t)return[2];return h((Array.isArray(a=null==e||null==(o=e.data)?void 0:o.data)?a:[]).map(function(e){return e.id||e.name}).filter(function(e){return!!e}).map(function(e){return{label:e,value:e}})),[3,5];case 3:if(r=n.sent(),!t)return[2];return console.error("Failed to load models:",r),h([]),j(!0),[3,5];case 4:return t&&w(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){v(a,n,o,l,i,"next",e)}function i(e){v(a,n,o,l,i,"throw",e)}l(void 0)})})(),function(){t=!1}},[f,k]);var C=(0,n.useCallback)(function(e){p.setValue(e)},[p]);return o().createElement(r.Select,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),a=a={options:y,loading:S,status:E?"error":void 0,value:p.value,onChange:C,disabled:!k,notFoundContent:E?s("Failed to load the list"):void 0,allowClear:!0,showSearch:!0,optionFilterProp:"label"},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(a)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}),t))}),g="aiVisualizationBuilds",S="aiVisualizationBuildSettings",w=["idle","queued","analyzing","generating","completed","failed"],O=function(t){var a,l=t.value,i=t.onChange,c=t.disabled,s=u(),f=(0,e.useCompile)(),p=(0,e.useDataSourceManager)(),d=(0,e.useACLRoleContext)().parseAction,b=null==l?void 0:l.dataSource,y=null!=(a=null==l?void 0:l.collections)?a:[],v=(0,n.useMemo)(function(){var e;return(null!=(e=null==p?void 0:p.getDataSources())?e:[]).map(function(e){return{label:f(e.displayName)||e.key,value:e.key}})},[p,f]),m=(0,n.useCallback)(function(e){return!!d("".concat(e,":list"))},[d]),h=(0,n.useMemo)(function(){if(!b)return[];var e,t,r=null==p?void 0:p.getDataSource(b);return(null!=(e=null==r||null==(t=r.collectionManager)?void 0:t.getCollections())?e:[]).filter(function(e){return m(e.name)}).map(function(e){return{label:f(e.title)||e.name,value:e.name}})},[p,b,f,m]),g=(0,n.useCallback)(function(e){null==i||i({dataSource:e,collections:[]})},[i]),S=(0,n.useCallback)(function(e){var t=e.slice(0,50);null==i||i({dataSource:b,collections:t})},[i,b]),w=y.length>=50;return o().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"small"},o().createElement(r.Select,{"aria-label":s("Data source"),placeholder:s("Data source"),style:{width:"100%"},options:v,value:null!=b?b:v.length?void 0:e.DEFAULT_DATA_SOURCE_KEY,onChange:g,disabled:c,showSearch:!0,optionFilterProp:"label"}),o().createElement(r.Select,{"aria-label":s("Collections"),placeholder:s("Collections"),style:{width:"100%"},mode:"multiple",options:h,value:y,onChange:S,disabled:c||!b,showSearch:!0,optionFilterProp:"label"}),w?o().createElement(r.Typography.Text,{type:"warning"},s("You can select at most {{max}} collections",{max:50})):null)},E={idle:"default",queued:"default",analyzing:"processing",generating:"processing",completed:"success",failed:"error"},j={idle:"Idle",queued:"Queued",analyzing:"Analyzing",generating:"Generating",completed:"Completed",failed:"Failed"},k=Object.keys(E),C=function(e){var t,n=u(),i=(0,l.useField)(),c=(0,a.isField)(i)?i.value:void 0,s=null!=(t=e.value)?t:c;return"string"==typeof s&&k.includes(s)?o().createElement(r.Tag,{color:E[s],"aria-label":n(j[s])},n(j[s])):null},A=function(t){var a=t.schema,l=t.usedFallback,i=t.adjustments,c=t.onInsert,s=t.onRegenerate,f=t.onCancel,p=t.loading,d=u(),b=(0,n.useMemo)(function(){return Array.isArray(i)&&i.every(function(e){return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e&&"string"==typeof e.reference&&"string"==typeof e.action})?i:[]},[i]),y=!!a;return o().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"middle"},l?o().createElement(r.Alert,{type:"warning",showIcon:!0,message:d("A fallback block was generated")}):null,b.length>0?o().createElement(r.Alert,{type:"info",showIcon:!0,message:d("Some fields were adjusted to match the collection"),description:o().createElement("ul",{style:{margin:0,paddingInlineStart:20}},b.map(function(e,t){return o().createElement("li",{key:"".concat(e.reference,"-").concat(e.action,"-").concat(t)},"remapped"===e.action&&e.replacement?"".concat(e.reference," → ").concat(e.replacement):"".concat(e.reference," → ").concat(e.action))}))}):null,o().createElement("section",{"aria-label":d("Preview")},o().createElement(r.Typography.Title,{level:5,style:{marginTop:0}},d("Preview")),y?o().createElement(e.SchemaComponentOptions,null,o().createElement(e.SchemaComponent,{schema:a})):p?o().createElement(r.Spin,{"aria-label":d("Generating")}):o().createElement(r.Empty,{image:r.Empty.PRESENTED_IMAGE_SIMPLE,description:d("Preview")})),o().createElement(r.Space,null,o().createElement(r.Button,{type:"primary",onClick:function(){return a&&c(a)},disabled:!y||p,"aria-label":d("Insert")},d("Insert")),o().createElement(r.Button,{onClick:s,loading:p,"aria-label":d("Regenerate")},d("Regenerate")),o().createElement(r.Button,{onClick:f,disabled:p,"aria-label":d("Cancel")},d("Cancel"))))};function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return P(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return P(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 T(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function z(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function F(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){z(a,n,o,l,i,"next",e)}function i(e){z(a,n,o,l,i,"throw",e)}l(void 0)})}}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return M(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return M(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){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function D(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function q(e,t){if(e&&(void 0===e?"undefined":_(e))==="object"){var r=e[t];if("string"==typeof r)return r}return""}var L=function(t){var i=t.onInsert,c=t.onClose,s=u(),f=(0,e.useAPIClient)(),p=(0,e.useApp)(),b=(0,n.useMemo)(function(){return(0,a.createForm)()},[]),y=B((0,n.useState)(""),2),v=y[0],m=y[1],E=B((0,n.useState)({collections:[]}),2),j=E[0],k=E[1],P=B((0,n.useState)({}),2),M=P[0],z=P[1],L=B((0,n.useState)(void 0),2),R=L[0],V=L[1],$=B((0,n.useState)(!1),2),G=$[0],U=$[1],N=B((0,n.useState)(!1),2),Y=N[0],K=N[1],Q=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.intervalMs,a=void 0===o?2e3:o,l=r.enabled,i=void 0===l||l,u=(0,e.useAPIClient)(),c=x((0,n.useState)(void 0),2),s=c[0],f=c[1],p=x((0,n.useState)(void 0),2),d=p[0],b=p[1],y=x((0,n.useState)(!1),2),v=y[0],m=y[1],h=(0,n.useRef)(null),S=(0,n.useRef)(!1);return(0,n.useEffect)(function(){var e=function(){null!==h.current&&(clearInterval(h.current),h.current=null)};if(!i||void 0===t)return e(),m(!1),e;var r=!1,n=function(){var n;return(n=function(){var n,o,a;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(l){var i,c;switch(l.label){case 0:if(S.current)return[2];S.current=!0,m(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,u.resource(g).getResult({filterByTk:t})];case 2:if(n=l.sent(),r)return[2];return(o=function(e){if(e&&(void 0===e?"undefined":T(e))==="object"){var t,r,n,o,a=e.id;if("string"==typeof a||"number"==typeof a)return{id:a,status:"string"==typeof e.status?e.status:"",buildPhase:"string"==typeof(o=e.buildPhase)&&w.includes(o)?e.buildPhase:"idle",blockSchema:null!=(t=e.blockSchema)?t:void 0,blockSpec:null!=(r=e.blockSpec)?r:void 0,adjustments:null!=(n=e.adjustments)?n:void 0,usedFallback:!0===e.usedFallback,errorMessage:"string"==typeof e.errorMessage?e.errorMessage:null}}}(function(e){if(e&&(void 0===e?"undefined":T(e))==="object"){var t=e.data;if(t&&(void 0===t?"undefined":T(t))==="object")return t.data}}(n)))&&(f(o),b(void 0),("completed"===(i=o.buildPhase)||"failed"===i)&&e()),[3,5];case 3:return a=l.sent(),r||b((null!=(c=Error)&&"u">typeof Symbol&&c[Symbol.hasInstance]?!!c[Symbol.hasInstance](a):a instanceof c)?a:Error(String(a))),[3,5];case 4:return S.current=!1,r||m(!1),[7];case 5:return[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,o){var a=n.apply(e,t);function l(e){I(a,r,o,l,i,"next",e)}function i(e){I(a,r,o,l,i,"throw",e)}l(void 0)})})()};return n(),h.current=setInterval(n,a),function(){r=!0,e()}},[u,t,i,a]),{phase:null==s?void 0:s.buildPhase,status:null==s?void 0:s.status,record:s,error:d,loading:v}}(R,{enabled:!!R&&Y}),W=Q.phase,H=Q.record;(0,n.useEffect)(function(){("completed"===W||"failed"===W)&&K(!1)},[W]),(0,n.useEffect)(function(){var e=!0;return F(function(){var t,r,n,o;return D(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,f.resource(S).publicGet()];case 1:var l,i;if(n=a.sent(),!e)return[2];return k({dataSource:(o={defaultDataSource:"string"==typeof(i=(l=null==(r=n.data)?void 0:r.data)&&(void 0===l?"undefined":_(l))==="object"?l:{}).defaultDataSource?i.defaultDataSource:void 0,defaultCollections:Array.isArray(i.defaultCollections)?i.defaultCollections.filter(function(e){return"string"==typeof e}):[],defaultLLMService:"string"==typeof i.defaultLLMService?i.defaultLLMService:void 0,defaultModel:"string"==typeof i.defaultModel?i.defaultModel:void 0}).defaultDataSource,collections:null!=(t=o.defaultCollections)?t:[]}),b.setValues({llmService:o.defaultLLMService,model:o.defaultModel}),[3,3];case 2:return console.warn("[plugin-build-visualization-block] Failed to load default settings:",a.sent()),[3,3];case 3:return[2]}})})(),function(){e=!1}},[f,b]);var J=(0,n.useMemo)(function(){var e=p.pm;return!!(e.get("ai")||e.get("@nocobase/plugin-ai")||e.get("plugin-ai"))},[p]),X=j.dataSource,Z=(0,n.useMemo)(function(){var e;return null!=(e=j.collections)?e:[]},[j]),ee=(0,n.useCallback)(function(){var e={};v.trim()?v.length>2e3&&(e.requirement=s("Requirement must be at most {{max}} characters",{max:2e3})):e.requirement=s("Requirement description is required"),Z.length<1?e.collections=s("At least one collection is required"):Z.length>50&&(e.collections=s("You can select at most {{max}} collections",{max:50}));var t=q(b.values,"llmService"),r=q(b.values,"model");return t&&r||(e.ai=s("AI service and model are required")),e},[v,Z,b,s]),et=(0,n.useCallback)(function(){return F(function(){var e,t,r;return D(this,function(n){switch(n.label){case 0:if(!J)return[2];if(Object.keys(e=ee()).length>0)return z(e),[2];z({}),t={requirement:v.trim(),dataSource:X,collections:Z,primaryCollection:Z[0],llmService:q(b.values,"llmService"),model:q(b.values,"model")},U(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,f.resource(g).build({values:t})];case 2:if(!(r=function(e){if(e&&(void 0===e?"undefined":_(e))==="object"){var t=e.data;if(t&&(void 0===t?"undefined":_(t))==="object"){var r=t.data;if(r&&(void 0===r?"undefined":_(r))==="object"){var n=r.id;if("string"==typeof n||"number"==typeof n)return String(n)}}}}(n.sent())))return z({submit:s("The requirement could not be saved")}),[2];return V(r),K(!0),[3,5];case 3:return n.sent(),z({submit:s("The requirement could not be saved")}),[3,5];case 4:return U(!1),[7];case 5:return[2]}})})()},[J,ee,v,X,Z,b,f,s]),er=(0,n.useCallback)(function(){return F(function(){return D(this,function(e){switch(e.label){case 0:if(!R)return[2];z({}),U(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,f.resource(g).retry({filterByTk:R})];case 2:return e.sent(),K(!0),[3,5];case 3:return e.sent(),z({submit:s("The requirement could not be saved")}),[3,5];case 4:return U(!1),[7];case 5:return[2]}})})()},[f,R,s]);return R&&!Y&&"completed"===W&&H?o().createElement(A,{schema:H.blockSchema,usedFallback:H.usedFallback,adjustments:H.adjustments,onInsert:i,onRegenerate:er,onCancel:c,loading:!1}):R&&!Y&&"failed"===W?o().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"middle"},o().createElement(r.Alert,{type:"error",showIcon:!0,message:(null==H?void 0:H.errorMessage)||s("The requirement could not be saved")}),o().createElement(r.Space,null,o().createElement(r.Button,{type:"primary",onClick:er,loading:G},s("Retry")),o().createElement(r.Button,{onClick:c},s("Cancel")))):R&&Y?o().createElement(r.Space,{direction:"vertical",align:"center",style:{width:"100%",padding:24},size:"middle"},o().createElement(r.Spin,{"aria-label":s("Generating")}),o().createElement(r.Space,null,o().createElement(C,{value:W}),o().createElement(r.Typography.Text,{type:"secondary"},s("Generating")))):o().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"middle"},J?null:o().createElement(r.Alert,{type:"warning",showIcon:!0,message:s("The AI service is unavailable")}),o().createElement("div",null,o().createElement(r.Typography.Text,{strong:!0},s("Requirement")),o().createElement(r.Input.TextArea,{"aria-label":s("Requirement"),placeholder:s("Describe the block you want to build"),value:v,onChange:function(e){return m(e.target.value)},showCount:!0,maxLength:2e3,autoSize:{minRows:3,maxRows:8},status:M.requirement?"error":void 0}),M.requirement?o().createElement(r.Typography.Text,{type:"danger"},M.requirement):null),o().createElement("div",null,o().createElement(r.Typography.Text,{strong:!0},s("Collections")),o().createElement(O,{value:j,onChange:k}),M.collections?o().createElement(r.Typography.Text,{type:"danger"},M.collections):null),o().createElement(l.FormProvider,{form:b},o().createElement("div",null,o().createElement(r.Typography.Text,{strong:!0},s("AI service")),o().createElement(l.Field,{name:"llmService",component:[d,{placeholder:s("AI service"),style:{width:"100%"}}]})),o().createElement("div",null,o().createElement(r.Typography.Text,{strong:!0},s("Model")),o().createElement(l.Field,{name:"model",component:[h,{placeholder:s("Model"),style:{width:"100%"}}]}))),M.ai?o().createElement(r.Typography.Text,{type:"danger"},M.ai):null,M.submit?o().createElement(r.Alert,{type:"error",showIcon:!0,message:M.submit}):null,o().createElement(r.Space,null,o().createElement(r.Button,{type:"primary",onClick:et,loading:G,disabled:!J},s("Build")),o().createElement(r.Button,{onClick:c,disabled:G},s("Cancel"))))};function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var V=function(){var a,l,i,c=(0,e.useSchemaInitializerItem)(),s=(0,e.useSchemaInitializer)().insert,f=(0,e.useACLRoleContext)().parseAction,p=u(),d=function(e){if(Array.isArray(e))return e}(a=(0,n.useState)(!1))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],a=!0,l=!1;try{for(n=n.call(e);!(a=(t=n.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(l)throw r}}return o}}(a)||function(e){if(e){if("string"==typeof e)return R(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return R(e,2)}}(a)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),b=d[0],y=d[1],v=(0,n.useCallback)(function(){return y(!0)},[]),m=(0,n.useCallback)(function(){return y(!1)},[]),h=(0,n.useCallback)(function(e){y(!1),s(e)},[s]);if(!f||!f("aiVisualizationBuilds:build"))return null;var g=c.title||p("Build Visualization Block");return o().createElement(o().Fragment,null,o().createElement(e.SchemaInitializerItem,(l=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},c),i=i={title:g,icon:o().createElement(t.DashboardOutlined,null),onClick:v},Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(i)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(i)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(i,e))}),l)),o().createElement(r.Modal,{open:b,title:g,footer:null,destroyOnClose:!0,onCancel:m,width:720},o().createElement(L,{onInsert:h,onClose:m})))};function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function G(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function U(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){G(a,n,o,l,i,"next",e)}function i(e){G(a,n,o,l,i,"throw",e)}l(void 0)})}}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return $(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $(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 Y(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function K(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function Q(e,t){if(e&&(void 0===e?"undefined":Y(e))==="object"){var r=e[t];return"string"==typeof r&&r.trim()?r.trim():void 0}}var W=function(){var e=(0,i.useApp)().apiClient,t=r.App.useApp().message,c=u(),s=(0,n.useMemo)(function(){return(0,a.createForm)()},[]),f=N((0,n.useState)({collections:[]}),2),p=f[0],b=f[1],y=N((0,n.useState)(!0),2),v=y[0],m=y[1],g=N((0,n.useState)(!0),2),w=g[0],E=g[1],j=N((0,n.useState)(!1),2),k=j[0],C=j[1],A=N((0,n.useState)(!1),2),P=A[0],I=A[1];(0,n.useEffect)(function(){var t=!0;return U(function(){var r,n,o,a,l,i;return K(this,function(u){switch(u.label){case 0:E(!0),I(!1),u.label=1;case 1:return u.trys.push([1,3,4,5]),[4,e.resource(S).publicGet()];case 2:var c,f;if(a=u.sent(),!t)return[2];return b({dataSource:null!=(r=(l={defaultDataSource:"string"==typeof(f=(c=null==(o=a.data)?void 0:o.data)&&(void 0===c?"undefined":Y(c))==="object"?c:{}).defaultDataSource?f.defaultDataSource:void 0,defaultCollections:Array.isArray(f.defaultCollections)?f.defaultCollections.filter(function(e){return"string"==typeof e}):[],defaultLLMService:"string"==typeof f.defaultLLMService?f.defaultLLMService:void 0,defaultModel:"string"==typeof f.defaultModel?f.defaultModel:void 0,enableAITool:!1!==f.enableAITool}).defaultDataSource)?r:void 0,collections:null!=(n=l.defaultCollections)?n:[]}),s.setValues({llmService:l.defaultLLMService,model:l.defaultModel}),m(!1!==l.enableAITool),[3,5];case 3:if(i=u.sent(),!t)return[2];return console.error("[plugin-build-visualization-block] Failed to load settings:",i),I(!0),[3,5];case 4:return t&&E(!1),[7];case 5:return[2]}})})(),function(){t=!1}},[e,s]);var x=(0,n.useCallback)(function(){return U(function(){var r;return K(this,function(n){switch(n.label){case 0:C(!0),n.label=1;case 1:return n.trys.push([1,,3,4]),[4,e.resource(S).update({filterByTk:1,values:{defaultDataSource:p.dataSource,defaultCollections:null!=(r=p.collections)?r:[],defaultLLMService:Q(s.values,"llmService"),defaultModel:Q(s.values,"model"),enableAITool:v}})];case 2:return n.sent(),t.success(c("Saved successfully")),[3,4];case 3:return C(!1),[7];case 4:return[2]}})})()},[e,p,v,s,t,c]);return o().createElement(r.Card,{loading:w},o().createElement(r.Space,{direction:"vertical",size:"middle",style:{width:"100%",maxWidth:720}},P?o().createElement(r.Alert,{type:"error",showIcon:!0,message:c("Failed to load the list")}):null,o().createElement(r.Form,{layout:"vertical"},o().createElement(r.Form.Item,{label:c("Default collections")},o().createElement(O,{value:p,onChange:b})),o().createElement(l.FormProvider,{form:s},o().createElement(r.Form.Item,{label:c("Default AI service")},o().createElement(l.Field,{name:"llmService",component:[d,{style:{width:"100%"}}]})),o().createElement(r.Form.Item,{label:c("Default model")},o().createElement(l.Field,{name:"model",component:[h,{style:{width:"100%"}}]}))),o().createElement(r.Form.Item,{label:c("Enable AI tool")},o().createElement(r.Switch,{checked:v,onChange:m})),o().createElement(r.Button,{type:"primary",loading:k,onClick:x},c("Save")))))};function H(e,t,r,n,o,a,l){try{var i=e[a](l),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function J(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){H(a,n,o,l,i,"next",e)}function i(e){H(a,n,o,l,i,"throw",e)}l(void 0)})}}function X(e,t,r){return(X=er()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&ee(o,r.prototype),o}).apply(null,arguments)}function Z(e){return(Z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ee(e,t){return(ee=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function et(e){var t="function"==typeof Map?new Map:void 0;return(et=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,r)}function r(){return X(e,arguments,Z(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ee(r,e)})(e)}function er(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(er=function(){return!!e})()}function en(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var eo=["page:addBlock","popup:common:addBlock","popup:addNew:addBlock","mobile:addBlock"],ea="dataBlocks.buildVisualizationBlock",el=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=Z(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,er()?Reflect.construct(e,t||[],Z(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&ee(r,e),t=[{key:"afterAdd",value:function(){return J(function(){var e;return en(this,function(t){e=this.app.pm;try{e.get("@nocobase/plugin-data-visualization")||e.get("plugin-data-visualization")||console.warn("[plugin-build-visualization-block] plugin-data-visualization is not available")}catch(e){console.warn("[plugin-build-visualization-block] plugin-data-visualization is not available")}try{e.get("@nocobase/plugin-ai")||e.get("plugin-ai")||console.warn("[plugin-build-visualization-block] plugin-ai is not available")}catch(e){console.warn("[plugin-build-visualization-block] plugin-ai is not available")}return[2]})}).call(this)}},{key:"load",value:function(){return J(function(){var e;return en(this,function(t){return e=this,this.app.addComponents({BuildVisualizationBlockInitializer:V}),this.app.pluginSettingsManager.add("plugin-build-visualization-block",{icon:"DashboardOutlined",title:this.t("Build Visualization Block"),Component:W,aclSnippet:"pm.plugin-build-visualization-block.settings"}),eo.forEach(function(t){e.app.schemaInitializerManager.addItem(t,ea,{name:"buildVisualizationBlock",title:'{{t("Build Visualization Block", { ns: "plugin-build-visualization-block" })}}',Component:"BuildVisualizationBlockInitializer"})}),[2]})}).call(this)}},{key:"remove",value:function(){return J(function(){var e;return en(this,function(t){return e=this,this.app.pluginSettingsManager.remove("plugin-build-visualization-block"),eo.forEach(function(t){e.app.schemaInitializerManager.removeItem(t,ea)}),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(et(e.Plugin)),ei=el}(),b}()});
@@ -0,0 +1,10 @@
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.webpackChunkplugin_build_visualization_block_client_v2=self.webpackChunkplugin_build_visualization_block_client_v2||[]).push([["812"],{535:function(e,t,r){r.d(t,{SettingsPage:function(){return E}});var n=r(452),o=r(230),l=r(485),a=r(59),u=r(155),i=r.n(u);function c(){var e=(0,l.useApp)();return(0,u.useCallback)(function(t,r){return e.i18n.t(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ns:["plugin-build-visualization-block","client"]},r))},[e.i18n])}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t,r,n,o,l,a){try{var u=e[l](a),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,o)}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))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.")}()}var b=function(e){var t,r,s=c(),b=(0,l.useApp)().apiClient,y=(0,o.useField)(),d=p((0,u.useState)([]),2),v=d[0],m=d[1],h=p((0,u.useState)(!1),2),g=h[0],S=h[1],w=p((0,u.useState)(!1),2),O=w[0],j=w[1];(0,u.useEffect)(function(){var e,t=!0;return(e=function(){var e,r;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:i(0)}),u(a,"throw",{value:i(1)}),u(a,"return",{value:i(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:S(!0),j(!1),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,b.resource("ai").listLLMServices()];case 2:var o,l;if(e=n.sent(),!t)return[2];return m((Array.isArray(l=null==e||null==(o=e.data)?void 0:o.data)?l:[]).filter(function(e){return!!e.name}).map(function(e){return{label:e.title||e.name,value:e.name}})),[3,5];case 3:if(r=n.sent(),!t)return[2];return console.error("Failed to load LLM services:",r),m([]),j(!0),[3,5];case 4:return t&&S(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){f(l,n,o,a,u,"next",e)}function u(e){f(l,n,o,a,u,"throw",e)}a(void 0)})})(),function(){t=!1}},[b]);var A=(0,u.useCallback)(function(e){y.setValue(e);var t=y.query(".model").take();(0,n.isField)(t)&&t.setValue(void 0)},[y]);return i().createElement(a.Select,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),r=r={options:v,loading:g,status:O?"error":void 0,value:y.value,onChange:A,notFoundContent:O?s("Failed to load the list"):void 0,allowClear:!0,showSearch:!0,optionFilterProp:"label"},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t,r,n,o,l,a){try{var u=e[l](a),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,o)}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(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.")}()}var m=(0,o.observer)(function(e){var t,r,n,s=c(),f=(0,l.useApp)().apiClient,p=(0,o.useField)(),b=(0,o.useForm)(),y=v((0,u.useState)([]),2),m=y[0],h=y[1],g=v((0,u.useState)(!1),2),S=g[0],w=g[1],O=v((0,u.useState)(!1),2),j=O[0],A=O[1],P="string"==typeof(null==(n=b.values)?void 0:n.llmService)?b.values.llmService:void 0;(0,u.useEffect)(function(){var e,t=!0;if(!P){h([]),A(!1);return}return(e=function(){var e,r;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:i(0)}),u(a,"throw",{value:i(1)}),u(a,"return",{value:i(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:w(!0),A(!1),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,f.resource("ai").listModels({llmService:P})];case 2:var o,l;if(e=n.sent(),!t)return[2];return h((Array.isArray(l=null==e||null==(o=e.data)?void 0:o.data)?l:[]).map(function(e){return e.id||e.name}).filter(function(e){return!!e}).map(function(e){return{label:e,value:e}})),[3,5];case 3:if(r=n.sent(),!t)return[2];return console.error("Failed to load models:",r),h([]),A(!0),[3,5];case 4:return t&&w(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){d(l,n,o,a,u,"next",e)}function u(e){d(l,n,o,a,u,"throw",e)}a(void 0)})})(),function(){t=!1}},[f,P]);var C=(0,u.useCallback)(function(e){p.setValue(e)},[p]);return i().createElement(a.Select,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),r=r={options:m,loading:S,status:j?"error":void 0,value:p.value,onChange:C,disabled:!P,notFoundContent:j?s("Failed to load the list"):void 0,allowClear:!0,showSearch:!0,optionFilterProp:"label"},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))}),h=r(342),g="aiVisualizationBuildSettings",S=function(e){var t,r=e.value,n=e.onChange,o=e.disabled,l=c(),s=(0,h.useCompile)(),f=(0,h.useDataSourceManager)(),p=(0,h.useACLRoleContext)().parseAction,b=null==r?void 0:r.dataSource,y=null!=(t=null==r?void 0:r.collections)?t:[],d=(0,u.useMemo)(function(){var e;return(null!=(e=null==f?void 0:f.getDataSources())?e:[]).map(function(e){return{label:s(e.displayName)||e.key,value:e.key}})},[f,s]),v=(0,u.useCallback)(function(e){return!!p("".concat(e,":list"))},[p]),m=(0,u.useMemo)(function(){if(!b)return[];var e,t,r=null==f?void 0:f.getDataSource(b);return(null!=(e=null==r||null==(t=r.collectionManager)?void 0:t.getCollections())?e:[]).filter(function(e){return v(e.name)}).map(function(e){return{label:s(e.title)||e.name,value:e.name}})},[f,b,s,v]),g=(0,u.useCallback)(function(e){null==n||n({dataSource:e,collections:[]})},[n]),S=(0,u.useCallback)(function(e){var t=e.slice(0,50);null==n||n({dataSource:b,collections:t})},[n,b]),w=y.length>=50;return i().createElement(a.Space,{direction:"vertical",style:{width:"100%"},size:"small"},i().createElement(a.Select,{"aria-label":l("Data source"),placeholder:l("Data source"),style:{width:"100%"},options:d,value:null!=b?b:d.length?void 0:h.DEFAULT_DATA_SOURCE_KEY,onChange:g,disabled:o,showSearch:!0,optionFilterProp:"label"}),i().createElement(a.Select,{"aria-label":l("Collections"),placeholder:l("Collections"),style:{width:"100%"},mode:"multiple",options:m,value:y,onChange:S,disabled:o||!b,showSearch:!0,optionFilterProp:"label"}),w?i().createElement(a.Typography.Text,{type:"warning"},l("You can select at most {{max}} collections",{max:50})):null)};function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function O(e,t,r,n,o,l,a){try{var u=e[l](a),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,o)}function j(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){O(l,n,o,a,u,"next",e)}function u(e){O(l,n,o,a,u,"throw",e)}a(void 0)})}}function A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return w(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return w(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 P(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function C(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:i(0)}),u(a,"throw",{value:i(1)}),u(a,"return",{value:i(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function k(e,t){if(e&&(void 0===e?"undefined":P(e))==="object"){var r=e[t];return"string"==typeof r&&r.trim()?r.trim():void 0}}var E=function(){var e=(0,l.useApp)().apiClient,t=a.App.useApp().message,r=c(),s=(0,u.useMemo)(function(){return(0,n.createForm)()},[]),f=A((0,u.useState)({collections:[]}),2),p=f[0],y=f[1],d=A((0,u.useState)(!0),2),v=d[0],h=d[1],w=A((0,u.useState)(!0),2),O=w[0],E=w[1],F=A((0,u.useState)(!1),2),I=F[0],D=F[1],M=A((0,u.useState)(!1),2),x=M[0],L=M[1];(0,u.useEffect)(function(){var t=!0;return j(function(){var r,n,o,l,a,u;return C(this,function(i){switch(i.label){case 0:E(!0),L(!1),i.label=1;case 1:return i.trys.push([1,3,4,5]),[4,e.resource(g).publicGet()];case 2:var c,f;if(l=i.sent(),!t)return[2];return y({dataSource:null!=(r=(a={defaultDataSource:"string"==typeof(f=(c=null==(o=l.data)?void 0:o.data)&&(void 0===c?"undefined":P(c))==="object"?c:{}).defaultDataSource?f.defaultDataSource:void 0,defaultCollections:Array.isArray(f.defaultCollections)?f.defaultCollections.filter(function(e){return"string"==typeof e}):[],defaultLLMService:"string"==typeof f.defaultLLMService?f.defaultLLMService:void 0,defaultModel:"string"==typeof f.defaultModel?f.defaultModel:void 0,enableAITool:!1!==f.enableAITool}).defaultDataSource)?r:void 0,collections:null!=(n=a.defaultCollections)?n:[]}),s.setValues({llmService:a.defaultLLMService,model:a.defaultModel}),h(!1!==a.enableAITool),[3,5];case 3:if(u=i.sent(),!t)return[2];return console.error("[plugin-build-visualization-block] Failed to load settings:",u),L(!0),[3,5];case 4:return t&&E(!1),[7];case 5:return[2]}})})(),function(){t=!1}},[e,s]);var T=(0,u.useCallback)(function(){return j(function(){var n;return C(this,function(o){switch(o.label){case 0:D(!0),o.label=1;case 1:return o.trys.push([1,,3,4]),[4,e.resource(g).update({filterByTk:1,values:{defaultDataSource:p.dataSource,defaultCollections:null!=(n=p.collections)?n:[],defaultLLMService:k(s.values,"llmService"),defaultModel:k(s.values,"model"),enableAITool:v}})];case 2:return o.sent(),t.success(r("Saved successfully")),[3,4];case 3:return D(!1),[7];case 4:return[2]}})})()},[e,p,v,s,t,r]);return i().createElement(a.Card,{loading:O},i().createElement(a.Space,{direction:"vertical",size:"middle",style:{width:"100%",maxWidth:720}},x?i().createElement(a.Alert,{type:"error",showIcon:!0,message:r("Failed to load the list")}):null,i().createElement(a.Form,{layout:"vertical"},i().createElement(a.Form.Item,{label:r("Default collections")},i().createElement(S,{value:p,onChange:y})),i().createElement(o.FormProvider,{form:s},i().createElement(a.Form.Item,{label:r("Default AI service")},i().createElement(o.Field,{name:"llmService",component:[b,{style:{width:"100%"}}]})),i().createElement(a.Form.Item,{label:r("Default model")},i().createElement(o.Field,{name:"model",component:[m,{style:{width:"100%"}}]}))),i().createElement(a.Form.Item,{label:r("Enable AI tool")},i().createElement(a.Switch,{checked:v,onChange:h})),i().createElement(a.Button,{type:"primary",loading:I,onClick:T},r("Save")))))}}}]);
@@ -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("@nocobase/client-v2"),require("@formily/core"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react")):"function"==typeof define&&define.amd?define("plugin-build-visualization-block/client-v2",["@nocobase/client-v2","@formily/core","react","antd","@nocobase/client","@formily/react"],t):"object"==typeof exports?exports["plugin-build-visualization-block/client-v2"]=t(require("@nocobase/client-v2"),require("@formily/core"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react")):e["plugin-build-visualization-block/client-v2"]=t(e["@nocobase/client-v2"],e["@formily/core"],e.react,e.antd,e["@nocobase/client"],e["@formily/react"])}(self,function(e,t,n,r,o,i){return function(){"use strict";var u,c,a,l={452:function(e){e.exports=t},230:function(e){e.exports=i},342:function(e){e.exports=o},485:function(t){t.exports=e},59:function(e){e.exports=r},155:function(e){e.exports=n}},f={};function p(e){var t=f[e];if(void 0!==t)return t.exports;var n=f[e]={exports:{}};return l[e](n,n.exports,p),n.exports}p.m=l,p.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(t,{a:t}),t},p.d=function(e,t){for(var n in t)p.o(t,n)&&!p.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},p.f={},p.e=function(e){return Promise.all(Object.keys(p.f).reduce(function(t,n){return p.f[n](e,t),t},[]))},p.u=function(e){return""+e+".25692e474e296143.js"},p.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),p.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s={},p.l=function(e,t,n,r){if(s[e])return void s[e].push(t);if(void 0!==n)for(var o,i,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var a=u[c];if(a.getAttribute("src")==e||a.getAttribute("data-rspack")=="plugin-build-visualization-block/client-v2:"+n){o=a;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,p.nc&&o.setAttribute("nonce",p.nc),o.setAttribute("data-rspack","plugin-build-visualization-block/client-v2:"+n),o.src=e),s[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(f);var r=s[e];if(delete s[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},p.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.g.importScripts&&(b=p.g.location+"");var s,b,d=p.g.document;if(!b&&d&&(d.currentScript&&"SCRIPT"===d.currentScript.tagName.toUpperCase()&&(b=d.currentScript.src),!b)){var v=d.getElementsByTagName("script");if(v.length)for(var y=v.length-1;y>-1&&(!b||!/^http(s?):/.test(b));)b=v[y--].src}if(!b)throw Error("Automatic publicPath is not supported in this browser");p.p=b.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),u={889:0},p.f.j=function(e,t){var n=p.o(u,e)?u[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var o=p.p+p.u(e),i=Error();p.l(o,function(t){if(p.o(u,e)&&(0!==(n=u[e])&&(u[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},c=function(e,t){var n,r,o=t[0],i=t[1],c=t[2],a=0;if(o.some(function(e){return 0!==u[e]})){for(n in i)p.o(i,n)&&(p.m[n]=i[n]);c&&c(p)}for(e&&e(t);a<o.length;a++)r=o[a],p.o(u,r)&&u[r]&&u[r][0](),u[r]=0},(a=self.webpackChunkplugin_build_visualization_block_client_v2=self.webpackChunkplugin_build_visualization_block_client_v2||[]).forEach(c.bind(null,0)),a.push=c.bind(null,a.push.bind(a));var h={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/plugin-build-visualization-block/dist/client-v2/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",u=i.indexOf(o);e=u>=0?i.slice(0,u+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/plugin-build-visualization-block/dist/client-v2/"}p.p=e}(),!function(){p.r(h),p.d(h,{default:function(){return c}});var e=p(485);function t(e,t,n,r,o,i,u){try{var c=e[i](u),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function n(e,t,r){return(n=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&o(i,n.prototype),i}).apply(null,arguments)}p(155);function r(e){return(r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function i(e){var t="function"==typeof Map?new Map:void 0;return(i=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,i)}function i(){return n(e,arguments,r(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),o(i,e)})(e)}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(u=function(){return!!e})()}var c=function(e){var n;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function i(){var e,t;if(!(this instanceof i))throw TypeError("Cannot call a class as a function");return e=i,t=arguments,e=r(e),function(e,t){var n;if(t&&("object"==((n=t)&&"u">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,u()?Reflect.construct(e,t||[],r(this).constructor):e.apply(this,t))}return i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&o(i,e),n=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:a(0)}),c(u,"throw",{value:a(1)}),c(u,"return",{value:a(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function a(c){return function(a){var l=[c,a];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(i=0)),i;)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 i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}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}}}}(this,function(e){return this.pluginSettingsManager.addMenuItem({key:"plugin-build-visualization-block",title:this.t("Build Visualization Block"),icon:"DashboardOutlined",aclSnippet:"pm.plugin-build-visualization-block.settings"}),this.pluginSettingsManager.addPageTabItem({menuKey:"plugin-build-visualization-block",key:"index",title:this.t("Build Visualization Block"),componentLoader:function(){return p.e("812").then(p.bind(p,535)).then(function(e){return{default:e.SettingsPage}})}}),[2]})},function(){var n=this,r=arguments;return new Promise(function(o,i){var u=e.apply(n,r);function c(e){t(u,o,i,c,a,"next",e)}function a(e){t(u,o,i,c,a,"throw",e)}c(void 0)})}).call(this)}}],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)}}(i.prototype,n),i}(i(e.Plugin))}(),h}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client-v2"),require("@formily/core"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react")):"function"==typeof define&&define.amd?define("plugin-build-visualization-block/client-v2",["@nocobase/client-v2","@formily/core","react","antd","@nocobase/client","@formily/react"],t):"object"==typeof exports?exports["plugin-build-visualization-block/client-v2"]=t(require("@nocobase/client-v2"),require("@formily/core"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react")):e["plugin-build-visualization-block/client-v2"]=t(e["@nocobase/client-v2"],e["@formily/core"],e.react,e.antd,e["@nocobase/client"],e["@formily/react"])}(self,function(e,t,n,r,o,i){return function(){"use strict";var u,c,a,l={452:function(e){e.exports=t},230:function(e){e.exports=i},342:function(e){e.exports=o},485:function(t){t.exports=e},59:function(e){e.exports=r},155:function(e){e.exports=n}},f={};function p(e){var t=f[e];if(void 0!==t)return t.exports;var n=f[e]={exports:{}};return l[e](n,n.exports,p),n.exports}p.m=l,p.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(t,{a:t}),t},p.d=function(e,t){for(var n in t)p.o(t,n)&&!p.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},p.f={},p.e=function(e){return Promise.all(Object.keys(p.f).reduce(function(t,n){return p.f[n](e,t),t},[]))},p.u=function(e){return""+e+".6b4f5e757b898c82.js"},p.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),p.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s={},p.l=function(e,t,n,r){if(s[e])return void s[e].push(t);if(void 0!==n)for(var o,i,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var a=u[c];if(a.getAttribute("src")==e||a.getAttribute("data-rspack")=="plugin-build-visualization-block/client-v2:"+n){o=a;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,p.nc&&o.setAttribute("nonce",p.nc),o.setAttribute("data-rspack","plugin-build-visualization-block/client-v2:"+n),o.src=e),s[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(f);var r=s[e];if(delete s[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},p.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.g.importScripts&&(b=p.g.location+"");var s,b,d=p.g.document;if(!b&&d&&(d.currentScript&&"SCRIPT"===d.currentScript.tagName.toUpperCase()&&(b=d.currentScript.src),!b)){var v=d.getElementsByTagName("script");if(v.length)for(var y=v.length-1;y>-1&&(!b||!/^http(s?):/.test(b));)b=v[y--].src}if(!b)throw Error("Automatic publicPath is not supported in this browser");p.p=b.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),u={889:0},p.f.j=function(e,t){var n=p.o(u,e)?u[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var o=p.p+p.u(e),i=Error();p.l(o,function(t){if(p.o(u,e)&&(0!==(n=u[e])&&(u[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},c=function(e,t){var n,r,o=t[0],i=t[1],c=t[2],a=0;if(o.some(function(e){return 0!==u[e]})){for(n in i)p.o(i,n)&&(p.m[n]=i[n]);c&&c(p)}for(e&&e(t);a<o.length;a++)r=o[a],p.o(u,r)&&u[r]&&u[r][0](),u[r]=0},(a=self.webpackChunkplugin_build_visualization_block_client_v2=self.webpackChunkplugin_build_visualization_block_client_v2||[]).forEach(c.bind(null,0)),a.push=c.bind(null,a.push.bind(a));var h={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/plugin-build-visualization-block/dist/client-v2/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",u=i.indexOf(o);e=u>=0?i.slice(0,u+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/plugin-build-visualization-block/dist/client-v2/"}p.p=e}(),!function(){p.r(h),p.d(h,{default:function(){return c}});var e=p(485);function t(e,t,n,r,o,i,u){try{var c=e[i](u),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function n(e,t,r){return(n=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&o(i,n.prototype),i}).apply(null,arguments)}p(155);function r(e){return(r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function i(e){var t="function"==typeof Map?new Map:void 0;return(i=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,i)}function i(){return n(e,arguments,r(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),o(i,e)})(e)}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(u=function(){return!!e})()}var c=function(e){var n;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function i(){var e,t;if(!(this instanceof i))throw TypeError("Cannot call a class as a function");return e=i,t=arguments,e=r(e),function(e,t){var n;if(t&&("object"==((n=t)&&"u">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,u()?Reflect.construct(e,t||[],r(this).constructor):e.apply(this,t))}return i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&o(i,e),n=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:a(0)}),c(u,"throw",{value:a(1)}),c(u,"return",{value:a(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function a(c){return function(a){var l=[c,a];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(i=0)),i;)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 i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}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}}}}(this,function(e){return this.pluginSettingsManager.addMenuItem({key:"plugin-build-visualization-block",title:this.t("Build Visualization Block"),icon:"DashboardOutlined",aclSnippet:"pm.plugin-build-visualization-block.settings"}),this.pluginSettingsManager.addPageTabItem({menuKey:"plugin-build-visualization-block",key:"index",title:this.t("Build Visualization Block"),componentLoader:function(){return p.e("812").then(p.bind(p,535)).then(function(e){return{default:e.SettingsPage}})}}),[2]})},function(){var n=this,r=arguments;return new Promise(function(o,i){var u=e.apply(n,r);function c(e){t(u,o,i,c,a,"next",e)}function a(e){t(u,o,i,c,a,"throw",e)}c(void 0)})}).call(this)}}],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)}}(i.prototype,n),i}(i(e.Plugin))}(),h}()});
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "description": "Generate a NocoBase chart, table or form block from a natural-language requirement and selected collections using AI.",
7
7
  "description.zh-CN": "使用 AI 根据自然语言需求和所选数据表生成 NocoBase 图表、表格或表单区块。",
8
8
  "description.vi-VN": "Sử dụng AI để tạo khối biểu đồ, bảng hoặc biểu mẫu NocoBase từ yêu cầu bằng ngôn ngữ tự nhiên và các bộ sưu tập đã chọn.",
9
- "version": "0.1.1",
9
+ "version": "0.1.3",
10
10
  "license": "Apache-2.0",
11
11
  "main": "dist/server/index.js",
12
12
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  import { createForm } from '@formily/core';
2
2
  import { Field, FormProvider } from '@formily/react';
3
- import { useAPIClient } from '@nocobase/client';
3
+ import { useApp } from '@nocobase/client-v2';
4
4
  import { Alert, App, Button, Card, Form, Space, Switch } from 'antd';
5
5
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
6
6
 
@@ -38,7 +38,7 @@ function readStringValue(values: unknown, key: string): string | undefined {
38
38
  }
39
39
 
40
40
  export const SettingsPage: React.FC = () => {
41
- const api = useAPIClient();
41
+ const api = useApp().apiClient;
42
42
  const { message } = App.useApp();
43
43
  const t = useT();
44
44
  const form = useMemo(() => createForm(), []);
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useEffect, useState } from 'react';
2
- import { useAPIClient } from '@nocobase/client';
2
+ import { useApp } from '@nocobase/client-v2';
3
3
  import { Select, SelectProps } from 'antd';
4
4
  import { useField } from '@formily/react';
5
5
  import { Field, isField } from '@formily/core';
@@ -43,7 +43,7 @@ export type LLMServiceSelectProps = Omit<SelectProps<string>, 'options' | 'loadi
43
43
  */
44
44
  export const LLMServiceSelect = (props: LLMServiceSelectProps) => {
45
45
  const t = useT();
46
- const api = useAPIClient();
46
+ const api = useApp().apiClient;
47
47
  const field = useField<Field>();
48
48
  const [options, setOptions] = useState<SelectOption[]>([]);
49
49
  const [loading, setLoading] = useState(false);
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useEffect, useState } from 'react';
2
- import { useAPIClient } from '@nocobase/client';
2
+ import { useApp } from '@nocobase/client-v2';
3
3
  import { Select, SelectProps } from 'antd';
4
4
  import { useField, useForm, observer } from '@formily/react';
5
5
  import { Field } from '@formily/core';
@@ -38,7 +38,7 @@ export type ModelSelectProps = Omit<SelectProps<string>, 'options' | 'loading' |
38
38
  */
39
39
  export const ModelSelect = observer((props: ModelSelectProps) => {
40
40
  const t = useT();
41
- const api = useAPIClient();
41
+ const api = useApp().apiClient;
42
42
  const field = useField<Field>();
43
43
  const form = useForm();
44
44
  const [options, setOptions] = useState<SelectOption[]>([]);
@@ -1,4 +1,4 @@
1
- import { useApp } from '@nocobase/client';
1
+ import { useApp } from '@nocobase/client-v2';
2
2
  import { useCallback } from 'react';
3
3
  import { name } from '../locale/namespace';
4
4
 
@@ -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.webpackChunkplugin_build_visualization_block_client_v2=self.webpackChunkplugin_build_visualization_block_client_v2||[]).push([["812"],{535:function(e,t,r){r.d(t,{SettingsPage:function(){return k}});var n=r(452),o=r(230),l=r(342),a=r(59),u=r(155),i=r.n(u);function c(){var e=(0,l.useApp)();return(0,u.useCallback)(function(t,r){return e.i18n.t(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ns:["plugin-build-visualization-block","client"]},r))},[e.i18n])}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t,r,n,o,l,a){try{var u=e[l](a),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,o)}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))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.")}()}var b=function(e){var t,r,s=c(),b=(0,l.useAPIClient)(),y=(0,o.useField)(),d=p((0,u.useState)([]),2),v=d[0],m=d[1],h=p((0,u.useState)(!1),2),g=h[0],S=h[1],w=p((0,u.useState)(!1),2),O=w[0],j=w[1];(0,u.useEffect)(function(){var e,t=!0;return(e=function(){var e,r;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:i(0)}),u(a,"throw",{value:i(1)}),u(a,"return",{value:i(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:S(!0),j(!1),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,b.resource("ai").listLLMServices()];case 2:var o,l;if(e=n.sent(),!t)return[2];return m((Array.isArray(l=null==e||null==(o=e.data)?void 0:o.data)?l:[]).filter(function(e){return!!e.name}).map(function(e){return{label:e.title||e.name,value:e.name}})),[3,5];case 3:if(r=n.sent(),!t)return[2];return console.error("Failed to load LLM services:",r),m([]),j(!0),[3,5];case 4:return t&&S(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){f(l,n,o,a,u,"next",e)}function u(e){f(l,n,o,a,u,"throw",e)}a(void 0)})})(),function(){t=!1}},[b]);var P=(0,u.useCallback)(function(e){y.setValue(e);var t=y.query(".model").take();(0,n.isField)(t)&&t.setValue(void 0)},[y]);return i().createElement(a.Select,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),r=r={options:v,loading:g,status:O?"error":void 0,value:y.value,onChange:P,notFoundContent:O?s("Failed to load the list"):void 0,allowClear:!0,showSearch:!0,optionFilterProp:"label"},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t,r,n,o,l,a){try{var u=e[l](a),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,o)}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(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.")}()}var m=(0,o.observer)(function(e){var t,r,n,s=c(),f=(0,l.useAPIClient)(),p=(0,o.useField)(),b=(0,o.useForm)(),y=v((0,u.useState)([]),2),m=y[0],h=y[1],g=v((0,u.useState)(!1),2),S=g[0],w=g[1],O=v((0,u.useState)(!1),2),j=O[0],P=O[1],A="string"==typeof(null==(n=b.values)?void 0:n.llmService)?b.values.llmService:void 0;(0,u.useEffect)(function(){var e,t=!0;if(!A){h([]),P(!1);return}return(e=function(){var e,r;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:i(0)}),u(a,"throw",{value:i(1)}),u(a,"return",{value:i(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:w(!0),P(!1),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,f.resource("ai").listModels({llmService:A})];case 2:var o,l;if(e=n.sent(),!t)return[2];return h((Array.isArray(l=null==e||null==(o=e.data)?void 0:o.data)?l:[]).map(function(e){return e.id||e.name}).filter(function(e){return!!e}).map(function(e){return{label:e,value:e}})),[3,5];case 3:if(r=n.sent(),!t)return[2];return console.error("Failed to load models:",r),h([]),P(!0),[3,5];case 4:return t&&w(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){d(l,n,o,a,u,"next",e)}function u(e){d(l,n,o,a,u,"throw",e)}a(void 0)})})(),function(){t=!1}},[f,A]);var C=(0,u.useCallback)(function(e){p.setValue(e)},[p]);return i().createElement(a.Select,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),r=r={options:m,loading:S,status:j?"error":void 0,value:p.value,onChange:C,disabled:!A,notFoundContent:j?s("Failed to load the list"):void 0,allowClear:!0,showSearch:!0,optionFilterProp:"label"},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))}),h="aiVisualizationBuildSettings",g=function(e){var t,r=e.value,n=e.onChange,o=e.disabled,s=c(),f=(0,l.useCompile)(),p=(0,l.useDataSourceManager)(),b=(0,l.useACLRoleContext)().parseAction,y=null==r?void 0:r.dataSource,d=null!=(t=null==r?void 0:r.collections)?t:[],v=(0,u.useMemo)(function(){var e;return(null!=(e=null==p?void 0:p.getDataSources())?e:[]).map(function(e){return{label:f(e.displayName)||e.key,value:e.key}})},[p,f]),m=(0,u.useCallback)(function(e){return!!b("".concat(e,":list"))},[b]),h=(0,u.useMemo)(function(){if(!y)return[];var e,t,r=null==p?void 0:p.getDataSource(y);return(null!=(e=null==r||null==(t=r.collectionManager)?void 0:t.getCollections())?e:[]).filter(function(e){return m(e.name)}).map(function(e){return{label:f(e.title)||e.name,value:e.name}})},[p,y,f,m]),g=(0,u.useCallback)(function(e){null==n||n({dataSource:e,collections:[]})},[n]),S=(0,u.useCallback)(function(e){var t=e.slice(0,50);null==n||n({dataSource:y,collections:t})},[n,y]),w=d.length>=50;return i().createElement(a.Space,{direction:"vertical",style:{width:"100%"},size:"small"},i().createElement(a.Select,{"aria-label":s("Data source"),placeholder:s("Data source"),style:{width:"100%"},options:v,value:null!=y?y:v.length?void 0:l.DEFAULT_DATA_SOURCE_KEY,onChange:g,disabled:o,showSearch:!0,optionFilterProp:"label"}),i().createElement(a.Select,{"aria-label":s("Collections"),placeholder:s("Collections"),style:{width:"100%"},mode:"multiple",options:h,value:d,onChange:S,disabled:o||!y,showSearch:!0,optionFilterProp:"label"}),w?i().createElement(a.Typography.Text,{type:"warning"},s("You can select at most {{max}} collections",{max:50})):null)};function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function w(e,t,r,n,o,l,a){try{var u=e[l](a),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,o)}function O(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){w(l,n,o,a,u,"next",e)}function u(e){w(l,n,o,a,u,"throw",e)}a(void 0)})}}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return S(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))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 P(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function A(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:i(0)}),u(a,"throw",{value:i(1)}),u(a,"return",{value:i(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function C(e,t){if(e&&(void 0===e?"undefined":P(e))==="object"){var r=e[t];return"string"==typeof r&&r.trim()?r.trim():void 0}}var k=function(){var e=(0,l.useAPIClient)(),t=a.App.useApp().message,r=c(),s=(0,u.useMemo)(function(){return(0,n.createForm)()},[]),f=j((0,u.useState)({collections:[]}),2),p=f[0],y=f[1],d=j((0,u.useState)(!0),2),v=d[0],S=d[1],w=j((0,u.useState)(!0),2),k=w[0],E=w[1],I=j((0,u.useState)(!1),2),F=I[0],D=I[1],M=j((0,u.useState)(!1),2),x=M[0],L=M[1];(0,u.useEffect)(function(){var t=!0;return O(function(){var r,n,o,l,a,u;return A(this,function(i){switch(i.label){case 0:E(!0),L(!1),i.label=1;case 1:return i.trys.push([1,3,4,5]),[4,e.resource(h).publicGet()];case 2:var c,f;if(l=i.sent(),!t)return[2];return y({dataSource:null!=(r=(a={defaultDataSource:"string"==typeof(f=(c=null==(o=l.data)?void 0:o.data)&&(void 0===c?"undefined":P(c))==="object"?c:{}).defaultDataSource?f.defaultDataSource:void 0,defaultCollections:Array.isArray(f.defaultCollections)?f.defaultCollections.filter(function(e){return"string"==typeof e}):[],defaultLLMService:"string"==typeof f.defaultLLMService?f.defaultLLMService:void 0,defaultModel:"string"==typeof f.defaultModel?f.defaultModel:void 0,enableAITool:!1!==f.enableAITool}).defaultDataSource)?r:void 0,collections:null!=(n=a.defaultCollections)?n:[]}),s.setValues({llmService:a.defaultLLMService,model:a.defaultModel}),S(!1!==a.enableAITool),[3,5];case 3:if(u=i.sent(),!t)return[2];return console.error("[plugin-build-visualization-block] Failed to load settings:",u),L(!0),[3,5];case 4:return t&&E(!1),[7];case 5:return[2]}})})(),function(){t=!1}},[e,s]);var T=(0,u.useCallback)(function(){return O(function(){var n;return A(this,function(o){switch(o.label){case 0:D(!0),o.label=1;case 1:return o.trys.push([1,,3,4]),[4,e.resource(h).update({filterByTk:1,values:{defaultDataSource:p.dataSource,defaultCollections:null!=(n=p.collections)?n:[],defaultLLMService:C(s.values,"llmService"),defaultModel:C(s.values,"model"),enableAITool:v}})];case 2:return o.sent(),t.success(r("Saved successfully")),[3,4];case 3:return D(!1),[7];case 4:return[2]}})})()},[e,p,v,s,t,r]);return i().createElement(a.Card,{loading:k},i().createElement(a.Space,{direction:"vertical",size:"middle",style:{width:"100%",maxWidth:720}},x?i().createElement(a.Alert,{type:"error",showIcon:!0,message:r("Failed to load the list")}):null,i().createElement(a.Form,{layout:"vertical"},i().createElement(a.Form.Item,{label:r("Default collections")},i().createElement(g,{value:p,onChange:y})),i().createElement(o.FormProvider,{form:s},i().createElement(a.Form.Item,{label:r("Default AI service")},i().createElement(o.Field,{name:"llmService",component:[b,{style:{width:"100%"}}]})),i().createElement(a.Form.Item,{label:r("Default model")},i().createElement(o.Field,{name:"model",component:[m,{style:{width:"100%"}}]}))),i().createElement(a.Form.Item,{label:r("Enable AI tool")},i().createElement(a.Switch,{checked:v,onChange:S})),i().createElement(a.Button,{type:"primary",loading:F,onClick:T},r("Save")))))}}}]);