File tree Expand file tree Collapse file tree 10 files changed +71
-11
lines changed Expand file tree Collapse file tree 10 files changed +71
-11
lines changed Original file line number Diff line number Diff line change 1212namespace Symfony \AI \Platform \Message ;
1313
1414use Symfony \AI \Platform \Response \ToolCall ;
15+ use Symfony \Component \Uid \AbstractUid ;
16+ use Symfony \Component \Uid \TimeBasedUidInterface ;
1517use Symfony \Component \Uid \Uuid ;
1618
1719/**
1820 * @author Denis Zunke <denis.zunke@gmail.com>
1921 */
2022final readonly class AssistantMessage implements MessageInterface
2123{
22- public Uuid $ id ;
24+ public AbstractUid & TimeBasedUidInterface $ id ;
2325
2426 /**
2527 * @param ?ToolCall[] $toolCalls
@@ -36,7 +38,7 @@ public function getRole(): Role
3638 return Role::Assistant;
3739 }
3840
39- public function getId (): Uuid
41+ public function getId (): AbstractUid & TimeBasedUidInterface
4042 {
4143 return $ this ->id ;
4244 }
Original file line number Diff line number Diff line change 1111
1212namespace Symfony \AI \Platform \Message ;
1313
14- use Symfony \Component \Uid \Uuid ;
14+ use Symfony \Component \Uid \AbstractUid ;
15+ use Symfony \Component \Uid \TimeBasedUidInterface ;
1516
1617/**
1718 * @author Denis Zunke <denis.zunke@gmail.com>
@@ -20,5 +21,5 @@ interface MessageInterface
2021{
2122 public function getRole (): Role ;
2223
23- public function getId (): Uuid ;
24+ public function getId (): AbstractUid & TimeBasedUidInterface ;
2425}
Original file line number Diff line number Diff line change 1111
1212namespace Symfony \AI \Platform \Message ;
1313
14+ use Symfony \Component \Uid \AbstractUid ;
15+ use Symfony \Component \Uid \TimeBasedUidInterface ;
1416use Symfony \Component \Uid \Uuid ;
1517
1618/**
1719 * @author Denis Zunke <denis.zunke@gmail.com>
1820 */
1921final readonly class SystemMessage implements MessageInterface
2022{
21- public Uuid $ id ;
23+ public AbstractUid & TimeBasedUidInterface $ id ;
2224
2325 public function __construct (public string $ content )
2426 {
@@ -30,7 +32,7 @@ public function getRole(): Role
3032 return Role::System;
3133 }
3234
33- public function getId (): Uuid
35+ public function getId (): AbstractUid & TimeBasedUidInterface
3436 {
3537 return $ this ->id ;
3638 }
Original file line number Diff line number Diff line change 1212namespace Symfony \AI \Platform \Message ;
1313
1414use Symfony \AI \Platform \Response \ToolCall ;
15+ use Symfony \Component \Uid \AbstractUid ;
16+ use Symfony \Component \Uid \TimeBasedUidInterface ;
1517use Symfony \Component \Uid \Uuid ;
1618
1719/**
1820 * @author Denis Zunke <denis.zunke@gmail.com>
1921 */
2022final readonly class ToolCallMessage implements MessageInterface
2123{
22- public Uuid $ id ;
24+ public AbstractUid & TimeBasedUidInterface $ id ;
2325
2426 public function __construct (
2527 public ToolCall $ toolCall ,
@@ -33,7 +35,7 @@ public function getRole(): Role
3335 return Role::ToolCall;
3436 }
3537
36- public function getId (): Uuid
38+ public function getId (): AbstractUid & TimeBasedUidInterface
3739 {
3840 return $ this ->id ;
3941 }
Original file line number Diff line number Diff line change 1515use Symfony \AI \Platform \Message \Content \ContentInterface ;
1616use Symfony \AI \Platform \Message \Content \Image ;
1717use Symfony \AI \Platform \Message \Content \ImageUrl ;
18+ use Symfony \Component \Uid \AbstractUid ;
19+ use Symfony \Component \Uid \TimeBasedUidInterface ;
1820use Symfony \Component \Uid \Uuid ;
1921
2022/**
2729 */
2830 public array $ content ;
2931
30- public Uuid $ id ;
32+ public AbstractUid & TimeBasedUidInterface $ id ;
3133
3234 public function __construct (
3335 ContentInterface ...$ content ,
@@ -41,7 +43,7 @@ public function getRole(): Role
4143 return Role::User;
4244 }
4345
44- public function getId (): Uuid
46+ public function getId (): AbstractUid & TimeBasedUidInterface
4547 {
4648 return $ this ->id ;
4749 }
Original file line number Diff line number Diff line change 4242use Symfony \AI \Platform \Message \SystemMessage ;
4343use Symfony \AI \Platform \Message \UserMessage ;
4444use Symfony \AI \Platform \Model ;
45+ use Symfony \Component \Uid \AbstractUid ;
46+ use Symfony \Component \Uid \TimeBasedUidInterface ;
4547use Symfony \Component \Uid \Uuid ;
4648
4749#[Large]
@@ -208,7 +210,7 @@ public function getRole(): Role
208210 return Role::User;
209211 }
210212
211- public function getId (): Uuid
213+ public function getId (): AbstractUid & TimeBasedUidInterface
212214 {
213215 return Uuid::v7 ();
214216 }
Original file line number Diff line number Diff line change 2020use Symfony \AI \Platform \Message \Role ;
2121use Symfony \AI \Platform \Response \ToolCall ;
2222use Symfony \AI \Platform \Tests \Helper \UuidAssertionTrait ;
23+ use Symfony \Component \Uid \AbstractUid ;
24+ use Symfony \Component \Uid \TimeBasedUidInterface ;
2325use Symfony \Component \Uid \UuidV7 ;
2426
2527#[CoversClass(AssistantMessage::class)]
@@ -86,4 +88,14 @@ public function sameMessagesHaveDifferentUids(): void
8688 self ::assertIsUuidV7 ($ message1 ->getId ()->toRfc4122 ());
8789 self ::assertIsUuidV7 ($ message2 ->getId ()->toRfc4122 ());
8890 }
91+
92+ #[Test]
93+ public function messageIdImplementsRequiredInterfaces (): void
94+ {
95+ $ message = new AssistantMessage ('test ' );
96+
97+ self ::assertInstanceOf (AbstractUid::class, $ message ->getId ());
98+ self ::assertInstanceOf (TimeBasedUidInterface::class, $ message ->getId ());
99+ self ::assertInstanceOf (UuidV7::class, $ message ->getId ());
100+ }
89101}
Original file line number Diff line number Diff line change 1818use Symfony \AI \Platform \Message \Role ;
1919use Symfony \AI \Platform \Message \SystemMessage ;
2020use Symfony \AI \Platform \Tests \Helper \UuidAssertionTrait ;
21+ use Symfony \Component \Uid \AbstractUid ;
22+ use Symfony \Component \Uid \TimeBasedUidInterface ;
2123use Symfony \Component \Uid \UuidV7 ;
2224
2325#[CoversClass(SystemMessage::class)]
@@ -66,4 +68,14 @@ public function sameMessagesHaveDifferentUids(): void
6668 self ::assertIsUuidV7 ($ message1 ->getId ()->toRfc4122 ());
6769 self ::assertIsUuidV7 ($ message2 ->getId ()->toRfc4122 ());
6870 }
71+
72+ #[Test]
73+ public function messageIdImplementsRequiredInterfaces (): void
74+ {
75+ $ message = new SystemMessage ('test ' );
76+
77+ self ::assertInstanceOf (AbstractUid::class, $ message ->getId ());
78+ self ::assertInstanceOf (TimeBasedUidInterface::class, $ message ->getId ());
79+ self ::assertInstanceOf (UuidV7::class, $ message ->getId ());
80+ }
6981}
Original file line number Diff line number Diff line change 1919use Symfony \AI \Platform \Message \ToolCallMessage ;
2020use Symfony \AI \Platform \Response \ToolCall ;
2121use Symfony \AI \Platform \Tests \Helper \UuidAssertionTrait ;
22+ use Symfony \Component \Uid \AbstractUid ;
23+ use Symfony \Component \Uid \TimeBasedUidInterface ;
2224use Symfony \Component \Uid \UuidV7 ;
2325
2426#[CoversClass(ToolCallMessage::class)]
@@ -72,4 +74,15 @@ public function sameMessagesHaveDifferentUids(): void
7274 self ::assertIsUuidV7 ($ message1 ->getId ()->toRfc4122 ());
7375 self ::assertIsUuidV7 ($ message2 ->getId ()->toRfc4122 ());
7476 }
77+
78+ #[Test]
79+ public function messageIdImplementsRequiredInterfaces (): void
80+ {
81+ $ toolCall = new ToolCall ('foo ' , 'bar ' );
82+ $ message = new ToolCallMessage ($ toolCall , 'test ' );
83+
84+ self ::assertInstanceOf (AbstractUid::class, $ message ->getId ());
85+ self ::assertInstanceOf (TimeBasedUidInterface::class, $ message ->getId ());
86+ self ::assertInstanceOf (UuidV7::class, $ message ->getId ());
87+ }
7588}
Original file line number Diff line number Diff line change 2222use Symfony \AI \Platform \Message \Role ;
2323use Symfony \AI \Platform \Message \UserMessage ;
2424use Symfony \AI \Platform \Tests \Helper \UuidAssertionTrait ;
25+ use Symfony \Component \Uid \AbstractUid ;
26+ use Symfony \Component \Uid \TimeBasedUidInterface ;
2527use Symfony \Component \Uid \UuidV7 ;
2628
2729#[CoversClass(UserMessage::class)]
@@ -116,4 +118,14 @@ public function sameMessagesHaveDifferentUids(): void
116118 self ::assertIsUuidV7 ($ message1 ->getId ()->toRfc4122 ());
117119 self ::assertIsUuidV7 ($ message2 ->getId ()->toRfc4122 ());
118120 }
121+
122+ #[Test]
123+ public function messageIdImplementsRequiredInterfaces (): void
124+ {
125+ $ message = new UserMessage (new Text ('test ' ));
126+
127+ self ::assertInstanceOf (AbstractUid::class, $ message ->getId ());
128+ self ::assertInstanceOf (TimeBasedUidInterface::class, $ message ->getId ());
129+ self ::assertInstanceOf (UuidV7::class, $ message ->getId ());
130+ }
119131}
You can’t perform that action at this time.
0 commit comments