@@ -2,12 +2,13 @@ use async_nats::jetstream::consumer::pull::Config;
22use async_nats:: jetstream:: consumer:: { AckPolicy , DeliverPolicy , ReplayPolicy } ;
33
44use crate :: acp_prefix:: AcpPrefix ;
5+ use crate :: req_id:: ReqId ;
56use crate :: session_id:: AcpSessionId ;
67
78pub fn prompt_notifications_consumer (
89 prefix : & AcpPrefix ,
910 session_id : & AcpSessionId ,
10- req_id : & str ,
11+ req_id : & ReqId ,
1112) -> Config {
1213 let pfx = prefix. as_str ( ) ;
1314 let sid = session_id. as_str ( ) ;
@@ -23,7 +24,7 @@ pub fn prompt_notifications_consumer(
2324pub fn prompt_response_consumer (
2425 prefix : & AcpPrefix ,
2526 session_id : & AcpSessionId ,
26- req_id : & str ,
27+ req_id : & ReqId ,
2728) -> Config {
2829 let pfx = prefix. as_str ( ) ;
2930 let sid = session_id. as_str ( ) ;
@@ -36,7 +37,7 @@ pub fn prompt_response_consumer(
3637 }
3738}
3839
39- pub fn response_consumer ( prefix : & AcpPrefix , session_id : & AcpSessionId , req_id : & str ) -> Config {
40+ pub fn response_consumer ( prefix : & AcpPrefix , session_id : & AcpSessionId , req_id : & ReqId ) -> Config {
4041 let pfx = prefix. as_str ( ) ;
4142 let sid = session_id. as_str ( ) ;
4243 Config {
@@ -73,9 +74,13 @@ mod tests {
7374 AcpSessionId :: new ( s) . expect ( "test session id" )
7475 }
7576
77+ fn rid ( s : & str ) -> ReqId {
78+ ReqId :: from_test ( s)
79+ }
80+
7681 #[ test]
7782 fn prompt_notifications_consumer_filter ( ) {
78- let config = prompt_notifications_consumer ( & p ( "acp" ) , & sid ( "sess-1" ) , "req-abc" ) ;
83+ let config = prompt_notifications_consumer ( & p ( "acp" ) , & sid ( "sess-1" ) , & rid ( "req-abc" ) ) ;
7984 assert_eq ! (
8085 config. filter_subject,
8186 "acp.session.sess-1.agent.update.req-abc"
@@ -84,15 +89,15 @@ mod tests {
8489
8590 #[ test]
8691 fn prompt_notifications_consumer_delivers_all ( ) {
87- let config = prompt_notifications_consumer ( & p ( "acp" ) , & sid ( "s1" ) , "r1" ) ;
92+ let config = prompt_notifications_consumer ( & p ( "acp" ) , & sid ( "s1" ) , & rid ( "r1" ) ) ;
8893 assert_eq ! ( config. deliver_policy, DeliverPolicy :: All ) ;
8994 assert_eq ! ( config. ack_policy, AckPolicy :: Explicit ) ;
9095 assert_eq ! ( config. replay_policy, ReplayPolicy :: Instant ) ;
9196 }
9297
9398 #[ test]
9499 fn prompt_response_consumer_filter ( ) {
95- let config = prompt_response_consumer ( & p ( "acp" ) , & sid ( "sess-1" ) , "req-abc" ) ;
100+ let config = prompt_response_consumer ( & p ( "acp" ) , & sid ( "sess-1" ) , & rid ( "req-abc" ) ) ;
96101 assert_eq ! (
97102 config. filter_subject,
98103 "acp.session.sess-1.agent.prompt.response.req-abc"
@@ -114,7 +119,7 @@ mod tests {
114119
115120 #[ test]
116121 fn response_consumer_filter ( ) {
117- let config = response_consumer ( & p ( "acp" ) , & sid ( "sess-1" ) , "req-abc" ) ;
122+ let config = response_consumer ( & p ( "acp" ) , & sid ( "sess-1" ) , & rid ( "req-abc" ) ) ;
118123 assert_eq ! (
119124 config. filter_subject,
120125 "acp.session.sess-1.agent.response.req-abc"
@@ -123,21 +128,21 @@ mod tests {
123128
124129 #[ test]
125130 fn response_consumer_delivers_all ( ) {
126- let config = response_consumer ( & p ( "acp" ) , & sid ( "s1" ) , "r1" ) ;
131+ let config = response_consumer ( & p ( "acp" ) , & sid ( "s1" ) , & rid ( "r1" ) ) ;
127132 assert_eq ! ( config. deliver_policy, DeliverPolicy :: All ) ;
128133 assert_eq ! ( config. ack_policy, AckPolicy :: Explicit ) ;
129134 assert_eq ! ( config. replay_policy, ReplayPolicy :: Instant ) ;
130135 }
131136
132137 #[ test]
133138 fn response_consumer_custom_prefix ( ) {
134- let config = response_consumer ( & p ( "myapp" ) , & sid ( "s1" ) , "r1" ) ;
139+ let config = response_consumer ( & p ( "myapp" ) , & sid ( "s1" ) , & rid ( "r1" ) ) ;
135140 assert_eq ! ( config. filter_subject, "myapp.session.s1.agent.response.r1" ) ;
136141 }
137142
138143 #[ test]
139144 fn custom_prefix_in_consumers ( ) {
140- let config = prompt_response_consumer ( & p ( "myapp" ) , & sid ( "s1" ) , "r1" ) ;
145+ let config = prompt_response_consumer ( & p ( "myapp" ) , & sid ( "s1" ) , & rid ( "r1" ) ) ;
141146 assert_eq ! (
142147 config. filter_subject,
143148 "myapp.session.s1.agent.prompt.response.r1"
0 commit comments