@heossihq/bee 0.1.5 → 0.1.6

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.
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+ /**
3
+ * BeeClient — dependency-free TypeScript SDK for Bee.
4
+ *
5
+ * Usage:
6
+ *
7
+ * import { BeeClient } from "@heossihq/bee";
8
+ *
9
+ * const bee = new BeeClient({ apiKey: process.env.BEE_API_KEY! });
10
+ *
11
+ * const out = await bee.chat.completions.create({
12
+ * model: "bee-cell",
13
+ * messages: [{ role: "user", content: "Hello." }],
14
+ * });
15
+ * console.log(out.choices[0].message.content);
16
+ *
17
+ * The SDK targets api.bee.heossi.com/bee/* (the public API proxy). Override `baseURL` to point at a self-hosted Bee Enclave or
18
+ * a staging environment.
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.BeeClient = void 0;
22
+ const errors_js_1 = require("./errors.js");
23
+ const DEFAULT_BASE_URL = "https://api.bee.heossi.com/bee";
24
+ const DEFAULT_TIMEOUT_MS = 300_000;
25
+ class BeeClient {
26
+ apiKey;
27
+ baseURL;
28
+ timeoutMs;
29
+ extraHeaders;
30
+ fetchImpl;
31
+ chat;
32
+ models;
33
+ quantumReasoning;
34
+ provenance;
35
+ usage;
36
+ constructor(opts) {
37
+ if (!opts.apiKey || typeof opts.apiKey !== "string") {
38
+ throw new Error("BeeClient: apiKey is required");
39
+ }
40
+ this.apiKey = opts.apiKey;
41
+ this.baseURL = (opts.baseURL ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
42
+ this.timeoutMs = typeof opts.timeoutMs === "number" ? opts.timeoutMs : DEFAULT_TIMEOUT_MS;
43
+ this.extraHeaders = { ...(opts.headers ?? {}) };
44
+ const f = opts.fetch ?? globalThis.fetch;
45
+ if (typeof f !== "function") {
46
+ throw new Error("BeeClient: no fetch implementation found. On Node <18, pass `fetch` explicitly.");
47
+ }
48
+ this.fetchImpl = f;
49
+ this.chat = new ChatNamespace(this);
50
+ this.models = new ModelsNamespace(this);
51
+ this.quantumReasoning = new QuantumReasoningNamespace(this);
52
+ this.provenance = new ProvenanceNamespace(this);
53
+ this.usage = new UsageNamespace(this);
54
+ }
55
+ /** Internal — request wrapper with timeout, auth header, and structured error mapping. */
56
+ async _request(method, path, body, accept, requestHeaders = {}) {
57
+ const url = `${this.baseURL}${path}`;
58
+ const controller = new AbortController();
59
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
60
+ const headers = {
61
+ Authorization: `Bearer ${this.apiKey}`,
62
+ Accept: accept,
63
+ ...this.extraHeaders,
64
+ ...requestHeaders,
65
+ };
66
+ if (body !== undefined)
67
+ headers["Content-Type"] = "application/json";
68
+ let resp;
69
+ try {
70
+ resp = await this.fetchImpl(url, {
71
+ method,
72
+ headers,
73
+ body: body === undefined ? undefined : JSON.stringify(body),
74
+ signal: controller.signal,
75
+ });
76
+ }
77
+ catch (err) {
78
+ clearTimeout(timer);
79
+ if (err instanceof Error && err.name === "AbortError") {
80
+ throw new errors_js_1.BeeTimeoutError(`Request to ${url} timed out`, this.timeoutMs);
81
+ }
82
+ throw err;
83
+ }
84
+ clearTimeout(timer);
85
+ if (!resp.ok) {
86
+ const errorBody = await safeReadJson(resp);
87
+ const message = `Bee request to ${path} failed: HTTP ${resp.status}`;
88
+ if (resp.status === 401 || resp.status === 403) {
89
+ throw new errors_js_1.BeeAuthError(message, resp.status, errorBody);
90
+ }
91
+ if (resp.status === 429) {
92
+ const ra = resp.headers.get("retry-after");
93
+ const retryAfter = ra && /^\d+$/.test(ra) ? Number.parseInt(ra, 10) : null;
94
+ throw new errors_js_1.BeeRateLimitError(message, errorBody, retryAfter);
95
+ }
96
+ throw new errors_js_1.BeeError(message, resp.status, errorBody);
97
+ }
98
+ return resp;
99
+ }
100
+ }
101
+ exports.BeeClient = BeeClient;
102
+ class ChatNamespace {
103
+ completions;
104
+ constructor(client) {
105
+ this.completions = new ChatCompletionsResource(client);
106
+ }
107
+ }
108
+ class ChatCompletionsResource {
109
+ client;
110
+ constructor(client) {
111
+ this.client = client;
112
+ }
113
+ async create(params) {
114
+ validateMessages(params.messages);
115
+ const body = {
116
+ model: params.model ?? "bee-cell",
117
+ messages: params.messages,
118
+ ...(typeof params.temperature === "number" ? { temperature: params.temperature } : {}),
119
+ ...(typeof params.max_tokens === "number" ? { max_tokens: params.max_tokens } : {}),
120
+ ...(typeof params.seed === "number" ? { seed: params.seed } : {}),
121
+ ...(params.stream ? { stream: true } : {}),
122
+ };
123
+ if (params.stream) {
124
+ const resp = await this.client._request("POST", "/chat/completions", body, "text/event-stream");
125
+ return iterateSse(resp);
126
+ }
127
+ const resp = await this.client._request("POST", "/chat/completions", body, "application/json");
128
+ return (await resp.json());
129
+ }
130
+ }
131
+ class ModelsNamespace {
132
+ client;
133
+ constructor(client) {
134
+ this.client = client;
135
+ }
136
+ async list() {
137
+ const resp = await this.client._request("GET", "/models", undefined, "application/json");
138
+ return (await resp.json());
139
+ }
140
+ }
141
+ class QuantumReasoningNamespace {
142
+ jobs;
143
+ constructor(client) {
144
+ this.jobs = new QuantumReasoningJobsResource(client);
145
+ }
146
+ }
147
+ class QuantumReasoningJobsResource {
148
+ client;
149
+ constructor(client) {
150
+ this.client = client;
151
+ }
152
+ async create(params) {
153
+ if (!params.prompt?.trim())
154
+ throw new Error("BeeClient: prompt is required");
155
+ const idempotencyKey = params.idempotency_key ?? crypto.randomUUID();
156
+ const resp = await this.client._request("POST", "/quantum-reasoning/jobs", {
157
+ prompt: params.prompt,
158
+ model: params.model,
159
+ product: params.product,
160
+ ...(params.provider_connection_id !== undefined
161
+ ? { provider_connection_id: params.provider_connection_id }
162
+ : {}),
163
+ ...(params.workspace_id !== undefined ? { workspace_id: params.workspace_id } : {}),
164
+ }, "application/json", { "Idempotency-Key": idempotencyKey });
165
+ return (await resp.json()).job;
166
+ }
167
+ async list(params = {}) {
168
+ const search = new URLSearchParams();
169
+ if (params.cursor)
170
+ search.set("cursor", params.cursor);
171
+ if (params.limit !== undefined)
172
+ search.set("limit", String(params.limit));
173
+ if (params.status)
174
+ search.set("status", params.status);
175
+ if (params.model)
176
+ search.set("model", params.model);
177
+ const resp = await this.client._request("GET", `/quantum-reasoning/jobs${search.size ? `?${search}` : ""}`, undefined, "application/json");
178
+ return (await resp.json());
179
+ }
180
+ async retrieve(id) {
181
+ const resp = await this.client._request("GET", `/quantum-reasoning/jobs/${encodeURIComponent(id)}`, undefined, "application/json");
182
+ return (await resp.json()).job;
183
+ }
184
+ /** Cancels queued work or erases terminal content while retaining audit metadata. */
185
+ async remove(id) {
186
+ const resp = await this.client._request("DELETE", `/quantum-reasoning/jobs/${encodeURIComponent(id)}`, undefined, "application/json");
187
+ return (await resp.json());
188
+ }
189
+ async wait(id, options = {}) {
190
+ const timeout = options.timeout_ms ?? 15 * 60_000;
191
+ const pollInterval = options.poll_interval_ms ?? 2_000;
192
+ if (timeout <= 0 || pollInterval <= 0) {
193
+ throw new Error("BeeClient: timeout_ms and poll_interval_ms must be positive");
194
+ }
195
+ const deadline = Date.now() + timeout;
196
+ const active = new Set([
197
+ "queued",
198
+ "generating_candidates",
199
+ "scoring",
200
+ "selecting",
201
+ "awaiting_qpu",
202
+ ]);
203
+ while (Date.now() < deadline) {
204
+ if (options.signal?.aborted)
205
+ throw options.signal.reason ?? new Error("Aborted");
206
+ const job = await this.retrieve(id);
207
+ if (!active.has(job.status))
208
+ return job;
209
+ if (options.signal?.aborted)
210
+ throw options.signal.reason ?? new Error("Aborted");
211
+ await new Promise((resolve, reject) => {
212
+ const onAbort = () => {
213
+ clearTimeout(timer);
214
+ reject(options.signal?.reason ?? new Error("Aborted"));
215
+ };
216
+ const timer = setTimeout(() => {
217
+ options.signal?.removeEventListener("abort", onAbort);
218
+ resolve();
219
+ }, pollInterval);
220
+ options.signal?.addEventListener("abort", onAbort, { once: true });
221
+ });
222
+ }
223
+ throw new Error(`BeeClient: timed out waiting for quantum reasoning job ${id}`);
224
+ }
225
+ }
226
+ /**
227
+ * Verifiable agent provenance. When an agent-loop request carries a stable
228
+ * `session_id`, Bee seals each served turn into a per-session, ML-DSA-65-signed
229
+ * (NIST FIPS 204) hash chain. `verify(sessionId)` returns Bee's verdict, the
230
+ * chain (digests only — never your code), and the SPKI public key so you can
231
+ * INDEPENDENTLY re-verify every link offline with any FIPS-204 verifier.
232
+ */
233
+ class ProvenanceNamespace {
234
+ client;
235
+ constructor(client) {
236
+ this.client = client;
237
+ }
238
+ async verify(sessionId) {
239
+ if (!sessionId || typeof sessionId !== "string") {
240
+ throw new Error("BeeClient: provenance.verify requires a session id");
241
+ }
242
+ const resp = await this.client._request("GET", `/provenance/${encodeURIComponent(sessionId)}`, undefined, "application/json");
243
+ return (await resp.json());
244
+ }
245
+ }
246
+ /**
247
+ * Account & usage. `retrieve()` returns the caller's account (email, plan,
248
+ * organization), usage (pooled tokens, per-tier allowances, resets_at, messages,
249
+ * active days, credits), and the "what's contributing" tier breakdown over a
250
+ * `day` (24h) or `week` (7d) window — the SAME real data the Bee workspace,
251
+ * desktop, mobile, and IDE surfaces show, for every tier.
252
+ */
253
+ class UsageNamespace {
254
+ client;
255
+ constructor(client) {
256
+ this.client = client;
257
+ }
258
+ async retrieve(window = "day") {
259
+ const w = window === "week" ? "week" : "day";
260
+ const resp = await this.client._request("GET", `/usage?window=${w}`, undefined, "application/json");
261
+ return (await resp.json());
262
+ }
263
+ }
264
+ // ── Helpers ──────────────────────────────────────────────────────────────
265
+ function validateMessages(messages) {
266
+ if (!Array.isArray(messages) || messages.length === 0) {
267
+ throw new Error("BeeClient: messages must be a non-empty array");
268
+ }
269
+ for (const m of messages) {
270
+ if (!m || typeof m.role !== "string") {
271
+ throw new Error("BeeClient: each message must have a string `role`");
272
+ }
273
+ if (typeof m.content !== "string" && !Array.isArray(m.content)) {
274
+ throw new Error("BeeClient: each message `content` must be a string or array of parts");
275
+ }
276
+ }
277
+ }
278
+ async function safeReadJson(resp) {
279
+ try {
280
+ return await resp.json();
281
+ }
282
+ catch {
283
+ try {
284
+ return await resp.text();
285
+ }
286
+ catch {
287
+ return null;
288
+ }
289
+ }
290
+ }
291
+ /**
292
+ * Yield OpenAI-style SSE chunks. The server emits `data: {...}\n\n`
293
+ * lines terminated by `data: [DONE]\n\n`. Lines we can't parse as JSON
294
+ * are skipped silently — same behaviour as the OpenAI SDK.
295
+ */
296
+ async function* iterateSse(resp) {
297
+ if (!resp.body) {
298
+ throw new errors_js_1.BeeError("Streaming response had no body", resp.status, null);
299
+ }
300
+ const reader = resp.body.getReader();
301
+ const decoder = new TextDecoder();
302
+ let buffer = "";
303
+ try {
304
+ while (true) {
305
+ const { value, done } = await reader.read();
306
+ if (done)
307
+ break;
308
+ buffer += decoder.decode(value, { stream: true });
309
+ let eventEnd;
310
+ while ((eventEnd = buffer.indexOf("\n\n")) !== -1) {
311
+ const event = buffer.slice(0, eventEnd);
312
+ buffer = buffer.slice(eventEnd + 2);
313
+ const dataLine = event
314
+ .split("\n")
315
+ .find((line) => line.startsWith("data:"))
316
+ ?.slice(5)
317
+ .trim();
318
+ if (!dataLine)
319
+ continue;
320
+ if (dataLine === "[DONE]")
321
+ return;
322
+ try {
323
+ yield JSON.parse(dataLine);
324
+ }
325
+ catch {
326
+ // Malformed line — skip and continue.
327
+ }
328
+ }
329
+ }
330
+ }
331
+ finally {
332
+ reader.releaseLock();
333
+ }
334
+ }
335
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BeeTimeoutError = exports.BeeRateLimitError = exports.BeeAuthError = exports.BeeError = void 0;
4
+ /** Base error type — every BeeError carries the HTTP status and (when present) the upstream JSON body. */
5
+ class BeeError extends Error {
6
+ status;
7
+ body;
8
+ constructor(message, status, body) {
9
+ super(message);
10
+ this.name = "BeeError";
11
+ this.status = status;
12
+ this.body = body;
13
+ }
14
+ }
15
+ exports.BeeError = BeeError;
16
+ /** 401 / 403 — bad or missing API key, or the key's plan does not grant the requested tier. */
17
+ class BeeAuthError extends BeeError {
18
+ constructor(message, status, body) {
19
+ super(message, status, body);
20
+ this.name = "BeeAuthError";
21
+ }
22
+ }
23
+ exports.BeeAuthError = BeeAuthError;
24
+ /** 429 — rate-limited. The `retryAfterSeconds` field reflects the Retry-After header when the server set it. */
25
+ class BeeRateLimitError extends BeeError {
26
+ retryAfterSeconds;
27
+ constructor(message, body, retryAfterSeconds) {
28
+ super(message, 429, body);
29
+ this.name = "BeeRateLimitError";
30
+ this.retryAfterSeconds = retryAfterSeconds;
31
+ }
32
+ }
33
+ exports.BeeRateLimitError = BeeRateLimitError;
34
+ /** AbortController fired before the response landed. */
35
+ class BeeTimeoutError extends BeeError {
36
+ constructor(message, timeoutMs) {
37
+ super(message, 0, { timeoutMs });
38
+ this.name = "BeeTimeoutError";
39
+ }
40
+ }
41
+ exports.BeeTimeoutError = BeeTimeoutError;
42
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";;;AAAA,0GAA0G;AAC1G,MAAa,QAAS,SAAQ,KAAK;IACxB,MAAM,CAAS;IACf,IAAI,CAAU;IAEvB,YAAY,OAAe,EAAE,MAAc,EAAE,IAAa;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAVD,4BAUC;AAED,+FAA+F;AAC/F,MAAa,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAe,EAAE,MAAc,EAAE,IAAa;QACxD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC;AAED,gHAAgH;AAChH,MAAa,iBAAkB,SAAQ,QAAQ;IACpC,iBAAiB,CAAgB;IAC1C,YAAY,OAAe,EAAE,IAAa,EAAE,iBAAgC;QAC1E,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;CACF;AAPD,8CAOC;AAED,wDAAwD;AACxD,MAAa,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe,EAAE,SAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * @heossihq/bee — Official TypeScript / JavaScript SDK for
4
+ * Bee by HEOSSI — The Progressive Quantum-Native Intelligence Engine.
5
+ *
6
+ * Bee exposes an OpenAI-compatible /chat/completions surface backed by a
7
+ * domain-specialised LoRA-routed model ladder (Cell, Brood, Comb, Buzz,
8
+ * Hive, Swarm, Enclave). This SDK is the typed entry point — pure
9
+ * ESM, zero runtime dependencies, native fetch.
10
+ *
11
+ * See https://bee.heossi.com/docs for the full API reference.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.quantumLocalSelect = exports.executeByopaDirect = exports.BeeTimeoutError = exports.BeeRateLimitError = exports.BeeAuthError = exports.BeeError = exports.BeeClient = void 0;
15
+ var client_js_1 = require("./client.js");
16
+ Object.defineProperty(exports, "BeeClient", { enumerable: true, get: function () { return client_js_1.BeeClient; } });
17
+ var errors_js_1 = require("./errors.js");
18
+ Object.defineProperty(exports, "BeeError", { enumerable: true, get: function () { return errors_js_1.BeeError; } });
19
+ Object.defineProperty(exports, "BeeAuthError", { enumerable: true, get: function () { return errors_js_1.BeeAuthError; } });
20
+ Object.defineProperty(exports, "BeeRateLimitError", { enumerable: true, get: function () { return errors_js_1.BeeRateLimitError; } });
21
+ Object.defineProperty(exports, "BeeTimeoutError", { enumerable: true, get: function () { return errors_js_1.BeeTimeoutError; } });
22
+ var quantum_local_js_1 = require("./quantum-local.js");
23
+ Object.defineProperty(exports, "executeByopaDirect", { enumerable: true, get: function () { return quantum_local_js_1.executeByopaDirect; } });
24
+ Object.defineProperty(exports, "quantumLocalSelect", { enumerable: true, get: function () { return quantum_local_js_1.quantumLocalSelect; } });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,yCAAyF;AAAhF,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAAE,4GAAA,eAAe,OAAA;AACnE,uDAA4E;AAAnE,sHAAA,kBAAkB,OAAA;AAAE,sHAAA,kBAAkB,OAAA"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.quantumLocalSelect = quantumLocalSelect;
4
+ exports.executeByopaDirect = executeByopaDirect;
5
+ function validateProviderCounts(counts, shots) {
6
+ const entries = Object.entries(counts);
7
+ if (entries.length === 0 ||
8
+ entries.some(([key, value]) => !/^[01]{1,64}$/.test(key) || !Number.isInteger(value) || value < 0) ||
9
+ entries.reduce((sum, [, value]) => sum + value, 0) !== shots) {
10
+ throw new Error("provider returned invalid counts");
11
+ }
12
+ }
13
+ function finite(value, name) {
14
+ if (!Number.isFinite(value))
15
+ throw new TypeError(`${name} must be finite`);
16
+ return value;
17
+ }
18
+ function validateCounts(counts, size, shots) {
19
+ const entries = Object.entries(counts);
20
+ if (entries.length === 0 ||
21
+ entries.some(([key, value]) => !/^\d+$/.test(key) || Number(key) >= size || !Number.isInteger(value) || value < 0) ||
22
+ entries.reduce((sum, [, value]) => sum + value, 0) !== shots) {
23
+ throw new Error("accelerator returned invalid counts");
24
+ }
25
+ }
26
+ async function quantumLocalSelect(input) {
27
+ const { candidates, scores } = input;
28
+ if (candidates.length < 1 || candidates.length > 256 || candidates.length !== scores.length) {
29
+ throw new RangeError("candidates and scores must have the same length from 1 to 256");
30
+ }
31
+ if (candidates.some((value) => !value || value.length > 256_000))
32
+ throw new RangeError("invalid candidate");
33
+ for (const value of scores)
34
+ finite(value, "score");
35
+ const shots = input.shots ?? 2_000;
36
+ const seed = input.seed ?? 0xbee;
37
+ if (!Number.isInteger(shots) || shots < 1 || shots > 100_000)
38
+ throw new RangeError("shots out of range");
39
+ if (!Number.isSafeInteger(seed))
40
+ throw new RangeError("seed must be a safe integer");
41
+ const high = Math.max(...scores);
42
+ const weights = scores.map((score) => Math.exp(score - high));
43
+ const total = weights.reduce((sum, value) => sum + value, 0);
44
+ const probabilities = weights.map((value) => value / total);
45
+ const qubits = Math.max(1, Math.ceil(Math.log2(candidates.length)));
46
+ const amplitudes = Array.from({ length: 2 ** qubits }, (_, index) => index < probabilities.length ? Math.sqrt(probabilities[index]) : 0);
47
+ let counts;
48
+ let backend = "customer_cpu";
49
+ if (input.accelerator) {
50
+ counts = await input.accelerator.run(probabilities, shots, seed);
51
+ backend = input.accelerator.backend;
52
+ }
53
+ else {
54
+ counts = {};
55
+ let state = seed >>> 0;
56
+ for (let shot = 0; shot < shots; shot += 1) {
57
+ state = (Math.imul(1664525, state) + 1013904223) >>> 0;
58
+ const sample = state / 2 ** 32;
59
+ let cumulative = 0;
60
+ let index = probabilities.length - 1;
61
+ for (let candidate = 0; candidate < probabilities.length; candidate += 1) {
62
+ cumulative += probabilities[candidate];
63
+ if (sample < cumulative) {
64
+ index = candidate;
65
+ break;
66
+ }
67
+ }
68
+ counts[String(index)] = (counts[String(index)] ?? 0) + 1;
69
+ }
70
+ }
71
+ validateCounts(counts, candidates.length, shots);
72
+ const selectedIndex = Number(Object.keys(counts).reduce((best, key) => (counts[key] > counts[best] ? key : best)));
73
+ return {
74
+ selected_index: selectedIndex,
75
+ selected: candidates[selectedIndex],
76
+ probabilities,
77
+ amplitudes,
78
+ qubits,
79
+ counts,
80
+ shots,
81
+ backend,
82
+ };
83
+ }
84
+ async function executeByopaDirect(request, adapter) {
85
+ if (!request.circuit || request.circuit.length > 1_000_000)
86
+ throw new RangeError("invalid circuit");
87
+ if (!Number.isInteger(request.shots) || request.shots < 1 || request.shots > 100_000)
88
+ throw new RangeError("invalid shots");
89
+ if (!request.backend || request.backend.length > 200)
90
+ throw new RangeError("invalid backend");
91
+ if (!Number.isSafeInteger(request.max_cost_minor) || request.max_cost_minor < 0)
92
+ throw new RangeError("invalid cost cap");
93
+ if (!/^[A-Z]{3}$/.test(request.currency))
94
+ throw new RangeError("currency must be uppercase ISO-4217");
95
+ const quote = await adapter.quote(request);
96
+ if (!Number.isSafeInteger(quote.cost_minor) ||
97
+ quote.cost_minor < 0 ||
98
+ quote.cost_minor > request.max_cost_minor ||
99
+ quote.currency !== request.currency ||
100
+ !/(?:Z|[+-]\d{2}:\d{2})$/.test(quote.expires_at) ||
101
+ !Number.isFinite(Date.parse(quote.expires_at)) ||
102
+ Date.parse(quote.expires_at) <= Date.now())
103
+ throw new Error("provider returned invalid quote");
104
+ const result = await adapter.run(request, quote);
105
+ if (!result.provider_job_id ||
106
+ result.provider_job_id.length > 300 ||
107
+ result.backend !== request.backend)
108
+ throw new Error("provider returned invalid identity");
109
+ validateProviderCounts(result.counts, request.shots);
110
+ if (result.billed_cost_minor !== undefined &&
111
+ (!Number.isSafeInteger(result.billed_cost_minor) ||
112
+ result.billed_cost_minor < 0 ||
113
+ result.billed_cost_minor > quote.cost_minor ||
114
+ result.billed_cost_minor > request.max_cost_minor))
115
+ throw new Error("provider returned invalid bill");
116
+ return result;
117
+ }
118
+ //# sourceMappingURL=quantum-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quantum-local.js","sourceRoot":"","sources":["../../src/quantum-local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * OpenAI-compatible request / response types for Bee.
4
+ *
5
+ * Bee exposes a strict subset of the OpenAI Chat Completions surface
6
+ * at https://api.bee.heossi.com/bee/chat/completions — same JSON shapes,
7
+ * same streaming format. Anything unsupported (function calling,
8
+ * logprobs, n>1, etc.) silently 400s upstream rather than surfacing
9
+ * a misleading "ok" response. This SDK exposes only what's verified
10
+ * to work end-to-end so callers don't ship dead options.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@heossihq/bee",
3
- "version": "0.1.5",
4
- "description": "Bee by HEOSSI — The Progressive Quantum-Native Intelligence Engine",
3
+ "version": "0.1.6",
4
+ "description": "Bee by HEOSSI \u2014 The Progressive Quantum-Native Intelligence Engine",
5
5
  "license": "Apache-2.0",
6
6
  "author": "HEOSSI (Pte.) Ltd. <bee-support@heossi.com>",
7
7
  "homepage": "https://bee.heossi.com",
@@ -27,13 +27,15 @@
27
27
  "mcp"
28
28
  ],
29
29
  "type": "module",
30
- "main": "./dist/index.js",
30
+ "main": "./dist/cjs/index.js",
31
31
  "types": "./dist/index.d.ts",
32
32
  "exports": {
33
33
  ".": {
34
34
  "types": "./dist/index.d.ts",
35
- "import": "./dist/index.js"
36
- }
35
+ "import": "./dist/index.js",
36
+ "require": "./dist/cjs/index.js"
37
+ },
38
+ "./package.json": "./package.json"
37
39
  },
38
40
  "files": [
39
41
  "dist",
@@ -44,7 +46,7 @@
44
46
  "node": ">=18"
45
47
  },
46
48
  "scripts": {
47
- "build": "tsc",
49
+ "build": "tsc && tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({type:'commonjs'})+'\\n')\"",
48
50
  "typecheck": "tsc --noEmit",
49
51
  "test": "pnpm run build && node --test tests/*.test.mjs",
50
52
  "prepublishOnly": "pnpm run build"
@@ -54,5 +56,6 @@
54
56
  },
55
57
  "publishConfig": {
56
58
  "access": "public"
57
- }
59
+ },
60
+ "module": "./dist/index.js"
58
61
  }
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js DELETED
@@ -1,196 +0,0 @@
1
- #!/usr/bin/env node
2
- import { BeeClient } from "./client.js";
3
- import { BEE_CODE_ACTIONS, BEE_CODE_AUTHORITY_MODES, validateBeeCodeActionRequest, } from "./code.js";
4
- import { BeeError } from "./errors.js";
5
- const HELP = `bee-code — manage Bee Code cloud sessions
6
-
7
- Managed cloud sessions only. This CLI does not inspect or access your local repository or filesystem.
8
-
9
- Usage:
10
- bee-code session create --repository-url <url> [--ref <ref>] [--authority <mode>]
11
- bee-code session create --provider-connection-id <uuid> --repository <owner/repo>
12
- bee-code session list
13
- bee-code session retrieve <session-uuid>
14
- bee-code session stop <session-uuid>
15
- bee-code action execute <session-uuid> <action> [--args <json>]
16
-
17
- Options:
18
- --workspace-id <uuid> Send X-Bee-Workspace-Id
19
- --idempotency-key <key> Action key, 16–200 characters
20
- --json Print machine-readable JSON
21
- --help Show this help
22
-
23
- Environment:
24
- BEE_API_KEY Required Bee API key
25
- BEE_API_URL Optional API base (default https://api.bee.heossi.com/bee)
26
-
27
- Authority modes: ${BEE_CODE_AUTHORITY_MODES.join(", ")}
28
- Actions: ${BEE_CODE_ACTIONS.join(", ")}
29
- `;
30
- function parseArguments(argv) {
31
- const positionals = [];
32
- const flags = new Map();
33
- let json = false;
34
- for (let index = 0; index < argv.length; index += 1) {
35
- const token = argv[index];
36
- if (token === "--json") {
37
- json = true;
38
- continue;
39
- }
40
- if (token === "--help") {
41
- positionals.push("help");
42
- continue;
43
- }
44
- if (token.startsWith("--")) {
45
- const value = argv[index + 1];
46
- if (!value || value.startsWith("--"))
47
- throw new Error(`Missing value for ${token}`);
48
- flags.set(token.slice(2), value);
49
- index += 1;
50
- continue;
51
- }
52
- positionals.push(token);
53
- }
54
- return { positionals, flags, json };
55
- }
56
- function requiredFlag(args, name) {
57
- const value = args.flags.get(name)?.trim();
58
- if (!value)
59
- throw new Error(`Missing required --${name}`);
60
- return value;
61
- }
62
- function requiredPosition(args, index, label) {
63
- const value = args.positionals[index]?.trim();
64
- if (!value)
65
- throw new Error(`Missing required ${label}`);
66
- return value;
67
- }
68
- function printJson(value) {
69
- process.stdout.write(`${JSON.stringify(value, null, 2)}\n`);
70
- }
71
- function printSession(session) {
72
- process.stdout.write(`${session.id}\t${session.status}\t${session.repository}@${session.repository_ref}\n`);
73
- }
74
- function parseActionRequest(action, rawArgs) {
75
- if (!BEE_CODE_ACTIONS.includes(action)) {
76
- throw new Error(`Unsupported action: ${action}`);
77
- }
78
- let args = {};
79
- if (rawArgs !== undefined) {
80
- try {
81
- args = JSON.parse(rawArgs);
82
- }
83
- catch {
84
- throw new Error("--args must be valid JSON");
85
- }
86
- }
87
- if (!args || typeof args !== "object" || Array.isArray(args)) {
88
- throw new Error("--args must be a JSON object");
89
- }
90
- return validateBeeCodeActionRequest({ action, ...args });
91
- }
92
- async function run() {
93
- const args = parseArguments(process.argv.slice(2));
94
- if (args.positionals.length === 0 ||
95
- args.positionals.includes("help") ||
96
- process.argv.includes("--help")) {
97
- process.stdout.write(HELP);
98
- return;
99
- }
100
- const apiKey = process.env.BEE_API_KEY?.trim();
101
- if (!apiKey)
102
- throw new Error("BEE_API_KEY is required");
103
- const client = new BeeClient({
104
- apiKey,
105
- ...(process.env.BEE_API_URL?.trim() ? { baseURL: process.env.BEE_API_URL.trim() } : {}),
106
- });
107
- const workspaceId = args.flags.get("workspace-id");
108
- const resource = args.positionals[0];
109
- const operation = args.positionals[1];
110
- if ((resource === "session" || resource === "sessions") && operation === "create") {
111
- const authority = args.flags.get("authority");
112
- if (authority && !BEE_CODE_AUTHORITY_MODES.includes(authority)) {
113
- throw new Error(`Unsupported authority mode: ${authority}`);
114
- }
115
- const session = await client.code.sessions.create({
116
- ...(args.flags.has("repository-url")
117
- ? { repository_url: requiredFlag(args, "repository-url") }
118
- : {}),
119
- ...(args.flags.has("provider-connection-id")
120
- ? { provider_connection_id: requiredFlag(args, "provider-connection-id") }
121
- : {}),
122
- ...(args.flags.has("repository") ? { repository: requiredFlag(args, "repository") } : {}),
123
- ...(args.flags.has("ref") ? { ref: requiredFlag(args, "ref") } : {}),
124
- ...(authority ? { authority_mode: authority } : {}),
125
- }, { workspaceId });
126
- if (args.json)
127
- printJson({ session });
128
- else
129
- printSession(session);
130
- return;
131
- }
132
- if ((resource === "session" || resource === "sessions") && operation === "list") {
133
- const sessions = await client.code.sessions.list({ workspaceId });
134
- if (args.json)
135
- printJson({ sessions });
136
- else if (sessions.length === 0)
137
- process.stdout.write("No managed Code sessions.\n");
138
- else
139
- sessions.forEach(printSession);
140
- return;
141
- }
142
- if ((resource === "session" || resource === "sessions") && operation === "retrieve") {
143
- const id = requiredPosition(args, 2, "session UUID");
144
- const session = await client.code.sessions.retrieve(id, { workspaceId });
145
- if (args.json)
146
- printJson({ session });
147
- else
148
- printSession(session);
149
- return;
150
- }
151
- if ((resource === "session" || resource === "sessions") && operation === "stop") {
152
- const id = requiredPosition(args, 2, "session UUID");
153
- const stopped = await client.code.sessions.stop(id, { workspaceId });
154
- if (args.json)
155
- printJson(stopped);
156
- else
157
- process.stdout.write(`Stopped ${id} (${stopped.status})\n`);
158
- return;
159
- }
160
- if ((resource === "action" || resource === "actions") && operation === "execute") {
161
- const sessionId = requiredPosition(args, 2, "session UUID");
162
- const action = requiredPosition(args, 3, "action");
163
- const result = await client.code.sessions.actions.execute(sessionId, parseActionRequest(action, args.flags.get("args")), {
164
- workspaceId,
165
- idempotencyKey: args.flags.get("idempotency-key"),
166
- });
167
- if (args.json)
168
- printJson({ result });
169
- else {
170
- process.stdout.write(`${action}: exit ${result.exit_code}${result.truncated ? " (truncated)" : ""}\n`);
171
- if (result.stdout)
172
- process.stdout.write(`${result.stdout}${result.stdout.endsWith("\n") ? "" : "\n"}`);
173
- if (result.stderr)
174
- process.stderr.write(`${result.stderr}${result.stderr.endsWith("\n") ? "" : "\n"}`);
175
- }
176
- return;
177
- }
178
- throw new Error("Unknown command. Run bee-code --help for usage.");
179
- }
180
- run().catch((error) => {
181
- const json = process.argv.includes("--json");
182
- const message = error instanceof Error ? error.message : String(error);
183
- if (json) {
184
- printJson({
185
- error: {
186
- message,
187
- ...(error instanceof BeeError ? { status: error.status, body: error.body } : {}),
188
- },
189
- });
190
- }
191
- else {
192
- process.stderr.write(`bee-code: ${message}\n`);
193
- }
194
- process.exitCode = 1;
195
- });
196
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/code.d.ts DELETED
@@ -1,162 +0,0 @@
1
- /** Public contracts for Bee's managed Code sessions and actions. */
2
- export declare const BEE_CODE_AUTHORITY_MODES: readonly ["read_only", "approve_edits", "auto_edit"];
3
- export type BeeCodeAuthorityMode = (typeof BEE_CODE_AUTHORITY_MODES)[number];
4
- export declare const BEE_CODE_ACTIONS: readonly ["list_files", "discover_repository_controls", "read_file", "search_files", "write_file", "stage_file_chunk", "apply_file_batch", "rollback_file_batch", "git_status", "git_diff", "create_checkpoint", "checkpoint_diff", "create_branch", "commit_changes", "open_pull_request", "diagnostics", "test", "lint", "typecheck", "build", "run_hooks"];
5
- export type BeeCodeAction = (typeof BEE_CODE_ACTIONS)[number];
6
- export interface BeeCodeActionArgumentMap {
7
- list_files: Record<string, never>;
8
- discover_repository_controls: Record<string, never>;
9
- read_file: {
10
- path: string;
11
- };
12
- search_files: {
13
- query: string;
14
- };
15
- write_file: {
16
- path: string;
17
- content: string;
18
- checkpoint_sha: string;
19
- approved?: boolean;
20
- };
21
- stage_file_chunk: {
22
- batch_id: string;
23
- path: string;
24
- chunk_index: number;
25
- total_chunks: number;
26
- content: string;
27
- content_sha256: string;
28
- approved?: boolean;
29
- };
30
- apply_file_batch: {
31
- batch_id: string;
32
- checkpoint_sha: string;
33
- approved?: boolean;
34
- };
35
- rollback_file_batch: {
36
- batch_id: string;
37
- approved?: boolean;
38
- };
39
- git_status: Record<string, never>;
40
- git_diff: {
41
- path?: string;
42
- };
43
- create_checkpoint: Record<string, never>;
44
- checkpoint_diff: {
45
- checkpoint_sha: string;
46
- path?: string;
47
- };
48
- create_branch: {
49
- branch: string;
50
- approved?: boolean;
51
- };
52
- commit_changes: {
53
- message: string;
54
- approved?: boolean;
55
- };
56
- open_pull_request: {
57
- title: string;
58
- description: string;
59
- base?: string;
60
- approved?: boolean;
61
- };
62
- diagnostics: Record<string, never>;
63
- test: {
64
- approved?: boolean;
65
- };
66
- lint: {
67
- approved?: boolean;
68
- };
69
- typecheck: {
70
- approved?: boolean;
71
- };
72
- build: {
73
- approved?: boolean;
74
- };
75
- run_hooks: {
76
- approved?: boolean;
77
- };
78
- }
79
- export type BeeCodeActionRequest = {
80
- [Action in BeeCodeAction]: {
81
- action: Action;
82
- } & BeeCodeActionArgumentMap[Action];
83
- }[BeeCodeAction];
84
- export type BeeCodeSessionEnvironment = "local" | "modal_cloud";
85
- export type BeeCodeSessionStatus = "provisioning" | "ready" | "busy" | "stopping" | "completed" | "failed" | "expired";
86
- /** A session returned by the managed Code list route. */
87
- export interface BeeCodeSession {
88
- id: string;
89
- environment: BeeCodeSessionEnvironment;
90
- repository: string;
91
- repository_ref: string;
92
- authority_mode: BeeCodeAuthorityMode;
93
- status: BeeCodeSessionStatus;
94
- provider_connection_id: string | null;
95
- terminal_reason: string | null;
96
- last_activity_at: string;
97
- absolute_deadline: string;
98
- created_at: string;
99
- }
100
- /** The intentionally compact session shape returned by creation. */
101
- export interface BeeCodeCreatedSession {
102
- id: string;
103
- status: "ready";
104
- repository: string;
105
- repository_ref: string;
106
- authority_mode: BeeCodeAuthorityMode;
107
- }
108
- export interface BeeCodeSessionCreateParams {
109
- repository_url?: string;
110
- provider_connection_id?: string;
111
- repository?: string;
112
- ref?: string;
113
- authority_mode?: BeeCodeAuthorityMode;
114
- }
115
- export interface BeeCodeRequestOptions {
116
- /** Select a workspace without changing the request body. */
117
- workspaceId?: string;
118
- }
119
- export interface BeeCodeActionExecuteOptions extends BeeCodeRequestOptions {
120
- /** 16–200 characters. A UUID is generated once when omitted. */
121
- idempotencyKey?: string;
122
- }
123
- /** Command output plus the action-specific evidence emitted by managed Code. */
124
- export interface BeeCodeActionResult {
125
- exit_code: number;
126
- stdout: string;
127
- stderr: string;
128
- truncated: boolean;
129
- sha256?: string;
130
- commit_sha?: string;
131
- pull_request_url?: string;
132
- pull_request_number?: number;
133
- batch_id?: string;
134
- batch_sha256?: string;
135
- checkpoint_sha?: string;
136
- current_checkpoint_sha?: string;
137
- original_content_sha256?: string;
138
- file_count?: number;
139
- rolled_back?: boolean;
140
- }
141
- export interface BeeCodeStopResult {
142
- ok: true;
143
- status: "completed";
144
- }
145
- export type BeeCodeCapabilityState = "available" | "requires_upgrade" | "requires_connection" | "requires_approval" | "policy_blocked";
146
- /** Capability is a shared contract type; the public bridge has no capability endpoint. */
147
- export interface BeeCodeCapability {
148
- local: {
149
- state: BeeCodeCapabilityState;
150
- reason: string;
151
- };
152
- cloud: {
153
- state: BeeCodeCapabilityState;
154
- reason: string;
155
- max_session_minutes: number;
156
- access_mode: string;
157
- plan_id: string;
158
- };
159
- }
160
- /** Validate untyped JavaScript/CLI input before any managed Code action is sent. */
161
- export declare function validateBeeCodeActionRequest(value: unknown): BeeCodeActionRequest;
162
- //# sourceMappingURL=code.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../src/code.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,eAAO,MAAM,wBAAwB,sDAAuD,CAAC;AAC7F,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,eAAO,MAAM,gBAAgB,+VAsBnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1F,gBAAgB,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,gBAAgB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnF,mBAAmB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,QAAQ,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,eAAe,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,aAAa,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,iBAAiB,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,SAAS,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9B,SAAS,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACnC;AAED,MAAM,MAAM,oBAAoB,GAAG;KAChC,MAAM,IAAI,aAAa,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,wBAAwB,CAAC,MAAM,CAAC;CACjF,CAAC,aAAa,CAAC,CAAC;AAEjB,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,aAAa,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAC5B,cAAc,GACd,OAAO,GACP,MAAM,GACN,UAAU,GACV,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,yBAAyB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,oBAAoB,CAAC;IACrC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAC9B,WAAW,GACX,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,gBAAgB,CAAC;AAErB,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE;QAAE,KAAK,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,KAAK,EAAE;QACL,KAAK,EAAE,sBAAsB,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AA0CD,oFAAoF;AACpF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAmDjF"}
package/dist/code.js DELETED
@@ -1,111 +0,0 @@
1
- /** Public contracts for Bee's managed Code sessions and actions. */
2
- export const BEE_CODE_AUTHORITY_MODES = ["read_only", "approve_edits", "auto_edit"];
3
- export const BEE_CODE_ACTIONS = [
4
- "list_files",
5
- "discover_repository_controls",
6
- "read_file",
7
- "search_files",
8
- "write_file",
9
- "stage_file_chunk",
10
- "apply_file_batch",
11
- "rollback_file_batch",
12
- "git_status",
13
- "git_diff",
14
- "create_checkpoint",
15
- "checkpoint_diff",
16
- "create_branch",
17
- "commit_changes",
18
- "open_pull_request",
19
- "diagnostics",
20
- "test",
21
- "lint",
22
- "typecheck",
23
- "build",
24
- "run_hooks",
25
- ];
26
- const ACTION_FIELDS = {
27
- list_files: { required: [], optional: [] },
28
- discover_repository_controls: { required: [], optional: [] },
29
- read_file: { required: ["path"], optional: [] },
30
- search_files: { required: ["query"], optional: [] },
31
- write_file: { required: ["path", "content", "checkpoint_sha"], optional: ["approved"] },
32
- stage_file_chunk: {
33
- required: ["batch_id", "path", "chunk_index", "total_chunks", "content", "content_sha256"],
34
- optional: ["approved"],
35
- },
36
- apply_file_batch: { required: ["batch_id", "checkpoint_sha"], optional: ["approved"] },
37
- rollback_file_batch: { required: ["batch_id"], optional: ["approved"] },
38
- git_status: { required: [], optional: [] },
39
- git_diff: { required: [], optional: ["path"] },
40
- create_checkpoint: { required: [], optional: [] },
41
- checkpoint_diff: { required: ["checkpoint_sha"], optional: ["path"] },
42
- create_branch: { required: ["branch"], optional: ["approved"] },
43
- commit_changes: { required: ["message"], optional: ["approved"] },
44
- open_pull_request: { required: ["title", "description"], optional: ["base", "approved"] },
45
- diagnostics: { required: [], optional: [] },
46
- test: { required: [], optional: ["approved"] },
47
- lint: { required: [], optional: ["approved"] },
48
- typecheck: { required: [], optional: ["approved"] },
49
- build: { required: [], optional: ["approved"] },
50
- run_hooks: { required: [], optional: ["approved"] },
51
- };
52
- function isRecord(value) {
53
- return value !== null && typeof value === "object" && !Array.isArray(value);
54
- }
55
- function requireNonEmptyString(value, field) {
56
- if (typeof value !== "string" || !value.trim()) {
57
- throw new TypeError(`Bee Code ${field} must be a non-empty string`);
58
- }
59
- return value;
60
- }
61
- /** Validate untyped JavaScript/CLI input before any managed Code action is sent. */
62
- export function validateBeeCodeActionRequest(value) {
63
- if (!isRecord(value) || typeof value.action !== "string" || !(value.action in ACTION_FIELDS)) {
64
- throw new TypeError("Bee Code action request has an unsupported action");
65
- }
66
- const action = value.action;
67
- const fields = ACTION_FIELDS[action];
68
- const supplied = Object.keys(value).filter((field) => field !== "action");
69
- const missing = fields.required.filter((field) => !(field in value));
70
- const unknown = supplied.filter((field) => !fields.required.includes(field) && !fields.optional.includes(field));
71
- if (missing.length)
72
- throw new TypeError(`Bee Code ${action} is missing: ${missing.join(", ")}`);
73
- if (unknown.length)
74
- throw new TypeError(`Bee Code ${action} has unsupported fields: ${unknown.join(", ")}`);
75
- for (const field of [
76
- "path",
77
- "query",
78
- "batch_id",
79
- "checkpoint_sha",
80
- "branch",
81
- "message",
82
- "title",
83
- "base",
84
- ]) {
85
- if (field in value)
86
- requireNonEmptyString(value[field], field);
87
- }
88
- if ("checkpoint_sha" in value && !/^[0-9a-f]{40}$/i.test(String(value.checkpoint_sha))) {
89
- throw new TypeError("Bee Code checkpoint_sha must be a full SHA-1 hex object ID");
90
- }
91
- if ("content" in value && typeof value.content !== "string") {
92
- throw new TypeError("Bee Code content must be a string");
93
- }
94
- if ("approved" in value && typeof value.approved !== "boolean") {
95
- throw new TypeError("Bee Code approved must be a boolean");
96
- }
97
- if (action === "stage_file_chunk") {
98
- if (!Number.isSafeInteger(value.chunk_index) ||
99
- !Number.isSafeInteger(value.total_chunks) ||
100
- Number(value.chunk_index) < 0 ||
101
- Number(value.total_chunks) < 1 ||
102
- Number(value.chunk_index) >= Number(value.total_chunks)) {
103
- throw new TypeError("Bee Code chunk indexes must identify one bounded chunk");
104
- }
105
- if (typeof value.content_sha256 !== "string" || !/^[0-9a-f]{64}$/i.test(value.content_sha256)) {
106
- throw new TypeError("Bee Code content_sha256 must be a SHA-256 hex digest");
107
- }
108
- }
109
- return { ...value };
110
- }
111
- //# sourceMappingURL=code.js.map
package/dist/code.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"code.js","sourceRoot":"","sources":["../src/code.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAU,CAAC;AAG7F,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY;IACZ,8BAA8B;IAC9B,WAAW;IACX,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,YAAY;IACZ,UAAU;IACV,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,mBAAmB;IACnB,aAAa;IACb,MAAM;IACN,MAAM;IACN,WAAW;IACX,OAAO;IACP,WAAW;CACH,CAAC;AA2IX,MAAM,aAAa,GAEf;IACF,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1C,4BAA4B,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5D,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/C,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnD,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IACvF,gBAAgB,EAAE;QAChB,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,CAAC;QAC1F,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;IACD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IACtF,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IACvE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1C,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;IAC9C,iBAAiB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjD,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;IACrE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IAC/D,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IACjE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;IACzF,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3C,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IAC9C,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IAC/C,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;CACpD,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,SAAS,CAAC,YAAY,KAAK,6BAA6B,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;IAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAChF,CAAC;IACF,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,SAAS,CAAC,YAAY,MAAM,gBAAgB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,IAAI,OAAO,CAAC,MAAM;QAChB,MAAM,IAAI,SAAS,CAAC,YAAY,MAAM,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE1F,KAAK,MAAM,KAAK,IAAI;QAClB,MAAM;QACN,OAAO;QACP,UAAU;QACV,gBAAgB;QAChB,QAAQ;QACR,SAAS;QACT,OAAO;QACP,MAAM;KACE,EAAE,CAAC;QACX,IAAI,KAAK,IAAI,KAAK;YAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,gBAAgB,IAAI,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,UAAU,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClC,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;YACxC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EACvD,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,EAA0B,CAAC;AAC9C,CAAC"}