Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d8895dad1 |
@@ -1,5 +1,3 @@
|
|||||||
< 3.5.0.beta7-dev: cd14b0c0bee0cf63c59b64b6f7213e31a37f11a7
|
|
||||||
< 3.5.0.beta6-dev: 3e74eea1e5e3143888d67a8d8a11206df214dc24
|
|
||||||
< 3.5.0.beta3-dev: 09a68414804a1447f52e5d60691ba59742cda9ec
|
< 3.5.0.beta3-dev: 09a68414804a1447f52e5d60691ba59742cda9ec
|
||||||
< 3.5.0.beta2-dev: de8624416a15b3d8e7ad350b083cc1420451ccec
|
< 3.5.0.beta2-dev: de8624416a15b3d8e7ad350b083cc1420451ccec
|
||||||
< 3.5.0.beta1-dev: bdef136080074a993e7c4f5ca562edc31a8ba756
|
< 3.5.0.beta1-dev: bdef136080074a993e7c4f5ca562edc31a8ba756
|
||||||
|
|||||||
+20
-22
@@ -14,31 +14,30 @@ GEM
|
|||||||
securerandom (>= 0.3)
|
securerandom (>= 0.3)
|
||||||
tzinfo (~> 2.0, >= 2.0.5)
|
tzinfo (~> 2.0, >= 2.0.5)
|
||||||
uri (>= 0.13.1)
|
uri (>= 0.13.1)
|
||||||
ast (2.4.3)
|
ast (2.4.2)
|
||||||
base64 (0.3.0)
|
base64 (0.2.0)
|
||||||
benchmark (0.4.1)
|
benchmark (0.4.0)
|
||||||
bigdecimal (3.2.2)
|
bigdecimal (3.1.9)
|
||||||
concurrent-ruby (1.3.5)
|
concurrent-ruby (1.3.5)
|
||||||
connection_pool (2.5.3)
|
connection_pool (2.5.0)
|
||||||
drb (2.2.3)
|
drb (2.2.1)
|
||||||
i18n (1.14.7)
|
i18n (1.14.7)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
json (2.12.2)
|
json (2.10.2)
|
||||||
language_server-protocol (3.17.0.5)
|
language_server-protocol (3.17.0.4)
|
||||||
lint_roller (1.1.0)
|
lint_roller (1.1.0)
|
||||||
logger (1.7.0)
|
logger (1.6.6)
|
||||||
minitest (5.25.5)
|
minitest (5.25.5)
|
||||||
parallel (1.27.0)
|
parallel (1.26.3)
|
||||||
parser (3.3.8.0)
|
parser (3.3.7.1)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
racc
|
racc
|
||||||
prettier_print (1.2.1)
|
prettier_print (1.2.1)
|
||||||
prism (1.4.0)
|
|
||||||
racc (1.8.1)
|
racc (1.8.1)
|
||||||
rack (3.1.16)
|
rack (3.1.14)
|
||||||
rainbow (3.1.1)
|
rainbow (3.1.1)
|
||||||
regexp_parser (2.10.0)
|
regexp_parser (2.10.0)
|
||||||
rubocop (1.77.0)
|
rubocop (1.74.0)
|
||||||
json (~> 2.3)
|
json (~> 2.3)
|
||||||
language_server-protocol (~> 3.17.0.2)
|
language_server-protocol (~> 3.17.0.2)
|
||||||
lint_roller (~> 1.1.0)
|
lint_roller (~> 1.1.0)
|
||||||
@@ -46,12 +45,11 @@ GEM
|
|||||||
parser (>= 3.3.0.2)
|
parser (>= 3.3.0.2)
|
||||||
rainbow (>= 2.2.2, < 4.0)
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
regexp_parser (>= 2.9.3, < 3.0)
|
regexp_parser (>= 2.9.3, < 3.0)
|
||||||
rubocop-ast (>= 1.45.1, < 2.0)
|
rubocop-ast (>= 1.38.0, < 2.0)
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (>= 2.4.0, < 4.0)
|
unicode-display_width (>= 2.4.0, < 4.0)
|
||||||
rubocop-ast (1.45.1)
|
rubocop-ast (1.38.1)
|
||||||
parser (>= 3.3.7.2)
|
parser (>= 3.3.1.0)
|
||||||
prism (~> 1.4)
|
|
||||||
rubocop-capybara (2.22.1)
|
rubocop-capybara (2.22.1)
|
||||||
lint_roller (~> 1.1)
|
lint_roller (~> 1.1)
|
||||||
rubocop (~> 1.72, >= 1.72.1)
|
rubocop (~> 1.72, >= 1.72.1)
|
||||||
@@ -67,13 +65,13 @@ GEM
|
|||||||
rubocop-factory_bot (2.27.1)
|
rubocop-factory_bot (2.27.1)
|
||||||
lint_roller (~> 1.1)
|
lint_roller (~> 1.1)
|
||||||
rubocop (~> 1.72, >= 1.72.1)
|
rubocop (~> 1.72, >= 1.72.1)
|
||||||
rubocop-rails (2.32.0)
|
rubocop-rails (2.30.3)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
lint_roller (~> 1.1)
|
lint_roller (~> 1.1)
|
||||||
rack (>= 1.1)
|
rack (>= 1.1)
|
||||||
rubocop (>= 1.75.0, < 2.0)
|
rubocop (>= 1.72.1, < 2.0)
|
||||||
rubocop-ast (>= 1.44.0, < 2.0)
|
rubocop-ast (>= 1.38.0, < 2.0)
|
||||||
rubocop-rspec (3.6.0)
|
rubocop-rspec (3.5.0)
|
||||||
lint_roller (~> 1.1)
|
lint_roller (~> 1.1)
|
||||||
rubocop (~> 1.72, >= 1.72.1)
|
rubocop (~> 1.72, >= 1.72.1)
|
||||||
rubocop-rspec_rails (2.31.0)
|
rubocop-rspec_rails (2.31.0)
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ export default class AdminPluginsShowDiscourseAiFeaturesEdit extends DiscourseRo
|
|||||||
|
|
||||||
const { site_settings } = await ajax("/admin/config/site_settings.json", {
|
const { site_settings } = await ajax("/admin/config/site_settings.json", {
|
||||||
data: {
|
data: {
|
||||||
filter_area: `ai-features/${currentFeature.module_name}`,
|
filter_area: `ai-features/${currentFeature.ref}`,
|
||||||
plugin: "discourse-ai",
|
plugin: "discourse-ai",
|
||||||
category: "discourse_ai",
|
category: "discourse_ai",
|
||||||
},
|
},
|
||||||
|
|||||||
-11
@@ -1,11 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiEmbeddingsListEditor from "../../../../../discourse/components/ai-embeddings-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<AiEmbeddingsListEditor
|
|
||||||
@embeddings={{@controller.allEmbeddings}}
|
|
||||||
@currentEmbedding={{@controller.model}}
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
<AiEmbeddingsListEditor
|
||||||
|
@embeddings={{this.allEmbeddings}}
|
||||||
|
@currentEmbedding={{this.model}}
|
||||||
|
/>
|
||||||
-8
@@ -1,8 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiEmbeddingsListEditor from "../../../../../discourse/components/ai-embeddings-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<AiEmbeddingsListEditor @embeddings={{@controller.model}} />
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
<AiEmbeddingsListEditor @embeddings={{this.model}} />
|
||||||
-11
@@ -1,11 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiEmbeddingsListEditor from "../../../../../discourse/components/ai-embeddings-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<AiEmbeddingsListEditor
|
|
||||||
@embeddings={{@controller.allEmbeddings}}
|
|
||||||
@currentEmbedding={{@controller.model}}
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
<AiEmbeddingsListEditor
|
||||||
|
@embeddings={{this.allEmbeddings}}
|
||||||
|
@currentEmbedding={{this.model}}
|
||||||
|
/>
|
||||||
+152
-2
@@ -1,6 +1,156 @@
|
|||||||
|
import Component from "@glimmer/component";
|
||||||
|
import { service } from "@ember/service";
|
||||||
import RouteTemplate from "ember-route-template";
|
import RouteTemplate from "ember-route-template";
|
||||||
import AiFeatures from "../../../../../discourse/components/ai-features";
|
import { gt } from "truth-helpers";
|
||||||
|
import DBreadcrumbsItem from "discourse/components/d-breadcrumbs-item";
|
||||||
|
import DButton from "discourse/components/d-button";
|
||||||
|
import DPageSubheader from "discourse/components/d-page-subheader";
|
||||||
|
import { i18n } from "discourse-i18n";
|
||||||
|
|
||||||
export default RouteTemplate(
|
export default RouteTemplate(
|
||||||
<template><AiFeatures @features={{@controller.model}} /></template>
|
class extends Component {
|
||||||
|
@service adminPluginNavManager;
|
||||||
|
|
||||||
|
get tableHeaders() {
|
||||||
|
const prefix = "discourse_ai.features.list.header";
|
||||||
|
return [
|
||||||
|
i18n(`${prefix}.name`),
|
||||||
|
i18n(`${prefix}.persona`),
|
||||||
|
i18n(`${prefix}.groups`),
|
||||||
|
"",
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
get configuredFeatures() {
|
||||||
|
return this.args.model.filter(
|
||||||
|
(feature) => feature.enable_setting.value === true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
get unconfiguredFeatures() {
|
||||||
|
return this.args.model.filter(
|
||||||
|
(feature) => feature.enable_setting.value === false
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<DBreadcrumbsItem
|
||||||
|
@path="/admin/plugins/{{this.adminPluginNavManager.currentPlugin.name}}/ai-features"
|
||||||
|
@label={{i18n "discourse_ai.features.short_title"}}
|
||||||
|
/>
|
||||||
|
<section class="ai-feature-list admin-detail">
|
||||||
|
<DPageSubheader
|
||||||
|
@titleLabel={{i18n "discourse_ai.features.short_title"}}
|
||||||
|
@descriptionLabel={{i18n "discourse_ai.features.description"}}
|
||||||
|
@learnMoreUrl="todo"
|
||||||
|
/>
|
||||||
|
|
||||||
|
{{#if (gt this.configuredFeatures.length 0)}}
|
||||||
|
<div class="ai-feature-list__configured-features">
|
||||||
|
<h3>{{i18n "discourse_ai.features.list.configured_features"}}</h3>
|
||||||
|
|
||||||
|
<table class="d-admin-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
{{#each this.tableHeaders as |header|}}
|
||||||
|
<th>{{header}}</th>
|
||||||
|
{{/each}}
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
{{#each this.configuredFeatures as |feature|}}
|
||||||
|
<tr
|
||||||
|
class="ai-feature-list__row d-admin-row__content"
|
||||||
|
data-feature-name={{feature.name}}
|
||||||
|
>
|
||||||
|
<td class="d-admin-row__overview ai-feature-list__row-item">
|
||||||
|
<span class="ai-feature-list__row-item-name">
|
||||||
|
<strong>
|
||||||
|
{{feature.name}}
|
||||||
|
</strong>
|
||||||
|
</span>
|
||||||
|
<span class="ai-feature-list__row-item-description">
|
||||||
|
{{feature.description}}
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
<td
|
||||||
|
class="d-admin-row__detail ai-feature-list__row-item ai-feature-list__persona"
|
||||||
|
>
|
||||||
|
<DButton
|
||||||
|
class="btn-flat btn-small ai-feature-list__row-item-persona"
|
||||||
|
@translatedLabel={{feature.persona.name}}
|
||||||
|
@route="adminPlugins.show.discourse-ai-personas.edit"
|
||||||
|
@routeModels={{feature.persona.id}}
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
<td
|
||||||
|
class="d-admin-row__detail ai-feature-list__row-item ai-feature-list__groups"
|
||||||
|
>
|
||||||
|
{{#if (gt feature.persona.allowed_groups.length 0)}}
|
||||||
|
<ul class="ai-feature-list__row-item-groups">
|
||||||
|
{{#each feature.persona.allowed_groups as |group|}}
|
||||||
|
<li>{{group.name}}</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td class="d-admin-row_controls">
|
||||||
|
<DButton
|
||||||
|
class="btn-small edit"
|
||||||
|
@label="discourse_ai.features.list.edit"
|
||||||
|
@route="adminPlugins.show.discourse-ai-features.edit"
|
||||||
|
@routeModels={{feature.id}}
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (gt this.unconfiguredFeatures.length 0)}}
|
||||||
|
<div class="ai-feature-list__unconfigured-features">
|
||||||
|
<h3>{{i18n "discourse_ai.features.list.unconfigured_features"}}</h3>
|
||||||
|
|
||||||
|
<table class="d-admin-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{i18n "discourse_ai.features.list.header.name"}}</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
{{#each this.unconfiguredFeatures as |feature|}}
|
||||||
|
<tr class="ai-feature-list__row d-admin-row__content">
|
||||||
|
<td class="d-admin-row__overview ai-feature-list__row-item">
|
||||||
|
<span class="ai-feature-list__row-item-name">
|
||||||
|
<strong>
|
||||||
|
{{feature.name}}
|
||||||
|
</strong>
|
||||||
|
</span>
|
||||||
|
<span class="ai-feature-list__row-item-description">
|
||||||
|
{{feature.description}}
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="d-admin-row_controls">
|
||||||
|
<DButton
|
||||||
|
class="btn-small"
|
||||||
|
@label="discourse_ai.features.list.set_up"
|
||||||
|
@route="adminPlugins.show.discourse-ai-features.edit"
|
||||||
|
@routeModels={{feature.id}}
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
-11
@@ -1,11 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiLlmsListEditor from "../../../../../discourse/components/ai-llms-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<AiLlmsListEditor
|
|
||||||
@llms={{@controller.allLlms}}
|
|
||||||
@currentLlm={{@controller.model}}
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
<AiLlmsListEditor @llms={{this.allLlms}} @currentLlm={{this.model}} />
|
||||||
-6
@@ -1,6 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiLlmsListEditor from "../../../../../discourse/components/ai-llms-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template><AiLlmsListEditor @llms={{@controller.model}} /></template>
|
|
||||||
);
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
<AiLlmsListEditor @llms={{this.model}} />
|
||||||
-12
@@ -1,12 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiLlmsListEditor from "../../../../../discourse/components/ai-llms-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<AiLlmsListEditor
|
|
||||||
@llms={{@controller.allLlms}}
|
|
||||||
@currentLlm={{@controller.model}}
|
|
||||||
@llmTemplate={{@controller.llmTemplate}}
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
<AiLlmsListEditor
|
||||||
|
@llms={{this.allLlms}}
|
||||||
|
@currentLlm={{this.model}}
|
||||||
|
@llmTemplate={{this.llmTemplate}}
|
||||||
|
/>
|
||||||
-11
@@ -1,11 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiPersonaListEditor from "../../../../../discourse/components/ai-persona-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<AiPersonaListEditor
|
|
||||||
@personas={{@controller.allPersonas}}
|
|
||||||
@currentPersona={{@controller.model}}
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
<AiPersonaListEditor
|
||||||
|
@personas={{this.allPersonas}}
|
||||||
|
@currentPersona={{this.model}}
|
||||||
|
/>
|
||||||
-6
@@ -1,6 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiPersonaListEditor from "../../../../../discourse/components/ai-persona-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template><AiPersonaListEditor @personas={{@controller.model}} /></template>
|
|
||||||
);
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
<AiPersonaListEditor @personas={{this.model}} />
|
||||||
-11
@@ -1,11 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiPersonaListEditor from "../../../../../discourse/components/ai-persona-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<AiPersonaListEditor
|
|
||||||
@personas={{@controller.allPersonas}}
|
|
||||||
@currentPersona={{@controller.model}}
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
<AiPersonaListEditor
|
||||||
|
@personas={{this.allPersonas}}
|
||||||
|
@currentPersona={{this.model}}
|
||||||
|
/>
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiSpam from "../../../../discourse/components/ai-spam";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template><AiSpam @model={{@controller.model}} /></template>
|
|
||||||
);
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<AiSpam @model={{this.model}} />
|
||||||
-16
@@ -1,16 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiToolEditor from "../../../../../discourse/components/ai-tool-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<section class="ai-persona-tool-editor__current admin-detail pull-left">
|
|
||||||
<AiToolEditor
|
|
||||||
@tools={{@controller.allTools}}
|
|
||||||
@model={{@controller.model}}
|
|
||||||
@presets={{@controller.presets}}
|
|
||||||
@llms={{@controller.llms}}
|
|
||||||
@settings={{@controller.settings}}
|
|
||||||
/>
|
|
||||||
</section>
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
<section class="ai-persona-tool-editor__current admin-detail pull-left">
|
||||||
|
<AiToolEditor
|
||||||
|
@tools={{this.allTools}}
|
||||||
|
@model={{this.model}}
|
||||||
|
@presets={{this.presets}}
|
||||||
|
@llms={{this.llms}}
|
||||||
|
@settings={{this.settings}}
|
||||||
|
/>
|
||||||
|
</section>
|
||||||
-6
@@ -1,6 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiToolListEditor from "../../../../../discourse/components/ai-tool-list-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template><AiToolListEditor @tools={{@controller.model}} /></template>
|
|
||||||
);
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
<AiToolListEditor @tools={{this.model}} />
|
||||||
-17
@@ -1,17 +0,0 @@
|
|||||||
import RouteTemplate from "ember-route-template";
|
|
||||||
import AiToolEditor from "../../../../../discourse/components/ai-tool-editor";
|
|
||||||
|
|
||||||
export default RouteTemplate(
|
|
||||||
<template>
|
|
||||||
<section class="ai-persona-tool-editor__current admin-detail pull-left">
|
|
||||||
<AiToolEditor
|
|
||||||
@tools={{@controller.allTools}}
|
|
||||||
@model={{@controller.model}}
|
|
||||||
@presets={{@controller.presets}}
|
|
||||||
@llms={{@controller.llms}}
|
|
||||||
@settings={{@controller.settings}}
|
|
||||||
@selectedPreset={{@controller.selectedPreset}}
|
|
||||||
/>
|
|
||||||
</section>
|
|
||||||
</template>
|
|
||||||
);
|
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<section class="ai-persona-tool-editor__current admin-detail pull-left">
|
||||||
|
<AiToolEditor
|
||||||
|
@tools={{this.allTools}}
|
||||||
|
@model={{this.model}}
|
||||||
|
@presets={{this.presets}}
|
||||||
|
@llms={{this.llms}}
|
||||||
|
@settings={{this.settings}}
|
||||||
|
@selectedPreset={{this.selectedPreset}}
|
||||||
|
/>
|
||||||
|
</section>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user