Skip to content

Part 4 - Tool AGS: full line item, score, and results support - #45

Closed
eliknebel wants to merge 18 commits into
masterfrom
v1-part4-tool-ags
Closed

eliknebel wants to merge 18 commits into
masterfrom
v1-part4-tool-ags

Conversation

@eliknebel

Copy link
Copy Markdown
Contributor

This PR completes tool-side AGS support on top of the prior core, deep-linking, and NRPS work. It refactors AGS into
typed endpoint/client/parser/scope-policy modules and adds full line item CRUD, score posting, results retrieval,
structured errors, telemetry, and compatibility hooks.

This PR should be reviewed and landed after #44

What Changed

  • Added AGS public APIs:
    • Lti_1p3.Tool.Services.AGS.from_launch_claim/1
    • Lti_1p3.Tool.Services.AGS.list_line_items/3
    • Lti_1p3.Tool.Services.AGS.read_line_item/4
    • Lti_1p3.Tool.Services.AGS.create_line_item/4
    • Lti_1p3.Tool.Services.AGS.update_line_item/5
    • Lti_1p3.Tool.Services.AGS.delete_line_item/4
    • Lti_1p3.Tool.Services.AGS.post_score/5
    • Lti_1p3.Tool.Services.AGS.list_results/4
    • Lti_1p3.Tool.Services.AGS.fetch_all_results/4
  • Added AGS support modules for:
    • client
    • parser
    • endpoint
    • page/result typing
    • scope policy
    • structured errors
    • telemetry
    • compatibility policy
  • Added shared HTTP request helper:
    • Lti_1p3.Services.HTTP.Request
  • Extended shared query filter support for AGS filters
  • Removed legacy AGS helper/convenience APIs in favor of the typed operation-specific interface
  • Added AGS guide, QA report, utility extraction notes, and requirement matrix docs
  • Updated migration guidance and changelog for the AGS API changes

Why

AGS was the last major incomplete tool-side service area. This PR brings line items, scores, and results onto the same
stricter, typed, telemetry-aware model as the rest of the 1.0.0 stack and removes the older partial helper
interface.

Reviewer Notes

Focus review on:

  • operation-to-scope mapping
  • line item CRUD semantics
  • score payload validation and request handling
  • results pagination
  • migration impact from removed legacy AGS helpers

Most of the diff against master is inherited from the first three PRs. The incremental review surface is the AGS
refactor, the shared request helper, and the associated docs/tests.

Documentation

  • docs/tool_ags_guide.md
  • docs/features/tool-ags/*
  • docs/telemetry.md
  • README.md
  • CHANGELOG.md

Migration Notes

This PR removes the legacy AGS helper API in favor of the typed AGS interface. Consumers should migrate to
from_launch_claim/1 plus the operation-specific APIs and use required_scopes/1 for token scope requests.

eliknebel added 13 commits March 3, 2026 18:05
* docs refactor

* docs

* implement tool deep linking
* implement full nrps support

* run ci

* ci
* refactor full ags support

* cleanup deprecation warning

* remove legacy apis
@eliknebel eliknebel changed the title Tool AGS: full line item, score, and results support Part 4 - Tool AGS: full line item, score, and results support Mar 13, 2026
@eliknebel eliknebel closed this Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant