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,345 @@
|
|
|
1
|
+
# @file fixture_ruby.rb
|
|
2
|
+
# @brief Comprehensive Ruby test fixture for parser validation.
|
|
3
|
+
# @details Covers blocks, procs, lambdas, method_missing, open classes,
|
|
4
|
+
# mixins, eigenclass, refinements, define_method, and rescue/ensure.
|
|
5
|
+
# Single line comment
|
|
6
|
+
=begin
|
|
7
|
+
Multi-line
|
|
8
|
+
comment
|
|
9
|
+
=end
|
|
10
|
+
require 'json'
|
|
11
|
+
require 'set'
|
|
12
|
+
require_relative 'helper'
|
|
13
|
+
|
|
14
|
+
# @brief Maximum retry attempts for transient failures.
|
|
15
|
+
MAX_RETRIES = 42
|
|
16
|
+
|
|
17
|
+
# @brief Frozen string constant for default encoding.
|
|
18
|
+
DEFAULT_ENCODING = 'utf-8'.freeze
|
|
19
|
+
|
|
20
|
+
attr_accessor :name, :age
|
|
21
|
+
|
|
22
|
+
# ── Concern module for shared behavior ─────────────────────────────────
|
|
23
|
+
|
|
24
|
+
# @module Loggable
|
|
25
|
+
# @brief Mixin providing logging capabilities to including classes.
|
|
26
|
+
module Loggable
|
|
27
|
+
# @brief Log a message to stdout with the class name prefix.
|
|
28
|
+
# @param message [String] The message to log.
|
|
29
|
+
def log(message)
|
|
30
|
+
puts "[#{self.class.name}] #{message}"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @brief Log an error with backtrace information.
|
|
34
|
+
# @param error [Exception] The exception to log.
|
|
35
|
+
def log_error(error)
|
|
36
|
+
puts "[ERROR] #{error.message}"
|
|
37
|
+
puts error.backtrace.first(5).join("\n") if error.backtrace
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# ── Main class with nested constructs ──────────────────────────────────
|
|
42
|
+
|
|
43
|
+
# @class MyClass
|
|
44
|
+
# @brief Primary class demonstrating core Ruby patterns.
|
|
45
|
+
# @details Includes initializer, class methods, predicate methods,
|
|
46
|
+
# operator overloading, and dynamic method generation.
|
|
47
|
+
class MyClass
|
|
48
|
+
include Loggable
|
|
49
|
+
include Comparable
|
|
50
|
+
|
|
51
|
+
# @brief Read/write accessor for the instance name.
|
|
52
|
+
attr_accessor :name
|
|
53
|
+
|
|
54
|
+
# @brief Read-only accessor for the creation timestamp.
|
|
55
|
+
attr_reader :created_at
|
|
56
|
+
|
|
57
|
+
# @brief Initialize a new MyClass instance.
|
|
58
|
+
# @param name [String] The instance identifier.
|
|
59
|
+
# @param options [Hash] Optional configuration hash.
|
|
60
|
+
def initialize(name, **options)
|
|
61
|
+
@name = name
|
|
62
|
+
@options = options
|
|
63
|
+
@created_at = Time.now
|
|
64
|
+
# Set defaults for missing options
|
|
65
|
+
@options[:retries] ||= MAX_RETRIES
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# @brief Factory method creating an instance from a hash.
|
|
69
|
+
# @param attrs [Hash] Attribute hash with :name key required.
|
|
70
|
+
# @return [MyClass] A new instance populated from attrs.
|
|
71
|
+
def self.create(attrs)
|
|
72
|
+
new(attrs[:name], **attrs.except(:name))
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# @brief Build multiple instances from an array of names.
|
|
76
|
+
# @param names [Array<String>] Names to create instances for.
|
|
77
|
+
# @return [Array<MyClass>] Array of new instances.
|
|
78
|
+
def self.bulk_create(names)
|
|
79
|
+
names.map { |n| new(n) }
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# @brief Predicate checking if the instance is valid.
|
|
83
|
+
# @return [Boolean] True if name is non-empty.
|
|
84
|
+
def valid?
|
|
85
|
+
!@name.nil? && !@name.empty?
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# @brief Check if name matches a pattern.
|
|
89
|
+
# @param pattern [Regexp] Regular expression to test against.
|
|
90
|
+
# @return [Boolean] True if name matches the pattern.
|
|
91
|
+
def matches?(pattern)
|
|
92
|
+
return false if @name.nil?
|
|
93
|
+
pattern.match?(@name)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# @brief Spaceship operator for Comparable mixin.
|
|
97
|
+
# @param other [MyClass] Instance to compare with.
|
|
98
|
+
# @return [Integer] -1, 0, or 1 based on name comparison.
|
|
99
|
+
def <=>(other)
|
|
100
|
+
@name <=> other.name
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# @brief Concatenate two instances into a new one.
|
|
104
|
+
# @param other [MyClass] Instance to merge with.
|
|
105
|
+
# @return [MyClass] New instance with combined name.
|
|
106
|
+
def +(other)
|
|
107
|
+
self.class.new("#{@name}+#{other.name}")
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# @brief Convert to string representation.
|
|
111
|
+
# @return [String] Human-readable description.
|
|
112
|
+
def to_s
|
|
113
|
+
"MyClass(#{@name})"
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# @brief Handle undefined method calls dynamically.
|
|
117
|
+
# @param method [Symbol] The called method name.
|
|
118
|
+
# @param args [Array] Arguments passed to the method.
|
|
119
|
+
# @return [String] Description of the missing method.
|
|
120
|
+
# @raise [NoMethodError] If method doesn't start with 'find_by_'.
|
|
121
|
+
def method_missing(method, *args, &block)
|
|
122
|
+
if method.to_s.start_with?('find_by_')
|
|
123
|
+
field = method.to_s.sub('find_by_', '')
|
|
124
|
+
"Finding by #{field}: #{args.first}"
|
|
125
|
+
else
|
|
126
|
+
super
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# @brief Declare which dynamic methods respond_to? should recognize.
|
|
131
|
+
# @param method [Symbol] The method name to check.
|
|
132
|
+
# @param include_private [Boolean] Whether to include private methods.
|
|
133
|
+
# @return [Boolean] True if the method is handled dynamically.
|
|
134
|
+
def respond_to_missing?(method, include_private = false)
|
|
135
|
+
method.to_s.start_with?('find_by_') || super
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
protected
|
|
139
|
+
|
|
140
|
+
# @brief Protected helper for internal computations.
|
|
141
|
+
# @return [Hash] Current options hash.
|
|
142
|
+
def internal_config
|
|
143
|
+
@options.dup
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
private
|
|
147
|
+
|
|
148
|
+
# @brief Private validation running before save.
|
|
149
|
+
# @raise [RuntimeError] If validation fails.
|
|
150
|
+
def validate!
|
|
151
|
+
raise "Invalid name" unless valid?
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# ── Subclass demonstrating inheritance ─────────────────────────────────
|
|
156
|
+
|
|
157
|
+
# @class SpecialClass
|
|
158
|
+
# @extends MyClass
|
|
159
|
+
# @brief Specialized subclass with additional behavior.
|
|
160
|
+
class SpecialClass < MyClass
|
|
161
|
+
# @brief Initialize with a priority level.
|
|
162
|
+
# @param name [String] Instance name.
|
|
163
|
+
# @param priority [Integer] Processing priority (lower = first).
|
|
164
|
+
def initialize(name, priority: 0, **options)
|
|
165
|
+
super(name, **options)
|
|
166
|
+
@priority = priority
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
# @brief Override to_s with priority information.
|
|
170
|
+
# @return [String] Description including priority.
|
|
171
|
+
def to_s
|
|
172
|
+
"SpecialClass(#{@name}, pri=#{@priority})"
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# ── Module with mixins ─────────────────────────────────────────────────
|
|
177
|
+
|
|
178
|
+
# @module MyModule
|
|
179
|
+
# @brief Utility module providing helper methods.
|
|
180
|
+
module MyModule
|
|
181
|
+
# @brief Module-level helper returning a boolean.
|
|
182
|
+
# @return [Boolean] Always returns true.
|
|
183
|
+
def helper
|
|
184
|
+
true
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
# @brief Process data with block yield pattern.
|
|
188
|
+
# @param data [Object] Data to process.
|
|
189
|
+
# @yield [Object] Yields data for caller-defined processing.
|
|
190
|
+
# @return [Object] The block's return value or data itself.
|
|
191
|
+
def process_with_block(data)
|
|
192
|
+
if block_given?
|
|
193
|
+
yield(data)
|
|
194
|
+
else
|
|
195
|
+
data
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
# ── Module function ──────────────────────────────────────────────────
|
|
200
|
+
|
|
201
|
+
# @brief Utility function accessible without mixing in.
|
|
202
|
+
# @param items [Array] Items to format.
|
|
203
|
+
# @return [String] Comma-separated formatted string.
|
|
204
|
+
def self.format_list(items)
|
|
205
|
+
items.map(&:to_s).join(', ')
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
# ── Struct-based class ─────────────────────────────────────────────────
|
|
210
|
+
|
|
211
|
+
# @class Coordinate
|
|
212
|
+
# @brief Struct-based value object for 2D coordinates.
|
|
213
|
+
Coordinate = Struct.new(:x, :y) do
|
|
214
|
+
# @brief Compute the Euclidean distance from origin.
|
|
215
|
+
# @return [Float] Distance from (0, 0).
|
|
216
|
+
def distance_from_origin
|
|
217
|
+
Math.sqrt(x**2 + y**2)
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
# ── Dynamic method definition ─────────────────────────────────────────
|
|
222
|
+
|
|
223
|
+
# @class DynamicModel
|
|
224
|
+
# @brief Demonstrates metaprogramming with define_method.
|
|
225
|
+
class DynamicModel
|
|
226
|
+
# Generate getter/setter pairs for each field
|
|
227
|
+
%w[title body author].each do |field|
|
|
228
|
+
# @brief Dynamically defined getter for #{field}.
|
|
229
|
+
define_method(field) do
|
|
230
|
+
instance_variable_get("@#{field}")
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
# @brief Dynamically defined setter for #{field}.
|
|
234
|
+
define_method("#{field}=") do |value|
|
|
235
|
+
instance_variable_set("@#{field}", value)
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
# ── Proc and Lambda ───────────────────────────────────────────────────
|
|
241
|
+
|
|
242
|
+
# @brief Lambda for doubling a numeric value.
|
|
243
|
+
doubler = ->(x) { x * 2 }
|
|
244
|
+
|
|
245
|
+
# @brief Proc for formatting a greeting string.
|
|
246
|
+
greeting_proc = Proc.new { |name| "Hello, #{name}!" }
|
|
247
|
+
|
|
248
|
+
# ── Error handling ────────────────────────────────────────────────────
|
|
249
|
+
|
|
250
|
+
# @brief Execute a block with retry logic and error recovery.
|
|
251
|
+
# @param attempts [Integer] Maximum number of attempts.
|
|
252
|
+
# @yield The operation to attempt.
|
|
253
|
+
# @return [Object] The block's return value on success.
|
|
254
|
+
# @raise [RuntimeError] If all attempts fail.
|
|
255
|
+
def with_retry(attempts: MAX_RETRIES)
|
|
256
|
+
tries = 0
|
|
257
|
+
begin
|
|
258
|
+
tries += 1
|
|
259
|
+
yield
|
|
260
|
+
rescue StandardError => e
|
|
261
|
+
# Retry if attempts remain
|
|
262
|
+
retry if tries < attempts
|
|
263
|
+
raise "Failed after #{attempts} attempts: #{e.message}"
|
|
264
|
+
ensure
|
|
265
|
+
# Cleanup runs regardless of outcome
|
|
266
|
+
puts "Completed after #{tries} attempt(s)"
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
# ── Refinement ────────────────────────────────────────────────────────
|
|
271
|
+
|
|
272
|
+
# @module StringExtensions
|
|
273
|
+
# @brief Refinement adding utility methods to String.
|
|
274
|
+
module StringExtensions
|
|
275
|
+
refine String do
|
|
276
|
+
# @brief Check if the string is a valid email address.
|
|
277
|
+
# @return [Boolean] True if string matches email pattern.
|
|
278
|
+
def email?
|
|
279
|
+
match?(/\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i)
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
=begin
|
|
285
|
+
coverage extension block
|
|
286
|
+
=end
|
|
287
|
+
class ServiceObject; end # inline class comment
|
|
288
|
+
class ReportBuilder; end
|
|
289
|
+
module Metrics; end
|
|
290
|
+
module Extras; end
|
|
291
|
+
MAX_LIMIT = 100
|
|
292
|
+
API_VERSION = "v2"
|
|
293
|
+
CACHE_SIZE = 1024
|
|
294
|
+
attr_writer :token
|
|
295
|
+
attr_reader :state
|
|
296
|
+
require 'yaml'
|
|
297
|
+
require 'logger'
|
|
298
|
+
|
|
299
|
+
# REQ-COVER-SRS-231 START
|
|
300
|
+
# @REQ-COVER-SRS-231 block 1
|
|
301
|
+
# @brief Coverage helper construct 1.
|
|
302
|
+
# @details Provides deterministic fixture-level Doxygen coverage block 1.
|
|
303
|
+
# @param value Input value for helper construct 1.
|
|
304
|
+
# @return Output value for helper construct 1.
|
|
305
|
+
def req_cover_ruby_1(value)
|
|
306
|
+
value + 1
|
|
307
|
+
end
|
|
308
|
+
|
|
309
|
+
# @REQ-COVER-SRS-231 block 2
|
|
310
|
+
# @brief Coverage helper construct 2.
|
|
311
|
+
# @details Provides deterministic fixture-level Doxygen coverage block 2.
|
|
312
|
+
# @param value Input value for helper construct 2.
|
|
313
|
+
# @return Output value for helper construct 2.
|
|
314
|
+
def req_cover_ruby_2(value)
|
|
315
|
+
value + 2
|
|
316
|
+
end
|
|
317
|
+
|
|
318
|
+
# @REQ-COVER-SRS-231 block 3
|
|
319
|
+
# @brief Coverage helper construct 3.
|
|
320
|
+
# @details Provides deterministic fixture-level Doxygen coverage block 3.
|
|
321
|
+
# @param value Input value for helper construct 3.
|
|
322
|
+
# @return Output value for helper construct 3.
|
|
323
|
+
def req_cover_ruby_3(value)
|
|
324
|
+
value + 3
|
|
325
|
+
end
|
|
326
|
+
|
|
327
|
+
# @REQ-COVER-SRS-231 block 4
|
|
328
|
+
# @brief Coverage helper construct 4.
|
|
329
|
+
# @details Provides deterministic fixture-level Doxygen coverage block 4.
|
|
330
|
+
# @param value Input value for helper construct 4.
|
|
331
|
+
# @return Output value for helper construct 4.
|
|
332
|
+
def req_cover_ruby_4(value)
|
|
333
|
+
value + 4
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
# @REQ-COVER-SRS-231 block 5
|
|
337
|
+
# @brief Coverage helper construct 5.
|
|
338
|
+
# @details Provides deterministic fixture-level Doxygen coverage block 5.
|
|
339
|
+
# @param value Input value for helper construct 5.
|
|
340
|
+
# @return Output value for helper construct 5.
|
|
341
|
+
def req_cover_ruby_5(value)
|
|
342
|
+
value + 5
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
# REQ-COVER-SRS-231 END
|