feat(sdk): add TypeScript Fern client + thin @agenta/sdk wrapper#4259
feat(sdk): add TypeScript Fern client + thin @agenta/sdk wrapper#4259
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (297)
📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (3)
📝 WalkthroughSummary by CodeRabbit
WalkthroughAdds a TypeScript client package: creates package metadata and scripts, adds usage README, and updates .gitignore to ignore the package dist output. (50 words or fewer) ChangesTypeScript Client Package Setup
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 8/10 reviews remaining, refill in 7 minutes and 30 seconds. Comment |
| agentaHost?: string, | ||
| ): Promise<{content: string; toolCalls?: ConversationTurn["toolCalls"]}> { | ||
| // Build the invoke URL | ||
| let invokeUrl = serviceUrl.replace(/\/+$/, "") |
| invokeUrl += "/invoke" | ||
| } | ||
| if (agentaHost && !invokeUrl.startsWith("http")) { | ||
| invokeUrl = `${agentaHost.replace(/\/+$/, "")}${invokeUrl}` |
There was a problem hiding this comment.
Actionable comments posted: 2
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 8e912f2f-d8ba-4d03-a37b-21eb6b1d3b46
⛔ Files ignored due to path filters (296)
clients/typescript/src/generated/BaseClient.tsis excluded by!**/generated/**clients/typescript/src/generated/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/CreateOrganizationDomainRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/CreateOrganizationPayload.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/CreateOrganizationProviderRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/CreateWorkspace.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/DeleteOrganizationDomainRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/DeleteOrganizationProviderRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/DeleteOrganizationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/GetOrganizationDomainRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/GetOrganizationProviderRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/ListOrganizationDomainsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/ListOrganizationProvidersRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/PatchOrganizationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/ResetUserPasswordRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/TransferOrganizationOwnershipRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/UnassignRoleFromUserRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/UpdateOrganizationProviderRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/UpdateOrganizationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/UpdateWorkspace.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/UserRole.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/UserUpdate.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/VerifyOrganizationDomainRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/errors/UnprocessableEntityError.tsis excluded by!**/generated/**clients/typescript/src/generated/api/errors/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/accessControl/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/accessControl/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/accessControl/client/requests/VerifyPermissionsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/accessControl/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/accessControl/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/accessControl/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminAccountsCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminAccountsDeleteDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminCancelSubscriptionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminCreateCheckoutRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminCreatePortalRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminDeleteApiKeyRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminDeleteOrganizationMembershipRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminDeleteOrganizationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminDeleteProjectMembershipRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminDeleteProjectRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminDeleteUserIdentityRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminDeleteWorkspaceMembershipRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminDeleteWorkspaceRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsApiKeysCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsDeleteDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsOrganizationsCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsOrganizationsMembershipsCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsOrganizationsTransferOwnershipDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsProjectsCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsProjectsMembershipsCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsUsersCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsUsersIdentitiesCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsUsersResetPasswordDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsWorkspacesCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSimpleAccountsWorkspacesMembershipsCreateDto.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/AdminSwitchPlansRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/EntitiesRequestModel.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/admin/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/aiServices/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/aiServices/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/aiServices/client/requests/ToolCallRequestModel.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/aiServices/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/aiServices/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/aiServices/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/apiKeys/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/apiKeys/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/apiKeys/client/requests/DeleteApiKeyRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/apiKeys/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/apiKeys/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/apiKeys/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationForkRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationRevisionCommitRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationRevisionCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationRevisionDeployRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationRevisionEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationRevisionQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationRevisionResolveRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationRevisionRetrieveRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationRevisionsLogRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationVariantCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ApplicationVariantEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ArchiveApplicationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ArchiveApplicationRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ArchiveApplicationVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ArchiveSimpleApplicationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/FetchApplicationCatalogPresetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/FetchApplicationCatalogTemplateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/FetchApplicationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/FetchApplicationRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/FetchApplicationVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/FetchSimpleApplicationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ListApplicationCatalogPresetsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/ListApplicationCatalogTemplatesRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/QueryApplicationVariantsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/SimpleApplicationCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/SimpleApplicationEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/SimpleApplicationQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/UnarchiveApplicationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/UnarchiveApplicationRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/UnarchiveApplicationVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/UnarchiveSimpleApplicationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/types/QueryApplicationVariantsRequestOrder.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/applications/types/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/client/requests/CheckOrganizationAccessAuthAccessGetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/client/requests/DiscoverRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/client/requests/SessionIdentitiesUpdate.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/client/requests/SsoCallbackRedirectAuthSsoCallbackOrganizationSlugProviderSlugGetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/auth/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/billing/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/billing/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/billing/client/requests/CreateCheckoutRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/billing/client/requests/SwitchPlansRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/billing/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/billing/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/billing/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/ArchiveEnvironmentRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/ArchiveEnvironmentRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/ArchiveEnvironmentVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/ArchiveSimpleEnvironmentRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentRevisionCommitRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentRevisionCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentRevisionEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentRevisionResolveRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentRevisionRetrieveRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentRevisionsLogRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentVariantCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/EnvironmentVariantEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/FetchEnvironmentRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/FetchEnvironmentRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/FetchEnvironmentVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/FetchSimpleEnvironmentRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/GuardSimpleEnvironmentRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/QueryEnvironmentRevisionsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/QueryEnvironmentVariantsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/QueryEnvironmentsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/SimpleEnvironmentCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/SimpleEnvironmentEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/SimpleEnvironmentQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/UnarchiveEnvironmentRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/UnarchiveEnvironmentRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/UnarchiveEnvironmentVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/UnarchiveSimpleEnvironmentRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/UnguardSimpleEnvironmentRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/types/QueryEnvironmentRevisionsRequestOrder.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/types/QueryEnvironmentVariantsRequestOrder.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/types/QueryEnvironmentsRequestOrder.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/environments/types/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/CloseEvaluationSimpleEvaluationsEvaluationIdClosePostRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/CloseRunEvaluationsRunsRunIdCloseStatusPostRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/DeleteEvaluationSimpleEvaluationsEvaluationIdDeleteRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/DeleteQueueEvaluationsQueuesQueueIdDeleteRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/DeleteResultEvaluationsResultsResultIdDeleteRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/DeleteRunEvaluationsRunsRunIdDeleteRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/DeleteScenarioEvaluationsScenariosScenarioIdDeleteRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationMetricsCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationMetricsEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationMetricsIdsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationMetricsQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationMetricsRefreshRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationQueueEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationQueueIdsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationQueueQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationQueueScenariosQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationQueuesCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationQueuesEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationResultEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationResultIdsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationResultQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationResultsCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationResultsEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationRunEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationRunQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationRunsCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationRunsEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationScenarioEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationScenarioIdsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationScenarioQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationScenariosCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/EvaluationScenariosEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/FetchEvaluationSimpleEvaluationsEvaluationIdGetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/FetchQueueEvaluationsQueuesQueueIdGetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/FetchResultEvaluationsResultsResultIdGetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/FetchRunEvaluationsRunsRunIdGetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/FetchScenarioEvaluationsScenariosScenarioIdGetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/FetchSimpleQueueRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/OpenEvaluationSimpleEvaluationsEvaluationIdOpenPostRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/OpenRunEvaluationsRunsRunIdOpenPostRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/RefreshRunsAdminEvaluationsRunsRefreshPostRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/SimpleEvaluationCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/SimpleEvaluationEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/SimpleEvaluationQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/SimpleQueueCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/SimpleQueueQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/SimpleQueueScenariosQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/SimpleQueueTestcasesCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/SimpleQueueTracesCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/StartSimpleEvaluationRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/StopEvaluationSimpleEvaluationsEvaluationIdStopPostRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluations/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/ArchiveEvaluatorRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/ArchiveEvaluatorRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/ArchiveEvaluatorVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/ArchiveSimpleEvaluatorRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorForkRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorRevisionCommitRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorRevisionCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorRevisionDeployRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorRevisionEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorRevisionQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorRevisionResolveRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorRevisionRetrieveRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorRevisionsLogRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorVariantCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/EvaluatorVariantEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/FetchEvaluatorCatalogPresetRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/FetchEvaluatorCatalogTemplateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/FetchEvaluatorRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/FetchEvaluatorRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/FetchEvaluatorVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/FetchSimpleEvaluatorRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/ListEvaluatorCatalogPresetsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/ListEvaluatorCatalogTemplatesRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/ListEvaluatorTemplatesRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/QueryEvaluatorVariantsRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/SimpleEvaluatorCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/SimpleEvaluatorEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/SimpleEvaluatorQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/UnarchiveEvaluatorRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/UnarchiveEvaluatorRevisionRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/UnarchiveEvaluatorVariantRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/UnarchiveSimpleEvaluatorRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/types/QueryEvaluatorVariantsRequestOrder.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/evaluators/types/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/events/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/events/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/events/client/requests/EventQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/events/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/events/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/events/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/client/requests/DeleteFolderRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/client/requests/FetchFolderRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/client/requests/FolderCreateRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/client/requests/FolderEditRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/client/requests/FolderQueryRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/client/requests/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/exports.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/folders/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/observability/client/Client.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/observability/client/index.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/observability/client/requests/DeleteTraceTracingRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/observability/client/requests/EditTraceRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/observability/client/requests/EditTraceTracingRequest.tsis excluded by!**/generated/**clients/typescript/src/generated/api/resources/observability/client/requests/FetchAnalyticsRequest.tsis excluded by!**/generated/**
📒 Files selected for processing (4)
.gitignoreCOMMIT_MSG.txtclients/typescript/README.mdclients/typescript/package.json
| "main": "./dist/index.js", | ||
| "module": "./dist/index.js", | ||
| "types": "./dist/index.d.ts", | ||
| "exports": { | ||
| ".": { | ||
| "types": "./dist/index.d.ts", | ||
| "import": "./dist/index.js" | ||
| } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== `@agenta/client` manifest ==="
sed -n '1,220p' clients/typescript/package.json
echo
echo "=== Dist entrypoint presence in repo checkout ==="
fd -HI 'index.js' clients/typescript/dist || true
fd -HI 'index.d.ts' clients/typescript/dist || true
echo
echo "=== Build orchestration references ==="
rg -nP --iglob '*package.json' --iglob 'pnpm-workspace.yaml' --iglob 'turbo.json' \
'@agenta/client|--filter\s+@agenta/client|dependsOn|pipeline|prebuild|prepare|postinstall'Repository: Agenta-AI/agenta
Length of output: 2646
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== Root turbo.json (if exists) ==="
cat turbo.json 2>/dev/null || echo "(not found)"
echo
echo "=== Root pnpm-workspace.yaml (if exists) ==="
cat pnpm-workspace.yaml 2>/dev/null || echo "(not found)"
echo
echo "=== Root package.json scripts section ==="
jq -r '.scripts // "no scripts"' package.json 2>/dev/null || echo "(no package.json or no scripts)"
echo
echo "=== Consumers of `@agenta/client` (searching package.json files) ==="
rg -l '@agenta/client' --glob '*package.json' | head -10
echo
echo "=== Build dependencies in turbo.json (root) ==="
cat turbo.json 2>/dev/null | jq '.pipeline | keys[]' 2>/dev/null || echo "(no turbo.json or invalid)"
echo
echo "=== Check if clients/typescript has turbo task ==="
cat turbo.json 2>/dev/null | jq '.pipeline | to_entries[] | select(.value.scope[]? | startswith("@agenta/client"))' 2>/dev/null || echo "(none found)"Repository: Agenta-AI/agenta
Length of output: 519
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== web/turbo.json pipeline entries ==="
cat web/turbo.json | jq '.pipeline | keys' 2>/dev/null || echo "(failed to parse)"
echo
echo "=== Check if `@agenta/client` is referenced in web/turbo.json ==="
rg '@agenta/client|clients/typescript' web/turbo.json || echo "(no matches)"
echo
echo "=== agenta-sdk package.json (full) ==="
cat web/packages/agenta-sdk/package.json
echo
echo "=== Directory structure of workspace ==="
fd -d 2 -t f 'package.json' | head -20Repository: Agenta-AI/agenta
Length of output: 969
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== web/package.json ==="
cat web/package.json
echo
echo "=== web/turbo.json (first 100 lines) ==="
head -100 web/turbo.json
echo
echo "=== Check for prepare/postinstall at root or web level ==="
rg 'prepare|postinstall' package.json web/package.json 2>/dev/null || echo "(no matches)"
echo
echo "=== Verify clients/typescript/dist is ignored in git ==="
rg 'dist' .gitignore clients/typescript/.gitignore 2>/dev/null | head -5Repository: Agenta-AI/agenta
Length of output: 8215
Add lifecycle script to ensure dist/ is built before consumption.
Lines 6–13 export only ./dist/*, but there's no lifecycle script (e.g., prepare) or turbo dependency chain guaranteeing the build runs before any consumer imports @agenta/client. The dist/ directory is ignored by git and does not exist in fresh checkouts. When @agenta/sdk (or other consumers) attempt to import @agenta/client via workspace:*, module resolution will fail.
Either add a prepare script to package.json to build before consumption, or integrate @agenta/client#build into the workspace-level build orchestration (e.g., turbo dependencies).
a7b3786 to
889c967
Compare
Mirrors the Python split (clients/python + sdks/python) on the
TypeScript side. A standalone Fern-generated TS client lives at
clients/typescript/ and joins the web/ pnpm workspace via relative
path. A thin convenience wrapper at web/packages/agenta-sdk/ re-exports
the client with a Python-style init() helper and a
getAgentaSdkClient() lazy singleton.
This PR is independent of the Python SDK reorg and the WORKDIR rename
- it touches only web/, clients/typescript/, and .gitignore.
## What changes
Adds:
- clients/typescript/ - 1144 files, the standalone Fern-generated TS
client
- web/packages/agenta-sdk/ - 3 files, thin convenience wrapper
- web/_reference/ - 126 files, legacy v2 SDK packages (agenta-sdk,
agenta-sdk-tracing, agenta-sdk-ai, agenta-sdk-mastra) MOVED out of
the workspace glob so they remain on disk for design lookup but
never build
Workspace wiring:
- web/pnpm-workspace.yaml adds ../clients/typescript
- web/pnpm-lock.yaml regenerated
Next.js config (web/{oss,ee}/next.config.ts):
- transpilePackages: + @agenta/sdk, + @agenta/client
- turbopack.root and outputFileTracingRoot lifted from web/ to repo
root, since clients/typescript/ is a sibling of web/ (Turbopack
refuses to follow symlinks pointing outside its root)
Build script (web/{oss,ee}/package.json):
- next build emits standalone bundle under .next/standalone/web/{oss,ee}/
to match the new tracing root
- version field stays at main's current release version
Fern generator config (in clients/typescript/):
- omitFernHeaders: true - drops X-Fern-* headers the Agenta CORS
allowlist rejects
- includeCredentialsOnCrossOriginRequests: true - withCredentials
baked in, so cookie-session auth works without a custom fetch wrapper
- retainOriginalCasing: true - keep wire snake_case (matches backend,
OpenAPI spec, and v2 entity Zod schemas)
- browser: { fs: false, stream: false, buffer: false } and
@types/node devDep - browser-stub Node built-ins so the client
bundles cleanly in Next.js
First consumer migration:
- web/packages/agenta-entities/src/testset/api/api.ts - fetchTestsetsList
switches from raw axios.post('/testsets/query') to
client.testsets.queryTestsets(...). Zod boundary stays.
- web/packages/agenta-entities/package.json adds @agenta/sdk dep
.gitignore:
- + clients/typescript/dist/
## Risks
- Largest PR in the SDK family by file count (~1144 generated TS
files). Reviewers should focus on:
- web/packages/agenta-sdk/src/index.ts - the wrapper layer
- web/{oss,ee}/next.config.ts - workspace config changes
- web/packages/agenta-entities/src/testset/api/api.ts - consumer
migration
- clients/typescript/package.json for the generator config
- Turbopack root change: lifting turbopack.root and
outputFileTracingRoot to the repo root could cause unrelated files
outside web/ to be picked up in file tracing.
- Prettier on clients/typescript/: the existing pre-commit config
does not exclude clients/ from prettier. Modifying a TS file in
clients/typescript/ would trigger prettier to reformat all of it.
Mitigation: prettier hook is idempotent on Fern output.
- CORS / auth: includeCredentialsOnCrossOriginRequests means every
Fern-client call sends cookies. Don't reuse the client across user
sessions on the server side.
- First-consumer scope: only fetchTestsetsList migrated. Rest of the
testset API and other consumers still use raw axios. Intentional -
one consumer to prove wiring end-to-end.
## QA
- [ ] CI green
- [ ] pnpm install resolves cleanly across workspace
- [ ] cd web/oss && pnpm typecheck && pnpm lint pass
- [ ] cd web/oss && pnpm build succeeds; output at .next/standalone/web/oss/
- [ ] Same for web/ee
- [ ] pnpm dev --turbopack starts; testsets list page loads
- [ ] Network tab: testsets request goes to POST /testsets/query
with Cookie: header, no X-Fern-* headers
- [ ] Regenerate TS client locally and diff against committed
clients/typescript/src/ should be empty
Originally part of #4239 - split out for independent review.
889c967 to
23c3db7
Compare
feat(sdk): add TypeScript Fern client + thin @agenta/sdk wrapper
Mirrors the Python split (clients/python + sdks/python) on the
TypeScript side. A standalone Fern-generated TS client lives at
clients/typescript/ and joins the web/ pnpm workspace via relative
path. A thin convenience wrapper at web/packages/agenta-sdk/ re-exports
the client with a Python-style init() helper and a
getAgentaSdkClient() lazy singleton.
This PR is independent of the Python SDK reorg and the WORKDIR rename
What changes
Adds:
client
agenta-sdk-tracing, agenta-sdk-ai, agenta-sdk-mastra) MOVED out of
the workspace glob so they remain on disk for design lookup but
never build
Workspace wiring:
Next.js config (web/{oss,ee}/next.config.ts):
root, since clients/typescript/ is a sibling of web/ (Turbopack
refuses to follow symlinks pointing outside its root)
Build script (web/{oss,ee}/package.json):
to match the new tracing root
Fern generator config (in clients/typescript/):
allowlist rejects
baked in, so cookie-session auth works without a custom fetch wrapper
OpenAPI spec, and v2 entity Zod schemas)
@types/node devDep - browser-stub Node built-ins so the client
bundles cleanly in Next.js
First consumer migration:
switches from raw axios.post('/testsets/query') to
client.testsets.queryTestsets(...). Zod boundary stays.
.gitignore:
Risks
files). Reviewers should focus on:
migration
outputFileTracingRoot to the repo root could cause unrelated files
outside web/ to be picked up in file tracing.
does not exclude clients/ from prettier. Modifying a TS file in
clients/typescript/ would trigger prettier to reformat all of it.
Mitigation: prettier hook is idempotent on Fern output.
Fern-client call sends cookies. Don't reuse the client across user
sessions on the server side.
testset API and other consumers still use raw axios. Intentional -
one consumer to prove wiring end-to-end.
QA
with Cookie: header, no X-Fern-* headers
clients/typescript/src/ should be empty
Originally part of #4239 - split out for independent review.