@nocobase/plugin-ai 2.1.0-beta.29 → 2.1.0-beta.30

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 (87) hide show
  1. package/dist/ai/docs/nocobase/api/cli/api/dynamic.md +7 -0
  2. package/dist/ai/docs/nocobase/api/cli/api/resource/index.md +3 -0
  3. package/dist/ai/docs/nocobase/api/cli/app/down.md +7 -3
  4. package/dist/ai/docs/nocobase/api/cli/app/index.md +1 -1
  5. package/dist/ai/docs/nocobase/api/cli/app/logs.md +3 -0
  6. package/dist/ai/docs/nocobase/api/cli/app/restart.md +4 -0
  7. package/dist/ai/docs/nocobase/api/cli/app/start.md +4 -0
  8. package/dist/ai/docs/nocobase/api/cli/app/stop.md +3 -0
  9. package/dist/ai/docs/nocobase/api/cli/app/upgrade.md +5 -0
  10. package/dist/ai/docs/nocobase/api/cli/env/add.md +11 -3
  11. package/dist/ai/docs/nocobase/api/cli/env/auth.md +1 -1
  12. package/dist/ai/docs/nocobase/api/cli/env/current.md +29 -0
  13. package/dist/ai/docs/nocobase/api/cli/env/index.md +22 -4
  14. package/dist/ai/docs/nocobase/api/cli/env/info.md +1 -5
  15. package/dist/ai/docs/nocobase/api/cli/env/list.md +11 -6
  16. package/dist/ai/docs/nocobase/api/cli/env/remove.md +4 -1
  17. package/dist/ai/docs/nocobase/api/cli/env/status.md +52 -0
  18. package/dist/ai/docs/nocobase/api/cli/env/update.md +1 -1
  19. package/dist/ai/docs/nocobase/api/cli/env/use.md +11 -1
  20. package/dist/ai/docs/nocobase/api/cli/index.md +13 -1
  21. package/dist/ai/docs/nocobase/api/cli/license/activate.md +4 -1
  22. package/dist/ai/docs/nocobase/api/cli/license/id.md +4 -0
  23. package/dist/ai/docs/nocobase/api/cli/license/plugins/clean.md +5 -1
  24. package/dist/ai/docs/nocobase/api/cli/license/plugins/list.md +4 -0
  25. package/dist/ai/docs/nocobase/api/cli/license/plugins/sync.md +5 -1
  26. package/dist/ai/docs/nocobase/api/cli/license/status.md +4 -0
  27. package/dist/ai/docs/nocobase/api/cli/plugin/disable.md +4 -0
  28. package/dist/ai/docs/nocobase/api/cli/plugin/enable.md +4 -0
  29. package/dist/ai/docs/nocobase/api/cli/plugin/list.md +4 -0
  30. package/dist/ai/docs/nocobase/api/cli/session/id.md +28 -0
  31. package/dist/ai/docs/nocobase/api/cli/session/index.md +41 -0
  32. package/dist/ai/docs/nocobase/api/cli/session/remove.md +35 -0
  33. package/dist/ai/docs/nocobase/api/cli/session/setup.md +47 -0
  34. package/dist/client/119.c6bf8c6433167d81.js +10 -0
  35. package/dist/client/228.b4b709f93b86b6b9.js +10 -0
  36. package/dist/client/{486.afbed6b132b3c0dd.js → 486.dcac8f3fcec19c33.js} +1 -1
  37. package/dist/client/597.b0d64948d74cf6cb.js +10 -0
  38. package/dist/client/646.5860101cb28c8272.js +10 -0
  39. package/dist/client/711.92cd94681fde7e05.js +10 -0
  40. package/dist/client/768.5177bff46ae71a5b.js +10 -0
  41. package/dist/client/792.abb57765453bcbcc.js +10 -0
  42. package/dist/client/820.f72ef2462b61d812.js +10 -0
  43. package/dist/client/927.ac9ee9a8c1cb4f1d.js +10 -0
  44. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +1 -15
  45. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +1 -21
  46. package/dist/client/ai-employees/chatbox/hooks/useChat.d.ts +125 -0
  47. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +1 -1
  48. package/dist/client/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +13 -1
  49. package/dist/client/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +8 -8
  50. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +4 -0
  51. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +77 -50
  52. package/dist/client/ai-employees/chatbox/stores/chat-tool-call.d.ts +24 -16
  53. package/dist/client/ai-employees/types.d.ts +1 -0
  54. package/dist/client/index.d.ts +2 -0
  55. package/dist/client/index.js +4 -4
  56. package/dist/externalVersion.js +16 -15
  57. package/dist/locale/en-US.json +1 -0
  58. package/dist/locale/zh-CN.json +1 -0
  59. package/dist/node_modules/@langchain/xai/package.json +1 -1
  60. package/dist/node_modules/fs-extra/package.json +1 -1
  61. package/dist/node_modules/jsonrepair/package.json +1 -1
  62. package/dist/node_modules/just-bash/package.json +1 -1
  63. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  64. package/dist/node_modules/openai/package.json +1 -1
  65. package/dist/node_modules/zod/package.json +1 -1
  66. package/dist/server/ai-employees/ai-conversations.d.ts +3 -1
  67. package/dist/server/ai-employees/ai-conversations.js +40 -3
  68. package/dist/server/ai-employees/ai-employee.d.ts +16 -14
  69. package/dist/server/ai-employees/ai-employee.js +65 -43
  70. package/dist/server/ai-employees/middleware/conversation.js +11 -9
  71. package/dist/server/collections/ai-conversations.js +6 -0
  72. package/dist/server/manager/llm-stream-manager.d.ts +37 -0
  73. package/dist/server/manager/llm-stream-manager.js +142 -0
  74. package/dist/server/plugin.d.ts +2 -0
  75. package/dist/server/plugin.js +3 -0
  76. package/dist/server/resource/aiConversations.d.ts +8 -0
  77. package/dist/server/resource/aiConversations.js +129 -2
  78. package/package.json +2 -2
  79. package/dist/client/119.78774f3ad953af49.js +0 -10
  80. package/dist/client/228.a3df2921c8beb766.js +0 -10
  81. package/dist/client/597.aa363881a325b5c0.js +0 -10
  82. package/dist/client/646.217a40387efbd163.js +0 -10
  83. package/dist/client/711.266b8f1c520d467a.js +0 -10
  84. package/dist/client/768.973ce32e15099a48.js +0 -10
  85. package/dist/client/792.2e48eab4767d662a.js +0 -10
  86. package/dist/client/820.6a26239ea96c075a.js +0 -10
  87. package/dist/client/927.ff5cd05b14901ae6.js +0 -10
@@ -19,9 +19,10 @@ nb license plugins sync [flags]
19
19
  | Parameter | Type | Description |
20
20
  | --- | --- | --- |
21
21
  | `--env`, `-e` | string | CLI env name; when omitted, the current env is used |
22
+ | `--yes`, `-y` | boolean | When an explicitly passed `--env` targets a different env than the current env, skip the interactive confirmation prompt |
22
23
  | `--dry-run` | boolean | Preview changes without installing, upgrading, or removing plugins |
23
24
  | `--version` | string | Registry version or dist-tag to synchronize; defaults to the current workspace version |
24
- | `--verbose`, `-V` | boolean | Show detailed per-plugin sync logs |
25
+ | `--verbose` | boolean | Show detailed per-plugin sync logs |
25
26
  | `--json` | boolean | Output JSON |
26
27
 
27
28
  ## Examples
@@ -29,6 +30,7 @@ nb license plugins sync [flags]
29
30
  ```bash
30
31
  nb license plugins sync
31
32
  nb license plugins sync --env app1
33
+ nb license plugins sync --env app1 --yes
32
34
  nb license plugins sync --env app1 --dry-run
33
35
  nb license plugins sync --env app1 --json
34
36
  ```
@@ -37,6 +39,8 @@ nb license plugins sync --env app1 --json
37
39
 
38
40
  When `--version` is omitted, the CLI detects the current app version automatically and uses that to decide which registry version of commercial plugins should be downloaded.
39
41
 
42
+ If you explicitly pass `--env` and it differs from the current env, the CLI asks for confirmation first. In non-interactive terminals or AI agent sessions, add `--yes` yourself or run `nb env use <name>` first and try again.
43
+
40
44
  ## Related Commands
41
45
 
42
46
  - [`nb license plugins list`](./list.md)
@@ -19,6 +19,7 @@ nb license status [flags]
19
19
  | Parameter | Type | Description |
20
20
  | --- | --- | --- |
21
21
  | `--env`, `-e` | string | CLI env name; when omitted, the current env is used |
22
+ | `--yes`, `-y` | boolean | When an explicitly passed `--env` targets a different env than the current env, skip the interactive confirmation prompt |
22
23
  | `--doctor` | boolean | Run extra diagnostic checks and suggestions |
23
24
  | `--json` | boolean | Output JSON |
24
25
 
@@ -27,6 +28,7 @@ nb license status [flags]
27
28
  ```bash
28
29
  nb license status
29
30
  nb license status --env app1
31
+ nb license status --env app1 --yes
30
32
  nb license status --env app1 --doctor
31
33
  nb license status --env app1 --json
32
34
  ```
@@ -35,6 +37,8 @@ nb license status --env app1 --json
35
37
 
36
38
  The new CLI does not fully implement backend license status checks yet. The command can still return basic context and diagnostic placeholders, but not a complete license verdict.
37
39
 
40
+ If you explicitly pass `--env` and it differs from the current env, the CLI asks for confirmation first. In non-interactive terminals or AI agent sessions, add `--yes` yourself or run `nb env use <name>` first and try again.
41
+
38
42
  ## Related Commands
39
43
 
40
44
  - [`nb license activate`](./activate.md)
@@ -20,6 +20,7 @@ nb plugin disable <packages...> [flags]
20
20
  | --- | --- | --- |
21
21
  | `<packages...>` | string[] | Plugin package names, required; supports multiple values |
22
22
  | `--env`, `-e` | string | CLI env name; uses the current env if omitted |
23
+ | `--yes`, `-y` | boolean | When an explicitly passed `--env` targets a different env than the current env, skip the interactive confirmation prompt |
23
24
 
24
25
  ## Examples
25
26
 
@@ -27,8 +28,11 @@ nb plugin disable <packages...> [flags]
27
28
  nb plugin disable @nocobase/plugin-sample
28
29
  nb plugin disable @nocobase/plugin-a @nocobase/plugin-b
29
30
  nb plugin disable -e local @nocobase/plugin-sample
31
+ nb plugin disable -e local --yes @nocobase/plugin-sample
30
32
  ```
31
33
 
34
+ If you explicitly pass `--env` and it differs from the current env, the CLI asks for confirmation first. In non-interactive terminals or AI agent sessions, add `--yes` yourself or run `nb env use <name>` first and try again.
35
+
32
36
  ## Related Commands
33
37
 
34
38
  - [`nb plugin list`](./list.md)
@@ -20,6 +20,7 @@ nb plugin enable <packages...> [flags]
20
20
  | --- | --- | --- |
21
21
  | `<packages...>` | string[] | Plugin package names, required; supports multiple values |
22
22
  | `--env`, `-e` | string | CLI env name; uses the current env if omitted |
23
+ | `--yes`, `-y` | boolean | When an explicitly passed `--env` targets a different env than the current env, skip the interactive confirmation prompt |
23
24
 
24
25
  ## Examples
25
26
 
@@ -27,8 +28,11 @@ nb plugin enable <packages...> [flags]
27
28
  nb plugin enable @nocobase/plugin-sample
28
29
  nb plugin enable @nocobase/plugin-a @nocobase/plugin-b
29
30
  nb plugin enable -e local @nocobase/plugin-sample
31
+ nb plugin enable -e local --yes @nocobase/plugin-sample
30
32
  ```
31
33
 
34
+ If you explicitly pass `--env` and it differs from the current env, the CLI asks for confirmation first. In non-interactive terminals or AI agent sessions, add `--yes` yourself or run `nb env use <name>` first and try again.
35
+
32
36
  ## Related Commands
33
37
 
34
38
  - [`nb plugin list`](./list.md)
@@ -19,15 +19,19 @@ nb plugin list [flags]
19
19
  | Parameter | Type | Description |
20
20
  | --- | --- | --- |
21
21
  | `--env`, `-e` | string | CLI env name; uses the current env if omitted |
22
+ | `--yes`, `-y` | boolean | When an explicitly passed `--env` targets a different env than the current env, skip the interactive confirmation prompt |
22
23
 
23
24
  ## Examples
24
25
 
25
26
  ```bash
26
27
  nb plugin list
27
28
  nb plugin list -e local
29
+ nb plugin list -e local --yes
28
30
  nb plugin list -e local-docker
29
31
  ```
30
32
 
33
+ If you explicitly pass `--env` and it differs from the current env, the CLI asks for confirmation first. In non-interactive terminals or AI agent sessions, add `--yes` yourself or run `nb env use <name>` first and try again.
34
+
31
35
  ## Related Commands
32
36
 
33
37
  - [`nb plugin enable`](./enable.md)
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: "nb session id"
3
+ description: "nb session id command reference: show the current effective NB_SESSION_ID."
4
+ keywords: "nb session id,NocoBase CLI,NB_SESSION_ID,session id"
5
+ ---
6
+
7
+ # nb session id
8
+
9
+ Show the current effective session id.
10
+
11
+ If no usable `NB_SESSION_ID` is available in the current shell or runtime, the command tells you to run [`nb session setup`](./setup.md) first, then open a new shell session or runtime.
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ nb session id
17
+ ```
18
+
19
+ ## Examples
20
+
21
+ ```bash
22
+ nb session id
23
+ ```
24
+
25
+ ## Related Commands
26
+
27
+ - [`nb session setup`](./setup.md)
28
+ - [`nb env current`](../env/current.md)
@@ -0,0 +1,41 @@
1
+ ---
2
+ title: "nb session"
3
+ description: "nb session command reference: configure and inspect NB_SESSION_ID so current env is isolated per shell or agent runtime."
4
+ keywords: "nb session,NocoBase CLI,NB_SESSION_ID,session mode"
5
+ ---
6
+
7
+ # nb session
8
+
9
+ Manage session mode for `NB_SESSION_ID`.
10
+
11
+ After session mode is enabled, `nb env use` and `nb env current` use the current shell or agent runtime context first, instead of directly sharing a single global current env.
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ nb session <command>
17
+ ```
18
+
19
+ ## Subcommands
20
+
21
+ | Command | Description |
22
+ | --- | --- |
23
+ | [`nb session setup`](./setup.md) | Install shell or runtime integration for `NB_SESSION_ID` |
24
+ | [`nb session id`](./id.md) | Show the current effective session id |
25
+ | [`nb session remove`](./remove.md) | Remove shell or runtime integration for `NB_SESSION_ID` |
26
+
27
+ ## When you need it
28
+
29
+ The default recommendation is to run `nb session setup` once when you first start using the CLI. With it enabled:
30
+
31
+ - terminal 1 can use `env1`
32
+ - terminal 2 can use `env2` at the same time
33
+ - an agent runtime can keep its own current env too
34
+
35
+ Without session mode, different sessions fall back to sharing the global `last env`, which makes parallel work more likely to affect each other.
36
+
37
+ ## Related Commands
38
+
39
+ - [`nb env current`](../env/current.md)
40
+ - [`nb env use`](../env/use.md)
41
+ - [`nb env status`](../env/status.md)
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: "nb session remove"
3
+ description: "nb session remove command reference: remove shell or runtime integration for NB_SESSION_ID."
4
+ keywords: "nb session remove,NocoBase CLI,NB_SESSION_ID,remove session integration"
5
+ ---
6
+
7
+ # nb session remove
8
+
9
+ Remove session integration for `NB_SESSION_ID`.
10
+
11
+ This command cleans up shell configuration previously written by [`nb session setup`](./setup.md). If opencode plugin integration is detected, it removes that integration too.
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ nb session remove [flags]
17
+ ```
18
+
19
+ ## Parameters
20
+
21
+ | Parameter | Type | Description |
22
+ | --- | --- | --- |
23
+ | `--shell` | string | Target shell. Supported values: `bash`, `zsh`, `fish`, `powershell`, `cmd` |
24
+
25
+ ## Examples
26
+
27
+ ```bash
28
+ nb session remove
29
+ nb session remove --shell zsh
30
+ ```
31
+
32
+ ## Related Commands
33
+
34
+ - [`nb session setup`](./setup.md)
35
+ - [`nb session id`](./id.md)
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: "nb session setup"
3
+ description: "nb session setup command reference: install shell or runtime integration for NB_SESSION_ID."
4
+ keywords: "nb session setup,NocoBase CLI,NB_SESSION_ID,shell integration"
5
+ ---
6
+
7
+ # nb session setup
8
+
9
+ Install session integration for `NB_SESSION_ID`.
10
+
11
+ This command detects the current shell, or uses the shell you pass with `--shell`, and writes the matching initialization file so new shell sessions automatically get `NB_SESSION_ID`.
12
+
13
+ If opencode configuration is detected on the machine, it also writes the related plugin integration so the agent runtime can inject its own `NB_SESSION_ID`.
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ nb session setup [flags]
19
+ ```
20
+
21
+ ## Parameters
22
+
23
+ | Parameter | Type | Description |
24
+ | --- | --- | --- |
25
+ | `--shell` | string | Target shell. Supported values: `bash`, `zsh`, `fish`, `powershell`, `cmd` |
26
+
27
+ ## Notes
28
+
29
+ In most cases, you only need to run this once.
30
+
31
+ After it finishes, open a new shell session or reload your profile so `NB_SESSION_ID` is initialized automatically.
32
+
33
+ In agent runtimes such as Codex, if the runtime already injects a context variable such as `CODEX_THREAD_ID`, the CLI reuses that value first.
34
+
35
+ ## Examples
36
+
37
+ ```bash
38
+ nb session setup
39
+ nb session setup --shell zsh
40
+ nb session setup --shell powershell
41
+ ```
42
+
43
+ ## Related Commands
44
+
45
+ - [`nb session id`](./id.md)
46
+ - [`nb session remove`](./remove.md)
47
+ - [`nb env use`](../env/use.md)
@@ -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([["119"],{4498:function(e,t,n){n.r(t),n.d(t,{CodeToolCard:function(){return y},buildToolCodeBlock:function(){return g},compactPatchForDisplay:function(){return f},shouldSkipCodeToolCardRender:function(){return p}});var r=n(9155),o=n.n(r),l=n(5475),a=n(4281);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function c(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return i(e,void 0);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 i(e,void 0)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){return"writeJSCode"===e?"string"==typeof t.code?t.code:void 0:"patchJSCode"===e&&"string"==typeof t.patch?t.patch:void 0}function s(e){var t=function(e){if("string"!=typeof e)return e;var t=e.trim();if(!t)return{};try{return JSON.parse((0,l.m)(t))}catch(e){return}}(e.args);return t&&(void 0===t?"undefined":t&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)=="object"?t:null}function p(e,t){if(!g(e.toolCall))return!1;var n,r=s(t.toolCall);if(!r)return!0;var o=u(e.toolCall.name,null!=(n=s(e.toolCall))?n:{}),l=u(t.toolCall.name,r);return!!o&&(!l||l.length<.8*o.length)}function f(e){for(var t,n=e&&null!=(t=e.match(/[^\n]*\n|[^\n]+/g))?t:[],r=[],o=0;o<n.length;){var l=n[o];if(!l.startsWith("@@ ")){r.push(l),o++;continue}r.push(l),o++;for(var a=[];o<n.length&&!n[o].startsWith("@@ ");)a.push(n[o]),o++;r.push.apply(r,c(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=e.reduce(function(e,t,n){return(t.startsWith("+")||t.startsWith("-"))&&e.push(n),e},[]);if(!n.length||e.length<=80)return e;var r=new Set,o=!0,l=!1,a=void 0;try{for(var i,u=n[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)for(var s=i.value,p=Math.max(0,s-t);p<=Math.min(e.length-1,s+t);p++)r.add(p)}catch(e){l=!0,a=e}finally{try{o||null==u.return||u.return()}finally{if(l)throw a}}var f=[],g=-1,y=!0,d=!1,m=void 0;try{for(var b,h=c(r).sort(function(e,t){return e-t})[Symbol.iterator]();!(y=(b=h.next()).done);y=!0){var v=b.value;-1!==g&&v>g+1&&f.push(" ...\n"),f.push(e[v]),g=v}}catch(e){d=!0,m=e}finally{try{y||null==h.return||h.return()}finally{if(d)throw m}}return f}(function(e){for(var t=[],n=0;n<e.length;){var r=e[n],o=e[n+1];if((null==r?void 0:r.startsWith("-"))&&(null==o?void 0:o.startsWith("+"))&&!r.startsWith("---")&&!o.startsWith("+++")&&r.slice(1)===o.slice(1)){t.push(" ".concat(r.slice(1))),n+=2;continue}t.push(r),n++}return t}(a))))}return r.join("")}function g(e){var t=s(e);return t?"writeJSCode"===e.name&&"string"==typeof t.code&&t.code?{language:"js",value:t.code}:"patchJSCode"===e.name&&"string"==typeof t.patch&&t.patch?{language:"diff",value:f(t.patch)}:null:null}var y=o().memo(function(e){var t=g(e.toolCall);return t?o().createElement("div",{style:{padding:"4px 12px"}},o().createElement(a.w,{className:"language-".concat(t.language)},t.value)):null},p)},4281:function(e,t,n){n.d(t,{w:function(){return S},Rs:function(){return C},Cy:function(){return P}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(3342),c=n(3079),u=n(8680),s=n(7694),p=n(7546),f=n(7596);function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function y(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function d(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var m=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,b=function(e){var t=e.language,n=e.value,r=e.height,l=e.scrollToBottom,a=d(e,["language","value","height","scrollToBottom"]);return o().createElement(m,y(g({},a),{language:t,value:n,height:r,scrollToBottom:l}))},h=function(e){var t=(0,s.useFlowContext)(),n=(0,c.kj)(),r=f.J.use.currentConversation(),i=(0,p.Y)(r),u=e.children,m=e.className,h=(e.node,e.message),O=d(e,["children","className","node","message"]),w=/language-(\w+)/.exec(m||""),E=w?w[1]:"",j=String(u).replace(/<!--[\s\S]*?-->/g,"").replace(/\n$/,""),C=l.App.useApp().message,S=!0;(null==h?void 0:h.type)==="text"&&(S=RegExp("```"+E+"[\\s\\S]*?```","s").test(h.content));var P=i.use.editorRef()[i.use.currentEditorRefUid()];return w?o().createElement(l.Card,{type:"inner",size:"small",title:o().createElement(l.Space,{style:{margin:"0 8px"},size:"middle"},o().createElement(a.CodeOutlined,null),o().createElement("span",null,E)),extra:o().createElement(o().Fragment,null,o().createElement(l.Tooltip,{title:n("Copy")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.CopyOutlined,null),onClick:function(){navigator.clipboard.writeText(j),C.success(n("Copied"))}})),o().createElement(l.Divider,{type:"vertical"}),o().createElement(l.Tooltip,{title:n("Expand")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.ExpandOutlined,null),onClick:function(){t.viewer.dialog({width:"80%",zIndex:6e3,content:o().createElement(v,y(g({},O),{language:E,value:j,height:"75vh"}))})}}))),styles:{header:{padding:0},body:{padding:0}},actions:P?[o().createElement(l.Button,{key:"accept",type:"link",onClick:function(e){e.stopPropagation(),null==P||P.write(j),t.message.info(n("Applied"))},disabled:!S},n("Apply to editor"))]:[]},o().createElement(b,y(g({},O),{language:E,value:j,scrollToBottom:!S}))):o().createElement(l.Typography.Text,y(g({code:!0},O),{className:m}),u)},v=function(e){var t=e.language,n=e.value,r=d(e,["language","value"]),i=(0,s.useFlowViewContext)(),c=i.view.Header,u=o().createElement(l.Button,{type:"text",icon:o().createElement(a.CloseOutlined,null),onClick:function(){i.view.close()}});return o().createElement("div",{style:{borderRadius:8}},o().createElement(c,{title:o().createElement(o().Fragment,null,o().createElement(l.Space,null,u,o().createElement("span",null,t)))}),o().createElement(b,y(g({},r),{language:t,value:n})))};function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function w(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function E(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var j=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,C=function(e){var t=e.language,n=e.value,r=E(e,["language","value"]);return o().createElement(j,w(O({},r),{language:t,value:n}))},S=function(e){var t=e.children,n=e.className,r=(e.node,e.message,E(e,["children","className","node","message"])),u=/language-(\w+)/.exec(n||""),s=u?u[1]:"",p=(0,i.useToken)().token,f=(0,c.kj)(),g=String(t).replace(/\n$/,""),y=l.App.useApp().message;return u?o().createElement(l.Card,{size:"small",title:s,styles:{title:{fontSize:p.fontSize,fontWeight:400},body:{width:"100%",fontSize:p.fontSizeSM}},extra:o().createElement(l.Button,{variant:"link",color:"default",size:"small",onClick:function(){navigator.clipboard.writeText(g),y.success(f("Copied"))},icon:o().createElement(a.CopyOutlined,null)})},o().createElement(C,w(O({},r),{language:s,value:g}))):o().createElement(l.Typography.Text,w(O({code:!0},r),{className:n}),t)},P=function(e){var t=e.className,n=/language-(\w+)/.exec(t||""),r=n?n[1]:"",l=f.J.use.currentConversation(),a=(0,p.Y)(l);return a.use.editorRef()[a.use.currentEditorRefUid()]&&(0,u._t)(r)?o().createElement(h,e):o().createElement(S,e)}}}]);
@@ -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([["228"],{4281:function(e,t,n){n.d(t,{w:function(){return x},Rs:function(){return S},Cy:function(){return P}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(3342),c=n(3079),u=n(8680),s=n(7694),f=n(7546),p=n(7596);function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function y(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function m(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var b=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,g=function(e){var t=e.language,n=e.value,r=e.height,l=e.scrollToBottom,a=m(e,["language","value","height","scrollToBottom"]);return o().createElement(b,y(d({},a),{language:t,value:n,height:r,scrollToBottom:l}))},v=function(e){var t=(0,s.useFlowContext)(),n=(0,c.kj)(),r=p.J.use.currentConversation(),i=(0,f.Y)(r),u=e.children,b=e.className,v=(e.node,e.message),O=m(e,["children","className","node","message"]),w=/language-(\w+)/.exec(b||""),E=w?w[1]:"",j=String(u).replace(/<!--[\s\S]*?-->/g,"").replace(/\n$/,""),S=l.App.useApp().message,x=!0;(null==v?void 0:v.type)==="text"&&(x=RegExp("```"+E+"[\\s\\S]*?```","s").test(v.content));var P=i.use.editorRef()[i.use.currentEditorRefUid()];return w?o().createElement(l.Card,{type:"inner",size:"small",title:o().createElement(l.Space,{style:{margin:"0 8px"},size:"middle"},o().createElement(a.CodeOutlined,null),o().createElement("span",null,E)),extra:o().createElement(o().Fragment,null,o().createElement(l.Tooltip,{title:n("Copy")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.CopyOutlined,null),onClick:function(){navigator.clipboard.writeText(j),S.success(n("Copied"))}})),o().createElement(l.Divider,{type:"vertical"}),o().createElement(l.Tooltip,{title:n("Expand")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.ExpandOutlined,null),onClick:function(){t.viewer.dialog({width:"80%",zIndex:6e3,content:o().createElement(h,y(d({},O),{language:E,value:j,height:"75vh"}))})}}))),styles:{header:{padding:0},body:{padding:0}},actions:P?[o().createElement(l.Button,{key:"accept",type:"link",onClick:function(e){e.stopPropagation(),null==P||P.write(j),t.message.info(n("Applied"))},disabled:!x},n("Apply to editor"))]:[]},o().createElement(g,y(d({},O),{language:E,value:j,scrollToBottom:!x}))):o().createElement(l.Typography.Text,y(d({code:!0},O),{className:b}),u)},h=function(e){var t=e.language,n=e.value,r=m(e,["language","value"]),i=(0,s.useFlowViewContext)(),c=i.view.Header,u=o().createElement(l.Button,{type:"text",icon:o().createElement(a.CloseOutlined,null),onClick:function(){i.view.close()}});return o().createElement("div",{style:{borderRadius:8}},o().createElement(c,{title:o().createElement(o().Fragment,null,o().createElement(l.Space,null,u,o().createElement("span",null,t)))}),o().createElement(g,y(d({},r),{language:t,value:n})))};function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function w(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function E(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var j=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,S=function(e){var t=e.language,n=e.value,r=E(e,["language","value"]);return o().createElement(j,w(O({},r),{language:t,value:n}))},x=function(e){var t=e.children,n=e.className,r=(e.node,e.message,E(e,["children","className","node","message"])),u=/language-(\w+)/.exec(n||""),s=u?u[1]:"",f=(0,i.useToken)().token,p=(0,c.kj)(),d=String(t).replace(/\n$/,""),y=l.App.useApp().message;return u?o().createElement(l.Card,{size:"small",title:s,styles:{title:{fontSize:f.fontSize,fontWeight:400},body:{width:"100%",fontSize:f.fontSizeSM}},extra:o().createElement(l.Button,{variant:"link",color:"default",size:"small",onClick:function(){navigator.clipboard.writeText(d),y.success(p("Copied"))},icon:o().createElement(a.CopyOutlined,null)})},o().createElement(S,w(O({},r),{language:s,value:d}))):o().createElement(l.Typography.Text,w(O({code:!0},r),{className:n}),t)},P=function(e){var t=e.className,n=/language-(\w+)/.exec(t||""),r=n?n[1]:"",l=p.J.use.currentConversation(),a=(0,f.Y)(l);return a.use.editorRef()[a.use.currentEditorRefUid()]&&(0,u._t)(r)?o().createElement(v,e):o().createElement(x,e)}},8007:function(e,t,n){n.r(t),n.d(t,{DataModelingModal:function(){return el}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(3079),c=n(4281),u=n(3870),s=n(5407),f=n(9009),p=n(7757),d=n.n(p);n(7695);var y=n(3342),m=n(5230),b=n(5477);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function v(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function O(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||E(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e,t){if(e){if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}}function j(){var e,t,n=(e=["\n width: 100%;\n height: 100%;\n svg:not(:root) {\n overflow: unset;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return j=function(){return n},n}var S=new(d()),x={collection:function(e){var t=e.data,n=(0,y.useToken)().token,r=(0,y.useApp)(),c=(0,i.kj)(),s=r.dataSourceManager.collectionFieldInterfaceManager,f={top:"50%",transform:"translateY(-50%)",width:8,height:8,opacity:0,pointerEvents:"none"};return o().createElement(l.Card,{size:"small",title:o().createElement("div",{style:{position:"relative"}},o().createElement(u.h7,{type:"target",position:u.yX.Left,id:t.name,style:f}),t.title," ",o().createElement("span",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},t.name),o().createElement(u.h7,{type:"source",position:u.yX.Right,id:t.name,style:f})),styles:{body:{padding:0,minWidth:"200px"}}},o().createElement(l.List,{dataSource:t.fields,size:"small",renderItem:function(e){var r=s.getFieldInterface(e.interface);return o().createElement(l.List.Item,{style:{position:"relative"}},o().createElement(l.Flex,{justify:"space-between",gap:"large",style:{width:"100%"}},o().createElement(u.h7,{type:"source",position:u.yX.Right,id:"".concat(t.name,"-").concat(e.name),style:f}),o().createElement(l.Flex,{vertical:!0},o().createElement("div",null,e.title,e.primaryKey?o().createElement(a.KeyOutlined,{style:{marginLeft:"4px"}}):""),o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},e.name)),o().createElement(l.Flex,{vertical:!0,align:"flex-end"},o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextSecondary}},(null==r?void 0:r.title)?m.Schema.compile(r.title,{t:c}):""),o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},e.type))))}}))}},P=function(e,t){var n;return(n=function(){var n,r;return function(e,t){var n,r,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),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=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++,r=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],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(o){return n=!t.length,r={id:"root",layoutOptions:{"elk.algorithm":t.length?"org.eclipse.elk.layered":"org.eclipse.elk.box"},children:e.map(function(e){return O(h({},e),{targetPosition:n?"left":"top",sourcePosition:n?"right":"bottom",width:320,height:50*(e.data.fields.length+1)})}),edges:t},[2,S.layout(r).then(function(e){return{nodes:e.children.map(function(e){return O(h({},e),{position:{x:e.x,y:e.y}})}),edges:e.edges}}).catch(console.error)]})},function(){var e=this,t=arguments;return new Promise(function(r,o){var l=n.apply(e,t);function a(e){v(l,r,o,a,i,"next",e)}function i(e){v(l,r,o,a,i,"throw",e)}a(void 0)})})()},k=function(e){var t=new Map(e.map(function(e){return[e.name,e]})),n=new Set,r=!0,o=!1,l=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var c=a.value;c.autoGenId&&c.fields.unshift({name:"id",interface:"id",type:"bigInt",title:"ID",primaryKey:!0,autoIncrement:!0})}}catch(e){o=!0,l=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw l}}var u=e.map(function(e){var t;return{id:e.name,type:"collection",position:{x:0,y:0},data:{title:e.title,name:e.name,fields:function(e){if(Array.isArray(e))return g(e)}(t=e.fields)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||E(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}}}),s=[],f=function(e,t){var r="".concat(e,"-").concat(t),o="".concat(t,"-").concat(e);n.has(r)||n.has(o)||(s.push({id:r,source:e,sourceHandle:e,target:t,targetHandle:t,type:"smoothstep",animated:!0}),n.add(r))},p=!0,d=!1,y=void 0;try{for(var m,b=e[Symbol.iterator]();!(p=(m=b.next()).done);p=!0){var v=m.value,h=!0,O=!1,w=void 0;try{for(var j,S=v.fields[Symbol.iterator]();!(h=(j=S.next()).done);h=!0){var x=j.value,k=x.type,I=x.target,C=x.through;I!==v.name&&("belongsToMany"===k&&C&&t.has(C)?(f(v.name,C),f(C,I)):I&&f(v.name,I))}}catch(e){O=!0,w=e}finally{try{h||null==S.return||S.return()}finally{if(O)throw w}}}}catch(e){d=!0,y=e}finally{try{p||null==b.return||b.return()}finally{if(d)throw y}}return P(u,s)},I=function(e){var t=e.collections,n=(0,y.useGlobalTheme)().isDarkTheme,l=w((0,u.ck)([]),3),a=l[0],i=l[1],c=l[2],p=w((0,u.fM)([]),3),d=p[0],m=p[1];return p[2],(0,r.useEffect)(function(){k(t).then(function(e){var t=e.nodes,n=e.edges;i(t),m(n)}).catch(function(e){return console.error("Error laying out elements:",e)})},[t]),o().createElement("div",{className:(0,b.css)(j())},o().createElement(u.Gc,{nodes:a,edges:d,nodeTypes:x,fitView:!0,panOnDrag:!0,zoomOnScroll:!0,proOptions:{hideAttribution:!0},onNodesChange:c,colorMode:n?"dark":"light"},o().createElement(s.V,null),o().createElement(f.H,{position:"top-right"})))};function C(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function R(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var T=function(){var e=(0,y.useDataSourceManager)(),t=(0,i.kj)();return(0,r.useMemo)(function(){var n,r=e.collectionFieldInterfaceManager.getFieldInterfaces(),o=e.collectionFieldInterfaceManager.getFieldInterfaceGroups();return n=r.reduce(function(e,t){var n=t.group||"basic";return e[n]||(e[n]=[]),e[n].push(t),e},{}),Object.keys(o).map(function(e){var r=o[e];return R(C({},r),{label:m.Schema.compile(r.label,{t:t}),key:e,options:Object.keys(n[e]||{}).filter(function(t){return!n[e][t].hidden}).map(function(r){var o=n[e][r];return R(C({},n[e][r]),{key:"".concat(e,"-").concat(o.name),value:o.name,label:m.Schema.compile(o.title,{t:t})})}).sort(function(e,t){return e.order-t.order})})}).filter(function(e){return e.options.length>0}).sort(function(e,t){return e.order-t.order})},[e])};function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function F(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){F(e,t,n[t])})}return e}function z(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function K(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return A(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return A(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function B(){var e,t,n=(e=["\n .editable-cell {\n position: relative;\n }\n\n .editable-cell-value-wrap {\n padding: 5px 12px;\n cursor: pointer;\n }\n\n &:hover .editable-cell-value-wrap {\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n padding: 4px 11px;\n }\n\n [data-theme='dark'] &:hover .editable-cell-value-wrap {\n border: 1px solid #434343;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return B=function(){return n},n}var L=(0,b.cx)("editable-row",(0,b.css)(B())),G=o().createContext(null),_=function(e){e.index;var t=K(e,["index"]),n=N(l.Form.useForm(),1)[0];return o().createElement(l.Form,{form:n,component:!1},o().createElement(G.Provider,{value:n},o().createElement("tr",t)))},H=function(e){var t=e.title,n=e.editable,a=e.EditComponent,i=e.ReadComponent,c=e.children,u=e.dataIndex,s=e.record,f=(e.collectionIndex,e.handleSave),p=K(e,["title","editable","EditComponent","ReadComponent","children","dataIndex","record","collectionIndex","handleSave"]),d=N((0,r.useState)(!1),2),y=d[0],m=d[1],b=(0,r.useRef)(null),g=(0,r.useContext)(G);(0,r.useEffect)(function(){if(y){var e;null==(e=b.current)||e.focus()}},[y]);var v=function(){m(!y),g.setFieldsValue(F({},u,s[u]))},h=function(){var e;return(e=function(){var e;return function(e,t){var n,r,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),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=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++,r=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],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,g.validateFields()];case 1:return e=t.sent(),v(),f(M({},s,e)),[3,3];case 2:return console.log("Save failed:",t.sent()),[3,3];case 3:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){D(l,r,o,a,i,"next",e)}function i(e){D(l,r,o,a,i,"throw",e)}a(void 0)})})()},O=(null==i?void 0:i(s))||c;if(n){var w=(null==a?void 0:a(z(M({},s),{save:h,ref:b})))||o().createElement(l.Input,{ref:b,onPressEnter:h,onBlur:h});O=y?o().createElement(l.Form.Item,{style:{margin:0},name:u,rules:[{required:!0,message:"".concat(t," is required.")}]},w):o().createElement("div",{className:"editable-cell-value-wrap",style:{paddingInlineEnd:24},onClick:v},O)}return o().createElement("td",p,O)},U=function(e){var t=(0,i.kj)();return[{title:t("Collection display name"),dataIndex:"title",key:"title",width:200,editable:!0},{title:t("Collection name"),dataIndex:"name",key:"name",width:150,editable:!0},{title:t("Collection template"),dataIndex:"template",key:"template",width:150,render:function(e){if(!e)return null;var n=e.charAt(0).toUpperCase()+e.slice(1);return o().createElement(l.Tag,null,t("".concat(n," collection")))}},{title:t("Preset fields"),key:"preset",width:300,render:function(e,n){var r=[];return!1!==n.autoGenId&&r.push("id"),!1!==n.createdAt&&r.push("createdAt"),!1!==n.updatedAt&&r.push("updatedAt"),n.createdBy&&r.push("createdBy"),n.updatedBy&&r.push("updatedBy"),o().createElement(l.Checkbox.Group,{options:[{label:"ID",value:"id"},{label:t("Created at"),value:"createdAt"},{label:t("Last updated at"),value:"updatedAt"},{label:t("Created by"),value:"createdBy"},{label:t("Last updated by"),value:"updatedBy"}],defaultValue:r,disabled:!0})}},{title:t("Description"),dataIndex:"description",key:"description",width:350}].map(function(t){return t.editable?z(M({},t),{onCell:function(n,r){return{record:n,editable:t.editable,dataIndex:t.dataIndex,title:t.title,handleSave:function(t){return e(r,t)}}}}):t})},V=function(e,t,n){var r=(0,i.kj)(),a=(0,y.useApp)().dataSourceManager.collectionFieldInterfaceManager;return[l.Table.EXPAND_COLUMN,{title:r("Field display name"),dataIndex:"title",width:200,key:"title",editable:!0},{title:r("Field name"),dataIndex:"name",key:"name",width:150,editable:!0},{title:r("Field interface"),width:200,dataIndex:"interface",key:"interface",editable:!0,EditComponent:function(t){var n=t.interface,i=t.save,c=t.ref,u=(0,y.useRequest)({url:"app:getInfo"}),s=T(),f=a.getFieldInterface(n),p=((0,(0,y.useCollectionManager_deprecated)().getTemplate)(e.template)||{}).availableFieldInterfaces||{},d=p.exclude,b=p.include,g=[];return s.forEach(function(t){if("systemInfo"===t.key)g.push(z(M({},t),{options:t.options.filter(function(t){var n,r,o;return!t.hidden&&("tableoid"!==t.value?"boolean"!=typeof e[t.value]||e[t.value]:(null==b?void 0:b.length)?b.includes(t.value):(null==(o=u.data)||null==(r=o.data)||null==(n=r.database)?void 0:n.dialect)==="postgres")})}));else{var n,r=[];(null==b?void 0:b.length)?b.forEach(function(e){var n,o=null==t||null==(n=t.options)?void 0:n.find(function(t){return[e,e.interface].includes(t.name)});o&&r.push(z(M({},o),{targetScope:null==e?void 0:e.targetScope}))}):r=(null==d?void 0:d.length)?null==t||null==(n=t.options)?void 0:n.filter(function(e){return!d.includes(e.name)}):null==t?void 0:t.options,(null==r?void 0:r.length)&&g.push(z(M({},t),{options:r.filter(function(e){return!["o2o","subTable","linkTo"].includes(e.name)})}))}}),o().createElement(l.Select,{ref:c,options:g,defaultValue:f?m.Schema.compile(f.title,{t:r}):n,onBlur:i})},ReadComponent:function(e){var t=e.interface;if(!t)return null;var n=a.getFieldInterface(t);return o().createElement(l.Tag,null,n?m.Schema.compile(n.title,{t:r}):t)}},{title:r("Description"),dataIndex:"description",key:"description",width:350}].map(function(e){return e.editable?z(M({},e),{onCell:function(r,o){return{record:r,editable:e.editable,dataIndex:e.dataIndex,title:e.title,EditComponent:e.EditComponent,ReadComponent:e.ReadComponent,handleSave:function(e){return n(t,o,e)}}}}):e})},$=function(e){var t=e.record,n=l.theme.useToken().token;return o().createElement(o().Fragment,null,t.enum&&o().createElement("div",null,o().createElement("span",{style:{color:n.colorTextSecondary,marginRight:"8px",marginLeft:"48px"}},"Enumurations:"),t.enum.map(function(e){return o().createElement(l.Tag,{key:e.value},e.label," (",e.value,")")})),t.target&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"Target:"),o().createElement("span",null,t.target)),t.targetKey&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"TargetKey:"),o().createElement("span",null,t.targetKey)),t.sourceKey&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"SourceKey:"),o().createElement("span",null,t.sourceKey)),t.foreignKey&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"ForeignKey:"),o().createElement("span",null,t.foreignKey)),t.otherKey&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"OtherKey:"),o().createElement("span",null,t.otherKey)))},J=function(e){var t=e.record,n=V(t,e.collectionIndex,e.updateFieldRecord);return o().createElement(l.Table,{rowKey:"name",rowClassName:L,columns:n,components:{body:{row:_,cell:H}},dataSource:t.fields,pagination:!1,expandable:{rowExpandable:function(e){var t;return(null==(t=e.enum)?void 0:t.length)>0||["m2m","m2o","o2m","o2o"].includes(e.interface)},expandedRowRender:function(e){return o().createElement($,{record:e})}}})},X=function(e){var t=e.collections,n=e.updateCollectionRecord,r=e.updateFieldRecord,a=U(n);return o().createElement(l.Table,{scroll:{y:"55vh"},style:{height:"65vh"},rowKey:"name",rowClassName:L,columns:a,dataSource:t,components:{body:{row:_,cell:H}},expandable:{expandedRowRender:function(e,t){return o().createElement(J,{record:e,collectionIndex:t,updateFieldRecord:r})},rowExpandable:function(e){return e.fields&&e.fields.length>0}}})},Y=n(107);function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function W(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function Q(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){W(l,r,o,a,i,"next",e)}function i(e){W(l,r,o,a,i,"throw",e)}a(void 0)})}}function Z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function ee(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function et(e){return function(e){if(Array.isArray(e))return q(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return q(e,void 0);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 q(e,void 0)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function en(e,t){var n,r,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),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=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++,r=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],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var er=function(e){var t=(0,y.useApp)().dataSourceManager.collectionFieldInterfaceManager;return(0,r.useMemo)(function(){var n=[],r=!0,o=!1,l=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var c,u=a.value,s=(null==(c=u.fields)?void 0:c.map(function(e){var n,r,o=t.getFieldInterface(e.interface);return o&&(e.type=e.type||(null==(n=o.default)?void 0:n.type),e.uiSchema=e.uiSchema||(null==(r=o.default)?void 0:r.uiSchema)),e.uiSchema=ee(Z({},e.uiSchema),{title:e.title}),e.enum&&(e.uiSchema=ee(Z({},e.uiSchema),{enum:e.enum})),e}))||[];n.push(ee(Z({},u),{hidden:!1,fields:s}))}}catch(e){o=!0,l=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw l}}return n},[e])},eo=function(e){var t=e.children;return o().createElement("div",{style:{height:"70vh",overflowY:"auto"}},t)},el=function(e){var t,n=e.tool,u=e.saveToolArgs,s=(0,i.kj)(),f=er("string"==((t=n.args.collections)&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)?JSON.parse(n.args.collections):n.args.collections),p=Y.y.use.setAdjustArgs(),d={updateCollectionRecord:(0,r.useCallback)(function(e,t){return Q(function(){var r;return en(this,function(o){return(r=et(n.args.collections))[e]&&(r[e]=Z({},r[e],t),u(ee(Z({},n.args),{collections:r}))),[2]})})()},[n,u]),updateFieldRecord:(0,r.useCallback)(function(e,t,r){return Q(function(){var o,l,a,i;return en(this,function(c){return(null==(l=(a=et(n.args.collections))[e])||null==(o=l.fields)?void 0:o[t])&&(i=a[e].fields[t],a[e].fields[t]=Z({},i,r),u(ee(Z({},n.args),{collections:a}))),[2]})})()},[n,u])},y=d.updateCollectionRecord,m=d.updateFieldRecord;(0,r.useEffect)(function(){p(ee(Z({},n.args),{collections:f}))},[n.args,n.args.collections,p]);var b=[{key:"collections",label:s("Collections"),icon:o().createElement(a.DatabaseOutlined,null),children:o().createElement(X,{collections:f,updateCollectionRecord:y,updateFieldRecord:m})},{key:"graph",icon:o().createElement(a.NodeIndexOutlined,null),label:s("Diagram"),children:o().createElement(eo,null,o().createElement(I,{collections:f}))},{key:"definition",icon:o().createElement(a.FileTextOutlined,null),label:"Definition",children:o().createElement(eo,null,o().createElement(c.Rs,{language:"json",value:JSON.stringify(f,null,2)}))}];return o().createElement(l.Tabs,{defaultActiveKey:"1",items:b})}}}]);
@@ -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([["486"],{9461:function(e,t,r){r.r(t),r.d(t,{WorkflowTaskOutputCard:function(){return g}});var n=r(9155),o=r.n(n),u=r(3342),a=r(2059),l=r(3079),i=r(7821),s=r(7596),c=r(283),f=r(4181);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 d(e,t,r,n,o,u,a){try{var l=e[u](a),i=l.value}catch(e){r(e);return}l.done?t(i):Promise.resolve(i).then(n,o)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var u=e.apply(t,r);function a(e){d(u,n,o,a,l,"next",e)}function l(e){d(u,n,o,a,l,"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 v(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 u=[],a=!0,l=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(u.push(r.value),!t||u.length!==t);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(l)throw n}}return u}}(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 w(e,t){var r,n,o,u={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),l=Object.defineProperty;return l(a,"next",{value:i(0)}),l(a,"throw",{value:i(1)}),l(a,"return",{value:i(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function i(l){return function(i){var s=[l,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(u=0)),u;)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 u.label++,{value:s[1],done:!1};case 5:u.label++,n=s[1],s=[0];continue;case 7:s=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){u=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){u.label=s[1];break}if(6===s[0]&&u.label<o[1]){u.label=o[1],o=s;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(s);break}o[2]&&u.ops.pop(),u.trys.pop();continue}s=t.call(e,u)}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 k=(0,u.lazy)(function(){return Promise.all([r.e("687"),r.e("792")]).then(r.bind(r,931))},"Markdown").Markdown,m=function(e){if(!e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch(e){return console.error("Failed to parse workflow task output schema",e),null}return e},g=function(e){var t,r,p=e.toolCall,d=e.decisions,g=(0,l.kj)(),S=(0,u.useCompile)(),O=(0,u.useAPIClient)(),T=s.J.use.currentConversation(),j=f.u.use.currentWorkflowTask(),C=(0,c.h)().getWorkflowTaskBySession,E=h((0,n.useState)(null),2),P=E[0],A=E[1],I=i.I.use.readonly(),x="interrupted"!==p.invokeStatus||!!P||I,W=i.I.use.senderRef(),J=i.I.use.setShowSenderHint(),R=j&&j.sessionId===T?j:void 0,M=(0,u.useRequest)(function(){return y(function(){return w(this,function(e){switch(e.label){case 0:if(R||!T)return[2,null];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,C(T)];case 2:return[2,e.sent()];case 3:return e.sent(),[2,null];case 4:return[2]}})})()},{refreshDeps:[null==R?void 0:R.sessionId,T]}),_=M.data,B=M.loading,D=null!=(t=null!=R?R:_)?t:void 0,U=m(null==D?void 0:D.structuredOutputSchema),$=null==(r=p.args)?void 0:r.result,F=(0,n.useMemo)(function(){return(null==U?void 0:U.properties)&&$&&(void 0===$?"undefined":$&&"u">typeof Symbol&&$.constructor===Symbol?"symbol":typeof $)=="object"?Object.entries(U.properties).map(function(e){var t,r=h(e,2),n=r[0],u=r[1];return{key:n,label:S(null==u?void 0:u.title)||n,children:null==(t=$[n])||""===t?"-":"string"==typeof t||"number"==typeof t||"boolean"==typeof t?o().createElement("div",{style:{width:"100%",overflowX:"auto"}},o().createElement(k,{message:{content:String(t)}})):o().createElement("div",{style:{width:"100%",overflowX:"auto"}},o().createElement(a.Typography.Text,{style:{whiteSpace:"pre-wrap"}},JSON.stringify(t,null,2)))}}):[]},[$,U,S]),N={size:"small",variant:"link",disabled:x||null!=P};return o().createElement(a.Card,{loading:!R&&B,style:{margin:"12px 0"},title:o().createElement(a.Space,{split:"-",wrap:!0},o().createElement(a.Typography.Text,null,(null==D?void 0:D.workflowTitle)||g("Task executing")),(null==D?void 0:D.nodeTitle)?o().createElement(a.Typography.Text,null,D.nodeTitle):null),actions:[o().createElement(a.Button,v(b({},N),{key:"reject",color:"danger",loading:"reject"===P,onClick:function(){return y(function(){return w(this,function(e){switch(e.label){case 0:A("reject"),e.label=1;case 1:if(e.trys.push([1,,5,6]),!(null==D?void 0:D.id))return[3,3];return[4,O.resource("aiWorkflowTasks").reject({values:{id:D.id,result:g("The user rejected the execution of this workflow node.",{ns:l.MF})}})];case 2:e.sent(),e.label=3;case 3:return[4,d.reject("The user rejected this workflow node. Stop. Do not continue, do not reply about the task result, and do not call this tool again. Only state that you understand.")];case 4:return e.sent(),[3,6];case 5:return A(null),[7];case 6:return[2]}})})()}}),g("Reject",{ns:l.MF})),o().createElement(a.Button,v(b({},N),{key:"revise",color:"default",loading:"revise"===P,onClick:function(){return y(function(){var e;return w(this,function(t){A("reject");try{J(!0),null==W||null==(e=W.current)||e.focus()}finally{A(null)}return[2]})})()}}),g("Revise",{ns:l.MF})),o().createElement(a.Button,v(b({},N),{key:"approve",color:"primary",loading:"approve"===P,onClick:function(){return y(function(){return w(this,function(e){switch(e.label){case 0:A("approve"),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,d.approve()];case 2:return e.sent(),[3,4];case 3:return A(null),[7];case 4:return[2]}})})()}}),g("Approve",{ns:l.MF}))]},D?o().createElement(a.Descriptions,{layout:"vertical",column:1,items:F}):o().createElement(a.Skeleton,{active:!0}))}},283:function(e,t,r){r.d(t,{h:function(){return h}});var n,o=r(9155),u=r(3342),a=r(4181),l=r(3559),i=r(7821),s=r(1990);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t,r,n,o,u,a){try{var l=e[u](a),i=l.value}catch(e){r(e);return}l.done?t(i):Promise.resolve(i).then(n,o)}function p(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var u=e.apply(t,r);function a(e){f(u,n,o,a,l,"next",e)}function l(e){f(u,n,o,a,l,"throw",e)}a(void 0)})}}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return c(e,void 0);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 c(e,void 0)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){var r,n,o,u={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),l=Object.defineProperty;return l(a,"next",{value:i(0)}),l(a,"throw",{value:i(1)}),l(a,"return",{value:i(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function i(l){return function(i){var s=[l,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(u=0)),u;)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 u.label++,{value:s[1],done:!1};case 5:u.label++,n=s[1],s=[0];continue;case 7:s=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){u=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){u.label=s[1];break}if(6===s[0]&&u.label<o[1]){u.label=o[1],o=s;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(s);break}o[2]&&u.ops.pop(),u.trys.pop();continue}s=t.call(e,u)}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 v=(d(n={},s.JOB_STATUS.PENDING,["processing","pending_acceptance","pending_approval"]),d(n,s.JOB_STATUS.RESOLVED,["approved"]),d(n,s.JOB_STATUS.REJECTED,["rejected"]),d(n,s.JOB_STATUS.ABORTED,["aborted"]),n),h=function(){var e,t,r,n,s=(0,u.useAPIClient)().resource("aiWorkflowTasks"),c=a.u.use.workflowTasks(),f=a.u.use.currentWorkflowTask(),d=a.u.use.unreadCount(),h=a.u.use.loading(),w=a.u.use.keyword(),k=a.u.use.selectedJobStatus(),m=a.u.use.setWorkflowTasks(),g=a.u.use.setCurrentWorkflowTask(),S=a.u.use.setUnreadCount(),O=a.u.use.setLoading(),T=a.u.use.setKeyword(),j=a.u.use.setSelectedJobStatus(),C=(0,u.useRequest)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2?arguments[2]:void 0;return p(function(){var n,o,u;return b(this,function(a){switch(a.label){case 0:n={},t&&(n.$or=[{workflowTitle:{$includes:t}},{nodeTitle:{$includes:t}},{status:{$includes:t}}]),(null==(o="number"==typeof r?v[r]:void 0)?void 0:o.length)&&(n.status={$in:o}),a.label=1;case 1:return a.trys.push([1,3,4,5]),O(!0),[4,s.list({sort:["-updatedAt"],page:e,pageSize:15,filter:n})];case 2:return[2,null==(u=a.sent())?void 0:u.data];case 3:throw a.sent();case 4:return O(!1),[7];case 5:return[2]}})})()},{manual:!0,onSuccess:function(e,t){var r=t[0]||1,n=(null==e?void 0:e.data)||[];1===r?m(n):m(function(e){var t=new Set(e.map(function(e){return e.sessionId})),r=n.filter(function(e){return!t.has(e.sessionId)});return y(e).concat(y(r))})}}),E=(0,u.useRequest)(function(){return p(function(){var e,t,r;return b(this,function(n){switch(n.label){case 0:return[4,s.unreadCount()];case 1:return S((null==(r=n.sent())||null==(t=r.data)||null==(e=t.data)?void 0:e.count)||0),[2]}})})()},{manual:!0}),P=(0,o.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";T(e),C.run(1,e,k)},[k,T,C]),A=(0,o.useCallback)(function(){C.run(1,w||"",k),E.run()},[w,k,E,C]),I=(0,o.useCallback)(function(e){j(e),C.run(1,w||"",e)},[w,j,C]),x=(0,o.useRef)(C);x.current=C;var W=(0,o.useCallback)(function(){return p(function(){var e,t,r;return b(this,function(n){switch(n.label){case 0:if(r=null==(e=(t=x.current).data)?void 0:e.meta,t.loading||r&&r.page>=r.totalPage)return[2];return[4,t.runAsync((null==r?void 0:r.page)?r.page+1:1,w||"",k)];case 1:return n.sent(),[2]}})})()},[w,k]),J=(0,l.d)({loadMore:W}).ref,R=null!=(t=C.data)&&null!=(e=t.meta)&&!!e.page&&null!=(n=C.data)&&null!=(r=n.meta)&&!!r.totalPage&&C.data.meta.page<C.data.meta.totalPage,M=(0,o.useCallback)(function(e){return p(function(){return b(this,function(t){switch(t.label){case 0:return[4,s.accept({values:{sessionId:e}}).catch(function(){})];case 1:return t.sent(),[2]}})})()},[s]),_=(0,o.useCallback)(function(e){return p(function(){var t,r,n,o;return b(this,function(u){switch(u.label){case 0:return[4,s.getBySession({values:{sessionId:e}})];case 1:return g(o=null!=(t=null==(n=u.sent())||null==(r=n.data)?void 0:r.data)?t:null==n?void 0:n.data),[2,o]}})})()},[g,s]),B=i.I.use.setReadonly(),D=(0,o.useCallback)(function(e){return p(function(){var t;return b(this,function(r){switch(r.label){case 0:return[4,M(e)];case 1:return r.sent(),[4,_(e)];case 2:return B((null==(t=r.sent())?void 0:t.readonly)===!0),[2]}})})()},[M,_,B]);return{loading:h,workflowTasks:c,unreadCount:d,selectedJobStatus:k,runSearch:P,runJobStatusFilter:I,refresh:A,hasMore:R,loadMoreWorkflowTasks:W,lastWorkflowTaskRef:J,acceptWorkflowTask:M,getWorkflowTaskBySession:_,updateReadonly:D,currentWorkflowTask:f,setCurrentWorkflowTask:g,setSelectedJobStatus:j}}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["486"],{9461:function(e,t,r){r.r(t),r.d(t,{WorkflowTaskOutputCard:function(){return m}});var n=r(9155),o=r.n(n),u=r(3342),a=r(2059),l=r(3079),i=r(7821),s=r(7596),c=r(283),f=r(4181);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 d(e,t,r,n,o,u,a){try{var l=e[u](a),i=l.value}catch(e){r(e);return}l.done?t(i):Promise.resolve(i).then(n,o)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var u=e.apply(t,r);function a(e){d(u,n,o,a,l,"next",e)}function l(e){d(u,n,o,a,l,"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 v(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 u=[],a=!0,l=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(u.push(r.value),!t||u.length!==t);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(l)throw n}}return u}}(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 w(e,t){var r,n,o,u={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),l=Object.defineProperty;return l(a,"next",{value:i(0)}),l(a,"throw",{value:i(1)}),l(a,"return",{value:i(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function i(l){return function(i){var s=[l,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(u=0)),u;)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 u.label++,{value:s[1],done:!1};case 5:u.label++,n=s[1],s=[0];continue;case 7:s=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){u=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){u.label=s[1];break}if(6===s[0]&&u.label<o[1]){u.label=o[1],o=s;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(s);break}o[2]&&u.ops.pop(),u.trys.pop();continue}s=t.call(e,u)}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 k=(0,u.lazy)(function(){return Promise.all([r.e("687"),r.e("792")]).then(r.bind(r,931))},"Markdown").Markdown,g=function(e){if(!e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch(e){return console.error("Failed to parse workflow task output schema",e),null}return e},m=function(e){var t,r,p=e.toolCall,d=e.decisions,m=(0,l.kj)(),S=(0,u.useCompile)(),O=(0,u.useAPIClient)(),T=s.J.use.currentConversation(),j=f.u.use.currentWorkflowTask(),C=(0,c.h)().getWorkflowTaskBySession,E=h((0,n.useState)(null),2),P=E[0],A=E[1],I=i.I.use.readonly(),x="interrupted"!==p.invokeStatus||!!P||I,R=i.I.use.senderRef(),W=i.I.use.setShowSenderHint(),J=j&&j.sessionId===T?j:void 0,M=(0,u.useRequest)(function(){return y(function(){return w(this,function(e){switch(e.label){case 0:if(J||!T)return[2,null];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,C(T)];case 2:return[2,e.sent()];case 3:return e.sent(),[2,null];case 4:return[2]}})})()},{refreshDeps:[null==J?void 0:J.sessionId,T]}),_=M.data,B=M.loading,D=null!=(t=null!=J?J:_)?t:void 0,$=g(null==D?void 0:D.structuredOutputSchema),F=null==(r=p.args)?void 0:r.result,U=(0,n.useMemo)(function(){return(null==$?void 0:$.properties)&&F&&(void 0===F?"undefined":F&&"u">typeof Symbol&&F.constructor===Symbol?"symbol":typeof F)=="object"?Object.entries($.properties).map(function(e){var t,r=h(e,2),n=r[0],u=r[1];return{key:n,label:S(null==u?void 0:u.title)||n,children:null==(t=F[n])||""===t?"-":"string"==typeof t||"number"==typeof t||"boolean"==typeof t?o().createElement("div",{style:{width:"100%",overflowX:"auto"}},o().createElement(k,{message:{content:String(t)}})):o().createElement("div",{style:{width:"100%",overflowX:"auto"}},o().createElement(a.Typography.Text,{style:{whiteSpace:"pre-wrap"}},JSON.stringify(t,null,2)))}}):[]},[F,$,S]),N={size:"small",variant:"link",disabled:x||null!=P};return o().createElement(a.Card,{loading:!J&&B,style:{margin:"12px 0"},title:o().createElement(a.Space,{split:"-",wrap:!0},o().createElement(a.Typography.Text,null,(null==D?void 0:D.workflowTitle)||m("Task executing")),(null==D?void 0:D.nodeTitle)?o().createElement(a.Typography.Text,null,D.nodeTitle):null),actions:[o().createElement(a.Button,v(b({},N),{key:"reject",color:"danger",loading:"reject"===P,onClick:function(){return y(function(){return w(this,function(e){switch(e.label){case 0:A("reject"),e.label=1;case 1:if(e.trys.push([1,,5,6]),!(null==D?void 0:D.id))return[3,3];return[4,O.resource("aiWorkflowTasks").reject({values:{id:D.id,result:m("The user rejected the execution of this workflow node.",{ns:l.MF})}})];case 2:e.sent(),e.label=3;case 3:return[4,d.reject("The user rejected this workflow node. Stop. Do not continue, do not reply about the task result, and do not call this tool again. Only state that you understand.")];case 4:return e.sent(),[3,6];case 5:return A(null),[7];case 6:return[2]}})})()}}),m("Reject",{ns:l.MF})),o().createElement(a.Button,v(b({},N),{key:"revise",color:"default",loading:"revise"===P,onClick:function(){return y(function(){var e;return w(this,function(t){A("reject");try{W(!0),null==R||null==(e=R.current)||e.focus()}finally{A(null)}return[2]})})()}}),m("Revise",{ns:l.MF})),o().createElement(a.Button,v(b({},N),{key:"approve",color:"primary",loading:"approve"===P,onClick:function(){return y(function(){return w(this,function(e){switch(e.label){case 0:A("approve"),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,d.approve()];case 2:return e.sent(),[3,4];case 3:return A(null),[7];case 4:return[2]}})})()}}),m("Approve",{ns:l.MF}))]},D?o().createElement(a.Descriptions,{layout:"vertical",column:1,items:U}):o().createElement(a.Skeleton,{active:!0}))}},283:function(e,t,r){r.d(t,{h:function(){return h}});var n,o=r(9155),u=r(3342),a=r(4181),l=r(3559),i=r(7821),s=r(1990);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t,r,n,o,u,a){try{var l=e[u](a),i=l.value}catch(e){r(e);return}l.done?t(i):Promise.resolve(i).then(n,o)}function p(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var u=e.apply(t,r);function a(e){f(u,n,o,a,l,"next",e)}function l(e){f(u,n,o,a,l,"throw",e)}a(void 0)})}}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return c(e,void 0);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 c(e,void 0)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){var r,n,o,u={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),l=Object.defineProperty;return l(a,"next",{value:i(0)}),l(a,"throw",{value:i(1)}),l(a,"return",{value:i(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function i(l){return function(i){var s=[l,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(u=0)),u;)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 u.label++,{value:s[1],done:!1};case 5:u.label++,n=s[1],s=[0];continue;case 7:s=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){u=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){u.label=s[1];break}if(6===s[0]&&u.label<o[1]){u.label=o[1],o=s;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(s);break}o[2]&&u.ops.pop(),u.trys.pop();continue}s=t.call(e,u)}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 v=(d(n={},s.JOB_STATUS.PENDING,["processing","pending_acceptance","pending_approval"]),d(n,s.JOB_STATUS.RESOLVED,["approved"]),d(n,s.JOB_STATUS.REJECTED,["rejected"]),d(n,s.JOB_STATUS.ABORTED,["aborted"]),n),h=function(){var e,t,r,n,s=(0,u.useAPIClient)().resource("aiWorkflowTasks"),c=a.u.use.workflowTasks(),f=a.u.use.currentWorkflowTask(),d=a.u.use.unreadCount(),h=a.u.use.loading(),w=a.u.use.keyword(),k=a.u.use.selectedJobStatus(),g=a.u.use.setWorkflowTasks(),m=a.u.use.setCurrentWorkflowTask(),S=a.u.use.setLoading(),O=a.u.use.setKeyword(),T=a.u.use.setSelectedJobStatus(),j=(0,o.useRef)(w);j.current=w;var C=(0,o.useRef)(k);C.current=k;var E=(0,u.useRequest)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2?arguments[2]:void 0;return p(function(){var n,o,u;return b(this,function(a){switch(a.label){case 0:n={},t&&(n.$or=[{workflowTitle:{$includes:t}},{nodeTitle:{$includes:t}},{status:{$includes:t}}]),(null==(o="number"==typeof r?v[r]:void 0)?void 0:o.length)&&(n.status={$in:o}),a.label=1;case 1:return a.trys.push([1,3,4,5]),S(!0),[4,s.list({sort:["-updatedAt"],page:e,pageSize:15,filter:n})];case 2:return[2,null==(u=a.sent())?void 0:u.data];case 3:throw a.sent();case 4:return S(!1),[7];case 5:return[2]}})})()},{manual:!0,onSuccess:function(e,t){var r=t[0]||1,n=(null==e?void 0:e.data)||[];1===r?g(n):g(function(e){var t=new Set(e.map(function(e){return e.sessionId})),r=n.filter(function(e){return!t.has(e.sessionId)});return y(e).concat(y(r))})}}),P=(0,o.useRef)(E);P.current=E;var A=(0,o.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";O(e),E.run(1,e,k)},[k,O,E]),I=(0,o.useCallback)(function(){P.current.run(1,j.current||"",C.current)},[]),x=(0,o.useCallback)(function(e){T(e),E.run(1,w||"",e)},[w,T,E]),R=(0,o.useCallback)(function(){return p(function(){var e,t,r;return b(this,function(n){switch(n.label){case 0:if(r=null==(e=(t=P.current).data)?void 0:e.meta,t.loading||r&&r.page>=r.totalPage)return[2];return[4,t.runAsync((null==r?void 0:r.page)?r.page+1:1,w||"",k)];case 1:return n.sent(),[2]}})})()},[w,k]),W=(0,l.d)({loadMore:R}).ref,J=null!=(t=E.data)&&null!=(e=t.meta)&&!!e.page&&null!=(n=E.data)&&null!=(r=n.meta)&&!!r.totalPage&&E.data.meta.page<E.data.meta.totalPage,M=(0,o.useCallback)(function(e){return p(function(){return b(this,function(t){switch(t.label){case 0:return[4,s.accept({values:{sessionId:e}}).catch(function(){})];case 1:return t.sent(),[2]}})})()},[s]),_=(0,o.useCallback)(function(e){return p(function(){var t,r,n,o;return b(this,function(u){switch(u.label){case 0:return[4,s.getBySession({values:{sessionId:e}})];case 1:return m(o=null!=(t=null==(n=u.sent())||null==(r=n.data)?void 0:r.data)?t:null==n?void 0:n.data),[2,o]}})})()},[m,s]),B=i.I.use.setReadonly(),D=(0,o.useCallback)(function(e){return p(function(){var t;return b(this,function(r){switch(r.label){case 0:return[4,M(e)];case 1:return r.sent(),[4,_(e)];case 2:return B((null==(t=r.sent())?void 0:t.readonly)===!0),[2]}})})()},[M,_,B]);return{loading:h,workflowTasks:c,unreadCount:d,selectedJobStatus:k,runSearch:A,runJobStatusFilter:x,refresh:I,hasMore:J,loadMoreWorkflowTasks:R,lastWorkflowTaskRef:W,acceptWorkflowTask:M,getWorkflowTaskBySession:_,updateReadonly:D,currentWorkflowTask:f,setCurrentWorkflowTask:m,setSelectedJobStatus:T}}}}]);
@@ -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([["597"],{8668:function(e,t,r){r.d(t,{tH:function(){return i}});var n=r(9155);let o=(0,n.createContext)(null),s={didCatch:!1,error:null};class i extends n.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=s}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];null==(t=(r=this.props).onReset)||t.call(r,{args:o,reason:"imperative-api"}),this.setState(s)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var o,i;null==(o=(i=this.props).onReset)||o.call(i,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(s)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:s}=this.props,{didCatch:i,error:a}=this.state,c=e;if(i){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if((0,n.isValidElement)(s))c=s;else if("function"==typeof t)c=t(e);else if(r)c=(0,n.createElement)(r,e);else throw a}return(0,n.createElement)(o.Provider,{value:{didCatch:i,error:a,resetErrorBoundary:this.resetErrorBoundary}},c)}}},8612:function(e,t,r){r.r(t),r.d(t,{Echarts:function(){return m}});var n=r(9155),o=r.n(n),s=r(6803),i=r(3079),a=r(3342),c=r(8668),l=r(2059),u=r(7375),p=r(7546),h=r(7596);function f(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}var y=function(e){var t=e.error,r=(0,i.kj)(),n=h.J.use.currentConversation();return(0,p.Y)(n).use.responseLoading()?null:o().createElement(l.Alert,{showIcon:!0,type:"error",message:r("Invalid chart options"),description:o().createElement(o().Fragment,null,t.message," ",o().createElement(l.Button,{icon:o().createElement(u.CopyOutlined,null),variant:"link",color:"primary",onClick:function(){navigator.clipboard.writeText(t.message),l.message.success(r("Copied"))}}))})},m=function(e){var t=e.toolCall,r=(0,i.kj)(),n=(0,a.useToken)().token,l=(0,a.useGlobalTheme)().isDarkTheme,u={fontSize:n.fontSizeSM,color:n.colorText,borderWidth:0},p=d(f({},u),{color:n.colorLinkHover});return o().createElement(c.tH,{FallbackComponent:y,onError:function(e){return console.error(e,t.args)},resetKeys:[t.args.options]},o().createElement(s.A,{option:d(f({},t.args.options),{animation:!1,toolbox:{show:!0,feature:{saveAsImage:{title:r("Save as image"),icon:"path://".concat("M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"),iconStyle:u,emphasis:{iconStyle:p}}}}}),theme:l?"defaultDark":"light"}))}}}]);