Skip to content

Commit 2d6faea

Browse files
tomkisPetrBulanek
authored andcommitted
fix: code review
Signed-off-by: Tomas Weiss <[email protected]>
1 parent 7870ece commit 2d6faea

File tree

2 files changed

+15
-17
lines changed

2 files changed

+15
-17
lines changed

apps/agentstack-sdk-py/src/agentstack_sdk/a2a/extensions/services/form.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ def parse_initial_form(self, *, model: type[T] = FormResponse) -> T | None:
4141
if self.data is None:
4242
return None
4343

44-
intial_form = self.data.form_fulfillments["initial_form"]
44+
initial_form = self.data.form_fulfillments.get("initial_form")
4545

46-
if intial_form is None:
46+
if initial_form is None:
4747
return None
4848
if model is FormResponse:
49-
return cast(T, intial_form)
50-
return TypeAdapter(model).validate_python(dict(intial_form))
49+
return cast(T, initial_form)
50+
return TypeAdapter(model).validate_python(dict(initial_form))
5151

5252

5353
class FormServiceExtensionClient(BaseExtensionClient[FormServiceExtensionSpec, FormRender]): ...

apps/agentstack-ui/src/modules/runs/contexts/agent-demands/AgentDemandsProvider.tsx

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import type { AgentSettings, FormFulfillments } from 'agentstack-sdk';
7-
import { type PropsWithChildren, useCallback, useEffect, useState } from 'react';
7+
import { type PropsWithChildren, useCallback, useEffect, useRef, useState } from 'react';
88

99
import type { AgentA2AClient } from '#api/a2a/types.ts';
1010
import { useApp } from '#contexts/App/index.ts';
@@ -32,7 +32,7 @@ export function AgentDemandsProvider<UIGenericPart>({
3232

3333
const [selectedEmbeddingProviders, setSelectedEmbeddingProviders] = useState<Record<string, string>>({});
3434
const [selectedLLMProviders, setSelectedLLMProviders] = useState<Record<string, string>>({});
35-
const [formFulfillments, setFormFulfillments] = useState<FormFulfillments>({ form_fulfillments: {} });
35+
const formFulfillmentsRef = useRef<FormFulfillments>({ form_fulfillments: {} });
3636

3737
const [selectedSettings, setSelectedSettings] = useState<AgentSettings>(
3838
getSettingsDemandsDefaultValues(agentClient.demands.settingsDemands ?? { fields: [] }),
@@ -109,15 +109,14 @@ export function AgentDemandsProvider<UIGenericPart>({
109109
[setSelectedEmbeddingProviders],
110110
);
111111

112-
const provideFormValues = useCallback(
113-
(values: RunFormValues) => {
114-
setFormFulfillments((prev) => {
115-
prev.form_fulfillments['initial_form'] = { values };
116-
return prev;
117-
});
118-
},
119-
[setFormFulfillments],
120-
);
112+
const provideFormValues = useCallback((values: RunFormValues) => {
113+
formFulfillmentsRef.current = {
114+
form_fulfillments: {
115+
...formFulfillmentsRef.current.form_fulfillments,
116+
initial_form: { values },
117+
},
118+
};
119+
}, []);
121120

122121
const [selectedMCPServers, setSelectedMCPServers] = useState<Record<string, string>>({});
123122

@@ -196,7 +195,7 @@ export function AgentDemandsProvider<UIGenericPart>({
196195
providedSecrets,
197196
featureFlags,
198197
selectedSettings,
199-
formFulfillments,
198+
formFulfillments: formFulfillmentsRef.current,
200199
oauthRedirectUri: fulfillmentsContext.oauthRedirectUri ?? null,
201200
});
202201
},
@@ -208,7 +207,6 @@ export function AgentDemandsProvider<UIGenericPart>({
208207
featureFlags,
209208
selectedSettings,
210209
demandedSecrets,
211-
formFulfillments,
212210
],
213211
);
214212

0 commit comments

Comments
 (0)