@nocobase/plugin-ai 2.0.0-alpha.52 → 2.0.0-alpha.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build.config.ts +14 -0
- package/dist/client/adcb0e115e38e1a9.js +10 -0
- package/dist/client/ai-employees/admin/SystemPrompt.d.ts +10 -0
- package/dist/client/index.js +1 -1
- package/dist/externalVersion.js +11 -11
- package/dist/locale/en-US.json +5 -0
- package/dist/locale/zh-CN.json +5 -0
- package/dist/node_modules/@langchain/anthropic/package.json +1 -1
- package/dist/node_modules/@langchain/core/package.json +1 -1
- package/dist/node_modules/@langchain/deepseek/package.json +1 -1
- package/dist/node_modules/@langchain/google-genai/package.json +1 -1
- package/dist/node_modules/@langchain/ollama/index.cjs +1 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/Options.js +0 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/Refs.js +0 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/index.js +0 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parseDef.js +11 -5
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/any.js +2 -16
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/effects.js +1 -2
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/map.js +2 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/never.js +4 -10
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/object.js +2 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/optional.js +2 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/record.js +1 -2
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/undefined.js +2 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/parsers/unknown.js +2 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/selectParser.js +4 -4
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/zodToJsonSchema.js +3 -24
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/Options.js +0 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/Refs.js +0 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/index.js +0 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parseDef.js +10 -4
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +2 -16
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +1 -2
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +2 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +4 -10
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +2 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +2 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +1 -2
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +2 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +2 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/selectParser.js +4 -4
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +3 -24
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/Options.d.ts +0 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/Refs.d.ts +0 -3
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/errorMessages.d.ts +1 -5
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/index.d.ts +0 -1
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/parsers/any.d.ts +2 -5
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/parsers/never.d.ts +2 -4
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/parsers/undefined.d.ts +2 -4
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/parsers/unknown.d.ts +2 -4
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/package.json +1 -1
- package/dist/node_modules/@langchain/ollama/package.json +1 -1
- package/dist/node_modules/@langchain/openai/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/node_modules/zod-to-json-schema/package.json +1 -1
- package/dist/server/ai-employees/ai-employee.js +1 -1
- package/dist/server/ai-employees/built-in/ai-coding/prompt.js +14 -140
- package/dist/server/ai-employees/built-in/ai-coding/prompt_en.md +232 -0
- package/dist/server/ai-employees/built-in/data-modeling/prompt.js +4 -0
- package/dist/server/ai-employees/built-in/data-visualization/prompt.js +1 -1
- package/dist/server/ai-employees/built-in/email-assistant/prompt.js +1 -1
- package/dist/server/ai-employees/built-in/insights-analyst/prompt.js +1 -1
- package/dist/server/ai-employees/built-in/nocobase-assistant/prompt.js +11 -11
- package/dist/server/ai-employees/built-in/research-analyst/prompt.js +2 -4
- package/dist/server/ai-employees/built-in/translator/prompt.js +1 -1
- package/dist/server/llm-providers/anthropic.d.ts +2 -1
- package/dist/server/llm-providers/anthropic.js +2 -2
- package/dist/server/llm-providers/google-genai.d.ts +2 -1
- package/dist/server/llm-providers/google-genai.js +2 -2
- package/dist/server/llm-providers/provider.d.ts +2 -1
- package/dist/server/llm-providers/provider.js +2 -2
- package/dist/server/manager/ai-chat-conversation.js +1 -1
- package/dist/server/manager/built-in-manager.js +1 -1
- package/dist/server/resource/aiConversations.js +1 -1
- package/dist/server/resource/aiEmployees.d.ts +1 -0
- package/dist/server/resource/aiEmployees.js +15 -0
- package/dist/server/utils.d.ts +1 -1
- package/dist/server/utils.js +11 -2
- package/package.json +2 -2
- package/dist/client/bb7201dafbb7c875.js +0 -10
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/cjs/getRelativePath.js +0 -12
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +0 -8
- package/dist/node_modules/@langchain/ollama/node_modules/zod-to-json-schema/dist/types/getRelativePath.d.ts +0 -1
package/build.config.ts
CHANGED
|
@@ -161,5 +161,19 @@ export default defineConfig({
|
|
|
161
161
|
},
|
|
162
162
|
);
|
|
163
163
|
}
|
|
164
|
+
|
|
165
|
+
log('copying markdown files from src/server to dist/server');
|
|
166
|
+
await fs.copy(
|
|
167
|
+
path.resolve(__dirname, 'src/server/ai-employees'),
|
|
168
|
+
path.resolve(__dirname, 'dist/server/ai-employees'),
|
|
169
|
+
{
|
|
170
|
+
overwrite: true,
|
|
171
|
+
filter: (src) => {
|
|
172
|
+
// Keep directory structure and only copy .md files
|
|
173
|
+
if (fs.lstatSync(src).isDirectory()) return true;
|
|
174
|
+
return src.endsWith('.md');
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
);
|
|
164
178
|
},
|
|
165
179
|
});
|
|
@@ -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([["862"],{7839:function(e,t,n){n.r(t),n.d(t,{Employees:function(){return ey}});var r=n(8156),o=n.n(r),a=n(2721),l=n(3772),i=n(3990),c=n(3505),s=n(7097),u=n(4582),p=function(e){var t,n=(0,l.usePlugin)(u.default).aiManager.llmProviders.get(e);return null==n||null==(t=n.components)?void 0:t.ModelSettingsForm},m=(0,c.observer)(function(){var e,t,n,r,a=(0,c.useForm)(),i=(0,l.useAPIClient)(),s=(0,l.useRequest)(function(){var e,t;return i.resource("llmServices").get({filterByTk:null==(t=a.values)||null==(e=t.modelSettings)?void 0:e.llmService}).then(function(e){var t;return null==e||null==(t=e.data)?void 0:t.data})},{ready:!!(null==(t=a.values)||null==(e=t.modelSettings)?void 0:e.llmService),refreshDeps:[null==(r=a.values)||null==(n=r.modelSettings)?void 0:n.llmService]}),u=s.data,m=s.loading,d=p(null==u?void 0:u.provider);return m?null:d?o().createElement(d,null):null},{displayName:"AIEmployeeModelOptionsForm"}),d=function(){var e=(0,i.NT)();return o().createElement(l.SchemaComponent,{scope:{t:e},components:{ModelOptions:m},schema:{type:"object",name:"modelSettings",properties:{llmService:{type:"string",title:'{{t("LLM service")}}',required:!0,"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{manual:!1,fieldNames:{label:"title",value:"name"},service:{resource:"llmServices",action:"list",params:{fields:["title","name"]}}}},settings:{type:"void","x-component":"ModelOptions"}}}})},f=n(9527),y=n.n(f),v=n(4964);function b(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 g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b(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 b(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 x(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function h(){var e=x(["\n border-color: "," !important;\n "]);return h=function(){return e},e}function S(){var e=x(["\n cursor: pointer;\n &:hover {\n border-color: "," !important;\n }\n "]);return S=function(){return e},e}function E(){var e=x(["\n border: 2px solid "," !important;\n "]);return E=function(){return e},e}function A(){var e=x(["\n cursor: pointer;\n &:hover {\n border: 2px solid "," !important;\n }\n "]);return A=function(){return e},e}var w=function(e){var t=e.srcs,n=e.size,r=void 0===n?"large":n,i=e.selectable,c=e.highlightItem,s=e.onClick,u=(0,l.useToken)().token,p=(0,l.useUploadStyles)(),m=(p.wrapSSR,p.hashId,p.componentCls);return null==t||t.map(function(e,t){var n=g(e,2),r=n[0],a=n[1];return o().createElement("div",{key:t,className:"".concat(m,"-list-picture-card-container ").concat(m,"-list-item-container")},o().createElement("div",{onClick:function(){return s&&s(a)},className:y()("".concat(m,"-list-item"),"".concat(m,"-list-item-done"),"".concat(m,"-list-item-list-type-picture-card"),c===a?(0,v.css)(h(),u.colorPrimary):"",i?(0,v.css)(S(),u.colorPrimary):"")},o().createElement("div",{className:"".concat(m,"-list-item-info")},o().createElement("span",{key:"thumbnail",className:"".concat(m,"-list-item-thumbnail")},o().createElement("img",{src:r,className:"".concat(m,"-list-item-image")})))))}),o().createElement(a.List,{grid:{gutter:16,column:10},itemLayout:"horizontal",dataSource:t,renderItem:function(e){var t=g(e,2),n=t[0],l=t[1];return o().createElement(a.List.Item,null,o().createElement(a.Avatar,{size:"small"===r?45:80,className:y()(c===l?(0,v.css)(E(),u.colorPrimary):"",i?(0,v.css)(A(),u.colorPrimary):""),src:n,onClick:function(){return s&&s(l)}}))}})},k=function(e){var t=e.disabled,n=(0,c.useField)(),a=Object.keys(s.n)[0],l=g(o().useState(a),2),i=l[0],u=l[1];(0,r.useEffect)(function(){n.value||n.setInitialValue(a)},[n]),(0,r.useEffect)(function(){n.value&&u(n.value)},[n.value]);var p=(0,r.useMemo)(function(){return Object.keys(s.n).map(function(e){return{seed:e,uri:(0,s.a)(e)}})},[]);return o().createElement(o().Fragment,null,o().createElement("div",{style:{marginBottom:"16px"}},o().createElement(w,{srcs:i?[[(0,s.a)(i),i]]:[]})),!0!==t?o().createElement(w,{srcs:p.map(function(e){return[e.uri,e.seed]}),size:"small",selectable:!0,highlightItem:i,onClick:function(e){return n.value=e}}):o().createElement(o().Fragment,null))},C=n(4632),P=function(e){var t=e.edit,n=(0,i.NT)(),r=(0,l.useCollectionRecordData)(),a=null==r?void 0:r.builtIn;return o().createElement(l.SchemaComponent,{scope:{t:n},components:{AvatarSelect:k,Switch:C.Switch},schema:{type:"void",properties:{username:{type:"string",title:'{{t("Username")}}',"x-decorator":"FormItem","x-component":"Input",required:!0,"x-disabled":t},nickname:{type:"string",title:'{{t("Nickname")}}',"x-disabled":a,"x-decorator":"FormItem","x-component":"Input",required:!0},enabled:{type:"boolean",title:'{{t("Enabled")}}',"x-decorator":"FormItem","x-component":"Switch",default:!0,required:!0},position:{type:"string",title:'{{t("Position")}}',"x-disabled":a,"x-decorator":"FormItem","x-component":"Input",description:n("Position description"),"x-component-props":{placeholder:n("Position placeholder")}},avatar:{type:"string",title:'{{t("Avatar")}}',"x-decorator":"FormItem","x-component":"AvatarSelect","x-component-props":{disabled:a}},bio:{type:"string",title:'{{t("Bio")}}',"x-disabled":a,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{placeholder:n("Bio placeholder")}},greeting:{type:"string",title:'{{t("Greeting message")}}',"x-disabled":a,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{placeholder:n("Greeting message placeholder")}}}}})};function I(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function O(){var e=I(["\n position: relative;\n "]);return O=function(){return e},e}function T(){var e=I(["\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n "]);return T=function(){return e},e}var j=function(e){var t=e.className,n=(0,l.useCollectionRecordData)(),r=null==n?void 0:n.builtIn,s=(0,i.NT)(),u=(0,c.useForm)(),p=(0,l.useAPIClient)(),m=(0,l.useRequest)(function(){return p.resource("aiEmployees").getBuiltInDefault({filterByTk:null==n?void 0:n.username})},{manual:!0,onSuccess:function(e){var t,n,r=null==e||null==(n=e.data)||null==(t=n.data)?void 0:t.about;"string"==typeof r&&(u.setValuesIn("about",r),a.message.success(s("Reset successfully")))}}).run;return r?o().createElement("div",{className:t},o().createElement(a.Button,{type:"link",size:"small",onClick:function(){return m()}},s("Reset to default"))):null},F=function(){var e=(0,i.NT)(),t=(0,l.useCurrentUserVariable)({maxDepth:3,noDisabled:!0}).currentUserSettings,n=(0,l.useCurrentRoleVariable)({noDisabled:!0}).currentRoleSettings,r=(0,l.useDatetimeVariable)({noDisabled:!0}).datetimeSettings;return[t,n,{key:"$nLang",value:"$nLang",label:e("Current language")},r]},B=function(){var e=(0,i.NT)();return o().createElement(a.Alert,{style:{marginBottom:16},message:e("Characterization description"),type:"info"})},N=function(){var e=(0,i.NT)(),t=F();return o().createElement(l.SchemaComponent,{scope:{t:e},components:{ResetButton:j,Description:B},schema:{type:"void",properties:{desc:{type:"void","x-component":"Description"},aboutWrap:{type:"void","x-component":"div","x-component-props":{className:(0,v.css)(O())},properties:{about:{type:"string",title:'{{t("Characterization")}}',required:!0,"x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:t,placeholder:e("Characterization placeholder"),autoSize:{minRows:15}}},resetAbout:{type:"void","x-component":"ResetButton","x-component-props":{className:(0,v.css)(T())}}}}}}})},D={name:"aiEmployees",fields:[{name:"username",type:"string",primaryKey:!0},{name:"nickname",type:"string",interface:"input"},{name:"position",type:"string",interface:"input"},{name:"avatar",type:"string",interface:"image"},{name:"bio",type:"text",interface:"textarea"},{name:"about",type:"text",interface:"textarea"},{name:"greeting",type:"text",interface:"textarea"},{name:"chatSettings",type:"jsonb"},{name:"skillSettings",type:"jsonb"},{name:"modelSettings",type:"jsonb"},{name:"dataSourceSettings",type:"jsonb"},{name:"enableKnowledgeBase",type:"boolean",allowNull:!1,defaultValue:!1},{name:"knowledgeBasePrompt",type:"text"},{name:"knowledgeBase",type:"jsonb"},{name:"enabled",type:"boolean",interface:"switch",allowNull:!1,defaultValue:!0},{name:"builtIn",type:"boolean",allowNull:!1,defaultValue:!1}]},z=n(482);function R(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 M(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||V(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 V(e,t){if(e){if("string"==typeof e)return R(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 R(e,t)}}var L=function(e){var t=e.title,n=e.description,r=e.schema,s=(0,i.NT)(),u=(0,l.useToken)().token;return o().createElement(a.Card,{size:"small",style:{minWidth:"300px",maxWidth:"400px"},title:o().createElement(o().Fragment,null,o().createElement("div",{style:{marginTop:"4px"}},c.Schema.compile(t,{t:s})),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM,fontWeight:400,whiteSpace:"pre-wrap"}},c.Schema.compile(n,{t:s})))},o().createElement(o().Fragment,null,o().createElement("div",{style:{fontWeight:u.fontWeightStrong}},s("Parameters")),o().createElement(a.List,{itemLayout:"vertical",dataSource:Object.entries((null==r?void 0:r.properties)||{}),size:"small",renderItem:function(e){var t,n=function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,2)||V(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),l=n[0],i=n[1];return o().createElement(a.List.Item,{key:l},o().createElement("div",null,o().createElement("span",{style:{fontWeight:u.fontWeightStrong}},i.title||l),o().createElement("span",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM,marginLeft:"4px"}},i.type),(null==(t=r.required)?void 0:t.includes(l))&&o().createElement("span",{style:{color:u.colorError,fontSize:u.fontSizeSM,marginLeft:"4px"}},s("Required"))),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},i.description))}})))},K=function(e){var t,n=e.name,r=e.title,s=e.description,u=e.isRoot,p=(0,i.NT)(),m=(0,l.useToken)().token,d=null==(t=(0,c.useField)().value)?void 0:t.find(function(e){return e.name===n});return o().createElement("div",{style:{minWidth:"150px",maxWidth:"300px"}},o().createElement("div",{style:{display:"flex",justifyContent:"space-between"}},o().createElement("div",null,c.Schema.compile(r,{t:p})),!u&&o().createElement("div",null,o().createElement(a.Switch,{size:"small",value:d,disabled:d}))),o().createElement("div",{style:{color:m.colorTextSecondary,fontSize:m.fontSizeSM}},c.Schema.compile(s,{t:p})))},q=function(){var e=(0,i.NT)(),t=(0,l.useToken)().token,n=(0,c.useField)(),r=(0,l.useAPIClient)(),s=(0,l.useRequest)(function(){return r.resource("aiTools").list().then(function(e){var t;return null==e||null==(t=e.data)?void 0:t.data})}),u=s.data,p=s.loading,m=function(e){var t=M(n.value||[]);t.some(function(t){return t.name===e})||t.push({name:e,autoCall:!1}),n.value=t},d=(null==u?void 0:u.map(function(e){var t,n,r={key:e.group.groupName},a={title:null!=(t=e.group.title)?t:"",description:null!=(n=e.group.description)?n:"",name:e.group.groupName,isRoot:!0};return e.tools?(r.label=o().createElement(K,a),r.children=e.tools.map(function(e){return{key:e.name,label:o().createElement(K,e),onClick:function(){return m(e.name)}}})):(r.label=o().createElement(K,a),r.onClick=function(){}),r}))||[];return o().createElement(o().Fragment,null,o().createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",width:"100%",margin:"8px 0 16px 0"}},o().createElement(a.Dropdown,{menu:{items:d},placement:"bottomRight"},o().createElement(a.Button,{type:"primary",icon:o().createElement(z.PlusOutlined,null)},e("Add skill"),o().createElement(a.Tooltip,{title:e("Tools available for LLM function calling")},o().createElement(z.QuestionCircleOutlined,{style:{marginLeft:"4px"}}))))),!p&&o().createElement(a.List,{itemLayout:"vertical",bordered:!0,dataSource:n.value||[],renderItem:function(r){var l,i=(null!=(l=null==u?void 0:u.flatMap(function(e){return e.tools}))?l:[]).find(function(e){return e.name===r.name});return i?o().createElement(a.List.Item,{key:i.name,extra:o().createElement(a.Flex,{vertical:!0,justify:"end"},o().createElement(a.Space,null,o().createElement("div",{style:{fontSize:t.fontSizeSM}},e("Auto usage"),o().createElement(a.Switch,{style:{marginLeft:"4px",marginRight:"8px"},size:"small",checked:r.autoCall,onChange:function(e){var t=(n.value||[]).map(function(t){var n,o;return t.name===r.name?(n=function(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}({},t),o=o={autoCall:e},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n):t});n.value=t}})),o().createElement(a.Popover,{content:o().createElement(L,i),placement:"bottom",arrow:!1,styles:{body:{padding:0,marginRight:"8px"}}},o().createElement(z.InfoCircleOutlined,null)),o().createElement(a.Button,{icon:o().createElement(z.DeleteOutlined,null),variant:"link",color:"default",onClick:function(){var e=M(n.value||[]),t=e.findIndex(function(e){return e.name===i.name});-1!==t&&(e.splice(t,1),n.value=e)}})))},o().createElement("div",null,c.Schema.compile(i.title,{t:e})),o().createElement("div",{style:{color:t.colorTextSecondary,fontSize:t.fontSizeSM}},c.Schema.compile(i.description,{t:e}))):null}}))},W=function(){var e=(0,i.NT)();return o().createElement(l.SchemaComponent,{components:{Skills:q},schema:{type:"void",properties:{skillSettings:{type:"object",properties:{skills:{type:"array","x-component":"Skills","x-decorator":"FormItem",description:e("Auto skill description")}}}}}})},$=n(8875),U=n(8563),_=n(3972);function G(e,t,n,r,o,a,l){try{var i=e[a](l),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function H(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){G(a,r,o,l,i,"next",e)}function i(e){G(a,r,o,l,i,"throw",e)}l(void 0)})}}function Q(e,t){var n,r,o,a,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){var c=[a,i];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var X=function(){var e=(0,i.NT)();return{form:(0,r.useMemo)(function(){return(0,U.createForm)({initialValues:{username:"".concat((0,$.uid)()),enableKnowledgeBase:!1,knowledgeBase:{knowledgeBaseIds:[],topK:3,score:"0.6"},knowledgeBasePrompt:e("knowledge Base Prompt default")}})},[e])}},J=function(){var e=(0,l.useCollectionRecordData)();return{form:(0,r.useMemo)(function(){return(0,U.createForm)({initialValues:e})},[e])}},Y=function(){var e=(0,l.useActionContext)().setVisible,t=(0,c.useForm)();return{type:"default",onClick:function(){e(!1),t.reset()}}},Z=function(){var e=(0,l.useActionContext)().setVisible,t=a.App.useApp().message,n=(0,c.useForm)(),r=(0,l.useAPIClient)(),o=(0,l.useDataBlockRequest)().refresh,s=(0,_.S)().refresh,u=(0,i.NT)();return{type:"primary",onClick:function(){return H(function(){var a;return Q(this,function(l){switch(l.label){case 0:return[4,n.submit()];case 1:return l.sent(),a=n.values,[4,r.resource("aiEmployees").create({values:a})];case 2:return l.sent(),o(),t.success(u("Saved successfully")),e(!1),n.reset(),s(),[2]}})})()}}},ee=function(){var e=(0,l.useActionContext)().setVisible,t=a.App.useApp().message,n=(0,c.useForm)(),r=(0,l.useDataBlockResource)(),o=(0,l.useDataBlockRequest)().refresh,s=(0,_.S)().refresh,u=(0,l.useCollection)().getFilterTargetKey(),p=(0,i.NT)();return{type:"primary",onClick:function(){return H(function(){var a;return Q(this,function(l){switch(l.label){case 0:return[4,n.submit()];case 1:return l.sent(),a=n.values,[4,r.update({values:a,filterByTk:a[u]})];case 2:return l.sent(),o(),t.success(p("Saved successfully")),e(!1),n.reset(),s(),[2]}})})()}}},et=function(){var e=(0,i.NT)(),t=(0,l.useCollectionRecordData)(),n=(0,l.useDestroyActionProps)().onClick,r=null==t?void 0:t.builtIn,o=a.App.useApp().message;return{onClick:function(t,a){return H(function(){return Q(this,function(l){switch(l.label){case 0:if(r)return o.warning(e("Cannot delete built-in ai employees")),[2];return[4,n(t,a)];case 1:return l.sent(),[2]}})})()}}};function en(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}var er=a.Card.Meta,eo=(0,r.createContext)(null),ea=function(){var e=(0,r.useContext)(eo).aiEmployee;return{form:(0,r.useMemo)(function(){return(0,U.createForm)({initialValues:e})},[e])}},el=function(e){var t=e.aiEmployee,n=(0,l.useToken)().token,r=(0,l.useActionContext)().setVisible;return o().createElement(a.Card,{variant:"borderless",hoverable:!0,onClick:function(){return r(!0)}},o().createElement(er,{avatar:t.avatar?o().createElement(a.Avatar,{size:40,src:(0,s.a)(t.avatar)}):null,title:t.nickname,description:o().createElement(o().Fragment,null,t.position&&o().createElement(a.Tag,{style:{marginBottom:n.marginXS}},t.position),o().createElement(a.Typography.Paragraph,{style:{height:n.fontSize*n.lineHeight*3},ellipsis:{rows:3},type:"secondary"},t.bio))}))},ei=function(){var e,t=(e=o().useState(!1),function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,2)||function(e,t){if(e){if("string"==typeof e)return en(e,2);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 en(e,t)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=t[0],r=t[1],i=(0,l.useAPIClient)(),c=(0,l.useRequest)(function(){return i.resource("aiEmployees").getTemplates().then(function(e){var t;return null==e||null==(t=e.data)?void 0:t.data})}),s=c.data;return c.loading?o().createElement(a.Spin,null):s&&s.length?o().createElement(a.Row,{gutter:[16,16]},s.map(function(e){return o().createElement(l.ActionContextProvider,{key:e.username,value:{visible:n,setVisible:r}},o().createElement(a.Col,{span:12},o().createElement(el,{aiEmployee:e})),o().createElement(eo.Provider,{value:{aiEmployee:e}},o().createElement(l.SchemaComponent,{scope:{useCancelActionProps:Y,useCreateActionProps:Z,useTemplateFormProps:ea},schema:{type:"void",name:(0,$.uid)(),"x-component":"Action.Drawer",title:'{{t("New AI employee")}}',"x-decorator":"FormV2","x-use-decorator-props":"useTemplateFormProps",properties:{form:{type:"void","x-component":"AIEmployeeForm"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{close:{title:"Cancel","x-component":"Action","x-component-props":{type:"default"},"x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useCreateActionProps"}}}}}})))})):o().createElement(a.Empty,{image:a.Empty.PRESENTED_IMAGE_SIMPLE})},ec=function(){return(0,i.NT)(),o().createElement(l.SchemaComponent,{components:{Switch:C.Switch},schema:{type:"void",properties:{enableKnowledgeBase:{type:"boolean",title:'{{t("Enable Knowledge Base")}}',"x-decorator":"FormItem","x-component":"Switch"},knowledgeBasePrompt:{type:"string",title:'{{t("Knowledge Base Prompt")}}',required:!0,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:5}},"x-reactions":[{dependencies:["enableKnowledgeBase"],fulfill:{state:{disabled:"{{$deps[0] === false}}"}}}]},knowledgeBase:{type:"object",properties:{knowledgeBaseIds:{type:"array",title:'{{t("Knowledge Base")}}',required:!0,"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{mode:"multiple",manual:!1,fieldNames:{label:"name",value:"id"},service:{resource:"aiKnowledgeBase",action:"list",params:{fields:["id","name"],filter:{enabled:!0}}}},"x-reactions":[{dependencies:["enableKnowledgeBase"],fulfill:{state:{disabled:"{{$deps[0] === false}}"}}}]},topK:{type:"number",title:'{{t("Top K")}}',required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1,max:100},"x-reactions":[{dependencies:["enableKnowledgeBase"],fulfill:{state:{disabled:"{{$deps[0] === false}}"}}}]},score:{type:"number",title:'{{t("Score")}}',required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:0,max:1,step:.1},"x-reactions":[{dependencies:["enableKnowledgeBase"],fulfill:{state:{disabled:"{{$deps[0] === false}}"}}}]}}}}}})};function es(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 eu(e,t){if(e){if("string"==typeof e)return es(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 es(e,t)}}var ep=function(e){var t,n,c=e.edit,s=(0,i.NT)(),u=(0,l.useAPIClient)(),p=(t=(0,r.useState)(!1),function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(t,2)||eu(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=p[0],f=p[1];return(0,r.useEffect)(function(){u.resource("aiSettings").isKnowledgeBaseEnabled().then(function(e){var t;f(null==e||null==(t=e.data)?void 0:t.data.enabled)}).catch(function(e){return console.error("api fail aiSettings.isKnowledgeBaseEnabled",e)})},[u]),o().createElement(a.Tabs,{items:[{key:"profile",label:s("Profile"),children:o().createElement(P,{edit:c}),forceRender:!0},{key:"persona",label:s("Characterization"),children:o().createElement(N,null),forceRender:!0},{key:"modelSettings",label:s("Model settings"),children:o().createElement(d,null),forceRender:!0},{key:"skills",label:s("Skills"),children:o().createElement(W,null)}].concat(function(e){if(Array.isArray(e))return es(e)}(n=m?[{key:"knowledgeBase",label:s("KnowledgeBase"),children:o().createElement(ec,null)}]:[])||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||eu(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},em=function(e){var t,n,r=(0,c.useField)();return r.value?o().createElement(a.Avatar,(t=function(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}({shape:"square",size:"large"},e),n=n={src:(0,s.a)(r.value)},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t)):null},ed=function(e){var t=(0,c.useField)();return t.value?t.value&&o().createElement(z.CheckOutlined,{style:{color:"#52c41a"}}):null},ef=function(e){var t=(0,c.useField)();return t.value?o().createElement(a.Tag,null,t.value.model):null},ey=function(){var e=(0,i.NT)();return o().createElement(l.ExtendCollectionsProvider,{collections:[D]},o().createElement(l.SchemaComponent,{components:{AIEmployeeForm:ep,Avatar:em,Templates:ei,LLMModel:ef,Enabled:ed},scope:{t:e,useCreateFormProps:X,useEditFormProps:J,useCancelActionProps:Y,useCreateActionProps:Z,useEditActionProps:ee,useDeleteActionProps:et},schema:{type:"void",name:"ai-employees",properties:{block:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{collection:"aiEmployees",action:"list",rowKey:"username",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"}},add:{type:"void",title:"{{t('New AI employee')}}","x-align":"right","x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{t("New AI employee")}}',"x-decorator":"FormV2","x-use-decorator-props":"useCreateFormProps",properties:{form:{type:"void","x-component":"AIEmployeeForm"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{close:{title:"Cancel","x-component":"Action","x-component-props":{type:"default"},"x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useCreateActionProps"}}}}}}}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"username",rowSelection:{type:"checkbox"}},properties:{column0:{type:"void",title:e("Avatar"),"x-component":"TableV2.Column",properties:{avatar:{type:"string","x-component":"Avatar","x-component-props":{shape:"circle"}}}},column1:{type:"void",title:e("Username"),"x-component":"TableV2.Column",properties:{username:{type:"string","x-component":"Input","x-pattern":"readPretty"}}},column2:{type:"void",title:e("Nickname"),"x-component":"TableV2.Column",properties:{nickname:{type:"string","x-component":"Input","x-pattern":"readPretty"}}},column3:{type:"void",title:e("Position"),"x-component":"TableV2.Column",properties:{position:{type:"string","x-component":"Input","x-pattern":"readPretty"}}},column4:{type:"void",title:e("Model"),"x-component":"TableV2.Column",properties:{modelSettings:{type:"string","x-component":"LLMModel"}}},column5:{type:"void",title:e("Enabled"),"x-component":"TableV2.Column",properties:{enabled:{type:"string","x-component":"Enabled"}}},column6:{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:e("Edit AI employee"),"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",properties:{form:{type:"void","x-component":"AIEmployeeForm","x-component-props":{edit:!0}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{close:{title:e("Cancel"),"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-use-component-props":"useEditActionProps"}}}}}}},destroy:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":"useDeleteActionProps","x-component-props":{confirm:{title:"{{t('Delete AI employee')}}",content:"{{t('Are you sure you want to delete this AI employee?')}}"}}}}}}}}}}}}}}))}}}]);
|
|
@@ -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
|
+
import React from 'react';
|
|
10
|
+
export declare const SystemPrompt: React.FC;
|