@nocobase/plugin-ai 2.1.11 → 2.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/ai/docs/nocobase/api/cli/config/delete.md +1 -0
  2. package/dist/ai/docs/nocobase/api/cli/config/index.md +4 -1
  3. package/dist/ai/docs/nocobase/api/cli/config/set.md +1 -0
  4. package/dist/ai/docs/nocobase/api/cli/self/check.md +19 -2
  5. package/dist/ai/docs/nocobase/api/cli/self/index.md +1 -1
  6. package/dist/ai/docs/nocobase/api/cli/self/update.md +17 -3
  7. package/dist/ai/docs/nocobase/nocobase-cli/installation/cli.md +2 -0
  8. package/dist/client/{604.de96f3ec4d471afd.js → 604.89c674f35b52b4ef.js} +1 -1
  9. package/dist/client/index.js +1 -1
  10. package/dist/externalVersion.js +16 -16
  11. package/dist/node_modules/@langchain/xai/package.json +1 -1
  12. package/dist/node_modules/fs-extra/package.json +1 -1
  13. package/dist/node_modules/jsonrepair/package.json +1 -1
  14. package/dist/node_modules/just-bash/package.json +1 -1
  15. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  16. package/dist/node_modules/openai/package.json +1 -1
  17. package/dist/node_modules/zod/package.json +1 -1
  18. package/dist/server/ai-employees/ai-employee.js +13 -2
  19. package/dist/server/ai-employees/middleware/index.d.ts +1 -0
  20. package/dist/server/ai-employees/middleware/index.js +2 -0
  21. package/dist/server/ai-employees/middleware/tool-call-sanitizer.d.ts +16 -0
  22. package/dist/server/ai-employees/middleware/tool-call-sanitizer.js +90 -0
  23. package/dist/server/ai-employees/tool-call-sanitizer.d.ts +26 -0
  24. package/dist/server/ai-employees/tool-call-sanitizer.js +84 -0
  25. package/dist/server/ai-employees/utils.js +14 -2
  26. package/package.json +2 -2
@@ -33,6 +33,7 @@ nb config delete proxy.nginx-driver
33
33
  nb config delete proxy.caddy-driver
34
34
  nb config delete bin.nginx
35
35
  nb config delete bin.git
36
+ nb config delete bin.pnpm
36
37
  ```
37
38
 
38
39
  ## Related commands
@@ -10,7 +10,7 @@ Manage default CLI configuration values. The currently supported keys are mainly
10
10
 
11
11
  - CLI itself: `locale`, `update.policy`, `license.pkg-url`
12
12
  - Docker runtime: `docker.network`, `docker.container-prefix`
13
- - External executables: `bin.docker`, `bin.caddy`, `bin.git`, `bin.nginx`, `bin.yarn`
13
+ - External executables: `bin.docker`, `bin.caddy`, `bin.git`, `bin.nginx`, `bin.pnpm`, `bin.yarn`
14
14
  - Proxy generation: `proxy.nb-cli-root`, `proxy.upstream-host`, `proxy.nginx-driver`, `proxy.caddy-driver`
15
15
 
16
16
  Most projects only need a few of these keys. In practice, the most common ones are:
@@ -34,6 +34,7 @@ Most projects only need a few of these keys. In practice, the most common ones a
34
34
  | `bin.caddy` | `caddy` | Override the Caddy executable path |
35
35
  | `bin.git` | `git` | Override the Git executable path |
36
36
  | `bin.nginx` | `nginx` | Override the Nginx executable path |
37
+ | `bin.pnpm` | `pnpm` | Override the pnpm executable path |
37
38
  | `bin.yarn` | `yarn` | Override the Yarn executable path |
38
39
  | `proxy.nb-cli-root` | CLI root, usually the current user's home directory | Override the root path visible to the generated proxy config when the proxy process and CLI do not see the same filesystem root |
39
40
  | `proxy.upstream-host` | `127.0.0.1` | Override the host used when the proxy forwards traffic back to the NocoBase app |
@@ -70,12 +71,14 @@ nb config get docker.network
70
71
  nb config set docker.network nocobase
71
72
  nb config set bin.nginx /usr/sbin/nginx
72
73
  nb config set bin.git /usr/bin/git
74
+ nb config set bin.pnpm /usr/local/bin/pnpm
73
75
  nb config delete docker.container-prefix
74
76
  ```
75
77
 
76
78
  ## Notes
77
79
 
78
80
  - `bin.nginx` and `bin.caddy` only affect the `local` driver for `nb proxy nginx` and `nb proxy caddy`
81
+ - `bin.pnpm` is used when commands need to run pnpm directly, such as updating a pnpm-managed global CLI install with `nb self update`
79
82
  - `proxy.nginx-driver` and `proxy.caddy-driver` store the default driver used by each provider
80
83
  - `proxy.nb-cli-root` and `proxy.upstream-host` are advanced proxy overrides. Most CLI-managed `local` or `docker` envs can use the defaults directly
81
84
  - If you only want to switch the active proxy driver, using `nb proxy nginx use` or `nb proxy caddy use` is usually clearer than setting the config key manually
@@ -33,6 +33,7 @@ nb config set bin.docker /usr/local/bin/docker
33
33
  nb config set bin.caddy /opt/homebrew/bin/caddy
34
34
  nb config set bin.git /usr/bin/git
35
35
  nb config set bin.nginx /usr/sbin/nginx
36
+ nb config set bin.pnpm /usr/local/bin/pnpm
36
37
  nb config set proxy.nb-cli-root /workspace
37
38
  nb config set proxy.upstream-host host.docker.internal
38
39
  nb config set proxy.nginx-driver docker
@@ -6,7 +6,7 @@ keywords: "nb self check,NocoBase CLI,version check"
6
6
 
7
7
  # nb self check
8
8
 
9
- Check the current NocoBase CLI installation, resolve the latest version for the selected channel, and report whether automatic self-update is supported.
9
+ Check the current NocoBase CLI installation, resolve the latest version for the selected channel, and report whether self-update is supported.
10
10
 
11
11
  ## Usage
12
12
 
@@ -18,9 +18,26 @@ nb self check [flags]
18
18
 
19
19
  | Parameter | Type | Description |
20
20
  | --- | --- | --- |
21
- | `--channel` | string | Release channel to compare with, default `auto`; options: `auto`, `latest`, `beta`, `alpha` |
21
+ | `--channel` | string | Release channel to compare with, default `auto`; options: `auto`, `latest`, `test`, `beta`, `alpha` |
22
22
  | `--json` | boolean | Output JSON |
23
23
 
24
+ ## Install Method
25
+
26
+ `nb self check` detects the current install method at runtime. It does not use the historical `self-install-methods.json` cache.
27
+
28
+ The command can report these install methods:
29
+
30
+ | Install method | Meaning |
31
+ | --- | --- |
32
+ | `npm-global` | The CLI is installed under the current `npm prefix -g`. |
33
+ | `pnpm-global` | The CLI is installed under a pnpm global `node_modules` tree. |
34
+ | `yarn-global` | The CLI is launched from `yarn global bin` or installed under `yarn global dir`. |
35
+ | `package-local` | The CLI is installed in a local project dependency tree. |
36
+ | `source` | The CLI is running from a repository checkout. |
37
+ | `unknown` | The CLI install could not be matched to a supported install method. |
38
+
39
+ Self-update is supported for `npm-global`, `pnpm-global`, and `yarn-global`. For `package-local` or `source`, update the parent project or repository checkout instead.
40
+
24
41
  ## Examples
25
42
 
26
43
  ```bash
@@ -19,7 +19,7 @@ nb self <command>
19
19
  | Command | Description |
20
20
  | --- | --- |
21
21
  | [`nb self check`](./check.md) | Check current CLI version and self-update support |
22
- | [`nb self update`](./update.md) | Update the globally npm-installed NocoBase CLI |
22
+ | [`nb self update`](./update.md) | Update the globally npm-, pnpm-, or yarn-installed NocoBase CLI |
23
23
 
24
24
  ## Examples
25
25
 
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: "nb self update"
3
- description: "nb self update command reference: update the globally npm-installed NocoBase CLI."
3
+ description: "nb self update command reference: update the globally npm-, pnpm-, or yarn-installed NocoBase CLI."
4
4
  keywords: "nb self update,NocoBase CLI,update,self update"
5
5
  ---
6
6
 
7
7
  # nb self update
8
8
 
9
- Update the installed NocoBase CLI when the current CLI is managed by a standard global npm installation.
9
+ Update the installed NocoBase CLI when the current CLI is managed by a standard global npm, pnpm, or yarn installation.
10
10
 
11
11
  ## Usage
12
12
 
@@ -18,12 +18,26 @@ nb self update [flags]
18
18
 
19
19
  | Parameter | Type | Description |
20
20
  | --- | --- | --- |
21
- | `--channel` | string | Release channel to update to, default `auto`; options: `auto`, `latest`, `beta`, `alpha` |
21
+ | `--channel` | string | Release channel to update to, default `auto`; options: `auto`, `latest`, `test`, `beta`, `alpha` |
22
22
  | `--yes`, `-y` | boolean | Skip update confirmation |
23
23
  | `--json` | boolean | Output JSON |
24
24
  | `--skills` | boolean | Also refresh the globally installed NocoBase AI coding skills |
25
25
  | `--verbose` | boolean | Show detailed update output |
26
26
 
27
+ ## Update Behavior
28
+
29
+ `nb self update` first detects the current install method at runtime. It does not use the historical `self-install-methods.json` cache.
30
+
31
+ When an update is available, the command uses the same package manager that manages the current global CLI install:
32
+
33
+ | Install method | Update command |
34
+ | --- | --- |
35
+ | `npm-global` | `npm install -g @nocobase/cli@<channel>` |
36
+ | `pnpm-global` | `pnpm add -g @nocobase/cli@<channel>` |
37
+ | `yarn-global` | `yarn global add @nocobase/cli@<channel>` |
38
+
39
+ Interactive confirmation defaults to yes. Use `--yes` to skip the prompt in scripts.
40
+
27
41
  ## Examples
28
42
 
29
43
  ```bash
@@ -35,6 +35,8 @@ nb config set update.policy auto
35
35
  nb config set update.policy off
36
36
  ```
37
37
 
38
+ Self-update is only supported when the CLI is managed by a standard global npm, pnpm, or yarn install. If you are running from source or from a local project dependency tree, use [`nb self check`](../../api/cli/self/check.md) to see the detected install method and update that parent project instead.
39
+
38
40
  If you are going to deploy NocoBase to the server and want to open the `nb init --ui` wizard from a remote browser, it is recommended to first change the CLI's default host to the current server IP:
39
41
 
40
42
  ```bash
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["604"],{9095:function(e,t,r){r.r(t),r.d(t,{DatasourceSettingPage:function(){return Y}});var n=r(9155),o=r.n(n),l=r(3342),a=r(7694),c=r(2059),i=r(7375),u=r(7768),s=r(6373),f=r(4943);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 y(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function m(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){y(l,n,o,a,c,"next",e)}function c(e){y(l,n,o,a,c,"throw",e)}a(void 0)})}}function b(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}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){c=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw n}}return l}}(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 v(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var g=(0,a.observable)({logic:"$and",items:[]}),w=function(){var e=(0,a.useFlowContext)(),t=e.view,r=t.Header,l=t.Footer,i=h(c.Form.useForm(),1)[0],u=h(c.Form.useForm(),1)[0],p=h(c.Form.useForm(),1)[0],y=h(c.Form.useForm(),1)[0],w=h(c.Form.useForm(),1)[0],O=h((0,n.useState)(0),2),E=O[0],j=O[1],S=h((0,n.useState)({}),2),P=S[0],x=S[1],F=h((0,n.useState)(null),2),k=F[0],C=F[1],D=function(){switch(E){case 0:return i;case 1:return u;case 2:return p;case 3:return y;case 4:return w;default:throw Error("Invalid step")}},I=function(){j(E-1)},T=[{title:e.t("Collection")},{title:e.t("Fields")},{title:e.t("Filter")},{title:e.t("Sort")},{title:e.t("Preview")}];return o().createElement(o().Fragment,null,o().createElement(f.CQ.Provider,{value:new f.kw(k)},o().createElement(r,{title:e.t("Add datasource")}),o().createElement(c.Space,{direction:"vertical",size:"small",style:{width:"100%"}},o().createElement(c.Steps,{current:E,items:T,size:"small"}),o().createElement(c.Divider,{dashed:!0}),o().createElement(c.Form.Provider,{onFormFinish:function(e,t){var r=t.values;if(x(function(e){return b({},e,r)}),"collectionSetting"===e){if(r.collection){var n=h(r.collection,2),o=n[0],l=n[1];x(function(e){return d(b({},e),{datasource:o,collectionName:l})})}}else"filterSetting"===e&&x(function(e){return d(b({},e),{filter:g})})}},o().createElement(s.zA,{form:i,onCollectionCascaderChange:function(t){if(t){var r=h(t,2),n=r[0],o=r[1];C(e.dataSourceManager.getCollection(n,o)),g.items=[],u.setFieldValue("fields",[])}},name:"collectionSetting",show:0===E}),o().createElement(s.SQ,{form:u,name:"fieldsSetting",show:1===E}),o().createElement(s.p8,{form:p,dataScope:g,name:"filterSetting",show:2===E}),o().createElement(s.Du,{form:y,name:"sortSetting",show:3===E})),o().createElement(s.lN,{formData:P,show:4===E})),o().createElement(l,null,o().createElement(c.Flex,{justify:"flex-end",align:"end"},o().createElement(c.Space,null,o().createElement(c.Button,{style:{margin:"0 8px"},onClick:function(){return I()},disabled:0===E},e.t("Previous")),E<T.length-1&&o().createElement(c.Button,{type:"primary",onClick:function(){return m(function(){var e;return v(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,(e=D()).validateFields()];case 1:return t.sent(),e.submit(),j(E+1),[3,3];case 2:return console.debug("Validation failed:",t.sent()),[3,3];case 3:return[2]}})})()}},e.t("Next")),E===T.length-1&&o().createElement(c.Button,{type:"primary",onClick:function(){return m(function(){var t;return v(this,function(r){switch(r.label){case 0:return[4,e.resource.create(P)];case 1:return r.sent(),e.message.success(e.t("Processing complete!")),null==(t=e.view)||t.close(),[2]}})})()}},e.t("Submit")))))))};function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function j(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}function S(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){c=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return O(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 O(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var x=(0,a.observable)({logic:"$and",items:[]}),F=function(e){var t=e.children;return o().createElement(o().Fragment,null,t)},k=function(e){var t=e.record,r=(0,a.useFlowContext)(),l=r.view,i=l.Header,u=l.Footer,p=P(c.Form.useForm(),1)[0],y=P(c.Form.useForm(),1)[0],m=P(c.Form.useForm(),1)[0],b=P(c.Form.useForm(),1)[0],d=P((0,n.useState)({}),2),h=d[0],v=d[1],g=[p,y,m,b],w=P((0,n.useState)(null),2),O=w[0],k=w[1];(0,n.useEffect)(function(){v(t);var e,n=t.datasource,o=t.collectionName;k(r.dataSourceManager.getCollection(n,o)),p.setFieldsValue(t),p.setFieldValue("collection",[n,o]),y.setFieldValue("fields",t.fields),b.setFieldValue("sort",t.sort),x.items=(null==(e=t.filter)?void 0:e.items)||[]},[t]);var C=[{key:"Tab-0",label:r.t("Collection"),children:o().createElement(F,null,o().createElement(s.zA,{form:p,name:"collectionSetting",show:!0,disableCollectionCascader:!0}))},{key:"Tab-1",label:r.t("Fields"),children:o().createElement(F,null,o().createElement(s.SQ,{form:y,name:"fieldsSetting",show:!0}))},{key:"Tab-2",label:r.t("Filter"),children:o().createElement(F,null,o().createElement(s.p8,{form:m,dataScope:x,name:"filterSetting",show:!0}))},{key:"Tab-3",label:r.t("Sort"),children:o().createElement(F,null,o().createElement(s.Du,{form:b,name:"sortSetting",show:!0}))},{key:"Tab-4",label:r.t("Preview"),children:o().createElement(F,null,o().createElement(s.lN,{formData:h,show:!0}))}];return o().createElement(o().Fragment,null,o().createElement(f.CQ.Provider,{value:new f.kw(O)},o().createElement(i,{title:r.t("Edit datasource")}),o().createElement(c.Tabs,{defaultActiveKey:"Tab-0",items:C,onChange:function(){var e={},t=!0,r=!1,n=void 0;try{for(var o,l=g[Symbol.iterator]();!(t=(o=l.next()).done);t=!0){var a=o.value.getFieldsValue(),c=(a.collection,a.datasource,a.collectionName,S(a,["collection","datasource","collectionName"]));e=j({},e,c)}}catch(e){r=!0,n=e}finally{try{t||null==l.return||l.return()}finally{if(r)throw n}}e.filter=x,v(function(t){return j({},t,e)})}}),o().createElement(u,null,o().createElement(c.Flex,{justify:"flex-end",align:"end"},o().createElement(c.Space,null,r.view&&o().createElement(c.Button,{onClick:function(){r.view.close()}},r.t("Cancel")),o().createElement(c.Button,{type:"primary",onClick:function(){var e;return(e=function(){var e,n,o,l,a,c,i,u,s;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(f){switch(f.label){case 0:f.trys.push([0,10,,11]),e={},n=!0,o=!1,l=void 0,f.label=1;case 1:f.trys.push([1,6,7,8]),a=g[Symbol.iterator](),f.label=2;case 2:if(n=(c=a.next()).done)return[3,5];return[4,c.value.validateFields()];case 3:(i=f.sent()).collection,i.datasource,i.collectionName,u=S(i,["collection","datasource","collectionName"]),e=j({},e,u),f.label=4;case 4:return n=!0,[3,2];case 5:return[3,8];case 6:return s=f.sent(),o=!0,l=s,[3,8];case 7:try{n||null==a.return||a.return()}finally{if(o)throw l}return[7];case 8:return e.filter=x,[4,r.resource.update(t.id,e)];case 9:return f.sent(),r.message.success(r.t("Save datasource successfully")),r.view.close(),[3,11];case 10:return console.error("Validation failed:",f.sent()),[3,11];case 11:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){E(l,n,o,a,c,"next",e)}function c(e){E(l,n,o,a,c,"throw",e)}a(void 0)})})()}},r.t("Submit")))))))};function C(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function D(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){C(l,n,o,a,c,"next",e)}function c(e){C(l,n,o,a,c,"throw",e)}a(void 0)})}}function I(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var T=c.Typography.Text,A=function(e){var t,r,n=e.children,l=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["children"]),i=(0,a.useFlowContext)();return o().createElement(c.Button,(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}({},l),r=r={onClick:function(){i.viewer.drawer({width:"50%",content:o().createElement(w,null)})}},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t),n)},R=(0,a.observer)(function(){var e=(0,a.useFlowContext)(),t=e.resource.getData();return o().createElement(o().Fragment,null,0===t.length?o().createElement("div",{style:{display:"flex",flexDirection:"column",height:"80vh"}},o().createElement(c.Card,{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"}},o().createElement(c.Empty,{image:c.Empty.PRESENTED_IMAGE_SIMPLE},o().createElement(A,{icon:o().createElement(i.PlusOutlined,null),type:"primary"},o().createElement("span",null,e.t("Create a new datasource")))))):o().createElement("div",{style:{width:"100%",overflowX:"auto",padding:8}},o().createElement(c.Space,{direction:"vertical",size:"large",style:{width:"100%",minWidth:1200}},o().createElement(c.Flex,{justify:"flex-end",align:"center"},o().createElement(c.Space,null,o().createElement(A,{icon:o().createElement(i.PlusOutlined,null),type:"primary"},o().createElement("span",null,e.t("Add datasource"))))),o().createElement(c.List,{grid:{gutter:16,column:4},dataSource:t,loading:e.resource.loading,pagination:{showSizeChanger:!1,total:e.resource.getMeta("count"),pageSize:e.resource.getPageSize(),onChange:function(t,r){e.resource.setPage(t),e.resource.setPageSize(r),e.resource.refresh()}},renderItem:function(t){return o().createElement(c.List.Item,null,o().createElement(c.Card,{hoverable:!0,variant:"borderless",style:{minWidth:300,display:"flex",flexDirection:"column"},onClick:function(){e.viewer.drawer({width:"50%",content:o().createElement(k,{record:t})})}},o().createElement(c.Card.Meta,{title:o().createElement(c.Flex,{justify:"space-between",align:"center"},o().createElement("span",null,t.title),o().createElement(c.Switch,{size:"small",defaultValue:t.enabled,onClick:function(r,n){return D(function(){return I(this,function(o){switch(o.label){case 0:return n.stopPropagation(),[4,e.resource.update(t.id,{enabled:r})];case 1:return o.sent(),[2]}})})()}})),description:o().createElement(c.Space,{style:{fontSize:13}},o().createElement(T,{type:"secondary"},e.t("Collection")),o().createElement(T,null,"".concat(t.datasource,"/").concat(t.collectionName)),o().createElement(c.Divider,{type:"vertical"}),o().createElement(T,{type:"secondary"},e.t("Limit")),o().createElement(T,null,t.limit))}),o().createElement("div",{style:{height:100,display:"flex",flexDirection:"column",flex:1,paddingTop:10}},o().createElement("div",{style:{width:"100%",height:90}},o().createElement(c.Typography.Paragraph,{type:"secondary",ellipsis:{rows:2}},t.description)),o().createElement("div",{style:{marginTop:"auto"}},o().createElement(c.Flex,{justify:"space-between",align:"center"},o().createElement(c.Space,{style:{fontSize:10}},o().createElement(T,{type:"secondary"},"".concat(e.t("Created at")," ").concat((0,u.dayjs)(t.createdAt).format("YYYY-MM-DD HH:mm:ss")))),o().createElement(c.Tooltip,{title:e.t("Delete")},o().createElement(c.Button,{type:"link",icon:o().createElement(i.DeleteOutlined,null),onClick:function(r){r.stopPropagation(),c.Modal.confirm({title:e.t("Confirm whether to delete"),icon:o().createElement(i.ExclamationCircleFilled,null),content:e.t("Are you sure delete this datasource?"),okText:e.t("Yes"),okType:"danger",cancelText:e.t("No"),onOk:function(){return D(function(){return I(this,function(r){switch(r.label){case 0:return[4,e.resource.destroy(t.id)];case 1:return r.sent(),e.message.success(e.t("Datasource deleted successfully")),[2]}})})()},onCancel:function(){}})}})))))))}}))))}),_=r(3079);function M(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function N(e,t,r){return(N="u">typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=z(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(r||e):o.value}})(e,t,r||e)}function z(e){return(z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function V(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(V=function(){return!!e})()}var K=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,V()?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&&B(r,e),t=[{key:"onInit",value:function(e){var t=this;N(z(r.prototype),"onInit",this).call(this,e),this.context.defineMethod("t",function(e,r){var n,o;return t.context.i18n.t(e,(n=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}({},r),o=o={ns:_.MF},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n))})}},{key:"render",value:function(){return o().createElement(R,null)}}],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}(a.FlowModel);K.registerFlow({key:"resourceSettings",steps:{initResource:{handler:function(e){var t;return(t=function(){var t;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return e.useResource("MultiRecordResource"),(t=e.resource).setDataSourceKey(l.DEFAULT_DATA_SOURCE_KEY),t.setResourceName("aiContextDatasources"),t.setRequestParameters({sort:["-createdAt"]}),t.setPageSize(16),[4,t.refresh()];case 1:return r.sent(),[2]}})},function(){var e=this,r=arguments;return new Promise(function(n,o){var l=t.apply(e,r);function a(e){M(l,n,o,a,c,"next",e)}function c(e){M(l,n,o,a,c,"throw",e)}a(void 0)})})()}}}});var Y=function(){var e=(0,l.useApp)().flowEngine.createModel({use:K});return o().createElement(a.FlowModelRenderer,{model:e})}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["604"],{9095:function(e,t,r){r.r(t),r.d(t,{DatasourceSettingPage:function(){return W}});var n=r(9155),o=r.n(n),l=r(3342),a=r(7694),c=r(2059),i=r(7375),u=r(7768),s=r(6373),f=r(4943);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 y(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function m(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){y(l,n,o,a,c,"next",e)}function c(e){y(l,n,o,a,c,"throw",e)}a(void 0)})}}function b(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}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){c=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw n}}return l}}(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 v(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var g=(0,a.observable)({logic:"$and",items:[]}),w=function(){var e=(0,a.useFlowContext)(),t=e.view,r=t.Header,l=t.Footer,i=h(c.Form.useForm(),1)[0],u=h(c.Form.useForm(),1)[0],p=h(c.Form.useForm(),1)[0],y=h(c.Form.useForm(),1)[0],w=h(c.Form.useForm(),1)[0],O=h((0,n.useState)(0),2),E=O[0],j=O[1],S=h((0,n.useState)({}),2),P=S[0],x=S[1],k=h((0,n.useState)(null),2),F=k[0],C=k[1],D=function(){switch(E){case 0:return i;case 1:return u;case 2:return p;case 3:return y;case 4:return w;default:throw Error("Invalid step")}},T=function(){j(E-1)},I=[{title:e.t("Collection")},{title:e.t("Fields")},{title:e.t("Filter")},{title:e.t("Sort")},{title:e.t("Preview")}];return o().createElement(o().Fragment,null,o().createElement(f.CQ.Provider,{value:new f.kw(F)},o().createElement(r,{title:e.t("Add datasource")}),o().createElement(c.Space,{direction:"vertical",size:"small",style:{width:"100%"}},o().createElement(c.Steps,{current:E,items:I,size:"small"}),o().createElement(c.Divider,{dashed:!0}),o().createElement(c.Form.Provider,{onFormFinish:function(e,t){var r=t.values;if(x(function(e){return b({},e,r)}),"collectionSetting"===e){if(r.collection){var n=h(r.collection,2),o=n[0],l=n[1];x(function(e){return d(b({},e),{datasource:o,collectionName:l})})}}else"filterSetting"===e&&x(function(e){return d(b({},e),{filter:g})})}},o().createElement(s.zA,{form:i,onCollectionCascaderChange:function(t){if(t){var r=h(t,2),n=r[0],o=r[1];C(e.dataSourceManager.getCollection(n,o)),g.items=[],u.setFieldValue("fields",[])}},name:"collectionSetting",show:0===E}),o().createElement(s.SQ,{form:u,name:"fieldsSetting",show:1===E}),o().createElement(s.p8,{form:p,dataScope:g,name:"filterSetting",show:2===E}),o().createElement(s.Du,{form:y,name:"sortSetting",show:3===E})),o().createElement(s.lN,{formData:P,show:4===E})),o().createElement(l,null,o().createElement(c.Flex,{justify:"flex-end",align:"end"},o().createElement(c.Space,null,o().createElement(c.Button,{style:{margin:"0 8px"},onClick:function(){return T()},disabled:0===E},e.t("Previous")),E<I.length-1&&o().createElement(c.Button,{type:"primary",onClick:function(){return m(function(){var e;return v(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,(e=D()).validateFields()];case 1:return t.sent(),e.submit(),j(E+1),[3,3];case 2:return console.debug("Validation failed:",t.sent()),[3,3];case 3:return[2]}})})()}},e.t("Next")),E===I.length-1&&o().createElement(c.Button,{type:"primary",onClick:function(){return m(function(){var t;return v(this,function(r){switch(r.label){case 0:return[4,e.resource.create(P)];case 1:return r.sent(),e.message.success(e.t("Processing complete!")),null==(t=e.view)||t.close(),[2]}})})()}},e.t("Submit")))))))};function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function j(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}function S(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){c=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return O(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 O(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var x=(0,a.observable)({logic:"$and",items:[]}),k=function(e){var t=e.children;return o().createElement(o().Fragment,null,t)},F=function(e){var t=e.record,r=(0,a.useFlowContext)(),l=r.view,i=l.Header,u=l.Footer,p=P(c.Form.useForm(),1)[0],y=P(c.Form.useForm(),1)[0],m=P(c.Form.useForm(),1)[0],b=P(c.Form.useForm(),1)[0],d=P((0,n.useState)({}),2),h=d[0],v=d[1],g=[p,y,m,b],w=P((0,n.useState)(null),2),O=w[0],F=w[1];(0,n.useEffect)(function(){v(t);var e,n=t.datasource,o=t.collectionName;F(r.dataSourceManager.getCollection(n,o)),p.setFieldsValue(t),p.setFieldValue("collection",[n,o]),y.setFieldValue("fields",t.fields),b.setFieldValue("sort",t.sort),x.items=(null==(e=t.filter)?void 0:e.items)||[]},[t]);var C=[{key:"Tab-0",label:r.t("Collection"),children:o().createElement(k,null,o().createElement(s.zA,{form:p,name:"collectionSetting",show:!0,disableCollectionCascader:!0}))},{key:"Tab-1",label:r.t("Fields"),children:o().createElement(k,null,o().createElement(s.SQ,{form:y,name:"fieldsSetting",show:!0}))},{key:"Tab-2",label:r.t("Filter"),children:o().createElement(k,null,o().createElement(s.p8,{form:m,dataScope:x,name:"filterSetting",show:!0}))},{key:"Tab-3",label:r.t("Sort"),children:o().createElement(k,null,o().createElement(s.Du,{form:b,name:"sortSetting",show:!0}))},{key:"Tab-4",label:r.t("Preview"),children:o().createElement(k,null,o().createElement(s.lN,{formData:h,show:!0}))}];return o().createElement(o().Fragment,null,o().createElement(f.CQ.Provider,{value:new f.kw(O)},o().createElement(i,{title:r.t("Edit datasource")}),o().createElement(c.Tabs,{defaultActiveKey:"Tab-0",items:C,onChange:function(){var e={},t=!0,r=!1,n=void 0;try{for(var o,l=g[Symbol.iterator]();!(t=(o=l.next()).done);t=!0){var a=o.value.getFieldsValue(),c=(a.collection,a.datasource,a.collectionName,S(a,["collection","datasource","collectionName"]));e=j({},e,c)}}catch(e){r=!0,n=e}finally{try{t||null==l.return||l.return()}finally{if(r)throw n}}e.filter=x,v(function(t){return j({},t,e)})}}),o().createElement(u,null,o().createElement(c.Flex,{justify:"flex-end",align:"end"},o().createElement(c.Space,null,r.view&&o().createElement(c.Button,{onClick:function(){r.view.close()}},r.t("Cancel")),o().createElement(c.Button,{type:"primary",onClick:function(){var e;return(e=function(){var e,n,o,l,a,c,i,u,s;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(f){switch(f.label){case 0:f.trys.push([0,10,,11]),e={},n=!0,o=!1,l=void 0,f.label=1;case 1:f.trys.push([1,6,7,8]),a=g[Symbol.iterator](),f.label=2;case 2:if(n=(c=a.next()).done)return[3,5];return[4,c.value.validateFields()];case 3:(i=f.sent()).collection,i.datasource,i.collectionName,u=S(i,["collection","datasource","collectionName"]),e=j({},e,u),f.label=4;case 4:return n=!0,[3,2];case 5:return[3,8];case 6:return s=f.sent(),o=!0,l=s,[3,8];case 7:try{n||null==a.return||a.return()}finally{if(o)throw l}return[7];case 8:return e.filter=x,[4,r.resource.update(t.id,e)];case 9:return f.sent(),r.message.success(r.t("Save datasource successfully")),r.view.close(),[3,11];case 10:return console.error("Validation failed:",f.sent()),[3,11];case 11:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){E(l,n,o,a,c,"next",e)}function c(e){E(l,n,o,a,c,"throw",e)}a(void 0)})})()}},r.t("Submit")))))))};function C(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function D(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){C(l,n,o,a,c,"next",e)}function c(e){C(l,n,o,a,c,"throw",e)}a(void 0)})}}function T(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var I=c.Typography.Text,A=function(e){var t,r,n=e.children,l=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["children"]),i=(0,a.useFlowContext)();return o().createElement(c.Button,(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}({},l),r=r={onClick:function(){i.viewer.drawer({width:"50%",content:o().createElement(w,null)})}},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t),n)},M=(0,a.observer)(function(){var e,t,r=(0,a.useFlowContext)(),n=c.theme.useToken().token,l=r.resource.getData(),s=null!=(e=r.resource.getMeta("count"))?e:l.length,f=r.resource.getPageSize()||16,p=null!=(t=r.resource.getPage())?t:1;return o().createElement(o().Fragment,null,0===l.length?o().createElement("div",{style:{display:"flex",flexDirection:"column",height:"80vh"}},o().createElement(c.Card,{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"}},o().createElement(c.Empty,{image:c.Empty.PRESENTED_IMAGE_SIMPLE},o().createElement(A,{icon:o().createElement(i.PlusOutlined,null),type:"primary"},o().createElement("span",null,r.t("Create a new datasource")))))):o().createElement("div",{style:{width:"100%",padding:n.paddingXS}},o().createElement(c.Flex,{vertical:!0,gap:"large",style:{width:"100%",minWidth:0}},o().createElement(c.Flex,{justify:"flex-end",align:"center"},o().createElement(A,{icon:o().createElement(i.PlusOutlined,null),type:"primary"},o().createElement("span",null,r.t("Add datasource")))),o().createElement(c.Spin,{spinning:r.resource.loading},o().createElement("div",{style:{display:"grid",gap:n.margin,gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))"}},l.map(function(e){var t=(0,u.dayjs)(e.createdAt),l="".concat(r.t("Created at")," ").concat(t.format("YYYY-MM-DD HH:mm:ss"));return o().createElement(c.Card,{key:e.id,hoverable:!0,variant:"borderless",style:{height:"100%",minWidth:0},styles:{body:{display:"flex",flexDirection:"column",gap:n.margin,height:"100%",minWidth:0}},onClick:function(){r.viewer.drawer({width:"50%",content:o().createElement(F,{record:e})})}},o().createElement(c.Card.Meta,{title:o().createElement(c.Flex,{justify:"space-between",align:"center",gap:"small",style:{minWidth:0}},o().createElement(c.Typography.Text,{ellipsis:{tooltip:e.title},style:{flex:1,minWidth:0}},e.title),o().createElement(c.Switch,{size:"small",checked:e.enabled,onClick:function(t,n){return D(function(){return T(this,function(o){switch(o.label){case 0:return n.stopPropagation(),[4,r.resource.update(e.id,{enabled:t})];case 1:return o.sent(),[2]}})})()}})),description:o().createElement(c.Space,{size:n.marginXS,style:{flexWrap:"wrap",fontSize:n.fontSizeSM}},o().createElement(I,{type:"secondary"},r.t("Collection")),o().createElement(I,{ellipsis:{tooltip:"".concat(e.datasource,"/").concat(e.collectionName)}},"".concat(e.datasource,"/").concat(e.collectionName)),o().createElement(c.Divider,{type:"vertical"}),o().createElement(I,{type:"secondary"},r.t("Limit")),o().createElement(I,null,e.limit))}),o().createElement("div",{style:{minHeight:"calc(".concat(n.fontSize,"px * ").concat(n.lineHeight," * 2)")}},o().createElement(c.Typography.Paragraph,{type:"secondary",ellipsis:{rows:2},style:{marginBottom:0}},e.description)),o().createElement(c.Flex,{align:"center",gap:"small",justify:"space-between",style:{marginTop:"auto",minWidth:0}},o().createElement(c.Tooltip,{title:l},o().createElement(I,{"aria-label":l,type:"secondary",style:{flex:1,fontSize:n.fontSizeSM,minWidth:0},ellipsis:!0},"".concat(r.t("Created at")," ").concat(t.format("YYYY-MM-DD")))),o().createElement(c.Tooltip,{title:r.t("Delete")},o().createElement(c.Button,{type:"link",icon:o().createElement(i.DeleteOutlined,null),onClick:function(t){t.stopPropagation(),c.Modal.confirm({title:r.t("Confirm whether to delete"),icon:o().createElement(i.ExclamationCircleFilled,null),content:r.t("Are you sure delete this datasource?"),okText:r.t("Yes"),okType:"danger",cancelText:r.t("No"),onOk:function(){return D(function(){return T(this,function(t){switch(t.label){case 0:return[4,r.resource.destroy(e.id)];case 1:return t.sent(),r.message.success(r.t("Datasource deleted successfully")),[2]}})})()},onCancel:function(){}})}}))))}))),s>f&&o().createElement(c.Pagination,{current:p,pageSize:f,showSizeChanger:!1,style:{display:"flex",justifyContent:"flex-end"},total:s,onChange:function(e,t){r.resource.setPage(e),r.resource.setPageSize(t),r.resource.refresh()}}))))}),R=r(3079);function _(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function z(e,t,r){return(z="u">typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=N(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(r||e):o.value}})(e,t,r||e)}function N(e){return(N=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Y=function(){return!!e})()}var V=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=N(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,Y()?Reflect.construct(e,t||[],N(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&B(r,e),t=[{key:"onInit",value:function(e){var t=this;z(N(r.prototype),"onInit",this).call(this,e),this.context.defineMethod("t",function(e,r){var n,o;return t.context.i18n.t(e,(n=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}({},r),o=o={ns:R.MF},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n))})}},{key:"render",value:function(){return o().createElement(M,null)}}],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}(a.FlowModel);V.registerFlow({key:"resourceSettings",steps:{initResource:{handler:function(e){var t;return(t=function(){var t;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return e.useResource("MultiRecordResource"),(t=e.resource).setDataSourceKey(l.DEFAULT_DATA_SOURCE_KEY),t.setResourceName("aiContextDatasources"),t.setRequestParameters({sort:["-createdAt"]}),t.setPageSize(16),[4,t.refresh()];case 1:return r.sent(),[2]}})},function(){var e=this,r=arguments;return new Promise(function(n,o){var l=t.apply(e,r);function a(e){_(l,n,o,a,c,"next",e)}function c(e){_(l,n,o,a,c,"throw",e)}a(void 0)})})()}}}});var W=function(){var e=(0,l.useApp)().flowEngine.createModel({use:V});return o().createElement(a.FlowModelRenderer,{model:e})}}}]);