-
- Account *
-
-
-
- handleParamChange(toolIndex, 'credential', value)
- }
- provider={oauthConfig.provider as OAuthProvider}
- requiredScopes={
- toolBlock?.subBlocks?.find((sb) => sb.id === 'credential')
- ?.requiredScopes ||
- getCanonicalScopesForProvider(oauthConfig.provider)
- }
- serviceId={oauthConfig.provider}
- disabled={disabled}
- />
-
-
- )}
-
{(() => {
const renderedElements: React.ReactNode[] = []
+ const showOAuth =
+ requiresOAuth && oauthConfig && tool.params?.authMethod !== 'bot_token'
+
+ const renderOAuthAccount = (): React.ReactNode => {
+ if (!showOAuth || !oauthConfig) return null
+ const credentialSubBlock = toolBlock?.subBlocks?.find(
+ (s) => s.type === 'oauth-input'
+ )
+ return (
+
+
+ {credentialSubBlock?.title || 'Account'}{' '}
+ *
+
+
+
+ handleParamChange(toolIndex, 'credential', value)
+ }
+ provider={oauthConfig.provider as OAuthProvider}
+ requiredScopes={
+ credentialSubBlock?.requiredScopes ||
+ getCanonicalScopesForProvider(oauthConfig.provider)
+ }
+ serviceId={oauthConfig.provider}
+ disabled={disabled}
+ />
+
+
+ )
+ }
+
+ const renderSubBlock = (sb: BlockSubBlockConfig): React.ReactNode => {
+ const effectiveParamId = sb.id
+ const canonicalId = toolCanonicalIndex?.canonicalIdBySubBlockId[sb.id]
+ const canonicalGroup = canonicalId
+ ? toolCanonicalIndex?.groupsById[canonicalId]
+ : undefined
+ const hasCanonicalPair = isCanonicalPair(canonicalGroup)
+ const canonicalMode =
+ canonicalGroup && hasCanonicalPair
+ ? resolveCanonicalMode(
+ canonicalGroup,
+ { operation: tool.operation, ...tool.params },
+ toolScopedOverrides
+ )
+ : undefined
+
+ const canonicalToggleProp =
+ hasCanonicalPair && canonicalMode && canonicalId
+ ? {
+ mode: canonicalMode,
+ onToggle: () => {
+ const nextMode = canonicalMode === 'advanced' ? 'basic' : 'advanced'
+ collaborativeSetBlockCanonicalMode(
+ blockId,
+ `${tool.type}:${canonicalId}`,
+ nextMode
+ )
+ },
+ }
+ : undefined
+
+ const sbWithTitle = sb.title
+ ? sb
+ : { ...sb, title: formatParameterLabel(effectiveParamId) }
+
+ return (
+