Skip to content

Commit 2a8916a

Browse files
committed
Distribute Providers Models Enums to more applicable places in the implementer API area. Resolve alphabetization issues. Replicate Tools in both Implementer and Extender areas
1 parent 6d80be6 commit 2a8916a

File tree

1 file changed

+53
-28
lines changed

1 file changed

+53
-28
lines changed

docs/ARCHITECTURE.md

Lines changed: 53 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,16 @@ direction LR
535535
}
536536
}
537537
538+
namespace AiClientNamespace.Enums {
539+
class ModalityEnum {
540+
TEXT
541+
DOCUMENT
542+
IMAGE
543+
AUDIO
544+
VIDEO
545+
}
546+
}
547+
538548
namespace AiClientNamespace.Files.Contracts {
539549
class FileInterface {
540550
}
@@ -604,6 +614,16 @@ direction LR
604614
}
605615
}
606616
617+
namespace AiClientNamespace.Operations.Enums {
618+
class OperationStateEnum {
619+
STARTING
620+
PROCESSING
621+
SUCCEEDED
622+
FAILED
623+
CANCELED
624+
}
625+
}
626+
607627
namespace AiClientNamespace.Operations.DTO {
608628
class EmbeddingOperation {
609629
+getId() string
@@ -619,37 +639,23 @@ direction LR
619639
}
620640
}
621641
622-
namespace AiClientNamespace.Providers.Models.Enums {
623-
class ModalityEnum {
624-
TEXT
625-
DOCUMENT
626-
IMAGE
627-
AUDIO
628-
VIDEO
642+
namespace AiClientNamespace.Results.Contracts {
643+
class ResultInterface {
644+
+getId() string
645+
+getTokenUsage() TokenUsage
646+
+getProviderMetadata() array< string, mixed >
647+
+getJsonSchema() array< string, mixed >$
629648
}
649+
}
650+
651+
namespace AiClientNamespace.Results.Enums {
630652
class FinishReasonEnum {
631653
STOP
632654
LENGTH
633655
CONTENT_FILTER
634656
TOOL_CALLS
635657
ERROR
636658
}
637-
class OperationStateEnum {
638-
STARTING
639-
PROCESSING
640-
SUCCEEDED
641-
FAILED
642-
CANCELED
643-
}
644-
}
645-
646-
namespace AiClientNamespace.Results.Contracts {
647-
class ResultInterface {
648-
+getId() string
649-
+getTokenUsage() TokenUsage
650-
+getProviderMetadata() array< string, mixed >
651-
+getJsonSchema() array< string, mixed >$
652-
}
653659
}
654660
655661
namespace AiClientNamespace.Results.DTO {
@@ -699,12 +705,29 @@ direction LR
699705
+getArgs() array< string, mixed >
700706
+getJsonSchema() array< string, mixed >$
701707
}
708+
class FunctionDeclaration {
709+
+getName() string
710+
+getDescription() string
711+
+getParameters() mixed
712+
+getJsonSchema() array< string, mixed >$
713+
}
702714
class FunctionResponse {
703715
+getId() string
704716
+getName() string
705717
+getResponse() mixed
706718
+getJsonSchema() array< string, mixed >$
707719
}
720+
class Tool {
721+
+getType() ToolType
722+
+getFunctionDeclarations() FunctionDeclaration[]?
723+
+getWebSearch() WebSearch?
724+
+getJsonSchema() array< string, mixed >$
725+
}
726+
class WebSearch {
727+
+getAllowedDomains() string[]
728+
+getDisallowedDomains() string[]
729+
+getJsonSchema() array< string, mixed >$
730+
}
708731
}
709732
710733
namespace AiClientNamespace.Util {
@@ -778,6 +801,8 @@ direction LR
778801
OperationInterface <|-- EmbeddingOperation
779802
ResultInterface <|-- GenerativeAiResult
780803
ResultInterface <|-- EmbeddingResult
804+
Tool "1" o-- "0..*" FunctionDeclaration
805+
Tool "1" o-- "0..1" WebSearch
781806
```
782807

783808
### Details: Class diagram for AI extenders
@@ -913,15 +938,15 @@ direction LR
913938
getRequiredCapabilities() CapabilityEnum[]
914939
getRequiredOptions() RequiredOption[]
915940
}
916-
class SupportedOption {
941+
class RequiredOption {
917942
+getName() string
918-
+isSupportedValue(mixed $value) bool
919-
+getSupportedValues() mixed[]
943+
+getValue() mixed
920944
+getJsonSchema() array< string, mixed >$
921945
}
922-
class RequiredOption {
946+
class SupportedOption {
923947
+getName() string
924-
+getValue() mixed
948+
+isSupportedValue(mixed $value) bool
949+
+getSupportedValues() mixed[]
925950
+getJsonSchema() array< string, mixed >$
926951
}
927952
}

0 commit comments

Comments
 (0)