types-nora-api 0.0.488 → 0.0.490

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.
Files changed (44) hide show
  1. package/dist/api/graphql/leituras/ArquivoTipadoMusica/index.d.ts +16 -4
  2. package/dist/api/graphql/leituras/ArquivoTipadoMusica/index.js +19 -4
  3. package/dist/api/graphql/leituras/CoeficienteGanhoEstatisticaClasse/index.d.ts +48 -0
  4. package/dist/api/graphql/leituras/CoeficienteGanhoEstatisticaClasse/index.js +66 -0
  5. package/dist/api/graphql/leituras/DimensaoClima/index.d.ts +2 -1
  6. package/dist/api/graphql/leituras/DimensaoClima/index.js +2 -1
  7. package/dist/api/graphql/leituras/FonteMusica/index.d.ts +3 -2
  8. package/dist/api/graphql/leituras/FonteMusica/index.js +8 -3
  9. package/dist/api/graphql/leituras/Menu/index.d.ts +47 -0
  10. package/dist/api/graphql/leituras/Menu/index.js +67 -0
  11. package/dist/api/graphql/leituras/MusicaConfigurada/index.d.ts +3 -2
  12. package/dist/api/graphql/leituras/MusicaConfigurada/index.js +8 -3
  13. package/dist/api/graphql/leituras/PaginaNavegacao/index.d.ts +48 -0
  14. package/dist/api/graphql/leituras/PaginaNavegacao/index.js +70 -0
  15. package/dist/api/graphql/leituras/Partida/index.d.ts +128 -0
  16. package/dist/api/graphql/leituras/Partida/index.js +154 -0
  17. package/dist/api/graphql/leituras/SerDetalhe/index.d.ts +11 -2
  18. package/dist/api/graphql/leituras/SerDetalhe/index.js +17 -2
  19. package/dist/api/graphql/leituras/index.d.ts +16 -20
  20. package/dist/api/graphql/leituras/index.js +16 -20
  21. package/dist/api/rest/index.d.ts +171 -76
  22. package/dist/api/rest/index.js +264 -80
  23. package/dist/dominio/index.d.ts +110 -1
  24. package/dist/dominio/index.js +27 -1
  25. package/dist/dtos/index.d.ts +561 -135
  26. package/dist/dtos/index.js +96 -1
  27. package/dist/menus/index.d.ts +2 -171
  28. package/dist/menus/index.js +1 -348
  29. package/dist/paginas/index.d.ts +64 -76
  30. package/dist/paginas/index.js +67 -106
  31. package/dist/shared/index.d.ts +85 -1
  32. package/dist/ws/index.d.ts +61 -14
  33. package/dist/ws/index.js +9 -1
  34. package/package.json +1 -1
  35. package/dist/api/graphql/leituras/CatalogoMissao/index.d.ts +0 -42
  36. package/dist/api/graphql/leituras/CatalogoMissao/index.js +0 -60
  37. package/dist/api/graphql/leituras/CatalogoMissaoExibicao/index.d.ts +0 -45
  38. package/dist/api/graphql/leituras/CatalogoMissaoExibicao/index.js +0 -65
  39. package/dist/api/graphql/leituras/Missao/index.d.ts +0 -37
  40. package/dist/api/graphql/leituras/Missao/index.js +0 -51
  41. package/dist/api/graphql/leituras/MissaoDetalhe/index.d.ts +0 -44
  42. package/dist/api/graphql/leituras/MissaoDetalhe/index.js +0 -62
  43. package/dist/api/graphql/leituras/MissaoExibicao/index.d.ts +0 -48
  44. package/dist/api/graphql/leituras/MissaoExibicao/index.js +0 -70
@@ -1,78 +1,5 @@
1
- import type { CtxAcesso } from '../acessos';
2
1
  import type { LayoutContextualizadoInicial } from '../dtos';
3
2
  import type { AcessoPagina } from '../shared';
4
- type Brand<T, B extends string> = T & {
5
- readonly __brand: B;
6
- };
7
- type ParamSingle = string | number;
8
- type ParamMany = (string | number)[];
9
- type ParamValue = ParamSingle | ParamMany | undefined;
10
- type ParamsRecord = Record<string, ParamValue>;
11
- type ExtrairParamsDoTemplate<S extends string, Acc extends ParamsRecord = {}> = S extends `${infer _A}[[...${infer P}]]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
12
- [K in P]?: ParamMany;
13
- }> : S extends `${infer _A}[...${infer P}]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
14
- [K in P]: ParamMany;
15
- }> : S extends `${infer _A}[${infer P}]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
16
- [K in P]: ParamSingle;
17
- }> : Acc;
18
- type PaginaParamsDoTemplate<T extends string> = ExtrairParamsDoTemplate<T>;
19
- type PaginaInfoBase = {
20
- readonly label: string;
21
- readonly comCabecalho?: true;
22
- readonly acesso?: AcessoPagina;
23
- readonly acessoPorMenuInterno?: true;
24
- readonly prioridadePresenca?: number;
25
- readonly idMusicaPagina?: number;
26
- };
27
- type PaginaInfoComLayoutContextualizado = PaginaInfoBase & {
28
- readonly layoutContextualizadoInicial: LayoutContextualizadoInicial;
29
- };
30
- type PaginaInfo = PaginaInfoBase | PaginaInfoComLayoutContextualizado;
31
- type PaginaTemplate<T extends string = string> = Brand<T, 'PaginaTemplate'>;
32
- type PaginaDef<T extends string, I extends PaginaInfo = PaginaInfo> = I & {
33
- readonly template: PaginaTemplate<T>;
34
- readonly hrefTemplate: T;
35
- readonly href: T;
36
- };
37
- type PaginaParams<P extends {
38
- hrefTemplate: string;
39
- }> = PaginaParamsDoTemplate<P['hrefTemplate']>;
40
- declare function montarHref(template: string, params: ParamsRecord): string;
41
- type LimparUndefinedValue = string | number | boolean | object | null | undefined;
42
- type LimparUndefinedRecord = Record<string, LimparUndefinedValue>;
43
- declare function limparUndefined<T extends LimparUndefinedRecord>(obj: T): T;
44
- declare function pagina<const T extends string>(hrefTemplate: T, info: PaginaInfoBase): PaginaDef<T, PaginaInfoBase>;
45
- declare function paginaComLayoutContextualizado<const T extends string>(hrefTemplate: T, info: PaginaInfoBase, layoutContextualizadoInicial: LayoutContextualizadoInicial): PaginaDef<T, PaginaInfoComLayoutContextualizado>;
46
- type RequiredKeys<T> = {
47
- [K in keyof T]-?: {} extends Pick<T, K> ? never : K;
48
- }[keyof T];
49
- type ParamsProps<P extends PaginaDef<string>> = keyof PaginaParams<P> extends never ? {
50
- params?: never;
51
- } : RequiredKeys<PaginaParams<P>> extends never ? {
52
- params?: PaginaParams<P>;
53
- } : {
54
- params: PaginaParams<P>;
55
- };
56
- declare function toParamsRecord(params: object): ParamsRecord;
57
- type DecisaoAcessoPagina = {
58
- permitido: true;
59
- } | {
60
- permitido: false;
61
- motivo: 'NAO_AUTENTICADO';
62
- redirecionarPara: PaginaFolha;
63
- } | {
64
- permitido: false;
65
- motivo: 'SEM_CAPACIDADE';
66
- redirecionarPara: PaginaFolha;
67
- };
68
- type ResolverMenuInterno = (pagina: PaginaFolha) => readonly PaginaFolha[] | undefined;
69
- type Opts = {
70
- resolverMenuInterno?: ResolverMenuInterno;
71
- redirectNaoAutenticado: PaginaFolha;
72
- redirectSemCapacidade: PaginaFolha;
73
- };
74
- declare function decidirAcessoPagina(pagina: PaginaFolha, ctx: CtxAcesso, opts: Opts): DecisaoAcessoPagina;
75
- declare function decidirAcessoPagina_Rec(pagina: PaginaFolha, ctx: CtxAcesso, opts: Opts, visitados: Set<string>): DecisaoAcessoPagina;
76
3
  declare const PAGINAS: {
77
4
  readonly home: PaginaDef<"/", PaginaInfoBase>;
78
5
  readonly acessar: PaginaDef<"/acessar", PaginaInfoBase>;
@@ -89,7 +16,7 @@ declare const PAGINAS: {
89
16
  readonly sessoesMestre: PaginaDef<"/jogo/mestre/sessoes-mestre", PaginaInfoComLayoutContextualizado>;
90
17
  };
91
18
  readonly jogador: {
92
- readonly solo: PaginaDef<"/jogo/jogador/solo", PaginaInfoBase>;
19
+ readonly partidas: PaginaDef<"/jogo/jogador/partidas", PaginaInfoBase>;
93
20
  readonly label: string;
94
21
  readonly comCabecalho?: true;
95
22
  readonly acesso?: AcessoPagina;
@@ -123,6 +50,7 @@ declare const PAGINAS: {
123
50
  readonly gerenciarDimensoes: PaginaDef<"/minhas-paginas/admin/gerenciar-dimensoes", PaginaInfoComLayoutContextualizado>;
124
51
  readonly tutoriais: PaginaDef<"/minhas-paginas/admin/tutoriais", PaginaInfoComLayoutContextualizado>;
125
52
  readonly disparosEventosUsuario: PaginaDef<"/minhas-paginas/admin/disparos-eventos-usuario", PaginaInfoComLayoutContextualizado>;
53
+ readonly gestaoNavegacao: PaginaDef<"/minhas-paginas/admin/gestao-navegacao", PaginaInfoComLayoutContextualizado>;
126
54
  readonly label: string;
127
55
  readonly comCabecalho?: true;
128
56
  readonly acesso?: AcessoPagina;
@@ -138,6 +66,8 @@ declare const PAGINAS: {
138
66
  readonly dashboardAprovacaoImagensArtista: PaginaDef<"/minhas-paginas/moderador/aprovar-imagens-artista", PaginaInfoComLayoutContextualizado>;
139
67
  readonly gerenciarEmblemas: PaginaDef<"/minhas-paginas/moderador/emblemas", PaginaInfoComLayoutContextualizado>;
140
68
  readonly gerenciarConquistas: PaginaDef<"/minhas-paginas/moderador/conquistas", PaginaInfoComLayoutContextualizado>;
69
+ readonly editorDefinicoes: PaginaDef<"/minhas-paginas/moderador/definicoes/[[...slug]]", PaginaInfoBase>;
70
+ readonly editorDicas: PaginaDef<"/minhas-paginas/moderador/dicas/[[...slug]]", PaginaInfoBase>;
141
71
  readonly label: string;
142
72
  readonly comCabecalho?: true;
143
73
  readonly acesso?: AcessoPagina;
@@ -173,7 +103,11 @@ declare const PAGINAS: {
173
103
  readonly configurar: {
174
104
  readonly configuracaoTestePericia: PaginaDef<"/minhas-paginas/game-designer/configurar/configuracao-teste-pericia", PaginaInfoComLayoutContextualizado>;
175
105
  readonly configuracaoPatentesTestePericia: PaginaDef<"/minhas-paginas/game-designer/configurar/configuracao-patentes-teste-pericia", PaginaInfoComLayoutContextualizado>;
176
- readonly missoesJogaveis: PaginaDef<"/minhas-paginas/game-designer/configurar/missoes-jogaveis", PaginaInfoComLayoutContextualizado>;
106
+ readonly coeficientesGanhoEstatistica: PaginaDef<"/minhas-paginas/game-designer/configurar/coeficientes-ganho-estatistica", PaginaInfoComLayoutContextualizado>;
107
+ readonly desafios: PaginaDef<"/minhas-paginas/game-designer/configurar/desafios", PaginaInfoComLayoutContextualizado>;
108
+ readonly desafiosAtivos: PaginaDef<"/minhas-paginas/game-designer/configurar/desafios-ativos", PaginaInfoComLayoutContextualizado>;
109
+ readonly configuracaoPartida: PaginaDef<"/minhas-paginas/game-designer/configurar/configuracao-partida", PaginaInfoComLayoutContextualizado>;
110
+ readonly catalogosPartida: PaginaDef<"/minhas-paginas/game-designer/configurar/catalogos-partida", PaginaInfoComLayoutContextualizado>;
177
111
  };
178
112
  readonly analisar: {
179
113
  readonly simuladorDistribuicoesTeste: PaginaDef<"/minhas-paginas/game-designer/analisar/distribuicoes-testes", PaginaInfoComLayoutContextualizado>;
@@ -217,6 +151,7 @@ declare const PAGINAS: {
217
151
  readonly artista: {
218
152
  readonly minhasImagens: PaginaDef<"/minhas-paginas/artista/minhas-imagens", PaginaInfoComLayoutContextualizado>;
219
153
  readonly adicionarImagem: PaginaDef<"/minhas-paginas/artista/adicionar-imagem", PaginaInfoComLayoutContextualizado>;
154
+ readonly assinatura: PaginaDef<"/minhas-paginas/artista/assinatura", PaginaInfoComLayoutContextualizado>;
220
155
  readonly avatares: {
221
156
  readonly gerenciarAvatares: PaginaDef<"/minhas-paginas/artista/avatares", PaginaInfoComLayoutContextualizado>;
222
157
  };
@@ -303,4 +238,57 @@ type PaginaHrefTemplate = PaginaFolha['hrefTemplate'];
303
238
  type PaginaHref = PaginaFolha['href'];
304
239
  type PaginaDefAny = PaginaDef<string>;
305
240
  type PaginaTemplateAny = PaginaTemplate<string>;
306
- export { Brand, DecisaoAcessoPagina, ExtrairParamsDoTemplate, Folhas, LimparUndefinedRecord, LimparUndefinedValue, Opts, PAGINAS, PaginaDef, PaginaDefAny, PaginaDestino, PaginaDestinoPagina, PaginaFolha, PaginaHref, PaginaHrefTemplate, PaginaInfo, PaginaInfoBase, PaginaInfoComLayoutContextualizado, PaginaParams, PaginaParamsDoTemplate, PaginaTemplate, PaginaTemplateAny, PaginaTemplateFolha, ParamMany, ParamSingle, ParamValue, ParamsProps, ParamsRecord, RequiredKeys, ResolverMenuInterno, decidirAcessoPagina, decidirAcessoPagina_Rec, limparUndefined, montarHref, pagina, paginaComLayoutContextualizado, toParamsRecord };
241
+ type Brand<T, B extends string> = T & {
242
+ readonly __brand: B;
243
+ };
244
+ type ParamSingle = string | number;
245
+ type ParamMany = (string | number)[];
246
+ type ParamValue = ParamSingle | ParamMany | undefined;
247
+ type ParamsRecord = Record<string, ParamValue>;
248
+ type ExtrairParamsDoTemplate<S extends string, Acc extends ParamsRecord = {}> = S extends `${infer _A}[[...${infer P}]]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
249
+ [K in P]?: ParamMany;
250
+ }> : S extends `${infer _A}[...${infer P}]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
251
+ [K in P]: ParamMany;
252
+ }> : S extends `${infer _A}[${infer P}]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
253
+ [K in P]: ParamSingle;
254
+ }> : Acc;
255
+ type PaginaParamsDoTemplate<T extends string> = ExtrairParamsDoTemplate<T>;
256
+ type PaginaInfoBase = {
257
+ readonly label: string;
258
+ readonly comCabecalho?: true;
259
+ readonly acesso?: AcessoPagina;
260
+ readonly acessoPorMenuInterno?: true;
261
+ readonly prioridadePresenca?: number;
262
+ readonly idMusicaPagina?: number;
263
+ };
264
+ type PaginaInfoComLayoutContextualizado = PaginaInfoBase & {
265
+ readonly layoutContextualizadoInicial: LayoutContextualizadoInicial;
266
+ };
267
+ type PaginaInfo = PaginaInfoBase | PaginaInfoComLayoutContextualizado;
268
+ type PaginaTemplate<T extends string = string> = Brand<T, 'PaginaTemplate'>;
269
+ type PaginaDef<T extends string, I extends PaginaInfo = PaginaInfo> = I & {
270
+ readonly template: PaginaTemplate<T>;
271
+ readonly hrefTemplate: T;
272
+ readonly href: T;
273
+ };
274
+ type PaginaParams<P extends {
275
+ hrefTemplate: string;
276
+ }> = PaginaParamsDoTemplate<P['hrefTemplate']>;
277
+ declare function montarHref(template: string, params: ParamsRecord): string;
278
+ type LimparUndefinedValue = string | number | boolean | object | null | undefined;
279
+ type LimparUndefinedRecord = Record<string, LimparUndefinedValue>;
280
+ declare function limparUndefined<T extends LimparUndefinedRecord>(obj: T): T;
281
+ declare function pagina<const T extends string>(hrefTemplate: T, info: PaginaInfoBase): PaginaDef<T, PaginaInfoBase>;
282
+ declare function paginaComLayoutContextualizado<const T extends string>(hrefTemplate: T, info: PaginaInfoBase, layoutContextualizadoInicial: LayoutContextualizadoInicial): PaginaDef<T, PaginaInfoComLayoutContextualizado>;
283
+ type RequiredKeys<T> = {
284
+ [K in keyof T]-?: {} extends Pick<T, K> ? never : K;
285
+ }[keyof T];
286
+ type ParamsProps<P extends PaginaDef<string>> = keyof PaginaParams<P> extends never ? {
287
+ params?: never;
288
+ } : RequiredKeys<PaginaParams<P>> extends never ? {
289
+ params?: PaginaParams<P>;
290
+ } : {
291
+ params: PaginaParams<P>;
292
+ };
293
+ declare function toParamsRecord(params: object): ParamsRecord;
294
+ export { Brand, ExtrairParamsDoTemplate, Folhas, LimparUndefinedRecord, LimparUndefinedValue, PAGINAS, PaginaDef, PaginaDefAny, PaginaDestino, PaginaDestinoPagina, PaginaFolha, PaginaHref, PaginaHrefTemplate, PaginaInfo, PaginaInfoBase, PaginaInfoComLayoutContextualizado, PaginaParams, PaginaParamsDoTemplate, PaginaTemplate, PaginaTemplateAny, PaginaTemplateFolha, ParamMany, ParamSingle, ParamValue, ParamsProps, ParamsRecord, RequiredKeys, limparUndefined, montarHref, pagina, paginaComLayoutContextualizado, toParamsRecord };
@@ -1,114 +1,13 @@
1
1
  // AUTO-GENERATED FILE - DO NOT EDIT
2
2
  // Contratos de páginas
3
- import { temSudoBurlarCapacidades } from '../acessos';
4
3
  import { CAPACIDADES } from '../dominio';
5
- function montarHref(template, params) {
6
- const out = template.replace(/\[\[\.\.\.([^\]]+)\]\]|\[\.\.\.([^\]]+)\]|\[([^\]]+)\]/g, (_m, optCatchAll, catchAll, single) => {
7
- const key = (optCatchAll || catchAll || single);
8
- const value = params[key];
9
- if (optCatchAll) {
10
- if (value == null)
11
- return '';
12
- if (!Array.isArray(value))
13
- throw new Error(`PAGINAS.montarHref: "${key}" deve ser (string|number)[] (optional catch-all)`);
14
- return value.map((x) => encodeURIComponent(String(x))).join('/');
15
- }
16
- if (catchAll) {
17
- if (!Array.isArray(value))
18
- throw new Error(`PAGINAS.montarHref: "${key}" deve ser (string|number)[] (catch-all)`);
19
- return value.map((x) => encodeURIComponent(String(x))).join('/');
20
- }
21
- if (value == null)
22
- throw new Error(`PAGINAS.montarHref: "${key}" é obrigatório`);
23
- if (Array.isArray(value))
24
- throw new Error(`PAGINAS.montarHref: "${key}" deve ser string|number (single param)`);
25
- return encodeURIComponent(String(value));
26
- });
27
- const cleaned = out.replace(/\/+/g, '/').replace(/\/$/, '');
28
- return cleaned === '' ? '/' : cleaned;
29
- }
30
- function limparUndefined(obj) {
31
- const out = {};
32
- for (const k in obj) {
33
- if (!Object.prototype.hasOwnProperty.call(obj, k))
34
- continue;
35
- const key = k;
36
- const v = obj[key];
37
- if (v !== undefined)
38
- out[key] = v;
39
- }
40
- return out;
41
- }
42
- function pagina(hrefTemplate, info) {
43
- const template = hrefTemplate;
44
- return limparUndefined({ template, hrefTemplate, href: hrefTemplate, ...info });
45
- }
46
- function paginaComLayoutContextualizado(hrefTemplate, info, layoutContextualizadoInicial) {
47
- const template = hrefTemplate;
48
- return limparUndefined({ template, hrefTemplate, href: hrefTemplate, ...info, layoutContextualizadoInicial });
49
- }
50
- function toParamsRecord(params) {
51
- const out = {};
52
- for (const k in params) {
53
- if (!Object.prototype.hasOwnProperty.call(params, k))
54
- continue;
55
- out[k] = params[k];
56
- }
57
- return out;
58
- }
59
- /*
60
- SSOT: regra de acesso única, usada por:
61
- - ControladorSlot (bloqueio/redirect)
62
- - Menu principal (filtrar itens antes de render)
63
- - Menus internos (filtrar itens antes de render)
64
- */
65
- function decidirAcessoPagina(pagina, ctx, opts) {
66
- const visitados = new Set();
67
- return decidirAcessoPagina_Rec(pagina, ctx, opts, visitados);
68
- }
69
- function decidirAcessoPagina_Rec(pagina, ctx, opts, visitados) {
70
- const key = String(pagina.template);
71
- if (visitados.has(key))
72
- return { permitido: true };
73
- visitados.add(key);
74
- const acesso = pagina.acesso;
75
- if (acesso != null && 'cadastroPermitido' in acesso) {
76
- if (!ctx.cadastroPermitido)
77
- return { permitido: false, motivo: 'NAO_AUTENTICADO', redirecionarPara: opts.redirectNaoAutenticado };
78
- }
79
- if (acesso != null && 'listaDeCapacidadesNecessarias' in acesso) {
80
- if (!ctx.estaAutenticado)
81
- return { permitido: false, motivo: 'NAO_AUTENTICADO', redirecionarPara: opts.redirectNaoAutenticado };
82
- if (temSudoBurlarCapacidades(ctx))
83
- return { permitido: true };
84
- const lista = acesso.listaDeCapacidadesNecessarias;
85
- const permitido = Array.isArray(lista) && lista.length > 0 && lista.every((cap) => ctx.verificarCapacidade(cap));
86
- if (!permitido)
87
- return { permitido: false, motivo: 'SEM_CAPACIDADE', redirecionarPara: opts.redirectSemCapacidade };
88
- }
89
- if (acesso != null && 'autenticado' in acesso) {
90
- if (!ctx.estaAutenticado)
91
- return { permitido: false, motivo: 'NAO_AUTENTICADO', redirecionarPara: opts.redirectNaoAutenticado };
92
- }
93
- if (pagina.acessoPorMenuInterno === true) {
94
- if (!ctx.estaAutenticado)
95
- return { permitido: false, motivo: 'NAO_AUTENTICADO', redirecionarPara: opts.redirectNaoAutenticado };
96
- if (temSudoBurlarCapacidades(ctx))
97
- return { permitido: true };
98
- const folhas = (opts.resolverMenuInterno?.(pagina) ?? []).filter((p) => String(p.template) !== String(pagina.template));
99
- const permitido = folhas.some((p) => decidirAcessoPagina_Rec(p, ctx, opts, visitados).permitido);
100
- if (!permitido)
101
- return { permitido: false, motivo: 'SEM_CAPACIDADE', redirecionarPara: opts.redirectSemCapacidade };
102
- }
103
- return { permitido: true };
104
- }
105
4
  const PAGINAS = {
106
5
  home: pagina('/', { label: 'Página Inicial', comCabecalho: true }),
107
6
  acessar: pagina('/acessar', { label: 'Acessar' }),
108
7
  cadastrar: pagina('/cadastrar', { label: 'Cadastrar', acesso: { cadastroPermitido: true } }),
109
8
  definicoes: pagina('/definicoes/[[...slug]]', { label: 'Definições', comCabecalho: true, idMusicaPagina: 1 }),
110
9
  dicas: pagina('/dicas/[[...slug]]', { label: 'Dicas', comCabecalho: true, idMusicaPagina: 2 }),
111
- testeMixer: pagina('/teste-mixer', { label: 'Teste Mixer', acesso: { autenticado: true }, comCabecalho: true, prioridadePresenca: 1 }),
10
+ testeMixer: pagina('/teste-mixer', { label: 'Teste Mixer', comCabecalho: true, acesso: { autenticado: true }, prioridadePresenca: 1 }),
112
11
  jogo: {
113
12
  admin: {
114
13
  gerenciarSalas: paginaComLayoutContextualizado('/jogo/admin/gerenciar-salas', { label: 'Admin - Gerenciar Salas', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__ACOMPANHAMENTO__SESSAO_DE_JOGO] }, prioridadePresenca: 2 }, { titulo: 'Gerenciar Salas', proporcaoConteudo: 84 }),
@@ -119,7 +18,7 @@ const PAGINAS = {
119
18
  },
120
19
  jogador: {
121
20
  ...paginaComLayoutContextualizado('/jogo/jogador', { label: 'Jogo - Jogador', acesso: { autenticado: true }, prioridadePresenca: 1 }, { titulo: null, proporcaoConteudo: 84 }),
122
- solo: pagina('/jogo/jogador/solo', { label: 'Modo Solo', acesso: { autenticado: true }, prioridadePresenca: 1 }),
21
+ partidas: pagina('/jogo/jogador/partidas', { label: 'Partidas', acesso: { autenticado: true }, prioridadePresenca: 1, idMusicaPagina: 3 }),
123
22
  },
124
23
  emJogo: pagina('/jogo/em-jogo', { label: 'Em Jogo', acesso: { autenticado: true }, prioridadePresenca: 1 }),
125
24
  },
@@ -145,12 +44,15 @@ const PAGINAS = {
145
44
  gerenciarDimensoes: paginaComLayoutContextualizado('/minhas-paginas/admin/gerenciar-dimensoes', { label: 'Admin - Gerenciar Dimensões', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__SUDO__BURLAR_CAPACIDADES] }, prioridadePresenca: 2 }, { titulo: 'Gerenciar Dimensões de Clima', proporcaoConteudo: 84 }),
146
45
  tutoriais: paginaComLayoutContextualizado('/minhas-paginas/admin/tutoriais', { label: 'Admin - Tutoriais', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__SUDO__BURLAR_CAPACIDADES] }, prioridadePresenca: 2 }, { titulo: 'Gerenciamento de Tutoriais', proporcaoConteudo: 84 }),
147
46
  disparosEventosUsuario: paginaComLayoutContextualizado('/minhas-paginas/admin/disparos-eventos-usuario', { label: 'Admin - Disparos de Eventos de Usuário', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__SUDO__BURLAR_CAPACIDADES] }, prioridadePresenca: 2 }, { titulo: 'Disparos de Eventos de Usuário (Dev)', proporcaoConteudo: 84 }),
47
+ gestaoNavegacao: paginaComLayoutContextualizado('/minhas-paginas/admin/gestao-navegacao', { label: 'Admin - Gestão de Navegação', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__SUDO__BURLAR_CAPACIDADES] }, prioridadePresenca: 2 }, { titulo: 'Gestão de Navegação', proporcaoConteudo: 84 }),
148
48
  },
149
49
  moderador: {
150
50
  ...paginaComLayoutContextualizado('/minhas-paginas/moderador', { label: 'Área do Moderador', acesso: { autenticado: true }, acessoPorMenuInterno: true, prioridadePresenca: 2 }, { titulo: 'Página de Moderador', proporcaoConteudo: 84 }),
151
51
  dashboardAprovacaoImagensArtista: paginaComLayoutContextualizado('/minhas-paginas/moderador/aprovar-imagens-artista', { label: 'Aprovar Imagens de Artistas', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__IMAGENS] }, prioridadePresenca: 2 }, { titulo: 'Aprovar Imagens de Artistas', proporcaoConteudo: 84 }),
152
52
  gerenciarEmblemas: paginaComLayoutContextualizado('/minhas-paginas/moderador/emblemas', { label: 'Gerenciar Emblemas', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__CADASTROS__EMBLEMAS] }, prioridadePresenca: 2 }, { titulo: 'Gerenciar Emblemas', proporcaoConteudo: 84 }),
153
53
  gerenciarConquistas: paginaComLayoutContextualizado('/minhas-paginas/moderador/conquistas', { label: 'Gerenciar Conquistas', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__CADASTROS__CONQUISTAS] }, prioridadePresenca: 2 }, { titulo: 'Gerenciar Conquistas', proporcaoConteudo: 84 }),
54
+ editorDefinicoes: pagina('/minhas-paginas/moderador/definicoes/[[...slug]]', { label: 'Editor de Definições', comCabecalho: true, acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__CADASTROS__EMBLEMAS] }, prioridadePresenca: 2 }),
55
+ editorDicas: pagina('/minhas-paginas/moderador/dicas/[[...slug]]', { label: 'Editor de Dicas', comCabecalho: true, acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__CADASTROS__EMBLEMAS] }, prioridadePresenca: 2 }),
154
56
  },
155
57
  colaborador: {
156
58
  ...paginaComLayoutContextualizado('/minhas-paginas/colaborador', { label: 'Área do Colaborador', acesso: { autenticado: true }, acessoPorMenuInterno: true, prioridadePresenca: 3 }, { titulo: 'Página de Colaborador', proporcaoConteudo: 84 }),
@@ -168,7 +70,11 @@ const PAGINAS = {
168
70
  configurar: {
169
71
  configuracaoTestePericia: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/configuracao-teste-pericia', { label: 'Configuração de Teste de Perícia - Atributo', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__GAME_BALANCE__TESTE_DE_PERICIA] }, prioridadePresenca: 2 }, { titulo: 'Configuração de Teste de Perícia - Atributo', proporcaoConteudo: 84 }),
170
72
  configuracaoPatentesTestePericia: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/configuracao-patentes-teste-pericia', { label: 'Configuração de Teste de Perícia - Patente de Perícia', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__GAME_BALANCE__TESTE_DE_PERICIA] }, prioridadePresenca: 2 }, { titulo: 'Configuração de Teste de Perícia - Patente de Perícia', proporcaoConteudo: 84 }),
171
- missoesJogaveis: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/missoes-jogaveis', { label: 'Missões Jogáveis', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Missões Jogáveis', proporcaoConteudo: 84 }),
73
+ coeficientesGanhoEstatistica: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/coeficientes-ganho-estatistica', { label: 'Coeficientes de Ganho de Estatística', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__GAME_BALANCE__TESTE_DE_PERICIA] }, prioridadePresenca: 2 }, { titulo: 'Coeficientes de Ganho de Estatística', proporcaoConteudo: 84 }),
74
+ desafios: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/desafios', { label: 'Desafios', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Desafios', proporcaoConteudo: 84 }),
75
+ desafiosAtivos: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/desafios-ativos', { label: 'Inspetor de Desafios', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Inspetor de Desafios', proporcaoConteudo: 84 }),
76
+ configuracaoPartida: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/configuracao-partida', { label: 'Configuração de Partida', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Configuração de Partida', proporcaoConteudo: 84 }),
77
+ catalogosPartida: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/catalogos-partida', { label: 'Catálogos de Partida', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Catálogos de Partida', proporcaoConteudo: 84 }),
172
78
  },
173
79
  analisar: {
174
80
  simuladorDistribuicoesTeste: paginaComLayoutContextualizado('/minhas-paginas/game-designer/analisar/distribuicoes-testes', { label: 'Simulador de Distribuições de Teste', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__GAME_BALANCE__TESTE_DE_PERICIA] }, prioridadePresenca: 2 }, { titulo: 'Simulador de Distribuições de Teste', proporcaoConteudo: 100 }),
@@ -194,6 +100,7 @@ const PAGINAS = {
194
100
  ...paginaComLayoutContextualizado('/minhas-paginas/artista', { label: 'Área do Artista', acesso: { autenticado: true }, acessoPorMenuInterno: true, prioridadePresenca: 3 }, { titulo: 'Página de Artista', proporcaoConteudo: 84 }),
195
101
  minhasImagens: paginaComLayoutContextualizado('/minhas-paginas/artista/minhas-imagens', { label: 'Minhas Imagens', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ARTISTA__CRIACAO__UPLOAD_IMAGEM] }, prioridadePresenca: 3 }, { titulo: 'Minhas Imagens', proporcaoConteudo: 84 }),
196
102
  adicionarImagem: paginaComLayoutContextualizado('/minhas-paginas/artista/adicionar-imagem', { label: 'Adicionar Imagem', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ARTISTA__CRIACAO__UPLOAD_IMAGEM] }, prioridadePresenca: 3 }, { titulo: 'Adicionar Nova Imagem', proporcaoConteudo: 84 }),
103
+ assinatura: paginaComLayoutContextualizado('/minhas-paginas/artista/assinatura', { label: 'Minha Assinatura', acesso: { autenticado: true }, prioridadePresenca: 3 }, { titulo: 'Minha Assinatura de Artista', proporcaoConteudo: 84 }),
197
104
  avatares: {
198
105
  gerenciarAvatares: paginaComLayoutContextualizado('/minhas-paginas/artista/avatares', { label: 'Gerenciar Avatares', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ARTISTA__CRIACAO__RESPONSABILIDADES__AVATARES] }, prioridadePresenca: 3 }, { titulo: 'Gerenciar Avatares', proporcaoConteudo: 84 }),
199
106
  },
@@ -217,7 +124,7 @@ const PAGINAS = {
217
124
  minhasConfiguracoes: {
218
125
  ...paginaComLayoutContextualizado('/minhas-paginas/minhas-configuracoes', { label: 'Minhas Configurações', acesso: { autenticado: true }, prioridadePresenca: 3 }, { titulo: 'Minhas Configurações', proporcaoConteudo: 84 }),
219
126
  passeDeJogador: paginaComLayoutContextualizado('/minhas-paginas/minhas-configuracoes/passe-de-jogador', { label: 'Meu Passe de Jogador', acesso: { autenticado: true }, prioridadePresenca: 3 }, { titulo: 'Meu Passe de Jogador', proporcaoConteudo: 84 }),
220
- }
127
+ },
221
128
  },
222
129
  palco: paginaComLayoutContextualizado('/palco', { label: 'Palco', acesso: { autenticado: true }, prioridadePresenca: 1 }, { titulo: 'Palco', proporcaoConteudo: 84 }),
223
130
  fichas: paginaComLayoutContextualizado('/fichas', { label: 'Fichas', acesso: { autenticado: true }, prioridadePresenca: 3 }, { titulo: 'Minhas Fichas', proporcaoConteudo: 84 }),
@@ -227,4 +134,58 @@ const PAGINAS = {
227
134
  assistir: paginaComLayoutContextualizado('/assistir', { label: 'Assistir', prioridadePresenca: 1 }, { titulo: 'Assistir', proporcaoConteudo: 80 }),
228
135
  perfilUsuario: pagina('perfil-usuario', { label: 'Página de Visualização do Perfil de Usuário', acesso: { autenticado: true } }),
229
136
  };
230
- export { PAGINAS, decidirAcessoPagina, decidirAcessoPagina_Rec, limparUndefined, montarHref, pagina, paginaComLayoutContextualizado, toParamsRecord };
137
+ function montarHref(template, params) {
138
+ const out = template.replace(/\[\[\.\.\.([^\]]+)\]\]|\[\.\.\.([^\]]+)\]|\[([^\]]+)\]/g, (_m, optCatchAll, catchAll, single) => {
139
+ const key = (optCatchAll || catchAll || single);
140
+ const value = params[key];
141
+ if (optCatchAll) {
142
+ if (value == null)
143
+ return '';
144
+ if (!Array.isArray(value))
145
+ throw new Error(`PAGINAS.montarHref: "${key}" deve ser (string|number)[] (optional catch-all)`);
146
+ return value.map((x) => encodeURIComponent(String(x))).join('/');
147
+ }
148
+ if (catchAll) {
149
+ if (!Array.isArray(value))
150
+ throw new Error(`PAGINAS.montarHref: "${key}" deve ser (string|number)[] (catch-all)`);
151
+ return value.map((x) => encodeURIComponent(String(x))).join('/');
152
+ }
153
+ if (value == null)
154
+ throw new Error(`PAGINAS.montarHref: "${key}" é obrigatório`);
155
+ if (Array.isArray(value))
156
+ throw new Error(`PAGINAS.montarHref: "${key}" deve ser string|number (single param)`);
157
+ return encodeURIComponent(String(value));
158
+ });
159
+ const cleaned = out.replace(/\/+/g, '/').replace(/\/$/, '');
160
+ return cleaned === '' ? '/' : cleaned;
161
+ }
162
+ function limparUndefined(obj) {
163
+ const out = {};
164
+ for (const k in obj) {
165
+ if (!Object.prototype.hasOwnProperty.call(obj, k))
166
+ continue;
167
+ const key = k;
168
+ const v = obj[key];
169
+ if (v !== undefined)
170
+ out[key] = v;
171
+ }
172
+ return out;
173
+ }
174
+ function pagina(hrefTemplate, info) {
175
+ const template = hrefTemplate;
176
+ return limparUndefined({ template, hrefTemplate, href: hrefTemplate, ...info });
177
+ }
178
+ function paginaComLayoutContextualizado(hrefTemplate, info, layoutContextualizadoInicial) {
179
+ const template = hrefTemplate;
180
+ return limparUndefined({ template, hrefTemplate, href: hrefTemplate, ...info, layoutContextualizadoInicial });
181
+ }
182
+ function toParamsRecord(params) {
183
+ const out = {};
184
+ for (const k in params) {
185
+ if (!Object.prototype.hasOwnProperty.call(params, k))
186
+ continue;
187
+ out[k] = params[k];
188
+ }
189
+ return out;
190
+ }
191
+ export { PAGINAS, limparUndefined, montarHref, pagina, paginaComLayoutContextualizado, toParamsRecord };
@@ -35,9 +35,31 @@ interface ObjetoCenaCanonicaEditor3D {
35
35
  readonly visivel: boolean;
36
36
  readonly malhaEditavel?: MalhaEditavelCenaCanonicaEditor3D;
37
37
  }
38
+ type TipoProjetoEditor3D = 'PADRAO' | 'CAPA_ARTE';
39
+ interface CameraCenaCanonicaEditor3D {
40
+ readonly posicao: Vetor3CenaCanonicaEditor3D;
41
+ readonly alvo: Vetor3CenaCanonicaEditor3D;
42
+ readonly fov: number;
43
+ readonly perto: number;
44
+ readonly longe: number;
45
+ }
46
+ interface TextoCapaArteCenaCanonicaEditor3D {
47
+ readonly texto: string;
48
+ readonly posicao: Vetor3CenaCanonicaEditor3D;
49
+ readonly rotacao: Vetor3CenaCanonicaEditor3D;
50
+ readonly escala: Vetor3CenaCanonicaEditor3D;
51
+ readonly cor: Vetor3CenaCanonicaEditor3D;
52
+ }
53
+ interface CapaArteCenaCanonicaEditor3D {
54
+ readonly titulo: TextoCapaArteCenaCanonicaEditor3D;
55
+ readonly assinatura: TextoCapaArteCenaCanonicaEditor3D;
56
+ }
38
57
  interface CenaCanonicaEditor3D {
39
58
  readonly versao: 1;
59
+ readonly tipoProjeto: TipoProjetoEditor3D;
40
60
  readonly objetos: readonly ObjetoCenaCanonicaEditor3D[];
61
+ readonly camera?: CameraCenaCanonicaEditor3D;
62
+ readonly capaArte?: CapaArteCenaCanonicaEditor3D;
41
63
  }
42
64
  interface Projeto3DMinimoPersistido {
43
65
  readonly id: number;
@@ -59,16 +81,78 @@ type PAYLOAD__SalvarProjeto3D = {
59
81
  readonly idProjeto?: number;
60
82
  readonly nome: string;
61
83
  readonly cenaCanonica: CenaCanonicaEditor3D;
84
+ readonly imagemCapaBase64?: string;
85
+ readonly imagemCapaTituloBase64?: string;
62
86
  };
87
+ interface Projeto3DCapaArteResumoPersistido {
88
+ readonly idProjeto: number;
89
+ readonly nome: string;
90
+ readonly largura: number;
91
+ readonly altura: number;
92
+ readonly dataAtualizacao: string;
93
+ }
94
+ interface Projeto3DCapaArteImagemPersistida {
95
+ readonly idProjeto: number;
96
+ readonly nome: string;
97
+ readonly imagemBase64: string;
98
+ readonly imagemTituloBase64: string | null;
99
+ readonly largura: number;
100
+ readonly altura: number;
101
+ }
102
+ type FonteAssinaturaArtista = 'GREAT_VIBES' | 'DANCING_SCRIPT' | 'ALLURA' | 'SACRAMENTO' | 'PACIFICO';
103
+ interface AssinaturaArtistaPersistida {
104
+ readonly texto: string;
105
+ readonly fonte: FonteAssinaturaArtista;
106
+ readonly dataAtualizacao: string;
107
+ }
108
+ type PAYLOAD__SalvarAssinaturaArtista = {
109
+ readonly texto: string;
110
+ readonly fonte: FonteAssinaturaArtista;
111
+ };
112
+ type ImagemBaseArteCapaUDM = string & {
113
+ readonly __brand: 'ImagemBaseArteCapaUDM';
114
+ };
115
+ type CamadaTituloArteCapaUDM = string & {
116
+ readonly __brand: 'CamadaTituloArteCapaUDM';
117
+ };
118
+ interface ConteudoArteCapaUDM {
119
+ readonly imagem: ImagemBaseArteCapaUDM;
120
+ readonly camadaTitulo: CamadaTituloArteCapaUDM | null;
121
+ readonly assinatura: AssinaturaArtistaPersistida | null;
122
+ }
63
123
  type PAYLOAD__CriarSerRegistroComDetalhe = {
64
124
  readonly idTipoSer: number;
65
125
  readonly nome: string;
66
126
  readonly serJogavel?: boolean;
67
127
  readonly idNivel?: number;
128
+ readonly ehSemClasse?: boolean;
68
129
  };
69
130
  type SerRegistroCriado = {
70
131
  readonly id: number;
71
132
  };
133
+ type PAYLOAD__AtualizarCoeficienteGanhoEstatistica = {
134
+ readonly idCoeficiente: number;
135
+ readonly coeficiente: number;
136
+ readonly ganhosRelativos: readonly {
137
+ readonly fkAtributosId: number;
138
+ readonly valorPorcentagem: number;
139
+ }[];
140
+ };
141
+ type CoeficienteGanhoEstatisticaAtualizado = {
142
+ readonly id: number;
143
+ };
144
+ type PAYLOAD__CriarCoeficienteGanhoEstatistica = {
145
+ readonly idClasse: number;
146
+ readonly idEstatisticaDanificavel: number;
147
+ readonly coeficiente: number;
148
+ readonly ganhosRelativos: readonly {
149
+ readonly fkAtributosId: number;
150
+ readonly valorPorcentagem: number;
151
+ }[];
152
+ };
153
+ type CoeficienteGanhoEstatisticaCriado = {
154
+ readonly id: number;
155
+ };
72
156
  type PAYLOAD__CriarObjetivo = {
73
157
  readonly nome: string;
74
158
  };
@@ -424,4 +508,4 @@ declare function concatenarDataEHoraEmNovaData(data: Date | string, hora: string
424
508
  declare const pluralize: (count: number, singular: string, plural?: string) => string;
425
509
  declare function minutosParaMs(minutos: number): number;
426
510
  declare function formataDataCompacta(data?: Date): string;
427
- export { AcaoMembroSerJogavel, AcaoMembroSerJogavelInput, AcessoPagina, AventuraEstado, CONFIGURACAO_DEFAULT_PATENTES_TESTE_PERICIA, CONFIGURACAO_DEFAULT_TESTE_PERICIA, CargoExibicaoUsuario, CargosUsuario, CenaCanonicaEditor3D, ConfiguracaoIntervaloTestePericia, ConfiguracaoPatenteTestePericia, ConfiguracaoPatentesTestePericia, ConfiguracaoPatentesTestePericiaProjetada, ConfiguracaoTestePericia, ConfiguracaoTestePericiaProjetada, ConteudoItem, DefinicaoElemento, DetalheUtilizacaoRascunho, DiaDaSemana, EstadoOcupacaoPersonagem, EstadoPendenciaAdministrativaPersonagem, EstadoPendenciaPersonagem, EstadoSessao, EstruturaPaginaDefinicao, FaceMalhaEditavelCenaCanonicaEditor3D, FichaDoSerCriada, FormatoMomento, GanhoEstatistica, LinhaPreviewConfiguracaoPatenteTestePericia, LinhaPreviewConfiguracaoTestePericia, ListaCapacidadesNecessarias, ListaItem, MalhaEditavelCenaCanonicaEditor3D, MaterialVisualCenaCanonicaEditor3D, MembroSerJogavel, MembroSerJogavelInput, MomentoFormatado, MomentoFormatado24, NumeroHora24, NumeroMomento, ObjetoAutenticacao, ObjetoCache, ObjetoCenaCanonicaEditor3D, ObjetoEvolucao, ObjetoEvolucaoCompleto, ObjetoGanhosEvolucao, ObjetoPendeciaPersonagem, PAYLOAD__AtualizarCard, PAYLOAD__AtualizarColuna, PAYLOAD__AtualizarDependenciaCard, PAYLOAD__AtualizarItemChecklist, PAYLOAD__AtualizarObjetivo, PAYLOAD__AtualizarObjetivoFicha, PAYLOAD__CriarCard, PAYLOAD__CriarColuna, PAYLOAD__CriarComentario, PAYLOAD__CriarDependenciaCard, PAYLOAD__CriarFichaDoSer, PAYLOAD__CriarItemChecklist, PAYLOAD__CriarObjetivo, PAYLOAD__CriarSerRegistroComDetalhe, PAYLOAD__DefinirPosicaoFluxogramaCard, PAYLOAD__DeletarCard, PAYLOAD__DeletarColuna, PAYLOAD__DeletarDependenciaCard, PAYLOAD__DeletarItemChecklist, PAYLOAD__DeletarObjetivo, PAYLOAD__MarcarItemChecklist, PAYLOAD__ReordenarCards, PAYLOAD__ReordenarColunas, PAYLOAD__SalvarCasoSimplesProjeto3D, PAYLOAD__SalvarConfiguracaoPatentesTestePericia, PAYLOAD__SalvarConfiguracaoTestePericia, PAYLOAD__SalvarDesenhoFluxograma, PAYLOAD__SalvarMembrosSerJogavel, PAYLOAD__SalvarProjeto3D, PaletaCores, ParametrosAcaoMembroSerJogavel, PathArteCapaPadrao, PathAvatarPadrao, PermissaoItemMinimo, Projeto3DMinimoPersistido, Projeto3DResumoPersistido, SerJogavelMembrosPersistido, SerRegistroCriado, ShaderCenaCanonicaEditor3D, TipoMalhaCenaCanonicaEditor3D, TipoVariavelAmbiente, TituloSessaoInteligente, VALORES_ATRIBUTOS_OBRIGATORIOS_CONFIGURACAO_TESTE_PERICIA, Vetor3CenaCanonicaEditor3D, adicionaProximoIntervaloConfiguracaoTestePericia, calculaIncrementosAcumuladosPatenteTestePericia, calculaValorMinimoTestePericia, concatenarDataEHoraEmNovaData, formataDataCompacta, minutosParaMs, momentoParaMinutos, obtemDiaDaSemanaPorExtensoPorDDS, obtemIntervaloConfiguradoTestePericia, pluralize, projetaConfiguracaoPatentesTestePericia, projetaConfiguracaoTestePericia, removeUltimoIntervaloOpcionalConfiguracaoTestePericia, validaConfiguracaoPatentesTestePericia, validaConfiguracaoTestePericia };
511
+ export { AcaoMembroSerJogavel, AcaoMembroSerJogavelInput, AcessoPagina, AssinaturaArtistaPersistida, AventuraEstado, CONFIGURACAO_DEFAULT_PATENTES_TESTE_PERICIA, CONFIGURACAO_DEFAULT_TESTE_PERICIA, CamadaTituloArteCapaUDM, CameraCenaCanonicaEditor3D, CapaArteCenaCanonicaEditor3D, CargoExibicaoUsuario, CargosUsuario, CenaCanonicaEditor3D, CoeficienteGanhoEstatisticaAtualizado, CoeficienteGanhoEstatisticaCriado, ConfiguracaoIntervaloTestePericia, ConfiguracaoPatenteTestePericia, ConfiguracaoPatentesTestePericia, ConfiguracaoPatentesTestePericiaProjetada, ConfiguracaoTestePericia, ConfiguracaoTestePericiaProjetada, ConteudoArteCapaUDM, ConteudoItem, DefinicaoElemento, DetalheUtilizacaoRascunho, DiaDaSemana, EstadoOcupacaoPersonagem, EstadoPendenciaAdministrativaPersonagem, EstadoPendenciaPersonagem, EstadoSessao, EstruturaPaginaDefinicao, FaceMalhaEditavelCenaCanonicaEditor3D, FichaDoSerCriada, FonteAssinaturaArtista, FormatoMomento, GanhoEstatistica, ImagemBaseArteCapaUDM, LinhaPreviewConfiguracaoPatenteTestePericia, LinhaPreviewConfiguracaoTestePericia, ListaCapacidadesNecessarias, ListaItem, MalhaEditavelCenaCanonicaEditor3D, MaterialVisualCenaCanonicaEditor3D, MembroSerJogavel, MembroSerJogavelInput, MomentoFormatado, MomentoFormatado24, NumeroHora24, NumeroMomento, ObjetoAutenticacao, ObjetoCache, ObjetoCenaCanonicaEditor3D, ObjetoEvolucao, ObjetoEvolucaoCompleto, ObjetoGanhosEvolucao, ObjetoPendeciaPersonagem, PAYLOAD__AtualizarCard, PAYLOAD__AtualizarCoeficienteGanhoEstatistica, PAYLOAD__AtualizarColuna, PAYLOAD__AtualizarDependenciaCard, PAYLOAD__AtualizarItemChecklist, PAYLOAD__AtualizarObjetivo, PAYLOAD__AtualizarObjetivoFicha, PAYLOAD__CriarCard, PAYLOAD__CriarCoeficienteGanhoEstatistica, PAYLOAD__CriarColuna, PAYLOAD__CriarComentario, PAYLOAD__CriarDependenciaCard, PAYLOAD__CriarFichaDoSer, PAYLOAD__CriarItemChecklist, PAYLOAD__CriarObjetivo, PAYLOAD__CriarSerRegistroComDetalhe, PAYLOAD__DefinirPosicaoFluxogramaCard, PAYLOAD__DeletarCard, PAYLOAD__DeletarColuna, PAYLOAD__DeletarDependenciaCard, PAYLOAD__DeletarItemChecklist, PAYLOAD__DeletarObjetivo, PAYLOAD__MarcarItemChecklist, PAYLOAD__ReordenarCards, PAYLOAD__ReordenarColunas, PAYLOAD__SalvarAssinaturaArtista, PAYLOAD__SalvarCasoSimplesProjeto3D, PAYLOAD__SalvarConfiguracaoPatentesTestePericia, PAYLOAD__SalvarConfiguracaoTestePericia, PAYLOAD__SalvarDesenhoFluxograma, PAYLOAD__SalvarMembrosSerJogavel, PAYLOAD__SalvarProjeto3D, PaletaCores, ParametrosAcaoMembroSerJogavel, PathArteCapaPadrao, PathAvatarPadrao, PermissaoItemMinimo, Projeto3DCapaArteImagemPersistida, Projeto3DCapaArteResumoPersistido, Projeto3DMinimoPersistido, Projeto3DResumoPersistido, SerJogavelMembrosPersistido, SerRegistroCriado, ShaderCenaCanonicaEditor3D, TextoCapaArteCenaCanonicaEditor3D, TipoMalhaCenaCanonicaEditor3D, TipoProjetoEditor3D, TipoVariavelAmbiente, TituloSessaoInteligente, VALORES_ATRIBUTOS_OBRIGATORIOS_CONFIGURACAO_TESTE_PERICIA, Vetor3CenaCanonicaEditor3D, adicionaProximoIntervaloConfiguracaoTestePericia, calculaIncrementosAcumuladosPatenteTestePericia, calculaValorMinimoTestePericia, concatenarDataEHoraEmNovaData, formataDataCompacta, minutosParaMs, momentoParaMinutos, obtemDiaDaSemanaPorExtensoPorDDS, obtemIntervaloConfiguradoTestePericia, pluralize, projetaConfiguracaoPatentesTestePericia, projetaConfiguracaoTestePericia, removeUltimoIntervaloOpcionalConfiguracaoTestePericia, validaConfiguracaoPatentesTestePericia, validaConfiguracaoTestePericia };