|
|
@@ -25,35 +25,39 @@ export function createPromptInputController(input: {
|
|
|
}) {
|
|
|
const layout = useLayout()
|
|
|
const local = useLocal()
|
|
|
- const providers = useProviders()
|
|
|
- const sync = useSync()
|
|
|
const sdk = useSDK()
|
|
|
+ const sync = useSync()
|
|
|
+ const providers = useProviders(() => sdk().directory)
|
|
|
const view = layout.view(input.sessionKey)
|
|
|
const agentsQuery = createQuery(() => input.queryOptions.agents(pathKey(sdk().directory)))
|
|
|
const globalProvidersQuery = createQuery(() => input.queryOptions.providers(null))
|
|
|
const providersQuery = createQuery(() => input.queryOptions.providers(pathKey(sdk().directory)))
|
|
|
|
|
|
- return createMemo<PromptInputControls>(() => ({
|
|
|
- agents: {
|
|
|
- available: sync().data.agent,
|
|
|
- options: local.agent.list().map((agent) => agent.name),
|
|
|
- current: local.agent.current()?.name ?? "",
|
|
|
- loading: agentsQuery.isLoading,
|
|
|
- visible: local.agent.visible(),
|
|
|
- select: local.agent.set,
|
|
|
- },
|
|
|
- model: {
|
|
|
- selection: input.model ?? local.model,
|
|
|
- paid: providers.paid().length > 0,
|
|
|
- loading:
|
|
|
- (local.agent.visible() && agentsQuery.isLoading) || providersQuery.isLoading || globalProvidersQuery.isLoading,
|
|
|
- },
|
|
|
- session: {
|
|
|
- id: input.sessionID(),
|
|
|
- tabs: layout.tabs(input.sessionKey),
|
|
|
- reviewPanel: view.reviewPanel,
|
|
|
- },
|
|
|
- }))
|
|
|
+ return createMemo<PromptInputControls>(() => {
|
|
|
+ return {
|
|
|
+ agents: {
|
|
|
+ available: sync().data.agent,
|
|
|
+ options: local.agent.list().map((agent) => agent.name),
|
|
|
+ current: local.agent.current()?.name ?? "",
|
|
|
+ loading: agentsQuery.isLoading,
|
|
|
+ visible: local.agent.visible(),
|
|
|
+ select: local.agent.set,
|
|
|
+ },
|
|
|
+ model: {
|
|
|
+ selection: input.model ?? local.model,
|
|
|
+ paid: providers.paid().length > 0,
|
|
|
+ loading:
|
|
|
+ (local.agent.visible() && agentsQuery.isLoading) ||
|
|
|
+ providersQuery.isLoading ||
|
|
|
+ globalProvidersQuery.isLoading,
|
|
|
+ },
|
|
|
+ session: {
|
|
|
+ id: input.sessionID(),
|
|
|
+ tabs: layout.tabs(input.sessionKey),
|
|
|
+ reviewPanel: view.reviewPanel,
|
|
|
+ },
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
export function createPromptProjectControls() {
|