@orbitmem/relay 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -0
- package/dist/app.d.ts +7 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +27 -0
- package/dist/app.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/ed25519-verify.d.ts +14 -0
- package/dist/middleware/ed25519-verify.d.ts.map +1 -0
- package/dist/middleware/ed25519-verify.js +31 -0
- package/dist/middleware/ed25519-verify.js.map +1 -0
- package/dist/middleware/erc8128.d.ts +25 -0
- package/dist/middleware/erc8128.d.ts.map +1 -0
- package/dist/middleware/erc8128.js +196 -0
- package/dist/middleware/erc8128.js.map +1 -0
- package/dist/middleware/mpp.d.ts +36 -0
- package/dist/middleware/mpp.d.ts.map +1 -0
- package/dist/middleware/mpp.js +122 -0
- package/dist/middleware/mpp.js.map +1 -0
- package/dist/middleware/session.d.ts +13 -0
- package/dist/middleware/session.d.ts.map +1 -0
- package/dist/middleware/session.js +47 -0
- package/dist/middleware/session.js.map +1 -0
- package/dist/routes/data.d.ts +5 -0
- package/dist/routes/data.d.ts.map +1 -0
- package/dist/routes/data.js +44 -0
- package/dist/routes/data.js.map +1 -0
- package/dist/routes/health.d.ts +3 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +4 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/snapshots.d.ts +5 -0
- package/dist/routes/snapshots.d.ts.map +1 -0
- package/dist/routes/snapshots.js +31 -0
- package/dist/routes/snapshots.js.map +1 -0
- package/dist/routes/vault.d.ts +6 -0
- package/dist/routes/vault.d.ts.map +1 -0
- package/dist/routes/vault.js +105 -0
- package/dist/routes/vault.js.map +1 -0
- package/dist/services/index.d.ts +17 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +60 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/live-discovery.d.ts +17 -0
- package/dist/services/live-discovery.d.ts.map +1 -0
- package/dist/services/live-discovery.js +97 -0
- package/dist/services/live-discovery.js.map +1 -0
- package/dist/services/live-snapshot.d.ts +18 -0
- package/dist/services/live-snapshot.d.ts.map +1 -0
- package/dist/services/live-snapshot.js +43 -0
- package/dist/services/live-snapshot.js.map +1 -0
- package/dist/services/live-vault.d.ts +27 -0
- package/dist/services/live-vault.d.ts.map +1 -0
- package/dist/services/live-vault.js +73 -0
- package/dist/services/live-vault.js.map +1 -0
- package/dist/services/mock-discovery.d.ts +14 -0
- package/dist/services/mock-discovery.d.ts.map +1 -0
- package/dist/services/mock-discovery.js +86 -0
- package/dist/services/mock-discovery.js.map +1 -0
- package/dist/services/mock-snapshot.d.ts +7 -0
- package/dist/services/mock-snapshot.d.ts.map +1 -0
- package/dist/services/mock-snapshot.js +30 -0
- package/dist/services/mock-snapshot.js.map +1 -0
- package/dist/services/mock-vault.d.ts +33 -0
- package/dist/services/mock-vault.d.ts.map +1 -0
- package/dist/services/mock-vault.js +88 -0
- package/dist/services/mock-vault.js.map +1 -0
- package/dist/services/orbitdb-peer.d.ts +12 -0
- package/dist/services/orbitdb-peer.d.ts.map +1 -0
- package/dist/services/orbitdb-peer.js +23 -0
- package/dist/services/orbitdb-peer.js.map +1 -0
- package/dist/services/plan.d.ts +14 -0
- package/dist/services/plan.d.ts.map +1 -0
- package/dist/services/plan.js +37 -0
- package/dist/services/plan.js.map +1 -0
- package/dist/services/test-helpers.d.ts +4 -0
- package/dist/services/test-helpers.d.ts.map +1 -0
- package/dist/services/test-helpers.js +10 -0
- package/dist/services/test-helpers.js.map +1 -0
- package/dist/services/types.d.ts +100 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/types.js +2 -0
- package/dist/services/types.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export interface VaultEntry {
|
|
2
|
+
value: unknown;
|
|
3
|
+
visibility: string;
|
|
4
|
+
}
|
|
5
|
+
export interface IVaultService {
|
|
6
|
+
getPublicKeys(address: string, prefix?: string): Promise<string[]>;
|
|
7
|
+
getPublic(address: string, key: string): Promise<VaultEntry | null>;
|
|
8
|
+
getEncrypted(vaultAddress: string, path: string): Promise<VaultEntry | null>;
|
|
9
|
+
seed(address: string, entries: {
|
|
10
|
+
key: string;
|
|
11
|
+
value: unknown;
|
|
12
|
+
visibility: string;
|
|
13
|
+
}[]): Promise<number>;
|
|
14
|
+
sync(address: string): Promise<{
|
|
15
|
+
status: string;
|
|
16
|
+
timestamp: number;
|
|
17
|
+
}>;
|
|
18
|
+
write(address: string, path: string, value: unknown, visibility: string): Promise<{
|
|
19
|
+
hash: string;
|
|
20
|
+
}>;
|
|
21
|
+
delete(address: string, path: string): Promise<void>;
|
|
22
|
+
getKeys(address: string, prefix?: string): Promise<string[]>;
|
|
23
|
+
getVaultPricing(address: string, path: string): Promise<{
|
|
24
|
+
amount: string;
|
|
25
|
+
currency: string;
|
|
26
|
+
} | null>;
|
|
27
|
+
}
|
|
28
|
+
export interface SnapshotMeta {
|
|
29
|
+
cid: string;
|
|
30
|
+
size: number;
|
|
31
|
+
archivedAt: number;
|
|
32
|
+
signer: string;
|
|
33
|
+
entryCount: number;
|
|
34
|
+
encrypted: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface ISnapshotService {
|
|
37
|
+
list(signer: string): Promise<SnapshotMeta[]>;
|
|
38
|
+
archive(signer: string, data?: string, entryCount?: number): Promise<SnapshotMeta>;
|
|
39
|
+
}
|
|
40
|
+
export interface DataStats {
|
|
41
|
+
totalEntries: number;
|
|
42
|
+
totalFeedback: number;
|
|
43
|
+
avgQuality: number;
|
|
44
|
+
qualityDistribution: {
|
|
45
|
+
range: string;
|
|
46
|
+
count: number;
|
|
47
|
+
}[];
|
|
48
|
+
topTags: {
|
|
49
|
+
tag: string;
|
|
50
|
+
count: number;
|
|
51
|
+
}[];
|
|
52
|
+
activity: {
|
|
53
|
+
date: string;
|
|
54
|
+
entries: number;
|
|
55
|
+
feedback: number;
|
|
56
|
+
}[];
|
|
57
|
+
}
|
|
58
|
+
export interface UserStats {
|
|
59
|
+
feedbackSubmitted: number;
|
|
60
|
+
avgRatingGiven: number;
|
|
61
|
+
dataEntriesRated: number;
|
|
62
|
+
topTagsUsed: {
|
|
63
|
+
tag: string;
|
|
64
|
+
count: number;
|
|
65
|
+
}[];
|
|
66
|
+
}
|
|
67
|
+
export interface IDiscoveryService {
|
|
68
|
+
search(query: {
|
|
69
|
+
schema?: string;
|
|
70
|
+
tags?: string[];
|
|
71
|
+
verifiedOnly?: boolean;
|
|
72
|
+
minQuality?: number;
|
|
73
|
+
}): Promise<unknown[]>;
|
|
74
|
+
getScore(dataId: number): Promise<unknown>;
|
|
75
|
+
getStats(): Promise<DataStats>;
|
|
76
|
+
getUserStats(signer: string): Promise<UserStats>;
|
|
77
|
+
}
|
|
78
|
+
export interface PlanInfo {
|
|
79
|
+
tier: "free" | "starter" | "pro" | "enterprise";
|
|
80
|
+
storageLimit: number;
|
|
81
|
+
used: number;
|
|
82
|
+
}
|
|
83
|
+
export interface IPlanService {
|
|
84
|
+
getPlan(signer: string): Promise<PlanInfo>;
|
|
85
|
+
addUsage(signer: string, bytes: number): Promise<void>;
|
|
86
|
+
removeUsage(signer: string, bytes: number): Promise<void>;
|
|
87
|
+
getUsage(signer: string): Promise<{
|
|
88
|
+
used: number;
|
|
89
|
+
limit: number;
|
|
90
|
+
tier: string;
|
|
91
|
+
}>;
|
|
92
|
+
setPlan(signer: string, tier: PlanInfo["tier"]): Promise<void>;
|
|
93
|
+
}
|
|
94
|
+
export interface RelayServices {
|
|
95
|
+
vault: IVaultService;
|
|
96
|
+
snapshot: ISnapshotService;
|
|
97
|
+
discovery: IDiscoveryService;
|
|
98
|
+
plan: IPlanService;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@orbitmem/relay",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "HTTP relay server for OrbitMem — authenticated vault access, data discovery, and snapshot archival",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Oboro Inc. <dev@oboro.xyz> (https://oboro.xyz)",
|
|
8
|
+
"homepage": "https://github.com/oboroxyz/orbitmem/tree/main/packages/relay",
|
|
9
|
+
"keywords": ["ai", "agents", "relay", "vault", "data", "web3", "orbitmem"],
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "https://github.com/oboroxyz/orbitmem",
|
|
13
|
+
"directory": "packages/relay"
|
|
14
|
+
},
|
|
15
|
+
"main": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"bun": "./src/index.ts",
|
|
20
|
+
"import": "./dist/index.js",
|
|
21
|
+
"types": "./dist/index.d.ts"
|
|
22
|
+
},
|
|
23
|
+
"./app": {
|
|
24
|
+
"bun": "./src/app.ts",
|
|
25
|
+
"import": "./dist/app.js",
|
|
26
|
+
"types": "./dist/app.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./services": {
|
|
29
|
+
"bun": "./src/services/index.ts",
|
|
30
|
+
"import": "./dist/services/index.js",
|
|
31
|
+
"types": "./dist/services/index.d.ts"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist"
|
|
36
|
+
],
|
|
37
|
+
"scripts": {
|
|
38
|
+
"dev": "bun run --hot src/index.ts",
|
|
39
|
+
"build": "bunx tsc -p tsconfig.build.json",
|
|
40
|
+
"start": "bun run dist/index.js",
|
|
41
|
+
"test": "bun test",
|
|
42
|
+
"typecheck": "tsc --noEmit"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@chainsafe/libp2p-gossipsub": "^14.0.0",
|
|
46
|
+
"@chainsafe/libp2p-noise": "^16.0.0",
|
|
47
|
+
"@chainsafe/libp2p-yamux": "^7.0.0",
|
|
48
|
+
"@hono/zod-validator": "^0.4.0",
|
|
49
|
+
"@libp2p/identify": "^3.0.0",
|
|
50
|
+
"@libp2p/tcp": "^10.0.0",
|
|
51
|
+
"@orbitdb/core": "^3.0.2",
|
|
52
|
+
"@orbitdb/nested-db": "^2.0.4",
|
|
53
|
+
"@orbitmem/contracts": "^0.1.0",
|
|
54
|
+
"@orbitmem/sdk": "^0.1.0",
|
|
55
|
+
"@slicekit/erc8128": "0.3.2",
|
|
56
|
+
"@storacha/client": "^1.0.0",
|
|
57
|
+
"blockstore-level": "^2.0.0",
|
|
58
|
+
"helia": "^5.5.1",
|
|
59
|
+
"hono": "^4.0.0",
|
|
60
|
+
"libp2p": "^2.0.0",
|
|
61
|
+
"viem": "^2.46.3",
|
|
62
|
+
"zod": "^3.23.0"
|
|
63
|
+
},
|
|
64
|
+
"devDependencies": {
|
|
65
|
+
"@noble/curves": "^2.0.1",
|
|
66
|
+
"@types/node": "^25.4.0",
|
|
67
|
+
"bun-types": "latest",
|
|
68
|
+
"typescript": "^5.5.0"
|
|
69
|
+
}
|
|
70
|
+
}
|