Skip to content

Commit b56485d

Browse files
author
AztecBot
committed
Merge branch 'next' into merge-train/fairies
2 parents 489756d + 8b89e96 commit b56485d

8 files changed

Lines changed: 264 additions & 44 deletions

File tree

docs/developer_versioned_docs/version-v4.0.0-devnet.2-patch.1/ai_tooling.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Install the Aztec and Noir plugins from the marketplace. These include the MCP s
5757
Or add the MCP servers directly:
5858

5959
```bash
60-
claude mcp add aztec -- npx aztec-mcp-server@latest
60+
claude mcp add aztec -- npx @aztec/mcp-server@latest
6161
claude mcp add noir -- npx noir-mcp-server@latest
6262
```
6363

@@ -70,7 +70,7 @@ Add the servers to your MCP configuration JSON:
7070
"mcpServers": {
7171
"aztec": {
7272
"command": "npx",
73-
"args": ["-y", "aztec-mcp-server@latest"]
73+
"args": ["-y", "@aztec/mcp-server@latest"]
7474
},
7575
"noir": {
7676
"command": "npx",
@@ -82,7 +82,7 @@ Add the servers to your MCP configuration JSON:
8282

8383
### OpenAI Codex
8484

85-
Use the same MCP configuration format, pointing at `aztec-mcp-server` and `noir-mcp-server`.
85+
Use the same MCP configuration format, pointing at `@aztec/mcp-server` and `noir-mcp-server`.
8686

8787
## For learning and exploration
8888

@@ -111,7 +111,7 @@ These resources help you understand Aztec concepts, read docs, or provide additi
111111
| Tool | Works with | Description |
112112
| --------------------------------------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------- |
113113
| [aztec-claude-plugin](https://github.com/critesjosh/aztec-claude-plugin) | Claude Code | Skills, commands, agents, and MCP server for Aztec contract and TypeScript development |
114-
| [aztec-mcp-server](https://github.com/critesjosh/aztec-mcp-server) | Any MCP client (Claude Code, Cursor, Windsurf, Codex) | Clones Aztec repos locally, provides code search, doc search, and example discovery |
114+
| [@aztec/mcp-server](https://github.com/AztecProtocol/mcp-server) | Any MCP client (Claude Code, Cursor, Windsurf, Codex) | Clones Aztec repos locally, provides code search, doc search, and example discovery |
115115
| [noir-claude-plugin](https://github.com/critesjosh/noir-claude-plugin) | Claude Code | Skills and commands for Noir circuit development |
116116
| [noir-mcp-server](https://github.com/critesjosh/noir-mcp-server) | Any MCP client | Clones Noir repos, stdlib, and community libraries; provides search and examples |
117117
| [aztec-skills](https://github.com/NethermindEth/aztec-skills) | Claude Code, Codex | Installable skills for Aztec contracts, deployment, Aztec.js, and testing |

docs/developer_versioned_docs/version-v4.0.0-devnet.2-patch.1/docs/aztec-js/typescript_api_reference.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ Packages for building Aztec applications:
131131
| **@aztec/accounts** | Sample account contract implementations including ECDSA and Schnorr accounts. |
132132
| **@aztec/pxe** | Private eXecution Environment client library for orchestrating private transaction execution and proving. |
133133
| **@aztec/wallet-sdk** | Wallet SDK for browser and extension integrations. |
134-
| **@aztec/test-wallet** | Test wallet for development and e2e testing with in-memory account management. |
134+
| **@aztec/wallets** | Embedded wallet for browser and Node.js environments. |
135135
| **@aztec/entrypoints** | Transaction entrypoint implementations for account abstraction. |
136136

137137
### Core Libraries
@@ -166,7 +166,7 @@ The following markdown files are available for LLM context inclusion at <ApiPath
166166
| <ApiFile path="accounts.md" /> | Account implementations (ECDSA, Schnorr) |
167167
| <ApiFile path="pxe.md" /> | Private execution environment client |
168168
| <ApiFile path="wallet-sdk.md" /> | Browser/extension wallet integration |
169-
| <ApiFile path="test-wallet.md" /> | Test wallet for development and e2e testing |
169+
| <ApiFile path="wallets.md" /> | Embedded wallet for browser and Node.js |
170170
| <ApiFile path="entrypoints.md" /> | Transaction entrypoints for account abstraction |
171171
| <ApiFile path="stdlib.md" /> | Protocol types (transactions, blocks, proofs) |
172172
| <ApiFile path="foundation.md" /> | Low-level utilities (crypto, serialization) |

docs/docs-developers/ai_tooling.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Install the Aztec and Noir plugins from the marketplace. These include the MCP s
5757
Or add the MCP servers directly:
5858

5959
```bash
60-
claude mcp add aztec -- npx aztec-mcp-server@latest
60+
claude mcp add aztec -- npx @aztec/mcp-server@latest
6161
claude mcp add noir -- npx noir-mcp-server@latest
6262
```
6363

@@ -70,7 +70,7 @@ Add the servers to your MCP configuration JSON:
7070
"mcpServers": {
7171
"aztec": {
7272
"command": "npx",
73-
"args": ["-y", "aztec-mcp-server@latest"]
73+
"args": ["-y", "@aztec/mcp-server@latest"]
7474
},
7575
"noir": {
7676
"command": "npx",
@@ -82,7 +82,7 @@ Add the servers to your MCP configuration JSON:
8282

8383
### OpenAI Codex
8484

85-
Use the same MCP configuration format, pointing at `aztec-mcp-server` and `noir-mcp-server`.
85+
Use the same MCP configuration format, pointing at `@aztec/mcp-server` and `noir-mcp-server`.
8686

8787
## For learning and exploration
8888

@@ -111,7 +111,7 @@ These resources help you understand Aztec concepts, read docs, or provide additi
111111
| Tool | Works with | Description |
112112
| --------------------------------------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------- |
113113
| [aztec-claude-plugin](https://github.com/critesjosh/aztec-claude-plugin) | Claude Code | Skills, commands, agents, and MCP server for Aztec contract and TypeScript development |
114-
| [aztec-mcp-server](https://github.com/critesjosh/aztec-mcp-server) | Any MCP client (Claude Code, Cursor, Windsurf, Codex) | Clones Aztec repos locally, provides code search, doc search, and example discovery |
114+
| [@aztec/mcp-server](https://github.com/AztecProtocol/mcp-server) | Any MCP client (Claude Code, Cursor, Windsurf, Codex) | Clones Aztec repos locally, provides code search, doc search, and example discovery |
115115
| [noir-claude-plugin](https://github.com/critesjosh/noir-claude-plugin) | Claude Code | Skills and commands for Noir circuit development |
116116
| [noir-mcp-server](https://github.com/critesjosh/noir-mcp-server) | Any MCP client | Clones Noir repos, stdlib, and community libraries; provides search and examples |
117117
| [aztec-skills](https://github.com/NethermindEth/aztec-skills) | Claude Code, Codex | Installable skills for Aztec contracts, deployment, Aztec.js, and testing |

docs/docs-developers/docs/aztec-js/typescript_api_reference.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ Packages for building Aztec applications:
131131
| **@aztec/accounts** | Sample account contract implementations including ECDSA and Schnorr accounts. |
132132
| **@aztec/pxe** | Private eXecution Environment client library for orchestrating private transaction execution and proving. |
133133
| **@aztec/wallet-sdk** | Wallet SDK for browser and extension integrations. |
134-
| **@aztec/test-wallet** | Test wallet for development and e2e testing with in-memory account management. |
134+
| **@aztec/wallets** | Embedded wallet for browser and Node.js environments. |
135135
| **@aztec/entrypoints** | Transaction entrypoint implementations for account abstraction. |
136136

137137
### Core Libraries
@@ -166,7 +166,7 @@ The following markdown files are available for LLM context inclusion at <ApiPath
166166
| <ApiFile path="accounts.md" /> | Account implementations (ECDSA, Schnorr) |
167167
| <ApiFile path="pxe.md" /> | Private execution environment client |
168168
| <ApiFile path="wallet-sdk.md" /> | Browser/extension wallet integration |
169-
| <ApiFile path="test-wallet.md" /> | Test wallet for development and e2e testing |
169+
| <ApiFile path="wallets.md" /> | Embedded wallet for browser and Node.js |
170170
| <ApiFile path="entrypoints.md" /> | Transaction entrypoints for account abstraction |
171171
| <ApiFile path="stdlib.md" /> | Protocol types (transactions, blocks, proofs) |
172172
| <ApiFile path="foundation.md" /> | Low-level utilities (crypto, serialization) |

docs/scripts/validate_api_ref_links.sh

Lines changed: 116 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
# validate_api_ref_links - Validate that markdown links to aztec-nr API reference resolve to actual files
4+
# validate_api_ref_links - Validate that API reference links resolve to actual files
55
#
6-
# Scans processed-docs/ (current build content) and developer_versioned_docs/ (pinned snapshots)
7-
# for pathname:///aztec-nr-api/ links (and JSX href variants) and checks that the target files
8-
# exist in static/aztec-nr-api/. Uses case-insensitive matching since Netlify's CDN is
9-
# case-insensitive, but warns about case mismatches.
6+
# Validates two types of API reference links:
7+
# - Aztec.nr API: pathname:///aztec-nr-api/ links and JSX href variants → static/aztec-nr-api/
8+
# - TypeScript API: <ApiFile path="..."/> and <ApiLink path="..."/> JSX components,
9+
# plus pathname:///typescript-api/ links and JSX href variants → static/typescript-api/
10+
#
11+
# Scans processed-docs/ (current build content), developer_versioned_docs/ (pinned snapshots),
12+
# and docs-developers/ (source files, for TypeScript API JSX components only).
1013
#
1114
# Checks performed:
1215
# 1. Broken links - target file does not exist at all
@@ -20,9 +23,10 @@ set -euo pipefail
2023
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
2124
DOCS_ROOT="$(dirname "$SCRIPT_DIR")"
2225
STATIC_API_DIR="$DOCS_ROOT/static/aztec-nr-api"
26+
TS_STATIC_API_DIR="$DOCS_ROOT/static/typescript-api"
2327

24-
if [[ ! -d "$STATIC_API_DIR" ]]; then
25-
echo "WARNING: static/aztec-nr-api/ directory not found. Skipping API ref link validation."
28+
if [[ ! -d "$STATIC_API_DIR" ]] && [[ ! -d "$TS_STATIC_API_DIR" ]]; then
29+
echo "WARNING: Neither static/aztec-nr-api/ nor static/typescript-api/ found. Skipping API ref link validation."
2630
exit 0
2731
fi
2832

@@ -31,7 +35,9 @@ echo "Validating API reference links..."
3135
# Collect directories to scan.
3236
# 1. processed-docs/ — current docs with macros resolved (available during build after preprocess:move)
3337
# 2. developer_versioned_docs/ — pinned version snapshots (macros already resolved at version time)
34-
# We skip docs-developers/ source files because they contain unresolved #api_ref_version macros.
38+
# 3. docs-developers/ — source files (for TypeScript API JSX components that don't use macros)
39+
# We skip docs-developers/ for aztec-nr-api links because they contain unresolved #api_ref_version macros,
40+
# but we DO scan it for TypeScript API links (ApiFile/ApiLink) which use runtime version resolution.
3541
SEARCH_DIRS=()
3642

3743
# Processed docs (current build content — most important for catching regressions)
@@ -44,6 +50,11 @@ for dir in "$DOCS_ROOT"/developer_versioned_docs/version-*; do
4450
[[ -d "$dir" ]] && SEARCH_DIRS+=("$dir")
4551
done
4652

53+
# Source docs (for TypeScript API JSX component validation only)
54+
if [[ -d "$DOCS_ROOT/docs-developers" ]]; then
55+
SEARCH_DIRS+=("$DOCS_ROOT/docs-developers")
56+
fi
57+
4758
if [[ ${#SEARCH_DIRS[@]} -eq 0 ]]; then
4859
echo "No docs directories found (no processed-docs/ or versioned docs). Skipping."
4960
exit 0
@@ -249,7 +260,7 @@ send_alert() {
249260
done
250261
fi
251262

252-
message+=$'\n'"*Action required:* Run \`yarn generate:aztec-nr-api\` to regenerate the API docs."
263+
message+=$'\n'"*Action required:* Run \`yarn generate:aztec-nr-api\` and/or \`yarn generate:typescript-api\` to regenerate the API docs."
253264

254265
if send_slack_message "$message"; then
255266
echo "Slack notification sent to #devrel-docs-updates."
@@ -326,9 +337,61 @@ process_link() {
326337
fi
327338
}
328339

340+
# Get the expected TypeScript API version from a docs directory path.
341+
# Args: $1 = search directory path
342+
# Outputs: "nightly", "devnet", or "next" — the folder name under static/typescript-api/
343+
get_expected_ts_api_version() {
344+
local search_dir="$1"
345+
local dirname
346+
dirname=$(basename "$search_dir")
347+
348+
if [[ "$dirname" =~ devnet ]]; then
349+
echo "devnet"
350+
elif [[ "$dirname" =~ nightly ]]; then
351+
echo "nightly"
352+
else
353+
# processed-docs maps to "next"
354+
echo "next"
355+
fi
356+
}
357+
358+
# Process a TypeScript API link found via ApiFile/ApiLink JSX props.
359+
# These reference files under static/typescript-api/{version}/.
360+
# Args: $1 = source file, $2 = line number, $3 = file path (e.g., "wallets.md"),
361+
# $4 = expected TS API version
362+
process_ts_api_link() {
363+
local source_file="$1"
364+
local line_num="$2"
365+
local file_path="$3"
366+
local expected_version="${4:-nightly}"
367+
368+
TOTAL_COUNT=$((TOTAL_COUNT + 1))
369+
370+
local rel_source="${source_file#$DOCS_ROOT/}"
371+
372+
# Check if the file exists under static/typescript-api/{version}/
373+
local full_path="$TS_STATIC_API_DIR/$expected_version/$file_path"
374+
if [[ ! -f "$full_path" ]]; then
375+
# Also try "nightly" as fallback since that's the only generated output currently
376+
if [[ "$expected_version" != "nightly" ]] && [[ -f "$TS_STATIC_API_DIR/nightly/$file_path" ]]; then
377+
return
378+
fi
379+
BROKEN_COUNT=$((BROKEN_COUNT + 1))
380+
BROKEN_DETAILS+=("$rel_source:$line_num -> typescript-api/$expected_version/$file_path")
381+
echo " BROKEN: $rel_source:$line_num"
382+
echo " TypeScript API file not found: typescript-api/$expected_version/$file_path"
383+
fi
384+
}
385+
329386
# Regex patterns stored in variables to avoid bash parsing issues with special chars
330387
MD_LINK_PATTERN='][(]pathname:///aztec-nr-api/([^)]*)[)]'
331388
JSX_HREF_PATTERN='href="/aztec-nr-api/([^"]*)"'
389+
# TypeScript API patterns: <ApiFile path="..." /> and <ApiLink path="..." />
390+
TS_APIFILE_PATTERN='ApiFile path="([^"]*)"'
391+
TS_APILINK_PATTERN='ApiLink path="([^"]*)"'
392+
# TypeScript API markdown and JSX href links
393+
TS_MD_LINK_PATTERN='][(]pathname:///typescript-api/([^)]*)[)]'
394+
TS_JSX_HREF_PATTERN='href="/typescript-api/([^"]*)"'
332395

333396
# Scan files for links
334397
for search_dir in "${SEARCH_DIRS[@]}"; do
@@ -340,6 +403,8 @@ for search_dir in "${SEARCH_DIRS[@]}"; do
340403
echo " $rel_search_dir"
341404
fi
342405

406+
expected_ts_version=$(get_expected_ts_api_version "$search_dir")
407+
343408
# Find all .md and .mdx files
344409
while IFS= read -r -d '' file; do
345410
local_line_num=0
@@ -364,6 +429,46 @@ for search_dir in "${SEARCH_DIRS[@]}"; do
364429
remaining="${remaining#*"$full_match"}"
365430
done
366431

432+
# Match TypeScript API JSX components: <ApiFile path="..." /> and <ApiLink path="..." />
433+
remaining="$line"
434+
while [[ "$remaining" =~ $TS_APIFILE_PATTERN ]]; do
435+
ts_file_path="${BASH_REMATCH[1]}"
436+
full_match="${BASH_REMATCH[0]}"
437+
process_ts_api_link "$file" "$local_line_num" "$ts_file_path" "$expected_ts_version"
438+
remaining="${remaining#*"$full_match"}"
439+
done
440+
441+
remaining="$line"
442+
while [[ "$remaining" =~ $TS_APILINK_PATTERN ]]; do
443+
ts_file_path="${BASH_REMATCH[1]}"
444+
full_match="${BASH_REMATCH[0]}"
445+
process_ts_api_link "$file" "$local_line_num" "$ts_file_path" "$expected_ts_version"
446+
remaining="${remaining#*"$full_match"}"
447+
done
448+
449+
# Match markdown links: ](pathname:///typescript-api/...)
450+
remaining="$line"
451+
while [[ "$remaining" =~ $TS_MD_LINK_PATTERN ]]; do
452+
ts_link="${BASH_REMATCH[1]}"
453+
full_match="${BASH_REMATCH[0]}"
454+
# Extract version and file path from e.g. "nightly/wallets.md"
455+
if [[ "$ts_link" =~ ^([^/]+)/(.+)$ ]]; then
456+
process_ts_api_link "$file" "$local_line_num" "${BASH_REMATCH[2]}" "${BASH_REMATCH[1]}"
457+
fi
458+
remaining="${remaining#*"$full_match"}"
459+
done
460+
461+
# Match JSX href attributes: href="/typescript-api/..."
462+
remaining="$line"
463+
while [[ "$remaining" =~ $TS_JSX_HREF_PATTERN ]]; do
464+
ts_link="${BASH_REMATCH[1]}"
465+
full_match="${BASH_REMATCH[0]}"
466+
if [[ "$ts_link" =~ ^([^/]+)/(.+)$ ]]; then
467+
process_ts_api_link "$file" "$local_line_num" "${BASH_REMATCH[2]}" "${BASH_REMATCH[1]}"
468+
fi
469+
remaining="${remaining#*"$full_match"}"
470+
done
471+
367472
done < "$file"
368473
done < <(find "$search_dir" -type f \( -name "*.md" -o -name "*.mdx" \) -print0)
369474
done
@@ -377,8 +482,8 @@ echo " - Version mismatches: $VERSION_MISMATCH_COUNT"
377482
if [[ $BROKEN_COUNT -gt 0 ]]; then
378483
echo ""
379484
echo "WARNING: $BROKEN_COUNT broken API reference link(s) found."
380-
echo "These links point to files that don't exist in static/aztec-nr-api/."
381-
echo "Run 'yarn generate:aztec-nr-api' to regenerate the API docs."
485+
echo "These links point to files that don't exist in static/aztec-nr-api/ or static/typescript-api/."
486+
echo "Run 'yarn generate:aztec-nr-api' or 'yarn generate:typescript-api' to regenerate the API docs."
382487
fi
383488

384489
if [[ $VERSION_MISMATCH_COUNT -gt 0 ]]; then

docs/src/css/custom.css

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -538,37 +538,18 @@ html[data-theme="dark"] .sidebar-divider {
538538
Table Wrapping Styles for Long Content
539539
============================================ */
540540

541-
/* Force table layout and wrap long content like addresses */
541+
/* Allow long content like addresses to wrap in table cells */
542542
.markdown table {
543-
table-layout: fixed;
544543
width: 100%;
545-
word-break: break-word;
546544
}
547545

548-
/* Allow content in table cells to wrap */
549546
.markdown td, .markdown th {
550-
word-wrap: break-word;
551-
word-break: break-all;
552547
overflow-wrap: break-word;
553548
white-space: normal;
554549
}
555550

556-
/* Optional: Adjust column widths for specific tables */
557-
/* Contract address tables - give more space to address columns */
558-
.markdown table td:nth-child(n+2),
559-
.markdown table th:nth-child(n+2) {
560-
min-width: 200px;
561-
}
562-
563-
/* First column (contract names) can be narrower */
564-
.markdown table td:first-child,
565-
.markdown table th:first-child {
566-
min-width: 150px;
567-
max-width: 200px;
568-
}
569-
570551
/* Make code blocks in tables wrap */
571552
.markdown table code {
572-
word-break: break-all;
553+
overflow-wrap: break-word;
573554
white-space: normal;
574555
}

docs/static/typescript-api/devnet/llm-summary.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ Exports: 6 classes, 31 interfaces, 10 functions, 8 types
4444
- EmbeddedWallet with browser and Node.js flavors
4545
- Account creation and management
4646
- Transaction simulation and proving
47+
Exports: 2 classes, 2 functions, 2 types
48+
Key: NodeEmbeddedWallet, WalletDB
4749

4850
### Core Libraries
4951

@@ -111,5 +113,6 @@ entrypoints → foundation, stdlib
111113
pxe → aztec.js, foundation, kv-store, stdlib
112114
stdlib → blob-lib, constants, ethereum, foundation
113115
wallet-sdk → aztec.js, entrypoints, foundation, pxe, stdlib
116+
wallets → accounts, aztec.js, entrypoints, foundation, kv-store, pxe, stdlib, wallet-sdk
114117

115118
For detailed API documentation, see the individual package files.

0 commit comments

Comments
 (0)