Conversation
Both plugins were bound to default 'verify' phase, so 'mvn verify' on a dev machine without GPG pinentry failed. Releases now require '-P release' which is the standard idiom and runs in CI on tag push.
…span via WireMock
|
Warning Rate limit exceeded
To continue reviewing without waiting, purchase usage credits in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (27)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Summary
Implements Phase 1.8 + 1.9 of the JamJet Cloud roadmap — drop-in observability for Spring AI and LangChain4j via:
jamjet-cloud-sdk—JamjetObservationHandler(Spring AI Micrometer hook),JamjetChatModelListener(LangChain4j hook),Span.payload(...)for prompt/response capture, sharedFailureModeClassifier.jamjet-cloud-spring-boot-starter(new module) —@AutoConfigurationgated onjamjet.cloud.api-key, registers both instrumentation beans, BPP that reflectively appends listener toChatLanguageModelbeans.releaseprofile so localmvn verifyworks without GPG pinentry.0.2.0, taggedv0.2.0.Tests
23/23 passing on
mvn verify:jamjet-cloud-sdk: 16 tests (5 existing + 1 Span.payload + 4 FailureModeClassifier + 3 ObservationHandler + 3 ChatModelListener + 1 LangChain4j WireMock E2E)jamjet-cloud-spring-boot-starter: 7 tests (4 AutoConfiguration + 3 BPP)Deferred
spring-ai-openai-spring-boot-starter→spring-ai-starter-model-openai; needs separate test infra). Unit test (JamjetObservationHandlerTest) covers the handler contract; full E2E will be validated by the Phase 1.10 demo app.Companion change
Cloud-side cost-calc fallback (so Java/Go/TS SDKs can omit
cost_usd) — separate PR injamjet-cloudrepo.Test plan
mvn verify -B(no GPG required)mvn -pl jamjet-cloud-sdk test -B -Dtest=LangChain4jIntegrationTestmvn -pl jamjet-cloud-spring-boot-starter test -B