(input: { fatal?: boolean } = {})
| 443 | const args = useArgs() |
| 444 | |
| 445 | async function bootstrap(input: { fatal?: boolean } = {}) { |
| 446 | const fatal = input.fatal ?? true |
| 447 | const workspace = project.workspace.current() |
| 448 | const projectPromise = project.sync() |
| 449 | const sessionListPromise = projectPromise.then(() => listSessions()) |
| 450 | |
| 451 | // blocking - include session.list when continuing a session |
| 452 | const providersPromise = sdk.client.config.providers({ workspace }, { throwOnError: true }) |
| 453 | const providerListPromise = sdk.client.provider.list({ workspace }, { throwOnError: true }) |
| 454 | const capabilitiesPromise = sdk.client.experimental.capabilities |
| 455 | .get({ workspace }, { throwOnError: true }) |
| 456 | .then((x) => x.data) |
| 457 | .catch(() => undefined) |
| 458 | const consoleStatePromise = sdk.client.experimental.console |
| 459 | .get({ workspace }, { throwOnError: true }) |
| 460 | .then((x) => x.data) |
| 461 | .catch(() => emptyConsoleState) |
| 462 | const agentsPromise = sdk.client.app.agents({ workspace }, { throwOnError: true }) |
| 463 | const configPromise = sdk.client.config.get({ workspace }, { throwOnError: true }) |
| 464 | await Promise.all([ |
| 465 | providersPromise, |
| 466 | providerListPromise, |
| 467 | capabilitiesPromise, |
| 468 | agentsPromise, |
| 469 | configPromise, |
| 470 | projectPromise, |
| 471 | ...(args.continue ? [sessionListPromise] : []), |
| 472 | ]) |
| 473 | .then(async () => { |
| 474 | const providersResponse = providersPromise.then((x) => x.data!) |
| 475 | const providerListResponse = providerListPromise.then((x) => x.data!) |
| 476 | const capabilitiesResponse = capabilitiesPromise |
| 477 | const consoleStateResponse = consoleStatePromise |
| 478 | const agentsResponse = agentsPromise.then((x) => x.data ?? []) |
| 479 | const configResponse = configPromise.then((x) => x.data!) |
| 480 | const sessionListResponse = args.continue ? sessionListPromise : undefined |
| 481 | |
| 482 | return Promise.all([ |
| 483 | providersResponse, |
| 484 | providerListResponse, |
| 485 | capabilitiesResponse, |
| 486 | consoleStateResponse, |
| 487 | agentsResponse, |
| 488 | configResponse, |
| 489 | ...(sessionListResponse ? [sessionListResponse] : []), |
| 490 | ]).then((responses) => { |
| 491 | const providers = responses[0] |
| 492 | const providerList = responses[1] |
| 493 | const capabilities = responses[2] |
| 494 | const consoleState = responses[3] |
| 495 | const agents = responses[4] |
| 496 | const config = responses[5] |
| 497 | const sessions = responses[6] |
| 498 | |
| 499 | batch(() => { |
| 500 | setStore("provider", reconcile(providers.providers)) |
| 501 | setStore("provider_default", reconcile(providers.default)) |
| 502 | setStore("provider_next", reconcile(providerList)) |
no test coverage detected