MCPcopy
hub / github.com/deepstreamIO/deepstream.io

github.com/deepstreamIO/deepstream.io @v10.1.4 sqlite

repository ↗ · DeepWiki ↗ · release v10.1.4 ↗
1,292 symbols 3,324 edges 199 files 369 documented · 29%
README

deepstream - the open realtime server deepstream

deepstream is an open source server inspired by concepts behind financial trading technology. It allows clients and backend services to sync data, send messages and make rpcs at very high speed and scale.

npm versionDocker Stars

deepstream has three core concepts for enabling realtime application development

records are schema-less, persistent documents that can be manipulated and observed. Any change is synchronized with all connected clients and backend processes in milliseconds. Records can reference each other and be arranged in lists to allow modelling of relational data

events allow for high performance, many-to-many messaging. deepstream provides topic based routing from sender to subscriber, data serialisation and subscription listening.

remote procedure calls allow for secure and highly available request response communication. deepstream handles load-balancing, failover, data-transport and message routing.

deepstream offers a combination of different authentication mechanisms with a powerful permission-language called Valve that allows you to specify which user can perform which action with which data.

Getting Started:

  1. Tutorials - What is deepstream
  2. Installing deepstream
  3. Quickstart
  4. Documentation

Community Links

  1. Stack Overflow
  2. Github Discussions

Contributing

deepstream development is a great way to get into building performant Node.js applications, and contributions are always welcome with lots of ❤. Contributing to deepstream is as simple as having Node.js (10+) and TypeScript (3+) installed, cloning the repo and making some changes.

~ » git clone git@github.com:deepstreamIO/deepstream.io.git
~ » cd deepstream.io
~/deepstream.io » git submodule update --init
~/deepstream.io » npm i
~/deepstream.io » npm start
      _                     _
   __| | ___  ___ _ __  ___| |_ _ __ ___  __ _ _ __ ____
  / _` |/ _ \/ _ \ '_ \/ __| __| '__/ _ \/ _` | '_ ` _  \
 | (_| |  __/  __/ |_) \__ \ |_| | |  __/ (_| | | | | | |
  \__,_|\___|\___| .__/|___/\__|_|  \___|\__,_|_| |_| |_|
                 |_|
 =====================   starting   =====================

From here you can make your changes, and check the unit tests pass:

~/deepstream.io » npm t

If your changes are substantial you can also run our extensive end-to-end testing framework:

~/deepstream.io » npm run e2e

For power users who want to make sure the binary works, you can run sh scripts/package.sh true. You'll need to download the usual node-gyp build environment for this to work and we only support the latest LTS version to compile. This step is usually not needed though unless your modifying resource files or changing dependencies.

Extension points exported contracts — how you extend this code

us_listen_socket (Interface)
(no doc)
types/uws.d.ts
Log (Interface)
(no doc)
test-e2e/tools/e2e-logger.ts
E2EClient (Interface)
(no doc)
test-e2e/framework/client-handler.ts
E2EClient (Interface)
(no doc)
test-e2e/framework-v3/client-handler.ts
HTTPEvents (Interface)
(no doc)
src/connection-endpoint/http/connection-endpoint.ts
DeepstreamIOTelemetryOptions (Interface)
(no doc)
src/services/telemetry/deepstreamio-telemetry.ts
Step (Interface)
(no doc)
src/handlers/record/record-transition.ts
ListenInProgress (Interface)
(no doc)
src/listen/listener-registry.ts

Core symbols most depended-on inside this repo

forEach
called by 224
types/uws.d.ts
get
called by 125
types/uws.d.ts
set
called by 51
src/test/mock/storage-mock.ts
validate
called by 50
src/services/authentication/http/http-authentication.ts
sendMessage
called by 48
src/handlers/rpc/rpc-proxy.ts
testPermission
called by 46
src/test/helper/test-helper.ts
subscribe
called by 40
types/uws.d.ts
parseData
called by 37
src/test/mock/socket-wrapper-factory-mock.ts

Shape

Method 699
Function 393
Class 162
Interface 36
Enum 2

Languages

TypeScript100%

Modules by API surface

types/uws.d.ts71 symbols
test-e2e/framework/record.ts47 symbols
test-e2e/framework-v3/record.ts47 symbols
src/listen/listener-registry.ts35 symbols
src/handlers/record/record-handler.ts30 symbols
src/deepstream.io.ts29 symbols
src/listen/listener-test-utils.ts27 symbols
src/connection-endpoint/base/connection-endpoint.ts27 symbols
src/services/cluster-state/distributed-state-registry.ts25 symbols
src/services/subscription-registry/default-subscription-registry.ts24 symbols
src/connection-endpoint/http/connection-endpoint.ts23 symbols
src/services/http/node/node-http.ts21 symbols

Dependencies from manifests, versioned

@deepstream/client7.0.5 · 1×
@deepstream/protobuf1.1.0 · 1×
@deepstream/types2.3.3 · 1×
@types/body-parser1.19.3 · 1×
@types/content-type1.1.6 · 1×
@types/cucumber6.0.1 · 1×
@types/express4.17.6 · 1×
@types/js-yaml4.0.7 · 1×
@types/mkdirp1.0.1 · 1×
@types/mocha10.0.10 · 1×
@types/needle3.2.1 · 1×
@types/node22.19.17 · 1×

For agents

$ claude mcp add deepstream.io \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact