primocode 8.9.1 → 8.10.0
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/bin/primocode.js +10 -0
- package/package.json +2 -2
- package/studio/arquivos/corte-estatico-corte-a5bab.json +150 -0
- package/studio/arquivos/corte-founders-ai-teste-do-player-2de1d.json +65 -0
- package/studio/arquivos/corte-minimo-2a829.json +24 -0
- package/studio/arquivos/corte-ok-00a3b.json +18 -0
- package/studio/arquivos/corte-sweep-corte-cfb29.json +147 -0
- package/studio/arquivos/corte-visual-completo-78f50.json +35 -0
- package/studio/arquivos/grade-sweep-grade-0c2f1.json +119 -0
- package/studio/arquivos/prisma-estatico-prisma-d8740.json +182 -0
- package/studio/arquivos/prisma-sweep-prisma-4c58c.json +166 -0
- package/studio/arquivos/prisma-y-b0785.json +52 -0
- package/studio/arquivos/prosa-sweep-prosa-f29cf.json +80 -0
- package/studio/arquivos/tela-estatico-tela-c7daf.json +90 -0
- package/studio/arquivos/tela-sweep-tela-0d2bf.json +84 -0
- package/studio/arquivos/traco-estatico-traco-25872.json +113 -0
- package/studio/arquivos/traco-sweep-traco-0bcf4.json +102 -0
- package/studio/ferramentas/corte.md +62 -57
- package/studio/server.py +46 -0
package/bin/primocode.js
CHANGED
|
@@ -604,9 +604,19 @@ async function sendPrompt(userText) {
|
|
|
604
604
|
*
|
|
605
605
|
* Falhou? O pedido do usuário, inteiro, como ele escreveu.
|
|
606
606
|
*/
|
|
607
|
+
// A ÚNICA divisão que compensa: DESCOBRIR uma coisa e CRIAR outra com ela.
|
|
608
|
+
// O resto é pedido de uma fase só, e mandar para o planejador era pagar uma
|
|
609
|
+
// chamada de API para ouvir "não divida" — quando o modelo não resolvia
|
|
610
|
+
// inventar passos que ninguém pediu, que era o "faz coisas nada a ver".
|
|
611
|
+
const RE_DESCOBRIR = /\b(pesquis|busca|procur|descubr|investig|analis|leia|estud|olh[ae] (o site|a p[áa]gina)|ver o que)\w*/i;
|
|
612
|
+
const RE_CRIAR_DEPOIS = /\b(cri[ae]|faz|faça|mont[ae]|ger[ae]|escrev[ae]|produz|desenvolv)\w*/i;
|
|
613
|
+
|
|
607
614
|
async function dividirTarefa(pedido) {
|
|
608
615
|
const inteiro = [{ titulo: 'tarefa', pedido }];
|
|
609
616
|
if (!pedido || pedido.trim().length < 12) return inteiro;
|
|
617
|
+
// Sem as duas fases no texto, nem chama o servidor: mais rápido, e sem
|
|
618
|
+
// dar ao modelo a chance de dividir o que não devia.
|
|
619
|
+
if (!(RE_DESCOBRIR.test(pedido) && RE_CRIAR_DEPOIS.test(pedido))) return inteiro;
|
|
610
620
|
const sp = new Spinner('Primo Code pensando').start();
|
|
611
621
|
try {
|
|
612
622
|
const r = await api.requestPlano(state.config.server, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "primocode",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.10.0",
|
|
4
4
|
"description": "PrimoCode — agente de engenharia com IA e cursor próprio. Modelos grátis. Cria arquivos, roda comandos, controla navegador e desktop: abre apps, clica em botões e ícones pelo nome, digita e usa atalhos.",
|
|
5
5
|
"main": "bin/primocode.js",
|
|
6
6
|
"bin": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"start": "node bin/primocode.js",
|
|
11
|
-
"test": "node test/tools.test.js && node test/ui.test.js && node test/modo.test.js && node test/pasta.test.js && node test/catalogo.test.js && node test/desktop.test.js && node test/effort.test.js && node test/claude-engine.test.js && node test/regressao.test.js && node test/memoria-conversa.test.js && node test/repeticao.test.js && node test/referencia.test.js && node test/parar.test.js && node test/continuar.test.js"
|
|
11
|
+
"test": "node test/tools.test.js && node test/ui.test.js && node test/modo.test.js && node test/pasta.test.js && node test/catalogo.test.js && node test/desktop.test.js && node test/effort.test.js && node test/claude-engine.test.js && node test/regressao.test.js && node test/memoria-conversa.test.js && node test/repeticao.test.js && node test/referencia.test.js && node test/parar.test.js && node test/continuar.test.js && node test/studio-spec.test.js"
|
|
12
12
|
},
|
|
13
13
|
"engines": {
|
|
14
14
|
"node": ">=18.17.0"
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "corte-estatico-corte-a5bab",
|
|
3
|
+
"ferramenta": "corte",
|
|
4
|
+
"titulo": "estatico-corte",
|
|
5
|
+
"doc": {
|
|
6
|
+
"tema": "brasa",
|
|
7
|
+
"largura": 1080,
|
|
8
|
+
"altura": 1920,
|
|
9
|
+
"acabamento": "grao",
|
|
10
|
+
"trilha": {
|
|
11
|
+
"tipo": "gerada",
|
|
12
|
+
"estilo": "pulso",
|
|
13
|
+
"volume": 0.7
|
|
14
|
+
},
|
|
15
|
+
"cenas": [
|
|
16
|
+
{
|
|
17
|
+
"layout": "centro",
|
|
18
|
+
"duracao": 3,
|
|
19
|
+
"fundo": "aurora",
|
|
20
|
+
"transicao": "flash",
|
|
21
|
+
"elementos": [
|
|
22
|
+
{
|
|
23
|
+
"tipo": "texto",
|
|
24
|
+
"papel": "titulo",
|
|
25
|
+
"texto": "Sua conta subiu\nde novo.",
|
|
26
|
+
"tamanho": 124,
|
|
27
|
+
"estilo": "gradiente",
|
|
28
|
+
"anim": "nenhuma"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"layout": "centro",
|
|
34
|
+
"duracao": 3,
|
|
35
|
+
"fundo": "vinheta",
|
|
36
|
+
"transicao": "limpar",
|
|
37
|
+
"elementos": [
|
|
38
|
+
{
|
|
39
|
+
"tipo": "texto",
|
|
40
|
+
"papel": "titulo",
|
|
41
|
+
"texto": "E não foi o seu chuveiro.",
|
|
42
|
+
"tamanho": 78,
|
|
43
|
+
"estilo": "marcador",
|
|
44
|
+
"anim": "nenhuma"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"layout": "centro",
|
|
50
|
+
"duracao": 4,
|
|
51
|
+
"transicao": "zoom",
|
|
52
|
+
"acabamento": "vinheta",
|
|
53
|
+
"fundo": {
|
|
54
|
+
"imagem": "/midia/torre.jpg",
|
|
55
|
+
"escurecer": 0.5
|
|
56
|
+
},
|
|
57
|
+
"elementos": [
|
|
58
|
+
{
|
|
59
|
+
"tipo": "numeros",
|
|
60
|
+
"contar": true,
|
|
61
|
+
"anim": "nenhuma",
|
|
62
|
+
"tamanho": 180,
|
|
63
|
+
"itens": [
|
|
64
|
+
"+38% | bandeira tarifária em 12 meses"
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"layout": "livre",
|
|
71
|
+
"duracao": 4,
|
|
72
|
+
"transicao": "deslizar",
|
|
73
|
+
"elementos": [
|
|
74
|
+
{
|
|
75
|
+
"tipo": "imagem",
|
|
76
|
+
"src": "/midia/campo.jpg",
|
|
77
|
+
"x": 0,
|
|
78
|
+
"y": 0,
|
|
79
|
+
"l": 1080,
|
|
80
|
+
"a": 1920,
|
|
81
|
+
"raio": 0,
|
|
82
|
+
"movimento": "aproximar",
|
|
83
|
+
"filtro": "contraste",
|
|
84
|
+
"anim": "nenhuma"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"tipo": "forma",
|
|
88
|
+
"forma": "retangulo",
|
|
89
|
+
"x": 0,
|
|
90
|
+
"y": 1180,
|
|
91
|
+
"l": 1080,
|
|
92
|
+
"a": 740,
|
|
93
|
+
"preenchimento": "rgba(10,5,6,.72)",
|
|
94
|
+
"anim": "nenhuma"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"tipo": "texto",
|
|
98
|
+
"x": 90,
|
|
99
|
+
"y": 1320,
|
|
100
|
+
"l": 900,
|
|
101
|
+
"a": 420,
|
|
102
|
+
"texto": "O custo está\nna transmissão",
|
|
103
|
+
"tamanho": 104,
|
|
104
|
+
"peso": 750,
|
|
105
|
+
"estilo": "sombra",
|
|
106
|
+
"anim": "nenhuma"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"layout": "centro",
|
|
112
|
+
"duracao": 5,
|
|
113
|
+
"fundo": "raios",
|
|
114
|
+
"transicao": "subir",
|
|
115
|
+
"elementos": [
|
|
116
|
+
{
|
|
117
|
+
"tipo": "lista",
|
|
118
|
+
"revelar": true,
|
|
119
|
+
"tamanho": 52,
|
|
120
|
+
"intervalo": 0.9,
|
|
121
|
+
"itens": [
|
|
122
|
+
"Linhas saturadas no Nordeste",
|
|
123
|
+
"Usina gerando sem escoar",
|
|
124
|
+
"A conta chega em quem consome"
|
|
125
|
+
],
|
|
126
|
+
"anim": "nenhuma"
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"layout": "centro",
|
|
132
|
+
"duracao": 3,
|
|
133
|
+
"fundo": "brilho",
|
|
134
|
+
"transicao": "fade",
|
|
135
|
+
"acabamento": "luz",
|
|
136
|
+
"elementos": [
|
|
137
|
+
{
|
|
138
|
+
"tipo": "texto",
|
|
139
|
+
"papel": "titulo",
|
|
140
|
+
"texto": "Segue para\nentender a próxima.",
|
|
141
|
+
"tamanho": 96,
|
|
142
|
+
"estilo": "contorno-tom",
|
|
143
|
+
"anim": "nenhuma"
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"atualizado": "2026-08-16T15:08:28+00:00"
|
|
150
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "corte-founders-ai-teste-do-player-2de1d",
|
|
3
|
+
"ferramenta": "corte",
|
|
4
|
+
"titulo": "Founders AI — teste do player",
|
|
5
|
+
"doc": {
|
|
6
|
+
"tema": "brasa",
|
|
7
|
+
"largura": 1080,
|
|
8
|
+
"altura": 1920,
|
|
9
|
+
"acabamento": "grao",
|
|
10
|
+
"trilha": {
|
|
11
|
+
"tipo": "gerada",
|
|
12
|
+
"estilo": "pulso",
|
|
13
|
+
"volume": 0.7
|
|
14
|
+
},
|
|
15
|
+
"cenas": [
|
|
16
|
+
{
|
|
17
|
+
"layout": "centro",
|
|
18
|
+
"duracao": 3,
|
|
19
|
+
"fundo": "aurora",
|
|
20
|
+
"transicao": "flash",
|
|
21
|
+
"elementos": [
|
|
22
|
+
{
|
|
23
|
+
"tipo": "texto",
|
|
24
|
+
"papel": "titulo",
|
|
25
|
+
"texto": "Imersão\nFounders AI",
|
|
26
|
+
"tamanho": 124,
|
|
27
|
+
"estilo": "gradiente",
|
|
28
|
+
"anim": "desfoque"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"layout": "centro",
|
|
34
|
+
"duracao": 3,
|
|
35
|
+
"fundo": "vinheta",
|
|
36
|
+
"elementos": [
|
|
37
|
+
{
|
|
38
|
+
"tipo": "texto",
|
|
39
|
+
"papel": "titulo",
|
|
40
|
+
"texto": "Paris Group · Chapecó",
|
|
41
|
+
"tamanho": 78,
|
|
42
|
+
"estilo": "marcador",
|
|
43
|
+
"anim": "palavra"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"layout": "centro",
|
|
49
|
+
"duracao": 4,
|
|
50
|
+
"fundo": "raios",
|
|
51
|
+
"elementos": [
|
|
52
|
+
{
|
|
53
|
+
"tipo": "numeros",
|
|
54
|
+
"contar": true,
|
|
55
|
+
"tamanho": 180,
|
|
56
|
+
"itens": [
|
|
57
|
+
"20 | empresários por turma"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
"atualizado": "2026-08-16T14:55:24+00:00"
|
|
65
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "corte-minimo-2a829",
|
|
3
|
+
"ferramenta": "corte",
|
|
4
|
+
"titulo": "minimo",
|
|
5
|
+
"doc": {
|
|
6
|
+
"tema": "claro",
|
|
7
|
+
"largura": 1080,
|
|
8
|
+
"altura": 1920,
|
|
9
|
+
"cenas": [
|
|
10
|
+
{
|
|
11
|
+
"layout": "centro",
|
|
12
|
+
"duracao": 5,
|
|
13
|
+
"elementos": [
|
|
14
|
+
{
|
|
15
|
+
"tipo": "texto",
|
|
16
|
+
"texto": "TESTE VISIVEL",
|
|
17
|
+
"tamanho": 120
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"atualizado": "2026-08-16T14:57:24+00:00"
|
|
24
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "corte-sweep-corte-cfb29",
|
|
3
|
+
"ferramenta": "corte",
|
|
4
|
+
"titulo": "sweep-corte",
|
|
5
|
+
"doc": {
|
|
6
|
+
"tema": "brasa",
|
|
7
|
+
"largura": 1080,
|
|
8
|
+
"altura": 1920,
|
|
9
|
+
"acabamento": "grao",
|
|
10
|
+
"trilha": {
|
|
11
|
+
"tipo": "gerada",
|
|
12
|
+
"estilo": "pulso",
|
|
13
|
+
"volume": 0.7
|
|
14
|
+
},
|
|
15
|
+
"cenas": [
|
|
16
|
+
{
|
|
17
|
+
"layout": "centro",
|
|
18
|
+
"duracao": 3,
|
|
19
|
+
"fundo": "aurora",
|
|
20
|
+
"transicao": "flash",
|
|
21
|
+
"elementos": [
|
|
22
|
+
{
|
|
23
|
+
"tipo": "texto",
|
|
24
|
+
"papel": "titulo",
|
|
25
|
+
"texto": "Sua conta subiu\nde novo.",
|
|
26
|
+
"tamanho": 124,
|
|
27
|
+
"estilo": "gradiente",
|
|
28
|
+
"anim": "desfoque"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"layout": "centro",
|
|
34
|
+
"duracao": 3,
|
|
35
|
+
"fundo": "vinheta",
|
|
36
|
+
"transicao": "limpar",
|
|
37
|
+
"elementos": [
|
|
38
|
+
{
|
|
39
|
+
"tipo": "texto",
|
|
40
|
+
"papel": "titulo",
|
|
41
|
+
"texto": "E não foi o seu chuveiro.",
|
|
42
|
+
"tamanho": 78,
|
|
43
|
+
"estilo": "marcador",
|
|
44
|
+
"anim": "palavra"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"layout": "centro",
|
|
50
|
+
"duracao": 4,
|
|
51
|
+
"transicao": "zoom",
|
|
52
|
+
"acabamento": "vinheta",
|
|
53
|
+
"fundo": {
|
|
54
|
+
"imagem": "/midia/torre.jpg",
|
|
55
|
+
"escurecer": 0.5
|
|
56
|
+
},
|
|
57
|
+
"elementos": [
|
|
58
|
+
{
|
|
59
|
+
"tipo": "numeros",
|
|
60
|
+
"contar": true,
|
|
61
|
+
"anim": "saltar",
|
|
62
|
+
"tamanho": 180,
|
|
63
|
+
"itens": [
|
|
64
|
+
"+38% | bandeira tarifária em 12 meses"
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"layout": "livre",
|
|
71
|
+
"duracao": 4,
|
|
72
|
+
"transicao": "deslizar",
|
|
73
|
+
"elementos": [
|
|
74
|
+
{
|
|
75
|
+
"tipo": "imagem",
|
|
76
|
+
"src": "/midia/campo.jpg",
|
|
77
|
+
"x": 0,
|
|
78
|
+
"y": 0,
|
|
79
|
+
"l": 1080,
|
|
80
|
+
"a": 1920,
|
|
81
|
+
"raio": 0,
|
|
82
|
+
"movimento": "aproximar",
|
|
83
|
+
"filtro": "contraste"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"tipo": "forma",
|
|
87
|
+
"forma": "retangulo",
|
|
88
|
+
"x": 0,
|
|
89
|
+
"y": 1180,
|
|
90
|
+
"l": 1080,
|
|
91
|
+
"a": 740,
|
|
92
|
+
"preenchimento": "rgba(10,5,6,.72)"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"tipo": "texto",
|
|
96
|
+
"x": 90,
|
|
97
|
+
"y": 1320,
|
|
98
|
+
"l": 900,
|
|
99
|
+
"a": 420,
|
|
100
|
+
"texto": "O custo está\nna transmissão",
|
|
101
|
+
"tamanho": 104,
|
|
102
|
+
"peso": 750,
|
|
103
|
+
"estilo": "sombra",
|
|
104
|
+
"anim": "cortina"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"layout": "centro",
|
|
110
|
+
"duracao": 5,
|
|
111
|
+
"fundo": "raios",
|
|
112
|
+
"transicao": "subir",
|
|
113
|
+
"elementos": [
|
|
114
|
+
{
|
|
115
|
+
"tipo": "lista",
|
|
116
|
+
"revelar": true,
|
|
117
|
+
"tamanho": 52,
|
|
118
|
+
"intervalo": 0.9,
|
|
119
|
+
"itens": [
|
|
120
|
+
"Linhas saturadas no Nordeste",
|
|
121
|
+
"Usina gerando sem escoar",
|
|
122
|
+
"A conta chega em quem consome"
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"layout": "centro",
|
|
129
|
+
"duracao": 3,
|
|
130
|
+
"fundo": "brilho",
|
|
131
|
+
"transicao": "fade",
|
|
132
|
+
"acabamento": "luz",
|
|
133
|
+
"elementos": [
|
|
134
|
+
{
|
|
135
|
+
"tipo": "texto",
|
|
136
|
+
"papel": "titulo",
|
|
137
|
+
"texto": "Segue para\nentender a próxima.",
|
|
138
|
+
"tamanho": 96,
|
|
139
|
+
"estilo": "contorno-tom",
|
|
140
|
+
"anim": "elastico"
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
"atualizado": "2026-08-16T15:07:33+00:00"
|
|
147
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "corte-visual-completo-78f50",
|
|
3
|
+
"ferramenta": "corte",
|
|
4
|
+
"titulo": "visual completo",
|
|
5
|
+
"doc": {
|
|
6
|
+
"tema": "brasa",
|
|
7
|
+
"largura": 1080,
|
|
8
|
+
"altura": 1920,
|
|
9
|
+
"acabamento": "grao",
|
|
10
|
+
"cenas": [
|
|
11
|
+
{
|
|
12
|
+
"layout": "centro",
|
|
13
|
+
"duracao": 4,
|
|
14
|
+
"fundo": "aurora",
|
|
15
|
+
"elementos": [
|
|
16
|
+
{
|
|
17
|
+
"tipo": "texto",
|
|
18
|
+
"papel": "titulo",
|
|
19
|
+
"texto": "Imersão\nFounders AI",
|
|
20
|
+
"tamanho": 124,
|
|
21
|
+
"estilo": "gradiente",
|
|
22
|
+
"anim": "nenhuma"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"tipo": "texto",
|
|
26
|
+
"texto": "Paris Group · Chapecó",
|
|
27
|
+
"tamanho": 48,
|
|
28
|
+
"anim": "nenhuma"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"atualizado": "2026-08-16T15:02:56+00:00"
|
|
35
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "grade-sweep-grade-0c2f1",
|
|
3
|
+
"ferramenta": "grade",
|
|
4
|
+
"titulo": "sweep-grade",
|
|
5
|
+
"doc": {
|
|
6
|
+
"tema": "claro",
|
|
7
|
+
"abas": [
|
|
8
|
+
{
|
|
9
|
+
"nome": "Custos",
|
|
10
|
+
"colunas": [
|
|
11
|
+
"Item",
|
|
12
|
+
"Qtd",
|
|
13
|
+
"Unitário",
|
|
14
|
+
"Total"
|
|
15
|
+
],
|
|
16
|
+
"linhas": [
|
|
17
|
+
[
|
|
18
|
+
"Servidor de aplicação",
|
|
19
|
+
6,
|
|
20
|
+
18400,
|
|
21
|
+
"=B1*C1"
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
"Servidor de banco",
|
|
25
|
+
3,
|
|
26
|
+
26800,
|
|
27
|
+
"=B2*C2"
|
|
28
|
+
],
|
|
29
|
+
[
|
|
30
|
+
"Licenças anuais",
|
|
31
|
+
12,
|
|
32
|
+
4200,
|
|
33
|
+
"=B3*C3"
|
|
34
|
+
],
|
|
35
|
+
[
|
|
36
|
+
"Rede e cabeamento",
|
|
37
|
+
1,
|
|
38
|
+
38000,
|
|
39
|
+
"=B4*C4"
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
"Total",
|
|
43
|
+
"",
|
|
44
|
+
"",
|
|
45
|
+
"=SOMA(D1:D4)"
|
|
46
|
+
]
|
|
47
|
+
],
|
|
48
|
+
"formatos": {
|
|
49
|
+
"Qtd": "inteiro",
|
|
50
|
+
"Unitário": "moeda",
|
|
51
|
+
"Total": "moeda"
|
|
52
|
+
},
|
|
53
|
+
"regras": [
|
|
54
|
+
{
|
|
55
|
+
"coluna": "Total",
|
|
56
|
+
"acima": 100000
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"grafico": {
|
|
60
|
+
"tipo": "barras",
|
|
61
|
+
"rotulo": "Item",
|
|
62
|
+
"valor": "Total"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"nome": "Projeção",
|
|
67
|
+
"colunas": [
|
|
68
|
+
"Mês",
|
|
69
|
+
"Receita",
|
|
70
|
+
"Custo",
|
|
71
|
+
"Margem",
|
|
72
|
+
"Margem %"
|
|
73
|
+
],
|
|
74
|
+
"linhas": [
|
|
75
|
+
[
|
|
76
|
+
"Jan",
|
|
77
|
+
320000,
|
|
78
|
+
214000,
|
|
79
|
+
"=B1-C1",
|
|
80
|
+
"=ARRED(D1/B1*100)"
|
|
81
|
+
],
|
|
82
|
+
[
|
|
83
|
+
"Fev",
|
|
84
|
+
348000,
|
|
85
|
+
219000,
|
|
86
|
+
"=B2-C2",
|
|
87
|
+
"=ARRED(D2/B2*100)"
|
|
88
|
+
],
|
|
89
|
+
[
|
|
90
|
+
"Mar",
|
|
91
|
+
391000,
|
|
92
|
+
226000,
|
|
93
|
+
"=B3-C3",
|
|
94
|
+
"=ARRED(D3/B3*100)"
|
|
95
|
+
],
|
|
96
|
+
[
|
|
97
|
+
"Média",
|
|
98
|
+
"=MEDIA(B1:B3)",
|
|
99
|
+
"=MEDIA(C1:C3)",
|
|
100
|
+
"=MEDIA(D1:D3)",
|
|
101
|
+
""
|
|
102
|
+
]
|
|
103
|
+
],
|
|
104
|
+
"formatos": {
|
|
105
|
+
"Receita": "moeda",
|
|
106
|
+
"Custo": "moeda",
|
|
107
|
+
"Margem": "moeda",
|
|
108
|
+
"Margem %": "percentual"
|
|
109
|
+
},
|
|
110
|
+
"grafico": {
|
|
111
|
+
"tipo": "linha",
|
|
112
|
+
"rotulo": "Mês",
|
|
113
|
+
"valor": "Margem"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
"atualizado": "2026-08-16T15:07:33+00:00"
|
|
119
|
+
}
|