@bananapus/nana-sdk-core 2.0.0 → 2.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/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jbcenter.d.ts +126 -0
- package/dist/cjs/jbcenter.d.ts.map +1 -0
- package/dist/cjs/jbcenter.js +307 -0
- package/dist/cjs/jbcenter.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jbcenter.d.ts +126 -0
- package/dist/esm/jbcenter.d.ts.map +1 -0
- package/dist/esm/jbcenter.js +300 -0
- package/dist/esm/jbcenter.js.map +1 -0
- package/package.json +6 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./actions/suckerPairs.js";
|
|
|
4
4
|
export * from "./constants.js";
|
|
5
5
|
export * from "./contracts.js";
|
|
6
6
|
export * from "./generated/juicebox.js";
|
|
7
|
+
export * from "./jbcenter.js";
|
|
7
8
|
export * from "./types.js";
|
|
8
9
|
export * from "./utils/index.js";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -20,6 +20,7 @@ __exportStar(require("./actions/suckerPairs.js"), exports);
|
|
|
20
20
|
__exportStar(require("./constants.js"), exports);
|
|
21
21
|
__exportStar(require("./contracts.js"), exports);
|
|
22
22
|
__exportStar(require("./generated/juicebox.js"), exports);
|
|
23
|
+
__exportStar(require("./jbcenter.js"), exports);
|
|
23
24
|
__exportStar(require("./types.js"), exports);
|
|
24
25
|
__exportStar(require("./utils/index.js"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,+DAA6C;AAC7C,2DAAyC;AACzC,iDAA+B;AAC/B,iDAA+B;AAC/B,0DAAwC;AACxC,6CAA2B;AAC3B,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,+DAA6C;AAC7C,2DAAyC;AACzC,iDAA+B;AAC/B,iDAA+B;AAC/B,0DAAwC;AACxC,gDAA8B;AAC9B,6CAA2B;AAC3B,mDAAiC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
export declare const JBCENTER_DEFAULT_URL = "https://juicebox.center";
|
|
3
|
+
export declare const JBCENTER_REQUEST_TIMEOUT_MS = 15000;
|
|
4
|
+
export declare const JBCENTER_PIN_TIMEOUT_MS = 300000;
|
|
5
|
+
export declare const MAX_JBCENTER_RESPONSE_BYTES: number;
|
|
6
|
+
export type JBCenterJson = null | boolean | number | string | JBCenterJson[] | JBCenterJsonObject;
|
|
7
|
+
export type JBCenterJsonObject = {
|
|
8
|
+
[key: string]: JBCenterJson;
|
|
9
|
+
};
|
|
10
|
+
export type JBCenterIntentInput<TJb extends JBCenterJsonObject = JBCenterJsonObject> = {
|
|
11
|
+
format: string;
|
|
12
|
+
deploymentVersion: string;
|
|
13
|
+
chainIds: number[];
|
|
14
|
+
jb: TJb;
|
|
15
|
+
};
|
|
16
|
+
export type JBCenterIntentEnvelope<TJb extends JBCenterJsonObject = JBCenterJsonObject> = JBCenterIntentInput<TJb> & {
|
|
17
|
+
version: 1;
|
|
18
|
+
};
|
|
19
|
+
export type JBCenterPreparedIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject> = {
|
|
20
|
+
contentHash: Hex;
|
|
21
|
+
message: string;
|
|
22
|
+
envelope: JBCenterIntentEnvelope<TJb>;
|
|
23
|
+
};
|
|
24
|
+
export type JBCenterPublishIntentInput<TJb extends JBCenterJsonObject = JBCenterJsonObject> = JBCenterIntentInput<TJb> & {
|
|
25
|
+
publisher: Address;
|
|
26
|
+
signature: Hex;
|
|
27
|
+
};
|
|
28
|
+
export type JBCenterIntentMetadata = {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string | null;
|
|
31
|
+
tagline: string | null;
|
|
32
|
+
tags: string[];
|
|
33
|
+
logoUri: string | null;
|
|
34
|
+
owner: Address | null;
|
|
35
|
+
};
|
|
36
|
+
export type JBCenterDeployment = {
|
|
37
|
+
chainId: number;
|
|
38
|
+
projectId: string;
|
|
39
|
+
transactionHash: Hex;
|
|
40
|
+
createdAt: string;
|
|
41
|
+
};
|
|
42
|
+
export type JBCenterDeploymentInput = Omit<JBCenterDeployment, "createdAt">;
|
|
43
|
+
export type JBCenterIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject> = JBCenterIntentMetadata & {
|
|
44
|
+
id: string;
|
|
45
|
+
status: "undeployed" | "deployed";
|
|
46
|
+
contentHash: Hex;
|
|
47
|
+
envelope: JBCenterIntentEnvelope<TJb>;
|
|
48
|
+
publisher: Address;
|
|
49
|
+
signature: Hex;
|
|
50
|
+
createdAt: string;
|
|
51
|
+
deployments: JBCenterDeployment[];
|
|
52
|
+
};
|
|
53
|
+
export type JBCenterSearchItem = JBCenterIntentMetadata & {
|
|
54
|
+
source: "jbcenter";
|
|
55
|
+
status: "undeployed";
|
|
56
|
+
intentId: string;
|
|
57
|
+
contentHash: Hex;
|
|
58
|
+
format: string;
|
|
59
|
+
deploymentVersion: string;
|
|
60
|
+
chainIds: number[];
|
|
61
|
+
publisher: Address;
|
|
62
|
+
createdAt: string;
|
|
63
|
+
};
|
|
64
|
+
export type JBCenterSearchPage = {
|
|
65
|
+
items: JBCenterSearchItem[];
|
|
66
|
+
totalCount: number;
|
|
67
|
+
nextCursor: string | null;
|
|
68
|
+
};
|
|
69
|
+
export type JBCenterSearchParams = {
|
|
70
|
+
query?: string;
|
|
71
|
+
limit?: number;
|
|
72
|
+
cursor?: string;
|
|
73
|
+
};
|
|
74
|
+
export type JBCenterPin = {
|
|
75
|
+
cid: string;
|
|
76
|
+
status: "queued";
|
|
77
|
+
uri: `ipfs://${string}`;
|
|
78
|
+
gatewayUrl: string;
|
|
79
|
+
};
|
|
80
|
+
export type JBCenterRequestOptions = {
|
|
81
|
+
signal?: AbortSignal;
|
|
82
|
+
timeoutMs?: number;
|
|
83
|
+
};
|
|
84
|
+
export type JBCenterClientOptions = {
|
|
85
|
+
/** A server-side API key. Omit it for trusted-origin browser pin requests. */
|
|
86
|
+
apiKey?: string;
|
|
87
|
+
baseUrl?: string;
|
|
88
|
+
fetch?: typeof fetch;
|
|
89
|
+
maxResponseBytes?: number;
|
|
90
|
+
timeoutMs?: number;
|
|
91
|
+
};
|
|
92
|
+
export declare class JBCenterRequestError extends Error {
|
|
93
|
+
readonly status: number;
|
|
94
|
+
readonly code?: string | undefined;
|
|
95
|
+
readonly requestId?: string | undefined;
|
|
96
|
+
readonly retryAfter?: number | undefined;
|
|
97
|
+
constructor(message: string, status: number, code?: string | undefined, requestId?: string | undefined, retryAfter?: number | undefined);
|
|
98
|
+
}
|
|
99
|
+
export declare class JBCenterTimeoutError extends Error {
|
|
100
|
+
readonly timeoutMs: number;
|
|
101
|
+
constructor(timeoutMs: number);
|
|
102
|
+
}
|
|
103
|
+
export declare class JBCenterClient {
|
|
104
|
+
readonly baseUrl: string;
|
|
105
|
+
private readonly apiKey?;
|
|
106
|
+
private readonly fetchImpl;
|
|
107
|
+
private readonly maxResponseBytes;
|
|
108
|
+
private readonly timeoutMs;
|
|
109
|
+
constructor(options?: JBCenterClientOptions);
|
|
110
|
+
prepareIntent<TJb extends JBCenterJsonObject>(intent: JBCenterIntentInput<TJb>, options?: JBCenterRequestOptions): Promise<JBCenterPreparedIntent<TJb>>;
|
|
111
|
+
publishIntent<TJb extends JBCenterJsonObject>(intent: JBCenterPublishIntentInput<TJb>, options?: JBCenterRequestOptions): Promise<JBCenterIntent<TJb>>;
|
|
112
|
+
getIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject>(intentId: string, options?: JBCenterRequestOptions): Promise<JBCenterIntent<TJb>>;
|
|
113
|
+
searchIntents(params?: JBCenterSearchParams, options?: JBCenterRequestOptions): Promise<JBCenterSearchPage>;
|
|
114
|
+
recordDeployment(intentId: string, deployment: JBCenterDeploymentInput, options?: JBCenterRequestOptions): Promise<JBCenterDeployment>;
|
|
115
|
+
pinJson(value: JBCenterJsonObject, options?: JBCenterRequestOptions): Promise<JBCenterPin>;
|
|
116
|
+
pinImage(content: Blob, options?: JBCenterRequestOptions & {
|
|
117
|
+
filename?: string;
|
|
118
|
+
}): Promise<JBCenterPin>;
|
|
119
|
+
pinMedia(content: Blob, options?: JBCenterRequestOptions & {
|
|
120
|
+
filename?: string;
|
|
121
|
+
}): Promise<JBCenterPin>;
|
|
122
|
+
private pinFile;
|
|
123
|
+
private fetchJson;
|
|
124
|
+
}
|
|
125
|
+
export declare function createJBCenterClient(options?: JBCenterClientOptions): JBCenterClient;
|
|
126
|
+
//# sourceMappingURL=jbcenter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jbcenter.d.ts","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JBCenterClient = exports.JBCenterTimeoutError = exports.JBCenterRequestError = exports.MAX_JBCENTER_RESPONSE_BYTES = exports.JBCENTER_PIN_TIMEOUT_MS = exports.JBCENTER_REQUEST_TIMEOUT_MS = exports.JBCENTER_DEFAULT_URL = void 0;
|
|
4
|
+
exports.createJBCenterClient = createJBCenterClient;
|
|
5
|
+
exports.JBCENTER_DEFAULT_URL = "https://juicebox.center";
|
|
6
|
+
exports.JBCENTER_REQUEST_TIMEOUT_MS = 15_000;
|
|
7
|
+
exports.JBCENTER_PIN_TIMEOUT_MS = 300_000;
|
|
8
|
+
exports.MAX_JBCENTER_RESPONSE_BYTES = 5 * 1024 * 1024;
|
|
9
|
+
class JBCenterRequestError extends Error {
|
|
10
|
+
constructor(message, status, code, requestId, retryAfter) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.status = status;
|
|
13
|
+
this.code = code;
|
|
14
|
+
this.requestId = requestId;
|
|
15
|
+
this.retryAfter = retryAfter;
|
|
16
|
+
this.name = "JBCenterRequestError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.JBCenterRequestError = JBCenterRequestError;
|
|
20
|
+
class JBCenterTimeoutError extends Error {
|
|
21
|
+
constructor(timeoutMs) {
|
|
22
|
+
super(`JB Center request timed out after ${timeoutMs}ms`);
|
|
23
|
+
this.timeoutMs = timeoutMs;
|
|
24
|
+
this.name = "JBCenterTimeoutError";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.JBCenterTimeoutError = JBCenterTimeoutError;
|
|
28
|
+
function record(value) {
|
|
29
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
30
|
+
}
|
|
31
|
+
function isHash(value) {
|
|
32
|
+
return typeof value === "string" && /^0x[0-9a-f]{64}$/iu.test(value);
|
|
33
|
+
}
|
|
34
|
+
function isSignature(value) {
|
|
35
|
+
return (typeof value === "string" &&
|
|
36
|
+
/^0x(?:[0-9a-f]{128}|[0-9a-f]{130})$/iu.test(value));
|
|
37
|
+
}
|
|
38
|
+
function isAddress(value) {
|
|
39
|
+
return typeof value === "string" && /^0x[0-9a-f]{40}$/iu.test(value);
|
|
40
|
+
}
|
|
41
|
+
function isStringArray(value) {
|
|
42
|
+
return (Array.isArray(value) && value.every((item) => typeof item === "string"));
|
|
43
|
+
}
|
|
44
|
+
function isNumberArray(value) {
|
|
45
|
+
return (Array.isArray(value) &&
|
|
46
|
+
value.every((item) => Number.isSafeInteger(item) && Number(item) > 0));
|
|
47
|
+
}
|
|
48
|
+
function isEnvelope(value) {
|
|
49
|
+
return (record(value) &&
|
|
50
|
+
value.version === 1 &&
|
|
51
|
+
typeof value.format === "string" &&
|
|
52
|
+
typeof value.deploymentVersion === "string" &&
|
|
53
|
+
isNumberArray(value.chainIds) &&
|
|
54
|
+
record(value.jb));
|
|
55
|
+
}
|
|
56
|
+
function isMetadata(value) {
|
|
57
|
+
return (typeof value.name === "string" &&
|
|
58
|
+
(value.description === null || typeof value.description === "string") &&
|
|
59
|
+
(value.tagline === null || typeof value.tagline === "string") &&
|
|
60
|
+
isStringArray(value.tags) &&
|
|
61
|
+
(value.logoUri === null || typeof value.logoUri === "string") &&
|
|
62
|
+
(value.owner === null || isAddress(value.owner)));
|
|
63
|
+
}
|
|
64
|
+
function isDeployment(value) {
|
|
65
|
+
return (record(value) &&
|
|
66
|
+
Number.isSafeInteger(value.chainId) &&
|
|
67
|
+
Number(value.chainId) > 0 &&
|
|
68
|
+
typeof value.projectId === "string" &&
|
|
69
|
+
isHash(value.transactionHash) &&
|
|
70
|
+
typeof value.createdAt === "string");
|
|
71
|
+
}
|
|
72
|
+
function isIntent(value) {
|
|
73
|
+
return (record(value) &&
|
|
74
|
+
isMetadata(value) &&
|
|
75
|
+
typeof value.id === "string" &&
|
|
76
|
+
(value.status === "undeployed" || value.status === "deployed") &&
|
|
77
|
+
isHash(value.contentHash) &&
|
|
78
|
+
isEnvelope(value.envelope) &&
|
|
79
|
+
isAddress(value.publisher) &&
|
|
80
|
+
isSignature(value.signature) &&
|
|
81
|
+
typeof value.createdAt === "string" &&
|
|
82
|
+
Array.isArray(value.deployments) &&
|
|
83
|
+
value.deployments.every(isDeployment));
|
|
84
|
+
}
|
|
85
|
+
function isPreparedIntent(value) {
|
|
86
|
+
return (record(value) &&
|
|
87
|
+
isHash(value.contentHash) &&
|
|
88
|
+
typeof value.message === "string" &&
|
|
89
|
+
isEnvelope(value.envelope));
|
|
90
|
+
}
|
|
91
|
+
function isSearchItem(value) {
|
|
92
|
+
return (record(value) &&
|
|
93
|
+
isMetadata(value) &&
|
|
94
|
+
value.source === "jbcenter" &&
|
|
95
|
+
value.status === "undeployed" &&
|
|
96
|
+
typeof value.intentId === "string" &&
|
|
97
|
+
isHash(value.contentHash) &&
|
|
98
|
+
typeof value.format === "string" &&
|
|
99
|
+
typeof value.deploymentVersion === "string" &&
|
|
100
|
+
isNumberArray(value.chainIds) &&
|
|
101
|
+
isAddress(value.publisher) &&
|
|
102
|
+
typeof value.createdAt === "string");
|
|
103
|
+
}
|
|
104
|
+
function isSearchPage(value) {
|
|
105
|
+
return (record(value) &&
|
|
106
|
+
Array.isArray(value.items) &&
|
|
107
|
+
value.items.every(isSearchItem) &&
|
|
108
|
+
Number.isSafeInteger(value.totalCount) &&
|
|
109
|
+
Number(value.totalCount) >= 0 &&
|
|
110
|
+
(value.nextCursor === null || typeof value.nextCursor === "string"));
|
|
111
|
+
}
|
|
112
|
+
function isPin(value) {
|
|
113
|
+
return (record(value) &&
|
|
114
|
+
typeof value.cid === "string" &&
|
|
115
|
+
/^(?:Qm[1-9A-HJ-NP-Za-km-z]{44}|b[a-z2-7]{20,160})$/u.test(value.cid) &&
|
|
116
|
+
value.status === "queued" &&
|
|
117
|
+
typeof value.uri === "string" &&
|
|
118
|
+
value.uri === `ipfs://${value.cid}` &&
|
|
119
|
+
value.gatewayUrl === `/ipfs/${value.cid}`);
|
|
120
|
+
}
|
|
121
|
+
function normalizeBaseUrl(value) {
|
|
122
|
+
const url = new URL(value);
|
|
123
|
+
if (url.protocol !== "https:" && url.protocol !== "http:") {
|
|
124
|
+
throw new TypeError("JB Center baseUrl must use HTTP or HTTPS");
|
|
125
|
+
}
|
|
126
|
+
if (url.username || url.password || url.search || url.hash) {
|
|
127
|
+
throw new TypeError("JB Center baseUrl cannot include credentials, query, or hash");
|
|
128
|
+
}
|
|
129
|
+
return url.toString().replace(/\/$/u, "");
|
|
130
|
+
}
|
|
131
|
+
async function readBoundedJson(response, maxResponseBytes) {
|
|
132
|
+
const declaredSize = Number(response.headers.get("content-length") ?? 0);
|
|
133
|
+
if (Number.isFinite(declaredSize) && declaredSize > maxResponseBytes) {
|
|
134
|
+
await response.body?.cancel();
|
|
135
|
+
throw new JBCenterRequestError("JB Center response exceeds the size limit", 502);
|
|
136
|
+
}
|
|
137
|
+
if (!response.headers.get("content-type")?.toLowerCase().includes("json")) {
|
|
138
|
+
await response.body?.cancel();
|
|
139
|
+
throw new JBCenterRequestError("JB Center returned an invalid content type", 502);
|
|
140
|
+
}
|
|
141
|
+
if (!response.body) {
|
|
142
|
+
throw new JBCenterRequestError("JB Center returned an empty response", 502);
|
|
143
|
+
}
|
|
144
|
+
const reader = response.body.getReader();
|
|
145
|
+
const chunks = [];
|
|
146
|
+
let total = 0;
|
|
147
|
+
try {
|
|
148
|
+
for (;;) {
|
|
149
|
+
const { done, value } = await reader.read();
|
|
150
|
+
if (done)
|
|
151
|
+
break;
|
|
152
|
+
total += value.byteLength;
|
|
153
|
+
if (total > maxResponseBytes) {
|
|
154
|
+
await reader.cancel("JB Center response exceeds the size limit");
|
|
155
|
+
throw new JBCenterRequestError("JB Center response exceeds the size limit", 502);
|
|
156
|
+
}
|
|
157
|
+
chunks.push(value);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
finally {
|
|
161
|
+
reader.releaseLock();
|
|
162
|
+
}
|
|
163
|
+
const bytes = new Uint8Array(total);
|
|
164
|
+
let offset = 0;
|
|
165
|
+
for (const chunk of chunks) {
|
|
166
|
+
bytes.set(chunk, offset);
|
|
167
|
+
offset += chunk.byteLength;
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
return JSON.parse(new TextDecoder().decode(bytes));
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
throw new JBCenterRequestError("JB Center returned invalid JSON", 502);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function filenameOf(content, fallback) {
|
|
177
|
+
const candidate = content.name;
|
|
178
|
+
return typeof candidate === "string" && candidate ? candidate : fallback;
|
|
179
|
+
}
|
|
180
|
+
class JBCenterClient {
|
|
181
|
+
constructor(options = {}) {
|
|
182
|
+
this.baseUrl = normalizeBaseUrl(options.baseUrl ?? exports.JBCENTER_DEFAULT_URL);
|
|
183
|
+
if (options.apiKey !== undefined && !options.apiKey.trim()) {
|
|
184
|
+
throw new TypeError("JB Center apiKey cannot be empty");
|
|
185
|
+
}
|
|
186
|
+
const endpoint = new URL(this.baseUrl);
|
|
187
|
+
if (options.apiKey &&
|
|
188
|
+
endpoint.protocol !== "https:" &&
|
|
189
|
+
!["localhost", "127.0.0.1", "[::1]"].includes(endpoint.hostname)) {
|
|
190
|
+
throw new TypeError("JB Center apiKey requires HTTPS outside local development");
|
|
191
|
+
}
|
|
192
|
+
this.apiKey = options.apiKey;
|
|
193
|
+
this.fetchImpl = options.fetch ?? fetch;
|
|
194
|
+
this.maxResponseBytes =
|
|
195
|
+
options.maxResponseBytes ?? exports.MAX_JBCENTER_RESPONSE_BYTES;
|
|
196
|
+
this.timeoutMs = options.timeoutMs ?? exports.JBCENTER_REQUEST_TIMEOUT_MS;
|
|
197
|
+
if (!Number.isSafeInteger(this.maxResponseBytes) ||
|
|
198
|
+
this.maxResponseBytes <= 0) {
|
|
199
|
+
throw new TypeError("maxResponseBytes must be a positive safe integer");
|
|
200
|
+
}
|
|
201
|
+
if (!Number.isFinite(this.timeoutMs) || this.timeoutMs <= 0) {
|
|
202
|
+
throw new TypeError("timeoutMs must be positive");
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
prepareIntent(intent, options) {
|
|
206
|
+
return this.fetchJson("v1/intents/message", { method: "POST", body: JSON.stringify(intent) }, isPreparedIntent, options);
|
|
207
|
+
}
|
|
208
|
+
publishIntent(intent, options) {
|
|
209
|
+
return this.fetchJson("v1/intents", { method: "POST", body: JSON.stringify(intent) }, isIntent, options);
|
|
210
|
+
}
|
|
211
|
+
getIntent(intentId, options) {
|
|
212
|
+
return this.fetchJson(`v1/intents/${encodeURIComponent(intentId)}`, {}, isIntent, options);
|
|
213
|
+
}
|
|
214
|
+
searchIntents(params = {}, options) {
|
|
215
|
+
const query = new URLSearchParams();
|
|
216
|
+
if (params.query !== undefined)
|
|
217
|
+
query.set("q", params.query);
|
|
218
|
+
if (params.limit !== undefined)
|
|
219
|
+
query.set("limit", String(params.limit));
|
|
220
|
+
if (params.cursor !== undefined)
|
|
221
|
+
query.set("cursor", params.cursor);
|
|
222
|
+
const suffix = query.size ? `?${query}` : "";
|
|
223
|
+
return this.fetchJson(`v1/search${suffix}`, {}, isSearchPage, options);
|
|
224
|
+
}
|
|
225
|
+
recordDeployment(intentId, deployment, options) {
|
|
226
|
+
return this.fetchJson(`v1/intents/${encodeURIComponent(intentId)}/deployments`, { method: "POST", body: JSON.stringify(deployment) }, isDeployment, options);
|
|
227
|
+
}
|
|
228
|
+
pinJson(value, options) {
|
|
229
|
+
return this.fetchJson("v1/pins/json", { method: "POST", body: JSON.stringify(value) }, isPin, { ...options, timeoutMs: options?.timeoutMs ?? exports.JBCENTER_PIN_TIMEOUT_MS });
|
|
230
|
+
}
|
|
231
|
+
pinImage(content, options) {
|
|
232
|
+
return this.pinFile("v1/pins/file", content, "image", options);
|
|
233
|
+
}
|
|
234
|
+
pinMedia(content, options) {
|
|
235
|
+
return this.pinFile("v1/pins/media", content, "media", options);
|
|
236
|
+
}
|
|
237
|
+
pinFile(path, content, fallbackName, options) {
|
|
238
|
+
const body = new FormData();
|
|
239
|
+
body.append("file", content, options?.filename ?? filenameOf(content, fallbackName));
|
|
240
|
+
return this.fetchJson(path, { method: "POST", body }, isPin, {
|
|
241
|
+
...options,
|
|
242
|
+
timeoutMs: options?.timeoutMs ?? exports.JBCENTER_PIN_TIMEOUT_MS,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
async fetchJson(path, init, validate, options = {}) {
|
|
246
|
+
const timeoutMs = options.timeoutMs ?? this.timeoutMs;
|
|
247
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
248
|
+
throw new TypeError("timeoutMs must be positive");
|
|
249
|
+
}
|
|
250
|
+
const controller = new AbortController();
|
|
251
|
+
const abort = () => controller.abort(options.signal?.reason);
|
|
252
|
+
options.signal?.addEventListener("abort", abort, { once: true });
|
|
253
|
+
const timeoutReason = new JBCenterTimeoutError(timeoutMs);
|
|
254
|
+
const timeout = setTimeout(() => controller.abort(timeoutReason), timeoutMs);
|
|
255
|
+
try {
|
|
256
|
+
if (options.signal?.aborted)
|
|
257
|
+
abort();
|
|
258
|
+
const headers = new Headers(init.headers);
|
|
259
|
+
headers.set("Accept", "application/json");
|
|
260
|
+
if (typeof init.body === "string") {
|
|
261
|
+
headers.set("Content-Type", "application/json");
|
|
262
|
+
}
|
|
263
|
+
if (this.apiKey)
|
|
264
|
+
headers.set("Authorization", `Bearer ${this.apiKey}`);
|
|
265
|
+
const response = await this.fetchImpl(`${this.baseUrl}/${path}`, {
|
|
266
|
+
...init,
|
|
267
|
+
headers,
|
|
268
|
+
signal: controller.signal,
|
|
269
|
+
});
|
|
270
|
+
const body = await readBoundedJson(response, this.maxResponseBytes);
|
|
271
|
+
if (!response.ok) {
|
|
272
|
+
const envelope = record(body) ? body : {};
|
|
273
|
+
const code = typeof envelope.error?.code === "string"
|
|
274
|
+
? envelope.error.code
|
|
275
|
+
: undefined;
|
|
276
|
+
const message = typeof envelope.error?.message === "string"
|
|
277
|
+
? envelope.error.message
|
|
278
|
+
: `JB Center request failed (${response.status})`;
|
|
279
|
+
const retryAfterHeader = response.headers.get("retry-after");
|
|
280
|
+
const retryAfter = Number(retryAfterHeader);
|
|
281
|
+
throw new JBCenterRequestError(message, response.status, code, response.headers.get("x-request-id") ?? undefined, retryAfterHeader !== null &&
|
|
282
|
+
Number.isFinite(retryAfter) &&
|
|
283
|
+
retryAfter >= 0
|
|
284
|
+
? retryAfter
|
|
285
|
+
: undefined);
|
|
286
|
+
}
|
|
287
|
+
if (!validate(body)) {
|
|
288
|
+
throw new JBCenterRequestError("JB Center returned an invalid response", 502, undefined, response.headers.get("x-request-id") ?? undefined);
|
|
289
|
+
}
|
|
290
|
+
return body;
|
|
291
|
+
}
|
|
292
|
+
catch (error) {
|
|
293
|
+
if (controller.signal.reason === timeoutReason)
|
|
294
|
+
throw timeoutReason;
|
|
295
|
+
throw error;
|
|
296
|
+
}
|
|
297
|
+
finally {
|
|
298
|
+
clearTimeout(timeout);
|
|
299
|
+
options.signal?.removeEventListener("abort", abort);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
exports.JBCenterClient = JBCenterClient;
|
|
304
|
+
function createJBCenterClient(options = {}) {
|
|
305
|
+
return new JBCenterClient(options);
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=jbcenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jbcenter.js","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./actions/suckerPairs.js";
|
|
|
4
4
|
export * from "./constants.js";
|
|
5
5
|
export * from "./contracts.js";
|
|
6
6
|
export * from "./generated/juicebox.js";
|
|
7
|
+
export * from "./jbcenter.js";
|
|
7
8
|
export * from "./types.js";
|
|
8
9
|
export * from "./utils/index.js";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./actions/suckerPairs.js";
|
|
|
4
4
|
export * from "./constants.js";
|
|
5
5
|
export * from "./contracts.js";
|
|
6
6
|
export * from "./generated/juicebox.js";
|
|
7
|
+
export * from "./jbcenter.js";
|
|
7
8
|
export * from "./types.js";
|
|
8
9
|
export * from "./utils/index.js";
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
export declare const JBCENTER_DEFAULT_URL = "https://juicebox.center";
|
|
3
|
+
export declare const JBCENTER_REQUEST_TIMEOUT_MS = 15000;
|
|
4
|
+
export declare const JBCENTER_PIN_TIMEOUT_MS = 300000;
|
|
5
|
+
export declare const MAX_JBCENTER_RESPONSE_BYTES: number;
|
|
6
|
+
export type JBCenterJson = null | boolean | number | string | JBCenterJson[] | JBCenterJsonObject;
|
|
7
|
+
export type JBCenterJsonObject = {
|
|
8
|
+
[key: string]: JBCenterJson;
|
|
9
|
+
};
|
|
10
|
+
export type JBCenterIntentInput<TJb extends JBCenterJsonObject = JBCenterJsonObject> = {
|
|
11
|
+
format: string;
|
|
12
|
+
deploymentVersion: string;
|
|
13
|
+
chainIds: number[];
|
|
14
|
+
jb: TJb;
|
|
15
|
+
};
|
|
16
|
+
export type JBCenterIntentEnvelope<TJb extends JBCenterJsonObject = JBCenterJsonObject> = JBCenterIntentInput<TJb> & {
|
|
17
|
+
version: 1;
|
|
18
|
+
};
|
|
19
|
+
export type JBCenterPreparedIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject> = {
|
|
20
|
+
contentHash: Hex;
|
|
21
|
+
message: string;
|
|
22
|
+
envelope: JBCenterIntentEnvelope<TJb>;
|
|
23
|
+
};
|
|
24
|
+
export type JBCenterPublishIntentInput<TJb extends JBCenterJsonObject = JBCenterJsonObject> = JBCenterIntentInput<TJb> & {
|
|
25
|
+
publisher: Address;
|
|
26
|
+
signature: Hex;
|
|
27
|
+
};
|
|
28
|
+
export type JBCenterIntentMetadata = {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string | null;
|
|
31
|
+
tagline: string | null;
|
|
32
|
+
tags: string[];
|
|
33
|
+
logoUri: string | null;
|
|
34
|
+
owner: Address | null;
|
|
35
|
+
};
|
|
36
|
+
export type JBCenterDeployment = {
|
|
37
|
+
chainId: number;
|
|
38
|
+
projectId: string;
|
|
39
|
+
transactionHash: Hex;
|
|
40
|
+
createdAt: string;
|
|
41
|
+
};
|
|
42
|
+
export type JBCenterDeploymentInput = Omit<JBCenterDeployment, "createdAt">;
|
|
43
|
+
export type JBCenterIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject> = JBCenterIntentMetadata & {
|
|
44
|
+
id: string;
|
|
45
|
+
status: "undeployed" | "deployed";
|
|
46
|
+
contentHash: Hex;
|
|
47
|
+
envelope: JBCenterIntentEnvelope<TJb>;
|
|
48
|
+
publisher: Address;
|
|
49
|
+
signature: Hex;
|
|
50
|
+
createdAt: string;
|
|
51
|
+
deployments: JBCenterDeployment[];
|
|
52
|
+
};
|
|
53
|
+
export type JBCenterSearchItem = JBCenterIntentMetadata & {
|
|
54
|
+
source: "jbcenter";
|
|
55
|
+
status: "undeployed";
|
|
56
|
+
intentId: string;
|
|
57
|
+
contentHash: Hex;
|
|
58
|
+
format: string;
|
|
59
|
+
deploymentVersion: string;
|
|
60
|
+
chainIds: number[];
|
|
61
|
+
publisher: Address;
|
|
62
|
+
createdAt: string;
|
|
63
|
+
};
|
|
64
|
+
export type JBCenterSearchPage = {
|
|
65
|
+
items: JBCenterSearchItem[];
|
|
66
|
+
totalCount: number;
|
|
67
|
+
nextCursor: string | null;
|
|
68
|
+
};
|
|
69
|
+
export type JBCenterSearchParams = {
|
|
70
|
+
query?: string;
|
|
71
|
+
limit?: number;
|
|
72
|
+
cursor?: string;
|
|
73
|
+
};
|
|
74
|
+
export type JBCenterPin = {
|
|
75
|
+
cid: string;
|
|
76
|
+
status: "queued";
|
|
77
|
+
uri: `ipfs://${string}`;
|
|
78
|
+
gatewayUrl: string;
|
|
79
|
+
};
|
|
80
|
+
export type JBCenterRequestOptions = {
|
|
81
|
+
signal?: AbortSignal;
|
|
82
|
+
timeoutMs?: number;
|
|
83
|
+
};
|
|
84
|
+
export type JBCenterClientOptions = {
|
|
85
|
+
/** A server-side API key. Omit it for trusted-origin browser pin requests. */
|
|
86
|
+
apiKey?: string;
|
|
87
|
+
baseUrl?: string;
|
|
88
|
+
fetch?: typeof fetch;
|
|
89
|
+
maxResponseBytes?: number;
|
|
90
|
+
timeoutMs?: number;
|
|
91
|
+
};
|
|
92
|
+
export declare class JBCenterRequestError extends Error {
|
|
93
|
+
readonly status: number;
|
|
94
|
+
readonly code?: string | undefined;
|
|
95
|
+
readonly requestId?: string | undefined;
|
|
96
|
+
readonly retryAfter?: number | undefined;
|
|
97
|
+
constructor(message: string, status: number, code?: string | undefined, requestId?: string | undefined, retryAfter?: number | undefined);
|
|
98
|
+
}
|
|
99
|
+
export declare class JBCenterTimeoutError extends Error {
|
|
100
|
+
readonly timeoutMs: number;
|
|
101
|
+
constructor(timeoutMs: number);
|
|
102
|
+
}
|
|
103
|
+
export declare class JBCenterClient {
|
|
104
|
+
readonly baseUrl: string;
|
|
105
|
+
private readonly apiKey?;
|
|
106
|
+
private readonly fetchImpl;
|
|
107
|
+
private readonly maxResponseBytes;
|
|
108
|
+
private readonly timeoutMs;
|
|
109
|
+
constructor(options?: JBCenterClientOptions);
|
|
110
|
+
prepareIntent<TJb extends JBCenterJsonObject>(intent: JBCenterIntentInput<TJb>, options?: JBCenterRequestOptions): Promise<JBCenterPreparedIntent<TJb>>;
|
|
111
|
+
publishIntent<TJb extends JBCenterJsonObject>(intent: JBCenterPublishIntentInput<TJb>, options?: JBCenterRequestOptions): Promise<JBCenterIntent<TJb>>;
|
|
112
|
+
getIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject>(intentId: string, options?: JBCenterRequestOptions): Promise<JBCenterIntent<TJb>>;
|
|
113
|
+
searchIntents(params?: JBCenterSearchParams, options?: JBCenterRequestOptions): Promise<JBCenterSearchPage>;
|
|
114
|
+
recordDeployment(intentId: string, deployment: JBCenterDeploymentInput, options?: JBCenterRequestOptions): Promise<JBCenterDeployment>;
|
|
115
|
+
pinJson(value: JBCenterJsonObject, options?: JBCenterRequestOptions): Promise<JBCenterPin>;
|
|
116
|
+
pinImage(content: Blob, options?: JBCenterRequestOptions & {
|
|
117
|
+
filename?: string;
|
|
118
|
+
}): Promise<JBCenterPin>;
|
|
119
|
+
pinMedia(content: Blob, options?: JBCenterRequestOptions & {
|
|
120
|
+
filename?: string;
|
|
121
|
+
}): Promise<JBCenterPin>;
|
|
122
|
+
private pinFile;
|
|
123
|
+
private fetchJson;
|
|
124
|
+
}
|
|
125
|
+
export declare function createJBCenterClient(options?: JBCenterClientOptions): JBCenterClient;
|
|
126
|
+
//# sourceMappingURL=jbcenter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jbcenter.d.ts","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
export const JBCENTER_DEFAULT_URL = "https://juicebox.center";
|
|
2
|
+
export const JBCENTER_REQUEST_TIMEOUT_MS = 15_000;
|
|
3
|
+
export const JBCENTER_PIN_TIMEOUT_MS = 300_000;
|
|
4
|
+
export const MAX_JBCENTER_RESPONSE_BYTES = 5 * 1024 * 1024;
|
|
5
|
+
export class JBCenterRequestError extends Error {
|
|
6
|
+
constructor(message, status, code, requestId, retryAfter) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.status = status;
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.requestId = requestId;
|
|
11
|
+
this.retryAfter = retryAfter;
|
|
12
|
+
this.name = "JBCenterRequestError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class JBCenterTimeoutError extends Error {
|
|
16
|
+
constructor(timeoutMs) {
|
|
17
|
+
super(`JB Center request timed out after ${timeoutMs}ms`);
|
|
18
|
+
this.timeoutMs = timeoutMs;
|
|
19
|
+
this.name = "JBCenterTimeoutError";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function record(value) {
|
|
23
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
24
|
+
}
|
|
25
|
+
function isHash(value) {
|
|
26
|
+
return typeof value === "string" && /^0x[0-9a-f]{64}$/iu.test(value);
|
|
27
|
+
}
|
|
28
|
+
function isSignature(value) {
|
|
29
|
+
return (typeof value === "string" &&
|
|
30
|
+
/^0x(?:[0-9a-f]{128}|[0-9a-f]{130})$/iu.test(value));
|
|
31
|
+
}
|
|
32
|
+
function isAddress(value) {
|
|
33
|
+
return typeof value === "string" && /^0x[0-9a-f]{40}$/iu.test(value);
|
|
34
|
+
}
|
|
35
|
+
function isStringArray(value) {
|
|
36
|
+
return (Array.isArray(value) && value.every((item) => typeof item === "string"));
|
|
37
|
+
}
|
|
38
|
+
function isNumberArray(value) {
|
|
39
|
+
return (Array.isArray(value) &&
|
|
40
|
+
value.every((item) => Number.isSafeInteger(item) && Number(item) > 0));
|
|
41
|
+
}
|
|
42
|
+
function isEnvelope(value) {
|
|
43
|
+
return (record(value) &&
|
|
44
|
+
value.version === 1 &&
|
|
45
|
+
typeof value.format === "string" &&
|
|
46
|
+
typeof value.deploymentVersion === "string" &&
|
|
47
|
+
isNumberArray(value.chainIds) &&
|
|
48
|
+
record(value.jb));
|
|
49
|
+
}
|
|
50
|
+
function isMetadata(value) {
|
|
51
|
+
return (typeof value.name === "string" &&
|
|
52
|
+
(value.description === null || typeof value.description === "string") &&
|
|
53
|
+
(value.tagline === null || typeof value.tagline === "string") &&
|
|
54
|
+
isStringArray(value.tags) &&
|
|
55
|
+
(value.logoUri === null || typeof value.logoUri === "string") &&
|
|
56
|
+
(value.owner === null || isAddress(value.owner)));
|
|
57
|
+
}
|
|
58
|
+
function isDeployment(value) {
|
|
59
|
+
return (record(value) &&
|
|
60
|
+
Number.isSafeInteger(value.chainId) &&
|
|
61
|
+
Number(value.chainId) > 0 &&
|
|
62
|
+
typeof value.projectId === "string" &&
|
|
63
|
+
isHash(value.transactionHash) &&
|
|
64
|
+
typeof value.createdAt === "string");
|
|
65
|
+
}
|
|
66
|
+
function isIntent(value) {
|
|
67
|
+
return (record(value) &&
|
|
68
|
+
isMetadata(value) &&
|
|
69
|
+
typeof value.id === "string" &&
|
|
70
|
+
(value.status === "undeployed" || value.status === "deployed") &&
|
|
71
|
+
isHash(value.contentHash) &&
|
|
72
|
+
isEnvelope(value.envelope) &&
|
|
73
|
+
isAddress(value.publisher) &&
|
|
74
|
+
isSignature(value.signature) &&
|
|
75
|
+
typeof value.createdAt === "string" &&
|
|
76
|
+
Array.isArray(value.deployments) &&
|
|
77
|
+
value.deployments.every(isDeployment));
|
|
78
|
+
}
|
|
79
|
+
function isPreparedIntent(value) {
|
|
80
|
+
return (record(value) &&
|
|
81
|
+
isHash(value.contentHash) &&
|
|
82
|
+
typeof value.message === "string" &&
|
|
83
|
+
isEnvelope(value.envelope));
|
|
84
|
+
}
|
|
85
|
+
function isSearchItem(value) {
|
|
86
|
+
return (record(value) &&
|
|
87
|
+
isMetadata(value) &&
|
|
88
|
+
value.source === "jbcenter" &&
|
|
89
|
+
value.status === "undeployed" &&
|
|
90
|
+
typeof value.intentId === "string" &&
|
|
91
|
+
isHash(value.contentHash) &&
|
|
92
|
+
typeof value.format === "string" &&
|
|
93
|
+
typeof value.deploymentVersion === "string" &&
|
|
94
|
+
isNumberArray(value.chainIds) &&
|
|
95
|
+
isAddress(value.publisher) &&
|
|
96
|
+
typeof value.createdAt === "string");
|
|
97
|
+
}
|
|
98
|
+
function isSearchPage(value) {
|
|
99
|
+
return (record(value) &&
|
|
100
|
+
Array.isArray(value.items) &&
|
|
101
|
+
value.items.every(isSearchItem) &&
|
|
102
|
+
Number.isSafeInteger(value.totalCount) &&
|
|
103
|
+
Number(value.totalCount) >= 0 &&
|
|
104
|
+
(value.nextCursor === null || typeof value.nextCursor === "string"));
|
|
105
|
+
}
|
|
106
|
+
function isPin(value) {
|
|
107
|
+
return (record(value) &&
|
|
108
|
+
typeof value.cid === "string" &&
|
|
109
|
+
/^(?:Qm[1-9A-HJ-NP-Za-km-z]{44}|b[a-z2-7]{20,160})$/u.test(value.cid) &&
|
|
110
|
+
value.status === "queued" &&
|
|
111
|
+
typeof value.uri === "string" &&
|
|
112
|
+
value.uri === `ipfs://${value.cid}` &&
|
|
113
|
+
value.gatewayUrl === `/ipfs/${value.cid}`);
|
|
114
|
+
}
|
|
115
|
+
function normalizeBaseUrl(value) {
|
|
116
|
+
const url = new URL(value);
|
|
117
|
+
if (url.protocol !== "https:" && url.protocol !== "http:") {
|
|
118
|
+
throw new TypeError("JB Center baseUrl must use HTTP or HTTPS");
|
|
119
|
+
}
|
|
120
|
+
if (url.username || url.password || url.search || url.hash) {
|
|
121
|
+
throw new TypeError("JB Center baseUrl cannot include credentials, query, or hash");
|
|
122
|
+
}
|
|
123
|
+
return url.toString().replace(/\/$/u, "");
|
|
124
|
+
}
|
|
125
|
+
async function readBoundedJson(response, maxResponseBytes) {
|
|
126
|
+
const declaredSize = Number(response.headers.get("content-length") ?? 0);
|
|
127
|
+
if (Number.isFinite(declaredSize) && declaredSize > maxResponseBytes) {
|
|
128
|
+
await response.body?.cancel();
|
|
129
|
+
throw new JBCenterRequestError("JB Center response exceeds the size limit", 502);
|
|
130
|
+
}
|
|
131
|
+
if (!response.headers.get("content-type")?.toLowerCase().includes("json")) {
|
|
132
|
+
await response.body?.cancel();
|
|
133
|
+
throw new JBCenterRequestError("JB Center returned an invalid content type", 502);
|
|
134
|
+
}
|
|
135
|
+
if (!response.body) {
|
|
136
|
+
throw new JBCenterRequestError("JB Center returned an empty response", 502);
|
|
137
|
+
}
|
|
138
|
+
const reader = response.body.getReader();
|
|
139
|
+
const chunks = [];
|
|
140
|
+
let total = 0;
|
|
141
|
+
try {
|
|
142
|
+
for (;;) {
|
|
143
|
+
const { done, value } = await reader.read();
|
|
144
|
+
if (done)
|
|
145
|
+
break;
|
|
146
|
+
total += value.byteLength;
|
|
147
|
+
if (total > maxResponseBytes) {
|
|
148
|
+
await reader.cancel("JB Center response exceeds the size limit");
|
|
149
|
+
throw new JBCenterRequestError("JB Center response exceeds the size limit", 502);
|
|
150
|
+
}
|
|
151
|
+
chunks.push(value);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
reader.releaseLock();
|
|
156
|
+
}
|
|
157
|
+
const bytes = new Uint8Array(total);
|
|
158
|
+
let offset = 0;
|
|
159
|
+
for (const chunk of chunks) {
|
|
160
|
+
bytes.set(chunk, offset);
|
|
161
|
+
offset += chunk.byteLength;
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
return JSON.parse(new TextDecoder().decode(bytes));
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
throw new JBCenterRequestError("JB Center returned invalid JSON", 502);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
function filenameOf(content, fallback) {
|
|
171
|
+
const candidate = content.name;
|
|
172
|
+
return typeof candidate === "string" && candidate ? candidate : fallback;
|
|
173
|
+
}
|
|
174
|
+
export class JBCenterClient {
|
|
175
|
+
constructor(options = {}) {
|
|
176
|
+
this.baseUrl = normalizeBaseUrl(options.baseUrl ?? JBCENTER_DEFAULT_URL);
|
|
177
|
+
if (options.apiKey !== undefined && !options.apiKey.trim()) {
|
|
178
|
+
throw new TypeError("JB Center apiKey cannot be empty");
|
|
179
|
+
}
|
|
180
|
+
const endpoint = new URL(this.baseUrl);
|
|
181
|
+
if (options.apiKey &&
|
|
182
|
+
endpoint.protocol !== "https:" &&
|
|
183
|
+
!["localhost", "127.0.0.1", "[::1]"].includes(endpoint.hostname)) {
|
|
184
|
+
throw new TypeError("JB Center apiKey requires HTTPS outside local development");
|
|
185
|
+
}
|
|
186
|
+
this.apiKey = options.apiKey;
|
|
187
|
+
this.fetchImpl = options.fetch ?? fetch;
|
|
188
|
+
this.maxResponseBytes =
|
|
189
|
+
options.maxResponseBytes ?? MAX_JBCENTER_RESPONSE_BYTES;
|
|
190
|
+
this.timeoutMs = options.timeoutMs ?? JBCENTER_REQUEST_TIMEOUT_MS;
|
|
191
|
+
if (!Number.isSafeInteger(this.maxResponseBytes) ||
|
|
192
|
+
this.maxResponseBytes <= 0) {
|
|
193
|
+
throw new TypeError("maxResponseBytes must be a positive safe integer");
|
|
194
|
+
}
|
|
195
|
+
if (!Number.isFinite(this.timeoutMs) || this.timeoutMs <= 0) {
|
|
196
|
+
throw new TypeError("timeoutMs must be positive");
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
prepareIntent(intent, options) {
|
|
200
|
+
return this.fetchJson("v1/intents/message", { method: "POST", body: JSON.stringify(intent) }, isPreparedIntent, options);
|
|
201
|
+
}
|
|
202
|
+
publishIntent(intent, options) {
|
|
203
|
+
return this.fetchJson("v1/intents", { method: "POST", body: JSON.stringify(intent) }, isIntent, options);
|
|
204
|
+
}
|
|
205
|
+
getIntent(intentId, options) {
|
|
206
|
+
return this.fetchJson(`v1/intents/${encodeURIComponent(intentId)}`, {}, isIntent, options);
|
|
207
|
+
}
|
|
208
|
+
searchIntents(params = {}, options) {
|
|
209
|
+
const query = new URLSearchParams();
|
|
210
|
+
if (params.query !== undefined)
|
|
211
|
+
query.set("q", params.query);
|
|
212
|
+
if (params.limit !== undefined)
|
|
213
|
+
query.set("limit", String(params.limit));
|
|
214
|
+
if (params.cursor !== undefined)
|
|
215
|
+
query.set("cursor", params.cursor);
|
|
216
|
+
const suffix = query.size ? `?${query}` : "";
|
|
217
|
+
return this.fetchJson(`v1/search${suffix}`, {}, isSearchPage, options);
|
|
218
|
+
}
|
|
219
|
+
recordDeployment(intentId, deployment, options) {
|
|
220
|
+
return this.fetchJson(`v1/intents/${encodeURIComponent(intentId)}/deployments`, { method: "POST", body: JSON.stringify(deployment) }, isDeployment, options);
|
|
221
|
+
}
|
|
222
|
+
pinJson(value, options) {
|
|
223
|
+
return this.fetchJson("v1/pins/json", { method: "POST", body: JSON.stringify(value) }, isPin, { ...options, timeoutMs: options?.timeoutMs ?? JBCENTER_PIN_TIMEOUT_MS });
|
|
224
|
+
}
|
|
225
|
+
pinImage(content, options) {
|
|
226
|
+
return this.pinFile("v1/pins/file", content, "image", options);
|
|
227
|
+
}
|
|
228
|
+
pinMedia(content, options) {
|
|
229
|
+
return this.pinFile("v1/pins/media", content, "media", options);
|
|
230
|
+
}
|
|
231
|
+
pinFile(path, content, fallbackName, options) {
|
|
232
|
+
const body = new FormData();
|
|
233
|
+
body.append("file", content, options?.filename ?? filenameOf(content, fallbackName));
|
|
234
|
+
return this.fetchJson(path, { method: "POST", body }, isPin, {
|
|
235
|
+
...options,
|
|
236
|
+
timeoutMs: options?.timeoutMs ?? JBCENTER_PIN_TIMEOUT_MS,
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
async fetchJson(path, init, validate, options = {}) {
|
|
240
|
+
const timeoutMs = options.timeoutMs ?? this.timeoutMs;
|
|
241
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
242
|
+
throw new TypeError("timeoutMs must be positive");
|
|
243
|
+
}
|
|
244
|
+
const controller = new AbortController();
|
|
245
|
+
const abort = () => controller.abort(options.signal?.reason);
|
|
246
|
+
options.signal?.addEventListener("abort", abort, { once: true });
|
|
247
|
+
const timeoutReason = new JBCenterTimeoutError(timeoutMs);
|
|
248
|
+
const timeout = setTimeout(() => controller.abort(timeoutReason), timeoutMs);
|
|
249
|
+
try {
|
|
250
|
+
if (options.signal?.aborted)
|
|
251
|
+
abort();
|
|
252
|
+
const headers = new Headers(init.headers);
|
|
253
|
+
headers.set("Accept", "application/json");
|
|
254
|
+
if (typeof init.body === "string") {
|
|
255
|
+
headers.set("Content-Type", "application/json");
|
|
256
|
+
}
|
|
257
|
+
if (this.apiKey)
|
|
258
|
+
headers.set("Authorization", `Bearer ${this.apiKey}`);
|
|
259
|
+
const response = await this.fetchImpl(`${this.baseUrl}/${path}`, {
|
|
260
|
+
...init,
|
|
261
|
+
headers,
|
|
262
|
+
signal: controller.signal,
|
|
263
|
+
});
|
|
264
|
+
const body = await readBoundedJson(response, this.maxResponseBytes);
|
|
265
|
+
if (!response.ok) {
|
|
266
|
+
const envelope = record(body) ? body : {};
|
|
267
|
+
const code = typeof envelope.error?.code === "string"
|
|
268
|
+
? envelope.error.code
|
|
269
|
+
: undefined;
|
|
270
|
+
const message = typeof envelope.error?.message === "string"
|
|
271
|
+
? envelope.error.message
|
|
272
|
+
: `JB Center request failed (${response.status})`;
|
|
273
|
+
const retryAfterHeader = response.headers.get("retry-after");
|
|
274
|
+
const retryAfter = Number(retryAfterHeader);
|
|
275
|
+
throw new JBCenterRequestError(message, response.status, code, response.headers.get("x-request-id") ?? undefined, retryAfterHeader !== null &&
|
|
276
|
+
Number.isFinite(retryAfter) &&
|
|
277
|
+
retryAfter >= 0
|
|
278
|
+
? retryAfter
|
|
279
|
+
: undefined);
|
|
280
|
+
}
|
|
281
|
+
if (!validate(body)) {
|
|
282
|
+
throw new JBCenterRequestError("JB Center returned an invalid response", 502, undefined, response.headers.get("x-request-id") ?? undefined);
|
|
283
|
+
}
|
|
284
|
+
return body;
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
if (controller.signal.reason === timeoutReason)
|
|
288
|
+
throw timeoutReason;
|
|
289
|
+
throw error;
|
|
290
|
+
}
|
|
291
|
+
finally {
|
|
292
|
+
clearTimeout(timeout);
|
|
293
|
+
options.signal?.removeEventListener("abort", abort);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
export function createJBCenterClient(options = {}) {
|
|
298
|
+
return new JBCenterClient(options);
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=jbcenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jbcenter.js","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bananapus/nana-sdk-core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"repository": {
|
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
"import": "./dist/esm/chains.js",
|
|
32
32
|
"require": "./dist/cjs/chains.js"
|
|
33
33
|
},
|
|
34
|
+
"./jbcenter": {
|
|
35
|
+
"types": "./dist/esm/jbcenter.d.ts",
|
|
36
|
+
"import": "./dist/esm/jbcenter.js",
|
|
37
|
+
"require": "./dist/cjs/jbcenter.js"
|
|
38
|
+
},
|
|
34
39
|
"./v6": {
|
|
35
40
|
"types": "./dist/esm/v6/index.d.ts",
|
|
36
41
|
"import": "./dist/esm/v6/index.js",
|