@@ -63,40 +63,40 @@ export function Purchase({
63
63
64
64
useEffect ( ( ) => {
65
65
const checkPurchaseStatus = ( ) => {
66
- if ( purchaseStatus === 'requires_action' ) {
67
- // check for purchase completion
68
- // Find the tool message with the matching toolCallId
69
- const toolMessage = aiState . messages . find (
70
- message =>
71
- message . role === 'tool' &&
72
- message . content . some ( part => part . toolCallId === toolCallId )
73
- ) ;
74
-
75
- if ( toolMessage ) {
76
- const toolMessageIndex = aiState . messages . indexOf ( toolMessage ) ;
77
- // Check if the next message is a system message containing "purchased"
78
- const nextMessage = aiState . messages [ toolMessageIndex + 1 ] ;
79
- if (
80
- nextMessage ?. role === 'system' &&
81
- nextMessage . content . includes ( 'purchased' )
82
- ) {
83
- setPurchaseStatus ( 'completed' ) ;
84
- } else {
85
- // Check for expiration
86
- const requestedAt = toolMessage . createdAt ;
87
- if ( ! requestedAt || unixTsNow ( ) - requestedAt > 30 ) {
88
- setPurchaseStatus ( 'expired' ) ;
89
- }
66
+ if ( purchaseStatus !== 'requires_action' ) {
67
+ return ;
68
+ }
69
+ // check for purchase completion
70
+ // Find the tool message with the matching toolCallId
71
+ const toolMessage = aiState . messages . find (
72
+ message =>
73
+ message . role === 'tool' &&
74
+ message . content . some ( part => part . toolCallId === toolCallId )
75
+ ) ;
76
+
77
+ if ( toolMessage ) {
78
+ const toolMessageIndex = aiState . messages . indexOf ( toolMessage ) ;
79
+ // Check if the next message is a system message containing "purchased"
80
+ const nextMessage = aiState . messages [ toolMessageIndex + 1 ] ;
81
+ if (
82
+ nextMessage ?. role === 'system' &&
83
+ nextMessage . content . includes ( 'purchased' )
84
+ ) {
85
+ setPurchaseStatus ( 'completed' ) ;
86
+ } else {
87
+ // Check for expiration
88
+ const requestedAt = toolMessage . createdAt ;
89
+ if ( ! requestedAt || unixTsNow ( ) - requestedAt > 30 ) {
90
+ setPurchaseStatus ( 'expired' ) ;
90
91
}
91
92
}
92
93
}
93
94
} ;
94
-
95
95
checkPurchaseStatus ( ) ;
96
96
97
97
let intervalId : NodeJS . Timeout | null = null ;
98
98
if ( purchaseStatus === 'requires_action' ) {
99
- intervalId = setInterval ( checkPurchaseStatus , 1000 ) ;
99
+ intervalId = setInterval ( checkPurchaseStatus , 5000 ) ;
100
100
}
101
101
102
102
return ( ) => {
0 commit comments