@scalix-world/sdk 1.0.0 → 1.2.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 (113) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +81 -159
  3. package/dist/client.d.ts +59 -18
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +86 -23
  6. package/dist/client.js.map +1 -1
  7. package/dist/config.d.ts +3 -4
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +1 -21
  10. package/dist/config.js.map +1 -1
  11. package/dist/errors.d.ts +22 -2
  12. package/dist/errors.d.ts.map +1 -1
  13. package/dist/errors.js +42 -4
  14. package/dist/errors.js.map +1 -1
  15. package/dist/index.d.ts +18 -10
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +16 -9
  18. package/dist/index.js.map +1 -1
  19. package/dist/services/account.d.ts +22 -10
  20. package/dist/services/account.d.ts.map +1 -1
  21. package/dist/services/account.js +7 -21
  22. package/dist/services/account.js.map +1 -1
  23. package/dist/services/audio.d.ts +16 -15
  24. package/dist/services/audio.d.ts.map +1 -1
  25. package/dist/services/audio.js +22 -9
  26. package/dist/services/audio.js.map +1 -1
  27. package/dist/services/auth.d.ts +80 -0
  28. package/dist/services/auth.d.ts.map +1 -0
  29. package/dist/services/auth.js +54 -0
  30. package/dist/services/auth.js.map +1 -0
  31. package/dist/services/base.d.ts +9 -2
  32. package/dist/services/base.d.ts.map +1 -1
  33. package/dist/services/base.js +153 -28
  34. package/dist/services/base.js.map +1 -1
  35. package/dist/services/compute.d.ts +36 -0
  36. package/dist/services/compute.d.ts.map +1 -0
  37. package/dist/services/compute.js +27 -0
  38. package/dist/services/compute.js.map +1 -0
  39. package/dist/services/cron.d.ts +22 -0
  40. package/dist/services/cron.d.ts.map +1 -0
  41. package/dist/services/cron.js +16 -0
  42. package/dist/services/cron.js.map +1 -0
  43. package/dist/services/database.d.ts +21 -232
  44. package/dist/services/database.d.ts.map +1 -1
  45. package/dist/services/database.js +10 -185
  46. package/dist/services/database.js.map +1 -1
  47. package/dist/services/docgen.d.ts +6 -0
  48. package/dist/services/docgen.d.ts.map +1 -1
  49. package/dist/services/docgen.js +11 -0
  50. package/dist/services/docgen.js.map +1 -1
  51. package/dist/services/domains.d.ts +23 -0
  52. package/dist/services/domains.d.ts.map +1 -0
  53. package/dist/services/domains.js +16 -0
  54. package/dist/services/domains.js.map +1 -0
  55. package/dist/services/embeddings.d.ts +24 -0
  56. package/dist/services/embeddings.d.ts.map +1 -0
  57. package/dist/services/embeddings.js +14 -0
  58. package/dist/services/embeddings.js.map +1 -0
  59. package/dist/services/events.d.ts +18 -0
  60. package/dist/services/events.d.ts.map +1 -0
  61. package/dist/services/events.js +18 -0
  62. package/dist/services/events.js.map +1 -0
  63. package/dist/services/functions.d.ts +36 -0
  64. package/dist/services/functions.d.ts.map +1 -0
  65. package/dist/services/functions.js +21 -0
  66. package/dist/services/functions.js.map +1 -0
  67. package/dist/services/images.d.ts +12 -22
  68. package/dist/services/images.d.ts.map +1 -1
  69. package/dist/services/images.js +14 -15
  70. package/dist/services/images.js.map +1 -1
  71. package/dist/services/index.d.ts +27 -6
  72. package/dist/services/index.d.ts.map +1 -1
  73. package/dist/services/index.js +11 -1
  74. package/dist/services/index.js.map +1 -1
  75. package/dist/services/kv.d.ts +14 -0
  76. package/dist/services/kv.d.ts.map +1 -0
  77. package/dist/services/kv.js +20 -0
  78. package/dist/services/kv.js.map +1 -0
  79. package/dist/services/models.d.ts +16 -0
  80. package/dist/services/models.d.ts.map +1 -0
  81. package/dist/services/models.js +12 -0
  82. package/dist/services/models.js.map +1 -0
  83. package/dist/services/rag.d.ts +1 -0
  84. package/dist/services/rag.d.ts.map +1 -1
  85. package/dist/services/rag.js +6 -0
  86. package/dist/services/rag.js.map +1 -1
  87. package/dist/services/realtime.d.ts +75 -0
  88. package/dist/services/realtime.d.ts.map +1 -0
  89. package/dist/services/realtime.js +297 -0
  90. package/dist/services/realtime.js.map +1 -0
  91. package/dist/services/research.js +4 -3
  92. package/dist/services/research.js.map +1 -1
  93. package/dist/services/run.d.ts +54 -0
  94. package/dist/services/run.d.ts.map +1 -0
  95. package/dist/services/run.js +44 -0
  96. package/dist/services/run.js.map +1 -0
  97. package/dist/services/search.d.ts +32 -0
  98. package/dist/services/search.d.ts.map +1 -0
  99. package/dist/services/search.js +25 -0
  100. package/dist/services/search.js.map +1 -0
  101. package/dist/services/shield.d.ts +48 -0
  102. package/dist/services/shield.d.ts.map +1 -0
  103. package/dist/services/shield.js +59 -0
  104. package/dist/services/shield.js.map +1 -0
  105. package/dist/services/text.d.ts +31 -0
  106. package/dist/services/text.d.ts.map +1 -1
  107. package/dist/services/text.js +15 -0
  108. package/dist/services/text.js.map +1 -1
  109. package/package.json +16 -6
  110. package/dist/services/chat.d.ts +0 -38
  111. package/dist/services/chat.d.ts.map +0 -1
  112. package/dist/services/chat.js +0 -53
  113. package/dist/services/chat.js.map +0 -1
@@ -0,0 +1,54 @@
1
+ import { BaseService } from './base.js';
2
+ export interface RunService_ {
3
+ id: string;
4
+ name: string;
5
+ image_ref: string;
6
+ port: number;
7
+ min_instances: number;
8
+ max_instances: number;
9
+ status: string;
10
+ created_at: string;
11
+ updated_at: string;
12
+ }
13
+ export interface DeployServiceOptions {
14
+ name: string;
15
+ image: string;
16
+ port?: number;
17
+ min_instances?: number;
18
+ max_instances?: number;
19
+ env?: Record<string, string>;
20
+ }
21
+ export interface ScaleOptions {
22
+ min_instances?: number;
23
+ max_instances?: number;
24
+ }
25
+ export interface Revision {
26
+ id: string;
27
+ revision_number: number;
28
+ image_ref: string;
29
+ created_at: string;
30
+ status: string;
31
+ }
32
+ export interface ServiceInstance {
33
+ id: string;
34
+ status: string;
35
+ created_at: string;
36
+ }
37
+ export declare class RunService extends BaseService {
38
+ list(): Promise<{
39
+ services: RunService_[];
40
+ }>;
41
+ get(id: string): Promise<RunService_>;
42
+ deploy(options: DeployServiceOptions): Promise<RunService_>;
43
+ scale(id: string, options: ScaleOptions): Promise<RunService_>;
44
+ delete(id: string): Promise<void>;
45
+ rollback(id: string, revision?: number): Promise<RunService_>;
46
+ revisions(id: string): Promise<{
47
+ revisions: Revision[];
48
+ }>;
49
+ instances(id: string): Promise<{
50
+ instances: ServiceInstance[];
51
+ }>;
52
+ metrics(id: string): Promise<Record<string, unknown>>;
53
+ }
54
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/services/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAW,SAAQ,WAAW;IACnC,IAAI,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAI5C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrC,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAa3D,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAM9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM7D,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IAIzD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAIhE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAG5D"}
@@ -0,0 +1,44 @@
1
+ import { BaseService } from './base.js';
2
+ export class RunService extends BaseService {
3
+ async list() {
4
+ return this.request('GET', '/v1/run/services');
5
+ }
6
+ async get(id) {
7
+ return this.request('GET', `/v1/run/services/${encodeURIComponent(id)}`);
8
+ }
9
+ async deploy(options) {
10
+ return this.request('POST', '/v1/run/services', {
11
+ body: {
12
+ name: options.name,
13
+ image_ref: options.image,
14
+ port: options.port ?? 8080,
15
+ min_instances: options.min_instances ?? 0,
16
+ max_instances: options.max_instances ?? 10,
17
+ ...(options.env ? { env: options.env } : {}),
18
+ },
19
+ });
20
+ }
21
+ async scale(id, options) {
22
+ return this.request('PUT', `/v1/run/services/${encodeURIComponent(id)}`, {
23
+ body: options,
24
+ });
25
+ }
26
+ async delete(id) {
27
+ await this.requestRaw('DELETE', `/v1/run/services/${encodeURIComponent(id)}`);
28
+ }
29
+ async rollback(id, revision) {
30
+ return this.request('POST', `/v1/run/services/${encodeURIComponent(id)}/rollback`, {
31
+ body: { revision },
32
+ });
33
+ }
34
+ async revisions(id) {
35
+ return this.request('GET', `/v1/run/services/${encodeURIComponent(id)}/revisions`);
36
+ }
37
+ async instances(id) {
38
+ return this.request('GET', `/v1/run/services/${encodeURIComponent(id)}/instances`);
39
+ }
40
+ async metrics(id) {
41
+ return this.request('GET', `/v1/run/services/${encodeURIComponent(id)}/metrics`);
42
+ }
43
+ }
44
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/services/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA0CxC,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA6B;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAC9C,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,KAAK;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC1B,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;gBACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;gBAC1C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,OAAqB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE;YACvE,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,QAAiB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE;YACjF,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACnF,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import { BaseService } from './base.js';
2
+ export interface SearchResult {
3
+ title?: string;
4
+ url?: string;
5
+ snippet?: string;
6
+ source?: string;
7
+ [key: string]: unknown;
8
+ }
9
+ export interface SearchResponse {
10
+ query?: string;
11
+ results?: SearchResult[];
12
+ [key: string]: unknown;
13
+ }
14
+ export interface SearchSource {
15
+ id?: string;
16
+ url: string;
17
+ [key: string]: unknown;
18
+ }
19
+ /** Scalix Search — original-source curated search index. */
20
+ export declare class SearchService extends BaseService {
21
+ /** Run a query against the curated index. */
22
+ search(query: string): Promise<SearchResponse>;
23
+ /** List the registered source feeds. */
24
+ listSources(): Promise<SearchSource[]>;
25
+ /** Add or update a source feed in the index. */
26
+ upsertSource(source: SearchSource): Promise<SearchSource>;
27
+ /** Index statistics (documents, sources, last crawl). */
28
+ stats(): Promise<Record<string, unknown>>;
29
+ /** Trigger an ingest/crawl run. */
30
+ runIngest(): Promise<Record<string, unknown>>;
31
+ }
32
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/services/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,4DAA4D;AAC5D,qBAAa,aAAc,SAAQ,WAAW;IAC5C,6CAA6C;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpD,wCAAwC;IAClC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI5C,gDAAgD;IAC1C,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAI/D,yDAAyD;IACnD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI/C,mCAAmC;IAC7B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAGpD"}
@@ -0,0 +1,25 @@
1
+ import { BaseService } from './base.js';
2
+ /** Scalix Search — original-source curated search index. */
3
+ export class SearchService extends BaseService {
4
+ /** Run a query against the curated index. */
5
+ async search(query) {
6
+ return this.request('GET', `/v1/search?q=${encodeURIComponent(query)}`);
7
+ }
8
+ /** List the registered source feeds. */
9
+ async listSources() {
10
+ return this.request('GET', '/v1/search/sources');
11
+ }
12
+ /** Add or update a source feed in the index. */
13
+ async upsertSource(source) {
14
+ return this.request('POST', '/v1/search/sources', { body: source });
15
+ }
16
+ /** Index statistics (documents, sources, last crawl). */
17
+ async stats() {
18
+ return this.request('GET', '/v1/search/stats');
19
+ }
20
+ /** Trigger an ingest/crawl run. */
21
+ async runIngest() {
22
+ return this.request('POST', '/v1/search/ingest/run', { body: {} });
23
+ }
24
+ }
25
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/services/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAsBxC,4DAA4D;AAC5D,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,6CAA6C;IAC7C,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,OAAO,CAAiB,KAAK,EAAE,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAiB,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACnE,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,YAAY,CAAC,MAAoB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,OAAO,CAA0B,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAA0B,MAAM,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;CACF"}
@@ -0,0 +1,48 @@
1
+ import { BaseService } from './base.js';
2
+ export interface ShieldConfig {
3
+ enabled: boolean;
4
+ inject_noai_headers?: boolean;
5
+ tdm_reservation?: boolean;
6
+ block_impersonators?: boolean;
7
+ category_defaults?: Record<string, unknown>;
8
+ [key: string]: unknown;
9
+ }
10
+ export interface CrawlerPolicy {
11
+ action: string;
12
+ rate_limit_per_min?: number;
13
+ }
14
+ export interface CustomRule {
15
+ id: string;
16
+ name: string;
17
+ ua_pattern: string;
18
+ policy: CrawlerPolicy;
19
+ created_at: string;
20
+ }
21
+ /** Scalix Shield — AI-crawler control and bot policies. */
22
+ export declare class ShieldService extends BaseService {
23
+ /** Current shield configuration for the scope. */
24
+ getConfig(): Promise<ShieldConfig>;
25
+ /** Replace the shield configuration. */
26
+ updateConfig(config: ShieldConfig): Promise<ShieldConfig>;
27
+ /** List known crawlers and their effective policies. */
28
+ listCrawlers(): Promise<Record<string, unknown>>;
29
+ /** Set the policy for a known crawler. */
30
+ setCrawlerPolicy(id: string, policy: CrawlerPolicy): Promise<Record<string, unknown>>;
31
+ /** Clear a crawler's policy (revert to defaults). */
32
+ clearCrawlerPolicy(id: string): Promise<Record<string, unknown>>;
33
+ /** Override the IP ranges used to verify a crawler. */
34
+ setCrawlerIpRanges(id: string, ranges: string[]): Promise<Record<string, unknown>>;
35
+ /** Create a custom user-agent rule. */
36
+ createCustomRule(rule: Record<string, unknown>): Promise<CustomRule>;
37
+ /** Update a custom rule's policy. */
38
+ updateCustomRule(id: string, policy: CrawlerPolicy): Promise<Record<string, unknown>>;
39
+ /** Delete a custom rule. */
40
+ deleteCustomRule(id: string): Promise<Record<string, unknown>>;
41
+ /** List recent shield events (blocked/flagged requests). */
42
+ listEvents(page?: number, limit?: number): Promise<Record<string, unknown>>;
43
+ /** Shield statistics (requests seen, blocked, by category). */
44
+ stats(): Promise<Record<string, unknown>>;
45
+ /** The generated robots.txt for the scope. */
46
+ robotsTxt(): Promise<Record<string, unknown>>;
47
+ }
48
+ //# sourceMappingURL=shield.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shield.d.ts","sourceRoot":"","sources":["../../src/services/shield.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,2DAA2D;AAC3D,qBAAa,aAAc,SAAQ,WAAW;IAC5C,kDAAkD;IAC5C,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAIxC,wCAAwC;IAClC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAI/D,wDAAwD;IAClD,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAItD,0CAA0C;IACpC,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ3F,qDAAqD;IAC/C,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOtE,uDAAuD;IACjD,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQxF,uCAAuC;IACjC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAI1E,qCAAqC;IAC/B,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ3F,4BAA4B;IACtB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOpE,4DAA4D;IACtD,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQjF,+DAA+D;IACzD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI/C,8CAA8C;IACxC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAGpD"}
@@ -0,0 +1,59 @@
1
+ import { BaseService } from './base.js';
2
+ /** Scalix Shield — AI-crawler control and bot policies. */
3
+ export class ShieldService extends BaseService {
4
+ /** Current shield configuration for the scope. */
5
+ async getConfig() {
6
+ return this.request('GET', '/v1/shield/config');
7
+ }
8
+ /** Replace the shield configuration. */
9
+ async updateConfig(config) {
10
+ return this.request('PUT', '/v1/shield/config', { body: config });
11
+ }
12
+ /** List known crawlers and their effective policies. */
13
+ async listCrawlers() {
14
+ return this.request('GET', '/v1/shield/crawlers');
15
+ }
16
+ /** Set the policy for a known crawler. */
17
+ async setCrawlerPolicy(id, policy) {
18
+ return this.request('PUT', `/v1/shield/crawlers/${encodeURIComponent(id)}/policy`, { body: policy });
19
+ }
20
+ /** Clear a crawler's policy (revert to defaults). */
21
+ async clearCrawlerPolicy(id) {
22
+ return this.request('DELETE', `/v1/shield/crawlers/${encodeURIComponent(id)}/policy`);
23
+ }
24
+ /** Override the IP ranges used to verify a crawler. */
25
+ async setCrawlerIpRanges(id, ranges) {
26
+ return this.request('PUT', `/v1/shield/crawlers/${encodeURIComponent(id)}/ip-ranges`, { body: { ranges } });
27
+ }
28
+ /** Create a custom user-agent rule. */
29
+ async createCustomRule(rule) {
30
+ return this.request('POST', '/v1/shield/custom', { body: rule });
31
+ }
32
+ /** Update a custom rule's policy. */
33
+ async updateCustomRule(id, policy) {
34
+ return this.request('PUT', `/v1/shield/custom/${encodeURIComponent(id)}`, { body: policy });
35
+ }
36
+ /** Delete a custom rule. */
37
+ async deleteCustomRule(id) {
38
+ return this.request('DELETE', `/v1/shield/custom/${encodeURIComponent(id)}`);
39
+ }
40
+ /** List recent shield events (blocked/flagged requests). */
41
+ async listEvents(page, limit) {
42
+ const qs = new URLSearchParams();
43
+ if (page !== undefined)
44
+ qs.set('page', String(page));
45
+ if (limit !== undefined)
46
+ qs.set('limit', String(limit));
47
+ const suffix = qs.toString() ? `?${qs.toString()}` : '';
48
+ return this.request('GET', `/v1/shield/events${suffix}`);
49
+ }
50
+ /** Shield statistics (requests seen, blocked, by category). */
51
+ async stats() {
52
+ return this.request('GET', '/v1/shield/stats');
53
+ }
54
+ /** The generated robots.txt for the scope. */
55
+ async robotsTxt() {
56
+ return this.request('GET', '/v1/shield/robots-txt');
57
+ }
58
+ }
59
+ //# sourceMappingURL=shield.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shield.js","sourceRoot":"","sources":["../../src/services/shield.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,29 @@ export interface TranslationResult {
17
17
  target_language: string;
18
18
  confidence: number;
19
19
  }
20
+ export interface GrammarResult {
21
+ corrected_text: string;
22
+ corrections: Array<{
23
+ original: string;
24
+ corrected: string;
25
+ rule?: string;
26
+ }>;
27
+ }
28
+ export interface AutocompleteResult {
29
+ completions: string[];
30
+ }
31
+ export interface VectorSearchContext {
32
+ text: string;
33
+ [key: string]: unknown;
34
+ }
35
+ export interface VectorSearchResult {
36
+ results: Array<{
37
+ content: string;
38
+ score: number;
39
+ metadata?: Record<string, unknown>;
40
+ }>;
41
+ total: number;
42
+ }
20
43
  export declare class TextService extends BaseService {
21
44
  sentiment(text: string): Promise<SentimentResult>;
22
45
  summarize(text: string, options?: {
@@ -26,5 +49,13 @@ export declare class TextService extends BaseService {
26
49
  translate(text: string, targetLanguage: string, options?: {
27
50
  sourceLanguage?: string;
28
51
  }): Promise<TranslationResult>;
52
+ grammar(text: string): Promise<GrammarResult>;
53
+ autocomplete(text: string, options?: {
54
+ maxCompletions?: number;
55
+ }): Promise<AutocompleteResult>;
56
+ vectorSearch(query: string, context: VectorSearchContext[], options?: {
57
+ topK?: number;
58
+ threshold?: number;
59
+ }): Promise<VectorSearchResult>;
29
60
  }
30
61
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/services/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAY,SAAQ,WAAW;IACpC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAMjD,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;KAAE,GACjF,OAAO,CAAC,aAAa,CAAC;IAMnB,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,iBAAiB,CAAC;CAS9B"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/services/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACvF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,WAAY,SAAQ,WAAW;IACpC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAMjD,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;KAAE,GACjF,OAAO,CAAC,aAAa,CAAC;IAMnB,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,iBAAiB,CAAC;IAUvB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAM7C,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,kBAAkB,CAAC;IAMxB,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,OAAO,CAAC,kBAAkB,CAAC;CAK/B"}
@@ -19,5 +19,20 @@ export class TextService extends BaseService {
19
19
  },
20
20
  });
21
21
  }
22
+ async grammar(text) {
23
+ return this.request('POST', '/v1/text/grammar', {
24
+ body: { text },
25
+ });
26
+ }
27
+ async autocomplete(text, options) {
28
+ return this.request('POST', '/v1/text/autocomplete', {
29
+ body: { text, ...options },
30
+ });
31
+ }
32
+ async vectorSearch(query, context, options) {
33
+ return this.request('POST', '/v1/text/vector-search', {
34
+ body: { query, context, ...options },
35
+ });
36
+ }
22
37
  }
23
38
  //# sourceMappingURL=text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/services/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAuBxC,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAkB,MAAM,EAAE,oBAAoB,EAAE;YACjE,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,OAAkF;QAElF,OAAO,IAAI,CAAC,OAAO,CAAgB,MAAM,EAAE,oBAAoB,EAAE;YAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,cAAsB,EACtB,OAAqC;QAErC,OAAO,IAAI,CAAC,OAAO,CAAoB,MAAM,EAAE,oBAAoB,EAAE;YACnE,IAAI,EAAE;gBACJ,IAAI;gBACJ,eAAe,EAAE,cAAc;gBAC/B,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/services/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA0CxC,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAkB,MAAM,EAAE,oBAAoB,EAAE;YACjE,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,OAAkF;QAElF,OAAO,IAAI,CAAC,OAAO,CAAgB,MAAM,EAAE,oBAAoB,EAAE;YAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,cAAsB,EACtB,OAAqC;QAErC,OAAO,IAAI,CAAC,OAAO,CAAoB,MAAM,EAAE,oBAAoB,EAAE;YACnE,IAAI,EAAE;gBACJ,IAAI;gBACJ,eAAe,EAAE,cAAc;gBAC/B,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,OAAO,CAAgB,MAAM,EAAE,kBAAkB,EAAE;YAC7D,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,OAAqC;QAErC,OAAO,IAAI,CAAC,OAAO,CAAqB,MAAM,EAAE,uBAAuB,EAAE;YACvE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAa,EACb,OAA8B,EAC9B,OAA+C;QAE/C,OAAO,IAAI,CAAC,OAAO,CAAqB,MAAM,EAAE,wBAAwB,EAAE;YACxE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;CACF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@scalix-world/sdk",
3
- "version": "1.0.0",
4
- "description": "Scalix SDK — TypeScript client for chat, research, audio, images, text, RAG, docgen, database, storage, and account APIs.",
3
+ "version": "1.2.0",
4
+ "description": "The official client for Scalix Cloud — one token for AI inference, database, functions, storage, KV, auth, and every platform service. OpenAI-compatible chat completions.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -16,12 +16,16 @@
16
16
  "README.md",
17
17
  "LICENSE"
18
18
  ],
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
19
22
  "scripts": {
20
23
  "build": "tsc",
21
24
  "dev": "tsc --watch",
22
25
  "lint": "eslint src/",
23
26
  "test": "vitest --passWithNoTests",
24
27
  "clean": "rm -rf dist",
28
+ "generate:ts": "openapi-ts && tsc --noEmit -p tsconfig.generated.json",
25
29
  "prepublishOnly": "npm run build"
26
30
  },
27
31
  "keywords": [
@@ -39,18 +43,24 @@
39
43
  "homepage": "https://scalix.world",
40
44
  "repository": {
41
45
  "type": "git",
42
- "url": "https://github.com/scalixworld/scalix-sdk"
46
+ "url": "https://github.com/scalixworld/scalix-cloud",
47
+ "directory": "sdk/typescript"
43
48
  },
44
49
  "bugs": {
45
- "url": "https://github.com/scalixworld/scalix-sdk/issues"
50
+ "url": "https://github.com/scalixworld/scalix-cloud/issues"
46
51
  },
47
52
  "engines": {
48
53
  "node": ">=18.0.0"
49
54
  },
55
+ "peerDependencies": {
56
+ "openai": ">=4.50.0"
57
+ },
50
58
  "devDependencies": {
59
+ "@hey-api/openapi-ts": "^0.97.3",
51
60
  "@types/node": "^22.0.0",
61
+ "eslint": "^9.0.0",
62
+ "openai": "^4.91.0",
52
63
  "typescript": "^5.7.0",
53
- "vitest": "^3.0.0",
54
- "eslint": "^9.0.0"
64
+ "vitest": "^3.0.0"
55
65
  }
56
66
  }
@@ -1,38 +0,0 @@
1
- import { BaseService } from './base.js';
2
- export interface ChatMessage {
3
- role: 'user' | 'assistant' | 'system';
4
- content: string;
5
- }
6
- export interface ChatCompletionOptions {
7
- model: string;
8
- messages: ChatMessage[];
9
- stream?: boolean;
10
- temperature?: number;
11
- max_tokens?: number;
12
- top_p?: number;
13
- }
14
- export interface ChatCompletionResult {
15
- id: string;
16
- object: string;
17
- created: number;
18
- model: string;
19
- choices: Array<{
20
- index: number;
21
- message: ChatMessage;
22
- finish_reason: string;
23
- }>;
24
- usage: {
25
- prompt_tokens: number;
26
- completion_tokens: number;
27
- total_tokens: number;
28
- };
29
- }
30
- export declare class ChatService extends BaseService {
31
- complete(options: ChatCompletionOptions): Promise<ChatCompletionResult>;
32
- stream(options: Omit<ChatCompletionOptions, 'stream'>): AsyncGenerator<string>;
33
- models(): Promise<Array<{
34
- id: string;
35
- name: string;
36
- }>>;
37
- }
38
- //# sourceMappingURL=chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/services/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,WAAW,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,WAAY,SAAQ,WAAW;IACpC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAMtE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;IAyC/E,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAI7D"}
@@ -1,53 +0,0 @@
1
- import { BaseService } from './base.js';
2
- export class ChatService extends BaseService {
3
- async complete(options) {
4
- return this.request('POST', '/v1/chat/completions', {
5
- body: { ...options, stream: false },
6
- });
7
- }
8
- async *stream(options) {
9
- const resp = await this.requestRaw('POST', '/v1/chat/completions', {
10
- body: { ...options, stream: true },
11
- });
12
- const reader = resp.body?.getReader();
13
- if (!reader)
14
- return;
15
- const decoder = new TextDecoder();
16
- let buffer = '';
17
- try {
18
- while (true) {
19
- const { done, value } = await reader.read();
20
- if (done)
21
- break;
22
- buffer += decoder.decode(value, { stream: true });
23
- const lines = buffer.split('\n');
24
- buffer = lines.pop() ?? '';
25
- for (const line of lines) {
26
- const trimmed = line.trim();
27
- if (!trimmed || !trimmed.startsWith('data: '))
28
- continue;
29
- const payload = trimmed.slice(6);
30
- if (payload === '[DONE]')
31
- return;
32
- try {
33
- const parsed = JSON.parse(payload);
34
- const content = parsed.choices?.[0]?.delta?.content;
35
- if (content)
36
- yield content;
37
- }
38
- catch {
39
- // skip malformed chunks
40
- }
41
- }
42
- }
43
- }
44
- finally {
45
- reader.releaseLock();
46
- }
47
- }
48
- async models() {
49
- const resp = await this.request('GET', '/v1/models');
50
- return resp.data;
51
- }
52
- }
53
- //# sourceMappingURL=chat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/services/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAiCxC,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,KAAK,CAAC,QAAQ,CAAC,OAA8B;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAuB,MAAM,EAAE,sBAAsB,EAAE;YACxE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,OAA8C;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,sBAAsB,EAAE;YACjE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;SACnC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBACxD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,OAAO,KAAK,QAAQ;wBAAE,OAAO;oBACjC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAEhC,CAAC;wBACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;wBACpD,IAAI,OAAO;4BAAE,MAAM,OAAO,CAAC;oBAC7B,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAgD,KAAK,EAAE,YAAY,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}