feat(messaging): add manifest type contracts#4000
Conversation
Signed-off-by: San Dang <sdang@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis PR introduces foundational TypeScript type contracts for the messaging module, defining JSON-serializable schemas for channel manifests and compiled sandbox messaging plans, with representative Telegram and WeChat fixtures and comprehensive validation tests ensuring serialization correctness, absence of function fields, and dependency isolation. ChangesMessaging Manifest Type Contracts
Sequence DiagramNo sequence diagram applies to this PR. The changes are a set of type definitions, fixtures, and validation tests without multi-component interactions or control flow. Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes The PR introduces substantial new type definitions and comprehensive test infrastructure across multiple files. The type contract in Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Comment |
E2E Advisor RecommendationRequired E2E: None Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
|
PR Review AdvisorRecommendation: blocked This is an automated advisory review. A human maintainer must make the final merge decision. Limitations: This advisory review used the provided trusted deterministic context and diff; it did not execute tests or package-manager commands.; CI, CodeRabbit, and E2E recommendation were still pending in the provided status snapshot, so final validation cannot be assessed.; No review-thread state beyond the provided GraphQL nodes and comments was available; CodeRabbit was still processing.; The linked parent issue #3896 was referenced but its clauses were not included in the provided deterministic linked issue payload, so acceptance mapping is limited to issue #3991 and PR body evidence. Full advisor summaryPR Review AdvisorBase: The type-only messaging manifest layer appears isolated and well covered by focused tests, but merge is blocked by pending CI/E2E recommendation, blocked merge state, and CodeRabbit/review completion gates. Gate status
🔴 Blockers
🟡 Warnings
🔵 Suggestions
Acceptance coverage
Security review
Test / E2E status
✅ What looks good
Review completeness
|
Summary
Adds the first phase messaging manifest type contracts under
src/lib/messaging. This phase is intentionally isolated: no existing onboarding, channel lifecycle, rendering, policy, credential, or rebuild production workflow imports or consumes these contracts yet.Related Issue
Fixes #3991
Part of #3896
Changes
src/lib/messagingtype-only module surface.SandboxMessagingPlanshape for future compiler/applier work without wiring it into production code.Type of Change
Verification
Ran focused checks for this isolated contract layer:
npm test -- --project cli src/lib/messaging/manifest/types.test.tsnpm run typecheck:clinpm run lintThe commit hook's full CLI coverage run hit an existing timeout in
test/cli.test.ts(doctor fails a present sandbox that is not Ready); that exact test passed in isolation afterward.npx prek run --all-filespassesnpm testpassesmake docsbuilds without warnings (doc changes only)Signed-off-by: San Dang sdang@nvidia.com
Summary by CodeRabbit
Tests
New Features
Chores