@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
package/dist/errors.d.ts CHANGED
@@ -1,15 +1,35 @@
1
1
  export declare class ScalixError extends Error {
2
2
  code?: string;
3
3
  status?: number;
4
+ requestId?: string;
4
5
  constructor(message: string, options?: {
5
6
  code?: string;
6
7
  status?: number;
8
+ requestId?: string;
7
9
  });
8
10
  }
9
11
  export declare class AuthenticationError extends ScalixError {
10
- constructor(message: string);
12
+ constructor(message: string, requestId?: string);
13
+ }
14
+ export declare class BadRequestError extends ScalixError {
15
+ constructor(message: string, requestId?: string);
16
+ }
17
+ export declare class PermissionDeniedError extends ScalixError {
18
+ constructor(message: string, requestId?: string);
19
+ }
20
+ export declare class NotFoundError extends ScalixError {
21
+ constructor(message: string, requestId?: string);
22
+ }
23
+ export declare class ConflictError extends ScalixError {
24
+ constructor(message: string, requestId?: string);
25
+ }
26
+ export declare class UnprocessableEntityError extends ScalixError {
27
+ constructor(message: string, requestId?: string);
11
28
  }
12
29
  export declare class RateLimitError extends ScalixError {
13
- constructor(message: string);
30
+ constructor(message: string, requestId?: string);
31
+ }
32
+ export declare class InternalServerError extends ScalixError {
33
+ constructor(message: string, requestId?: string);
14
34
  }
15
35
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAM1E;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,EAAE,MAAM;CAI5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAO9F;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhD;AAED,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhD;AAED,qBAAa,qBAAsB,SAAQ,WAAW;gBACxC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhD;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhD;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhD;AAED,qBAAa,wBAAyB,SAAQ,WAAW;gBAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhD;AAED,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhD;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhD"}
package/dist/errors.js CHANGED
@@ -1,23 +1,61 @@
1
1
  export class ScalixError extends Error {
2
2
  code;
3
3
  status;
4
+ requestId;
4
5
  constructor(message, options) {
5
6
  super(message);
6
7
  this.name = 'ScalixError';
7
8
  this.code = options?.code;
8
9
  this.status = options?.status;
10
+ this.requestId = options?.requestId;
9
11
  }
10
12
  }
11
13
  export class AuthenticationError extends ScalixError {
12
- constructor(message) {
13
- super(message, { code: 'AUTHENTICATION_ERROR', status: 401 });
14
+ constructor(message, requestId) {
15
+ super(message, { code: 'AUTHENTICATION_ERROR', status: 401, requestId });
14
16
  this.name = 'AuthenticationError';
15
17
  }
16
18
  }
19
+ export class BadRequestError extends ScalixError {
20
+ constructor(message, requestId) {
21
+ super(message, { code: 'BAD_REQUEST', status: 400, requestId });
22
+ this.name = 'BadRequestError';
23
+ }
24
+ }
25
+ export class PermissionDeniedError extends ScalixError {
26
+ constructor(message, requestId) {
27
+ super(message, { code: 'PERMISSION_DENIED', status: 403, requestId });
28
+ this.name = 'PermissionDeniedError';
29
+ }
30
+ }
31
+ export class NotFoundError extends ScalixError {
32
+ constructor(message, requestId) {
33
+ super(message, { code: 'NOT_FOUND', status: 404, requestId });
34
+ this.name = 'NotFoundError';
35
+ }
36
+ }
37
+ export class ConflictError extends ScalixError {
38
+ constructor(message, requestId) {
39
+ super(message, { code: 'CONFLICT', status: 409, requestId });
40
+ this.name = 'ConflictError';
41
+ }
42
+ }
43
+ export class UnprocessableEntityError extends ScalixError {
44
+ constructor(message, requestId) {
45
+ super(message, { code: 'UNPROCESSABLE_ENTITY', status: 422, requestId });
46
+ this.name = 'UnprocessableEntityError';
47
+ }
48
+ }
17
49
  export class RateLimitError extends ScalixError {
18
- constructor(message) {
19
- super(message, { code: 'RATE_LIMIT_ERROR', status: 429 });
50
+ constructor(message, requestId) {
51
+ super(message, { code: 'RATE_LIMIT_ERROR', status: 429, requestId });
20
52
  this.name = 'RateLimitError';
21
53
  }
22
54
  }
55
+ export class InternalServerError extends ScalixError {
56
+ constructor(message, requestId) {
57
+ super(message, { code: 'INTERNAL_SERVER_ERROR', status: 500, requestId });
58
+ this.name = 'InternalServerError';
59
+ }
60
+ }
23
61
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAU;IACd,MAAM,CAAU;IAEhB,YAAY,OAAe,EAAE,OAA4C;QACvE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAU;IACd,MAAM,CAAU;IAChB,SAAS,CAAU;IAEnB,YAAY,OAAe,EAAE,OAAgE;QAC3F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IACpD,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IACvD,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,23 +1,31 @@
1
1
  /**
2
- * Scalix SDK — TypeScript client for the Scalix API.
2
+ * Scalix SDK — unified client for the Scalix platform.
3
+ *
4
+ * Chat completions delegate to the OpenAI SDK (Scalix's API is OpenAI-compatible).
5
+ * Platform services (research, RAG, database, etc.) use a native HTTP client.
3
6
  *
4
7
  * @example
5
8
  * ```typescript
6
- * import { ScalixClient } from '@scalix-world/sdk';
9
+ * import { Scalix } from '@scalix-world/sdk';
10
+ *
11
+ * const scalix = new Scalix('scalix_sk_...');
7
12
  *
8
- * const scalix = new ScalixClient({ apiKey: 'sk_scalix_...' });
9
- * const reply = await scalix.chat.complete({
10
- * model: 'scalix-world-ai',
13
+ * // Chat — full OpenAI-compatible (tools, vision, streaming)
14
+ * const response = await scalix.completions.create({
15
+ * model: 'scalix-lumio-lite',
11
16
  * messages: [{ role: 'user', content: 'Hello!' }],
12
17
  * });
18
+ *
19
+ * // Platform services
20
+ * const results = await scalix.research.search('AI trends');
13
21
  * ```
14
22
  *
15
23
  * @packageDocumentation
16
24
  */
17
- export { ScalixClient } from './client.js';
18
- export { configure, getConfig } from './config.js';
25
+ export { Scalix, ScalixClient } from './client.js';
26
+ export type { ScalixOptions } from './client.js';
19
27
  export type { ScalixConfig } from './config.js';
20
- export { ScalixError, AuthenticationError, } from './errors.js';
21
- export { AccountService, AudioService, ChatService, DatabaseService, DocGenService, ImagesService, RAGService, ResearchService, StorageService, TextService, } from './services/index.js';
22
- export type { ChatMessage, ChatCompletionOptions, ChatCompletionResult, ScalixDatabase, CreateDatabaseOptions, Branch, Backup, DatabaseMetrics, PoolingStatus, EncryptionStatus, HAStatus, QueryResult, TableInfo, ColumnInfo, DocFormat, DocStyle, DocGenOptions, DocGenResult, DocTemplate, DocFormatInfo, ImageGenerateOptions, ImageResult, ImageJobStatus, RAGDocument, RAGQueryResult, RAGUploadResult, SentimentResult, SummaryResult, TranslationResult, UploadUrlResult, TranscriptionResult, SpeechOptions, SearchResult, ResearchResult, } from './services/index.js';
28
+ export { ScalixError, AuthenticationError, BadRequestError, PermissionDeniedError, NotFoundError, ConflictError, UnprocessableEntityError, RateLimitError, InternalServerError, } from './errors.js';
29
+ export { AccountService, AudioService, AuthService, ComputeService, CronService, DatabaseService, DocGenService, DomainsService, EventsService, FunctionsService, ImagesService, KvService, ModelsService, RAGService, ResearchService, StorageService, TextService, } from './services/index.js';
30
+ export type { AuthResponse, AutocompleteResult, ColumnInfo, CreateDeploymentOptions, CreateFunctionOptions, CreateScheduleOptions, Deployment, DocFormat, DocFormatInfo, DocGenOptions, DocGenResult, DocStyle, DocTemplate, Domain, GrammarResult, CreateImageOptions, OpenAIImageResult, Instance, InvocationResult, KvValue, LogEntry, QueryResult, RAGDocument, RAGQueryResult, RAGUploadResult, ResearchResult, ScalixFunction, ScalixModel, Schedule, SchemaInfo, SearchResult, SentimentResult, CreateSpeechOptions, Subscription, SummaryResult, TableData, TableInfo, Topic, TranscriptionResult, TranslationResult, UploadUrlResult, User, UserBudget, UserInfo, UserUsage, VectorSearchResult, VerificationResult, } from './services/index.js';
23
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,WAAW,EACX,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,MAAM,EACN,MAAM,EACN,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,21 +1,28 @@
1
1
  /**
2
- * Scalix SDK — TypeScript client for the Scalix API.
2
+ * Scalix SDK — unified client for the Scalix platform.
3
+ *
4
+ * Chat completions delegate to the OpenAI SDK (Scalix's API is OpenAI-compatible).
5
+ * Platform services (research, RAG, database, etc.) use a native HTTP client.
3
6
  *
4
7
  * @example
5
8
  * ```typescript
6
- * import { ScalixClient } from '@scalix-world/sdk';
9
+ * import { Scalix } from '@scalix-world/sdk';
10
+ *
11
+ * const scalix = new Scalix('scalix_sk_...');
7
12
  *
8
- * const scalix = new ScalixClient({ apiKey: 'sk_scalix_...' });
9
- * const reply = await scalix.chat.complete({
10
- * model: 'scalix-world-ai',
13
+ * // Chat — full OpenAI-compatible (tools, vision, streaming)
14
+ * const response = await scalix.completions.create({
15
+ * model: 'scalix-lumio-lite',
11
16
  * messages: [{ role: 'user', content: 'Hello!' }],
12
17
  * });
18
+ *
19
+ * // Platform services
20
+ * const results = await scalix.research.search('AI trends');
13
21
  * ```
14
22
  *
15
23
  * @packageDocumentation
16
24
  */
17
- export { ScalixClient } from './client.js';
18
- export { configure, getConfig } from './config.js';
19
- export { ScalixError, AuthenticationError, } from './errors.js';
20
- export { AccountService, AudioService, ChatService, DatabaseService, DocGenService, ImagesService, RAGService, ResearchService, StorageService, TextService, } from './services/index.js';
25
+ export { Scalix, ScalixClient } from './client.js';
26
+ export { ScalixError, AuthenticationError, BadRequestError, PermissionDeniedError, NotFoundError, ConflictError, UnprocessableEntityError, RateLimitError, InternalServerError, } from './errors.js';
27
+ export { AccountService, AudioService, AuthService, ComputeService, CronService, DatabaseService, DocGenService, DomainsService, EventsService, FunctionsService, ImagesService, KvService, ModelsService, RAGService, ResearchService, StorageService, TextService, } from './services/index.js';
21
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACL,WAAW,EACX,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
@@ -1,15 +1,27 @@
1
1
  import { BaseService } from './base.js';
2
+ export interface UserInfo {
3
+ id: string;
4
+ email: string;
5
+ name?: string;
6
+ plan: string;
7
+ createdAt?: string;
8
+ }
9
+ export interface UserBudget {
10
+ creditsUsed: number;
11
+ creditsLimit: number;
12
+ creditsRemaining: number;
13
+ resetDate?: string;
14
+ }
15
+ export interface UserUsage {
16
+ month: string;
17
+ totalRequests: number;
18
+ totalTokens: number;
19
+ breakdown: Record<string, unknown>;
20
+ }
2
21
  export declare class AccountService extends BaseService {
3
22
  health(): Promise<Record<string, unknown>>;
4
- listApiKeys(): Promise<Record<string, unknown>>;
5
- createApiKey(options: {
6
- name: string;
7
- expiresAt?: string;
8
- }): Promise<Record<string, unknown>>;
9
- deleteApiKey(keyId: string): Promise<Record<string, unknown>>;
10
- usage(options?: {
11
- startDate?: string;
12
- endDate?: string;
13
- }): Promise<Record<string, unknown>>;
23
+ info(): Promise<UserInfo>;
24
+ budget(): Promise<UserBudget>;
25
+ usage(): Promise<UserUsage>;
14
26
  }
15
27
  //# sourceMappingURL=account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/services/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,qBAAa,cAAe,SAAQ,WAAW;IAEvC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM1C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI/C,YAAY,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM9B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM7D,KAAK,CAAC,OAAO,CAAC,EAAE;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAOrC"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/services/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qBAAa,cAAe,SAAQ,WAAW;IAEvC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI1C,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIzB,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAI7B,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;CAGlC"}
@@ -1,30 +1,16 @@
1
1
  import { BaseService } from './base.js';
2
2
  export class AccountService extends BaseService {
3
3
  async health() {
4
- return this.request('GET', '/health');
4
+ return this.request('GET', '/api/v1/health');
5
5
  }
6
- // ── API Key Management ──
7
- async listApiKeys() {
8
- return this.request('GET', '/api/dashboard/api-keys');
6
+ async info() {
7
+ return this.request('GET', '/v1/user/info');
9
8
  }
10
- async createApiKey(options) {
11
- const body = { name: options.name };
12
- if (options.expiresAt)
13
- body.expires_at = options.expiresAt;
14
- return this.request('POST', '/api/dashboard/api-keys', { body });
9
+ async budget() {
10
+ return this.request('GET', '/v1/user/budget');
15
11
  }
16
- async deleteApiKey(keyId) {
17
- return this.request('DELETE', `/api/dashboard/api-keys/${keyId}`);
18
- }
19
- // ── Usage & Billing ──
20
- async usage(options) {
21
- const params = new URLSearchParams();
22
- if (options?.startDate)
23
- params.set('start_date', options.startDate);
24
- if (options?.endDate)
25
- params.set('end_date', options.endDate);
26
- const qs = params.toString();
27
- return this.request('GET', `/api/billing/usage${qs ? `?${qs}` : ''}`);
12
+ async usage() {
13
+ return this.request('GET', '/v1/user/stats');
28
14
  }
29
15
  }
30
16
  //# sourceMappingURL=account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/services/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,OAAO,cAAe,SAAQ,WAAW;IAE7C,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,2BAA2B;IAE3B,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAGlB;QACC,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,OAAO,CAAC,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,2BAA2B,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,wBAAwB;IAExB,KAAK,CAAC,KAAK,CAAC,OAGX;QACC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,OAAO,EAAE,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9D,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;CACF"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/services/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAwBxC,MAAM,OAAO,cAAe,SAAQ,WAAW;IAE7C,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,OAAO,CAAW,KAAK,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAa,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,OAAO,CAAY,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -4,24 +4,25 @@ export interface TranscriptionResult {
4
4
  language?: string;
5
5
  duration?: number;
6
6
  }
7
- export interface SpeechOptions {
7
+ export interface CreateTranscriptionOptions {
8
+ language?: string;
9
+ model?: string;
10
+ response_format?: string;
11
+ }
12
+ export interface CreateSpeechOptions {
13
+ model?: string;
8
14
  voice?: string;
9
- format?: string;
15
+ response_format?: string;
10
16
  speed?: number;
11
17
  }
12
18
  export declare class AudioService extends BaseService {
13
- transcribe(file: Blob, options?: {
14
- language?: string;
15
- }): Promise<TranscriptionResult>;
16
- speak(text: string, options?: SpeechOptions): Promise<Response>;
17
- voices(): Promise<{
18
- voices: Array<{
19
- id: string;
20
- name: string;
21
- }>;
22
- }>;
23
- languages(): Promise<{
24
- languages: string[];
25
- }>;
19
+ /** Speech-to-text (OpenAI-compatible). */
20
+ transcribe(file: Blob, options?: CreateTranscriptionOptions): Promise<TranscriptionResult>;
21
+ /** @deprecated Use transcribe(). */
22
+ createTranscription(file: Blob, options?: CreateTranscriptionOptions): Promise<TranscriptionResult>;
23
+ /** Text-to-speech (OpenAI-compatible). Returns the raw audio Response. */
24
+ speak(input: string, options?: CreateSpeechOptions): Promise<Response>;
25
+ /** @deprecated Use speak(). */
26
+ createSpeech(input: string, options?: CreateSpeechOptions): Promise<Response>;
26
27
  }
27
28
  //# sourceMappingURL=audio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/services/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,YAAa,SAAQ,WAAW;IACrC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOrF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM/D,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAIlE,SAAS,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAGpD"}
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/services/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,YAAa,SAAQ,WAAW;IAC3C,0CAA0C;IACpC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAShG,oCAAoC;IAC9B,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIzG,0EAA0E;IACpE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAY5E,+BAA+B;IACzB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGpF"}
@@ -1,22 +1,35 @@
1
1
  import { BaseService } from './base.js';
2
2
  export class AudioService extends BaseService {
3
+ /** Speech-to-text (OpenAI-compatible). */
3
4
  async transcribe(file, options) {
4
5
  const formData = new FormData();
5
6
  formData.append('file', file);
7
+ formData.append('model', options?.model ?? 'scalix-transcribe');
6
8
  if (options?.language)
7
9
  formData.append('language', options.language);
8
- return this.requestMultipart('/v1/audio/transcribe', formData);
10
+ if (options?.response_format)
11
+ formData.append('response_format', options.response_format);
12
+ return this.requestMultipart('/v1/ai/audio/transcriptions', formData);
9
13
  }
10
- async speak(text, options) {
11
- return this.requestRaw('POST', '/v1/audio/speak/kokoro', {
12
- body: { text, ...options },
13
- });
14
+ /** @deprecated Use transcribe(). */
15
+ async createTranscription(file, options) {
16
+ return this.transcribe(file, options);
14
17
  }
15
- async voices() {
16
- return this.request('GET', '/v1/audio/kokoro/voices');
18
+ /** Text-to-speech (OpenAI-compatible). Returns the raw audio Response. */
19
+ async speak(input, options) {
20
+ return this.requestRaw('POST', '/v1/ai/audio/speech', {
21
+ body: {
22
+ input,
23
+ model: options?.model ?? 'scalix-tts',
24
+ voice: options?.voice ?? 'alloy',
25
+ response_format: options?.response_format ?? 'wav',
26
+ speed: options?.speed ?? 1.0,
27
+ },
28
+ });
17
29
  }
18
- async languages() {
19
- return this.request('GET', '/v1/audio/kokoro/languages');
30
+ /** @deprecated Use speak(). */
31
+ async createSpeech(input, options) {
32
+ return this.speak(input, options);
20
33
  }
21
34
  }
22
35
  //# sourceMappingURL=audio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audio.js","sourceRoot":"","sources":["../../src/services/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAcxC,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,KAAK,CAAC,UAAU,CAAC,IAAU,EAAE,OAA+B;QAC1D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,EAAE,QAAQ;YAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,gBAAgB,CAAsB,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAuB;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,wBAAwB,EAAE;YACvD,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;IAC3D,CAAC;CACF"}
1
+ {"version":3,"file":"audio.js","sourceRoot":"","sources":["../../src/services/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAqBxC,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,0CAA0C;IAC1C,KAAK,CAAC,UAAU,CAAC,IAAU,EAAE,OAAoC;QAC/D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAChE,IAAI,OAAO,EAAE,QAAQ;YAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,OAAO,EAAE,eAAe;YAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,gBAAgB,CAAsB,6BAA6B,EAAE,QAAQ,CAAC,CAAC;IAC7F,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,mBAAmB,CAAC,IAAU,EAAE,OAAoC;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,OAA6B;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,qBAAqB,EAAE;YACpD,IAAI,EAAE;gBACJ,KAAK;gBACL,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,YAAY;gBACrC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,OAAO;gBAChC,eAAe,EAAE,OAAO,EAAE,eAAe,IAAI,KAAK;gBAClD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG;aAC7B;SACF,CAAC,CAAC;IACL,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,OAA6B;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1,80 @@
1
+ import { BaseService } from './base.js';
2
+ export interface AuthResponse {
3
+ accessToken: string;
4
+ refreshToken: string;
5
+ expiresIn: number;
6
+ user: User;
7
+ }
8
+ export interface User {
9
+ id: string;
10
+ email: string;
11
+ name?: string;
12
+ emailVerified: boolean;
13
+ createdAt: string;
14
+ }
15
+ export interface AuthConfig {
16
+ project_id: string;
17
+ access_token_ttl_secs: number;
18
+ refresh_token_ttl_secs: number;
19
+ password_min_length: number;
20
+ require_email_confirmation: boolean;
21
+ allowed_providers: string[];
22
+ enable_anonymous_auth: boolean;
23
+ enable_mfa: boolean;
24
+ site_url: string;
25
+ redirect_urls: string[];
26
+ smtp_host: string | null;
27
+ smtp_port: number;
28
+ smtp_user: string | null;
29
+ smtp_pass: string | null;
30
+ smtp_from_email: string | null;
31
+ smtp_from_name: string | null;
32
+ google_oauth_client_id: string | null;
33
+ google_oauth_client_secret: string | null;
34
+ github_oauth_client_id: string | null;
35
+ github_oauth_client_secret: string | null;
36
+ }
37
+ export interface UpdateAuthConfigOptions {
38
+ access_token_ttl_secs?: number;
39
+ refresh_token_ttl_secs?: number;
40
+ password_min_length?: number;
41
+ require_email_confirmation?: boolean;
42
+ allowed_providers?: string[];
43
+ enable_anonymous_auth?: boolean;
44
+ enable_mfa?: boolean;
45
+ site_url?: string;
46
+ redirect_urls?: string[];
47
+ smtp_host?: string;
48
+ smtp_port?: number;
49
+ smtp_user?: string;
50
+ smtp_pass?: string;
51
+ smtp_from_email?: string;
52
+ smtp_from_name?: string;
53
+ google_oauth_client_id?: string;
54
+ google_oauth_client_secret?: string;
55
+ github_oauth_client_id?: string;
56
+ github_oauth_client_secret?: string;
57
+ }
58
+ export interface EmailTemplate {
59
+ id: string;
60
+ project_id: string;
61
+ template_type: string;
62
+ subject: string;
63
+ html_body: string;
64
+ created_at: string;
65
+ updated_at: string;
66
+ }
67
+ export declare class AuthService extends BaseService {
68
+ signUp(email: string, password: string, data?: Record<string, unknown>): Promise<AuthResponse>;
69
+ signIn(email: string, password: string): Promise<AuthResponse>;
70
+ signOut(token: string): Promise<void>;
71
+ getUser(token: string): Promise<User>;
72
+ refreshToken(refreshToken: string): Promise<AuthResponse>;
73
+ getConfig(): Promise<AuthConfig>;
74
+ updateConfig(options: UpdateAuthConfigOptions): Promise<AuthConfig>;
75
+ listEmailTemplates(): Promise<EmailTemplate[]>;
76
+ getEmailTemplate(templateType: string): Promise<EmailTemplate>;
77
+ upsertEmailTemplate(templateType: string, subject: string, htmlBody: string): Promise<EmailTemplate>;
78
+ deleteEmailTemplate(templateType: string): Promise<void>;
79
+ }
80
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAY,SAAQ,WAAW;IACpC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAM9F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM9D,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQzD,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAIhC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAQnE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAK9C,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9D,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMpG,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
@@ -0,0 +1,54 @@
1
+ import { BaseService } from './base.js';
2
+ export class AuthService extends BaseService {
3
+ async signUp(email, password, data) {
4
+ return this.request('POST', '/v1/auth/signup', {
5
+ body: { email, password, data },
6
+ });
7
+ }
8
+ async signIn(email, password) {
9
+ return this.request('POST', '/v1/auth/login', {
10
+ body: { email, password },
11
+ });
12
+ }
13
+ async signOut(token) {
14
+ await this.request('POST', '/v1/auth/logout', {
15
+ headers: { Authorization: `Bearer ${token}` },
16
+ });
17
+ }
18
+ async getUser(token) {
19
+ return this.request('GET', '/v1/auth/user', {
20
+ headers: { Authorization: `Bearer ${token}` },
21
+ });
22
+ }
23
+ async refreshToken(refreshToken) {
24
+ return this.request('POST', '/v1/auth/token', {
25
+ body: { grant_type: 'refresh_token', refresh_token: refreshToken },
26
+ });
27
+ }
28
+ // ── Admin: Auth Config ──────────────────────────────────────────
29
+ async getConfig() {
30
+ return this.request('GET', '/v1/auth/admin/config');
31
+ }
32
+ async updateConfig(options) {
33
+ return this.request('PUT', '/v1/auth/admin/config', {
34
+ body: options,
35
+ });
36
+ }
37
+ // ── Admin: Email Templates ──────────────────────────────────────
38
+ async listEmailTemplates() {
39
+ const resp = await this.request('GET', '/v1/auth/admin/email-templates');
40
+ return resp.templates;
41
+ }
42
+ async getEmailTemplate(templateType) {
43
+ return this.request('GET', `/v1/auth/admin/email-templates/${templateType}`);
44
+ }
45
+ async upsertEmailTemplate(templateType, subject, htmlBody) {
46
+ return this.request('PUT', `/v1/auth/admin/email-templates/${templateType}`, {
47
+ body: { subject, html_body: htmlBody },
48
+ });
49
+ }
50
+ async deleteEmailTemplate(templateType) {
51
+ await this.request('DELETE', `/v1/auth/admin/email-templates/${templateType}`);
52
+ }
53
+ }
54
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAwExC,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,EAAE,IAA8B;QAC1E,OAAO,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,iBAAiB,EAAE;YAC3D,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,gBAAgB,EAAE;YAC1D,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,MAAM,IAAI,CAAC,OAAO,CAAO,MAAM,EAAE,iBAAiB,EAAE;YAClD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,OAAO,CAAO,KAAK,EAAE,eAAe,EAAE;YAChD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,gBAAgB,EAAE;YAC1D,IAAI,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IAEnE,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAa,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAgC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAa,KAAK,EAAE,uBAAuB,EAAE;YAC9D,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IAEnE,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAiC,KAAK,EAAE,gCAAgC,CAAC,CAAC;QACzG,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAAoB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAgB,KAAK,EAAE,kCAAkC,YAAY,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,YAAoB,EAAE,OAAe,EAAE,QAAgB;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAgB,KAAK,EAAE,kCAAkC,YAAY,EAAE,EAAE;YAC1F,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,YAAoB;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAO,QAAQ,EAAE,kCAAkC,YAAY,EAAE,CAAC,CAAC;IACvF,CAAC;CACF"}
@@ -1,7 +1,9 @@
1
- import { type ScalixConfig } from '../config.js';
1
+ import type { ScalixConfig } from '../config.js';
2
2
  export declare class BaseService {
3
3
  protected config: ScalixConfig;
4
- constructor(config?: ScalixConfig);
4
+ constructor(config: ScalixConfig);
5
+ private get maxRetries();
6
+ private get timeout();
5
7
  protected request<T>(method: string, path: string, options?: {
6
8
  body?: unknown;
7
9
  headers?: Record<string, string>;
@@ -11,5 +13,10 @@ export declare class BaseService {
11
13
  headers?: Record<string, string>;
12
14
  }): Promise<Response>;
13
15
  protected requestMultipart<T>(path: string, formData: FormData): Promise<T>;
16
+ protected paginate<T>(method: string, path: string, options?: {
17
+ itemsKey?: string;
18
+ pageSize?: number;
19
+ params?: Record<string, string>;
20
+ }): AsyncGenerator<T, void, undefined>;
14
21
  }
15
22
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5D,qBAAa,WAAW;IACtB,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;gBAEnB,MAAM,CAAC,EAAE,YAAY;cAIjB,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;cA6BG,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;cA6BJ,gBAAgB,CAAC,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,CAAC,CAAC;CAsBd"}
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;cA+CI,QAAQ,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAClF,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;CAyBtC"}