@wefunder/sdk 0.1.0-beta.1 → 0.1.0-beta.10
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 +190 -114
- package/dist/index.cjs +1588 -672
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7033 -1946
- package/dist/index.d.ts +7033 -1946
- package/dist/index.js +1575 -669
- package/dist/index.js.map +1 -1
- package/examples_manifest.json +67 -0
- package/package.json +12 -9
package/dist/index.cjs
CHANGED
|
@@ -25,29 +25,850 @@ __export(index_exports, {
|
|
|
25
25
|
DEFAULT_AUTHORIZE_BASE_URL: () => DEFAULT_AUTHORIZE_BASE_URL,
|
|
26
26
|
DEFAULT_OAUTH_BASE_URL: () => DEFAULT_OAUTH_BASE_URL,
|
|
27
27
|
DEFAULT_TOKEN_BASE_URL: () => DEFAULT_TOKEN_BASE_URL,
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
DEFAULT_TOLERANCE_SECONDS: () => DEFAULT_TOLERANCE_SECONDS,
|
|
29
|
+
LEGACY_DELIVERY_ID_HEADER: () => LEGACY_DELIVERY_ID_HEADER,
|
|
30
|
+
LEGACY_EVENT_HEADER: () => LEGACY_EVENT_HEADER,
|
|
31
|
+
LEGACY_SIGNATURE_HEADER: () => LEGACY_SIGNATURE_HEADER,
|
|
32
|
+
LEGACY_TIMESTAMP_HEADER: () => LEGACY_TIMESTAMP_HEADER,
|
|
30
33
|
REQUEST_ID_HEADER: () => REQUEST_ID_HEADER,
|
|
34
|
+
SANDBOX_AUTHORIZE_BASE_URL: () => SANDBOX_AUTHORIZE_BASE_URL,
|
|
31
35
|
SIGNATURE_HEADER: () => SIGNATURE_HEADER,
|
|
32
|
-
|
|
36
|
+
WebhookSignatureError: () => WebhookSignatureError,
|
|
33
37
|
Wefunder: () => Wefunder,
|
|
34
38
|
WefunderAuthError: () => WefunderAuthError,
|
|
35
39
|
WefunderError: () => WefunderError,
|
|
40
|
+
checkWebhookSignature: () => checkWebhookSignature,
|
|
36
41
|
clientCredentialsGrant: () => clientCredentialsGrant,
|
|
37
42
|
collect: () => collect,
|
|
43
|
+
computeWebhookSignature: () => computeWebhookSignature,
|
|
38
44
|
constructEvent: () => constructEvent,
|
|
45
|
+
constructEventFromRequest: () => constructEventFromRequest,
|
|
39
46
|
createAuthorizationUrl: () => createAuthorizationUrl,
|
|
47
|
+
dispatchWebhook: () => dispatchWebhook,
|
|
40
48
|
exchangeCode: () => exchangeCode,
|
|
41
49
|
generatePkce: () => generatePkce,
|
|
42
50
|
modeForToken: () => modeForToken,
|
|
43
51
|
paginate: () => paginate,
|
|
52
|
+
parseSignatureHeader: () => parseSignatureHeader,
|
|
44
53
|
refreshToken: () => refreshToken,
|
|
54
|
+
signWebhook: () => signWebhook,
|
|
45
55
|
verifyWebhook: () => verifyWebhook
|
|
46
56
|
});
|
|
47
57
|
module.exports = __toCommonJS(index_exports);
|
|
48
58
|
|
|
49
|
-
// src/
|
|
50
|
-
var
|
|
59
|
+
// src/generated/core/bodySerializer.gen.ts
|
|
60
|
+
var jsonBodySerializer = {
|
|
61
|
+
bodySerializer: (body) => JSON.stringify(
|
|
62
|
+
body,
|
|
63
|
+
(_key, value) => typeof value === "bigint" ? value.toString() : value
|
|
64
|
+
)
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// src/generated/core/params.gen.ts
|
|
68
|
+
var extraPrefixesMap = {
|
|
69
|
+
$body_: "body",
|
|
70
|
+
$headers_: "headers",
|
|
71
|
+
$path_: "path",
|
|
72
|
+
$query_: "query"
|
|
73
|
+
};
|
|
74
|
+
var extraPrefixes = Object.entries(extraPrefixesMap);
|
|
75
|
+
|
|
76
|
+
// src/generated/core/serverSentEvents.gen.ts
|
|
77
|
+
function createSseClient({
|
|
78
|
+
onRequest,
|
|
79
|
+
onSseError,
|
|
80
|
+
onSseEvent,
|
|
81
|
+
responseTransformer,
|
|
82
|
+
responseValidator,
|
|
83
|
+
sseDefaultRetryDelay,
|
|
84
|
+
sseMaxRetryAttempts,
|
|
85
|
+
sseMaxRetryDelay,
|
|
86
|
+
sseSleepFn,
|
|
87
|
+
url,
|
|
88
|
+
...options
|
|
89
|
+
}) {
|
|
90
|
+
let lastEventId;
|
|
91
|
+
const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
92
|
+
const createStream = async function* () {
|
|
93
|
+
let retryDelay = sseDefaultRetryDelay ?? 3e3;
|
|
94
|
+
let attempt = 0;
|
|
95
|
+
const signal = options.signal ?? new AbortController().signal;
|
|
96
|
+
while (true) {
|
|
97
|
+
if (signal.aborted) break;
|
|
98
|
+
attempt++;
|
|
99
|
+
const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers);
|
|
100
|
+
if (lastEventId !== void 0) {
|
|
101
|
+
headers.set("Last-Event-ID", lastEventId);
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
const requestInit = {
|
|
105
|
+
redirect: "follow",
|
|
106
|
+
...options,
|
|
107
|
+
body: options.serializedBody,
|
|
108
|
+
headers,
|
|
109
|
+
signal
|
|
110
|
+
};
|
|
111
|
+
let request = new Request(url, requestInit);
|
|
112
|
+
if (onRequest) {
|
|
113
|
+
request = await onRequest(url, requestInit);
|
|
114
|
+
}
|
|
115
|
+
const _fetch = options.fetch ?? globalThis.fetch;
|
|
116
|
+
const response = await _fetch(request);
|
|
117
|
+
if (!response.ok)
|
|
118
|
+
throw new Error(
|
|
119
|
+
`SSE failed: ${response.status} ${response.statusText}`
|
|
120
|
+
);
|
|
121
|
+
if (!response.body) throw new Error("No body in SSE response");
|
|
122
|
+
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
|
|
123
|
+
let buffer = "";
|
|
124
|
+
const abortHandler = () => {
|
|
125
|
+
try {
|
|
126
|
+
reader.cancel();
|
|
127
|
+
} catch {
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
signal.addEventListener("abort", abortHandler);
|
|
131
|
+
try {
|
|
132
|
+
while (true) {
|
|
133
|
+
const { done, value } = await reader.read();
|
|
134
|
+
if (done) break;
|
|
135
|
+
buffer += value;
|
|
136
|
+
buffer = buffer.replace(/\r\n?/g, "\n");
|
|
137
|
+
const chunks = buffer.split("\n\n");
|
|
138
|
+
buffer = chunks.pop() ?? "";
|
|
139
|
+
for (const chunk of chunks) {
|
|
140
|
+
const lines = chunk.split("\n");
|
|
141
|
+
const dataLines = [];
|
|
142
|
+
let eventName;
|
|
143
|
+
for (const line of lines) {
|
|
144
|
+
if (line.startsWith("data:")) {
|
|
145
|
+
dataLines.push(line.replace(/^data:\s*/, ""));
|
|
146
|
+
} else if (line.startsWith("event:")) {
|
|
147
|
+
eventName = line.replace(/^event:\s*/, "");
|
|
148
|
+
} else if (line.startsWith("id:")) {
|
|
149
|
+
lastEventId = line.replace(/^id:\s*/, "");
|
|
150
|
+
} else if (line.startsWith("retry:")) {
|
|
151
|
+
const parsed = Number.parseInt(
|
|
152
|
+
line.replace(/^retry:\s*/, ""),
|
|
153
|
+
10
|
|
154
|
+
);
|
|
155
|
+
if (!Number.isNaN(parsed)) {
|
|
156
|
+
retryDelay = parsed;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
let data;
|
|
161
|
+
let parsedJson = false;
|
|
162
|
+
if (dataLines.length) {
|
|
163
|
+
const rawData = dataLines.join("\n");
|
|
164
|
+
try {
|
|
165
|
+
data = JSON.parse(rawData);
|
|
166
|
+
parsedJson = true;
|
|
167
|
+
} catch {
|
|
168
|
+
data = rawData;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (parsedJson) {
|
|
172
|
+
if (responseValidator) {
|
|
173
|
+
await responseValidator(data);
|
|
174
|
+
}
|
|
175
|
+
if (responseTransformer) {
|
|
176
|
+
data = await responseTransformer(data);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
onSseEvent?.({
|
|
180
|
+
data,
|
|
181
|
+
event: eventName,
|
|
182
|
+
id: lastEventId,
|
|
183
|
+
retry: retryDelay
|
|
184
|
+
});
|
|
185
|
+
if (dataLines.length) {
|
|
186
|
+
yield data;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
} finally {
|
|
191
|
+
signal.removeEventListener("abort", abortHandler);
|
|
192
|
+
reader.releaseLock();
|
|
193
|
+
}
|
|
194
|
+
break;
|
|
195
|
+
} catch (error) {
|
|
196
|
+
onSseError?.(error);
|
|
197
|
+
if (sseMaxRetryAttempts !== void 0 && attempt >= sseMaxRetryAttempts) {
|
|
198
|
+
break;
|
|
199
|
+
}
|
|
200
|
+
const backoff = Math.min(
|
|
201
|
+
retryDelay * 2 ** (attempt - 1),
|
|
202
|
+
sseMaxRetryDelay ?? 3e4
|
|
203
|
+
);
|
|
204
|
+
await sleep(backoff);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
const stream = createStream();
|
|
209
|
+
return { stream };
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// src/generated/core/pathSerializer.gen.ts
|
|
213
|
+
var separatorArrayExplode = (style) => {
|
|
214
|
+
switch (style) {
|
|
215
|
+
case "label":
|
|
216
|
+
return ".";
|
|
217
|
+
case "matrix":
|
|
218
|
+
return ";";
|
|
219
|
+
case "simple":
|
|
220
|
+
return ",";
|
|
221
|
+
default:
|
|
222
|
+
return "&";
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
var separatorArrayNoExplode = (style) => {
|
|
226
|
+
switch (style) {
|
|
227
|
+
case "form":
|
|
228
|
+
return ",";
|
|
229
|
+
case "pipeDelimited":
|
|
230
|
+
return "|";
|
|
231
|
+
case "spaceDelimited":
|
|
232
|
+
return "%20";
|
|
233
|
+
default:
|
|
234
|
+
return ",";
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
var separatorObjectExplode = (style) => {
|
|
238
|
+
switch (style) {
|
|
239
|
+
case "label":
|
|
240
|
+
return ".";
|
|
241
|
+
case "matrix":
|
|
242
|
+
return ";";
|
|
243
|
+
case "simple":
|
|
244
|
+
return ",";
|
|
245
|
+
default:
|
|
246
|
+
return "&";
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
var serializeArrayParam = ({
|
|
250
|
+
allowReserved,
|
|
251
|
+
explode,
|
|
252
|
+
name,
|
|
253
|
+
style,
|
|
254
|
+
value
|
|
255
|
+
}) => {
|
|
256
|
+
if (!explode) {
|
|
257
|
+
const joinedValues2 = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style));
|
|
258
|
+
switch (style) {
|
|
259
|
+
case "label":
|
|
260
|
+
return `.${joinedValues2}`;
|
|
261
|
+
case "matrix":
|
|
262
|
+
return `;${name}=${joinedValues2}`;
|
|
263
|
+
case "simple":
|
|
264
|
+
return joinedValues2;
|
|
265
|
+
default:
|
|
266
|
+
return `${name}=${joinedValues2}`;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
const separator = separatorArrayExplode(style);
|
|
270
|
+
const joinedValues = value.map((v) => {
|
|
271
|
+
if (style === "label" || style === "simple") {
|
|
272
|
+
return allowReserved ? v : encodeURIComponent(v);
|
|
273
|
+
}
|
|
274
|
+
return serializePrimitiveParam({
|
|
275
|
+
allowReserved,
|
|
276
|
+
name,
|
|
277
|
+
value: v
|
|
278
|
+
});
|
|
279
|
+
}).join(separator);
|
|
280
|
+
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
281
|
+
};
|
|
282
|
+
var serializePrimitiveParam = ({
|
|
283
|
+
allowReserved,
|
|
284
|
+
name,
|
|
285
|
+
value
|
|
286
|
+
}) => {
|
|
287
|
+
if (value === void 0 || value === null) {
|
|
288
|
+
return "";
|
|
289
|
+
}
|
|
290
|
+
if (typeof value === "object") {
|
|
291
|
+
throw new Error(
|
|
292
|
+
"Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these."
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
|
|
296
|
+
};
|
|
297
|
+
var serializeObjectParam = ({
|
|
298
|
+
allowReserved,
|
|
299
|
+
explode,
|
|
300
|
+
name,
|
|
301
|
+
style,
|
|
302
|
+
value,
|
|
303
|
+
valueOnly
|
|
304
|
+
}) => {
|
|
305
|
+
if (value instanceof Date) {
|
|
306
|
+
return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;
|
|
307
|
+
}
|
|
308
|
+
if (style !== "deepObject" && !explode) {
|
|
309
|
+
let values = [];
|
|
310
|
+
Object.entries(value).forEach(([key, v]) => {
|
|
311
|
+
values = [
|
|
312
|
+
...values,
|
|
313
|
+
key,
|
|
314
|
+
allowReserved ? v : encodeURIComponent(v)
|
|
315
|
+
];
|
|
316
|
+
});
|
|
317
|
+
const joinedValues2 = values.join(",");
|
|
318
|
+
switch (style) {
|
|
319
|
+
case "form":
|
|
320
|
+
return `${name}=${joinedValues2}`;
|
|
321
|
+
case "label":
|
|
322
|
+
return `.${joinedValues2}`;
|
|
323
|
+
case "matrix":
|
|
324
|
+
return `;${name}=${joinedValues2}`;
|
|
325
|
+
default:
|
|
326
|
+
return joinedValues2;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
const separator = separatorObjectExplode(style);
|
|
330
|
+
const joinedValues = Object.entries(value).map(
|
|
331
|
+
([key, v]) => serializePrimitiveParam({
|
|
332
|
+
allowReserved,
|
|
333
|
+
name: style === "deepObject" ? `${name}[${key}]` : key,
|
|
334
|
+
value: v
|
|
335
|
+
})
|
|
336
|
+
).join(separator);
|
|
337
|
+
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
// src/generated/core/utils.gen.ts
|
|
341
|
+
var PATH_PARAM_RE = /\{[^{}]+\}/g;
|
|
342
|
+
var defaultPathSerializer = ({
|
|
343
|
+
path,
|
|
344
|
+
url: _url
|
|
345
|
+
}) => {
|
|
346
|
+
let url = _url;
|
|
347
|
+
const matches = _url.match(PATH_PARAM_RE);
|
|
348
|
+
if (matches) {
|
|
349
|
+
for (const match of matches) {
|
|
350
|
+
let explode = false;
|
|
351
|
+
let name = match.substring(1, match.length - 1);
|
|
352
|
+
let style = "simple";
|
|
353
|
+
if (name.endsWith("*")) {
|
|
354
|
+
explode = true;
|
|
355
|
+
name = name.substring(0, name.length - 1);
|
|
356
|
+
}
|
|
357
|
+
if (name.startsWith(".")) {
|
|
358
|
+
name = name.substring(1);
|
|
359
|
+
style = "label";
|
|
360
|
+
} else if (name.startsWith(";")) {
|
|
361
|
+
name = name.substring(1);
|
|
362
|
+
style = "matrix";
|
|
363
|
+
}
|
|
364
|
+
const value = path[name];
|
|
365
|
+
if (value === void 0 || value === null) {
|
|
366
|
+
continue;
|
|
367
|
+
}
|
|
368
|
+
if (Array.isArray(value)) {
|
|
369
|
+
url = url.replace(
|
|
370
|
+
match,
|
|
371
|
+
serializeArrayParam({ explode, name, style, value })
|
|
372
|
+
);
|
|
373
|
+
continue;
|
|
374
|
+
}
|
|
375
|
+
if (typeof value === "object") {
|
|
376
|
+
url = url.replace(
|
|
377
|
+
match,
|
|
378
|
+
serializeObjectParam({
|
|
379
|
+
explode,
|
|
380
|
+
name,
|
|
381
|
+
style,
|
|
382
|
+
value,
|
|
383
|
+
valueOnly: true
|
|
384
|
+
})
|
|
385
|
+
);
|
|
386
|
+
continue;
|
|
387
|
+
}
|
|
388
|
+
if (style === "matrix") {
|
|
389
|
+
url = url.replace(
|
|
390
|
+
match,
|
|
391
|
+
`;${serializePrimitiveParam({
|
|
392
|
+
name,
|
|
393
|
+
value
|
|
394
|
+
})}`
|
|
395
|
+
);
|
|
396
|
+
continue;
|
|
397
|
+
}
|
|
398
|
+
const replaceValue = encodeURIComponent(
|
|
399
|
+
style === "label" ? `.${value}` : value
|
|
400
|
+
);
|
|
401
|
+
url = url.replace(match, replaceValue);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
return url;
|
|
405
|
+
};
|
|
406
|
+
var getUrl = ({
|
|
407
|
+
baseUrl,
|
|
408
|
+
path,
|
|
409
|
+
query,
|
|
410
|
+
querySerializer,
|
|
411
|
+
url: _url
|
|
412
|
+
}) => {
|
|
413
|
+
const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
|
|
414
|
+
let url = (baseUrl ?? "") + pathUrl;
|
|
415
|
+
if (path) {
|
|
416
|
+
url = defaultPathSerializer({ path, url });
|
|
417
|
+
}
|
|
418
|
+
let search = query ? querySerializer(query) : "";
|
|
419
|
+
if (search.startsWith("?")) {
|
|
420
|
+
search = search.substring(1);
|
|
421
|
+
}
|
|
422
|
+
if (search) {
|
|
423
|
+
url += `?${search}`;
|
|
424
|
+
}
|
|
425
|
+
return url;
|
|
426
|
+
};
|
|
427
|
+
function getValidRequestBody(options) {
|
|
428
|
+
const hasBody = options.body !== void 0;
|
|
429
|
+
const isSerializedBody = hasBody && options.bodySerializer;
|
|
430
|
+
if (isSerializedBody) {
|
|
431
|
+
if ("serializedBody" in options) {
|
|
432
|
+
const hasSerializedBody = options.serializedBody !== void 0 && options.serializedBody !== "";
|
|
433
|
+
return hasSerializedBody ? options.serializedBody : null;
|
|
434
|
+
}
|
|
435
|
+
return options.body !== "" ? options.body : null;
|
|
436
|
+
}
|
|
437
|
+
if (hasBody) {
|
|
438
|
+
return options.body;
|
|
439
|
+
}
|
|
440
|
+
return void 0;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
// src/generated/core/auth.gen.ts
|
|
444
|
+
var getAuthToken = async (auth, callback) => {
|
|
445
|
+
const token = typeof callback === "function" ? await callback(auth) : callback;
|
|
446
|
+
if (!token) {
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
if (auth.scheme === "bearer") {
|
|
450
|
+
return `Bearer ${token}`;
|
|
451
|
+
}
|
|
452
|
+
if (auth.scheme === "basic") {
|
|
453
|
+
return `Basic ${btoa(token)}`;
|
|
454
|
+
}
|
|
455
|
+
return token;
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
// src/generated/client/utils.gen.ts
|
|
459
|
+
var createQuerySerializer = ({
|
|
460
|
+
parameters = {},
|
|
461
|
+
...args
|
|
462
|
+
} = {}) => {
|
|
463
|
+
const querySerializer = (queryParams) => {
|
|
464
|
+
const search = [];
|
|
465
|
+
if (queryParams && typeof queryParams === "object") {
|
|
466
|
+
for (const name in queryParams) {
|
|
467
|
+
const value = queryParams[name];
|
|
468
|
+
if (value === void 0 || value === null) {
|
|
469
|
+
continue;
|
|
470
|
+
}
|
|
471
|
+
const options = parameters[name] || args;
|
|
472
|
+
if (Array.isArray(value)) {
|
|
473
|
+
const serializedArray = serializeArrayParam({
|
|
474
|
+
allowReserved: options.allowReserved,
|
|
475
|
+
explode: true,
|
|
476
|
+
name,
|
|
477
|
+
style: "form",
|
|
478
|
+
value,
|
|
479
|
+
...options.array
|
|
480
|
+
});
|
|
481
|
+
if (serializedArray) search.push(serializedArray);
|
|
482
|
+
} else if (typeof value === "object") {
|
|
483
|
+
const serializedObject = serializeObjectParam({
|
|
484
|
+
allowReserved: options.allowReserved,
|
|
485
|
+
explode: true,
|
|
486
|
+
name,
|
|
487
|
+
style: "deepObject",
|
|
488
|
+
value,
|
|
489
|
+
...options.object
|
|
490
|
+
});
|
|
491
|
+
if (serializedObject) search.push(serializedObject);
|
|
492
|
+
} else {
|
|
493
|
+
const serializedPrimitive = serializePrimitiveParam({
|
|
494
|
+
allowReserved: options.allowReserved,
|
|
495
|
+
name,
|
|
496
|
+
value
|
|
497
|
+
});
|
|
498
|
+
if (serializedPrimitive) search.push(serializedPrimitive);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
return search.join("&");
|
|
503
|
+
};
|
|
504
|
+
return querySerializer;
|
|
505
|
+
};
|
|
506
|
+
var getParseAs = (contentType) => {
|
|
507
|
+
if (!contentType) {
|
|
508
|
+
return "stream";
|
|
509
|
+
}
|
|
510
|
+
const cleanContent = contentType.split(";")[0]?.trim();
|
|
511
|
+
if (!cleanContent) {
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
514
|
+
if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) {
|
|
515
|
+
return "json";
|
|
516
|
+
}
|
|
517
|
+
if (cleanContent === "multipart/form-data") {
|
|
518
|
+
return "formData";
|
|
519
|
+
}
|
|
520
|
+
if (["application/", "audio/", "image/", "video/"].some(
|
|
521
|
+
(type) => cleanContent.startsWith(type)
|
|
522
|
+
)) {
|
|
523
|
+
return "blob";
|
|
524
|
+
}
|
|
525
|
+
if (cleanContent.startsWith("text/")) {
|
|
526
|
+
return "text";
|
|
527
|
+
}
|
|
528
|
+
return;
|
|
529
|
+
};
|
|
530
|
+
var checkForExistence = (options, name) => {
|
|
531
|
+
if (!name) {
|
|
532
|
+
return false;
|
|
533
|
+
}
|
|
534
|
+
if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
|
|
535
|
+
return true;
|
|
536
|
+
}
|
|
537
|
+
return false;
|
|
538
|
+
};
|
|
539
|
+
async function setAuthParams(options) {
|
|
540
|
+
for (const auth of options.security ?? []) {
|
|
541
|
+
if (checkForExistence(options, auth.name)) {
|
|
542
|
+
continue;
|
|
543
|
+
}
|
|
544
|
+
const token = await getAuthToken(auth, options.auth);
|
|
545
|
+
if (!token) {
|
|
546
|
+
continue;
|
|
547
|
+
}
|
|
548
|
+
const name = auth.name ?? "Authorization";
|
|
549
|
+
switch (auth.in) {
|
|
550
|
+
case "query":
|
|
551
|
+
if (!options.query) {
|
|
552
|
+
options.query = {};
|
|
553
|
+
}
|
|
554
|
+
options.query[name] = token;
|
|
555
|
+
break;
|
|
556
|
+
case "cookie":
|
|
557
|
+
options.headers.append("Cookie", `${name}=${token}`);
|
|
558
|
+
break;
|
|
559
|
+
case "header":
|
|
560
|
+
default:
|
|
561
|
+
options.headers.set(name, token);
|
|
562
|
+
break;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
var buildUrl = (options) => getUrl({
|
|
567
|
+
baseUrl: options.baseUrl,
|
|
568
|
+
path: options.path,
|
|
569
|
+
query: options.query,
|
|
570
|
+
querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer),
|
|
571
|
+
url: options.url
|
|
572
|
+
});
|
|
573
|
+
var mergeConfigs = (a, b) => {
|
|
574
|
+
const config = { ...a, ...b };
|
|
575
|
+
if (config.baseUrl?.endsWith("/")) {
|
|
576
|
+
config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
|
|
577
|
+
}
|
|
578
|
+
config.headers = mergeHeaders(a.headers, b.headers);
|
|
579
|
+
return config;
|
|
580
|
+
};
|
|
581
|
+
var headersEntries = (headers) => {
|
|
582
|
+
const entries = [];
|
|
583
|
+
headers.forEach((value, key) => {
|
|
584
|
+
entries.push([key, value]);
|
|
585
|
+
});
|
|
586
|
+
return entries;
|
|
587
|
+
};
|
|
588
|
+
var mergeHeaders = (...headers) => {
|
|
589
|
+
const mergedHeaders = new Headers();
|
|
590
|
+
for (const header of headers) {
|
|
591
|
+
if (!header) {
|
|
592
|
+
continue;
|
|
593
|
+
}
|
|
594
|
+
const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
|
|
595
|
+
for (const [key, value] of iterator) {
|
|
596
|
+
if (value === null) {
|
|
597
|
+
mergedHeaders.delete(key);
|
|
598
|
+
} else if (Array.isArray(value)) {
|
|
599
|
+
for (const v of value) {
|
|
600
|
+
mergedHeaders.append(key, v);
|
|
601
|
+
}
|
|
602
|
+
} else if (value !== void 0) {
|
|
603
|
+
mergedHeaders.set(
|
|
604
|
+
key,
|
|
605
|
+
typeof value === "object" ? JSON.stringify(value) : value
|
|
606
|
+
);
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
return mergedHeaders;
|
|
611
|
+
};
|
|
612
|
+
var Interceptors = class {
|
|
613
|
+
fns = [];
|
|
614
|
+
clear() {
|
|
615
|
+
this.fns = [];
|
|
616
|
+
}
|
|
617
|
+
eject(id) {
|
|
618
|
+
const index = this.getInterceptorIndex(id);
|
|
619
|
+
if (this.fns[index]) {
|
|
620
|
+
this.fns[index] = null;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
exists(id) {
|
|
624
|
+
const index = this.getInterceptorIndex(id);
|
|
625
|
+
return Boolean(this.fns[index]);
|
|
626
|
+
}
|
|
627
|
+
getInterceptorIndex(id) {
|
|
628
|
+
if (typeof id === "number") {
|
|
629
|
+
return this.fns[id] ? id : -1;
|
|
630
|
+
}
|
|
631
|
+
return this.fns.indexOf(id);
|
|
632
|
+
}
|
|
633
|
+
update(id, fn) {
|
|
634
|
+
const index = this.getInterceptorIndex(id);
|
|
635
|
+
if (this.fns[index]) {
|
|
636
|
+
this.fns[index] = fn;
|
|
637
|
+
return id;
|
|
638
|
+
}
|
|
639
|
+
return false;
|
|
640
|
+
}
|
|
641
|
+
use(fn) {
|
|
642
|
+
this.fns.push(fn);
|
|
643
|
+
return this.fns.length - 1;
|
|
644
|
+
}
|
|
645
|
+
};
|
|
646
|
+
var createInterceptors = () => ({
|
|
647
|
+
error: new Interceptors(),
|
|
648
|
+
request: new Interceptors(),
|
|
649
|
+
response: new Interceptors()
|
|
650
|
+
});
|
|
651
|
+
var defaultQuerySerializer = createQuerySerializer({
|
|
652
|
+
allowReserved: false,
|
|
653
|
+
array: {
|
|
654
|
+
explode: true,
|
|
655
|
+
style: "form"
|
|
656
|
+
},
|
|
657
|
+
object: {
|
|
658
|
+
explode: true,
|
|
659
|
+
style: "deepObject"
|
|
660
|
+
}
|
|
661
|
+
});
|
|
662
|
+
var defaultHeaders = {
|
|
663
|
+
"Content-Type": "application/json"
|
|
664
|
+
};
|
|
665
|
+
var createConfig = (override = {}) => ({
|
|
666
|
+
...jsonBodySerializer,
|
|
667
|
+
headers: defaultHeaders,
|
|
668
|
+
parseAs: "auto",
|
|
669
|
+
querySerializer: defaultQuerySerializer,
|
|
670
|
+
...override
|
|
671
|
+
});
|
|
672
|
+
|
|
673
|
+
// src/generated/client/client.gen.ts
|
|
674
|
+
var createClient = (config = {}) => {
|
|
675
|
+
let _config = mergeConfigs(createConfig(), config);
|
|
676
|
+
const getConfig = () => ({ ..._config });
|
|
677
|
+
const setConfig = (config2) => {
|
|
678
|
+
_config = mergeConfigs(_config, config2);
|
|
679
|
+
return getConfig();
|
|
680
|
+
};
|
|
681
|
+
const interceptors = createInterceptors();
|
|
682
|
+
const beforeRequest = async (options) => {
|
|
683
|
+
const opts = {
|
|
684
|
+
..._config,
|
|
685
|
+
...options,
|
|
686
|
+
fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
|
|
687
|
+
headers: mergeHeaders(_config.headers, options.headers),
|
|
688
|
+
serializedBody: void 0
|
|
689
|
+
};
|
|
690
|
+
if (opts.security) {
|
|
691
|
+
await setAuthParams(opts);
|
|
692
|
+
}
|
|
693
|
+
if (opts.requestValidator) {
|
|
694
|
+
await opts.requestValidator(opts);
|
|
695
|
+
}
|
|
696
|
+
if (opts.body !== void 0 && opts.bodySerializer) {
|
|
697
|
+
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
698
|
+
}
|
|
699
|
+
if (opts.body === void 0 || opts.serializedBody === "") {
|
|
700
|
+
opts.headers.delete("Content-Type");
|
|
701
|
+
}
|
|
702
|
+
const resolvedOpts = opts;
|
|
703
|
+
const url = buildUrl(resolvedOpts);
|
|
704
|
+
return { opts: resolvedOpts, url };
|
|
705
|
+
};
|
|
706
|
+
const request = async (options) => {
|
|
707
|
+
const throwOnError = options.throwOnError ?? _config.throwOnError;
|
|
708
|
+
const responseStyle = options.responseStyle ?? _config.responseStyle;
|
|
709
|
+
let request2;
|
|
710
|
+
let response;
|
|
711
|
+
try {
|
|
712
|
+
const { opts, url } = await beforeRequest(options);
|
|
713
|
+
const requestInit = {
|
|
714
|
+
redirect: "follow",
|
|
715
|
+
...opts,
|
|
716
|
+
body: getValidRequestBody(opts)
|
|
717
|
+
};
|
|
718
|
+
request2 = new Request(url, requestInit);
|
|
719
|
+
for (const fn of interceptors.request.fns) {
|
|
720
|
+
if (fn) {
|
|
721
|
+
request2 = await fn(request2, opts);
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
const _fetch = opts.fetch;
|
|
725
|
+
response = await _fetch(request2);
|
|
726
|
+
for (const fn of interceptors.response.fns) {
|
|
727
|
+
if (fn) {
|
|
728
|
+
response = await fn(response, request2, opts);
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
const result = {
|
|
732
|
+
request: request2,
|
|
733
|
+
response
|
|
734
|
+
};
|
|
735
|
+
if (response.ok) {
|
|
736
|
+
const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
|
|
737
|
+
if (response.status === 204 || response.headers.get("Content-Length") === "0") {
|
|
738
|
+
let emptyData;
|
|
739
|
+
switch (parseAs) {
|
|
740
|
+
case "arrayBuffer":
|
|
741
|
+
case "blob":
|
|
742
|
+
case "text":
|
|
743
|
+
emptyData = await response[parseAs]();
|
|
744
|
+
break;
|
|
745
|
+
case "formData":
|
|
746
|
+
emptyData = new FormData();
|
|
747
|
+
break;
|
|
748
|
+
case "stream":
|
|
749
|
+
emptyData = response.body;
|
|
750
|
+
break;
|
|
751
|
+
case "json":
|
|
752
|
+
default:
|
|
753
|
+
emptyData = {};
|
|
754
|
+
break;
|
|
755
|
+
}
|
|
756
|
+
return opts.responseStyle === "data" ? emptyData : {
|
|
757
|
+
data: emptyData,
|
|
758
|
+
...result
|
|
759
|
+
};
|
|
760
|
+
}
|
|
761
|
+
let data;
|
|
762
|
+
switch (parseAs) {
|
|
763
|
+
case "arrayBuffer":
|
|
764
|
+
case "blob":
|
|
765
|
+
case "formData":
|
|
766
|
+
case "text":
|
|
767
|
+
data = await response[parseAs]();
|
|
768
|
+
break;
|
|
769
|
+
case "json": {
|
|
770
|
+
const text = await response.text();
|
|
771
|
+
data = text ? JSON.parse(text) : {};
|
|
772
|
+
break;
|
|
773
|
+
}
|
|
774
|
+
case "stream":
|
|
775
|
+
return opts.responseStyle === "data" ? response.body : {
|
|
776
|
+
data: response.body,
|
|
777
|
+
...result
|
|
778
|
+
};
|
|
779
|
+
}
|
|
780
|
+
if (parseAs === "json") {
|
|
781
|
+
if (opts.responseValidator) {
|
|
782
|
+
await opts.responseValidator(data);
|
|
783
|
+
}
|
|
784
|
+
if (opts.responseTransformer) {
|
|
785
|
+
data = await opts.responseTransformer(data);
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
return opts.responseStyle === "data" ? data : {
|
|
789
|
+
data,
|
|
790
|
+
...result
|
|
791
|
+
};
|
|
792
|
+
}
|
|
793
|
+
const textError = await response.text();
|
|
794
|
+
let jsonError;
|
|
795
|
+
try {
|
|
796
|
+
jsonError = JSON.parse(textError);
|
|
797
|
+
} catch {
|
|
798
|
+
}
|
|
799
|
+
throw jsonError ?? textError;
|
|
800
|
+
} catch (error) {
|
|
801
|
+
let finalError = error;
|
|
802
|
+
for (const fn of interceptors.error.fns) {
|
|
803
|
+
if (fn) {
|
|
804
|
+
finalError = await fn(
|
|
805
|
+
finalError,
|
|
806
|
+
response,
|
|
807
|
+
request2,
|
|
808
|
+
options
|
|
809
|
+
);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
finalError = finalError || {};
|
|
813
|
+
if (throwOnError) {
|
|
814
|
+
throw finalError;
|
|
815
|
+
}
|
|
816
|
+
return responseStyle === "data" ? void 0 : {
|
|
817
|
+
error: finalError,
|
|
818
|
+
request: request2,
|
|
819
|
+
response
|
|
820
|
+
};
|
|
821
|
+
}
|
|
822
|
+
};
|
|
823
|
+
const makeMethodFn = (method) => (options) => request({ ...options, method });
|
|
824
|
+
const makeSseFn = (method) => async (options) => {
|
|
825
|
+
const { opts, url } = await beforeRequest(options);
|
|
826
|
+
return createSseClient({
|
|
827
|
+
...opts,
|
|
828
|
+
body: opts.body,
|
|
829
|
+
method,
|
|
830
|
+
onRequest: async (url2, init) => {
|
|
831
|
+
let request2 = new Request(url2, init);
|
|
832
|
+
for (const fn of interceptors.request.fns) {
|
|
833
|
+
if (fn) {
|
|
834
|
+
request2 = await fn(request2, opts);
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
return request2;
|
|
838
|
+
},
|
|
839
|
+
serializedBody: getValidRequestBody(opts),
|
|
840
|
+
url
|
|
841
|
+
});
|
|
842
|
+
};
|
|
843
|
+
const _buildUrl = (options) => buildUrl({ ..._config, ...options });
|
|
844
|
+
return {
|
|
845
|
+
buildUrl: _buildUrl,
|
|
846
|
+
connect: makeMethodFn("CONNECT"),
|
|
847
|
+
delete: makeMethodFn("DELETE"),
|
|
848
|
+
get: makeMethodFn("GET"),
|
|
849
|
+
getConfig,
|
|
850
|
+
head: makeMethodFn("HEAD"),
|
|
851
|
+
interceptors,
|
|
852
|
+
options: makeMethodFn("OPTIONS"),
|
|
853
|
+
patch: makeMethodFn("PATCH"),
|
|
854
|
+
post: makeMethodFn("POST"),
|
|
855
|
+
put: makeMethodFn("PUT"),
|
|
856
|
+
request,
|
|
857
|
+
setConfig,
|
|
858
|
+
sse: {
|
|
859
|
+
connect: makeSseFn("CONNECT"),
|
|
860
|
+
delete: makeSseFn("DELETE"),
|
|
861
|
+
get: makeSseFn("GET"),
|
|
862
|
+
head: makeSseFn("HEAD"),
|
|
863
|
+
options: makeSseFn("OPTIONS"),
|
|
864
|
+
patch: makeSseFn("PATCH"),
|
|
865
|
+
post: makeSseFn("POST"),
|
|
866
|
+
put: makeSseFn("PUT"),
|
|
867
|
+
trace: makeSseFn("TRACE")
|
|
868
|
+
},
|
|
869
|
+
trace: makeMethodFn("TRACE")
|
|
870
|
+
};
|
|
871
|
+
};
|
|
51
872
|
|
|
52
873
|
// src/http.ts
|
|
53
874
|
var IDEMPOTENT = /* @__PURE__ */ new Set(["GET", "HEAD", "OPTIONS"]);
|
|
@@ -69,13 +890,6 @@ function backoffMs(attempt, opts, random) {
|
|
|
69
890
|
const jitter = exp * 0.5 * random();
|
|
70
891
|
return Math.min(exp + jitter, opts.maxDelayMs);
|
|
71
892
|
}
|
|
72
|
-
function withBearer(input, init, token) {
|
|
73
|
-
const headers = new Headers(
|
|
74
|
-
init?.headers ?? (input instanceof Request ? input.headers : void 0)
|
|
75
|
-
);
|
|
76
|
-
headers.set("Authorization", `Bearer ${token}`);
|
|
77
|
-
return { ...init, headers };
|
|
78
|
-
}
|
|
79
893
|
function createFetch(deps) {
|
|
80
894
|
const baseFetch = deps.fetch ?? fetch;
|
|
81
895
|
const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
@@ -89,21 +903,37 @@ function createFetch(deps) {
|
|
|
89
903
|
return async function wrappedFetch(input, init) {
|
|
90
904
|
const method = methodOf(input, init);
|
|
91
905
|
const idempotent = IDEMPOTENT.has(method);
|
|
906
|
+
const isRequest = input instanceof Request;
|
|
92
907
|
let refreshed = false;
|
|
93
908
|
let attempt = 0;
|
|
909
|
+
let retryToken;
|
|
910
|
+
const dispatch = (authToken) => {
|
|
911
|
+
if (isRequest) {
|
|
912
|
+
const fresh = input.clone();
|
|
913
|
+
if (authToken === void 0) return baseFetch(fresh);
|
|
914
|
+
const headers = new Headers(fresh.headers);
|
|
915
|
+
headers.set("Authorization", `Bearer ${authToken}`);
|
|
916
|
+
return baseFetch(new Request(fresh, { headers }));
|
|
917
|
+
}
|
|
918
|
+
const nextInit = authToken === void 0 ? init : (() => {
|
|
919
|
+
const headers = new Headers(init?.headers);
|
|
920
|
+
headers.set("Authorization", `Bearer ${authToken}`);
|
|
921
|
+
return { ...init, headers };
|
|
922
|
+
})();
|
|
923
|
+
return baseFetch(input, nextInit);
|
|
924
|
+
};
|
|
94
925
|
for (; ; ) {
|
|
95
926
|
let response;
|
|
96
927
|
let networkError;
|
|
97
928
|
try {
|
|
98
|
-
response = await
|
|
929
|
+
response = await dispatch(retryToken);
|
|
99
930
|
} catch (err) {
|
|
100
931
|
networkError = err;
|
|
101
932
|
}
|
|
102
|
-
|
|
103
|
-
if (response?.status === 401 && !refreshed && replayable && deps.tokenManager?.canRefresh) {
|
|
933
|
+
if (response?.status === 401 && !refreshed && deps.tokenManager?.canRefresh) {
|
|
104
934
|
refreshed = true;
|
|
105
935
|
const next = await deps.tokenManager.refresh();
|
|
106
|
-
|
|
936
|
+
retryToken = next.accessToken;
|
|
107
937
|
continue;
|
|
108
938
|
}
|
|
109
939
|
if (response?.status === 429 && attempt < retry.maxRetries) {
|
|
@@ -126,10 +956,11 @@ function createFetch(deps) {
|
|
|
126
956
|
// src/oauth.ts
|
|
127
957
|
var import_node_crypto = require("crypto");
|
|
128
958
|
var DEFAULT_AUTHORIZE_BASE_URL = "https://wefunder.com/oauth";
|
|
129
|
-
var
|
|
959
|
+
var SANDBOX_AUTHORIZE_BASE_URL = "https://oauth.wefunder-sandbox.com/oauth";
|
|
960
|
+
var DEFAULT_TOKEN_BASE_URL = "https://api.wefunder.com/oauth";
|
|
130
961
|
var DEFAULT_OAUTH_BASE_URL = DEFAULT_AUTHORIZE_BASE_URL;
|
|
131
|
-
function
|
|
132
|
-
return
|
|
962
|
+
function defaultAuthorizeBase(clientId) {
|
|
963
|
+
return clientId.startsWith("pk_test_") ? SANDBOX_AUTHORIZE_BASE_URL : DEFAULT_AUTHORIZE_BASE_URL;
|
|
133
964
|
}
|
|
134
965
|
function resolveTokenBase(o) {
|
|
135
966
|
return o.tokenBaseUrl ?? o.oauthBaseUrl ?? DEFAULT_TOKEN_BASE_URL;
|
|
@@ -169,7 +1000,7 @@ function generatePkce() {
|
|
|
169
1000
|
return { codeVerifier, codeChallenge, codeChallengeMethod: "S256" };
|
|
170
1001
|
}
|
|
171
1002
|
function createAuthorizationUrl(opts) {
|
|
172
|
-
const base =
|
|
1003
|
+
const base = opts.authorizeBaseUrl ?? opts.oauthBaseUrl ?? defaultAuthorizeBase(opts.clientId);
|
|
173
1004
|
const q = new URLSearchParams({
|
|
174
1005
|
response_type: "code",
|
|
175
1006
|
client_id: opts.clientId,
|
|
@@ -357,21 +1188,36 @@ var sdk_gen_exports = {};
|
|
|
357
1188
|
__export(sdk_gen_exports, {
|
|
358
1189
|
approveSyndicateMember: () => approveSyndicateMember,
|
|
359
1190
|
closeSyndicateDeal: () => closeSyndicateDeal,
|
|
1191
|
+
createInstallation: () => createInstallation,
|
|
1192
|
+
createInstallationToken: () => createInstallationToken,
|
|
360
1193
|
createIntent: () => createIntent,
|
|
361
1194
|
createPartnerInvite: () => createPartnerInvite,
|
|
1195
|
+
createWebhookEndpoint: () => createWebhookEndpoint,
|
|
362
1196
|
createWebhookSubscription: () => createWebhookSubscription,
|
|
1197
|
+
deleteWebhookEndpoint: () => deleteWebhookEndpoint,
|
|
363
1198
|
deleteWebhookSubscription: () => deleteWebhookSubscription,
|
|
364
1199
|
demoteSyndicateMember: () => demoteSyndicateMember,
|
|
365
1200
|
exportSyndicateMembersCsv: () => exportSyndicateMembersCsv,
|
|
366
1201
|
finalizeSyndicateDeal: () => finalizeSyndicateDeal,
|
|
1202
|
+
followCompany: () => followCompany,
|
|
367
1203
|
getAttributionMe: () => getAttributionMe,
|
|
368
1204
|
getAttributionStats: () => getAttributionStats,
|
|
1205
|
+
getCompany: () => getCompany,
|
|
1206
|
+
getCompanyDisclosures: () => getCompanyDisclosures,
|
|
1207
|
+
getCompanyPitch: () => getCompanyPitch,
|
|
1208
|
+
getCompanyUpdate: () => getCompanyUpdate,
|
|
369
1209
|
getCurrentUser: () => getCurrentUser,
|
|
1210
|
+
getInstallation: () => getInstallation,
|
|
370
1211
|
getIntent: () => getIntent,
|
|
1212
|
+
getInvestment: () => getInvestment,
|
|
371
1213
|
getOffering: () => getOffering,
|
|
1214
|
+
getOfferingStats: () => getOfferingStats,
|
|
1215
|
+
getPortfolio: () => getPortfolio,
|
|
372
1216
|
getSyndicate: () => getSyndicate,
|
|
373
1217
|
getSyndicateDeal: () => getSyndicateDeal,
|
|
1218
|
+
getSyndicatePortfolio: () => getSyndicatePortfolio,
|
|
374
1219
|
getSyndicateStatistics: () => getSyndicateStatistics,
|
|
1220
|
+
getWebhookEndpoint: () => getWebhookEndpoint,
|
|
375
1221
|
getWebhookSubscription: () => getWebhookSubscription,
|
|
376
1222
|
hideSyndicateMember: () => hideSyndicateMember,
|
|
377
1223
|
inviteSyndicateMember: () => inviteSyndicateMember,
|
|
@@ -379,19 +1225,31 @@ __export(sdk_gen_exports, {
|
|
|
379
1225
|
listAttributedInvestments: () => listAttributedInvestments,
|
|
380
1226
|
listAttributionCampaigns: () => listAttributionCampaigns,
|
|
381
1227
|
listCampaigns: () => listCampaigns,
|
|
1228
|
+
listCompanyInvestmentChanges: () => listCompanyInvestmentChanges,
|
|
1229
|
+
listCompanyQuestions: () => listCompanyQuestions,
|
|
1230
|
+
listCompanyUpdates: () => listCompanyUpdates,
|
|
382
1231
|
listConnectedApps: () => listConnectedApps,
|
|
1232
|
+
listEligibleInstallTargets: () => listEligibleInstallTargets,
|
|
1233
|
+
listFollowedCompanies: () => listFollowedCompanies,
|
|
1234
|
+
listInstallations: () => listInstallations,
|
|
383
1235
|
listIntents: () => listIntents,
|
|
384
1236
|
listInvestments: () => listInvestments,
|
|
1237
|
+
listMyCompanies: () => listMyCompanies,
|
|
385
1238
|
listOfferings: () => listOfferings,
|
|
386
1239
|
listPartnerInvites: () => listPartnerInvites,
|
|
1240
|
+
listPortfolioPositions: () => listPortfolioPositions,
|
|
387
1241
|
listSyndicateDealInvestors: () => listSyndicateDealInvestors,
|
|
388
1242
|
listSyndicateDeals: () => listSyndicateDeals,
|
|
389
1243
|
listSyndicateMemberInvestments: () => listSyndicateMemberInvestments,
|
|
390
1244
|
listSyndicateMembers: () => listSyndicateMembers,
|
|
1245
|
+
listSyndicatePortfolioPositions: () => listSyndicatePortfolioPositions,
|
|
391
1246
|
listSyndicates: () => listSyndicates,
|
|
1247
|
+
listWebhookEndpoints: () => listWebhookEndpoints,
|
|
392
1248
|
listWebhookSubscriptions: () => listWebhookSubscriptions,
|
|
1249
|
+
previewIntent: () => previewIntent,
|
|
393
1250
|
promoteSyndicateMember: () => promoteSyndicateMember,
|
|
394
1251
|
reactivateWebhookSubscription: () => reactivateWebhookSubscription,
|
|
1252
|
+
reenableWebhookEndpoint: () => reenableWebhookEndpoint,
|
|
395
1253
|
regenerateWebhookSecret: () => regenerateWebhookSecret,
|
|
396
1254
|
registerAsPartner: () => registerAsPartner,
|
|
397
1255
|
removeSyndicateMember: () => removeSyndicateMember,
|
|
@@ -399,628 +1257,500 @@ __export(sdk_gen_exports, {
|
|
|
399
1257
|
resendSyndicateInvite: () => resendSyndicateInvite,
|
|
400
1258
|
restoreSyndicateMember: () => restoreSyndicateMember,
|
|
401
1259
|
revokeConnectedApp: () => revokeConnectedApp,
|
|
1260
|
+
revokeInstallation: () => revokeInstallation,
|
|
402
1261
|
revokePartnerInvite: () => revokePartnerInvite,
|
|
1262
|
+
rotateWebhookEndpointSecret: () => rotateWebhookEndpointSecret,
|
|
1263
|
+
searchCompanies: () => searchCompanies,
|
|
1264
|
+
testWebhookEndpoint: () => testWebhookEndpoint,
|
|
403
1265
|
testWebhookSubscription: () => testWebhookSubscription,
|
|
1266
|
+
unfollowCompany: () => unfollowCompany,
|
|
404
1267
|
updateSyndicate: () => updateSyndicate,
|
|
405
|
-
updateSyndicateMember: () => updateSyndicateMember
|
|
1268
|
+
updateSyndicateMember: () => updateSyndicateMember,
|
|
1269
|
+
updateWebhookEndpoint: () => updateWebhookEndpoint
|
|
406
1270
|
});
|
|
407
1271
|
|
|
408
1272
|
// src/generated/client.gen.ts
|
|
409
|
-
var
|
|
410
|
-
|
|
1273
|
+
var client = createClient(
|
|
1274
|
+
createConfig({ baseUrl: "https://api.wefunder.com" })
|
|
1275
|
+
);
|
|
411
1276
|
|
|
412
1277
|
// src/generated/sdk.gen.ts
|
|
413
|
-
var listOfferings = (options) => {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
{
|
|
417
|
-
|
|
418
|
-
type: "http"
|
|
419
|
-
}
|
|
420
|
-
],
|
|
421
|
-
url: "/explore",
|
|
422
|
-
...options
|
|
423
|
-
});
|
|
424
|
-
};
|
|
425
|
-
var getOffering = (options) => {
|
|
426
|
-
return (options.client ?? client).get({
|
|
427
|
-
security: [
|
|
428
|
-
{
|
|
429
|
-
scheme: "bearer",
|
|
430
|
-
type: "http"
|
|
431
|
-
}
|
|
432
|
-
],
|
|
433
|
-
url: "/offerings/{external_id}",
|
|
434
|
-
...options
|
|
435
|
-
});
|
|
436
|
-
};
|
|
437
|
-
var getCurrentUser = (options) => {
|
|
438
|
-
return (options?.client ?? client).get({
|
|
439
|
-
security: [
|
|
440
|
-
{
|
|
441
|
-
scheme: "bearer",
|
|
442
|
-
type: "http"
|
|
443
|
-
}
|
|
444
|
-
],
|
|
445
|
-
url: "/users/me",
|
|
446
|
-
...options
|
|
447
|
-
});
|
|
448
|
-
};
|
|
449
|
-
var listInvestments = (options) => {
|
|
450
|
-
return (options?.client ?? client).get({
|
|
451
|
-
security: [
|
|
452
|
-
{
|
|
453
|
-
scheme: "bearer",
|
|
454
|
-
type: "http"
|
|
455
|
-
}
|
|
456
|
-
],
|
|
457
|
-
url: "/investments",
|
|
458
|
-
...options
|
|
459
|
-
});
|
|
460
|
-
};
|
|
461
|
-
var listCampaigns = (options) => {
|
|
462
|
-
return (options?.client ?? client).get({
|
|
463
|
-
security: [
|
|
464
|
-
{
|
|
465
|
-
scheme: "bearer",
|
|
466
|
-
type: "http"
|
|
467
|
-
}
|
|
468
|
-
],
|
|
469
|
-
url: "/campaigns",
|
|
470
|
-
...options
|
|
471
|
-
});
|
|
472
|
-
};
|
|
473
|
-
var listSyndicates = (options) => {
|
|
474
|
-
return (options?.client ?? client).get({
|
|
475
|
-
security: [
|
|
476
|
-
{
|
|
477
|
-
scheme: "bearer",
|
|
478
|
-
type: "http"
|
|
479
|
-
}
|
|
480
|
-
],
|
|
481
|
-
url: "/syndicates",
|
|
482
|
-
...options
|
|
483
|
-
});
|
|
484
|
-
};
|
|
485
|
-
var getSyndicate = (options) => {
|
|
486
|
-
return (options.client ?? client).get({
|
|
487
|
-
security: [
|
|
488
|
-
{
|
|
489
|
-
scheme: "bearer",
|
|
490
|
-
type: "http"
|
|
491
|
-
}
|
|
492
|
-
],
|
|
493
|
-
url: "/syndicates/{syndicate_id}",
|
|
494
|
-
...options
|
|
495
|
-
});
|
|
496
|
-
};
|
|
497
|
-
var updateSyndicate = (options) => {
|
|
498
|
-
return (options.client ?? client).patch({
|
|
499
|
-
security: [
|
|
500
|
-
{
|
|
501
|
-
scheme: "bearer",
|
|
502
|
-
type: "http"
|
|
503
|
-
}
|
|
504
|
-
],
|
|
505
|
-
url: "/syndicates/{syndicate_id}",
|
|
506
|
-
...options,
|
|
507
|
-
headers: {
|
|
508
|
-
"Content-Type": "application/json",
|
|
509
|
-
...options?.headers
|
|
510
|
-
}
|
|
511
|
-
});
|
|
512
|
-
};
|
|
513
|
-
var listSyndicateMembers = (options) => {
|
|
514
|
-
return (options.client ?? client).get({
|
|
515
|
-
security: [
|
|
516
|
-
{
|
|
517
|
-
scheme: "bearer",
|
|
518
|
-
type: "http"
|
|
519
|
-
}
|
|
520
|
-
],
|
|
521
|
-
url: "/syndicates/{syndicate_id}/members",
|
|
522
|
-
...options
|
|
523
|
-
});
|
|
524
|
-
};
|
|
525
|
-
var inviteSyndicateMember = (options) => {
|
|
526
|
-
return (options.client ?? client).post({
|
|
527
|
-
security: [
|
|
528
|
-
{
|
|
529
|
-
scheme: "bearer",
|
|
530
|
-
type: "http"
|
|
531
|
-
}
|
|
532
|
-
],
|
|
533
|
-
url: "/syndicates/{syndicate_id}/members/invite",
|
|
534
|
-
...options,
|
|
535
|
-
headers: {
|
|
536
|
-
"Content-Type": "application/json",
|
|
537
|
-
...options?.headers
|
|
538
|
-
}
|
|
539
|
-
});
|
|
540
|
-
};
|
|
541
|
-
var removeSyndicateMember = (options) => {
|
|
542
|
-
return (options.client ?? client).delete({
|
|
543
|
-
security: [
|
|
544
|
-
{
|
|
545
|
-
scheme: "bearer",
|
|
546
|
-
type: "http"
|
|
547
|
-
}
|
|
548
|
-
],
|
|
549
|
-
url: "/syndicates/{syndicate_id}/members/{member_id}",
|
|
550
|
-
...options
|
|
551
|
-
});
|
|
552
|
-
};
|
|
553
|
-
var updateSyndicateMember = (options) => {
|
|
554
|
-
return (options.client ?? client).patch({
|
|
555
|
-
security: [
|
|
556
|
-
{
|
|
557
|
-
scheme: "bearer",
|
|
558
|
-
type: "http"
|
|
559
|
-
}
|
|
560
|
-
],
|
|
561
|
-
url: "/syndicates/{syndicate_id}/members/{member_id}",
|
|
562
|
-
...options,
|
|
563
|
-
headers: {
|
|
564
|
-
"Content-Type": "application/json",
|
|
565
|
-
...options?.headers
|
|
566
|
-
}
|
|
567
|
-
});
|
|
568
|
-
};
|
|
569
|
-
var approveSyndicateMember = (options) => {
|
|
570
|
-
return (options.client ?? client).post({
|
|
571
|
-
security: [
|
|
572
|
-
{
|
|
573
|
-
scheme: "bearer",
|
|
574
|
-
type: "http"
|
|
575
|
-
}
|
|
576
|
-
],
|
|
577
|
-
url: "/syndicates/{syndicate_id}/members/{member_id}/approve",
|
|
578
|
-
...options
|
|
579
|
-
});
|
|
580
|
-
};
|
|
581
|
-
var hideSyndicateMember = (options) => {
|
|
582
|
-
return (options.client ?? client).post({
|
|
583
|
-
security: [
|
|
584
|
-
{
|
|
585
|
-
scheme: "bearer",
|
|
586
|
-
type: "http"
|
|
587
|
-
}
|
|
588
|
-
],
|
|
589
|
-
url: "/syndicates/{syndicate_id}/members/{member_id}/hide",
|
|
590
|
-
...options
|
|
591
|
-
});
|
|
592
|
-
};
|
|
593
|
-
var promoteSyndicateMember = (options) => {
|
|
594
|
-
return (options.client ?? client).post({
|
|
595
|
-
security: [
|
|
596
|
-
{
|
|
597
|
-
scheme: "bearer",
|
|
598
|
-
type: "http"
|
|
599
|
-
}
|
|
600
|
-
],
|
|
601
|
-
url: "/syndicates/{syndicate_id}/members/{member_id}/promote",
|
|
602
|
-
...options
|
|
603
|
-
});
|
|
604
|
-
};
|
|
605
|
-
var demoteSyndicateMember = (options) => {
|
|
606
|
-
return (options.client ?? client).post({
|
|
607
|
-
security: [
|
|
608
|
-
{
|
|
609
|
-
scheme: "bearer",
|
|
610
|
-
type: "http"
|
|
611
|
-
}
|
|
612
|
-
],
|
|
613
|
-
url: "/syndicates/{syndicate_id}/members/{member_id}/demote",
|
|
614
|
-
...options
|
|
615
|
-
});
|
|
616
|
-
};
|
|
617
|
-
var restoreSyndicateMember = (options) => {
|
|
618
|
-
return (options.client ?? client).post({
|
|
619
|
-
security: [
|
|
620
|
-
{
|
|
621
|
-
scheme: "bearer",
|
|
622
|
-
type: "http"
|
|
623
|
-
}
|
|
624
|
-
],
|
|
625
|
-
url: "/syndicates/{syndicate_id}/members/{member_id}/restore",
|
|
626
|
-
...options
|
|
627
|
-
});
|
|
628
|
-
};
|
|
629
|
-
var resendSyndicateInvite = (options) => {
|
|
630
|
-
return (options.client ?? client).post({
|
|
631
|
-
security: [
|
|
632
|
-
{
|
|
633
|
-
scheme: "bearer",
|
|
634
|
-
type: "http"
|
|
635
|
-
}
|
|
636
|
-
],
|
|
637
|
-
url: "/syndicates/{syndicate_id}/members/{member_id}/resend_invite",
|
|
638
|
-
...options
|
|
639
|
-
});
|
|
640
|
-
};
|
|
641
|
-
var reorderSyndicateMembers = (options) => {
|
|
642
|
-
return (options.client ?? client).post({
|
|
643
|
-
security: [
|
|
644
|
-
{
|
|
645
|
-
scheme: "bearer",
|
|
646
|
-
type: "http"
|
|
647
|
-
}
|
|
648
|
-
],
|
|
649
|
-
url: "/syndicates/{syndicate_id}/members/reorder",
|
|
650
|
-
...options,
|
|
651
|
-
headers: {
|
|
652
|
-
"Content-Type": "application/json",
|
|
653
|
-
...options?.headers
|
|
1278
|
+
var listOfferings = (options) => (options?.client ?? client).get({
|
|
1279
|
+
querySerializer: {
|
|
1280
|
+
parameters: {
|
|
1281
|
+
industry: { array: { explode: false } },
|
|
1282
|
+
business_model: { array: { explode: false } }
|
|
654
1283
|
}
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
}
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
};
|
|
681
|
-
var
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
}
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
};
|
|
741
|
-
var
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
}
|
|
792
|
-
}
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
}
|
|
840
|
-
}
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
}
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
}
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
}
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
}
|
|
952
|
-
}
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
}
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
...options
|
|
991
|
-
}
|
|
992
|
-
};
|
|
993
|
-
var
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1284
|
+
},
|
|
1285
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1286
|
+
url: "/explore",
|
|
1287
|
+
...options
|
|
1288
|
+
});
|
|
1289
|
+
var getOffering = (options) => (options.client ?? client).get({
|
|
1290
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1291
|
+
url: "/offerings/{external_id}",
|
|
1292
|
+
...options
|
|
1293
|
+
});
|
|
1294
|
+
var getCompanyDisclosures = (options) => (options.client ?? client).get({
|
|
1295
|
+
querySerializer: {
|
|
1296
|
+
parameters: { sections: { array: { explode: false } } }
|
|
1297
|
+
},
|
|
1298
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1299
|
+
url: "/companies/{id}/disclosures",
|
|
1300
|
+
...options
|
|
1301
|
+
});
|
|
1302
|
+
var getCompanyPitch = (options) => (options.client ?? client).get({
|
|
1303
|
+
querySerializer: {
|
|
1304
|
+
parameters: { sections: { array: { explode: false } } }
|
|
1305
|
+
},
|
|
1306
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1307
|
+
url: "/companies/{id}/pitch",
|
|
1308
|
+
...options
|
|
1309
|
+
});
|
|
1310
|
+
var listCompanyUpdates = (options) => (options.client ?? client).get({
|
|
1311
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1312
|
+
url: "/companies/{id}/updates",
|
|
1313
|
+
...options
|
|
1314
|
+
});
|
|
1315
|
+
var getCompanyUpdate = (options) => (options.client ?? client).get({
|
|
1316
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1317
|
+
url: "/companies/{id}/updates/{update_id}",
|
|
1318
|
+
...options
|
|
1319
|
+
});
|
|
1320
|
+
var listCompanyQuestions = (options) => (options.client ?? client).get({
|
|
1321
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1322
|
+
url: "/companies/{id}/questions",
|
|
1323
|
+
...options
|
|
1324
|
+
});
|
|
1325
|
+
var searchCompanies = (options) => (options.client ?? client).get({
|
|
1326
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1327
|
+
url: "/companies/search",
|
|
1328
|
+
...options
|
|
1329
|
+
});
|
|
1330
|
+
var getCompany = (options) => (options.client ?? client).get({
|
|
1331
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1332
|
+
url: "/companies/{id}",
|
|
1333
|
+
...options
|
|
1334
|
+
});
|
|
1335
|
+
var getCurrentUser = (options) => (options?.client ?? client).get({
|
|
1336
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1337
|
+
url: "/users/me",
|
|
1338
|
+
...options
|
|
1339
|
+
});
|
|
1340
|
+
var listMyCompanies = (options) => (options?.client ?? client).get({
|
|
1341
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1342
|
+
url: "/users/me/companies",
|
|
1343
|
+
...options
|
|
1344
|
+
});
|
|
1345
|
+
var listFollowedCompanies = (options) => (options?.client ?? client).get({
|
|
1346
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1347
|
+
url: "/users/me/follows",
|
|
1348
|
+
...options
|
|
1349
|
+
});
|
|
1350
|
+
var unfollowCompany = (options) => (options.client ?? client).delete({
|
|
1351
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1352
|
+
url: "/users/me/follows/{company_id}",
|
|
1353
|
+
...options
|
|
1354
|
+
});
|
|
1355
|
+
var followCompany = (options) => (options.client ?? client).put({
|
|
1356
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1357
|
+
url: "/users/me/follows/{company_id}",
|
|
1358
|
+
...options
|
|
1359
|
+
});
|
|
1360
|
+
var listInvestments = (options) => (options?.client ?? client).get({
|
|
1361
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1362
|
+
url: "/investments",
|
|
1363
|
+
...options
|
|
1364
|
+
});
|
|
1365
|
+
var getInvestment = (options) => (options.client ?? client).get({
|
|
1366
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1367
|
+
url: "/investments/{id}",
|
|
1368
|
+
...options
|
|
1369
|
+
});
|
|
1370
|
+
var getOfferingStats = (options) => (options.client ?? client).get({
|
|
1371
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1372
|
+
url: "/offerings/{offering_id}/stats",
|
|
1373
|
+
...options
|
|
1374
|
+
});
|
|
1375
|
+
var listCompanyInvestmentChanges = (options) => (options.client ?? client).get({
|
|
1376
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1377
|
+
url: "/companies/{company_id}/investments/changes",
|
|
1378
|
+
...options
|
|
1379
|
+
});
|
|
1380
|
+
var getPortfolio = (options) => (options?.client ?? client).get({
|
|
1381
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1382
|
+
url: "/portfolio",
|
|
1383
|
+
...options
|
|
1384
|
+
});
|
|
1385
|
+
var listPortfolioPositions = (options) => (options?.client ?? client).get({
|
|
1386
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1387
|
+
url: "/portfolio/positions",
|
|
1388
|
+
...options
|
|
1389
|
+
});
|
|
1390
|
+
var listCampaigns = (options) => (options?.client ?? client).get({
|
|
1391
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1392
|
+
url: "/campaigns",
|
|
1393
|
+
...options
|
|
1394
|
+
});
|
|
1395
|
+
var listSyndicates = (options) => (options?.client ?? client).get({
|
|
1396
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1397
|
+
url: "/syndicates",
|
|
1398
|
+
...options
|
|
1399
|
+
});
|
|
1400
|
+
var getSyndicate = (options) => (options.client ?? client).get({
|
|
1401
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1402
|
+
url: "/syndicates/{syndicate_id}",
|
|
1403
|
+
...options
|
|
1404
|
+
});
|
|
1405
|
+
var updateSyndicate = (options) => (options.client ?? client).patch({
|
|
1406
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1407
|
+
url: "/syndicates/{syndicate_id}",
|
|
1408
|
+
...options,
|
|
1409
|
+
headers: {
|
|
1410
|
+
"Content-Type": "application/json",
|
|
1411
|
+
...options.headers
|
|
1412
|
+
}
|
|
1413
|
+
});
|
|
1414
|
+
var listSyndicateMembers = (options) => (options.client ?? client).get({
|
|
1415
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1416
|
+
url: "/syndicates/{syndicate_id}/members",
|
|
1417
|
+
...options
|
|
1418
|
+
});
|
|
1419
|
+
var inviteSyndicateMember = (options) => (options.client ?? client).post({
|
|
1420
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1421
|
+
url: "/syndicates/{syndicate_id}/members/invite",
|
|
1422
|
+
...options,
|
|
1423
|
+
headers: {
|
|
1424
|
+
"Content-Type": "application/json",
|
|
1425
|
+
...options.headers
|
|
1426
|
+
}
|
|
1427
|
+
});
|
|
1428
|
+
var removeSyndicateMember = (options) => (options.client ?? client).delete({
|
|
1429
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1430
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}",
|
|
1431
|
+
...options
|
|
1432
|
+
});
|
|
1433
|
+
var updateSyndicateMember = (options) => (options.client ?? client).patch({
|
|
1434
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1435
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}",
|
|
1436
|
+
...options,
|
|
1437
|
+
headers: {
|
|
1438
|
+
"Content-Type": "application/json",
|
|
1439
|
+
...options.headers
|
|
1440
|
+
}
|
|
1441
|
+
});
|
|
1442
|
+
var approveSyndicateMember = (options) => (options.client ?? client).post({
|
|
1443
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1444
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}/approve",
|
|
1445
|
+
...options
|
|
1446
|
+
});
|
|
1447
|
+
var hideSyndicateMember = (options) => (options.client ?? client).post({
|
|
1448
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1449
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}/hide",
|
|
1450
|
+
...options
|
|
1451
|
+
});
|
|
1452
|
+
var promoteSyndicateMember = (options) => (options.client ?? client).post({
|
|
1453
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1454
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}/promote",
|
|
1455
|
+
...options
|
|
1456
|
+
});
|
|
1457
|
+
var demoteSyndicateMember = (options) => (options.client ?? client).post({
|
|
1458
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1459
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}/demote",
|
|
1460
|
+
...options
|
|
1461
|
+
});
|
|
1462
|
+
var restoreSyndicateMember = (options) => (options.client ?? client).post({
|
|
1463
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1464
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}/restore",
|
|
1465
|
+
...options
|
|
1466
|
+
});
|
|
1467
|
+
var resendSyndicateInvite = (options) => (options.client ?? client).post({
|
|
1468
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1469
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}/resend_invite",
|
|
1470
|
+
...options
|
|
1471
|
+
});
|
|
1472
|
+
var reorderSyndicateMembers = (options) => (options.client ?? client).post({
|
|
1473
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1474
|
+
url: "/syndicates/{syndicate_id}/members/reorder",
|
|
1475
|
+
...options,
|
|
1476
|
+
headers: {
|
|
1477
|
+
"Content-Type": "application/json",
|
|
1478
|
+
...options.headers
|
|
1479
|
+
}
|
|
1480
|
+
});
|
|
1481
|
+
var exportSyndicateMembersCsv = (options) => (options.client ?? client).post({
|
|
1482
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1483
|
+
url: "/syndicates/{syndicate_id}/members/export_csv",
|
|
1484
|
+
...options
|
|
1485
|
+
});
|
|
1486
|
+
var listSyndicateDeals = (options) => (options.client ?? client).get({
|
|
1487
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1488
|
+
url: "/syndicates/{syndicate_id}/deals",
|
|
1489
|
+
...options
|
|
1490
|
+
});
|
|
1491
|
+
var getSyndicateDeal = (options) => (options.client ?? client).get({
|
|
1492
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1493
|
+
url: "/syndicates/{syndicate_id}/deals/{fundraise_id}",
|
|
1494
|
+
...options
|
|
1495
|
+
});
|
|
1496
|
+
var listSyndicateDealInvestors = (options) => (options.client ?? client).get({
|
|
1497
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1498
|
+
url: "/syndicates/{syndicate_id}/deals/{fundraise_id}/investors",
|
|
1499
|
+
...options
|
|
1500
|
+
});
|
|
1501
|
+
var listSyndicateMemberInvestments = (options) => (options.client ?? client).get({
|
|
1502
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1503
|
+
url: "/syndicates/{syndicate_id}/members/{member_id}/investments",
|
|
1504
|
+
...options
|
|
1505
|
+
});
|
|
1506
|
+
var getSyndicateStatistics = (options) => (options.client ?? client).get({
|
|
1507
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1508
|
+
url: "/syndicates/{syndicate_id}/statistics",
|
|
1509
|
+
...options
|
|
1510
|
+
});
|
|
1511
|
+
var getSyndicatePortfolio = (options) => (options.client ?? client).get({
|
|
1512
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1513
|
+
url: "/syndicates/{syndicate_id}/portfolio",
|
|
1514
|
+
...options
|
|
1515
|
+
});
|
|
1516
|
+
var listSyndicatePortfolioPositions = (options) => (options.client ?? client).get({
|
|
1517
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1518
|
+
url: "/syndicates/{syndicate_id}/portfolio/positions",
|
|
1519
|
+
...options
|
|
1520
|
+
});
|
|
1521
|
+
var closeSyndicateDeal = (options) => (options.client ?? client).post({
|
|
1522
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1523
|
+
url: "/syndicates/{syndicate_id}/deals/{fundraise_id}/close",
|
|
1524
|
+
...options
|
|
1525
|
+
});
|
|
1526
|
+
var finalizeSyndicateDeal = (options) => (options.client ?? client).post({
|
|
1527
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1528
|
+
url: "/syndicates/{syndicate_id}/deals/{fundraise_id}/finalize",
|
|
1529
|
+
...options
|
|
1530
|
+
});
|
|
1531
|
+
var previewIntent = (options) => (options.client ?? client).post({
|
|
1532
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1533
|
+
url: "/intents/preview",
|
|
1534
|
+
...options,
|
|
1535
|
+
headers: {
|
|
1536
|
+
"Content-Type": "application/json",
|
|
1537
|
+
...options.headers
|
|
1538
|
+
}
|
|
1539
|
+
});
|
|
1540
|
+
var listIntents = (options) => (options?.client ?? client).get({
|
|
1541
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1542
|
+
url: "/intents",
|
|
1543
|
+
...options
|
|
1544
|
+
});
|
|
1545
|
+
var createIntent = (options) => (options.client ?? client).post({
|
|
1546
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1547
|
+
url: "/intents",
|
|
1548
|
+
...options,
|
|
1549
|
+
headers: {
|
|
1550
|
+
"Content-Type": "application/json",
|
|
1551
|
+
...options.headers
|
|
1552
|
+
}
|
|
1553
|
+
});
|
|
1554
|
+
var getIntent = (options) => (options.client ?? client).get({
|
|
1555
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1556
|
+
url: "/intents/{intent_id}",
|
|
1557
|
+
...options
|
|
1558
|
+
});
|
|
1559
|
+
var listActivity = (options) => (options?.client ?? client).get({
|
|
1560
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1561
|
+
url: "/activity",
|
|
1562
|
+
...options
|
|
1563
|
+
});
|
|
1564
|
+
var listConnectedApps = (options) => (options?.client ?? client).get({
|
|
1565
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1566
|
+
url: "/connected-apps",
|
|
1567
|
+
...options
|
|
1568
|
+
});
|
|
1569
|
+
var revokeConnectedApp = (options) => (options.client ?? client).delete({
|
|
1570
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1571
|
+
url: "/connected-apps/{app_id}",
|
|
1572
|
+
...options
|
|
1573
|
+
});
|
|
1574
|
+
var getAttributionStats = (options) => (options.client ?? client).get({
|
|
1575
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1576
|
+
url: "/campaigns/{campaign_id}/attribution/stats",
|
|
1577
|
+
...options
|
|
1578
|
+
});
|
|
1579
|
+
var listAttributedInvestments = (options) => (options.client ?? client).get({
|
|
1580
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1581
|
+
url: "/campaigns/{campaign_id}/attribution/investments",
|
|
1582
|
+
...options
|
|
1583
|
+
});
|
|
1584
|
+
var listInstallations = (options) => (options?.client ?? client).get({
|
|
1585
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1586
|
+
url: "/installations",
|
|
1587
|
+
...options
|
|
1588
|
+
});
|
|
1589
|
+
var createInstallation = (options) => (options.client ?? client).post({
|
|
1590
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1591
|
+
url: "/installations",
|
|
1592
|
+
...options,
|
|
1593
|
+
headers: {
|
|
1594
|
+
"Content-Type": "application/json",
|
|
1595
|
+
...options.headers
|
|
1596
|
+
}
|
|
1597
|
+
});
|
|
1598
|
+
var listEligibleInstallTargets = (options) => (options?.client ?? client).get({
|
|
1599
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1600
|
+
url: "/installations/eligible",
|
|
1601
|
+
...options
|
|
1602
|
+
});
|
|
1603
|
+
var revokeInstallation = (options) => (options.client ?? client).delete({
|
|
1604
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1605
|
+
url: "/installations/{external_id}",
|
|
1606
|
+
...options
|
|
1607
|
+
});
|
|
1608
|
+
var getInstallation = (options) => (options.client ?? client).get({
|
|
1609
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1610
|
+
url: "/installations/{external_id}",
|
|
1611
|
+
...options
|
|
1612
|
+
});
|
|
1613
|
+
var createInstallationToken = (options) => (options.client ?? client).post({
|
|
1614
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1615
|
+
url: "/installations/{external_id}/tokens",
|
|
1616
|
+
...options,
|
|
1617
|
+
headers: {
|
|
1618
|
+
"Content-Type": "application/json",
|
|
1619
|
+
...options.headers
|
|
1620
|
+
}
|
|
1621
|
+
});
|
|
1622
|
+
var listWebhookEndpoints = (options) => (options?.client ?? client).get({
|
|
1623
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1624
|
+
url: "/webhook_endpoints",
|
|
1625
|
+
...options
|
|
1626
|
+
});
|
|
1627
|
+
var createWebhookEndpoint = (options) => (options.client ?? client).post({
|
|
1628
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1629
|
+
url: "/webhook_endpoints",
|
|
1630
|
+
...options,
|
|
1631
|
+
headers: {
|
|
1632
|
+
"Content-Type": "application/json",
|
|
1633
|
+
...options.headers
|
|
1634
|
+
}
|
|
1635
|
+
});
|
|
1636
|
+
var deleteWebhookEndpoint = (options) => (options.client ?? client).delete({
|
|
1637
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1638
|
+
url: "/webhook_endpoints/{external_id}",
|
|
1639
|
+
...options
|
|
1640
|
+
});
|
|
1641
|
+
var getWebhookEndpoint = (options) => (options.client ?? client).get({
|
|
1642
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1643
|
+
url: "/webhook_endpoints/{external_id}",
|
|
1644
|
+
...options
|
|
1645
|
+
});
|
|
1646
|
+
var updateWebhookEndpoint = (options) => (options.client ?? client).patch({
|
|
1647
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1648
|
+
url: "/webhook_endpoints/{external_id}",
|
|
1649
|
+
...options,
|
|
1650
|
+
headers: {
|
|
1651
|
+
"Content-Type": "application/json",
|
|
1652
|
+
...options.headers
|
|
1653
|
+
}
|
|
1654
|
+
});
|
|
1655
|
+
var rotateWebhookEndpointSecret = (options) => (options.client ?? client).post({
|
|
1656
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1657
|
+
url: "/webhook_endpoints/{external_id}/rotate_secret",
|
|
1658
|
+
...options
|
|
1659
|
+
});
|
|
1660
|
+
var reenableWebhookEndpoint = (options) => (options.client ?? client).post({
|
|
1661
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1662
|
+
url: "/webhook_endpoints/{external_id}/reenable",
|
|
1663
|
+
...options
|
|
1664
|
+
});
|
|
1665
|
+
var testWebhookEndpoint = (options) => (options.client ?? client).post({
|
|
1666
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1667
|
+
url: "/webhook_endpoints/{external_id}/test",
|
|
1668
|
+
...options,
|
|
1669
|
+
headers: {
|
|
1670
|
+
"Content-Type": "application/json",
|
|
1671
|
+
...options.headers
|
|
1672
|
+
}
|
|
1673
|
+
});
|
|
1674
|
+
var listWebhookSubscriptions = (options) => (options.client ?? client).get({
|
|
1675
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1676
|
+
url: "/campaigns/{campaign_id}/attribution/webhooks",
|
|
1677
|
+
...options
|
|
1678
|
+
});
|
|
1679
|
+
var createWebhookSubscription = (options) => (options.client ?? client).post({
|
|
1680
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1681
|
+
url: "/campaigns/{campaign_id}/attribution/webhooks",
|
|
1682
|
+
...options,
|
|
1683
|
+
headers: {
|
|
1684
|
+
"Content-Type": "application/json",
|
|
1685
|
+
...options.headers
|
|
1686
|
+
}
|
|
1687
|
+
});
|
|
1688
|
+
var deleteWebhookSubscription = (options) => (options.client ?? client).delete({
|
|
1689
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1690
|
+
url: "/campaigns/{campaign_id}/attribution/webhooks/{webhook_id}",
|
|
1691
|
+
...options
|
|
1692
|
+
});
|
|
1693
|
+
var getWebhookSubscription = (options) => (options.client ?? client).get({
|
|
1694
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1695
|
+
url: "/campaigns/{campaign_id}/attribution/webhooks/{webhook_id}",
|
|
1696
|
+
...options
|
|
1697
|
+
});
|
|
1698
|
+
var testWebhookSubscription = (options) => (options.client ?? client).post({
|
|
1699
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1700
|
+
url: "/campaigns/{campaign_id}/attribution/webhooks/{webhook_id}/test",
|
|
1701
|
+
...options
|
|
1702
|
+
});
|
|
1703
|
+
var regenerateWebhookSecret = (options) => (options.client ?? client).post({
|
|
1704
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1705
|
+
url: "/campaigns/{campaign_id}/attribution/webhooks/{webhook_id}/regenerate_secret",
|
|
1706
|
+
...options
|
|
1707
|
+
});
|
|
1708
|
+
var reactivateWebhookSubscription = (options) => (options.client ?? client).post({
|
|
1709
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1710
|
+
url: "/campaigns/{campaign_id}/attribution/webhooks/{webhook_id}/reactivate",
|
|
1711
|
+
...options
|
|
1712
|
+
});
|
|
1713
|
+
var getAttributionMe = (options) => (options?.client ?? client).get({
|
|
1714
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1715
|
+
url: "/attribution/me",
|
|
1716
|
+
...options
|
|
1717
|
+
});
|
|
1718
|
+
var listAttributionCampaigns = (options) => (options?.client ?? client).get({
|
|
1719
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1720
|
+
url: "/attribution/campaigns",
|
|
1721
|
+
...options
|
|
1722
|
+
});
|
|
1723
|
+
var registerAsPartner = (options) => (options.client ?? client).post({
|
|
1724
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1725
|
+
url: "/attribution/partners/register",
|
|
1726
|
+
...options,
|
|
1727
|
+
headers: {
|
|
1728
|
+
"Content-Type": "application/json",
|
|
1729
|
+
...options.headers
|
|
1730
|
+
}
|
|
1731
|
+
});
|
|
1732
|
+
var listPartnerInvites = (options) => (options?.client ?? client).get({
|
|
1733
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1734
|
+
url: "/attribution/invites",
|
|
1735
|
+
...options
|
|
1736
|
+
});
|
|
1737
|
+
var createPartnerInvite = (options) => (options.client ?? client).post({
|
|
1738
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1739
|
+
url: "/attribution/invites",
|
|
1740
|
+
...options,
|
|
1741
|
+
headers: {
|
|
1742
|
+
"Content-Type": "application/json",
|
|
1743
|
+
...options.headers
|
|
1744
|
+
}
|
|
1745
|
+
});
|
|
1746
|
+
var revokePartnerInvite = (options) => (options.client ?? client).delete({
|
|
1747
|
+
security: [{ scheme: "bearer", type: "http" }],
|
|
1748
|
+
url: "/attribution/invites/{token}",
|
|
1749
|
+
...options
|
|
1750
|
+
});
|
|
1021
1751
|
|
|
1022
1752
|
// src/client.ts
|
|
1023
|
-
var DEFAULT_API_BASE_URL = "https://api.wefunder.com
|
|
1753
|
+
var DEFAULT_API_BASE_URL = "https://api.wefunder.com";
|
|
1024
1754
|
var DEFAULT_API_VERSION = "2025-01-15";
|
|
1025
1755
|
function modeForToken(token) {
|
|
1026
1756
|
if (token.startsWith("at_live_")) return "live";
|
|
@@ -1067,7 +1797,7 @@ var Wefunder = class _Wefunder {
|
|
|
1067
1797
|
random: opts.random,
|
|
1068
1798
|
retry: opts.retry
|
|
1069
1799
|
});
|
|
1070
|
-
this.#client =
|
|
1800
|
+
this.#client = createClient({
|
|
1071
1801
|
baseUrl: opts.baseUrl ?? DEFAULT_API_BASE_URL,
|
|
1072
1802
|
headers: { "Wefunder-Version": opts.apiVersion ?? DEFAULT_API_VERSION },
|
|
1073
1803
|
auth: () => this.#tokens.getAccessToken(),
|
|
@@ -1158,10 +1888,27 @@ var Wefunder = class _Wefunder {
|
|
|
1158
1888
|
getOffering({ client: this.#client, path: { external_id: externalId } })
|
|
1159
1889
|
)
|
|
1160
1890
|
};
|
|
1891
|
+
/**
|
|
1892
|
+
* Investments (`read:investments`). `list` is a bootstrap listing; pass `updated_since`
|
|
1893
|
+
* or a saved `cursor` for sync mode (`meta.mode === "delta"`). Persist `meta.next_cursor`
|
|
1894
|
+
* from your last page — it is always present — and resume from it next time.
|
|
1895
|
+
*/
|
|
1161
1896
|
investments = {
|
|
1162
1897
|
list: this.#page(listInvestments),
|
|
1163
|
-
all: () => paginate((cursor) => this.investments.list({ cursor })),
|
|
1164
|
-
collect: () => collect((cursor) => this.investments.list({ cursor }))
|
|
1898
|
+
all: (query) => paginate((cursor) => this.investments.list({ ...query, cursor })),
|
|
1899
|
+
collect: (query) => collect((cursor) => this.investments.list({ ...query, cursor })),
|
|
1900
|
+
/** The current record (not the published projection) for one investment (`inv_…`). */
|
|
1901
|
+
get: (id) => this.#unwrapData(getInvestment({ client: this.#client, path: { id } }))
|
|
1902
|
+
};
|
|
1903
|
+
portfolio = {
|
|
1904
|
+
get: (query) => this.#unwrapData(getPortfolio({ client: this.#client, query })),
|
|
1905
|
+
positions: {
|
|
1906
|
+
list: this.#page(
|
|
1907
|
+
listPortfolioPositions
|
|
1908
|
+
),
|
|
1909
|
+
all: (query) => paginate((cursor) => this.portfolio.positions.list({ ...query, cursor })),
|
|
1910
|
+
collect: (query) => collect((cursor) => this.portfolio.positions.list({ ...query, cursor }))
|
|
1911
|
+
}
|
|
1165
1912
|
};
|
|
1166
1913
|
campaigns = {
|
|
1167
1914
|
list: this.#page(listCampaigns),
|
|
@@ -1170,28 +1917,87 @@ var Wefunder = class _Wefunder {
|
|
|
1170
1917
|
};
|
|
1171
1918
|
syndicates = {
|
|
1172
1919
|
list: this.#page(listSyndicates),
|
|
1173
|
-
all: () => paginate((cursor) => this.syndicates.list({ cursor })),
|
|
1920
|
+
all: (query) => paginate((cursor) => this.syndicates.list({ ...query, cursor })),
|
|
1174
1921
|
get: (id) => this.#unwrapData(getSyndicate({ client: this.#client, path: { id } }))
|
|
1175
1922
|
};
|
|
1176
1923
|
intents = {
|
|
1177
1924
|
list: this.#page(listIntents),
|
|
1178
|
-
all: () => paginate((cursor) => this.intents.list({ cursor })),
|
|
1925
|
+
all: (query) => paginate((cursor) => this.intents.list({ ...query, cursor })),
|
|
1179
1926
|
get: (id) => this.#unwrapData(getIntent({ client: this.#client, path: { id } }))
|
|
1180
1927
|
};
|
|
1181
1928
|
attribution = {
|
|
1182
1929
|
me: () => this.#unwrapData(getAttributionMe({ client: this.#client }))
|
|
1183
1930
|
};
|
|
1931
|
+
/**
|
|
1932
|
+
* Webhook endpoints (`/webhook_endpoints`, scopes `read:webhooks` / `write:webhooks`).
|
|
1933
|
+
* Endpoints belong to your application and are managed through the LIVE API —
|
|
1934
|
+
* create sandbox receivers there with `mode: "test"`; they're mirrored into
|
|
1935
|
+
* sandbox. The signing `secret` is returned ONLY by `create` and `rotateSecret`.
|
|
1936
|
+
* Verify deliveries with `constructEvent` (see the webhooks module).
|
|
1937
|
+
*/
|
|
1938
|
+
webhookEndpoints = {
|
|
1939
|
+
/** All of your app's endpoints (secret omitted). `meta.quota` is the per-app limit. */
|
|
1940
|
+
list: () => this.#unwrap(listWebhookEndpoints({ client: this.#client })),
|
|
1941
|
+
get: (id) => this.#unwrapData(
|
|
1942
|
+
getWebhookEndpoint({ client: this.#client, path: { external_id: id } })
|
|
1943
|
+
),
|
|
1944
|
+
/** Store `attributes.secret` from the result — it is never shown again. */
|
|
1945
|
+
create: (input) => this.#unwrapData(createWebhookEndpoint({ client: this.#client, body: input })),
|
|
1946
|
+
/** `events` replaces the subscription list wholesale (no merge); omit to leave unchanged. */
|
|
1947
|
+
update: (id, input) => this.#unwrapData(
|
|
1948
|
+
updateWebhookEndpoint({ client: this.#client, path: { external_id: id }, body: input })
|
|
1949
|
+
),
|
|
1950
|
+
/** Stops deliveries immediately. Removal is permanent — create a new endpoint to resume. */
|
|
1951
|
+
remove: (id) => this.#unwrapData(
|
|
1952
|
+
deleteWebhookEndpoint({ client: this.#client, path: { external_id: id } })
|
|
1953
|
+
),
|
|
1954
|
+
/**
|
|
1955
|
+
* New secret (shown once). The old one keeps signing for a 24h overlap — deliveries
|
|
1956
|
+
* carry a `v1` for both, and `constructEvent` accepts either.
|
|
1957
|
+
*/
|
|
1958
|
+
rotateSecret: (id) => this.#unwrapData(
|
|
1959
|
+
rotateWebhookEndpointSecret({ client: this.#client, path: { external_id: id } })
|
|
1960
|
+
),
|
|
1961
|
+
/** Recover an auto-disabled endpoint after fixing your server. Idempotent. */
|
|
1962
|
+
reenable: (id) => this.#unwrapData(
|
|
1963
|
+
reenableWebhookEndpoint({ client: this.#client, path: { external_id: id } })
|
|
1964
|
+
),
|
|
1965
|
+
/**
|
|
1966
|
+
* POST a real, signed example event at the endpoint (production envelope + signature)
|
|
1967
|
+
* and report the outcome inline. Defaults to the endpoint's first subscribed event.
|
|
1968
|
+
* Doesn't affect delivery health. Rate-limited to 10/min per endpoint.
|
|
1969
|
+
*/
|
|
1970
|
+
test: (id, event) => this.#unwrapData(
|
|
1971
|
+
testWebhookEndpoint({
|
|
1972
|
+
client: this.#client,
|
|
1973
|
+
path: { external_id: id },
|
|
1974
|
+
body: event ? { event } : void 0
|
|
1975
|
+
})
|
|
1976
|
+
)
|
|
1977
|
+
};
|
|
1184
1978
|
};
|
|
1185
1979
|
|
|
1186
1980
|
// src/webhooks.ts
|
|
1187
1981
|
var import_node_crypto2 = require("crypto");
|
|
1188
|
-
var SIGNATURE_HEADER = "
|
|
1189
|
-
var
|
|
1190
|
-
var
|
|
1191
|
-
var
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1982
|
+
var SIGNATURE_HEADER = "wefunder-signature";
|
|
1983
|
+
var DEFAULT_TOLERANCE_SECONDS = 300;
|
|
1984
|
+
var LEGACY_SIGNATURE_HEADER = "x-wefunder-signature";
|
|
1985
|
+
var LEGACY_TIMESTAMP_HEADER = "x-wefunder-timestamp";
|
|
1986
|
+
var LEGACY_EVENT_HEADER = "x-wefunder-event";
|
|
1987
|
+
var LEGACY_DELIVERY_ID_HEADER = "x-wefunder-delivery-id";
|
|
1988
|
+
var WebhookSignatureError = class extends Error {
|
|
1989
|
+
reason;
|
|
1990
|
+
constructor(reason, message) {
|
|
1991
|
+
super(message);
|
|
1992
|
+
this.name = "WebhookSignatureError";
|
|
1993
|
+
this.reason = reason;
|
|
1994
|
+
}
|
|
1995
|
+
};
|
|
1996
|
+
function bodyBuffer(payload) {
|
|
1997
|
+
return typeof payload === "string" ? Buffer.from(payload, "utf8") : Buffer.from(payload);
|
|
1998
|
+
}
|
|
1999
|
+
function computeWebhookSignature(secret, timestamp, payload) {
|
|
2000
|
+
return (0, import_node_crypto2.createHmac)("sha256", secret).update(`${timestamp}.`).update(bodyBuffer(payload)).digest("hex");
|
|
1195
2001
|
}
|
|
1196
2002
|
function constantTimeEqual(a, b) {
|
|
1197
2003
|
const ab = Buffer.from(a);
|
|
@@ -1199,42 +2005,142 @@ function constantTimeEqual(a, b) {
|
|
|
1199
2005
|
if (ab.length !== bb.length) return false;
|
|
1200
2006
|
return (0, import_node_crypto2.timingSafeEqual)(ab, bb);
|
|
1201
2007
|
}
|
|
2008
|
+
function parseSignatureHeader(header) {
|
|
2009
|
+
let timestamp;
|
|
2010
|
+
const signatures = [];
|
|
2011
|
+
for (const part of header.split(",")) {
|
|
2012
|
+
const eq = part.indexOf("=");
|
|
2013
|
+
if (eq < 0) continue;
|
|
2014
|
+
const key = part.slice(0, eq).trim();
|
|
2015
|
+
const value = part.slice(eq + 1).trim();
|
|
2016
|
+
if (key === "t") {
|
|
2017
|
+
if (!/^\d+$/.test(value)) return null;
|
|
2018
|
+
timestamp = Number(value);
|
|
2019
|
+
} else if (key === "v1" && value) {
|
|
2020
|
+
signatures.push(value);
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
if (timestamp === void 0 || signatures.length === 0) return null;
|
|
2024
|
+
return { timestamp, signatures };
|
|
2025
|
+
}
|
|
2026
|
+
function signWebhook(opts) {
|
|
2027
|
+
const t = opts.timestamp ?? Math.floor(Date.now() / 1e3);
|
|
2028
|
+
const secrets = [opts.secret, ...opts.additionalSecrets ?? []];
|
|
2029
|
+
const entries = secrets.map((s) => `v1=${computeWebhookSignature(s, t, opts.payload)}`);
|
|
2030
|
+
return [`t=${t}`, ...entries].join(",");
|
|
2031
|
+
}
|
|
2032
|
+
function checkWebhookSignature(opts) {
|
|
2033
|
+
const parsed = parseSignatureHeader(opts.header);
|
|
2034
|
+
if (!parsed) return "malformed_header";
|
|
2035
|
+
const tolerance = opts.toleranceSeconds ?? DEFAULT_TOLERANCE_SECONDS;
|
|
2036
|
+
if (tolerance > 0) {
|
|
2037
|
+
const nowSec = (opts.now ?? Date.now)() / 1e3;
|
|
2038
|
+
if (Math.abs(nowSec - parsed.timestamp) > tolerance) return "timestamp_out_of_tolerance";
|
|
2039
|
+
}
|
|
2040
|
+
const expected = computeWebhookSignature(opts.secret, parsed.timestamp, opts.payload);
|
|
2041
|
+
return parsed.signatures.some((sig) => constantTimeEqual(sig, expected)) ? null : "signature_mismatch";
|
|
2042
|
+
}
|
|
1202
2043
|
function verifyWebhook(opts) {
|
|
1203
|
-
|
|
1204
|
-
|
|
2044
|
+
if ("header" in opts) return checkWebhookSignature(opts) === null;
|
|
2045
|
+
return verifyLegacyWebhook(opts);
|
|
2046
|
+
}
|
|
2047
|
+
function verifyLegacyWebhook(opts) {
|
|
2048
|
+
const tolerance = opts.toleranceSeconds ?? DEFAULT_TOLERANCE_SECONDS;
|
|
1205
2049
|
const ts = Number(opts.timestamp);
|
|
1206
2050
|
if (!Number.isFinite(ts)) return false;
|
|
1207
|
-
if (tolerance > 0 && Math.abs(now / 1e3 - ts) > tolerance) return false;
|
|
1208
|
-
const expected =
|
|
2051
|
+
if (tolerance > 0 && Math.abs((opts.now ?? Date.now)() / 1e3 - ts) > tolerance) return false;
|
|
2052
|
+
const expected = `sha256=${computeWebhookSignature(opts.secret, opts.timestamp, opts.payload)}`;
|
|
1209
2053
|
return constantTimeEqual(opts.signature, expected);
|
|
1210
2054
|
}
|
|
1211
|
-
function
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
2055
|
+
function headerGetter(headers) {
|
|
2056
|
+
if (typeof headers === "string") {
|
|
2057
|
+
return (name) => name === SIGNATURE_HEADER ? headers : void 0;
|
|
2058
|
+
}
|
|
2059
|
+
if (headers instanceof Headers) return (name) => headers.get(name) ?? void 0;
|
|
2060
|
+
return (name) => {
|
|
2061
|
+
let v = headers[name];
|
|
2062
|
+
if (v === void 0) {
|
|
2063
|
+
const hit = Object.keys(headers).find((k) => k.toLowerCase() === name);
|
|
2064
|
+
if (hit) v = headers[hit];
|
|
2065
|
+
}
|
|
1215
2066
|
return Array.isArray(v) ? v[0] : v;
|
|
1216
2067
|
};
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
2068
|
+
}
|
|
2069
|
+
function constructEvent(payload, headers, secret, opts) {
|
|
2070
|
+
const get = headerGetter(headers);
|
|
2071
|
+
const header = get(SIGNATURE_HEADER);
|
|
2072
|
+
if (!header) {
|
|
2073
|
+
const legacySig = get(LEGACY_SIGNATURE_HEADER);
|
|
2074
|
+
const legacyTs = get(LEGACY_TIMESTAMP_HEADER);
|
|
2075
|
+
if (legacySig && legacyTs) return constructLegacyEvent(payload, get, legacySig, legacyTs, secret, opts);
|
|
2076
|
+
throw new WebhookSignatureError("missing_header", describeFailure("missing_header"));
|
|
2077
|
+
}
|
|
2078
|
+
const failure = checkWebhookSignature({ payload, header, secret, ...opts });
|
|
2079
|
+
if (failure) throw new WebhookSignatureError(failure, describeFailure(failure));
|
|
2080
|
+
const parsed = parseSignatureHeader(header);
|
|
2081
|
+
const env = parseEnvelope(payload);
|
|
1231
2082
|
return {
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
2083
|
+
id: String(env.id ?? ""),
|
|
2084
|
+
event: String(env.event ?? ""),
|
|
2085
|
+
created_at: String(env.created_at ?? ""),
|
|
2086
|
+
mode: env.mode === "test" ? "test" : "live",
|
|
2087
|
+
data: env.data,
|
|
2088
|
+
timestamp: parsed.timestamp
|
|
1236
2089
|
};
|
|
1237
2090
|
}
|
|
2091
|
+
function constructLegacyEvent(payload, get, signature, timestamp, secret, opts) {
|
|
2092
|
+
if (!verifyLegacyWebhook({ payload, signature, timestamp, secret, ...opts })) {
|
|
2093
|
+
throw new WebhookSignatureError("signature_mismatch", describeFailure("signature_mismatch"));
|
|
2094
|
+
}
|
|
2095
|
+
const env = parseEnvelope(payload);
|
|
2096
|
+
return {
|
|
2097
|
+
id: String(env.id ?? get(LEGACY_DELIVERY_ID_HEADER) ?? ""),
|
|
2098
|
+
event: String(env.event ?? get(LEGACY_EVENT_HEADER) ?? ""),
|
|
2099
|
+
created_at: String(env.created_at ?? ""),
|
|
2100
|
+
mode: env.mode === "test" ? "test" : "live",
|
|
2101
|
+
data: env.data ?? env,
|
|
2102
|
+
timestamp: Number(timestamp)
|
|
2103
|
+
};
|
|
2104
|
+
}
|
|
2105
|
+
function parseEnvelope(payload) {
|
|
2106
|
+
try {
|
|
2107
|
+
const parsed = JSON.parse(bodyBuffer(payload).toString("utf8"));
|
|
2108
|
+
if (parsed === null || typeof parsed !== "object") throw new Error("not an object");
|
|
2109
|
+
return parsed;
|
|
2110
|
+
} catch {
|
|
2111
|
+
throw new WebhookSignatureError("invalid_payload", describeFailure("invalid_payload"));
|
|
2112
|
+
}
|
|
2113
|
+
}
|
|
2114
|
+
function describeFailure(reason) {
|
|
2115
|
+
switch (reason) {
|
|
2116
|
+
case "missing_header":
|
|
2117
|
+
return "Missing Wefunder-Signature header";
|
|
2118
|
+
case "malformed_header":
|
|
2119
|
+
return "Wefunder-Signature header is malformed (expected t=<unix>,v1=<hex>)";
|
|
2120
|
+
case "timestamp_out_of_tolerance":
|
|
2121
|
+
return "Webhook timestamp is outside the replay tolerance";
|
|
2122
|
+
case "signature_mismatch":
|
|
2123
|
+
return "Webhook signature verification failed";
|
|
2124
|
+
case "invalid_payload":
|
|
2125
|
+
return "Webhook body is not a JSON object";
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2128
|
+
async function constructEventFromRequest(request, secret, opts) {
|
|
2129
|
+
const payload = await request.text();
|
|
2130
|
+
return constructEvent(payload, request.headers, secret, opts);
|
|
2131
|
+
}
|
|
2132
|
+
async function dispatchWebhook(event, handlers) {
|
|
2133
|
+
const specific = event.event === "default" ? void 0 : handlers[event.event];
|
|
2134
|
+
if (specific) {
|
|
2135
|
+
await specific(event);
|
|
2136
|
+
return true;
|
|
2137
|
+
}
|
|
2138
|
+
if (handlers.default) {
|
|
2139
|
+
await handlers.default(event);
|
|
2140
|
+
return true;
|
|
2141
|
+
}
|
|
2142
|
+
return false;
|
|
2143
|
+
}
|
|
1238
2144
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1239
2145
|
0 && (module.exports = {
|
|
1240
2146
|
DEFAULT_API_BASE_URL,
|
|
@@ -1242,23 +2148,33 @@ function constructEvent(payload, headers, secret, opts) {
|
|
|
1242
2148
|
DEFAULT_AUTHORIZE_BASE_URL,
|
|
1243
2149
|
DEFAULT_OAUTH_BASE_URL,
|
|
1244
2150
|
DEFAULT_TOKEN_BASE_URL,
|
|
1245
|
-
|
|
1246
|
-
|
|
2151
|
+
DEFAULT_TOLERANCE_SECONDS,
|
|
2152
|
+
LEGACY_DELIVERY_ID_HEADER,
|
|
2153
|
+
LEGACY_EVENT_HEADER,
|
|
2154
|
+
LEGACY_SIGNATURE_HEADER,
|
|
2155
|
+
LEGACY_TIMESTAMP_HEADER,
|
|
1247
2156
|
REQUEST_ID_HEADER,
|
|
2157
|
+
SANDBOX_AUTHORIZE_BASE_URL,
|
|
1248
2158
|
SIGNATURE_HEADER,
|
|
1249
|
-
|
|
2159
|
+
WebhookSignatureError,
|
|
1250
2160
|
Wefunder,
|
|
1251
2161
|
WefunderAuthError,
|
|
1252
2162
|
WefunderError,
|
|
2163
|
+
checkWebhookSignature,
|
|
1253
2164
|
clientCredentialsGrant,
|
|
1254
2165
|
collect,
|
|
2166
|
+
computeWebhookSignature,
|
|
1255
2167
|
constructEvent,
|
|
2168
|
+
constructEventFromRequest,
|
|
1256
2169
|
createAuthorizationUrl,
|
|
2170
|
+
dispatchWebhook,
|
|
1257
2171
|
exchangeCode,
|
|
1258
2172
|
generatePkce,
|
|
1259
2173
|
modeForToken,
|
|
1260
2174
|
paginate,
|
|
2175
|
+
parseSignatureHeader,
|
|
1261
2176
|
refreshToken,
|
|
2177
|
+
signWebhook,
|
|
1262
2178
|
verifyWebhook
|
|
1263
2179
|
});
|
|
1264
2180
|
//# sourceMappingURL=index.cjs.map
|