@beeos-ai/bma-sdk 1.0.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -132
- package/dist/beta.d.ts +55 -0
- package/dist/beta.js +69 -0
- package/dist/beta.js.map +1 -0
- package/dist/client.d.ts +32 -0
- package/dist/client.js +50 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +6 -75
- package/dist/errors.js +11 -105
- package/dist/errors.js.map +1 -1
- package/dist/extensions.d.ts +80 -0
- package/dist/extensions.js +24 -0
- package/dist/extensions.js.map +1 -0
- package/dist/generated/extensions-resources.d.ts +271 -0
- package/dist/generated/extensions-resources.js +255 -0
- package/dist/generated/extensions-resources.js.map +1 -0
- package/dist/generated/extensions.d.ts +3727 -0
- package/dist/generated/{rest.js → extensions.js} +1 -1
- package/dist/generated/extensions.js.map +1 -0
- package/dist/idempotency.d.ts +4 -0
- package/dist/idempotency.js +7 -0
- package/dist/idempotency.js.map +1 -0
- package/dist/index.d.ts +9 -55
- package/dist/index.js +9 -57
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +9 -0
- package/dist/internal.js +32 -0
- package/dist/internal.js.map +1 -0
- package/dist/resume.d.ts +22 -0
- package/dist/resume.js +122 -0
- package/dist/resume.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +3 -3
- package/dist/version.js.map +1 -1
- package/package.json +6 -12
- package/dist/core.d.ts +0 -105
- package/dist/core.js +0 -406
- package/dist/core.js.map +0 -1
- package/dist/facade-extensions.d.ts +0 -27
- package/dist/facade-extensions.js +0 -47
- package/dist/facade-extensions.js.map +0 -1
- package/dist/generated/facade-extensions-operations.d.ts +0 -133
- package/dist/generated/facade-extensions-operations.js +0 -11
- package/dist/generated/facade-extensions-operations.js.map +0 -1
- package/dist/generated/facade-extensions-resources.d.ts +0 -34
- package/dist/generated/facade-extensions-resources.js +0 -47
- package/dist/generated/facade-extensions-resources.js.map +0 -1
- package/dist/generated/facade-extensions-types.d.ts +0 -14
- package/dist/generated/facade-extensions-types.js +0 -2
- package/dist/generated/facade-extensions-types.js.map +0 -1
- package/dist/generated/facade-extensions.d.ts +0 -507
- package/dist/generated/facade-extensions.js +0 -6
- package/dist/generated/facade-extensions.js.map +0 -1
- package/dist/generated/rest-operations.d.ts +0 -4079
- package/dist/generated/rest-operations.js +0 -234
- package/dist/generated/rest-operations.js.map +0 -1
- package/dist/generated/rest-resources.d.ts +0 -666
- package/dist/generated/rest-resources.js +0 -1124
- package/dist/generated/rest-resources.js.map +0 -1
- package/dist/generated/rest-types.d.ts +0 -572
- package/dist/generated/rest-types.js +0 -2
- package/dist/generated/rest-types.js.map +0 -1
- package/dist/generated/rest.d.ts +0 -18519
- package/dist/generated/rest.js.map +0 -1
- package/dist/lib/artifacts.d.ts +0 -14
- package/dist/lib/artifacts.js +0 -56
- package/dist/lib/artifacts.js.map +0 -1
- package/dist/lib/tool-runner.d.ts +0 -99
- package/dist/lib/tool-runner.js +0 -140
- package/dist/lib/tool-runner.js.map +0 -1
- package/dist/pagination.d.ts +0 -31
- package/dist/pagination.js +0 -66
- package/dist/pagination.js.map +0 -1
- package/dist/resource.d.ts +0 -8
- package/dist/resource.js +0 -9
- package/dist/resource.js.map +0 -1
- package/dist/streaming.d.ts +0 -27
- package/dist/streaming.js +0 -89
- package/dist/streaming.js.map +0 -1
package/dist/core.js
DELETED
|
@@ -1,406 +0,0 @@
|
|
|
1
|
-
// Request runtime shared by every generated resource method: scope defaults,
|
|
2
|
-
// request encoding, retries with idempotency keys, timeouts, error decoding,
|
|
3
|
-
// pagination and event streams. Defaults are ADR 0012 decision D3.
|
|
4
|
-
import { APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, BmaApiError, BmaError, EventStreamError, } from "./errors.js";
|
|
5
|
-
import { PagePromise } from "./pagination.js";
|
|
6
|
-
import { Stream, parseSSE } from "./streaming.js";
|
|
7
|
-
/**
|
|
8
|
-
* Default per-attempt timeout (D3), measured until the response headers
|
|
9
|
-
* arrive. Uploads (binary and multipart bodies) have no default timeout;
|
|
10
|
-
* event streams and downloads are bounded only until the headers arrive.
|
|
11
|
-
*/
|
|
12
|
-
export const DEFAULT_TIMEOUT_MS = 60_000;
|
|
13
|
-
/** Default retries after the first attempt (D3; @anthropic-ai/sdk uses 2). */
|
|
14
|
-
export const DEFAULT_MAX_RETRIES = 2;
|
|
15
|
-
// Connection failures where the request provably never reached the server
|
|
16
|
-
// (resolution, refusal, connect timeout). Undici reports them in `cause.code`.
|
|
17
|
-
const UNDELIVERED = new Set(["ECONNREFUSED", "ENOTFOUND", "EAI_AGAIN", "ENETUNREACH", "EHOSTUNREACH", "UND_ERR_CONNECT_TIMEOUT"]);
|
|
18
|
-
function undelivered(error) {
|
|
19
|
-
for (let e = error, depth = 0; e && depth < 5; e = e.cause, depth++) {
|
|
20
|
-
const code = e.code;
|
|
21
|
-
if (typeof code === "string" && UNDELIVERED.has(code))
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
function sleep(ms, signal) {
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
if (signal?.aborted)
|
|
29
|
-
return reject(new APIUserAbortError());
|
|
30
|
-
const timer = setTimeout(() => {
|
|
31
|
-
signal?.removeEventListener("abort", onAbort);
|
|
32
|
-
resolve();
|
|
33
|
-
}, ms);
|
|
34
|
-
const onAbort = () => {
|
|
35
|
-
clearTimeout(timer);
|
|
36
|
-
reject(new APIUserAbortError());
|
|
37
|
-
};
|
|
38
|
-
signal?.addEventListener("abort", onAbort, { once: true });
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
// Exponential backoff with up to 25% jitter: 0.5s, 1s, 2s ... capped at 8s
|
|
42
|
-
// (@anthropic-ai/sdk client.js calculateDefaultRetryTimeoutMillis).
|
|
43
|
-
function backoff(retry) {
|
|
44
|
-
return Math.min(0.5 * 2 ** retry, 8) * (1 - Math.random() * 0.25) * 1000;
|
|
45
|
-
}
|
|
46
|
-
// retry-after-ms, then retry-after (seconds or HTTP date), honoured when
|
|
47
|
-
// between 0 and 60 seconds, as in @anthropic-ai/sdk.
|
|
48
|
-
function retryAfter(headers) {
|
|
49
|
-
const ms = Number.parseFloat(headers?.get("retry-after-ms") ?? "");
|
|
50
|
-
if (Number.isFinite(ms) && ms >= 0 && ms < 60_000)
|
|
51
|
-
return ms;
|
|
52
|
-
const raw = headers?.get("retry-after");
|
|
53
|
-
if (raw) {
|
|
54
|
-
const seconds = Number.parseFloat(raw);
|
|
55
|
-
const delay = Number.isFinite(seconds) ? seconds * 1000 : Date.parse(raw) - Date.now();
|
|
56
|
-
if (Number.isFinite(delay) && delay >= 0 && delay < 60_000)
|
|
57
|
-
return delay;
|
|
58
|
-
}
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* The deployment origin of a BMA base URL (BMA_BASE_URL): trailing slashes and
|
|
63
|
-
* a trailing /api/v1 (the pre-1.0 API-root form) are removed, so the SDK adds
|
|
64
|
-
* each API prefix exactly once.
|
|
65
|
-
*/
|
|
66
|
-
export function bmaOrigin(baseUrl) {
|
|
67
|
-
return baseUrl.trim().replace(/\/+$/, "").replace(/\/api\/v1$/, "");
|
|
68
|
-
}
|
|
69
|
-
/** @internal The transport every resource calls. */
|
|
70
|
-
export class ClientCore {
|
|
71
|
-
baseUrl;
|
|
72
|
-
#fetch;
|
|
73
|
-
#timeout;
|
|
74
|
-
#maxRetries;
|
|
75
|
-
#headers;
|
|
76
|
-
#scope;
|
|
77
|
-
#scopeOption;
|
|
78
|
-
constructor(options) {
|
|
79
|
-
const baseUrl = options.baseUrl.trim().replace(/\/+$/, "");
|
|
80
|
-
const scheme = new URL(baseUrl).protocol;
|
|
81
|
-
if (scheme !== "http:" && scheme !== "https:")
|
|
82
|
-
throw new BmaError("bma: baseUrl must use http or https");
|
|
83
|
-
this.baseUrl = baseUrl;
|
|
84
|
-
this.#fetch = options.fetch ?? globalThis.fetch;
|
|
85
|
-
this.#timeout = options.timeout ?? DEFAULT_TIMEOUT_MS;
|
|
86
|
-
this.#maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
87
|
-
this.#headers = options.headers;
|
|
88
|
-
this.#scope = options.scope;
|
|
89
|
-
this.#scopeOption = options.scopeOption;
|
|
90
|
-
}
|
|
91
|
-
/** @internal */
|
|
92
|
-
_request(op, path, params, options) {
|
|
93
|
-
return (async () => {
|
|
94
|
-
const built = this.#build(op, path, params, options);
|
|
95
|
-
const { response, release } = await this.#send(op, built, options);
|
|
96
|
-
try {
|
|
97
|
-
return await this.#decode(op, response, options?.signal);
|
|
98
|
-
}
|
|
99
|
-
finally {
|
|
100
|
-
if (op.response !== "binary")
|
|
101
|
-
release();
|
|
102
|
-
}
|
|
103
|
-
})();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @internal A paginated list. The cursor parameter is the one of
|
|
107
|
-
* `op.page` the caller passed (e.g. before_sequence), else the default.
|
|
108
|
-
*/
|
|
109
|
-
_page(op, path, params, options) {
|
|
110
|
-
const pairs = op.page ?? [["cursor", "next_cursor"]];
|
|
111
|
-
const given = params;
|
|
112
|
-
const [param, field] = pairs.find(([p]) => given[p] !== undefined && given[p] !== null) ?? pairs[0];
|
|
113
|
-
return new PagePromise((cursor) => this._request(op, path, cursor === undefined ? params : { ...params, [param]: cursor }, options), (body) => {
|
|
114
|
-
const next = body[field];
|
|
115
|
-
if (body.data.length === 0 || body.has_more === false)
|
|
116
|
-
return undefined;
|
|
117
|
-
return typeof next === "string" ? next || undefined : typeof next === "number" ? next : undefined;
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* @internal Event stream with EventSource reconnection: when the
|
|
122
|
-
* connection drops or the server ends the response (a rolling restart), or
|
|
123
|
-
* sends an `error` frame with code `service_unavailable`, the stream
|
|
124
|
-
* reconnects with Last-Event-ID set to the last durable frame. A frame not
|
|
125
|
-
* terminated before the end is discarded. Reconnects are bounded by
|
|
126
|
-
* `maxReconnects` (default `maxRetries`) attempts in a row that receive no
|
|
127
|
-
* data; any other error frame ends the stream with EventStreamError.
|
|
128
|
-
*/
|
|
129
|
-
_stream(op, path, params, options, hooks) {
|
|
130
|
-
const controller = new AbortController();
|
|
131
|
-
if (options?.signal) {
|
|
132
|
-
if (options.signal.aborted)
|
|
133
|
-
controller.abort();
|
|
134
|
-
else
|
|
135
|
-
options.signal.addEventListener("abort", () => controller.abort(), { once: true });
|
|
136
|
-
}
|
|
137
|
-
const resumeKey = Object.entries(op.headers ?? {}).find(([name]) => name.toLowerCase() === "last-event-id")?.[1];
|
|
138
|
-
const budget = hooks?.maxReconnects ?? options?.maxRetries ?? this.#maxRetries;
|
|
139
|
-
const self = this;
|
|
140
|
-
async function* iterate(signal) {
|
|
141
|
-
let current = { ...params };
|
|
142
|
-
let lastId;
|
|
143
|
-
let failures = 0;
|
|
144
|
-
for (;;) {
|
|
145
|
-
let lastError;
|
|
146
|
-
try {
|
|
147
|
-
const built = self.#build(op, path, current, options);
|
|
148
|
-
built.headers.set("Accept", "text/event-stream");
|
|
149
|
-
const { response } = await self.#send(op, built, { ...options, signal, maxRetries: 0 }, true);
|
|
150
|
-
if (!response.body)
|
|
151
|
-
throw new BmaError("bma: event stream response has no body");
|
|
152
|
-
hooks?.onOpen?.();
|
|
153
|
-
for await (const raw of parseSSE(response.body, () => (failures = 0))) {
|
|
154
|
-
const data = parseFrame(raw.event, raw.data);
|
|
155
|
-
if (raw.event === "error") {
|
|
156
|
-
const error = new EventStreamError(data);
|
|
157
|
-
if (error.code !== "service_unavailable")
|
|
158
|
-
throw error;
|
|
159
|
-
throw new ReconnectSignal(error);
|
|
160
|
-
}
|
|
161
|
-
if (raw.id !== undefined) {
|
|
162
|
-
const sequence = Number(raw.id);
|
|
163
|
-
if (!Number.isSafeInteger(sequence))
|
|
164
|
-
throw new BmaError(`bma: invalid event id ${JSON.stringify(raw.id)}`);
|
|
165
|
-
lastId = raw.id;
|
|
166
|
-
yield { event: raw.event, id: raw.id, sequence, data };
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
yield { event: raw.event, data };
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
lastError = new APIConnectionError({ message: "bma: event stream ended by the server" });
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
if (signal.aborted)
|
|
176
|
-
throw new APIUserAbortError();
|
|
177
|
-
if (error instanceof ReconnectSignal)
|
|
178
|
-
lastError = error.error;
|
|
179
|
-
else if (error instanceof APIConnectionError)
|
|
180
|
-
lastError = error;
|
|
181
|
-
else if (error instanceof BmaApiError && error.status !== undefined && retryableStatus(error.status))
|
|
182
|
-
lastError = error;
|
|
183
|
-
else if (error instanceof BmaError)
|
|
184
|
-
throw error;
|
|
185
|
-
else
|
|
186
|
-
lastError = new APIConnectionError({ cause: error });
|
|
187
|
-
}
|
|
188
|
-
if (failures >= budget)
|
|
189
|
-
throw lastError;
|
|
190
|
-
await sleep(backoff(failures), signal);
|
|
191
|
-
failures++;
|
|
192
|
-
if (lastId !== undefined && resumeKey) {
|
|
193
|
-
current = { ...params, [resumeKey]: Number(lastId) };
|
|
194
|
-
// Last-Event-ID is the resume point; after_sequence would replay older events.
|
|
195
|
-
delete current.after_sequence;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
return new Stream(iterate, controller);
|
|
200
|
-
}
|
|
201
|
-
#build(op, path, params, options) {
|
|
202
|
-
const rest = { ...params };
|
|
203
|
-
const headers = new Headers(this.#headers);
|
|
204
|
-
let url = op.path;
|
|
205
|
-
for (const [name, key] of Object.entries(op.pathParams ?? {})) {
|
|
206
|
-
let value = path[name];
|
|
207
|
-
if (value === undefined) {
|
|
208
|
-
value = rest[key] ?? this.#scope[key];
|
|
209
|
-
delete rest[key];
|
|
210
|
-
if (typeof value !== "string" || value === "") {
|
|
211
|
-
const option = this.#scopeOption[key] ?? key;
|
|
212
|
-
throw new BmaError(`bma: ${op.id} needs ${key}; set the client option ${option} or pass ${key} in params`);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
url = url.replace(`{${name}}`, encodeURIComponent(String(value)));
|
|
216
|
-
}
|
|
217
|
-
const search = new URLSearchParams();
|
|
218
|
-
for (const [name, style] of Object.entries(op.query ?? {})) {
|
|
219
|
-
const value = rest[name];
|
|
220
|
-
delete rest[name];
|
|
221
|
-
if (value === undefined || value === null)
|
|
222
|
-
continue;
|
|
223
|
-
if (style === "deepObject" && typeof value === "object" && !Array.isArray(value)) {
|
|
224
|
-
for (const [k, v] of Object.entries(value))
|
|
225
|
-
search.append(`${name}[${k}]`, String(v));
|
|
226
|
-
}
|
|
227
|
-
else if (Array.isArray(value)) {
|
|
228
|
-
for (const v of value)
|
|
229
|
-
search.append(name, String(v));
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
search.append(name, String(value));
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
for (const [name, key] of Object.entries(op.headers ?? {})) {
|
|
236
|
-
const value = rest[key] ?? (key in this.#scope ? this.#scope[key] : undefined);
|
|
237
|
-
delete rest[key];
|
|
238
|
-
if (value !== undefined && value !== null)
|
|
239
|
-
headers.set(name, String(value));
|
|
240
|
-
}
|
|
241
|
-
if (op.idempotency) {
|
|
242
|
-
headers.set("Idempotency-Key", options?.idempotencyKey ?? `bma-sdk-retry-${crypto.randomUUID()}`);
|
|
243
|
-
}
|
|
244
|
-
else if (options?.idempotencyKey !== undefined) {
|
|
245
|
-
throw new BmaError(`bma: ${op.id} does not accept an Idempotency-Key`);
|
|
246
|
-
}
|
|
247
|
-
let body;
|
|
248
|
-
if (op.body === "json") {
|
|
249
|
-
if (op.bodyRequired || Object.keys(rest).length > 0) {
|
|
250
|
-
body = JSON.stringify(rest);
|
|
251
|
-
headers.set("Content-Type", "application/json");
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
else if (op.body === "binary") {
|
|
255
|
-
const raw = rest.body;
|
|
256
|
-
if (raw !== undefined) {
|
|
257
|
-
body = raw;
|
|
258
|
-
headers.set("Content-Type", "application/octet-stream");
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
else if (op.body === "multipart") {
|
|
262
|
-
// JSON fields (op.multipartJSON, the contract's encoding contentType
|
|
263
|
-
// application/json) are sent as text parts: FormData can only give a
|
|
264
|
-
// part a Content-Type through a Blob, which also adds filename="blob"
|
|
265
|
-
// and turns the field into a file part. The server reads them by name.
|
|
266
|
-
const form = new FormData();
|
|
267
|
-
for (const [key, value] of Object.entries(rest)) {
|
|
268
|
-
if (value === undefined)
|
|
269
|
-
continue;
|
|
270
|
-
if (value instanceof Blob)
|
|
271
|
-
form.append(key, value, value instanceof File ? value.name : key);
|
|
272
|
-
else if (op.multipartJSON?.includes(key) || typeof value === "object")
|
|
273
|
-
form.append(key, JSON.stringify(value));
|
|
274
|
-
else
|
|
275
|
-
form.append(key, String(value));
|
|
276
|
-
}
|
|
277
|
-
body = form;
|
|
278
|
-
}
|
|
279
|
-
for (const [k, v] of Object.entries(options?.headers ?? {}))
|
|
280
|
-
headers.set(k, v);
|
|
281
|
-
const query = search.toString();
|
|
282
|
-
return { url: this.baseUrl + url + (query ? `?${query}` : ""), headers, body };
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Sends with retries. GET and operations with an Idempotency-Key retry
|
|
286
|
-
* 408/429/5xx and connection errors; other writes retry only requests that
|
|
287
|
-
* never reached the server, 429 and 503 (D3). 409 is never retried. The
|
|
288
|
-
* timeout runs until the response headers arrive; the caller's signal
|
|
289
|
-
* stays attached until `release()`, so it also aborts reading the body.
|
|
290
|
-
*/
|
|
291
|
-
async #send(op, built, options, stream = false) {
|
|
292
|
-
const attempts = { max: options?.maxRetries ?? this.#maxRetries, used: 0 };
|
|
293
|
-
const safe = op.method === "GET" || op.idempotency === true;
|
|
294
|
-
const upload = op.body === "binary" || op.body === "multipart";
|
|
295
|
-
const timeout = options?.timeout ?? (upload ? 0 : this.#timeout);
|
|
296
|
-
for (;;) {
|
|
297
|
-
const controller = new AbortController();
|
|
298
|
-
const user = options?.signal;
|
|
299
|
-
if (user?.aborted)
|
|
300
|
-
throw new APIUserAbortError();
|
|
301
|
-
const onAbort = () => controller.abort();
|
|
302
|
-
user?.addEventListener("abort", onAbort, { once: true });
|
|
303
|
-
const release = () => user?.removeEventListener("abort", onAbort);
|
|
304
|
-
let timedOut = false;
|
|
305
|
-
const timer = timeout > 0
|
|
306
|
-
? setTimeout(() => {
|
|
307
|
-
timedOut = true;
|
|
308
|
-
controller.abort();
|
|
309
|
-
}, timeout)
|
|
310
|
-
: undefined;
|
|
311
|
-
let response;
|
|
312
|
-
try {
|
|
313
|
-
response = await this.#fetch(built.url, {
|
|
314
|
-
method: op.method,
|
|
315
|
-
headers: built.headers,
|
|
316
|
-
body: built.body,
|
|
317
|
-
signal: controller.signal,
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
catch (error) {
|
|
321
|
-
clearTimeout(timer);
|
|
322
|
-
release();
|
|
323
|
-
if (user?.aborted)
|
|
324
|
-
throw new APIUserAbortError();
|
|
325
|
-
const failure = timedOut ? new APIConnectionTimeoutError() : new APIConnectionError({ cause: error });
|
|
326
|
-
if (attempts.used < attempts.max && (safe || (!timedOut && undelivered(error)))) {
|
|
327
|
-
await sleep(backoff(attempts.used++), user);
|
|
328
|
-
continue;
|
|
329
|
-
}
|
|
330
|
-
throw failure;
|
|
331
|
-
}
|
|
332
|
-
clearTimeout(timer);
|
|
333
|
-
if (response.ok)
|
|
334
|
-
return { response, release: stream ? () => undefined : release };
|
|
335
|
-
release();
|
|
336
|
-
const text = await response.text().catch(() => "");
|
|
337
|
-
let body;
|
|
338
|
-
try {
|
|
339
|
-
body = text ? JSON.parse(text) : undefined;
|
|
340
|
-
}
|
|
341
|
-
catch {
|
|
342
|
-
body = undefined;
|
|
343
|
-
}
|
|
344
|
-
const error = BmaApiError.generate(response.status, body, response.headers);
|
|
345
|
-
if (attempts.used < attempts.max && this.#shouldRetry(response, safe)) {
|
|
346
|
-
await sleep(retryAfter(response.headers) ?? backoff(attempts.used), user);
|
|
347
|
-
attempts.used++;
|
|
348
|
-
continue;
|
|
349
|
-
}
|
|
350
|
-
throw error;
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
#shouldRetry(response, safe) {
|
|
354
|
-
const hint = response.headers.get("x-should-retry");
|
|
355
|
-
if (hint === "false")
|
|
356
|
-
return false;
|
|
357
|
-
const s = response.status;
|
|
358
|
-
if (!safe)
|
|
359
|
-
return s === 429 || s === 503;
|
|
360
|
-
if (hint === "true")
|
|
361
|
-
return true;
|
|
362
|
-
return s === 408 || s === 429 || s >= 500;
|
|
363
|
-
}
|
|
364
|
-
async #decode(op, response, signal) {
|
|
365
|
-
if (op.response === "binary")
|
|
366
|
-
return response;
|
|
367
|
-
try {
|
|
368
|
-
if (response.status === 204 || op.response === "void") {
|
|
369
|
-
await response.body?.cancel();
|
|
370
|
-
return undefined;
|
|
371
|
-
}
|
|
372
|
-
const text = await response.text();
|
|
373
|
-
try {
|
|
374
|
-
return JSON.parse(text);
|
|
375
|
-
}
|
|
376
|
-
catch (error) {
|
|
377
|
-
throw new BmaError(`bma: ${op.id}: response is not JSON`, { cause: error });
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
catch (error) {
|
|
381
|
-
if (signal?.aborted)
|
|
382
|
-
throw new APIUserAbortError();
|
|
383
|
-
if (error instanceof BmaError)
|
|
384
|
-
throw error;
|
|
385
|
-
throw new APIConnectionError({ message: `bma: ${op.id}: reading the response failed`, cause: error });
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
function retryableStatus(status) {
|
|
390
|
-
return status === 408 || status === 429 || status >= 500;
|
|
391
|
-
}
|
|
392
|
-
function parseFrame(event, data) {
|
|
393
|
-
try {
|
|
394
|
-
return JSON.parse(data);
|
|
395
|
-
}
|
|
396
|
-
catch (error) {
|
|
397
|
-
throw new BmaError(`bma: invalid JSON in ${event} event frame`, { cause: error });
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
class ReconnectSignal {
|
|
401
|
-
error;
|
|
402
|
-
constructor(error) {
|
|
403
|
-
this.error = error;
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
//# sourceMappingURL=core.js.map
|
package/dist/core.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { FacadeClientBase } from "./generated/facade-extensions-resources.js";
|
|
2
|
-
export type * from "./generated/facade-extensions-types.js";
|
|
3
|
-
export type * from "./generated/facade-extensions-operations.js";
|
|
4
|
-
export type { paths as FacadeExtensionPaths } from "./generated/facade-extensions.js";
|
|
5
|
-
export interface FacadeExtensionsOptions {
|
|
6
|
-
/** BMA organization API key (sent as x-api-key). */
|
|
7
|
-
apiKey: string;
|
|
8
|
-
/** Deployment origin, without /v1 (for example https://api.bma.beeos.ai); the routes add /v1. */
|
|
9
|
-
baseUrl: string;
|
|
10
|
-
/** Default project (x-bma-project-id); required for multi-project keys. */
|
|
11
|
-
projectId?: string;
|
|
12
|
-
timeout?: number;
|
|
13
|
-
maxRetries?: number;
|
|
14
|
-
fetch?: typeof globalThis.fetch;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Returns the BMA extension `bma_sequence` of a facade session event, or
|
|
18
|
-
* undefined for preview and synthetic events. Send it as `Last-Event-ID` to
|
|
19
|
-
* resume `GET /v1/sessions/{id}/events/stream`.
|
|
20
|
-
*/
|
|
21
|
-
export declare function bmaSequence(event: {
|
|
22
|
-
bma_sequence?: unknown;
|
|
23
|
-
}): number | undefined;
|
|
24
|
-
/** Client for the BMA extension routes of the Anthropic-compatible facade. */
|
|
25
|
-
export declare class FacadeExtensionsClient extends FacadeClientBase {
|
|
26
|
-
constructor(options: FacadeExtensionsOptions);
|
|
27
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// BMA extensions to the Anthropic Managed Agents API.
|
|
2
|
-
//
|
|
3
|
-
// The standard facade routes (/v1/agents, /v1/environments, /v1/sessions,
|
|
4
|
-
// events, events/stream, /v1/files, /v1/memory_stores) are served by the
|
|
5
|
-
// official Anthropic SDKs pointed at a BMA deployment. This module covers only
|
|
6
|
-
// the BMA extensions, as resources:
|
|
7
|
-
//
|
|
8
|
-
// const ext = new FacadeExtensionsClient({ apiKey, baseUrl, projectId });
|
|
9
|
-
// await ext.sessions.files.list(sessionId);
|
|
10
|
-
//
|
|
11
|
-
// Resource classes are generated from contracts/bma/facade-extensions.openapi.yaml
|
|
12
|
-
// and the `facade` section of contracts/bma/sdk.resources.yaml.
|
|
13
|
-
import { bmaOrigin } from "./core.js";
|
|
14
|
-
import { BmaError } from "./errors.js";
|
|
15
|
-
import { FacadeClientBase } from "./generated/facade-extensions-resources.js";
|
|
16
|
-
/**
|
|
17
|
-
* Returns the BMA extension `bma_sequence` of a facade session event, or
|
|
18
|
-
* undefined for preview and synthetic events. Send it as `Last-Event-ID` to
|
|
19
|
-
* resume `GET /v1/sessions/{id}/events/stream`.
|
|
20
|
-
*/
|
|
21
|
-
export function bmaSequence(event) {
|
|
22
|
-
const value = event.bma_sequence;
|
|
23
|
-
return typeof value === "number" && Number.isSafeInteger(value) && value > 0 ? value : undefined;
|
|
24
|
-
}
|
|
25
|
-
/** Client for the BMA extension routes of the Anthropic-compatible facade. */
|
|
26
|
-
export class FacadeExtensionsClient extends FacadeClientBase {
|
|
27
|
-
constructor(options) {
|
|
28
|
-
const apiKey = options.apiKey?.trim();
|
|
29
|
-
if (!apiKey)
|
|
30
|
-
throw new BmaError("bma facade: apiKey is required");
|
|
31
|
-
const baseUrl = bmaOrigin(options.baseUrl ?? "");
|
|
32
|
-
if (!baseUrl)
|
|
33
|
-
throw new BmaError("bma facade: baseUrl is required");
|
|
34
|
-
if (baseUrl.endsWith("/v1"))
|
|
35
|
-
throw new BmaError("bma facade: baseUrl must be the origin without /v1");
|
|
36
|
-
super({
|
|
37
|
-
baseUrl,
|
|
38
|
-
fetch: options.fetch,
|
|
39
|
-
timeout: options.timeout,
|
|
40
|
-
maxRetries: options.maxRetries,
|
|
41
|
-
headers: { "x-api-key": apiKey },
|
|
42
|
-
scope: { project_id: options.projectId },
|
|
43
|
-
scopeOption: { project_id: "projectId" },
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=facade-extensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"facade-extensions.js","sourceRoot":"","sources":["../src/facade-extensions.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,4EAA4E;AAC5E,8CAA8C;AAC9C,EAAE;AACF,mFAAmF;AACnF,gEAAgE;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAkB9E;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiC;IAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnG,CAAC;AAED,8EAA8E;AAC9E,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAC1D,YAAY,OAAgC;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,QAAQ,CAAC,oDAAoD,CAAC,CAAC;QACtG,KAAK,CAAC;YACJ,OAAO;YACP,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;YAChC,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE;YACxC,WAAW,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import type { operations } from "./facade-extensions.js";
|
|
2
|
-
import type { MultipartBody } from "../core.js";
|
|
3
|
-
/** Request descriptors, one per mapped contract operation. */
|
|
4
|
-
export declare const OP: {
|
|
5
|
-
readonly addSessionResource: {
|
|
6
|
-
readonly id: "addSessionResource";
|
|
7
|
-
readonly method: "POST";
|
|
8
|
-
readonly path: "/v1/sessions/{session_id}/resources";
|
|
9
|
-
readonly pathParams: {
|
|
10
|
-
readonly session_id: "session_id";
|
|
11
|
-
};
|
|
12
|
-
readonly headers: {
|
|
13
|
-
readonly "x-bma-project-id": "project_id";
|
|
14
|
-
};
|
|
15
|
-
readonly body: "json";
|
|
16
|
-
readonly bodyRequired: true;
|
|
17
|
-
readonly response: "json";
|
|
18
|
-
};
|
|
19
|
-
readonly deleteSessionResource: {
|
|
20
|
-
readonly id: "deleteSessionResource";
|
|
21
|
-
readonly method: "DELETE";
|
|
22
|
-
readonly path: "/v1/sessions/{session_id}/resources/{resource_id}";
|
|
23
|
-
readonly pathParams: {
|
|
24
|
-
readonly session_id: "session_id";
|
|
25
|
-
readonly resource_id: "resource_id";
|
|
26
|
-
};
|
|
27
|
-
readonly headers: {
|
|
28
|
-
readonly "x-bma-project-id": "project_id";
|
|
29
|
-
};
|
|
30
|
-
readonly response: "json";
|
|
31
|
-
};
|
|
32
|
-
readonly downloadSessionFile: {
|
|
33
|
-
readonly id: "downloadSessionFile";
|
|
34
|
-
readonly method: "GET";
|
|
35
|
-
readonly path: "/v1/sessions/{session_id}/files/{file_id}/content";
|
|
36
|
-
readonly pathParams: {
|
|
37
|
-
readonly session_id: "session_id";
|
|
38
|
-
readonly file_id: "file_id";
|
|
39
|
-
};
|
|
40
|
-
readonly headers: {
|
|
41
|
-
readonly "x-bma-project-id": "project_id";
|
|
42
|
-
};
|
|
43
|
-
readonly response: "binary";
|
|
44
|
-
};
|
|
45
|
-
readonly getSessionDesktopStream: {
|
|
46
|
-
readonly id: "getSessionDesktopStream";
|
|
47
|
-
readonly method: "GET";
|
|
48
|
-
readonly path: "/v1/sessions/{session_id}/desktop/stream";
|
|
49
|
-
readonly pathParams: {
|
|
50
|
-
readonly session_id: "session_id";
|
|
51
|
-
};
|
|
52
|
-
readonly query: {
|
|
53
|
-
readonly desktop_session_id: "form";
|
|
54
|
-
readonly ttl_seconds: "form";
|
|
55
|
-
readonly origin: "form";
|
|
56
|
-
};
|
|
57
|
-
readonly headers: {
|
|
58
|
-
readonly "x-bma-project-id": "project_id";
|
|
59
|
-
};
|
|
60
|
-
readonly response: "json";
|
|
61
|
-
};
|
|
62
|
-
readonly listSessionFiles: {
|
|
63
|
-
readonly id: "listSessionFiles";
|
|
64
|
-
readonly method: "GET";
|
|
65
|
-
readonly path: "/v1/sessions/{session_id}/files";
|
|
66
|
-
readonly pathParams: {
|
|
67
|
-
readonly session_id: "session_id";
|
|
68
|
-
};
|
|
69
|
-
readonly query: {
|
|
70
|
-
readonly limit: "form";
|
|
71
|
-
readonly page: "form";
|
|
72
|
-
};
|
|
73
|
-
readonly headers: {
|
|
74
|
-
readonly "x-bma-project-id": "project_id";
|
|
75
|
-
};
|
|
76
|
-
readonly response: "json";
|
|
77
|
-
readonly page: readonly [readonly ["page", "next_page"]];
|
|
78
|
-
};
|
|
79
|
-
readonly listSessionResources: {
|
|
80
|
-
readonly id: "listSessionResources";
|
|
81
|
-
readonly method: "GET";
|
|
82
|
-
readonly path: "/v1/sessions/{session_id}/resources";
|
|
83
|
-
readonly pathParams: {
|
|
84
|
-
readonly session_id: "session_id";
|
|
85
|
-
};
|
|
86
|
-
readonly headers: {
|
|
87
|
-
readonly "x-bma-project-id": "project_id";
|
|
88
|
-
};
|
|
89
|
-
readonly response: "json";
|
|
90
|
-
};
|
|
91
|
-
readonly uploadSessionFile: {
|
|
92
|
-
readonly id: "uploadSessionFile";
|
|
93
|
-
readonly method: "POST";
|
|
94
|
-
readonly path: "/v1/sessions/{session_id}/files";
|
|
95
|
-
readonly pathParams: {
|
|
96
|
-
readonly session_id: "session_id";
|
|
97
|
-
};
|
|
98
|
-
readonly headers: {
|
|
99
|
-
readonly "x-bma-project-id": "project_id";
|
|
100
|
-
};
|
|
101
|
-
readonly body: "multipart";
|
|
102
|
-
readonly bodyRequired: true;
|
|
103
|
-
readonly response: "json";
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
/** Params of `addSessionResource`: query, header and body fields, flattened. */
|
|
107
|
-
export type AddSessionResourceParams = {
|
|
108
|
-
project_id?: string;
|
|
109
|
-
} & NonNullable<operations["addSessionResource"]["requestBody"]>["content"]["application/json"];
|
|
110
|
-
/** Params of `deleteSessionResource`: query, header and body fields, flattened. */
|
|
111
|
-
export type DeleteSessionResourceParams = {
|
|
112
|
-
project_id?: string;
|
|
113
|
-
};
|
|
114
|
-
/** Params of `downloadSessionFile`: query, header and body fields, flattened. */
|
|
115
|
-
export type DownloadSessionFileParams = {
|
|
116
|
-
project_id?: string;
|
|
117
|
-
};
|
|
118
|
-
/** Params of `getSessionDesktopStream`: query, header and body fields, flattened. */
|
|
119
|
-
export type GetSessionDesktopStreamParams = {
|
|
120
|
-
project_id?: string;
|
|
121
|
-
} & NonNullable<operations["getSessionDesktopStream"]["parameters"]["query"]>;
|
|
122
|
-
/** Params of `listSessionFiles`: query, header and body fields, flattened. */
|
|
123
|
-
export type ListSessionFilesParams = {
|
|
124
|
-
project_id?: string;
|
|
125
|
-
} & NonNullable<operations["listSessionFiles"]["parameters"]["query"]>;
|
|
126
|
-
/** Params of `listSessionResources`: query, header and body fields, flattened. */
|
|
127
|
-
export type ListSessionResourcesParams = {
|
|
128
|
-
project_id?: string;
|
|
129
|
-
};
|
|
130
|
-
/** Params of `uploadSessionFile`: query, header and body fields, flattened. */
|
|
131
|
-
export type UploadSessionFileParams = {
|
|
132
|
-
project_id?: string;
|
|
133
|
-
} & MultipartBody<NonNullable<operations["uploadSessionFile"]["requestBody"]>["content"]["multipart/form-data"], "file">;
|