)]}'
{
  "log": [
    {
      "commit": "5de58b7377f7baa3f1bf8823233e9a3f8927f270",
      "tree": "7017d16c32561b86b7f9c212300080c3e1c4353b",
      "parents": [
        "90d7a2f187abcbd7806be2a68d63b84fda4fcbc2"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Thu Sep 03 10:27:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 10:27:40 2026 +0800"
      },
      "message": "add thun (#268)\n\n* add thun\n\n* add header\n\n* fix build\n\n* fix build"
    },
    {
      "commit": "90d7a2f187abcbd7806be2a68d63b84fda4fcbc2",
      "tree": "9c53ebd001d2901be6a7841e15cb47a4e82035b8",
      "parents": [
        "10e81c23101046c951828ece21397fc5562fd9a3"
      ],
      "author": {
        "name": "Josh Hutton",
        "email": "55123932+JoshHuttonCode@users.noreply.github.com",
        "time": "Tue Aug 18 20:27:19 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 19 11:27:19 2026 +0800"
      },
      "message": "Add Raft implementation (#267)\n\n* Add an implementation of the Raft consensus protocol (#223)\n\n* Bumped zlib version\nfixed a race condition in deploy_local.sh\n\n* Added Raft files, currently copies of PoE files per Dakai\u0027s guide.\n\n* set PoE script to use pbft\u0027s kvtools\n\n* Replace view change flag with leader election flag\n\n* WIP add initial happy path raft implementation\n\n* WIP some bug fixes\n\n* WIP log statements to try and figure things out\n\n* WIP fix using wrong value for leader id\n\n* WIP more print statements\n\n* Fixed errors in build files to support Intellisense\n\n* WIP temp change to broadcast\n\n* WIP add more prints, leader commits and executes\n\n* WIP switch back to SendMessage\n\n* WIP fixed committing condition\n\n* Added Heartbeat and Elections triggered by timeout\n\n* Update variable names to match the Raft paper\n\n* in progress requestVote and requestVoteResponse handlers\n\n* finished adding leader election logic, it seems buggy though.\n\n* blocked input from client, set appendEntries handler to always be happy\nraised timeout window and heartbeat interval\n\n* testing\n\n* testing leader election\n\n* staging for merge into raft branch\n\n* Added logic to redirect client proxy to current leader\n\n* Fix AppendEntries failure path to back off nextIndex and retry\n\n* redirect to leader working even on later terms\n\n* seems to kind of work. worried about duplicate entries?\n\n* modified some logging, changed config\n\n* moved some variables around in header, changed receivePropose to ReceiveAppendEntries\n\n* Swapped to requests instead of AppendEntries outside RPC logic\n\n* implemented LogEntry struct instead of using AppendEntries for everything\n\n* Create and send individual AppendEntries to each follower from ReceiveTransaction\n\n* Setting nextIndex to lastlogindex() - 1 in ReceiveAEResponse fail case\n\n* Modified CreateAndSendAppendEntries to CreateAndSendAppendEntryMsg and used it in ReceiveAppendEntriesResponse\n\n* Fix issues from the previous commit\n\n* WIP catch up transactions to leader\u0027s most current log entry\n\n* staging for benchmarks\n\n* Added support for multiple entries in AppendEntries RPC\nHeartbeat is skipped if leader recently broadcasted AppendEntries\nAdded logic for followers to truncate their log when leader sends conflicting entries\n\n* added followerId field to AeFields struct to simplify code\nchanged variable names for semanatic value\nremoved one line conditionals for readability\n\n* revamped follower truncate/append logic\n\n* added some comments to Raft::ReceiveAppendEntries method\n\n* update inflight limit code\n\n* modified config generation script to accomodate changes to config reading in upstream code\n\n* Add a function for use in later commit\n\n* Add tests related to timeouts and heartbeats for Raft\n\n* Add initial Raft tests for sending and receiving AppendEntries\n\n* Update tests, restructure raft tests to support multiple raft test files\n\n* Add tests for ReceiveAppendEntriesResponse()\n\n* Add tests related to voting\n\n* Run clang format and other style changes\n\n* Undo some changes unrelated to Raft\n\n* Change log_ to vector\u003cLogEntry\u003e. Add helper functions for future use\n\n* Change LogEntry to store Entry directly\n\n* WIP Add RaftRecovery class\n\n* WIP Extract common Recovery code to BaseRecovery\n\n* WIP Update RaftRecovery and tests, tentatively working\n\n* Run clang format\n\n* Change the templating of Recovery\n\n* Reorganize file structure of recovery files\n\n* Update things missed in previous commit\n\n* Fix RaftRecovery issue, add test for it, adjust dependencies\n\n* Remove access modifier change for test compilation, change whitespace\n\n* Address some PR comments, fix broken tests\n\nTests now work again after adding Recovery.\nAddressed minor test concerns.\nAdd Log Truncation support to Raft Recovery. This includes a new WALRecord and TruncationRecord protobuf message.\nMove LastLogIndex and log_ resizing into AddToLog and TruncateLog.\nAdd PrintDebugStateLocked() so that PrintDebugState() can be called under the lock.\nChange Recovery to not ignore all recovery data if a portion of the data is wrong.\n\n* Improve reliability of RaftRecovery\n\n* Update changes for tests, change how log is accessed\n\nFor checkpointing, we need to separate the logical log index and size from the actual indexing and size of the vector.\n\n* Add Checkpointing, new tests, miscellaneous changes\n\nAdded some handling to deal with snapshotting in Raft. Checkpoints will be taken, the last snapshot index and term need to be stored, and index arithmetic needs to be accounted for. Note that this largely is not yet in use, as the hook to actual truncate a prefix in Consensus is currently commented out. Once there is handling to send and receive Snapshots, this will be used.\n\nAdded a callback hook in recovery to let the consensus protocol know when a checkpoint has finished and up to what seq it covers.\n\nMoved some Raft test header functionality into a general Raft test utility to not be attached to that specific text fixture.\n\nAdded some new tests for existing Raft features.\n\nUpdated lastApplied_ in Raft to be lastCommitted (meaning we have queued it to be committed). lastApplied is now tracked in Raft\u0027s Consensus class.\n\nFixed a bug with min_seq_ tracking in Recovery.\n\nFixed potential issues with edge cases in ReadLogsFromFiles.\n\n* Undo change to recovery_ckpt_time_s_\n\n---------\n\nCo-authored-by: Jim Brower \u003cjimrabrower@gmail.com\u003e\nCo-authored-by: nachiket \u003cnachocheeeze922@gmail.com\u003e\nCo-authored-by: yhuan331 \u003cyhuan331@ucsc.edu\u003e\nCo-authored-by: hammerface \u003chammerface@users.noreply.github.com\u003e\n\n* Rework Recovery\u0027s set_start_point, add tests.\n\nPBFT and Raft require different information to be recovered on startup, so the function to set the start point was reworked to be more general to get rid of Raft\u0027s clunky handling for it.\n\nFix bug with mismatched char* and delete (not delete[])\n\nAdd new tests.\n\nUpdate some old tests and their comments.\n\n* Add the ability to send snapshots to followers\n\nSnapshots to be sent are serialized and written to a temporary file to disk. Received snapshot chunks are saved to disk until all chunks have been received, then they are loaded into storage.\n\nTo support this implementation, a clear() function has been added to the Storage classes.\n\n* Fix case where leader is behind follower\n\n* Enable truncation after checkpointing\n\n* Update Raft config\n\n* Make minor changes\n\nFix incorrect config option\n\nFix incorrect print statement\n\nOnly change snapshot_in_progress_ under mutex\n\nMove fsync to after all writes are complete\n\nHave follower reject snapshot that is covered by its latest commit, which is \u003e\u003d its own snapshot_last_index_\n\n* Add and update tests, 2 other small Raft changes\n\nDon\u0027t let nextIndex_ go below matchIndex_ + 1.\n\nLoosen the conditions to reject the first snapshot chunk. If a follower has an entry at the last snapshot index that matches the last snapshot term, the snapshot must be a prefix of its log.\n\n* Update variable names to be snake_case\n\n* Add missing test\n\n* Add missing license headers\n\n* Run clang-format on previously unformatted commits\n\n* Remove commented out or unnecessary code\n\nAlso, corrected the names of PrintDebugState() and PrintDebugStateLocked().\n\n* Add missed license header\n\n* Improve throughput significantly through several changes\n\nSend snapshots via a separate background thread, add snapshot requests via a queue.\nOverhaul logic around pipelining instructions while allowing for retransmission. This new system has 3 states:\n  1. Replicate, where a leader assumes that follower will receive everything it sends.\n  2. Probe, once we know a follower has fallen behind, send one AppendEntries to understand where its log is at, then return to Replicate.\n  3. Snapshot, follower needs a snapshot.\nEach leader now adds a no-op instruction at the beginning of its term.\nRaft No-op handling added to TransactionExecutor.\nMove various sections of code outside of locks to improve throughput while maintaining correctness.\nAdd tests for No-op handling, ProgressStateHandling, and Snapshot chunks received out of order.\n\nRecovery:\nBatch RaftRecovery WAL writes. This is done by pushing records into a queue that is handled by a separate thread.\nSince records are not immediately flushed, add futures for Raft to wait on to know when a log entry has been durably recorded and it can safely respond to an RPC.\nAllow the leader to forward log entries before it has durably stored them, reducing latency.\n\nMiscellaneous:\nAdd use of VLOG and log levels to Raft.\nChange DuckDB to not build by default.\nAdd a config option for the minimum number of responses a client needs for a transaction.\nChange raft tests to use the test raft version as a dependency.\nSplit tests related to ReceiveTransaction into their own file.\nAdd Proto language to .clang-format\n\n* Refactor code\n\nExtract some Raft code out into more functions for clarity\nChange some conditional statements to be clearer\nFix warnings related to comparisons between different types\nReorganize ReceiveInstallSnapshot()\n\n* Improve conflicting term logic, add tests, miscellaneous changes\n\nFix logic for a follower receiving an AppendEntry with a prev_log_entry that it has a conflicting term for.\nRe-add missing fields to AppendEntriesResponse.\nMake the first term start as term 1.\nMove the transition of followers to snapshot state to EnqueueSnapshot.\n\nChange some names of functions and variables.\nAdd a debug function to print where a function was called from, to only be used in test_raft.\n\n* Change script config path to work with multiple protocols\n\nAdd some ssh options to limit retries in scripts.\nIn scripts, wait commands were waiting on $pids, but that was never populated, so it is now removed.\n\n* Update kv_performance_server.conf\n\n* Throughput related changes\n\nAdd a variable for the number of consumer and producer threads for PerformanceManager.\n\nAdd a semaphore class used by PerformanceManager to stop generating transactions too far ahead from what has been sent out to replicas.\n\nRaft related:\nChange the \"enable_viewchange\" config parameter to still allow heartbeats to be sent, but just not start an election if a timeout occurs.\n\nWhen a follower receives a transaction from a client, reject their transaction. Previously, it was only directing them to the replica the follower currently thinks is the leader.\n\nAdd a Raft variable to remove limits on the number and size of in-flight messages. Currently, the limits seem to help, but now they can easily be disabled if that ends up no longer being the case.\n\nFix log messages in raft consensus.cpp.\n\n* Add missing license headers\n\n* Fix missed bracket during merge conflict\n\n* Fix missed bracket during merge conflict again\n\n* Add missing tests and make changes related to them\n\nAdd tests for TransactionManager\u0027s handling of Raft\u0027s No-Op.\n\nAdded tests for LevelDB and MemoryDB clear().\nRaft requires storage to be clearable when a snapshot needs to be applied. MemoryDB and LevelDB have this clear function implemented, so it should be tested. DuckDB already does not have Flush implemented meaningfuly, so it should be ignored for Raft anyway.\n\nSome correctness changes were made to these functions.\n\nChange the number of consumer/producer threads in PerformanceManager back to 1 to maintain previous behavior by default.\n\nChange the check for setting eval_ready_promise_ to be based on an atomic variable, to work better with multiple threads.\n\nRevert change to pbft.config.\n\n* Fix more build issues\n\n---------\n\nCo-authored-by: Jim Brower \u003cjimrabrower@gmail.com\u003e\nCo-authored-by: nachiket \u003cnachocheeeze922@gmail.com\u003e\nCo-authored-by: yhuan331 \u003cyhuan331@ucsc.edu\u003e\nCo-authored-by: hammerface \u003chammerface@users.noreply.github.com\u003e"
    },
    {
      "commit": "10e81c23101046c951828ece21397fc5562fd9a3",
      "tree": "44dd102502cd12d92348f8b362b1467e96d6b8bb",
      "parents": [
        "edffe73e4b20fd2526b981558aa0cbe4a0f02d21"
      ],
      "author": {
        "name": "Malingshu",
        "email": "69885352+Toby1009@users.noreply.github.com",
        "time": "Sun Aug 09 15:44:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 15:44:34 2026 +0800"
      },
      "message": "Render the ASF license header in Markdown files as a comment (#265)\n\n* Render the ASF license header in Markdown files as a comment\n\n43 Markdown files carry the ASF license header in its shell-comment\nform, accumulated over several header passes (most of them via the\nmonorepo import in #182 and the July 2025 header commits). In\nMarkdown a leading \u0027#\u0027 is a heading, so GitHub renders the entire\nheader as eighteen lines of top-level headings before the content;\none file wrapped it in a ```text fence instead, which shows the\nheader as a code block.\n\nRewrite all of them to the HTML-comment form the root README.md\nalready uses, which renders as nothing. Files that were already\ninside \u003c!-- --\u003e but kept the stray \u0027#\u0027 markers are normalized to the\nsame canonical block. No wording changes; the header text is\nbyte-identical to the root README\u0027s.\n\ndev/check-license (Apache RAT 0.16.1) and license-eye (the\nskywalking-eyes check that gates pull requests) both report the same\nresults before and after this change.\n\n* Fix dead LICENSE links in three ecosystem READMEs\n\nThree READMEs link to a LICENSE file in their own directory that does\nnot exist there; the link 404s on GitHub. Point them at the LICENSE\nat the repository root instead.\n\nThe ResContract README also still said the project is under the MIT\nLicense, which predates the donation: the file itself carries the\nASF header and the repository is Apache-2.0, so the sentence now says\nthat."
    },
    {
      "commit": "edffe73e4b20fd2526b981558aa0cbe4a0f02d21",
      "tree": "25162bdfe249e35f6de139302f6b0e74eca1d8b1",
      "parents": [
        "8c6ac5fca092f667f5a734c85039a51f2c4c862b"
      ],
      "author": {
        "name": "Malingshu",
        "email": "69885352+Toby1009@users.noreply.github.com",
        "time": "Sun Aug 09 15:44:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 15:44:23 2026 +0800"
      },
      "message": "Fix installation and build on current Ubuntu and arm64 (#264)\n\n* Add \u003ccstdint\u003e to headers that use fixed-width integer types\n\nThese headers declare uint64_t, uint32_t and friends without including\n\u003ccstdint\u003e, relying on some other header to pull it in transitively. libstdc++\nstopped providing it through unrelated headers, so from GCC 13 on the build\nfails with \"\u0027uint64_t\u0027 does not name a type\".\n\nThe rule applied here is include-what-you-use: every header in the core tree\nthat names a fixed-width integer type includes \u003ccstdint\u003e itself, whether or\nnot it happens to compile today, so that compiling does not depend on what\nother headers happen to pull in. ecosystem/ is a separate Bazel workspace\nexcluded via .bazelignore and is not touched here; its one affected header is\nnoted in a separate issue.\n\n* Bump Abseil to 20240722.2 and fix the dead zlib mirror\n\nAbseil 20211102.0 declares fixed-width integer types without including\n\u003ccstdint\u003e, so it stops compiling from GCC 13 on:\n\n    absl/strings/internal/str_format/extension.h:34:33: error:\n      enum class FormatConversionChar : uint8_t;\n      found \u0027:\u0027 in nested-name-specifier, expected \u0027::\u0027\n\n20240722.2 builds with the Bazel pinned in .bazelversion. 20250127.0 and later\nselect on @rules_cc//cc/compiler, which the rules_cc bundled with Bazel 6.0.0\ndoes not provide, and fail during analysis; releases between the two were not\ntested.\n\nThe tree\u0027s only direct Abseil labels are absl/status and absl/status:statusor,\nand the bump needed no ResilientDB source changes.\n\nThe first zlib URL now 404s because zlib.net serves only the current release\nfrom the top level and moves older ones under fossils/. The build survives on\nthe bazel-mirror fallback but logs a download failure on every fetch.\n\n* Define Z_HAVE_UNISTD_H when building the vendored zlib\n\nzlib\u0027s ./configure normally rewrites zconf.h to set this. Bazel compiles the\nsources directly, so zconf.h skips \u003cunistd.h\u003e and the gz* sources call\nwrite(), close() and lseek() undeclared:\n\n    external/net_zlib_zlib/gzwrite.c:89:20: error: implicit declaration of\n      function \u0027write\u0027; did you mean \u0027fwrite\u0027?\n\nGCC 14 turned implicit function declarations into errors, and the -w already in\nthis file does not suppress them.\n\nUpgrading zlib does not help: 1.2.12 and 1.3.2 both fail without the define and\nboth build with it, because the guard in zconf.h depends on the build\nconfiguration rather than on the release. The version pin is therefore left\nalone.\n\n* Fix kv_service_tools spinning forever on arm64\n\ngetopt_long returns int and signals the end of the options with -1, but the\nresult was stored in a char. GCC on Linux/AArch64 defaults plain char to\nunsigned, so -1 became 255, the loop condition never became false, and the\ntool spun at 100% CPU inside getopt_long without ever reaching the network\ncode:\n\n    #0  getopt_long (argc\u003d11, ..., options\u003d\"h\", ...) at ./posix/getopt1.c:33\n    #1  main ()\n\nEvery option-style invocation hung on arm64 as a result, which is the interface\nthe README documents, while the replicas reported \"socket recv:0\". The older\npositional get/set path returns before this loop is reached and is unaffected.\n\nGCC defaults char to signed on x86-64, which is why this was never seen there.\nThe only arm64 build in CI is the post-merge Docker image job, which compiles\nthis tool on an Ubuntu 20.04 base and never runs it, so the spin was invisible\nthere too.\n\nThe three sibling tools in this repository already declare this variable as\nint.\n\n* Pin and checksum the remaining external dependencies\n\nprotobuf was fetched with git_repository(tag \u003d \"v3.10.0\"). A tag can be moved\nto a different commit upstream, which would silently change what is built and\nis not detectable from the workspace. It is now an http_archive of the release\ntarball with a sha256, which also removes the need for a git binary during the\nfetch.\n\nhedron_compile_commands, duckdb, pybind11_bazel and rules_boost had no sha256\nat all, so their contents were trusted on every fetch. duckdb even carried a\ncomment asking for the hash to be filled in.\n\nbazel_skylib was never declared by this project. Abseil needs\nconfig_setting_group from lib/selects.bzl, which the skylib that protobuf 3.10\npins does not provide, so the build only worked because\nrules_foreign_cc_dependencies() happens to register 1.0.3 before\nprotobuf_deps() runs. 1.0.3 is pinned explicitly here: it is the version that\nalready wins today, so resolution is unchanged, only deliberate.\n\n* Rewrite INSTALL.sh for arm64 and fail-fast behaviour\n\nOn a current Ubuntu several steps failed but the script kept going, and the\nfinal apt-get succeeded so the whole run still exited 0; the failure only\nsurfaced later as a confusing build error. It now sets -eu and stops at the\nfirst problem.\n\nBazel was installed from the Bazel apt repository, whose Release file declares\n\"Architectures: amd64\" and has no arm64 index. On arm64 apt selected\nbazel:amd64 and then could not satisfy g++:amd64. The fallback path compiled\nBazel from source, which fails on GCC 14+ because Bazel 6.0.0 vendors a zlib\nthat calls write()/close() undeclared. Bazelisk replaces both: it is pinned to\nv1.29.0 and verified against the SHA-256 published with that release, then\nreads .bazelversion and fetches the same Bazel 6.0.0 as before, so the pinned\nversion is unchanged. This is the approach Docker/Dockerfile_mac already uses.\n\nOther fixes:\n- apt-key is deprecated on 22.04 and 24.04 and no longer exists on 26.04. The\n  keyring line above it already does the same job, so the call is gone.\n- The script is run as root in containers and by cloud-init, where sudo is\n  usually absent. sudo is now used only when not already root.\n- build-essential was installed only on the fallback path, so a normal run\n  never got a C++ compiler.\n- python3.10-dev was hardcoded; python3-dev already follows the system.\n- hooks/pre-push does not exist in this repository, so the unconditional rm and\n  ln -s left a dangling symlink. The link is now made only if the hook exists.\n- The shebang was below the licence header and therefore inert, while\n  ecosystem/deployment/ansible runs this script with sh. It is now #!/bin/sh on\n  line 1 and the script is POSIX (shellcheck -s sh and checkbashisms are clean).\n- Bazelisk is downloaded as the invoking user into a temporary directory and\n  verified before sudo install writes it, so an interrupted transfer cannot\n  leave a truncated binary in /usr/local/bin.\n- The script cds to its own directory so Bazelisk reads this checkout\u0027s\n  .bazelversion rather than whatever is in the caller\u0027s working directory.\n- A trapped signal whose handler does not exit lets the script continue: the\n  old trap cleaned up on INT/TERM and then carried on. Signals now exit.\n\nNote on architecture support: Bazelisk publishes only linux-amd64 and\nlinux-arm64, so the script now stops with a clear message on anything else.\nThe previous source-compilation fallback was not architecture-limited in\nprinciple, though it does not complete on any tested release.\n\n* Use ABSL_GUARDED_BY now that Abseil has dropped the unprefixed macro\n\nThe Abseil bump in 4efc7cd5 (20211102.0 -\u003e 20240722.2) deletes\nabsl/base/internal/thread_annotations.h, the header that defined the\nunprefixed thread-safety annotations (GUARDED_BY on line 64 of the\n20211102.0 release). block_manager.h used GUARDED_BY while including no\nthread-annotations header of its own -- its only Abseil include was\nabsl/status/status.h -- so the macro reached it transitively via\ncord.h -\u003e cordz_info.h -\u003e absl/base/thread_annotations.h. In 20240722.2\nthat last header no longer defines the unprefixed spelling, so the\nannotation is parsed as a declaration:\n\n    ./platform/consensus/ordering/poc/pow/block_manager.h:96:52: error:\n      ISO C++ forbids declaration of \u0027GUARDED_BY\u0027 with no type\n\nThe current spelling is ABSL_GUARDED_BY, from absl/base/thread_annotations.h;\nboth expand to __attribute__((guarded_by(x))). That header still arrives\ntransitively, so the rename alone would compile, but it is now included\ndirectly and the target takes the @com_google_absl//absl/base:core_headers\ndependency that owns it, so the annotation no longer rides on Abseil\u0027s\ninternal include graph.\n\nThis was the only live use in the core tree; the three remaining\noccurrences of these macros sit inside comments.\n\n//service/kv:kv_service does not depend on poc/pow, so building that\ntarget alone -- as this branch\u0027s earlier checks did -- never reached the\nfailure; both PR-gating workflows build `...`, where it broke. With this\ncommit `bazel build ...` completes on ubuntu-24.04 with gcc-11 11.5.0 and\nPython 3.10.20 on amd64, and in the same environment on arm64."
    },
    {
      "commit": "8c6ac5fca092f667f5a734c85039a51f2c4c862b",
      "tree": "44f93519366ae36d6692eaa30700f90033693881",
      "parents": [
        "c3e161e41d54ef9124e6c8bf20d92ccc40857d70"
      ],
      "author": {
        "name": "Shray",
        "email": "40408358+shrayarora8@users.noreply.github.com",
        "time": "Sat Aug 08 20:20:37 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 11:20:37 2026 +0800"
      },
      "message": "Add composite keys for secondary indexes (refs #180) (#254)\n\n* chain/storage: add composite keys for secondary indexes (refs #180)\n\nImplements Phase 1 + 2 of #180: codec, four storage methods on both\nbackends, scan filter, unit tests, and a microbenchmark. Executor and\nclient wiring follow in separate PRs.\n\n* Fix chain/storage/BUILD: restore missing cc_library() for duckdb_storage\n\nThe cc_library( opening line for the duckdb_storage rule was dropped\nduring the master merge, leaving a stray top-level `name \u003d ...` that\nbroke Bazel package loading. Restore it so the package parses.\n\n* chain/storage: make DuckDB and MockStorage concrete Storage impls\n\nWhy it broke: the composite-keys work added four pure virtual methods to\nthe Storage interface (Create/Delete/Update/GetByCompositeKeyPrefix), but\nDuckDB and MockStorage never overrode them. That left both classes\nabstract, so the build failed with \"invalid new-expression of abstract\nclass type \u0027resdb::storage::DuckDB\u0027\".\n\nFix: add no-op overrides in DuckDB (the SQL backend does not use composite\nkeys) and MOCK_METHOD declarations in MockStorage, so every Storage\nsubclass implements the full interface again.\n\nResult: the C++ compiles and the bazel-build CI, Unite Test, and Check\nApache License checks all build and pass.\n\n* Add missing ASF license header to Security.md\n\nSecurity.md was committed without the Apache license header that\n.licenserc.yaml requires, so the Check Apache License workflow has been\nfailing on master since the file was added. PR CI builds the branch merged\nwith master, so this failure also blocks this PR.\n\nAdds the standard header as an HTML comment, matching README.md. The\ndocument content is unchanged. Verified locally with license-eye: one\ninvalid file before, zero after."
    },
    {
      "commit": "c3e161e41d54ef9124e6c8bf20d92ccc40857d70",
      "tree": "4cd578ae3790023449b38e60ca8f7a9893c66955",
      "parents": [
        "7c714dffcb94538d74ff35644573f5e45b8bb8c7"
      ],
      "author": {
        "name": "Mohammad Sadoghi",
        "email": "msadoghi@ucdavis.edu",
        "time": "Sat Jul 25 01:09:50 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 01:09:50 2026 -0700"
      },
      "message": "Update README.md"
    },
    {
      "commit": "7c714dffcb94538d74ff35644573f5e45b8bb8c7",
      "tree": "05056aa38d5e320287f6397ecce6c8389dd86af6",
      "parents": [
        "8dd6dd7befa6113079539d77ee78fa46cd8acb30"
      ],
      "author": {
        "name": "Mohammad Sadoghi",
        "email": "msadoghi@ucdavis.edu",
        "time": "Wed Jul 15 20:25:37 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 20:25:37 2026 -0700"
      },
      "message": "Update README.md"
    },
    {
      "commit": "8dd6dd7befa6113079539d77ee78fa46cd8acb30",
      "tree": "fd00be5a0b46e33d112ab87dfb8d07e6c66e619c",
      "parents": [
        "7b59420f5473eba5a01ef2df3817d7d28dc4597f"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "83641114+Bismanpal-Singh@users.noreply.github.com",
        "time": "Tue Jul 14 12:18:24 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 12:18:24 2026 -0500"
      },
      "message": "Added security.md"
    },
    {
      "commit": "7b59420f5473eba5a01ef2df3817d7d28dc4597f",
      "tree": "26f5ae933b3e2f56a4c207955e4054deb13a1254",
      "parents": [
        "35c7325c5314250cb48453a1ce9fc885ae59886b"
      ],
      "author": {
        "name": "Mohammad Sadoghi",
        "email": "msadoghi@ucdavis.edu",
        "time": "Thu Jul 09 08:26:03 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 08:26:03 2026 -0700"
      },
      "message": "Update README.md"
    },
    {
      "commit": "35c7325c5314250cb48453a1ce9fc885ae59886b",
      "tree": "933d2cbb1c0468cfcb688fccd33b72b2cb3addf9",
      "parents": [
        "9bd9d981cd5af9ff7cafd516e7f1d9dd3c14f666"
      ],
      "author": {
        "name": "Mohammad Sadoghi",
        "email": "msadoghi@ucdavis.edu",
        "time": "Thu Jul 09 08:24:26 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 08:24:26 2026 -0700"
      },
      "message": "Update README.md"
    },
    {
      "commit": "9bd9d981cd5af9ff7cafd516e7f1d9dd3c14f666",
      "tree": "508a719ac82fe9682d621233b706bd5fd4599d5d",
      "parents": [
        "ce65a1ed7d3789d11fa8f154544d1bd31607fae5"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "83641114+Bismanpal-Singh@users.noreply.github.com",
        "time": "Wed Jul 08 16:37:42 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 08 16:37:42 2026 -0500"
      },
      "message": "Update project name to Apache ResilientDB"
    },
    {
      "commit": "ce65a1ed7d3789d11fa8f154544d1bd31607fae5",
      "tree": "c89715bc0af1db4c79909ac86ed5f6d1209e6163",
      "parents": [
        "4e30319948fcd3a55aa1e3b94231199c52088adb"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "83641114+Bismanpal-Singh@users.noreply.github.com",
        "time": "Fri Jun 19 15:16:53 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 15:16:53 2026 -0700"
      },
      "message": "Clean up README.md by removing commented badges\n\nRemoved commented-out HTML block containing GitHub badges."
    },
    {
      "commit": "4e30319948fcd3a55aa1e3b94231199c52088adb",
      "tree": "dd458db689597988c4e2809c05432af0d3a32194",
      "parents": [
        "da5c217f966fd05ccec9c53a36c1f27753543178"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "83641114+Bismanpal-Singh@users.noreply.github.com",
        "time": "Wed Jun 17 17:29:56 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 17:29:56 2026 -0700"
      },
      "message": "Update README.md with licensing details\n\nAdded licensing information to the README file."
    },
    {
      "commit": "da5c217f966fd05ccec9c53a36c1f27753543178",
      "tree": "c5f52225a1ebc175032c908b3e9b1096c3b2f749",
      "parents": [
        "d0502885e7e8ce6842497f601d1486fb8c02d0c5"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Thu May 28 15:32:11 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 15:32:11 2026 -0700"
      },
      "message": "Update Code for the Architecture Diagram (#257)\n\nUpdate Code for the Archietcture Diagram to match the image in the main repository"
    },
    {
      "commit": "d0502885e7e8ce6842497f601d1486fb8c02d0c5",
      "tree": "4df4d9a44af51cec4ffc707f58f5aa8f29eafaf8",
      "parents": [
        "67d3b2b3a3c98d28f2f9a6333ea243ec873fb13c",
        "0df41704b436f185c8bfc17dd2d1b882c8d42050"
      ],
      "author": {
        "name": "harish-berri",
        "email": "harish@berri.ai",
        "time": "Tue May 26 12:18:57 2026 -0700"
      },
      "committer": {
        "name": "harish-berri",
        "email": "harish@berri.ai",
        "time": "Tue May 26 12:18:57 2026 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of https://github.com/apache/incubator-resilientdb\n"
    },
    {
      "commit": "67d3b2b3a3c98d28f2f9a6333ea243ec873fb13c",
      "tree": "4df4d9a44af51cec4ffc707f58f5aa8f29eafaf8",
      "parents": [
        "1e0896b24e6a1a804abdb66374d455c9c7e56181"
      ],
      "author": {
        "name": "harish876",
        "email": "harishgokul01@gmail.com",
        "time": "Tue May 26 12:15:19 2026 -0700"
      },
      "committer": {
        "name": "harish-berri",
        "email": "harish@berri.ai",
        "time": "Tue May 26 12:17:53 2026 -0700"
      },
      "message": "Update nexres_architecture.png to reflect recent architectural changes\n\nedit commit author\n"
    },
    {
      "commit": "0df41704b436f185c8bfc17dd2d1b882c8d42050",
      "tree": "4df4d9a44af51cec4ffc707f58f5aa8f29eafaf8",
      "parents": [
        "1e0896b24e6a1a804abdb66374d455c9c7e56181"
      ],
      "author": {
        "name": "harish-berri",
        "email": "harish@berri.ai",
        "time": "Tue May 26 12:15:19 2026 -0700"
      },
      "committer": {
        "name": "harish-berri",
        "email": "harish@berri.ai",
        "time": "Tue May 26 12:15:19 2026 -0700"
      },
      "message": "Update nexres_architecture.png to reflect recent architectural changes\n"
    },
    {
      "commit": "1e0896b24e6a1a804abdb66374d455c9c7e56181",
      "tree": "7d78e670f3216c3687a5747f0810812c21a47ee3",
      "parents": [
        "f9605ddf7774b98b89d3e4587d1a195d7620f493"
      ],
      "author": {
        "name": "Kunjal Agrawal",
        "email": "80667356+kunjal2002@users.noreply.github.com",
        "time": "Thu May 07 13:09:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 13:09:24 2026 -0700"
      },
      "message": "Enhance ResInsight local MCP guidance (#253)"
    },
    {
      "commit": "f9605ddf7774b98b89d3e4587d1a195d7620f493",
      "tree": "91ce602e8209b6c4fb7cb4d559ea67fb4e0d0c93",
      "parents": [
        "d16f0591202ee451e1b118debedbe03df212881c"
      ],
      "author": {
        "name": "Kunjal Agrawal",
        "email": "80667356+kunjal2002@users.noreply.github.com",
        "time": "Tue Apr 28 16:41:37 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 16:41:37 2026 -0700"
      },
      "message": "Feature/resinsight readme update (#250)\n\n* Update ResInsight README and deployment docs\n\n* Remove blog and image files from ResInsight PR"
    },
    {
      "commit": "d16f0591202ee451e1b118debedbe03df212881c",
      "tree": "91ce602e8209b6c4fb7cb4d559ea67fb4e0d0c93",
      "parents": [
        "3ff946409a123b108b5094cb5f3a5ce36c8494ae"
      ],
      "author": {
        "name": "Sudarsan S",
        "email": "44109949+Burnfireblaze@users.noreply.github.com",
        "time": "Wed Apr 22 09:52:45 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 00:52:45 2026 +0800"
      },
      "message": "9 - Added ReSQL - DuckDB support (#224)\n\n* Add DuckDB Bazel dependency\n\n* Modify kv_executor + proto\n\n* added new duckdb files, modified storage headers, added proto for duckdbinfo, modified BUILD files for lib inclusions\n\n* KV Fixes and CLI fixes\n\nfixes for kv service build\n\nfixes for kv service build\n\nserver config modified\n\nAdds duckDB runtime flag to kv_service\n\nRemoves Changes made to kv\n\nRESQL Start Service added\n\nremoved passing of path to rely on default\n\n* added a test_sql script that tests the functionalities offered by the duckdb version of resdb as resql\n\nLogging enabled\n\nLogging enabled 2\n\nLogging enabled 3\n\nLogging enabled 4\n\nLogging enabled 5\n\n* Start Resql service\n\nmodified\n\nmodified\n\nAutocomplete flags\n\n* Flags set automatically\n\n[temp] added creation of folders to start_resql_script to avoid node crashing\n\n* Rebased DuckDB Code\n\n* Add DuckDB Bazel dependency\n\n* KV Fixes and CLI fixes\n\n* fixes for kv service build\n\n* server config modified\n\n* Adds duckDB runtime flag to kv_service\n\n* Removes Changes made to kv\n\n* removed passing of path to rely on default\n\n* Logging enabled 2\n\n* Logging enabled 3\n\n* Logging enabled 4\n\n* Logging enabled 5\n\n* modified\n\n* Autocomplete flags\n\n* Flags set automatically\n\n* Resolve Naming Discrepancy, Add Source Headers\n\n* Test and update of header file\n\n* Adds License headers to duckdb files\n\n* switches duckdb_info to live inside the config_data, reuses db_path for duckdb_path too\n\n---------\n\nCo-authored-by: Ashay Katkar \u003ckatkarashay@gmail.com\u003e\nCo-authored-by: Aryan Hamine \u003chaminearyan@gmail.com\u003e\nCo-authored-by: Sudarsan Srivathsun \u003csudarsan_srivathsun@Sudarsans-MacBook-Air.local\u003e\nCo-authored-by: Tejas Khode \u003ctejasrk18@gmail.com\u003e"
    },
    {
      "commit": "3ff946409a123b108b5094cb5f3a5ce36c8494ae",
      "tree": "87aef5c8ad99629b664c23184042680805c92745",
      "parents": [
        "9fa73fcfc93ac860260c548f457328bcfd037fb5"
      ],
      "author": {
        "name": "Kunjal Agrawal",
        "email": "80667356+kunjal2002@users.noreply.github.com",
        "time": "Wed Apr 22 00:13:33 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 22 00:13:33 2026 -0700"
      },
      "message": "ResInsight readme update (#249)\n\n* Update ResInsight README and deployment docs\n\n* Remove blog and image files from ResInsight PR"
    },
    {
      "commit": "9fa73fcfc93ac860260c548f457328bcfd037fb5",
      "tree": "57660e658cea0c967d3da0e58c2371cd406b82fd",
      "parents": [
        "95d2759d8baadf612343cb697955656fd96ba837"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "83641114+Bismanpal-Singh@users.noreply.github.com",
        "time": "Sat Apr 18 22:48:46 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 19 13:48:46 2026 +0800"
      },
      "message": "Merge development into master — ecosystem tools for smart contract fixed, Beacon updated, ResVault updated, ResShare added (#248)\n\n* Add Bazel configuration for C++17 and optimization; refactor JSONScalar implementation; update service configuration for replicas\n\n* ResLens Deployment from Monorepo\n\n* ResLens Vercel deployment - Workflow Test\n\n* ResLens Vercel deployment - Workflow Test\n\n* update workflow\n\n* update workflow - resolve caching\n\n* update yaml parsing in wfl\n\n* update workflow to python runners\n\n* use jq instead to parse projects config\n\n* fixed JSON parsing in workflow\n\n* Offload Project Build to Vercel\n\n* Additional Optimisations to the vercel deployment pipeline\n\n* using vercel.json instead of vercel.ts\n\n* Update deployment command in workflow to include --yes flag for automatic confirmation\n\n* Remove reslens to re-add as subtree\n\n* Squashed \u0027ecosystem/monitoring/reslens/\u0027 content from commit 0e4305048\n\ngit-subtree-dir: ecosystem/monitoring/reslens\ngit-subtree-split: 0e43050486e29c18cf06e7a696b09bee42195d49\n\n* updating build command for reslens\n\n* update project id for reslens deployment\n\n* revert project id changes. vercel deployment breaks with author validation error\n\n* remove unecessary config file\n\n* Squashed \u0027ecosystem/ai-tools/beacon/\u0027 content from commit a77bbe3f0\n\ngit-subtree-dir: ecosystem/ai-tools/beacon\ngit-subtree-split: a77bbe3f0711faff5925cd224211e645ef9a6c0b\n\n* update deployment config to trigger beacon deployment\n\n* fix for author conflict outside vercel org\n\n* checking if the git config works\n\n* adding back token info\n\n* checking if deployment authorship works\n\n* adding skip config to project deployments\n\n* Squashed \u0027ecosystem/ai-tools/nexus/\u0027 content from commit 9148a407d\n\ngit-subtree-dir: ecosystem/ai-tools/nexus\ngit-subtree-split: 9148a407d227def07651adf99bd79025f024637d\n\n* adding nexus for deployment check\n\n* bumping next js version for nexus and updating deployment configs\n\n* Rescontract - Development Branch PR (#226)\n\n* Create directory for MCP and get started\n\n* added MCP support for smart contract functionality\n\n* fix(rescontract): switch to JSON config for contract_tools\n\n* Add required mcp-graphql files\n\n* Automate key generation and enable it to be used at MCP tools\n\n* Fix few bugs\n\n* Analysis of the transactions\n\n* add monitoring\n\n* Integration of graphql and smart contract\n\n* Benchmarking tool integration\n\n* Integrate mcp-graphql and mcp-smartcontract in the same directory\n\n---------\n\nCo-authored-by: Rahul Kanagaraj \u003cgetmerk786@gmail.com\u003e\nCo-authored-by: Vikhas \u003cvikhas260401@gmail.com\u003e\nCo-authored-by: Vikhas \u003c76156657+Vikhas@users.noreply.github.com\u003e\nCo-authored-by: Pavan Kumar Nuthi \u003cpavankumarnuthi@gmail.com\u003e\n\n* update folder structure for resilientdb-mcp\n\n* GraphQ-LLM MCP server (#227)\n\n* Initial commit\n\n* Initial commit\n\n* Initial commit\n\n* Initial commit\n\n* setup\n\n* setup\n\n* Update docker-compose.dev.yml\n\n* Update docker-compose.dev.yml\n\n* setup update\n\n* setup update\n\n* fixed setup\n\n* fixed setup\n\n* Nexus integration\n\n* Nexus integration\n\n* nexus update\n\n* nexus update\n\n* setup update\n\n* setup update\n\n* feat: Dockerize MCP server and update documentation\n\n- Add separate Docker service for MCP server in docker-compose.dev.yml\n  - MCP server runs as independent container using stdio transport\n  - Configured with stdin_open and tty for stdio communication\n  - Shares environment variables with backend service\n\n- Update TEAM_SETUP.md with comprehensive MCP server setup instructions\n  - Add Step 5.1: Start MCP Server with Docker and local options\n  - Clarify separation between HTTP API backend and MCP server\n  - Update configuration summary and verification checklist\n  - Add MCP server to Quick Start Commands section\n\n- Improve code clarity in src/index.ts\n  - Update console output to distinguish HTTP API Server from MCP Server\n  - Clarify port configuration display\n\n- Add QUERY_TUTOR_EXAMPLES.md\n  - Comprehensive guide with GraphQL query examples\n  - Question-based prompts for RAG testing\n  - Recommended testing order and expected results\n\n* feat: Dockerize MCP server and update documentation\n\n- Add separate Docker service for MCP server in docker-compose.dev.yml\n  - MCP server runs as independent container using stdio transport\n  - Configured with stdin_open and tty for stdio communication\n  - Shares environment variables with backend service\n\n- Update TEAM_SETUP.md with comprehensive MCP server setup instructions\n  - Add Step 5.1: Start MCP Server with Docker and local options\n  - Clarify separation between HTTP API backend and MCP server\n  - Update configuration summary and verification checklist\n  - Add MCP server to Quick Start Commands section\n\n- Improve code clarity in src/index.ts\n  - Update console output to distinguish HTTP API Server from MCP Server\n  - Clarify port configuration display\n\n- Add QUERY_TUTOR_EXAMPLES.md\n  - Comprehensive guide with GraphQL query examples\n  - Question-based prompts for RAG testing\n  - Recommended testing order and expected results\n\n* test: Add comprehensive Docker services testing and MCP protocol verification\n\n- Add TEST_DOCKER_SERVICES.md with complete testing guide\n  - Step-by-step verification procedures for all Docker services\n  - Network communication tests\n  - End-to-end flow testing\n  - Troubleshooting tips and common issues\n\n- Add test-mcp-protocol.ts for MCP server protocol testing\n  - Tests MCP protocol communication via JSON-RPC over stdio\n  - Verifies all 5 core MCP operations:\n    * Initialize protocol\n    * List tools (9 tools verified)\n    * Check connection tool\n    * Execute GraphQL query tool\n    * Introspect schema tool\n  - All tests passing (5/5)\n  - Confirms MCP server is responding correctly to protocol calls\n\n* test: Add comprehensive Docker services testing and MCP protocol verification\n\n- Add TEST_DOCKER_SERVICES.md with complete testing guide\n  - Step-by-step verification procedures for all Docker services\n  - Network communication tests\n  - End-to-end flow testing\n  - Troubleshooting tips and common issues\n\n- Add test-mcp-protocol.ts for MCP server protocol testing\n  - Tests MCP protocol communication via JSON-RPC over stdio\n  - Verifies all 5 core MCP operations:\n    * Initialize protocol\n    * List tools (9 tools verified)\n    * Check connection tool\n    * Execute GraphQL query tool\n    * Introspect schema tool\n  - All tests passing (5/5)\n  - Confirms MCP server is responding correctly to protocol calls\n\n* Reslens integration\n\n* my changes\n\n* Apply changes after removing secret\n\n* Clean up unnecessary files and add Docker setup for ResLens\n\n- Removed temporary fix scripts and redundant documentation\n- Added Docker support for ResLens Frontend and ResLens Middleware\n- Updated docker-compose.dev.yml with ResLens services\n- Fixed middleware connection URLs for browser compatibility\n- Added check-docker-services.sh utility script\n- Kept essential setup scripts and documentation\n\n* Update README.md\n\n* Update README.md\n\n* Update README.md\n\n* Fix backend container command and GraphQL URL configuration\n\n- Fix docker-compose.dev.yml: Change backend command from \u0027npm run dev -- --http-api\u0027 to \u0027npm run http-api\u0027 for correct HTTP API mode\n- Fix ingest-graphql-docs.ts: Remove incorrect RESILIENTDB_GRAPHQL_URL override pointing to HTTP wrapper (port 18001)\n  - HTTP wrapper only provides REST KV endpoints, not GraphQL server\n  - GraphQL operations must use port 5001\n  - Added clarifying comments about service separation\n- Update environment.ts: Fix default RESILIENTDB_GRAPHQL_URL from port 18000 to 5001 with clarifying comment\n- Enable ResLens Middleware and Frontend services in docker-compose.dev.yml\n\n* Merge ResLens Docker setup into TEAM_SETUP.md and update TEST_DOCKER_SERVICES.md\n\n- Merged DOCKER_RESLENS_SETUP.md content into TEAM_SETUP.md Step 5.2\n- Added comprehensive ResLens Docker setup instructions including:\n  - Docker architecture details (multi-stage builds, Nginx setup)\n  - Complete environment variables documentation\n  - Networking configuration\n  - Service management commands (logs, stop, remove)\n  - Development vs Production comparison\n  - Enhanced troubleshooting sections\n- Updated TEST_DOCKER_SERVICES.md to include ResLens services testing\n- Added ResLens Middleware and Frontend to service architecture\n- Added Step 5: Test ResLens Services with 6 sub-tests\n- Added ResLens troubleshooting sections\n- Updated verification checklists and success criteria\n- Deleted standalone DOCKER_RESLENS_SETUP.md file\n- Updated all documentation references\n\n* Update README.md\n\n* Update README.md\n\n* Update README.md\n\n* Update TEAM_SETUP.md to reference forked Nexus repository with GraphQ-LLM integration\n\n* Fix remaining Nexus repository URLs to point to fork\n\n* Add Nexus fork setup guide and script for team reference\n\n* Add nexus/ to .gitignore and update scripts to use forked Nexus repository\n\n* Remove nexus directory from git tracking (now using separate fork)\n\n* Update README.md with Nexus fork information and setup instructions\n\n* Add Nexus Fork Information section to README\n\n* Simplify conclusion sentence in README\n\n* Update README.md\n\n* Add ResLens fork setup guide and script\n\n* Configure ResLens to use separate fork repositories\n\n- Update docker-compose.dev.yml to use absolute paths to forks\n- Remove ResLens directories from git tracking (165 files)\n- Update TEAM_SETUP.md with fork information\n- Add ResLens to .gitignore\n- Fork URLs:\n  - Frontend: sophiequynn/incubator-resilientdb-ResLens\n  - Middleware: sophiequynn/incubator-resilientdb-ResLens-Middleware\n\n* Add ResLens fork clone commands to Quick Start section\n\n* Update documentation for ResLens fork setup\n\n- Add ResLens fork information to docs/README.md\n- Update Quick Start to include ResLens fork cloning steps\n- Add ResLens fork section similar to Nexus fork documentation\n- Update TEAM_SETUP.md with detailed ResLens fork instructions\n- Clarify that forks include GraphQ-LLM-specific modifications\n\n* Clarify ResLens fork modifications in TEAM_SETUP.md\n\n* Add ResLens fork cloning commands to prerequisites in Step 5.2\n\n* Revise performance metrics section and add URLs\n\nUpdated section titles and added access URLs for various services.\n\n* chore: Update docker-compose.dev.yml with local ResLens paths\n\n- Update ResLens Middleware path to /Users/CelineJohnPhilip/DDS/ResLens-Middleware/middleware\n- Update ResLens Frontend path to /Users/CelineJohnPhilip/DDS/ResLens\n- Configured for local development environment\n\n* Removed optimization related content.\n\nUpdated README to improve clarity and consistency in descriptions of features and sections.\n\n* update\n\n* update\n\n* update\n\n* Update README.md\n\n* Fix ResLens frontend connection and enhance explanation quality\n\n- Fix ResLens frontend middleware URL to use localhost instead of Docker service name (browser can\u0027t resolve service names)\n- Increase token limits for detailed explanations (2000 for Gemini, 3000 for other models)\n- Enhance system and detailed explanation prompts for more comprehensive responses\n- Remove ResLens frontend dependency on middleware health check to allow startup\n\n* Update docs/README.md with latest features and fixes\n\n- Fix Nexus port inconsistency (3002 -\u003e 3000)\n- Document query stats button feature in efficiency tab\n- Add note about ResLens frontend localhost configuration\n- Enhance performance metrics section with ResLens integration details\n\n* Fix ResLens paths to match current user setup\n\n* Document chatbot UI route in README\n\n---------\n\nCo-authored-by: sophiequynn \u003c39390333+sophiequynn@users.noreply.github.com\u003e\nCo-authored-by: celinejp \u003ccelinejp.03@gmail.com\u003e\nCo-authored-by: Theodore Pan \u003c77665596+theopan8@users.noreply.github.com\u003e\nCo-authored-by: sophiequynn \u003csjquynn@ucdavis.edu\u003e\nCo-authored-by: Sandhya \u003csghanathe@ucdavis.edu\u003e\nCo-authored-by: Ahadke \u003chadkeaayusha@gmail.com\u003e\n\n* header fix using license-eye\n\n* test deployment after license additions\n\n* updated workflow to trigger on commits to master\n\n* deleting unrelated files\n\n* deleting the private and public certificates\n\n* added in scripts to generate certificates and public-private keys and updated readme and gitignore\n\n* checking ecosystem deployment\n\n* Added automatic document updation workflow using Pocketflow (#229)\n\n* Added Pocketflow, it\u0027s license notice and doc updation workflow\n\n* removing excess documentation - added in CC0 license\n\n* added pocketflow as third party tool\n\n* fixed license file\n\n* changelog: v1.12.0 ecosystem and contributor updates\n\nCo-authored-by: Dhruv Sangamwar \u003cdhruvsangamwar@users.noreply.github.com\u003e\nCo-authored-by: Prashansa Goel \u003cpgoel-02@users.noreply.github.com\u003e\nCo-authored-by: dharora \u003cdharora@users.noreply.github.com\u003e\nCo-authored-by: Chris Ruan \u003cchris315654@users.noreply.github.com\u003e\nCo-authored-by: Krishnanand Yadav \u003cKriishna1@users.noreply.github.com\u003e\nCo-authored-by: Paiman Nejrabi \u003cPNejr10@users.noreply.github.com\u003e\nCo-authored-by: Haskell Macaraig \u003cAwesomenessXP@users.noreply.github.com\u003e\nCo-authored-by: Amey Gohil \u003cAmeyGohil@users.noreply.github.com\u003e\nCo-authored-by: Harish Krishnakumar \u003charish876@users.noreply.github.com\u003e\nCo-authored-by: Bismanpal Anand \u003cBismanpal-Singh@users.noreply.github.com\u003e\nCo-authored-by: Junchao Chen \u003ccjcchen@users.noreply.github.com\u003e\n\n* Update CHANGELOG.md for Apache ResilientDB v1.12.0 release, including a new release date and a summary of core feature enhancements, specifically the implementation of securing consensus against long-range attacks.\n\n* Update default configs to use localhost\n\n* Updated ResContract CLI to latest variant from the standalone repo\n\n* Updated rescontract, fixed contract service bugs,\n\n* Updated ResVault to match the Standalone repo\n\n* Fixed Resvault SC deployment issues\n\n* Fixed license issue, solc package issue and updated Readme\n\n* arch diagram added\n\n* Added execution command in rescontract, fixed sc-graphql accordingly\n\n* Add ResShare file-sharing toolkit under ecosystem/tools (#240)\n\n* Fix covery test (#246)\n\n* fix ut\n\n* fix ut\n\n* Add implementation of ResShare Toolkit\n\n- Created core files including `README.md`, `package.json`, and configuration for Jest testing.\n- Implemented main client functionality in `src/index.js` and modularized authentication, file handling, and sharing features in respective modules.\n- Added example scripts for basic usage and advanced scenarios.\n- Included a `.gitignore` file to exclude unnecessary files from version control.\n- Established a testing framework with initial unit tests for client functionality.\n\n* Document ResShare SDK in READMEs\n\n* Add Apache headers to ResShare toolkit files\n\n---------\n\nCo-authored-by: cjcchen \u003cickchenjunchao@gmail.com\u003e\n\n* Updated Resvault dependencies\n\n* Fixes for merging to master\n\n* updated license\n\n---------\n\nCo-authored-by: harish876 \u003charishgokul01@gmail.com\u003e\nCo-authored-by: Rahul Kanagaraj \u003cgetmerk786@gmail.com\u003e\nCo-authored-by: Vikhas \u003cvikhas260401@gmail.com\u003e\nCo-authored-by: Vikhas \u003c76156657+Vikhas@users.noreply.github.com\u003e\nCo-authored-by: Pavan Kumar Nuthi \u003cpavankumarnuthi@gmail.com\u003e\nCo-authored-by: sophiequynn \u003c39390333+sophiequynn@users.noreply.github.com\u003e\nCo-authored-by: celinejp \u003ccelinejp.03@gmail.com\u003e\nCo-authored-by: Theodore Pan \u003c77665596+theopan8@users.noreply.github.com\u003e\nCo-authored-by: sophiequynn \u003csjquynn@ucdavis.edu\u003e\nCo-authored-by: Sandhya \u003csghanathe@ucdavis.edu\u003e\nCo-authored-by: Ahadke \u003chadkeaayusha@gmail.com\u003e\nCo-authored-by: Dhruv Sangamwar \u003cdhruvsangamwar@users.noreply.github.com\u003e\nCo-authored-by: Prashansa Goel \u003cpgoel-02@users.noreply.github.com\u003e\nCo-authored-by: dharora \u003cdharora@users.noreply.github.com\u003e\nCo-authored-by: Chris Ruan \u003cchris315654@users.noreply.github.com\u003e\nCo-authored-by: Krishnanand Yadav \u003cKriishna1@users.noreply.github.com\u003e\nCo-authored-by: Paiman Nejrabi \u003cPNejr10@users.noreply.github.com\u003e\nCo-authored-by: Haskell Macaraig \u003cAwesomenessXP@users.noreply.github.com\u003e\nCo-authored-by: Amey Gohil \u003cAmeyGohil@users.noreply.github.com\u003e\nCo-authored-by: Harish Krishnakumar \u003charish876@users.noreply.github.com\u003e\nCo-authored-by: Bismanpal Anand \u003cBismanpal-Singh@users.noreply.github.com\u003e\nCo-authored-by: Junchao Chen \u003ccjcchen@users.noreply.github.com\u003e\nCo-authored-by: Devang Borkar \u003cdevangborkar3@gmail.com\u003e\nCo-authored-by: cjcchen \u003cickchenjunchao@gmail.com\u003e"
    },
    {
      "commit": "95d2759d8baadf612343cb697955656fd96ba837",
      "tree": "bdb38773dc2e70f55344b83da3601a5ef9e86cb5",
      "parents": [
        "88430e023ad8c774f04efdc16eae11191221f60f"
      ],
      "author": {
        "name": "Kunjal Agrawal",
        "email": "80667356+kunjal2002@users.noreply.github.com",
        "time": "Tue Apr 14 23:39:20 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 14:39:20 2026 +0800"
      },
      "message": "Feature/resinsight local updates (#247)\n\n* ResInsight: add V2 dependency graph tools with provenance\n\n* CI: skip deploy/publish jobs when fork secrets are missing\n\n* CI: fix invalid secrets usage in job if conditions"
    },
    {
      "commit": "88430e023ad8c774f04efdc16eae11191221f60f",
      "tree": "695937cfaba41508523196c9b819d733c1ff8049",
      "parents": [
        "c9de6cfb25763a2be37a8183cf702764524ceaad"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Sun Apr 12 10:04:24 2026 +0000"
      },
      "committer": {
        "name": "Bismanpal-Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Sun Apr 12 10:04:24 2026 +0000"
      },
      "message": "ResInsight: FastMCP 3 HTTP auth, Docker, docs, and gitignore hygiene\n\n- Replace deprecated mcp._app usage with Starlette Bearer middleware for MCP_TOKEN\n- Add Dockerfile/.dockerignore, python-dotenv in requirements\n- Refresh README: monorepo paths, port/path, local vs cloud MCP_TOKEN, GITHUB_TOKEN\n"
    },
    {
      "commit": "c9de6cfb25763a2be37a8183cf702764524ceaad",
      "tree": "bf2ad23fc62839cfed4b3af37fe8540cf776eb18",
      "parents": [
        "4b3028501464836bbea6fe6a3d58e8c76209fa0e"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Mar 31 08:44:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 08:44:46 2026 +0800"
      },
      "message": "Fix covery test (#246)\n\n* fix ut\n\n* fix ut"
    },
    {
      "commit": "4b3028501464836bbea6fe6a3d58e8c76209fa0e",
      "tree": "64723686d7914677736666b667b6c792eaf0fb18",
      "parents": [
        "01fffe12f58b2f13bbb839fa412713c584617cc9"
      ],
      "author": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Fri Mar 27 15:17:43 2026 -0700"
      },
      "committer": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Fri Mar 27 15:17:43 2026 -0700"
      },
      "message": "Fixed automated doc generation errors\n"
    },
    {
      "commit": "01fffe12f58b2f13bbb839fa412713c584617cc9",
      "tree": "fa8e73355b9691ded382fbd8bda100684a015305",
      "parents": [
        "6eab84a69e1b0907c7c8494bfce0c58ed21b8d50"
      ],
      "author": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Fri Mar 27 14:33:36 2026 -0700"
      },
      "committer": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Fri Mar 27 14:33:36 2026 -0700"
      },
      "message": "License fixes\n"
    },
    {
      "commit": "6eab84a69e1b0907c7c8494bfce0c58ed21b8d50",
      "tree": "55a800281605c1a0316f7f89ded943d56c7dec0a",
      "parents": [
        "e8df57a5d1a8eea846cbd8f21b55fd1b53b8b9a2"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Mar 25 15:38:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 15:38:39 2026 +0800"
      },
      "message": "Update ut.yml"
    },
    {
      "commit": "e8df57a5d1a8eea846cbd8f21b55fd1b53b8b9a2",
      "tree": "6c5b8e071d3f33858b74dea369219f5e50632eee",
      "parents": [
        "5ae21bcbbee427f80d27bd8cc870d6b00bb903c6"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Mar 25 05:08:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 05:08:04 2026 +0800"
      },
      "message": "Update build workflow to configure Python and clean cache\n\nAdded steps to configure Python paths and clean Bazel cache."
    },
    {
      "commit": "5ae21bcbbee427f80d27bd8cc870d6b00bb903c6",
      "tree": "4fa8c9d9540f4442ab0ff1c686de307297d41347",
      "parents": [
        "e015fe5ba6225aeffa6fcfecf1b8b0cf71dc0842"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Mar 25 04:59:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 04:59:22 2026 +0800"
      },
      "message": "Add system dependencies installation step\n\nAdded step to install system dependencies for Python."
    },
    {
      "commit": "e015fe5ba6225aeffa6fcfecf1b8b0cf71dc0842",
      "tree": "cb7411e4fc4bd2da4696bdc0e86f9e89db37a744",
      "parents": [
        "ee21e8703056f2204a36faa731a3302a004b1255"
      ],
      "author": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Sun Mar 15 21:26:15 2026 -0700"
      },
      "committer": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Sun Mar 15 21:26:15 2026 -0700"
      },
      "message": "Updated ReadMe to include :\n1. Brief smart contract usage details\n2. Brief introduction to the ecosystem components\n3. Updated download guide link to point to Beacon\n4. Updated project structure according to the current ecosystem directory\n\nAdded an integration and troubleshooting guide for ResVault\n"
    },
    {
      "commit": "ee21e8703056f2204a36faa731a3302a004b1255",
      "tree": "75e80c24492ccaa5b40dd3013f042c3b3fdf9b63",
      "parents": [
        "628a93059f971973f1ac9abbfe63c12e8c74da8b"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Mon Mar 09 11:44:35 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 11:44:35 2026 -0700"
      },
      "message": "Release chores (#243)\n\n* removed external dependencies from reslens\n\n* update archiecture diagram\n\n* update ecosystem readme\n\n* add border to arch image"
    },
    {
      "commit": "628a93059f971973f1ac9abbfe63c12e8c74da8b",
      "tree": "ad3ee11e85a9ab1eec9e41b5b625bc74ff3fa9a6",
      "parents": [
        "bbe485aeb6f56c60f6e9968e222ded215a1e4359"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Mon Mar 09 11:26:25 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 11:26:25 2026 -0700"
      },
      "message": "Release chores (#242)\n\n* removed external dependencies from reslens\n\n* update archiecture diagram"
    },
    {
      "commit": "bbe485aeb6f56c60f6e9968e222ded215a1e4359",
      "tree": "c9099eb6d5d0bf093b569a54e1332372f6c3eb66",
      "parents": [
        "f6ce1946ff9dd3b08688cd60fe2c58a042398866"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Mon Mar 09 11:10:45 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 11:10:45 2026 -0700"
      },
      "message": "removed external dependencies from reslens (#241)"
    },
    {
      "commit": "f6ce1946ff9dd3b08688cd60fe2c58a042398866",
      "tree": "9440d179c8ab55499b3e3b0227c727c7bcabc780",
      "parents": [
        "34b8d12d12f349ac9138aa3c90e3c215a6455908"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Sat Feb 28 15:29:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 28 15:29:00 2026 +0800"
      },
      "message": "Update .licenserc.yaml"
    },
    {
      "commit": "34b8d12d12f349ac9138aa3c90e3c215a6455908",
      "tree": "9baccb1feff65aacf016140f64a341a15033139d",
      "parents": [
        "a5cb55675a4e1b4b13f87af2251b9222f9454bb3"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 16 17:56:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 16 17:56:33 2026 +0800"
      },
      "message": "Update .licenserc.yaml"
    },
    {
      "commit": "a5cb55675a4e1b4b13f87af2251b9222f9454bb3",
      "tree": "b9cff4a3e4dd236788ce9aae80a77df1f111883e",
      "parents": [
        "91647cbc667d4cfd86587db4aa0ec062dd5d2dd6"
      ],
      "author": {
        "name": "Kunjal Agrawal",
        "email": "80667356+kunjal2002@users.noreply.github.com",
        "time": "Sun Feb 15 17:38:16 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 16 09:38:16 2026 +0800"
      },
      "message": "Updated README.md with correct Project name (#233)\n\n* Added RepoInsight to incubator-resilientdb fork\n\n* Added ResInsight, an MCP server for ResilientDB ecosystem exploration\n\n* Revise README for server execution instructions\n\nUpdated README to reflect changes in server execution methods and removed outdated options.\n\n* Revise README.md for improved documentation\n\nUpdated README.md to enhance clarity and structure, including sections on architecture, quick start, usage scenarios, and troubleshooting.\n\n* added license to README.md\n\nAdded a description of ResInsight as an educational assistant for ResilientDB.\n\n* Add license information to .gitignore\n\nAdded Apache License information to .gitignore file.\n\n* Add Apache License headers to add_license_headers.py\n\nAdded Apache License headers to the add_license_headers.py file.\n\n* Add license information to pyproject.toml\n\nAdded Apache License information to pyproject.toml\n\n* Add licensing information to requirements.txt\n\nAdded licensing information to requirements.txt.\n\n* Remove duplicate build-system section in pyproject.toml\n\n* Fix project name in README authentication section\n\nCorrected the project name from \u0027RepoInsight\u0027 to \u0027ResInsight\u0027 in the README."
    },
    {
      "commit": "91647cbc667d4cfd86587db4aa0ec062dd5d2dd6",
      "tree": "19403e28f58076897cc7d7bd45b9274e5f95f0ee",
      "parents": [
        "5e4a73d4a7a460f8a591fa1f9945bea66c7f5f35"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Feb 11 14:41:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 14:41:00 2026 +0800"
      },
      "message": "Update README.md"
    },
    {
      "commit": "5e4a73d4a7a460f8a591fa1f9945bea66c7f5f35",
      "tree": "7ddf8b9d18e36c9f26fb65de18f592092e9a2ddb",
      "parents": [
        "8deb61d2102133995c3ab0bff15501c65a31ddee"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Feb 11 14:20:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 14:20:28 2026 +0800"
      },
      "message": "Update loc.yml"
    },
    {
      "commit": "8deb61d2102133995c3ab0bff15501c65a31ddee",
      "tree": "4460a3fd3e768a59a0af085fb4c5f8296d692890",
      "parents": [
        "5eb1564dcf42f8102c2abbec9ad66d29c4d3139c"
      ],
      "author": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Tue Feb 10 12:35:23 2026 -0800"
      },
      "committer": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Tue Feb 10 12:35:23 2026 -0800"
      },
      "message": "Fixed third party folder path, simplified disclaimer\n"
    },
    {
      "commit": "5eb1564dcf42f8102c2abbec9ad66d29c4d3139c",
      "tree": "050ddf8143c1e1ca1cfdb7624b4fd177bd48252f",
      "parents": [
        "25d49b613734efe093afe849794f0ff8b0222cae"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Feb 10 15:08:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 15:08:34 2026 +0800"
      },
      "message": "Update loc.yml"
    },
    {
      "commit": "25d49b613734efe093afe849794f0ff8b0222cae",
      "tree": "c9659585e3fcbc58e09d0667be229cf718b9147a",
      "parents": [
        "b52673b2de88fdd0771dcbdf62cd01da1d524583"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Feb 10 14:22:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 14:22:00 2026 +0800"
      },
      "message": "Update loc.yml"
    },
    {
      "commit": "b52673b2de88fdd0771dcbdf62cd01da1d524583",
      "tree": "5c5b376d79b650a928d1d99a9ba563d4a4ee8523",
      "parents": [
        "cadb01e4dcd4610f194ea3c5ea2b9423cd505a02"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Feb 10 10:42:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 10:42:53 2026 +0800"
      },
      "message": "Update loc.yml"
    },
    {
      "commit": "cadb01e4dcd4610f194ea3c5ea2b9423cd505a02",
      "tree": "b3248e390d92367604ce3b939970fc98d30a74aa",
      "parents": [
        "2464a1443e55e774ab3883eca51c29c80a5b21de"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Feb 10 10:04:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 10:04:40 2026 +0800"
      },
      "message": "Update loc.yml"
    },
    {
      "commit": "2464a1443e55e774ab3883eca51c29c80a5b21de",
      "tree": "0e653c7f3c627f8f06d0a8f8210574a3364da162",
      "parents": [
        "bc9de848ee59e73955fd3eac68760a56160c242a"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Feb 10 09:58:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 09:58:31 2026 +0800"
      },
      "message": "Update loc.yml"
    },
    {
      "commit": "bc9de848ee59e73955fd3eac68760a56160c242a",
      "tree": "3a5b887c1fde698681e720d5198f99fd8d104d12",
      "parents": [
        "7b1360ec5c5bfd34e23b4a5c2ac8b90aff9f9ab9"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Feb 10 08:39:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 08:39:51 2026 +0800"
      },
      "message": "Update loc.yml"
    },
    {
      "commit": "7b1360ec5c5bfd34e23b4a5c2ac8b90aff9f9ab9",
      "tree": "d5cad67ddcbbc4bc05fe308be7884aba5773080b",
      "parents": [
        "55d91ded3173c52d4f8a60ecca6046918ef50b4a"
      ],
      "author": {
        "name": "Kunjal Agrawal",
        "email": "80667356+kunjal2002@users.noreply.github.com",
        "time": "Mon Feb 09 16:31:13 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 08:31:13 2026 +0800"
      },
      "message": "Added license (#232)\n\n* Added RepoInsight to incubator-resilientdb fork\n\n* Added ResInsight, an MCP server for ResilientDB ecosystem exploration\n\n* Revise README for server execution instructions\n\nUpdated README to reflect changes in server execution methods and removed outdated options.\n\n* Revise README.md for improved documentation\n\nUpdated README.md to enhance clarity and structure, including sections on architecture, quick start, usage scenarios, and troubleshooting.\n\n* added license to README.md\n\nAdded a description of ResInsight as an educational assistant for ResilientDB.\n\n* Add license information to .gitignore\n\nAdded Apache License information to .gitignore file.\n\n* Add Apache License headers to add_license_headers.py\n\nAdded Apache License headers to the add_license_headers.py file.\n\n* Add license information to pyproject.toml\n\nAdded Apache License information to pyproject.toml\n\n* Add licensing information to requirements.txt\n\nAdded licensing information to requirements.txt.\n\n* Remove duplicate build-system section in pyproject.toml"
    },
    {
      "commit": "55d91ded3173c52d4f8a60ecca6046918ef50b4a",
      "tree": "8002be2896b7c6e32be922d2321afb49babb32a5",
      "parents": [
        "383a60510822d858037cfe1c62ca49fbccc3c427"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 09:02:10 2026 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 09:02:10 2026 +0000"
      },
      "message": "add npm update\n"
    },
    {
      "commit": "383a60510822d858037cfe1c62ca49fbccc3c427",
      "tree": "ce7f1eda6c37ca7525731d254381fb3cea4b19fb",
      "parents": [
        "d921c9fe1847544d0079ba5b853b3ce665b85d5b"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:53:40 2026 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:53:40 2026 +0000"
      },
      "message": "add npm update\n"
    },
    {
      "commit": "d921c9fe1847544d0079ba5b853b3ce665b85d5b",
      "tree": "f870b2e7913596704bbbf75cddf12d8ef3db2034",
      "parents": [
        "10e54e0838f737a9ddcd9bc129064015a16510e5"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:51:03 2026 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:51:03 2026 +0000"
      },
      "message": "add npm update\n"
    },
    {
      "commit": "10e54e0838f737a9ddcd9bc129064015a16510e5",
      "tree": "fecfc7f88aabb0b9e94680646a0d80bf4f9231b6",
      "parents": [
        "c27fbcdd14c598199ef77c2480ec73b101de3966"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:40:17 2026 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:40:17 2026 +0000"
      },
      "message": "add npm update\n"
    },
    {
      "commit": "c27fbcdd14c598199ef77c2480ec73b101de3966",
      "tree": "adbb52ffa7a556033df4a26e7965a92133d625ea",
      "parents": [
        "162d9fbef61ed99f80c3e2e7bc2581d9cdf37a57"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:27:47 2026 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:27:47 2026 +0000"
      },
      "message": "add npm update\n"
    },
    {
      "commit": "162d9fbef61ed99f80c3e2e7bc2581d9cdf37a57",
      "tree": "0c2a320a97a0a54da22d65171fec496117eb1729",
      "parents": [
        "d827c2594737d8b133ccdec23c25098e2a37f1dd"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:19:26 2026 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 08:19:26 2026 +0000"
      },
      "message": "add npm update\n"
    },
    {
      "commit": "d827c2594737d8b133ccdec23c25098e2a37f1dd",
      "tree": "15c2ed7cd88588080f1e7b513efce6061a58d52b",
      "parents": [
        "b3a94cf1b4ae6f7ec74f484a9f0e5c2f0a0d2d6d"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Feb 09 14:32:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 09 14:32:23 2026 +0800"
      },
      "message": "Update license.yml"
    },
    {
      "commit": "b3a94cf1b4ae6f7ec74f484a9f0e5c2f0a0d2d6d",
      "tree": "46198ab26b43ef0f27e5bd3d8daa066eca66b843",
      "parents": [
        "88f2165cc80426f5109951172c1118abda6dc039"
      ],
      "author": {
        "name": "Kunjal Agrawal",
        "email": "80667356+kunjal2002@users.noreply.github.com",
        "time": "Sun Feb 08 22:27:27 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 09 14:27:27 2026 +0800"
      },
      "message": "Added RepoInsight, an MCP server for ResilientDB ecosystem exploration (#231)\n\n* Added RepoInsight to incubator-resilientdb fork\n\n* Added ResInsight, an MCP server for ResilientDB ecosystem exploration\n\n* Revise README for server execution instructions\n\nUpdated README to reflect changes in server execution methods and removed outdated options.\n\n* Revise README.md for improved documentation\n\nUpdated README.md to enhance clarity and structure, including sections on architecture, quick start, usage scenarios, and troubleshooting.\n\n* added license to README.md\n\nAdded a description of ResInsight as an educational assistant for ResilientDB."
    },
    {
      "commit": "88f2165cc80426f5109951172c1118abda6dc039",
      "tree": "b5232277338624aaa2a56d635f415947bb3513b1",
      "parents": [
        "119c873cfd85e3dad912a073cf2c86760c268f8d"
      ],
      "author": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Sat Feb 07 19:25:23 2026 -0800"
      },
      "committer": {
        "name": "Bismanpal Singh",
        "email": "bisman.singh24@gmail.com",
        "time": "Sat Feb 07 19:27:03 2026 -0800"
      },
      "message": "Updated notice date and added CC0 License declaration\n"
    },
    {
      "commit": "119c873cfd85e3dad912a073cf2c86760c268f8d",
      "tree": "d4ed95d0ca9db7125660d5c5ec145fcf19b8f1d3",
      "parents": [
        "e65333e86d735806644772d14be4b8f9584e561d"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "83641114+Bismanpal-Singh@users.noreply.github.com",
        "time": "Tue Feb 03 19:11:22 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 19:11:22 2026 -0800"
      },
      "message": "Update License"
    },
    {
      "commit": "e65333e86d735806644772d14be4b8f9584e561d",
      "tree": "544849427fc24adff788884eaf1e22866c9cc4bb",
      "parents": [
        "156a24af643f976a255ba46fd544157d529b235f"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Mon Feb 02 22:16:12 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 02 22:16:12 2026 -0800"
      },
      "message": "Update Changelog for release v1.12.0 (#230)\n\n* Add Bazel configuration for C++17 and optimization; refactor JSONScalar implementation; update service configuration for replicas\n\n* ResLens Deployment from Monorepo\n\n* ResLens Vercel deployment - Workflow Test\n\n* ResLens Vercel deployment - Workflow Test\n\n* update workflow\n\n* update workflow - resolve caching\n\n* update yaml parsing in wfl\n\n* update workflow to python runners\n\n* use jq instead to parse projects config\n\n* fixed JSON parsing in workflow\n\n* Offload Project Build to Vercel\n\n* Additional Optimisations to the vercel deployment pipeline\n\n* using vercel.json instead of vercel.ts\n\n* Update deployment command in workflow to include --yes flag for automatic confirmation\n\n* Remove reslens to re-add as subtree\n\n* Squashed \u0027ecosystem/monitoring/reslens/\u0027 content from commit 0e4305048\n\ngit-subtree-dir: ecosystem/monitoring/reslens\ngit-subtree-split: 0e43050486e29c18cf06e7a696b09bee42195d49\n\n* updating build command for reslens\n\n* update project id for reslens deployment\n\n* revert project id changes. vercel deployment breaks with author validation error\n\n* remove unecessary config file\n\n* Squashed \u0027ecosystem/ai-tools/beacon/\u0027 content from commit a77bbe3f0\n\ngit-subtree-dir: ecosystem/ai-tools/beacon\ngit-subtree-split: a77bbe3f0711faff5925cd224211e645ef9a6c0b\n\n* update deployment config to trigger beacon deployment\n\n* fix for author conflict outside vercel org\n\n* checking if the git config works\n\n* adding back token info\n\n* checking if deployment authorship works\n\n* adding skip config to project deployments\n\n* Squashed \u0027ecosystem/ai-tools/nexus/\u0027 content from commit 9148a407d\n\ngit-subtree-dir: ecosystem/ai-tools/nexus\ngit-subtree-split: 9148a407d227def07651adf99bd79025f024637d\n\n* adding nexus for deployment check\n\n* bumping next js version for nexus and updating deployment configs\n\n* Rescontract - Development Branch PR (#226)\n\n* Create directory for MCP and get started\n\n* added MCP support for smart contract functionality\n\n* fix(rescontract): switch to JSON config for contract_tools\n\n* Add required mcp-graphql files\n\n* Automate key generation and enable it to be used at MCP tools\n\n* Fix few bugs\n\n* Analysis of the transactions\n\n* add monitoring\n\n* Integration of graphql and smart contract\n\n* Benchmarking tool integration\n\n* Integrate mcp-graphql and mcp-smartcontract in the same directory\n\n---------\n\nCo-authored-by: Rahul Kanagaraj \u003cgetmerk786@gmail.com\u003e\nCo-authored-by: Vikhas \u003cvikhas260401@gmail.com\u003e\nCo-authored-by: Vikhas \u003c76156657+Vikhas@users.noreply.github.com\u003e\nCo-authored-by: Pavan Kumar Nuthi \u003cpavankumarnuthi@gmail.com\u003e\n\n* update folder structure for resilientdb-mcp\n\n* GraphQ-LLM MCP server (#227)\n\n* Initial commit\n\n* Initial commit\n\n* Initial commit\n\n* Initial commit\n\n* setup\n\n* setup\n\n* Update docker-compose.dev.yml\n\n* Update docker-compose.dev.yml\n\n* setup update\n\n* setup update\n\n* fixed setup\n\n* fixed setup\n\n* Nexus integration\n\n* Nexus integration\n\n* nexus update\n\n* nexus update\n\n* setup update\n\n* setup update\n\n* feat: Dockerize MCP server and update documentation\n\n- Add separate Docker service for MCP server in docker-compose.dev.yml\n  - MCP server runs as independent container using stdio transport\n  - Configured with stdin_open and tty for stdio communication\n  - Shares environment variables with backend service\n\n- Update TEAM_SETUP.md with comprehensive MCP server setup instructions\n  - Add Step 5.1: Start MCP Server with Docker and local options\n  - Clarify separation between HTTP API backend and MCP server\n  - Update configuration summary and verification checklist\n  - Add MCP server to Quick Start Commands section\n\n- Improve code clarity in src/index.ts\n  - Update console output to distinguish HTTP API Server from MCP Server\n  - Clarify port configuration display\n\n- Add QUERY_TUTOR_EXAMPLES.md\n  - Comprehensive guide with GraphQL query examples\n  - Question-based prompts for RAG testing\n  - Recommended testing order and expected results\n\n* feat: Dockerize MCP server and update documentation\n\n- Add separate Docker service for MCP server in docker-compose.dev.yml\n  - MCP server runs as independent container using stdio transport\n  - Configured with stdin_open and tty for stdio communication\n  - Shares environment variables with backend service\n\n- Update TEAM_SETUP.md with comprehensive MCP server setup instructions\n  - Add Step 5.1: Start MCP Server with Docker and local options\n  - Clarify separation between HTTP API backend and MCP server\n  - Update configuration summary and verification checklist\n  - Add MCP server to Quick Start Commands section\n\n- Improve code clarity in src/index.ts\n  - Update console output to distinguish HTTP API Server from MCP Server\n  - Clarify port configuration display\n\n- Add QUERY_TUTOR_EXAMPLES.md\n  - Comprehensive guide with GraphQL query examples\n  - Question-based prompts for RAG testing\n  - Recommended testing order and expected results\n\n* test: Add comprehensive Docker services testing and MCP protocol verification\n\n- Add TEST_DOCKER_SERVICES.md with complete testing guide\n  - Step-by-step verification procedures for all Docker services\n  - Network communication tests\n  - End-to-end flow testing\n  - Troubleshooting tips and common issues\n\n- Add test-mcp-protocol.ts for MCP server protocol testing\n  - Tests MCP protocol communication via JSON-RPC over stdio\n  - Verifies all 5 core MCP operations:\n    * Initialize protocol\n    * List tools (9 tools verified)\n    * Check connection tool\n    * Execute GraphQL query tool\n    * Introspect schema tool\n  - All tests passing (5/5)\n  - Confirms MCP server is responding correctly to protocol calls\n\n* test: Add comprehensive Docker services testing and MCP protocol verification\n\n- Add TEST_DOCKER_SERVICES.md with complete testing guide\n  - Step-by-step verification procedures for all Docker services\n  - Network communication tests\n  - End-to-end flow testing\n  - Troubleshooting tips and common issues\n\n- Add test-mcp-protocol.ts for MCP server protocol testing\n  - Tests MCP protocol communication via JSON-RPC over stdio\n  - Verifies all 5 core MCP operations:\n    * Initialize protocol\n    * List tools (9 tools verified)\n    * Check connection tool\n    * Execute GraphQL query tool\n    * Introspect schema tool\n  - All tests passing (5/5)\n  - Confirms MCP server is responding correctly to protocol calls\n\n* Reslens integration\n\n* my changes\n\n* Apply changes after removing secret\n\n* Clean up unnecessary files and add Docker setup for ResLens\n\n- Removed temporary fix scripts and redundant documentation\n- Added Docker support for ResLens Frontend and ResLens Middleware\n- Updated docker-compose.dev.yml with ResLens services\n- Fixed middleware connection URLs for browser compatibility\n- Added check-docker-services.sh utility script\n- Kept essential setup scripts and documentation\n\n* Update README.md\n\n* Update README.md\n\n* Update README.md\n\n* Fix backend container command and GraphQL URL configuration\n\n- Fix docker-compose.dev.yml: Change backend command from \u0027npm run dev -- --http-api\u0027 to \u0027npm run http-api\u0027 for correct HTTP API mode\n- Fix ingest-graphql-docs.ts: Remove incorrect RESILIENTDB_GRAPHQL_URL override pointing to HTTP wrapper (port 18001)\n  - HTTP wrapper only provides REST KV endpoints, not GraphQL server\n  - GraphQL operations must use port 5001\n  - Added clarifying comments about service separation\n- Update environment.ts: Fix default RESILIENTDB_GRAPHQL_URL from port 18000 to 5001 with clarifying comment\n- Enable ResLens Middleware and Frontend services in docker-compose.dev.yml\n\n* Merge ResLens Docker setup into TEAM_SETUP.md and update TEST_DOCKER_SERVICES.md\n\n- Merged DOCKER_RESLENS_SETUP.md content into TEAM_SETUP.md Step 5.2\n- Added comprehensive ResLens Docker setup instructions including:\n  - Docker architecture details (multi-stage builds, Nginx setup)\n  - Complete environment variables documentation\n  - Networking configuration\n  - Service management commands (logs, stop, remove)\n  - Development vs Production comparison\n  - Enhanced troubleshooting sections\n- Updated TEST_DOCKER_SERVICES.md to include ResLens services testing\n- Added ResLens Middleware and Frontend to service architecture\n- Added Step 5: Test ResLens Services with 6 sub-tests\n- Added ResLens troubleshooting sections\n- Updated verification checklists and success criteria\n- Deleted standalone DOCKER_RESLENS_SETUP.md file\n- Updated all documentation references\n\n* Update README.md\n\n* Update README.md\n\n* Update README.md\n\n* Update TEAM_SETUP.md to reference forked Nexus repository with GraphQ-LLM integration\n\n* Fix remaining Nexus repository URLs to point to fork\n\n* Add Nexus fork setup guide and script for team reference\n\n* Add nexus/ to .gitignore and update scripts to use forked Nexus repository\n\n* Remove nexus directory from git tracking (now using separate fork)\n\n* Update README.md with Nexus fork information and setup instructions\n\n* Add Nexus Fork Information section to README\n\n* Simplify conclusion sentence in README\n\n* Update README.md\n\n* Add ResLens fork setup guide and script\n\n* Configure ResLens to use separate fork repositories\n\n- Update docker-compose.dev.yml to use absolute paths to forks\n- Remove ResLens directories from git tracking (165 files)\n- Update TEAM_SETUP.md with fork information\n- Add ResLens to .gitignore\n- Fork URLs:\n  - Frontend: sophiequynn/incubator-resilientdb-ResLens\n  - Middleware: sophiequynn/incubator-resilientdb-ResLens-Middleware\n\n* Add ResLens fork clone commands to Quick Start section\n\n* Update documentation for ResLens fork setup\n\n- Add ResLens fork information to docs/README.md\n- Update Quick Start to include ResLens fork cloning steps\n- Add ResLens fork section similar to Nexus fork documentation\n- Update TEAM_SETUP.md with detailed ResLens fork instructions\n- Clarify that forks include GraphQ-LLM-specific modifications\n\n* Clarify ResLens fork modifications in TEAM_SETUP.md\n\n* Add ResLens fork cloning commands to prerequisites in Step 5.2\n\n* Revise performance metrics section and add URLs\n\nUpdated section titles and added access URLs for various services.\n\n* chore: Update docker-compose.dev.yml with local ResLens paths\n\n- Update ResLens Middleware path to /Users/CelineJohnPhilip/DDS/ResLens-Middleware/middleware\n- Update ResLens Frontend path to /Users/CelineJohnPhilip/DDS/ResLens\n- Configured for local development environment\n\n* Removed optimization related content.\n\nUpdated README to improve clarity and consistency in descriptions of features and sections.\n\n* update\n\n* update\n\n* update\n\n* Update README.md\n\n* Fix ResLens frontend connection and enhance explanation quality\n\n- Fix ResLens frontend middleware URL to use localhost instead of Docker service name (browser can\u0027t resolve service names)\n- Increase token limits for detailed explanations (2000 for Gemini, 3000 for other models)\n- Enhance system and detailed explanation prompts for more comprehensive responses\n- Remove ResLens frontend dependency on middleware health check to allow startup\n\n* Update docs/README.md with latest features and fixes\n\n- Fix Nexus port inconsistency (3002 -\u003e 3000)\n- Document query stats button feature in efficiency tab\n- Add note about ResLens frontend localhost configuration\n- Enhance performance metrics section with ResLens integration details\n\n* Fix ResLens paths to match current user setup\n\n* Document chatbot UI route in README\n\n---------\n\nCo-authored-by: sophiequynn \u003c39390333+sophiequynn@users.noreply.github.com\u003e\nCo-authored-by: celinejp \u003ccelinejp.03@gmail.com\u003e\nCo-authored-by: Theodore Pan \u003c77665596+theopan8@users.noreply.github.com\u003e\nCo-authored-by: sophiequynn \u003csjquynn@ucdavis.edu\u003e\nCo-authored-by: Sandhya \u003csghanathe@ucdavis.edu\u003e\nCo-authored-by: Ahadke \u003chadkeaayusha@gmail.com\u003e\n\n* header fix using license-eye\n\n* test deployment after license additions\n\n* updated workflow to trigger on commits to master\n\n* deleting unrelated files\n\n* deleting the private and public certificates\n\n* added in scripts to generate certificates and public-private keys and updated readme and gitignore\n\n* checking ecosystem deployment\n\n* Added automatic document updation workflow using Pocketflow (#229)\n\n* Added Pocketflow, it\u0027s license notice and doc updation workflow\n\n* removing excess documentation - added in CC0 license\n\n* added pocketflow as third party tool\n\n* fixed license file\n\n* changelog: v1.12.0 ecosystem and contributor updates\n\nCo-authored-by: Dhruv Sangamwar \u003cdhruvsangamwar@users.noreply.github.com\u003e\nCo-authored-by: Prashansa Goel \u003cpgoel-02@users.noreply.github.com\u003e\nCo-authored-by: dharora \u003cdharora@users.noreply.github.com\u003e\nCo-authored-by: Chris Ruan \u003cchris315654@users.noreply.github.com\u003e\nCo-authored-by: Krishnanand Yadav \u003cKriishna1@users.noreply.github.com\u003e\nCo-authored-by: Paiman Nejrabi \u003cPNejr10@users.noreply.github.com\u003e\nCo-authored-by: Haskell Macaraig \u003cAwesomenessXP@users.noreply.github.com\u003e\nCo-authored-by: Amey Gohil \u003cAmeyGohil@users.noreply.github.com\u003e\nCo-authored-by: Harish Krishnakumar \u003charish876@users.noreply.github.com\u003e\nCo-authored-by: Bismanpal Anand \u003cBismanpal-Singh@users.noreply.github.com\u003e\nCo-authored-by: Junchao Chen \u003ccjcchen@users.noreply.github.com\u003e\n\n* Update CHANGELOG.md for Apache ResilientDB v1.12.0 release, including a new release date and a summary of core feature enhancements, specifically the implementation of securing consensus against long-range attacks.\n\n---------\n\nCo-authored-by: Rahul Kanagaraj \u003cgetmerk786@gmail.com\u003e\nCo-authored-by: Vikhas \u003cvikhas260401@gmail.com\u003e\nCo-authored-by: Vikhas \u003c76156657+Vikhas@users.noreply.github.com\u003e\nCo-authored-by: Pavan Kumar Nuthi \u003cpavankumarnuthi@gmail.com\u003e\nCo-authored-by: sophiequynn \u003c39390333+sophiequynn@users.noreply.github.com\u003e\nCo-authored-by: celinejp \u003ccelinejp.03@gmail.com\u003e\nCo-authored-by: Theodore Pan \u003c77665596+theopan8@users.noreply.github.com\u003e\nCo-authored-by: sophiequynn \u003csjquynn@ucdavis.edu\u003e\nCo-authored-by: Sandhya \u003csghanathe@ucdavis.edu\u003e\nCo-authored-by: Ahadke \u003chadkeaayusha@gmail.com\u003e\nCo-authored-by: Bismanpal-Singh \u003c83641114+Bismanpal-Singh@users.noreply.github.com\u003e\nCo-authored-by: Dhruv Sangamwar \u003cdhruvsangamwar@users.noreply.github.com\u003e\nCo-authored-by: Prashansa Goel \u003cpgoel-02@users.noreply.github.com\u003e\nCo-authored-by: dharora \u003cdharora@users.noreply.github.com\u003e\nCo-authored-by: Chris Ruan \u003cchris315654@users.noreply.github.com\u003e\nCo-authored-by: Krishnanand Yadav \u003cKriishna1@users.noreply.github.com\u003e\nCo-authored-by: Paiman Nejrabi \u003cPNejr10@users.noreply.github.com\u003e\nCo-authored-by: Haskell Macaraig \u003cAwesomenessXP@users.noreply.github.com\u003e\nCo-authored-by: Amey Gohil \u003cAmeyGohil@users.noreply.github.com\u003e\nCo-authored-by: Harish Krishnakumar \u003charish876@users.noreply.github.com\u003e\nCo-authored-by: Bismanpal Anand \u003cBismanpal-Singh@users.noreply.github.com\u003e\nCo-authored-by: Junchao Chen \u003ccjcchen@users.noreply.github.com\u003e"
    },
    {
      "commit": "156a24af643f976a255ba46fd544157d529b235f",
      "tree": "1af531421d05a0d92b38636514af41e0c113d703",
      "parents": [
        "766fc90eda8b7aa08063c301304fa23a2ad247eb"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Tue Jan 27 11:16:51 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 11:16:51 2026 -0800"
      },
      "message": "[Bug Fix] Change pocketflow directory to third_party\n\nUpdated directory path for pocketflow in workflow."
    },
    {
      "commit": "766fc90eda8b7aa08063c301304fa23a2ad247eb",
      "tree": "e9a581629c1017ab0836cd7bc0723b12816310d1",
      "parents": [
        "dfdc9b6217c09e59000f66f6b3784818153fa1d1"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Mon Jan 26 20:40:58 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 12:40:58 2026 +0800"
      },
      "message": "Development - Added Ecosystem Tools Prepped for Next Release (#228)\n\n* Add Bazel configuration for C++17 and optimization; refactor JSONScalar implementation; update service configuration for replicas\n\n* ResLens Deployment from Monorepo\n\n* ResLens Vercel deployment - Workflow Test\n\n* ResLens Vercel deployment - Workflow Test\n\n* update workflow\n\n* update workflow - resolve caching\n\n* update yaml parsing in wfl\n\n* update workflow to python runners\n\n* use jq instead to parse projects config\n\n* fixed JSON parsing in workflow\n\n* Offload Project Build to Vercel\n\n* Additional Optimisations to the vercel deployment pipeline\n\n* using vercel.json instead of vercel.ts\n\n* Update deployment command in workflow to include --yes flag for automatic confirmation\n\n* Remove reslens to re-add as subtree\n\n* Squashed \u0027ecosystem/monitoring/reslens/\u0027 content from commit 0e4305048\n\ngit-subtree-dir: ecosystem/monitoring/reslens\ngit-subtree-split: 0e43050486e29c18cf06e7a696b09bee42195d49\n\n* updating build command for reslens\n\n* update project id for reslens deployment\n\n* revert project id changes. vercel deployment breaks with author validation error\n\n* remove unecessary config file\n\n* Squashed \u0027ecosystem/ai-tools/beacon/\u0027 content from commit a77bbe3f0\n\ngit-subtree-dir: ecosystem/ai-tools/beacon\ngit-subtree-split: a77bbe3f0711faff5925cd224211e645ef9a6c0b\n\n* update deployment config to trigger beacon deployment\n\n* fix for author conflict outside vercel org\n\n* checking if the git config works\n\n* adding back token info\n\n* checking if deployment authorship works\n\n* adding skip config to project deployments\n\n* Squashed \u0027ecosystem/ai-tools/nexus/\u0027 content from commit 9148a407d\n\ngit-subtree-dir: ecosystem/ai-tools/nexus\ngit-subtree-split: 9148a407d227def07651adf99bd79025f024637d\n\n* adding nexus for deployment check\n\n* bumping next js version for nexus and updating deployment configs\n\n* Rescontract - Development Branch PR (#226)\n\n* Create directory for MCP and get started\n\n* added MCP support for smart contract functionality\n\n* fix(rescontract): switch to JSON config for contract_tools\n\n* Add required mcp-graphql files\n\n* Automate key generation and enable it to be used at MCP tools\n\n* Fix few bugs\n\n* Analysis of the transactions\n\n* add monitoring\n\n* Integration of graphql and smart contract\n\n* Benchmarking tool integration\n\n* Integrate mcp-graphql and mcp-smartcontract in the same directory\n\n---------\n\nCo-authored-by: Rahul Kanagaraj \u003cgetmerk786@gmail.com\u003e\nCo-authored-by: Vikhas \u003cvikhas260401@gmail.com\u003e\nCo-authored-by: Vikhas \u003c76156657+Vikhas@users.noreply.github.com\u003e\nCo-authored-by: Pavan Kumar Nuthi \u003cpavankumarnuthi@gmail.com\u003e\n\n* update folder structure for resilientdb-mcp\n\n* GraphQ-LLM MCP server (#227)\n\n* Initial commit\n\n* Initial commit\n\n* Initial commit\n\n* Initial commit\n\n* setup\n\n* setup\n\n* Update docker-compose.dev.yml\n\n* Update docker-compose.dev.yml\n\n* setup update\n\n* setup update\n\n* fixed setup\n\n* fixed setup\n\n* Nexus integration\n\n* Nexus integration\n\n* nexus update\n\n* nexus update\n\n* setup update\n\n* setup update\n\n* feat: Dockerize MCP server and update documentation\n\n- Add separate Docker service for MCP server in docker-compose.dev.yml\n  - MCP server runs as independent container using stdio transport\n  - Configured with stdin_open and tty for stdio communication\n  - Shares environment variables with backend service\n\n- Update TEAM_SETUP.md with comprehensive MCP server setup instructions\n  - Add Step 5.1: Start MCP Server with Docker and local options\n  - Clarify separation between HTTP API backend and MCP server\n  - Update configuration summary and verification checklist\n  - Add MCP server to Quick Start Commands section\n\n- Improve code clarity in src/index.ts\n  - Update console output to distinguish HTTP API Server from MCP Server\n  - Clarify port configuration display\n\n- Add QUERY_TUTOR_EXAMPLES.md\n  - Comprehensive guide with GraphQL query examples\n  - Question-based prompts for RAG testing\n  - Recommended testing order and expected results\n\n* feat: Dockerize MCP server and update documentation\n\n- Add separate Docker service for MCP server in docker-compose.dev.yml\n  - MCP server runs as independent container using stdio transport\n  - Configured with stdin_open and tty for stdio communication\n  - Shares environment variables with backend service\n\n- Update TEAM_SETUP.md with comprehensive MCP server setup instructions\n  - Add Step 5.1: Start MCP Server with Docker and local options\n  - Clarify separation between HTTP API backend and MCP server\n  - Update configuration summary and verification checklist\n  - Add MCP server to Quick Start Commands section\n\n- Improve code clarity in src/index.ts\n  - Update console output to distinguish HTTP API Server from MCP Server\n  - Clarify port configuration display\n\n- Add QUERY_TUTOR_EXAMPLES.md\n  - Comprehensive guide with GraphQL query examples\n  - Question-based prompts for RAG testing\n  - Recommended testing order and expected results\n\n* test: Add comprehensive Docker services testing and MCP protocol verification\n\n- Add TEST_DOCKER_SERVICES.md with complete testing guide\n  - Step-by-step verification procedures for all Docker services\n  - Network communication tests\n  - End-to-end flow testing\n  - Troubleshooting tips and common issues\n\n- Add test-mcp-protocol.ts for MCP server protocol testing\n  - Tests MCP protocol communication via JSON-RPC over stdio\n  - Verifies all 5 core MCP operations:\n    * Initialize protocol\n    * List tools (9 tools verified)\n    * Check connection tool\n    * Execute GraphQL query tool\n    * Introspect schema tool\n  - All tests passing (5/5)\n  - Confirms MCP server is responding correctly to protocol calls\n\n* test: Add comprehensive Docker services testing and MCP protocol verification\n\n- Add TEST_DOCKER_SERVICES.md with complete testing guide\n  - Step-by-step verification procedures for all Docker services\n  - Network communication tests\n  - End-to-end flow testing\n  - Troubleshooting tips and common issues\n\n- Add test-mcp-protocol.ts for MCP server protocol testing\n  - Tests MCP protocol communication via JSON-RPC over stdio\n  - Verifies all 5 core MCP operations:\n    * Initialize protocol\n    * List tools (9 tools verified)\n    * Check connection tool\n    * Execute GraphQL query tool\n    * Introspect schema tool\n  - All tests passing (5/5)\n  - Confirms MCP server is responding correctly to protocol calls\n\n* Reslens integration\n\n* my changes\n\n* Apply changes after removing secret\n\n* Clean up unnecessary files and add Docker setup for ResLens\n\n- Removed temporary fix scripts and redundant documentation\n- Added Docker support for ResLens Frontend and ResLens Middleware\n- Updated docker-compose.dev.yml with ResLens services\n- Fixed middleware connection URLs for browser compatibility\n- Added check-docker-services.sh utility script\n- Kept essential setup scripts and documentation\n\n* Update README.md\n\n* Update README.md\n\n* Update README.md\n\n* Fix backend container command and GraphQL URL configuration\n\n- Fix docker-compose.dev.yml: Change backend command from \u0027npm run dev -- --http-api\u0027 to \u0027npm run http-api\u0027 for correct HTTP API mode\n- Fix ingest-graphql-docs.ts: Remove incorrect RESILIENTDB_GRAPHQL_URL override pointing to HTTP wrapper (port 18001)\n  - HTTP wrapper only provides REST KV endpoints, not GraphQL server\n  - GraphQL operations must use port 5001\n  - Added clarifying comments about service separation\n- Update environment.ts: Fix default RESILIENTDB_GRAPHQL_URL from port 18000 to 5001 with clarifying comment\n- Enable ResLens Middleware and Frontend services in docker-compose.dev.yml\n\n* Merge ResLens Docker setup into TEAM_SETUP.md and update TEST_DOCKER_SERVICES.md\n\n- Merged DOCKER_RESLENS_SETUP.md content into TEAM_SETUP.md Step 5.2\n- Added comprehensive ResLens Docker setup instructions including:\n  - Docker architecture details (multi-stage builds, Nginx setup)\n  - Complete environment variables documentation\n  - Networking configuration\n  - Service management commands (logs, stop, remove)\n  - Development vs Production comparison\n  - Enhanced troubleshooting sections\n- Updated TEST_DOCKER_SERVICES.md to include ResLens services testing\n- Added ResLens Middleware and Frontend to service architecture\n- Added Step 5: Test ResLens Services with 6 sub-tests\n- Added ResLens troubleshooting sections\n- Updated verification checklists and success criteria\n- Deleted standalone DOCKER_RESLENS_SETUP.md file\n- Updated all documentation references\n\n* Update README.md\n\n* Update README.md\n\n* Update README.md\n\n* Update TEAM_SETUP.md to reference forked Nexus repository with GraphQ-LLM integration\n\n* Fix remaining Nexus repository URLs to point to fork\n\n* Add Nexus fork setup guide and script for team reference\n\n* Add nexus/ to .gitignore and update scripts to use forked Nexus repository\n\n* Remove nexus directory from git tracking (now using separate fork)\n\n* Update README.md with Nexus fork information and setup instructions\n\n* Add Nexus Fork Information section to README\n\n* Simplify conclusion sentence in README\n\n* Update README.md\n\n* Add ResLens fork setup guide and script\n\n* Configure ResLens to use separate fork repositories\n\n- Update docker-compose.dev.yml to use absolute paths to forks\n- Remove ResLens directories from git tracking (165 files)\n- Update TEAM_SETUP.md with fork information\n- Add ResLens to .gitignore\n- Fork URLs:\n  - Frontend: sophiequynn/incubator-resilientdb-ResLens\n  - Middleware: sophiequynn/incubator-resilientdb-ResLens-Middleware\n\n* Add ResLens fork clone commands to Quick Start section\n\n* Update documentation for ResLens fork setup\n\n- Add ResLens fork information to docs/README.md\n- Update Quick Start to include ResLens fork cloning steps\n- Add ResLens fork section similar to Nexus fork documentation\n- Update TEAM_SETUP.md with detailed ResLens fork instructions\n- Clarify that forks include GraphQ-LLM-specific modifications\n\n* Clarify ResLens fork modifications in TEAM_SETUP.md\n\n* Add ResLens fork cloning commands to prerequisites in Step 5.2\n\n* Revise performance metrics section and add URLs\n\nUpdated section titles and added access URLs for various services.\n\n* chore: Update docker-compose.dev.yml with local ResLens paths\n\n- Update ResLens Middleware path to /Users/CelineJohnPhilip/DDS/ResLens-Middleware/middleware\n- Update ResLens Frontend path to /Users/CelineJohnPhilip/DDS/ResLens\n- Configured for local development environment\n\n* Removed optimization related content.\n\nUpdated README to improve clarity and consistency in descriptions of features and sections.\n\n* update\n\n* update\n\n* update\n\n* Update README.md\n\n* Fix ResLens frontend connection and enhance explanation quality\n\n- Fix ResLens frontend middleware URL to use localhost instead of Docker service name (browser can\u0027t resolve service names)\n- Increase token limits for detailed explanations (2000 for Gemini, 3000 for other models)\n- Enhance system and detailed explanation prompts for more comprehensive responses\n- Remove ResLens frontend dependency on middleware health check to allow startup\n\n* Update docs/README.md with latest features and fixes\n\n- Fix Nexus port inconsistency (3002 -\u003e 3000)\n- Document query stats button feature in efficiency tab\n- Add note about ResLens frontend localhost configuration\n- Enhance performance metrics section with ResLens integration details\n\n* Fix ResLens paths to match current user setup\n\n* Document chatbot UI route in README\n\n---------\n\nCo-authored-by: sophiequynn \u003c39390333+sophiequynn@users.noreply.github.com\u003e\nCo-authored-by: celinejp \u003ccelinejp.03@gmail.com\u003e\nCo-authored-by: Theodore Pan \u003c77665596+theopan8@users.noreply.github.com\u003e\nCo-authored-by: sophiequynn \u003csjquynn@ucdavis.edu\u003e\nCo-authored-by: Sandhya \u003csghanathe@ucdavis.edu\u003e\nCo-authored-by: Ahadke \u003chadkeaayusha@gmail.com\u003e\n\n* header fix using license-eye\n\n* test deployment after license additions\n\n* updated workflow to trigger on commits to master\n\n* deleting unrelated files\n\n* deleting the private and public certificates\n\n* added in scripts to generate certificates and public-private keys and updated readme and gitignore\n\n* checking ecosystem deployment\n\n* Added automatic document updation workflow using Pocketflow (#229)\n\n* Added Pocketflow, it\u0027s license notice and doc updation workflow\n\n* removing excess documentation - added in CC0 license\n\n* added pocketflow as third party tool\n\n* fixed license file\n\n---------\n\nCo-authored-by: Rahul Kanagaraj \u003cgetmerk786@gmail.com\u003e\nCo-authored-by: Vikhas \u003cvikhas260401@gmail.com\u003e\nCo-authored-by: Vikhas \u003c76156657+Vikhas@users.noreply.github.com\u003e\nCo-authored-by: Pavan Kumar Nuthi \u003cpavankumarnuthi@gmail.com\u003e\nCo-authored-by: sophiequynn \u003c39390333+sophiequynn@users.noreply.github.com\u003e\nCo-authored-by: celinejp \u003ccelinejp.03@gmail.com\u003e\nCo-authored-by: Theodore Pan \u003c77665596+theopan8@users.noreply.github.com\u003e\nCo-authored-by: sophiequynn \u003csjquynn@ucdavis.edu\u003e\nCo-authored-by: Sandhya \u003csghanathe@ucdavis.edu\u003e\nCo-authored-by: Ahadke \u003chadkeaayusha@gmail.com\u003e\nCo-authored-by: Bismanpal-Singh \u003c83641114+Bismanpal-Singh@users.noreply.github.com\u003e"
    },
    {
      "commit": "dfdc9b6217c09e59000f66f6b3784818153fa1d1",
      "tree": "ca7eaf289b924578fc7abe864e0e134c0adfed2b",
      "parents": [
        "550d5ec933bef99f5e2e86fc2546b8f5ad0a6ca5"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Jan 21 13:25:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 21 13:25:48 2026 +0800"
      },
      "message": "Poe fix response (#225)\n\n* change reponse num for poe\n\n* change reponse num for poe\n\n* add files\n\n* add files"
    },
    {
      "commit": "550d5ec933bef99f5e2e86fc2546b8f5ad0a6ca5",
      "tree": "01e1e05a71bf86431baeec72e50124b4ed65b6c4",
      "parents": [
        "8936104368a58a27fa0bacf3120dfa905a338324"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jan 05 02:08:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 02:08:31 2026 +0800"
      },
      "message": "Recovery ckpt (#222)\n\n* Chenyi (#201)\n\n* Chenyi lastest executed seq num each replica\n\n* Chenyi lastest executed seq num each replica update file route\n\n* Chenyi update create file\n\n* Chenyi update write in checkpoint\n\n* Chenyi update write in checkpoint\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft, seems deadlock\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft\n\n* Chenyi update in checkpoint_manager with ofstream, with test draft\n\n---------\n\nCo-authored-by: cyzhoutt \u003ccyzhou@ucdavis.edu\u003e\n\n* add seq\n\n* add checkpoint recovery\n\n* remove query\n\n* remove query\n\n* remove query\n\n* format\n\n* fix recovery test\n\n* fix recovery test\n\n* rm get all interfaces\n\n* fix client config\n\n* fix seq 0 in memdb\n\n* fix seq 0 in memdb\n\n* update vc\n\n* update vc\n\n* update vc\n\n* update vc\n\n* update vc\n\n* update vc\n\n* update vc\n\n* update vc\n\n---------\n\nCo-authored-by: cyzhoutt \u003ccyzhou@ucdavis.edu\u003e"
    },
    {
      "commit": "8936104368a58a27fa0bacf3120dfa905a338324",
      "tree": "62424a81f8f8a3d326820505f499d257f4280f13",
      "parents": [
        "289e07e2543a18c9e26afccbe9d204de1ae3c856"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Thu Jan 01 23:05:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 01 23:05:51 2026 +0800"
      },
      "message": "Fix Memdb with seq 0 (#219)\n\n* Chenyi (#201)\n\n* Chenyi lastest executed seq num each replica\n\n* Chenyi lastest executed seq num each replica update file route\n\n* Chenyi update create file\n\n* Chenyi update write in checkpoint\n\n* Chenyi update write in checkpoint\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft, seems deadlock\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft\n\n* Chenyi update in checkpoint_manager with ofstream, with test draft\n\n---------\n\nCo-authored-by: cyzhoutt \u003ccyzhou@ucdavis.edu\u003e\n\n* add seq\n\n* add checkpoint recovery\n\n* remove query\n\n* remove query\n\n* remove query\n\n* format\n\n* fix recovery test\n\n* fix recovery test\n\n* rm get all interfaces\n\n* fix client config\n\n* fix seq 0 in memdb\n\n* fix seq 0 in memdb\n\n---------\n\nCo-authored-by: cyzhoutt \u003ccyzhou@ucdavis.edu\u003e"
    },
    {
      "commit": "289e07e2543a18c9e26afccbe9d204de1ae3c856",
      "tree": "cdbac2684d63c51ab600f6fb10379a069422e34b",
      "parents": [
        "8416beb371d843a5aaca11de7f556a57ad567324"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Sun Dec 28 15:47:44 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 28 15:47:44 2025 +0800"
      },
      "message": "Poc merge (#215)\n\n* add poc\n\n* add poc\n\n* merge\n\n* merge\n\n* merge"
    },
    {
      "commit": "8416beb371d843a5aaca11de7f556a57ad567324",
      "tree": "f644152fccea9d9f3f238444d5c5eb9afe28341b",
      "parents": [
        "cfb177f0eac541fed44d506ad92bc99caef2467f"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Dec 23 08:10:41 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 23 08:10:41 2025 +0800"
      },
      "message": "Recovery ckpt (#214)\n\n* Chenyi (#201)\n\n* Chenyi lastest executed seq num each replica\n\n* Chenyi lastest executed seq num each replica update file route\n\n* Chenyi update create file\n\n* Chenyi update write in checkpoint\n\n* Chenyi update write in checkpoint\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft, seems deadlock\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft\n\n* Chenyi update in checkpoint_manager with ofstream, with test draft\n\n---------\n\nCo-authored-by: cyzhoutt \u003ccyzhou@ucdavis.edu\u003e\n\n* add seq\n\n* add checkpoint recovery\n\n* remove query\n\n* remove query\n\n* remove query\n\n* format\n\n* fix recovery test\n\n* fix recovery test\n\n* rm get all interfaces\n\n* fix client config\n\n---------\n\nCo-authored-by: cyzhoutt \u003ccyzhou@ucdavis.edu\u003e"
    },
    {
      "commit": "cfb177f0eac541fed44d506ad92bc99caef2467f",
      "tree": "ef0e4f7b70e2905d08b8d965c4b6d76867fafc04",
      "parents": [
        "708430919d93222cfd8d2e619b46e0bd578f6340"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Thu Dec 11 03:26:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 11 03:26:48 2025 +0800"
      },
      "message": "Support Leveldb with Recovery Data locally (#208)\n\n* Chenyi (#201)\n\n* Chenyi lastest executed seq num each replica\n\n* Chenyi lastest executed seq num each replica update file route\n\n* Chenyi update create file\n\n* Chenyi update write in checkpoint\n\n* Chenyi update write in checkpoint\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft, seems deadlock\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft\n\n* Chenyi update in checkpoint_manager with ofstream, solved executor_, with test draft\n\n* Chenyi update in checkpoint_manager with ofstream, with test draft\n\n---------\n\nCo-authored-by: cyzhoutt \u003ccyzhou@ucdavis.edu\u003e\n\n* add seq\n\n* add checkpoint recovery\n\n* remove query\n\n* remove query\n\n* remove query\n\n* format\n\n* fix recovery test\n\n* fix recovery test\n\n---------\n\nCo-authored-by: cyzhoutt \u003ccyzhou@ucdavis.edu\u003e"
    },
    {
      "commit": "708430919d93222cfd8d2e619b46e0bd578f6340",
      "tree": "487f9b91e482854188635a06b55341a38158827b",
      "parents": [
        "709b3a48173d02f263791f4130ef27d4aba99749"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 17:00:36 2025 +0000"
      },
      "committer": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 17:00:36 2025 +0000"
      },
      "message": "rm files\n"
    },
    {
      "commit": "709b3a48173d02f263791f4130ef27d4aba99749",
      "tree": "906464bffffb0b47eb15e09cb531b066d4af3f5c",
      "parents": [
        "181340e88891c758fad95c9bc9799136d3dd90f6"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 16:48:55 2025 +0000"
      },
      "committer": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 16:48:55 2025 +0000"
      },
      "message": "add license\n"
    },
    {
      "commit": "181340e88891c758fad95c9bc9799136d3dd90f6",
      "tree": "b1f6be7c6799673c59a44edd2892b11507bad8ef",
      "parents": [
        "28fc6a945ec6c57d7b1b0f8659e146b4a17269e4"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 16:04:41 2025 +0000"
      },
      "committer": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 16:04:41 2025 +0000"
      },
      "message": "add license\n"
    },
    {
      "commit": "28fc6a945ec6c57d7b1b0f8659e146b4a17269e4",
      "tree": "63f227f3314e924503e4ab9b7a109f1eff6f7cf4",
      "parents": [
        "86c6ac182210867d7df2d97e46678e2e7a2e1564"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 14:42:25 2025 +0000"
      },
      "committer": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 14:42:25 2025 +0000"
      },
      "message": "add file\n"
    },
    {
      "commit": "86c6ac182210867d7df2d97e46678e2e7a2e1564",
      "tree": "5b7fd17c2d8a3fe31281b927fb6cdd5487918869",
      "parents": [
        "8da5b8bb39bd8b72386b4d68c0378a072286e897"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 14:25:46 2025 +0000"
      },
      "committer": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 14:25:46 2025 +0000"
      },
      "message": "add version\n"
    },
    {
      "commit": "8da5b8bb39bd8b72386b4d68c0378a072286e897",
      "tree": "0935b9078aba6c8fd34a72bf1b4ae30098262781",
      "parents": [
        "e4381847679da05b72b217ffa9c9267b5c5e8366",
        "70b6f36318dd13cfecba6675da12646253f778ab"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 13:45:53 2025 +0000"
      },
      "committer": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 13:45:53 2025 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of https://github.com/apache/incubator-resilientdb\n"
    },
    {
      "commit": "e4381847679da05b72b217ffa9c9267b5c5e8366",
      "tree": "3d8c73bd947b7832583614f7e75804bd0db1a565",
      "parents": [
        "356b378d62ab5380eab7c3ac8c0827a528297377"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 13:45:12 2025 +0000"
      },
      "committer": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 13:45:12 2025 +0000"
      },
      "message": "add license\n"
    },
    {
      "commit": "70b6f36318dd13cfecba6675da12646253f778ab",
      "tree": "6a4e6ac46cd74b21cc6c1e02cadaa2b564552869",
      "parents": [
        "80db8b9cdbe60b4facbd371ea660f98e32338309"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 21:28:02 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 03 21:28:02 2025 +0800"
      },
      "message": "Revert \"Adding AI tools to Monorepo (#200)\" (#204)\n\nThis reverts commit 80db8b9cdbe60b4facbd371ea660f98e32338309."
    },
    {
      "commit": "356b378d62ab5380eab7c3ac8c0827a528297377",
      "tree": "e862c24ddee59fc6f443af0446c17c8dff449e5c",
      "parents": [
        "80db8b9cdbe60b4facbd371ea660f98e32338309"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 11:14:38 2025 +0000"
      },
      "committer": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Wed Dec 03 11:14:38 2025 +0000"
      },
      "message": "add config license\n"
    },
    {
      "commit": "80db8b9cdbe60b4facbd371ea660f98e32338309",
      "tree": "497e0fc1cee3fd8c1905f4d8457110007196d5a0",
      "parents": [
        "ee8bf2501fa09e81b0abfd837393ba326a16c041"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "83641114+Bismanpal-Singh@users.noreply.github.com",
        "time": "Mon Nov 24 15:18:14 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 25 07:18:14 2025 +0800"
      },
      "message": "Adding AI tools to Monorepo (#200)\n\n* Added login logout basic func\n\n* Added API test func\n\n* Added test api function\n\n* Added API calls to CLI functions\n\n* CLI updates\n\n* Update README.md\n\n* Action Test\n\n* Added Apache release files\n\n* Initial commit from Create Next App\n\n* Add utility functions, update configuration, and clean up assets\n\n* Update chat message background color for improved styling\n\n* first commit\n\n* Update Welcome and Placeholder pages with new content and styling enhancements\n\n* Fix import order in button component for consistency\n\n* Refactor Welcome.module.css styles for title: updated color to black, adjusted font size and weight, and modified media query breakpoint.\n\n* Adding Python IDE\n\n* Update PythonPlayground component and styles; refactor code for consistency, enhance output display, and add subtitle styling in Welcome component.\n\n* Refactor PythonPlayground component for improved code formatting and output handling; adjust Welcome component structure to enhance title styling.\n\n* Trying to fix IDE\n\n* Fixed SDK to working model for a KV Txn with ResDB\n\n* Refining it to further mimic the actual SDK\n\n* Finalized the SDK interactive component.\n\n* Add sitemap generation functionality and remove deprecated API version route; clean up documentation references and remove unused content.\n\n* Enhance application with new AI-powered features; integrate FloatingAssistant component for interactive code assistance, update PythonPlayground and TypeScriptPlayground for improved user experience, and refine project structure by adding new GraphQL setup documentation and example templates.\n\n* Update README link in contributing section to point to the correct repository for ResilientDB GraphQL.\n\n* Add GitHub comment system with production safeguards: - Add NextAuth GitHub integration - Implement comment-to-issue conversion - Add rate limiting and security checks - Move auth pages to pages directory - Add production environment checks\n\n* Fix: Remove duplicate API routes from app directory\n\n* Fix: Move AuthProviders to components directory - Remove duplicate providers file from pages - Update import paths in auth pages - Clean up build structure\n\n* Fixed build issues for Vercel deployment\n\n* fix: add missing peer dependencies\n\n* Fixed IDE and Authentication issues\n\n* Remove fallback API key and clean up layout component by removing commented footer\n\n* Add Markdown rendering support and update layout styles\n\n* Add loader component and enhance chat message rendering with loading states\n\n* Enhance MarkdownRenderer with horizontal rule support and improve code block rendering; limit chat source nodes to a maximum of 3\n\n* Add document management API endpoints and update layout styles; enhance .gitignore for parsed documents cache\n\n* Added mongoDB query generator\n\n* Python Cache added\n\n* Added ResDB Node Cache\n\n* Added ResDB ORM, CLI and ResContract\n\n* fixed deployment issue\n\n* Fixed rescontract and added resvault\n\n* Add PocketFlowChatbot component and integrate into layout; update package-lock.json for @codemirror/view and add new dependency\n\n* CSS font size changes\n\n* update notice\n\n* Update .asf.yaml\n\n* update note\n\n* Update .asf.yaml\n\n* Implement ResearchChatPage component for document-based chat functionality; update MainNavBar to link to Researcher page and comment out feature cards in WelcomePage.\n\n* Add HuggingFace integration to document indexing and chat services; update package dependencies for @llamaindex/huggingface\n\n* #6 shadcn\n\n* template #6\n\n* #6 resolve nitpick\n\n* Update card styles in ResearchChatPage and CardHeader for improved UI; adjust background opacity and margin for better layout consistency. #6\n\n* consolidated header size #6\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* updatte license\n\n* add license\n\n* update header\n\n* Enhance document handling in ResearchChatPage by adding multi-document selection support; update API endpoints to handle multiple document paths for indexing and querying. Introduce new UI components for document source attribution and multi-document selector. Update package dependencies for @radix-ui/react-tabs and related libraries. #5\n\n* #5 lint\n\n* #5 remove method\n\n* Add comprehensive API and project documentation for ResAI, detailing endpoints, system architecture, and component interactions. This includes new markdown files for API usage, project overview, and system architecture diagrams to enhance understanding of the application structure and functionality. #5\n\n* Refactor PDF preview visibility logic in ResearchChatPage for clarity; update max context length in MultiDocumentQueryEngine to accommodate deepseek requirements and improve separator handling in document truncation logic. #5\n\n* lint #5\n\n* Update system architecture documentation to implement dark mode agnostic styling for improved readability and accessibility across components.\n\n* #9 migrate parsed data to psql; eliminate the file directory dependency for parsed data storage\n\n* #9 reduce line complexity\n\n* #9 lint esline\n\n* #10 code composer\n\n* Refactor code generation handling in ResearchChatPage; introduce new types for Document and CodeGeneration; implement streaming updates for code composer responses; enhance preview panel with separate tabs for code generations and PDF previews; improve accessibility and styling across components.\n\n* Remove unused handleClearTool function from ChatInput component in Research page to streamline code and improve maintainability. #13\n\n* Enhance ChatInput component by adding a vertical separator for improved layout when using the code composer tool. Update language style guide to require pseudocode and implementation sections to be wrapped in triple backticks for clarity and consistency. Introduce ensureCodeBlock function to standardize code block formatting in responses.\n\n* #13 refactor post\n\n* Refactor Tabs component: reorder export statements and add cursor pointer and hover effects to TabsTrigger for improved user interaction and accessibility. #13\n\n* Update package dependencies and integrate React Query: Added @tanstack/react-query to package.json and package-lock.json for improved data fetching capabilities. Refactored document loading in ResearchChatPage to utilize useDocuments hook, enhancing error handling and state management. Removed unused Document interface from types.ts to streamline code. Updated PDFPreviewTab and MultiDocumentSelector components to use the new Document type from useDocuments. Improved accessibility features across components.\n\n* Enhance CodeReranker class: Add comments to clarify the score enhancement formula, detailing how the original score is boosted based on code relevance and the boost factor.\n\n* Integrate Radix UI Accordion component: Added @radix-ui/react-accordion and @radix-ui/react-collapsible to package.json and package-lock.json. Refactored CodeGenerationTab component to utilize Accordion for displaying plan, pseudocode, and implementation sections, enhancing user experience and accessibility. Implemented copy-to-clipboard functionality for each section with visual feedback. Improved code organization and readability.\n\n* Remove unused extractImplementationCode function from code-composer-prompts.ts to streamline code and improve maintainability.\n\n* Refactor ResearchChatPage and introduce ChatInput component: Streamlined message handling by moving ChatInput logic into a separate component, enhancing code organization and maintainability. Implemented code composer streaming updates and improved accessibility features. Removed unused imports and code segments for cleaner structure. #13\n\n* #13 topics section\n\n* Minor adjustment in code-generation-tab.ts to remove unnecessary whitespace in the AccordionContent component for improved layout.\n\n* Add sources property to CodeGeneration interface and update ResearchChatPage to include source information in code generations. Integrate MultiDocumentSourceBadge in TopicSection for improved source display #13\n\n* #13 major refactor to reranker\n\n* #13 possibly remove reranker\n\n* #13 add agent reranker\n\n* #13 reduce json size\n\n* #13 types\n\n* Update CodeGeneration interface to include \u0027reading-documents\u0027 section, adjust topK value for code composer, and enhance ResearchChatPageContent with early code generation handling. Introduce ReadingDocumentsSection in code-generation-tab for improved user experience during document processing. #13\n\n* #13 update page\n\n* #13 remove reranker\n\n* #13 update gitignore\n\n* #13 refine prompts and generation screen\n\n* Refactor imports to remove type annotations for Document and CodeGeneration, and encapsulate implementation cleanup logic in a new utility function. Update code generation logic to utilize the cleanUpImplementation function for better readability and maintainability. #13\n\n* Refactor ResearchChatPageContent to include handleCloseCodeGeneration function for improved code generation management. Update PreviewPanel to utilize onCloseCodeGeneration prop for handling tab closures. Adjust CodeGenerationTabs to support tab closing functionality and enhance PDF preview tab styling. #13\n\n* #13 remove consts\n\n* Refactor CodeComposerAgent to utilize MAX_TOKENS constant for maxTokens configuration. Update AnalyzedChunk interface to use concise property names (ir, cq, qa, ce, r) for improved clarity. Adjust scoring logic to reflect new property names and enhance readability. #13\n\n* #13 update sources\n\n* upgrade llamaindex\n\n* #13 add comment\n\n* #12 initial commit\n\n* #12 cleanup\n\n* #12 cleanup\n\n* #12 cleanup\n\n* #12 clean up\n\n* #12 cleanup\n\n* #12 new vector stores\n\n* #12 cleanup\n\n* #12 scripts added\n\n* #12 add test\n\n* #12 clean up todo: see if theres a better way to get missing indicies\n\n* #12 update name\n\n* #12 fix pg client leak\n\n* #12 add citations\n\n* #12 the return\n\n* remove unneded code #12\n\n* #12 remove dnc\n\n* #12 remove sceripts\n\n* #12 citations\n\n* #12 delete md\n\n* #12 cleanup\n\n* #12 update name\n\n* #12 update lock\n\n* #12 landing page\n\n* Add TypeScript types for three.js and update package dependencies; remove unused navbar component\n\n* #12 add route back in\n\n* #12 rm parsing cache\n\n* #12 update blob\n\n* #12 cleanup\n\n* #12 env\n\n* embed fix\n\n* #18 add memory\n\n* #18 session manager\n\n* #18 fix performance\n\n* Fixed some build issues for deployment\n\n* #18 fix uuid\n\n* #18 fix storage\n\n* Fixed deployment issues p2\n\n* Some more build issues\n\n* #20 add gemini\n\n* #17 agentic\n\n* #17 add agent class\n\n* fix node modules\n\n* lint\n\n* #remove session manager\n\n* Update README.md\n\n* Update README.md\n\n* Update README.md\n\n* Update README.md\n\n* #17 agent updates\n\n* fix build issue\n\n* #17 remove file\n\n* #17 remove sample\n\n* Updated UI Styling and landing page\n\n* Fixed some build issues\n\n* Fixed internal styling to align with UI\n\n* Fixed UI bugs\n\n* #17 added agent components\n\n* #17 update input\n\n* #17 page updates\n\n* #17 update mode\n\n* #17  update prompt\n\n* #17 padding\n\n* Added Reslens, Updated About page, Updated footer and other UI components, Added license workflow. Pending : License headers\n\n* Added Apache License Headers to all files\n\n* Added Missing headers\n\n* Updated paths-ignore to include .mdx files and declared it in NOTICE as mdx does not support standard licensing\n\n* Fixed the remaining licensing issues\n\n* #17 style update\n\n* #17 update memory configuration and role assignment\n\n* code agent v1 #17\n\n* Refactor chat response handling to improve tool call delimiters and remove sample messages. Updated message state management to prevent display of incomplete control blocks and ensure proper rendering of tool call parts.\n\n* #17 fix tool calls\n\n* major linting to resolve build\n\n* Enhance model selection by disabling the \"code\" option in production environments to prevent unintended usage.\n\n* #23 add supabase\n\n* #23 add cache\n\n* #23 remove duplicate vall to vector index\n\n* Fixing the UI and making it cleaner\n\n* Added missing header, fixed a UI bug\n\n* #23 update\n\n* remove condition\n\n* Update cache handling in LlamaService to include VERCEL environment check\n\n* Refactor model selection disabling logic to use a boolean check for VERCEL environment variable.\n\n* Refactor model selection disabling logic to check for development environment instead of VERCEL variable.\n\n* REMOVE AUTO REPARSING\n\n* fix streaming\n\n* Refactor code generation logic for code-composer flows, removing unused source info parsing and enhancing phase management. Update UI components to reflect changes in state handling and remove deprecated topic section from code generation tab.\n\n* Update system prompt in CodeAgent to emphasize concise and structured pseudocode creation, enhancing clarity and focus on essential steps for implementation.\n\n* build\n\n* Remove API and documentation files for chat and research endpoints, streamlining the codebase and eliminating outdated references.\n\n* Update blog.md\n\n* implemented cloud storage, files are now read from a google drive folder #26\n\n* got rid of some useless console logs #26\n\n* Enhance landing page with new components and styles; integrate ShaderBackground, Header, HeroContent, and PulsingCircle; update global styles for a sleek design; add framer-motion and @paper-design/shaders-react dependencies.\n\n* Enhance FloatingAssistant component with new settings for highlight mode; update GitHubAuth and PythonPlayground components for improved UI; add postbuild script to package.json for pagefind integration; refine styles across various components for a cohesive design.\n\n* Update next.config.mjs with licensing information and performance optimizations; remove unused search input from Header component; add About section to metadata and create about.mdx file for documentation.\n\n* Remove About section from metadata in _meta.ts\n\n* Integrate Pagefind search functionality; update package dependencies to version 1.4.0; enhance global styles for search components; refactor SearchBar to utilize PagefindSearch component; improve documentation chapter titles for clarity.\n\n* Implement AI search functionality with new API endpoint; enhance Pagefind search component to support agent mode; add document indexing capabilities; update package dependencies; refactor search results display with highlighting; improve user experience with keyboard shortcuts and mode toggling.\n\n* changed file reterival from different folders now, and different sections #26\n\n* Update installation.mdx\n\n* Revise installation guide and prerequisites section\n\nUpdated installation instructions and removed unnecessary notes.\n\n* updated the doucment retrival system #26\n\n* feat:improved outliners \u0026 dropdowns and prevent tab-traps\n\n* Update index.mdx\n\n* Updated resvault page\n\n* fixed the issues and now the chat works with the pdfs #26\n\n* fixed the PR comments #26\n\n* fixed the lint issues #26\n\n* Refactor document handling in ResearchChatPageContent and add document update functionality in NexusAgent. Updated the way document counts are retrieved and logged agent research prompts. Implemented a new method to add document updates to memory with structured logging for better traceability.\n\n* Add web search preference to chat request handling and update agent prompt logic. Enhanced ResearchChatPageContent to manage web search toggle and integrated contextual query building in agent response handling. Updated AGENT_RESEARCH_PROMPT to reflect new behavior for document and web search prioritization.\n\n* blog update\n\n* Remove incorrect Beacon import\n\n* Remove AI-Tooling folder to reset Beacon import\n\n* Cleanup before correct Beacon import\n\n* Squashed \u0027ecosystem/AI-Tooling/beacon/\u0027 content from commit 1f54f35\n\ngit-subtree-dir: ecosystem/AI-Tooling/beacon\ngit-subtree-split: 1f54f3566f38b56f64cc218886062c6dac2457d7\n\n* Squashed \u0027ecosystem/AI-Tooling/nexus/\u0027 content from commit 9148a40\n\ngit-subtree-dir: ecosystem/AI-Tooling/nexus\ngit-subtree-split: 9148a407d227def07651adf99bd79025f024637d\n\n* Cleanup Nexus folder before subtree import\n\n---------\n\nCo-authored-by: Gopal Nambiar \u003cgopalnambiar2@gmail.com\u003e\nCo-authored-by: gopuman \u003cgopuman@node0.gopuman-214913.resilientdb-pg0.utah.cloudlab.us\u003e\nCo-authored-by: Apratim Shukla \u003capratimshukla6@gmail.com\u003e\nCo-authored-by: aibrahim \u003cabdel.ibrahim@fticonsulting.com\u003e\nCo-authored-by: Abdel Ibrahim \u003cabdelibrahim945@gmail.com\u003e\nCo-authored-by: harish876 \u003charishgokul01@gmail.com\u003e\nCo-authored-by: Ubuntu \u003cickchenjunchao@gmail.com\u003e\nCo-authored-by: abdeliibrahim \u003c82984643+abdeliibrahim@users.noreply.github.com\u003e\nCo-authored-by: PNejr10 \u003cpaiman.nejrabi2000@gmail.com\u003e\nCo-authored-by: winter4 \u003ckrishna379nand@gmail.com\u003e\nCo-authored-by: Nabeel Hussain M N \u003c68153692+nabeel001@users.noreply.github.com\u003e\nCo-authored-by: Abdel \u003cabdel@Abdels-MacBook-Pro.local\u003e"
    },
    {
      "commit": "ee8bf2501fa09e81b0abfd837393ba326a16c041",
      "tree": "6a4e6ac46cd74b21cc6c1e02cadaa2b564552869",
      "parents": [
        "a7dc9536f364e49d1e9702215075cafbdb2ef44a"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Fri Nov 21 17:05:10 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 21 17:05:10 2025 -0800"
      },
      "message": "Remove license comments from README.md\n\nRemoved license comment block from README.md"
    },
    {
      "commit": "a7dc9536f364e49d1e9702215075cafbdb2ef44a",
      "tree": "4ec02d94f20e53d3b9f59229165a0648a0a357d5",
      "parents": [
        "335c7622f4df0b224392e6975df6b4636c44a6a0"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Mon Nov 17 15:35:38 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 17 15:35:38 2025 -0800"
      },
      "message": "Change license notice to HTML comment format\n\nUpdated license notice format in README.md"
    },
    {
      "commit": "335c7622f4df0b224392e6975df6b4636c44a6a0",
      "tree": "f5e529f17baf02ea3b2423d565cb1462dd0f6264",
      "parents": [
        "78484f3104e3571f57fcc7d2a305a72293234855"
      ],
      "author": {
        "name": "Henry Chou",
        "email": "51252433+bchou9@users.noreply.github.com",
        "time": "Sun Nov 16 18:41:42 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 17 10:41:42 2025 +0800"
      },
      "message": "Add drawing-lib tool to README (#198)\n\nAdded drawing-lib tool to the tools section in README."
    },
    {
      "commit": "78484f3104e3571f57fcc7d2a305a72293234855",
      "tree": "2896572c4b21dde2f6cfd285480e31f6adf743b6",
      "parents": [
        "c3acc53c9c250e7346b7b7e8d68370fc917b72c6"
      ],
      "author": {
        "name": "Henry Chou",
        "email": "51252433+bchou9@users.noreply.github.com",
        "time": "Fri Nov 14 17:42:05 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 15 09:42:05 2025 +0800"
      },
      "message": "Add drawing toolkit to ecosystem/tools (#195)\n\n* Add drawing toolkit\n\n* Toolkit folder\n\n* Generalized toolkit\n\n* Fix license issues: remove subfolder LICENSE and add headers to all files\n\n* Add license headers to remaining files"
    },
    {
      "commit": "c3acc53c9c250e7346b7b7e8d68370fc917b72c6",
      "tree": "de01cdadd9e7b52829c2e4c5e559765f83254885",
      "parents": [
        "e18d57620ccc167559b25c4c8e3dd20ce25abeb0"
      ],
      "author": {
        "name": "hammerface",
        "email": "hammerface@users.noreply.github.com",
        "time": "Tue Nov 04 18:35:20 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 10:35:20 2025 +0800"
      },
      "message": "Issue 193: removed \u0026 from deploy_local.sh line 115 to fix race condition. (#194)\n\n"
    },
    {
      "commit": "e18d57620ccc167559b25c4c8e3dd20ce25abeb0",
      "tree": "40e8ff70386cf77b1b95b1d83073f94fb4663c1a",
      "parents": [
        "27d800db948975177538c1ad8f46776f9619269f"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Nov 03 12:07:03 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 12:07:03 2025 +0800"
      },
      "message": "Update kv_server.conf"
    },
    {
      "commit": "27d800db948975177538c1ad8f46776f9619269f",
      "tree": "e7609691dff0b54d0fbbc33c8be89155fe3af210",
      "parents": [
        "a600a428d1901a784b8d0213c9ed93f9c1729688"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Nov 03 12:06:50 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 12:06:50 2025 +0800"
      },
      "message": "Update template.config"
    },
    {
      "commit": "a600a428d1901a784b8d0213c9ed93f9c1729688",
      "tree": "e9e892bca3992be0bfb851fcc9bb45171616a8fe",
      "parents": [
        "7c05d339d5bbf096b43bb86987e5148c1c1165a0"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Nov 03 12:06:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 12:06:40 2025 +0800"
      },
      "message": "Update poe.config"
    },
    {
      "commit": "7c05d339d5bbf096b43bb86987e5148c1c1165a0",
      "tree": "e11614a821ed6f3770086b3a899b8d30ba3a4aea",
      "parents": [
        "cea40e532825e9770767d106c89f0694e8fc4696"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Nov 03 12:06:27 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 12:06:27 2025 +0800"
      },
      "message": "Update pbft.config"
    },
    {
      "commit": "cea40e532825e9770767d106c89f0694e8fc4696",
      "tree": "563086a76838ba05f18eab8a7eed2e37533bdfaa",
      "parents": [
        "b06283e6ebaef65f1cdb3b88dc6ad9f75b9bc78b"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Nov 03 12:05:26 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 12:05:26 2025 +0800"
      },
      "message": "Update kv_performance_server_local.conf"
    },
    {
      "commit": "b06283e6ebaef65f1cdb3b88dc6ad9f75b9bc78b",
      "tree": "a34457fb8a0c3f01d48f3036def0d207fc868345",
      "parents": [
        "0577383aa61220de50ad152acd417be13c78e397"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Nov 03 12:05:12 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 12:05:12 2025 +0800"
      },
      "message": "Update kv_performance_server.conf"
    },
    {
      "commit": "0577383aa61220de50ad152acd417be13c78e397",
      "tree": "00067474d66f4d81516276db5fcf7504892a853d",
      "parents": [
        "9767f53b81fca02e84d69fb56095a66034344cb4"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Nov 03 12:04:57 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 12:04:57 2025 +0800"
      },
      "message": "Update key_example.conf"
    },
    {
      "commit": "9767f53b81fca02e84d69fb56095a66034344cb4",
      "tree": "530c873e5efd55dada5acb3f1c1d7870a78b7188",
      "parents": [
        "c9eb323b8afe20c5f00db55753e6d27ba50b5ae9"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Oct 21 06:25:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 21 06:25:40 2025 +0800"
      },
      "message": "Update README.md"
    },
    {
      "commit": "c9eb323b8afe20c5f00db55753e6d27ba50b5ae9",
      "tree": "dfced56cf041eef00a28878cd2556ab1d4b8cf8a",
      "parents": [
        "3d0246fcf1d0bd0a9ab41bad56c8a5b76724b389"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Tue Oct 14 07:10:12 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 14 07:10:12 2025 +0800"
      },
      "message": "Update WORKSPACE"
    },
    {
      "commit": "3d0246fcf1d0bd0a9ab41bad56c8a5b76724b389",
      "tree": "05730f837eda64d55fe38221ca4b4e245801fad5",
      "parents": [
        "294003f1de6537b7a3c602d071035575ed5e3334"
      ],
      "author": {
        "name": "Bismanpal-Singh",
        "email": "83641114+Bismanpal-Singh@users.noreply.github.com",
        "time": "Thu Sep 18 00:39:03 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 18 15:39:03 2025 +0800"
      },
      "message": "Smart contract bug fixes (#186)\n\n"
    },
    {
      "commit": "294003f1de6537b7a3c602d071035575ed5e3334",
      "tree": "57d1979b021b89d1c427f994c665ed4896b28de2",
      "parents": [
        "035b2aa2a9a47f0836e8dc492933aa569a6c7234"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Sat Sep 13 05:11:12 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 13 05:11:12 2025 +0800"
      },
      "message": "Update .licenserc.yaml"
    },
    {
      "commit": "035b2aa2a9a47f0836e8dc492933aa569a6c7234",
      "tree": "48648ab75f6541b6f67d967f48f9bbf718b6247c",
      "parents": [
        "377e7e648a90f1bd1d15d208b89931d8e16ddeb1"
      ],
      "author": {
        "name": "cjcchen",
        "email": "ickchenjunchao@gmail.com",
        "time": "Sat Sep 13 05:02:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 13 05:02:53 2025 +0800"
      },
      "message": "Update .licenserc.yaml"
    },
    {
      "commit": "377e7e648a90f1bd1d15d208b89931d8e16ddeb1",
      "tree": "59be9a5e78a30ce760c7b0f6d453ff8c15fea57c",
      "parents": [
        "19346d28320958a003ec655f36cdf6c874c74cd6"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Tue Sep 09 19:50:48 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 10 10:50:48 2025 +0800"
      },
      "message": "Monorepo setup (#185)\n\n* Pushed build\n\n* Delete dist directory\n\n* Update API base URL configuration and add BASE_URL constant\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Update pyproject.toml\n\n* Update entrypoint.sh\n\n* Added Apache release files\n\n* Update README.md\n\n* Fixed license\n\n* Added Apache release files\n\n* Added more license\n\n* More files updated with license\n\n* Added Apache release files\n\n* Update Cargo.toml\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Middleware Repository restructure to sidecar repository for monitoring using docker compose\n\n* Add Pyroscope integration and restructure middleware routes\n\n- Introduced Pyroscope service with Docker support.\n- Added process exporter configuration and Dockerfile.\n- Updated middleware routes to reference new controller paths.\n- Created necessary .dockerignore and .gitignore entries.\n- Added connect_pyroscope.js for connecting to Pyroscope.\n- Updated docker-compose.yml to include new services.\n\n* Update README.md to include host changes for Prometheus configuration\n\n* Added Apache release files\n\n* Added missing files\n\n* Add license headers and NOTICE file for Apache ResilientDB\n\n* Update license configuration and add license headers to Dockerfile\n\n* Add GitHub Action for generating lines of code badge\n\n* Refactor Explorer and BlockchainTable components for improved data handling and pagination\n\n* Add license headers and NOTICE file for Apache ResilientDB\n\n* Re-branded to ResLens!\n\n* Add block data encoding and decoding functionality with new utility methods\n\n* Add encoding utility functions for delta-encoded time series data\n\n* Add license headers to encoding and time utility files\n\n* Added License configuration files\n\n* Fixed license integration\n\n* Fixing License errors\n\n* Add SQLite caching for block data retrieval and update dependencies\n\n* Increase batch size for transaction syncing and add delay to prevent overwhelming the database\n\n* Update grid layout in Explorer component for better responsiveness\n\n* Remove Apache License comments from index.html\n\n* Fixing License errors\n\n* Rebranded to ResLens \u003c3\n\n* Fixed logo and license issue\n\n* Fixed logo and license issue\n\n* ResLens logo added\n\n* Update block data retrieval to use specific range in URL and change order to ascending\n\n* Add pagination support to Explorer and BlockchainTable components\n\n* Update callback type in BlockchainTable component to accept state parameter\n\n* Update README.md\n\n* Update README.md\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Apache release modification\n\n* Delete Logs.jsx\n\n* Update .asf.yaml\n\n* Fixed assets\n\n* Update README.md\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Added new route for all data graph\n\n* Added new route for all data for graph\n\n* Added new route for all data for graph\n\n* Fixing all block API\n\n* Update README.md\n\n* Trying out decoupling cache\n\n* Fixed errors\n\n* Finalized endpoints for Transaction data\n\n* Added initial files\n\n* Update README.md\n\n* Updated for Apache release\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .licenserc.yaml\n\n* Fixing explorer graph\n\n* Bug fixes\n\n* Fixed potential deployment issues\n\n* Updated dependencies\n\n* Last attempt\n\n* Cartesian issue\n\n* Redploying\n\n* Removed grid\n\n* Removed grid\n\n* Cleaned everything\n\n* Added fallback for the bug\n\n* Attempting fallback\n\n* Final fix\n\n* Add Google Generative AI integration and new endpoints for profiling analysis\n\n* Add Go installation to Dockerfile for pprof tool\n\n* Imporved visuals\n\n* add support to arm64\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update Cargo.toml\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* Update NOTICE\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* update licenserc\n\n* update license\n\n* update header\n\n* add bazelrc\n\n* update license\n\n* fix header\n\n* update license\n\n* update header\n\n* update header\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update\n\n* update\n\n* update license\n\n* update license\n\n* update license\n\n* update header\n\n* update license\n\n* update header\n\n* update header\n\n* update header\n\n* update header\n\n* update header\n\n* update\n\n* Add initial files for GraphQL service including configuration, Docker setup, application code, and documentation.\n\n* Add ecosystem directory structure\n\n* Rename devops to deployment\n\n* Added Github Repositories slated for release as subtrees\n\n* Update README.md\n\n* Update README.md\n\n* resolving build issues for the bazel ci\n\n* Update Bazel build command to include specific directories for improved build process\n\n* Fix Bazel build command formatting in CI workflow\n\n* using deleted_packages command option\n\n* Fix Bazel build command argument order in CI workflow\n\n* updating workflow files, adding ASF headers to missing files, testing workflows\n\n* checking ASF headers workflow\n\n* Add ecosystem-specific exclusions to .licenserc.yaml\n\n* Remove unused loc_script files and update .licenserc.yaml for ecosystem exclusions\n\n* Update README.md to reflect the correct GitHub repository URL for cloning ResilientDB\n\n* updating readme file with project directory structure\n\n* Refactor Bazel build commands in CI workflows to use a simplified syntax and add rapidjson library dependency in third_party/BUILD\n\n* Add \u0027manual\u0027 tags to various Bazel build targets in the http_server and kv_service directories\n\n* Remove rapidjson library dependency from third_party/BUILD\n\n* Using --deleted_packages option\n\n* Update Bazel build command in CI workflow to simplify deleted packages specification\n\n* Add .bazelignore file to exclude ecosystem directory from Bazel builds\n\n* Refactor Bazel build command in CI workflow to remove deleted packages specification\n\n* Remove NOTICE files and related configurations from multiple directories in the ecosystem/sdk/resilient-rust-sdk and other components, cleaning up unused files and ensuring a more streamlined project structure.\n\n* - Removed License related files from `ecosystem` sub projects relying only on the top level files.\n\n- Commented out apache headers from markdown files in the parent repository\n\n---------\n\nCo-authored-by: Bismanpal Singh \u003cbisman.singh24@gmail.com\u003e\nCo-authored-by: Bismanpal-Singh \u003c83641114+Bismanpal-Singh@users.noreply.github.com\u003e\nCo-authored-by: Apratim Shukla \u003capratimshukla6@gmail.com\u003e\nCo-authored-by: Rajaram Joshi \u003crajaram8799@gmail.com\u003e\nCo-authored-by: Ubuntu \u003cickchenjunchao@gmail.com\u003e\nCo-authored-by: Mohammad Sadoghi \u003cmsadoghi@ucdavis.edu\u003e"
    },
    {
      "commit": "19346d28320958a003ec655f36cdf6c874c74cd6",
      "tree": "61fa70e59d7972a477f1d5f6f4730d6912ea6dc8",
      "parents": [
        "362807fec8e9f9fd41e8dd25f2b1e21f069eb08d"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Fri Aug 29 03:09:31 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 29 18:09:31 2025 +0800"
      },
      "message": "Monorepo setup - Correction for Workflow files (#183)\n\n* build: include string header in lru_cache implementation\n\n* Fixed resview integration\n\n* Pushed build\n\n* Delete dist directory\n\n* Update API base URL configuration and add BASE_URL constant\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Update pyproject.toml\n\n* Update entrypoint.sh\n\n* Added Apache release files\n\n* Update README.md\n\n* Fixed license\n\n* Added Apache release files\n\n* Added more license\n\n* More files updated with license\n\n* Added Apache release files\n\n* Update Cargo.toml\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Middleware Repository restructure to sidecar repository for monitoring using docker compose\n\n* Add Pyroscope integration and restructure middleware routes\n\n- Introduced Pyroscope service with Docker support.\n- Added process exporter configuration and Dockerfile.\n- Updated middleware routes to reference new controller paths.\n- Created necessary .dockerignore and .gitignore entries.\n- Added connect_pyroscope.js for connecting to Pyroscope.\n- Updated docker-compose.yml to include new services.\n\n* Update README.md to include host changes for Prometheus configuration\n\n* Added Apache release files\n\n* Added missing files\n\n* Add license headers and NOTICE file for Apache ResilientDB\n\n* Update license configuration and add license headers to Dockerfile\n\n* Add GitHub Action for generating lines of code badge\n\n* Refactor Explorer and BlockchainTable components for improved data handling and pagination\n\n* Add license headers and NOTICE file for Apache ResilientDB\n\n* Re-branded to ResLens!\n\n* Add block data encoding and decoding functionality with new utility methods\n\n* Add encoding utility functions for delta-encoded time series data\n\n* Add license headers to encoding and time utility files\n\n* Added License configuration files\n\n* Fixed license integration\n\n* Fixing License errors\n\n* Add SQLite caching for block data retrieval and update dependencies\n\n* Increase batch size for transaction syncing and add delay to prevent overwhelming the database\n\n* Update grid layout in Explorer component for better responsiveness\n\n* Remove Apache License comments from index.html\n\n* Fixing License errors\n\n* Rebranded to ResLens \u003c3\n\n* Fixed logo and license issue\n\n* Fixed logo and license issue\n\n* ResLens logo added\n\n* Update block data retrieval to use specific range in URL and change order to ascending\n\n* Add pagination support to Explorer and BlockchainTable components\n\n* Update callback type in BlockchainTable component to accept state parameter\n\n* Update README.md\n\n* Update README.md\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Apache release modification\n\n* Delete Logs.jsx\n\n* Update .asf.yaml\n\n* Fixed assets\n\n* Update README.md\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Added new route for all data graph\n\n* Added new route for all data for graph\n\n* Added new route for all data for graph\n\n* Fixing all block API\n\n* Update README.md\n\n* Trying out decoupling cache\n\n* Fixed errors\n\n* Finalized endpoints for Transaction data\n\n* Added initial files\n\n* Update README.md\n\n* Updated for Apache release\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .licenserc.yaml\n\n* Fixing explorer graph\n\n* Bug fixes\n\n* Fixed potential deployment issues\n\n* Updated dependencies\n\n* Last attempt\n\n* Cartesian issue\n\n* Redploying\n\n* Removed grid\n\n* Removed grid\n\n* Cleaned everything\n\n* Added fallback for the bug\n\n* Attempting fallback\n\n* Final fix\n\n* Add Google Generative AI integration and new endpoints for profiling analysis\n\n* Add Go installation to Dockerfile for pprof tool\n\n* Imporved visuals\n\n* add support to arm64\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update Cargo.toml\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* Update NOTICE\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* update licenserc\n\n* update license\n\n* update header\n\n* add bazelrc\n\n* update license\n\n* fix header\n\n* update license\n\n* update header\n\n* update header\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update\n\n* update\n\n* update license\n\n* update license\n\n* update license\n\n* update header\n\n* update license\n\n* update header\n\n* update header\n\n* update header\n\n* update header\n\n* update header\n\n* update\n\n* Add initial files for GraphQL service including configuration, Docker setup, application code, and documentation.\n\n* Add ecosystem directory structure\n\n* Rename devops to deployment\n\n* Added Github Repositories slated for release as subtrees\n\n* Update README.md\n\n* Update README.md\n\n* resolving build issues for the bazel ci\n\n* Update Bazel build command to include specific directories for improved build process\n\n* Fix Bazel build command formatting in CI workflow\n\n* using deleted_packages command option\n\n* Fix Bazel build command argument order in CI workflow\n\n* updating workflow files, adding ASF headers to missing files, testing workflows\n\n* checking ASF headers workflow\n\n* Add ecosystem-specific exclusions to .licenserc.yaml\n\n* Remove unused loc_script files and update .licenserc.yaml for ecosystem exclusions\n\n* Update README.md to reflect the correct GitHub repository URL for cloning ResilientDB\n\n* updating readme file with project directory structure\n\n* Refactor Bazel build commands in CI workflows to use a simplified syntax and add rapidjson library dependency in third_party/BUILD\n\n* Add \u0027manual\u0027 tags to various Bazel build targets in the http_server and kv_service directories\n\n* Remove rapidjson library dependency from third_party/BUILD\n\n* Using --deleted_packages option\n\n* Update Bazel build command in CI workflow to simplify deleted packages specification\n\n* Add .bazelignore file to exclude ecosystem directory from Bazel builds\n\n* Refactor Bazel build command in CI workflow to remove deleted packages specification\n\n* Remove NOTICE files and related configurations from multiple directories in the ecosystem/sdk/resilient-rust-sdk and other components, cleaning up unused files and ensuring a more streamlined project structure.\n\n---------\n\nCo-authored-by: Bismanpal Singh \u003cbisman.singh24@gmail.com\u003e\nCo-authored-by: Bismanpal-Singh \u003c83641114+Bismanpal-Singh@users.noreply.github.com\u003e\nCo-authored-by: Apratim Shukla \u003capratimshukla6@gmail.com\u003e\nCo-authored-by: Rajaram Joshi \u003crajaram8799@gmail.com\u003e\nCo-authored-by: Ubuntu \u003cickchenjunchao@gmail.com\u003e\nCo-authored-by: Mohammad Sadoghi \u003cmsadoghi@ucdavis.edu\u003e"
    },
    {
      "commit": "362807fec8e9f9fd41e8dd25f2b1e21f069eb08d",
      "tree": "bb6af6f7cacb1efa3441b19e1fc215f55a983d56",
      "parents": [
        "8a58f0eef0a178fd0b33c3de5c096ec5cd76cf07"
      ],
      "author": {
        "name": "Harish",
        "email": "harishgokul01@gmail.com",
        "time": "Fri Aug 15 14:18:42 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 16 05:18:42 2025 +0800"
      },
      "message": "Monorepo setup (#182)\n\n* Update BUILD\n\n* Update BUILD\n\n* Update BUILD\n\n* Update kv_server.proto\n\n* Update BUILD\n\n* Update endpoint_test.py\n\n* Update print_sample.py\n\n* Update requirements.txt\n\n* Update __init__.py\n\n* Update lib.py\n\n* Update start_kv_service_sdk.sh\n\n* Update test_driver.py\n\n* Update test_driver_2.py\n\n* Update test_sdk.py\n\n* Update test_update_metadata.py\n\n* Update BUILD\n\n* Update asio.BUILD\n\n* Update crow.BUILD\n\n* Update rapidjson.BUILD\n\n* Update wsgi.py\n\n* Update app.py\n\n* Update app.py\n\n* Update background.js\n\n* Update iframe source and add .history to .gitignore\n\n* Fixed resview integration\n\n* Pushed build\n\n* Delete dist directory\n\n* Update API base URL configuration and add BASE_URL constant\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Update pyproject.toml\n\n* Update entrypoint.sh\n\n* Added Apache release files\n\n* Update README.md\n\n* Fixed license\n\n* Added Apache release files\n\n* Added more license\n\n* More files updated with license\n\n* Added Apache release files\n\n* Update Cargo.toml\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Added Apache release files\n\n* Middleware Repository restructure to sidecar repository for monitoring using docker compose\n\n* Add Pyroscope integration and restructure middleware routes\n\n- Introduced Pyroscope service with Docker support.\n- Added process exporter configuration and Dockerfile.\n- Updated middleware routes to reference new controller paths.\n- Created necessary .dockerignore and .gitignore entries.\n- Added connect_pyroscope.js for connecting to Pyroscope.\n- Updated docker-compose.yml to include new services.\n\n* Update README.md to include host changes for Prometheus configuration\n\n* Added Apache release files\n\n* Added missing files\n\n* Add license headers and NOTICE file for Apache ResilientDB\n\n* Update license configuration and add license headers to Dockerfile\n\n* Add GitHub Action for generating lines of code badge\n\n* Refactor Explorer and BlockchainTable components for improved data handling and pagination\n\n* Add license headers and NOTICE file for Apache ResilientDB\n\n* Re-branded to ResLens!\n\n* Add block data encoding and decoding functionality with new utility methods\n\n* Add encoding utility functions for delta-encoded time series data\n\n* Add license headers to encoding and time utility files\n\n* Added License configuration files\n\n* Fixed license integration\n\n* Fixing License errors\n\n* Add SQLite caching for block data retrieval and update dependencies\n\n* Increase batch size for transaction syncing and add delay to prevent overwhelming the database\n\n* Update grid layout in Explorer component for better responsiveness\n\n* Remove Apache License comments from index.html\n\n* Fixing License errors\n\n* Rebranded to ResLens \u003c3\n\n* Fixed logo and license issue\n\n* Fixed logo and license issue\n\n* ResLens logo added\n\n* Update block data retrieval to use specific range in URL and change order to ascending\n\n* Add pagination support to Explorer and BlockchainTable components\n\n* Update callback type in BlockchainTable component to accept state parameter\n\n* Update README.md\n\n* Update README.md\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Apache release modification\n\n* Delete Logs.jsx\n\n* Update .asf.yaml\n\n* Fixed assets\n\n* Update README.md\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Added new route for all data graph\n\n* Added new route for all data for graph\n\n* Added new route for all data for graph\n\n* Fixing all block API\n\n* Update README.md\n\n* Trying out decoupling cache\n\n* Fixed errors\n\n* Finalized endpoints for Transaction data\n\n* Added initial files\n\n* Update README.md\n\n* Updated for Apache release\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .rat-excludes\n\n* Update .licenserc.yaml\n\n* Fixing explorer graph\n\n* Bug fixes\n\n* Fixed potential deployment issues\n\n* Updated dependencies\n\n* Last attempt\n\n* Cartesian issue\n\n* Redploying\n\n* Removed grid\n\n* Removed grid\n\n* Cleaned everything\n\n* Added fallback for the bug\n\n* Attempting fallback\n\n* Final fix\n\n* Add Google Generative AI integration and new endpoints for profiling analysis\n\n* Add Go installation to Dockerfile for pprof tool\n\n* Imporved visuals\n\n* add support to arm64\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* update notice\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update Cargo.toml\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* update note\n\n* Update NOTICE\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* Update .asf.yaml\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* mv DISCLAIMER-WIP DISCLAIMER\n\n* update licenserc\n\n* update license\n\n* update header\n\n* add bazelrc\n\n* update license\n\n* fix header\n\n* update license\n\n* update header\n\n* update header\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update license\n\n* update\n\n* update\n\n* update license\n\n* update license\n\n* update license\n\n* update header\n\n* update license\n\n* update header\n\n* update header\n\n* update header\n\n* update header\n\n* update header\n\n* update\n\n* Add initial files for GraphQL service including configuration, Docker setup, application code, and documentation.\n\n* Add ecosystem directory structure\n\n* Rename devops to deployment\n\n* Added Github Repositories slated for release as subtrees\n\n* Update README.md\n\n* Update README.md\n\n---------\n\nCo-authored-by: Apratim Shukla \u003capratimshukla6@gmail.com\u003e\nCo-authored-by: Bismanpal Singh \u003cbisman.singh24@gmail.com\u003e\nCo-authored-by: Bismanpal-Singh \u003c83641114+Bismanpal-Singh@users.noreply.github.com\u003e\nCo-authored-by: Rajaram Joshi \u003crajaram8799@gmail.com\u003e\nCo-authored-by: Ubuntu \u003cickchenjunchao@gmail.com\u003e\nCo-authored-by: Mohammad Sadoghi \u003cmsadoghi@ucdavis.edu\u003e"
    },
    {
      "commit": "8a58f0eef0a178fd0b33c3de5c096ec5cd76cf07",
      "tree": "8983f97defd79d9f6b42dde2cc3a81ad37a237b8",
      "parents": [
        "2693960521e955b9425a2908a22eaae14116fedd"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jul 14 15:54:18 2025 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jul 14 15:54:18 2025 +0000"
      },
      "message": "update license\n"
    },
    {
      "commit": "2693960521e955b9425a2908a22eaae14116fedd",
      "tree": "fd53c806d8bab624437e308123199bf738fe3779",
      "parents": [
        "84a11e99583b9c76da615b3d7951e502cbb4bd94"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jul 14 15:26:33 2025 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jul 14 15:26:33 2025 +0000"
      },
      "message": "fix header\n"
    },
    {
      "commit": "84a11e99583b9c76da615b3d7951e502cbb4bd94",
      "tree": "f137c57eeee1bbf16551fe3137ce8953549ef5d4",
      "parents": [
        "3f395d9502438ecf55eb60b00456f75dfd9b34a2"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jul 14 15:08:16 2025 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jul 14 15:08:16 2025 +0000"
      },
      "message": "fix header\n"
    },
    {
      "commit": "3f395d9502438ecf55eb60b00456f75dfd9b34a2",
      "tree": "d7fa70872a0f28ea3116307ad079500fdaacbb36",
      "parents": [
        "8daa38c5a65e4da23e1acb67ed795df9f8dcf6a5"
      ],
      "author": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jul 14 14:54:36 2025 +0000"
      },
      "committer": {
        "name": "Ubuntu",
        "email": "ickchenjunchao@gmail.com",
        "time": "Mon Jul 14 14:54:36 2025 +0000"
      },
      "message": "add header\n"
    }
  ],
  "next": "8daa38c5a65e4da23e1acb67ed795df9f8dcf6a5"
}
