Session Messenger messages schemas, TypeScript definitions and enums used by @session.js/client https://www.npmjs.com/package/@session.js/types
Find a file
2026-01-29 12:54:21 +01:00
.vscode Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:26:36 +01:00
src Add messages schema 2026-01-29 12:44:37 +01:00
.gitignore Initial commit 2024-07-16 21:04:48 +04:00
.prettierignore Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:26:36 +01:00
.prettierrc Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:26:36 +01:00
bun.lock Add messages schema 2026-01-29 12:44:37 +01:00
eslint.config.js Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:26:36 +01:00
LICENSE Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:26:36 +01:00
package.json Bump version 2026-01-29 12:54:21 +01:00
README.md Add messages schema 2026-01-29 12:44:37 +01:00
tsconfig.build.json Fix repository pointer in package.json, remove paths from tsconfig.json 2026-01-28 14:48:53 +01:00
tsconfig.json Fix repository pointer in package.json, remove paths from tsconfig.json 2026-01-28 14:48:53 +01:00

@session.js/types

Session Messenger messages schemas, TypeScript definitions and enums used by @session.js/client

To build your own Storage adapter, use:

import type { Storage } from '@session.js/types'

export class MyInMemoryStorage implements Storage {
	storage: Map<string, string> = new Map()

	get(key: string) {
		return this.storage.get(key) ?? null
	}

	set(key: string, value: string) {
		this.storage.set(key, value)
	}

	delete(key: string) {
		this.storage.delete(key)
	}

	has(key: string) {
		return this.storage.has(key)
	}
}

To build your own Network connecter, use:

import type { Network } from '@session.js/types'
import { 
	RequestType, 
	type RequestGetSwarmsBody, 
	type RequestPollBody, 
	type RequestStoreBody, 
	type RequestUploadAttachment 
} from '@session.js/types/network/request'

export class MyNetwork implements Network {
	onRequest(type: RequestType, body: object): Promise<object> {
		switch(type) {
			case RequestType.Store:
				return // typeof ResponseStore

			case RequestType.GetSnodes:
				return // typeof ResponseGetSnodes

			case RequestType.GetSwarms:
				return // typeof ResponseGetSwarms

			case RequestType.Poll:
				return // typeof ResponsePoll

			case RequestType.UploadAttachment:
				return // typeof ResponseUploadAttachment

			default:
				throw new Error('Invalid request type')
		}
	}
}

Made for Session.js

Use Session messenger programmatically with Session.js: Session bots, custom Session clients, and more.

Donate

hloth.dev/donate · Tor: hlothdevzkti6suoksy7lcy7hmpxnr3msu5waokzaslsi2mnx5ouu4qd.onion/donate

License

MIT