pi-usereq 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.g.conf +20 -0
- package/.github/workflows/release-npm.yml +131 -0
- package/.gitignore +270 -0
- package/CHANGELOG.md +221 -0
- package/LICENSE +674 -0
- package/README.md +260 -0
- package/TODO.md +20 -0
- package/docs/pi.dev/agent-document-manifest.json +6399 -0
- package/docs/pi.dev/coding-agent-docs/compaction.md +394 -0
- package/docs/pi.dev/coding-agent-docs/custom-provider.md +596 -0
- package/docs/pi.dev/coding-agent-docs/development.md +71 -0
- package/docs/pi.dev/coding-agent-docs/extensions.md +2262 -0
- package/docs/pi.dev/coding-agent-docs/images/doom-extension.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/exy.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/interactive-mode.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/tree-view.png +0 -0
- package/docs/pi.dev/coding-agent-docs/json.md +82 -0
- package/docs/pi.dev/coding-agent-docs/keybindings.md +175 -0
- package/docs/pi.dev/coding-agent-docs/models.md +392 -0
- package/docs/pi.dev/coding-agent-docs/packages.md +218 -0
- package/docs/pi.dev/coding-agent-docs/prompt-templates.md +67 -0
- package/docs/pi.dev/coding-agent-docs/providers.md +195 -0
- package/docs/pi.dev/coding-agent-docs/rpc.md +1377 -0
- package/docs/pi.dev/coding-agent-docs/sdk.md +1124 -0
- package/docs/pi.dev/coding-agent-docs/session.md +412 -0
- package/docs/pi.dev/coding-agent-docs/settings.md +247 -0
- package/docs/pi.dev/coding-agent-docs/shell-aliases.md +13 -0
- package/docs/pi.dev/coding-agent-docs/skills.md +232 -0
- package/docs/pi.dev/coding-agent-docs/terminal-setup.md +106 -0
- package/docs/pi.dev/coding-agent-docs/termux.md +127 -0
- package/docs/pi.dev/coding-agent-docs/themes.md +295 -0
- package/docs/pi.dev/coding-agent-docs/tmux.md +61 -0
- package/docs/pi.dev/coding-agent-docs/tree.md +231 -0
- package/docs/pi.dev/coding-agent-docs/tui.md +887 -0
- package/docs/pi.dev/coding-agent-docs/windows.md +17 -0
- package/docs/pi.dev/mom-docs/artifacts-server.md +475 -0
- package/docs/pi.dev/mom-docs/events.md +307 -0
- package/docs/pi.dev/mom-docs/new.md +970 -0
- package/docs/pi.dev/mom-docs/sandbox.md +153 -0
- package/docs/pi.dev/mom-docs/slack-bot-minimal-guide.md +399 -0
- package/docs/pi.dev/mom-docs/v86.md +319 -0
- package/docs/pi.dev/pods-docs/gml-4.5.md +189 -0
- package/docs/pi.dev/pods-docs/gpt-oss.md +233 -0
- package/docs/pi.dev/pods-docs/implementation-plan.md +183 -0
- package/docs/pi.dev/pods-docs/kimi-k2.md +197 -0
- package/docs/pi.dev/pods-docs/models.md +116 -0
- package/docs/pi.dev/pods-docs/plan.md +166 -0
- package/docs/pi.dev/pods-docs/qwen3-coder.md +132 -0
- package/images/flowchart-bw.png +0 -0
- package/images/flowchart-bw.svg +102 -0
- package/images/flowchart.md +100 -0
- package/images/flowchart.png +0 -0
- package/images/flowchart.svg +3 -0
- package/package.json +46 -0
- package/req/docs/REFERENCES.md +4554 -0
- package/req/docs/REQUIREMENTS.md +475 -0
- package/req/docs/WORKFLOW.md +1059 -0
- package/scripts/debug-extension.ts +497 -0
- package/scripts/lib/extension-debug-harness.ts +450 -0
- package/scripts/lib/recording-extension-api.ts +786 -0
- package/scripts/lib/sdk-smoke.ts +503 -0
- package/scripts/pi-usereq-debug.sh +330 -0
- package/scripts/tool-args-to-params.ts +208 -0
- package/src/cli.ts +349 -0
- package/src/core/agent-tool-json.ts +621 -0
- package/src/core/compress-files.ts +72 -0
- package/src/core/compress-payload.ts +648 -0
- package/src/core/compress.ts +464 -0
- package/src/core/config.ts +272 -0
- package/src/core/doxygen-parser.ts +318 -0
- package/src/core/errors.ts +31 -0
- package/src/core/extension-status.ts +660 -0
- package/src/core/find-constructs.ts +319 -0
- package/src/core/find-payload.ts +915 -0
- package/src/core/generate-markdown.ts +120 -0
- package/src/core/path-context.ts +196 -0
- package/src/core/pi-notify.ts +430 -0
- package/src/core/pi-usereq-tools.ts +140 -0
- package/src/core/prompts.ts +184 -0
- package/src/core/reference-payload.ts +818 -0
- package/src/core/resources.ts +63 -0
- package/src/core/runtime-project-paths.ts +99 -0
- package/src/core/settings-menu.ts +233 -0
- package/src/core/source-analyzer.ts +1721 -0
- package/src/core/static-check.ts +674 -0
- package/src/core/token-counter.ts +729 -0
- package/src/core/tool-runner.ts +717 -0
- package/src/core/utils.ts +185 -0
- package/src/index.ts +2209 -0
- package/src/resources/guidelines/Google_C++_Style_Guide.md +3711 -0
- package/src/resources/guidelines/Google_Python_Style_Guide.md +3709 -0
- package/src/resources/prompts/analyze.md +130 -0
- package/src/resources/prompts/change.md +227 -0
- package/src/resources/prompts/check.md +139 -0
- package/src/resources/prompts/cover.md +219 -0
- package/src/resources/prompts/create.md +104 -0
- package/src/resources/prompts/fix.md +221 -0
- package/src/resources/prompts/flowchart.md +220 -0
- package/src/resources/prompts/implement.md +163 -0
- package/src/resources/prompts/new.md +226 -0
- package/src/resources/prompts/readme.md +182 -0
- package/src/resources/prompts/recreate.md +213 -0
- package/src/resources/prompts/refactor.md +213 -0
- package/src/resources/prompts/references.md +100 -0
- package/src/resources/prompts/renumber.md +119 -0
- package/src/resources/prompts/workflow.md +202 -0
- package/src/resources/prompts/write.md +99 -0
- package/src/resources/sounds/Machine-alert-beep-sound-effect.mp3 +0 -0
- package/src/resources/sounds/Soft-high-tech-notification-sound-effect.mp3 +0 -0
- package/src/resources/templates/Document_Source_Code_in_Doxygen_Style.md +130 -0
- package/src/resources/templates/HDT_Test_Authoring_Guide.md +318 -0
- package/src/resources/templates/Requirements_Template.md +78 -0
- package/tests/attended-results-scenarios.ts +758 -0
- package/tests/attended-results.test.ts +39 -0
- package/tests/cli-command-option-parity.test.ts +815 -0
- package/tests/debug-extension-harness.test.ts +463 -0
- package/tests/extension-registration.test.ts +2006 -0
- package/tests/fixtures/fixture_c.c +361 -0
- package/tests/fixtures/fixture_cpp.cpp +407 -0
- package/tests/fixtures/fixture_csharp.cs +411 -0
- package/tests/fixtures/fixture_elixir.ex +409 -0
- package/tests/fixtures/fixture_go.go +341 -0
- package/tests/fixtures/fixture_haskell.hs +250 -0
- package/tests/fixtures/fixture_java.java +430 -0
- package/tests/fixtures/fixture_javascript.js +383 -0
- package/tests/fixtures/fixture_kotlin.kt +451 -0
- package/tests/fixtures/fixture_lua.lua +276 -0
- package/tests/fixtures/fixture_perl.pl +310 -0
- package/tests/fixtures/fixture_php.php +433 -0
- package/tests/fixtures/fixture_python.py +502 -0
- package/tests/fixtures/fixture_ruby.rb +345 -0
- package/tests/fixtures/fixture_rust.rs +380 -0
- package/tests/fixtures/fixture_scala.scala +398 -0
- package/tests/fixtures/fixture_shell.sh +276 -0
- package/tests/fixtures/fixture_swift.swift +397 -0
- package/tests/fixtures/fixture_typescript.ts +434 -0
- package/tests/fixtures/fixture_zig.zig +295 -0
- package/tests/fixtures_attended_results/project/compress-line-numbers.json +5 -0
- package/tests/fixtures_attended_results/project/compress.json +5 -0
- package/tests/fixtures_attended_results/project/enable-static-check-invalid-command.json +5 -0
- package/tests/fixtures_attended_results/project/enable-static-check-valid.json +5 -0
- package/tests/fixtures_attended_results/project/files-static-check.json +5 -0
- package/tests/fixtures_attended_results/project/find-line-numbers.json +5 -0
- package/tests/fixtures_attended_results/project/find.json +5 -0
- package/tests/fixtures_attended_results/project/get-base-path.json +5 -0
- package/tests/fixtures_attended_results/project/git-check-clean.json +5 -0
- package/tests/fixtures_attended_results/project/git-check-dirty.json +5 -0
- package/tests/fixtures_attended_results/project/git-path.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-create-invalid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-create-valid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-delete-nonexistent.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-delete-valid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-name.json +5 -0
- package/tests/fixtures_attended_results/project/references.json +5 -0
- package/tests/fixtures_attended_results/project/static-check.json +5 -0
- package/tests/fixtures_attended_results/project/tokens.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_zig.zig.json +5 -0
- package/tests/helpers.ts +204 -0
- package/tests/oracle-project.test.ts +63 -0
- package/tests/oracle-standalone.test.ts +48 -0
- package/tests/prompt-rendering.test.ts +66 -0
- package/tests/release-workflow.test.ts +133 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"code": 0,
|
|
3
|
+
"stdout": "{\n \"request\": {\n \"tool_name\": \"files-references\",\n \"scope\": \"explicit-files\",\n \"base_dir_path\": \"<ROOT>\",\n \"source_directory_count\": 0,\n \"source_directory_paths\": [],\n \"requested_file_count\": 1,\n \"requested_input_paths\": [\n \"tests/fixtures/fixture_swift.swift\"\n ],\n \"requested_canonical_paths\": [\n \"tests/fixtures/fixture_swift.swift\"\n ]\n },\n \"summary\": {\n \"processable_file_count\": 1,\n \"analyzed_file_count\": 1,\n \"error_file_count\": 0,\n \"skipped_file_count\": 0,\n \"total_symbol_count\": 66,\n \"total_import_count\": 7,\n \"total_comment_count\": 156,\n \"total_standalone_comment_count\": 59,\n \"total_doxygen_field_count\": 92,\n \"symbol_kind_counts\": {\n \"CLASS\": 5,\n \"CONSTANT\": 7,\n \"ENUM\": 5,\n \"EXTENSION\": 5,\n \"FUNCTION\": 18,\n \"PROTOCOL\": 5,\n \"STRUCT\": 5,\n \"VARIABLE\": 16\n }\n },\n \"repository\": {\n \"root_directory_path\": \"<ROOT>\",\n \"source_directory_paths\": [],\n \"file_count\": 1,\n \"file_canonical_paths\": [\n \"tests/fixtures/fixture_swift.swift\"\n ],\n \"directory_tree\": {\n \"node_name\": \".\",\n \"relative_path\": \".\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"tests\",\n \"relative_path\": \"tests\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"fixtures\",\n \"relative_path\": \"tests/fixtures\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"fixture_swift.swift\",\n \"relative_path\": \"tests/fixtures/fixture_swift.swift\",\n \"node_kind\": \"file\",\n \"child_count\": 0,\n \"children\": []\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"files\": [\n {\n \"start_line_number\": 1,\n \"end_line_number\": 397,\n \"line_range\": [\n 1,\n 397\n ],\n \"request_index\": 0,\n \"input_path\": \"tests/fixtures/fixture_swift.swift\",\n \"canonical_path\": \"tests/fixtures/fixture_swift.swift\",\n \"absolute_path\": \"<ROOT>/tests/fixtures/fixture_swift.swift\",\n \"file_name\": \"fixture_swift.swift\",\n \"file_extension\": \".swift\",\n \"language_id\": \"swift\",\n \"language_name\": \"Swift\",\n \"status\": \"analyzed\",\n \"exists\": true,\n \"is_file\": true,\n \"import_count\": 7,\n \"symbol_count\": 66,\n \"comment_count\": 156,\n \"standalone_comment_count\": 59,\n \"doxygen_field_count\": 92,\n \"file_description_text\": \"@file fixture_swift.swift\",\n \"imports\": [\n {\n \"start_line_number\": 8,\n \"end_line_number\": 8,\n \"line_range\": [\n 8,\n 8\n ],\n \"import_name\": \"Foundation\",\n \"statement_text\": \"import Foundation\"\n },\n {\n \"start_line_number\": 9,\n \"end_line_number\": 9,\n \"line_range\": [\n 9,\n 9\n ],\n \"import_name\": \"Combine\",\n \"statement_text\": \"import Combine\"\n },\n {\n \"start_line_number\": 342,\n \"end_line_number\": 342,\n \"line_range\": [\n 342,\n 342\n ],\n \"import_name\": \"SwiftUI\",\n \"statement_text\": \"import SwiftUI\"\n },\n {\n \"start_line_number\": 343,\n \"end_line_number\": 343,\n \"line_range\": [\n 343,\n 343\n ],\n \"import_name\": \"Combine\",\n \"statement_text\": \"import Combine\"\n },\n {\n \"start_line_number\": 344,\n \"end_line_number\": 344,\n \"line_range\": [\n 344,\n 344\n ],\n \"import_name\": \"Foundation\",\n \"statement_text\": \"import Foundation\"\n },\n {\n \"start_line_number\": 345,\n \"end_line_number\": 345,\n \"line_range\": [\n 345,\n 345\n ],\n \"import_name\": \"Dispatch\",\n \"statement_text\": \"import Dispatch\"\n },\n {\n \"start_line_number\": 346,\n \"end_line_number\": 346,\n \"line_range\": [\n 346,\n 346\n ],\n \"import_name\": \"UIKit\",\n \"statement_text\": \"import UIKit\"\n }\n ],\n \"symbols\": [\n {\n \"start_line_number\": 16,\n \"end_line_number\": 58,\n \"line_range\": [\n 16,\n 58\n ],\n \"declaration_order_index\": 0,\n \"symbol_name\": \"Animal\",\n \"qualified_name\": \"Animal\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"class Animal\",\n \"child_symbol_names\": [\n \"species\",\n \"legs\",\n \"description\",\n \"speak\",\n \"draw\",\n \"describe\"\n ],\n \"child_qualified_names\": [\n \"Animal.species\",\n \"Animal.legs\",\n \"Animal.description\",\n \"Animal.speak\",\n \"Animal.draw\",\n \"Animal.describe\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Base class with stored, computed, and observed properties.\",\n \"doxygen\": {\n \"brief\": [\n \"Base class with stored, computed, and observed properties.\",\n \"Species name identifier.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 17,\n \"end_line_number\": 17,\n \"line_range\": [\n 17,\n 17\n ],\n \"text\": \"@brief Species name identifier.\",\n \"text_lines\": [\n \"@brief Species name identifier.\"\n ]\n },\n {\n \"start_line_number\": 20,\n \"end_line_number\": 20,\n \"line_range\": [\n 20,\n 20\n ],\n \"text\": \"@brief Number of legs; triggers a didSet observer on change.\",\n \"text_lines\": [\n \"@brief Number of legs; triggers a didSet observer on change.\"\n ]\n },\n {\n \"start_line_number\": 23,\n \"end_line_number\": 23,\n \"line_range\": [\n 23,\n 23\n ],\n \"text\": \"Log upcoming change from current to new value\",\n \"text_lines\": [\n \"Log upcoming change from current to new value\"\n ]\n },\n {\n \"start_line_number\": 27,\n \"end_line_number\": 27,\n \"line_range\": [\n 27,\n 27\n ],\n \"text\": \"Enforce minimum of zero legs\",\n \"text_lines\": [\n \"Enforce minimum of zero legs\"\n ]\n },\n {\n \"start_line_number\": 32,\n \"end_line_number\": 32,\n \"line_range\": [\n 32,\n 32\n ],\n \"text\": \"@brief Computed property returning a descriptive string.\",\n \"text_lines\": [\n \"@brief Computed property returning a descriptive string.\"\n ]\n },\n {\n \"start_line_number\": 37,\n \"end_line_number\": 37,\n \"line_range\": [\n 37,\n 37\n ],\n \"text\": \"@brief Initialize an Animal with species name.\",\n \"text_lines\": [\n \"@brief Initialize an Animal with species name.\"\n ]\n },\n {\n \"start_line_number\": 38,\n \"end_line_number\": 38,\n \"line_range\": [\n 38,\n 38\n ],\n \"text\": \"@param species The species identifier string.\",\n \"text_lines\": [\n \"@param species The species identifier string.\"\n ]\n },\n {\n \"start_line_number\": 43,\n \"end_line_number\": 43,\n \"line_range\": [\n 43,\n 43\n ],\n \"text\": \"@brief Produce a sound; subclasses should override.\",\n \"text_lines\": [\n \"@brief Produce a sound; subclasses should override.\"\n ]\n },\n {\n \"start_line_number\": 48,\n \"end_line_number\": 48,\n \"line_range\": [\n 48,\n 48\n ],\n \"text\": \"@brief Class method creating a generic instance.\",\n \"text_lines\": [\n \"@brief Class method creating a generic instance.\"\n ]\n },\n {\n \"start_line_number\": 49,\n \"end_line_number\": 49,\n \"line_range\": [\n 49,\n 49\n ],\n \"text\": \"@return An Animal with species \\\"Unknown\\\".\",\n \"text_lines\": [\n \"@return An Animal with species \\\"Unknown\\\".\"\n ]\n },\n {\n \"start_line_number\": 54,\n \"end_line_number\": 54,\n \"line_range\": [\n 54,\n 54\n ],\n \"text\": \"@brief Deinitializer for cleanup on deallocation.\",\n \"text_lines\": [\n \"@brief Deinitializer for cleanup on deallocation.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 34,\n \"text\": \"return \\\"\\\\(species) with \\\\(legs) legs\\\"\"\n },\n {\n \"line_number\": 51,\n \"text\": \"return Animal(species: \\\"Unknown\\\")\"\n }\n ]\n },\n {\n \"start_line_number\": 18,\n \"end_line_number\": 18,\n \"line_range\": [\n 18,\n 18\n ],\n \"declaration_order_index\": 1,\n \"symbol_name\": \"species\",\n \"qualified_name\": \"Animal.species\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var species: String\",\n \"parent_symbol_name\": \"Animal\",\n \"parent_qualified_name\": \"Animal\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Species name identifier.\",\n \"doxygen\": {\n \"brief\": [\n \"Species name identifier.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 21,\n \"end_line_number\": 21,\n \"line_range\": [\n 21,\n 21\n ],\n \"declaration_order_index\": 2,\n \"symbol_name\": \"legs\",\n \"qualified_name\": \"Animal.legs\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var legs: Int = 4\",\n \"parent_symbol_name\": \"Animal\",\n \"parent_qualified_name\": \"Animal\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Number of legs; triggers a didSet observer on change.\",\n \"doxygen\": {\n \"brief\": [\n \"Number of legs; triggers a didSet observer on change.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 33,\n \"end_line_number\": 33,\n \"line_range\": [\n 33,\n 33\n ],\n \"declaration_order_index\": 3,\n \"symbol_name\": \"description\",\n \"qualified_name\": \"Animal.description\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var description: String\",\n \"parent_symbol_name\": \"Animal\",\n \"parent_qualified_name\": \"Animal\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Computed property returning a descriptive string.\",\n \"doxygen\": {\n \"brief\": [\n \"Computed property returning a descriptive string.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 44,\n \"end_line_number\": 46,\n \"line_range\": [\n 44,\n 46\n ],\n \"declaration_order_index\": 4,\n \"symbol_name\": \"speak\",\n \"qualified_name\": \"Animal.speak\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func speak()\",\n \"parent_symbol_name\": \"Animal\",\n \"parent_qualified_name\": \"Animal\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Produce a sound; subclasses should override.\",\n \"doxygen\": {\n \"brief\": [\n \"Produce a sound; subclasses should override.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 50,\n \"end_line_number\": 52,\n \"line_range\": [\n 50,\n 52\n ],\n \"declaration_order_index\": 5,\n \"symbol_name\": \"func\",\n \"qualified_name\": \"func\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"class func createDefault() -> Animal\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Class method creating a generic instance.\",\n \"doxygen\": {\n \"brief\": [\n \"Class method creating a generic instance.\"\n ],\n \"returns\": [\n \"An Animal with species \\\"Unknown\\\".\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 51,\n \"text\": \"return Animal(species: \\\"Unknown\\\")\"\n }\n ]\n },\n {\n \"start_line_number\": 63,\n \"end_line_number\": 78,\n \"line_range\": [\n 63,\n 78\n ],\n \"declaration_order_index\": 6,\n \"symbol_name\": \"Dog\",\n \"qualified_name\": \"Dog\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"class Dog: Animal\",\n \"child_symbol_names\": [\n \"name\",\n \"speak\"\n ],\n \"child_qualified_names\": [\n \"Dog.name\",\n \"Dog.speak\"\n ],\n \"depth\": 0,\n \"inherits_text\": \"Animal\",\n \"attached_comment_summary_text\": \"Concrete animal with dog-specific behavior.\",\n \"doxygen\": {\n \"brief\": [\n \"Concrete animal with dog-specific behavior.\",\n \"Dog's name.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 64,\n \"end_line_number\": 64,\n \"line_range\": [\n 64,\n 64\n ],\n \"text\": \"@brief Dog's name.\",\n \"text_lines\": [\n \"@brief Dog's name.\"\n ]\n },\n {\n \"start_line_number\": 67,\n \"end_line_number\": 67,\n \"line_range\": [\n 67,\n 67\n ],\n \"text\": \"@brief Initialize a named dog.\",\n \"text_lines\": [\n \"@brief Initialize a named dog.\"\n ]\n },\n {\n \"start_line_number\": 68,\n \"end_line_number\": 68,\n \"line_range\": [\n 68,\n 68\n ],\n \"text\": \"@param name The dog's name.\",\n \"text_lines\": [\n \"@param name The dog's name.\"\n ]\n },\n {\n \"start_line_number\": 74,\n \"end_line_number\": 74,\n \"line_range\": [\n 74,\n 74\n ],\n \"text\": \"@brief Override speak to produce dog-specific sound.\",\n \"text_lines\": [\n \"@brief Override speak to produce dog-specific sound.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 65,\n \"end_line_number\": 65,\n \"line_range\": [\n 65,\n 65\n ],\n \"declaration_order_index\": 7,\n \"symbol_name\": \"name\",\n \"qualified_name\": \"Dog.name\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"let name: String\",\n \"parent_symbol_name\": \"Dog\",\n \"parent_qualified_name\": \"Dog\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Dog's name.\",\n \"doxygen\": {\n \"brief\": [\n \"Dog's name.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 75,\n \"end_line_number\": 77,\n \"line_range\": [\n 75,\n 77\n ],\n \"declaration_order_index\": 8,\n \"symbol_name\": \"speak\",\n \"qualified_name\": \"Dog.speak\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"override func speak()\",\n \"parent_symbol_name\": \"Dog\",\n \"parent_qualified_name\": \"Dog\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Override speak to produce dog-specific sound.\",\n \"doxygen\": {\n \"brief\": [\n \"Override speak to produce dog-specific sound.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 85,\n \"end_line_number\": 102,\n \"line_range\": [\n 85,\n 102\n ],\n \"declaration_order_index\": 9,\n \"symbol_name\": \"Point\",\n \"qualified_name\": \"Point\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"struct Point: Equatable\",\n \"child_symbol_names\": [\n \"x\",\n \"y\",\n \"magnitude\"\n ],\n \"child_qualified_names\": [\n \"Point.x\",\n \"Point.y\",\n \"Point.magnitude\"\n ],\n \"depth\": 0,\n \"inherits_text\": \"Equatable\",\n \"attached_comment_summary_text\": \"Value type representing a coordinate pair.\",\n \"doxygen\": {\n \"brief\": [\n \"Value type representing a coordinate pair.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 89,\n \"end_line_number\": 89,\n \"line_range\": [\n 89,\n 89\n ],\n \"text\": \"@brief Add two points component-wise.\",\n \"text_lines\": [\n \"@brief Add two points component-wise.\"\n ]\n },\n {\n \"start_line_number\": 90,\n \"end_line_number\": 90,\n \"line_range\": [\n 90,\n 90\n ],\n \"text\": \"@param lhs Left-hand operand.\",\n \"text_lines\": [\n \"@param lhs Left-hand operand.\"\n ]\n },\n {\n \"start_line_number\": 91,\n \"end_line_number\": 91,\n \"line_range\": [\n 91,\n 91\n ],\n \"text\": \"@param rhs Right-hand operand.\",\n \"text_lines\": [\n \"@param rhs Right-hand operand.\"\n ]\n },\n {\n \"start_line_number\": 92,\n \"end_line_number\": 92,\n \"line_range\": [\n 92,\n 92\n ],\n \"text\": \"@return New Point with summed coordinates.\",\n \"text_lines\": [\n \"@return New Point with summed coordinates.\"\n ]\n },\n {\n \"start_line_number\": 97,\n \"end_line_number\": 97,\n \"line_range\": [\n 97,\n 97\n ],\n \"text\": \"@brief Compute Euclidean distance from origin.\",\n \"text_lines\": [\n \"@brief Compute Euclidean distance from origin.\"\n ]\n },\n {\n \"start_line_number\": 98,\n \"end_line_number\": 98,\n \"line_range\": [\n 98,\n 98\n ],\n \"text\": \"@return Distance as a Double.\",\n \"text_lines\": [\n \"@return Distance as a Double.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 94,\n \"text\": \"return Point(x: lhs.x + rhs.x, y: lhs.y + rhs.y)\"\n },\n {\n \"line_number\": 100,\n \"text\": \"return (x * x + y * y).squareRoot()\"\n }\n ]\n },\n {\n \"start_line_number\": 86,\n \"end_line_number\": 86,\n \"line_range\": [\n 86,\n 86\n ],\n \"declaration_order_index\": 10,\n \"symbol_name\": \"x\",\n \"qualified_name\": \"Point.x\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var x: Double = 0.0\",\n \"parent_symbol_name\": \"Point\",\n \"parent_qualified_name\": \"Point\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 87,\n \"end_line_number\": 87,\n \"line_range\": [\n 87,\n 87\n ],\n \"declaration_order_index\": 11,\n \"symbol_name\": \"y\",\n \"qualified_name\": \"Point.y\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var y: Double = 0.0\",\n \"parent_symbol_name\": \"Point\",\n \"parent_qualified_name\": \"Point\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 99,\n \"end_line_number\": 99,\n \"line_range\": [\n 99,\n 99\n ],\n \"declaration_order_index\": 12,\n \"symbol_name\": \"magnitude\",\n \"qualified_name\": \"Point.magnitude\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var magnitude: Double\",\n \"parent_symbol_name\": \"Point\",\n \"parent_qualified_name\": \"Point\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Compute Euclidean distance from origin.\",\n \"doxygen\": {\n \"brief\": [\n \"Compute Euclidean distance from origin.\"\n ],\n \"returns\": [\n \"Distance as a Double.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 107,\n \"end_line_number\": 133,\n \"line_range\": [\n 107,\n 133\n ],\n \"declaration_order_index\": 13,\n \"symbol_name\": \"Matrix\",\n \"qualified_name\": \"Matrix\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"struct Matrix\",\n \"child_symbol_names\": [\n \"data\",\n \"rows\",\n \"cols\"\n ],\n \"child_qualified_names\": [\n \"Matrix.data\",\n \"Matrix.rows\",\n \"Matrix.cols\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"2D matrix supporting element access via subscript.\",\n \"doxygen\": {\n \"brief\": [\n \"2D matrix supporting element access via subscript.\",\n \"Flat storage for matrix values.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 108,\n \"end_line_number\": 108,\n \"line_range\": [\n 108,\n 108\n ],\n \"text\": \"@brief Flat storage for matrix values.\",\n \"text_lines\": [\n \"@brief Flat storage for matrix values.\"\n ]\n },\n {\n \"start_line_number\": 111,\n \"end_line_number\": 111,\n \"line_range\": [\n 111,\n 111\n ],\n \"text\": \"@brief Number of rows.\",\n \"text_lines\": [\n \"@brief Number of rows.\"\n ]\n },\n {\n \"start_line_number\": 113,\n \"end_line_number\": 113,\n \"line_range\": [\n 113,\n 113\n ],\n \"text\": \"@brief Number of columns.\",\n \"text_lines\": [\n \"@brief Number of columns.\"\n ]\n },\n {\n \"start_line_number\": 116,\n \"end_line_number\": 116,\n \"line_range\": [\n 116,\n 116\n ],\n \"text\": \"@brief Initialize a zero-filled matrix.\",\n \"text_lines\": [\n \"@brief Initialize a zero-filled matrix.\"\n ]\n },\n {\n \"start_line_number\": 117,\n \"end_line_number\": 117,\n \"line_range\": [\n 117,\n 117\n ],\n \"text\": \"@param rows Number of rows.\",\n \"text_lines\": [\n \"@param rows Number of rows.\"\n ]\n },\n {\n \"start_line_number\": 118,\n \"end_line_number\": 118,\n \"line_range\": [\n 118,\n 118\n ],\n \"text\": \"@param cols Number of columns.\",\n \"text_lines\": [\n \"@param cols Number of columns.\"\n ]\n },\n {\n \"start_line_number\": 125,\n \"end_line_number\": 125,\n \"line_range\": [\n 125,\n 125\n ],\n \"text\": \"@brief Access matrix elements using row/column subscript.\",\n \"text_lines\": [\n \"@brief Access matrix elements using row/column subscript.\"\n ]\n },\n {\n \"start_line_number\": 126,\n \"end_line_number\": 126,\n \"line_range\": [\n 126,\n 126\n ],\n \"text\": \"@param row Row index (zero-based).\",\n \"text_lines\": [\n \"@param row Row index (zero-based).\"\n ]\n },\n {\n \"start_line_number\": 127,\n \"end_line_number\": 127,\n \"line_range\": [\n 127,\n 127\n ],\n \"text\": \"@param col Column index (zero-based).\",\n \"text_lines\": [\n \"@param col Column index (zero-based).\"\n ]\n },\n {\n \"start_line_number\": 128,\n \"end_line_number\": 128,\n \"line_range\": [\n 128,\n 128\n ],\n \"text\": \"@return The value at (row, col).\",\n \"text_lines\": [\n \"@return The value at (row, col).\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 109,\n \"end_line_number\": 109,\n \"line_range\": [\n 109,\n 109\n ],\n \"declaration_order_index\": 14,\n \"symbol_name\": \"data\",\n \"qualified_name\": \"Matrix.data\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"private var data: [[Double]]\",\n \"visibility\": \"priv\",\n \"parent_symbol_name\": \"Matrix\",\n \"parent_qualified_name\": \"Matrix\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Flat storage for matrix values.\",\n \"doxygen\": {\n \"brief\": [\n \"Flat storage for matrix values.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 112,\n \"end_line_number\": 112,\n \"line_range\": [\n 112,\n 112\n ],\n \"declaration_order_index\": 15,\n \"symbol_name\": \"rows\",\n \"qualified_name\": \"Matrix.rows\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"let rows: Int\",\n \"parent_symbol_name\": \"Matrix\",\n \"parent_qualified_name\": \"Matrix\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Number of rows.\",\n \"doxygen\": {\n \"brief\": [\n \"Number of rows.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 114,\n \"end_line_number\": 114,\n \"line_range\": [\n 114,\n 114\n ],\n \"declaration_order_index\": 16,\n \"symbol_name\": \"cols\",\n \"qualified_name\": \"Matrix.cols\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"let cols: Int\",\n \"parent_symbol_name\": \"Matrix\",\n \"parent_qualified_name\": \"Matrix\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Number of columns.\",\n \"doxygen\": {\n \"brief\": [\n \"Number of columns.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 140,\n \"end_line_number\": 156,\n \"line_range\": [\n 140,\n 156\n ],\n \"declaration_order_index\": 17,\n \"symbol_name\": \"Direction\",\n \"qualified_name\": \"Direction\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum Direction: String, CaseIterable\",\n \"child_symbol_names\": [\n \"opposite\"\n ],\n \"child_qualified_names\": [\n \"Direction.opposite\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Cardinal directions supporting CaseIterable iteration.\",\n \"doxygen\": {\n \"brief\": [\n \"Cardinal directions supporting CaseIterable iteration.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 146,\n \"end_line_number\": 146,\n \"line_range\": [\n 146,\n 146\n ],\n \"text\": \"@brief Compute the opposite direction.\",\n \"text_lines\": [\n \"@brief Compute the opposite direction.\"\n ]\n },\n {\n \"start_line_number\": 147,\n \"end_line_number\": 147,\n \"line_range\": [\n 147,\n 147\n ],\n \"text\": \"@return The direction 180 degrees from self.\",\n \"text_lines\": [\n \"@return The direction 180 degrees from self.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 148,\n \"end_line_number\": 148,\n \"line_range\": [\n 148,\n 148\n ],\n \"declaration_order_index\": 18,\n \"symbol_name\": \"opposite\",\n \"qualified_name\": \"Direction.opposite\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var opposite: Direction\",\n \"parent_symbol_name\": \"Direction\",\n \"parent_qualified_name\": \"Direction\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Compute the opposite direction.\",\n \"doxygen\": {\n \"brief\": [\n \"Compute the opposite direction.\"\n ],\n \"returns\": [\n \"The direction 180 degrees from self.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 162,\n \"end_line_number\": 179,\n \"line_range\": [\n 162,\n 179\n ],\n \"declaration_order_index\": 19,\n \"symbol_name\": \"AppResult\",\n \"qualified_name\": \"AppResult\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum AppResult<T>\",\n \"child_symbol_names\": [\n \"map\"\n ],\n \"child_qualified_names\": [\n \"AppResult.map\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Successful result carrying a value.\",\n \"doxygen\": {\n \"brief\": [\n \"Successful result carrying a value.\",\n \"Failure carrying an error description.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 163,\n \"end_line_number\": 163,\n \"line_range\": [\n 163,\n 163\n ],\n \"text\": \"@brief Successful result carrying a value.\",\n \"text_lines\": [\n \"@brief Successful result carrying a value.\"\n ]\n },\n {\n \"start_line_number\": 165,\n \"end_line_number\": 165,\n \"line_range\": [\n 165,\n 165\n ],\n \"text\": \"@brief Failure carrying an error description.\",\n \"text_lines\": [\n \"@brief Failure carrying an error description.\"\n ]\n },\n {\n \"start_line_number\": 168,\n \"end_line_number\": 168,\n \"line_range\": [\n 168,\n 168\n ],\n \"text\": \"@brief Map the success value using a transform closure.\",\n \"text_lines\": [\n \"@brief Map the success value using a transform closure.\"\n ]\n },\n {\n \"start_line_number\": 169,\n \"end_line_number\": 169,\n \"line_range\": [\n 169,\n 169\n ],\n \"text\": \"@param transform Closure converting T to U.\",\n \"text_lines\": [\n \"@param transform Closure converting T to U.\"\n ]\n },\n {\n \"start_line_number\": 170,\n \"end_line_number\": 170,\n \"line_range\": [\n 170,\n 170\n ],\n \"text\": \"@return A new AppResult with the transformed value.\",\n \"text_lines\": [\n \"@return A new AppResult with the transformed value.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 174,\n \"text\": \"return .success(transform(value))\"\n },\n {\n \"line_number\": 176,\n \"text\": \"return .failure(error)\"\n }\n ]\n },\n {\n \"start_line_number\": 171,\n \"end_line_number\": 178,\n \"line_range\": [\n 171,\n 178\n ],\n \"declaration_order_index\": 20,\n \"symbol_name\": \"map\",\n \"qualified_name\": \"AppResult.map\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func map<U>(_ transform: (T) -> U) -> AppResult<U>\",\n \"parent_symbol_name\": \"AppResult\",\n \"parent_qualified_name\": \"AppResult\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Map the success value using a transform closure.\",\n \"doxygen\": {\n \"brief\": [\n \"Map the success value using a transform closure.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"transform\",\n \"description\": \"Closure converting T to U.\"\n }\n ],\n \"returns\": [\n \"A new AppResult with the transformed value.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 174,\n \"text\": \"return .success(transform(value))\"\n },\n {\n \"line_number\": 176,\n \"text\": \"return .failure(error)\"\n }\n ]\n },\n {\n \"start_line_number\": 186,\n \"end_line_number\": 193,\n \"line_range\": [\n 186,\n 193\n ],\n \"declaration_order_index\": 21,\n \"symbol_name\": \"Drawable\",\n \"qualified_name\": \"Drawable\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"protocol Drawable\",\n \"child_symbol_names\": [\n \"draw\",\n \"renderPriority\",\n \"renderPriority\",\n \"debugDraw\"\n ],\n \"child_qualified_names\": [\n \"Drawable.draw\",\n \"Drawable.renderPriority\",\n \"Drawable.renderPriority\",\n \"Drawable.debugDraw\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Defines the render contract with a default extension implementation.\",\n \"doxygen\": {\n \"brief\": [\n \"Defines the render contract with a default extension implementation.\",\n \"Render the object to a string representation.\"\n ],\n \"returns\": [\n \"Rendered string output.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 187,\n \"end_line_number\": 187,\n \"line_range\": [\n 187,\n 187\n ],\n \"text\": \"@brief Render the object to a string representation.\",\n \"text_lines\": [\n \"@brief Render the object to a string representation.\"\n ]\n },\n {\n \"start_line_number\": 188,\n \"end_line_number\": 188,\n \"line_range\": [\n 188,\n 188\n ],\n \"text\": \"@return Rendered string output.\",\n \"text_lines\": [\n \"@return Rendered string output.\"\n ]\n },\n {\n \"start_line_number\": 191,\n \"end_line_number\": 191,\n \"line_range\": [\n 191,\n 191\n ],\n \"text\": \"@brief Optional priority for render ordering.\",\n \"text_lines\": [\n \"@brief Optional priority for render ordering.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 189,\n \"end_line_number\": 192,\n \"line_range\": [\n 189,\n 192\n ],\n \"declaration_order_index\": 22,\n \"symbol_name\": \"draw\",\n \"qualified_name\": \"Drawable.draw\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func draw() -> String\",\n \"parent_symbol_name\": \"Drawable\",\n \"parent_qualified_name\": \"Drawable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Render the object to a string representation.\",\n \"doxygen\": {\n \"brief\": [\n \"Render the object to a string representation.\",\n \"Optional priority for render ordering.\"\n ],\n \"returns\": [\n \"Rendered string output.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 191,\n \"end_line_number\": 191,\n \"line_range\": [\n 191,\n 191\n ],\n \"text\": \"@brief Optional priority for render ordering.\",\n \"text_lines\": [\n \"@brief Optional priority for render ordering.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 192,\n \"end_line_number\": 192,\n \"line_range\": [\n 192,\n 192\n ],\n \"declaration_order_index\": 23,\n \"symbol_name\": \"renderPriority\",\n \"qualified_name\": \"Drawable.renderPriority\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var renderPriority: Int { get }\",\n \"parent_symbol_name\": \"Drawable\",\n \"parent_qualified_name\": \"Drawable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Optional priority for render ordering.\",\n \"doxygen\": {\n \"brief\": [\n \"Optional priority for render ordering.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 198,\n \"end_line_number\": 208,\n \"line_range\": [\n 198,\n 208\n ],\n \"declaration_order_index\": 24,\n \"symbol_name\": \"Container\",\n \"qualified_name\": \"Container\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"protocol Container\",\n \"child_symbol_names\": [\n \"count\"\n ],\n \"child_qualified_names\": [\n \"Container.count\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Defines a type-erased container interface.\",\n \"doxygen\": {\n \"brief\": [\n \"Defines a type-erased container interface.\",\n \"The type of element stored in the container.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 199,\n \"end_line_number\": 199,\n \"line_range\": [\n 199,\n 199\n ],\n \"text\": \"@brief The type of element stored in the container.\",\n \"text_lines\": [\n \"@brief The type of element stored in the container.\"\n ]\n },\n {\n \"start_line_number\": 202,\n \"end_line_number\": 202,\n \"line_range\": [\n 202,\n 202\n ],\n \"text\": \"@brief Add an item to the container.\",\n \"text_lines\": [\n \"@brief Add an item to the container.\"\n ]\n },\n {\n \"start_line_number\": 203,\n \"end_line_number\": 203,\n \"line_range\": [\n 203,\n 203\n ],\n \"text\": \"@param item The element to add.\",\n \"text_lines\": [\n \"@param item The element to add.\"\n ]\n },\n {\n \"start_line_number\": 206,\n \"end_line_number\": 206,\n \"line_range\": [\n 206,\n 206\n ],\n \"text\": \"@brief Number of elements in the container.\",\n \"text_lines\": [\n \"@brief Number of elements in the container.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 207,\n \"end_line_number\": 207,\n \"line_range\": [\n 207,\n 207\n ],\n \"declaration_order_index\": 25,\n \"symbol_name\": \"count\",\n \"qualified_name\": \"Container.count\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var count: Int { get }\",\n \"parent_symbol_name\": \"Container\",\n \"parent_qualified_name\": \"Container\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Number of elements in the container.\",\n \"doxygen\": {\n \"brief\": [\n \"Number of elements in the container.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 212,\n \"end_line_number\": 221,\n \"line_range\": [\n 212,\n 221\n ],\n \"declaration_order_index\": 26,\n \"symbol_name\": \"Drawable\",\n \"qualified_name\": \"Drawable\",\n \"symbol_kind\": \"EXTENSION\",\n \"type_label\": \"EXTENSION\",\n \"signature_text\": \"extension Drawable\",\n \"child_symbol_names\": [\n \"draw\",\n \"renderPriority\",\n \"renderPriority\",\n \"debugDraw\"\n ],\n \"child_qualified_names\": [\n \"Drawable.draw\",\n \"Drawable.renderPriority\",\n \"Drawable.renderPriority\",\n \"Drawable.debugDraw\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Default render priority for all Drawable conformants.\",\n \"doxygen\": {\n \"brief\": [\n \"Default render priority for all Drawable conformants.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 213,\n \"end_line_number\": 213,\n \"line_range\": [\n 213,\n 213\n ],\n \"text\": \"@brief Default render priority for all Drawable conformants.\",\n \"text_lines\": [\n \"@brief Default render priority for all Drawable conformants.\"\n ]\n },\n {\n \"start_line_number\": 216,\n \"end_line_number\": 216,\n \"line_range\": [\n 216,\n 216\n ],\n \"text\": \"@brief Debug draw with priority prefix.\",\n \"text_lines\": [\n \"@brief Debug draw with priority prefix.\"\n ]\n },\n {\n \"start_line_number\": 217,\n \"end_line_number\": 217,\n \"line_range\": [\n 217,\n 217\n ],\n \"text\": \"@return String with priority and rendered content.\",\n \"text_lines\": [\n \"@return String with priority and rendered content.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 219,\n \"text\": \"return \\\"[\\\\(renderPriority)] \\\\(draw())\\\"\"\n }\n ]\n },\n {\n \"start_line_number\": 214,\n \"end_line_number\": 214,\n \"line_range\": [\n 214,\n 214\n ],\n \"declaration_order_index\": 27,\n \"symbol_name\": \"renderPriority\",\n \"qualified_name\": \"Drawable.renderPriority\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var renderPriority: Int { return 0 }\",\n \"parent_symbol_name\": \"Drawable\",\n \"parent_qualified_name\": \"Drawable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Default render priority for all Drawable conformants.\",\n \"doxygen\": {\n \"brief\": [\n \"Default render priority for all Drawable conformants.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 218,\n \"end_line_number\": 220,\n \"line_range\": [\n 218,\n 220\n ],\n \"declaration_order_index\": 28,\n \"symbol_name\": \"debugDraw\",\n \"qualified_name\": \"Drawable.debugDraw\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func debugDraw() -> String\",\n \"parent_symbol_name\": \"Drawable\",\n \"parent_qualified_name\": \"Drawable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Debug draw with priority prefix.\",\n \"doxygen\": {\n \"brief\": [\n \"Debug draw with priority prefix.\"\n ],\n \"returns\": [\n \"String with priority and rendered content.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 219,\n \"text\": \"return \\\"[\\\\(renderPriority)] \\\\(draw())\\\"\"\n }\n ]\n },\n {\n \"start_line_number\": 226,\n \"end_line_number\": 238,\n \"line_range\": [\n 226,\n 238\n ],\n \"declaration_order_index\": 29,\n \"symbol_name\": \"Animal\",\n \"qualified_name\": \"Animal\",\n \"symbol_kind\": \"EXTENSION\",\n \"type_label\": \"EXTENSION\",\n \"signature_text\": \"extension Animal: Drawable\",\n \"child_symbol_names\": [\n \"species\",\n \"legs\",\n \"description\",\n \"speak\",\n \"draw\",\n \"describe\"\n ],\n \"child_qualified_names\": [\n \"Animal.species\",\n \"Animal.legs\",\n \"Animal.description\",\n \"Animal.speak\",\n \"Animal.draw\",\n \"Animal.describe\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Render animal as a descriptive string.\",\n \"doxygen\": {\n \"brief\": [\n \"Render animal as a descriptive string.\"\n ],\n \"returns\": [\n \"Description of the animal.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 227,\n \"end_line_number\": 227,\n \"line_range\": [\n 227,\n 227\n ],\n \"text\": \"@brief Render animal as a descriptive string.\",\n \"text_lines\": [\n \"@brief Render animal as a descriptive string.\"\n ]\n },\n {\n \"start_line_number\": 228,\n \"end_line_number\": 228,\n \"line_range\": [\n 228,\n 228\n ],\n \"text\": \"@return Description of the animal.\",\n \"text_lines\": [\n \"@return Description of the animal.\"\n ]\n },\n {\n \"start_line_number\": 233,\n \"end_line_number\": 233,\n \"line_range\": [\n 233,\n 233\n ],\n \"text\": \"@brief Describe the animal for UI display.\",\n \"text_lines\": [\n \"@brief Describe the animal for UI display.\"\n ]\n },\n {\n \"start_line_number\": 234,\n \"end_line_number\": 234,\n \"line_range\": [\n 234,\n 234\n ],\n \"text\": \"@return A formatted string suitable for labels.\",\n \"text_lines\": [\n \"@return A formatted string suitable for labels.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 230,\n \"text\": \"return description\"\n },\n {\n \"line_number\": 236,\n \"text\": \"return \\\"Animal: \\\\(species)\\\"\"\n }\n ]\n },\n {\n \"start_line_number\": 229,\n \"end_line_number\": 231,\n \"line_range\": [\n 229,\n 231\n ],\n \"declaration_order_index\": 30,\n \"symbol_name\": \"draw\",\n \"qualified_name\": \"Animal.draw\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func draw() -> String\",\n \"parent_symbol_name\": \"Animal\",\n \"parent_qualified_name\": \"Animal\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Render animal as a descriptive string.\",\n \"doxygen\": {\n \"brief\": [\n \"Render animal as a descriptive string.\"\n ],\n \"returns\": [\n \"Description of the animal.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 230,\n \"text\": \"return description\"\n }\n ]\n },\n {\n \"start_line_number\": 235,\n \"end_line_number\": 237,\n \"line_range\": [\n 235,\n 237\n ],\n \"declaration_order_index\": 31,\n \"symbol_name\": \"describe\",\n \"qualified_name\": \"Animal.describe\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func describe() -> String\",\n \"parent_symbol_name\": \"Animal\",\n \"parent_qualified_name\": \"Animal\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Describe the animal for UI display.\",\n \"doxygen\": {\n \"brief\": [\n \"Describe the animal for UI display.\"\n ],\n \"returns\": [\n \"A formatted string suitable for labels.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 236,\n \"text\": \"return \\\"Animal: \\\\(species)\\\"\"\n }\n ]\n },\n {\n \"start_line_number\": 247,\n \"end_line_number\": 268,\n \"line_range\": [\n 247,\n 268\n ],\n \"declaration_order_index\": 32,\n \"symbol_name\": \"Clamped\",\n \"qualified_name\": \"Clamped\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"struct Clamped<Value: Comparable>\",\n \"child_symbol_names\": [\n \"min\",\n \"max\",\n \"value\",\n \"wrappedValue\"\n ],\n \"child_qualified_names\": [\n \"Clamped.min\",\n \"Clamped.max\",\n \"Clamped.value\",\n \"Clamped.wrappedValue\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Minimum allowed value.\",\n \"doxygen\": {\n \"brief\": [\n \"Minimum allowed value.\",\n \"Maximum allowed value.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 248,\n \"end_line_number\": 248,\n \"line_range\": [\n 248,\n 248\n ],\n \"text\": \"@brief Minimum allowed value.\",\n \"text_lines\": [\n \"@brief Minimum allowed value.\"\n ]\n },\n {\n \"start_line_number\": 250,\n \"end_line_number\": 250,\n \"line_range\": [\n 250,\n 250\n ],\n \"text\": \"@brief Maximum allowed value.\",\n \"text_lines\": [\n \"@brief Maximum allowed value.\"\n ]\n },\n {\n \"start_line_number\": 252,\n \"end_line_number\": 252,\n \"line_range\": [\n 252,\n 252\n ],\n \"text\": \"@brief Current stored value.\",\n \"text_lines\": [\n \"@brief Current stored value.\"\n ]\n },\n {\n \"start_line_number\": 255,\n \"end_line_number\": 255,\n \"line_range\": [\n 255,\n 255\n ],\n \"text\": \"@brief The wrapped value, clamped on set.\",\n \"text_lines\": [\n \"@brief The wrapped value, clamped on set.\"\n ]\n },\n {\n \"start_line_number\": 261,\n \"end_line_number\": 261,\n \"line_range\": [\n 261,\n 261\n ],\n \"text\": \"@brief Initialize with range and starting value.\",\n \"text_lines\": [\n \"@brief Initialize with range and starting value.\"\n ]\n },\n {\n \"start_line_number\": 265,\n \"end_line_number\": 265,\n \"line_range\": [\n 265,\n 265\n ],\n \"text\": \"Clamp initial value to range\",\n \"text_lines\": [\n \"Clamp initial value to range\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 249,\n \"end_line_number\": 249,\n \"line_range\": [\n 249,\n 249\n ],\n \"declaration_order_index\": 33,\n \"symbol_name\": \"min\",\n \"qualified_name\": \"Clamped.min\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"let min: Value\",\n \"parent_symbol_name\": \"Clamped\",\n \"parent_qualified_name\": \"Clamped\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Minimum allowed value.\",\n \"doxygen\": {\n \"brief\": [\n \"Minimum allowed value.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 251,\n \"end_line_number\": 251,\n \"line_range\": [\n 251,\n 251\n ],\n \"declaration_order_index\": 34,\n \"symbol_name\": \"max\",\n \"qualified_name\": \"Clamped.max\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"let max: Value\",\n \"parent_symbol_name\": \"Clamped\",\n \"parent_qualified_name\": \"Clamped\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Maximum allowed value.\",\n \"doxygen\": {\n \"brief\": [\n \"Maximum allowed value.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 253,\n \"end_line_number\": 253,\n \"line_range\": [\n 253,\n 253\n ],\n \"declaration_order_index\": 35,\n \"symbol_name\": \"value\",\n \"qualified_name\": \"Clamped.value\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"private var value: Value\",\n \"visibility\": \"priv\",\n \"parent_symbol_name\": \"Clamped\",\n \"parent_qualified_name\": \"Clamped\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Current stored value.\",\n \"doxygen\": {\n \"brief\": [\n \"Current stored value.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 256,\n \"end_line_number\": 256,\n \"line_range\": [\n 256,\n 256\n ],\n \"declaration_order_index\": 36,\n \"symbol_name\": \"wrappedValue\",\n \"qualified_name\": \"Clamped.wrappedValue\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var wrappedValue: Value\",\n \"parent_symbol_name\": \"Clamped\",\n \"parent_qualified_name\": \"Clamped\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"The wrapped value, clamped on set.\",\n \"doxygen\": {\n \"brief\": [\n \"The wrapped value, clamped on set.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 277,\n \"end_line_number\": 277,\n \"line_range\": [\n 277,\n 277\n ],\n \"declaration_order_index\": 37,\n \"symbol_name\": \"value\",\n \"qualified_name\": \"value\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"private var value: Int = 0\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Current count value.\",\n \"doxygen\": {\n \"brief\": [\n \"Current count value.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 281,\n \"end_line_number\": 284,\n \"line_range\": [\n 281,\n 284\n ],\n \"declaration_order_index\": 38,\n \"symbol_name\": \"increment\",\n \"qualified_name\": \"increment\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func increment() -> Int\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Increment the counter and return the new value.\",\n \"doxygen\": {\n \"brief\": [\n \"Increment the counter and return the new value.\"\n ],\n \"returns\": [\n \"The incremented count.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 283,\n \"text\": \"return value\"\n }\n ]\n },\n {\n \"start_line_number\": 287,\n \"end_line_number\": 289,\n \"line_range\": [\n 287,\n 289\n ],\n \"declaration_order_index\": 39,\n \"symbol_name\": \"reset\",\n \"qualified_name\": \"reset\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reset()\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Reset the counter to zero.\",\n \"doxygen\": {\n \"brief\": [\n \"Reset the counter to zero.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 296,\n \"end_line_number\": 298,\n \"line_range\": [\n 296,\n 298\n ],\n \"declaration_order_index\": 40,\n \"symbol_name\": \"greet\",\n \"qualified_name\": \"greet\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"public func greet(name: String)\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Greet a person by name.\",\n \"doxygen\": {\n \"brief\": [\n \"Greet a person by name.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"name\",\n \"description\": \"The person's name.\"\n }\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 302,\n \"end_line_number\": 304,\n \"line_range\": [\n 302,\n 304\n ],\n \"declaration_order_index\": 41,\n \"symbol_name\": \"makeDrawable\",\n \"qualified_name\": \"makeDrawable\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func makeDrawable() -> some Drawable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Build an opaque some-typed Drawable.\",\n \"doxygen\": {\n \"brief\": [\n \"Build an opaque some-typed Drawable.\"\n ],\n \"returns\": [\n \"An opaque Drawable hiding the concrete type.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 303,\n \"text\": \"return Animal(species: \\\"Cat\\\")\"\n }\n ]\n },\n {\n \"start_line_number\": 311,\n \"end_line_number\": 313,\n \"line_range\": [\n 311,\n 313\n ],\n \"declaration_order_index\": 42,\n \"symbol_name\": \"contains\",\n \"qualified_name\": \"contains\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func contains<T: Collection>(items: T, target: T.Element) -> Bool where T.Element: Equatable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Generic function with where clause constraint.\\n@tparam T Must be Equatable.\",\n \"doxygen\": {\n \"brief\": [\n \"Generic function with where clause constraint.\\n@tparam T Must be Equatable.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"items\",\n \"description\": \"Collection of items to search.\"\n },\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"target\",\n \"description\": \"The item to find.\"\n }\n ],\n \"returns\": [\n \"True if target exists in items.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 312,\n \"text\": \"return items.contains(target)\"\n }\n ]\n },\n {\n \"start_line_number\": 318,\n \"end_line_number\": 323,\n \"line_range\": [\n 318,\n 323\n ],\n \"declaration_order_index\": 43,\n \"symbol_name\": \"deferred\",\n \"qualified_name\": \"deferred\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func deferred(_ action: @escaping () -> Void) -> () -> Void\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Higher-order function accepting an escaping closure.\",\n \"doxygen\": {\n \"brief\": [\n \"Higher-order function accepting an escaping closure.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"action\",\n \"description\": \"The closure to store for later execution.\"\n }\n ],\n \"returns\": [\n \"A wrapper closure that invokes action.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 320,\n \"end_line_number\": 320,\n \"line_range\": [\n 320,\n 320\n ],\n \"text\": \"Execute the captured closure\",\n \"text_lines\": [\n \"Execute the captured closure\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 319,\n \"text\": \"return {\"\n }\n ]\n },\n {\n \"start_line_number\": 328,\n \"end_line_number\": 328,\n \"line_range\": [\n 328,\n 328\n ],\n \"declaration_order_index\": 44,\n \"symbol_name\": \"MAX_SIZE\",\n \"qualified_name\": \"MAX_SIZE\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"let MAX_SIZE = 1024\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Application-wide maximum buffer size constant.\",\n \"doxygen\": {\n \"brief\": [\n \"Application-wide maximum buffer size constant.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 331,\n \"end_line_number\": 331,\n \"line_range\": [\n 331,\n 331\n ],\n \"declaration_order_index\": 45,\n \"symbol_name\": \"counter\",\n \"qualified_name\": \"counter\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"private var counter = 0\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Module-scoped mutable counter with restricted access.\",\n \"doxygen\": {\n \"brief\": [\n \"Module-scoped mutable counter with restricted access.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 334,\n \"end_line_number\": 334,\n \"line_range\": [\n 334,\n 334\n ],\n \"declaration_order_index\": 46,\n \"symbol_name\": \"defaultConfig\",\n \"qualified_name\": \"defaultConfig\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"let defaultConfig: [String: Any] =\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Lazy computed constant using a closure.\",\n \"doxygen\": {\n \"brief\": [\n \"Lazy computed constant using a closure.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 335,\n \"end_line_number\": 335,\n \"line_range\": [\n 335,\n 335\n ],\n \"declaration_order_index\": 47,\n \"symbol_name\": \"config\",\n \"qualified_name\": \"config\",\n \"symbol_kind\": \"VARIABLE\",\n \"type_label\": \"VARIABLE\",\n \"signature_text\": \"var config: [String: Any] = [:]\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 347,\n \"end_line_number\": 347,\n \"line_range\": [\n 347,\n 347\n ],\n \"declaration_order_index\": 48,\n \"symbol_name\": \"ServiceController\",\n \"qualified_name\": \"ServiceController\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"class ServiceController {}\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 348,\n \"end_line_number\": 348,\n \"line_range\": [\n 348,\n 348\n ],\n \"declaration_order_index\": 49,\n \"symbol_name\": \"CacheStore\",\n \"qualified_name\": \"CacheStore\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"final class CacheStore {}\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 349,\n \"end_line_number\": 349,\n \"line_range\": [\n 349,\n 349\n ],\n \"declaration_order_index\": 50,\n \"symbol_name\": \"Vector2\",\n \"qualified_name\": \"Vector2\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"struct Vector2 { let x: Int; let y: Int }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 350,\n \"end_line_number\": 350,\n \"line_range\": [\n 350,\n 350\n ],\n \"declaration_order_index\": 51,\n \"symbol_name\": \"Limits\",\n \"qualified_name\": \"Limits\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"struct Limits { let max: Int }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 351,\n \"end_line_number\": 351,\n \"line_range\": [\n 351,\n 351\n ],\n \"declaration_order_index\": 52,\n \"symbol_name\": \"ModeSwift\",\n \"qualified_name\": \"ModeSwift\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum ModeSwift { case fast, safe }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 352,\n \"end_line_number\": 352,\n \"line_range\": [\n 352,\n 352\n ],\n \"declaration_order_index\": 53,\n \"symbol_name\": \"PhaseSwift\",\n \"qualified_name\": \"PhaseSwift\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum PhaseSwift { case initState, done }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 353,\n \"end_line_number\": 353,\n \"line_range\": [\n 353,\n 353\n ],\n \"declaration_order_index\": 54,\n \"symbol_name\": \"SignalSwift\",\n \"qualified_name\": \"SignalSwift\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum SignalSwift { case on, off }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 354,\n \"end_line_number\": 354,\n \"line_range\": [\n 354,\n 354\n ],\n \"declaration_order_index\": 55,\n \"symbol_name\": \"RunnerSwift\",\n \"qualified_name\": \"RunnerSwift\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"protocol RunnerSwift { func run() }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 355,\n \"end_line_number\": 355,\n \"line_range\": [\n 355,\n 355\n ],\n \"declaration_order_index\": 56,\n \"symbol_name\": \"LoggerSwift\",\n \"qualified_name\": \"LoggerSwift\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"protocol LoggerSwift { func log(_ msg: String) }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 356,\n \"end_line_number\": 356,\n \"line_range\": [\n 356,\n 356\n ],\n \"declaration_order_index\": 57,\n \"symbol_name\": \"ParserSwift\",\n \"qualified_name\": \"ParserSwift\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"protocol ParserSwift { func parse(_ input: String) -> String }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 357,\n \"end_line_number\": 357,\n \"line_range\": [\n 357,\n 357\n ],\n \"declaration_order_index\": 58,\n \"symbol_name\": \"String\",\n \"qualified_name\": \"String\",\n \"symbol_kind\": \"EXTENSION\",\n \"type_label\": \"EXTENSION\",\n \"signature_text\": \"extension String { func trimmed2() -> String { self.trimmingCharacters(in: .whitespaces) } }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 358,\n \"end_line_number\": 358,\n \"line_range\": [\n 358,\n 358\n ],\n \"declaration_order_index\": 59,\n \"symbol_name\": \"Int\",\n \"qualified_name\": \"Int\",\n \"symbol_kind\": \"EXTENSION\",\n \"type_label\": \"EXTENSION\",\n \"signature_text\": \"extension Int { func doubled2() -> Int { self * 2 } }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 359,\n \"end_line_number\": 359,\n \"line_range\": [\n 359,\n 359\n ],\n \"declaration_order_index\": 60,\n \"symbol_name\": \"Array\",\n \"qualified_name\": \"Array\",\n \"symbol_kind\": \"EXTENSION\",\n \"type_label\": \"EXTENSION\",\n \"signature_text\": \"extension Array { var isNotEmpty: Bool { !self.isEmpty } }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 367,\n \"end_line_number\": 367,\n \"line_range\": [\n 367,\n 367\n ],\n \"declaration_order_index\": 61,\n \"symbol_name\": \"reqCoverSwift1\",\n \"qualified_name\": \"reqCoverSwift1\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverSwift1(_ value: Int) -> Int { value + 1 }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 1.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 1.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 1.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 1.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 1.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 374,\n \"end_line_number\": 374,\n \"line_range\": [\n 374,\n 374\n ],\n \"declaration_order_index\": 62,\n \"symbol_name\": \"reqCoverSwift2\",\n \"qualified_name\": \"reqCoverSwift2\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverSwift2(_ value: Int) -> Int { value + 2 }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 2.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 2.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 2.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 2.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 2.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 381,\n \"end_line_number\": 381,\n \"line_range\": [\n 381,\n 381\n ],\n \"declaration_order_index\": 63,\n \"symbol_name\": \"reqCoverSwift3\",\n \"qualified_name\": \"reqCoverSwift3\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverSwift3(_ value: Int) -> Int { value + 3 }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 3.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 3.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 3.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 3.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 3.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 388,\n \"end_line_number\": 388,\n \"line_range\": [\n 388,\n 388\n ],\n \"declaration_order_index\": 64,\n \"symbol_name\": \"reqCoverSwift4\",\n \"qualified_name\": \"reqCoverSwift4\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverSwift4(_ value: Int) -> Int { value + 4 }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 4.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 4.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 4.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 4.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 4.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 395,\n \"end_line_number\": 395,\n \"line_range\": [\n 395,\n 395\n ],\n \"declaration_order_index\": 65,\n \"symbol_name\": \"reqCoverSwift5\",\n \"qualified_name\": \"reqCoverSwift5\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverSwift5(_ value: Int) -> Int { value + 5 }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 5.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 5.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 5.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 5.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 5.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n }\n ],\n \"standalone_comments\": [\n {\n \"start_line_number\": 2,\n \"end_line_number\": 2,\n \"line_range\": [\n 2,\n 2\n ],\n \"text\": \"@brief Comprehensive Swift test fixture for parser validation.\",\n \"text_lines\": [\n \"@brief Comprehensive Swift test fixture for parser validation.\"\n ]\n },\n {\n \"start_line_number\": 3,\n \"end_line_number\": 3,\n \"line_range\": [\n 3,\n 3\n ],\n \"text\": \"@details Covers closures, computed properties, property observers,\",\n \"text_lines\": [\n \"@details Covers closures, computed properties, property observers,\"\n ]\n },\n {\n \"start_line_number\": 4,\n \"end_line_number\": 4,\n \"line_range\": [\n 4,\n 4\n ],\n \"text\": \"subscripts, generic constraints, result builders, actors,\",\n \"text_lines\": [\n \"subscripts, generic constraints, result builders, actors,\"\n ]\n },\n {\n \"start_line_number\": 5,\n \"end_line_number\": 5,\n \"line_range\": [\n 5,\n 5\n ],\n \"text\": \"opaque types, property wrappers, and key paths.\",\n \"text_lines\": [\n \"opaque types, property wrappers, and key paths.\"\n ]\n },\n {\n \"start_line_number\": 6,\n \"end_line_number\": 6,\n \"line_range\": [\n 6,\n 6\n ],\n \"text\": \"Single line comment\",\n \"text_lines\": [\n \"Single line comment\"\n ]\n },\n {\n \"start_line_number\": 7,\n \"end_line_number\": 7,\n \"line_range\": [\n 7,\n 7\n ],\n \"text\": \"Multi-line comment\",\n \"text_lines\": [\n \"Multi-line comment\"\n ]\n },\n {\n \"start_line_number\": 11,\n \"end_line_number\": 11,\n \"line_range\": [\n 11,\n 11\n ],\n \"text\": \"── Class with properties and observers ────────────────────────────────\",\n \"text_lines\": [\n \"── Class with properties and observers ────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 23,\n \"end_line_number\": 23,\n \"line_range\": [\n 23,\n 23\n ],\n \"text\": \"Log upcoming change from current to new value\",\n \"text_lines\": [\n \"Log upcoming change from current to new value\"\n ]\n },\n {\n \"start_line_number\": 27,\n \"end_line_number\": 27,\n \"line_range\": [\n 27,\n 27\n ],\n \"text\": \"Enforce minimum of zero legs\",\n \"text_lines\": [\n \"Enforce minimum of zero legs\"\n ]\n },\n {\n \"start_line_number\": 37,\n \"end_line_number\": 37,\n \"line_range\": [\n 37,\n 37\n ],\n \"text\": \"@brief Initialize an Animal with species name.\",\n \"text_lines\": [\n \"@brief Initialize an Animal with species name.\"\n ]\n },\n {\n \"start_line_number\": 38,\n \"end_line_number\": 38,\n \"line_range\": [\n 38,\n 38\n ],\n \"text\": \"@param species The species identifier string.\",\n \"text_lines\": [\n \"@param species The species identifier string.\"\n ]\n },\n {\n \"start_line_number\": 54,\n \"end_line_number\": 54,\n \"line_range\": [\n 54,\n 54\n ],\n \"text\": \"@brief Deinitializer for cleanup on deallocation.\",\n \"text_lines\": [\n \"@brief Deinitializer for cleanup on deallocation.\"\n ]\n },\n {\n \"start_line_number\": 67,\n \"end_line_number\": 67,\n \"line_range\": [\n 67,\n 67\n ],\n \"text\": \"@brief Initialize a named dog.\",\n \"text_lines\": [\n \"@brief Initialize a named dog.\"\n ]\n },\n {\n \"start_line_number\": 68,\n \"end_line_number\": 68,\n \"line_range\": [\n 68,\n 68\n ],\n \"text\": \"@param name The dog's name.\",\n \"text_lines\": [\n \"@param name The dog's name.\"\n ]\n },\n {\n \"start_line_number\": 80,\n \"end_line_number\": 80,\n \"line_range\": [\n 80,\n 80\n ],\n \"text\": \"── Struct with subscript and Equatable ─────────────────────────────────\",\n \"text_lines\": [\n \"── Struct with subscript and Equatable ─────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 89,\n \"end_line_number\": 89,\n \"line_range\": [\n 89,\n 89\n ],\n \"text\": \"@brief Add two points component-wise.\",\n \"text_lines\": [\n \"@brief Add two points component-wise.\"\n ]\n },\n {\n \"start_line_number\": 90,\n \"end_line_number\": 90,\n \"line_range\": [\n 90,\n 90\n ],\n \"text\": \"@param lhs Left-hand operand.\",\n \"text_lines\": [\n \"@param lhs Left-hand operand.\"\n ]\n },\n {\n \"start_line_number\": 91,\n \"end_line_number\": 91,\n \"line_range\": [\n 91,\n 91\n ],\n \"text\": \"@param rhs Right-hand operand.\",\n \"text_lines\": [\n \"@param rhs Right-hand operand.\"\n ]\n },\n {\n \"start_line_number\": 92,\n \"end_line_number\": 92,\n \"line_range\": [\n 92,\n 92\n ],\n \"text\": \"@return New Point with summed coordinates.\",\n \"text_lines\": [\n \"@return New Point with summed coordinates.\"\n ]\n },\n {\n \"start_line_number\": 116,\n \"end_line_number\": 116,\n \"line_range\": [\n 116,\n 116\n ],\n \"text\": \"@brief Initialize a zero-filled matrix.\",\n \"text_lines\": [\n \"@brief Initialize a zero-filled matrix.\"\n ]\n },\n {\n \"start_line_number\": 117,\n \"end_line_number\": 117,\n \"line_range\": [\n 117,\n 117\n ],\n \"text\": \"@param rows Number of rows.\",\n \"text_lines\": [\n \"@param rows Number of rows.\"\n ]\n },\n {\n \"start_line_number\": 118,\n \"end_line_number\": 118,\n \"line_range\": [\n 118,\n 118\n ],\n \"text\": \"@param cols Number of columns.\",\n \"text_lines\": [\n \"@param cols Number of columns.\"\n ]\n },\n {\n \"start_line_number\": 125,\n \"end_line_number\": 125,\n \"line_range\": [\n 125,\n 125\n ],\n \"text\": \"@brief Access matrix elements using row/column subscript.\",\n \"text_lines\": [\n \"@brief Access matrix elements using row/column subscript.\"\n ]\n },\n {\n \"start_line_number\": 126,\n \"end_line_number\": 126,\n \"line_range\": [\n 126,\n 126\n ],\n \"text\": \"@param row Row index (zero-based).\",\n \"text_lines\": [\n \"@param row Row index (zero-based).\"\n ]\n },\n {\n \"start_line_number\": 127,\n \"end_line_number\": 127,\n \"line_range\": [\n 127,\n 127\n ],\n \"text\": \"@param col Column index (zero-based).\",\n \"text_lines\": [\n \"@param col Column index (zero-based).\"\n ]\n },\n {\n \"start_line_number\": 128,\n \"end_line_number\": 128,\n \"line_range\": [\n 128,\n 128\n ],\n \"text\": \"@return The value at (row, col).\",\n \"text_lines\": [\n \"@return The value at (row, col).\"\n ]\n },\n {\n \"start_line_number\": 135,\n \"end_line_number\": 135,\n \"line_range\": [\n 135,\n 135\n ],\n \"text\": \"── Enum with associated values and methods ────────────────────────────\",\n \"text_lines\": [\n \"── Enum with associated values and methods ────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 158,\n \"end_line_number\": 158,\n \"line_range\": [\n 158,\n 158\n ],\n \"text\": \"Result-like enum with associated error types.\",\n \"text_lines\": [\n \"Result-like enum with associated error types.\"\n ]\n },\n {\n \"start_line_number\": 163,\n \"end_line_number\": 163,\n \"line_range\": [\n 163,\n 163\n ],\n \"text\": \"@brief Successful result carrying a value.\",\n \"text_lines\": [\n \"@brief Successful result carrying a value.\"\n ]\n },\n {\n \"start_line_number\": 165,\n \"end_line_number\": 165,\n \"line_range\": [\n 165,\n 165\n ],\n \"text\": \"@brief Failure carrying an error description.\",\n \"text_lines\": [\n \"@brief Failure carrying an error description.\"\n ]\n },\n {\n \"start_line_number\": 181,\n \"end_line_number\": 181,\n \"line_range\": [\n 181,\n 181\n ],\n \"text\": \"── Protocol ───────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Protocol ───────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 199,\n \"end_line_number\": 199,\n \"line_range\": [\n 199,\n 199\n ],\n \"text\": \"@brief The type of element stored in the container.\",\n \"text_lines\": [\n \"@brief The type of element stored in the container.\"\n ]\n },\n {\n \"start_line_number\": 202,\n \"end_line_number\": 202,\n \"line_range\": [\n 202,\n 202\n ],\n \"text\": \"@brief Add an item to the container.\",\n \"text_lines\": [\n \"@brief Add an item to the container.\"\n ]\n },\n {\n \"start_line_number\": 203,\n \"end_line_number\": 203,\n \"line_range\": [\n 203,\n 203\n ],\n \"text\": \"@param item The element to add.\",\n \"text_lines\": [\n \"@param item The element to add.\"\n ]\n },\n {\n \"start_line_number\": 240,\n \"end_line_number\": 240,\n \"line_range\": [\n 240,\n 240\n ],\n \"text\": \"── Property wrapper ───────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Property wrapper ───────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 242,\n \"end_line_number\": 242,\n \"line_range\": [\n 242,\n 242\n ],\n \"text\": \"Property wrapper clamping values to a specified range.\",\n \"text_lines\": [\n \"Property wrapper clamping values to a specified range.\"\n ]\n },\n {\n \"start_line_number\": 243,\n \"end_line_number\": 243,\n \"line_range\": [\n 243,\n 243\n ],\n \"text\": \"\",\n \"text_lines\": []\n },\n {\n \"start_line_number\": 261,\n \"end_line_number\": 261,\n \"line_range\": [\n 261,\n 261\n ],\n \"text\": \"@brief Initialize with range and starting value.\",\n \"text_lines\": [\n \"@brief Initialize with range and starting value.\"\n ]\n },\n {\n \"start_line_number\": 265,\n \"end_line_number\": 265,\n \"line_range\": [\n 265,\n 265\n ],\n \"text\": \"Clamp initial value to range\",\n \"text_lines\": [\n \"Clamp initial value to range\"\n ]\n },\n {\n \"start_line_number\": 270,\n \"end_line_number\": 270,\n \"line_range\": [\n 270,\n 270\n ],\n \"text\": \"── Actor (Swift concurrency) ──────────────────────────────────────────\",\n \"text_lines\": [\n \"── Actor (Swift concurrency) ──────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 272,\n \"end_line_number\": 272,\n \"line_range\": [\n 272,\n 272\n ],\n \"text\": \"Actor providing thread-safe counter operations.\",\n \"text_lines\": [\n \"Actor providing thread-safe counter operations.\"\n ]\n },\n {\n \"start_line_number\": 273,\n \"end_line_number\": 273,\n \"line_range\": [\n 273,\n 273\n ],\n \"text\": \"\",\n \"text_lines\": []\n },\n {\n \"start_line_number\": 292,\n \"end_line_number\": 292,\n \"line_range\": [\n 292,\n 292\n ],\n \"text\": \"── Free functions ─────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Free functions ─────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 306,\n \"end_line_number\": 306,\n \"line_range\": [\n 306,\n 306\n ],\n \"text\": \"@brief Generic function with where clause constraint.\",\n \"text_lines\": [\n \"@brief Generic function with where clause constraint.\"\n ]\n },\n {\n \"start_line_number\": 307,\n \"end_line_number\": 307,\n \"line_range\": [\n 307,\n 307\n ],\n \"text\": \"@tparam T Must be Equatable.\",\n \"text_lines\": [\n \"@tparam T Must be Equatable.\"\n ]\n },\n {\n \"start_line_number\": 320,\n \"end_line_number\": 320,\n \"line_range\": [\n 320,\n 320\n ],\n \"text\": \"Execute the captured closure\",\n \"text_lines\": [\n \"Execute the captured closure\"\n ]\n },\n {\n \"start_line_number\": 341,\n \"end_line_number\": 341,\n \"line_range\": [\n 341,\n 341\n ],\n \"text\": \"coverage extension block\",\n \"text_lines\": [\n \"coverage extension block\"\n ]\n },\n {\n \"start_line_number\": 361,\n \"end_line_number\": 361,\n \"line_range\": [\n 361,\n 361\n ],\n \"text\": \"REQ-COVER-SRS-231 START\",\n \"text_lines\": [\n \"REQ-COVER-SRS-231 START\"\n ]\n },\n {\n \"start_line_number\": 362,\n \"end_line_number\": 362,\n \"line_range\": [\n 362,\n 362\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 1\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 1\"\n ]\n },\n {\n \"start_line_number\": 363,\n \"end_line_number\": 363,\n \"line_range\": [\n 363,\n 363\n ],\n \"text\": \"@brief Coverage helper construct 1.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 1.\"\n ]\n },\n {\n \"start_line_number\": 369,\n \"end_line_number\": 369,\n \"line_range\": [\n 369,\n 369\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 2\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 2\"\n ]\n },\n {\n \"start_line_number\": 370,\n \"end_line_number\": 370,\n \"line_range\": [\n 370,\n 370\n ],\n \"text\": \"@brief Coverage helper construct 2.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 376,\n \"end_line_number\": 376,\n \"line_range\": [\n 376,\n 376\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 3\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 3\"\n ]\n },\n {\n \"start_line_number\": 377,\n \"end_line_number\": 377,\n \"line_range\": [\n 377,\n 377\n ],\n \"text\": \"@brief Coverage helper construct 3.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 383,\n \"end_line_number\": 383,\n \"line_range\": [\n 383,\n 383\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 4\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 4\"\n ]\n },\n {\n \"start_line_number\": 384,\n \"end_line_number\": 384,\n \"line_range\": [\n 384,\n 384\n ],\n \"text\": \"@brief Coverage helper construct 4.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 390,\n \"end_line_number\": 390,\n \"line_range\": [\n 390,\n 390\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 391,\n \"end_line_number\": 391,\n \"line_range\": [\n 391,\n 391\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 397,\n \"end_line_number\": 397,\n \"line_range\": [\n 397,\n 397\n ],\n \"text\": \"REQ-COVER-SRS-231 END\",\n \"text_lines\": [\n \"REQ-COVER-SRS-231 END\"\n ]\n }\n ]\n }\n ]\n}\n",
|
|
4
|
+
"stderr": ""
|
|
5
|
+
}
|
package/tests/fixtures_attended_results/standalone/files-references/fixture_typescript.ts.json
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"code": 0,
|
|
3
|
+
"stdout": "{\n \"request\": {\n \"tool_name\": \"files-references\",\n \"scope\": \"explicit-files\",\n \"base_dir_path\": \"<ROOT>\",\n \"source_directory_count\": 0,\n \"source_directory_paths\": [],\n \"requested_file_count\": 1,\n \"requested_input_paths\": [\n \"tests/fixtures/fixture_typescript.ts\"\n ],\n \"requested_canonical_paths\": [\n \"tests/fixtures/fixture_typescript.ts\"\n ]\n },\n \"summary\": {\n \"processable_file_count\": 1,\n \"analyzed_file_count\": 1,\n \"error_file_count\": 0,\n \"skipped_file_count\": 0,\n \"total_symbol_count\": 45,\n \"total_import_count\": 5,\n \"total_comment_count\": 102,\n \"total_standalone_comment_count\": 59,\n \"total_doxygen_field_count\": 75,\n \"symbol_kind_counts\": {\n \"CLASS\": 5,\n \"ENUM\": 5,\n \"FUNCTION\": 14,\n \"INTERFACE\": 5,\n \"MODULE\": 5,\n \"NAMESPACE\": 5,\n \"TYPE_ALIAS\": 6\n }\n },\n \"repository\": {\n \"root_directory_path\": \"<ROOT>\",\n \"source_directory_paths\": [],\n \"file_count\": 1,\n \"file_canonical_paths\": [\n \"tests/fixtures/fixture_typescript.ts\"\n ],\n \"directory_tree\": {\n \"node_name\": \".\",\n \"relative_path\": \".\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"tests\",\n \"relative_path\": \"tests\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"fixtures\",\n \"relative_path\": \"tests/fixtures\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"fixture_typescript.ts\",\n \"relative_path\": \"tests/fixtures/fixture_typescript.ts\",\n \"node_kind\": \"file\",\n \"child_count\": 0,\n \"children\": []\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"files\": [\n {\n \"start_line_number\": 1,\n \"end_line_number\": 434,\n \"line_range\": [\n 1,\n 434\n ],\n \"request_index\": 0,\n \"input_path\": \"tests/fixtures/fixture_typescript.ts\",\n \"canonical_path\": \"tests/fixtures/fixture_typescript.ts\",\n \"absolute_path\": \"<ROOT>/tests/fixtures/fixture_typescript.ts\",\n \"file_name\": \"fixture_typescript.ts\",\n \"file_extension\": \".ts\",\n \"language_id\": \"typescript\",\n \"language_name\": \"TypeScript\",\n \"status\": \"analyzed\",\n \"exists\": true,\n \"is_file\": true,\n \"import_count\": 5,\n \"symbol_count\": 45,\n \"comment_count\": 102,\n \"standalone_comment_count\": 59,\n \"doxygen_field_count\": 75,\n \"file_doxygen\": {\n \"brief\": [\n \"Comprehensive TypeScript test fixture for parser validation.\"\n ],\n \"details\": [\n \"Covers conditional types, mapped types, template literal types,\\nsatisfies operator, overload signatures, discriminated unions,\\nmodule augmentation, decorators, generic constraints, and utility types.\"\n ]\n },\n \"imports\": [\n {\n \"start_line_number\": 10,\n \"end_line_number\": 10,\n \"line_range\": [\n 10,\n 10\n ],\n \"import_name\": \"{ Component } from 'react';\",\n \"statement_text\": \"import { Component } from 'react';\"\n },\n {\n \"start_line_number\": 11,\n \"end_line_number\": 11,\n \"line_range\": [\n 11,\n 11\n ],\n \"import_name\": \"type { ReactNode } from 'react';\",\n \"statement_text\": \"import type { ReactNode } from 'react';\"\n },\n {\n \"start_line_number\": 378,\n \"end_line_number\": 378,\n \"line_range\": [\n 378,\n 378\n ],\n \"import_name\": \"{ Injectable } from 'inversify';\",\n \"statement_text\": \"import { Injectable } from 'inversify';\"\n },\n {\n \"start_line_number\": 379,\n \"end_line_number\": 379,\n \"line_range\": [\n 379,\n 379\n ],\n \"import_name\": \"{ Observable } from 'rxjs';\",\n \"statement_text\": \"import { Observable } from 'rxjs';\"\n },\n {\n \"start_line_number\": 380,\n \"end_line_number\": 380,\n \"line_range\": [\n 380,\n 380\n ],\n \"import_name\": \"{ FC } from 'react';\",\n \"statement_text\": \"import { FC } from 'react';\"\n }\n ],\n \"symbols\": [\n {\n \"start_line_number\": 19,\n \"end_line_number\": 28,\n \"line_range\": [\n 19,\n 28\n ],\n \"declaration_order_index\": 0,\n \"symbol_name\": \"User\",\n \"qualified_name\": \"User\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"interface User\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Core user entity with identity fields.\",\n \"doxygen\": {\n \"brief\": [\n \"Core user entity with identity fields.\",\n \"Display name of the user.\",\n \"Age in years; must be non-negative.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 20,\n \"end_line_number\": 20,\n \"line_range\": [\n 20,\n 20\n ],\n \"text\": \"@brief Display name of the user.\",\n \"text_lines\": [\n \"@brief Display name of the user.\"\n ]\n },\n {\n \"start_line_number\": 22,\n \"end_line_number\": 22,\n \"line_range\": [\n 22,\n 22\n ],\n \"text\": \"@brief Age in years; must be non-negative.\",\n \"text_lines\": [\n \"@brief Age in years; must be non-negative.\"\n ]\n },\n {\n \"start_line_number\": 24,\n \"end_line_number\": 24,\n \"line_range\": [\n 24,\n 24\n ],\n \"text\": \"@brief Optional email address.\",\n \"text_lines\": [\n \"@brief Optional email address.\"\n ]\n },\n {\n \"start_line_number\": 26,\n \"end_line_number\": 26,\n \"line_range\": [\n 26,\n 26\n ],\n \"text\": \"@brief Read-only unique identifier.\",\n \"text_lines\": [\n \"@brief Read-only unique identifier.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 35,\n \"end_line_number\": 42,\n \"line_range\": [\n 35,\n 42\n ],\n \"declaration_order_index\": 1,\n \"symbol_name\": \"Repository\",\n \"qualified_name\": \"Repository\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"interface Repository<T>\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Generic CRUD repository with type parameter.\\n@tparam T Entity type managed by this repository.\",\n \"doxygen\": {\n \"brief\": [\n \"Generic CRUD repository with type parameter.\\n@tparam T Entity type managed by this repository.\",\n \"Find an entity by its ID.\",\n \"Persist an entity, returning the saved version.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 36,\n \"end_line_number\": 36,\n \"line_range\": [\n 36,\n 36\n ],\n \"text\": \"@brief Find an entity by its ID.\",\n \"text_lines\": [\n \"@brief Find an entity by its ID.\"\n ]\n },\n {\n \"start_line_number\": 38,\n \"end_line_number\": 38,\n \"line_range\": [\n 38,\n 38\n ],\n \"text\": \"@brief Persist an entity, returning the saved version.\",\n \"text_lines\": [\n \"@brief Persist an entity, returning the saved version.\"\n ]\n },\n {\n \"start_line_number\": 40,\n \"end_line_number\": 40,\n \"line_range\": [\n 40,\n 40\n ],\n \"text\": \"@brief Delete an entity by ID.\",\n \"text_lines\": [\n \"@brief Delete an entity by ID.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 48,\n \"end_line_number\": 51,\n \"line_range\": [\n 48,\n 51\n ],\n \"declaration_order_index\": 2,\n \"symbol_name\": \"Serializable\",\n \"qualified_name\": \"Serializable\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"interface Serializable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Marks objects that can be serialized to JSON.\",\n \"doxygen\": {\n \"brief\": [\n \"Marks objects that can be serialized to JSON.\",\n \"Convert to a JSON-compatible string.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 49,\n \"end_line_number\": 49,\n \"line_range\": [\n 49,\n 49\n ],\n \"text\": \"@brief Convert to a JSON-compatible string.\",\n \"text_lines\": [\n \"@brief Convert to a JSON-compatible string.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 56,\n \"end_line_number\": 56,\n \"line_range\": [\n 56,\n 56\n ],\n \"declaration_order_index\": 3,\n \"symbol_name\": \"StringOrNumber\",\n \"qualified_name\": \"StringOrNumber\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type StringOrNumber = string | number\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Union type for values that can be string or number. */\",\n \"doxygen\": {\n \"brief\": [\n \"Union type for values that can be string or number. */\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 59,\n \"end_line_number\": 59,\n \"line_range\": [\n 59,\n 59\n ],\n \"declaration_order_index\": 4,\n \"symbol_name\": \"DeepReadonly\",\n \"qualified_name\": \"DeepReadonly\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type DeepReadonly<T> =\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Mapped type making all properties of T optional and readonly. */\",\n \"doxygen\": {\n \"brief\": [\n \"Mapped type making all properties of T optional and readonly. */\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 64,\n \"end_line_number\": 64,\n \"line_range\": [\n 64,\n 64\n ],\n \"declaration_order_index\": 5,\n \"symbol_name\": \"Unwrap\",\n \"qualified_name\": \"Unwrap\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type Unwrap<T> = T extends Array<infer U> ? U : T\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Conditional type extracting array element type. */\",\n \"doxygen\": {\n \"brief\": [\n \"Conditional type extracting array element type. */\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 67,\n \"end_line_number\": 67,\n \"line_range\": [\n 67,\n 67\n ],\n \"declaration_order_index\": 6,\n \"symbol_name\": \"PixelValue\",\n \"qualified_name\": \"PixelValue\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type PixelValue = `${number}px`\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Template literal type for CSS pixel values. */\",\n \"doxygen\": {\n \"brief\": [\n \"Template literal type for CSS pixel values. */\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 70,\n \"end_line_number\": 70,\n \"line_range\": [\n 70,\n 70\n ],\n \"declaration_order_index\": 7,\n \"symbol_name\": \"ApiResponse\",\n \"qualified_name\": \"ApiResponse\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type ApiResponse<T> =\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Discriminated union tag for API responses. */\",\n \"doxygen\": {\n \"brief\": [\n \"Discriminated union tag for API responses. */\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 76,\n \"end_line_number\": 76,\n \"line_range\": [\n 76,\n 76\n ],\n \"declaration_order_index\": 8,\n \"symbol_name\": \"KeysOfType\",\n \"qualified_name\": \"KeysOfType\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type KeysOfType<T, V> =\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Extract keys of T whose values extend a given type. */\",\n \"doxygen\": {\n \"brief\": [\n \"Extract keys of T whose values extend a given type. */\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 86,\n \"end_line_number\": 91,\n \"line_range\": [\n 86,\n 91\n ],\n \"declaration_order_index\": 9,\n \"symbol_name\": \"Direction\",\n \"qualified_name\": \"Direction\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"const enum Direction\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Const enum for cardinal directions (inlined at compile time).\",\n \"doxygen\": {\n \"brief\": [\n \"Const enum for cardinal directions (inlined at compile time).\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 97,\n \"end_line_number\": 104,\n \"line_range\": [\n 97,\n 104\n ],\n \"declaration_order_index\": 10,\n \"symbol_name\": \"Color\",\n \"qualified_name\": \"Color\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum Color\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Regular enum with numeric values for color channels.\",\n \"doxygen\": {\n \"brief\": [\n \"Regular enum with numeric values for color channels.\",\n \"Red channel identifier.\",\n \"Blue channel identifier.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 98,\n \"end_line_number\": 98,\n \"line_range\": [\n 98,\n 98\n ],\n \"text\": \"@brief Red channel identifier.\",\n \"text_lines\": [\n \"@brief Red channel identifier.\"\n ]\n },\n {\n \"start_line_number\": 100,\n \"end_line_number\": 100,\n \"line_range\": [\n 100,\n 100\n ],\n \"text\": \"@brief Blue channel identifier.\",\n \"text_lines\": [\n \"@brief Blue channel identifier.\"\n ]\n },\n {\n \"start_line_number\": 102,\n \"end_line_number\": 102,\n \"line_range\": [\n 102,\n 102\n ],\n \"text\": \"@brief Green channel, explicitly set to 10.\",\n \"text_lines\": [\n \"@brief Green channel, explicitly set to 10.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 110,\n \"end_line_number\": 114,\n \"line_range\": [\n 110,\n 114\n ],\n \"declaration_order_index\": 11,\n \"symbol_name\": \"HttpStatus\",\n \"qualified_name\": \"HttpStatus\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum HttpStatus\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"String enum mapping HTTP status codes.\",\n \"doxygen\": {\n \"brief\": [\n \"String enum mapping HTTP status codes.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 122,\n \"end_line_number\": 139,\n \"line_range\": [\n 122,\n 139\n ],\n \"declaration_order_index\": 12,\n \"symbol_name\": \"Base\",\n \"qualified_name\": \"Base\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"export abstract class Base\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Abstract base class with template method pattern.\",\n \"doxygen\": {\n \"brief\": [\n \"Abstract base class with template method pattern.\",\n \"Abstract render method to be implemented by subclasses.\"\n ],\n \"returns\": [\n \"void\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 123,\n \"end_line_number\": 126,\n \"line_range\": [\n 123,\n 126\n ],\n \"text\": \"@brief Abstract render method to be implemented by subclasses. @return void\",\n \"text_lines\": [\n \"@brief Abstract render method to be implemented by subclasses. @return void\"\n ]\n },\n {\n \"start_line_number\": 129,\n \"end_line_number\": 131,\n \"line_range\": [\n 129,\n 131\n ],\n \"text\": \"@brief Template method calling render with pre/post hooks.\",\n \"text_lines\": [\n \"@brief Template method calling render with pre/post hooks.\"\n ]\n },\n {\n \"start_line_number\": 133,\n \"end_line_number\": 133,\n \"line_range\": [\n 133,\n 133\n ],\n \"text\": \"Pre-render hook\",\n \"text_lines\": [\n \"Pre-render hook\"\n ]\n },\n {\n \"start_line_number\": 136,\n \"end_line_number\": 136,\n \"line_range\": [\n 136,\n 136\n ],\n \"text\": \"Post-render hook\",\n \"text_lines\": [\n \"Post-render hook\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 148,\n \"end_line_number\": 161,\n \"line_range\": [\n 148,\n 161\n ],\n \"declaration_order_index\": 13,\n \"symbol_name\": \"Derived\",\n \"qualified_name\": \"Derived\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"class Derived extends Base\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"inherits_text\": \"Base\",\n \"attached_comment_summary_text\": \"Concrete implementation with typed value storage.\",\n \"doxygen\": {\n \"brief\": [\n \"Concrete implementation with typed value storage.\",\n \"Stored numeric value.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 149,\n \"end_line_number\": 149,\n \"line_range\": [\n 149,\n 149\n ],\n \"text\": \"@brief Stored numeric value.\",\n \"text_lines\": [\n \"@brief Stored numeric value.\"\n ]\n },\n {\n \"start_line_number\": 152,\n \"end_line_number\": 152,\n \"line_range\": [\n 152,\n 152\n ],\n \"text\": \"@brief Optional label for display.\",\n \"text_lines\": [\n \"@brief Optional label for display.\"\n ]\n },\n {\n \"start_line_number\": 155,\n \"end_line_number\": 157,\n \"line_range\": [\n 155,\n 157\n ],\n \"text\": \"@brief Render the value to console output.\",\n \"text_lines\": [\n \"@brief Render the value to console output.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 168,\n \"end_line_number\": 201,\n \"line_range\": [\n 168,\n 201\n ],\n \"declaration_order_index\": 14,\n \"symbol_name\": \"TypedContainer\",\n \"qualified_name\": \"TypedContainer\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"class TypedContainer<T extends Serializable>\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"inherits_text\": \"Serializable>\",\n \"attached_comment_summary_text\": \"Generic container with constraint on Serializable.\\n@tparam T Must implement Serializable interface.\",\n \"doxygen\": {\n \"brief\": [\n \"Generic container with constraint on Serializable.\\n@tparam T Must implement Serializable interface.\",\n \"Internal array storage for items.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 169,\n \"end_line_number\": 169,\n \"line_range\": [\n 169,\n 169\n ],\n \"text\": \"@brief Internal array storage for items.\",\n \"text_lines\": [\n \"@brief Internal array storage for items.\"\n ]\n },\n {\n \"start_line_number\": 172,\n \"end_line_number\": 175,\n \"line_range\": [\n 172,\n 175\n ],\n \"text\": \"@brief Add an item to the container. @param item Item conforming to Serializable.\",\n \"text_lines\": [\n \"@brief Add an item to the container. @param item Item conforming to Serializable.\"\n ]\n },\n {\n \"start_line_number\": 180,\n \"end_line_number\": 183,\n \"line_range\": [\n 180,\n 183\n ],\n \"text\": \"@brief Serialize all items to a JSON array string. @return JSON string of all serialized items.\",\n \"text_lines\": [\n \"@brief Serialize all items to a JSON array string. @return JSON string of all serialized items.\"\n ]\n },\n {\n \"start_line_number\": 188,\n \"end_line_number\": 192,\n \"line_range\": [\n 188,\n 192\n ],\n \"text\": \"@brief Find first item matching a predicate. @param predicate Test function applied to each item. @return The first matching item or undefined.\",\n \"text_lines\": [\n \"@brief Find first item matching a predicate. @param predicate Test function applied to each item. @return The first matching item or undefined.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 185,\n \"text\": \"return `[${this.items.map(i => i.toJSON()).join(',')}]`;\"\n },\n {\n \"line_number\": 196,\n \"text\": \"return item;\"\n },\n {\n \"line_number\": 199,\n \"text\": \"return undefined;\"\n }\n ]\n },\n {\n \"start_line_number\": 210,\n \"end_line_number\": 228,\n \"line_range\": [\n 210,\n 228\n ],\n \"declaration_order_index\": 15,\n \"symbol_name\": \"UserEntity\",\n \"qualified_name\": \"UserEntity\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"class UserEntity implements User, Serializable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"inherits_text\": \"User, Serializable\",\n \"attached_comment_summary_text\": \"Full user entity implementing both User and Serializable.\",\n \"doxygen\": {\n \"brief\": [\n \"Full user entity implementing both User and Serializable.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 221,\n \"end_line_number\": 224,\n \"line_range\": [\n 221,\n 224\n ],\n \"text\": \"@brief Serialize user to JSON string. @return JSON representation of the user.\",\n \"text_lines\": [\n \"@brief Serialize user to JSON string. @return JSON representation of the user.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 226,\n \"text\": \"return JSON.stringify({ id: this.id, name: this.name, age: this.age });\"\n }\n ]\n },\n {\n \"start_line_number\": 237,\n \"end_line_number\": 239,\n \"line_range\": [\n 237,\n 239\n ],\n \"declaration_order_index\": 16,\n \"symbol_name\": \"greet\",\n \"qualified_name\": \"greet\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"export function greet(name: string): void\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Greet a person by name with type-safe parameter.\",\n \"doxygen\": {\n \"brief\": [\n \"Greet a person by name with type-safe parameter.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"name\",\n \"description\": \"The person's name to display.\"\n }\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 249,\n \"end_line_number\": 256,\n \"line_range\": [\n 249,\n 256\n ],\n \"declaration_order_index\": 17,\n \"symbol_name\": \"parse\",\n \"qualified_name\": \"parse\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function parse(input: string): number\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Parse input with overloaded signatures for type safety.\\n@overload Parse a string input into a number.\\n@overload Parse a number input into a string.\",\n \"doxygen\": {\n \"brief\": [\n \"Parse input with overloaded signatures for type safety.\\n@overload Parse a string input into a number.\\n@overload Parse a number input into a string.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 253,\n \"text\": \"return parseInt(input, 10);\"\n },\n {\n \"line_number\": 255,\n \"text\": \"return input.toString();\"\n }\n ]\n },\n {\n \"start_line_number\": 250,\n \"end_line_number\": 256,\n \"line_range\": [\n 250,\n 256\n ],\n \"declaration_order_index\": 18,\n \"symbol_name\": \"parse\",\n \"qualified_name\": \"parse\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function parse(input: number): string\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 253,\n \"text\": \"return parseInt(input, 10);\"\n },\n {\n \"line_number\": 255,\n \"text\": \"return input.toString();\"\n }\n ]\n },\n {\n \"start_line_number\": 251,\n \"end_line_number\": 256,\n \"line_range\": [\n 251,\n 256\n ],\n \"declaration_order_index\": 19,\n \"symbol_name\": \"parse\",\n \"qualified_name\": \"parse\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function parse(input: string | number): string | number\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 253,\n \"text\": \"return parseInt(input, 10);\"\n },\n {\n \"line_number\": 255,\n \"text\": \"return input.toString();\"\n }\n ]\n },\n {\n \"start_line_number\": 266,\n \"end_line_number\": 277,\n \"line_range\": [\n 266,\n 277\n ],\n \"declaration_order_index\": 20,\n \"symbol_name\": \"add\",\n \"qualified_name\": \"add\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"const add = (a: number): number => a + 1\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Add one to a number (arrow function syntax).\",\n \"doxygen\": {\n \"brief\": [\n \"Add one to a number (arrow function syntax).\",\n \"Generic transform function with constraint. @tparam T Must have a toString method.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"a\",\n \"description\": \"The input number.\"\n },\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value to transform.\"\n }\n ],\n \"returns\": [\n \"The incremented value.\",\n \"String representation of the value.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 268,\n \"end_line_number\": 274,\n \"line_range\": [\n 268,\n 274\n ],\n \"text\": \"@function transform @brief Generic transform function with constraint. @tparam T Must have a toString method. @param value Input value to transform. @return String representation of the value.\",\n \"text_lines\": [\n \"@function transform @brief Generic transform function with constraint. @tparam T Must have a toString method. @param value Input value to transform. @return String representation of the value.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 276,\n \"text\": \"return value.toString();\"\n }\n ]\n },\n {\n \"start_line_number\": 288,\n \"end_line_number\": 292,\n \"line_range\": [\n 288,\n 292\n ],\n \"declaration_order_index\": 21,\n \"symbol_name\": \"fetchEntity\",\n \"qualified_name\": \"fetchEntity\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"async function fetchEntity<T>(url: string): Promise<T>\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Fetch and deserialize a typed entity from an API.\\n@tparam T The expected response entity type.\",\n \"doxygen\": {\n \"brief\": [\n \"Fetch and deserialize a typed entity from an API.\\n@tparam T The expected response entity type.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"url\",\n \"description\": \"Endpoint URL.\"\n }\n ],\n \"returns\": [\n \"Promise resolving to the typed entity.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 290,\n \"end_line_number\": 290,\n \"line_range\": [\n 290,\n 290\n ],\n \"text\": \"Parse JSON and cast to expected type\",\n \"text_lines\": [\n \"Parse JSON and cast to expected type\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 291,\n \"text\": \"return response.json() as Promise<T>;\"\n }\n ]\n },\n {\n \"start_line_number\": 300,\n \"end_line_number\": 312,\n \"line_range\": [\n 300,\n 312\n ],\n \"declaration_order_index\": 22,\n \"symbol_name\": \"MyNS\",\n \"qualified_name\": \"MyNS\",\n \"symbol_kind\": \"NAMESPACE\",\n \"type_label\": \"NAMESPACE\",\n \"signature_text\": \"export namespace MyNS\",\n \"child_symbol_names\": [\n \"double\"\n ],\n \"child_qualified_names\": [\n \"MyNS.double\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Namespace grouping related constants and helpers.\",\n \"doxygen\": {\n \"brief\": [\n \"Namespace grouping related constants and helpers.\",\n \"Exported constant within namespace.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 301,\n \"end_line_number\": 301,\n \"line_range\": [\n 301,\n 301\n ],\n \"text\": \"@brief Exported constant within namespace.\",\n \"text_lines\": [\n \"@brief Exported constant within namespace.\"\n ]\n },\n {\n \"start_line_number\": 304,\n \"end_line_number\": 308,\n \"line_range\": [\n 304,\n 308\n ],\n \"text\": \"@brief Helper function scoped to namespace. @param val Numeric input to double. @return The doubled value.\",\n \"text_lines\": [\n \"@brief Helper function scoped to namespace. @param val Numeric input to double. @return The doubled value.\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 310,\n \"text\": \"return val * 2;\"\n }\n ]\n },\n {\n \"start_line_number\": 309,\n \"end_line_number\": 311,\n \"line_range\": [\n 309,\n 311\n ],\n \"declaration_order_index\": 23,\n \"symbol_name\": \"double\",\n \"qualified_name\": \"MyNS.double\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"export function double(val: number): number\",\n \"parent_symbol_name\": \"MyNS\",\n \"parent_qualified_name\": \"MyNS\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Helper function scoped to namespace.\",\n \"doxygen\": {\n \"brief\": [\n \"Helper function scoped to namespace.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"val\",\n \"description\": \"Numeric input to double.\"\n }\n ],\n \"returns\": [\n \"The doubled value.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 310,\n \"text\": \"return val * 2;\"\n }\n ]\n },\n {\n \"start_line_number\": 320,\n \"end_line_number\": 323,\n \"line_range\": [\n 320,\n 323\n ],\n \"declaration_order_index\": 24,\n \"symbol_name\": \"MyMod\",\n \"qualified_name\": \"MyMod\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"declare module MyMod\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Ambient module declaration for external library typings.\",\n \"doxygen\": {\n \"brief\": [\n \"Ambient module declaration for external library typings.\",\n \"Version string exposed by the external module.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 321,\n \"end_line_number\": 321,\n \"line_range\": [\n 321,\n 321\n ],\n \"text\": \"@brief Version string exposed by the external module.\",\n \"text_lines\": [\n \"@brief Version string exposed by the external module.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 332,\n \"end_line_number\": 335,\n \"line_range\": [\n 332,\n 335\n ],\n \"declaration_order_index\": 25,\n \"symbol_name\": \"Decorated\",\n \"qualified_name\": \"Decorated\",\n \"symbol_kind\": \"CLASS\",\n \"type_label\": \"CLASS\",\n \"signature_text\": \"class Decorated\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"decorator_text\": \"@Component\",\n \"attached_comment_summary_text\": \"Template string for rendering.\",\n \"doxygen\": {\n \"brief\": [\n \"Template string for rendering.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 333,\n \"end_line_number\": 333,\n \"line_range\": [\n 333,\n 333\n ],\n \"text\": \"@brief Template string for rendering.\",\n \"text_lines\": [\n \"@brief Template string for rendering.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 345,\n \"end_line_number\": 351,\n \"line_range\": [\n 345,\n 351\n ],\n \"declaration_order_index\": 26,\n \"symbol_name\": \"isUser\",\n \"qualified_name\": \"isUser\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function isUser(value: unknown): value is User\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Type guard narrowing unknown to User interface.\",\n \"doxygen\": {\n \"brief\": [\n \"Type guard narrowing unknown to User interface.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Unknown input to validate.\"\n }\n ],\n \"returns\": [\n \"True if value conforms to User shape.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 347,\n \"text\": \"return false;\"\n },\n {\n \"line_number\": 350,\n \"text\": \"return typeof obj.name === 'string' && typeof obj.age === 'number';\"\n }\n ]\n },\n {\n \"start_line_number\": 373,\n \"end_line_number\": 375,\n \"line_range\": [\n 373,\n 375\n ],\n \"declaration_order_index\": 27,\n \"symbol_name\": \"makeOptional\",\n \"qualified_name\": \"makeOptional\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function makeOptional<T extends object>(obj: T): Partial<T>\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Convert all properties of an object to optional at runtime.\\n@tparam T Source object type.\",\n \"doxygen\": {\n \"brief\": [\n \"Convert all properties of an object to optional at runtime.\\n@tparam T Source object type.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"obj\",\n \"description\": \"The source object.\"\n }\n ],\n \"returns\": [\n \"A partial copy of the object.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 374,\n \"text\": \"return { ...obj };\"\n }\n ]\n },\n {\n \"start_line_number\": 385,\n \"end_line_number\": 385,\n \"line_range\": [\n 385,\n 385\n ],\n \"declaration_order_index\": 28,\n \"symbol_name\": \"CacheEntry\",\n \"qualified_name\": \"CacheEntry\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"interface CacheEntry { key: string; value: string }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"decorator_text\": \"@memoized\",\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 386,\n \"end_line_number\": 386,\n \"line_range\": [\n 386,\n 386\n ],\n \"declaration_order_index\": 29,\n \"symbol_name\": \"Runner\",\n \"qualified_name\": \"Runner\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"export interface Runner { run(): Promise<void> }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 387,\n \"end_line_number\": 387,\n \"line_range\": [\n 387,\n 387\n ],\n \"declaration_order_index\": 30,\n \"symbol_name\": \"ModeTs\",\n \"qualified_name\": \"ModeTs\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum ModeTs { Fast, Safe }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 388,\n \"end_line_number\": 388,\n \"line_range\": [\n 388,\n 388\n ],\n \"declaration_order_index\": 31,\n \"symbol_name\": \"StatusTs\",\n \"qualified_name\": \"StatusTs\",\n \"symbol_kind\": \"ENUM\",\n \"type_label\": \"ENUM\",\n \"signature_text\": \"enum StatusTs { Ready, Busy }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 389,\n \"end_line_number\": 389,\n \"line_range\": [\n 389,\n 389\n ],\n \"declaration_order_index\": 32,\n \"symbol_name\": \"ExtNSOne\",\n \"qualified_name\": \"ExtNSOne\",\n \"symbol_kind\": \"NAMESPACE\",\n \"type_label\": \"NAMESPACE\",\n \"signature_text\": \"namespace ExtNSOne { export const v = 1; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 390,\n \"end_line_number\": 390,\n \"line_range\": [\n 390,\n 390\n ],\n \"declaration_order_index\": 33,\n \"symbol_name\": \"ExtNSTwo\",\n \"qualified_name\": \"ExtNSTwo\",\n \"symbol_kind\": \"NAMESPACE\",\n \"type_label\": \"NAMESPACE\",\n \"signature_text\": \"namespace ExtNSTwo { export const v = 2; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 391,\n \"end_line_number\": 391,\n \"line_range\": [\n 391,\n 391\n ],\n \"declaration_order_index\": 34,\n \"symbol_name\": \"ExtNSThree\",\n \"qualified_name\": \"ExtNSThree\",\n \"symbol_kind\": \"NAMESPACE\",\n \"type_label\": \"NAMESPACE\",\n \"signature_text\": \"namespace ExtNSThree { export const v = 3; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 392,\n \"end_line_number\": 392,\n \"line_range\": [\n 392,\n 392\n ],\n \"declaration_order_index\": 35,\n \"symbol_name\": \"ExtNSFour\",\n \"qualified_name\": \"ExtNSFour\",\n \"symbol_kind\": \"NAMESPACE\",\n \"type_label\": \"NAMESPACE\",\n \"signature_text\": \"namespace ExtNSFour { export const v = 4; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 393,\n \"end_line_number\": 393,\n \"line_range\": [\n 393,\n 393\n ],\n \"declaration_order_index\": 36,\n \"symbol_name\": \"ExtOne\",\n \"qualified_name\": \"ExtOne\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"declare module ExtOne { export const one: number; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 394,\n \"end_line_number\": 394,\n \"line_range\": [\n 394,\n 394\n ],\n \"declaration_order_index\": 37,\n \"symbol_name\": \"ExtTwo\",\n \"qualified_name\": \"ExtTwo\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"module ExtTwo { export const two = 2; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 395,\n \"end_line_number\": 395,\n \"line_range\": [\n 395,\n 395\n ],\n \"declaration_order_index\": 38,\n \"symbol_name\": \"ExtThree\",\n \"qualified_name\": \"ExtThree\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"module ExtThree { export const three = 3; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 396,\n \"end_line_number\": 396,\n \"line_range\": [\n 396,\n 396\n ],\n \"declaration_order_index\": 39,\n \"symbol_name\": \"ExtFour\",\n \"qualified_name\": \"ExtFour\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"module ExtFour { export const four = 4; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 404,\n \"end_line_number\": 404,\n \"line_range\": [\n 404,\n 404\n ],\n \"declaration_order_index\": 40,\n \"symbol_name\": \"reqCoverTs1\",\n \"qualified_name\": \"reqCoverTs1\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function reqCoverTs1(value: number): number { return value + 1; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 1.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 1.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 1.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 1.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 1.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 411,\n \"end_line_number\": 411,\n \"line_range\": [\n 411,\n 411\n ],\n \"declaration_order_index\": 41,\n \"symbol_name\": \"reqCoverTs2\",\n \"qualified_name\": \"reqCoverTs2\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function reqCoverTs2(value: number): number { return value + 2; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 2.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 2.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 2.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 2.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 2.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 418,\n \"end_line_number\": 418,\n \"line_range\": [\n 418,\n 418\n ],\n \"declaration_order_index\": 42,\n \"symbol_name\": \"reqCoverTs3\",\n \"qualified_name\": \"reqCoverTs3\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function reqCoverTs3(value: number): number { return value + 3; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 3.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 3.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 3.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 3.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 3.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 425,\n \"end_line_number\": 425,\n \"line_range\": [\n 425,\n 425\n ],\n \"declaration_order_index\": 43,\n \"symbol_name\": \"reqCoverTs4\",\n \"qualified_name\": \"reqCoverTs4\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function reqCoverTs4(value: number): number { return value + 4; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 4.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 4.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 4.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 4.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 4.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 432,\n \"end_line_number\": 432,\n \"line_range\": [\n 432,\n 432\n ],\n \"declaration_order_index\": 44,\n \"symbol_name\": \"reqCoverTs5\",\n \"qualified_name\": \"reqCoverTs5\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"function reqCoverTs5(value: number): number { return value + 5; }\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 5.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 5.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 5.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 5.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 5.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n }\n ],\n \"standalone_comments\": [\n {\n \"start_line_number\": 8,\n \"end_line_number\": 8,\n \"line_range\": [\n 8,\n 8\n ],\n \"text\": \"Single line comment\",\n \"text_lines\": [\n \"Single line comment\"\n ]\n },\n {\n \"start_line_number\": 9,\n \"end_line_number\": 9,\n \"line_range\": [\n 9,\n 9\n ],\n \"text\": \"Multi-line comment\",\n \"text_lines\": [\n \"Multi-line comment\"\n ]\n },\n {\n \"start_line_number\": 13,\n \"end_line_number\": 13,\n \"line_range\": [\n 13,\n 13\n ],\n \"text\": \"── Interfaces ─────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Interfaces ─────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 20,\n \"end_line_number\": 20,\n \"line_range\": [\n 20,\n 20\n ],\n \"text\": \"@brief Display name of the user.\",\n \"text_lines\": [\n \"@brief Display name of the user.\"\n ]\n },\n {\n \"start_line_number\": 22,\n \"end_line_number\": 22,\n \"line_range\": [\n 22,\n 22\n ],\n \"text\": \"@brief Age in years; must be non-negative.\",\n \"text_lines\": [\n \"@brief Age in years; must be non-negative.\"\n ]\n },\n {\n \"start_line_number\": 24,\n \"end_line_number\": 24,\n \"line_range\": [\n 24,\n 24\n ],\n \"text\": \"@brief Optional email address.\",\n \"text_lines\": [\n \"@brief Optional email address.\"\n ]\n },\n {\n \"start_line_number\": 26,\n \"end_line_number\": 26,\n \"line_range\": [\n 26,\n 26\n ],\n \"text\": \"@brief Read-only unique identifier.\",\n \"text_lines\": [\n \"@brief Read-only unique identifier.\"\n ]\n },\n {\n \"start_line_number\": 36,\n \"end_line_number\": 36,\n \"line_range\": [\n 36,\n 36\n ],\n \"text\": \"@brief Find an entity by its ID.\",\n \"text_lines\": [\n \"@brief Find an entity by its ID.\"\n ]\n },\n {\n \"start_line_number\": 38,\n \"end_line_number\": 38,\n \"line_range\": [\n 38,\n 38\n ],\n \"text\": \"@brief Persist an entity, returning the saved version.\",\n \"text_lines\": [\n \"@brief Persist an entity, returning the saved version.\"\n ]\n },\n {\n \"start_line_number\": 40,\n \"end_line_number\": 40,\n \"line_range\": [\n 40,\n 40\n ],\n \"text\": \"@brief Delete an entity by ID.\",\n \"text_lines\": [\n \"@brief Delete an entity by ID.\"\n ]\n },\n {\n \"start_line_number\": 49,\n \"end_line_number\": 49,\n \"line_range\": [\n 49,\n 49\n ],\n \"text\": \"@brief Convert to a JSON-compatible string.\",\n \"text_lines\": [\n \"@brief Convert to a JSON-compatible string.\"\n ]\n },\n {\n \"start_line_number\": 80,\n \"end_line_number\": 80,\n \"line_range\": [\n 80,\n 80\n ],\n \"text\": \"── Enums ──────────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Enums ──────────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 98,\n \"end_line_number\": 98,\n \"line_range\": [\n 98,\n 98\n ],\n \"text\": \"@brief Red channel identifier.\",\n \"text_lines\": [\n \"@brief Red channel identifier.\"\n ]\n },\n {\n \"start_line_number\": 100,\n \"end_line_number\": 100,\n \"line_range\": [\n 100,\n 100\n ],\n \"text\": \"@brief Blue channel identifier.\",\n \"text_lines\": [\n \"@brief Blue channel identifier.\"\n ]\n },\n {\n \"start_line_number\": 102,\n \"end_line_number\": 102,\n \"line_range\": [\n 102,\n 102\n ],\n \"text\": \"@brief Green channel, explicitly set to 10.\",\n \"text_lines\": [\n \"@brief Green channel, explicitly set to 10.\"\n ]\n },\n {\n \"start_line_number\": 116,\n \"end_line_number\": 116,\n \"line_range\": [\n 116,\n 116\n ],\n \"text\": \"── Abstract class ─────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Abstract class ─────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 123,\n \"end_line_number\": 126,\n \"line_range\": [\n 123,\n 126\n ],\n \"text\": \"@brief Abstract render method to be implemented by subclasses. @return void\",\n \"text_lines\": [\n \"@brief Abstract render method to be implemented by subclasses.\",\n \"@return void\"\n ]\n },\n {\n \"start_line_number\": 129,\n \"end_line_number\": 131,\n \"line_range\": [\n 129,\n 131\n ],\n \"text\": \"@brief Template method calling render with pre/post hooks.\",\n \"text_lines\": [\n \"@brief Template method calling render with pre/post hooks.\"\n ]\n },\n {\n \"start_line_number\": 133,\n \"end_line_number\": 133,\n \"line_range\": [\n 133,\n 133\n ],\n \"text\": \"Pre-render hook\",\n \"text_lines\": [\n \"Pre-render hook\"\n ]\n },\n {\n \"start_line_number\": 136,\n \"end_line_number\": 136,\n \"line_range\": [\n 136,\n 136\n ],\n \"text\": \"Post-render hook\",\n \"text_lines\": [\n \"Post-render hook\"\n ]\n },\n {\n \"start_line_number\": 141,\n \"end_line_number\": 141,\n \"line_range\": [\n 141,\n 141\n ],\n \"text\": \"── Concrete class with generics ───────────────────────────────────────\",\n \"text_lines\": [\n \"── Concrete class with generics ───────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 149,\n \"end_line_number\": 149,\n \"line_range\": [\n 149,\n 149\n ],\n \"text\": \"@brief Stored numeric value.\",\n \"text_lines\": [\n \"@brief Stored numeric value.\"\n ]\n },\n {\n \"start_line_number\": 152,\n \"end_line_number\": 152,\n \"line_range\": [\n 152,\n 152\n ],\n \"text\": \"@brief Optional label for display.\",\n \"text_lines\": [\n \"@brief Optional label for display.\"\n ]\n },\n {\n \"start_line_number\": 155,\n \"end_line_number\": 157,\n \"line_range\": [\n 155,\n 157\n ],\n \"text\": \"@brief Render the value to console output.\",\n \"text_lines\": [\n \"@brief Render the value to console output.\"\n ]\n },\n {\n \"start_line_number\": 169,\n \"end_line_number\": 169,\n \"line_range\": [\n 169,\n 169\n ],\n \"text\": \"@brief Internal array storage for items.\",\n \"text_lines\": [\n \"@brief Internal array storage for items.\"\n ]\n },\n {\n \"start_line_number\": 172,\n \"end_line_number\": 175,\n \"line_range\": [\n 172,\n 175\n ],\n \"text\": \"@brief Add an item to the container. @param item Item conforming to Serializable.\",\n \"text_lines\": [\n \"@brief Add an item to the container.\",\n \"@param item Item conforming to Serializable.\"\n ]\n },\n {\n \"start_line_number\": 180,\n \"end_line_number\": 183,\n \"line_range\": [\n 180,\n 183\n ],\n \"text\": \"@brief Serialize all items to a JSON array string. @return JSON string of all serialized items.\",\n \"text_lines\": [\n \"@brief Serialize all items to a JSON array string.\",\n \"@return JSON string of all serialized items.\"\n ]\n },\n {\n \"start_line_number\": 188,\n \"end_line_number\": 192,\n \"line_range\": [\n 188,\n 192\n ],\n \"text\": \"@brief Find first item matching a predicate. @param predicate Test function applied to each item. @return The first matching item or undefined.\",\n \"text_lines\": [\n \"@brief Find first item matching a predicate.\",\n \"@param predicate Test function applied to each item.\",\n \"@return The first matching item or undefined.\"\n ]\n },\n {\n \"start_line_number\": 203,\n \"end_line_number\": 203,\n \"line_range\": [\n 203,\n 203\n ],\n \"text\": \"── Class implementing multiple interfaces ─────────────────────────────\",\n \"text_lines\": [\n \"── Class implementing multiple interfaces ─────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 221,\n \"end_line_number\": 224,\n \"line_range\": [\n 221,\n 224\n ],\n \"text\": \"@brief Serialize user to JSON string. @return JSON representation of the user.\",\n \"text_lines\": [\n \"@brief Serialize user to JSON string.\",\n \"@return JSON representation of the user.\"\n ]\n },\n {\n \"start_line_number\": 230,\n \"end_line_number\": 230,\n \"line_range\": [\n 230,\n 230\n ],\n \"text\": \"── Functions ──────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Functions ──────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 241,\n \"end_line_number\": 241,\n \"line_range\": [\n 241,\n 241\n ],\n \"text\": \"── Function overloads ─────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Function overloads ─────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 258,\n \"end_line_number\": 258,\n \"line_range\": [\n 258,\n 258\n ],\n \"text\": \"── Arrow function with type annotation ────────────────────────────────\",\n \"text_lines\": [\n \"── Arrow function with type annotation ────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 268,\n \"end_line_number\": 274,\n \"line_range\": [\n 268,\n 274\n ],\n \"text\": \"@function transform @brief Generic transform function with constraint. @tparam T Must have a toString method. ...\",\n \"text_lines\": [\n \"@function transform\",\n \"@brief Generic transform function with constraint.\",\n \"@tparam T Must have a toString method.\",\n \"...\"\n ]\n },\n {\n \"start_line_number\": 279,\n \"end_line_number\": 279,\n \"line_range\": [\n 279,\n 279\n ],\n \"text\": \"── Async function with generic return ─────────────────────────────────\",\n \"text_lines\": [\n \"── Async function with generic return ─────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 290,\n \"end_line_number\": 290,\n \"line_range\": [\n 290,\n 290\n ],\n \"text\": \"Parse JSON and cast to expected type\",\n \"text_lines\": [\n \"Parse JSON and cast to expected type\"\n ]\n },\n {\n \"start_line_number\": 294,\n \"end_line_number\": 294,\n \"line_range\": [\n 294,\n 294\n ],\n \"text\": \"── Namespace ──────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Namespace ──────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 301,\n \"end_line_number\": 301,\n \"line_range\": [\n 301,\n 301\n ],\n \"text\": \"@brief Exported constant within namespace.\",\n \"text_lines\": [\n \"@brief Exported constant within namespace.\"\n ]\n },\n {\n \"start_line_number\": 314,\n \"end_line_number\": 314,\n \"line_range\": [\n 314,\n 314\n ],\n \"text\": \"── Module declaration ─────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Module declaration ─────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 321,\n \"end_line_number\": 321,\n \"line_range\": [\n 321,\n 321\n ],\n \"text\": \"@brief Version string exposed by the external module.\",\n \"text_lines\": [\n \"@brief Version string exposed by the external module.\"\n ]\n },\n {\n \"start_line_number\": 325,\n \"end_line_number\": 325,\n \"line_range\": [\n 325,\n 325\n ],\n \"text\": \"── Decorator ──────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Decorator ──────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 333,\n \"end_line_number\": 333,\n \"line_range\": [\n 333,\n 333\n ],\n \"text\": \"@brief Template string for rendering.\",\n \"text_lines\": [\n \"@brief Template string for rendering.\"\n ]\n },\n {\n \"start_line_number\": 337,\n \"end_line_number\": 337,\n \"line_range\": [\n 337,\n 337\n ],\n \"text\": \"── Type guards and narrowing ──────────────────────────────────────────\",\n \"text_lines\": [\n \"── Type guards and narrowing ──────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 353,\n \"end_line_number\": 353,\n \"line_range\": [\n 353,\n 353\n ],\n \"text\": \"── Satisfies operator (TS 4.9) ────────────────────────────────────────\",\n \"text_lines\": [\n \"── Satisfies operator (TS 4.9) ────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 355,\n \"end_line_number\": 358,\n \"line_range\": [\n 355,\n 358\n ],\n \"text\": \"@brief Configuration validated with satisfies for type checking without widening the inferred type.\",\n \"text_lines\": [\n \"@brief Configuration validated with satisfies for type checking\",\n \"without widening the inferred type.\"\n ]\n },\n {\n \"start_line_number\": 364,\n \"end_line_number\": 364,\n \"line_range\": [\n 364,\n 364\n ],\n \"text\": \"── Mapped type function ───────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Mapped type function ───────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 377,\n \"end_line_number\": 377,\n \"line_range\": [\n 377,\n 377\n ],\n \"text\": \"coverage extension block\",\n \"text_lines\": [\n \"coverage extension block\"\n ]\n },\n {\n \"start_line_number\": 398,\n \"end_line_number\": 398,\n \"line_range\": [\n 398,\n 398\n ],\n \"text\": \"REQ-COVER-SRS-231 START\",\n \"text_lines\": [\n \"REQ-COVER-SRS-231 START\"\n ]\n },\n {\n \"start_line_number\": 399,\n \"end_line_number\": 399,\n \"line_range\": [\n 399,\n 399\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 1\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 1\"\n ]\n },\n {\n \"start_line_number\": 400,\n \"end_line_number\": 400,\n \"line_range\": [\n 400,\n 400\n ],\n \"text\": \"@brief Coverage helper construct 1.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 1.\"\n ]\n },\n {\n \"start_line_number\": 406,\n \"end_line_number\": 406,\n \"line_range\": [\n 406,\n 406\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 2\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 2\"\n ]\n },\n {\n \"start_line_number\": 407,\n \"end_line_number\": 407,\n \"line_range\": [\n 407,\n 407\n ],\n \"text\": \"@brief Coverage helper construct 2.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 413,\n \"end_line_number\": 413,\n \"line_range\": [\n 413,\n 413\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 3\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 3\"\n ]\n },\n {\n \"start_line_number\": 414,\n \"end_line_number\": 414,\n \"line_range\": [\n 414,\n 414\n ],\n \"text\": \"@brief Coverage helper construct 3.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 420,\n \"end_line_number\": 420,\n \"line_range\": [\n 420,\n 420\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 4\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 4\"\n ]\n },\n {\n \"start_line_number\": 421,\n \"end_line_number\": 421,\n \"line_range\": [\n 421,\n 421\n ],\n \"text\": \"@brief Coverage helper construct 4.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 427,\n \"end_line_number\": 427,\n \"line_range\": [\n 427,\n 427\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 428,\n \"end_line_number\": 428,\n \"line_range\": [\n 428,\n 428\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 434,\n \"end_line_number\": 434,\n \"line_range\": [\n 434,\n 434\n ],\n \"text\": \"REQ-COVER-SRS-231 END\",\n \"text_lines\": [\n \"REQ-COVER-SRS-231 END\"\n ]\n }\n ]\n }\n ]\n}\n",
|
|
4
|
+
"stderr": ""
|
|
5
|
+
}
|