@boltic/sdk 0.0.1
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/LICENSE +21 -0
- package/README.md +1012 -0
- package/dist/databases/index.d.ts +1560 -0
- package/dist/databases/index.js +2 -0
- package/dist/databases/index.js.map +1 -0
- package/dist/databases/index.mjs +523 -0
- package/dist/databases/index.mjs.map +1 -0
- package/dist/databases/test-client-BM9X5DH9.mjs +4053 -0
- package/dist/databases/test-client-BM9X5DH9.mjs.map +1 -0
- package/dist/databases/test-client-D-SuKCUC.js +2 -0
- package/dist/databases/test-client-D-SuKCUC.js.map +1 -0
- package/dist/databases/testing.d.ts +1077 -0
- package/dist/databases/testing.js +2 -0
- package/dist/databases/testing.js.map +1 -0
- package/dist/databases/testing.mjs +139 -0
- package/dist/databases/testing.mjs.map +1 -0
- package/dist/package.json +15 -0
- package/dist/sdk.js +3972 -0
- package/dist/sdk.js.map +1 -0
- package/dist/sdk.mjs +3972 -0
- package/dist/sdk.mjs.map +1 -0
- package/dist/types/index.d.ts +1087 -0
- package/package.json +82 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./test-client-D-SuKCUC.js");class t{static async*fromSSE(e){if(!e.body)throw new Error("Response body is null");const t=e.body.getReader(),s=new TextDecoder;try{for(;;){const{done:e,value:o}=await t.read();if(e)break;const r=s.decode(o,{stream:!0}).split("\n");for(const t of r)if(t.startsWith("data: ")){const e=t.slice(6);"[DONE]"!==e&&(yield e)}}}finally{t.releaseLock()}}static async*fromChunked(e){if(!e.body)throw new Error("Response body is null");const t=e.body.getReader(),s=new TextDecoder;try{for(;;){const{done:e,value:o}=await t.read();if(e)break;const r=s.decode(o,{stream:!0});yield r}}finally{t.releaseLock()}}static async collectAll(e){let t="";for await(const s of e)t+=s;return t}static async*fromString(e,t=10){for(let s=0;s<e.length;s+=t)yield e.slice(s,s+t),await new Promise(e=>setTimeout(e,50))}static async*map(e,t){for await(const s of e)yield await t(s)}static async*filter(e,t){for await(const s of e)await t(s)&&(yield s)}static async*take(e,t){let s=0;for await(const o of e){if(s>=t)break;yield o,s++}}}exports.createErrorResponse=e.createErrorResponse,exports.createMockResponse=e.createMockResponse,exports.createTestClient=e.createTestClient,exports.SqlTestClient=class{constructor(e){this.sql=e}async generateSQL(e,s){const o=await this.sql.textToSQL(e,s);return t.collectAll(o)}async executeSQL(e){return this.sql.executeSQL(e)}async*simulateStreamingSQL(e,t=10,s=50){for(let o=0;o<e.length;o+=t)yield e.slice(o,o+t),await new Promise(e=>setTimeout(e,s))}},exports.TEST_UTILS_VERSION="1.0.0";
|
|
2
|
+
//# sourceMappingURL=testing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.js","sources":["../src/utils/streaming/async-iterable.ts","../src/testing/sql-test-client.ts","../src/testing/index.ts"],"sourcesContent":["/**\n * Utility functions for handling streaming responses\n */\nexport class StreamingUtils {\n /**\n * Convert Server-Sent Events to AsyncIterable\n * TODO: Implement when backend supports SSE streaming\n */\n static async *fromSSE(response: Response): AsyncIterable<string> {\n if (!response.body) {\n throw new Error('Response body is null');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const chunk = decoder.decode(value, { stream: true });\n const lines = chunk.split('\\n');\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const data = line.slice(6);\n if (data !== '[DONE]') {\n yield data;\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n }\n\n /**\n * Convert chunked response to AsyncIterable\n * TODO: Implement when backend supports chunked streaming\n */\n static async *fromChunked(response: Response): AsyncIterable<string> {\n if (!response.body) {\n throw new Error('Response body is null');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const chunk = decoder.decode(value, { stream: true });\n yield chunk;\n }\n } finally {\n reader.releaseLock();\n }\n }\n\n /**\n * Collect all chunks from AsyncIterable into a single string\n */\n static async collectAll(iterable: AsyncIterable<string>): Promise<string> {\n let result = '';\n for await (const chunk of iterable) {\n result += chunk;\n }\n return result;\n }\n\n /**\n * Convert a string to AsyncIterable (for simulating streaming)\n * Useful for testing or when backend doesn't support streaming yet\n */\n static async *fromString(\n data: string,\n chunkSize = 10\n ): AsyncIterable<string> {\n for (let i = 0; i < data.length; i += chunkSize) {\n yield data.slice(i, i + chunkSize);\n // Add small delay to simulate streaming\n await new Promise((resolve) => setTimeout(resolve, 50));\n }\n }\n\n /**\n * Transform AsyncIterable with a mapping function\n */\n static async *map<T, U>(\n iterable: AsyncIterable<T>,\n mapper: (value: T) => U | Promise<U>\n ): AsyncIterable<U> {\n for await (const value of iterable) {\n yield await mapper(value);\n }\n }\n\n /**\n * Filter AsyncIterable with a predicate function\n */\n static async *filter<T>(\n iterable: AsyncIterable<T>,\n predicate: (value: T) => boolean | Promise<boolean>\n ): AsyncIterable<T> {\n for await (const value of iterable) {\n if (await predicate(value)) {\n yield value;\n }\n }\n }\n\n /**\n * Take only the first n items from AsyncIterable\n */\n static async *take<T>(\n iterable: AsyncIterable<T>,\n count: number\n ): AsyncIterable<T> {\n let taken = 0;\n for await (const value of iterable) {\n if (taken >= count) break;\n yield value;\n taken++;\n }\n }\n}\n","import { SqlResource } from '../client/resources/sql';\nimport { TextToSQLOptions } from '../types/sql';\nimport { StreamingUtils } from '../utils/streaming/async-iterable';\n\nexport class SqlTestClient {\n constructor(private sql: SqlResource) {}\n\n /**\n * Test helper for text-to-SQL conversion\n * Collects all streaming chunks into a single string for easier testing\n */\n async generateSQL(\n prompt: string,\n options?: TextToSQLOptions\n ): Promise<string> {\n const stream = await this.sql.textToSQL(prompt, options);\n return StreamingUtils.collectAll(stream);\n }\n\n /**\n * Test helper for SQL execution\n */\n async executeSQL(query: string) {\n return this.sql.executeSQL(query);\n }\n\n /**\n * Utility to simulate streaming text-to-SQL for testing\n */\n async *simulateStreamingSQL(\n fullSQLQuery: string,\n chunkSize = 10,\n delayMs = 50\n ): AsyncIterable<string> {\n for (let i = 0; i < fullSQLQuery.length; i += chunkSize) {\n yield fullSQLQuery.slice(i, i + chunkSize);\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n}\n","// Testing utilities and helpers\nexport * from './sql-test-client';\nexport * from './test-client';\n\n// Version information\nexport const TEST_UTILS_VERSION = '1.0.0';\n"],"names":["StreamingUtils","fromSSE","response","body","Error","reader","getReader","decoder","TextDecoder","done","value","read","lines","decode","stream","split","line","startsWith","data","slice","releaseLock","fromChunked","chunk","collectAll","iterable","result","fromString","chunkSize","i","length","Promise","resolve","setTimeout","map","mapper","filter","predicate","take","count","taken","constructor","sql","this","generateSQL","prompt","options","textToSQL","executeSQL","query","simulateStreamingSQL","fullSQLQuery","delayMs"],"mappings":"6HAGO,MAAMA,EAKX,oBAAcC,CAAQC,GACpB,IAAKA,EAASC,KACZ,MAAM,IAAIC,MAAM,yBAGlB,MAAMC,EAASH,EAASC,KAAKG,YACvBC,EAAU,IAAIC,YAEpB,IACE,OAAa,CACX,MAAMC,KAAEA,EAAAC,MAAMA,SAAgBL,EAAOM,OACrC,GAAIF,EAAM,MAEV,MACMG,EADQL,EAAQM,OAAOH,EAAO,CAAEI,QAAQ,IAC1BC,MAAM,MAE1B,IAAA,MAAWC,KAAQJ,EACjB,GAAII,EAAKC,WAAW,UAAW,CAC7B,MAAMC,EAAOF,EAAKG,MAAM,GACX,WAATD,UACIA,EAEV,CAEJ,CACF,CAAA,QACEb,EAAOe,aACT,CACF,CAMA,wBAAcC,CAAYnB,GACxB,IAAKA,EAASC,KACZ,MAAM,IAAIC,MAAM,yBAGlB,MAAMC,EAASH,EAASC,KAAKG,YACvBC,EAAU,IAAIC,YAEpB,IACE,OAAa,CACX,MAAMC,KAAEA,EAAAC,MAAMA,SAAgBL,EAAOM,OACrC,GAAIF,EAAM,MAEV,MAAMa,EAAQf,EAAQM,OAAOH,EAAO,CAAEI,QAAQ,UACxCQ,CACR,CACF,CAAA,QACEjB,EAAOe,aACT,CACF,CAKA,uBAAaG,CAAWC,GACtB,IAAIC,EAAS,GACb,UAAA,MAAiBH,KAASE,EACxBC,GAAUH,EAEZ,OAAOG,CACT,CAMA,uBAAcC,CACZR,EACAS,EAAY,IAEZ,IAAA,IAASC,EAAI,EAAGA,EAAIV,EAAKW,OAAQD,GAAKD,QAC9BT,EAAKC,MAAMS,EAAGA,EAAID,SAElB,IAAIG,QAASC,GAAYC,WAAWD,EAAS,IAEvD,CAKA,gBAAcE,CACZT,EACAU,GAEA,UAAA,MAAiBxB,KAASc,cACZU,EAAOxB,EAEvB,CAKA,mBAAcyB,CACZX,EACAY,GAEA,UAAA,MAAiB1B,KAASc,QACdY,EAAU1B,WACZA,EAGZ,CAKA,iBAAc2B,CACZb,EACAc,GAEA,IAAIC,EAAQ,EACZ,UAAA,MAAiB7B,KAASc,EAAU,CAClC,GAAIe,GAASD,EAAO,YACd5B,EACN6B,GACF,CACF,sKC5HK,MACL,WAAAC,CAAoBC,GAAAC,KAAAD,IAAAA,CAAmB,CAMvC,iBAAME,CACJC,EACAC,GAEA,MAAM/B,QAAe4B,KAAKD,IAAIK,UAAUF,EAAQC,GAChD,OAAO7C,EAAeuB,WAAWT,EACnC,CAKA,gBAAMiC,CAAWC,GACf,OAAON,KAAKD,IAAIM,WAAWC,EAC7B,CAKA,0BAAOC,CACLC,EACAvB,EAAY,GACZwB,EAAU,IAEV,IAAA,IAASvB,EAAI,EAAGA,EAAIsB,EAAarB,OAAQD,GAAKD,QACtCuB,EAAa/B,MAAMS,EAAGA,EAAID,SAC1B,IAAIG,QAASC,GAAYC,WAAWD,EAASoB,GAEvD,8BCjCgC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { o, p, q } from "./test-client-BM9X5DH9.mjs";
|
|
2
|
+
class StreamingUtils {
|
|
3
|
+
/**
|
|
4
|
+
* Convert Server-Sent Events to AsyncIterable
|
|
5
|
+
* TODO: Implement when backend supports SSE streaming
|
|
6
|
+
*/
|
|
7
|
+
static async *fromSSE(response) {
|
|
8
|
+
if (!response.body) {
|
|
9
|
+
throw new Error("Response body is null");
|
|
10
|
+
}
|
|
11
|
+
const reader = response.body.getReader();
|
|
12
|
+
const decoder = new TextDecoder();
|
|
13
|
+
try {
|
|
14
|
+
while (true) {
|
|
15
|
+
const { done, value } = await reader.read();
|
|
16
|
+
if (done) break;
|
|
17
|
+
const chunk = decoder.decode(value, { stream: true });
|
|
18
|
+
const lines = chunk.split("\n");
|
|
19
|
+
for (const line of lines) {
|
|
20
|
+
if (line.startsWith("data: ")) {
|
|
21
|
+
const data = line.slice(6);
|
|
22
|
+
if (data !== "[DONE]") {
|
|
23
|
+
yield data;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
} finally {
|
|
29
|
+
reader.releaseLock();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Convert chunked response to AsyncIterable
|
|
34
|
+
* TODO: Implement when backend supports chunked streaming
|
|
35
|
+
*/
|
|
36
|
+
static async *fromChunked(response) {
|
|
37
|
+
if (!response.body) {
|
|
38
|
+
throw new Error("Response body is null");
|
|
39
|
+
}
|
|
40
|
+
const reader = response.body.getReader();
|
|
41
|
+
const decoder = new TextDecoder();
|
|
42
|
+
try {
|
|
43
|
+
while (true) {
|
|
44
|
+
const { done, value } = await reader.read();
|
|
45
|
+
if (done) break;
|
|
46
|
+
const chunk = decoder.decode(value, { stream: true });
|
|
47
|
+
yield chunk;
|
|
48
|
+
}
|
|
49
|
+
} finally {
|
|
50
|
+
reader.releaseLock();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Collect all chunks from AsyncIterable into a single string
|
|
55
|
+
*/
|
|
56
|
+
static async collectAll(iterable) {
|
|
57
|
+
let result = "";
|
|
58
|
+
for await (const chunk of iterable) {
|
|
59
|
+
result += chunk;
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Convert a string to AsyncIterable (for simulating streaming)
|
|
65
|
+
* Useful for testing or when backend doesn't support streaming yet
|
|
66
|
+
*/
|
|
67
|
+
static async *fromString(data, chunkSize = 10) {
|
|
68
|
+
for (let i = 0; i < data.length; i += chunkSize) {
|
|
69
|
+
yield data.slice(i, i + chunkSize);
|
|
70
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Transform AsyncIterable with a mapping function
|
|
75
|
+
*/
|
|
76
|
+
static async *map(iterable, mapper) {
|
|
77
|
+
for await (const value of iterable) {
|
|
78
|
+
yield await mapper(value);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Filter AsyncIterable with a predicate function
|
|
83
|
+
*/
|
|
84
|
+
static async *filter(iterable, predicate) {
|
|
85
|
+
for await (const value of iterable) {
|
|
86
|
+
if (await predicate(value)) {
|
|
87
|
+
yield value;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Take only the first n items from AsyncIterable
|
|
93
|
+
*/
|
|
94
|
+
static async *take(iterable, count) {
|
|
95
|
+
let taken = 0;
|
|
96
|
+
for await (const value of iterable) {
|
|
97
|
+
if (taken >= count) break;
|
|
98
|
+
yield value;
|
|
99
|
+
taken++;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
class SqlTestClient {
|
|
104
|
+
constructor(sql) {
|
|
105
|
+
this.sql = sql;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Test helper for text-to-SQL conversion
|
|
109
|
+
* Collects all streaming chunks into a single string for easier testing
|
|
110
|
+
*/
|
|
111
|
+
async generateSQL(prompt, options) {
|
|
112
|
+
const stream = await this.sql.textToSQL(prompt, options);
|
|
113
|
+
return StreamingUtils.collectAll(stream);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Test helper for SQL execution
|
|
117
|
+
*/
|
|
118
|
+
async executeSQL(query) {
|
|
119
|
+
return this.sql.executeSQL(query);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Utility to simulate streaming text-to-SQL for testing
|
|
123
|
+
*/
|
|
124
|
+
async *simulateStreamingSQL(fullSQLQuery, chunkSize = 10, delayMs = 50) {
|
|
125
|
+
for (let i = 0; i < fullSQLQuery.length; i += chunkSize) {
|
|
126
|
+
yield fullSQLQuery.slice(i, i + chunkSize);
|
|
127
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const TEST_UTILS_VERSION = "1.0.0";
|
|
132
|
+
export {
|
|
133
|
+
SqlTestClient,
|
|
134
|
+
TEST_UTILS_VERSION,
|
|
135
|
+
o as createErrorResponse,
|
|
136
|
+
p as createMockResponse,
|
|
137
|
+
q as createTestClient
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=testing.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.mjs","sources":["../src/utils/streaming/async-iterable.ts","../src/testing/sql-test-client.ts","../src/testing/index.ts"],"sourcesContent":["/**\n * Utility functions for handling streaming responses\n */\nexport class StreamingUtils {\n /**\n * Convert Server-Sent Events to AsyncIterable\n * TODO: Implement when backend supports SSE streaming\n */\n static async *fromSSE(response: Response): AsyncIterable<string> {\n if (!response.body) {\n throw new Error('Response body is null');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const chunk = decoder.decode(value, { stream: true });\n const lines = chunk.split('\\n');\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const data = line.slice(6);\n if (data !== '[DONE]') {\n yield data;\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n }\n\n /**\n * Convert chunked response to AsyncIterable\n * TODO: Implement when backend supports chunked streaming\n */\n static async *fromChunked(response: Response): AsyncIterable<string> {\n if (!response.body) {\n throw new Error('Response body is null');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const chunk = decoder.decode(value, { stream: true });\n yield chunk;\n }\n } finally {\n reader.releaseLock();\n }\n }\n\n /**\n * Collect all chunks from AsyncIterable into a single string\n */\n static async collectAll(iterable: AsyncIterable<string>): Promise<string> {\n let result = '';\n for await (const chunk of iterable) {\n result += chunk;\n }\n return result;\n }\n\n /**\n * Convert a string to AsyncIterable (for simulating streaming)\n * Useful for testing or when backend doesn't support streaming yet\n */\n static async *fromString(\n data: string,\n chunkSize = 10\n ): AsyncIterable<string> {\n for (let i = 0; i < data.length; i += chunkSize) {\n yield data.slice(i, i + chunkSize);\n // Add small delay to simulate streaming\n await new Promise((resolve) => setTimeout(resolve, 50));\n }\n }\n\n /**\n * Transform AsyncIterable with a mapping function\n */\n static async *map<T, U>(\n iterable: AsyncIterable<T>,\n mapper: (value: T) => U | Promise<U>\n ): AsyncIterable<U> {\n for await (const value of iterable) {\n yield await mapper(value);\n }\n }\n\n /**\n * Filter AsyncIterable with a predicate function\n */\n static async *filter<T>(\n iterable: AsyncIterable<T>,\n predicate: (value: T) => boolean | Promise<boolean>\n ): AsyncIterable<T> {\n for await (const value of iterable) {\n if (await predicate(value)) {\n yield value;\n }\n }\n }\n\n /**\n * Take only the first n items from AsyncIterable\n */\n static async *take<T>(\n iterable: AsyncIterable<T>,\n count: number\n ): AsyncIterable<T> {\n let taken = 0;\n for await (const value of iterable) {\n if (taken >= count) break;\n yield value;\n taken++;\n }\n }\n}\n","import { SqlResource } from '../client/resources/sql';\nimport { TextToSQLOptions } from '../types/sql';\nimport { StreamingUtils } from '../utils/streaming/async-iterable';\n\nexport class SqlTestClient {\n constructor(private sql: SqlResource) {}\n\n /**\n * Test helper for text-to-SQL conversion\n * Collects all streaming chunks into a single string for easier testing\n */\n async generateSQL(\n prompt: string,\n options?: TextToSQLOptions\n ): Promise<string> {\n const stream = await this.sql.textToSQL(prompt, options);\n return StreamingUtils.collectAll(stream);\n }\n\n /**\n * Test helper for SQL execution\n */\n async executeSQL(query: string) {\n return this.sql.executeSQL(query);\n }\n\n /**\n * Utility to simulate streaming text-to-SQL for testing\n */\n async *simulateStreamingSQL(\n fullSQLQuery: string,\n chunkSize = 10,\n delayMs = 50\n ): AsyncIterable<string> {\n for (let i = 0; i < fullSQLQuery.length; i += chunkSize) {\n yield fullSQLQuery.slice(i, i + chunkSize);\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n}\n","// Testing utilities and helpers\nexport * from './sql-test-client';\nexport * from './test-client';\n\n// Version information\nexport const TEST_UTILS_VERSION = '1.0.0';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@boltic/sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "./sdk.js",
|
|
5
|
+
"module": "./sdk.mjs",
|
|
6
|
+
"types": "./types/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./sdk.mjs",
|
|
10
|
+
"require": "./sdk.js",
|
|
11
|
+
"types": "./types/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"sideEffects": false
|
|
15
|
+
}
|