@scalix-world/sdk 0.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +155 -1
  3. package/dist/client.d.ts +56 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +71 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/config.d.ts +7 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +2 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/errors.d.ts +35 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +61 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/index.d.ts +31 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +28 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/services/account.d.ts +27 -0
  20. package/dist/services/account.d.ts.map +1 -0
  21. package/dist/services/account.js +16 -0
  22. package/dist/services/account.js.map +1 -0
  23. package/dist/services/audio.d.ts +27 -0
  24. package/dist/services/audio.d.ts.map +1 -0
  25. package/dist/services/audio.js +27 -0
  26. package/dist/services/audio.js.map +1 -0
  27. package/dist/services/base.d.ts +17 -0
  28. package/dist/services/base.d.ts.map +1 -0
  29. package/dist/services/base.js +169 -0
  30. package/dist/services/base.js.map +1 -0
  31. package/dist/services/docgen.d.ts +62 -0
  32. package/dist/services/docgen.d.ts.map +1 -0
  33. package/dist/services/docgen.js +43 -0
  34. package/dist/services/docgen.js.map +1 -0
  35. package/dist/services/images.d.ts +34 -0
  36. package/dist/services/images.d.ts.map +1 -0
  37. package/dist/services/images.js +23 -0
  38. package/dist/services/images.js.map +1 -0
  39. package/dist/services/index.d.ts +20 -0
  40. package/dist/services/index.d.ts.map +1 -0
  41. package/dist/services/index.js +11 -0
  42. package/dist/services/index.js.map +1 -0
  43. package/dist/services/models.d.ts +16 -0
  44. package/dist/services/models.d.ts.map +1 -0
  45. package/dist/services/models.js +12 -0
  46. package/dist/services/models.js.map +1 -0
  47. package/dist/services/rag.d.ts +43 -0
  48. package/dist/services/rag.d.ts.map +1 -0
  49. package/dist/services/rag.js +20 -0
  50. package/dist/services/rag.js.map +1 -0
  51. package/dist/services/research.d.ts +23 -0
  52. package/dist/services/research.d.ts.map +1 -0
  53. package/dist/services/research.js +16 -0
  54. package/dist/services/research.js.map +1 -0
  55. package/dist/services/storage.d.ts +9 -0
  56. package/dist/services/storage.d.ts.map +1 -0
  57. package/dist/services/storage.js +9 -0
  58. package/dist/services/storage.js.map +1 -0
  59. package/dist/services/text.d.ts +61 -0
  60. package/dist/services/text.d.ts.map +1 -0
  61. package/dist/services/text.js +38 -0
  62. package/dist/services/text.js.map +1 -0
  63. package/package.json +55 -5
  64. package/index.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA4CjD,qBAAa,WAAW;IACtB,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;gBAEnB,MAAM,EAAE,YAAY;IAIhC,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,OAAO,GAElB;cAEe,OAAO,CAAC,CAAC,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAC7D,OAAO,CAAC,CAAC,CAAC;cAsDG,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAC7D,OAAO,CAAC,QAAQ,CAAC;cAmDJ,gBAAgB,CAAC,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,CAAC,CAAC;CA8Cd"}
@@ -0,0 +1,169 @@
1
+ import { AuthenticationError, BadRequestError, ConflictError, InternalServerError, NotFoundError, PermissionDeniedError, RateLimitError, ScalixError, UnprocessableEntityError, } from '../errors.js';
2
+ const RETRYABLE_STATUS_CODES = new Set([408, 409, 429, 500, 502, 503, 504]);
3
+ function sleep(ms) {
4
+ return new Promise(resolve => setTimeout(resolve, ms));
5
+ }
6
+ function backoffDelay(attempt, retryAfter) {
7
+ if (retryAfter !== undefined)
8
+ return retryAfter * 1000;
9
+ const base = Math.min(0.5 * Math.pow(2, attempt), 8);
10
+ return base * (0.5 + Math.random() * 0.5) * 1000;
11
+ }
12
+ function throwForStatus(status, message, requestId) {
13
+ switch (status) {
14
+ case 400: throw new BadRequestError(message, requestId);
15
+ case 401: throw new AuthenticationError(message, requestId);
16
+ case 403: throw new PermissionDeniedError(message, requestId);
17
+ case 404: throw new NotFoundError(message, requestId);
18
+ case 409: throw new ConflictError(message, requestId);
19
+ case 422: throw new UnprocessableEntityError(message, requestId);
20
+ case 429: throw new RateLimitError(message, requestId);
21
+ default:
22
+ if (status >= 500)
23
+ throw new InternalServerError(message, requestId);
24
+ throw new ScalixError(message, { status, requestId });
25
+ }
26
+ }
27
+ export class BaseService {
28
+ config;
29
+ constructor(config) {
30
+ this.config = config;
31
+ }
32
+ get maxRetries() {
33
+ return this.config.maxRetries ?? 2;
34
+ }
35
+ get timeout() {
36
+ return this.config.timeout ?? 60000;
37
+ }
38
+ async request(method, path, options) {
39
+ if (!this.config.apiKey) {
40
+ throw new AuthenticationError('API key required. Pass apiKey to new Scalix("sk_scalix_...").');
41
+ }
42
+ const url = `${this.config.baseUrl}${path}`;
43
+ const headers = {
44
+ Authorization: `Bearer ${this.config.apiKey}`,
45
+ 'Content-Type': 'application/json',
46
+ ...options?.headers,
47
+ };
48
+ let lastError;
49
+ for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
50
+ if (attempt > 0) {
51
+ await sleep(backoffDelay(attempt - 1, lastError instanceof RateLimitError ? undefined : undefined));
52
+ }
53
+ let resp;
54
+ try {
55
+ resp = await fetch(url, {
56
+ method,
57
+ headers,
58
+ ...(options?.body ? { body: JSON.stringify(options.body) } : {}),
59
+ signal: AbortSignal.timeout(this.timeout),
60
+ });
61
+ }
62
+ catch (err) {
63
+ lastError = err instanceof Error ? err : new Error(String(err));
64
+ if (attempt < this.maxRetries)
65
+ continue;
66
+ throw new ScalixError(`Connection failed: ${lastError.message}`);
67
+ }
68
+ if (resp.ok) {
69
+ return resp.json();
70
+ }
71
+ const requestId = resp.headers.get('x-request-id') ?? undefined;
72
+ const body = await resp.json().catch(() => ({}));
73
+ const message = body?.error?.message ?? `Request failed: ${resp.status}`;
74
+ if (attempt < this.maxRetries && RETRYABLE_STATUS_CODES.has(resp.status)) {
75
+ const retryAfter = resp.headers.get('retry-after');
76
+ lastError = new ScalixError(message, { status: resp.status, requestId });
77
+ await sleep(backoffDelay(attempt, retryAfter ? parseFloat(retryAfter) : undefined));
78
+ continue;
79
+ }
80
+ throwForStatus(resp.status, message, requestId);
81
+ }
82
+ throw lastError ?? new ScalixError('Request failed after retries');
83
+ }
84
+ async requestRaw(method, path, options) {
85
+ if (!this.config.apiKey) {
86
+ throw new AuthenticationError('API key required.');
87
+ }
88
+ const url = `${this.config.baseUrl}${path}`;
89
+ const headers = {
90
+ Authorization: `Bearer ${this.config.apiKey}`,
91
+ 'Content-Type': 'application/json',
92
+ ...options?.headers,
93
+ };
94
+ let lastError;
95
+ for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
96
+ let resp;
97
+ try {
98
+ resp = await fetch(url, {
99
+ method,
100
+ headers,
101
+ ...(options?.body ? { body: JSON.stringify(options.body) } : {}),
102
+ signal: AbortSignal.timeout(this.timeout),
103
+ });
104
+ }
105
+ catch (err) {
106
+ lastError = err instanceof Error ? err : new Error(String(err));
107
+ if (attempt < this.maxRetries) {
108
+ await sleep(backoffDelay(attempt));
109
+ continue;
110
+ }
111
+ throw new ScalixError(`Connection failed: ${lastError.message}`);
112
+ }
113
+ if (resp.ok)
114
+ return resp;
115
+ const requestId = resp.headers.get('x-request-id') ?? undefined;
116
+ const body = await resp.json().catch(() => ({}));
117
+ const message = body?.error?.message ?? `Request failed: ${resp.status}`;
118
+ if (attempt < this.maxRetries && RETRYABLE_STATUS_CODES.has(resp.status)) {
119
+ const retryAfter = resp.headers.get('retry-after');
120
+ lastError = new ScalixError(message, { status: resp.status, requestId });
121
+ await sleep(backoffDelay(attempt, retryAfter ? parseFloat(retryAfter) : undefined));
122
+ continue;
123
+ }
124
+ throwForStatus(resp.status, message, requestId);
125
+ }
126
+ throw lastError ?? new ScalixError('Request failed after retries');
127
+ }
128
+ async requestMultipart(path, formData) {
129
+ if (!this.config.apiKey) {
130
+ throw new AuthenticationError('API key required.');
131
+ }
132
+ const url = `${this.config.baseUrl}${path}`;
133
+ let lastError;
134
+ for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
135
+ let resp;
136
+ try {
137
+ resp = await fetch(url, {
138
+ method: 'POST',
139
+ headers: { Authorization: `Bearer ${this.config.apiKey}` },
140
+ body: formData,
141
+ signal: AbortSignal.timeout(this.timeout),
142
+ });
143
+ }
144
+ catch (err) {
145
+ lastError = err instanceof Error ? err : new Error(String(err));
146
+ if (attempt < this.maxRetries) {
147
+ await sleep(backoffDelay(attempt));
148
+ continue;
149
+ }
150
+ throw new ScalixError(`Connection failed: ${lastError.message}`);
151
+ }
152
+ if (resp.ok) {
153
+ return resp.json();
154
+ }
155
+ const requestId = resp.headers.get('x-request-id') ?? undefined;
156
+ const body = await resp.json().catch(() => ({}));
157
+ const message = body?.error?.message ?? `Upload failed: ${resp.status}`;
158
+ if (attempt < this.maxRetries && RETRYABLE_STATUS_CODES.has(resp.status)) {
159
+ const retryAfter = resp.headers.get('retry-after');
160
+ lastError = new ScalixError(message, { status: resp.status, requestId });
161
+ await sleep(backoffDelay(attempt, retryAfter ? parseFloat(retryAfter) : undefined));
162
+ continue;
163
+ }
164
+ throwForStatus(resp.status, message, requestId);
165
+ }
166
+ throw lastError ?? new ScalixError('Request failed after retries');
167
+ }
168
+ }
169
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { BaseService } from './base.js';
2
+ export type DocFormat = 'xlsx' | 'docx' | 'pdf' | 'html' | 'csv';
3
+ export type DocStyle = 'professional' | 'casual' | 'creative';
4
+ export interface DocGenOptions {
5
+ prompt: string;
6
+ format: DocFormat;
7
+ template_id?: string;
8
+ style?: DocStyle;
9
+ language?: string;
10
+ }
11
+ export interface DocGenResult {
12
+ status: string;
13
+ doc_id: string;
14
+ format: string;
15
+ download_url: string;
16
+ created_at: string;
17
+ size_bytes?: number;
18
+ }
19
+ export interface DocTemplate {
20
+ id: string;
21
+ name: string;
22
+ description: string;
23
+ category: string;
24
+ format: string;
25
+ tags: string[];
26
+ }
27
+ export interface DocFormatInfo {
28
+ format: string;
29
+ mime_type: string;
30
+ description: string;
31
+ max_size_bytes: number;
32
+ supported_styles: string[];
33
+ }
34
+ export declare class DocGenService extends BaseService {
35
+ create(options: DocGenOptions): Promise<DocGenResult>;
36
+ preview(options: Pick<DocGenOptions, 'prompt' | 'format' | 'style'>): Promise<{
37
+ html_content: string;
38
+ }>;
39
+ formats(): Promise<DocFormatInfo[]>;
40
+ templates(): Promise<DocTemplate[]>;
41
+ history(options?: {
42
+ limit?: number;
43
+ offset?: number;
44
+ }): Promise<{
45
+ documents: DocGenResult[];
46
+ total: number;
47
+ }>;
48
+ download(docId: string): Promise<Response>;
49
+ share(docId: string, targetEmail: string): Promise<{
50
+ success: boolean;
51
+ message: string;
52
+ shared_with_uid: string;
53
+ }>;
54
+ revise(docId: string, prompt: string): Promise<DocGenResult>;
55
+ versions(docId: string): Promise<{
56
+ versions: Array<{
57
+ version_id: string;
58
+ created_at: string;
59
+ }>;
60
+ }>;
61
+ }
62
+ //# sourceMappingURL=docgen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docgen.d.ts","sourceRoot":"","sources":["../../src/services/docgen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AACjE,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,aAAc,SAAQ,WAAW;IACtC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAMrD,OAAO,CACX,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GAC1D,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9B,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAInC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAInC,OAAO,CACX,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAQlD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1C,KAAK,CACT,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAMpE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM5D,QAAQ,CACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAG5E"}
@@ -0,0 +1,43 @@
1
+ import { BaseService } from './base.js';
2
+ export class DocGenService extends BaseService {
3
+ async create(options) {
4
+ return this.request('POST', '/v1/docgen/create', {
5
+ body: options,
6
+ });
7
+ }
8
+ async preview(options) {
9
+ return this.request('POST', '/v1/docgen/preview', { body: options });
10
+ }
11
+ async formats() {
12
+ return this.request('GET', '/v1/docgen/formats');
13
+ }
14
+ async templates() {
15
+ return this.request('GET', '/v1/docgen/templates');
16
+ }
17
+ async history(options) {
18
+ const params = new URLSearchParams();
19
+ if (options?.limit != null)
20
+ params.set('limit', String(options.limit));
21
+ if (options?.offset != null)
22
+ params.set('offset', String(options.offset));
23
+ const qs = params.toString();
24
+ return this.request('GET', `/v1/docgen/history${qs ? `?${qs}` : ''}`);
25
+ }
26
+ async download(docId) {
27
+ return this.requestRaw('GET', `/v1/docgen/download/${docId}`);
28
+ }
29
+ async share(docId, targetEmail) {
30
+ return this.request('POST', '/v1/docgen/share', {
31
+ body: { doc_id: docId, target_email: targetEmail },
32
+ });
33
+ }
34
+ async revise(docId, prompt) {
35
+ return this.request('POST', '/v1/docgen/revise', {
36
+ body: { doc_id: docId, prompt },
37
+ });
38
+ }
39
+ async versions(docId) {
40
+ return this.request('GET', `/v1/docgen/versions/${docId}`);
41
+ }
42
+ }
43
+ //# sourceMappingURL=docgen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docgen.js","sourceRoot":"","sources":["../../src/services/docgen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAuCxC,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,mBAAmB,EAAE;YAC7D,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAA2D;QAE3D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAA6C;QAE7C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,OAAO,EAAE,MAAM,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,uBAAuB,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,KAAK,CACT,KAAa,EACb,WAAmB;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAC9C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,MAAc;QACxC,OAAO,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,mBAAmB,EAAE;YAC7D,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,KAAa;QAEb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,uBAAuB,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ import { BaseService } from './base.js';
2
+ export interface ImageGenerateOptions {
3
+ model?: string;
4
+ size?: string;
5
+ n?: number;
6
+ quality?: string;
7
+ }
8
+ export interface ImageResult {
9
+ images?: Array<{
10
+ url?: string;
11
+ b64_json?: string;
12
+ }>;
13
+ jobId?: string;
14
+ }
15
+ export interface ImageJobStatus {
16
+ jobId: string;
17
+ status: 'pending' | 'processing' | 'completed' | 'failed';
18
+ result?: ImageResult;
19
+ }
20
+ export declare class ImagesService extends BaseService {
21
+ generate(prompt: string, options?: ImageGenerateOptions): Promise<ImageResult>;
22
+ generateAsync(prompt: string, options?: ImageGenerateOptions): Promise<{
23
+ jobId: string;
24
+ }>;
25
+ getJob(jobId: string): Promise<ImageJobStatus>;
26
+ getJobResult(jobId: string): Promise<ImageResult>;
27
+ models(): Promise<{
28
+ models: Array<{
29
+ id: string;
30
+ name: string;
31
+ }>;
32
+ }>;
33
+ }
34
+ //# sourceMappingURL=images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/services/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,qBAAa,aAAc,SAAQ,WAAW;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAM9E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAMzF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI9C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIjD,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAGzE"}
@@ -0,0 +1,23 @@
1
+ import { BaseService } from './base.js';
2
+ export class ImagesService extends BaseService {
3
+ async generate(prompt, options) {
4
+ return this.request('POST', '/v1/images/generate', {
5
+ body: { prompt, ...options },
6
+ });
7
+ }
8
+ async generateAsync(prompt, options) {
9
+ return this.request('POST', '/v1/images/generate/queue', {
10
+ body: { prompt, ...options },
11
+ });
12
+ }
13
+ async getJob(jobId) {
14
+ return this.request('GET', `/v1/images/jobs/${encodeURIComponent(jobId)}`);
15
+ }
16
+ async getJobResult(jobId) {
17
+ return this.request('GET', `/v1/images/jobs/${encodeURIComponent(jobId)}/result`);
18
+ }
19
+ async models() {
20
+ return this.request('GET', '/v1/images/models');
21
+ }
22
+ }
23
+ //# sourceMappingURL=images.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["../../src/services/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAoBxC,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAA8B;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE;YACjD,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,OAA8B;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE;YACvD,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ export { BaseService } from './base.js';
2
+ export { AccountService } from './account.js';
3
+ export type { UserInfo, UserBudget, UserUsage } from './account.js';
4
+ export { AudioService } from './audio.js';
5
+ export type { TranscriptionResult, SpeechOptions } from './audio.js';
6
+ export { DocGenService } from './docgen.js';
7
+ export type { DocFormat, DocStyle, DocGenOptions, DocGenResult, DocTemplate, DocFormatInfo } from './docgen.js';
8
+ export { ImagesService } from './images.js';
9
+ export type { ImageGenerateOptions, ImageResult, ImageJobStatus } from './images.js';
10
+ export { ModelsService } from './models.js';
11
+ export type { ScalixModel } from './models.js';
12
+ export { RAGService } from './rag.js';
13
+ export type { RAGDocument, RAGQueryResult, RAGUploadResult } from './rag.js';
14
+ export { ResearchService } from './research.js';
15
+ export type { SearchResult, ResearchResult } from './research.js';
16
+ export { StorageService } from './storage.js';
17
+ export type { UploadUrlResult } from './storage.js';
18
+ export { TextService } from './text.js';
19
+ export type { SentimentResult, SummaryResult, TranslationResult, GrammarResult, AutocompleteResult, VectorSearchContext, VectorSearchResult } from './text.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { BaseService } from './base.js';
2
+ export { AccountService } from './account.js';
3
+ export { AudioService } from './audio.js';
4
+ export { DocGenService } from './docgen.js';
5
+ export { ImagesService } from './images.js';
6
+ export { ModelsService } from './models.js';
7
+ export { RAGService } from './rag.js';
8
+ export { ResearchService } from './research.js';
9
+ export { StorageService } from './storage.js';
10
+ export { TextService } from './text.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { BaseService } from './base.js';
2
+ export interface ScalixModel {
3
+ id: string;
4
+ object: string;
5
+ created: number;
6
+ owned_by: string;
7
+ context_window: number;
8
+ max_output_tokens: number;
9
+ description: string;
10
+ plan_required: string;
11
+ }
12
+ export declare class ModelsService extends BaseService {
13
+ list(): Promise<ScalixModel[]>;
14
+ get(modelId: string): Promise<ScalixModel | undefined>;
15
+ }
16
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/services/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAc,SAAQ,WAAW;IACtC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAK9B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAI7D"}
@@ -0,0 +1,12 @@
1
+ import { BaseService } from './base.js';
2
+ export class ModelsService extends BaseService {
3
+ async list() {
4
+ const resp = await this.request('GET', '/v1/models');
5
+ return resp.data;
6
+ }
7
+ async get(modelId) {
8
+ const models = await this.list();
9
+ return models.find(m => m.id === modelId);
10
+ }
11
+ }
12
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/services/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAaxC,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAA0B,KAAK,EAAE,YAAY,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ import { BaseService } from './base.js';
2
+ export interface RAGDocument {
3
+ doc_id: string;
4
+ filename: string;
5
+ uploaded_at: string;
6
+ size: number;
7
+ status: 'indexed' | 'pending' | 'failed';
8
+ chunk_count: number;
9
+ }
10
+ export interface RAGQueryResult {
11
+ results: Array<{
12
+ doc_id: string;
13
+ chunk_id: string;
14
+ content: string;
15
+ similarity_score: number;
16
+ metadata?: Record<string, unknown>;
17
+ }>;
18
+ total_results: number;
19
+ }
20
+ export interface RAGUploadResult {
21
+ doc_id: string;
22
+ filename: string;
23
+ size: number;
24
+ status: string;
25
+ chunks: number;
26
+ }
27
+ export declare class RAGService extends BaseService {
28
+ upload(file: Blob, options?: {
29
+ filename?: string;
30
+ }): Promise<RAGUploadResult>;
31
+ query(query: string, options?: {
32
+ doc_ids?: string[];
33
+ top_k?: number;
34
+ }): Promise<RAGQueryResult>;
35
+ documents(): Promise<{
36
+ documents: RAGDocument[];
37
+ total: number;
38
+ }>;
39
+ deleteDocument(docId: string): Promise<{
40
+ success: boolean;
41
+ }>;
42
+ }
43
+ //# sourceMappingURL=rag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../src/services/rag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,UAAW,SAAQ,WAAW;IACnC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAM7E,KAAK,CACT,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,cAAc,CAAC;IAMpB,SAAS,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAIjE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAGnE"}
@@ -0,0 +1,20 @@
1
+ import { BaseService } from './base.js';
2
+ export class RAGService extends BaseService {
3
+ async upload(file, options) {
4
+ const formData = new FormData();
5
+ formData.append('file', file, options?.filename);
6
+ return this.requestMultipart('/v1/rag/upload', formData);
7
+ }
8
+ async query(query, options) {
9
+ return this.request('POST', '/v1/rag/query', {
10
+ body: { query, ...options },
11
+ });
12
+ }
13
+ async documents() {
14
+ return this.request('GET', '/v1/rag/documents');
15
+ }
16
+ async deleteDocument(docId) {
17
+ return this.request('DELETE', `/v1/rag/documents/${docId}`);
18
+ }
19
+ }
20
+ //# sourceMappingURL=rag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.js","sourceRoot":"","sources":["../../src/services/rag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA8BxC,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,OAA+B;QACtD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,gBAAgB,CAAkB,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,KAAK,CACT,KAAa,EACb,OAAgD;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAiB,MAAM,EAAE,eAAe,EAAE;YAC3D,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import { BaseService } from './base.js';
2
+ export interface SearchResult {
3
+ results: Array<{
4
+ title: string;
5
+ url: string;
6
+ snippet: string;
7
+ }>;
8
+ }
9
+ export interface ResearchResult {
10
+ answer: string;
11
+ sources?: Array<{
12
+ title: string;
13
+ url: string;
14
+ }>;
15
+ }
16
+ export declare class ResearchService extends BaseService {
17
+ search(query: string, options?: {
18
+ maxResults?: number;
19
+ }): Promise<SearchResult>;
20
+ research(query: string): Promise<ResearchResult>;
21
+ deep(query: string): Promise<ResearchResult>;
22
+ }
23
+ //# sourceMappingURL=research.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/services/research.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,qBAAa,eAAgB,SAAQ,WAAW;IACxC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAM/E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIhD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAGnD"}
@@ -0,0 +1,16 @@
1
+ import { BaseService } from './base.js';
2
+ export class ResearchService extends BaseService {
3
+ async search(query, options) {
4
+ const params = new URLSearchParams({ query });
5
+ if (options?.maxResults != null)
6
+ params.set('max_results', String(options.maxResults));
7
+ return this.request('POST', `/v1/research/search?${params}`);
8
+ }
9
+ async research(query) {
10
+ return this.request('POST', '/v1/research', { body: { query } });
11
+ }
12
+ async deep(query) {
13
+ return this.request('POST', '/v1/research/deep', { body: { query } });
14
+ }
15
+ }
16
+ //# sourceMappingURL=research.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/services/research.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAexC,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAiC;QAC3D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,UAAU,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,uBAAuB,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { BaseService } from './base.js';
2
+ export interface UploadUrlResult {
3
+ uploadUrl: string;
4
+ fileUrl: string;
5
+ }
6
+ export declare class StorageService extends BaseService {
7
+ getUploadUrl(mimeType: string, size?: number): Promise<UploadUrlResult>;
8
+ }
9
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/services/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAe,SAAQ,WAAW;IACvC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAK9E"}
@@ -0,0 +1,9 @@
1
+ import { BaseService } from './base.js';
2
+ export class StorageService extends BaseService {
3
+ async getUploadUrl(mimeType, size) {
4
+ return this.request('POST', '/v1/storage/upload-url', {
5
+ body: { mimeType, size },
6
+ });
7
+ }
8
+ }
9
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/services/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAOxC,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,IAAa;QAChD,OAAO,IAAI,CAAC,OAAO,CAAkB,MAAM,EAAE,wBAAwB,EAAE;YACrE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;CACF"}