Skip to content

fix: document deployment recipes for supported runtimes - #882

Merged
kang-heewon merged 7 commits into
trunkfrom
fix/854-deployment-recipes
Jun 18, 2026
Merged

fix: document deployment recipes for supported runtimes#882
kang-heewon merged 7 commits into
trunkfrom
fix/854-deployment-recipes

Conversation

@kang-heewon

@kang-heewon kang-heewon commented Jun 18, 2026

Copy link
Copy Markdown
Member

Fixes #854.

Summary

The public docs now include a deployment recipe guide for the supported Croco runtime entries: AWS Lambda HTTP API, Cloudflare Workers fetch handlers, and long-lived Node servers.

The guide gives a copy-ready Lambda baseline with environment validation, app bootstrap, module-scope telemetry initialization, forceFlush() criteria, and explicit Lambda boundaries. It also documents Worker configuration with nodejs_compat, Worker-specific config and unsupported Node APIs, plus Node server defaults for health, readiness, signal handling, and telemetry shutdown.

The docs landing page, sidebar, getting-started next steps, and docs README now link to the new guide. This branch also commits generated API reference output required by CI's docs-sync check.

Verification

  • pnpm --filter @croco/docs docs:build - passed; generated /en/guides/deployment-recipes/ successfully.
  • pnpm turbo run docs:build --force - passed; matches the CI docs-sync generation command.
  • pnpm check - passed.
  • pnpm changeset-required:check -- --base origin/trunk --head HEAD - passed with no publishable package behavior changes detected.
  • pnpm first-success:verify - passed.
  • git diff --check and git diff --cached --check - passed.
  • Pre-push hook passed twice: full pnpm test 201/201 tasks and full pnpm typecheck 200/200 tasks.

Self-review gates

  • Correctness/regression: PASS. The issue-requested Lambda, Workers, Node server, telemetry, failure-boundary, env/secrets, and unsupported-runtime topics are all covered in the new guide, and the docs build proves the MDX renders.
  • API/security/compatibility/release: PASS. The functional change is docs/navigation only; no package manifests, exports, runtime code, or lockfile changed. Diagnostics are token/off-by-default in the recipes, CORS is explicit-origin, Workers call out nodejs_compat, and no changeset is required.
  • Maintainability/minimality: PASS. The authored docs diff adds one focused guide plus four discoverability links. The generated API reference commit is included only because CI requires packages/docs/src/content/docs/api to match pnpm docs:build output.

Risk

Low. This is documentation-only and was validated by the docs build plus full pre-push test/typecheck gates.

Summary by CodeRabbit

릴리스 노트

  • Documentation
    • 배포 레시피 가이드 추가: Lambda, Cloudflare Workers, Node 서버 배포 시 텔레메트리 설정 및 실패 경계 처리 방법 안내
    • LLM 메터링 API 문서 개선: 가격 레지스트리, 쿼터 정책, 사용량 기록 관련 설명 명확화
    • 가격 메타데이터 및 쿼터 정책 컨텍스트 필드 추가 문서화

@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@kang-heewon, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 21 minutes and 43 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5cad456a-842b-498b-a893-e8826e4e58e8

📥 Commits

Reviewing files that changed from the base of the PR and between c6b235c and 18fab11.

📒 Files selected for processing (24)
  • .changeset/ccef902c.md
  • packages/docs/README.md
  • packages/docs/astro.config.mjs
  • packages/docs/src/content/docs/api/llm-metering/src/interfaces/LlmQuotaPolicy.md
  • packages/docs/src/content/docs/api/llm-metering/src/interfaces/PricingRegistryEntry.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmCostBudget.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmEmbeddingUsageRecord.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterId.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterUsageDelta.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeteringFailurePolicy.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmQuotaPolicyContext.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmUsageRecord.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/ModelPricing.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryDefinition.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryEntry.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/UsageAccuracy.md
  • packages/docs/src/content/docs/api/llm-metering/src/variables/samplePricingRegistry.md
  • packages/docs/src/content/docs/en/guides/deployment-recipes.mdx
  • packages/docs/src/content/docs/en/guides/getting-started.mdx
  • packages/docs/src/content/docs/en/index.mdx
  • packages/llm-metering/src/index.ts
  • packages/llm-metering/src/libs/PricingTable.ts
  • packages/llm-metering/src/libs/types.ts
  • packages/llm-metering/src/tests/PricingTable.spec.ts
📝 Walkthrough

Walkthrough

AWS Lambda, Cloudflare Workers, Node 서버 배포 레시피를 담은 신규 가이드 문서(deployment-recipes.mdx)를 추가하고, 사이드바·홈·README에 링크를 연결한다. 또한 llm-metering 패키지의 타입 파일에 JSDoc 주석을 추가하고, samplePricingRegistry 타입 애너테이션을 변경하며, 관련 API 참조 문서와 테스트를 갱신한다.

Changes

Deployment Recipes 가이드 신규 추가

Layer / File(s) Summary
사이드바·홈·README 네비게이션 연결
packages/docs/astro.config.mjs, packages/docs/src/content/docs/en/index.mdx, packages/docs/src/content/docs/en/guides/getting-started.mdx, packages/docs/README.md, packages/docs/src/content/docs/en/guides/runtime-contract.mdx
사이드바 slug, 홈 카드, Next Steps 목록, README 가이드 링크에 Deployment Recipes 항목을 추가하고, runtime-contract의 코드펜스에서 no-check를 제거한다.
Deployment Recipes 가이드 본문
packages/docs/src/content/docs/en/guides/deployment-recipes.mdx
런타임 선택 기준 표, 공통 배포 규칙, Lambda(환경 변수 검증·createDeploymentApp·handler forceFlush·운영 경계), Cloudflare Workers(nodejs_compat·toWorkersHandler·운영 경계), Node 서버(텔레메트리 초기화·app.listen·시그널 종료·운영 경계), 검증 체크리스트, 참고 링크를 추가한다.

LLM Metering 타입·API 참조 문서 개선

Layer / File(s) Summary
PricingRegistry 타입 주석·애너테이션 및 테스트 갱신
packages/llm-metering/src/libs/types.ts, packages/llm-metering/src/libs/PricingTable.ts, packages/llm-metering/src/tests/PricingTable.spec.ts, packages/llm-metering/src/index.ts
ModelPricing, PricingRegistryEntry, PricingRegistryDefinition에 JSDoc 주석을 추가하고, samplePricingRegistrysatisfies 대신 명시적 : PricingRegistryDefinition 애너테이션으로 변경하며, 테스트에 source: "tenant-rate-card" 기대값을 추가한다. 기존 중복 주석 블록은 제거한다.
메터링·쿼터 정책 타입 JSDoc 주석 추가
packages/llm-metering/src/libs/types.ts, .changeset/ccef902c.md
UsageAccuracy, LlmMeterId, LlmMeteringFailurePolicy, LlmMeterUsageDelta, LlmQuotaPolicyContext, LlmQuotaPolicy에 JSDoc 주석을 추가하고, patch 변경 사항을 changeset에 등록한다.
Pricing 관련 API 참조 문서 갱신
packages/docs/src/content/docs/api/llm-metering/src/type-aliases/ModelPricing.md, packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryDefinition.md, packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryEntry.md, packages/docs/src/content/docs/api/llm-metering/src/variables/samplePricingRegistry.md
ModelPricingeffectiveDate?·source? 프로퍼티 섹션을 추가하고, PricingRegistryDefinition·PricingRegistryEntry 문서를 보강하며, samplePricingRegistry 선언 타입을 PricingRegistryDefinition으로 변경한다.
쿼터 정책·메터링 타입 API 참조 문서 갱신
packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterUsageDelta.md, packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmQuotaPolicyContext.md, packages/docs/src/content/docs/api/llm-metering/src/interfaces/LlmQuotaPolicy.md, packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmCostBudget.md, packages/docs/src/content/docs/api/llm-metering/src/type-aliases/...
LlmMeterUsageDelta 프로퍼티별 설명, LlmQuotaPolicyContext 필드별 설명, LlmQuotaPolicy.enforce() 동작 명시, LlmCostBudget·LlmMeterId·LlmMeteringFailurePolicy·LlmUsageRecord·LlmEmbeddingUsageRecord·UsageAccuracy 설명 문구를 갱신한다.

추정 코드 리뷰 노력

🎯 2 (Simple) | ⏱️ ~12 minutes

연관 가능성이 있는 PR

  • croco-dev/framework#839: PricingTable.tssamplePricingRegistry 및 pricing/quota 관련 타입 문서를 동일하게 수정하는 변경이 포함되어 있어 직접적인 코드 수준 연관성이 있다.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 배포 레시피 문서화라는 주요 변경 사항을 명확하게 설명합니다.
Linked Issues check ✅ Passed PR이 #854의 모든 주요 요구사항을 충족합니다: Lambda, Cloudflare Workers, Node 서버 배포 레시피 작성, 텔레메트리 및 실패 처리 경계 명확화, 지원되지 않는 기능 문서화.
Out of Scope Changes check ✅ Passed 변경사항이 배포 레시피 문서화와 관련 API 문서 개선으로 제한되며, #854의 정의된 범위 내에 있습니다.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/854-deployment-recipes

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.

@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown

📊 Benchmark Results

❌ Some benchmarks failed

Gate failures

  • CrocoApp constructor: p75 5.2μs exceeds baseline 3.4μs by more than 20%
  • CrocoApp lambdaHandler (10 controllers): p75 42.7μs exceeds baseline 33.3μs by more than 20%
  • Lambda cold-start simulation: p75 219.1μs exceeds baseline 70.2μs by more than 20%
  • Lambda cold-start with headers: p75 158.4μs exceeds baseline 66.7μs by more than 20%
  • Lambda cold-start with binary body: p75 137.0μs exceeds baseline 63.2μs by more than 20%
  • Lambda cold-start with query params: p75 120.1μs exceeds baseline 63.9μs by more than 20%
  • Lambda cold-start with authorizer context: p75 126.0μs exceeds baseline 59.8μs by more than 20%
  • Lambda cold-start realistic scenario: p75 123.5μs exceeds baseline 60.2μs by more than 20%
  • EventBusConfig.start (10 handlers): p75 1.3μs exceeds baseline 0.9μs by more than 20%
  • EventPublisher.publishNow single event: p75 1.6μs exceeds baseline 1.1μs by more than 20%
  • DefaultHandlerResolver.resolve × 10: p75 0.1μs exceeds baseline 0.0μs by more than 20%
  • Container.get singleton (cold): p75 2.0μs exceeds baseline 0.6μs by more than 20%
  • Container.get singleton (warm): p75 1.5μs exceeds baseline 0.3μs by more than 20%
  • lambdaPreset config creation: p75 1.4μs exceeds baseline 1.0μs by more than 20%
Benchmark p75 Threshold Baseline vs Baseline Status Notes
CrocoApp constructor 5.2μs 30.0ms 3.4μs +53.5% -
CrocoApp lambdaHandler (10 controllers) 42.7μs 50.0ms 33.3μs +28.2% -
Lambda cold-start simulation 219.1μs 80.0ms 70.2μs +212.3% -
Lambda cold-start with headers 158.4μs 80.0ms 66.7μs +137.3% -
Lambda cold-start with binary body 137.0μs 80.0ms 63.2μs +116.9% -
Lambda cold-start with query params 120.1μs 80.0ms 63.9μs +88.0% -
Lambda cold-start with authorizer context 126.0μs 80.0ms 59.8μs +110.7% -
Lambda cold-start realistic scenario 123.5μs 80.0ms 60.2μs +105.3% -
EventBusConfig.start (10 handlers) 1.3μs 10.0ms 0.9μs +50.1% -
EventPublisher.publishNow single event 1.6μs 2.0ms 1.1μs +43.3% -
DefaultHandlerResolver.resolve × 10 0.1μs 5.0ms 0.0μs +90.5% -
Container.get singleton (cold) 2.0μs 5.0ms 0.6μs +225.4% -
Container.register × 50 components 11.5μs 10.0ms 12.1μs -5.1% -
Container.validate (50 components) 29.7μs 20.0ms 29.7μs +0.1% -
Container.get singleton (warm) 1.5μs 500.0μs 0.3μs +401.0% -
TelemetryRuntime.init (lambda preset) 1.1ms 200.0ms 69.3ms -98.4% -
lambdaPreset config creation 1.4μs 2.0ms 1.0μs +42.3% -

Updated: 2026-06-18T12:32:48.567Z · Commit: b2366ae

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 8

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/docs/src/content/docs/api/llm-metering/src/type-aliases/ModelPricing.md (1)

20-40: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

ModelPricing 문서에서 새 프로퍼티에 대한 설명 누락.

새로 추가된 effectiveDate?source? 프로퍼티는 타입 정의만 있고 한국어 설명이 없습니다. 비교하면, 같은 PR에서 추가된 PricingRegistryEntry, PricingRegistryDefinition 문서들은 상단에 "비용 예산, 모델 단가, 사용량 기록 타입입니다." 같은 설명을 포함하고 있습니다.

각 프로퍼티의 용도(예: effectiveDate는 가격 적용 시작 날짜, source는 가격 데이터 출처 등)에 대한 설명을 추가하는 것이 문서의 명확성을 높일 것입니다.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/ModelPricing.md`
around lines 20 - 40, The ModelPricing type documentation is missing explanatory
descriptions for the newly added optional properties effectiveDate and source.
Add clear Korean language descriptions for each of these properties explaining
their purpose and usage, similar to the documentation style used in the related
PricingRegistryEntry and PricingRegistryDefinition type definitions in the same
PR. For effectiveDate, describe when the pricing becomes effective, and for
source, describe where the pricing data originates from.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/docs/src/content/docs/api/llm-metering/src/classes/PricingTable.md`:
- Around line 154-176: The fromRegistry() method is not preserving optional
metadata fields that are included during serialization in toRegistry().
Specifically, when reconstructing ModelPricing objects from
PricingRegistryDefinition entries, the source and effectiveDate fields are being
lost. Update the fromRegistry() method to copy all fields from the registry
entries, including the optional source and effectiveDate fields in addition to
the currently copied inputPricePerToken, outputPricePerToken, and currency
fields. This will ensure round-trip conversion (PricingTable →
PricingRegistryDefinition → PricingTable) preserves all metadata without loss.

In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterId.md`:
- Line 10: The description of the LlmMeterId type in the markdown documentation
is inaccurate. The current description on line 10 describes it as relating to
cost budgets, model unit prices, and usage records, but LlmMeterId is actually a
union type of metric identifiers (PROMPT_TOKENS, COMPLETION_TOKENS,
EMBEDDING_TOKENS, COST_USD) used for metering. Replace the inaccurate
description with a more precise one that reflects LlmMeterId is a metric
identifier type for LLM usage metering, such as "LLM 사용량 메트릭 식별자 타입입니다" or "토큰 및
비용 메터링을 위한 메트릭 종류입니다".

In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeteringFailurePolicy.md`:
- Around line 8-10: The description for LlmMeteringFailurePolicy on line 10 is
inaccurate and describes cost budgets and usage records instead of the actual
purpose. Replace the existing description with text that accurately reflects
that LlmMeteringFailurePolicy defines the handling policy when LLM metering
operations fail, such as "메터링 실패 시 처리 정책을 지정하는 타입입니다" or similar wording that
clearly indicates this type is about failure handling behavior rather than
billing or cost information.

In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterUsageDelta.md`:
- Line 10: The description for the LlmMeterUsageDelta type in the documentation
is generic and does not accurately reflect that this type represents metering
usage delta (changes/increments). Replace the current description "비용 예산, 모델 단가,
사용량 기록 타입입니다." with a more specific description that clarifies this type
represents metering usage deltas, such as "메터링 사용량 변화(delta)를 나타내는 타입입니다." Also
apply the same fix to the LlmMeterId.md documentation which has an identical
generic description that needs to be made more specific to its actual purpose.
- Around line 20-22: Remove the unused "stream" operation value from the
operation field type definition in the LlmMeterUsageDelta type alias
documentation since it is not actually used in the codebase. Update the
operation field to only include the currently supported values "generate",
"embed", and "cost_tracking" while keeping the "| string" union type to indicate
that additional operation types can be added in the future. Alternatively, add
clarifying documentation that explicitly states which operation values are
currently supported versus which are reserved for future use.

In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmQuotaPolicyContext.md`:
- Line 10: Update the description of the LlmQuotaPolicyContext type alias
documentation to accurately reflect its purpose. Replace the current description
that incorrectly refers to cost budget, model unit price, and usage records with
a description that explains LlmQuotaPolicyContext is a context object required
for quota policy enforcement execution, containing fields such as tenantId,
modelId, provider, operation, idempotencyKey, meters, and optional metadata.

In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryEntry.md`:
- Line 8: The PricingRegistryEntry type alias definition in the documentation
currently shows ModelPricing & object which is too generic and inaccurate.
Update the type definition on line 8 to explicitly show the actual object
structure: replace object with { modelId: string; provider: string; } so the
documentation accurately reflects that PricingRegistryEntry is ModelPricing
intersected with an object containing modelId and provider string properties.

In
`@packages/docs/src/content/docs/api/llm-metering/src/variables/samplePricingRegistry.md`:
- Line 20: The type annotation for the entries field in the
samplePricingRegistry documentation is incorrectly marked as object[] on line
20. Update the documentation to reflect the actual type definition from
PricingRegistryDefinition, which specifies that the entries field should be
typed as readonly PricingRegistryEntry[] rather than object[]. This accurately
represents that each item in the entries array is a PricingRegistryEntry object
containing provider, modelId, inputPricePerToken, outputPricePerToken, and
currency properties.

---

Outside diff comments:
In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/ModelPricing.md`:
- Around line 20-40: The ModelPricing type documentation is missing explanatory
descriptions for the newly added optional properties effectiveDate and source.
Add clear Korean language descriptions for each of these properties explaining
their purpose and usage, similar to the documentation style used in the related
PricingRegistryEntry and PricingRegistryDefinition type definitions in the same
PR. For effectiveDate, describe when the pricing becomes effective, and for
source, describe where the pricing data originates from.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: b1bd9f9a-be4e-4649-8a3a-a34fc836abf8

📥 Commits

Reviewing files that changed from the base of the PR and between 53ac842 and e3d6013.

📒 Files selected for processing (24)
  • packages/docs/README.md
  • packages/docs/astro.config.mjs
  • packages/docs/src/content/docs/api/llm-metering/src/classes/LlmMeteringService.md
  • packages/docs/src/content/docs/api/llm-metering/src/classes/PricingRegistryConflictProblem.md
  • packages/docs/src/content/docs/api/llm-metering/src/classes/PricingTable.md
  • packages/docs/src/content/docs/api/llm-metering/src/interfaces/LlmQuotaPolicy.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterId.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterUsageDelta.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeteringFailurePolicy.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeteringServiceOptions.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmQuotaPolicyContext.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/ModelPricing.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryDefinition.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryEntry.md
  • packages/docs/src/content/docs/api/llm-metering/src/variables/samplePricingRegistry.md
  • packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md
  • packages/docs/src/content/docs/api/testing/src/functions/createLlmProviderConformanceSuite.md
  • packages/docs/src/content/docs/api/testing/src/type-aliases/LlmProviderConformanceCase.md
  • packages/docs/src/content/docs/api/testing/src/type-aliases/LlmProviderConformanceOptions.md
  • packages/docs/src/content/docs/api/testing/src/type-aliases/LlmProviderConformancePromptSet.md
  • packages/docs/src/content/docs/api/testing/src/type-aliases/LlmProviderConformanceSuite.md
  • packages/docs/src/content/docs/en/guides/deployment-recipes.mdx
  • packages/docs/src/content/docs/en/guides/getting-started.mdx
  • packages/docs/src/content/docs/en/index.mdx

Comment thread packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterId.md Outdated
@kang-heewon
kang-heewon force-pushed the fix/854-deployment-recipes branch 2 times, most recently from 92f466d to c6b235c Compare June 18, 2026 11:50

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryEntry.md (1)

8-8: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

PricingRegistryEntry 타입 정의를 더 명확하게 표현하세요.

라인 8의 ModelPricing & object는 과도하게 일반화되어 있습니다. 실제 타입 정의는 다음과 같습니다:

ModelPricing & {
  provider: string;
  modelId: string;
}

문서의 타입 표현을 ModelPricing & { modelId: string; provider: string }으로 업데이트하면, 독자가 정확한 구조를 한눈에 파악할 수 있습니다. Type Declaration 섹션의 필드 설명은 정확하지만, 라인 8의 타입 선언이 명확성을 해치고 있습니다.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryEntry.md`
at line 8, The PricingRegistryEntry type definition currently uses an overly
generic object type that doesn't clearly convey the actual structure. Replace
the type declaration from ModelPricing & object to ModelPricing & { modelId:
string; provider: string } to explicitly show the object properties that are
part of the PricingRegistryEntry type, making the structure immediately clear to
readers without requiring them to look at additional sections.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/docs/src/content/docs/en/guides/deployment-recipes.mdx`:
- Around line 382-388: There is an inconsistency between the health endpoints
mentioned in the Node boundary section (lines 384-385 recommending
`/health/live` and `/health/ready` or `/ready` endpoints) and the Lambda
`createDeploymentApp()` example (lines 152-155) which only implements
`/api/health`. Either clarify in the Node boundary section that developers must
explicitly implement the `/health/live` and `/health/ready` endpoints themselves
based on their needs, or add implementations of these endpoints to the example
`app.ts` to provide a complete, ready-to-use reference for developers following
this deployment guide.

---

Duplicate comments:
In
`@packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryEntry.md`:
- Line 8: The PricingRegistryEntry type definition currently uses an overly
generic object type that doesn't clearly convey the actual structure. Replace
the type declaration from ModelPricing & object to ModelPricing & { modelId:
string; provider: string } to explicitly show the object properties that are
part of the PricingRegistryEntry type, making the structure immediately clear to
readers without requiring them to look at additional sections.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9293022b-ebf4-4f93-a03d-27737dd7be51

📥 Commits

Reviewing files that changed from the base of the PR and between e3d6013 and c6b235c.

📒 Files selected for processing (24)
  • .changeset/ccef902c.md
  • packages/docs/README.md
  • packages/docs/astro.config.mjs
  • packages/docs/src/content/docs/api/llm-metering/src/interfaces/LlmQuotaPolicy.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmCostBudget.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmEmbeddingUsageRecord.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterId.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeterUsageDelta.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmMeteringFailurePolicy.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmQuotaPolicyContext.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/LlmUsageRecord.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/ModelPricing.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryDefinition.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/PricingRegistryEntry.md
  • packages/docs/src/content/docs/api/llm-metering/src/type-aliases/UsageAccuracy.md
  • packages/docs/src/content/docs/api/llm-metering/src/variables/samplePricingRegistry.md
  • packages/docs/src/content/docs/en/guides/deployment-recipes.mdx
  • packages/docs/src/content/docs/en/guides/getting-started.mdx
  • packages/docs/src/content/docs/en/guides/runtime-contract.mdx
  • packages/docs/src/content/docs/en/index.mdx
  • packages/llm-metering/src/index.ts
  • packages/llm-metering/src/libs/PricingTable.ts
  • packages/llm-metering/src/libs/types.ts
  • packages/llm-metering/src/tests/PricingTable.spec.ts
💤 Files with no reviewable changes (1)
  • packages/llm-metering/src/index.ts

Comment thread packages/docs/src/content/docs/en/guides/deployment-recipes.mdx
@kang-heewon
kang-heewon force-pushed the fix/854-deployment-recipes branch from 5a395d1 to 18fab11 Compare June 18, 2026 12:28
@kang-heewon
kang-heewon merged commit 6df614c into trunk Jun 18, 2026
7 of 8 checks passed
@kang-heewon
kang-heewon deleted the fix/854-deployment-recipes branch June 18, 2026 12:50
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.

docs: Lambda, Cloudflare, Node 배포 레시피를 공식화한다

1 participant