plugin-build-visualization-block 0.1.4 → 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.
- package/dist/client/index.js +1 -1
- package/dist/client-v2/index.js +1 -1
- package/dist/externalVersion.js +6 -6
- package/dist/server/actions/build.js +22 -37
- package/package.json +1 -1
- package/src/server/actions/build.ts +1278 -1312
package/dist/client/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@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}()});
|
package/dist/client-v2/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@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
|
|
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}()});
|
package/dist/externalVersion.js
CHANGED
|
@@ -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.
|
|
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.
|
|
18
|
-
"@nocobase/server": "2.1.
|
|
19
|
-
"@nocobase/actions": "2.1.
|
|
20
|
-
"@nocobase/database": "2.1.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
9
|
+
"version": "0.1.5",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"main": "dist/server/index.js",
|
|
12
12
|
"keywords": [
|