Skip to content

Commit 732d973

Browse files
committed
pesquisa-jurisprudencia: adiciona snippets reutilizaveis para CLI
1 parent 17913cd commit 732d973

1 file changed

Lines changed: 159 additions & 0 deletions

File tree

  • skills/juridico/pesquisa-jurisprudencia/references
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
#Requires -Version 5.1
2+
3+
<#
4+
.SYNOPSIS
5+
Snippets reutilizaveis para a CLI Jurisprudencias.ai
6+
.DESCRIPTION
7+
Colecao de trechos prontos para uso em scripts e pipelines.
8+
Cada snippet eh auto-contido e pode ser copiado para o terminal ou script.
9+
#>
10+
11+
# Requires: scripts/jurisprudencias.ps1
12+
# Setup:
13+
# . .\scripts\jurisprudencias.ps1
14+
# $env:JURISPRUDENCIAS_API_TOKEN = 'jur_seu_token_aqui'
15+
16+
# ---------------------------------------------------------------
17+
# Snippet 1: Busca basica com filtro de tribunal e exportacao
18+
# ---------------------------------------------------------------
19+
<#
20+
Parametros:
21+
$query - termo de busca (obrigatorio)
22+
$court - tribunal (STJ, STF, TJSP, etc.)
23+
$pages - numero de paginas (padrao 1, max 5)
24+
$out - caminho do arquivo de saida CSV
25+
#>
26+
function Invoke-JurSearchAndExport {
27+
param(
28+
[Parameter(Mandatory)] [string]$Query,
29+
[string]$Court = "STJ",
30+
[int]$Pages = 1,
31+
[string]$OutFile = "resultados.csv"
32+
)
33+
$all = @()
34+
for ($p = 1; $p -le $Pages; $p++) {
35+
$r = Search-JurDecision -Query $Query -Court $Court -Page $p -PageSize 20
36+
if (-not $r.results) { break }
37+
$all += $r.results
38+
Write-Host "Pagina $p/$Pages: $($r.results.Count) resultados"
39+
}
40+
$all | Export-Csv -Path $OutFile -NoTypeInformation -Encoding UTF8
41+
Write-Host "Exportados $($all.Count) resultados para $OutFile"
42+
}
43+
44+
# ---------------------------------------------------------------
45+
# Snippet 2: Resolver processo e gerar relatorio
46+
# ---------------------------------------------------------------
47+
<#
48+
Uso:
49+
Show-JurCaseBrief -ProcessNumber "0700834-24.2022.8.02.0001"
50+
#>
51+
function Show-JurCaseBrief {
52+
param([Parameter(Mandatory)] [string]$ProcessNumber)
53+
$r = Resolve-JurProcess -ProcessNumber $ProcessNumber
54+
if (-not $r) { Write-Warning "Processo nao encontrado"; return }
55+
Write-Host "`n=== RELATORIO DO PROCESSO ===" -ForegroundColor Cyan
56+
Write-Host "Numero: $($r.numero)" -ForegroundColor Yellow
57+
Write-Host "Classe: $($r.classe_judicial)" -ForegroundColor Yellow
58+
Write-Host "Assunto: $($r.assunto)" -ForegroundColor Yellow
59+
Write-Host "Orgao Julgador: $($r.orgao_julgador)" -ForegroundColor Yellow
60+
Write-Host "Relator: $($r.relator)" -ForegroundColor Yellow
61+
Write-Host "Data Julgamento: $($r.data_julgamento)" -ForegroundColor Yellow
62+
Write-Host "Data Publicacao: $($r.data_publicacao)" -ForegroundColor Yellow
63+
if ($r.ementa) {
64+
Write-Host "`nEMENTA:" -ForegroundColor Green
65+
Write-Host $r.ementa
66+
}
67+
if ($r.acordao_url) {
68+
Write-Host "`nAcordao: $($r.acordao_url)" -ForegroundColor Blue
69+
}
70+
Write-Host "`n===========================" -ForegroundColor Cyan
71+
}
72+
73+
# ---------------------------------------------------------------
74+
# Snippet 3: Busca multiplos tribunais em paralelo
75+
# ---------------------------------------------------------------
76+
<#
77+
Uso:
78+
$resultados = Invoke-JurMultiCourtSearch -Query "dano moral" -Courts @("STJ","TJSP","TJPR")
79+
#>
80+
function Invoke-JurMultiCourtSearch {
81+
param(
82+
[Parameter(Mandatory)] [string]$Query,
83+
[string[]]$Courts = @("STJ","STF","TJSP"),
84+
[int]$PageSize = 10
85+
)
86+
$jobs = @()
87+
foreach ($c in $Courts) {
88+
$jobs += Start-Job -ScriptBlock {
89+
param($q, $co, $ps)
90+
. $using:PSScriptRoot\..\scripts\jurisprudencias.ps1
91+
Search-JurDecision -Query $q -Court $co -PageSize $ps
92+
} -ArgumentList $Query, $c, $PageSize
93+
}
94+
$all = @()
95+
foreach ($j in $jobs) {
96+
$r = Receive-Job -Job $j -Wait
97+
if ($r.results) { $all += $r.results }
98+
Remove-Job -Job $j
99+
}
100+
return $all
101+
}
102+
103+
# ---------------------------------------------------------------
104+
# Snippet 4: Cache management helpers
105+
# ---------------------------------------------------------------
106+
<#
107+
Uso:
108+
Show-JurCacheStatus # mostra tamanho e contagem do cache
109+
Clear-JurCache # limpa todo cache
110+
#>
111+
function Show-JurCacheStatus {
112+
$dir = if ($env:JURISPRUDENCIAS_CACHE_DIR) { $env:JURISPRUDENCIAS_CACHE_DIR } else { "$env:USERPROFILE\.jurisprudencias\cache" }
113+
if (-not (Test-Path $dir)) { Write-Host "Cache vazio"; return }
114+
$files = Get-ChildItem -Path $dir -Filter "*.json"
115+
$total = ($files | Measure-Object Length -Sum).Sum
116+
Write-Host "Arquivos em cache: $($files.Count)" -ForegroundColor Cyan
117+
Write-Host "Tamanho total: $('{0:N2}' -f ($total/1KB)) KB" -ForegroundColor Cyan
118+
}
119+
120+
function Clear-JurCache {
121+
$dir = if ($env:JURISPRUDENCIAS_CACHE_DIR) { $env:JURISPRUDENCIAS_CACHE_DIR } else { "$env:USERPROFILE\.jurisprudencias\cache" }
122+
if (Test-Path $dir) {
123+
Remove-Item -Path "$dir\*.json" -Force
124+
Write-Host "Cache limpo" -ForegroundColor Green
125+
}
126+
}
127+
128+
# ---------------------------------------------------------------
129+
# Snippet 5: Pipeline integracao com pecas juridicas
130+
# ---------------------------------------------------------------
131+
<#
132+
Uso:
133+
$ementa = Get-JurEmentaForPeca -Query "honorarios sucumbenciais" -Court "STJ"
134+
# Use $ementa na sua peca juridica
135+
#>
136+
function Get-JurEmentaForPeca {
137+
param(
138+
[Parameter(Mandatory)] [string]$Query,
139+
[string]$Court = "STJ",
140+
[int]$MaxPages = 2
141+
)
142+
$ementas = @()
143+
for ($p = 1; $p -le $MaxPages; $p++) {
144+
$r = Search-JurDecision -Query $Query -Court $Court -Page $p -PageSize 5
145+
if (-not $r.results) { break }
146+
foreach ($item in $r.results) {
147+
if ($item.ementa) {
148+
$ementas += [PSCustomObject]@{
149+
Ementa = $item.ementa
150+
Tribunal = $item.tribunal
151+
Numero = $item.numero_processo
152+
Relator = $item.relator
153+
Data = $item.data_julgamento
154+
}
155+
}
156+
}
157+
}
158+
return $ementas
159+
}

0 commit comments

Comments
 (0)