@semacode/cli 1.5.28 → 1.5.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.
- package/README.md +144 -144
- package/dist/bridge.d.ts +52 -0
- package/dist/bridge.js +318 -0
- package/dist/bridge.js.map +1 -0
- package/dist/comandos.d.ts +11 -0
- package/dist/comandos.js +146 -0
- package/dist/comandos.js.map +1 -0
- package/dist/contexto.d.ts +34 -0
- package/dist/contexto.js +197 -0
- package/dist/contexto.js.map +1 -0
- package/dist/drift.d.ts +1 -1
- package/dist/drift.js +32 -5
- package/dist/drift.js.map +1 -1
- package/dist/guard.d.ts +35 -0
- package/dist/guard.js +164 -0
- package/dist/guard.js.map +1 -0
- package/dist/index.js +391 -64
- package/dist/index.js.map +1 -1
- package/dist/lua-symbols.d.ts +0 -6
- package/dist/lua-symbols.js +11 -78
- package/dist/lua-symbols.js.map +1 -1
- package/dist/projeto.js +6 -0
- package/dist/projeto.js.map +1 -1
- package/dist/tipos.d.ts +1 -1
- package/exemplos/.prepack-generated +1 -0
- package/exemplos/author_obra_comum.sema +294 -294
- package/exemplos/author_tema_sensivel.sema +264 -264
- package/exemplos/profile_game.sema +114 -114
- package/exemplos/profile_legal.sema +105 -105
- package/exemplos/profile_ops.sema +110 -110
- package/exemplos/profile_research.sema +104 -104
- package/exemplos/profile_software.sema +123 -123
- package/exemplos/profile_workflow_n8n.sema +99 -99
- package/node_modules/@sema/gerador-css/package.json +14 -7
- package/node_modules/@sema/gerador-css/src/index.ts +605 -0
- package/node_modules/@sema/gerador-css/tsconfig.json +13 -0
- package/node_modules/@sema/gerador-css/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sema/gerador-dart/package.json +14 -7
- package/node_modules/@sema/gerador-dart/src/index.ts +52 -0
- package/node_modules/@sema/gerador-dart/tsconfig.json +13 -0
- package/node_modules/@sema/gerador-dart/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sema/gerador-html/package.json +14 -7
- package/node_modules/@sema/gerador-html/src/index.ts +185 -0
- package/node_modules/@sema/gerador-html/tsconfig.json +13 -0
- package/node_modules/@sema/gerador-html/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sema/gerador-javascript/package.json +14 -7
- package/node_modules/@sema/gerador-javascript/src/index.ts +461 -0
- package/node_modules/@sema/gerador-javascript/tsconfig.json +13 -0
- package/node_modules/@sema/gerador-javascript/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sema/gerador-lua/package.json +14 -7
- package/node_modules/@sema/gerador-lua/src/index.ts +359 -0
- package/node_modules/@sema/gerador-lua/tsconfig.json +13 -0
- package/node_modules/@sema/gerador-lua/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sema/gerador-python/package.json +14 -7
- package/node_modules/@sema/gerador-python/src/index.ts +850 -0
- package/node_modules/@sema/gerador-python/tsconfig.json +13 -0
- package/node_modules/@sema/gerador-python/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sema/gerador-typescript/package.json +14 -7
- package/node_modules/@sema/gerador-typescript/src/index.ts +876 -0
- package/node_modules/@sema/gerador-typescript/tsconfig.json +13 -0
- package/node_modules/@sema/gerador-typescript/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
- package/node_modules/@sema/nucleo/dist/index.d.ts +17 -0
- package/node_modules/@sema/nucleo/dist/index.js +28 -0
- package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.js +4 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
- package/node_modules/@sema/nucleo/dist/parser/parser.js +2 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +2 -2
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +3 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
- package/node_modules/@sema/nucleo/package.json +10 -7
- package/node_modules/@sema/nucleo/src/ast/tipos.ts +207 -0
- package/node_modules/@sema/nucleo/src/diagnosticos/index.ts +43 -0
- package/node_modules/@sema/nucleo/src/formatador/index.ts +530 -0
- package/node_modules/@sema/nucleo/src/index.ts +183 -0
- package/node_modules/@sema/nucleo/src/ir/conversor.ts +1037 -0
- package/node_modules/@sema/nucleo/src/ir/modelos.ts +403 -0
- package/node_modules/@sema/nucleo/src/lexer/lexer.ts +166 -0
- package/node_modules/@sema/nucleo/src/lexer/tokens.ts +79 -0
- package/node_modules/@sema/nucleo/src/parser/gramatica.ebnf +41 -0
- package/node_modules/@sema/nucleo/src/parser/parser.ts +936 -0
- package/node_modules/@sema/nucleo/src/persistencia/contratos.ts +379 -0
- package/node_modules/@sema/nucleo/src/semantico/analisador.ts +3126 -0
- package/node_modules/@sema/nucleo/src/semantico/estruturas.ts +665 -0
- package/node_modules/@sema/nucleo/src/semantico/seguranca.ts +362 -0
- package/node_modules/@sema/nucleo/src/util/arquivos.ts +28 -0
- package/node_modules/@sema/nucleo/tsconfig.json +9 -0
- package/node_modules/@sema/nucleo/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sema/padroes/package.json +10 -7
- package/node_modules/@sema/padroes/src/index.ts +382 -0
- package/node_modules/@sema/padroes/tsconfig.json +9 -0
- package/node_modules/@sema/padroes/tsconfig.tsbuildinfo +1 -0
- package/package.json +74 -74
- package/AGENTS.md +0 -280
- package/LICENSE +0 -22
- package/SEMA_BRIEF.curto.txt +0 -11
- package/SEMA_BRIEF.md +0 -112
- package/SEMA_BRIEF.micro.txt +0 -9
- package/SEMA_INDEX.json +0 -1534
- package/dist/php-symbols.d.ts +0 -24
- package/dist/php-symbols.js +0 -375
- package/dist/php-symbols.js.map +0 -1
- package/docs/AGENT_STARTER.md +0 -109
- package/docs/cli.md +0 -175
- package/docs/como-ensinar-a-sema-para-ia.md +0 -155
- package/docs/deploy.md +0 -93
- package/docs/documentacao.md +0 -88
- package/docs/env.md +0 -105
- package/docs/extensao-vscode.md +0 -53
- package/docs/fluxo-pratico-ia-sema.md +0 -187
- package/docs/instalacao-e-primeiro-uso.md +0 -134
- package/docs/integracao-com-ia.md +0 -110
- package/docs/mcp.md +0 -292
- package/docs/pagamento-ponta-a-ponta.md +0 -171
- package/docs/persistencia-vendor-first.md +0 -151
- package/docs/prompt-base-ia-sema.md +0 -111
- package/docs/repositories.md +0 -54
- package/docs/rollback.md +0 -49
- package/docs/seguranca.md +0 -126
- package/docs/sintaxe.md +0 -218
- package/llms-full.txt +0 -34
- package/llms.txt +0 -17
|
@@ -1,294 +1,294 @@
|
|
|
1
|
-
module exemplos.author.obra_comum {
|
|
2
|
-
docs {
|
|
3
|
-
resumo: "Starter publico do Sema Author para obra autoral comum com core, agents, flow e regras anti-cliche."
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
type AuthorCore {
|
|
7
|
-
fields {
|
|
8
|
-
obra: Texto
|
|
9
|
-
publico: PublicoAuthor
|
|
10
|
-
genero: Texto
|
|
11
|
-
tom: Texto
|
|
12
|
-
estilo: Texto
|
|
13
|
-
limites: Lista
|
|
14
|
-
}
|
|
15
|
-
invariants {
|
|
16
|
-
obra existe
|
|
17
|
-
publico em [INFANTIL, JOVEM, ADULTO, TECNICO]
|
|
18
|
-
genero existe
|
|
19
|
-
tom existe
|
|
20
|
-
estilo existe
|
|
21
|
-
limites existe
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
type AgentAuthor {
|
|
26
|
-
fields {
|
|
27
|
-
nome: Texto
|
|
28
|
-
papel: Texto
|
|
29
|
-
permissao: Texto
|
|
30
|
-
}
|
|
31
|
-
invariants {
|
|
32
|
-
nome existe
|
|
33
|
-
papel existe
|
|
34
|
-
permissao existe
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
entity CenaAuthor {
|
|
39
|
-
fields {
|
|
40
|
-
id: Id
|
|
41
|
-
obra: Texto
|
|
42
|
-
status: StatusCena
|
|
43
|
-
objetivo: Texto
|
|
44
|
-
conflito: Texto
|
|
45
|
-
mudanca_de_estado: Booleano
|
|
46
|
-
}
|
|
47
|
-
invariants {
|
|
48
|
-
id existe
|
|
49
|
-
obra existe
|
|
50
|
-
status em [BRIEFING, OUTLINE, RASCUNHO, REVISAO, PUBLICAVEL]
|
|
51
|
-
objetivo existe
|
|
52
|
-
conflito existe
|
|
53
|
-
mudanca_de_estado existe
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
enum PublicoAuthor {
|
|
58
|
-
INFANTIL,
|
|
59
|
-
JOVEM,
|
|
60
|
-
ADULTO,
|
|
61
|
-
TECNICO
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
enum StatusCena {
|
|
65
|
-
BRIEFING,
|
|
66
|
-
OUTLINE,
|
|
67
|
-
RASCUNHO,
|
|
68
|
-
REVISAO,
|
|
69
|
-
PUBLICAVEL
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
task declarar_author_core {
|
|
73
|
-
input {
|
|
74
|
-
obra: Texto required
|
|
75
|
-
publico: PublicoAuthor required
|
|
76
|
-
genero: Texto required
|
|
77
|
-
estilo: Texto required
|
|
78
|
-
}
|
|
79
|
-
output {
|
|
80
|
-
core: AuthorCore
|
|
81
|
-
pronto_para_outline: Booleano
|
|
82
|
-
}
|
|
83
|
-
rules {
|
|
84
|
-
obra deve_ser preenchido
|
|
85
|
-
publico deve_ser valido
|
|
86
|
-
genero deve_ser preenchido
|
|
87
|
-
estilo deve_ser preenchido
|
|
88
|
-
}
|
|
89
|
-
effects {
|
|
90
|
-
auditoria author_core criticidade = media
|
|
91
|
-
}
|
|
92
|
-
forbidden {
|
|
93
|
-
publico_indefinido
|
|
94
|
-
estilo_generico
|
|
95
|
-
fontes_inventadas
|
|
96
|
-
}
|
|
97
|
-
execucao {
|
|
98
|
-
idempotencia: verdadeiro
|
|
99
|
-
timeout: "10s"
|
|
100
|
-
criticidade_operacional: media
|
|
101
|
-
}
|
|
102
|
-
guarantees {
|
|
103
|
-
core existe
|
|
104
|
-
pronto_para_outline == verdadeiro
|
|
105
|
-
}
|
|
106
|
-
tests {
|
|
107
|
-
caso "core autoral minimo" {
|
|
108
|
-
given {
|
|
109
|
-
obra: "As Cidades de Vidro"
|
|
110
|
-
publico: "ADULTO"
|
|
111
|
-
genero: "fantasia_politica"
|
|
112
|
-
estilo: "sobrio"
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
expect {
|
|
116
|
-
sucesso: verdadeiro
|
|
117
|
-
pronto_para_outline: verdadeiro
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
task montar_agents_author {
|
|
124
|
-
input {
|
|
125
|
-
planejador: Texto required
|
|
126
|
-
editor: Texto required
|
|
127
|
-
revisor_cliche: Texto required
|
|
128
|
-
guardiao_estilo: Texto required
|
|
129
|
-
}
|
|
130
|
-
output {
|
|
131
|
-
agents: Lista
|
|
132
|
-
pronto_para_cena: Booleano
|
|
133
|
-
}
|
|
134
|
-
rules {
|
|
135
|
-
planejador deve_ser preenchido
|
|
136
|
-
editor deve_ser preenchido
|
|
137
|
-
revisor_cliche deve_ser preenchido
|
|
138
|
-
guardiao_estilo deve_ser preenchido
|
|
139
|
-
}
|
|
140
|
-
effects {
|
|
141
|
-
auditoria author_agents criticidade = media
|
|
142
|
-
}
|
|
143
|
-
forbidden {
|
|
144
|
-
agent_sem_papel
|
|
145
|
-
agent_sem_limite
|
|
146
|
-
revisor_cliche_ausente
|
|
147
|
-
}
|
|
148
|
-
execucao {
|
|
149
|
-
idempotencia: verdadeiro
|
|
150
|
-
timeout: "10s"
|
|
151
|
-
criticidade_operacional: media
|
|
152
|
-
}
|
|
153
|
-
guarantees {
|
|
154
|
-
agents existe
|
|
155
|
-
pronto_para_cena == verdadeiro
|
|
156
|
-
}
|
|
157
|
-
tests {
|
|
158
|
-
caso "agents autorais completos" {
|
|
159
|
-
given {
|
|
160
|
-
planejador: "planejador"
|
|
161
|
-
editor: "editor"
|
|
162
|
-
revisor_cliche: "anti_cliche"
|
|
163
|
-
guardiao_estilo: "guardiao_estilo"
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
expect {
|
|
167
|
-
sucesso: verdadeiro
|
|
168
|
-
pronto_para_cena: verdadeiro
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
task revisar_cena_contra_cliche {
|
|
175
|
-
input {
|
|
176
|
-
cena_id: Id required
|
|
177
|
-
texto: Texto required
|
|
178
|
-
}
|
|
179
|
-
output {
|
|
180
|
-
achados: Lista
|
|
181
|
-
aprovado: Booleano
|
|
182
|
-
}
|
|
183
|
-
rules {
|
|
184
|
-
cena_id deve_ser valido
|
|
185
|
-
texto deve_ser preenchido
|
|
186
|
-
texto deve_ser sem_cliche_escolhido_predestinado
|
|
187
|
-
texto deve_ser sem_dialogo_resumo
|
|
188
|
-
texto deve_ser sem_frase_de_efeito_vazia
|
|
189
|
-
texto deve_ser sem_voz_generica_de_ia
|
|
190
|
-
}
|
|
191
|
-
effects {
|
|
192
|
-
auditoria author_cliche criticidade = media
|
|
193
|
-
}
|
|
194
|
-
forbidden {
|
|
195
|
-
exposicao_sem_conflito
|
|
196
|
-
dialogo_expositivo
|
|
197
|
-
moralizacao_barata
|
|
198
|
-
}
|
|
199
|
-
execucao {
|
|
200
|
-
idempotencia: verdadeiro
|
|
201
|
-
timeout: "10s"
|
|
202
|
-
criticidade_operacional: media
|
|
203
|
-
}
|
|
204
|
-
guarantees {
|
|
205
|
-
achados existe
|
|
206
|
-
aprovado existe
|
|
207
|
-
}
|
|
208
|
-
tests {
|
|
209
|
-
caso "bloqueia escolhido predestinado" {
|
|
210
|
-
given {
|
|
211
|
-
cena_id: "cena_1"
|
|
212
|
-
texto: "O escolhido predestinado aceitou sua missao."
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
expect {
|
|
216
|
-
sucesso: verdadeiro
|
|
217
|
-
aprovado: falso
|
|
218
|
-
achados: "escolhido_predestinado"
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
task validar_cena_viva {
|
|
225
|
-
input {
|
|
226
|
-
cena_id: Id required
|
|
227
|
-
objetivo: Texto required
|
|
228
|
-
conflito: Texto required
|
|
229
|
-
dialogo_tem_atrito: Booleano required
|
|
230
|
-
altera_estado: Booleano required
|
|
231
|
-
}
|
|
232
|
-
output {
|
|
233
|
-
publicavel: Booleano
|
|
234
|
-
status: StatusCena
|
|
235
|
-
}
|
|
236
|
-
rules {
|
|
237
|
-
objetivo deve_ser preenchido
|
|
238
|
-
conflito deve_ser preenchido
|
|
239
|
-
dialogo_tem_atrito deve_ser verdadeiro
|
|
240
|
-
altera_estado deve_ser verdadeiro
|
|
241
|
-
}
|
|
242
|
-
effects {
|
|
243
|
-
auditoria author_cena criticidade = media
|
|
244
|
-
}
|
|
245
|
-
execucao {
|
|
246
|
-
idempotencia: verdadeiro
|
|
247
|
-
timeout: "10s"
|
|
248
|
-
criticidade_operacional: media
|
|
249
|
-
}
|
|
250
|
-
guarantees {
|
|
251
|
-
publicavel existe
|
|
252
|
-
status em [REVISAO, PUBLICAVEL]
|
|
253
|
-
}
|
|
254
|
-
tests {
|
|
255
|
-
caso "cena altera estado" {
|
|
256
|
-
given {
|
|
257
|
-
cena_id: "cena_2"
|
|
258
|
-
objetivo: "obter a carta"
|
|
259
|
-
conflito: "a aliada mente"
|
|
260
|
-
dialogo_tem_atrito: verdadeiro
|
|
261
|
-
altera_estado: verdadeiro
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
expect {
|
|
265
|
-
sucesso: verdadeiro
|
|
266
|
-
publicavel: verdadeiro
|
|
267
|
-
status: "PUBLICAVEL"
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
flow author_flow_obra_comum {
|
|
274
|
-
obra: Texto
|
|
275
|
-
publico: PublicoAuthor
|
|
276
|
-
genero: Texto
|
|
277
|
-
estilo: Texto
|
|
278
|
-
cena_id: Id
|
|
279
|
-
objetivo: Texto
|
|
280
|
-
conflito: Texto
|
|
281
|
-
planejador: Texto
|
|
282
|
-
editor: Texto
|
|
283
|
-
revisor_cliche: Texto
|
|
284
|
-
guardiao_estilo: Texto
|
|
285
|
-
texto: Texto
|
|
286
|
-
etapa core usa declarar_author_core com obra = obra, publico = publico, genero = genero, estilo = estilo
|
|
287
|
-
etapa agents usa montar_agents_author com planejador = planejador, editor = editor, revisor_cliche = revisor_cliche, guardiao_estilo = guardiao_estilo depende_de core
|
|
288
|
-
etapa cliche usa revisar_cena_contra_cliche com cena_id = cena_id, texto = texto depende_de agents
|
|
289
|
-
etapa cena usa validar_cena_viva com cena_id = cena_id, objetivo = objetivo, conflito = conflito, dialogo_tem_atrito = verdadeiro, altera_estado = verdadeiro depende_de cliche
|
|
290
|
-
effects {
|
|
291
|
-
auditoria author_flow criticidade = media
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
1
|
+
module exemplos.author.obra_comum {
|
|
2
|
+
docs {
|
|
3
|
+
resumo: "Starter publico do Sema Author para obra autoral comum com core, agents, flow e regras anti-cliche."
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
type AuthorCore {
|
|
7
|
+
fields {
|
|
8
|
+
obra: Texto
|
|
9
|
+
publico: PublicoAuthor
|
|
10
|
+
genero: Texto
|
|
11
|
+
tom: Texto
|
|
12
|
+
estilo: Texto
|
|
13
|
+
limites: Lista
|
|
14
|
+
}
|
|
15
|
+
invariants {
|
|
16
|
+
obra existe
|
|
17
|
+
publico em [INFANTIL, JOVEM, ADULTO, TECNICO]
|
|
18
|
+
genero existe
|
|
19
|
+
tom existe
|
|
20
|
+
estilo existe
|
|
21
|
+
limites existe
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type AgentAuthor {
|
|
26
|
+
fields {
|
|
27
|
+
nome: Texto
|
|
28
|
+
papel: Texto
|
|
29
|
+
permissao: Texto
|
|
30
|
+
}
|
|
31
|
+
invariants {
|
|
32
|
+
nome existe
|
|
33
|
+
papel existe
|
|
34
|
+
permissao existe
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
entity CenaAuthor {
|
|
39
|
+
fields {
|
|
40
|
+
id: Id
|
|
41
|
+
obra: Texto
|
|
42
|
+
status: StatusCena
|
|
43
|
+
objetivo: Texto
|
|
44
|
+
conflito: Texto
|
|
45
|
+
mudanca_de_estado: Booleano
|
|
46
|
+
}
|
|
47
|
+
invariants {
|
|
48
|
+
id existe
|
|
49
|
+
obra existe
|
|
50
|
+
status em [BRIEFING, OUTLINE, RASCUNHO, REVISAO, PUBLICAVEL]
|
|
51
|
+
objetivo existe
|
|
52
|
+
conflito existe
|
|
53
|
+
mudanca_de_estado existe
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
enum PublicoAuthor {
|
|
58
|
+
INFANTIL,
|
|
59
|
+
JOVEM,
|
|
60
|
+
ADULTO,
|
|
61
|
+
TECNICO
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
enum StatusCena {
|
|
65
|
+
BRIEFING,
|
|
66
|
+
OUTLINE,
|
|
67
|
+
RASCUNHO,
|
|
68
|
+
REVISAO,
|
|
69
|
+
PUBLICAVEL
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
task declarar_author_core {
|
|
73
|
+
input {
|
|
74
|
+
obra: Texto required
|
|
75
|
+
publico: PublicoAuthor required
|
|
76
|
+
genero: Texto required
|
|
77
|
+
estilo: Texto required
|
|
78
|
+
}
|
|
79
|
+
output {
|
|
80
|
+
core: AuthorCore
|
|
81
|
+
pronto_para_outline: Booleano
|
|
82
|
+
}
|
|
83
|
+
rules {
|
|
84
|
+
obra deve_ser preenchido
|
|
85
|
+
publico deve_ser valido
|
|
86
|
+
genero deve_ser preenchido
|
|
87
|
+
estilo deve_ser preenchido
|
|
88
|
+
}
|
|
89
|
+
effects {
|
|
90
|
+
auditoria author_core criticidade = media
|
|
91
|
+
}
|
|
92
|
+
forbidden {
|
|
93
|
+
publico_indefinido
|
|
94
|
+
estilo_generico
|
|
95
|
+
fontes_inventadas
|
|
96
|
+
}
|
|
97
|
+
execucao {
|
|
98
|
+
idempotencia: verdadeiro
|
|
99
|
+
timeout: "10s"
|
|
100
|
+
criticidade_operacional: media
|
|
101
|
+
}
|
|
102
|
+
guarantees {
|
|
103
|
+
core existe
|
|
104
|
+
pronto_para_outline == verdadeiro
|
|
105
|
+
}
|
|
106
|
+
tests {
|
|
107
|
+
caso "core autoral minimo" {
|
|
108
|
+
given {
|
|
109
|
+
obra: "As Cidades de Vidro"
|
|
110
|
+
publico: "ADULTO"
|
|
111
|
+
genero: "fantasia_politica"
|
|
112
|
+
estilo: "sobrio"
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
expect {
|
|
116
|
+
sucesso: verdadeiro
|
|
117
|
+
pronto_para_outline: verdadeiro
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
task montar_agents_author {
|
|
124
|
+
input {
|
|
125
|
+
planejador: Texto required
|
|
126
|
+
editor: Texto required
|
|
127
|
+
revisor_cliche: Texto required
|
|
128
|
+
guardiao_estilo: Texto required
|
|
129
|
+
}
|
|
130
|
+
output {
|
|
131
|
+
agents: Lista
|
|
132
|
+
pronto_para_cena: Booleano
|
|
133
|
+
}
|
|
134
|
+
rules {
|
|
135
|
+
planejador deve_ser preenchido
|
|
136
|
+
editor deve_ser preenchido
|
|
137
|
+
revisor_cliche deve_ser preenchido
|
|
138
|
+
guardiao_estilo deve_ser preenchido
|
|
139
|
+
}
|
|
140
|
+
effects {
|
|
141
|
+
auditoria author_agents criticidade = media
|
|
142
|
+
}
|
|
143
|
+
forbidden {
|
|
144
|
+
agent_sem_papel
|
|
145
|
+
agent_sem_limite
|
|
146
|
+
revisor_cliche_ausente
|
|
147
|
+
}
|
|
148
|
+
execucao {
|
|
149
|
+
idempotencia: verdadeiro
|
|
150
|
+
timeout: "10s"
|
|
151
|
+
criticidade_operacional: media
|
|
152
|
+
}
|
|
153
|
+
guarantees {
|
|
154
|
+
agents existe
|
|
155
|
+
pronto_para_cena == verdadeiro
|
|
156
|
+
}
|
|
157
|
+
tests {
|
|
158
|
+
caso "agents autorais completos" {
|
|
159
|
+
given {
|
|
160
|
+
planejador: "planejador"
|
|
161
|
+
editor: "editor"
|
|
162
|
+
revisor_cliche: "anti_cliche"
|
|
163
|
+
guardiao_estilo: "guardiao_estilo"
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
expect {
|
|
167
|
+
sucesso: verdadeiro
|
|
168
|
+
pronto_para_cena: verdadeiro
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
task revisar_cena_contra_cliche {
|
|
175
|
+
input {
|
|
176
|
+
cena_id: Id required
|
|
177
|
+
texto: Texto required
|
|
178
|
+
}
|
|
179
|
+
output {
|
|
180
|
+
achados: Lista
|
|
181
|
+
aprovado: Booleano
|
|
182
|
+
}
|
|
183
|
+
rules {
|
|
184
|
+
cena_id deve_ser valido
|
|
185
|
+
texto deve_ser preenchido
|
|
186
|
+
texto deve_ser sem_cliche_escolhido_predestinado
|
|
187
|
+
texto deve_ser sem_dialogo_resumo
|
|
188
|
+
texto deve_ser sem_frase_de_efeito_vazia
|
|
189
|
+
texto deve_ser sem_voz_generica_de_ia
|
|
190
|
+
}
|
|
191
|
+
effects {
|
|
192
|
+
auditoria author_cliche criticidade = media
|
|
193
|
+
}
|
|
194
|
+
forbidden {
|
|
195
|
+
exposicao_sem_conflito
|
|
196
|
+
dialogo_expositivo
|
|
197
|
+
moralizacao_barata
|
|
198
|
+
}
|
|
199
|
+
execucao {
|
|
200
|
+
idempotencia: verdadeiro
|
|
201
|
+
timeout: "10s"
|
|
202
|
+
criticidade_operacional: media
|
|
203
|
+
}
|
|
204
|
+
guarantees {
|
|
205
|
+
achados existe
|
|
206
|
+
aprovado existe
|
|
207
|
+
}
|
|
208
|
+
tests {
|
|
209
|
+
caso "bloqueia escolhido predestinado" {
|
|
210
|
+
given {
|
|
211
|
+
cena_id: "cena_1"
|
|
212
|
+
texto: "O escolhido predestinado aceitou sua missao."
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
expect {
|
|
216
|
+
sucesso: verdadeiro
|
|
217
|
+
aprovado: falso
|
|
218
|
+
achados: "escolhido_predestinado"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
task validar_cena_viva {
|
|
225
|
+
input {
|
|
226
|
+
cena_id: Id required
|
|
227
|
+
objetivo: Texto required
|
|
228
|
+
conflito: Texto required
|
|
229
|
+
dialogo_tem_atrito: Booleano required
|
|
230
|
+
altera_estado: Booleano required
|
|
231
|
+
}
|
|
232
|
+
output {
|
|
233
|
+
publicavel: Booleano
|
|
234
|
+
status: StatusCena
|
|
235
|
+
}
|
|
236
|
+
rules {
|
|
237
|
+
objetivo deve_ser preenchido
|
|
238
|
+
conflito deve_ser preenchido
|
|
239
|
+
dialogo_tem_atrito deve_ser verdadeiro
|
|
240
|
+
altera_estado deve_ser verdadeiro
|
|
241
|
+
}
|
|
242
|
+
effects {
|
|
243
|
+
auditoria author_cena criticidade = media
|
|
244
|
+
}
|
|
245
|
+
execucao {
|
|
246
|
+
idempotencia: verdadeiro
|
|
247
|
+
timeout: "10s"
|
|
248
|
+
criticidade_operacional: media
|
|
249
|
+
}
|
|
250
|
+
guarantees {
|
|
251
|
+
publicavel existe
|
|
252
|
+
status em [REVISAO, PUBLICAVEL]
|
|
253
|
+
}
|
|
254
|
+
tests {
|
|
255
|
+
caso "cena altera estado" {
|
|
256
|
+
given {
|
|
257
|
+
cena_id: "cena_2"
|
|
258
|
+
objetivo: "obter a carta"
|
|
259
|
+
conflito: "a aliada mente"
|
|
260
|
+
dialogo_tem_atrito: verdadeiro
|
|
261
|
+
altera_estado: verdadeiro
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
expect {
|
|
265
|
+
sucesso: verdadeiro
|
|
266
|
+
publicavel: verdadeiro
|
|
267
|
+
status: "PUBLICAVEL"
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
flow author_flow_obra_comum {
|
|
274
|
+
obra: Texto
|
|
275
|
+
publico: PublicoAuthor
|
|
276
|
+
genero: Texto
|
|
277
|
+
estilo: Texto
|
|
278
|
+
cena_id: Id
|
|
279
|
+
objetivo: Texto
|
|
280
|
+
conflito: Texto
|
|
281
|
+
planejador: Texto
|
|
282
|
+
editor: Texto
|
|
283
|
+
revisor_cliche: Texto
|
|
284
|
+
guardiao_estilo: Texto
|
|
285
|
+
texto: Texto
|
|
286
|
+
etapa core usa declarar_author_core com obra = obra, publico = publico, genero = genero, estilo = estilo
|
|
287
|
+
etapa agents usa montar_agents_author com planejador = planejador, editor = editor, revisor_cliche = revisor_cliche, guardiao_estilo = guardiao_estilo depende_de core
|
|
288
|
+
etapa cliche usa revisar_cena_contra_cliche com cena_id = cena_id, texto = texto depende_de agents
|
|
289
|
+
etapa cena usa validar_cena_viva com cena_id = cena_id, objetivo = objetivo, conflito = conflito, dialogo_tem_atrito = verdadeiro, altera_estado = verdadeiro depende_de cliche
|
|
290
|
+
effects {
|
|
291
|
+
auditoria author_flow criticidade = media
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|