@kmlckj/licos-platform-sdk 0.6.5 → 0.6.8

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.
@@ -0,0 +1,531 @@
1
+ export class PlatformSdkError extends Error {
2
+ status?: number;
3
+ code?: number;
4
+ details?: unknown;
5
+ }
6
+
7
+ export class ConfigurationError extends PlatformSdkError {}
8
+ export class ApiError extends PlatformSdkError {}
9
+
10
+ export const DataSourceType: {
11
+ TEXT: 0;
12
+ URL: 1;
13
+ URI: 2;
14
+ };
15
+
16
+ export type KnowledgeDataSourceType = 0 | 1 | 2 | 'text' | 'url' | 'uri' | 'raw' | 'content' | 'web' | 'file' | 'source_file_id';
17
+
18
+ export interface KnowledgeChunkConfig {
19
+ separator?: string;
20
+ maxTokens?: number;
21
+ max_tokens?: number;
22
+ removeExtraSpaces?: boolean;
23
+ remove_extra_spaces?: boolean;
24
+ removeUrlsEmails?: boolean;
25
+ remove_urls_emails?: boolean;
26
+ }
27
+
28
+ export class ChunkConfig {
29
+ separator: string;
30
+ max_tokens: number;
31
+ remove_extra_spaces: boolean;
32
+ remove_urls_emails: boolean;
33
+ constructor(options?: KnowledgeChunkConfig);
34
+ }
35
+
36
+ export interface KnowledgeDocumentOptions {
37
+ source?: KnowledgeDataSourceType;
38
+ source_type?: KnowledgeDataSourceType;
39
+ raw_data?: string;
40
+ content?: string;
41
+ text?: string;
42
+ url?: string;
43
+ web_url?: string;
44
+ uri?: string;
45
+ source_file_id?: string;
46
+ name?: string;
47
+ file_type?: string;
48
+ update_rule?: Record<string, unknown>;
49
+ }
50
+
51
+ export class KnowledgeDocument {
52
+ constructor(options?: KnowledgeDocumentOptions);
53
+ }
54
+
55
+ export interface KnowledgeDataset {
56
+ name?: string;
57
+ description?: string;
58
+ status?: number;
59
+ dataset_id?: string;
60
+ space_id?: string;
61
+ doc_count?: number;
62
+ slice_count?: number;
63
+ search_method?: string;
64
+ supported_search_methods?: string[];
65
+ [key: string]: unknown;
66
+ }
67
+
68
+ export interface ListDatasetsOptions {
69
+ name?: string;
70
+ spaceId?: string;
71
+ space_id?: string;
72
+ formatType?: number;
73
+ format_type?: number;
74
+ pageSize?: number;
75
+ page_size?: number;
76
+ pageNum?: number;
77
+ page_num?: number;
78
+ }
79
+
80
+ export interface CreateDatasetOptions {
81
+ description?: string;
82
+ spaceId?: string;
83
+ space_id?: string;
84
+ config?: Record<string, unknown>;
85
+ formatType?: number;
86
+ format_type?: number;
87
+ sourceType?: string;
88
+ source_type?: string;
89
+ engineType?: string;
90
+ engine_type?: string;
91
+ accessScope?: string;
92
+ access_scope?: string;
93
+ multimodalEnabled?: boolean;
94
+ multimodal_enabled?: boolean;
95
+ graphEnabled?: boolean;
96
+ graph_enabled?: boolean;
97
+ embeddingModel?: string;
98
+ embedding_model?: string;
99
+ embeddingDim?: number;
100
+ embedding_dim?: number;
101
+ chunkingStrategy?: Record<string, unknown>;
102
+ chunking_strategy?: Record<string, unknown>;
103
+ processingProfile?: Record<string, unknown>;
104
+ processing_profile?: Record<string, unknown>;
105
+ }
106
+
107
+ export interface AddDocumentsOptions {
108
+ datasetId?: string;
109
+ dataset_id?: string;
110
+ datasetName?: string;
111
+ dataset_name?: string;
112
+ chunkConfig?: KnowledgeChunkConfig | ChunkConfig | Record<string, unknown>;
113
+ chunk_config?: KnowledgeChunkConfig | ChunkConfig | Record<string, unknown>;
114
+ formatType?: number;
115
+ format_type?: number;
116
+ batchId?: string;
117
+ batch_id?: string;
118
+ batchName?: string;
119
+ batch_name?: string;
120
+ processingProfile?: Record<string, unknown>;
121
+ processing_profile?: Record<string, unknown>;
122
+ chunkingStrategy?: Record<string, unknown>;
123
+ chunking_strategy?: Record<string, unknown>;
124
+ name?: string;
125
+ }
126
+
127
+ export interface SearchKnowledgeOptions {
128
+ datasetId?: string;
129
+ dataset_id?: string;
130
+ datasetIds?: string[];
131
+ dataset_ids?: string[];
132
+ datasetName?: string;
133
+ dataset_name?: string;
134
+ datasetNames?: string[];
135
+ dataset_names?: string[];
136
+ topK?: number;
137
+ top_k?: number;
138
+ minScore?: number;
139
+ min_score?: number;
140
+ candidateTopK?: number;
141
+ candidate_top_k?: number;
142
+ searchMethod?: string;
143
+ search_method?: string;
144
+ enableRerank?: boolean;
145
+ enable_rerank?: boolean;
146
+ needCitation?: boolean;
147
+ need_citation?: boolean;
148
+ needTrace?: boolean;
149
+ need_trace?: boolean;
150
+ }
151
+
152
+ export interface KnowledgeDocumentInfo {
153
+ id?: string;
154
+ sourceId?: string;
155
+ name?: string;
156
+ contentType?: string;
157
+ fileSize?: number;
158
+ status?: string;
159
+ errorMessage?: string;
160
+ chunkCount?: number;
161
+ createdAt?: string;
162
+ [key: string]: unknown;
163
+ }
164
+
165
+ export interface KnowledgeSearchResult {
166
+ segment_infos?: Array<{
167
+ content?: string;
168
+ score?: number;
169
+ metadata?: Record<string, unknown>;
170
+ segment_id?: string;
171
+ dataset_id?: string;
172
+ document_id?: string;
173
+ document_name?: string;
174
+ [key: string]: unknown;
175
+ }>;
176
+ citations?: unknown[];
177
+ request_id?: string;
178
+ dataset_ids?: string[];
179
+ route_trace?: Record<string, unknown>;
180
+ [key: string]: unknown;
181
+ }
182
+
183
+ export function runtime(): Promise<Record<string, unknown>>;
184
+ export function modelCatalog(): Promise<Record<string, unknown>>;
185
+ export function listDatasets(options?: ListDatasetsOptions): Promise<{ total_count?: number; dataset_list?: KnowledgeDataset[]; [key: string]: unknown }>;
186
+ export function getDataset(datasetId: string): Promise<KnowledgeDataset>;
187
+ export function createDataset(name: string, options?: CreateDatasetOptions): Promise<KnowledgeDataset>;
188
+ export function deleteDataset(datasetId: string): Promise<void>;
189
+ export function findDatasetByName(name: string): Promise<KnowledgeDataset | null>;
190
+ export function ensureDataset(name: string, options?: CreateDatasetOptions): Promise<KnowledgeDataset>;
191
+ export function addDocuments(documents: KnowledgeDocumentOptions[], options?: AddDocumentsOptions): Promise<{ document_infos?: KnowledgeDocumentInfo[]; [key: string]: unknown }>;
192
+ export function addText(content: string, options?: AddDocumentsOptions): Promise<{ document_infos?: KnowledgeDocumentInfo[]; [key: string]: unknown }>;
193
+ export function addUrl(url: string, options?: AddDocumentsOptions): Promise<{ document_infos?: KnowledgeDocumentInfo[]; [key: string]: unknown }>;
194
+ export function listDocuments(datasetId: string, options?: { page?: number; size?: number }): Promise<{ total?: number; document_infos?: KnowledgeDocumentInfo[]; [key: string]: unknown }>;
195
+ export function deleteDocuments(datasetId: string, documentIds: string[]): Promise<void>;
196
+ export function search(query: string, options?: SearchKnowledgeOptions): Promise<KnowledgeSearchResult>;
197
+
198
+ export const knowledge: {
199
+ DataSourceType: typeof DataSourceType;
200
+ ChunkConfig: typeof ChunkConfig;
201
+ KnowledgeDocument: typeof KnowledgeDocument;
202
+ runtime: typeof runtime;
203
+ modelCatalog: typeof modelCatalog;
204
+ listDatasets: typeof listDatasets;
205
+ getDataset: typeof getDataset;
206
+ createDataset: typeof createDataset;
207
+ deleteDataset: typeof deleteDataset;
208
+ findDatasetByName: typeof findDatasetByName;
209
+ ensureDataset: typeof ensureDataset;
210
+ addDocuments: typeof addDocuments;
211
+ addText: typeof addText;
212
+ addUrl: typeof addUrl;
213
+ listDocuments: typeof listDocuments;
214
+ deleteDocuments: typeof deleteDocuments;
215
+ search: typeof search;
216
+ };
217
+
218
+ export interface DatabaseFilter {
219
+ field: string;
220
+ op: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'not_in' | 'is_null' | 'is_not_null' | 'like' | 'ilike' | string;
221
+ value?: unknown;
222
+ }
223
+
224
+ export interface DatabaseOrderBy {
225
+ field: string;
226
+ direction?: 'asc' | 'desc';
227
+ }
228
+
229
+ export interface DatabaseRange {
230
+ from: number;
231
+ to: number;
232
+ }
233
+
234
+ export interface DatabaseResponse {
235
+ data?: Record<string, unknown>[];
236
+ count?: number;
237
+ affectedRows?: number;
238
+ message?: string;
239
+ [key: string]: unknown;
240
+ }
241
+
242
+ export interface DatabaseQueryOptions {
243
+ select?: string | string[];
244
+ filters?: DatabaseFilter[];
245
+ orderBy?: DatabaseOrderBy[];
246
+ range?: DatabaseRange;
247
+ limit?: number;
248
+ offset?: number;
249
+ count?: boolean;
250
+ head?: boolean;
251
+ }
252
+
253
+ export interface DatabaseMutationOptions {
254
+ row?: Record<string, unknown>;
255
+ rows?: Record<string, unknown>[];
256
+ values?: Record<string, unknown>;
257
+ filters?: DatabaseFilter[];
258
+ updates?: Array<{ filters?: DatabaseFilter[]; values?: Record<string, unknown> }>;
259
+ deletes?: Array<{ filters?: DatabaseFilter[] }>;
260
+ conflictKeys?: string[];
261
+ returning?: boolean;
262
+ }
263
+
264
+ export interface DatabaseOperation {
265
+ type: 'query' | 'insert' | 'update' | 'delete' | 'upsert' | string;
266
+ request: Record<string, unknown>;
267
+ }
268
+
269
+ export interface DatabaseSchemaColumn {
270
+ name: string;
271
+ type?: string;
272
+ nullable?: boolean;
273
+ primaryKey?: boolean;
274
+ defaultValue?: string | null;
275
+ [key: string]: unknown;
276
+ }
277
+
278
+ export interface DatabaseSchemaTable {
279
+ schema?: string;
280
+ name: string;
281
+ description?: string | null;
282
+ columns?: DatabaseSchemaColumn[];
283
+ indexes?: unknown[];
284
+ foreignKeys?: unknown[];
285
+ constraints?: unknown[];
286
+ [key: string]: unknown;
287
+ }
288
+
289
+ export interface DatabaseSchema {
290
+ databaseId?: string;
291
+ environment?: 'dev' | 'prod' | string;
292
+ tables?: DatabaseSchemaTable[];
293
+ views?: unknown[];
294
+ functions?: unknown[];
295
+ enums?: unknown[];
296
+ [key: string]: unknown;
297
+ }
298
+
299
+ export interface GenerateOrmOptions {
300
+ language: 'typescript' | 'python' | 'ts' | 'py' | string;
301
+ orm?: 'drizzle' | 'sqlalchemy' | string;
302
+ }
303
+
304
+ export interface TableQuery {
305
+ select(...fields: string[]): TableQuery;
306
+ filter(field: string, op: string, value?: unknown): TableQuery;
307
+ eq(field: string, value: unknown): TableQuery;
308
+ neq(field: string, value: unknown): TableQuery;
309
+ gt(field: string, value: unknown): TableQuery;
310
+ gte(field: string, value: unknown): TableQuery;
311
+ lt(field: string, value: unknown): TableQuery;
312
+ lte(field: string, value: unknown): TableQuery;
313
+ in(field: string, value: unknown[]): TableQuery;
314
+ notIn(field: string, value: unknown[]): TableQuery;
315
+ isNull(field: string): TableQuery;
316
+ isNotNull(field: string): TableQuery;
317
+ like(field: string, value: string): TableQuery;
318
+ ilike(field: string, value: string): TableQuery;
319
+ order(field: string, options?: { desc?: boolean }): TableQuery;
320
+ range(from: number, to: number): TableQuery;
321
+ limit(value: number): TableQuery;
322
+ offset(value: number): TableQuery;
323
+ withCount(options?: { head?: boolean }): TableQuery;
324
+ execute(): Promise<DatabaseResponse>;
325
+ single(): Promise<DatabaseResponse>;
326
+ maybeSingle(): Promise<DatabaseResponse>;
327
+ }
328
+
329
+ export function query(table: string, options?: DatabaseQueryOptions): Promise<DatabaseResponse>;
330
+ export function single(table: string, options?: DatabaseQueryOptions & { maybe?: boolean }): Promise<DatabaseResponse>;
331
+ export function maybeSingle(table: string, options?: DatabaseQueryOptions): Promise<DatabaseResponse>;
332
+ export function aggregate(table: string, aggregateName: string, options?: { field?: string; groupBy?: string[]; filters?: DatabaseFilter[] }): Promise<DatabaseResponse>;
333
+ export function insert(table: string, options?: DatabaseMutationOptions): Promise<DatabaseResponse>;
334
+ export function updateRows(table: string, options?: DatabaseMutationOptions): Promise<DatabaseResponse>;
335
+ export function deleteRows(table: string, options?: DatabaseMutationOptions): Promise<DatabaseResponse>;
336
+ export function upsert(table: string, options?: DatabaseMutationOptions): Promise<DatabaseResponse>;
337
+ export function transaction(operations: DatabaseOperation[]): Promise<DatabaseResponse[]>;
338
+ export function rpc(functionName: string, args?: Record<string, unknown>): Promise<DatabaseResponse>;
339
+ export function getSchema(): Promise<DatabaseSchema>;
340
+ export function defaultOrm(language: string): string;
341
+ export function generateOrm(schemaPayload: DatabaseSchema, options: GenerateOrmOptions): string;
342
+ export function exportOrm(options: GenerateOrmOptions): Promise<string>;
343
+ export function table(name: string): TableQuery;
344
+
345
+ export const database: {
346
+ query: typeof query;
347
+ single: typeof single;
348
+ maybeSingle: typeof maybeSingle;
349
+ aggregate: typeof aggregate;
350
+ insert: typeof insert;
351
+ updateRows: typeof updateRows;
352
+ deleteRows: typeof deleteRows;
353
+ upsert: typeof upsert;
354
+ transaction: typeof transaction;
355
+ rpc: typeof rpc;
356
+ getSchema: typeof getSchema;
357
+ defaultOrm: typeof defaultOrm;
358
+ generateOrm: typeof generateOrm;
359
+ exportOrm: typeof exportOrm;
360
+ table: typeof table;
361
+ };
362
+
363
+ export interface StudioDatabaseColumn {
364
+ originalName?: string;
365
+ name?: string;
366
+ type?: string;
367
+ defaultValue?: string | null;
368
+ primaryKey?: boolean;
369
+ nullable?: boolean;
370
+ unique?: boolean;
371
+ array?: boolean;
372
+ checkExpression?: string;
373
+ [key: string]: unknown;
374
+ }
375
+
376
+ export interface StudioDatabaseTableOptions {
377
+ envScope?: 'dev' | 'prod' | string;
378
+ schema?: string;
379
+ description?: string;
380
+ columns?: StudioDatabaseColumn[];
381
+ }
382
+
383
+ export interface StudioDatabaseRowOptions {
384
+ envScope?: 'dev' | 'prod' | string;
385
+ schema?: string;
386
+ rowId?: string;
387
+ rowIndex?: number;
388
+ rowIds?: string[];
389
+ rowIndexes?: number[];
390
+ }
391
+
392
+ export interface StudioDatabaseSyncOptions {
393
+ sourceScope?: 'dev' | 'prod' | string;
394
+ targetScope?: 'dev' | 'prod' | string;
395
+ tables?: string[];
396
+ sourceProjectId?: string;
397
+ targetProjectId?: string;
398
+ }
399
+
400
+ export interface StudioDatabaseControlOptions {
401
+ environment?: 'dev' | 'prod' | string;
402
+ }
403
+
404
+ export const studioDatabase: {
405
+ getDatabase(options?: { envScope?: string }): Promise<Record<string, unknown>>;
406
+ createDefaultDatabase(options?: { envScope?: string }): Promise<Record<string, unknown>>;
407
+ deleteDatabase(options?: { envScope?: string }): Promise<void>;
408
+ listTables(options?: { envScope?: string; keyword?: string }): Promise<Record<string, unknown>[]>;
409
+ createTable(tableName: string, options?: StudioDatabaseTableOptions): Promise<Record<string, unknown>>;
410
+ updateTable(tableName: string, options?: StudioDatabaseTableOptions & { newTableName?: string }): Promise<Record<string, unknown>>;
411
+ deleteTable(tableName: string, options?: Pick<StudioDatabaseTableOptions, 'envScope' | 'schema'>): Promise<void>;
412
+ addColumn(tableName: string, options: StudioDatabaseTableOptions & { name: string; type: string; defaultValue?: string | null; array?: boolean; primaryKey?: boolean; nullable?: boolean; unique?: boolean; checkExpression?: string }): Promise<Record<string, unknown>>;
413
+ getTableData(tableName: string, options?: Pick<StudioDatabaseTableOptions, 'envScope' | 'schema'>): Promise<Record<string, unknown>>;
414
+ insertRow(tableName: string, values: Record<string, unknown>, options?: Pick<StudioDatabaseTableOptions, 'envScope' | 'schema'>): Promise<Record<string, unknown>>;
415
+ updateRow(tableName: string, values: Record<string, unknown>, options?: StudioDatabaseRowOptions): Promise<Record<string, unknown>>;
416
+ deleteRows(tableName: string, options?: StudioDatabaseRowOptions): Promise<Record<string, unknown>>;
417
+ executeSql(sqlText: string, options?: { envScope?: string }): Promise<Record<string, unknown>>;
418
+ sqlHistory(options?: { envScope?: string }): Promise<Record<string, unknown>[]>;
419
+ exportBackup(options?: { envScope?: string }): Promise<Record<string, unknown>>;
420
+ importBackup(backup: Record<string, unknown>, options?: { envScope?: string }): Promise<Record<string, unknown>>;
421
+ sync(options?: StudioDatabaseSyncOptions): Promise<Record<string, unknown>>;
422
+ syncProject(sourceProjectId: string, targetProjectId: string, options?: StudioDatabaseSyncOptions): Promise<Record<string, unknown>>;
423
+ ensureDatabase(options?: StudioDatabaseControlOptions): Promise<Record<string, unknown>>;
424
+ getSchema(options?: StudioDatabaseControlOptions): Promise<DatabaseSchema>;
425
+ getConfig(options?: StudioDatabaseControlOptions): Promise<Record<string, unknown>>;
426
+ controlSql(sqlText: string, options?: StudioDatabaseControlOptions): Promise<Record<string, unknown>>;
427
+ explainSql(sqlText: string, options?: StudioDatabaseControlOptions): Promise<Record<string, unknown>>;
428
+ validateSchema(schema: DatabaseSchema, options?: StudioDatabaseControlOptions): Promise<Record<string, unknown>>;
429
+ diffSchema(schema: DatabaseSchema, options?: StudioDatabaseControlOptions): Promise<Record<string, unknown>>;
430
+ listMigrations(options?: StudioDatabaseControlOptions): Promise<Record<string, unknown>[]>;
431
+ createMigration(options: StudioDatabaseControlOptions & { title: string; statements?: string[]; schema?: DatabaseSchema; dryRun?: boolean }): Promise<Record<string, unknown>>;
432
+ getMigration(migrationId: string): Promise<Record<string, unknown>>;
433
+ };
434
+
435
+ export interface StorageSummary {
436
+ workspaceId?: string;
437
+ projectId?: string;
438
+ scope?: string;
439
+ bucketName?: string;
440
+ usedSizeBytes?: number;
441
+ fileCount?: number;
442
+ folderCount?: number;
443
+ serviceEnabled?: boolean;
444
+ [key: string]: unknown;
445
+ }
446
+
447
+ export interface StorageFolder {
448
+ id?: string;
449
+ workspaceId?: string;
450
+ projectId?: string;
451
+ scope?: string;
452
+ parentId?: string | null;
453
+ folderName?: string;
454
+ folderPath?: string;
455
+ createdAt?: string;
456
+ updatedAt?: string;
457
+ [key: string]: unknown;
458
+ }
459
+
460
+ export interface StorageFile {
461
+ id?: string;
462
+ workspaceId?: string;
463
+ projectId?: string;
464
+ scope?: string;
465
+ folderId?: string | null;
466
+ folderPath?: string;
467
+ fileName?: string;
468
+ contentType?: string;
469
+ sizeBytes?: number;
470
+ storageBucket?: string;
471
+ storageKey?: string;
472
+ downloadUrl?: string;
473
+ createdAt?: string;
474
+ updatedAt?: string;
475
+ [key: string]: unknown;
476
+ }
477
+
478
+ export interface StorageEntries {
479
+ currentFolderId?: string | null;
480
+ currentFolderName?: string;
481
+ currentFolderPath?: string;
482
+ breadcrumbs?: unknown[];
483
+ folders?: StorageFolder[];
484
+ files?: StorageFile[];
485
+ [key: string]: unknown;
486
+ }
487
+
488
+ export interface UploadFileOptions {
489
+ folderId?: string;
490
+ fileName?: string;
491
+ contentType?: string;
492
+ }
493
+
494
+ export const MAX_UPLOAD_FILE_BYTES: number;
495
+
496
+ export interface ShareUrlOptions {
497
+ expirySeconds?: number;
498
+ }
499
+
500
+ export function summary(): Promise<StorageSummary>;
501
+ export function listFolders(): Promise<StorageFolder[]>;
502
+ export function listEntries(options?: { folderId?: string }): Promise<StorageEntries>;
503
+ export function listFiles(): Promise<StorageFile[]>;
504
+ export function createFolder(folderName: string, options?: { parentId?: string }): Promise<StorageFolder>;
505
+ export function renameFolder(folderId: string, folderName: string): Promise<StorageFolder>;
506
+ export function deleteFolder(folderId: string): Promise<void>;
507
+ export function uploadFile(
508
+ input: string | Blob | Buffer | Uint8Array,
509
+ options?: UploadFileOptions,
510
+ ): Promise<StorageFile>;
511
+ export function renameFile(fileId: string, fileName: string): Promise<StorageFile>;
512
+ export function moveFile(fileId: string, options?: { folderId?: string }): Promise<StorageFile>;
513
+ export function shareUrl(fileId: string, options?: ShareUrlOptions): Promise<{ url?: string; expiresAt?: string; [key: string]: unknown }>;
514
+ export function objectExists(options?: { fileId?: string; objectKey?: string }): Promise<{ fileId?: string; bucketName?: string; objectKey?: string; exists?: boolean; [key: string]: unknown }>;
515
+ export function deleteFile(fileId: string): Promise<void>;
516
+
517
+ export const storage: {
518
+ summary: typeof summary;
519
+ listFolders: typeof listFolders;
520
+ listEntries: typeof listEntries;
521
+ listFiles: typeof listFiles;
522
+ createFolder: typeof createFolder;
523
+ renameFolder: typeof renameFolder;
524
+ deleteFolder: typeof deleteFolder;
525
+ uploadFile: typeof uploadFile;
526
+ renameFile: typeof renameFile;
527
+ moveFile: typeof moveFile;
528
+ shareUrl: typeof shareUrl;
529
+ objectExists: typeof objectExists;
530
+ deleteFile: typeof deleteFile;
531
+ };
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export{PlatformSdkError,ConfigurationError,ApiError}from"./shared.js";export*from"./database.js";export*from"./knowledge.js";export*from"./storage.js";export{studioDatabase}from"./studio-database.js";
@@ -0,0 +1 @@
1
+ import{Buffer as e}from"node:buffer";import{ApiError as t,ConfigurationError as a}from"./shared.js";import{authHeaders as n,refreshRuntimeConfig as r,runtimeConfig as o,shouldRefreshUserToken as s}from"./runtime.js";export const DataSourceType=Object.freeze({TEXT:0,URL:1,URI:2});export class ChunkConfig{constructor({separator:e="\n",maxTokens:t=2e3,max_tokens:a,removeExtraSpaces:n=!1,remove_extra_spaces:r,removeUrlsEmails:o=!1,remove_urls_emails:s}={}){this.separator=e,this.max_tokens=a??t,this.remove_extra_spaces=r??n,this.remove_urls_emails=s??o}}export class KnowledgeDocument{constructor(e={}){Object.assign(this,e)}}async function i(){return o()}function c(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>null!=e))}function d(e,t,a={}){const n=new URL(`${e.baseUrl}/api/v1/knowledge${t}`);for(const[e,t]of Object.entries(a))Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,String(t))):null!=t&&n.searchParams.set(e,String(t));return n}async function u(e){const a=await e.text(),n=a?JSON.parse(a):null;if(!e.ok)throw new t(a||`platform knowledge API returned ${e.status}`,{status:e.status,details:n});if(!n||"object"!=typeof n)return n;if(void 0!==n.code&&0!==n.code||!1===n.success)throw new t(n.message||"platform knowledge API failed",{status:e.status,code:"number"==typeof n.code?n.code:void 0,details:n});return n.data}async function p(e,a,{params:o,body:p,config:m}={}){let l=m||await i();for(let t=0;t<2;t+=1)try{const t=await fetch(d(l,a,o),{method:e,headers:n(l,void 0===p?void 0:"application/json"),body:void 0===p?void 0:JSON.stringify(c(p))});return await u(t)}catch(e){if(0===t&&s(e)){l=await r(l);continue}throw e}throw new t("platform knowledge API failed")}export async function runtime(){return p("GET","/runtime")}export async function modelCatalog(){return p("GET","/runtime/model-catalog")}export async function listDatasets(e={}){const t=await i();return p("GET","/openapi/v1/datasets",{config:t,params:{space_id:e.spaceId??e.space_id??t.workspaceId,name:e.name,format_type:e.formatType??e.format_type,page_size:e.pageSize??e.page_size,page_num:e.pageNum??e.page_num}})}export async function getDataset(e){return p("GET",`/openapi/v1/datasets/${encodeURIComponent(e)}`)}export async function createDataset(e,t={}){const a=await i();return p("POST","/openapi/v1/datasets",{config:a,body:{name:e,description:t.description,config:t.config,space_id:t.spaceId??t.space_id??a.workspaceId,format_type:t.formatType??t.format_type,source_type:t.sourceType??t.source_type,engine_type:t.engineType??t.engine_type,access_scope:t.accessScope??t.access_scope,multimodal_enabled:t.multimodalEnabled??t.multimodal_enabled,graph_enabled:t.graphEnabled??t.graph_enabled,embedding_model:t.embeddingModel??t.embedding_model,embedding_dim:t.embeddingDim??t.embedding_dim,chunking_strategy:t.chunkingStrategy??t.chunking_strategy,processing_profile:t.processingProfile??t.processing_profile}})}export async function deleteDataset(e){await p("DELETE",`/openapi/v1/datasets/${encodeURIComponent(e)}`)}export async function findDatasetByName(e){const t=await listDatasets({name:e,pageSize:50,pageNum:1}),a=Array.isArray(t?.dataset_list)?t.dataset_list:[];return a.find(t=>t?.name===e)||a[0]||null}export async function ensureDataset(e,t={}){return await findDatasetByName(e)||createDataset(e,t)}async function m(e,{create:t=!1}={}){const n=t?await ensureDataset(e):await findDatasetByName(e),r=n?.dataset_id;if(!r)throw new a(`knowledge dataset not found: ${e}`);return String(r)}function l(e){if(e)return{...e}}export async function addDocuments(t,a={}){const n=a.datasetId||a.dataset_id||(a.datasetName||a.dataset_name?await m(a.datasetName||a.dataset_name,{create:!0}):void 0);if(!n)throw new TypeError("datasetId or datasetName is required");return p("POST","/openapi/open_api/knowledge/document/create",{body:{dataset_id:n,document_bases:t.map(t=>function(t){const a={...t},n=function(e){if("number"==typeof e)return e;const t=String(e).trim().toLowerCase();if(["text","raw","content","0"].includes(t))return DataSourceType.TEXT;if(["url","web","1"].includes(t))return DataSourceType.URL;if(["uri","file","source_file_id","source-file-id","2"].includes(t))return DataSourceType.URI;throw new TypeError(`unsupported knowledge document source: ${e}`)}(a.source??a.source_type??function(e){return e.url||e.web_url?DataSourceType.URL:e.uri||e.source_file_id?DataSourceType.URI:DataSourceType.TEXT}(a)),r=String(a.name||function(e,t){return e===DataSourceType.URL?String(t.url||t.web_url||"web-url"):e===DataSourceType.URI?String(t.uri||t.source_file_id||"object"):"document.txt"}(n,a)),o=String(a.file_type||(n===DataSourceType.TEXT?"txt":"")),s={document_source:n};if(n===DataSourceType.TEXT){const t=a.raw_data??a.content??a.text;if(null==t)throw new TypeError("TEXT knowledge document requires raw_data/content/text");s.file_base64=e.from(String(t),"utf8").toString("base64"),s.file_type=o||"txt"}else if(n===DataSourceType.URL){const e=a.url||a.web_url;if(!e)throw new TypeError("URL knowledge document requires url");s.web_url=String(e)}else{const e=a.source_file_id||a.uri;if(!e)throw new TypeError("URI knowledge document requires uri/source_file_id");s.source_file_id=String(e),o&&(s.file_type=o)}return c({name:r,source_info:c(s),update_rule:a.update_rule})}(t)),chunk_strategy:l(a.chunkConfig||a.chunk_config),format_type:a.formatType??a.format_type,batch_id:a.batchId??a.batch_id,batch_name:a.batchName??a.batch_name,processing_profile:a.processingProfile??a.processing_profile,chunking_strategy:a.chunkingStrategy??a.chunking_strategy}})}export async function addText(e,t={}){return addDocuments([new KnowledgeDocument({source:DataSourceType.TEXT,raw_data:e,name:t.name||"document.txt"})],t)}export async function addUrl(e,t={}){return addDocuments([new KnowledgeDocument({source:DataSourceType.URL,url:e,name:t.name})],t)}export async function listDocuments(e,t={}){return p("GET",`/openapi/v1/datasets/${encodeURIComponent(e)}/documents`,{params:{page:t.page,size:t.size}})}export async function deleteDocuments(e,t){if(!Array.isArray(t)||0===t.length)throw new TypeError("documentIds is required");await p("POST","/openapi/open_api/knowledge/document/delete",{body:{dataset_id:e,document_ids:t}})}export async function search(e,t={}){const a=await async function(e={}){const t=[];if((e.datasetId||e.dataset_id)&&t.push(e.datasetId||e.dataset_id),Array.isArray(e.datasetIds||e.dataset_ids)&&t.push(...e.datasetIds||e.dataset_ids),(e.datasetName||e.dataset_name)&&t.push(await m(e.datasetName||e.dataset_name)),Array.isArray(e.datasetNames||e.dataset_names))for(const a of e.datasetNames||e.dataset_names)t.push(await m(a));return Array.from(new Set(t.filter(Boolean).map(String)))}(t),n={query:e,dataset_id:1===a.length?a[0]:void 0,dataset_ids:a.length?a:void 0,top_k:t.topK??t.top_k??5,min_score:t.minScore??t.min_score??0,candidate_top_k:t.candidateTopK??t.candidate_top_k,search_method:t.searchMethod??t.search_method,enable_rerank:t.enableRerank??t.enable_rerank,need_citation:t.needCitation??t.need_citation??!0,need_trace:t.needTrace??t.need_trace??!0};return p("POST",1===a.length?`/openapi/v1/datasets/${encodeURIComponent(a[0])}/retrieve`:"/openapi/v1/datasets/retrieve",{body:n})}export const knowledge={DataSourceType:DataSourceType,ChunkConfig:ChunkConfig,KnowledgeDocument:KnowledgeDocument,runtime:runtime,modelCatalog:modelCatalog,listDatasets:listDatasets,getDataset:getDataset,createDataset:createDataset,deleteDataset:deleteDataset,findDatasetByName:findDatasetByName,ensureDataset:ensureDataset,addDocuments:addDocuments,addText:addText,addUrl:addUrl,listDocuments:listDocuments,deleteDocuments:deleteDocuments,search:search};
@@ -0,0 +1 @@
1
+ import{ConfigurationError as e}from"./shared.js";const t=new Map;export function env(e){const t=process.env[e];if("string"!=typeof t)return;return t.trim()||void 0}function n(e,t,n){const r=env(e);if(r)return`http://${r}:${env(t)||n}`}export function platformBaseUrl(){const t=env("LICOS_PLATFORM_API_BASE_URL")||n("AIOS_PLATFORM_SERVICE_HOST","AIOS_PLATFORM_SERVICE_PORT","9100")||n("LICOS_PLATFORM_SERVICE_HOST","LICOS_PLATFORM_SERVICE_PORT","9100")||n("PLATFORM_SERVICE_HOST","PLATFORM_SERVICE_PORT","9100");if(!t)throw new e("LICOS_PLATFORM_API_BASE_URL is not configured");return function(e){let t=e.trim().replace(/\/+$/,"");return t.endsWith("/api/v1")&&(t=t.slice(0,-7)),t.replace(/\/+$/,"")}(t)}export function projectEnvironment(e){const t=((e?env(e):void 0)||"").toLowerCase();if("dev"===t||"prod"===t)return t;const n=(env("LICOS_PROJECT_ENV")||env("AGENT_ENV")||"").toLowerCase();return["prod","production","release"].includes(n)?"prod":"dev"}async function r(n,r,{forceRefresh:o=!1}={}){const s=String(r||"").trim();if(!s)throw new e("project owner user ID is not configured");const i=env("LICOS_AI_AGENT_TOKEN");if(!i)throw new e("platform runtime identity is unavailable");const c=`${n}\n${s}\n${i}`;if(t.has(c)){const e=t.get(c);if(!o)return e;if(e&&"function"==typeof e.then)return e}const a=fetch(`${n}/api/v1/internal/auth/ai-user-token`,{method:"POST",headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json"},body:JSON.stringify({userId:s})}).then(async n=>{const r=await n.text();let o=null;try{o=r?JSON.parse(r):null}catch(t){const o=new e("parse AI user token exchange response failed");throw o.status=n.status,o.details=r,o}if(!n.ok){const t=o?.message||r||`AI user token exchange returned ${n.status}`,s=new e(t);throw s.status=n.status,s.details=o,s}const s=function(t){if(!t||"object"!=typeof t)throw new e("AI user token exchange response is not an object");if(void 0!==t.code&&0!==t.code||!1===t.success){const n=new e(t.message||"AI user token exchange failed");throw n.code="number"==typeof t.code?t.code:void 0,n.details=t,n}const n=t.data,r="string"==typeof n?n.trim():String(n?.accessToken||n?.access_token||n?.token||"").trim();if(!r){const n=new e("AI user token exchange response missing accessToken");throw n.details=t,n}return r}(o);return t.set(c,s),s});t.set(c,a);try{return await a}catch(e){throw t.delete(c),e}}export function clearTokenCacheForTests(){t.clear()}export function shouldRefreshUserToken(e){return 401===e?.status||10002===e?.code}export async function refreshRuntimeConfig(e){return{...e,token:await r(e.baseUrl,e.userId,{forceRefresh:!0})}}export async function runtimeConfig({environmentOverrideEnv:t}={}){const n=env("LICOS_PROJECT_ID")||env("AGENT_PROJECT_ID");if(!n)throw new e("LICOS_PROJECT_ID or AGENT_PROJECT_ID is not configured");const o=platformBaseUrl(),s=env("LICOS_USER_ID")||env("AGENT_USER_ID"),i=await r(o,s);return{baseUrl:o,projectId:n,environment:projectEnvironment(t),token:i,workspaceId:env("LICOS_WORKSPACE_ID")||env("AGENT_WORKSPACE_ID"),userId:s}}export function authHeaders(e,t="application/json"){const n={Authorization:`Bearer ${e.token}`};return t&&(n["Content-Type"]=t),e.workspaceId&&(n["X-Workspace-Id"]=e.workspaceId),e.userId&&(n["X-User-Id"]=e.userId),n}
package/dist/shared.js ADDED
@@ -0,0 +1 @@
1
+ export class PlatformSdkError extends Error{constructor(r,t={}){super(r),this.name=new.target.name,this.status=t.status,this.code=t.code,this.details=t.details}}export class ConfigurationError extends PlatformSdkError{}export class ApiError extends PlatformSdkError{}
@@ -0,0 +1 @@
1
+ import{readFile as e,stat as t}from"node:fs/promises";import o from"node:path";import{ApiError as r}from"./shared.js";import{authHeaders as n,refreshRuntimeConfig as i,runtimeConfig as a,shouldRefreshUserToken as s}from"./runtime.js";export const MAX_UPLOAD_FILE_BYTES=20971520;async function l(){return a({environmentOverrideEnv:"LICOS_STORAGE_SCOPE"})}function d(e,t,o){return`${e.baseUrl}/api/v1/studio/storage${t}?${function(e,t={}){const o=new URLSearchParams;o.set("projectId",e.projectId),o.set("scope",e.environment);for(const[e,r]of Object.entries(t))null!=r&&o.set(e,String(r));return o.toString()}(e,o)}`}async function c(e){const t=await e.text(),o=t?JSON.parse(t):null;if(!e.ok)throw new r(t||`platform storage API returned ${e.status}`,{status:e.status,details:o});if(!o||"object"!=typeof o)return o;if(void 0!==o.code&&0!==o.code||!1===o.success)throw new r(o.message||"platform storage API failed",{status:e.status,code:"number"==typeof o.code?o.code:void 0,details:o});return o.data}async function f(e,t,{params:o,body:a}={}){let f=await l();for(let r=0;r<2;r+=1)try{const r=await fetch(d(f,t,o),{method:e,headers:n(f),body:void 0===a?void 0:JSON.stringify(a)});return await c(r)}catch(e){if(0===r&&s(e)){f=await i(f);continue}throw e}throw new r("platform storage API failed")}function u(e){if(e>20971520)throw new RangeError("uploadFile input exceeds max size of 20971520 bytes")}export async function summary(){return f("GET","/summary")}export async function listFolders(){return await f("GET","/folders")||[]}export async function listEntries({folderId:e}={}){return f("GET","/entries",{params:{folderId:e}})}export async function listFiles(){return await f("GET","/files")||[]}export async function createFolder(e,{parentId:t}={}){return f("POST","/folders",{body:{folderName:e,parentId:t}})}export async function renameFolder(e,t){return f("PUT",`/folders/${encodeURIComponent(e)}`,{body:{folderName:t}})}export async function deleteFolder(e){await f("DELETE",`/folders/${encodeURIComponent(e)}`)}export async function uploadFile(a,d={}){const{blob:f,fileName:p}=await async function(r,n={}){if("string"==typeof r){u((await t(r)).size);const i=await e(r);return{blob:new Blob([i],{type:n.contentType||"application/octet-stream"}),fileName:n.fileName||o.basename(r)}}if(r instanceof Blob)return u(r.size),{blob:r,fileName:n.fileName||"file"};if(r instanceof Uint8Array||Buffer.isBuffer(r))return u(r.byteLength),{blob:new Blob([r],{type:n.contentType||"application/octet-stream"}),fileName:n.fileName||"file"};throw new TypeError("uploadFile input must be a file path, Blob, Buffer, or Uint8Array")}(a,d);let m=await l();for(let e=0;e<2;e+=1){const t=new FormData;t.set("projectId",m.projectId),t.set("scope",m.environment),d.folderId&&t.set("folderId",d.folderId),t.set("file",f,p);try{const e=await fetch(`${m.baseUrl}/api/v1/studio/storage/files/upload`,{method:"POST",headers:n(m,void 0),body:t});return await c(e)}catch(t){if(0===e&&s(t)){m=await i(m);continue}throw t}}throw new r("platform storage upload failed")}export async function renameFile(e,t){return f("PUT",`/files/${encodeURIComponent(e)}/rename`,{body:{fileName:t}})}export async function moveFile(e,{folderId:t}={}){return f("PUT",`/files/${encodeURIComponent(e)}/move`,{body:{folderId:t}})}export async function shareUrl(e,{expirySeconds:t}={}){return f("POST",`/files/${encodeURIComponent(e)}/share-url`,{body:{expirySeconds:t}})}export async function objectExists({fileId:e,objectKey:t}={}){return f("POST","/objects/exists",{body:{fileId:e,objectKey:t}})}export async function deleteFile(e){await f("DELETE",`/files/${encodeURIComponent(e)}`)}export const storage={summary:summary,listFolders:listFolders,listEntries:listEntries,listFiles:listFiles,createFolder:createFolder,renameFolder:renameFolder,deleteFolder:deleteFolder,uploadFile:uploadFile,renameFile:renameFile,moveFile:moveFile,shareUrl:shareUrl,objectExists:objectExists,deleteFile:deleteFile};
@@ -0,0 +1 @@
1
+ import{ApiError as e}from"./shared.js";import{authHeaders as t,refreshRuntimeConfig as a,runtimeConfig as n,shouldRefreshUserToken as r}from"./runtime.js";async function o(){return n({environmentOverrideEnv:"LICOS_STUDIO_DATABASE_SCOPE"})}function s(e,t){const a=String(t||e.environment||"dev").toLowerCase();return["prod","production","release"].includes(a)?"prod":"dev"}function c(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>null!=e))}async function i(t){const a=await t.text(),n=a?JSON.parse(a):null;if(!t.ok)throw new e(a||`platform Studio database API returned ${t.status}`,{status:t.status,details:n});if(!n||"object"!=typeof n)return n;if(void 0!==n.code&&0!==n.code||!1===n.success)throw new e(n.message||"platform Studio database API failed",{status:t.status,code:"number"==typeof n.code?n.code:void 0,details:n});return n.data}async function u(n,s,{body:u}={}){let p=await o();for(let e=0;e<2;e+=1)try{const e=void 0!==u,a=await fetch(s(p),{method:n,headers:t(p,e?"application/json":void 0),body:e?JSON.stringify(c(u)):void 0});return await i(a)}catch(t){if(0===e&&r(t)){p=await a(p);continue}throw t}throw new e("platform Studio database API failed")}async function p(e,t={}){return{envScope:s(await o(),e),...t}}function d(e,t,{params:a,body:n}={}){return u(e,e=>function(e,t,a={}){const n=function(e,t={}){const a=new URLSearchParams;a.set("projectId",e.projectId);for(const[e,n]of Object.entries(c(t)))if(Array.isArray(n))for(const t of n)a.append(e,String(t));else a.set(e,String(n));return a.toString()}(e,a);return`${e.baseUrl}/api/v1/studio/databases${t}${n?`?${n}`:""}`}(e,t,a),{body:n})}function l(e,t,{params:a,body:n}={}){return u(e,e=>function(e,t,a={}){const n=new URLSearchParams;for(const[e,t]of Object.entries(c(a)))n.set(e,String(t));const r=n.toString();return`${e.baseUrl}/api/v1/studio/control/database/projects/${encodeURIComponent(e.projectId)}${t}${r?`?${r}`:""}`}(e,t,a),{body:n})}export async function getDatabase(e={}){return d("GET","/dev",{params:await p(e.envScope)})}export async function createDefaultDatabase(e={}){return d("POST","/dev/default",{params:await p(e.envScope)})}export async function deleteDatabase(e={}){await d("DELETE","/dev",{params:await p(e.envScope)})}export async function listTables(e={}){return await d("GET","/dev/tables",{params:await p(e.envScope,{keyword:e.keyword})})||[]}export async function createTable(e,t={}){return d("POST","/dev/tables",{params:await p(t.envScope),body:{tableName:e,description:t.description,columns:t.columns||[]}})}export async function updateTable(e,t={}){return d("PUT","/dev/tables",{params:await p(t.envScope,{tableName:e,schema:t.schema}),body:{tableName:t.newTableName,description:t.description,columns:t.columns}})}export async function deleteTable(e,t={}){await d("POST","/dev/tables/delete",{params:await p(t.envScope,{tableName:e,schema:t.schema})})}export async function addColumn(e,t={}){return d("POST","/dev/tables/columns",{params:await p(t.envScope,{tableName:e,schema:t.schema}),body:{name:t.name,type:t.type,description:t.description,defaultValue:t.defaultValue,array:t.array,primaryKey:t.primaryKey,nullable:t.nullable,unique:t.unique,checkExpression:t.checkExpression}})}export async function getTableData(e,t={}){return d("GET","/dev/tables/data",{params:await p(t.envScope,{tableName:e,schema:t.schema})})}export async function insertRow(e,t,a={}){return d("POST","/dev/tables/rows",{params:await p(a.envScope,{tableName:e,schema:a.schema}),body:{values:t}})}export async function updateRow(e,t,a={}){return d("POST","/dev/tables/rows/update",{params:await p(a.envScope,{tableName:e,schema:a.schema}),body:{rowId:a.rowId,rowIndex:a.rowIndex,values:t}})}export async function deleteRows(e,t={}){return d("POST","/dev/tables/rows/delete",{params:await p(t.envScope,{tableName:e,schema:t.schema}),body:{rowIds:t.rowIds,rowIndexes:t.rowIndexes}})}export async function executeSql(e,t={}){return d("POST","/dev/sql/execute",{params:await p(t.envScope),body:{sqlText:e}})}export async function sqlHistory(e={}){return await d("GET","/dev/sql/history",{params:await p(e.envScope)})||[]}export async function exportBackup(e={}){return d("GET","/backup/export",{params:await p(e.envScope||"prod")})}export async function importBackup(e,t={}){return d("POST","/backup/import",{params:await p(t.envScope||"prod"),body:e})}export async function sync(e={}){return d("POST","/sync",{body:{sourceScope:e.sourceScope||"dev",targetScope:e.targetScope||"prod",tables:e.tables||[],source_project_id:e.sourceProjectId,target_project_id:e.targetProjectId}})}export async function syncProject(e,t,a={}){return d("POST","/sync_project",{body:{sourceScope:a.sourceScope||"dev",targetScope:a.targetScope||"prod",tables:a.tables||[],source_project_id:e,target_project_id:t}})}export async function ensureDatabase(e={}){return l("POST","/ensure",{params:{environment:e.environment}})}export async function getSchema(e={}){return l("GET","/schema",{params:{environment:e.environment}})}export async function getConfig(e={}){return l("GET","/config",{params:{environment:e.environment}})}export async function controlSql(e,t={}){return l("POST","/sql",{params:{environment:t.environment},body:{sqlText:e}})}export async function explainSql(e,t={}){return l("POST","/sql/explain",{params:{environment:t.environment},body:{sqlText:e}})}export async function validateSchema(e,t={}){return l("POST","/schema/validate",{body:{environment:t.environment,schema:e}})}export async function diffSchema(e,t={}){return l("POST","/schema/diff",{body:{environment:t.environment,schema:e}})}export async function listMigrations(e={}){return await l("GET","/migrations",{params:{environment:e.environment}})||[]}export async function createMigration(e={}){return l("POST","/migrations",{body:{environment:e.environment,dryRun:e.dryRun??!0,title:e.title,statements:e.statements||[],schema:e.schema}})}export async function getMigration(e){return l("GET",`/migrations/${encodeURIComponent(e)}`)}export const studioDatabase={getDatabase:getDatabase,createDefaultDatabase:createDefaultDatabase,deleteDatabase:deleteDatabase,listTables:listTables,createTable:createTable,updateTable:updateTable,deleteTable:deleteTable,addColumn:addColumn,getTableData:getTableData,insertRow:insertRow,updateRow:updateRow,deleteRows:deleteRows,executeSql:executeSql,sqlHistory:sqlHistory,exportBackup:exportBackup,importBackup:importBackup,sync:sync,syncProject:syncProject,ensureDatabase:ensureDatabase,getSchema:getSchema,getConfig:getConfig,controlSql:controlSql,explainSql:explainSql,validateSchema:validateSchema,diffSchema:diffSchema,listMigrations:listMigrations,createMigration:createMigration,getMigration:getMigration};
package/package.json CHANGED
@@ -1,42 +1,47 @@
1
1
  {
2
2
  "name": "@kmlckj/licos-platform-sdk",
3
- "version": "0.6.5",
3
+ "version": "0.6.8",
4
4
  "description": "LICOS platform SDK package shell for browser and Node runtimes",
5
5
  "author": "kmlckj",
6
6
  "type": "module",
7
- "main": "./src/index.js",
8
- "browser": "./src/browser.js",
9
- "types": "./src/index.d.ts",
7
+ "main": "./dist/index.js",
8
+ "browser": "./dist/browser.js",
9
+ "types": "./dist/index.d.ts",
10
10
  "typesVersions": {
11
11
  "*": {
12
12
  "browser": [
13
- "src/browser.d.ts"
13
+ "dist/browser.d.ts"
14
14
  ]
15
15
  }
16
16
  },
17
17
  "exports": {
18
18
  ".": {
19
19
  "browser": {
20
- "types": "./src/browser.d.ts",
21
- "default": "./src/browser.js"
20
+ "types": "./dist/browser.d.ts",
21
+ "default": "./dist/browser.js"
22
22
  },
23
- "types": "./src/index.d.ts",
24
- "import": "./src/index.js",
25
- "default": "./src/index.js"
23
+ "types": "./dist/index.d.ts",
24
+ "import": "./dist/index.js",
25
+ "default": "./dist/index.js"
26
26
  },
27
27
  "./browser": {
28
- "types": "./src/browser.d.ts",
29
- "import": "./src/browser.js",
30
- "default": "./src/browser.js"
28
+ "types": "./dist/browser.d.ts",
29
+ "import": "./dist/browser.js",
30
+ "default": "./dist/browser.js"
31
31
  }
32
32
  },
33
33
  "files": [
34
- "src",
34
+ "dist",
35
35
  "README.md"
36
36
  ],
37
37
  "scripts": {
38
+ "build": "node build.mjs",
39
+ "prepack": "npm run build",
38
40
  "test": "node --test"
39
41
  },
42
+ "devDependencies": {
43
+ "terser": "5.48.0"
44
+ },
40
45
  "license": "MIT",
41
46
  "publishConfig": {
42
47
  "access": "public",
package/src/browser.js DELETED
@@ -1 +0,0 @@
1
- export { PlatformSdkError, ConfigurationError, ApiError } from './shared.js';