@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.
Files changed (86) hide show
  1. package/README.md +108 -0
  2. package/dist/app.d.ts +7 -0
  3. package/dist/app.d.ts.map +1 -0
  4. package/dist/app.js +27 -0
  5. package/dist/app.js.map +1 -0
  6. package/dist/index.d.ts +6 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +24 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/middleware/ed25519-verify.d.ts +14 -0
  11. package/dist/middleware/ed25519-verify.d.ts.map +1 -0
  12. package/dist/middleware/ed25519-verify.js +31 -0
  13. package/dist/middleware/ed25519-verify.js.map +1 -0
  14. package/dist/middleware/erc8128.d.ts +25 -0
  15. package/dist/middleware/erc8128.d.ts.map +1 -0
  16. package/dist/middleware/erc8128.js +196 -0
  17. package/dist/middleware/erc8128.js.map +1 -0
  18. package/dist/middleware/mpp.d.ts +36 -0
  19. package/dist/middleware/mpp.d.ts.map +1 -0
  20. package/dist/middleware/mpp.js +122 -0
  21. package/dist/middleware/mpp.js.map +1 -0
  22. package/dist/middleware/session.d.ts +13 -0
  23. package/dist/middleware/session.d.ts.map +1 -0
  24. package/dist/middleware/session.js +47 -0
  25. package/dist/middleware/session.js.map +1 -0
  26. package/dist/routes/data.d.ts +5 -0
  27. package/dist/routes/data.d.ts.map +1 -0
  28. package/dist/routes/data.js +44 -0
  29. package/dist/routes/data.js.map +1 -0
  30. package/dist/routes/health.d.ts +3 -0
  31. package/dist/routes/health.d.ts.map +1 -0
  32. package/dist/routes/health.js +4 -0
  33. package/dist/routes/health.js.map +1 -0
  34. package/dist/routes/snapshots.d.ts +5 -0
  35. package/dist/routes/snapshots.d.ts.map +1 -0
  36. package/dist/routes/snapshots.js +31 -0
  37. package/dist/routes/snapshots.js.map +1 -0
  38. package/dist/routes/vault.d.ts +6 -0
  39. package/dist/routes/vault.d.ts.map +1 -0
  40. package/dist/routes/vault.js +105 -0
  41. package/dist/routes/vault.js.map +1 -0
  42. package/dist/services/index.d.ts +17 -0
  43. package/dist/services/index.d.ts.map +1 -0
  44. package/dist/services/index.js +60 -0
  45. package/dist/services/index.js.map +1 -0
  46. package/dist/services/live-discovery.d.ts +17 -0
  47. package/dist/services/live-discovery.d.ts.map +1 -0
  48. package/dist/services/live-discovery.js +97 -0
  49. package/dist/services/live-discovery.js.map +1 -0
  50. package/dist/services/live-snapshot.d.ts +18 -0
  51. package/dist/services/live-snapshot.d.ts.map +1 -0
  52. package/dist/services/live-snapshot.js +43 -0
  53. package/dist/services/live-snapshot.js.map +1 -0
  54. package/dist/services/live-vault.d.ts +27 -0
  55. package/dist/services/live-vault.d.ts.map +1 -0
  56. package/dist/services/live-vault.js +73 -0
  57. package/dist/services/live-vault.js.map +1 -0
  58. package/dist/services/mock-discovery.d.ts +14 -0
  59. package/dist/services/mock-discovery.d.ts.map +1 -0
  60. package/dist/services/mock-discovery.js +86 -0
  61. package/dist/services/mock-discovery.js.map +1 -0
  62. package/dist/services/mock-snapshot.d.ts +7 -0
  63. package/dist/services/mock-snapshot.d.ts.map +1 -0
  64. package/dist/services/mock-snapshot.js +30 -0
  65. package/dist/services/mock-snapshot.js.map +1 -0
  66. package/dist/services/mock-vault.d.ts +33 -0
  67. package/dist/services/mock-vault.d.ts.map +1 -0
  68. package/dist/services/mock-vault.js +88 -0
  69. package/dist/services/mock-vault.js.map +1 -0
  70. package/dist/services/orbitdb-peer.d.ts +12 -0
  71. package/dist/services/orbitdb-peer.d.ts.map +1 -0
  72. package/dist/services/orbitdb-peer.js +23 -0
  73. package/dist/services/orbitdb-peer.js.map +1 -0
  74. package/dist/services/plan.d.ts +14 -0
  75. package/dist/services/plan.d.ts.map +1 -0
  76. package/dist/services/plan.js +37 -0
  77. package/dist/services/plan.js.map +1 -0
  78. package/dist/services/test-helpers.d.ts +4 -0
  79. package/dist/services/test-helpers.d.ts.map +1 -0
  80. package/dist/services/test-helpers.js +10 -0
  81. package/dist/services/test-helpers.js.map +1 -0
  82. package/dist/services/types.d.ts +100 -0
  83. package/dist/services/types.d.ts.map +1 -0
  84. package/dist/services/types.js +2 -0
  85. package/dist/services/types.js.map +1 -0
  86. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -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
+ }