plugin-build-visualization-block 0.1.3 → 0.1.5

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("@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}()});
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){var r=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");r.indexOf("/static/plugins/plugin-build-visualization-block/dist/client/")>=0&&(e=r.replace(/\/[^\/]+$/,"/"))}if(!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/plugin-build-visualization-block/dist/client/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",a="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var l=window.location.pathname||"/",i=l.indexOf(a);e=i>=0?l.slice(0,i+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),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}()});
@@ -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+".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}()});
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){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/plugin-build-visualization-block/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/plugin-build-visualization-block/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",i="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var u=window.location.pathname||"/",c=u.indexOf(i);e=c>=0?u.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),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,15 +10,15 @@
10
10
  module.exports = {
11
11
  "react": "18.2.0",
12
12
  "antd": "5.24.2",
13
- "@nocobase/client": "2.1.6",
13
+ "@nocobase/client": "2.1.9",
14
14
  "@formily/core": "2.3.7",
15
15
  "@formily/react": "2.3.7",
16
16
  "@ant-design/icons": "5.6.1",
17
- "@nocobase/client-v2": "2.1.6",
18
- "@nocobase/server": "2.1.6",
19
- "@nocobase/actions": "2.1.6",
20
- "@nocobase/database": "2.1.6",
17
+ "@nocobase/client-v2": "2.1.9",
18
+ "@nocobase/server": "2.1.9",
19
+ "@nocobase/actions": "2.1.9",
20
+ "@nocobase/database": "2.1.9",
21
21
  "@langchain/core": "1.1.48",
22
22
  "@formily/shared": "2.3.7",
23
- "@nocobase/resourcer": "2.1.6"
23
+ "@nocobase/resourcer": "2.1.9"
24
24
  };
@@ -58,6 +58,10 @@ var import_generator = require("../pipeline/generator");
58
58
  var import_fallback = require("../pipeline/fallback");
59
59
  const WORKER_JOB_BUILD_VISUALIZATION_PROCESS = "build-visualization:process";
60
60
  const BUILD_VISUALIZATION_QUEUE_CHANNEL = "plugin-build-visualization-block.build";
61
+ const BUILD_VISUALIZATION_WORKER_ALIASES = [
62
+ BUILD_VISUALIZATION_QUEUE_CHANNEL,
63
+ "plugin-build-visualization-block:build:queue"
64
+ ];
61
65
  const BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL = "plugin-build-visualization-block.build.wake";
62
66
  const BUILD_VISUALIZATION_QUEUE_REDIS_CONNECTION = "plugin-build-visualization-block.build.queue";
63
67
  const BUILD_VISUALIZATION_QUEUE_CONCURRENCY = Math.max(
@@ -118,8 +122,17 @@ class StaleBuildRunError extends Error {
118
122
  }
119
123
  }
120
124
  function isBuildVisualizationWorker(app) {
125
+ return app.serving(WORKER_JOB_BUILD_VISUALIZATION_PROCESS) || workerModeServesBuildVisualization();
126
+ }
127
+ function workerModeServesBuildVisualization() {
121
128
  const workerMode = process.env.WORKER_MODE || "";
122
- return app.serving(WORKER_JOB_BUILD_VISUALIZATION_PROCESS) || workerMode === "worker" || workerMode === "task" || process.env.APP_ROLE === "worker";
129
+ const workerModes = workerMode.split(",").map((mode) => mode.trim()).filter(Boolean);
130
+ return workerModes.some((mode) => {
131
+ if (mode === "*" || mode === "worker" || mode === "task" || mode === WORKER_JOB_BUILD_VISUALIZATION_PROCESS) {
132
+ return true;
133
+ }
134
+ return BUILD_VISUALIZATION_WORKER_ALIASES.some((alias) => mode === alias || mode.endsWith(`:${alias}`));
135
+ });
123
136
  }
124
137
  function getBuildWorkerId(app) {
125
138
  const identity = getAppIdentity(app);
@@ -168,11 +181,7 @@ function startBuildHeartbeat(app, run) {
168
181
  const timer = setInterval(() => {
169
182
  updateRecordForRun(app, run, { buildHeartbeatAt: /* @__PURE__ */ new Date() }, true).catch((error) => {
170
183
  var _a, _b;
171
- (_b = (_a = app.log) == null ? void 0 : _a.warn) == null ? void 0 : _b.call(
172
- _a,
173
- `[plugin-build-visualization-block] Failed to update heartbeat for build ${run.runId}`,
174
- error
175
- );
184
+ (_b = (_a = app.log) == null ? void 0 : _a.warn) == null ? void 0 : _b.call(_a, `[plugin-build-visualization-block] Failed to update heartbeat for build ${run.runId}`, error);
176
185
  });
177
186
  }, BUILD_HEARTBEAT_INTERVAL_MS);
178
187
  return () => clearInterval(timer);
@@ -274,21 +283,14 @@ function startBuildQueueProcessor(app) {
274
283
  var _a, _b, _c, _d, _e, _f, _g, _h;
275
284
  const state = getBuildQueueState(app);
276
285
  if (!isBuildVisualizationWorker(app)) {
277
- (_b = (_a = app.log) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(
278
- _a,
279
- "[plugin-build-visualization-block] Build queue processor disabled on non-worker node"
280
- );
286
+ (_b = (_a = app.log) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(_a, "[plugin-build-visualization-block] Build queue processor disabled on non-worker node");
281
287
  return;
282
288
  }
283
289
  if (state.timer) return;
284
290
  state.wakeHandler = async () => {
285
291
  scheduleBuildQueueTick(app, 0);
286
292
  };
287
- const subscribe = (_d = (_c = getPubSubManager(app)) == null ? void 0 : _c.subscribe) == null ? void 0 : _d.call(
288
- _c,
289
- BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL,
290
- state.wakeHandler
291
- );
293
+ const subscribe = (_d = (_c = getPubSubManager(app)) == null ? void 0 : _c.subscribe) == null ? void 0 : _d.call(_c, BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL, state.wakeHandler);
292
294
  if (subscribe instanceof Promise) {
293
295
  subscribe.catch((error) => {
294
296
  var _a2, _b2;
@@ -298,10 +300,7 @@ function startBuildQueueProcessor(app) {
298
300
  );
299
301
  });
300
302
  }
301
- state.timer = setInterval(
302
- () => scheduleBuildQueueTick(app, 0),
303
- BUILD_VISUALIZATION_QUEUE_POLL_INTERVAL_MS
304
- );
303
+ state.timer = setInterval(() => scheduleBuildQueueTick(app, 0), BUILD_VISUALIZATION_QUEUE_POLL_INTERVAL_MS);
305
304
  (_f = (_e = state.timer).unref) == null ? void 0 : _f.call(_e);
306
305
  scheduleBuildQueueTick(app, 1e3);
307
306
  (_h = (_g = app.log) == null ? void 0 : _g.info) == null ? void 0 : _h.call(
@@ -321,11 +320,7 @@ function stopBuildVisualizationQueueProcessor(app) {
321
320
  state.kickTimer = null;
322
321
  }
323
322
  if (state.wakeHandler) {
324
- const unsubscribe = (_b = (_a = getPubSubManager(app)) == null ? void 0 : _a.unsubscribe) == null ? void 0 : _b.call(
325
- _a,
326
- BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL,
327
- state.wakeHandler
328
- );
323
+ const unsubscribe = (_b = (_a = getPubSubManager(app)) == null ? void 0 : _a.unsubscribe) == null ? void 0 : _b.call(_a, BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL, state.wakeHandler);
329
324
  if (unsubscribe instanceof Promise) {
330
325
  unsubscribe.catch(() => void 0);
331
326
  }
@@ -461,11 +456,7 @@ async function runBuild(app, db, run) {
461
456
  });
462
457
  }
463
458
  async function withBuildRunLock(app, buildId, fn) {
464
- return app.lockManager.runExclusive(
465
- `build-visualization:run:${buildId}`,
466
- fn,
467
- BUILD_RUN_LOCK_TTL_MS
468
- );
459
+ return app.lockManager.runExclusive(`build-visualization:run:${buildId}`, fn, BUILD_RUN_LOCK_TTL_MS);
469
460
  }
470
461
  async function processQueuedBuild(app, message) {
471
462
  var _a, _b;
@@ -490,10 +481,7 @@ async function processQueuedBuild(app, message) {
490
481
  const repository = app.db.getRepository(import_constants.COLLECTION_NAME);
491
482
  const record = await repository.findById(buildId);
492
483
  if (!record) {
493
- (_d = (_c = app.log) == null ? void 0 : _c.warn) == null ? void 0 : _d.call(
494
- _c,
495
- `[plugin-build-visualization-block] Build record "${buildId}" not found; skipping queued build`
496
- );
484
+ (_d = (_c = app.log) == null ? void 0 : _c.warn) == null ? void 0 : _d.call(_c, `[plugin-build-visualization-block] Build record "${buildId}" not found; skipping queued build`);
497
485
  return;
498
486
  }
499
487
  if (record.get("status") !== "building") {
@@ -761,10 +749,7 @@ function validateInput(ctx, values) {
761
749
  ctx.throw(400, t(ctx, "A requirement is required"));
762
750
  }
763
751
  if (requirement.length > import_constants.MAX_REQUIREMENT_CHARS) {
764
- ctx.throw(
765
- 400,
766
- t(ctx, "The requirement must be {{max}} characters or fewer", { max: import_constants.MAX_REQUIREMENT_CHARS })
767
- );
752
+ ctx.throw(400, t(ctx, "The requirement must be {{max}} characters or fewer", { max: import_constants.MAX_REQUIREMENT_CHARS }));
768
753
  }
769
754
  const llmService = asNonEmptyString(values.llmService);
770
755
  const model = asNonEmptyString(values.model);
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.3",
9
+ "version": "0.1.5",
10
10
  "license": "Apache-2.0",
11
11
  "main": "dist/server/index.js",
12
12
  "keywords": [