@greatapps/greatagents 0.1.16 → 0.1.18

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@greatapps/greatagents",
3
- "version": "0.1.16",
3
+ "version": "0.1.18",
4
4
  "description": "Schemas para GreatAgents",
5
5
  "main": "./src/product.js",
6
6
  "type": "module"
@@ -149,4 +149,20 @@ export const properties = {
149
149
  }
150
150
  }
151
151
  },
152
+ openai_assistant_id: {
153
+ type: "string",
154
+ required: false,
155
+ filterable: true,
156
+ interface: {
157
+ label: {
158
+ "pt-br": "Assistant ID OpenAI",
159
+ "en": "OpenAI Assistant ID"
160
+ },
161
+ component: "input",
162
+ placeholder: {
163
+ "pt-br": "ID do Assistant criado na OpenAI para este agente (ex: asst_xxxxx)",
164
+ "en": "OpenAI Assistant ID created for this agent (e.g., asst_xxxxx)"
165
+ }
166
+ }
167
+ }
152
168
  };
@@ -126,5 +126,131 @@ export const properties = {
126
126
  component: "input",
127
127
  disabled: true
128
128
  }
129
- }
129
+ },
130
+ openai_thread_id: {
131
+ type: "string",
132
+ required: false,
133
+ filterable: true,
134
+ unique: true,
135
+ index: true,
136
+ interface: {
137
+ label: {
138
+ "pt-br": "Thread ID OpenAI",
139
+ "en": "OpenAI Thread ID"
140
+ },
141
+ component: "input",
142
+ disabled: true
143
+ }
144
+ },
145
+ openai_assistant_id: {
146
+ type: "string",
147
+ required: false,
148
+ filterable: true,
149
+ interface: {
150
+ label: {
151
+ "pt-br": "Assistant ID OpenAI",
152
+ "en": "OpenAI Assistant ID"
153
+ },
154
+ component: "input",
155
+ disabled: true
156
+ }
157
+ },
158
+ system_prompt_hash: {
159
+ type: "string",
160
+ required: false,
161
+ filterable: false,
162
+ interface: {
163
+ label: {
164
+ "pt-br": "Hash do System Prompt",
165
+ "en": "System Prompt Hash"
166
+ },
167
+ component: "input",
168
+ disabled: true,
169
+ help: {
170
+ "pt-br": "Hash para detectar mudanças no system prompt do agent",
171
+ "en": "Hash to detect changes in agent's system prompt"
172
+ }
173
+ }
174
+ },
175
+ message_count: {
176
+ type: "number",
177
+ default: 0,
178
+ filterable: true,
179
+ interface: {
180
+ label: {
181
+ "pt-br": "Contagem de Mensagens",
182
+ "en": "Message Count"
183
+ },
184
+ component: "number",
185
+ disabled: true,
186
+ help: {
187
+ "pt-br": "Número de mensagens no thread atual",
188
+ "en": "Number of messages in current thread"
189
+ }
190
+ }
191
+ },
192
+ usage_tokens: {
193
+ type: "number",
194
+ default: 0,
195
+ filterable: true,
196
+ interface: {
197
+ label: {
198
+ "pt-br": "Tokens Utilizados",
199
+ "en": "Tokens Used"
200
+ },
201
+ component: "number",
202
+ disabled: true,
203
+ help: {
204
+ "pt-br": "Total de tokens consumidos no thread atual (prompt + completion)",
205
+ "en": "Total tokens consumed in current thread (prompt + completion)"
206
+ }
207
+ }
208
+ },
209
+ context_summary: {
210
+ type: "text",
211
+ required: false,
212
+ filterable: false,
213
+ interface: {
214
+ label: {
215
+ "pt-br": "Resumo do Contexto",
216
+ "en": "Context Summary"
217
+ },
218
+ component: "textarea",
219
+ disabled: true,
220
+ help: {
221
+ "pt-br": "Resumo do histórico anterior após rotação de thread",
222
+ "en": "Summary of previous history after thread rotation"
223
+ }
224
+ }
225
+ },
226
+ last_thread_rotation: {
227
+ type: "date",
228
+ required: false,
229
+ filterable: true,
230
+ interface: {
231
+ label: {
232
+ "pt-br": "Última Rotação de Thread",
233
+ "en": "Last Thread Rotation"
234
+ },
235
+ component: "datetime",
236
+ disabled: true
237
+ }
238
+ },
239
+ rotation_count: {
240
+ type: "number",
241
+ default: 0,
242
+ filterable: true,
243
+ interface: {
244
+ label: {
245
+ "pt-br": "Contador de Rotações",
246
+ "en": "Rotation Count"
247
+ },
248
+ component: "number",
249
+ disabled: true,
250
+ help: {
251
+ "pt-br": "Quantas vezes o thread foi rotacionado",
252
+ "en": "How many times the thread was rotated"
253
+ }
254
+ }
255
+ }
130
256
  };
@@ -0,0 +1,8 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export default {
4
+ table: "prompt_versions",
5
+ properties,
6
+ primaryKey: "id",
7
+ timestamps: true
8
+ };
@@ -48,6 +48,7 @@ export const properties = {
48
48
  id_agent: {
49
49
  type: "number",
50
50
  required: true,
51
+ updatable: false,
51
52
  filterable: true,
52
53
  index: true,
53
54
  reference: {
@@ -60,67 +61,85 @@ export const properties = {
60
61
  "pt-br": "Agente",
61
62
  "en": "Agent"
62
63
  },
63
- component: "select"
64
+ component: "select",
65
+ disabled: true
64
66
  }
65
67
  },
66
- id_tool: {
68
+ version_number: {
67
69
  type: "number",
68
70
  required: true,
69
71
  filterable: true,
70
72
  index: true,
71
- reference: {
72
- module: "tools",
73
- label: "name",
74
- value: "id"
75
- },
76
73
  interface: {
77
74
  label: {
78
- "pt-br": "Ferramenta",
79
- "en": "Tool"
75
+ "pt-br": "Número da Versão",
76
+ "en": "Version Number"
80
77
  },
81
- component: "select"
78
+ component: "number"
82
79
  }
83
80
  },
84
- custom_config: {
85
- type: "string",
81
+ prompt_content: {
82
+ type: "text",
83
+ required: true,
86
84
  interface: {
87
85
  label: {
88
- "pt-br": "Configuração Customizada",
89
- "en": "Custom Configuration"
86
+ "pt-br": "Conteúdo do Prompt",
87
+ "en": "Prompt Content"
90
88
  },
91
- component: "textarea",
92
- placeholder: {
93
- "pt-br": "JSON com override de configurações da ferramenta",
94
- "en": "JSON with tool configuration overrides"
95
- }
89
+ component: "textarea"
96
90
  }
97
91
  },
98
- priority: {
99
- type: "number",
100
- default: 0,
92
+ prompt_hash: {
93
+ type: "string",
94
+ required: true,
101
95
  filterable: true,
96
+ index: true,
102
97
  interface: {
103
98
  label: {
104
- "pt-br": "Prioridade",
105
- "en": "Priority"
99
+ "pt-br": "Hash SHA-256",
100
+ "en": "SHA-256 Hash"
106
101
  },
107
- component: "number",
108
- placeholder: {
109
- "pt-br": "Ordem de execução",
110
- "en": "Execution order"
111
- }
102
+ component: "input",
103
+ disabled: true
112
104
  }
113
105
  },
114
- enabled: {
106
+ is_current: {
115
107
  type: "boolean",
116
108
  default: true,
117
109
  filterable: true,
110
+ index: true,
118
111
  interface: {
119
112
  label: {
120
- "pt-br": "Habilitado",
121
- "en": "Enabled"
113
+ "pt-br": "Versão Atual",
114
+ "en": "Current Version"
122
115
  },
123
- component: "boolean"
116
+ component: "checkbox"
117
+ }
118
+ },
119
+ created_by: {
120
+ type: "string",
121
+ required: false,
122
+ interface: {
123
+ label: {
124
+ "pt-br": "Criado Por",
125
+ "en": "Created By"
126
+ },
127
+ component: "input"
128
+ }
129
+ },
130
+ change_notes: {
131
+ type: "string",
132
+ required: false,
133
+ interface: {
134
+ label: {
135
+ "pt-br": "Notas da Mudança",
136
+ "en": "Change Notes"
137
+ },
138
+ component: "textarea",
139
+ placeholder: {
140
+ "pt-br": "Descreva as mudanças realizadas nesta versão",
141
+ "en": "Describe the changes made in this version"
142
+ }
124
143
  }
125
144
  }
126
- };
145
+ };
package/src/product.js CHANGED
@@ -6,12 +6,6 @@ import agents from './modules/agents/index.js';
6
6
  import objectives from './modules/objectives/index.js';
7
7
  import contacts from './modules/contacts/index.js';
8
8
  import conversations from './modules/conversations/index.js';
9
- import tools from './modules/tools/index.js';
10
- import tool_categories from './modules/tool_categories/index.js';
11
- import tool_credentials from './modules/tool_credentials/index.js';
12
- import agent_tools from './modules/agent_tools/index.js';
13
- import tool_execution_logs from './modules/tool_execution_logs/index.js';
14
- import tool_parameters from './modules/tool_parameters/index.js';
15
9
 
16
10
  /* Shared */
17
11
 
@@ -41,13 +35,7 @@ export default {
41
35
  agents,
42
36
  objectives,
43
37
  contacts,
44
- conversations,
45
- tools,
46
- tool_categories,
47
- tool_credentials,
48
- agent_tools,
49
- tool_execution_logs,
50
- tool_parameters
38
+ conversations
51
39
  },
52
40
  documentation: {
53
41
  title: "GreatAgents API",
@@ -1,15 +0,0 @@
1
- import { properties } from "./properties.js";
2
-
3
- export default {
4
- product: "greatagents",
5
- name: "agent_tools",
6
- cache: { ttlView: 30, ttlList: 0 },
7
- params: [ "id_account" ],
8
- properties: properties,
9
- constraints: {
10
- unique: [
11
- ["id_agent", "id_tool"]
12
- ]
13
- },
14
- routes: {}
15
- };
@@ -1,10 +0,0 @@
1
- import { properties } from "./properties.js";
2
-
3
- export default {
4
- product: "greatagents",
5
- name: "tool_categories",
6
- cache: { ttlView: 30, ttlList: 0 },
7
- params: [ "id_account" ],
8
- properties: properties,
9
- routes: {}
10
- };
@@ -1,116 +0,0 @@
1
- export const properties = {
2
- id: {
3
- type: "number",
4
- filterable: true,
5
- unique: true,
6
- autoIncrement: true,
7
- index: true
8
- },
9
- deleted: {
10
- type: "boolean",
11
- default: false,
12
- filterable: true
13
- },
14
- datetime_add: {
15
- type: "date",
16
- filterable: true,
17
- updatable: false
18
- },
19
- datetime_alt: {
20
- type: "date",
21
- filterable: true,
22
- updatable: true
23
- },
24
- datetime_del: {
25
- type: "date",
26
- filterable: true
27
- },
28
- id_account: {
29
- type: "number",
30
- required: true,
31
- updatable: false,
32
- filterable: true,
33
- reference: {
34
- module: "accounts",
35
- label: "name",
36
- value: "id",
37
- disabled: true
38
- },
39
- interface: {
40
- label: {
41
- "pt-br": "Conta",
42
- "en": "Account"
43
- },
44
- component: "select",
45
- disabled: true
46
- }
47
- },
48
- name: {
49
- type: "string",
50
- required: true,
51
- filterable: true,
52
- searchable: true,
53
- validation: {
54
- maxLength: 100
55
- },
56
- interface: {
57
- label: {
58
- "pt-br": "Nome da Categoria",
59
- "en": "Category Name"
60
- },
61
- component: "string",
62
- placeholder: {
63
- "pt-br": "Nome da categoria de ferramentas",
64
- "en": "Tool category name"
65
- }
66
- }
67
- },
68
- description: {
69
- type: "string",
70
- interface: {
71
- label: {
72
- "pt-br": "Descrição",
73
- "en": "Description"
74
- },
75
- component: "textarea",
76
- placeholder: {
77
- "pt-br": "Descreva esta categoria",
78
- "en": "Describe this category"
79
- }
80
- }
81
- },
82
- icon: {
83
- type: "string",
84
- validation: {
85
- maxLength: 50
86
- },
87
- interface: {
88
- label: {
89
- "pt-br": "Ícone",
90
- "en": "Icon"
91
- },
92
- component: "string",
93
- placeholder: {
94
- "pt-br": "Nome do ícone",
95
- "en": "Icon name"
96
- }
97
- }
98
- },
99
- color: {
100
- type: "string",
101
- validation: {
102
- maxLength: 7
103
- },
104
- interface: {
105
- label: {
106
- "pt-br": "Cor",
107
- "en": "Color"
108
- },
109
- component: "string",
110
- placeholder: {
111
- "pt-br": "Código hexadecimal da cor (ex: #FF0000)",
112
- "en": "Hexadecimal color code (ex: #FF0000)"
113
- }
114
- }
115
- }
116
- };
@@ -1,10 +0,0 @@
1
- import { properties } from "./properties.js";
2
-
3
- export default {
4
- product: "greatagents",
5
- name: "tool_credentials",
6
- cache: { ttlView: 30, ttlList: 0 },
7
- params: [ "id_account" ],
8
- properties: properties,
9
- routes: {}
10
- };
@@ -1,182 +0,0 @@
1
- export const properties = {
2
- id: {
3
- type: "number",
4
- filterable: true,
5
- unique: true,
6
- autoIncrement: true,
7
- index: true
8
- },
9
- deleted: {
10
- type: "boolean",
11
- default: false,
12
- filterable: true
13
- },
14
- datetime_add: {
15
- type: "date",
16
- filterable: true,
17
- updatable: false
18
- },
19
- datetime_alt: {
20
- type: "date",
21
- filterable: true,
22
- updatable: true
23
- },
24
- datetime_del: {
25
- type: "date",
26
- filterable: true
27
- },
28
- id_account: {
29
- type: "number",
30
- required: true,
31
- updatable: false,
32
- filterable: true,
33
- reference: {
34
- module: "accounts",
35
- label: "name",
36
- value: "id",
37
- disabled: true
38
- },
39
- interface: {
40
- label: {
41
- "pt-br": "Conta",
42
- "en": "Account"
43
- },
44
- component: "select",
45
- disabled: true
46
- }
47
- },
48
- id_tool: {
49
- type: "number",
50
- required: true,
51
- filterable: true,
52
- index: true,
53
- reference: {
54
- module: "tools",
55
- label: "name",
56
- value: "id"
57
- },
58
- interface: {
59
- label: {
60
- "pt-br": "Ferramenta",
61
- "en": "Tool"
62
- },
63
- component: "select"
64
- }
65
- },
66
- credential_type: {
67
- type: "string",
68
- required: true,
69
- filterable: true,
70
- searchable: true,
71
- validation: {
72
- maxLength: 50,
73
- enum: ["api_key", "bearer", "oauth2", "basic_auth", "custom_header", "mtls", "jwt"]
74
- },
75
- interface: {
76
- label: { "pt-br": "Tipo de Credencial", "en": "Credential Type" },
77
- component: "select",
78
- options: [
79
- { value: "api_key", label: { "pt-br": "API Key", "en": "API Key" } },
80
- { value: "bearer", label: { "pt-br": "Bearer Token", "en": "Bearer Token" } },
81
- { value: "oauth2", label: { "pt-br": "OAuth 2.0", "en": "OAuth 2.0" } },
82
- { value: "basic_auth", label: { "pt-br": "Autenticação Básica", "en": "Basic Auth" } },
83
- { value: "custom_header", label: { "pt-br": "Header Customizado", "en": "Custom Header" } },
84
- { value: "mtls", label: { "pt-br": "mTLS", "en": "mTLS" } },
85
- { value: "jwt", label: { "pt-br": "JWT", "en": "JWT" } }
86
- ]
87
- }
88
- },
89
- name: {
90
- type: "string",
91
- required: true,
92
- filterable: true,
93
- searchable: true,
94
- validation: {
95
- maxLength: 100
96
- },
97
- interface: {
98
- label: {
99
- "pt-br": "Nome da Credencial",
100
- "en": "Credential Name"
101
- },
102
- component: "string",
103
- placeholder: {
104
- "pt-br": "Identificador da credencial",
105
- "en": "Credential identifier"
106
- }
107
- }
108
- },
109
- encrypted_data: {
110
- type: "string",
111
- interface: {
112
- label: {
113
- "pt-br": "Dados Criptografados",
114
- "en": "Encrypted Data"
115
- },
116
- component: "textarea",
117
- placeholder: {
118
- "pt-br": "Dados sensíveis criptografados",
119
- "en": "Encrypted sensitive data"
120
- }
121
- }
122
- },
123
- metadata: {
124
- type: "string",
125
- interface: {
126
- label: {
127
- "pt-br": "Metadados",
128
- "en": "Metadata"
129
- },
130
- component: "textarea",
131
- placeholder: {
132
- "pt-br": "JSON com metadados não sensíveis",
133
- "en": "JSON with non-sensitive metadata"
134
- }
135
- }
136
- },
137
- expires_at: {
138
- type: "date",
139
- filterable: true,
140
- interface: {
141
- label: {
142
- "pt-br": "Data de Expiração",
143
- "en": "Expiration Date"
144
- },
145
- component: "date"
146
- }
147
- },
148
- rotated_at: {
149
- type: "date",
150
- filterable: true,
151
- interface: {
152
- label: {
153
- "pt-br": "Última Rotação",
154
- "en": "Last Rotation"
155
- },
156
- component: "date"
157
- }
158
- },
159
- version: {
160
- type: "number",
161
- default: 1,
162
- interface: {
163
- label: {
164
- "pt-br": "Versão",
165
- "en": "Version"
166
- },
167
- component: "number"
168
- }
169
- },
170
- active: {
171
- type: "boolean",
172
- default: true,
173
- filterable: true,
174
- interface: {
175
- label: {
176
- "pt-br": "Ativo",
177
- "en": "Active"
178
- },
179
- component: "boolean"
180
- }
181
- }
182
- };
@@ -1,10 +0,0 @@
1
- import { properties } from "./properties.js";
2
-
3
- export default {
4
- product: "greatagents",
5
- name: "tool_execution_logs",
6
- cache: { ttlView: 30, ttlList: 0 },
7
- params: [ "id_account" ],
8
- properties: properties,
9
- routes: {}
10
- };
@@ -1,185 +0,0 @@
1
- export const properties = {
2
- id: {
3
- type: "number",
4
- filterable: true,
5
- unique: true,
6
- autoIncrement: true,
7
- index: true
8
- },
9
- deleted: {
10
- type: "boolean",
11
- default: false,
12
- filterable: true
13
- },
14
- datetime_add: {
15
- type: "date",
16
- filterable: true,
17
- updatable: false
18
- },
19
- datetime_alt: {
20
- type: "date",
21
- filterable: true,
22
- updatable: true
23
- },
24
- datetime_del: {
25
- type: "date",
26
- filterable: true
27
- },
28
- id_account: {
29
- type: "number",
30
- required: true,
31
- updatable: false,
32
- filterable: true,
33
- reference: {
34
- module: "accounts",
35
- label: "name",
36
- value: "id",
37
- disabled: true
38
- },
39
- interface: {
40
- label: {
41
- "pt-br": "Conta",
42
- "en": "Account"
43
- },
44
- component: "select",
45
- disabled: true
46
- }
47
- },
48
- id_tool: {
49
- type: "number",
50
- required: true,
51
- filterable: true,
52
- index: true,
53
- reference: {
54
- module: "tools",
55
- label: "name",
56
- value: "id"
57
- },
58
- interface: {
59
- label: {
60
- "pt-br": "Ferramenta",
61
- "en": "Tool"
62
- },
63
- component: "select"
64
- }
65
- },
66
- id_agent: {
67
- type: "number",
68
- filterable: true,
69
- index: true,
70
- reference: {
71
- module: "agents",
72
- label: "title",
73
- value: "id"
74
- },
75
- interface: {
76
- label: {
77
- "pt-br": "Agente",
78
- "en": "Agent"
79
- },
80
- component: "select"
81
- }
82
- },
83
- execution_time: {
84
- type: "number",
85
- filterable: true,
86
- interface: {
87
- label: {
88
- "pt-br": "Tempo de Execução (ms)",
89
- "en": "Execution Time (ms)"
90
- },
91
- component: "number",
92
- placeholder: {
93
- "pt-br": "Tempo em milissegundos",
94
- "en": "Time in milliseconds"
95
- }
96
- }
97
- },
98
- status: {
99
- type: "string",
100
- required: true,
101
- filterable: true,
102
- interface: {
103
- label: {
104
- "pt-br": "Status",
105
- "en": "Status"
106
- },
107
- component: "select",
108
- options: [
109
- { value: "success", label: { "pt-br": "Sucesso", "en": "Success" } },
110
- { value: "error", label: { "pt-br": "Erro", "en": "Error" } },
111
- { value: "timeout", label: { "pt-br": "Timeout", "en": "Timeout" } },
112
- { value: "cancelled", label: { "pt-br": "Cancelado", "en": "Cancelled" } },
113
- { value: "pending", label: { "pt-br": "Pendente", "en": "Pending" } }
114
- ]
115
- }
116
- },
117
- input_data: {
118
- type: "string",
119
- interface: {
120
- label: {
121
- "pt-br": "Dados de Entrada",
122
- "en": "Input Data"
123
- },
124
- component: "textarea",
125
- placeholder: {
126
- "pt-br": "JSON dos parâmetros de entrada",
127
- "en": "JSON of input parameters"
128
- }
129
- }
130
- },
131
- output_data: {
132
- type: "string",
133
- interface: {
134
- label: {
135
- "pt-br": "Dados de Saída",
136
- "en": "Output Data"
137
- },
138
- component: "textarea",
139
- placeholder: {
140
- "pt-br": "JSON da resposta",
141
- "en": "JSON response"
142
- }
143
- }
144
- },
145
- error_message: {
146
- type: "string",
147
- interface: {
148
- label: {
149
- "pt-br": "Mensagem de Erro",
150
- "en": "Error Message"
151
- },
152
- component: "textarea",
153
- placeholder: {
154
- "pt-br": "Mensagem de erro se houver",
155
- "en": "Error message if any"
156
- }
157
- }
158
- },
159
- metadata: {
160
- type: "string",
161
- interface: {
162
- label: {
163
- "pt-br": "Metadados",
164
- "en": "Metadata"
165
- },
166
- component: "textarea",
167
- placeholder: {
168
- "pt-br": "JSON com informações adicionais",
169
- "en": "JSON with additional information"
170
- }
171
- }
172
- },
173
- executed_at: {
174
- type: "date",
175
- filterable: true,
176
- index: true,
177
- interface: {
178
- label: {
179
- "pt-br": "Executado Em",
180
- "en": "Executed At"
181
- },
182
- component: "date"
183
- }
184
- }
185
- };
@@ -1,10 +0,0 @@
1
- import { properties } from "./properties.js";
2
-
3
- export default {
4
- product: "greatagents",
5
- name: "tool_parameters",
6
- cache: { ttlView: 30, ttlList: 0 },
7
- params: [ "id_account" ],
8
- properties: properties,
9
- routes: {}
10
- };
@@ -1,179 +0,0 @@
1
- export const properties = {
2
- id: {
3
- type: "number",
4
- filterable: true,
5
- unique: true,
6
- autoIncrement: true,
7
- index: true
8
- },
9
- deleted: {
10
- type: "boolean",
11
- default: false,
12
- filterable: true
13
- },
14
- datetime_add: {
15
- type: "date",
16
- filterable: true,
17
- updatable: false
18
- },
19
- datetime_alt: {
20
- type: "date",
21
- filterable: true,
22
- updatable: true
23
- },
24
- datetime_del: {
25
- type: "date",
26
- filterable: true
27
- },
28
- id_account: {
29
- type: "number",
30
- required: true,
31
- updatable: false,
32
- filterable: true,
33
- reference: {
34
- module: "accounts",
35
- label: "name",
36
- value: "id",
37
- disabled: true
38
- },
39
- interface: {
40
- label: {
41
- "pt-br": "Conta",
42
- "en": "Account"
43
- },
44
- component: "select",
45
- disabled: true
46
- }
47
- },
48
- id_tool: {
49
- type: "number",
50
- required: true,
51
- filterable: true,
52
- index: true,
53
- reference: {
54
- module: "tools",
55
- label: "name",
56
- value: "id"
57
- },
58
- interface: {
59
- label: {
60
- "pt-br": "Ferramenta",
61
- "en": "Tool"
62
- },
63
- component: "select"
64
- }
65
- },
66
- name: {
67
- type: "string",
68
- required: true,
69
- filterable: true,
70
- searchable: true,
71
- validation: {
72
- maxLength: 100
73
- },
74
- interface: {
75
- label: {
76
- "pt-br": "Nome do Parâmetro",
77
- "en": "Parameter Name"
78
- },
79
- component: "string",
80
- placeholder: {
81
- "pt-br": "Nome do parâmetro",
82
- "en": "Parameter name"
83
- }
84
- }
85
- },
86
- parameter_type: {
87
- type: "string",
88
- required: true,
89
- filterable: true,
90
- interface: {
91
- label: {
92
- "pt-br": "Tipo de Parâmetro",
93
- "en": "Parameter Type"
94
- },
95
- component: "select",
96
- options: [
97
- { value: "input", label: { "pt-br": "Entrada", "en": "Input" } },
98
- { value: "output", label: { "pt-br": "Saída", "en": "Output" } },
99
- { value: "config", label: { "pt-br": "Configuração", "en": "Configuration" } }
100
- ]
101
- }
102
- },
103
- data_type: {
104
- type: "string",
105
- required: true,
106
- filterable: true,
107
- interface: {
108
- label: {
109
- "pt-br": "Tipo de Dado",
110
- "en": "Data Type"
111
- },
112
- component: "select",
113
- options: [
114
- { value: "string", label: { "pt-br": "Texto", "en": "String" } },
115
- { value: "number", label: { "pt-br": "Número", "en": "Number" } },
116
- { value: "boolean", label: { "pt-br": "Booleano", "en": "Boolean" } },
117
- { value: "object", label: { "pt-br": "Objeto", "en": "Object" } },
118
- { value: "array", label: { "pt-br": "Array", "en": "Array" } },
119
- { value: "date", label: { "pt-br": "Data", "en": "Date" } },
120
- { value: "file", label: { "pt-br": "Arquivo", "en": "File" } },
121
- { value: "null", label: { "pt-br": "Nulo", "en": "Null" } }
122
- ]
123
- }
124
- },
125
- required: {
126
- type: "boolean",
127
- default: false,
128
- filterable: true,
129
- interface: {
130
- label: {
131
- "pt-br": "Obrigatório",
132
- "en": "Required"
133
- },
134
- component: "boolean"
135
- }
136
- },
137
- description: {
138
- type: "string",
139
- interface: {
140
- label: {
141
- "pt-br": "Descrição",
142
- "en": "Description"
143
- },
144
- component: "textarea",
145
- placeholder: {
146
- "pt-br": "Descrição do parâmetro",
147
- "en": "Parameter description"
148
- }
149
- }
150
- },
151
- validation_schema: {
152
- type: "string",
153
- interface: {
154
- label: {
155
- "pt-br": "Schema de Validação",
156
- "en": "Validation Schema"
157
- },
158
- component: "textarea",
159
- placeholder: {
160
- "pt-br": "JSON Schema específico deste parâmetro",
161
- "en": "JSON Schema specific to this parameter"
162
- }
163
- }
164
- },
165
- default_value: {
166
- type: "string",
167
- interface: {
168
- label: {
169
- "pt-br": "Valor Padrão",
170
- "en": "Default Value"
171
- },
172
- component: "string",
173
- placeholder: {
174
- "pt-br": "Valor padrão do parâmetro",
175
- "en": "Default parameter value"
176
- }
177
- }
178
- }
179
- };
@@ -1,10 +0,0 @@
1
- import { properties } from "./properties.js";
2
-
3
- export default {
4
- product: "greatagents",
5
- name: "tools",
6
- cache: { ttlView: 30, ttlList: 0 },
7
- params: [ "id_account" ],
8
- properties: properties,
9
- routes: {}
10
- };
@@ -1,258 +0,0 @@
1
- export const properties = {
2
- id: {
3
- type: "number",
4
- filterable: true,
5
- unique: true,
6
- autoIncrement: true,
7
- index: true
8
- },
9
- deleted: {
10
- type: "boolean",
11
- default: false,
12
- filterable: true
13
- },
14
- datetime_add: {
15
- type: "date",
16
- filterable: true,
17
- updatable: false
18
- },
19
- datetime_alt: {
20
- type: "date",
21
- filterable: true,
22
- updatable: true
23
- },
24
- datetime_del: {
25
- type: "date",
26
- filterable: true
27
- },
28
- id_account: {
29
- type: "number",
30
- required: true,
31
- updatable: false,
32
- filterable: true,
33
- reference: {
34
- module: "accounts",
35
- label: "name",
36
- value: "id",
37
- disabled: true
38
- },
39
- interface: {
40
- label: {
41
- "pt-br": "Conta",
42
- "en": "Account"
43
- },
44
- component: "select",
45
- disabled: true
46
- }
47
- },
48
- id_agent: {
49
- type: "number",
50
- required: true,
51
- filterable: true,
52
- index: true,
53
- reference: {
54
- module: "agents",
55
- label: "title",
56
- value: "id"
57
- },
58
- interface: {
59
- label: {
60
- "pt-br": "Agente",
61
- "en": "Agent"
62
- },
63
- component: "select"
64
- }
65
- },
66
- type: {
67
- type: "string",
68
- required: true,
69
- filterable: true,
70
- searchable: true,
71
- validation: {
72
- maxLength: 50,
73
- enum: ["http", "mcp", "a2a", "script", "webhook", "api"]
74
- },
75
- interface: {
76
- label: { "pt-br": "Tipo de Ferramenta", "en": "Tool Type" },
77
- component: "select",
78
- options: [
79
- { value: "http", label: { "pt-br": "HTTP/REST", "en": "HTTP/REST" } },
80
- { value: "mcp", label: { "pt-br": "MCP", "en": "MCP" } },
81
- { value: "a2a", label: { "pt-br": "Agent-to-Agent", "en": "Agent-to-Agent" } },
82
- { value: "script", label: { "pt-br": "Script JavaScript", "en": "JavaScript Script" } },
83
- { value: "webhook", label: { "pt-br": "Webhook", "en": "Webhook" } },
84
- { value: "api", label: { "pt-br": "API Externa", "en": "External API" } }
85
- ]
86
- }
87
- },
88
- id_tool_category: {
89
- type: "number",
90
- filterable: true,
91
- reference: {
92
- module: "tool_categories",
93
- label: "name",
94
- value: "id"
95
- },
96
- interface: {
97
- label: {
98
- "pt-br": "Categoria",
99
- "en": "Category"
100
- },
101
- component: "select"
102
- }
103
- },
104
- name: {
105
- type: "string",
106
- required: true,
107
- filterable: true,
108
- searchable: true,
109
- validation: {
110
- maxLength: 100
111
- },
112
- interface: {
113
- label: {
114
- "pt-br": "Nome da Ferramenta",
115
- "en": "Tool Name"
116
- },
117
- component: "string",
118
- placeholder: {
119
- "pt-br": "Nome único para identificar a ferramenta",
120
- "en": "Unique name to identify the tool"
121
- }
122
- }
123
- },
124
- description: {
125
- type: "string",
126
- interface: {
127
- label: {
128
- "pt-br": "Descrição",
129
- "en": "Description"
130
- },
131
- component: "textarea",
132
- placeholder: {
133
- "pt-br": "Descreva quando e como o LLM deve usar esta ferramenta",
134
- "en": "Describe when and how the LLM should use this tool"
135
- }
136
- }
137
- },
138
- config: {
139
- type: "string",
140
- interface: {
141
- label: {
142
- "pt-br": "Configuração",
143
- "en": "Configuration"
144
- },
145
- component: "textarea",
146
- placeholder: {
147
- "pt-br": "JSON com configurações específicas do tipo de ferramenta",
148
- "en": "JSON with tool type specific configurations"
149
- }
150
- }
151
- },
152
- parameters_schema: {
153
- type: "string",
154
- interface: {
155
- label: {
156
- "pt-br": "Schema de Parâmetros",
157
- "en": "Parameters Schema"
158
- },
159
- component: "textarea",
160
- placeholder: {
161
- "pt-br": "JSON Schema para validação de entrada",
162
- "en": "JSON Schema for input validation"
163
- }
164
- }
165
- },
166
- output_schema: {
167
- type: "string",
168
- interface: {
169
- label: {
170
- "pt-br": "Schema de Saída",
171
- "en": "Output Schema"
172
- },
173
- component: "textarea",
174
- placeholder: {
175
- "pt-br": "JSON Schema para saída esperada",
176
- "en": "JSON Schema for expected output"
177
- }
178
- }
179
- },
180
- timeout: {
181
- type: "number",
182
- default: 30000,
183
- filterable: true,
184
- interface: {
185
- label: {
186
- "pt-br": "Timeout (ms)",
187
- "en": "Timeout (ms)"
188
- },
189
- component: "number",
190
- placeholder: {
191
- "pt-br": "Tempo limite em milissegundos",
192
- "en": "Timeout in milliseconds"
193
- }
194
- }
195
- },
196
- max_retries: {
197
- type: "number",
198
- default: 3,
199
- interface: {
200
- label: {
201
- "pt-br": "Máximo de Tentativas",
202
- "en": "Max Retries"
203
- },
204
- component: "number"
205
- }
206
- },
207
- retry_delay: {
208
- type: "number",
209
- default: 1000,
210
- interface: {
211
- label: {
212
- "pt-br": "Delay entre Tentativas (ms)",
213
- "en": "Retry Delay (ms)"
214
- },
215
- component: "number"
216
- }
217
- },
218
- rate_limit: {
219
- type: "number",
220
- interface: {
221
- label: {
222
- "pt-br": "Limite de Taxa (req/min)",
223
- "en": "Rate Limit (req/min)"
224
- },
225
- component: "number",
226
- placeholder: {
227
- "pt-br": "Requisições por minuto",
228
- "en": "Requests per minute"
229
- }
230
- }
231
- },
232
- active: {
233
- type: "boolean",
234
- default: true,
235
- filterable: true,
236
- interface: {
237
- label: {
238
- "pt-br": "Ativo",
239
- "en": "Active"
240
- },
241
- component: "boolean"
242
- }
243
- },
244
- version: {
245
- type: "string",
246
- interface: {
247
- label: {
248
- "pt-br": "Versão",
249
- "en": "Version"
250
- },
251
- component: "string",
252
- placeholder: {
253
- "pt-br": "Versão da configuração",
254
- "en": "Configuration version"
255
- }
256
- }
257
- }
258
- };