Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
e861888
fix: 3 char issue
shreyas-londhe Feb 20, 2025
02150d4
feat: v2 fresh start
shreyas-londhe Mar 3, 2025
6ec7675
feat: remove epsilon states (wip)
shreyas-londhe Mar 4, 2025
e309004
fix: epsilon-nfa -> nfa
shreyas-londhe Mar 13, 2025
6667e88
feat: circom codegen
shreyas-londhe Mar 18, 2025
7613e48
fix: conditional capture group logic
shreyas-londhe Mar 18, 2025
a61a224
feat: added substring extraction logic
shreyas-londhe Mar 19, 2025
09c7cd8
feat: basic case working
shreyas-londhe Mar 19, 2025
499db3e
noir compiler for regex matching (no substring capture
jp4g Mar 20, 2025
f45751c
feat: basic compiler functions (untested)
shreyas-londhe Mar 27, 2025
f755d92
update to work with bin and new compiler
jp4g Mar 27, 2025
9bb586f
split functionality, add packed capture group data to lut
jp4g Mar 27, 2025
2901ec1
fix: capture group logic
shreyas-londhe Mar 28, 2025
7930a41
feat: added function to generate inputs for circuit
shreyas-londhe Mar 28, 2025
20d465a
feat: basic e2e working
shreyas-londhe Mar 31, 2025
8a24437
feat: added wasm functions
shreyas-londhe Mar 31, 2025
2121a41
feat: minor changes
shreyas-londhe Apr 2, 2025
20ee1d3
feat: added sample circom circuits
shreyas-londhe Apr 2, 2025
d9d839b
merge
jp4g Apr 9, 2025
0738447
input gen works for non-capture
jp4g Apr 9, 2025
7f7a6e9
feat: improve epsilon removal
shreyas-londhe Apr 11, 2025
e39ea6c
optimized substring capture single case
jp4g Apr 12, 2025
90c2027
common utilities moved to common
jp4g Apr 12, 2025
5e1d6cb
codegen for capture groups
jp4g Apr 14, 2025
29ab2b6
codegen works with non-captures and captures
jp4g Apr 14, 2025
0735934
constrain capture start end masks
jp4g Apr 14, 2025
49573cf
fix: epsilon removal
shreyas-londhe Apr 15, 2025
3983096
Merge branch 'feat/new-compiler' into feat/new-compiler-noir
jp4g Apr 16, 2025
c7cc953
updated regex compiler
jp4g Apr 16, 2025
65dc44c
feat: modified wasm functions
shreyas-londhe Apr 17, 2025
209766d
feat: improved error handling
shreyas-londhe Apr 17, 2025
71143b0
feat: tests for body_hash regex
shreyas-londhe Apr 17, 2025
fd59f9c
constrain packed value decomposition
jp4g Apr 18, 2025
da02954
check_accept_state now ensures that traversal path length is equal to…
jp4g Apr 19, 2025
8318a35
remove unused is_capture_start/ is_capture_end in capture_substring
jp4g Apr 19, 2025
1d7f2ab
build_is_capture will now constrain is_capture to be 1
jp4g Apr 19, 2025
81e83e2
add check that substring_from_mask start index = 1 and start index - …
jp4g Apr 19, 2025
88caab5
also add check to end index mask in build_substring
jp4g Apr 19, 2025
3767f9a
revamp directory structure
jp4g Apr 19, 2025
bd9a43c
merge
jp4g Apr 19, 2025
7f34356
add new templates
jp4g Apr 19, 2025
8464c8b
add max_match_length functionality
jp4g Apr 19, 2025
41fcdc2
add separate noir inputs + hook up to wasm
jp4g Apr 19, 2025
0ee3f10
some comments
jp4g Apr 19, 2025
d3203fa
Merge pull request #91 from zkemail/feat/new-compiler-noir
shreyas-londhe Apr 23, 2025
aa3be01
feat: refactor and writing apis
shreyas-londhe Apr 23, 2025
f37bad1
Update Cargo.toml
Bisht13 Apr 24, 2025
f076a61
Update Cargo.toml
Bisht13 Apr 24, 2025
34246b0
Update Cargo.toml
Bisht13 Apr 24, 2025
5d1c7a8
feat: minor changes
shreyas-londhe Apr 24, 2025
cc91720
fix: remove custom name for noir regex matcher
shreyas-londhe Apr 25, 2025
ebc6a2f
feat: added detailed readme for compiler
shreyas-londhe Apr 28, 2025
54b1884
chore: minor changes
shreyas-londhe May 2, 2025
3cb1fa9
chore: minor changes
shreyas-londhe May 6, 2025
66961ed
fix: invalid __select_subarray
shreyas-londhe May 7, 2025
ac31879
fix: invalid capture group index
shreyas-londhe May 7, 2025
a7b45f7
fix: minor change
shreyas-londhe May 7, 2025
c7e3ace
fix: coinciding capture groups (builder)
shreyas-londhe May 6, 2025
ced8ba3
fix: added capture info to graph
shreyas-londhe May 6, 2025
d04c6cf
fix: bugs in noir utils
shreyas-londhe May 8, 2025
03f286c
fix: fixed codegen
shreyas-londhe May 9, 2025
0840458
minor change
shreyas-londhe May 9, 2025
b54cd29
feat: tested succinct regex
shreyas-londhe May 9, 2025
22163b2
fix: improved handling of start states
shreyas-londhe May 10, 2025
28d2d13
feat: added regex.nr gen script
shreyas-londhe May 10, 2025
acdc2c1
feat: added tests for noir
shreyas-londhe May 16, 2025
1ac9242
fix [noir]: max key len calc
shreyas-londhe May 31, 2025
a554050
[compiler] fix: minor fixes
shreyas-londhe May 31, 2025
2c84b6e
[compiler] chore: code refactor
shreyas-londhe Jun 18, 2025
1a8bee2
[compiler] fix: separated intermediate NFA from final NFA in build pr…
shreyas-londhe Jun 18, 2025
6bf372a
[compiler] fix: added detailed error handling
shreyas-londhe Jun 18, 2025
6384e23
fix: circom traversal linking check
shreyas-londhe Jul 16, 2025
20d0217
fix: using regex_helpers locally
shreyas-londhe Jul 16, 2025
1c4698f
chore: upgraded npm version with new body_hash_regex.circom
BornPsych Jul 16, 2025
95900d7
chore: added additional normailzation to validation check in template…
BornPsych Jul 21, 2025
9e82723
chore: convert PascalCase from all other cases
BornPsych Jul 21, 2025
896ea18
Merge pull request #94 from zkemail/fix/template-name-normalization
DimiDumo Jul 21, 2025
6d8df0e
chore: made regex helper path absolute
BornPsych Jul 21, 2025
d479713
Merge pull request #95 from zkemail/fix/code-generation-circom
DimiDumo Jul 21, 2025
1654c2c
fix: pascal case string modification
BornPsych Jul 22, 2025
00d72a7
Merge pull request #96 from zkemail/fix/config-validate
DimiDumo Jul 22, 2025
c4d8486
fix: circom version and upgraded npm version
BornPsych Jul 25, 2025
ee586f3
Merge pull request #97 from zkemail/fix/circom-version
BornPsych Jul 25, 2025
06fe32b
fix: tests passing now, updated circuit library
BornPsych Aug 6, 2025
850ecc3
Merge pull request #101 from zkemail/fix/updated-circuit-lib
BornPsych Aug 6, 2025
aa17277
fix: relative position of capture grp start indices
BornPsych Aug 6, 2025
f72c86f
chore: updated npm dependency
BornPsych Aug 6, 2025
ff68784
chore: added dev dep to pass test for noir
BornPsych Aug 6, 2025
776a578
chore: added command to publish alpha version
BornPsych Aug 6, 2025
722940c
chore: added scope for npm build
BornPsych Aug 12, 2025
87e692a
chore: removed commented code
BornPsych Aug 12, 2025
72223a5
chore: circom file formatting
BornPsych Aug 12, 2025
47abcf1
Merge pull request #102 from zkemail/fix/capture-grp-start-index
shreyas-londhe Aug 21, 2025
f81f4ac
feat: add TypeScript infrastructure for scripts migration
rutefig Sep 2, 2025
fe35905
feat: add core utility types and logger module
rutefig Sep 2, 2025
6b9ce32
feat: add string utilities for regex and text processing
rutefig Sep 2, 2025
3693751
feat: add file operations utilities with async support
rutefig Sep 2, 2025
ff60942
feat: add subprocess utilities with performance optimizations
rutefig Sep 2, 2025
a0b857a
feat: add utility module index exports
rutefig Sep 2, 2025
b4ba7fd
test: add comprehensive unit tests for utility modules
rutefig Sep 2, 2025
0077d3b
feat: migrate circom gen_regex.py to TypeScript
rutefig Sep 2, 2025
43979e0
feat: migrate noir gen_regex.py to TypeScript
rutefig Sep 2, 2025
aa4065d
feat: migrate noir gen_inputs.py to TypeScript
rutefig Sep 2, 2025
ce205ca
test: add integration tests for migrated scripts
rutefig Sep 2, 2025
26deb97
docs: add migration documentation and README
rutefig Sep 2, 2025
fea567c
chore: update .gitignore for TypeScript build artifacts
rutefig Sep 2, 2025
c5bf11f
feat: finalize Python to TypeScript migration with build system impro…
rutefig Sep 2, 2025
18fac32
fix: improve TypeScript script performance and reliability
rutefig Sep 3, 2025
37c64fe
chore: update yarn.lock dependencies
rutefig Sep 3, 2025
86c8bac
docs: remove old MIGRATION.md file
rutefig Sep 3, 2025
b758234
fix: resolve TypeScript compilation errors and deprecated Node.js APIs
rutefig Sep 3, 2025
81a07a9
chore: remove old python scripts
rutefig Sep 3, 2025
d0ddca3
feat: migrate ZK-Regex project from mixed Yarn/Bun to Bun-only
rutefig Sep 3, 2025
1d5a5c4
docs: update scripts README for Bun migration
rutefig Sep 3, 2025
a0ebfd4
chore: remove legacy yarn lock files
rutefig Sep 3, 2025
34e2ad7
feat: complete Bun migration for entire project including Circom tests
rutefig Sep 3, 2025
811fd46
docs: fix Circom installation instructions to match official docs
rutefig Sep 3, 2025
4a472b2
feat: migrate JavaScript files to TypeScript
rutefig Sep 3, 2025
777226f
feat: add automatic template generation via pre-push hook
rutefig Sep 3, 2025
abfe922
fix: error handling in gen circuit
BornPsych Sep 11, 2025
35014c2
Merge pull request #107 from zkemail/fix/error-handling
BornPsych Sep 11, 2025
97ddff0
feat: restore Noir circuit tests and add manual test guidelines
rutefig Sep 23, 2025
0f79735
chore: added github actions for the test
BornPsych Sep 24, 2025
d18c9e9
Merge pull request #106 from zkemail/rutefig/reg-531-move-python-scri…
BornPsych Sep 24, 2025
29f8cc8
chore: added license file to repo
BornPsych Sep 29, 2025
8c50a00
Merge branch 'main' into feat/new-compiler
BornPsych Sep 29, 2025
3dd1eb5
chore: ran cargo clippy fix
BornPsych Sep 29, 2025
298b3f7
fix: force new build process
BornPsych Sep 29, 2025
c1ac7ad
fix: changes in pre-push file for preserving tests
BornPsych Sep 30, 2025
a8a670c
chore: regenerate templates with updated import paths
BornPsych Sep 30, 2025
5124dff
fix: added code to preserve mannual code
BornPsych Sep 30, 2025
fa0b546
chore: increased the test timeout for CI tests
BornPsych Sep 30, 2025
7de226d
chore: removed the unsupported bun deps
BornPsych Sep 30, 2025
9fc345a
fix: CI for body hash test
BornPsych Sep 30, 2025
a54aced
fix: CI error due to wrong version of bun
BornPsych Sep 30, 2025
2d5cd24
fix: add root bunfig.toml with 30s timeout for all tests
BornPsych Sep 30, 2025
09b8a86
fix: pin Bun version to 1.2.22 in CI workflow
BornPsych Sep 30, 2025
89c9442
fix: rust compilation errors - unstable expressions
rutefig Oct 30, 2025
181ddd8
chore: convert bare capture groups on private patterns into non captu…
rutefig Oct 30, 2025
12b8a6f
fix: doctest trying to access to private function
rutefig Oct 30, 2025
bb530c5
chore: added test to check if gen_from_decomposed converts capture gr…
rutefig Oct 30, 2025
faeabb4
fix: properly handle escaped parens and character classes in capture …
rutefig Oct 30, 2025
dfe8085
fix: convert named captures to non-capturing in private patterns
rutefig Oct 30, 2025
3d37c31
Merge pull request #109 from zkemail/rutefig/reg-574-fix-prevent-capt…
rutefig Oct 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .DS_Store
Binary file not shown.
4 changes: 0 additions & 4 deletions .cargo/config

This file was deleted.

1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

26 changes: 0 additions & 26 deletions .eslintrc.json

This file was deleted.

34 changes: 0 additions & 34 deletions .github/workflows/test.yaml

This file was deleted.

62 changes: 62 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Test

on:
push:
branches: [ "**" ]
pull_request:
branches: [ "main", "master" ]

jobs:
test:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable

- name: Cache Cargo
uses: actions/cache@v3
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Update actions/cache to v4 for GitHub Actions compatibility.

The actions/cache@v3 action is outdated per actionlint. Update to v4 to ensure compatibility with current GitHub Actions standards and to receive security updates.

-      uses: actions/cache@v3
+      uses: actions/cache@v4
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
uses: actions/cache@v3
uses: actions/cache@v4
🧰 Tools
🪛 actionlint (1.7.8)

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

(action)

🤖 Prompt for AI Agents
In .github/workflows/test.yml around line 23, the workflow references
actions/cache@v3 which is outdated; update the action reference to
actions/cache@v4 to satisfy actionlint and gain compatibility/security updates.
Modify the uses entry to point to actions/cache@v4 (no other changes required),
commit the workflow, and verify the workflow lints and runs successfully in CI.

with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock', '**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh

- name: Install Circom
run: |
# Check if circom 2.1.9 is already installed
if command -v circom &> /dev/null && circom --version | grep -q "2.1.9"; then
echo "Circom 2.1.9 already installed"
circom --version
else
echo "Installing Circom 2.1.9 from source"
git clone https://github.com/iden3/circom.git /tmp/circom
cd /tmp/circom
git checkout v2.1.9
cargo build --release
cargo install --path circom
circom --version
fi

- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: "1.2.22"

- name: Install dependencies
run: bun install

- name: Run tests
run: bun test
130 changes: 17 additions & 113 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,114 +1,18 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

.vscode
build/*
!build/.placeholder

nfa.json
target

Cargo.lock

.DS_Store
packages/*/build

package-lock.json
yarn.lock

index.node
/compiler/pkg
/compiler/.yarn

Prover.toml
prover.toml
inputs.txt
node_modules

# TypeScript build artifacts
scripts/dist/
**/scripts/*.js
**/scripts/*.d.ts
**/scripts/*.js.map
**/scripts/*.d.ts.map

.claude
10 changes: 0 additions & 10 deletions .prettierrc

This file was deleted.

Loading
Loading