@trismegisto/spine 2.0.0 → 2.1.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.
Files changed (49) hide show
  1. package/README.md +35 -5
  2. package/fesm2022/trismegisto-spine-audit.mjs +1 -1
  3. package/fesm2022/trismegisto-spine-audit.mjs.map +1 -1
  4. package/fesm2022/trismegisto-spine-auto-service-apps.technical-ClMKB9cK.mjs +48 -0
  5. package/fesm2022/trismegisto-spine-auto-service-apps.technical-ClMKB9cK.mjs.map +1 -0
  6. package/fesm2022/trismegisto-spine-auto-service-apps.usage-Cf5SG-oQ.mjs +55 -0
  7. package/fesm2022/trismegisto-spine-auto-service-apps.usage-Cf5SG-oQ.mjs.map +1 -0
  8. package/fesm2022/trismegisto-spine-auto-service-audit.technical-C901aIIQ.mjs +42 -0
  9. package/fesm2022/trismegisto-spine-auto-service-audit.technical-C901aIIQ.mjs.map +1 -0
  10. package/fesm2022/trismegisto-spine-auto-service-audit.usage-GIJ2RwuH.mjs +63 -0
  11. package/fesm2022/trismegisto-spine-auto-service-audit.usage-GIJ2RwuH.mjs.map +1 -0
  12. package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-C7SPavrX.mjs +784 -0
  13. package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-C7SPavrX.mjs.map +1 -0
  14. package/fesm2022/trismegisto-spine-auto-service-auto-service-delete-6Bk46MOf.mjs +39 -0
  15. package/fesm2022/trismegisto-spine-auto-service-auto-service-delete-6Bk46MOf.mjs.map +1 -0
  16. package/fesm2022/{trismegisto-spine-auto-service-auto-service.component-B5tyJ2zY.mjs → trismegisto-spine-auto-service-auto-service.component-BLN49F4a.mjs} +32 -7
  17. package/fesm2022/trismegisto-spine-auto-service-auto-service.component-BLN49F4a.mjs.map +1 -0
  18. package/fesm2022/trismegisto-spine-auto-service-client.technical-BHWhpyWv.mjs +46 -0
  19. package/fesm2022/trismegisto-spine-auto-service-client.technical-BHWhpyWv.mjs.map +1 -0
  20. package/fesm2022/trismegisto-spine-auto-service-client.usage-CM2WB2e2.mjs +80 -0
  21. package/fesm2022/trismegisto-spine-auto-service-client.usage-CM2WB2e2.mjs.map +1 -0
  22. package/fesm2022/trismegisto-spine-auto-service-groups.technical-jQlwaQPn.mjs +39 -0
  23. package/fesm2022/trismegisto-spine-auto-service-groups.technical-jQlwaQPn.mjs.map +1 -0
  24. package/fesm2022/trismegisto-spine-auto-service-groups.usage-Bh7ig2zZ.mjs +54 -0
  25. package/fesm2022/trismegisto-spine-auto-service-groups.usage-Bh7ig2zZ.mjs.map +1 -0
  26. package/fesm2022/trismegisto-spine-auto-service-home.technical-BrVhcgDO.mjs +35 -0
  27. package/fesm2022/trismegisto-spine-auto-service-home.technical-BrVhcgDO.mjs.map +1 -0
  28. package/fesm2022/trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs +43 -0
  29. package/fesm2022/trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs.map +1 -0
  30. package/fesm2022/trismegisto-spine-auto-service.mjs +82 -40
  31. package/fesm2022/trismegisto-spine-auto-service.mjs.map +1 -1
  32. package/fesm2022/trismegisto-spine-layout.mjs +988 -46
  33. package/fesm2022/trismegisto-spine-layout.mjs.map +1 -1
  34. package/fesm2022/trismegisto-spine-shell.mjs +3 -1
  35. package/fesm2022/trismegisto-spine-shell.mjs.map +1 -1
  36. package/fesm2022/trismegisto-spine.mjs +591 -16
  37. package/fesm2022/trismegisto-spine.mjs.map +1 -1
  38. package/package.json +7 -7
  39. package/types/trismegisto-spine-auto-service.d.ts +41 -2
  40. package/types/trismegisto-spine-auto-service.d.ts.map +1 -1
  41. package/types/trismegisto-spine-layout.d.ts +214 -13
  42. package/types/trismegisto-spine-layout.d.ts.map +1 -1
  43. package/types/trismegisto-spine-shell.d.ts +1 -0
  44. package/types/trismegisto-spine-shell.d.ts.map +1 -1
  45. package/types/trismegisto-spine.d.ts +214 -8
  46. package/types/trismegisto-spine.d.ts.map +1 -1
  47. package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-BYkUOwWL.mjs +0 -595
  48. package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-BYkUOwWL.mjs.map +0 -1
  49. package/fesm2022/trismegisto-spine-auto-service-auto-service.component-B5tyJ2zY.mjs.map +0 -1
@@ -0,0 +1,48 @@
1
+ // Especificação técnica da tela Aplicações do auto-serviço (`RouteDocument.loadTechnical`), em Markdown. Módulo próprio,
2
+ // carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do
3
+ // bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.
4
+ var apps_technical = `# Aplicações — especificação técnica
5
+
6
+ Tela \`AutoServiceComponent\` (seletor de client + \`AutoServiceAppsComponent\`), ligada ao router de template
7
+ \`AUTO_SERVICE_APPS_TEMPLATE_ROUTER_ID\` (\`ad100002-…\`). Fala com o argos-admin-server em \`{adminApi}/auto-service\`
8
+ (\`AutoServiceService\`), com o token no cabeçalho \`x-access-token\`.
9
+
10
+ ## Endpoints
11
+
12
+ | Ação | Endpoint |
13
+ | --- | --- |
14
+ | Clients que a pessoa administra | \`GET /auto-service\` |
15
+ | Aplicações do projeto do client | \`GET /auto-service/:clientId/apps\` |
16
+ | Cadastrar (devolve o \`secret\`) | \`POST /auto-service/:clientId/apps\` (\`{ name, allowed_grants }\`) |
17
+ | Editar / ativar / desativar | \`PUT /auto-service/:clientId/apps/:appId\` (\`{ name, allowed_grants, enabled }\` ou só \`{ enabled }\`) |
18
+ | Excluir | \`DELETE /auto-service/:clientId/apps/:appId\` |
19
+ | Operações registradas | \`GET /auto-service/:clientId/apps/:appId/operations\` |
20
+ | Grupos com acesso (consumers) | \`GET /auto-service/:clientId/apps/:appId/consumers\` |
21
+ | Grupos oferecidos em "Novo acesso" | \`GET /auto-service/:clientId/groups\` |
22
+ | Novo acesso | \`POST /auto-service/:clientId/apps/:appId/consumers\` (\`{ group_id }\`) |
23
+ | Remover acesso | \`DELETE /auto-service/:clientId/apps/consumers/:consumerId\` |
24
+ | Operações liberadas ao grupo | \`GET /auto-service/:clientId/apps/consumers/:consumerId/permissions\` |
25
+ | Liberar / retirar operação | \`POST .../consumers/:consumerId/permissions\` (\`{ operation_id }\`) / \`DELETE .../permissions/:permissionId\` |
26
+
27
+ ## Regras
28
+
29
+ - **Autorização** (\`clientAdminGuard\`): grupo que administra o projeto do client + crachá Administrador ativo.
30
+ App, consumer ou grupo de outro client responde 404, nunca 403 (\`assertAppBelongsToClient\`,
31
+ \`assertConsumerBelongsToClient\`, \`assertBodyGroupBelongsToClient\`).
32
+ - O \`secret\` só vem na resposta do \`POST\`; a tela mostra num \`hm-alert\` até ser fechado e não o guarda.
33
+ - Grants: texto separado por vírgula, enviado como lista (\`allowed_grants\`) sem itens vazios.
34
+ - **Excluir** passa por \`HermesDialogService.confirm\` (perigo, com o nome da aplicação) e **Remover** (acesso) pelo
35
+ \`confirm\` da ação no \`hm-data-grid\`; só depois do sim sai o \`DELETE\`. Sucesso e falha viram toast
36
+ (\`AutoServiceDeleteFeedback\`: \`deleteDone\`, ou o \`detail\` do servidor / \`deleteError\`). **Ativar/Desativar** chama o
37
+ servidor direto (reversível).
38
+ - O \`secret\` exibido some ao trocar de client e ao excluir a aplicação.
39
+ - Ids nos caminhos vão codificados (\`urlPath\` de \`@trismegisto/primitives\`).
40
+ - As abas são preguiçosas (\`*hmTabContent\`): cada uma só busca ao ser aberta. Consultar outra aplicação volta para
41
+ **Operações**.
42
+ - **Gerenciar operações** cruza \`operations\` com \`permissions\` (por \`operation_id\`) e grava só a diferença, em
43
+ sequência: primeiro as liberações, depois as retiradas.
44
+ - A auditoria das aplicações tem tela própria (Auditoria, \`ad100004-…\`).
45
+ `;
46
+
47
+ export { apps_technical as default };
48
+ //# sourceMappingURL=trismegisto-spine-auto-service-apps.technical-ClMKB9cK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trismegisto-spine-auto-service-apps.technical-ClMKB9cK.mjs","sources":["../../../projects/ui/auto-service/src/docs/apps.technical.ts"],"sourcesContent":["// Especificação técnica da tela Aplicações do auto-serviço (`RouteDocument.loadTechnical`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Aplicações — especificação técnica\n\nTela \\`AutoServiceComponent\\` (seletor de client + \\`AutoServiceAppsComponent\\`), ligada ao router de template\n\\`AUTO_SERVICE_APPS_TEMPLATE_ROUTER_ID\\` (\\`ad100002-…\\`). Fala com o argos-admin-server em \\`{adminApi}/auto-service\\`\n(\\`AutoServiceService\\`), com o token no cabeçalho \\`x-access-token\\`.\n\n## Endpoints\n\n| Ação | Endpoint |\n| --- | --- |\n| Clients que a pessoa administra | \\`GET /auto-service\\` |\n| Aplicações do projeto do client | \\`GET /auto-service/:clientId/apps\\` |\n| Cadastrar (devolve o \\`secret\\`) | \\`POST /auto-service/:clientId/apps\\` (\\`{ name, allowed_grants }\\`) |\n| Editar / ativar / desativar | \\`PUT /auto-service/:clientId/apps/:appId\\` (\\`{ name, allowed_grants, enabled }\\` ou só \\`{ enabled }\\`) |\n| Excluir | \\`DELETE /auto-service/:clientId/apps/:appId\\` |\n| Operações registradas | \\`GET /auto-service/:clientId/apps/:appId/operations\\` |\n| Grupos com acesso (consumers) | \\`GET /auto-service/:clientId/apps/:appId/consumers\\` |\n| Grupos oferecidos em \"Novo acesso\" | \\`GET /auto-service/:clientId/groups\\` |\n| Novo acesso | \\`POST /auto-service/:clientId/apps/:appId/consumers\\` (\\`{ group_id }\\`) |\n| Remover acesso | \\`DELETE /auto-service/:clientId/apps/consumers/:consumerId\\` |\n| Operações liberadas ao grupo | \\`GET /auto-service/:clientId/apps/consumers/:consumerId/permissions\\` |\n| Liberar / retirar operação | \\`POST .../consumers/:consumerId/permissions\\` (\\`{ operation_id }\\`) / \\`DELETE .../permissions/:permissionId\\` |\n\n## Regras\n\n- **Autorização** (\\`clientAdminGuard\\`): grupo que administra o projeto do client + crachá Administrador ativo.\n App, consumer ou grupo de outro client responde 404, nunca 403 (\\`assertAppBelongsToClient\\`,\n \\`assertConsumerBelongsToClient\\`, \\`assertBodyGroupBelongsToClient\\`).\n- O \\`secret\\` só vem na resposta do \\`POST\\`; a tela mostra num \\`hm-alert\\` até ser fechado e não o guarda.\n- Grants: texto separado por vírgula, enviado como lista (\\`allowed_grants\\`) sem itens vazios.\n- **Excluir** passa por \\`HermesDialogService.confirm\\` (perigo, com o nome da aplicação) e **Remover** (acesso) pelo\n \\`confirm\\` da ação no \\`hm-data-grid\\`; só depois do sim sai o \\`DELETE\\`. Sucesso e falha viram toast\n (\\`AutoServiceDeleteFeedback\\`: \\`deleteDone\\`, ou o \\`detail\\` do servidor / \\`deleteError\\`). **Ativar/Desativar** chama o\n servidor direto (reversível).\n- O \\`secret\\` exibido some ao trocar de client e ao excluir a aplicação.\n- Ids nos caminhos vão codificados (\\`urlPath\\` de \\`@trismegisto/primitives\\`).\n- As abas são preguiçosas (\\`*hmTabContent\\`): cada uma só busca ao ser aberta. Consultar outra aplicação volta para\n **Operações**.\n- **Gerenciar operações** cruza \\`operations\\` com \\`permissions\\` (por \\`operation_id\\`) e grava só a diferença, em\n sequência: primeiro as liberações, depois as retiradas.\n- A auditoria das aplicações tem tela própria (Auditoria, \\`ad100004-…\\`).\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,qBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCd;;"}
@@ -0,0 +1,55 @@
1
+ // Manual de uso da tela Aplicações do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,
2
+ // carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do
3
+ // bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.
4
+ var apps_usage = `# Aplicações
5
+
6
+ Gerencie as aplicações (credenciais \`client_credentials\`) do projeto do seu client, sem depender do painel
7
+ central: cadastre, ative ou desative e exclua aplicações, veja as operações que cada uma registra e defina quais
8
+ grupos podem chamar quais operações.
9
+
10
+ ## Antes de começar
11
+
12
+ A escolha do client funciona como nas outras telas do auto-serviço: com um client só, ele já vem escolhido; com
13
+ mais de um, escolha em **Selecione o client que deseja administrar**. É preciso estar com o crachá
14
+ **Administrador** ativo.
15
+
16
+ ## Como usar
17
+
18
+ 1. Para criar uma aplicação, clique em **Cadastrar**. No modal **Nova aplicação**, preencha o **Nome**
19
+ (obrigatório) e os **Grants** (separados por vírgula; já vem \`client_credentials\`) e clique em **Salvar**.
20
+ 2. Ao criar, aparece no topo da tela o aviso **Aplicação criada** com o secret. **Copie e guarde o secret na hora:
21
+ ele não é exibido de novo.** O aviso some quando você o fecha, troca de client ou exclui a aplicação.
22
+ 3. Para trabalhar numa aplicação, escolha-a em **Selecione uma aplicação** e clique em **Consultar**.
23
+ 4. O cartão da aplicação mostra o nome, a situação (**Ativo** ou **Inativo**) e os grants. Ações:
24
+ - **Editar**: muda nome, grants e a caixa **Ativo**.
25
+ - **Desativar** / **Ativar**: liga ou desliga a aplicação sem apagar nada.
26
+ - **Excluir**: abre a confirmação **Excluir aplicação?** com o nome dela; só depois de **Excluir** no diálogo a
27
+ aplicação é apagada e a credencial dela para de funcionar. **Cancelar** (ou Esc) não muda nada.
28
+
29
+ > **Desativar** age na hora e se desfaz com **Ativar**. **Excluir** não tem volta: na dúvida, desative. Depois de
30
+ > excluir aparece a mensagem **Exclusão concluída.**; se o servidor recusar, a mensagem de erro diz o motivo e a
31
+ > aplicação continua na tela.
32
+
33
+ ## Aba Operações
34
+
35
+ Lista, só para consulta, as operações registradas pela aplicação: **Identificador**, **Método**, **Nível** (o selo
36
+ fica verde para operação pública e amarelo para protegida), **Descrição** e **Grupos permitidos** (quantos grupos já
37
+ podem chamar a operação). A tela não cria nem edita operações.
38
+
39
+ ## Aba Acessos
40
+
41
+ Mostra os grupos que têm acesso à aplicação (**Grupo** e **Tipo**).
42
+
43
+ - **Novo acesso**: escolha o **Grupo** e clique em **Criar**. Só aparecem os grupos do seu client.
44
+ - No menu de cada linha:
45
+ - **Gerenciar operações** abre o painel **Operações de nome do grupo**, com uma caixa por operação
46
+ (identificador, método, nível e descrição). Marque o que o grupo pode chamar, desmarque o que não pode e clique
47
+ em **Confirmar alterações** (o botão só habilita quando algo mudou). **Cancelar** descarta.
48
+ - **Remover** pede confirmação (**Remover acesso à aplicação?**, com o nome do grupo) e só então tira o acesso do
49
+ grupo à aplicação e as permissões de operação dele.
50
+
51
+ Depois de criar o acesso, use **Gerenciar operações** para escolher o que o grupo pode chamar.
52
+ `;
53
+
54
+ export { apps_usage as default };
55
+ //# sourceMappingURL=trismegisto-spine-auto-service-apps.usage-Cf5SG-oQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trismegisto-spine-auto-service-apps.usage-Cf5SG-oQ.mjs","sources":["../../../projects/ui/auto-service/src/docs/apps.usage.ts"],"sourcesContent":["// Manual de uso da tela Aplicações do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Aplicações\n\nGerencie as aplicações (credenciais \\`client_credentials\\`) do projeto do seu client, sem depender do painel\ncentral: cadastre, ative ou desative e exclua aplicações, veja as operações que cada uma registra e defina quais\ngrupos podem chamar quais operações.\n\n## Antes de começar\n\nA escolha do client funciona como nas outras telas do auto-serviço: com um client só, ele já vem escolhido; com\nmais de um, escolha em **Selecione o client que deseja administrar**. É preciso estar com o crachá\n**Administrador** ativo.\n\n## Como usar\n\n1. Para criar uma aplicação, clique em **Cadastrar**. No modal **Nova aplicação**, preencha o **Nome**\n (obrigatório) e os **Grants** (separados por vírgula; já vem \\`client_credentials\\`) e clique em **Salvar**.\n2. Ao criar, aparece no topo da tela o aviso **Aplicação criada** com o secret. **Copie e guarde o secret na hora:\n ele não é exibido de novo.** O aviso some quando você o fecha, troca de client ou exclui a aplicação.\n3. Para trabalhar numa aplicação, escolha-a em **Selecione uma aplicação** e clique em **Consultar**.\n4. O cartão da aplicação mostra o nome, a situação (**Ativo** ou **Inativo**) e os grants. Ações:\n - **Editar**: muda nome, grants e a caixa **Ativo**.\n - **Desativar** / **Ativar**: liga ou desliga a aplicação sem apagar nada.\n - **Excluir**: abre a confirmação **Excluir aplicação?** com o nome dela; só depois de **Excluir** no diálogo a\n aplicação é apagada e a credencial dela para de funcionar. **Cancelar** (ou Esc) não muda nada.\n\n> **Desativar** age na hora e se desfaz com **Ativar**. **Excluir** não tem volta: na dúvida, desative. Depois de\n> excluir aparece a mensagem **Exclusão concluída.**; se o servidor recusar, a mensagem de erro diz o motivo e a\n> aplicação continua na tela.\n\n## Aba Operações\n\nLista, só para consulta, as operações registradas pela aplicação: **Identificador**, **Método**, **Nível** (o selo\nfica verde para operação pública e amarelo para protegida), **Descrição** e **Grupos permitidos** (quantos grupos já\npodem chamar a operação). A tela não cria nem edita operações.\n\n## Aba Acessos\n\nMostra os grupos que têm acesso à aplicação (**Grupo** e **Tipo**).\n\n- **Novo acesso**: escolha o **Grupo** e clique em **Criar**. Só aparecem os grupos do seu client.\n- No menu de cada linha:\n - **Gerenciar operações** abre o painel **Operações de nome do grupo**, com uma caixa por operação\n (identificador, método, nível e descrição). Marque o que o grupo pode chamar, desmarque o que não pode e clique\n em **Confirmar alterações** (o botão só habilita quando algo mudou). **Cancelar** descarta.\n - **Remover** pede confirmação (**Remover acesso à aplicação?**, com o nome do grupo) e só então tira o acesso do\n grupo à aplicação e as permissões de operação dele.\n\nDepois de criar o acesso, use **Gerenciar operações** para escolher o que o grupo pode chamar.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,iBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDd;;"}
@@ -0,0 +1,42 @@
1
+ // Especificação técnica da tela Auditoria do auto-serviço (`RouteDocument.loadTechnical`), em Markdown. Módulo próprio,
2
+ // carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do
3
+ // bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.
4
+ var audit_technical = `# Auditoria — especificação técnica
5
+
6
+ Tela \`AutoServiceAuditComponent\`, ligada ao router de template \`AUTO_SERVICE_AUDIT_TEMPLATE_ROUTER_ID\`
7
+ (\`ad100004-…\`): o seletor de client + \`SpineAuditComponent\` (\`@trismegisto/spine/audit\`) com \`scope="client"\`. É a
8
+ mesma tela do painel central do Argos (\`scope="admin"\`); só muda a base dos endpoints.
9
+
10
+ ## Endpoints
11
+
12
+ Base: \`{adminApi}/auto-service/:clientId/audit\` (\`SpineAuditService\`, token em \`x-access-token\`).
13
+
14
+ | Ação | Endpoint |
15
+ | --- | --- |
16
+ | Clients que a pessoa administra | \`GET /auto-service\` |
17
+ | Tabela por ações / por eventos | \`GET .../actions\` / \`GET .../events\` (cursor, \`limit\` = itens por página) |
18
+ | Resumo e linha do tempo | \`GET .../stats?tops=false\` |
19
+ | Rankings | \`GET .../tops/:kind\` (\`apps\`, \`operations\`, \`users\`; 5 por página) |
20
+ | Detalhe do evento | \`GET .../events/:eventId?occurred_at=\` |
21
+ | Cadeia (trace) | \`GET .../traces/:traceId?occurred_at=\` |
22
+ | Aplicações do filtro | \`GET /auto-service/:clientId/apps\` |
23
+
24
+ ## Regras
25
+
26
+ - **Autorização** (\`clientAdminGuard\`): grupo que administra o projeto do client + crachá Administrador ativo. O
27
+ recorte aos apps do projeto é do servidor (\`app_id IN\` apps do client); \`app_id\` de fora no filtro → 403, que a
28
+ tela mostra como "sem acesso à auditoria de uma das aplicações escolhidas".
29
+ - Janela máxima de 31 dias, barrada antes de ir ao servidor (e \`range_too_large\` do servidor); filtro inválido
30
+ (\`invalid_filter\`) mostra o detalhe do servidor.
31
+ - Período padrão 24 h; unidade padrão **Ações**. Datas da barra de filtros vencem o período rápido. Filtros salvos
32
+ ficam na chave \`spine-audit-client\`.
33
+ - Atualização automática opcional a cada 30 s. Respostas fora de ordem (página, ranking, consulta ou detalhe já
34
+ trocados) são descartadas; trocar de página mantém as linhas à vista com indicador de progresso.
35
+ - Coluna, filtro e ranking "por aplicação" só aparecem com mais de um app.
36
+ - Eventos da cadeia de apps fora do projeto não vêm; o servidor informa a contagem (\`hidden_count\`).
37
+ - A tela fica no ponto \`@trismegisto/spine/audit\`, importado só pelo chunk lazy desta página (o \`check-lazy\` do
38
+ build garante).
39
+ `;
40
+
41
+ export { audit_technical as default };
42
+ //# sourceMappingURL=trismegisto-spine-auto-service-audit.technical-C901aIIQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trismegisto-spine-auto-service-audit.technical-C901aIIQ.mjs","sources":["../../../projects/ui/auto-service/src/docs/audit.technical.ts"],"sourcesContent":["// Especificação técnica da tela Auditoria do auto-serviço (`RouteDocument.loadTechnical`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Auditoria — especificação técnica\n\nTela \\`AutoServiceAuditComponent\\`, ligada ao router de template \\`AUTO_SERVICE_AUDIT_TEMPLATE_ROUTER_ID\\`\n(\\`ad100004-…\\`): o seletor de client + \\`SpineAuditComponent\\` (\\`@trismegisto/spine/audit\\`) com \\`scope=\"client\"\\`. É a\nmesma tela do painel central do Argos (\\`scope=\"admin\"\\`); só muda a base dos endpoints.\n\n## Endpoints\n\nBase: \\`{adminApi}/auto-service/:clientId/audit\\` (\\`SpineAuditService\\`, token em \\`x-access-token\\`).\n\n| Ação | Endpoint |\n| --- | --- |\n| Clients que a pessoa administra | \\`GET /auto-service\\` |\n| Tabela por ações / por eventos | \\`GET .../actions\\` / \\`GET .../events\\` (cursor, \\`limit\\` = itens por página) |\n| Resumo e linha do tempo | \\`GET .../stats?tops=false\\` |\n| Rankings | \\`GET .../tops/:kind\\` (\\`apps\\`, \\`operations\\`, \\`users\\`; 5 por página) |\n| Detalhe do evento | \\`GET .../events/:eventId?occurred_at=\\` |\n| Cadeia (trace) | \\`GET .../traces/:traceId?occurred_at=\\` |\n| Aplicações do filtro | \\`GET /auto-service/:clientId/apps\\` |\n\n## Regras\n\n- **Autorização** (\\`clientAdminGuard\\`): grupo que administra o projeto do client + crachá Administrador ativo. O\n recorte aos apps do projeto é do servidor (\\`app_id IN\\` apps do client); \\`app_id\\` de fora no filtro → 403, que a\n tela mostra como \"sem acesso à auditoria de uma das aplicações escolhidas\".\n- Janela máxima de 31 dias, barrada antes de ir ao servidor (e \\`range_too_large\\` do servidor); filtro inválido\n (\\`invalid_filter\\`) mostra o detalhe do servidor.\n- Período padrão 24 h; unidade padrão **Ações**. Datas da barra de filtros vencem o período rápido. Filtros salvos\n ficam na chave \\`spine-audit-client\\`.\n- Atualização automática opcional a cada 30 s. Respostas fora de ordem (página, ranking, consulta ou detalhe já\n trocados) são descartadas; trocar de página mantém as linhas à vista com indicador de progresso.\n- Coluna, filtro e ranking \"por aplicação\" só aparecem com mais de um app.\n- Eventos da cadeia de apps fora do projeto não vêm; o servidor informa a contagem (\\`hidden_count\\`).\n- A tela fica no ponto \\`@trismegisto/spine/audit\\`, importado só pelo chunk lazy desta página (o \\`check-lazy\\` do\n build garante).\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,sBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCd;;"}
@@ -0,0 +1,63 @@
1
+ // Manual de uso da tela Auditoria do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,
2
+ // carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do
3
+ // bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.
4
+ var audit_usage = `# Auditoria
5
+
6
+ O que aconteceu nas aplicações do projeto do seu client: quem fez, o quê, quando e com que resultado. A tela é só
7
+ de consulta: nada do que você faz aqui altera as aplicações.
8
+
9
+ ## Antes de começar
10
+
11
+ A escolha do client funciona como nas outras telas do auto-serviço: com um client só, ele já vem escolhido; com
12
+ mais de um, escolha em **Selecione o client que deseja administrar**. É preciso estar com o crachá
13
+ **Administrador** ativo. Você só vê os registros das aplicações do projeto desse client.
14
+
15
+ ## Como usar
16
+
17
+ 1. **Ver por** escolhe a unidade da leitura:
18
+ - **Ações** (padrão): uma linha por ação da pessoa, juntando as chamadas que ela gerou entre aplicações. O
19
+ resultado da ação é o pior entre as etapas.
20
+ - **Eventos**: cada registro, um por linha.
21
+ 2. **Período**: **Última hora**, **Últimas 6 horas**, **Últimas 24 horas** (padrão), **Últimos 7 dias** ou **Últimos
22
+ 30 dias**. Se você escolher datas no filtro **Datas**, elas valem no lugar do período (o período máximo é de 31
23
+ dias).
24
+ 3. **Atualizar** recarrega tudo; **Atualizar a cada 30 s** mantém a tela atualizando sozinha. O horário da última
25
+ atualização aparece ao lado.
26
+ 4. **Filtros**: Datas, Aplicação (quando há mais de uma), Usuário, Operação, Método, Resultado, Nível, Permissão,
27
+ Tipo de ator, Status HTTP, Trace e ID do usuário. **Só ações do usuário** aparece na leitura por **Eventos**. A
28
+ barra de filtros permite salvar combinações para usar de novo.
29
+ 5. **Resumo do período**: o total (de ações ou de eventos), **Falhas** e **Negados**. Clique em **Falhas** ou
30
+ **Negados** para filtrar a tabela por esse resultado; clique de novo para tirar o filtro.
31
+ 6. **Linha do tempo**: barras por intervalo, empilhando sucesso, falha e negado. Passe o mouse numa barra para ver
32
+ os números.
33
+ 7. **Operações mais chamadas**, **Usuários mais ativos** e, com mais de uma aplicação, **Por aplicação**: rankings de
34
+ 5 em 5, com as setas para a página anterior e a próxima. Clique num item para filtrar por ele.
35
+ 8. A tabela lista o período, do mais recente para o mais antigo: **Quando**, **Aplicação** (com mais de uma),
36
+ **Usuário**, **Operação**, **Spans** (na leitura por ações), **Método**, **Resultado**, **HTTP** e **Duração**.
37
+ Escolha quantas linhas por página no rodapé.
38
+
39
+ ## Detalhe
40
+
41
+ Clique numa linha para abrir o detalhe ao lado: quando, resultado, origem (**Ação do usuário** ou **Chamada entre
42
+ aplicações**), aplicação, usuário, tipo de ator, IP de origem, operação, método, nível, permissão, status HTTP,
43
+ duração, rota, alvo, mensagem e trace. Campos que não foram registrados não aparecem.
44
+
45
+ - **Ver cadeia (trace)** mostra as etapas da ação numa linha do tempo, com a duração de cada uma. Clique numa etapa
46
+ para abrir o detalhe dela. Na leitura por ações, as etapas (spans) já aparecem no topo do detalhe.
47
+ - **Filtrar a tabela por este trace** mostra na tabela só o que pertence a essa cadeia.
48
+ - Etapas de aplicações fora do seu projeto não aparecem; um aviso diz quantas ficaram de fora.
49
+ - O selo **sem entrada** marca uma ação cujo início não está no período (ou não foi registrado): ela aparece a
50
+ partir da primeira chamada entre aplicações.
51
+
52
+ ## Quando algo não carrega
53
+
54
+ - **Nenhuma ação (ou evento) no período:** amplie o período ou use **Limpar filtros**.
55
+ - **Não foi possível carregar a auditoria:** **Tentar de novo**.
56
+ - **O período máximo é de 31 dias:** escolha datas mais próximas.
57
+ - **Algum filtro tem um valor inválido:** a mensagem explica qual; corrija o filtro ou limpe os filtros.
58
+ - **Você não tem acesso à auditoria de uma das aplicações escolhidas:** tire do filtro a aplicação que não é do
59
+ seu projeto.
60
+ `;
61
+
62
+ export { audit_usage as default };
63
+ //# sourceMappingURL=trismegisto-spine-auto-service-audit.usage-GIJ2RwuH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trismegisto-spine-auto-service-audit.usage-GIJ2RwuH.mjs","sources":["../../../projects/ui/auto-service/src/docs/audit.usage.ts"],"sourcesContent":["// Manual de uso da tela Auditoria do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Auditoria\n\nO que aconteceu nas aplicações do projeto do seu client: quem fez, o quê, quando e com que resultado. A tela é só\nde consulta: nada do que você faz aqui altera as aplicações.\n\n## Antes de começar\n\nA escolha do client funciona como nas outras telas do auto-serviço: com um client só, ele já vem escolhido; com\nmais de um, escolha em **Selecione o client que deseja administrar**. É preciso estar com o crachá\n**Administrador** ativo. Você só vê os registros das aplicações do projeto desse client.\n\n## Como usar\n\n1. **Ver por** escolhe a unidade da leitura:\n - **Ações** (padrão): uma linha por ação da pessoa, juntando as chamadas que ela gerou entre aplicações. O\n resultado da ação é o pior entre as etapas.\n - **Eventos**: cada registro, um por linha.\n2. **Período**: **Última hora**, **Últimas 6 horas**, **Últimas 24 horas** (padrão), **Últimos 7 dias** ou **Últimos\n 30 dias**. Se você escolher datas no filtro **Datas**, elas valem no lugar do período (o período máximo é de 31\n dias).\n3. **Atualizar** recarrega tudo; **Atualizar a cada 30 s** mantém a tela atualizando sozinha. O horário da última\n atualização aparece ao lado.\n4. **Filtros**: Datas, Aplicação (quando há mais de uma), Usuário, Operação, Método, Resultado, Nível, Permissão,\n Tipo de ator, Status HTTP, Trace e ID do usuário. **Só ações do usuário** aparece na leitura por **Eventos**. A\n barra de filtros permite salvar combinações para usar de novo.\n5. **Resumo do período**: o total (de ações ou de eventos), **Falhas** e **Negados**. Clique em **Falhas** ou\n **Negados** para filtrar a tabela por esse resultado; clique de novo para tirar o filtro.\n6. **Linha do tempo**: barras por intervalo, empilhando sucesso, falha e negado. Passe o mouse numa barra para ver\n os números.\n7. **Operações mais chamadas**, **Usuários mais ativos** e, com mais de uma aplicação, **Por aplicação**: rankings de\n 5 em 5, com as setas para a página anterior e a próxima. Clique num item para filtrar por ele.\n8. A tabela lista o período, do mais recente para o mais antigo: **Quando**, **Aplicação** (com mais de uma),\n **Usuário**, **Operação**, **Spans** (na leitura por ações), **Método**, **Resultado**, **HTTP** e **Duração**.\n Escolha quantas linhas por página no rodapé.\n\n## Detalhe\n\nClique numa linha para abrir o detalhe ao lado: quando, resultado, origem (**Ação do usuário** ou **Chamada entre\naplicações**), aplicação, usuário, tipo de ator, IP de origem, operação, método, nível, permissão, status HTTP,\nduração, rota, alvo, mensagem e trace. Campos que não foram registrados não aparecem.\n\n- **Ver cadeia (trace)** mostra as etapas da ação numa linha do tempo, com a duração de cada uma. Clique numa etapa\n para abrir o detalhe dela. Na leitura por ações, as etapas (spans) já aparecem no topo do detalhe.\n- **Filtrar a tabela por este trace** mostra na tabela só o que pertence a essa cadeia.\n- Etapas de aplicações fora do seu projeto não aparecem; um aviso diz quantas ficaram de fora.\n- O selo **sem entrada** marca uma ação cujo início não está no período (ou não foi registrado): ela aparece a\n partir da primeira chamada entre aplicações.\n\n## Quando algo não carrega\n\n- **Nenhuma ação (ou evento) no período:** amplie o período ou use **Limpar filtros**.\n- **Não foi possível carregar a auditoria:** **Tentar de novo**.\n- **O período máximo é de 31 dias:** escolha datas mais próximas.\n- **Algum filtro tem um valor inválido:** a mensagem explica qual; corrija o filtro ou limpe os filtros.\n- **Você não tem acesso à auditoria de uma das aplicações escolhidas:** tire do filtro a aplicação que não é do\n seu projeto.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,kBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDd;;"}