lumnisai 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -581,6 +581,116 @@ class ResponsesResource {
581
581
  }
582
582
  }
583
583
 
584
+ class SkillsResource {
585
+ constructor(http) {
586
+ this.http = http;
587
+ }
588
+ /**
589
+ * Create a new skill guideline
590
+ * @param skillData - Skill guideline data
591
+ * @param options - Optional parameters
592
+ * @param options.userId - Optional user ID for skill ownership
593
+ */
594
+ async create(skillData, options) {
595
+ const params = {};
596
+ if (options?.userId) {
597
+ params.user_id = options.userId;
598
+ }
599
+ return this.http.post("/skills", skillData, { params });
600
+ }
601
+ /**
602
+ * List skill guidelines with optional filtering
603
+ * @param params - Optional filter parameters
604
+ * @param params.category - Filter by skill category
605
+ * @param params.isActive - Filter by active status
606
+ * @param params.page - Page number for pagination
607
+ * @param params.pageSize - Number of items per page
608
+ */
609
+ async list(params) {
610
+ const queryParams = {};
611
+ if (params?.category)
612
+ queryParams.category = params.category;
613
+ if (params?.isActive !== void 0)
614
+ queryParams.is_active = params.isActive;
615
+ if (params?.page)
616
+ queryParams.page = params.page;
617
+ if (params?.pageSize)
618
+ queryParams.page_size = params.pageSize;
619
+ return this.http.get("/skills", { params: queryParams });
620
+ }
621
+ /**
622
+ * Get a skill guideline by ID
623
+ * @param skillId - The skill ID
624
+ */
625
+ async get(skillId) {
626
+ return this.http.get(`/skills/${skillId}`);
627
+ }
628
+ /**
629
+ * Update a skill guideline
630
+ * @param skillId - The skill ID
631
+ * @param updates - Fields to update
632
+ */
633
+ async update(skillId, updates) {
634
+ return this.http.put(`/skills/${skillId}`, updates);
635
+ }
636
+ /**
637
+ * Delete a skill guideline
638
+ * @param skillId - The skill ID
639
+ */
640
+ async delete(skillId) {
641
+ await this.http.delete(`/skills/${skillId}`);
642
+ }
643
+ /**
644
+ * Create a skill usage record
645
+ * @param usageData - Skill usage data
646
+ */
647
+ async createUsage(usageData) {
648
+ return this.http.post("/skills/usage", usageData);
649
+ }
650
+ /**
651
+ * List skill usage records
652
+ * @param params - Optional filter parameters
653
+ * @param params.skillId - Filter by skill ID
654
+ * @param params.responseId - Filter by response ID
655
+ * @param params.page - Page number for pagination
656
+ * @param params.pageSize - Number of items per page
657
+ */
658
+ async listUsage(params) {
659
+ const queryParams = {};
660
+ if (params?.skillId)
661
+ queryParams.skill_id = params.skillId;
662
+ if (params?.responseId)
663
+ queryParams.response_id = params.responseId;
664
+ if (params?.page)
665
+ queryParams.page = params.page;
666
+ if (params?.pageSize)
667
+ queryParams.page_size = params.pageSize;
668
+ return this.http.get("/skills/usage", { params: queryParams });
669
+ }
670
+ /**
671
+ * Update a skill usage record
672
+ * @param usageId - The usage record ID
673
+ * @param updates - Fields to update
674
+ */
675
+ async updateUsage(usageId, updates) {
676
+ return this.http.put(`/skills/usage/${usageId}`, updates);
677
+ }
678
+ /**
679
+ * Get skill effectiveness metrics
680
+ * @param request - Analytics request parameters
681
+ */
682
+ async getAnalytics(request) {
683
+ const queryParams = {};
684
+ if (request?.skillId)
685
+ queryParams.skill_id = request.skillId;
686
+ if (request?.tenantId)
687
+ queryParams.tenant_id = request.tenantId;
688
+ if (request?.daysBack)
689
+ queryParams.days_back = request.daysBack;
690
+ return this.http.get("/skills/analytics", { params: queryParams });
691
+ }
692
+ }
693
+
584
694
  class TenantInfoResource {
585
695
  constructor(http) {
586
696
  this.http = http;
@@ -879,6 +989,7 @@ class LumnisClient {
879
989
  integrations;
880
990
  modelPreferences;
881
991
  mcpServers;
992
+ skills;
882
993
  _scopedUserId;
883
994
  _defaultScope;
884
995
  constructor(options = {}) {
@@ -908,6 +1019,7 @@ class LumnisClient {
908
1019
  this.integrations = new IntegrationsResource(this.http);
909
1020
  this.modelPreferences = new ModelPreferencesResource(this.http);
910
1021
  this.mcpServers = new MCPServersResource(this.http);
1022
+ this.skills = new SkillsResource(this.http);
911
1023
  }
912
1024
  forUser(userId) {
913
1025
  return new LumnisClient({
@@ -1122,6 +1234,22 @@ class LumnisClient {
1122
1234
  async testMcpServer(serverId) {
1123
1235
  return this.mcpServers.testConnection(serverId);
1124
1236
  }
1237
+ // Skills methods
1238
+ async createSkill(skillData, options) {
1239
+ return this.skills.create(skillData, options);
1240
+ }
1241
+ async getSkill(skillId) {
1242
+ return this.skills.get(skillId);
1243
+ }
1244
+ async listSkills(params) {
1245
+ return this.skills.list(params);
1246
+ }
1247
+ async updateSkill(skillId, updates) {
1248
+ return this.skills.update(skillId, updates);
1249
+ }
1250
+ async deleteSkill(skillId) {
1251
+ return this.skills.delete(skillId);
1252
+ }
1125
1253
  }
1126
1254
  function createSimpleProgressCallback() {
1127
1255
  let lastStatus;
package/dist/index.d.cts CHANGED
@@ -270,6 +270,7 @@ interface AgentConfig {
270
270
  useCognitiveTools?: boolean;
271
271
  enableTaskValidation?: boolean;
272
272
  generateComprehensiveOutput?: boolean;
273
+ skillIds?: string[];
273
274
  }
274
275
  interface ModelOverrides {
275
276
  [key: string]: string;
@@ -385,6 +386,107 @@ interface FeedbackListResponse {
385
386
  note: string;
386
387
  }
387
388
 
389
+ interface SkillGuidelineBase {
390
+ name: string;
391
+ description: string;
392
+ content: string;
393
+ category?: string;
394
+ version: string;
395
+ }
396
+ interface SkillGuidelineCreate extends SkillGuidelineBase {
397
+ }
398
+ interface SkillGuidelineUpdate {
399
+ name?: string;
400
+ description?: string;
401
+ content?: string;
402
+ category?: string;
403
+ version?: string;
404
+ isActive?: boolean;
405
+ }
406
+ interface SkillGuidelineResponse extends SkillGuidelineBase {
407
+ id: string;
408
+ tenantId?: string;
409
+ userId?: string;
410
+ isActive: boolean;
411
+ createdAt: string;
412
+ updatedAt: string;
413
+ }
414
+ interface SkillGuidelineListResponse {
415
+ skills: SkillGuidelineResponse[];
416
+ total: number;
417
+ page: number;
418
+ pageSize: number;
419
+ }
420
+ interface SkillUsageBase {
421
+ responseId: string;
422
+ skillId: string;
423
+ skillName: string;
424
+ }
425
+ interface SkillUsageCreate extends SkillUsageBase {
426
+ tenantId: string;
427
+ userId?: string;
428
+ relevanceScore?: number;
429
+ }
430
+ interface SkillUsageUpdate {
431
+ plannerSelected?: boolean;
432
+ usageReasoning?: string;
433
+ priority?: number;
434
+ executionOutcome?: 'success' | 'partial' | 'failed' | 'cancelled' | 'not_executed';
435
+ effectivenessScore?: number;
436
+ feedbackNotes?: string;
437
+ }
438
+ interface SkillUsageResponse extends SkillUsageBase {
439
+ id: string;
440
+ tenantId: string;
441
+ userId?: string;
442
+ relevanceScore?: number;
443
+ retrievedAt?: string;
444
+ plannerSelected: boolean;
445
+ usageReasoning?: string;
446
+ priority?: number;
447
+ selectedAt?: string;
448
+ executionOutcome?: string;
449
+ effectivenessScore?: number;
450
+ feedbackNotes?: string;
451
+ executedAt?: string;
452
+ createdAt: string;
453
+ updatedAt: string;
454
+ }
455
+ interface SkillUsageListResponse {
456
+ usages: SkillUsageResponse[];
457
+ total: number;
458
+ page: number;
459
+ pageSize: number;
460
+ }
461
+ interface SkillEffectivenessMetrics {
462
+ skillId?: string;
463
+ totalRetrievals: number;
464
+ totalSelections: number;
465
+ successfulExecutions: number;
466
+ selectionRate: number;
467
+ successRate: number;
468
+ avgEffectiveness: number;
469
+ usageFrequency: number;
470
+ }
471
+ interface SkillAnalyticsRequest {
472
+ skillId?: string;
473
+ tenantId?: string;
474
+ daysBack?: number;
475
+ }
476
+ interface SelectedSkill {
477
+ skillId: string;
478
+ skillName: string;
479
+ relevanceScore: number;
480
+ usageReasoning: string;
481
+ priority: number;
482
+ }
483
+ interface SkillRetrievalMetadata {
484
+ skillId: string;
485
+ skillName: string;
486
+ relevanceScore: number;
487
+ content: string;
488
+ }
489
+
388
490
  interface ThreadObject {
389
491
  threadId: UUID;
390
492
  tenantId: UUID;
@@ -910,6 +1012,80 @@ declare class ResponsesResource {
910
1012
  }): Promise<FeedbackListResponse>;
911
1013
  }
912
1014
 
1015
+ declare class SkillsResource {
1016
+ private readonly http;
1017
+ constructor(http: Http);
1018
+ /**
1019
+ * Create a new skill guideline
1020
+ * @param skillData - Skill guideline data
1021
+ * @param options - Optional parameters
1022
+ * @param options.userId - Optional user ID for skill ownership
1023
+ */
1024
+ create(skillData: SkillGuidelineCreate, options?: {
1025
+ userId?: string;
1026
+ }): Promise<SkillGuidelineResponse>;
1027
+ /**
1028
+ * List skill guidelines with optional filtering
1029
+ * @param params - Optional filter parameters
1030
+ * @param params.category - Filter by skill category
1031
+ * @param params.isActive - Filter by active status
1032
+ * @param params.page - Page number for pagination
1033
+ * @param params.pageSize - Number of items per page
1034
+ */
1035
+ list(params?: {
1036
+ category?: string;
1037
+ isActive?: boolean;
1038
+ page?: number;
1039
+ pageSize?: number;
1040
+ }): Promise<SkillGuidelineListResponse>;
1041
+ /**
1042
+ * Get a skill guideline by ID
1043
+ * @param skillId - The skill ID
1044
+ */
1045
+ get(skillId: string): Promise<SkillGuidelineResponse>;
1046
+ /**
1047
+ * Update a skill guideline
1048
+ * @param skillId - The skill ID
1049
+ * @param updates - Fields to update
1050
+ */
1051
+ update(skillId: string, updates: SkillGuidelineUpdate): Promise<SkillGuidelineResponse>;
1052
+ /**
1053
+ * Delete a skill guideline
1054
+ * @param skillId - The skill ID
1055
+ */
1056
+ delete(skillId: string): Promise<void>;
1057
+ /**
1058
+ * Create a skill usage record
1059
+ * @param usageData - Skill usage data
1060
+ */
1061
+ createUsage(usageData: SkillUsageCreate): Promise<SkillUsageResponse>;
1062
+ /**
1063
+ * List skill usage records
1064
+ * @param params - Optional filter parameters
1065
+ * @param params.skillId - Filter by skill ID
1066
+ * @param params.responseId - Filter by response ID
1067
+ * @param params.page - Page number for pagination
1068
+ * @param params.pageSize - Number of items per page
1069
+ */
1070
+ listUsage(params?: {
1071
+ skillId?: string;
1072
+ responseId?: string;
1073
+ page?: number;
1074
+ pageSize?: number;
1075
+ }): Promise<SkillUsageListResponse>;
1076
+ /**
1077
+ * Update a skill usage record
1078
+ * @param usageId - The usage record ID
1079
+ * @param updates - Fields to update
1080
+ */
1081
+ updateUsage(usageId: string, updates: SkillUsageUpdate): Promise<SkillUsageResponse>;
1082
+ /**
1083
+ * Get skill effectiveness metrics
1084
+ * @param request - Analytics request parameters
1085
+ */
1086
+ getAnalytics(request?: SkillAnalyticsRequest): Promise<SkillEffectivenessMetrics>;
1087
+ }
1088
+
913
1089
  declare class TenantInfoResource {
914
1090
  private readonly http;
915
1091
  constructor(http: Http);
@@ -1024,6 +1200,7 @@ declare class LumnisClient {
1024
1200
  readonly integrations: IntegrationsResource;
1025
1201
  readonly modelPreferences: ModelPreferencesResource;
1026
1202
  readonly mcpServers: MCPServersResource;
1203
+ readonly skills: SkillsResource;
1027
1204
  private readonly _scopedUserId?;
1028
1205
  private readonly _defaultScope;
1029
1206
  constructor(options?: LumnisClientOptions);
@@ -1070,6 +1247,13 @@ declare class LumnisClient {
1070
1247
  deleteMcpServer(serverId: string): Promise<void>;
1071
1248
  listMcpServerTools(serverId: string): Promise<MCPToolListResponse>;
1072
1249
  testMcpServer(serverId: string): Promise<TestConnectionResponse>;
1250
+ createSkill(skillData: SkillGuidelineCreate, options?: {
1251
+ userId?: string;
1252
+ }): Promise<SkillGuidelineResponse>;
1253
+ getSkill(skillId: string): Promise<SkillGuidelineResponse>;
1254
+ listSkills(params?: Parameters<SkillsResource['list']>[0]): Promise<SkillGuidelineListResponse>;
1255
+ updateSkill(skillId: string, updates: SkillGuidelineUpdate): Promise<SkillGuidelineResponse>;
1256
+ deleteSkill(skillId: string): Promise<void>;
1073
1257
  }
1074
1258
 
1075
1259
  interface LumnisErrorOptions {
@@ -1159,4 +1343,4 @@ declare class ProgressTracker {
1159
1343
  }
1160
1344
 
1161
1345
  export = LumnisClient;
1162
- export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetToolsRequest, type GetToolsResponse, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, displayProgress, formatProgressEntry };
1346
+ export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetToolsRequest, type GetToolsResponse, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, displayProgress, formatProgressEntry };
package/dist/index.d.mts CHANGED
@@ -270,6 +270,7 @@ interface AgentConfig {
270
270
  useCognitiveTools?: boolean;
271
271
  enableTaskValidation?: boolean;
272
272
  generateComprehensiveOutput?: boolean;
273
+ skillIds?: string[];
273
274
  }
274
275
  interface ModelOverrides {
275
276
  [key: string]: string;
@@ -385,6 +386,107 @@ interface FeedbackListResponse {
385
386
  note: string;
386
387
  }
387
388
 
389
+ interface SkillGuidelineBase {
390
+ name: string;
391
+ description: string;
392
+ content: string;
393
+ category?: string;
394
+ version: string;
395
+ }
396
+ interface SkillGuidelineCreate extends SkillGuidelineBase {
397
+ }
398
+ interface SkillGuidelineUpdate {
399
+ name?: string;
400
+ description?: string;
401
+ content?: string;
402
+ category?: string;
403
+ version?: string;
404
+ isActive?: boolean;
405
+ }
406
+ interface SkillGuidelineResponse extends SkillGuidelineBase {
407
+ id: string;
408
+ tenantId?: string;
409
+ userId?: string;
410
+ isActive: boolean;
411
+ createdAt: string;
412
+ updatedAt: string;
413
+ }
414
+ interface SkillGuidelineListResponse {
415
+ skills: SkillGuidelineResponse[];
416
+ total: number;
417
+ page: number;
418
+ pageSize: number;
419
+ }
420
+ interface SkillUsageBase {
421
+ responseId: string;
422
+ skillId: string;
423
+ skillName: string;
424
+ }
425
+ interface SkillUsageCreate extends SkillUsageBase {
426
+ tenantId: string;
427
+ userId?: string;
428
+ relevanceScore?: number;
429
+ }
430
+ interface SkillUsageUpdate {
431
+ plannerSelected?: boolean;
432
+ usageReasoning?: string;
433
+ priority?: number;
434
+ executionOutcome?: 'success' | 'partial' | 'failed' | 'cancelled' | 'not_executed';
435
+ effectivenessScore?: number;
436
+ feedbackNotes?: string;
437
+ }
438
+ interface SkillUsageResponse extends SkillUsageBase {
439
+ id: string;
440
+ tenantId: string;
441
+ userId?: string;
442
+ relevanceScore?: number;
443
+ retrievedAt?: string;
444
+ plannerSelected: boolean;
445
+ usageReasoning?: string;
446
+ priority?: number;
447
+ selectedAt?: string;
448
+ executionOutcome?: string;
449
+ effectivenessScore?: number;
450
+ feedbackNotes?: string;
451
+ executedAt?: string;
452
+ createdAt: string;
453
+ updatedAt: string;
454
+ }
455
+ interface SkillUsageListResponse {
456
+ usages: SkillUsageResponse[];
457
+ total: number;
458
+ page: number;
459
+ pageSize: number;
460
+ }
461
+ interface SkillEffectivenessMetrics {
462
+ skillId?: string;
463
+ totalRetrievals: number;
464
+ totalSelections: number;
465
+ successfulExecutions: number;
466
+ selectionRate: number;
467
+ successRate: number;
468
+ avgEffectiveness: number;
469
+ usageFrequency: number;
470
+ }
471
+ interface SkillAnalyticsRequest {
472
+ skillId?: string;
473
+ tenantId?: string;
474
+ daysBack?: number;
475
+ }
476
+ interface SelectedSkill {
477
+ skillId: string;
478
+ skillName: string;
479
+ relevanceScore: number;
480
+ usageReasoning: string;
481
+ priority: number;
482
+ }
483
+ interface SkillRetrievalMetadata {
484
+ skillId: string;
485
+ skillName: string;
486
+ relevanceScore: number;
487
+ content: string;
488
+ }
489
+
388
490
  interface ThreadObject {
389
491
  threadId: UUID;
390
492
  tenantId: UUID;
@@ -910,6 +1012,80 @@ declare class ResponsesResource {
910
1012
  }): Promise<FeedbackListResponse>;
911
1013
  }
912
1014
 
1015
+ declare class SkillsResource {
1016
+ private readonly http;
1017
+ constructor(http: Http);
1018
+ /**
1019
+ * Create a new skill guideline
1020
+ * @param skillData - Skill guideline data
1021
+ * @param options - Optional parameters
1022
+ * @param options.userId - Optional user ID for skill ownership
1023
+ */
1024
+ create(skillData: SkillGuidelineCreate, options?: {
1025
+ userId?: string;
1026
+ }): Promise<SkillGuidelineResponse>;
1027
+ /**
1028
+ * List skill guidelines with optional filtering
1029
+ * @param params - Optional filter parameters
1030
+ * @param params.category - Filter by skill category
1031
+ * @param params.isActive - Filter by active status
1032
+ * @param params.page - Page number for pagination
1033
+ * @param params.pageSize - Number of items per page
1034
+ */
1035
+ list(params?: {
1036
+ category?: string;
1037
+ isActive?: boolean;
1038
+ page?: number;
1039
+ pageSize?: number;
1040
+ }): Promise<SkillGuidelineListResponse>;
1041
+ /**
1042
+ * Get a skill guideline by ID
1043
+ * @param skillId - The skill ID
1044
+ */
1045
+ get(skillId: string): Promise<SkillGuidelineResponse>;
1046
+ /**
1047
+ * Update a skill guideline
1048
+ * @param skillId - The skill ID
1049
+ * @param updates - Fields to update
1050
+ */
1051
+ update(skillId: string, updates: SkillGuidelineUpdate): Promise<SkillGuidelineResponse>;
1052
+ /**
1053
+ * Delete a skill guideline
1054
+ * @param skillId - The skill ID
1055
+ */
1056
+ delete(skillId: string): Promise<void>;
1057
+ /**
1058
+ * Create a skill usage record
1059
+ * @param usageData - Skill usage data
1060
+ */
1061
+ createUsage(usageData: SkillUsageCreate): Promise<SkillUsageResponse>;
1062
+ /**
1063
+ * List skill usage records
1064
+ * @param params - Optional filter parameters
1065
+ * @param params.skillId - Filter by skill ID
1066
+ * @param params.responseId - Filter by response ID
1067
+ * @param params.page - Page number for pagination
1068
+ * @param params.pageSize - Number of items per page
1069
+ */
1070
+ listUsage(params?: {
1071
+ skillId?: string;
1072
+ responseId?: string;
1073
+ page?: number;
1074
+ pageSize?: number;
1075
+ }): Promise<SkillUsageListResponse>;
1076
+ /**
1077
+ * Update a skill usage record
1078
+ * @param usageId - The usage record ID
1079
+ * @param updates - Fields to update
1080
+ */
1081
+ updateUsage(usageId: string, updates: SkillUsageUpdate): Promise<SkillUsageResponse>;
1082
+ /**
1083
+ * Get skill effectiveness metrics
1084
+ * @param request - Analytics request parameters
1085
+ */
1086
+ getAnalytics(request?: SkillAnalyticsRequest): Promise<SkillEffectivenessMetrics>;
1087
+ }
1088
+
913
1089
  declare class TenantInfoResource {
914
1090
  private readonly http;
915
1091
  constructor(http: Http);
@@ -1024,6 +1200,7 @@ declare class LumnisClient {
1024
1200
  readonly integrations: IntegrationsResource;
1025
1201
  readonly modelPreferences: ModelPreferencesResource;
1026
1202
  readonly mcpServers: MCPServersResource;
1203
+ readonly skills: SkillsResource;
1027
1204
  private readonly _scopedUserId?;
1028
1205
  private readonly _defaultScope;
1029
1206
  constructor(options?: LumnisClientOptions);
@@ -1070,6 +1247,13 @@ declare class LumnisClient {
1070
1247
  deleteMcpServer(serverId: string): Promise<void>;
1071
1248
  listMcpServerTools(serverId: string): Promise<MCPToolListResponse>;
1072
1249
  testMcpServer(serverId: string): Promise<TestConnectionResponse>;
1250
+ createSkill(skillData: SkillGuidelineCreate, options?: {
1251
+ userId?: string;
1252
+ }): Promise<SkillGuidelineResponse>;
1253
+ getSkill(skillId: string): Promise<SkillGuidelineResponse>;
1254
+ listSkills(params?: Parameters<SkillsResource['list']>[0]): Promise<SkillGuidelineListResponse>;
1255
+ updateSkill(skillId: string, updates: SkillGuidelineUpdate): Promise<SkillGuidelineResponse>;
1256
+ deleteSkill(skillId: string): Promise<void>;
1073
1257
  }
1074
1258
 
1075
1259
  interface LumnisErrorOptions {
@@ -1158,4 +1342,4 @@ declare class ProgressTracker {
1158
1342
  reset(): void;
1159
1343
  }
1160
1344
 
1161
- export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetToolsRequest, type GetToolsResponse, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, LumnisClient as default, displayProgress, formatProgressEntry };
1345
+ export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetToolsRequest, type GetToolsResponse, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, LumnisClient as default, displayProgress, formatProgressEntry };
package/dist/index.d.ts CHANGED
@@ -270,6 +270,7 @@ interface AgentConfig {
270
270
  useCognitiveTools?: boolean;
271
271
  enableTaskValidation?: boolean;
272
272
  generateComprehensiveOutput?: boolean;
273
+ skillIds?: string[];
273
274
  }
274
275
  interface ModelOverrides {
275
276
  [key: string]: string;
@@ -385,6 +386,107 @@ interface FeedbackListResponse {
385
386
  note: string;
386
387
  }
387
388
 
389
+ interface SkillGuidelineBase {
390
+ name: string;
391
+ description: string;
392
+ content: string;
393
+ category?: string;
394
+ version: string;
395
+ }
396
+ interface SkillGuidelineCreate extends SkillGuidelineBase {
397
+ }
398
+ interface SkillGuidelineUpdate {
399
+ name?: string;
400
+ description?: string;
401
+ content?: string;
402
+ category?: string;
403
+ version?: string;
404
+ isActive?: boolean;
405
+ }
406
+ interface SkillGuidelineResponse extends SkillGuidelineBase {
407
+ id: string;
408
+ tenantId?: string;
409
+ userId?: string;
410
+ isActive: boolean;
411
+ createdAt: string;
412
+ updatedAt: string;
413
+ }
414
+ interface SkillGuidelineListResponse {
415
+ skills: SkillGuidelineResponse[];
416
+ total: number;
417
+ page: number;
418
+ pageSize: number;
419
+ }
420
+ interface SkillUsageBase {
421
+ responseId: string;
422
+ skillId: string;
423
+ skillName: string;
424
+ }
425
+ interface SkillUsageCreate extends SkillUsageBase {
426
+ tenantId: string;
427
+ userId?: string;
428
+ relevanceScore?: number;
429
+ }
430
+ interface SkillUsageUpdate {
431
+ plannerSelected?: boolean;
432
+ usageReasoning?: string;
433
+ priority?: number;
434
+ executionOutcome?: 'success' | 'partial' | 'failed' | 'cancelled' | 'not_executed';
435
+ effectivenessScore?: number;
436
+ feedbackNotes?: string;
437
+ }
438
+ interface SkillUsageResponse extends SkillUsageBase {
439
+ id: string;
440
+ tenantId: string;
441
+ userId?: string;
442
+ relevanceScore?: number;
443
+ retrievedAt?: string;
444
+ plannerSelected: boolean;
445
+ usageReasoning?: string;
446
+ priority?: number;
447
+ selectedAt?: string;
448
+ executionOutcome?: string;
449
+ effectivenessScore?: number;
450
+ feedbackNotes?: string;
451
+ executedAt?: string;
452
+ createdAt: string;
453
+ updatedAt: string;
454
+ }
455
+ interface SkillUsageListResponse {
456
+ usages: SkillUsageResponse[];
457
+ total: number;
458
+ page: number;
459
+ pageSize: number;
460
+ }
461
+ interface SkillEffectivenessMetrics {
462
+ skillId?: string;
463
+ totalRetrievals: number;
464
+ totalSelections: number;
465
+ successfulExecutions: number;
466
+ selectionRate: number;
467
+ successRate: number;
468
+ avgEffectiveness: number;
469
+ usageFrequency: number;
470
+ }
471
+ interface SkillAnalyticsRequest {
472
+ skillId?: string;
473
+ tenantId?: string;
474
+ daysBack?: number;
475
+ }
476
+ interface SelectedSkill {
477
+ skillId: string;
478
+ skillName: string;
479
+ relevanceScore: number;
480
+ usageReasoning: string;
481
+ priority: number;
482
+ }
483
+ interface SkillRetrievalMetadata {
484
+ skillId: string;
485
+ skillName: string;
486
+ relevanceScore: number;
487
+ content: string;
488
+ }
489
+
388
490
  interface ThreadObject {
389
491
  threadId: UUID;
390
492
  tenantId: UUID;
@@ -910,6 +1012,80 @@ declare class ResponsesResource {
910
1012
  }): Promise<FeedbackListResponse>;
911
1013
  }
912
1014
 
1015
+ declare class SkillsResource {
1016
+ private readonly http;
1017
+ constructor(http: Http);
1018
+ /**
1019
+ * Create a new skill guideline
1020
+ * @param skillData - Skill guideline data
1021
+ * @param options - Optional parameters
1022
+ * @param options.userId - Optional user ID for skill ownership
1023
+ */
1024
+ create(skillData: SkillGuidelineCreate, options?: {
1025
+ userId?: string;
1026
+ }): Promise<SkillGuidelineResponse>;
1027
+ /**
1028
+ * List skill guidelines with optional filtering
1029
+ * @param params - Optional filter parameters
1030
+ * @param params.category - Filter by skill category
1031
+ * @param params.isActive - Filter by active status
1032
+ * @param params.page - Page number for pagination
1033
+ * @param params.pageSize - Number of items per page
1034
+ */
1035
+ list(params?: {
1036
+ category?: string;
1037
+ isActive?: boolean;
1038
+ page?: number;
1039
+ pageSize?: number;
1040
+ }): Promise<SkillGuidelineListResponse>;
1041
+ /**
1042
+ * Get a skill guideline by ID
1043
+ * @param skillId - The skill ID
1044
+ */
1045
+ get(skillId: string): Promise<SkillGuidelineResponse>;
1046
+ /**
1047
+ * Update a skill guideline
1048
+ * @param skillId - The skill ID
1049
+ * @param updates - Fields to update
1050
+ */
1051
+ update(skillId: string, updates: SkillGuidelineUpdate): Promise<SkillGuidelineResponse>;
1052
+ /**
1053
+ * Delete a skill guideline
1054
+ * @param skillId - The skill ID
1055
+ */
1056
+ delete(skillId: string): Promise<void>;
1057
+ /**
1058
+ * Create a skill usage record
1059
+ * @param usageData - Skill usage data
1060
+ */
1061
+ createUsage(usageData: SkillUsageCreate): Promise<SkillUsageResponse>;
1062
+ /**
1063
+ * List skill usage records
1064
+ * @param params - Optional filter parameters
1065
+ * @param params.skillId - Filter by skill ID
1066
+ * @param params.responseId - Filter by response ID
1067
+ * @param params.page - Page number for pagination
1068
+ * @param params.pageSize - Number of items per page
1069
+ */
1070
+ listUsage(params?: {
1071
+ skillId?: string;
1072
+ responseId?: string;
1073
+ page?: number;
1074
+ pageSize?: number;
1075
+ }): Promise<SkillUsageListResponse>;
1076
+ /**
1077
+ * Update a skill usage record
1078
+ * @param usageId - The usage record ID
1079
+ * @param updates - Fields to update
1080
+ */
1081
+ updateUsage(usageId: string, updates: SkillUsageUpdate): Promise<SkillUsageResponse>;
1082
+ /**
1083
+ * Get skill effectiveness metrics
1084
+ * @param request - Analytics request parameters
1085
+ */
1086
+ getAnalytics(request?: SkillAnalyticsRequest): Promise<SkillEffectivenessMetrics>;
1087
+ }
1088
+
913
1089
  declare class TenantInfoResource {
914
1090
  private readonly http;
915
1091
  constructor(http: Http);
@@ -1024,6 +1200,7 @@ declare class LumnisClient {
1024
1200
  readonly integrations: IntegrationsResource;
1025
1201
  readonly modelPreferences: ModelPreferencesResource;
1026
1202
  readonly mcpServers: MCPServersResource;
1203
+ readonly skills: SkillsResource;
1027
1204
  private readonly _scopedUserId?;
1028
1205
  private readonly _defaultScope;
1029
1206
  constructor(options?: LumnisClientOptions);
@@ -1070,6 +1247,13 @@ declare class LumnisClient {
1070
1247
  deleteMcpServer(serverId: string): Promise<void>;
1071
1248
  listMcpServerTools(serverId: string): Promise<MCPToolListResponse>;
1072
1249
  testMcpServer(serverId: string): Promise<TestConnectionResponse>;
1250
+ createSkill(skillData: SkillGuidelineCreate, options?: {
1251
+ userId?: string;
1252
+ }): Promise<SkillGuidelineResponse>;
1253
+ getSkill(skillId: string): Promise<SkillGuidelineResponse>;
1254
+ listSkills(params?: Parameters<SkillsResource['list']>[0]): Promise<SkillGuidelineListResponse>;
1255
+ updateSkill(skillId: string, updates: SkillGuidelineUpdate): Promise<SkillGuidelineResponse>;
1256
+ deleteSkill(skillId: string): Promise<void>;
1073
1257
  }
1074
1258
 
1075
1259
  interface LumnisErrorOptions {
@@ -1159,4 +1343,4 @@ declare class ProgressTracker {
1159
1343
  }
1160
1344
 
1161
1345
  export = LumnisClient;
1162
- export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetToolsRequest, type GetToolsResponse, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, displayProgress, formatProgressEntry };
1346
+ export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetToolsRequest, type GetToolsResponse, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, displayProgress, formatProgressEntry };
package/dist/index.mjs CHANGED
@@ -577,6 +577,116 @@ class ResponsesResource {
577
577
  }
578
578
  }
579
579
 
580
+ class SkillsResource {
581
+ constructor(http) {
582
+ this.http = http;
583
+ }
584
+ /**
585
+ * Create a new skill guideline
586
+ * @param skillData - Skill guideline data
587
+ * @param options - Optional parameters
588
+ * @param options.userId - Optional user ID for skill ownership
589
+ */
590
+ async create(skillData, options) {
591
+ const params = {};
592
+ if (options?.userId) {
593
+ params.user_id = options.userId;
594
+ }
595
+ return this.http.post("/skills", skillData, { params });
596
+ }
597
+ /**
598
+ * List skill guidelines with optional filtering
599
+ * @param params - Optional filter parameters
600
+ * @param params.category - Filter by skill category
601
+ * @param params.isActive - Filter by active status
602
+ * @param params.page - Page number for pagination
603
+ * @param params.pageSize - Number of items per page
604
+ */
605
+ async list(params) {
606
+ const queryParams = {};
607
+ if (params?.category)
608
+ queryParams.category = params.category;
609
+ if (params?.isActive !== void 0)
610
+ queryParams.is_active = params.isActive;
611
+ if (params?.page)
612
+ queryParams.page = params.page;
613
+ if (params?.pageSize)
614
+ queryParams.page_size = params.pageSize;
615
+ return this.http.get("/skills", { params: queryParams });
616
+ }
617
+ /**
618
+ * Get a skill guideline by ID
619
+ * @param skillId - The skill ID
620
+ */
621
+ async get(skillId) {
622
+ return this.http.get(`/skills/${skillId}`);
623
+ }
624
+ /**
625
+ * Update a skill guideline
626
+ * @param skillId - The skill ID
627
+ * @param updates - Fields to update
628
+ */
629
+ async update(skillId, updates) {
630
+ return this.http.put(`/skills/${skillId}`, updates);
631
+ }
632
+ /**
633
+ * Delete a skill guideline
634
+ * @param skillId - The skill ID
635
+ */
636
+ async delete(skillId) {
637
+ await this.http.delete(`/skills/${skillId}`);
638
+ }
639
+ /**
640
+ * Create a skill usage record
641
+ * @param usageData - Skill usage data
642
+ */
643
+ async createUsage(usageData) {
644
+ return this.http.post("/skills/usage", usageData);
645
+ }
646
+ /**
647
+ * List skill usage records
648
+ * @param params - Optional filter parameters
649
+ * @param params.skillId - Filter by skill ID
650
+ * @param params.responseId - Filter by response ID
651
+ * @param params.page - Page number for pagination
652
+ * @param params.pageSize - Number of items per page
653
+ */
654
+ async listUsage(params) {
655
+ const queryParams = {};
656
+ if (params?.skillId)
657
+ queryParams.skill_id = params.skillId;
658
+ if (params?.responseId)
659
+ queryParams.response_id = params.responseId;
660
+ if (params?.page)
661
+ queryParams.page = params.page;
662
+ if (params?.pageSize)
663
+ queryParams.page_size = params.pageSize;
664
+ return this.http.get("/skills/usage", { params: queryParams });
665
+ }
666
+ /**
667
+ * Update a skill usage record
668
+ * @param usageId - The usage record ID
669
+ * @param updates - Fields to update
670
+ */
671
+ async updateUsage(usageId, updates) {
672
+ return this.http.put(`/skills/usage/${usageId}`, updates);
673
+ }
674
+ /**
675
+ * Get skill effectiveness metrics
676
+ * @param request - Analytics request parameters
677
+ */
678
+ async getAnalytics(request) {
679
+ const queryParams = {};
680
+ if (request?.skillId)
681
+ queryParams.skill_id = request.skillId;
682
+ if (request?.tenantId)
683
+ queryParams.tenant_id = request.tenantId;
684
+ if (request?.daysBack)
685
+ queryParams.days_back = request.daysBack;
686
+ return this.http.get("/skills/analytics", { params: queryParams });
687
+ }
688
+ }
689
+
580
690
  class TenantInfoResource {
581
691
  constructor(http) {
582
692
  this.http = http;
@@ -875,6 +985,7 @@ class LumnisClient {
875
985
  integrations;
876
986
  modelPreferences;
877
987
  mcpServers;
988
+ skills;
878
989
  _scopedUserId;
879
990
  _defaultScope;
880
991
  constructor(options = {}) {
@@ -904,6 +1015,7 @@ class LumnisClient {
904
1015
  this.integrations = new IntegrationsResource(this.http);
905
1016
  this.modelPreferences = new ModelPreferencesResource(this.http);
906
1017
  this.mcpServers = new MCPServersResource(this.http);
1018
+ this.skills = new SkillsResource(this.http);
907
1019
  }
908
1020
  forUser(userId) {
909
1021
  return new LumnisClient({
@@ -1118,6 +1230,22 @@ class LumnisClient {
1118
1230
  async testMcpServer(serverId) {
1119
1231
  return this.mcpServers.testConnection(serverId);
1120
1232
  }
1233
+ // Skills methods
1234
+ async createSkill(skillData, options) {
1235
+ return this.skills.create(skillData, options);
1236
+ }
1237
+ async getSkill(skillId) {
1238
+ return this.skills.get(skillId);
1239
+ }
1240
+ async listSkills(params) {
1241
+ return this.skills.list(params);
1242
+ }
1243
+ async updateSkill(skillId, updates) {
1244
+ return this.skills.update(skillId, updates);
1245
+ }
1246
+ async deleteSkill(skillId) {
1247
+ return this.skills.delete(skillId);
1248
+ }
1121
1249
  }
1122
1250
  function createSimpleProgressCallback() {
1123
1251
  let lastStatus;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lumnisai",
3
3
  "type": "module",
4
- "version": "0.1.3",
4
+ "version": "0.1.4",
5
5
  "description": "Official Node.js SDK for the Lumnis AI API",
6
6
  "author": "Lumnis AI",
7
7
  "license": "MIT",
@@ -66,6 +66,7 @@
66
66
  "release": "bumpp && pnpm publish",
67
67
  "start": "tsx src/index.ts",
68
68
  "test": "vitest",
69
- "typecheck": "tsc --noEmit"
69
+ "typecheck": "tsc --noEmit",
70
+ "example:skills": "tsx examples/skills-example.ts"
70
71
  }
71
72
  }