@axiom-lattice/gateway 2.1.20 → 2.1.22

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.
@@ -352,3 +352,498 @@ export const getHealthSchema: FastifySchema = {
352
352
  },
353
353
  },
354
354
  };
355
+
356
+ // Skills Schemas
357
+ export const getSkillListSchema: FastifySchema = {
358
+ description: "Get list of all skills",
359
+ tags: ["Skills"],
360
+ summary: "Get Skill List",
361
+ response: {
362
+ 200: {
363
+ type: "object",
364
+ properties: {
365
+ success: { type: "boolean" },
366
+ message: { type: "string" },
367
+ data: {
368
+ type: "object",
369
+ properties: {
370
+ records: {
371
+ type: "array",
372
+ items: { type: "object" },
373
+ },
374
+ total: { type: "number" },
375
+ },
376
+ },
377
+ },
378
+ },
379
+ 500: {
380
+ type: "object",
381
+ properties: {
382
+ success: { type: "boolean" },
383
+ message: { type: "string" },
384
+ data: {
385
+ type: "object",
386
+ properties: {
387
+ records: {
388
+ type: "array",
389
+ items: { type: "object" },
390
+ },
391
+ total: { type: "number" },
392
+ },
393
+ },
394
+ },
395
+ },
396
+ },
397
+ };
398
+
399
+ export const getSkillSchema: FastifySchema = {
400
+ description: "Get a single skill by ID",
401
+ tags: ["Skills"],
402
+ summary: "Get Skill",
403
+ params: {
404
+ type: "object",
405
+ properties: {
406
+ id: { type: "string", description: "Skill ID" },
407
+ },
408
+ required: ["id"],
409
+ },
410
+ response: {
411
+ 200: {
412
+ type: "object",
413
+ properties: {
414
+ success: { type: "boolean" },
415
+ message: { type: "string" },
416
+ data: { type: "object" },
417
+ },
418
+ },
419
+ 404: {
420
+ type: "object",
421
+ properties: {
422
+ success: { type: "boolean" },
423
+ message: { type: "string" },
424
+ },
425
+ },
426
+ 500: {
427
+ type: "object",
428
+ properties: {
429
+ success: { type: "boolean" },
430
+ message: { type: "string" },
431
+ },
432
+ },
433
+ },
434
+ };
435
+
436
+ export const createSkillSchema: FastifySchema = {
437
+ description: "Create a new skill",
438
+ tags: ["Skills"],
439
+ summary: "Create Skill",
440
+ body: {
441
+ type: "object",
442
+ properties: {
443
+ id: {
444
+ type: "string",
445
+ description: "Skill ID (optional, defaults to name if not provided; must equal name, name is used for path addressing)"
446
+ },
447
+ name: {
448
+ type: "string",
449
+ description: "Skill name (1-64 chars, lowercase alphanumeric with single hyphens, pattern: ^[a-z0-9]+(-[a-z0-9]+)*$)",
450
+ pattern: "^[a-z0-9]+(-[a-z0-9]+)*$",
451
+ minLength: 1,
452
+ maxLength: 64
453
+ },
454
+ description: { type: "string", description: "Skill description" },
455
+ license: { type: "string", description: "License information" },
456
+ compatibility: { type: "string", description: "Compatibility information" },
457
+ metadata: {
458
+ type: "object",
459
+ additionalProperties: { type: "string" },
460
+ description: "Additional metadata",
461
+ },
462
+ content: { type: "string", description: "Skill detailed content (markdown)" },
463
+ subSkills: {
464
+ type: "array",
465
+ items: { type: "string" },
466
+ description: "Array of sub-skill names (hierarchical structure)",
467
+ },
468
+ },
469
+ required: ["name", "description"],
470
+ },
471
+ response: {
472
+ 201: {
473
+ type: "object",
474
+ properties: {
475
+ success: { type: "boolean" },
476
+ message: { type: "string" },
477
+ data: { type: "object" },
478
+ },
479
+ },
480
+ 400: {
481
+ type: "object",
482
+ properties: {
483
+ success: { type: "boolean" },
484
+ message: { type: "string" },
485
+ },
486
+ },
487
+ 409: {
488
+ type: "object",
489
+ properties: {
490
+ success: { type: "boolean" },
491
+ message: { type: "string" },
492
+ },
493
+ },
494
+ 500: {
495
+ type: "object",
496
+ properties: {
497
+ success: { type: "boolean" },
498
+ message: { type: "string" },
499
+ },
500
+ },
501
+ },
502
+ };
503
+
504
+ export const updateSkillSchema: FastifySchema = {
505
+ description: "Update an existing skill",
506
+ tags: ["Skills"],
507
+ summary: "Update Skill",
508
+ params: {
509
+ type: "object",
510
+ properties: {
511
+ id: { type: "string", description: "Skill ID" },
512
+ },
513
+ required: ["id"],
514
+ },
515
+ body: {
516
+ type: "object",
517
+ properties: {
518
+ name: {
519
+ type: "string",
520
+ description: "Skill name (1-64 chars, lowercase alphanumeric with single hyphens, pattern: ^[a-z0-9]+(-[a-z0-9]+)*$)",
521
+ pattern: "^[a-z0-9]+(-[a-z0-9]+)*$",
522
+ minLength: 1,
523
+ maxLength: 64
524
+ },
525
+ description: { type: "string", description: "Skill description" },
526
+ license: { type: "string", description: "License information" },
527
+ compatibility: { type: "string", description: "Compatibility information" },
528
+ metadata: {
529
+ type: "object",
530
+ additionalProperties: { type: "string" },
531
+ description: "Additional metadata",
532
+ },
533
+ content: { type: "string", description: "Skill detailed content (markdown)" },
534
+ subSkills: {
535
+ type: "array",
536
+ items: { type: "string" },
537
+ description: "Array of sub-skill names (hierarchical structure)",
538
+ },
539
+ },
540
+ },
541
+ response: {
542
+ 200: {
543
+ type: "object",
544
+ properties: {
545
+ success: { type: "boolean" },
546
+ message: { type: "string" },
547
+ data: { type: "object" },
548
+ },
549
+ },
550
+ 400: {
551
+ type: "object",
552
+ properties: {
553
+ success: { type: "boolean" },
554
+ message: { type: "string" },
555
+ },
556
+ },
557
+ 404: {
558
+ type: "object",
559
+ properties: {
560
+ success: { type: "boolean" },
561
+ message: { type: "string" },
562
+ },
563
+ },
564
+ 500: {
565
+ type: "object",
566
+ properties: {
567
+ success: { type: "boolean" },
568
+ message: { type: "string" },
569
+ },
570
+ },
571
+ },
572
+ };
573
+
574
+ export const deleteSkillSchema: FastifySchema = {
575
+ description: "Delete a skill by ID",
576
+ tags: ["Skills"],
577
+ summary: "Delete Skill",
578
+ params: {
579
+ type: "object",
580
+ properties: {
581
+ id: { type: "string", description: "Skill ID" },
582
+ },
583
+ required: ["id"],
584
+ },
585
+ response: {
586
+ 200: {
587
+ type: "object",
588
+ properties: {
589
+ success: { type: "boolean" },
590
+ message: { type: "string" },
591
+ },
592
+ },
593
+ 404: {
594
+ type: "object",
595
+ properties: {
596
+ success: { type: "boolean" },
597
+ message: { type: "string" },
598
+ },
599
+ },
600
+ 500: {
601
+ type: "object",
602
+ properties: {
603
+ success: { type: "boolean" },
604
+ message: { type: "string" },
605
+ },
606
+ },
607
+ },
608
+ };
609
+
610
+ export const searchSkillsByMetadataSchema: FastifySchema = {
611
+ description: "Search skills by metadata",
612
+ tags: ["Skills"],
613
+ summary: "Search Skills by Metadata",
614
+ querystring: {
615
+ type: "object",
616
+ properties: {
617
+ key: { type: "string", description: "Metadata key" },
618
+ value: { type: "string", description: "Metadata value" },
619
+ },
620
+ required: ["key", "value"],
621
+ },
622
+ response: {
623
+ 200: {
624
+ type: "object",
625
+ properties: {
626
+ success: { type: "boolean" },
627
+ message: { type: "string" },
628
+ data: {
629
+ type: "object",
630
+ properties: {
631
+ records: {
632
+ type: "array",
633
+ items: { type: "object" },
634
+ },
635
+ total: { type: "number" },
636
+ },
637
+ },
638
+ },
639
+ },
640
+ 400: {
641
+ type: "object",
642
+ properties: {
643
+ success: { type: "boolean" },
644
+ message: { type: "string" },
645
+ data: {
646
+ type: "object",
647
+ properties: {
648
+ records: {
649
+ type: "array",
650
+ items: { type: "object" },
651
+ },
652
+ total: { type: "number" },
653
+ },
654
+ },
655
+ },
656
+ },
657
+ 500: {
658
+ type: "object",
659
+ properties: {
660
+ success: { type: "boolean" },
661
+ message: { type: "string" },
662
+ data: {
663
+ type: "object",
664
+ properties: {
665
+ records: {
666
+ type: "array",
667
+ items: { type: "object" },
668
+ },
669
+ total: { type: "number" },
670
+ },
671
+ },
672
+ },
673
+ },
674
+ },
675
+ };
676
+
677
+ export const filterSkillsByCompatibilitySchema: FastifySchema = {
678
+ description: "Filter skills by compatibility",
679
+ tags: ["Skills"],
680
+ summary: "Filter Skills by Compatibility",
681
+ querystring: {
682
+ type: "object",
683
+ properties: {
684
+ compatibility: { type: "string", description: "Compatibility string" },
685
+ },
686
+ required: ["compatibility"],
687
+ },
688
+ response: {
689
+ 200: {
690
+ type: "object",
691
+ properties: {
692
+ success: { type: "boolean" },
693
+ message: { type: "string" },
694
+ data: {
695
+ type: "object",
696
+ properties: {
697
+ records: {
698
+ type: "array",
699
+ items: { type: "object" },
700
+ },
701
+ total: { type: "number" },
702
+ },
703
+ },
704
+ },
705
+ },
706
+ 400: {
707
+ type: "object",
708
+ properties: {
709
+ success: { type: "boolean" },
710
+ message: { type: "string" },
711
+ data: {
712
+ type: "object",
713
+ properties: {
714
+ records: {
715
+ type: "array",
716
+ items: { type: "object" },
717
+ },
718
+ total: { type: "number" },
719
+ },
720
+ },
721
+ },
722
+ },
723
+ 500: {
724
+ type: "object",
725
+ properties: {
726
+ success: { type: "boolean" },
727
+ message: { type: "string" },
728
+ data: {
729
+ type: "object",
730
+ properties: {
731
+ records: {
732
+ type: "array",
733
+ items: { type: "object" },
734
+ },
735
+ total: { type: "number" },
736
+ },
737
+ },
738
+ },
739
+ },
740
+ },
741
+ };
742
+
743
+ export const filterSkillsByLicenseSchema: FastifySchema = {
744
+ description: "Filter skills by license",
745
+ tags: ["Skills"],
746
+ summary: "Filter Skills by License",
747
+ querystring: {
748
+ type: "object",
749
+ properties: {
750
+ license: { type: "string", description: "License string" },
751
+ },
752
+ required: ["license"],
753
+ },
754
+ response: {
755
+ 200: {
756
+ type: "object",
757
+ properties: {
758
+ success: { type: "boolean" },
759
+ message: { type: "string" },
760
+ data: {
761
+ type: "object",
762
+ properties: {
763
+ records: {
764
+ type: "array",
765
+ items: { type: "object" },
766
+ },
767
+ total: { type: "number" },
768
+ },
769
+ },
770
+ },
771
+ },
772
+ 400: {
773
+ type: "object",
774
+ properties: {
775
+ success: { type: "boolean" },
776
+ message: { type: "string" },
777
+ data: {
778
+ type: "object",
779
+ properties: {
780
+ records: {
781
+ type: "array",
782
+ items: { type: "object" },
783
+ },
784
+ total: { type: "number" },
785
+ },
786
+ },
787
+ },
788
+ },
789
+ 500: {
790
+ type: "object",
791
+ properties: {
792
+ success: { type: "boolean" },
793
+ message: { type: "string" },
794
+ data: {
795
+ type: "object",
796
+ properties: {
797
+ records: {
798
+ type: "array",
799
+ items: { type: "object" },
800
+ },
801
+ total: { type: "number" },
802
+ },
803
+ },
804
+ },
805
+ },
806
+ },
807
+ };
808
+
809
+ export const getSandboxUrlSchema: FastifySchema = {
810
+ description: "Get sandbox URL based on assistant and thread configuration",
811
+ tags: ["Sandbox"],
812
+ summary: "Get Sandbox URL",
813
+ params: {
814
+ type: "object",
815
+ properties: {
816
+ assistantId: { type: "string", description: "Assistant ID" },
817
+ threadId: { type: "string", description: "Thread ID" },
818
+ },
819
+ required: ["assistantId", "threadId"],
820
+ },
821
+ response: {
822
+ 200: {
823
+ type: "object",
824
+ properties: {
825
+ success: { type: "boolean" },
826
+ message: { type: "string" },
827
+ data: {
828
+ type: "object",
829
+ properties: {
830
+ sandboxUrl: { type: "string", description: "Sandbox URL" },
831
+ sandboxName: { type: "string", description: "Sandbox name" },
832
+ isolatedLevel: {
833
+ type: "string",
834
+ enum: ["agent", "thread", "global"],
835
+ description: "Sandbox isolation level",
836
+ },
837
+ },
838
+ },
839
+ },
840
+ },
841
+ 404: {
842
+ type: "object",
843
+ properties: {
844
+ success: { type: "boolean" },
845
+ message: { type: "string" },
846
+ },
847
+ },
848
+ },
849
+ };
@@ -59,7 +59,11 @@ export async function agent_invoke({
59
59
  }
60
60
 
61
61
  // Get runConfig from agent config and merge into configurable
62
- const runConfig = agentLattice?.config?.runConfig || {};
62
+ const runConfig = {
63
+ ...agentLattice?.config?.runConfig || {},
64
+ assistant_id,
65
+ sandboxConfig: agentLattice?.config?.connectedSandbox,
66
+ }
63
67
 
64
68
  const result = await runnable_agent.invoke(
65
69
  command
@@ -116,7 +120,11 @@ export async function agent_stream({
116
120
  const chunkBuffer = getOrCreateChunkBuffer();
117
121
 
118
122
  // Get runConfig from agent config and merge into configurable
119
- const runConfig = agentLattice?.config?.runConfig || {};
123
+ const runConfig = {
124
+ ...agentLattice?.config?.runConfig || {},
125
+ assistant_id,
126
+ sandboxConfig: agentLattice?.config?.connectedSandbox,
127
+ }
120
128
 
121
129
  try {
122
130
  if (!runnable_agent) {
@@ -126,10 +134,10 @@ export async function agent_stream({
126
134
  command
127
135
  ? new Command(command)
128
136
  : {
129
- ...rest,
130
- messages,
131
- "x-tenant-id": tenant_id,
132
- },
137
+ ...rest,
138
+ messages,
139
+ "x-tenant-id": tenant_id,
140
+ },
133
141
 
134
142
  {
135
143
  configurable: {