@nocobase/plugin-ai 2.2.0-beta.7 → 2.2.0-beta.9

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 (83) hide show
  1. package/dist/ai/docs/nocobase/api/app/env.md +28 -1
  2. package/dist/ai/docs/nocobase/api/cli/config/delete.md +9 -6
  3. package/dist/ai/docs/nocobase/api/cli/config/get.md +8 -6
  4. package/dist/ai/docs/nocobase/api/cli/config/index.md +40 -26
  5. package/dist/ai/docs/nocobase/api/cli/config/set.md +15 -8
  6. package/dist/ai/docs/nocobase/api/cli/env/auth.md +53 -5
  7. package/dist/ai/docs/nocobase/api/cli/self/check.md +19 -2
  8. package/dist/ai/docs/nocobase/api/cli/self/index.md +1 -1
  9. package/dist/ai/docs/nocobase/api/cli/self/update.md +17 -3
  10. package/dist/ai/docs/nocobase/file-manager/field-attachment.md +6 -0
  11. package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +3 -12
  12. package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +9 -0
  13. package/dist/ai/docs/nocobase/file-manager/storage/amazon-s3.md +9 -0
  14. package/dist/ai/docs/nocobase/file-manager/storage/index.md +23 -0
  15. package/dist/ai/docs/nocobase/file-manager/storage/local.md +9 -0
  16. package/dist/ai/docs/nocobase/file-manager/storage/migrate-to-s3-pro.md +269 -0
  17. package/dist/ai/docs/nocobase/file-manager/storage/tencent-cos.md +9 -0
  18. package/dist/ai/docs/nocobase/get-started/installation/docker-caddy.mdx +175 -0
  19. package/dist/ai/docs/nocobase/get-started/installation/docker-nginx.mdx +176 -0
  20. package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +94 -1
  21. package/dist/ai/docs/nocobase/get-started/installation/env.md +14 -4
  22. package/dist/ai/docs/nocobase/nocobase-cli/installation/cli.md +2 -0
  23. package/dist/ai/docs/nocobase/ops-management/version-control/index.md +1 -0
  24. package/dist/client/559.9f97ebcdb0bd6231.js +10 -0
  25. package/dist/client/{604.de96f3ec4d471afd.js → 604.89c674f35b52b4ef.js} +1 -1
  26. package/dist/client/index.js +3 -3
  27. package/dist/client/llm-providers/mistral/ModelSettings.d.ts +10 -0
  28. package/dist/client/llm-providers/mistral/index.d.ts +10 -0
  29. package/dist/client/llm-services/utils.d.ts +5 -0
  30. package/dist/externalVersion.js +16 -16
  31. package/dist/locale/en-US.json +1 -0
  32. package/dist/locale/zh-CN.json +1 -0
  33. package/dist/node_modules/@langchain/mistralai/LICENSE +21 -0
  34. package/dist/node_modules/@langchain/mistralai/dist/_virtual/rolldown_runtime.cjs +25 -0
  35. package/dist/node_modules/@langchain/mistralai/dist/chat_models.cjs +859 -0
  36. package/dist/node_modules/@langchain/mistralai/dist/chat_models.d.cts +541 -0
  37. package/dist/node_modules/@langchain/mistralai/dist/chat_models.d.ts +541 -0
  38. package/dist/node_modules/@langchain/mistralai/dist/chat_models.js +857 -0
  39. package/dist/node_modules/@langchain/mistralai/dist/embeddings.cjs +140 -0
  40. package/dist/node_modules/@langchain/mistralai/dist/embeddings.d.cts +116 -0
  41. package/dist/node_modules/@langchain/mistralai/dist/embeddings.d.ts +116 -0
  42. package/dist/node_modules/@langchain/mistralai/dist/embeddings.js +139 -0
  43. package/dist/node_modules/@langchain/mistralai/dist/index.cjs +21 -0
  44. package/dist/node_modules/@langchain/mistralai/dist/index.d.cts +4 -0
  45. package/dist/node_modules/@langchain/mistralai/dist/index.d.ts +4 -0
  46. package/dist/node_modules/@langchain/mistralai/dist/index.js +5 -0
  47. package/dist/node_modules/@langchain/mistralai/dist/llms.cjs +275 -0
  48. package/dist/node_modules/@langchain/mistralai/dist/llms.d.cts +147 -0
  49. package/dist/node_modules/@langchain/mistralai/dist/llms.d.ts +147 -0
  50. package/dist/node_modules/@langchain/mistralai/dist/llms.js +274 -0
  51. package/dist/node_modules/@langchain/mistralai/dist/utils.cjs +61 -0
  52. package/dist/node_modules/@langchain/mistralai/dist/utils.js +59 -0
  53. package/dist/node_modules/@langchain/mistralai/package.json +1 -0
  54. package/dist/node_modules/@langchain/xai/dist/index.cjs +2 -2
  55. package/dist/node_modules/@langchain/xai/package.json +1 -1
  56. package/dist/node_modules/fs-extra/package.json +1 -1
  57. package/dist/node_modules/jsonrepair/package.json +1 -1
  58. package/dist/node_modules/just-bash/package.json +1 -1
  59. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  60. package/dist/node_modules/openai/package.json +1 -1
  61. package/dist/node_modules/zod/package.json +1 -1
  62. package/dist/server/ai-employees/ai-employee.js +19 -6
  63. package/dist/server/ai-employees/checkpoints/cleaner.d.ts +2 -0
  64. package/dist/server/ai-employees/checkpoints/cleaner.js +11 -1
  65. package/dist/server/ai-employees/middleware/conversation.d.ts +2 -0
  66. package/dist/server/ai-employees/middleware/conversation.js +2 -1
  67. package/dist/server/ai-employees/middleware/index.d.ts +1 -0
  68. package/dist/server/ai-employees/middleware/index.js +2 -0
  69. package/dist/server/ai-employees/middleware/tool-call-sanitizer.d.ts +16 -0
  70. package/dist/server/ai-employees/middleware/tool-call-sanitizer.js +90 -0
  71. package/dist/server/ai-employees/tool-call-sanitizer.d.ts +26 -0
  72. package/dist/server/ai-employees/tool-call-sanitizer.js +84 -0
  73. package/dist/server/ai-employees/utils.d.ts +3 -1
  74. package/dist/server/ai-employees/utils.js +16 -2
  75. package/dist/server/llm-providers/mistral.d.ts +62 -0
  76. package/dist/server/llm-providers/mistral.js +265 -0
  77. package/dist/server/llm-providers/provider.d.ts +6 -2
  78. package/dist/server/llm-providers/provider.js +27 -14
  79. package/dist/server/plugin.js +2 -0
  80. package/dist/server/workflow/nodes/employee/index.js +92 -46
  81. package/dist/server/workflow/nodes/employee/tools.js +8 -1
  82. package/package.json +3 -2
  83. package/dist/client/559.a0f2f1cc2be3c039.js +0 -10
@@ -617,4 +617,97 @@ Open [http://localhost:13000](http://localhost:13000) in your browser. The initi
617
617
 
618
618
  After logging in for the first time, please change the default password promptly to ensure system security.
619
619
 
620
- :::
620
+ :::
621
+
622
+ ## 5. Production deployment
623
+
624
+ If you use the built-in Nginx image, it is usually better not to expose `13000` directly to the public internet. A more common setup is to keep the container port available only on the host and let the host Nginx handle the domain, HTTPS, and reverse proxy.
625
+
626
+ ### Proxy the root path with Nginx
627
+
628
+ The following config proxies domain requests to `http://127.0.0.1:13000/`:
629
+
630
+ ```bash
631
+ server {
632
+ listen 80;
633
+ server_name your_domain.com; # Replace your_domain.com with your domain
634
+
635
+ location / {
636
+ proxy_pass http://127.0.0.1:13000/;
637
+ proxy_http_version 1.1;
638
+
639
+ proxy_set_header Upgrade $http_upgrade;
640
+ proxy_set_header Connection $connection_upgrade;
641
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
642
+ proxy_set_header X-Forwarded-Proto $upstream_x_forwarded_proto;
643
+ proxy_set_header Host $final_host;
644
+ proxy_set_header Referer $http_referer;
645
+ proxy_set_header User-Agent $http_user_agent;
646
+
647
+ add_header Cache-Control "no-cache, no-store" always;
648
+ proxy_cache_bypass $http_upgrade;
649
+
650
+ proxy_connect_timeout 600;
651
+ proxy_send_timeout 600;
652
+ proxy_read_timeout 600;
653
+ send_timeout 600;
654
+ proxy_buffering off;
655
+ }
656
+ }
657
+ ```
658
+
659
+ If you also want to enable HTTPS, configure `443` and the certificate on the host Nginx. The NocoBase container does not need to handle certificates separately.
660
+
661
+ ### Subpath deployment
662
+
663
+ If you want to deploy the app under a subpath, such as `https://your_domain.com/nocobase/`, configure the `APP_PUBLIC_PATH` environment variable first:
664
+
665
+ ```diff
666
+ services:
667
+ app:
668
+ image: nocobase/nocobase:latest
669
+ environment:
670
+ + - APP_PUBLIC_PATH=/nocobase/
671
+ ```
672
+
673
+ Keep the leading and trailing `/` in the path. After this is configured, the app URL becomes `http://127.0.0.1:13000/nocobase/`.
674
+
675
+ Then configure the host Nginx with the same subpath proxy:
676
+
677
+ ```bash
678
+ server {
679
+ listen 80;
680
+ server_name your_domain.com; # Replace your_domain.com with your domain
681
+
682
+ location /nocobase/ {
683
+ proxy_pass http://127.0.0.1:13000/nocobase/;
684
+ proxy_http_version 1.1;
685
+
686
+ proxy_set_header Upgrade $http_upgrade;
687
+ proxy_set_header Connection $connection_upgrade;
688
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
689
+ proxy_set_header X-Forwarded-Proto $upstream_x_forwarded_proto;
690
+ proxy_set_header Host $final_host;
691
+ proxy_set_header Referer $http_referer;
692
+ proxy_set_header User-Agent $http_user_agent;
693
+
694
+ add_header Cache-Control "no-cache, no-store" always;
695
+ proxy_cache_bypass $http_upgrade;
696
+
697
+ proxy_connect_timeout 600;
698
+ proxy_send_timeout 600;
699
+ proxy_read_timeout 600;
700
+ send_timeout 600;
701
+ proxy_buffering off;
702
+ }
703
+ }
704
+ ```
705
+
706
+ The key point is that `APP_PUBLIC_PATH` and the path in `proxy_pass` must stay consistent. If either side misses `/nocobase/`, static assets and routing will usually not work correctly.
707
+
708
+ ### Other options
709
+
710
+ If you do not want to use the built-in Nginx, you can also use one of these separate proxy setups:
711
+
712
+ - [Docker Installation (External Nginx)](./docker-nginx.mdx)
713
+ - [Docker Installation (External Caddy)](./docker-caddy.mdx)
@@ -349,15 +349,17 @@ TELEMETRY_TRACE_PROCESSOR=console
349
349
 
350
350
  ### SERVER_REQUEST_WHITELIST
351
351
 
352
- Whitelist of allowed targets for server-initiated outbound HTTP requests, used to prevent SSRF (Server-Side Request Forgery) attacks. Accepts a comma-separated list of exact IPs, CIDR ranges, exact hostnames, and single-level wildcard subdomains.
352
+ Whitelist of allowed targets for outbound HTTP requests initiated by the NocoBase server. Accepts a comma-separated list of exact IPs, CIDR ranges, exact hostnames, and single-level wildcard subdomains.
353
353
 
354
354
  ```bash
355
- SERVER_REQUEST_WHITELIST=1.2.3.4,10.0.0.0/8,api.example.com,*.trusted.com
355
+ SERVER_REQUEST_WHITELIST=api.example.com,*.trusted.com,10.0.0.0/8,127.0.0.1
356
356
  ```
357
357
 
358
- **Applies to**: Workflow "HTTP Request" nodes and Custom Request action buttons. Relative-path requests (calls to the NocoBase API itself) are not affected.
358
+ **Applies to**: Workflow "HTTP Request" nodes, Custom Request action buttons, AI services, and other server-side requests. Relative-path requests (calls to the NocoBase API itself) are not affected.
359
359
 
360
- **When not set**: All `http`/`https` outbound requests are allowed (existing behaviour). **When set**: Only requests whose host matches a whitelist entry are permitted; non-matching requests will raise an error.
360
+ **When not set**: All `http` / `https` outbound requests are allowed to keep existing behavior. However, if the target is a loopback, private, link-local, or metadata address, or if a domain resolves to one of these addresses, the server logs a warning.
361
+
362
+ **When set**: Only requests whose host matches a whitelist entry are permitted; non-matching requests will raise an error. Future versions may gradually tighten the default behavior. If your deployment needs to access internal services, configure an explicit whitelist in advance.
361
363
 
362
364
  Supported formats:
363
365
 
@@ -365,9 +367,17 @@ Supported formats:
365
367
  | --- | --- | --- |
366
368
  | Exact IPv4 | `1.2.3.4` | That IP only |
367
369
  | IPv4 CIDR | `10.0.0.0/8` | All IPs in the subnet |
370
+ | Exact IPv6 | `::1` | That IP only |
371
+ | IPv6 CIDR | `fc00::/7` | All IPs in the subnet |
368
372
  | Exact hostname | `api.example.com` | That hostname only |
369
373
  | Wildcard subdomain | `*.example.com` | One subdomain level, e.g. `foo.example.com`; does **not** match `example.com` or `a.b.example.com` |
370
374
 
375
+ :::warning Note
376
+
377
+ If a domain is configured in the whitelist, the whitelist check uses the host in the request URL. In other words, after `internal.example.com` is configured, it is treated as explicitly allowed even if the domain resolves to `127.0.0.1` or a private address.
378
+
379
+ :::
380
+
371
381
  ## Experimental Environment Variables
372
382
 
373
383
  ### APPEND_PRESET_LOCAL_PLUGINS
@@ -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
@@ -1,4 +1,5 @@
1
1
  ---
2
+ pkg: '@nocobase/plugin-version-control'
2
3
  title: "Version control"
3
4
  description: "Version control plugin guide: automatically save versions during AI Builder sessions, create and restore versions manually, configure retention, set shortcuts, and include user collections in saved versions."
4
5
  keywords: "Version control,ops management,AI Builder,nocobase-revision,nb revision create,create version,restore version,NocoBase"
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["559"],{6482:function(e,t,r){r.r(t),r.d(t,{Settings:function(){return z},useProviderSettingsForm:function(){return _},LLMServices:function(){return H},ProviderSelect:function(){return K}});var n=r(3342),o=r(9155),i=r.n(o),l=r(4442),a=r(3079),c=r(2059),s=r(7375),u={name:"llmServices",fields:[{name:"name",type:"uid",primaryKey:!0},{name:"title",type:"string",interface:"input",uiSchema:{title:'{{t("Title")}}',"x-component":"Input"}},{name:"provider",type:"string",interface:"select",uiSchema:{title:'{{t("Provider")}}',"x-component":"Select"}},{name:"options",type:"jsonb"},{name:"enabledModels",type:"json",defaultValue:{mode:"recommended",models:[]}},{name:"enabled",type:"boolean",defaultValue:!0},{name:"modelOptions",type:"jsonb",defaultValue:{temperature:1,topP:1,frequencyPenalty:0,presencePenalty:0}}]},p={type:"void",properties:{drawer:{type:"void",title:'{{ t("Add new") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useCreateFormProps",properties:{provider:{type:"string","x-decorator":"FormItem",title:'{{ t("Provider") }}',"x-component":"ProviderSelect",required:!0},title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input","x-reactions":{dependencies:["provider"],when:"{{!$self.modified}}",fulfill:{state:{value:"{{$getProviderLabel($deps[0])}}"},schema:{"x-visible":"{{!!$deps[0]}}"}}}},options:{type:"object","x-component":"Settings","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},"options.baseURL":{type:"string","x-decorator":"FormItem",title:'{{ t("Base URL") }}',"x-component":"TextAreaWithGlobalScope","x-component-props":{placeholder:'{{ t("Base URL is optional, leave blank to use default (recommended)") }}'},"x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},enabledModels:{type:"object","x-decorator":"FormItem",title:'{{ t("Enabled Models") }}',"x-component":"EnabledModelsSelect","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testFlight:{type:"void","x-component":"LLMTestFlight","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useCreateActionProps"}}}}}}},d={type:"void",name:"llm-services",properties:{card:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{collection:"llmServices",action:"list",rowKey:"name",dragSort:!0,dragSortBy:"sort"},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:20}},properties:{refresh:{title:"{{t('Refresh')}}","x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},bulkDelete:{title:"{{t('Delete')}}","x-action":"destroy","x-component":"Action","x-use-component-props":"useBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},add:{type:"void","x-component":"AddNew",title:"{{t('Add new')}}","x-align":"right"}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void",title:'{{ t("UID") }}',"x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"Input","x-read-pretty":!0}}},column2:{type:"void",title:'{{ t("Title") }}',"x-component":"TableV2.Column",properties:{title:{type:"string","x-component":"Input","x-read-pretty":!0}}},column3:{type:"void",title:'{{ t("Provider") }}',"x-component":"TableV2.Column",properties:{provider:{type:"string","x-component":"Select","x-read-pretty":!0,enum:"{{ providers }}"}}},column4:{type:"void",title:'{{ t("Enabled") }}',"x-component":"TableV2.Column",properties:{enabled:{type:"boolean","x-component":"EnabledSwitch"}}},column5:{type:"void",title:'{{ t("Actions") }}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",properties:{provider:{type:"string","x-decorator":"FormItem",title:'{{ t("Provider") }}',"x-component":"ProviderDisplay"},title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input"},options:{type:"object","x-component":"Settings"},"options.baseURL":{type:"string","x-decorator":"FormItem",title:'{{ t("Base URL") }}',"x-component":"TextAreaWithGlobalScope","x-component-props":{placeholder:'{{ t("Base URL is optional, leave blank to use default (recommended)") }}'}},enabledModels:{type:"object","x-decorator":"FormItem",title:'{{ t("Enabled Models") }}',"x-component":"EnabledModelsSelect"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testFlight:{type:"void","x-component":"LLMTestFlight"},cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useEditActionProps"}}}}}}},destroy:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}},m=r(284),f=r(5230),y=r(9452),v=r(166),b=r(6759),x=r(5555),h={type:"object",properties:{temperature:{type:"number",title:'{{t("Temperature")}}',description:'{{t("Temperature description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:0,max:2,step:.1},default:1},maxTokens:{type:"number",title:'{{t("Max tokens")}}',description:'{{t("Max completion tokens description")}}',"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1,max:128e3,placeholder:'{{t("Leave empty for no limit")}}'}},topP:{type:"number",title:'{{t("Top P")}}',description:'{{t("Top P description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:0,max:1,step:.1},default:1},frequencyPenalty:{type:"number",title:'{{t("Frequency penalty")}}',description:'{{t("Frequency penalty description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:-2,max:2,step:.1},default:0},presencePenalty:{type:"number",title:'{{t("Presence penalty")}}',description:'{{t("Presence penalty description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:-2,max:2,step:.1},default:0}}},g=function(){var e=(0,a.kj)();return i().createElement(c.Collapse,{bordered:!1,size:"small",style:{marginTop:16},items:[{key:"modelOptions",label:e("Model options"),forceRender:!0,children:i().createElement(n.SchemaComponent,{schema:h,scope:{t:e}})}]})},P=r(7330),S=r(1285);function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function w(e,t,r,n,o,i,l){try{var a=e[i](l),c=a.value}catch(e){r(e);return}a.done?t(c):Promise.resolve(c).then(n,o)}function k(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function l(e){w(i,n,o,l,a,"next",e)}function a(e){w(i,n,o,l,a,"throw",e)}l(void 0)})}}function C(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 E(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 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 i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(i.push(r.value),!t||i.length!==t);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw n}}return i}}(e,t)||O(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 O(e,t){if(e){if("string"==typeof e)return A(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 A(e,t)}}function L(e,t){var r,n,o,i={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),a=Object.defineProperty;return a(l,"next",{value:c(0)}),a(l,"throw",{value:c(1)}),a(l,"return",{value:c(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function c(a){return function(c){var s=[a,c];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var I=(0,o.createContext)({autoOpen:!1,setAutoOpen:function(){}}),F=function(){return{form:(0,o.useMemo)(function(){return(0,y.createForm)({initialValues:{name:"v_".concat((0,v.uid)())}})},[])}},T=function(){var e=(0,n.useCollectionRecordData)();return{form:(0,o.useMemo)(function(){return(0,y.createForm)({initialValues:e})},[e])}},j=function(){var e=(0,n.useActionContext)().setVisible;return{type:"default",onClick:function(){e(!1)}}},D=function(){var e=(0,n.useActionContext)().setVisible,t=c.App.useApp().message,r=(0,f.useForm)(),o=(0,n.useDataBlockResource)(),i=(0,n.useDataBlockRequest)().refresh,l=(0,a.kj)(),s=(0,P.M)();return{type:"primary",onClick:function(){return k(function(){var n;return L(this,function(a){switch(a.label){case 0:return[4,r.submit()];case 1:return a.sent(),n=(0,S.Kr)(r.values),[4,o.create({values:n})];case 2:return a.sent(),i(),s.refreshLLMServices(),t.success(l("Saved successfully")),e(!1),[2]}})})()}}},B=function(){var e=(0,n.useActionContext)().setVisible,t=c.App.useApp().message,r=(0,f.useForm)(),o=(0,n.useDataBlockResource)(),i=(0,n.useDataBlockRequest)().refresh,l=(0,n.useCollection)().getFilterTargetKey(),s=(0,a.kj)(),u=(0,P.M)();return{type:"primary",onClick:function(){return k(function(){var n;return L(this,function(a){switch(a.label){case 0:return[4,r.submit()];case 1:return a.sent(),n=(0,S.Kr)(r.values),[4,o.update({values:n,filterByTk:n[l]})];case 2:return a.sent(),i(),u.refreshLLMServices(),t.success(s("Saved successfully")),e(!1),r.reset(),[2]}})})()}}},R={"google-genai":"Gemini",openai:"GPT","openai-completions":"Recommended for third-party OpenAI-compatible APIs (OpenRouter, Groq, Together AI, etc.)",anthropic:"Claude",deepseek:"DeepSeek",dashscope:"Qwen (Tongyi)",kimi:"Kimi",xai:"Grok models by xAI",ollama:"Local models",mimo:"Xiaomi MIMO",mistral:"Mistral models"},V=["google-genai","openai","anthropic","deepseek","dashscope","kimi","mistral","openai-completions","ollama"],q=function(){var e=(0,f.useField)(),t=(0,m.Pq)().find(function(t){return t.value===e.value});return i().createElement("span",null,(null==t?void 0:t.label)||e.value)},K=function(){var e=c.theme.useToken().token,t=(0,f.useField)(),r=(0,m.Pq)(),n=(0,a.kj)(),o=((function(e){if(Array.isArray(e))return A(e)})(r)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||O(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){var r=V.indexOf(e.value),n=V.indexOf(t.value);return(r<0?1/0:r)-(n<0?1/0:n)}).map(function(t){var r=R[t.value],o=r?n(r):"",l=t.supportedModel||[],a=[l.includes("LLM")?"LLM":null,l.includes("EMBEDDING")?"EMBEDDING":null].filter(Boolean);return{value:t.value,label:i().createElement("div",null,i().createElement("div",{style:{fontWeight:500}},t.label),i().createElement("div",{style:{fontSize:e.fontSizeSM,color:e.colorTextTertiary,lineHeight:1.4,display:"flex",alignItems:"center",justifyContent:"space-between",gap:e.marginXS}},i().createElement("span",null,o),i().createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:e.marginXXS,flexWrap:"wrap"}},a.map(function(e){return i().createElement(c.Tag,{key:e,bordered:!1,color:"default",style:{marginInlineEnd:0,paddingInline:6,lineHeight:"18px",height:18,fontSize:11}},e)})))),selectedLabel:t.label}});return i().createElement(c.Select,{value:t.value,onChange:function(e){return t.value=e},options:o,optionLabelProp:"selectedLabel",style:{width:"100%"},listHeight:400})},N=(0,f.observer)(function(){var e=(0,f.useField)(),t=(0,n.useCollectionRecordData)(),r=(0,n.useDataBlockResource)(),o=(0,n.useDataBlockRequest)().refresh,l=(0,n.useCollection)().getFilterTargetKey(),a=!1!==e.value,s=(0,P.M)();return i().createElement(c.Switch,{size:"small",checked:a,onChange:function(n){return k(function(){return L(this,function(i){switch(i.label){case 0:return e.value=n,[4,r.update({values:{enabled:n},filterByTk:t[l]})];case 1:return i.sent(),o(),s.refreshLLMServices(),[2]}})})()}})},{displayName:"EnabledSwitch"}),$=function(){var e=(0,n.useDestroyActionProps)(),t=(0,P.M)();return E(C({},e),{onClick:function(r,n){return k(function(){return L(this,function(o){switch(o.label){case 0:return[4,e.onClick(r,n)];case 1:return o.sent(),t.refreshLLMServices(),[2]}})})()}})},G=function(){var e=(0,n.useBulkDestroyActionProps)(),t=(0,P.M)();return E(C({},e),{onClick:function(r,n){return k(function(){return L(this,function(o){switch(o.label){case 0:return[4,e.onClick(r,n)];case 1:return o.sent(),t.refreshLLMServices(),[2]}})})()}})},U=function(){var e=(0,a.kj)(),t=M((0,o.useState)(!1),2),r=t[0],l=t[1],u=M((0,o.useState)(0),2),d=u[0],f=u[1],y=(0,m.Pq)(),v=(0,o.useContext)(I),h=v.autoOpen,P=v.setAutoOpen;return(0,o.useEffect)(function(){h&&(f(function(e){return e+1}),l(!0),P(!1),window.history.replaceState({},document.title))},[h,P]),i().createElement(n.ActionContextProvider,{value:{visible:r,setVisible:l}},i().createElement(c.Button,{icon:i().createElement(s.PlusOutlined,null),type:"primary",onClick:function(){f(function(e){return e+1}),l(!0)}},e("Add new")),i().createElement(n.SchemaComponent,{key:d,components:{LLMTestFlight:b.e,EnabledModelsSelect:x.uQ,ProviderSelect:K,ModelOptionsSettings:g},scope:{useCreateFormProps:F,providers:y,$getProviderLabel:function(e){var t=y.find(function(t){return t.value===e});return(null==t?void 0:t.label)||e}},schema:p}))},_=function(e){var t,r=(0,n.usePlugin)("ai").aiManager.llmProviders.get(e);return null==r||null==(t=r.components)?void 0:t.ProviderSettingsForm},z=(0,f.observer)(function(){var e=(0,f.useForm)(),t=(0,n.useCollectionRecordData)(),r=_(e.values.provider||t.provider);return r?i().createElement(r,null):null},{displayName:"LLMProviderSettings"}),H=function(){var e=(0,a.kj)(),t=M((0,o.useState)([]),2),r=t[0],c=t[1],s=(0,n.useAPIClient)(),p=(0,l.useLocation)(),y=M((0,o.useState)(!1),2),v=y[0],h=y[1];return(0,o.useEffect)(function(){var e=p.state;(null==e?void 0:e.autoOpenAddNew)&&h(!0)},[p.state]),(0,n.useRequest)(function(){return s.resource("ai").listLLMProviders().then(function(t){var r;return((null==t||null==(r=t.data)?void 0:r.data)||[]).map(function(t){return{key:t.name,label:f.Schema.compile(t.title||t.name,{t:e}),value:t.name,supportedModel:t.supportedModel}})})},{onSuccess:function(e){c(e)}}),i().createElement(I.Provider,{value:{autoOpen:v,setAutoOpen:h}},i().createElement(m.PL.Provider,{value:{providers:r}},i().createElement(n.ExtendCollectionsProvider,{collections:[u]},i().createElement(n.SchemaComponent,{schema:d,components:{AddNew:U,Settings:z,LLMTestFlight:b.e,EnabledModelsSelect:x.uQ,ProviderDisplay:q,ModelOptionsSettings:g,EnabledSwitch:N},scope:{t:e,providers:r,useEditFormProps:T,useCancelActionProps:j,useCreateActionProps:D,useEditActionProps:B,useDestroyActionProps:$,useBulkDestroyActionProps:G}}))))}},6759:function(e,t,r){r.d(t,{e:function(){return y}});var n=r(5230),o=r(3342),i=r(9155),l=r.n(i),a=r(2059),c=r(7375),s=r(1931),u=r(5555),p=r(3079),d=r(1285);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 f(e,t,r,n,o,i,l){try{var a=e[i](l),c=a.value}catch(e){r(e);return}a.done?t(c):Promise.resolve(c).then(n,o)}var y=(0,n.observer)(function(){var e,t=(0,p.kj)(),r=(0,n.useForm)(),y=(0,o.useAPIClient)(),v=a.App.useApp().message,b=function(e){if(Array.isArray(e))return e}(e=(0,i.useState)(!1))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(t=n.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw r}}return o}}(e)||function(e){if(e){if("string"==typeof e)return m(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 m(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),x=b[0],h=b[1];return l().createElement(a.Tooltip,{title:t("Test connection with the configured API Key")},l().createElement(a.Button,{icon:l().createElement(c.RocketOutlined,null),loading:x,onClick:function(){var e;return(e=function(){var e,n,o,i,l,a,c,p,m;return function(e,t){var r,n,o,i={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),a=Object.defineProperty;return a(l,"next",{value:c(0)}),a(l,"throw",{value:c(1)}),a(l,"return",{value:c(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function c(a){return function(c){var s=[a,c];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(f){switch(f.label){case 0:if(n=(e=r.values).provider,o=e.options,i=e.enabledModels,"ollama"!==n&&!(null==o?void 0:o.apiKey))return v.warning(t("Please fill in the API Key first")),[2];if("recommended"===(l=(0,u.lf)(i)).mode){if(0===(c=(0,s.sN)(n)).length)return v.warning(t("Please configure enabled models first")),[2];a=c[0].value}else{if(0===l.models.length)return v.warning(t("Please configure enabled models first")),[2];a=l.models[0].value}h(!0),f.label=1;case 1:return f.trys.push([1,3,4,5]),[4,y.resource("ai").testFlight({values:{provider:n,options:(0,d.ot)(o),model:a}})];case 2:return 0!==(p=f.sent()).data.data.code?v.error(p.data.data.message||t("Failure")):v.success(t("Successful")),[3,5];case 3:return m=f.sent(),v.error(m.message||t("Failure")),[3,5];case 4:return h(!1),[7];case 5:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function l(e){f(i,n,o,l,a,"next",e)}function a(e){f(i,n,o,l,a,"throw",e)}l(void 0)})})()}},t("Test flight")))})},284:function(e,t,r){r.d(t,{PL:function(){return o},Pq:function(){return i}});var n=r(9155);(0,n.createContext)({provider:""}).displayName="LLMProvidersContext";var o=(0,n.createContext)({providers:[]});o.displayName="LLMProviderssContext";var i=function(){return(0,n.useContext)(o).providers}}}]);
@@ -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})}}}]);