@baobox/sdk 0.1.0 → 0.1.2
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 +22 -22
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +3 -3
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -11
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +4 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @baobox/sdk
|
|
2
2
|
|
|
3
|
-
TypeScript HTTP client for [
|
|
3
|
+
TypeScript HTTP client for [BaoBox](https://baobox.ai) — an AI integration platform providing an agent runtime, eval engine, and observability trail.
|
|
4
4
|
|
|
5
|
-
This package is a thin wrapper around
|
|
5
|
+
This package is a thin wrapper around BaoBox's REST API. It has zero business logic — all intelligence lives server-side. Making it public removes friction for partners and third-party users while keeping the runtime closed.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -17,14 +17,14 @@ Requires Node.js 18+ (relies on native `fetch`).
|
|
|
17
17
|
## Quick start
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
|
-
import {
|
|
20
|
+
import { BaoBoxClient } from "@baobox/sdk";
|
|
21
21
|
|
|
22
|
-
const
|
|
23
|
-
endpoint: "https://baobox
|
|
22
|
+
const bb = new BaoBoxClient({
|
|
23
|
+
endpoint: "https://api.baobox.ai",
|
|
24
24
|
apiKey: process.env.BAOBOX_API_KEY!,
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
-
const res = await
|
|
27
|
+
const res = await bb.chat({
|
|
28
28
|
skillId: "sk_document_chaser",
|
|
29
29
|
message: "Review cli_01 and take whatever action is needed.",
|
|
30
30
|
sessionId: "ses_cli_01",
|
|
@@ -40,7 +40,7 @@ console.log(res.meta.trace); // [{ toolName, input, output, latencyMs },
|
|
|
40
40
|
### Chat
|
|
41
41
|
|
|
42
42
|
```typescript
|
|
43
|
-
const res = await
|
|
43
|
+
const res = await bb.chat({
|
|
44
44
|
skillId: "sk_chase",
|
|
45
45
|
message: "...",
|
|
46
46
|
sessionId: "ses_1", // optional
|
|
@@ -53,22 +53,22 @@ Returns `{ response, usage: { inputTokens, outputTokens }, sessionId, meta }` wh
|
|
|
53
53
|
### Sessions
|
|
54
54
|
|
|
55
55
|
```typescript
|
|
56
|
-
const session = await
|
|
57
|
-
const history = await
|
|
56
|
+
const session = await bb.sessions.create({ skillId: "sk_chase" });
|
|
57
|
+
const history = await bb.sessions.messages(session.id);
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
### Admin (requires admin token)
|
|
61
61
|
|
|
62
62
|
```typescript
|
|
63
|
-
await
|
|
63
|
+
await bb.admin.skills.upsert({
|
|
64
64
|
id: "sk_chase",
|
|
65
65
|
name: "Document Chaser",
|
|
66
66
|
systemPrompt: "...",
|
|
67
|
-
model: "
|
|
67
|
+
model: "gpt-5",
|
|
68
68
|
tools: ["lookup_client_docs", "send_client_email"],
|
|
69
69
|
});
|
|
70
70
|
|
|
71
|
-
await
|
|
71
|
+
await bb.admin.tools.upsert({
|
|
72
72
|
name: "lookup_client_docs",
|
|
73
73
|
description: "...",
|
|
74
74
|
inputSchema: { type: "object", properties: { /* ... */ } },
|
|
@@ -80,20 +80,20 @@ await sb.admin.tools.upsert({
|
|
|
80
80
|
### Events (trace)
|
|
81
81
|
|
|
82
82
|
```typescript
|
|
83
|
-
const events = await
|
|
83
|
+
const events = await bb.events.list({ sessionId: "ses_1", limit: 50 });
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
## Error handling
|
|
87
87
|
|
|
88
|
-
Every non-2xx response throws `
|
|
88
|
+
Every non-2xx response throws `BaoBoxError`:
|
|
89
89
|
|
|
90
90
|
```typescript
|
|
91
|
-
import {
|
|
91
|
+
import { BaoBoxError } from "@baobox/sdk";
|
|
92
92
|
|
|
93
93
|
try {
|
|
94
|
-
await
|
|
94
|
+
await bb.chat({ skillId: "sk_missing", message: "..." });
|
|
95
95
|
} catch (err) {
|
|
96
|
-
if (err instanceof
|
|
96
|
+
if (err instanceof BaoBoxError) {
|
|
97
97
|
console.error(err.status); // 404
|
|
98
98
|
console.error(err.code); // "SKILL_NOT_FOUND"
|
|
99
99
|
console.error(err.requestId); // server-side request id for log correlation
|
|
@@ -101,13 +101,13 @@ try {
|
|
|
101
101
|
}
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
Network failures surface as `
|
|
104
|
+
Network failures surface as `BaoBoxError` with `status: 0` and `code: "NETWORK"`; timeouts as `code: "TIMEOUT"`.
|
|
105
105
|
|
|
106
106
|
## Configuration
|
|
107
107
|
|
|
108
108
|
```typescript
|
|
109
|
-
new
|
|
110
|
-
endpoint: "...", // required —
|
|
109
|
+
new BaoBoxClient({
|
|
110
|
+
endpoint: "...", // required — BaoBox API base URL
|
|
111
111
|
apiKey: "...", // required
|
|
112
112
|
orgId: "firm_a", // optional, observability tag
|
|
113
113
|
fetch: myFetch, // optional, injects custom fetch (tests / edge runtimes)
|
|
@@ -121,5 +121,5 @@ MIT. See [LICENSE](./LICENSE).
|
|
|
121
121
|
|
|
122
122
|
## Related
|
|
123
123
|
|
|
124
|
-
-
|
|
125
|
-
- [Adoptive Co](https://adoptive.co) — consultancy using
|
|
124
|
+
- [BaoBox](https://baobox.ai) — product homepage
|
|
125
|
+
- [Adoptive Co](https://adoptive.co) — consultancy using BaoBox as a delivery tool
|
package/dist/errors.d.ts
CHANGED
package/dist/errors.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// SDK-specific error class. Thrown for any non-2xx response; carries the
|
|
2
2
|
// HTTP status, the server's error code + message when available, and the
|
|
3
|
-
//
|
|
4
|
-
export class
|
|
3
|
+
// BaoBox request_id so callers can correlate with server logs.
|
|
4
|
+
export class BaoBoxError extends Error {
|
|
5
5
|
status;
|
|
6
6
|
code;
|
|
7
7
|
requestId;
|
|
8
8
|
body;
|
|
9
9
|
constructor(status, code, message, requestId, body) {
|
|
10
10
|
super(message);
|
|
11
|
-
this.name = "
|
|
11
|
+
this.name = "BaoBoxError";
|
|
12
12
|
this.status = status;
|
|
13
13
|
this.code = code;
|
|
14
14
|
this.requestId = requestId;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ChatRequest, ChatResponse, Event, EventListRequest, Session, SessionMessage, Skill,
|
|
2
|
-
export {
|
|
1
|
+
import type { ChatRequest, ChatResponse, Event, EventListRequest, Session, SessionMessage, Skill, BaoBoxClientOptions, SkillUpsertRequest, Tool, ToolUpsertRequest } from "./types.js";
|
|
2
|
+
export { BaoBoxError } from "./errors.js";
|
|
3
3
|
export type * from "./types.js";
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class BaoBoxClient {
|
|
5
5
|
private readonly endpoint;
|
|
6
6
|
private readonly apiKey;
|
|
7
7
|
private readonly fetch;
|
|
@@ -23,7 +23,7 @@ export declare class BaoboxClient {
|
|
|
23
23
|
readonly events: {
|
|
24
24
|
list: (req: EventListRequest) => Promise<Event[]>;
|
|
25
25
|
};
|
|
26
|
-
constructor(opts:
|
|
26
|
+
constructor(opts: BaoBoxClientOptions);
|
|
27
27
|
chat(req: ChatRequest): Promise<ChatResponse>;
|
|
28
28
|
private createSession;
|
|
29
29
|
private listMessages;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,KAAK,EACL,gBAAgB,EAEhB,OAAO,EACP,cAAc,EACd,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,IAAI,EACJ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,mBAAmB,YAAY,CAAC;AAIhC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAKnC,SAAgB,KAAK,EAAE;QACrB,MAAM,EAAE;YAAE,MAAM,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;SAAE,CAAC;QAChE,KAAK,EAAE;YAAE,MAAM,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAC;KAC9D,CAAC;IACF,SAAgB,QAAQ,EAAE;QACxB,MAAM,EAAE,CAAC,GAAG,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;KAC5D,CAAC;IACF,SAAgB,MAAM,EAAE;QACtB,IAAI,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;KACnD,CAAC;gBAEU,IAAI,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,KAAK,EACL,gBAAgB,EAEhB,OAAO,EACP,cAAc,EACd,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,IAAI,EACJ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,mBAAmB,YAAY,CAAC;AAIhC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAKnC,SAAgB,KAAK,EAAE;QACrB,MAAM,EAAE;YAAE,MAAM,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;SAAE,CAAC;QAChE,KAAK,EAAE;YAAE,MAAM,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAC;KAC9D,CAAC;IACF,SAAgB,QAAQ,EAAE;QACxB,MAAM,EAAE,CAAC,GAAG,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;KAC5D,CAAC;IACF,SAAgB,MAAM,EAAE;QACtB,IAAI,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;KACnD,CAAC;gBAEU,IAAI,EAAE,mBAAmB;IAkC/B,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;YAwBrC,aAAa;YAiBb,YAAY;YAuBZ,WAAW;YAsCX,UAAU;YA6BV,UAAU;YAkCV,OAAO;CAoFtB"}
|
package/dist/index.js
CHANGED
|
@@ -1,28 +1,35 @@
|
|
|
1
|
-
// @baobox/sdk — thin HTTP client for the
|
|
1
|
+
// @baobox/sdk — thin HTTP client for the BaoBox runtime.
|
|
2
2
|
// No business logic here — everything smart lives server-side. This file
|
|
3
3
|
// is ~300 lines on purpose; if it grows past ~500, something that belongs
|
|
4
4
|
// in the runtime has leaked out.
|
|
5
|
-
import {
|
|
6
|
-
export {
|
|
7
|
-
export class
|
|
5
|
+
import { BaoBoxError } from "./errors.js";
|
|
6
|
+
export { BaoBoxError } from "./errors.js";
|
|
7
|
+
export class BaoBoxClient {
|
|
8
8
|
endpoint;
|
|
9
9
|
apiKey;
|
|
10
10
|
fetch;
|
|
11
11
|
timeoutMs;
|
|
12
12
|
// `admin` and `events` are pseudo-namespaces — just method bundles so
|
|
13
|
-
// call sites read as `
|
|
14
|
-
// `
|
|
13
|
+
// call sites read as `bb.admin.skills.upsert(...)` rather than a flat
|
|
14
|
+
// `bb.upsertSkill(...)`. Matches Tech Arch §4.2.
|
|
15
15
|
admin;
|
|
16
16
|
sessions;
|
|
17
17
|
events;
|
|
18
18
|
constructor(opts) {
|
|
19
19
|
if (!opts.endpoint)
|
|
20
|
-
throw new Error("
|
|
20
|
+
throw new Error("BaoBoxClient: endpoint required");
|
|
21
21
|
if (!opts.apiKey)
|
|
22
|
-
throw new Error("
|
|
22
|
+
throw new Error("BaoBoxClient: apiKey required");
|
|
23
23
|
this.endpoint = opts.endpoint.replace(/\/+$/, "");
|
|
24
24
|
this.apiKey = opts.apiKey;
|
|
25
|
-
|
|
25
|
+
// Bind the fetch to globalThis. Cloudflare Workers' native fetch is
|
|
26
|
+
// a runtime intrinsic that must be invoked with this === globalThis;
|
|
27
|
+
// stashing it on the client instance and calling it via this.fetch(...)
|
|
28
|
+
// throws "Illegal invocation" because Workers sees the client as
|
|
29
|
+
// the receiver. Binding here keeps call sites clean and covers the
|
|
30
|
+
// case where a caller injects a method-bound custom fetch too.
|
|
31
|
+
const rawFetch = opts.fetch ?? globalThis.fetch;
|
|
32
|
+
this.fetch = rawFetch.bind(globalThis);
|
|
26
33
|
this.timeoutMs = opts.timeoutMs ?? 30_000;
|
|
27
34
|
this.admin = {
|
|
28
35
|
skills: {
|
|
@@ -166,7 +173,7 @@ export class BaoboxClient {
|
|
|
166
173
|
}
|
|
167
174
|
catch (err) {
|
|
168
175
|
const isAbort = err instanceof DOMException && err.name === "AbortError";
|
|
169
|
-
throw new
|
|
176
|
+
throw new BaoBoxError(0, isAbort ? "TIMEOUT" : "NETWORK", isAbort
|
|
170
177
|
? `Request to ${path} timed out after ${this.timeoutMs}ms`
|
|
171
178
|
: `Network error calling ${path}: ${String(err)}`, null, null);
|
|
172
179
|
}
|
|
@@ -178,7 +185,7 @@ export class BaoboxClient {
|
|
|
178
185
|
const parsed = text.length ? safeParseJson(text) : {};
|
|
179
186
|
if (!res.ok) {
|
|
180
187
|
const errObj = parsed.error;
|
|
181
|
-
throw new
|
|
188
|
+
throw new BaoBoxError(res.status, errObj?.code ?? "HTTP_ERROR", errObj?.message ?? res.statusText, errObj?.request_id ?? null, parsed);
|
|
182
189
|
}
|
|
183
190
|
const envelope = parsed;
|
|
184
191
|
return {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,yEAAyE;AACzE,0EAA0E;AAC1E,iCAAiC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,OAAO,YAAY;IACN,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,KAAK,CAAU;IACf,SAAS,CAAS;IAEnC,sEAAsE;IACtE,sEAAsE;IACtE,iDAAiD;IACjC,KAAK,CAGnB;IACc,QAAQ,CAGtB;IACc,MAAM,CAEpB;IAEF,YAAY,IAAyB;QACnC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type
|
|
2
|
-
/** Full URL to the
|
|
1
|
+
export type BaoBoxClientOptions = {
|
|
2
|
+
/** Full URL to the BaoBox worker, e.g. "https://baobox-jv1.brightq.workers.dev" */
|
|
3
3
|
endpoint: string;
|
|
4
|
-
/** API key issued by
|
|
4
|
+
/** API key issued by BaoBox admin. Hashes to one `api_keys` row. */
|
|
5
5
|
apiKey: string;
|
|
6
6
|
/** Optional tag for observability — not sent over the wire yet. */
|
|
7
7
|
orgId?: string;
|
|
@@ -27,7 +27,7 @@ export type ChatResponse = {
|
|
|
27
27
|
outputTokens: number;
|
|
28
28
|
};
|
|
29
29
|
sessionId?: string;
|
|
30
|
-
/** Full
|
|
30
|
+
/** Full BaoBox metadata envelope: request_id, latency, tool trace. */
|
|
31
31
|
meta: ResponseMeta;
|
|
32
32
|
};
|
|
33
33
|
export type ResponseMeta = {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baobox/sdk",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "TypeScript HTTP client for
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "TypeScript HTTP client for BaoBox — agent runtime + eval + observability.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bright Qi <bright@adoptive.co>",
|
|
7
7
|
"repository": {
|