perf: iDRegEx opt-in, GBNF newline fix, OverflowError fix
- iDRegEx now opt-in via --idregex flag (was running on every group, causing 55s+ on Flask alone — src/flask/json took 55s in iDRegEx) - GBNF tokenizer strips newlines from literals (multi-line symbols) - Fix OverflowError: lang_size_score produces huge ints for large disjunctions, format as string not float - Flask: 2.7s (was 55s+), RAGSAK: 13s (was 74s)
This commit is contained in:
parent
f57c302c91
commit
bc7d3b6ca1
5 changed files with 912 additions and 10 deletions
|
|
@ -395,7 +395,7 @@ def _run_kore(sequences, kmax, N, method='langsize'):
|
|||
return None, float('inf')
|
||||
|
||||
|
||||
def infer_ensemble(sequences, kmax=2, N=3, prefer=None, min_coverage=1.0, include_kore=False, method='langsize'):
|
||||
def infer_ensemble(sequences, kmax=2, N=3, prefer=None, min_coverage=1.0, include_kore=False, include_idregex=False, method='langsize'):
|
||||
"""Run all applicable algorithms and return the best by scoring.
|
||||
|
||||
Args:
|
||||
|
|
@ -408,6 +408,7 @@ def infer_ensemble(sequences, kmax=2, N=3, prefer=None, min_coverage=1.0, includ
|
|||
of sequences. Outliers (worst-fitting) are iteratively
|
||||
removed until at least this fraction remains. The core
|
||||
grammar and outlier list are included in the response.
|
||||
include_idregex: Run iDRegEx (slow, opt-in).
|
||||
method: Scoring method — 'langsize' (default, Bex et al. arXiv:1004.2372)
|
||||
or 'mdl' (fallback).
|
||||
|
||||
|
|
@ -443,10 +444,11 @@ def infer_ensemble(sequences, kmax=2, N=3, prefer=None, min_coverage=1.0, includ
|
|||
crx_score = mdl_score_simple(crx_g, sequences, method=method) if crx_g and crx_g != '∅' else float('inf')
|
||||
results.append(('CRX', crx_g if crx_g and crx_g != '∅' else '∅', crx_score))
|
||||
|
||||
# 2. iDRegEx (standalone, langsize-based)
|
||||
idr_g, idr_score = _run_idregex(sequences, kmax, N, method=method)
|
||||
if idr_g:
|
||||
results.append(('iDRegEx', idr_g, idr_score))
|
||||
# 2. iDRegEx (opt-in via include_idregex=True — slow on large groups)
|
||||
if include_idregex:
|
||||
idr_g, idr_score = _run_idregex(sequences, kmax, N, method=method)
|
||||
if idr_g:
|
||||
results.append(('iDRegEx', idr_g, idr_score))
|
||||
|
||||
# 3. kOREInference (opt-in via include_kore=True)
|
||||
if include_kore:
|
||||
|
|
@ -494,7 +496,7 @@ def infer_ensemble(sequences, kmax=2, N=3, prefer=None, min_coverage=1.0, includ
|
|||
if match_strs:
|
||||
why_parts.append(f"Match rates: {', '.join(match_strs)}.")
|
||||
|
||||
why_parts.append(f"{best[0]} selected (MDL score {best[2]:.1f}).")
|
||||
why_parts.append(f"{best[0]} selected (MDL score {best[2]}).")
|
||||
|
||||
result = {
|
||||
'best': {
|
||||
|
|
|
|||
|
|
@ -66,6 +66,8 @@ def _tokenize(sore):
|
|||
i += 1
|
||||
lit = sore[start:i]
|
||||
if lit:
|
||||
# Strip newlines/extra whitespace from symbol names
|
||||
lit = ' '.join(lit.split())
|
||||
tokens.append(('LITERAL', lit))
|
||||
return tokens
|
||||
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ def analyze_clusters(file_paths, extension, project_root="", min_coverage=DEFAUL
|
|||
return [("(all methods)", result, len(sequences), meta)]
|
||||
|
||||
|
||||
def _infer_group(label, group_seqs, group_files, project_root, min_coverage, prefer, kmax, N, include_kore=False, method='langsize', min_methods=5, crx_method='standard'):
|
||||
def _infer_group(label, group_seqs, group_files, project_root, min_coverage, prefer, kmax, N, include_kore=False, include_idregex=False, method='langsize', min_methods=5, crx_method='standard'):
|
||||
"""Infer grammar for one package group. Module-level for ProcessPoolExecutor."""
|
||||
filtered = frequency_filter(group_seqs, min_coverage=min_coverage)
|
||||
imports = _extract_imports(group_files)
|
||||
|
|
@ -311,12 +311,12 @@ def _infer_group(label, group_seqs, group_files, project_root, min_coverage, pre
|
|||
'why': f"CRX-refined (confidence={info['confidence']:.2f})",
|
||||
}
|
||||
else:
|
||||
result = infer_ensemble(symbol_seqs, kmax=kmax, N=N, prefer=prefer, min_coverage=min_coverage, include_kore=include_kore)
|
||||
result = infer_ensemble(symbol_seqs, kmax=kmax, N=N, prefer=prefer, min_coverage=min_coverage, include_kore=include_kore, include_idregex=include_idregex)
|
||||
meta = {"files": group_files, "imports": imports, "arg_patterns": arg_patterns, "packages": packages}
|
||||
return (label, result, len(filtered), meta)
|
||||
|
||||
|
||||
def analyze_by_package(file_paths, extension, project_root="", min_coverage=DEFAULT_COVERAGE, prefer=None, kmax=2, N=3, min_pkg_size=3, include_kore=False, method='langsize', min_methods=5, crx_method='standard'):
|
||||
def analyze_by_package(file_paths, extension, project_root="", min_coverage=DEFAULT_COVERAGE, prefer=None, kmax=2, N=3, min_pkg_size=3, include_kore=False, include_idregex=False, method='langsize', min_methods=5, crx_method='standard'):
|
||||
"""Preprocess and group by package directory, infer per group.
|
||||
|
||||
Groups methods by their file's relative directory path, merging
|
||||
|
|
@ -351,7 +351,7 @@ def analyze_by_package(file_paths, extension, project_root="", min_coverage=DEFA
|
|||
gs = [sequences[i] for i in indices]
|
||||
gf = set(seq_files[i] for i in indices)
|
||||
f = ex.submit(_infer_group, label, gs, gf, project_root,
|
||||
min_coverage, prefer, kmax, N, include_kore, method, min_methods, crx_method)
|
||||
min_coverage, prefer, kmax, N, include_kore, include_idregex, method, min_methods, crx_method)
|
||||
futures[f] = label
|
||||
|
||||
for f in as_completed(futures):
|
||||
|
|
@ -460,6 +460,7 @@ def analyze_directory(
|
|||
exclude=None,
|
||||
main_only=False,
|
||||
include_kore=False,
|
||||
include_idregex=False,
|
||||
method='langsize',
|
||||
min_methods=5,
|
||||
crx_method='standard',
|
||||
|
|
@ -497,6 +498,7 @@ def analyze_directory(
|
|||
prefer=prefer,
|
||||
kmax=kmax,
|
||||
include_kore=include_kore,
|
||||
include_idregex=include_idregex,
|
||||
method=method,
|
||||
min_methods=min_methods,
|
||||
crx_method=crx_method,
|
||||
|
|
@ -617,6 +619,10 @@ def _parse_args(argv=None):
|
|||
"--kore", action="store_true",
|
||||
help="Include kORE in ensemble (off by default for speed)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--idregex", action="store_true",
|
||||
help="Include iDRegEx in ensemble (off by default — slow on large groups)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--kmax", type=int, default=2,
|
||||
help="Maximum k for k-ORE algorithms (default: 2)",
|
||||
|
|
@ -684,6 +690,7 @@ def main():
|
|||
exclude=args.exclude,
|
||||
main_only=args.main_only,
|
||||
include_kore=args.kore,
|
||||
include_idregex=args.idregex,
|
||||
method=args.scoring_method,
|
||||
min_methods=args.min_methods,
|
||||
crx_method=args.crx_method,
|
||||
|
|
|
|||
75
experiments/gbnf_eval.py
Normal file
75
experiments/gbnf_eval.py
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
#!/usr/bin/env python3
|
||||
"""Run pipeline + GBNF conversion on a codebase. Output results to JSON."""
|
||||
import sys
|
||||
import json
|
||||
import time
|
||||
from pathlib import Path
|
||||
from bex.tag_preprocessor.analyze import analyze_directory
|
||||
from bex.gbnf import to_gbnf
|
||||
|
||||
def run(codebase_name, dir_path):
|
||||
print(f"\n{'='*60}")
|
||||
print(f" {codebase_name}: {dir_path}")
|
||||
print(f"{'='*60}")
|
||||
|
||||
t0 = time.time()
|
||||
results = analyze_directory(
|
||||
dir_path, slice='package', method='langsize',
|
||||
min_coverage=0.05, min_methods=3,
|
||||
)
|
||||
elapsed = time.time() - t0
|
||||
|
||||
output = []
|
||||
sore_count = 0
|
||||
gbnf_ok = 0
|
||||
gbnf_fail = 0
|
||||
total_pkgs = 0
|
||||
|
||||
for ext, pkgs in results.items():
|
||||
for pkg, info in sorted(pkgs.items()):
|
||||
grammar = info.get('grammar', '')
|
||||
if grammar and grammar not in ('∅', 'ε', ''):
|
||||
sore_count += 1
|
||||
total_pkgs += 1
|
||||
entry = {'package': pkg, 'ext': ext, 'sore': grammar, 'methods': info.get('methods', 0)}
|
||||
try:
|
||||
gbnf = to_gbnf(grammar)
|
||||
entry['gbnf'] = gbnf
|
||||
gbnf_ok += 1
|
||||
except Exception as e:
|
||||
entry['gbnf_error'] = str(e)
|
||||
gbnf_fail += 1
|
||||
output.append(entry)
|
||||
elif grammar in ('∅', 'ε', ''):
|
||||
pass # skip trivial
|
||||
else:
|
||||
total_pkgs += 1
|
||||
|
||||
print(f"\nTime: {elapsed:.1f}s")
|
||||
print(f"Packages with grammar: {sore_count}")
|
||||
print(f"GBNF OK: {gbnf_ok}, FAIL: {gbnf_fail}")
|
||||
|
||||
# Print all conversions
|
||||
print(f"\n{'─'*60}")
|
||||
for e in output:
|
||||
if 'gbnf' in e:
|
||||
print(f" {e['package']}")
|
||||
print(f" SORE: {e['sore']}")
|
||||
print(f" GBNF: {e['gbnf']}")
|
||||
elif 'gbnf_error' in e:
|
||||
print(f" {e['package']}")
|
||||
print(f" SORE: {e['sore']}")
|
||||
print(f" ERR: {e['gbnf_error']}")
|
||||
|
||||
# Save to file
|
||||
out_path = Path(f"/tmp/gbnf_{codebase_name.lower().replace(' ','_')}.json")
|
||||
with open(out_path, 'w') as f:
|
||||
json.dump(output, f, indent=2)
|
||||
print(f"\nSaved to {out_path}")
|
||||
|
||||
return output
|
||||
|
||||
if __name__ == '__main__':
|
||||
name = sys.argv[1]
|
||||
path = sys.argv[2]
|
||||
run(name, path)
|
||||
816
experiments/results/ragsak_gbnf.json
Normal file
816
experiments/results/ragsak_gbnf.json
Normal file
|
|
@ -0,0 +1,816 @@
|
|||
[
|
||||
{
|
||||
"package": "agents",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"sore": "slot?.(defaultCapabilityId+summarize)?.ToolInvocationRequest?.ToolingRequest?.ToolInvocationResult?.(String+answer+any+assertEquals+capture+captured+every+generateText+invoke+invokeTools+promptRunner+toolProfile+verify)+?.prompt?.contains+?",
|
||||
"gbnf": "root ::= \"slot\"? (\"defaultCapabilityId\" | \"summarize\")? \"ToolInvocationRequest\"? \"ToolingRequest\"? \"ToolInvocationResult\"? (\"String\" | \"answer\" | \"any\" | \"assertEquals\" | \"capture\" | \"captured\" | \"every\" | \"generateText\" | \"invoke\" | \"invokeTools\" | \"promptRunner\" | \"toolProfile\" | \"verify\")* \"prompt\"? \"contains\"*",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "agents/capability/ports/src/main/kotlin/eu/corentic/springrag/agent/capability",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"sore": "listCapabilities?.AgentExecutionContext?.DescribedAgentCapability?.firstOrNull+?.TransportExposedAgentCapability?.id?.return AgentCapabilityDescriptor(\n id = id,\n capabilityType = capabilityType,\n displayName = describedCapability?.displayName ?: id,\n description = describedCapability?.description,\n exposedOverHttp = exposedCapability?.exposedOverHttp ?: false,\n exposedOverMcp = exposedCapability?.exposedOverMcp ?: false\n )?.AgentCapabilityDescriptor?.displayName?.description?.exposedOverHttp?.exposedOverMcp?",
|
||||
"gbnf_error": "Expected RPAREN, got ('LITERAL', ': id, description = describedCapability')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "agents/capability/support/src/main/kotlin/eu/corentic/springrag/agent/capability/support",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/capability/support/src/test/kotlin/eu/corentic/springrag/agent/capability/support",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"sore": "runTest?.TestRequest?.(AgentCapabilityDescriptor+DefaultAgentCapabilityDirectory+IllegalStateException+assertEquals+assertFailsWith+authorize+capabilityDescriptors+coEvery+coVerify+defaultCapabilityId+every+id+invoke+listOf+message+resolve+verify)+.(any+listCapabilities)+?",
|
||||
"gbnf": "root ::= \"runTest\"? \"TestRequest\"? (\"AgentCapabilityDescriptor\" | \"DefaultAgentCapabilityDirectory\" | \"IllegalStateException\" | \"assertEquals\" | \"assertFailsWith\" | \"authorize\" | \"capabilityDescriptors\" | \"coEvery\" | \"coVerify\" | \"defaultCapabilityId\" | \"every\" | \"id\" | \"invoke\" | \"listOf\" | \"message\" | \"resolve\" | \"verify\")+ (\"any\" | \"listCapabilities\")*",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "agents/examples/simple-rag/src/main/kotlin/eu/corentic/springrag/example/rag/simple",
|
||||
"ext": ".kt",
|
||||
"methods": 9,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/examples/simple-rag/src/test/kotlin/eu/corentic/springrag/example/rag/simple",
|
||||
"ext": ".kt",
|
||||
"methods": 14,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel",
|
||||
"ext": ".kt",
|
||||
"methods": 58,
|
||||
"sore": "shouldRetrieve?.buildObservationContext?.(ASK+ChatResponse+EmbabelJudgeDecision+Exception+JudgeOutcome+ResponseDraft+RetrievedEvidence+String+WORKFLOW_ORIGIN_CAPABILITY_KEY+WORKFLOW_TRANSPORT_KEY+advisors+agent+agents+allowAsk+allowRetrieve+applyRetrieveCost+askCost+asksSoFar+budgetRemaining+build+builder+call+canAffordRetrieve+catch+chatOptions+confidence+consumeBudget+contains+content+conversationId+copy+debug+decision+decisionState+docs+draftAnswer+else+emptyList+enoughEvidence+entity+equals+error+evidence+expandContext+find+get+if+ifBlank+info+invoke+isEmpty+isNotBlank+isNotEmpty+isNullOrBlank+java+joinToString+knowledgeBaseId+length+let+lowercase+maxRetrievalRounds+memoryContext+message+name+nextAction+of+options+orEmpty+originCapabilityId+param+prompt+promptClient+refinedQuery+removePrefix+removeSuffix+request+resultOfType+retrievalRounds+retrieve+retrieveCost+return false+return null+return this+return true+run+runWithCircuitBreaker+simpleName+size+system+take+takeIf+text+transport+trim+trimIndent+try+user+warn+withConversationId+withObservationContext+withWorkflowStep)+?.map+?.hasDefaultKb?.coerceIn+?",
|
||||
"gbnf": "root ::= \"shouldRetrieve\"? \"buildObservationContext\"? (\"ASK\" | \"ChatResponse\" | \"EmbabelJudgeDecision\" | \"Exception\" | \"JudgeOutcome\" | \"ResponseDraft\" | \"RetrievedEvidence\" | \"String\" | \"WORKFLOW_ORIGIN_CAPABILITY_KEY\" | \"WORKFLOW_TRANSPORT_KEY\" | \"advisors\" | \"agent\" | \"agents\" | \"allowAsk\" | \"allowRetrieve\" | \"applyRetrieveCost\" | \"askCost\" | \"asksSoFar\" | \"budgetRemaining\" | \"build\" | \"builder\" | \"call\" | \"canAffordRetrieve\" | \"catch\" | \"chatOptions\" | \"confidence\" | \"consumeBudget\" | \"contains\" | \"content\" | \"conversationId\" | \"copy\" | \"debug\" | \"decision\" | \"decisionState\" | \"docs\" | \"draftAnswer\" | \"else\" | \"emptyList\" | \"enoughEvidence\" | \"entity\" | \"equals\" | \"error\" | \"evidence\" | \"expandContext\" | \"find\" | \"get\" | \"if\" | \"ifBlank\" | \"info\" | \"invoke\" | \"isEmpty\" | \"isNotBlank\" | \"isNotEmpty\" | \"isNullOrBlank\" | \"java\" | \"joinToString\" | \"knowledgeBaseId\" | \"length\" | \"let\" | \"lowercase\" | \"maxRetrievalRounds\" | \"memoryContext\" | \"message\" | \"name\" | \"nextAction\" | \"of\" | \"options\" | \"orEmpty\" | \"originCapabilityId\" | \"param\" | \"prompt\" | \"promptClient\" | \"refinedQuery\" | \"removePrefix\" | \"removeSuffix\" | \"request\" | \"resultOfType\" | \"retrievalRounds\" | \"retrieve\" | \"retrieveCost\" | \"return false\" | \"return null\" | \"return this\" | \"return true\" | \"run\" | \"runWithCircuitBreaker\" | \"simpleName\" | \"size\" | \"system\" | \"take\" | \"takeIf\" | \"text\" | \"transport\" | \"trim\" | \"trimIndent\" | \"try\" | \"user\" | \"warn\" | \"withConversationId\" | \"withObservationContext\" | \"withWorkflowStep\")* \"map\"* \"hasDefaultKb\"? \"coerceIn\"*",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel/librechat",
|
||||
"ext": ".kt",
|
||||
"methods": 13,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/agent/rag/embabel",
|
||||
"ext": ".kt",
|
||||
"methods": 36,
|
||||
"sore": "very?.messageWindowMemory?.removeFirst+?.ery {?.unmockkAll?.(mockkObject+runTest)?.istKnowledgeBases(+?.add+?.return ChatResponse(listOf(Generation(AssistantMessage(content))))?.stKnowledgeBases()+?.(agRequest(+equest.+f(+heckKnowledgeBase(+nowledgeBaseId)+ssertEquals(+ssertNull()+?.(ASSISTANT+Agent+AgentProcess+AssistantMessage+ChatGraphLookupPort+ChatResponse+Companion+ConversationMemoryContext+DEFAULT_CONVERSATION_ID+DefaultEmbabelRagResponseInvoker+DirectAnswerDecision+EmbabelJudgeDecision+EmbabelLibreChatRetrievalAgent+EmbabelPlatformRagAgent+EmbabelRagDecisionPolicy+EmbabelRagWorkflowAgentProperties+EmbabelWorkflowObservationContext+EmbabelWorkflowObservationConvention+EmbabelWorkflowPromptService+Generation+InMemoryChatMemoryRepository+JudgeOutcome+LibreChatRetrievalRequest+NOOP+NoOpCircuitBreakerFactory+PageTextElement+ProcessOptions+Prompt+RagDecisionState+RagInvocation+RagRequest+RecordingChatModel+RetrievalPort+RetrievalQueryDraft+RetrievedEvidence+SpringAiEmbabelWorkflowPromptService+USER+UserMessage+VectorChunk+VectorDocumentPort+WORKFLOW_ORIGIN_CAPABILITY_KEY+WORKFLOW_STEP_KEY+WORKFLOW_TRANSPORT_KEY+advisors+agents+answer+any+anyMatch+applyRetrieveCost+asKnowledgeBaseId+assertEquals+assertNull+assertTrue+blackboard+build+builder+capture+captured+chatMemoryRepository+contains+context+contextId+conversationId+copy+createAgentProcessFrom+decision+decisionState+docs+draftAnswer+draftClarification+emptyList+enoughEvidence+every+executionContext+findExpandedTableMarkdown+findTextOnSamePage+first+get+getLowCardinalityKeyValues+http+invoke+isEmpty+java+judgeDecision+judgeEvidence+key+knowledgeBaseId+last+listOf+mapOf+maxMessages+message+messageType+mockk+name+nextAction+normalize+of+options+orEmpty+outcome+prompt+prompts+query+request+requireNotNull+resultOfType+retrievalRounds+retrieveInitialEvidence+retrieveMoreEvidence+run+searchByJobIds+searchSimilar+single+size+slot+stream+systemMessage+text+userMessage+value+verify)+?.ptyList()+?.vailableKnowledgeBases.?.gRequest(m?.ize)?.eckKnowledgeBase(r+?.ckKnowledgeBase(re+?.(sertEquals(f+sertNull(o)?.sertEquals(K?.ertEquals(Kn?.(\"+?.\"k+?.(owledgeBaseId =+quest.k+sDefaultKb)+sertEquals(t)+?.uest.kn?.owledgeBaseId)?.wledgeBaseId)?",
|
||||
"gbnf_error": "Unexpected token: ('PLUS', '+')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/testsupport",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/ports/src/main/kotlin/eu/corentic/springrag/agent/rag",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/ports/src/test/kotlin/eu/corentic/springrag/agent/rag",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/ports/src/test/kotlin/eu/corentic/springrag/model",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/support/src/main/kotlin/eu/corentic/springrag/agent/rag/support",
|
||||
"ext": ".kt",
|
||||
"methods": 13,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/rag/support/src/test/kotlin/eu/corentic/springrag/agent/rag/support",
|
||||
"ext": ".kt",
|
||||
"methods": 11,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/summarizer/embabel/src/main/kotlin/eu/corentic/springrag/agent/summarizer/embabel",
|
||||
"ext": ".kt",
|
||||
"methods": 13,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/summarizer/embabel/src/test/kotlin/eu/corentic/springrag/agent/summarizer/embabel",
|
||||
"ext": ".kt",
|
||||
"methods": 14,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/tooling/agent/src/main/kotlin/eu/corentic/springrag/agent/tooling/agent",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel",
|
||||
"ext": ".kt",
|
||||
"methods": 12,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel/recording",
|
||||
"ext": ".kt",
|
||||
"methods": 11,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/tooling/embabel/src/test/kotlin/eu/corentic/springrag/agent/tooling/embabel",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/wikipedia/adapters/src/main/kotlin/eu/corentic/springrag/agent/wikipedia",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/wikipedia/adapters/src/test/kotlin/eu/corentic/springrag/agent/wikipedia",
|
||||
"ext": ".kt",
|
||||
"methods": 8,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/wikipedia/static/src/main/kotlin/eu/corentic/springrag/agent/wikipedia",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "agents/wikipedia/static/src/test/kotlin/eu/corentic/springrag/agent/wikipedia",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "app/src",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "app/src/e2eTest/kotlin/eu/corentic/springrag/e2e/cucumber/steps",
|
||||
"ext": ".kt",
|
||||
"methods": 17,
|
||||
"sore": "(File+absoluteFile+listOf)+?.@?.randomUUID+?.requireNotNull+?.createKnowledgeBase?.(pollJobToCompletion+reset)+?.for?.Suppress+?.toString+?.currentTimeMillis+?.if?.substring+?.exists+?.registerUser?.return f?.login?.(APPLICATION_JSON+Any+MULTIPART_FORM_DATA+Map+MultipartBodyBuilder+String+assertNotNull+atMost+await+blockFirst+body+bodyValue+build+contentType+currentJobId+else+error+exchange+expectBody+expectStatus+findTestFile+fromMultipartData+get+header+isAccepted+isCreated+isOk+java+knowledgeBaseId+mapOf+name+ofMinutes+ofSeconds+part+pollInterval+post+readBytes+responseBody+return body ?: error(\"Create KB response body was null\")+return response?.get(\"answer\") as? String ?: \"\"+return response?.get(\"token\") as? String\n ?: error(\"Login response missing token\")+return@until false+returnResult+secondKnowledgeBaseId+status+until+uri+value+when)+?.authToken?.lastChatResponse?.assertEquals?.chat?",
|
||||
"gbnf_error": "Expected RPAREN, got ('LITERAL', ': error')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "app/src/integrationTest/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 15,
|
||||
"sore": "(ChatModel+Driver+QdrantClient+Session+String+also+any+close+every+mockk+run+session)+?.return JobRepositoryTestUtils(jobRepository)?.defaultOptions?.JobRepositoryTestUtils?.builder+?.build+?",
|
||||
"gbnf": "root ::= (\"ChatModel\" | \"Driver\" | \"QdrantClient\" | \"Session\" | \"String\" | \"also\" | \"any\" | \"close\" | \"every\" | \"mockk\" | \"run\" | \"session\")* \"return JobRepositoryTestUtils\" \"jobRepository\"? \"defaultOptions\"? \"JobRepositoryTestUtils\"? \"builder\"* \"build\"*",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "app/src/integrationTest/kotlin/eu/corentic/springrag/controller",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "app/src/integrationTest/kotlin/eu/corentic/springrag/service",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "app/src/systemTest/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 14,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "app/src/systemTest/kotlin/eu/corentic/springrag/system",
|
||||
"ext": ".kt",
|
||||
"methods": 46,
|
||||
"sore": "queryForObject+?.session+?.MultipartBodyBuilder?.(createKnowledgeBase+newClient+runBlocking)+?.Long+?.use+?.part+?.run+?.readBytes+?.parameters+?.header+?.(COMPLETED+CallToolRequest+ClassPathResource+FAILED+IllegalStateException+JobStatus+List+MULTIPART_FORM_DATA+Map+McpSchema+PARTIAL_SUCCESS+String+TextContent+VectorChunk+absolutePath+add+adminClient+any+asJobId+assertEquals+assertNotEquals+assertNotNull+assertTrue+atMost+await+blockFirst+body+bodyValue+build+callTool+contains+content+contentType+copyTestDocument+count+countKnowledgeBaseNodes+countNodesByJobId+delete+documents+else+error+exchange+exists+expectBody+expectStatus+fail+fetchByJobId+file+filename+filter+first+fromMultipartData+get+getJobStatus+if+isAccepted+isCreated+isEmpty+isNoContent+isNotEmpty+isOk+java+length+listOf+map+mapNotNull+mapOf+metadata+mutate+name+ofMinutes+ofSeconds+path+pollInterval+post+queryParam+responseBody+responseTimeout+result+return response?.get(\"id\") as? String\n ?: error(\"Create knowledge base response missing id: $response\")+return response?.get(\"jobId\") as? String\n ?: error(\"Upload response missing jobId: $response\")+return terminalStatus ?: error(\"Job $jobId did not reach a terminal state in time\")+returnResult+searchSimilar+single+size+startJob+status+structuredContent+take+text+throw+try+until+uploadAsync+uploadAsyncMulti+uploadAsyncToKb+uri+value+waitForCompletedJob+waitForIndexedChunks+waitForTerminalStatus+waitUntil+when)+.finally?.asLong+?.toPath+?.closeGracefully+?.resolve+?.copy+?.REPLACE_EXISTING?.return target.toFile()?.toFile+?",
|
||||
"gbnf_error": "Expected RPAREN, got ('LITERAL', 'as')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "app/src/test/kotlin/eu/corentic/springrag/architecture",
|
||||
"ext": ".kt",
|
||||
"methods": 87,
|
||||
"sore": "eFromProject()+?.(filesIn+productionClasses+scopeFromProject)+?.ses()+?.(any+assertTrue+containingFile+contains+endsWith+exists+fileName+filter+filterNot+flatMap+forEach+functions+hasImport+if+listOf+name+path+productionFiles+readString+resideInPackage+resolve+startsWith+text+toString)+?.(.con+==+rtTrue(+t { i)+?",
|
||||
"gbnf_error": "Unexpected token: ('RPAREN', ')')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "app/src/test/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "buildSrc/src/main/kotlin",
|
||||
"ext": ".kt",
|
||||
"methods": 8,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "buildSrc/src/test/kotlin",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/agent-mcp-server/src/main/kotlin/eu/corentic/springrag/mcp",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/agent-mcp-server/src/test/kotlin/eu/corentic/springrag/mcp",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/main/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller",
|
||||
"ext": ".kt",
|
||||
"methods": 58,
|
||||
"sore": "getJobStatus+?.bindingResult?.return ResponseEntity.noContent().build()?.(mutableListOf+return ResponseEntity.ok(response))+?.return if (status != null) {\n ResponseEntity.ok(status)\n } else {\n ResponseEntity.notFound().build()\n }?.fieldErrors?.noContent+?.joinToString+?.field?.defaultMessage?.(BAD_REQUEST+CONFLICT+CREATED+DataBuffer+ErrorResponse+InvalidUploadRequestException+KnowledgeBaseNotFoundException+NOT_FOUND+PAYLOAD_TOO_LARGE+RuntimeException+TimeoutCancellationException+accepted+add+agentId+batchUploadRoot+body+buffer+catch+cleanupManagedUpload+content+conversationId+core+else+error+errorCode+filename+handle+headers+if+io+knowledgeBaseExists+knowledgeBaseId+map+mapOf+maxFileError+maxUploadBytes+message+name+next+of+ok+password+randomUUID+readableByteCount+registerBatch+release+return ResponseEntity.status(HttpStatus.BAD_REQUEST)\n .body(ErrorResponse(\"VALIDATION_ERROR\", \"Validation failed\", errors))+size+springframework+startBulkJob+startJob+status+throw+throw KnowledgeBaseNotFoundException(knowledgeBaseId)+throw e+toString+try+username+value+warn+withTimeout)+?.ChatResponse?.let+?.notFound+?.emptyList+?.write+?.build+?.then+?.awaitSingleOrNull+?",
|
||||
"gbnf_error": "Unexpected token: ('RPAREN', ')')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/librechat",
|
||||
"ext": ".kt",
|
||||
"methods": 29,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/web",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"sore": "bindToWebHandler+?.webTestClient?.from+?.WebHandler?.post+?.(OK+response+setStatusCode)+?.setComplete+?.webFilter+?.build+?.(AtomicReference+String)+?.WebFilterChain?.(assertEquals+assertNull+block+empty+filter+get+set)+?.uri+?.exchange+?.expectStatus+?.isOk?",
|
||||
"gbnf": "root ::= \"bindToWebHandler\"* \"webTestClient\"? \"from\"* \"WebHandler\"? \"post\"* (\"OK\" | \"response\" | \"setStatusCode\")* \"setComplete\"* \"webFilter\"* \"build\"* (\"AtomicReference\" | \"String\")* \"WebFilterChain\"? (\"assertEquals\" | \"assertNull\" | \"block\" | \"empty\" | \"filter\" | \"get\" | \"set\")* \"uri\"* \"exchange\"* \"expectStatus\"* \"isOk\"?",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller",
|
||||
"ext": ".kt",
|
||||
"methods": 83,
|
||||
"sore": "runTest?.(BAD_REQUEST+COMPLETED+ChatRequest+ChatResponse+GlobalExceptionHandler+JobStatus+MULTIPART_FORM_DATA+MultipartBodyBuilder+NOT_FOUND+SessionChatRequest+StorageProperties+String+any+assertEquals+bindToController+body+bodyValue+build+chatWithSources+chatWithSourcesAndMemory+coEvery+contentType+controllerAdvice+emptyList+every+exchange+expectBody+expectStatus+fromMultipartData+get+getJobStatus+header+isAccepted+isBadRequest+isEqualTo+isNotFound+isOk+jsonPath+knowledgeBaseExists+listOf+minusMinutes+mockk+now+part+post+runBlocking+startBulkJob+statusCode+toByteArray+toString+uri+value+verify)+?.error?",
|
||||
"gbnf": "root ::= \"runTest\"? (\"BAD_REQUEST\" | \"COMPLETED\" | \"ChatRequest\" | \"ChatResponse\" | \"GlobalExceptionHandler\" | \"JobStatus\" | \"MULTIPART_FORM_DATA\" | \"MultipartBodyBuilder\" | \"NOT_FOUND\" | \"SessionChatRequest\" | \"StorageProperties\" | \"String\" | \"any\" | \"assertEquals\" | \"bindToController\" | \"body\" | \"bodyValue\" | \"build\" | \"chatWithSources\" | \"chatWithSourcesAndMemory\" | \"coEvery\" | \"contentType\" | \"controllerAdvice\" | \"emptyList\" | \"every\" | \"exchange\" | \"expectBody\" | \"expectStatus\" | \"fromMultipartData\" | \"get\" | \"getJobStatus\" | \"header\" | \"isAccepted\" | \"isBadRequest\" | \"isEqualTo\" | \"isNotFound\" | \"isOk\" | \"jsonPath\" | \"knowledgeBaseExists\" | \"listOf\" | \"minusMinutes\" | \"mockk\" | \"now\" | \"part\" | \"post\" | \"runBlocking\" | \"startBulkJob\" | \"statusCode\" | \"toByteArray\" | \"toString\" | \"uri\" | \"value\" | \"verify\")* \"error\"?",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/auth",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/librechat",
|
||||
"ext": ".kt",
|
||||
"methods": 46,
|
||||
"sore": "runTest?.coEvery?.mockk?.mockFilePart?.FilePart?.(APPLICATION_JSON+APPLICATION_PDF+COMPLETED+DocumentImageInfo+EmbedOutcome+FAILED+GraphDocument+InvalidUploadRequestException+JobStatus+LibreChatRagIngestionService+LibreChatRetrievalRequest+LibreChatRetrievalResult+MULTIPART_FORM_DATA+MultipartBodyBuilder+ParsedDocument+RuntimeException+String+VectorChunk+any+asStorageUri+assertEquals+assertFailsWith+assertNotNull+batchUploadFile+batchUploadRoot+body+bodyValue+build+capture+captured+coVerify+contentType+emptyList+emptyMap+every+exchange+expectBody+expectStatus+fetchByJobId+fileId+fileIds+filename+findPageRendering+fromMultipartData+get+getJobStatus+getOrCreateAgentKnowledgeBase+header+ingestLocalFile+ingestMultipart+invoke+isEqualTo+isObjectStorageRoot+isOk+java+jsonPath+knowledgeBaseId+listOf+loadImage+mapOf+of+parse+part+post+slot+startJobWithId+toByteArray+uri+value+verify)+.(assertContains+message)+?.(assertTrue+doesNotExist+isNotFound)+?",
|
||||
"gbnf": "root ::= \"runTest\"? \"coEvery\"? \"mockk\"? \"mockFilePart\"? \"FilePart\"? (\"APPLICATION_JSON\" | \"APPLICATION_PDF\" | \"COMPLETED\" | \"DocumentImageInfo\" | \"EmbedOutcome\" | \"FAILED\" | \"GraphDocument\" | \"InvalidUploadRequestException\" | \"JobStatus\" | \"LibreChatRagIngestionService\" | \"LibreChatRetrievalRequest\" | \"LibreChatRetrievalResult\" | \"MULTIPART_FORM_DATA\" | \"MultipartBodyBuilder\" | \"ParsedDocument\" | \"RuntimeException\" | \"String\" | \"VectorChunk\" | \"any\" | \"asStorageUri\" | \"assertEquals\" | \"assertFailsWith\" | \"assertNotNull\" | \"batchUploadFile\" | \"batchUploadRoot\" | \"body\" | \"bodyValue\" | \"build\" | \"capture\" | \"captured\" | \"coVerify\" | \"contentType\" | \"emptyList\" | \"emptyMap\" | \"every\" | \"exchange\" | \"expectBody\" | \"expectStatus\" | \"fetchByJobId\" | \"fileId\" | \"fileIds\" | \"filename\" | \"findPageRendering\" | \"fromMultipartData\" | \"get\" | \"getJobStatus\" | \"getOrCreateAgentKnowledgeBase\" | \"header\" | \"ingestLocalFile\" | \"ingestMultipart\" | \"invoke\" | \"isEqualTo\" | \"isObjectStorageRoot\" | \"isOk\" | \"java\" | \"jsonPath\" | \"knowledgeBaseId\" | \"listOf\" | \"loadImage\" | \"mapOf\" | \"of\" | \"parse\" | \"part\" | \"post\" | \"slot\" | \"startJobWithId\" | \"toByteArray\" | \"uri\" | \"value\" | \"verify\")+ (\"assertContains\" | \"message\")* (\"assertTrue\" | \"doesNotExist\" | \"isNotFound\")*",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/web",
|
||||
"ext": ".kt",
|
||||
"methods": 10,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/health",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"sore": "assertThrows?.IllegalArgumentException?.java?.OllamaClientProperties?.EmbabelAiHttpClientProperties?.Timeout+?.(assertEquals+baseUrl+ofSeconds+readTimeout+writeTimeout)+.timeout?.connectTimeout?.read?",
|
||||
"gbnf": "root ::= \"assertThrows\"? \"IllegalArgumentException\"? \"java\"? \"OllamaClientProperties\"? \"EmbabelAiHttpClientProperties\"? \"Timeout\"* (\"assertEquals\" | \"baseUrl\" | \"ofSeconds\" | \"readTimeout\" | \"writeTimeout\")+ \"timeout\"? \"connectTimeout\"? \"read\"?",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/health",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"sore": "`when`.listModels+.thenThrow+?.thenReturn+?.RuntimeException?.ListModelResponse+?.listOf+?.(Model+now)+?.requireNotNull+.OllamaHealthIndicator.NoOpCircuitBreakerFactory.health+.block+.assertEquals.status.code",
|
||||
"gbnf": "root ::= \"`when`\" \"listModels\"+ \"thenThrow\"* \"thenReturn\"* \"RuntimeException\"? \"ListModelResponse\"* \"listOf\"* (\"Model\" | \"now\")* \"requireNotNull\"+ \"OllamaHealthIndicator\" \"NoOpCircuitBreakerFactory\" \"health\"+ \"block\"+ \"assertEquals\" \"status\" \"code\"",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/service/embedding",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/testsupport",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/chat-memory/src/test/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/doc-parser/src",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/service/docling",
|
||||
"ext": ".kt",
|
||||
"methods": 21,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/doc-parser/src/systemTest/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 12,
|
||||
"sore": "DoclingConfig?.doclingServeApi+?.PipelineOptions?.trimIndent+?.baseUrl?.assertNotNull+?.(assertNull+concurrency+layoutBatchSize+ocrBatchSize+tableBatchSize)+?.lines+?.(imageExportMode+includeImages+options+useS3Target)+?.toString+?.documentTimeout?.(indexOfFirst+startsWith+trimStart)+?.s3Target?.(assertThat+contains+doesNotContain+isGreaterThan)+?.bucket?.assertThatThrownBy?.validateCriticalSettings+?.isInstanceOf+?.IllegalStateException?.java?.hasMessageContaining+?",
|
||||
"gbnf": "root ::= \"DoclingConfig\"? \"doclingServeApi\"* \"PipelineOptions\"? \"trimIndent\"* \"baseUrl\"? \"assertNotNull\"* (\"assertNull\" | \"concurrency\" | \"layoutBatchSize\" | \"ocrBatchSize\" | \"tableBatchSize\")* \"lines\"* (\"imageExportMode\" | \"includeImages\" | \"options\" | \"useS3Target\")* \"toString\"* \"documentTimeout\"? (\"indexOfFirst\" | \"startsWith\" | \"trimStart\")* \"s3Target\"? (\"assertThat\" | \"contains\" | \"doesNotContain\" | \"isGreaterThan\")* \"bucket\"? \"assertThatThrownBy\"? \"validateCriticalSettings\"* \"isInstanceOf\"* \"IllegalStateException\"? \"java\"? \"hasMessageContaining\"*",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/health",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/service/docling",
|
||||
"ext": ".kt",
|
||||
"methods": 10,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/testsupport",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/health",
|
||||
"ext": ".kt",
|
||||
"methods": 7,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/model/graph",
|
||||
"ext": ".kt",
|
||||
"methods": 9,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/repository",
|
||||
"ext": ".kt",
|
||||
"methods": 24,
|
||||
"sore": "n(+?.ace(\"\\\\+?.ithCircuitBreaker { v?.peFilterValue(val?.mutableListOf+?.Document?.debug+?.((+Empty()+stinct()+turn)+?.VectorChunk?.pplier {?.ace(\"'\"+?.te(fil+?.String+?.orEmpty+?.size?.turn emptyList()?.inToString(s+?.NotEmpty()+?.toMap+?.tion()?.toMutableMap+?.(add+build+builder+distinct+emptyList+escapeFilterValue+filterExpression+if+isEmpty+isNullOrEmpty+joinToString+query+return emptyList()+return runWithCircuitBreaker { vectorStore.similaritySearch(request).map { it.toVectorChunk() } }+runWithCircuitBreaker+topK+value)+?.ptyList()+?.legalStateException(\"?.apply+?.similaritySearch+?.inToString(\"+?.rn {+?.putIfAbsent?.map+?.capeFilterValue(i?.ssage}\"?.(toSpringDocument+toVectorChunk)+?.ilder()+?.w cause?.ery(\"+?.w cau?.pK(5+?.pK(1+?.ze)?.lterExpression(\"+?.lterExpression(f+?.lterExpression(+?.(capeFilterValue(j+capeFilterValue(k)?.capeFilterValue(d?.inToString(+?.capeFilterValue(l?.lue)}?.leteByFilter(f?.ild()+?.lterEquals(M?.turn runWithCircuitBreaker { vectorStore.similaritySearch(request).map { it.toVectorChunk() } }?.lue))?.nWithCircuitBreaker {?.milaritySearch(r+?.lete(i+?.p {+?.VectorChunk()+?",
|
||||
"gbnf_error": "Unexpected token: ('PLUS', '+')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/agent",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/cleanup",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"sore": "info+.(deleteByJobId+deleteByKnowledgeBaseId+jobId+knowledgeBaseId+value)+",
|
||||
"gbnf": "root ::= \"info\"+ (\"deleteByJobId\" | \"deleteByKnowledgeBaseId\" | \"jobId\" | \"knowledgeBaseId\" | \"value\")+",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/graph",
|
||||
"ext": ".kt",
|
||||
"methods": 12,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/port/adapter",
|
||||
"ext": ".kt",
|
||||
"methods": 45,
|
||||
"sore": "(Regex+emptyList+if+isNullOrBlank+replace+return emptyList())+?.save+?.deleteByJobId+?.of+?.findById+?.toNode+?.value+?.map+?.orElse+?.text?.toDomain+?.let+?.storageUri?.(imageType+pageNo)+?",
|
||||
"gbnf_error": "Unexpected token: ('RPAREN', ')')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/storage",
|
||||
"ext": ".kt",
|
||||
"methods": 40,
|
||||
"sore": "replace+?.loadObject?.when?.buildImageKey?.(listObjects+return parseStorageUri(storageUri)\n ?: S3Location(bucket = properties.bucket, key = storageUri.trimStart('/')))?.ifBlank+?.return storeObject(key, bytes, contentTypeFor(format))?.lowercase+?.storeObject?.return StorageUri.of(\"images/${jobId.value}/$sanitizedId.$extension\")?.contentTypeFor?.(BlobListOption+GcsLocation+NoSuchBucketException+ObjectIdentifier+S3Exception+S3Location+amazon+awssdk+bucket+build+builder+catch+chunked+contentType+contents+create+credentialsProvider+delete+deleteObject+deleteObjects+else+fromBytes+get+getObject+headObject+if+isBlank+isEmpty+iterateAll+key+list+listObjectsV2+map+mapNotNull+model+name+objects+of+parseS3Location+parseStorageUri+prefix+putObject+readAllBytes+region+resolveLocation+return 0+return StorageUri.of(\"s3://${location.bucket}/${location.key}\")+return false+return null+return parseS3Location(storageUri, properties.bucket)\n ?: run {\n if (storageUri.startsWith(\"s3://\")) {\n logger.warn { \"Invalid storage URI: $storageUri\" }\n }\n null\n }+return response.contents().map { obj -> StorageUri.of(\"s3://${location.bucket}/${obj.key()}\") }+return try {\n s3Client.deleteObject(\n DeleteObjectRequest.builder()\n .bucket(location.bucket)\n .key(location.key)\n .build()\n )\n true\n } catch (ex: S3Exception) {\n if (ex.statusCode() == 404) false else throw ex\n }+return try {\n s3Client.getObject({ builder ->\n builder.bucket(location.bucket).key(location.key)\n }).readAllBytes()\n } catch (ex: NoSuchBucketException) {\n logger.warn { \"S3 bucket missing for object retrieval: ${location.bucket}\" }\n null\n } catch (ex: S3Exception) {\n logger.warn(ex) { \"Failed to load object from S3: ${storageUri.value}\" }\n null\n }+return try {\n s3Client.headObject(\n HeadObjectRequest.builder()\n .bucket(location.bucket)\n .key(location.key)\n .build()\n )\n true\n } catch (_: NoSuchBucketException) {\n false\n } catch (ex: S3Exception) {\n if (ex.statusCode() == 404) false else throw ex\n }+run+s3+services+startsWith+statusCode+sumOf+toList+trimEnd+trimStart+try+value+warn)+?.size?.throw ex?.throw?",
|
||||
"gbnf_error": "Expected RPAREN, got ('LITERAL', '')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/repository/graph",
|
||||
"ext": ".kt",
|
||||
"methods": 23,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/system",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/health",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"sore": "(HealthCheckReply+`when`+collectionExistsAsync+getDefaultInstance+healthCheckAsync+immediateFuture+thenReturn+verifyConnectivityAsync)+.failedFuture+?.immediateFailedFuture+?.completedFuture+?.IllegalStateException?.(InterruptedException+TimeoutException)?.(Neo4jDriverHealthIndicator+QdrantVectorStoreHealthIndicator+assertEquals+assertTrue+block+code+currentThread+health+interrupted+isInterrupted+requireNotNull+status)+",
|
||||
"gbnf": "root ::= (\"HealthCheckReply\" | \"`when`\" | \"collectionExistsAsync\" | \"getDefaultInstance\" | \"healthCheckAsync\" | \"immediateFuture\" | \"thenReturn\" | \"verifyConnectivityAsync\")+ \"failedFuture\"* \"immediateFailedFuture\"* \"completedFuture\"* \"IllegalStateException\"? (\"InterruptedException\" | \"TimeoutException\")? (\"Neo4jDriverHealthIndicator\" | \"QdrantVectorStoreHealthIndicator\" | \"assertEquals\" | \"assertTrue\" | \"block\" | \"code\" | \"currentThread\" | \"health\" | \"interrupted\" | \"isInterrupted\" | \"requireNotNull\" | \"status\")+",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/model/graph",
|
||||
"ext": ".kt",
|
||||
"methods": 7,
|
||||
"sore": "(ImageData+PageNode)+?.(PictureElement+SectionHeaderElement)?.copy+?.assertEquals+?.assertNotEquals?.(hashCode+label)+?",
|
||||
"gbnf": "root ::= (\"ImageData\" | \"PageNode\")* (\"PictureElement\" | \"SectionHeaderElement\")? \"copy\"* \"assertEquals\"* \"assertNotEquals\"? (\"hashCode\" | \"label\")*",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/repository",
|
||||
"ext": ".kt",
|
||||
"methods": 19,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/cleanup",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/graph",
|
||||
"ext": ".kt",
|
||||
"methods": 30,
|
||||
"sore": "assertThrows?.GraphDocument?.IllegalArgumentException?.java?.(DocumentGraphJob+DocumentJobNode+GraphImagePayload+GraphPage+GraphPictureElement+GraphTableElement+GraphTextElement+Instant+String+activateDocument+activateDocumentGraph+adjustCounters+adjustSizeInBytes+any+arg+asDocumentId+asFilename+asJobId+asKnowledgeBaseId+asLogicalDocumentId+asStorageUri+assertDoesNotThrow+byteArrayOf+capture+corentic+countActiveDocumentsByLogicalDocumentId+countActiveElementsByLogicalDocumentId+createBelongsToRelationship+deactivateByLogicalDocumentId+deactivateByLogicalDocumentIdExcept+deleteByJobId+deleteObject+deleteObjects+emptyGraphDocument+emptyList+eu+every+existsById+findByJobId+findByKnowledgeBaseId+findByLogicalDocumentId+findOrCreateInactive+forEach+graph+isActive+listOf+minusSeconds+model+now+parse+repeat+saveDocumentGraph+slot+springrag+stageDocumentGraph+storeDocumentGraph+storeImage+stubDocumentGraphJob+sumActiveFileSizeBytesByLogicalDocumentId+time+value+verify+verifyOrder)+?.GraphIngestionOrchestrator?.captured?.NoOpCircuitBreakerFactory?.(assertEquals+assertNotNull+assertNull+doclingId+first+height+imageData+imageType+page+pageNo+pages+pictureElements+rendering+size+storageUri+textElements+width)+?.text?",
|
||||
"gbnf": "root ::= \"assertThrows\"? \"GraphDocument\"? \"IllegalArgumentException\"? \"java\"? (\"DocumentGraphJob\" | \"DocumentJobNode\" | \"GraphImagePayload\" | \"GraphPage\" | \"GraphPictureElement\" | \"GraphTableElement\" | \"GraphTextElement\" | \"Instant\" | \"String\" | \"activateDocument\" | \"activateDocumentGraph\" | \"adjustCounters\" | \"adjustSizeInBytes\" | \"any\" | \"arg\" | \"asDocumentId\" | \"asFilename\" | \"asJobId\" | \"asKnowledgeBaseId\" | \"asLogicalDocumentId\" | \"asStorageUri\" | \"assertDoesNotThrow\" | \"byteArrayOf\" | \"capture\" | \"corentic\" | \"countActiveDocumentsByLogicalDocumentId\" | \"countActiveElementsByLogicalDocumentId\" | \"createBelongsToRelationship\" | \"deactivateByLogicalDocumentId\" | \"deactivateByLogicalDocumentIdExcept\" | \"deleteByJobId\" | \"deleteObject\" | \"deleteObjects\" | \"emptyGraphDocument\" | \"emptyList\" | \"eu\" | \"every\" | \"existsById\" | \"findByJobId\" | \"findByKnowledgeBaseId\" | \"findByLogicalDocumentId\" | \"findOrCreateInactive\" | \"forEach\" | \"graph\" | \"isActive\" | \"listOf\" | \"minusSeconds\" | \"model\" | \"now\" | \"parse\" | \"repeat\" | \"saveDocumentGraph\" | \"slot\" | \"springrag\" | \"stageDocumentGraph\" | \"storeDocumentGraph\" | \"storeImage\" | \"stubDocumentGraphJob\" | \"sumActiveFileSizeBytesByLogicalDocumentId\" | \"time\" | \"value\" | \"verify\" | \"verifyOrder\")* \"GraphIngestionOrchestrator\"? \"captured\"? \"NoOpCircuitBreakerFactory\"? (\"assertEquals\" | \"assertNotNull\" | \"assertNull\" | \"doclingId\" | \"first\" | \"height\" | \"imageData\" | \"imageType\" | \"page\" | \"pageNo\" | \"pages\" | \"pictureElements\" | \"rendering\" | \"size\" | \"storageUri\" | \"textElements\" | \"width\")* \"text\"?",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/port/adapter",
|
||||
"ext": ".kt",
|
||||
"methods": 28,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/storage",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"sore": "assertNull?.parseS3Location.error+?.(assertEquals+bucket)+?.key?",
|
||||
"gbnf": "root ::= \"assertNull\"? \"parseS3Location\" \"error\"* (\"assertEquals\" | \"bucket\")* \"key\"?",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/testsupport",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/chat/src/integrationTest/kotlin/eu/corentic/springrag/service/chat",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/chat/src/main/kotlin/eu/corentic/springrag/service/chat",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"sore": "let+?.info+?.KnowledgeBaseId?.defaultAgentId+?.(RagInvocation+RagRequest+invoke+return ragAgentInvocationGateway.invoke(\n RagInvocation(\n request = request,\n executionContext = AgentExecutionContext.http()\n )\n )+return ragAgentInvocationGateway.invoke(\n RagInvocation(\n request = request,\n executionContext = AgentExecutionContext.http(contextId = conversationId)\n )\n ))+?.listCapabilities+?.http+?.map+?.filter+?.id?.AgentCapabilityDescriptor?",
|
||||
"gbnf_error": "Unexpected token: ('RPAREN', ')')",
|
||||
"gbnf_ok": false
|
||||
},
|
||||
{
|
||||
"package": "modules/chat/src/systemTest/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 15,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/chat/src/systemTest/kotlin/eu/corentic/springrag/system",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/chat/src/test/kotlin/eu/corentic/springrag/service/chat",
|
||||
"ext": ".kt",
|
||||
"methods": 8,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/common/src/main/kotlin/eu/corentic/springrag/common",
|
||||
"ext": ".kt",
|
||||
"methods": 7,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/common/src/main/kotlin/eu/corentic/springrag/common/ids",
|
||||
"ext": ".kt",
|
||||
"methods": 18,
|
||||
"sore": "of+?.(removeSuffix+trim)+?.requireNonBlankNoWhitespace?.(DocumentId+JobId+KnowledgeBaseId+LogicalDocumentId)?.trimStart+?.requireSafeId?.return StorageUri(\"$base/$relative\")?.StorageUri?.requireNonBlank?.(contains+isNotEmpty+require)+?.return Filename(normalized)?.any+?.matches+?.return BatchId(normalized)?.Filename?.isWhitespace+?.BatchId?.return normalized?",
|
||||
"gbnf": "root ::= \"of\"* (\"removeSuffix\" | \"trim\")* \"requireNonBlankNoWhitespace\"? (\"DocumentId\" | \"JobId\" | \"KnowledgeBaseId\" | \"LogicalDocumentId\")? \"trimStart\"* \"requireSafeId\"? \"return StorageUri\" \"\\\"$base/$relative\\\"\"? \"StorageUri\"? \"requireNonBlank\"? (\"contains\" | \"isNotEmpty\" | \"require\")* \"return Filename\" \"normalized\"? \"any\"* \"matches\"* \"return BatchId\" \"normalized\"? \"Filename\"? \"isWhitespace\"* \"BatchId\"? \"return normalized\"?",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "modules/common/src/test/kotlin/eu/corentic/springrag/common/ids",
|
||||
"ext": ".kt",
|
||||
"methods": 8,
|
||||
"sore": "(IllegalArgumentException+asBatchId+asDocumentId+asFilename+asJobId+asKnowledgeBaseId+asLogicalDocumentId+asStorageUri+assertEquals+assertFailsWith+of+value)+",
|
||||
"gbnf": "root ::= (\"IllegalArgumentException\" | \"asBatchId\" | \"asDocumentId\" | \"asFilename\" | \"asJobId\" | \"asKnowledgeBaseId\" | \"asLogicalDocumentId\" | \"asStorageUri\" | \"assertEquals\" | \"assertFailsWith\" | \"of\" | \"value\")+",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/integrationTest/kotlin/eu/corentic/springrag/service/job",
|
||||
"ext": ".kt",
|
||||
"methods": 34,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch",
|
||||
"ext": ".kt",
|
||||
"methods": 16,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/listener",
|
||||
"ext": ".kt",
|
||||
"methods": 16,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/model",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/partition",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/reader",
|
||||
"ext": ".kt",
|
||||
"methods": 4,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/writer",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/config",
|
||||
"ext": ".kt",
|
||||
"methods": 26,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/chunk",
|
||||
"ext": ".kt",
|
||||
"methods": 18,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/document",
|
||||
"ext": ".kt",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/job",
|
||||
"ext": ".kt",
|
||||
"methods": 62,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch",
|
||||
"ext": ".kt",
|
||||
"methods": 17,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/listener",
|
||||
"ext": ".kt",
|
||||
"methods": 34,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/model",
|
||||
"ext": ".kt",
|
||||
"methods": 8,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/partition",
|
||||
"ext": ".kt",
|
||||
"methods": 7,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/processor",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/reader",
|
||||
"ext": ".kt",
|
||||
"methods": 12,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/writer",
|
||||
"ext": ".kt",
|
||||
"methods": 14,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/chunk",
|
||||
"ext": ".kt",
|
||||
"methods": 8,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/job",
|
||||
"ext": ".kt",
|
||||
"methods": 49,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/knowledgebase/ports/src/main/kotlin/eu/corentic/springrag/model",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/knowledgebase/src/main/kotlin/eu/corentic/springrag/service/knowledgebase",
|
||||
"ext": ".kt",
|
||||
"methods": 11,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/knowledgebase/src/test/kotlin/eu/corentic/springrag/service/knowledgebase",
|
||||
"ext": ".kt",
|
||||
"methods": 16,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/security/src/main/kotlin/eu/corentic/springrag/security/config",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/security/src/main/kotlin/eu/corentic/springrag/security/service",
|
||||
"ext": ".kt",
|
||||
"methods": 10,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/security/src/test/kotlin/eu/corentic/springrag/security/config",
|
||||
"ext": ".kt",
|
||||
"methods": 6,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "modules/security/src/test/kotlin/eu/corentic/springrag/security/service",
|
||||
"ext": ".kt",
|
||||
"methods": 15,
|
||||
"sore": "(encode+every+existsByUsername)+?.JwtService?.init+?.JwtProperties?.UserService?.hmacShaKeyFor+?.generateToken+?.toByteArray+?.assertFalse?.UTF_8?.builder+?.subject+?.issuedAt+?.(Date+expiration)+?.currentTimeMillis+?.signWith+?.compact+?.(Err+Outcome+PasswordPolicyViolationException+ROLE_USER+String+UserAlreadyExistsException+any+assertEquals+assertThrows+assertTrue+authorities+authority+emptyList+error+extractAuthorities+extractUsername+firstArg+getOrThrow+java+listOf+map+match+parseToken+password+registerUser+role+save+username+validateToken+verify)+?.errorCode?.JwtValidationError?.(Expired+InvalidSignature+Malformed)?",
|
||||
"gbnf": "root ::= (\"encode\" | \"every\" | \"existsByUsername\")* \"JwtService\"? \"init\"* \"JwtProperties\"? \"UserService\"? \"hmacShaKeyFor\"* \"generateToken\"* \"toByteArray\"* \"assertFalse\"? \"UTF_8\"? \"builder\"* \"subject\"* \"issuedAt\"* (\"Date\" | \"expiration\")* \"currentTimeMillis\"* \"signWith\"* \"compact\"* (\"Err\" | \"Outcome\" | \"PasswordPolicyViolationException\" | \"ROLE_USER\" | \"String\" | \"UserAlreadyExistsException\" | \"any\" | \"assertEquals\" | \"assertThrows\" | \"assertTrue\" | \"authorities\" | \"authority\" | \"emptyList\" | \"error\" | \"extractAuthorities\" | \"extractUsername\" | \"firstArg\" | \"getOrThrow\" | \"java\" | \"listOf\" | \"map\" | \"match\" | \"parseToken\" | \"password\" | \"registerUser\" | \"role\" | \"save\" | \"username\" | \"validateToken\" | \"verify\")* \"errorCode\"? \"JwtValidationError\"? (\"Expired\" | \"InvalidSignature\" | \"Malformed\")?",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "platform/test-support/src/main/kotlin/eu/corentic/springrag/testcontainers",
|
||||
"ext": ".kt",
|
||||
"methods": 13,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "platform/test-support/src/test/kotlin/eu/corentic/springrag/testcontainers",
|
||||
"ext": ".kt",
|
||||
"methods": 5,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "(other)",
|
||||
"ext": ".kt",
|
||||
"methods": 6
|
||||
},
|
||||
{
|
||||
"package": "compose/patches",
|
||||
"ext": ".js",
|
||||
"methods": 17,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "testing/steps",
|
||||
"ext": ".js",
|
||||
"methods": 68,
|
||||
"sore": "(Promise+TEST_FILE+all+await+btn+chip+click+document+evaluate+expect+fc+fill+filter+first+form+generateSuffix+getByRole+goto+idPara+if+includes+isClosed+last+locator+modelBtn+querySelector+setFiles+suffix+textContent+waitFor+waitForEvent+waitForTimeout+waitForURL)+.url?.(toBeTruthy+toBeVisible)?.toContain?",
|
||||
"gbnf": "root ::= (\"Promise\" | \"TEST_FILE\" | \"all\" | \"await\" | \"btn\" | \"chip\" | \"click\" | \"document\" | \"evaluate\" | \"expect\" | \"fc\" | \"fill\" | \"filter\" | \"first\" | \"form\" | \"generateSuffix\" | \"getByRole\" | \"goto\" | \"idPara\" | \"if\" | \"includes\" | \"isClosed\" | \"last\" | \"locator\" | \"modelBtn\" | \"querySelector\" | \"setFiles\" | \"suffix\" | \"textContent\" | \"waitFor\" | \"waitForEvent\" | \"waitForTimeout\" | \"waitForURL\")+ \"url\"? (\"toBeTruthy\" | \"toBeVisible\")? \"toContain\"?",
|
||||
"gbnf_ok": true
|
||||
},
|
||||
{
|
||||
"package": "testing/support",
|
||||
"ext": ".js",
|
||||
"methods": 3,
|
||||
"skip": "too_diverse"
|
||||
},
|
||||
{
|
||||
"package": "(other)",
|
||||
"ext": ".js",
|
||||
"methods": 1
|
||||
},
|
||||
{
|
||||
"package": "tools/setup-ui",
|
||||
"ext": ".go",
|
||||
"methods": 44,
|
||||
"sore": "g)?.wStyle()+?.([]s+?.(ng{}+rr)+?.lor(\"+?.ng, 0,+?.i :?.m.s+?..s?.s[i].?.(\"BA+\"NE+\"SP+(cfg+Cmd+Index = i+Quit+StepModel()+String+Update+View+_,+al+case+cfg+edKeys(cfg+en+errMessage+fg+if+iles, \",+input+key+kind+lServices, \",+lServicesMode ==+ldRun(&m.+list+menu+mode+model+nd(cfg+optionItem+oyChoice !=+oyChoice ==+return+rn\n\t\t}+rn \"\"+rn tru+shouldStart+shouldWriteEnv+stepIndex+steps+switch+syncStepModel+te+tea+title+{)+?.ocalService(\"ol+?.map?.rn str?.turn s?.string+?.(lin+?.in([+?.ader(\"+?",
|
||||
"gbnf": "root ::= \"g\"",
|
||||
"gbnf_ok": true
|
||||
}
|
||||
]
|
||||
Loading…
Add table
Reference in a new issue