@tabstack/sdk 1.0.4 → 1.0.5
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 +22 -11
- package/README.md +17 -44
- package/dist/cjs/{automate.d.ts → agent.d.ts} +10 -10
- package/dist/cjs/agent.d.ts.map +1 -0
- package/dist/cjs/{automate.js → agent.js} +11 -11
- package/dist/cjs/agent.js.map +1 -0
- package/dist/cjs/agent.test.d.ts +5 -0
- package/dist/cjs/agent.test.d.ts.map +1 -0
- package/dist/cjs/{automate.test.js → agent.test.js} +32 -32
- package/dist/cjs/agent.test.js.map +1 -0
- package/dist/cjs/client.d.ts +13 -13
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +12 -12
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/client.test.d.ts +1 -1
- package/dist/cjs/client.test.js +50 -51
- package/dist/cjs/client.test.js.map +1 -1
- package/dist/cjs/exceptions.d.ts +9 -9
- package/dist/cjs/exceptions.js +13 -13
- package/dist/cjs/exceptions.test.js +30 -30
- package/dist/cjs/extract.d.ts +2 -57
- package/dist/cjs/extract.d.ts.map +1 -1
- package/dist/cjs/extract.js +2 -60
- package/dist/cjs/extract.js.map +1 -1
- package/dist/cjs/extract.test.js +0 -114
- package/dist/cjs/extract.test.js.map +1 -1
- package/dist/cjs/generate.d.ts +1 -1
- package/dist/cjs/generate.js +1 -1
- package/dist/cjs/index.d.ts +9 -9
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +9 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/types.js +1 -1
- package/dist/cjs/util/http.d.ts +1 -1
- package/dist/cjs/util/http.js +4 -4
- package/dist/cjs/util/http.test.js +5 -5
- package/dist/esm/{automate.d.ts → agent.d.ts} +10 -10
- package/dist/esm/agent.d.ts.map +1 -0
- package/dist/esm/{automate.js → agent.js} +9 -9
- package/dist/esm/agent.js.map +1 -0
- package/dist/esm/agent.test.d.ts +5 -0
- package/dist/esm/agent.test.d.ts.map +1 -0
- package/dist/esm/{automate.test.js → agent.test.js} +32 -32
- package/dist/esm/agent.test.js.map +1 -0
- package/dist/esm/client.d.ts +13 -13
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +10 -10
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/client.test.d.ts +1 -1
- package/dist/esm/client.test.js +51 -52
- package/dist/esm/client.test.js.map +1 -1
- package/dist/esm/exceptions.d.ts +9 -9
- package/dist/esm/exceptions.js +11 -11
- package/dist/esm/exceptions.test.js +31 -31
- package/dist/esm/extract.d.ts +2 -57
- package/dist/esm/extract.d.ts.map +1 -1
- package/dist/esm/extract.js +2 -60
- package/dist/esm/extract.js.map +1 -1
- package/dist/esm/extract.test.js +0 -114
- package/dist/esm/extract.test.js.map +1 -1
- package/dist/esm/generate.d.ts +1 -1
- package/dist/esm/generate.js +1 -1
- package/dist/esm/index.d.ts +9 -9
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/types.js +1 -1
- package/dist/esm/util/http.d.ts +1 -1
- package/dist/esm/util/http.js +5 -5
- package/dist/esm/util/http.test.js +6 -6
- package/dist/types/{automate.d.ts → agent.d.ts} +10 -10
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.test.d.ts +5 -0
- package/dist/types/agent.test.d.ts.map +1 -0
- package/dist/types/client.d.ts +13 -13
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.test.d.ts +1 -1
- package/dist/types/exceptions.d.ts +9 -9
- package/dist/types/extract.d.ts +2 -57
- package/dist/types/extract.d.ts.map +1 -1
- package/dist/types/generate.d.ts +1 -1
- package/dist/types/index.d.ts +9 -9
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/util/http.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/automate.d.ts.map +0 -1
- package/dist/cjs/automate.js.map +0 -1
- package/dist/cjs/automate.test.d.ts +0 -5
- package/dist/cjs/automate.test.d.ts.map +0 -1
- package/dist/cjs/automate.test.js.map +0 -1
- package/dist/esm/automate.d.ts.map +0 -1
- package/dist/esm/automate.js.map +0 -1
- package/dist/esm/automate.test.d.ts +0 -5
- package/dist/esm/automate.test.d.ts.map +0 -1
- package/dist/esm/automate.test.js.map +0 -1
- package/dist/types/automate.d.ts.map +0 -1
- package/dist/types/automate.test.d.ts +0 -5
- package/dist/types/automate.test.d.ts.map +0 -1
package/dist/cjs/client.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Main client for
|
|
2
|
+
* Main client for Tabstack SDK
|
|
3
3
|
*/
|
|
4
4
|
import { Extract } from './extract';
|
|
5
5
|
import { Generate } from './generate';
|
|
6
|
-
import {
|
|
7
|
-
export interface
|
|
6
|
+
import { Agent } from './agent';
|
|
7
|
+
export interface TabstackOptions {
|
|
8
8
|
apiKey: string;
|
|
9
9
|
baseURL?: string;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Tabstack client for web content extraction, generation, and automation
|
|
13
13
|
*
|
|
14
|
-
* This is the main entry point for the
|
|
14
|
+
* This is the main entry point for the Tabstack SDK. Initialize it with your
|
|
15
15
|
* API key to access the extract, generate, and automate operators.
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
18
|
* ```typescript
|
|
19
|
-
* import {
|
|
19
|
+
* import { Tabstack } from '@tabstack/sdk';
|
|
20
20
|
*
|
|
21
|
-
* const tabs = new
|
|
21
|
+
* const tabs = new Tabstack({
|
|
22
22
|
* apiKey: process.env.TABSTACK_API_KEY!
|
|
23
23
|
* });
|
|
24
24
|
*
|
|
@@ -26,7 +26,7 @@ export interface TABStackOptions {
|
|
|
26
26
|
* console.log(result.content);
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
|
-
export declare class
|
|
29
|
+
export declare class Tabstack {
|
|
30
30
|
private httpClient;
|
|
31
31
|
/**
|
|
32
32
|
* Extract operator for converting and extracting web content
|
|
@@ -37,22 +37,22 @@ export declare class TABStack {
|
|
|
37
37
|
*/
|
|
38
38
|
readonly generate: Generate;
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Agent client for AI-powered browser automation tasks
|
|
41
41
|
*/
|
|
42
|
-
readonly
|
|
42
|
+
readonly agent: Agent;
|
|
43
43
|
/**
|
|
44
|
-
* Initialize
|
|
44
|
+
* Initialize Tabstack client
|
|
45
45
|
*
|
|
46
46
|
* @param options - Configuration options
|
|
47
47
|
* @throws Error if apiKey is empty or not provided
|
|
48
48
|
*
|
|
49
49
|
* @example
|
|
50
50
|
* ```typescript
|
|
51
|
-
* const tabs = new
|
|
51
|
+
* const tabs = new Tabstack({
|
|
52
52
|
* apiKey: 'your-api-key-here'
|
|
53
53
|
* });
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
|
-
constructor(options:
|
|
56
|
+
constructor(options: TabstackOptions);
|
|
57
57
|
}
|
|
58
58
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/cjs/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,UAAU,CAAa;IAE/B;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAEnC;;OAEG;IACH,SAAgB,KAAK,EAAE,KAAK,CAAC;IAE7B;;;;;;;;;;;;OAYG;gBACS,OAAO,EAAE,eAAe;CAerC"}
|
package/dist/cjs/client.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Main client for
|
|
3
|
+
* Main client for Tabstack SDK
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.Tabstack = void 0;
|
|
7
7
|
const http_1 = require("./util/http");
|
|
8
8
|
const extract_1 = require("./extract");
|
|
9
9
|
const generate_1 = require("./generate");
|
|
10
|
-
const
|
|
10
|
+
const agent_1 = require("./agent");
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Tabstack client for web content extraction, generation, and automation
|
|
13
13
|
*
|
|
14
|
-
* This is the main entry point for the
|
|
14
|
+
* This is the main entry point for the Tabstack SDK. Initialize it with your
|
|
15
15
|
* API key to access the extract, generate, and automate operators.
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
18
|
* ```typescript
|
|
19
|
-
* import {
|
|
19
|
+
* import { Tabstack } from '@tabstack/sdk';
|
|
20
20
|
*
|
|
21
|
-
* const tabs = new
|
|
21
|
+
* const tabs = new Tabstack({
|
|
22
22
|
* apiKey: process.env.TABSTACK_API_KEY!
|
|
23
23
|
* });
|
|
24
24
|
*
|
|
@@ -26,16 +26,16 @@ const automate_1 = require("./automate");
|
|
|
26
26
|
* console.log(result.content);
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
|
-
class
|
|
29
|
+
class Tabstack {
|
|
30
30
|
/**
|
|
31
|
-
* Initialize
|
|
31
|
+
* Initialize Tabstack client
|
|
32
32
|
*
|
|
33
33
|
* @param options - Configuration options
|
|
34
34
|
* @throws Error if apiKey is empty or not provided
|
|
35
35
|
*
|
|
36
36
|
* @example
|
|
37
37
|
* ```typescript
|
|
38
|
-
* const tabs = new
|
|
38
|
+
* const tabs = new Tabstack({
|
|
39
39
|
* apiKey: 'your-api-key-here'
|
|
40
40
|
* });
|
|
41
41
|
* ```
|
|
@@ -51,8 +51,8 @@ class TABStack {
|
|
|
51
51
|
// Initialize operators
|
|
52
52
|
this.extract = new extract_1.Extract(this.httpClient);
|
|
53
53
|
this.generate = new generate_1.Generate(this.httpClient);
|
|
54
|
-
this.
|
|
54
|
+
this.agent = new agent_1.Agent(this.httpClient);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
exports.
|
|
57
|
+
exports.Tabstack = Tabstack;
|
|
58
58
|
//# sourceMappingURL=client.js.map
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAyC;AACzC,uCAAoC;AACpC,yCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAyC;AACzC,uCAAoC;AACpC,yCAAsC;AACtC,mCAAgC;AAOhC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,QAAQ;IAkBnB;;;;;;;;;;;;OAYG;IACH,YAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;CACF;AA9CD,4BA8CC"}
|
package/dist/cjs/client.test.js
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Tests for
|
|
3
|
+
* Tests for Tabstack Client
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const client_1 = require("./client");
|
|
7
7
|
const extract_1 = require("./extract");
|
|
8
8
|
const generate_1 = require("./generate");
|
|
9
|
-
const
|
|
9
|
+
const agent_1 = require("./agent");
|
|
10
10
|
const http_1 = require("./util/http");
|
|
11
11
|
// Mock dependencies
|
|
12
12
|
jest.mock('./util/http');
|
|
13
13
|
jest.mock('./extract');
|
|
14
14
|
jest.mock('./generate');
|
|
15
|
-
jest.mock('./
|
|
16
|
-
describe('
|
|
15
|
+
jest.mock('./agent');
|
|
16
|
+
describe('Tabstack Client', () => {
|
|
17
17
|
beforeEach(() => {
|
|
18
18
|
jest.clearAllMocks();
|
|
19
19
|
});
|
|
20
20
|
describe('constructor', () => {
|
|
21
21
|
it('should create client with valid API key', () => {
|
|
22
|
-
const client = new client_1.
|
|
23
|
-
expect(client).toBeInstanceOf(client_1.
|
|
22
|
+
const client = new client_1.Tabstack({ apiKey: 'test-api-key' });
|
|
23
|
+
expect(client).toBeInstanceOf(client_1.Tabstack);
|
|
24
24
|
expect(http_1.HTTPClient).toHaveBeenCalledWith({
|
|
25
25
|
apiKey: 'test-api-key',
|
|
26
26
|
baseURL: undefined,
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
it('should create client with API key and custom baseURL', () => {
|
|
30
|
-
const client = new client_1.
|
|
30
|
+
const client = new client_1.Tabstack({
|
|
31
31
|
apiKey: 'test-api-key',
|
|
32
32
|
baseURL: 'https://custom.api.com',
|
|
33
33
|
});
|
|
34
|
-
expect(client).toBeInstanceOf(client_1.
|
|
34
|
+
expect(client).toBeInstanceOf(client_1.Tabstack);
|
|
35
35
|
expect(http_1.HTTPClient).toHaveBeenCalledWith({
|
|
36
36
|
apiKey: 'test-api-key',
|
|
37
37
|
baseURL: 'https://custom.api.com',
|
|
@@ -40,73 +40,73 @@ describe('TABStack Client', () => {
|
|
|
40
40
|
it('should throw error when API key is missing', () => {
|
|
41
41
|
expect(() => {
|
|
42
42
|
// @ts-expect-error Testing missing apiKey
|
|
43
|
-
new client_1.
|
|
43
|
+
new client_1.Tabstack({});
|
|
44
44
|
}).toThrow('apiKey is required');
|
|
45
45
|
});
|
|
46
46
|
it('should throw error when API key is empty string', () => {
|
|
47
47
|
expect(() => {
|
|
48
|
-
new client_1.
|
|
48
|
+
new client_1.Tabstack({ apiKey: '' });
|
|
49
49
|
}).toThrow('apiKey is required');
|
|
50
50
|
});
|
|
51
51
|
it('should throw error when API key is null', () => {
|
|
52
52
|
expect(() => {
|
|
53
53
|
// @ts-expect-error Testing null apiKey
|
|
54
|
-
new client_1.
|
|
54
|
+
new client_1.Tabstack({ apiKey: null });
|
|
55
55
|
}).toThrow('apiKey is required');
|
|
56
56
|
});
|
|
57
57
|
it('should throw error when API key is undefined', () => {
|
|
58
58
|
expect(() => {
|
|
59
59
|
// @ts-expect-error Testing undefined apiKey
|
|
60
|
-
new client_1.
|
|
60
|
+
new client_1.Tabstack({ apiKey: undefined });
|
|
61
61
|
}).toThrow('apiKey is required');
|
|
62
62
|
});
|
|
63
63
|
it('should initialize all operators', () => {
|
|
64
|
-
const client = new client_1.
|
|
64
|
+
const client = new client_1.Tabstack({ apiKey: 'test-api-key' });
|
|
65
65
|
expect(client.extract).toBeInstanceOf(extract_1.Extract);
|
|
66
66
|
expect(client.generate).toBeInstanceOf(generate_1.Generate);
|
|
67
|
-
expect(client.
|
|
67
|
+
expect(client.agent).toBeInstanceOf(agent_1.Agent);
|
|
68
68
|
});
|
|
69
69
|
it('should pass HTTPClient to all operators', () => {
|
|
70
|
-
void new client_1.
|
|
70
|
+
void new client_1.Tabstack({ apiKey: 'test-api-key' });
|
|
71
71
|
expect(extract_1.Extract).toHaveBeenCalledTimes(1);
|
|
72
72
|
expect(generate_1.Generate).toHaveBeenCalledTimes(1);
|
|
73
|
-
expect(
|
|
73
|
+
expect(agent_1.Agent).toHaveBeenCalledTimes(1);
|
|
74
74
|
// Verify they were called with the HTTPClient instance
|
|
75
75
|
const httpClientInstance = http_1.HTTPClient.mock
|
|
76
76
|
.instances[0];
|
|
77
77
|
expect(extract_1.Extract).toHaveBeenCalledWith(httpClientInstance);
|
|
78
78
|
expect(generate_1.Generate).toHaveBeenCalledWith(httpClientInstance);
|
|
79
|
-
expect(
|
|
79
|
+
expect(agent_1.Agent).toHaveBeenCalledWith(httpClientInstance);
|
|
80
80
|
});
|
|
81
81
|
});
|
|
82
82
|
describe('operators', () => {
|
|
83
83
|
it('should have extract operator', () => {
|
|
84
|
-
const client = new client_1.
|
|
84
|
+
const client = new client_1.Tabstack({ apiKey: 'test-api-key' });
|
|
85
85
|
expect(client.extract).toBeDefined();
|
|
86
86
|
expect(client.extract).toBeInstanceOf(extract_1.Extract);
|
|
87
87
|
});
|
|
88
88
|
it('should have generate operator', () => {
|
|
89
|
-
const client = new client_1.
|
|
89
|
+
const client = new client_1.Tabstack({ apiKey: 'test-api-key' });
|
|
90
90
|
expect(client.generate).toBeDefined();
|
|
91
91
|
expect(client.generate).toBeInstanceOf(generate_1.Generate);
|
|
92
92
|
});
|
|
93
|
-
it('should have
|
|
94
|
-
const client = new client_1.
|
|
95
|
-
expect(client.
|
|
96
|
-
expect(client.
|
|
93
|
+
it('should have agent client', () => {
|
|
94
|
+
const client = new client_1.Tabstack({ apiKey: 'test-api-key' });
|
|
95
|
+
expect(client.agent).toBeDefined();
|
|
96
|
+
expect(client.agent).toBeInstanceOf(agent_1.Agent);
|
|
97
97
|
});
|
|
98
98
|
it('should have readonly operators', () => {
|
|
99
|
-
const client = new client_1.
|
|
99
|
+
const client = new client_1.Tabstack({ apiKey: 'test-api-key' });
|
|
100
100
|
// TypeScript ensures readonly, but we can verify they exist
|
|
101
101
|
expect(Object.getOwnPropertyDescriptor(client, 'extract')).toBeDefined();
|
|
102
102
|
expect(Object.getOwnPropertyDescriptor(client, 'generate')).toBeDefined();
|
|
103
|
-
expect(Object.getOwnPropertyDescriptor(client, '
|
|
103
|
+
expect(Object.getOwnPropertyDescriptor(client, 'agent')).toBeDefined();
|
|
104
104
|
});
|
|
105
105
|
});
|
|
106
106
|
describe('multiple instances', () => {
|
|
107
107
|
it('should create independent client instances', () => {
|
|
108
|
-
const client1 = new client_1.
|
|
109
|
-
const client2 = new client_1.
|
|
108
|
+
const client1 = new client_1.Tabstack({ apiKey: 'key1' });
|
|
109
|
+
const client2 = new client_1.Tabstack({ apiKey: 'key2' });
|
|
110
110
|
expect(client1).not.toBe(client2);
|
|
111
111
|
expect(http_1.HTTPClient).toHaveBeenCalledTimes(2);
|
|
112
112
|
expect(http_1.HTTPClient).toHaveBeenNthCalledWith(1, {
|
|
@@ -119,11 +119,11 @@ describe('TABStack Client', () => {
|
|
|
119
119
|
});
|
|
120
120
|
});
|
|
121
121
|
it('should create clients with different baseURLs', () => {
|
|
122
|
-
void new client_1.
|
|
122
|
+
void new client_1.Tabstack({
|
|
123
123
|
apiKey: 'key1',
|
|
124
124
|
baseURL: 'https://api1.example.com',
|
|
125
125
|
});
|
|
126
|
-
void new client_1.
|
|
126
|
+
void new client_1.Tabstack({
|
|
127
127
|
apiKey: 'key2',
|
|
128
128
|
baseURL: 'https://api2.example.com',
|
|
129
129
|
});
|
|
@@ -148,32 +148,32 @@ describe('TABStack Client', () => {
|
|
|
148
148
|
'my_api_key_with_underscores',
|
|
149
149
|
];
|
|
150
150
|
validKeys.forEach((key) => {
|
|
151
|
-
expect(() => new client_1.
|
|
151
|
+
expect(() => new client_1.Tabstack({ apiKey: key })).not.toThrow();
|
|
152
152
|
});
|
|
153
153
|
});
|
|
154
154
|
it('should reject non-string API keys', () => {
|
|
155
155
|
const invalidKeys = [123, true, {}, []];
|
|
156
156
|
invalidKeys.forEach((key) => {
|
|
157
157
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
158
|
-
expect(() => new client_1.
|
|
158
|
+
expect(() => new client_1.Tabstack({ apiKey: key })).toThrow('apiKey is required');
|
|
159
159
|
});
|
|
160
160
|
});
|
|
161
161
|
it('should handle whitespace-only API keys', () => {
|
|
162
|
-
expect(() => new client_1.
|
|
162
|
+
expect(() => new client_1.Tabstack({ apiKey: ' ' })).not.toThrow();
|
|
163
163
|
// Note: The client doesn't trim whitespace, so this technically passes
|
|
164
164
|
// The actual validation happens at the API level
|
|
165
165
|
});
|
|
166
166
|
});
|
|
167
167
|
describe('configuration', () => {
|
|
168
168
|
it('should handle default configuration', () => {
|
|
169
|
-
void new client_1.
|
|
169
|
+
void new client_1.Tabstack({ apiKey: 'test-key' });
|
|
170
170
|
expect(http_1.HTTPClient).toHaveBeenCalledWith({
|
|
171
171
|
apiKey: 'test-key',
|
|
172
172
|
baseURL: undefined,
|
|
173
173
|
});
|
|
174
174
|
});
|
|
175
175
|
it('should handle custom baseURL with trailing slash', () => {
|
|
176
|
-
void new client_1.
|
|
176
|
+
void new client_1.Tabstack({
|
|
177
177
|
apiKey: 'test-key',
|
|
178
178
|
baseURL: 'https://custom.api.com/',
|
|
179
179
|
});
|
|
@@ -183,7 +183,7 @@ describe('TABStack Client', () => {
|
|
|
183
183
|
});
|
|
184
184
|
});
|
|
185
185
|
it('should handle custom baseURL without trailing slash', () => {
|
|
186
|
-
void new client_1.
|
|
186
|
+
void new client_1.Tabstack({
|
|
187
187
|
apiKey: 'test-key',
|
|
188
188
|
baseURL: 'https://custom.api.com',
|
|
189
189
|
});
|
|
@@ -193,7 +193,7 @@ describe('TABStack Client', () => {
|
|
|
193
193
|
});
|
|
194
194
|
});
|
|
195
195
|
it('should handle localhost baseURL', () => {
|
|
196
|
-
void new client_1.
|
|
196
|
+
void new client_1.Tabstack({
|
|
197
197
|
apiKey: 'test-key',
|
|
198
198
|
baseURL: 'http://localhost:8080',
|
|
199
199
|
});
|
|
@@ -204,52 +204,51 @@ describe('TABStack Client', () => {
|
|
|
204
204
|
});
|
|
205
205
|
});
|
|
206
206
|
describe('type safety', () => {
|
|
207
|
-
it('should enforce
|
|
207
|
+
it('should enforce TabstackOptions interface', () => {
|
|
208
208
|
// This test ensures TypeScript types are working correctly
|
|
209
209
|
const options = {
|
|
210
210
|
apiKey: 'test-key',
|
|
211
211
|
baseURL: 'https://api.example.com',
|
|
212
212
|
};
|
|
213
|
-
const client = new client_1.
|
|
214
|
-
expect(client).toBeInstanceOf(client_1.
|
|
213
|
+
const client = new client_1.Tabstack(options);
|
|
214
|
+
expect(client).toBeInstanceOf(client_1.Tabstack);
|
|
215
215
|
});
|
|
216
216
|
it('should allow optional baseURL', () => {
|
|
217
217
|
const options = { apiKey: 'test-key' };
|
|
218
|
-
const client = new client_1.
|
|
219
|
-
expect(client).toBeInstanceOf(client_1.
|
|
218
|
+
const client = new client_1.Tabstack(options);
|
|
219
|
+
expect(client).toBeInstanceOf(client_1.Tabstack);
|
|
220
220
|
});
|
|
221
221
|
});
|
|
222
222
|
describe('integration', () => {
|
|
223
223
|
it('should allow chaining operator methods', () => {
|
|
224
|
-
const client = new client_1.
|
|
224
|
+
const client = new client_1.Tabstack({ apiKey: 'test-key' });
|
|
225
225
|
// Verify operators exist and can be accessed
|
|
226
226
|
expect(client.extract.markdown).toBeDefined();
|
|
227
|
-
expect(client.extract.schema).toBeDefined();
|
|
228
227
|
expect(client.extract.json).toBeDefined();
|
|
229
228
|
expect(client.generate.json).toBeDefined();
|
|
230
|
-
expect(client.automate
|
|
229
|
+
expect(client.agent.automate).toBeDefined();
|
|
231
230
|
});
|
|
232
231
|
it('should maintain separate operator instances per client', () => {
|
|
233
|
-
const client1 = new client_1.
|
|
234
|
-
const client2 = new client_1.
|
|
232
|
+
const client1 = new client_1.Tabstack({ apiKey: 'key1' });
|
|
233
|
+
const client2 = new client_1.Tabstack({ apiKey: 'key2' });
|
|
235
234
|
expect(client1.extract).not.toBe(client2.extract);
|
|
236
235
|
expect(client1.generate).not.toBe(client2.generate);
|
|
237
|
-
expect(client1.
|
|
236
|
+
expect(client1.agent).not.toBe(client2.agent);
|
|
238
237
|
});
|
|
239
238
|
});
|
|
240
239
|
describe('error handling', () => {
|
|
241
240
|
it('should throw descriptive error for missing apiKey', () => {
|
|
242
241
|
expect(() => {
|
|
243
242
|
// @ts-expect-error Testing missing apiKey
|
|
244
|
-
new client_1.
|
|
243
|
+
new client_1.Tabstack({});
|
|
245
244
|
}).toThrow('apiKey is required');
|
|
246
245
|
});
|
|
247
246
|
it('should throw error immediately on construction, not on first use', () => {
|
|
248
247
|
// @ts-expect-error Testing missing apiKey
|
|
249
|
-
expect(() => new client_1.
|
|
248
|
+
expect(() => new client_1.Tabstack({})).toThrow();
|
|
250
249
|
// Should not throw if apiKey is provided
|
|
251
|
-
const client = new client_1.
|
|
252
|
-
expect(client).toBeInstanceOf(client_1.
|
|
250
|
+
const client = new client_1.Tabstack({ apiKey: 'test-key' });
|
|
251
|
+
expect(client).toBeInstanceOf(client_1.Tabstack);
|
|
253
252
|
});
|
|
254
253
|
});
|
|
255
254
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../src/client.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,qCAAoC;AACpC,uCAAoC;AACpC,yCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../src/client.test.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/exceptions.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Custom exceptions for
|
|
2
|
+
* Custom exceptions for Tabstack SDK
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* Base error class for all
|
|
5
|
+
* Base error class for all Tabstack errors
|
|
6
6
|
*/
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class TabstackError extends Error {
|
|
8
8
|
statusCode?: number | undefined;
|
|
9
9
|
constructor(message: string, statusCode?: number | undefined);
|
|
10
10
|
}
|
|
@@ -13,7 +13,7 @@ export declare class TABStackError extends Error {
|
|
|
13
13
|
*
|
|
14
14
|
* Raised when the request is malformed or missing required fields.
|
|
15
15
|
*/
|
|
16
|
-
export declare class BadRequestError extends
|
|
16
|
+
export declare class BadRequestError extends TabstackError {
|
|
17
17
|
constructor(message: string);
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
@@ -21,7 +21,7 @@ export declare class BadRequestError extends TABStackError {
|
|
|
21
21
|
*
|
|
22
22
|
* Raised when the API key is invalid or missing.
|
|
23
23
|
*/
|
|
24
|
-
export declare class UnauthorizedError extends
|
|
24
|
+
export declare class UnauthorizedError extends TabstackError {
|
|
25
25
|
constructor(message?: string);
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
@@ -29,7 +29,7 @@ export declare class UnauthorizedError extends TABStackError {
|
|
|
29
29
|
*
|
|
30
30
|
* Raised when the provided URL is invalid or inaccessible.
|
|
31
31
|
*/
|
|
32
|
-
export declare class InvalidURLError extends
|
|
32
|
+
export declare class InvalidURLError extends TabstackError {
|
|
33
33
|
constructor(message?: string);
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
@@ -37,7 +37,7 @@ export declare class InvalidURLError extends TABStackError {
|
|
|
37
37
|
*
|
|
38
38
|
* Raised when the server encounters an error processing the request.
|
|
39
39
|
*/
|
|
40
|
-
export declare class ServerError extends
|
|
40
|
+
export declare class ServerError extends TabstackError {
|
|
41
41
|
constructor(message?: string);
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
@@ -45,13 +45,13 @@ export declare class ServerError extends TABStackError {
|
|
|
45
45
|
*
|
|
46
46
|
* Raised when a service (e.g., automate) is not available or not configured.
|
|
47
47
|
*/
|
|
48
|
-
export declare class ServiceUnavailableError extends
|
|
48
|
+
export declare class ServiceUnavailableError extends TabstackError {
|
|
49
49
|
constructor(message?: string);
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* Generic API error for unexpected status codes
|
|
53
53
|
*/
|
|
54
|
-
export declare class APIError extends
|
|
54
|
+
export declare class APIError extends TabstackError {
|
|
55
55
|
constructor(message: string, statusCode: number);
|
|
56
56
|
}
|
|
57
57
|
//# sourceMappingURL=exceptions.d.ts.map
|
package/dist/cjs/exceptions.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Custom exceptions for
|
|
3
|
+
* Custom exceptions for Tabstack SDK
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.APIError = exports.ServiceUnavailableError = exports.ServerError = exports.InvalidURLError = exports.UnauthorizedError = exports.BadRequestError = exports.
|
|
6
|
+
exports.APIError = exports.ServiceUnavailableError = exports.ServerError = exports.InvalidURLError = exports.UnauthorizedError = exports.BadRequestError = exports.TabstackError = void 0;
|
|
7
7
|
/**
|
|
8
|
-
* Base error class for all
|
|
8
|
+
* Base error class for all Tabstack errors
|
|
9
9
|
*/
|
|
10
|
-
class
|
|
10
|
+
class TabstackError extends Error {
|
|
11
11
|
constructor(message, statusCode) {
|
|
12
12
|
super(message);
|
|
13
13
|
this.statusCode = statusCode;
|
|
14
|
-
this.name = '
|
|
15
|
-
Object.setPrototypeOf(this,
|
|
14
|
+
this.name = 'TabstackError';
|
|
15
|
+
Object.setPrototypeOf(this, TabstackError.prototype);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
exports.
|
|
18
|
+
exports.TabstackError = TabstackError;
|
|
19
19
|
/**
|
|
20
20
|
* Error for 400 Bad Request responses
|
|
21
21
|
*
|
|
22
22
|
* Raised when the request is malformed or missing required fields.
|
|
23
23
|
*/
|
|
24
|
-
class BadRequestError extends
|
|
24
|
+
class BadRequestError extends TabstackError {
|
|
25
25
|
constructor(message) {
|
|
26
26
|
super(message, 400);
|
|
27
27
|
this.name = 'BadRequestError';
|
|
@@ -34,7 +34,7 @@ exports.BadRequestError = BadRequestError;
|
|
|
34
34
|
*
|
|
35
35
|
* Raised when the API key is invalid or missing.
|
|
36
36
|
*/
|
|
37
|
-
class UnauthorizedError extends
|
|
37
|
+
class UnauthorizedError extends TabstackError {
|
|
38
38
|
constructor(message = 'Unauthorized - Invalid or missing API key') {
|
|
39
39
|
super(message, 401);
|
|
40
40
|
this.name = 'UnauthorizedError';
|
|
@@ -47,7 +47,7 @@ exports.UnauthorizedError = UnauthorizedError;
|
|
|
47
47
|
*
|
|
48
48
|
* Raised when the provided URL is invalid or inaccessible.
|
|
49
49
|
*/
|
|
50
|
-
class InvalidURLError extends
|
|
50
|
+
class InvalidURLError extends TabstackError {
|
|
51
51
|
constructor(message = 'Invalid or inaccessible URL') {
|
|
52
52
|
super(message, 422);
|
|
53
53
|
this.name = 'InvalidURLError';
|
|
@@ -60,7 +60,7 @@ exports.InvalidURLError = InvalidURLError;
|
|
|
60
60
|
*
|
|
61
61
|
* Raised when the server encounters an error processing the request.
|
|
62
62
|
*/
|
|
63
|
-
class ServerError extends
|
|
63
|
+
class ServerError extends TabstackError {
|
|
64
64
|
constructor(message = 'Internal server error') {
|
|
65
65
|
super(message, 500);
|
|
66
66
|
this.name = 'ServerError';
|
|
@@ -73,7 +73,7 @@ exports.ServerError = ServerError;
|
|
|
73
73
|
*
|
|
74
74
|
* Raised when a service (e.g., automate) is not available or not configured.
|
|
75
75
|
*/
|
|
76
|
-
class ServiceUnavailableError extends
|
|
76
|
+
class ServiceUnavailableError extends TabstackError {
|
|
77
77
|
constructor(message = 'Service unavailable') {
|
|
78
78
|
super(message, 503);
|
|
79
79
|
this.name = 'ServiceUnavailableError';
|
|
@@ -84,7 +84,7 @@ exports.ServiceUnavailableError = ServiceUnavailableError;
|
|
|
84
84
|
/**
|
|
85
85
|
* Generic API error for unexpected status codes
|
|
86
86
|
*/
|
|
87
|
-
class APIError extends
|
|
87
|
+
class APIError extends TabstackError {
|
|
88
88
|
constructor(message, statusCode) {
|
|
89
89
|
super(message, statusCode);
|
|
90
90
|
this.name = 'APIError';
|