Skip to content

feat(validator-speclynx): expose parse result via toolbox#209

Merged
char0n merged 2 commits intomainfrom
char0n/validator-speclynx-parse-result
Feb 13, 2026
Merged

feat(validator-speclynx): expose parse result via toolbox#209
char0n merged 2 commits intomainfrom
char0n/validator-speclynx-parse-result

Conversation

@char0n
Copy link
Member

@char0n char0n commented Feb 13, 2026

Summary by CodeRabbit

  • New Features

    • Plugins now have direct access to parseResult via the toolbox, enabling retrieval of full ApiDOM parse results alongside diagnostics and dependencies.
  • Documentation

    • Updated plugin docs and examples to document the new toolbox.parseResult property.
  • Tests

    • Added a test plugin and an integration test to verify parseResult is available to plugins.

@char0n char0n requested a review from Copilot February 13, 2026 22:05
@char0n char0n self-assigned this Feb 13, 2026
@char0n char0n added the enhancement New feature or request label Feb 13, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 13, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Exposes a new parseResult property on the SpecLynx plugin toolbox, updates docs and examples to document it, adds a test plugin that checks parseResult presence, and adds an integration test asserting plugins can access parseResult.

Changes

Cohort / File(s) Summary
Toolbox implementation
packages/jentic-openapi-validator-speclynx/src/jentic/apitools/openapi/validator/backends/speclynx/resources/speclynx.mjs
Added parseResult to the toolbox object provided to plugins (property added to returned toolbox).
Docs & examples
packages/jentic-openapi-validator-speclynx/README.md, packages/jentic-openapi-validator-speclynx/src/jentic/apitools/openapi/validator/backends/speclynx/__init__.py, .../resources/plugins/example-plugin.mjs.sample, .../resources/plugins/openapi-document.mjs, tests/fixtures/plugins/version-validator.mjs
JSDoc/docstring/example updates to document toolbox.parseResult (descriptions adjusted; destructuring examples updated).
Tests & fixtures
packages/jentic-openapi-validator-speclynx/tests/fixtures/plugins/parseresult-check.mjs, packages/jentic-openapi-validator-speclynx/tests/test_speclynx_validate.py
New test fixture plugin verifies toolbox.parseResult availability; new integration test(s) assert plugin receives parseResult and emits expected diagnostic(s).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • frantuma
  • frankkilcommins

Poem

🐰 A tiny hop, a little test,
parseResult tucked in the chest,
Plugins peek and give a cheer,
Diagnostics whisper, "We are here!"
Hooray — the rabbit danced, no jest.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: exposing the parse result through the toolbox object across multiple plugin-related files.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch char0n/validator-speclynx-parse-result

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR exposes the full ApiDOM parseResult to SpecLynx validation plugins via the plugin toolbox, and updates plugin documentation/examples accordingly.

Changes:

  • Add parseResult to the plugin toolbox created by the SpecLynx validator runtime.
  • Update built-in/sample plugin documentation and test fixtures to describe the new toolbox field.
  • Update package README and Python backend docstring to document parseResult availability for plugin authors.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/jentic-openapi-validator-speclynx/tests/fixtures/plugins/version-validator.mjs Updates fixture plugin docs to mention parseResult in toolbox.
packages/jentic-openapi-validator-speclynx/src/jentic/apitools/openapi/validator/backends/speclynx/resources/speclynx.mjs Passes parseResult through the toolbox to plugins.
packages/jentic-openapi-validator-speclynx/src/jentic/apitools/openapi/validator/backends/speclynx/resources/plugins/openapi-document.mjs Updates plugin header docs to mention parseResult.
packages/jentic-openapi-validator-speclynx/src/jentic/apitools/openapi/validator/backends/speclynx/resources/plugins/example-plugin.mjs.sample Updates sample plugin docs to include parseResult in toolbox contract.
packages/jentic-openapi-validator-speclynx/src/jentic/apitools/openapi/validator/backends/speclynx/init.py Updates Python backend docstring describing plugin toolbox fields.
packages/jentic-openapi-validator-speclynx/README.md Updates public docs/example to show parseResult in plugin toolbox.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@char0n char0n merged commit 6884151 into main Feb 13, 2026
3 of 4 checks passed
@char0n char0n deleted the char0n/validator-speclynx-parse-result branch February 13, 2026 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant