Skip to content

Kit SDK - #179

Merged
MarkSackerberg merged 20 commits into
mainfrom
codama
Jan 8, 2026
Merged

Kit SDK#179
MarkSackerberg merged 20 commits into
mainfrom
codama

Conversation

@MarkSackerberg

Copy link
Copy Markdown
Contributor

No description provided.

@vercel

vercel Bot commented Jan 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
mpl-token-metadata-js-docs Ready Ready Preview, Comment Jan 7, 2026 10:03am

@coderabbitai

coderabbitai Bot commented Jan 6, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • New Features

    • Added a new JavaScript Kit client package with package metadata, scripts, and formatting defaults.
  • Documentation

    • Added a README detailing generated code location, usage, testing, and regeneration workflow.
  • Tests

    • CI updated to run JS Kit client tests; new workflow added to build, publish the Kit, and deploy its docs.
  • Chores

    • Updated GitHub environment and workflows for newer Node versions and ignored Kit-specific artifacts.

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

Adds a new JavaScript Kit client package (code, config, tests, docs), updates CI to build/test the Kit and bump Node versions in CI, introduces a deploy workflow to publish the Kit and deploy docs to Vercel, and expands file-filtering to include configs/codama.cjs. (50 words)

Changes

Cohort / File(s) Summary
New JS Kit package & metadata
clients/js-kit/package.json, clients/js-kit/README.md, clients/js-kit/.gitignore, clients/js-kit/.prettierrc.json
Adds a new JS Kit package with metadata, scripts, dependencies, README (generation/test/regeneration), .gitignore entries (.vercel, docs), and Prettier config.
CI environment & test workflow
.​github/.env, .​github/workflows/test-js-client.yml
Updates CI Node versions (NODE_VERSION bumped to 20.x) and adjusts test workflow matrix to Node 18.x and 20.x; adds install/build/test steps for ./clients/js-kit.
New deploy workflow
.​github/workflows/deploy-js-kit-client.yml
Adds a deploy workflow to build, version, publish the JS Kit to npm, optionally create a GitHub release, and deploy docs to Vercel; accepts bump/tag/create_release inputs and uses repo/NPM/Vercel secrets.
Repository file filters
.​github/file-filters.yml
Adds configs/codama.cjs to the client_common filter list.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant User
  participant GH as "GitHub Actions\n(deploy-js-kit-client)"
  participant Repo as "GitHub Repo"
  participant NPM as "npm Registry"
  participant Vercel as "Vercel"

  Note over GH: Deploy workflow (manual trigger with inputs)
  User->>GH: trigger workflow
  GH->>Repo: checkout code
  GH->>GH: load env, setup Node, install deps (clients/js-kit)
  GH->>GH: build client (pnpm build)
  alt version bump requested
    GH->>GH: compute new version (pnpm version)
    GH->>Repo: commit & tag new version
  end
  GH->>NPM: set auth & publish package (with tag)
  opt create_release
    GH->>Repo: create GitHub release
  end
  Note over GH,Vercel: docs deployment (post-publish)
  GH->>Vercel: deploy docs (uses VERCEL_* secrets)
  Vercel-->>GH: deploy status / URL
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Description check ⚠️ Warning No pull request description was provided by the author, making it impossible to assess whether the description relates to the changeset. Add a pull request description that explains the changes, their purpose, and any relevant context for reviewers.
Title check ❓ Inconclusive The title 'Kit SDK' is vague and does not clearly convey the specific changes in the pull request, which include adding JS Kit client scaffolding, workflows, and configuration files. Consider a more descriptive title like 'Add JavaScript Kit SDK client with build, test, and deployment workflows' to better summarize the main changes.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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


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.

@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: 7

🤖 Fix all issues with AI Agents
In @clients/js-kit/package.json:
- Line 23: The package.json contains a duplicate declaration of the dependency
"@solana-program/token" in both devDependencies and dependencies; decide whether
it is needed at runtime or only for tests and remove the duplicate entry
accordingly — if it's only for testing keep it in devDependencies and delete the
entry under dependencies, otherwise keep it in dependencies and delete the
devDependencies entry; update the package.json so "@solana-program/token"
appears only once in the appropriate section and run a quick install to verify
no other tooling warnings.

In @clients/js-kit/package/package.json:
- Around line 1-33: The package.json in this diff contains incorrect metadata
for the package (fields like "name", "repository.url", "bugs.url", and
"homepage" reference @solana-program/token and its repo) instead of the
mpl-token-metadata-kit values; update the "name" to
"@metaplex-foundation/mpl-token-metadata-kit", correct "repository.url",
"bugs.url", and "homepage" to the proper Metaplex repo/issue URLs and ensure
"publishConfig" and "exports"/"types" reflect this package's build outputs, or
if this file was an accidental copy, remove this duplicate package.json under
the package/ subdirectory and keep only the canonical
clients/js-kit/package.json — confirm which file should remain and apply changes
accordingly.

In @clients/js-kit/package/README.md:
- Line 3: The README line "A generated JavaScript library for the Token
program." uses the wrong program name; update the README.md description to read
"A generated JavaScript library for the Token Metadata program." so the
documentation correctly reflects this client’s target program.
- Around line 24-25: The README contains an incorrect directory path: update the
command string "cd clients/js" to the correct "cd clients/js-kit" so
instructions in clients/js-kit/README.md point to the actual directory; locate
the README.md entry with the line containing the cd command and replace the
target directory accordingly.

In @clients/js-kit/README.md:
- Around line 7-18: The README contains contradictory status statements: the
earlier bullet "Create, compile, sign, and send transactions using @solana/kit
v5" conflicts with the later note "Skip transaction sending (not yet
implemented)". Decide which is accurate and make the README consistent by
updating either the initial status bullet or the later note so both reflect the
true behavior; specifically edit the sentences mentioning "Create, compile,
sign, and send transactions using @solana/kit v5" and "Skip transaction sending
(not yet implemented)" to be consistent, and optionally add a brief clarifying
note about the remaining "Attempt to debit an account" simulation/signing issue
if transaction sending is partially implemented.

In @clients/js-kit/SETUP.md:
- Line 18: Update the SETUP.md entry to remove or clarify the outdated "Stub
implementation of `@solana/kit`" reference: edit the line that mentions
`src/kit/index.ts` and either delete the stub description or change it to
indicate that the project now uses the real `@solana/kit` v5.0.0 (e.g., note
that `src/kit/index.ts` is deprecated/kept for compatibility), and ensure the
paragraph that currently states "now uses the real `@solana/kit` v5.0.0 package"
is consistent with the revised line so readers are not confused.
- Around line 84-86: The SETUP.md references an updated CLAUDE.md that isn't
actually changed in this PR; either add the corresponding edits to CLAUDE.md
(update wording to state js-kit uses @solana/kit not Umi and mark WIP with
runnable tests) or remove the sentence in SETUP.md that claims CLAUDE.md was
updated—update the document(s) accordingly and ensure the commit includes the
modified CLAUDE.md if you choose to keep the reference.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9b514cd and f10db1d.

⛔ Files ignored due to path filters (166)
  • clients/js-kit/package-lock.json is excluded by !**/package-lock.json
  • clients/js-kit/src/generated/accounts/collectionAuthorityRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/deprecatedMasterEditionV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/edition.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/editionMarker.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/editionMarkerV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/holderDelegateRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/index.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/masterEdition.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/metadata.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/metadataDelegateRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/tokenOwnedEscrow.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/tokenRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/accounts/useAuthorityRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/errors/index.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/errors/mplTokenMetadata.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/index.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/approveCollectionAuthority.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/approveUseAuthority.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/bubblegumSetCollectionSize.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/burnEditionNft.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/burnNft.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/burnV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/closeAccounts.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/closeEscrowAccount.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/collect.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/convertMasterEditionV1ToV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/createEscrowAccount.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/createMasterEditionV3.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/createMetadataAccountV3.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/createV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateAuthorityItemV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateCollectionItemV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateCollectionV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateDataItemV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateDataV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateLockedTransferV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegatePrintDelegateV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateProgrammableConfigItemV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateProgrammableConfigV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateSaleV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateStakingV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateStandardV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateTransferV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/delegateUtilityV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/deprecatedMintNewEditionFromMasterEditionViaPrintingToken.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/freezeDelegatedAccount.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/index.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/lockV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/migrate.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/mintNewEditionFromMasterEditionViaToken.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/mintNewEditionFromMasterEditionViaVaultProxy.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/mintV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/printV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/printV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/puffMetadata.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/removeCreatorVerification.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/resize.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeAuthorityItemV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeCollectionAuthority.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeCollectionItemV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeCollectionV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeDataItemV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeDataV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeLockedTransferV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeMigrationV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokePrintDelegateV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeProgrammableConfigItemV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeProgrammableConfigV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeSaleV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeStakingV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeStandardV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeTransferV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeUseAuthority.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/revokeUtilityV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/setAndVerifyCollection.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/setAndVerifySizedCollectionItem.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/setCollectionSize.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/setTokenStandard.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/signMetadata.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/thawDelegatedAccount.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/transferOutOfEscrow.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/transferV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/unlockV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/unverifyCollection.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/unverifyCollectionV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/unverifyCreatorV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/unverifySizedCollectionItem.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateAsAuthorityItemDelegateV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateAsCollectionDelegateV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateAsCollectionItemDelegateV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateAsDataDelegateV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateAsDataItemDelegateV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateAsProgrammableConfigDelegateV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateAsProgrammableConfigItemDelegateV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateAsUpdateAuthorityV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateMetadataAccountV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updatePrimarySaleHappenedViaToken.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/updateV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/useV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/utilize.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/verifyCollection.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/verifyCollectionV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/verifyCreatorV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/instructions/verifySizedCollectionItem.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/collectionAuthorityRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/deprecatedMasterEditionV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/editionMarker.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/editionMarkerV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/holderDelegateRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/index.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/masterEdition.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/metadata.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/metadataDelegateRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/tokenRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/pdas/useAuthorityRecord.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/programs/index.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/programs/mplTokenMetadata.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/shared/index.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/authorityType.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/authorizationData.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/burnArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/collection.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/collectionDetails.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/collectionDetailsToggle.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/collectionToggle.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/createArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/creator.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/data.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/dataV2.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/delegateArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/escrowAuthority.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/holderDelegateRole.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/index.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/key.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/lockArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/metadataDelegateRole.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/migrationType.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/mintArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/mintNewEditionFromMasterEditionViaTokenArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/payload.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/payloadKey.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/payloadType.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/printArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/printSupply.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/programmableConfig.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/proofInfo.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/reservation.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/reservationV1.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/revokeArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/ruleSetToggle.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/seedsVec.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/setCollectionSizeArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/tokenDelegateRole.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/tokenStandard.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/tokenState.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/transferArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/unlockArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/updateArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/useArgs.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/useMethod.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/uses.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/usesToggle.ts is excluded by !**/generated/**
  • clients/js-kit/src/generated/types/verificationArgs.ts is excluded by !**/generated/**
  • clients/js/src/generated/instructions/deprecatedMintNewEditionFromMasterEditionViaPrintingToken.ts is excluded by !**/generated/**
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (78)
  • .github/file-filters.yml
  • clients/js-kit/.prettierrc.json
  • clients/js-kit/README.md
  • clients/js-kit/SETUP.md
  • clients/js-kit/package.json
  • clients/js-kit/package/README.md
  • clients/js-kit/package/package.json
  • clients/js-kit/src/hooked/createHelpers.ts
  • clients/js-kit/src/hooked/digitalAsset.ts
  • clients/js-kit/src/hooked/digitalAssetWithToken.ts
  • clients/js-kit/src/hooked/holderDelegateRoleSeed.ts
  • clients/js-kit/src/hooked/index.ts
  • clients/js-kit/src/hooked/metadataDelegateRoleSeed.ts
  • clients/js-kit/src/hooked/pdas.ts
  • clients/js-kit/src/hooked/resolvers.ts
  • clients/js-kit/src/index.ts
  • clients/js-kit/test/_ava-setup.js
  • clients/js-kit/test/_setup.ts
  • clients/js-kit/test/_transaction.ts
  • clients/js-kit/test/approveCollectionAuthority.test.ts
  • clients/js-kit/test/authorityDefault.test.ts
  • clients/js-kit/test/burnV1.test.ts
  • clients/js-kit/test/closeEscrowAccount.test.ts
  • clients/js-kit/test/createEscrowAccount.test.ts
  • clients/js-kit/test/createHelpers.test.ts
  • clients/js-kit/test/createV1.test.ts
  • clients/js-kit/test/delegateAuthorityItemV1.test.ts
  • clients/js-kit/test/delegateCollectionItemV1.test.ts
  • clients/js-kit/test/delegateCollectionV1.test.ts
  • clients/js-kit/test/delegateDataItemV1.test.ts
  • clients/js-kit/test/delegateDataV1.test.ts
  • clients/js-kit/test/delegateLockedTransferV1.test.ts
  • clients/js-kit/test/delegatePrintDelegateV1.test.ts
  • clients/js-kit/test/delegateProgrammableConfigItemV1.test.ts
  • clients/js-kit/test/delegateProgrammableConfigV1.test.ts
  • clients/js-kit/test/delegateSaleV1.test.ts
  • clients/js-kit/test/delegateStakingV1.test.ts
  • clients/js-kit/test/delegateStandardV1.test.ts
  • clients/js-kit/test/delegateTransferV1.test.ts
  • clients/js-kit/test/delegateUtilityV1.test.ts
  • clients/js-kit/test/fetchDigitalAsset.test.ts
  • clients/js-kit/test/fetchDigitalAssetWithToken.test.ts
  • clients/js-kit/test/fetchMetadata.test.ts
  • clients/js-kit/test/freezeDelegatedAccount.test.ts
  • clients/js-kit/test/lockV1.test.ts
  • clients/js-kit/test/mintV1.test.ts
  • clients/js-kit/test/printV1.test.ts
  • clients/js-kit/test/printV2.test.ts
  • clients/js-kit/test/revokeAuthorityItemV1.test.ts
  • clients/js-kit/test/revokeCollectionAuthority.test.ts
  • clients/js-kit/test/revokeCollectionItemV1.test.ts
  • clients/js-kit/test/revokeCollectionV1.test.ts
  • clients/js-kit/test/revokeDataItemV1.test.ts
  • clients/js-kit/test/revokeDataV1.test.ts
  • clients/js-kit/test/revokeLockedTransferV1.test.ts
  • clients/js-kit/test/revokePrintDelegateV1.test.ts
  • clients/js-kit/test/revokeProgrammableConfigItemV1.test.ts
  • clients/js-kit/test/revokeProgrammableConfigV1.test.ts
  • clients/js-kit/test/revokeSaleV1.test.ts
  • clients/js-kit/test/revokeStakingV1.test.ts
  • clients/js-kit/test/revokeStandardV1.test.ts
  • clients/js-kit/test/revokeTransferV1.test.ts
  • clients/js-kit/test/revokeUtilityV1.test.ts
  • clients/js-kit/test/thawDelegatedAccount.test.ts
  • clients/js-kit/test/transferOutOfEscrow.test.ts
  • clients/js-kit/test/transferV1.test.ts
  • clients/js-kit/test/unlockV1.test.ts
  • clients/js-kit/test/unverifyCollectionV1.test.ts
  • clients/js-kit/test/unverifyCreatorV1.test.ts
  • clients/js-kit/test/updateAsDelegateV2.test.ts
  • clients/js-kit/test/updateV1.test.ts
  • clients/js-kit/test/verifyCollectionV1.test.ts
  • clients/js-kit/test/verifyCreatorV1.test.ts
  • clients/js-kit/tsconfig.json
  • configs/codama.cjs
  • configs/kinobi.cjs
  • package.json
  • trees/codama.json
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-08-07T18:02:24.214Z
Learnt from: mcintyre94
Repo: metaplex-foundation/mpl-token-metadata PR: 175
File: configs/codama.cjs:0-0
Timestamp: 2025-08-07T18:02:24.214Z
Learning: In configs/codama.cjs, the ts-expect-error TODO comments at lines 248, 284, and 934 are temporary workarounds for overly restrictive types in the Codama library that have been fixed upstream in https://github.com/codama-idl/codama/pull/747. The code functionality works correctly despite the type errors.

Applied to files:

  • clients/js-kit/README.md
  • .github/file-filters.yml
  • clients/js-kit/SETUP.md
📚 Learning: 2025-08-08T13:30:33.674Z
Learnt from: mcintyre94
Repo: metaplex-foundation/mpl-token-metadata PR: 175
File: configs/codama.cjs:1120-1123
Timestamp: 2025-08-08T13:30:33.674Z
Learning: In mpl-token-metadata (PR #175), the trees/ directory and codama.json are committed to the repo. Therefore, configs/codama.cjs can write to trees/codama.json without creating the directory first; adding mkdirSync is unnecessary.

Applied to files:

  • clients/js-kit/package.json
  • .github/file-filters.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Programs / Test (token-metadata)
  • GitHub Check: Programs / Build
🔇 Additional comments (4)
.github/file-filters.yml (1)

34-34: LGTM!

Adding configs/codama.cjs to the client_common filter ensures that changes to the Codama configuration will properly trigger client build and test workflows, consistent with the existing kinobi.cjs inclusion.

clients/js-kit/.prettierrc.json (1)

1-8: LGTM!

Standard Prettier configuration with reasonable settings.

clients/js-kit/package.json (1)

40-42: Verify AVA setup file path.

The require array references ./test/_ava-setup.js, but since TypeScript compiles to dist/, this file likely won't exist at runtime. AVA's rewritePaths only affects test file resolution, not the require array.

Verify whether the setup file should point to the compiled output:

     "require": [
-      "./test/_ava-setup.js"
+      "./dist/test/_ava-setup.js"
     ],
clients/js-kit/README.md (1)

1-137: Documentation is comprehensive and well-structured.

The README provides clear guidance on status, differences from the Umi-based client, test structure, and development workflow. The comparison table between clients/js (Umi) and clients/js-kit (@solana/kit) is particularly helpful for understanding the migration path.

Comment thread clients/js-kit/package.json
Comment thread clients/js-kit/package/package.json Outdated
Comment thread clients/js-kit/package/README.md Outdated
Comment thread clients/js-kit/package/README.md Outdated
Comment thread clients/js-kit/README.md Outdated
Comment thread clients/js-kit/SETUP.md Outdated
Comment thread clients/js-kit/SETUP.md Outdated
@blockiosaurus

Copy link
Copy Markdown
Contributor

Can we add running kit tests to the testing script so it runs in CI as well as the umi ones?

@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: 2

Caution

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

⚠️ Outside diff range comments (1)
.github/workflows/test-js-client.yml (1)

62-91: Lint job missing Kit coverage.

The lint job only formats and lints ./clients/js, but the Kit client (./clients/js-kit) has format and lint scripts defined in its package.json (lines 11-14). For consistency and complete CI coverage, the lint job should also validate the Kit client.

🔎 Proposed fix to add Kit lint steps

Add the following steps after the existing lint steps:

       - name: Lint
         working-directory: ./clients/js
         run: pnpm lint
+
+      - name: Install Kit dependencies
+        uses: metaplex-foundation/actions/install-node-dependencies@v1
+        with:
+          folder: ./clients/js-kit
+          cache: ${{ env.CACHE }}
+          key: clients-js-kit
+
+      - name: Format Kit
+        working-directory: ./clients/js-kit
+        run: pnpm format
+
+      - name: Lint Kit
+        working-directory: ./clients/js-kit
+        run: pnpm lint
🤖 Fix all issues with AI Agents
In @.github/workflows/test-js-client.yml:
- Line 15: Update the GitHub Actions test matrix to remove the EOL Node 18 entry
so CI only tests Node 20.x: replace the matrix node array node: ["18.x", "20.x"]
with a single-node entry for 20.x (e.g., node: ["20.x"] or node: "20.x") in the
workflow's matrix configuration so only Node 20 is tested.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f5c30b5 and 05970bc.

⛔ Files ignored due to path filters (1)
  • clients/js-kit/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • .github/workflows/test-js-client.yml
  • clients/js-kit/package.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T13:30:33.674Z
Learnt from: mcintyre94
Repo: metaplex-foundation/mpl-token-metadata PR: 175
File: configs/codama.cjs:1120-1123
Timestamp: 2025-08-08T13:30:33.674Z
Learning: In mpl-token-metadata (PR #175), the trees/ directory and codama.json are committed to the repo. Therefore, configs/codama.cjs can write to trees/codama.json without creating the directory first; adding mkdirSync is unnecessary.

Applied to files:

  • clients/js-kit/package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Generate clients
  • GitHub Check: Programs / Test (token-metadata)
🔇 Additional comments (2)
.github/workflows/test-js-client.yml (1)

47-60: Kit CI steps implemented correctly.

The Kit test steps properly mirror the existing JS client workflow structure and successfully address the PR objective to add Kit tests to CI. The use of unique cache keys (clients-js-kit) and consistent matrix node versions is appropriate.

clients/js-kit/package.json (1)

1-20: Package structure and configuration look good.

The package manifest follows standard conventions for a TypeScript project with appropriate scripts, file inclusions, and test configuration. The Ava setup with TypeScript path rewriting and the _ava-setup.js hook is properly configured.

Also applies to: 32-46

Comment thread .github/workflows/test-js-client.yml

@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

🤖 Fix all issues with AI Agents
In @clients/js-kit/package.json:
- Around line 47-64: The dependency entries in clients/js-kit/package.json
reference non-existent versions (e.g., @solana/kit, @solana/accounts,
@solana/addresses, @solana/codecs*, @solana/functional, @solana/instructions,
@solana/keys, @solana/rpc*, @solana/signers, @solana/transaction-messages,
@solana/transactions) which will break installs; update those dependency
versions to the actual published versions (for example set @solana/kit to 3.0.2,
@solana/addresses to 2.2.0 and other @solana/* packages to their latest
npm-published versions) or switch to a valid workspace override/private registry
if you intend to use unpublished versions, then verify by running npm/yarn/pnpm
install to confirm resolution.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 05970bc and 07de351.

⛔ Files ignored due to path filters (1)
  • clients/js-kit/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • clients/js-kit/package.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T13:30:33.674Z
Learnt from: mcintyre94
Repo: metaplex-foundation/mpl-token-metadata PR: 175
File: configs/codama.cjs:1120-1123
Timestamp: 2025-08-08T13:30:33.674Z
Learning: In mpl-token-metadata (PR #175), the trees/ directory and codama.json are committed to the repo. Therefore, configs/codama.cjs can write to trees/codama.json without creating the directory first; adding mkdirSync is unnecessary.

Applied to files:

  • clients/js-kit/package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: JS Client / Test (18.x)
  • GitHub Check: Rust Client / Test
  • GitHub Check: JS Client / Test (20.x)
  • GitHub Check: Programs / Test (token-metadata)
🔇 Additional comments (1)
clients/js-kit/package.json (1)

23-23: Duplicate dependency declaration.

@solana-program/token appears in both devDependencies (line 23) and dependencies (line 48). This should be resolved by keeping it in only one location based on whether it's needed at runtime or only for tests.

Also applies to: 48-48

Likely an incorrect or invalid review comment.

Comment thread clients/js-kit/package.json
@MarkSackerberg

Copy link
Copy Markdown
Contributor Author

Can we add running kit tests to the testing script so it runs in CI as well as the umi ones?

Done!

blockiosaurus
blockiosaurus previously approved these changes Jan 6, 2026

@blockiosaurus blockiosaurus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Perfect! Thank you for doing this!

@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

🤖 Fix all issues with AI agents
In @clients/js-kit/README.md:
- Around line 18-29: The README example uses generateKeypair, createV1, and
TokenStandard but ends with a vague "Send transaction with @solana/kit patterns"
that could be misused; update that trailing comment to explicitly mark the
transaction-sending step as a placeholder and not functional (e.g., "Placeholder
— transaction sending not implemented; do not copy/execute; implement
sendTransaction with @solana/kit when infra and sending are available"), and
ensure the example includes a short note that the library currently skips actual
transaction sending so readers know not to run it as-is.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 07de351 and 8faedff.

📒 Files selected for processing (1)
  • clients/js-kit/README.md
🔇 Additional comments (1)
clients/js-kit/README.md (1)

1-76: Documentation is well-structured and addresses prior inconsistency.

The README clearly delineates implemented vs. future functionality. The earlier flagged contradiction regarding transaction status has been resolved: the example code is explicitly scoped to "once infrastructure is ready" (line 19), and line 66 unambiguously states "Skip transaction sending (not yet implemented)". The dev workflow instructions are comprehensive and helpful.

Comment thread clients/js-kit/README.md

@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: 4

🤖 Fix all issues with AI agents
In @.github/workflows/deploy-js-kit-client.yml:
- Around line 53-55: Replace the deprecated checkout action version string
"actions/checkout@v3" with "actions/checkout@v4" wherever it appears (e.g., the
job step containing the line starting with "uses: actions/checkout@v3" and the
similar occurrence in the docs deployment job), ensuring the corresponding
step(s) still pass the same "with: token: ${{ secrets.SVC_TOKEN }}" input
unchanged.
- Around line 103-105: Replace the step-level conditional that checks
github.event.inputs.create_release with the workflow inputs context: in the
"Create GitHub release" step (which uses ncipollo/release-action@v1) stop
comparing to the string 'true' and instead use the inputs.create_release context
directly so the step condition reads against inputs.create_release (using the
inputs context) to enable proper boolean handling.
- Around line 125-131: The "Deploy to Vercel" step sets the wrong environment
variable name: replace the env key VERCEL_PROJECT_ID_JS_KIT with
VERCEL_PROJECT_ID (keep the secret value if desired, e.g. VERCEL_PROJECT_ID: ${{
secrets.VERCEL_PROJECT_ID_JS_KIT }}) so the Vercel CLI receives the expected
VERCEL_PROJECT_ID variable when running vercel deploy in the Deploy to Vercel
step.

In @clients/js-kit/package.json:
- Line 10: The npm "test" script in package.json currently prefixes
NODE_OPTIONS='--experimental-global-webcrypto' which is unnecessary on Node.js
20+; remove the NODE_OPTIONS='--experimental-global-webcrypto' prefix so the
"test" script simply runs "ava" (or, if you must support older Node versions,
conditionally set that flag in CI rather than in the package.json script).
Target the "test" script entry and the literal "--experimental-global-webcrypto"
flag when making the change.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8faedff and a6828c1.

⛔ Files ignored due to path filters (1)
  • clients/js-kit/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (4)
  • .github/workflows/deploy-js-kit-client.yml
  • clients/js-kit/.gitignore
  • clients/js-kit/package.json
  • clients/js-kit/typedoc.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T13:30:33.674Z
Learnt from: mcintyre94
Repo: metaplex-foundation/mpl-token-metadata PR: 175
File: configs/codama.cjs:1120-1123
Timestamp: 2025-08-08T13:30:33.674Z
Learning: In mpl-token-metadata (PR #175), the trees/ directory and codama.json are committed to the repo. Therefore, configs/codama.cjs can write to trees/codama.json without creating the directory first; adding mkdirSync is unnecessary.

Applied to files:

  • clients/js-kit/package.json
🪛 actionlint (1.7.9)
.github/workflows/deploy-js-kit-client.yml

53-53: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)


118-118: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: JS Client / Test (18.x)
  • GitHub Check: JS Client / Test (20.x)
  • GitHub Check: JS Client / Lint
  • GitHub Check: Rust Client / Build
  • GitHub Check: Rust Client / Test
  • GitHub Check: Programs / Test (token-metadata)
🔇 Additional comments (6)
clients/js-kit/.gitignore (1)

1-2: LGTM!

Appropriate entries to ignore Vercel CLI artifacts and generated TypeDoc documentation, both of which are produced during build/deploy and should not be committed.

.github/workflows/deploy-js-kit-client.yml (1)

1-44: Well-structured deployment workflow.

The workflow properly chains build → test → deploy with appropriate job dependencies, handles version bumping for both regular and pre-releases, and includes documentation deployment. The separation of concerns between the deploy and docs jobs is clean.

clients/js-kit/package.json (4)

1-26: Package structure and configuration look good.

The package metadata, entry points, scripts, Ava test configuration (serial execution with 2-minute timeout is reasonable for Solana integration tests), and publishing configuration are well-defined.

Also applies to: 41-55


56-72: Verify @solana/* package versions exist on npm.

Multiple @solana/* packages are declared with versions ^5.0.0 or ^5.1.0. A previous review flagged that these versions may not exist on npm (e.g., @solana/kit was at 3.0.2). If these are unpublished versions, installation will fail unless workspace overrides or a private registry is configured.

Likely an incorrect or invalid review comment.


29-29: Duplicate dependency: @solana-program/token declared in both devDependencies and dependencies.

This package appears at line 29 (devDependencies) and line 57 (dependencies). Determine whether it's a runtime or development dependency and keep it in only one location.

Also applies to: 57-57

Likely an incorrect or invalid review comment.


38-38: TypeScript 5.9.3 exists and is the current latest stable version on npm, so this dependency is valid and will install without issues.

Comment thread .github/workflows/deploy-js-kit-client.yml Outdated
Comment thread .github/workflows/deploy-js-kit-client.yml
Comment thread clients/js-kit/package.json

@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

🤖 Fix all issues with AI agents
In @.github/workflows/deploy-js-kit-client.yml:
- Around line 125-131: The "Deploy to Vercel" step uses the vercel CLI but
doesn't install Node.js or the Vercel CLI; update the job to install Node.js
(use actions/setup-node) before the step and either install the Vercel CLI (npm
install -g vercel) or invoke it via npx (npx vercel) in the "run" command;
target the existing step name/id "Deploy to Vercel" (id: deploy) and replace the
current run line that calls "vercel deploy" so it runs after Node is installed
and the CLI is available.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a6828c1 and 0e427d0.

📒 Files selected for processing (1)
  • .github/workflows/deploy-js-kit-client.yml
🧰 Additional context used
🪛 actionlint (1.7.9)
.github/workflows/deploy-js-kit-client.yml

118-118: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: JS Client / Lint
  • GitHub Check: JS Client / Test (18.x)
  • GitHub Check: Rust Client / Build
  • GitHub Check: JS Client / Test (20.x)
  • GitHub Check: Programs / Test (token-metadata)
🔇 Additional comments (3)
.github/workflows/deploy-js-kit-client.yml (3)

1-32: LGTM!

Workflow inputs are well-structured with appropriate types, defaults, and descriptions. The version bump options cover all standard npm versioning scenarios.


33-44: LGTM!

Good job dependency chain ensuring programs are built before testing the JS client. Secret inheritance is appropriate for reusable workflows.


45-76: LGTM!

Job setup is well-configured with appropriate permissions, dependency chain, and use of organizational actions for consistent Node.js/pnpm setup.

Comment thread .github/workflows/deploy-js-kit-client.yml
@MarkSackerberg

Copy link
Copy Markdown
Contributor Author

@blockiosaurus could you please create a new vercel project for the typedoc and add the ID to the repositories env? After that this should be good to be merged.

@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

🤖 Fix all issues with AI agents
In @clients/js-kit/README.md:
- Around line 44-57: Update the "Running Tests with Validator" section heading
and opening sentence to state that the local validator enables generating and
validating instructions and testing airdrop flows, but does not actually
send/commit transactions (transaction sending is still unimplemented); reference
the existing heading "Running Tests with Validator" and the note "Skip
transaction sending (not yet implemented)" so the intro clarifies that running
the validator allows instruction generation and airdrop testing rather than full
transaction execution.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0e427d0 and 680c169.

📒 Files selected for processing (1)
  • clients/js-kit/README.md
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-07T18:02:24.214Z
Learnt from: mcintyre94
Repo: metaplex-foundation/mpl-token-metadata PR: 175
File: configs/codama.cjs:0-0
Timestamp: 2025-08-07T18:02:24.214Z
Learning: In configs/codama.cjs, the ts-expect-error TODO comments at lines 248, 284, and 934 are temporary workarounds for overly restrictive types in the Codama library that have been fixed upstream in https://github.com/codama-idl/codama/pull/747. The code functionality works correctly despite the type errors.

Applied to files:

  • clients/js-kit/README.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Generate clients
  • GitHub Check: Programs / Test (token-metadata)

Comment thread clients/js-kit/README.md

@blockiosaurus blockiosaurus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I can only change the root dir on vercel to directories on the main branch so I'd say merge first then we'll add the typedoc.

@MarkSackerberg
MarkSackerberg merged commit 841747a into main Jan 8, 2026
12 checks passed
@MarkSackerberg
MarkSackerberg deleted the codama branch January 8, 2026 18:21
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.

3 participants