@atlanai/sdk 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -12
- package/dist/client.js +1 -1
- package/dist/evals.d.ts +132 -1
- package/dist/evals.js +687 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -1
- package/dist/manifest.json +189 -216
- package/dist/raw/agent/apis/AgentEnvironmentsApi.d.ts +36 -0
- package/dist/raw/agent/apis/AgentEnvironmentsApi.js +49 -1
- package/dist/raw/agent/apis/AgentFrameworksApi.d.ts +36 -0
- package/dist/raw/agent/apis/AgentFrameworksApi.js +49 -1
- package/dist/raw/agent/apis/AgentProvidersApi.d.ts +36 -0
- package/dist/raw/agent/apis/AgentProvidersApi.js +49 -1
- package/dist/raw/agent/apis/AgentsApi.d.ts +49 -4
- package/dist/raw/agent/apis/AgentsApi.js +65 -5
- package/dist/raw/agent/apis/HarnessVendorsApi.d.ts +36 -0
- package/dist/raw/agent/apis/HarnessVendorsApi.js +49 -1
- package/dist/raw/agent/apis/HarnessesApi.d.ts +36 -0
- package/dist/raw/agent/apis/HarnessesApi.js +49 -1
- package/dist/raw/agent/apis/OutputsApi.d.ts +45 -0
- package/dist/raw/agent/apis/OutputsApi.js +61 -1
- package/dist/raw/agent/apis/SessionsApi.d.ts +36 -0
- package/dist/raw/agent/apis/SessionsApi.js +49 -1
- package/dist/raw/agent/apis/TracesApi.d.ts +18 -0
- package/dist/raw/agent/apis/TracesApi.js +25 -1
- package/dist/raw/agent/apis/VisitorsApi.d.ts +9 -0
- package/dist/raw/agent/apis/VisitorsApi.js +13 -1
- package/dist/raw/agent/models/AgentAgentArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentAgentArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentAgentEnvironmentArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentAgentEnvironmentArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentAgentFrameworkArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentAgentFrameworkArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentAgentProviderArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentAgentProviderArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentCreateAgentFramework400Response.d.ts +2 -0
- package/dist/raw/agent/models/AgentCreateAgentFramework400Response.js +2 -2
- package/dist/raw/agent/models/AgentCreateAgentFramework413Response.d.ts +64 -0
- package/dist/raw/agent/models/AgentCreateAgentFramework413Response.js +74 -0
- package/dist/raw/agent/models/AgentCreateAgentFramework415Response.d.ts +1 -0
- package/dist/raw/agent/models/AgentCreateAgentFramework415Response.js +1 -2
- package/dist/raw/agent/models/AgentGetAgentTrace400Response.d.ts +63 -0
- package/dist/raw/agent/models/AgentGetAgentTrace400Response.js +75 -0
- package/dist/raw/agent/models/AgentHarnessArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentHarnessArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentHarnessVendorArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentHarnessVendorArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentOutputArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentOutputArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentQueryAgentTraceStats400Response.d.ts +2 -0
- package/dist/raw/agent/models/AgentQueryAgentTraceStats400Response.js +2 -0
- package/dist/raw/agent/models/AgentSessionArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentSessionArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentSessionMessageArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentSessionMessageArtifactView.js +2 -2
- package/dist/raw/agent/models/AgentUploadAgentProfileImage400Response.d.ts +2 -1
- package/dist/raw/agent/models/AgentUploadAgentProfileImage400Response.js +2 -3
- package/dist/raw/agent/models/AgentUploadAgentProfileImage413Response.d.ts +2 -0
- package/dist/raw/agent/models/AgentUploadAgentProfileImage413Response.js +2 -2
- package/dist/raw/agent/models/AgentVisitorArtifactView.d.ts +27 -15
- package/dist/raw/agent/models/AgentVisitorArtifactView.js +2 -2
- package/dist/raw/agent/models/Box.d.ts +27 -15
- package/dist/raw/agent/models/Box.js +2 -2
- package/dist/raw/agent/models/GatewayArtifactBase.d.ts +27 -15
- package/dist/raw/agent/models/GatewayArtifactBase.js +2 -2
- package/dist/raw/agent/models/GatewayTraceStatsGroupBy.d.ts +5 -1
- package/dist/raw/agent/models/GatewayTraceStatsGroupBy.js +4 -0
- package/dist/raw/agent/models/GatewayTraceStatsMeasure.d.ts +3 -1
- package/dist/raw/agent/models/GatewayTraceStatsMeasure.js +2 -0
- package/dist/raw/agent/models/SpanViewDto.d.ts +25 -0
- package/dist/raw/agent/models/SpanViewDto.js +8 -0
- package/dist/raw/agent/models/TraceDetailView.d.ts +9 -0
- package/dist/raw/agent/models/TraceDetailView.js +2 -0
- package/dist/raw/agent/models/index.d.ts +2 -0
- package/dist/raw/agent/models/index.js +2 -0
- package/dist/raw/eval/apis/DatasetsApi.d.ts +43 -3
- package/dist/raw/eval/apis/DatasetsApi.js +108 -3
- package/dist/raw/eval/apis/ExperimentsApi.d.ts +8 -24
- package/dist/raw/eval/apis/ExperimentsApi.js +10 -49
- package/dist/raw/eval/apis/ScorersApi.d.ts +1 -1
- package/dist/raw/eval/apis/ScorersApi.js +1 -1
- package/dist/raw/eval/models/AccessView.d.ts +1 -1
- package/dist/raw/eval/models/AccessView.js +1 -1
- package/dist/raw/eval/models/ArtifactConflictProblem.d.ts +1 -1
- package/dist/raw/eval/models/ArtifactConflictProblem.js +1 -1
- package/dist/raw/eval/models/CostView.d.ts +1 -1
- package/dist/raw/eval/models/CostView.js +1 -1
- package/dist/raw/eval/models/CursorPage.d.ts +1 -1
- package/dist/raw/eval/models/CursorPage.js +1 -1
- package/dist/raw/eval/models/EvalArtifactEnvelope.d.ts +1 -1
- package/dist/raw/eval/models/EvalArtifactEnvelope.js +1 -1
- package/dist/raw/eval/models/EvalArtifactSearchRequest.d.ts +1 -1
- package/dist/raw/eval/models/EvalArtifactSearchRequest.js +1 -1
- package/dist/raw/eval/models/EvalBulkDatasetRecordResponse.d.ts +1 -1
- package/dist/raw/eval/models/EvalBulkDatasetRecordResponse.js +1 -1
- package/dist/raw/eval/models/EvalBulkDatasetRecordResult.d.ts +1 -1
- package/dist/raw/eval/models/EvalBulkDatasetRecordResult.js +1 -1
- package/dist/raw/eval/models/EvalBulkExperimentResultResponse.d.ts +1 -1
- package/dist/raw/eval/models/EvalBulkExperimentResultResponse.js +1 -1
- package/dist/raw/eval/models/EvalBulkExperimentResultSlot.d.ts +1 -1
- package/dist/raw/eval/models/EvalBulkExperimentResultSlot.js +1 -1
- package/dist/raw/eval/models/EvalCreateDataset400Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalCreateDataset400Response.js +1 -1
- package/dist/raw/eval/models/EvalCreateDataset409Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalCreateDataset409Response.js +1 -1
- package/dist/raw/eval/models/EvalCreateDataset413Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalCreateDataset413Response.js +1 -1
- package/dist/raw/eval/models/EvalCreateDataset415Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalCreateDataset415Response.js +1 -1
- package/dist/raw/eval/models/EvalCreateDataset422Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalCreateDataset422Response.js +1 -1
- package/dist/raw/eval/models/EvalDatasetArtifactView.d.ts +35 -16
- package/dist/raw/eval/models/EvalDatasetArtifactView.js +5 -3
- package/dist/raw/eval/models/EvalDatasetCreate.d.ts +7 -1
- package/dist/raw/eval/models/EvalDatasetCreate.js +3 -1
- package/dist/raw/eval/models/EvalDatasetMeta.d.ts +8 -1
- package/dist/raw/eval/models/EvalDatasetMeta.js +3 -1
- package/dist/raw/eval/models/EvalDatasetPatch.d.ts +7 -1
- package/dist/raw/eval/models/EvalDatasetPatch.js +3 -1
- package/dist/raw/eval/models/EvalDatasetRecordArtifactView.d.ts +34 -16
- package/dist/raw/eval/models/EvalDatasetRecordArtifactView.js +5 -3
- package/dist/raw/eval/models/EvalDatasetRecordBulkCreate.d.ts +1 -1
- package/dist/raw/eval/models/EvalDatasetRecordBulkCreate.js +1 -1
- package/dist/raw/eval/models/EvalDatasetRecordCreate.d.ts +1 -1
- package/dist/raw/eval/models/EvalDatasetRecordCreate.js +1 -1
- package/dist/raw/eval/models/EvalDatasetRecordMeta.d.ts +7 -1
- package/dist/raw/eval/models/EvalDatasetRecordMeta.js +3 -1
- package/dist/raw/eval/models/EvalDatasetRecordPatch.d.ts +1 -1
- package/dist/raw/eval/models/EvalDatasetRecordPatch.js +1 -1
- package/dist/raw/eval/models/EvalDatasetSnapshot.d.ts +57 -0
- package/dist/raw/eval/models/EvalDatasetSnapshot.js +65 -0
- package/dist/raw/eval/models/EvalDatasetSnapshotRecord.d.ts +99 -0
- package/dist/raw/eval/models/EvalDatasetSnapshotRecord.js +77 -0
- package/dist/raw/eval/models/EvalExperimentArtifactView.d.ts +35 -16
- package/dist/raw/eval/models/EvalExperimentArtifactView.js +6 -3
- package/dist/raw/eval/models/EvalExperimentCreate.d.ts +1 -1
- package/dist/raw/eval/models/EvalExperimentCreate.js +1 -1
- package/dist/raw/eval/models/EvalExperimentMeta.d.ts +10 -4
- package/dist/raw/eval/models/EvalExperimentMeta.js +4 -1
- package/dist/raw/eval/models/EvalExperimentPatch.d.ts +4 -3
- package/dist/raw/eval/models/EvalExperimentPatch.js +1 -1
- package/dist/raw/eval/models/EvalExperimentResultArtifactView.d.ts +45 -16
- package/dist/raw/eval/models/EvalExperimentResultArtifactView.js +7 -3
- package/dist/raw/eval/models/EvalExperimentResultBulkCreate.d.ts +1 -1
- package/dist/raw/eval/models/EvalExperimentResultBulkCreate.js +1 -1
- package/dist/raw/eval/models/EvalExperimentResultCreate.d.ts +16 -1
- package/dist/raw/eval/models/EvalExperimentResultCreate.js +5 -1
- package/dist/raw/eval/models/EvalExperimentResultMeta.d.ts +18 -1
- package/dist/raw/eval/models/EvalExperimentResultMeta.js +5 -1
- package/dist/raw/eval/models/EvalExperimentStatus.d.ts +1 -1
- package/dist/raw/eval/models/EvalExperimentStatus.js +1 -1
- package/dist/raw/eval/models/EvalGetDataset404Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalGetDataset404Response.js +1 -1
- package/dist/raw/eval/models/EvalGetExperimentTrace400Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalGetExperimentTrace400Response.js +1 -1
- package/dist/raw/eval/models/EvalListDatasets400Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalListDatasets400Response.js +1 -1
- package/dist/raw/eval/models/EvalListDatasets401Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalListDatasets401Response.js +1 -1
- package/dist/raw/eval/models/EvalListDatasets403Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalListDatasets403Response.js +1 -1
- package/dist/raw/eval/models/EvalListDatasets500Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalListDatasets500Response.js +1 -1
- package/dist/raw/eval/models/EvalListDatasets503Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalListDatasets503Response.js +1 -1
- package/dist/raw/eval/models/EvalListDatasets504Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalListDatasets504Response.js +1 -1
- package/dist/raw/eval/models/EvalPageDatasetArtifactView.d.ts +1 -1
- package/dist/raw/eval/models/EvalPageDatasetArtifactView.js +1 -1
- package/dist/raw/eval/models/EvalPageDatasetRecordArtifactView.d.ts +1 -1
- package/dist/raw/eval/models/EvalPageDatasetRecordArtifactView.js +1 -1
- package/dist/raw/eval/models/EvalPageExperimentArtifactView.d.ts +1 -1
- package/dist/raw/eval/models/EvalPageExperimentArtifactView.js +1 -1
- package/dist/raw/eval/models/EvalPageExperimentResultArtifactView.d.ts +1 -1
- package/dist/raw/eval/models/EvalPageExperimentResultArtifactView.js +1 -1
- package/dist/raw/eval/models/EvalPageScorerArtifactView.d.ts +1 -1
- package/dist/raw/eval/models/EvalPageScorerArtifactView.js +1 -1
- package/dist/raw/eval/models/EvalPatchDataset412Response.d.ts +1 -1
- package/dist/raw/eval/models/EvalPatchDataset412Response.js +1 -1
- package/dist/raw/eval/models/EvalRecordSource.d.ts +1 -1
- package/dist/raw/eval/models/EvalRecordSource.js +1 -1
- package/dist/raw/eval/models/EvalScorerArtifactView.d.ts +28 -16
- package/dist/raw/eval/models/EvalScorerArtifactView.js +3 -3
- package/dist/raw/eval/models/EvalScorerCreate.d.ts +1 -1
- package/dist/raw/eval/models/EvalScorerCreate.js +1 -1
- package/dist/raw/eval/models/EvalScorerKind.d.ts +1 -1
- package/dist/raw/eval/models/EvalScorerKind.js +1 -1
- package/dist/raw/eval/models/EvalScorerMeta.d.ts +1 -1
- package/dist/raw/eval/models/EvalScorerMeta.js +1 -1
- package/dist/raw/eval/models/EvalScorerPatch.d.ts +1 -1
- package/dist/raw/eval/models/EvalScorerPatch.js +1 -1
- package/dist/raw/eval/models/EvalScorerScope.d.ts +1 -1
- package/dist/raw/eval/models/EvalScorerScope.js +1 -1
- package/dist/raw/eval/models/EvalSubjectKind.d.ts +1 -1
- package/dist/raw/eval/models/EvalSubjectKind.js +1 -1
- package/dist/raw/eval/models/GatewayArtifactBase.d.ts +28 -16
- package/dist/raw/eval/models/GatewayArtifactBase.js +3 -3
- package/dist/raw/eval/models/GatewayArtifactIdentityRevealView.d.ts +1 -1
- package/dist/raw/eval/models/GatewayArtifactIdentityRevealView.js +1 -1
- package/dist/raw/eval/models/GatewayPageMeta.d.ts +1 -1
- package/dist/raw/eval/models/GatewayPageMeta.js +1 -1
- package/dist/raw/eval/models/GatewaySourceEnvelope.d.ts +1 -1
- package/dist/raw/eval/models/GatewaySourceEnvelope.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsBucket.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsBucket.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsCompareMode.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsCompareMode.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsComparison.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsComparison.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsData.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsData.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsDataOneOf.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsDataOneOf.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsDataOneOf1.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsDataOneOf1.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsDataOneOf2.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsDataOneOf2.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsEnvelope.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsEnvelope.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsFilter.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsFilter.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsFilterOperator.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsFilterOperator.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsFilterValue.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsFilterValue.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsGroupBy.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsGroupBy.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsMeasure.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsMeasure.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsMeta.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsMeta.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsOrder.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsOrder.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsOrderBy.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsOrderBy.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsOrderDirection.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsOrderDirection.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsPanelQuery.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsPanelQuery.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsRequest.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsRequest.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsRequestType.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsRequestType.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsScalarResult.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsScalarResult.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsSeries.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsSeries.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsSeriesPoint.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsSeriesPoint.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsTableColumn.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsTableColumn.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsTableColumnType.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsTableColumnType.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsTableRow.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsTableRow.js +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsWindow.d.ts +1 -1
- package/dist/raw/eval/models/GatewayTraceStatsWindow.js +1 -1
- package/dist/raw/eval/models/ProblemDetails.d.ts +1 -1
- package/dist/raw/eval/models/ProblemDetails.js +1 -1
- package/dist/raw/eval/models/RegistryEdgeTarget.d.ts +1 -1
- package/dist/raw/eval/models/RegistryEdgeTarget.js +1 -1
- package/dist/raw/eval/models/RegistryRelationshipEdge.d.ts +1 -1
- package/dist/raw/eval/models/RegistryRelationshipEdge.js +1 -1
- package/dist/raw/eval/models/RegistryRelationshipsView.d.ts +1 -1
- package/dist/raw/eval/models/RegistryRelationshipsView.js +1 -1
- package/dist/raw/eval/models/SpanListEnvelope.d.ts +1 -1
- package/dist/raw/eval/models/SpanListEnvelope.js +1 -1
- package/dist/raw/eval/models/SpanViewDto.d.ts +26 -1
- package/dist/raw/eval/models/SpanViewDto.js +9 -1
- package/dist/raw/eval/models/TraceDetailView.d.ts +10 -1
- package/dist/raw/eval/models/TraceDetailView.js +3 -1
- package/dist/raw/eval/models/TraceLinks.d.ts +1 -1
- package/dist/raw/eval/models/TraceLinks.js +1 -1
- package/dist/raw/eval/models/TraceListEnvelope.d.ts +1 -1
- package/dist/raw/eval/models/TraceListEnvelope.js +1 -1
- package/dist/raw/eval/models/TraceParentView.d.ts +1 -1
- package/dist/raw/eval/models/TraceParentView.js +1 -1
- package/dist/raw/eval/models/TraceStatus.d.ts +1 -1
- package/dist/raw/eval/models/TraceStatus.js +1 -1
- package/dist/raw/eval/models/TraceSummaryStats.d.ts +1 -1
- package/dist/raw/eval/models/TraceSummaryStats.js +1 -1
- package/dist/raw/eval/models/TraceSummaryView.d.ts +1 -1
- package/dist/raw/eval/models/TraceSummaryView.js +1 -1
- package/dist/raw/eval/models/UsageView.d.ts +1 -1
- package/dist/raw/eval/models/UsageView.js +1 -1
- package/dist/raw/eval/models/index.d.ts +2 -0
- package/dist/raw/eval/models/index.js +2 -0
- package/dist/raw/eval/runtime.d.ts +1 -1
- package/dist/raw/eval/runtime.js +1 -1
- package/dist/raw/file/apis/FileApi.d.ts +18 -0
- package/dist/raw/file/apis/FileApi.js +25 -1
- package/dist/raw/file/models/FileCreateUpload400Response.d.ts +2 -0
- package/dist/raw/file/models/FileCreateUpload400Response.js +2 -2
- package/dist/raw/file/models/FileCreateUpload413Response.d.ts +2 -1
- package/dist/raw/file/models/FileCreateUpload413Response.js +2 -3
- package/dist/raw/file/models/FileCreateUpload415Response.d.ts +1 -0
- package/dist/raw/file/models/FileCreateUpload415Response.js +1 -2
- package/dist/raw/file/models/FileFile.d.ts +4 -0
- package/dist/raw/file/models/FileFileArtifact.d.ts +31 -15
- package/dist/raw/file/models/FileFileArtifact.js +2 -2
- package/dist/raw/file/models/FileIngestUpload400Response.d.ts +2 -1
- package/dist/raw/file/models/FileIngestUpload400Response.js +2 -3
- package/dist/raw/file/models/FileIngestUpload415Response.d.ts +63 -0
- package/dist/raw/file/models/FileIngestUpload415Response.js +75 -0
- package/dist/raw/file/models/GatewayArtifactBase.d.ts +27 -15
- package/dist/raw/file/models/GatewayArtifactBase.js +2 -2
- package/dist/raw/file/models/index.d.ts +1 -0
- package/dist/raw/file/models/index.js +1 -0
- package/dist/raw/mcp/apis/ServersApi.d.ts +18 -0
- package/dist/raw/mcp/apis/ServersApi.js +25 -1
- package/dist/raw/mcp/apis/ToolsApi.d.ts +18 -0
- package/dist/raw/mcp/apis/ToolsApi.js +25 -1
- package/dist/raw/mcp/models/GatewayArtifactBase.d.ts +27 -15
- package/dist/raw/mcp/models/GatewayArtifactBase.js +2 -2
- package/dist/raw/mcp/models/McpAggregateServers400Response.d.ts +2 -0
- package/dist/raw/mcp/models/McpAggregateServers400Response.js +2 -0
- package/dist/raw/mcp/models/McpAggregateServers413Response.d.ts +64 -0
- package/dist/raw/mcp/models/McpAggregateServers413Response.js +74 -0
- package/dist/raw/mcp/models/McpAggregateServers415Response.d.ts +1 -0
- package/dist/raw/mcp/models/McpAggregateServers415Response.js +1 -2
- package/dist/raw/mcp/models/McpMcpServer.d.ts +27 -0
- package/dist/raw/mcp/models/McpMcpServer.js +4 -0
- package/dist/raw/mcp/models/McpMcpServerArtifactView.d.ts +54 -15
- package/dist/raw/mcp/models/McpMcpServerArtifactView.js +6 -2
- package/dist/raw/mcp/models/McpMcpSessionMessage.d.ts +1 -1
- package/dist/raw/mcp/models/McpMcpToolArtifactView.d.ts +27 -15
- package/dist/raw/mcp/models/McpMcpToolArtifactView.js +2 -2
- package/dist/raw/mcp/models/index.d.ts +1 -0
- package/dist/raw/mcp/models/index.js +1 -0
- package/dist/raw/model/apis/OpenaiApi.d.ts +4 -4
- package/dist/raw/model/apis/OpenaiApi.js +4 -4
- package/dist/raw/registry/apis/AppsApi.d.ts +159 -0
- package/dist/raw/registry/apis/AppsApi.js +385 -0
- package/dist/raw/registry/apis/AuthApi.d.ts +2 -2
- package/dist/raw/registry/apis/AuthApi.js +2 -2
- package/dist/raw/registry/apis/DiscoveryApi.d.ts +27 -0
- package/dist/raw/registry/apis/DiscoveryApi.js +37 -1
- package/dist/raw/registry/apis/InvitationsApi.d.ts +159 -0
- package/dist/raw/registry/apis/InvitationsApi.js +383 -0
- package/dist/raw/registry/apis/OrganisationsApi.d.ts +51 -0
- package/dist/raw/registry/apis/OrganisationsApi.js +108 -1
- package/dist/raw/registry/apis/ReleasesApi.d.ts +199 -0
- package/dist/raw/registry/apis/ReleasesApi.js +484 -0
- package/dist/raw/registry/apis/ReposApi.d.ts +27 -0
- package/dist/raw/registry/apis/ReposApi.js +37 -1
- package/dist/raw/registry/apis/RolesApi.d.ts +32 -0
- package/dist/raw/registry/apis/RolesApi.js +95 -0
- package/dist/raw/registry/apis/ServiceAccountsApi.d.ts +13 -4
- package/dist/raw/registry/apis/ServiceAccountsApi.js +17 -5
- package/dist/raw/registry/apis/SessionsApi.d.ts +60 -0
- package/dist/raw/registry/apis/SessionsApi.js +150 -0
- package/dist/raw/registry/apis/UsersApi.d.ts +75 -43
- package/dist/raw/registry/apis/UsersApi.js +139 -74
- package/dist/raw/registry/apis/WorkspacesApi.d.ts +52 -4
- package/dist/raw/registry/apis/WorkspacesApi.js +92 -5
- package/dist/raw/registry/apis/index.d.ts +5 -7
- package/dist/raw/registry/apis/index.js +5 -7
- package/dist/raw/registry/models/{ExtensionJobDto.d.ts → AppActionDto.d.ts} +33 -27
- package/dist/raw/registry/models/{ExtensionJobDto.js → AppActionDto.js} +22 -20
- package/dist/raw/registry/models/AppActionsPage.d.ts +40 -0
- package/dist/raw/registry/models/{PublishersPage.js → AppActionsPage.js} +16 -16
- package/dist/raw/registry/models/AppDto.d.ts +174 -0
- package/dist/raw/registry/models/AppDto.js +116 -0
- package/dist/raw/registry/models/AppsPage.d.ts +40 -0
- package/dist/raw/registry/models/{GroupsPage.js → AppsPage.js} +16 -16
- package/dist/raw/registry/models/ArtifactView.d.ts +76 -15
- package/dist/raw/registry/models/ArtifactView.js +10 -2
- package/dist/raw/registry/models/CreateInvitationsRequest.d.ts +33 -0
- package/dist/raw/registry/models/CreateInvitationsRequest.js +51 -0
- package/dist/raw/registry/models/CutReleaseBody.d.ts +56 -0
- package/dist/raw/registry/models/CutReleaseBody.js +56 -0
- package/dist/raw/registry/models/EdgeTarget.d.ts +4 -0
- package/dist/raw/registry/models/InstallAppBody.d.ts +34 -0
- package/dist/raw/registry/models/InstallAppBody.js +48 -0
- package/dist/raw/registry/models/IntrospectedIdentity.d.ts +12 -3
- package/dist/raw/registry/models/IntrospectedIdentity.js +5 -3
- package/dist/raw/registry/models/InvitationDto.d.ts +98 -0
- package/dist/raw/registry/models/InvitationDto.js +88 -0
- package/dist/raw/registry/models/InvitationSendResult.d.ts +38 -0
- package/dist/raw/registry/models/InvitationSendResult.js +54 -0
- package/dist/raw/registry/models/InvitationSummaryDto.d.ts +86 -0
- package/dist/raw/registry/models/InvitationSummaryDto.js +84 -0
- package/dist/raw/registry/models/InvitationsPage.d.ts +40 -0
- package/dist/raw/registry/models/{MembershipsPage.js → InvitationsPage.js} +16 -16
- package/dist/raw/registry/models/InvitationsResponse.d.ts +33 -0
- package/dist/raw/registry/models/InvitationsResponse.js +51 -0
- package/dist/raw/registry/models/InviteeRequest.d.ts +44 -0
- package/dist/raw/registry/models/InviteeRequest.js +56 -0
- package/dist/raw/registry/models/InviteeResult.d.ts +69 -0
- package/dist/raw/registry/models/InviteeResult.js +66 -0
- package/dist/raw/registry/models/ReconcileAcceptedDto.d.ts +40 -0
- package/dist/raw/registry/models/ReconcileAcceptedDto.js +54 -0
- package/dist/raw/registry/models/RegistryAggregate400Response.d.ts +2 -0
- package/dist/raw/registry/models/RegistryAggregate400Response.js +2 -2
- package/dist/raw/registry/models/{RegistryListActionRuns401Response.d.ts → RegistryAggregate401Response.d.ts} +16 -16
- package/dist/raw/registry/models/RegistryAggregate401Response.js +89 -0
- package/dist/raw/registry/models/RegistryAggregate403Response.d.ts +64 -0
- package/dist/raw/registry/models/RegistryAggregate403Response.js +74 -0
- package/dist/raw/registry/models/RegistryAggregate413Response.d.ts +64 -0
- package/dist/raw/registry/models/RegistryAggregate413Response.js +74 -0
- package/dist/raw/registry/models/RegistryAggregate415Response.d.ts +1 -0
- package/dist/raw/registry/models/RegistryAggregate415Response.js +1 -2
- package/dist/raw/registry/models/RegistryAggregate500Response.d.ts +63 -0
- package/dist/raw/registry/models/RegistryAggregate500Response.js +75 -0
- package/dist/raw/registry/models/RegistryAggregate503Response.d.ts +64 -0
- package/dist/raw/registry/models/RegistryAggregate503Response.js +74 -0
- package/dist/raw/registry/models/RegistryAggregate504Response.d.ts +63 -0
- package/dist/raw/registry/models/RegistryAggregate504Response.js +75 -0
- package/dist/raw/registry/models/RegistryAggregateKind404Response.d.ts +63 -0
- package/dist/raw/registry/models/{RegistryGetActionRun404Response.js → RegistryAggregateKind404Response.js} +18 -18
- package/dist/raw/registry/models/RegistryCreateServiceAccount400Response.d.ts +66 -0
- package/dist/raw/registry/models/RegistryCreateServiceAccount400Response.js +76 -0
- package/dist/raw/registry/models/RegistryInstallApp409Response.d.ts +63 -0
- package/dist/raw/registry/models/RegistryInstallApp409Response.js +75 -0
- package/dist/raw/registry/models/RegistryListApps400Response.d.ts +63 -0
- package/dist/raw/registry/models/RegistryListApps400Response.js +75 -0
- package/dist/raw/registry/models/RegistryListApps503Response.d.ts +65 -0
- package/dist/raw/registry/models/RegistryListApps503Response.js +75 -0
- package/dist/raw/registry/models/RegistryListArtifactReleases400Response.d.ts +63 -0
- package/dist/raw/registry/models/RegistryListArtifactReleases400Response.js +75 -0
- package/dist/raw/registry/models/RegistryListUserTraces503Response.d.ts +66 -0
- package/dist/raw/registry/models/RegistryListUserTraces503Response.js +76 -0
- package/dist/raw/registry/models/RegistryRevokeOwnSessions400Response.d.ts +64 -0
- package/dist/raw/registry/models/RegistryRevokeOwnSessions400Response.js +74 -0
- package/dist/raw/registry/models/RegistryRevokeOwnSessions415Response.d.ts +63 -0
- package/dist/raw/registry/models/RegistryRevokeOwnSessions415Response.js +75 -0
- package/dist/raw/registry/models/RegistryWhoami503Response.d.ts +66 -0
- package/dist/raw/registry/models/RegistryWhoami503Response.js +76 -0
- package/dist/raw/registry/models/RegistryWorkspacePluginRef.d.ts +61 -0
- package/dist/raw/registry/models/RegistryWorkspacePluginRef.js +62 -0
- package/dist/raw/registry/models/RegistryWorkspaceRecommendation.d.ts +66 -0
- package/dist/raw/registry/models/RegistryWorkspaceRecommendation.js +64 -0
- package/dist/raw/registry/models/RegistryWorkspaceRecommendationReason.d.ts +29 -0
- package/dist/raw/registry/models/RegistryWorkspaceRecommendationReason.js +57 -0
- package/dist/raw/registry/models/RegistryWorkspaceView.d.ts +33 -0
- package/dist/raw/registry/models/RegistryWorkspaceView.js +7 -0
- package/dist/raw/registry/models/RelationshipsView.d.ts +5 -1
- package/dist/raw/registry/models/ReleaseDto.d.ts +123 -0
- package/dist/raw/registry/models/ReleaseDto.js +100 -0
- package/dist/raw/registry/models/ReleasePage.d.ts +40 -0
- package/dist/raw/registry/models/{BudgetsPage.js → ReleasePage.js} +16 -16
- package/dist/raw/registry/models/ReleasePolicyDto.d.ts +76 -0
- package/dist/raw/registry/models/ReleasePolicyDto.js +78 -0
- package/dist/raw/registry/models/RoleDto.d.ts +38 -0
- package/dist/raw/registry/models/RoleDto.js +54 -0
- package/dist/raw/registry/models/RoleListDto.d.ts +33 -0
- package/dist/raw/registry/models/RoleListDto.js +51 -0
- package/dist/raw/registry/models/ServiceAccountDto.d.ts +5 -1
- package/dist/raw/registry/models/SetReleasePolicyBody.d.ts +55 -0
- package/dist/raw/registry/models/SetReleasePolicyBody.js +54 -0
- package/dist/raw/registry/models/SetTraceContentPolicyDto.d.ts +34 -0
- package/dist/raw/registry/models/SetTraceContentPolicyDto.js +48 -0
- package/dist/raw/registry/models/SpanViewDto.d.ts +25 -0
- package/dist/raw/registry/models/SpanViewDto.js +8 -0
- package/dist/raw/registry/models/TraceContentDeletionDto.d.ts +32 -0
- package/dist/raw/registry/models/TraceContentDeletionDto.js +50 -0
- package/dist/raw/registry/models/TraceContentPolicyDto.d.ts +48 -0
- package/dist/raw/registry/models/TraceContentPolicyDto.js +52 -0
- package/dist/raw/registry/models/TraceDetailView.d.ts +9 -0
- package/dist/raw/registry/models/TraceDetailView.js +2 -0
- package/dist/raw/registry/models/UpdateInvitationRequest.d.ts +38 -0
- package/dist/raw/registry/models/UpdateInvitationRequest.js +50 -0
- package/dist/raw/registry/models/UpgradeAppBody.d.ts +37 -0
- package/dist/raw/registry/models/UpgradeAppBody.js +48 -0
- package/dist/raw/registry/models/UserDirectoryDto.d.ts +55 -0
- package/dist/raw/registry/models/UserDirectoryDto.js +58 -0
- package/dist/raw/registry/models/UsersPage.d.ts +3 -3
- package/dist/raw/registry/models/UsersPage.js +3 -3
- package/dist/raw/registry/models/WhoamiResponse.d.ts +12 -3
- package/dist/raw/registry/models/WhoamiResponse.js +5 -3
- package/dist/raw/registry/models/WithdrawBody.d.ts +33 -0
- package/dist/raw/registry/models/WithdrawBody.js +48 -0
- package/dist/raw/registry/models/WorkspaceInvitationListDto.d.ts +33 -0
- package/dist/raw/registry/models/WorkspaceInvitationListDto.js +51 -0
- package/dist/raw/registry/models/WorkspaceInvitationRow.d.ts +44 -0
- package/dist/raw/registry/models/WorkspaceInvitationRow.js +58 -0
- package/dist/raw/registry/models/WorkspaceRecommendationsPage.d.ts +40 -0
- package/dist/raw/registry/models/WorkspaceRecommendationsPage.js +56 -0
- package/dist/raw/registry/models/index.d.ts +50 -50
- package/dist/raw/registry/models/index.js +50 -50
- package/dist/raw/skill/apis/SkillApi.d.ts +65 -10
- package/dist/raw/skill/apis/SkillApi.js +86 -11
- package/dist/raw/skill/models/GatewayArtifactBase.d.ts +27 -15
- package/dist/raw/skill/models/GatewayArtifactBase.js +2 -2
- package/dist/raw/skill/models/GatewayTraceStatsGroupBy.d.ts +5 -1
- package/dist/raw/skill/models/GatewayTraceStatsGroupBy.js +4 -0
- package/dist/raw/skill/models/GatewayTraceStatsMeasure.d.ts +3 -1
- package/dist/raw/skill/models/GatewayTraceStatsMeasure.js +2 -0
- package/dist/raw/skill/models/SkillAggregate400Response.d.ts +2 -0
- package/dist/raw/skill/models/SkillAggregate400Response.js +2 -2
- package/dist/raw/skill/models/SkillAggregate415Response.d.ts +1 -0
- package/dist/raw/skill/models/SkillAggregate415Response.js +1 -2
- package/dist/raw/skill/models/SkillCreate400Response.d.ts +2 -1
- package/dist/raw/skill/models/SkillCreate400Response.js +2 -3
- package/dist/raw/skill/models/SkillCreate413Response.d.ts +64 -0
- package/dist/raw/skill/models/SkillCreate413Response.js +74 -0
- package/dist/raw/skill/models/SkillCreate415Response.d.ts +63 -0
- package/dist/raw/skill/models/SkillCreate415Response.js +75 -0
- package/dist/raw/skill/models/SkillQuerySkillTraceStats400Response.d.ts +2 -0
- package/dist/raw/skill/models/SkillQuerySkillTraceStats400Response.js +2 -0
- package/dist/raw/skill/models/SkillSkill.d.ts +6 -7
- package/dist/raw/skill/models/SkillSkillArtifactView.d.ts +33 -22
- package/dist/raw/skill/models/SkillSkillArtifactView.js +2 -2
- package/dist/raw/skill/models/SpanViewDto.d.ts +25 -0
- package/dist/raw/skill/models/SpanViewDto.js +8 -0
- package/dist/raw/skill/models/TraceDetailView.d.ts +9 -0
- package/dist/raw/skill/models/TraceDetailView.js +2 -0
- package/dist/raw/skill/models/index.d.ts +2 -0
- package/dist/raw/skill/models/index.js +2 -0
- package/dist/resources.d.ts +6 -1
- package/dist/resources.js +9 -6
- package/dist/resources.json +316 -333
- package/dist/tracing/client.d.ts +2 -0
- package/dist/tracing/client.js +7 -0
- package/dist/tracing/compat.d.ts +82 -0
- package/dist/tracing/compat.js +128 -0
- package/dist/tracing/index.d.ts +2 -0
- package/dist/tracing/index.js +13 -1
- package/dist/tracing/integrations.d.ts +35 -0
- package/dist/tracing/integrations.js +95 -0
- package/dist/tracing/spans.d.ts +4 -0
- package/dist/tracing/spans.js +8 -0
- package/dist/tracing/version.d.ts +1 -1
- package/dist/tracing/version.js +1 -1
- package/package.json +1 -1
- package/dist/raw/registry/apis/ActionsApi.d.ts +0 -68
- package/dist/raw/registry/apis/ActionsApi.js +0 -181
- package/dist/raw/registry/apis/CatalogApi.d.ts +0 -98
- package/dist/raw/registry/apis/CatalogApi.js +0 -259
- package/dist/raw/registry/apis/DetectedUsersApi.d.ts +0 -89
- package/dist/raw/registry/apis/DetectedUsersApi.js +0 -239
- package/dist/raw/registry/apis/ExtensionsApi.d.ts +0 -68
- package/dist/raw/registry/apis/ExtensionsApi.js +0 -181
- package/dist/raw/registry/apis/GroupsApi.d.ts +0 -68
- package/dist/raw/registry/apis/GroupsApi.js +0 -181
- package/dist/raw/registry/apis/ProjectsApi.d.ts +0 -159
- package/dist/raw/registry/apis/ProjectsApi.js +0 -402
- package/dist/raw/registry/apis/UsageApi.d.ts +0 -134
- package/dist/raw/registry/apis/UsageApi.js +0 -349
- package/dist/raw/registry/models/ActionRunDto.d.ts +0 -99
- package/dist/raw/registry/models/ActionRunDto.js +0 -86
- package/dist/raw/registry/models/ActionRunJobDto.d.ts +0 -92
- package/dist/raw/registry/models/ActionRunJobDto.js +0 -78
- package/dist/raw/registry/models/ActionRunJobsPage.d.ts +0 -40
- package/dist/raw/registry/models/ActionRunJobsPage.js +0 -56
- package/dist/raw/registry/models/ActionRunsPage.d.ts +0 -40
- package/dist/raw/registry/models/ActionRunsPage.js +0 -56
- package/dist/raw/registry/models/AvailableExtensionDto.d.ts +0 -123
- package/dist/raw/registry/models/AvailableExtensionDto.js +0 -96
- package/dist/raw/registry/models/AvailableExtensionsPage.d.ts +0 -40
- package/dist/raw/registry/models/AvailableExtensionsPage.js +0 -56
- package/dist/raw/registry/models/BudgetDto.d.ts +0 -111
- package/dist/raw/registry/models/BudgetDto.js +0 -96
- package/dist/raw/registry/models/BudgetsPage.d.ts +0 -40
- package/dist/raw/registry/models/CreateBudgetBody.d.ts +0 -86
- package/dist/raw/registry/models/CreateBudgetBody.js +0 -78
- package/dist/raw/registry/models/CreateProjectBody.d.ts +0 -56
- package/dist/raw/registry/models/CreateProjectBody.js +0 -60
- package/dist/raw/registry/models/DetectedUserDto.d.ts +0 -84
- package/dist/raw/registry/models/DetectedUserDto.js +0 -74
- package/dist/raw/registry/models/DetectedUsersPage.d.ts +0 -40
- package/dist/raw/registry/models/DetectedUsersPage.js +0 -56
- package/dist/raw/registry/models/ExtensionJobsPage.d.ts +0 -40
- package/dist/raw/registry/models/ExtensionJobsPage.js +0 -56
- package/dist/raw/registry/models/ExtensionVersionDto.d.ts +0 -50
- package/dist/raw/registry/models/ExtensionVersionDto.js +0 -58
- package/dist/raw/registry/models/ExtensionVersionsPage.d.ts +0 -40
- package/dist/raw/registry/models/ExtensionVersionsPage.js +0 -56
- package/dist/raw/registry/models/GroupMemberDto.d.ts +0 -44
- package/dist/raw/registry/models/GroupMemberDto.js +0 -58
- package/dist/raw/registry/models/GroupMembersPage.d.ts +0 -40
- package/dist/raw/registry/models/GroupMembersPage.js +0 -56
- package/dist/raw/registry/models/GroupsPage.d.ts +0 -40
- package/dist/raw/registry/models/InstalledExtensionDto.d.ts +0 -80
- package/dist/raw/registry/models/InstalledExtensionDto.js +0 -82
- package/dist/raw/registry/models/InstalledExtensionsPage.d.ts +0 -40
- package/dist/raw/registry/models/InstalledExtensionsPage.js +0 -56
- package/dist/raw/registry/models/MembershipDto.d.ts +0 -60
- package/dist/raw/registry/models/MembershipDto.js +0 -66
- package/dist/raw/registry/models/MembershipsPage.d.ts +0 -40
- package/dist/raw/registry/models/PatchBudgetBody.d.ts +0 -62
- package/dist/raw/registry/models/PatchBudgetBody.js +0 -58
- package/dist/raw/registry/models/PatchProjectBody.d.ts +0 -50
- package/dist/raw/registry/models/PatchProjectBody.js +0 -54
- package/dist/raw/registry/models/PatchUserBody.d.ts +0 -35
- package/dist/raw/registry/models/PatchUserBody.js +0 -48
- package/dist/raw/registry/models/ProjectBulkCreateRequest.d.ts +0 -33
- package/dist/raw/registry/models/ProjectBulkCreateRequest.js +0 -51
- package/dist/raw/registry/models/ProjectDto.d.ts +0 -102
- package/dist/raw/registry/models/ProjectDto.js +0 -92
- package/dist/raw/registry/models/ProjectExport.d.ts +0 -49
- package/dist/raw/registry/models/ProjectExport.js +0 -59
- package/dist/raw/registry/models/ProjectSlot.d.ts +0 -54
- package/dist/raw/registry/models/ProjectSlot.js +0 -60
- package/dist/raw/registry/models/ProjectsBulkResponse.d.ts +0 -40
- package/dist/raw/registry/models/ProjectsBulkResponse.js +0 -51
- package/dist/raw/registry/models/ProjectsPage.d.ts +0 -40
- package/dist/raw/registry/models/ProjectsPage.js +0 -56
- package/dist/raw/registry/models/PublisherDto.d.ts +0 -80
- package/dist/raw/registry/models/PublisherDto.js +0 -76
- package/dist/raw/registry/models/PublishersPage.d.ts +0 -40
- package/dist/raw/registry/models/RegistryCreateServiceAccount409Response.d.ts +0 -63
- package/dist/raw/registry/models/RegistryCreateServiceAccount409Response.js +0 -75
- package/dist/raw/registry/models/RegistryGetActionRun404Response.d.ts +0 -63
- package/dist/raw/registry/models/RegistryListActionRuns400Response.d.ts +0 -63
- package/dist/raw/registry/models/RegistryListActionRuns400Response.js +0 -75
- package/dist/raw/registry/models/RegistryListActionRuns401Response.js +0 -89
- package/dist/raw/registry/models/RegistryListActionRuns403Response.d.ts +0 -64
- package/dist/raw/registry/models/RegistryListActionRuns403Response.js +0 -74
- package/dist/raw/registry/models/RegistryListActionRuns500Response.d.ts +0 -63
- package/dist/raw/registry/models/RegistryListActionRuns500Response.js +0 -75
- package/dist/raw/registry/models/RegistryListActionRuns503Response.d.ts +0 -64
- package/dist/raw/registry/models/RegistryListActionRuns503Response.js +0 -74
- package/dist/raw/registry/models/RegistryListActionRuns504Response.d.ts +0 -63
- package/dist/raw/registry/models/RegistryListActionRuns504Response.js +0 -75
- package/dist/raw/registry/models/RegistryListUserTraces400Response.d.ts +0 -63
- package/dist/raw/registry/models/RegistryListUserTraces400Response.js +0 -75
- package/dist/raw/registry/models/RegistryListWorkspaces503Response.d.ts +0 -65
- package/dist/raw/registry/models/RegistryListWorkspaces503Response.js +0 -75
- package/dist/raw/registry/models/UpdateDetectedUserRequest.d.ts +0 -48
- package/dist/raw/registry/models/UpdateDetectedUserRequest.js +0 -52
- package/dist/raw/registry/models/UsageCounters.d.ts +0 -78
- package/dist/raw/registry/models/UsageCounters.js +0 -78
- package/dist/raw/registry/models/UsageDayDto.d.ts +0 -129
- package/dist/raw/registry/models/UsageDayDto.js +0 -114
- package/dist/raw/registry/models/UsageDaysPage.d.ts +0 -40
- package/dist/raw/registry/models/UsageDaysPage.js +0 -56
- package/dist/raw/registry/models/UsageMinuteDto.d.ts +0 -136
- package/dist/raw/registry/models/UsageMinuteDto.js +0 -118
- package/dist/raw/registry/models/UsageMinutesPage.d.ts +0 -40
- package/dist/raw/registry/models/UsageMinutesPage.js +0 -56
package/dist/evals.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
2
|
+
/** Evaluation lifecycle helpers and the declarative `Eval()` runner. */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.EvalRun = exports.CONTEXT_MANIFEST_SCHEMA = void 0;
|
|
5
5
|
exports.createContextManifest = createContextManifest;
|
|
6
6
|
exports.resolveDataset = resolveDataset;
|
|
7
7
|
exports.startExperiment = startExperiment;
|
|
8
|
+
exports.Eval = Eval;
|
|
9
|
+
const client_1 = require("./client");
|
|
10
|
+
const errors_1 = require("./errors");
|
|
8
11
|
exports.CONTEXT_MANIFEST_SCHEMA = "atlan.eval.context-manifest/v1";
|
|
9
12
|
const SHA256 = /^sha256:[0-9a-f]{64}$/;
|
|
13
|
+
const TRACE_ID = /^[0-9a-f]{32}$/;
|
|
10
14
|
const CONTEXT_KIND = /^[a-z][a-z0-9_.-]{0,63}$/;
|
|
11
15
|
const MAX_LIST_OFFSET = 10_000;
|
|
12
16
|
function asResources(client) {
|
|
@@ -222,9 +226,691 @@ async function startExperiment(client, dataset, body, options = {}) {
|
|
|
222
226
|
const experiment = await resources.experiments.create(payload);
|
|
223
227
|
const run = new EvalRun(experiment, resolved, contextManifest);
|
|
224
228
|
void run.id;
|
|
229
|
+
if (field(experiment, "workspaceId") !== workspaceId) {
|
|
230
|
+
throw new Error("experiment resolved outside the requested workspace");
|
|
231
|
+
}
|
|
225
232
|
const responseDatasetId = field(experiment, "datasetId");
|
|
226
233
|
if (responseDatasetId !== undefined && responseDatasetId !== resolvedId) {
|
|
227
234
|
throw new Error("experiment create response contains a different dataset ID");
|
|
228
235
|
}
|
|
229
236
|
return run;
|
|
230
237
|
}
|
|
238
|
+
// ---------------------------------------------------------------------------
|
|
239
|
+
// Declarative evaluator
|
|
240
|
+
const DEFAULT_GATEWAY_ORIGIN = "https://agentgateway.atlan.engineering";
|
|
241
|
+
function tracingModule() {
|
|
242
|
+
// The root client is CommonJS while tracing has its own NodeNext build. A
|
|
243
|
+
// runtime require keeps the two compiler targets independent and resolves to
|
|
244
|
+
// dist/tracing/index.js in the published package.
|
|
245
|
+
return require("./tracing/index.js");
|
|
246
|
+
}
|
|
247
|
+
function environment(name) {
|
|
248
|
+
const processLike = globalThis
|
|
249
|
+
.process;
|
|
250
|
+
const value = processLike?.env?.[name];
|
|
251
|
+
return value && value.length > 0 ? value : undefined;
|
|
252
|
+
}
|
|
253
|
+
function nonEmpty(value, message) {
|
|
254
|
+
if (value === undefined || value.trim().length === 0)
|
|
255
|
+
throw new Error(message);
|
|
256
|
+
return value;
|
|
257
|
+
}
|
|
258
|
+
function slug(value, fallback) {
|
|
259
|
+
const normalized = value
|
|
260
|
+
.normalize("NFKD")
|
|
261
|
+
.toLowerCase()
|
|
262
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
263
|
+
.replace(/^-+|-+$/g, "")
|
|
264
|
+
.slice(0, 80);
|
|
265
|
+
return normalized || fallback;
|
|
266
|
+
}
|
|
267
|
+
function runName(displayName) {
|
|
268
|
+
const suffix = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
269
|
+
return `${slug(displayName, "eval")}-${suffix}`;
|
|
270
|
+
}
|
|
271
|
+
function registryObject(value) {
|
|
272
|
+
if (value === undefined)
|
|
273
|
+
return undefined;
|
|
274
|
+
if (value === null)
|
|
275
|
+
return null;
|
|
276
|
+
return isRecord(value) ? value : { value };
|
|
277
|
+
}
|
|
278
|
+
function safeError(error) {
|
|
279
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
280
|
+
return message.replace(/[\r\n]+/g, " ").slice(0, 2_000) || "evaluation failed";
|
|
281
|
+
}
|
|
282
|
+
async function collectData(data) {
|
|
283
|
+
const produced = typeof data === "function" ? data() : data;
|
|
284
|
+
const resolved = await produced;
|
|
285
|
+
const cases = [];
|
|
286
|
+
if (Symbol.asyncIterator in Object(resolved)) {
|
|
287
|
+
for await (const item of resolved) {
|
|
288
|
+
cases.push(item);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
else if (Symbol.iterator in Object(resolved)) {
|
|
292
|
+
for (const item of resolved)
|
|
293
|
+
cases.push(item);
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
throw new Error("Eval data must be an iterable or async iterable");
|
|
297
|
+
}
|
|
298
|
+
for (const item of cases) {
|
|
299
|
+
if (!isRecord(item) || !("input" in item))
|
|
300
|
+
throw new Error("every Eval case needs input");
|
|
301
|
+
if (item.metadata !== undefined && !isRecord(item.metadata)) {
|
|
302
|
+
throw new Error("Eval case metadata must be an object");
|
|
303
|
+
}
|
|
304
|
+
if (item.tags !== undefined &&
|
|
305
|
+
(!Array.isArray(item.tags) || item.tags.some((tag) => typeof tag !== "string"))) {
|
|
306
|
+
throw new Error("Eval case tags must be an array of strings");
|
|
307
|
+
}
|
|
308
|
+
if (item.id !== undefined && (typeof item.id !== "string" || item.id.length === 0)) {
|
|
309
|
+
throw new Error("Eval case id must be a non-empty string");
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
return cases;
|
|
313
|
+
}
|
|
314
|
+
async function datasetCases(resources, datasetId) {
|
|
315
|
+
const records = [];
|
|
316
|
+
let offset = 0;
|
|
317
|
+
while (true) {
|
|
318
|
+
const page = await resources.datasets.records.list({ datasetId, limit: 500, offset });
|
|
319
|
+
const items = field(page, "items");
|
|
320
|
+
const batch = Array.isArray(items) ? items : [];
|
|
321
|
+
for (const item of batch) {
|
|
322
|
+
const recordId = field(item, "id");
|
|
323
|
+
if (typeof recordId !== "string" || recordId.length === 0) {
|
|
324
|
+
throw new Error("dataset record response did not contain an ID");
|
|
325
|
+
}
|
|
326
|
+
const rawMetadata = field(item, "extra");
|
|
327
|
+
if (rawMetadata !== undefined && rawMetadata !== null && !isRecord(rawMetadata)) {
|
|
328
|
+
throw new Error("dataset record response contained invalid metadata");
|
|
329
|
+
}
|
|
330
|
+
const rawTags = field(item, "categories");
|
|
331
|
+
if (rawTags !== undefined &&
|
|
332
|
+
rawTags !== null &&
|
|
333
|
+
(!Array.isArray(rawTags) || rawTags.some((tag) => typeof tag !== "string"))) {
|
|
334
|
+
throw new Error("dataset record response contained invalid categories");
|
|
335
|
+
}
|
|
336
|
+
records.push({
|
|
337
|
+
id: recordId,
|
|
338
|
+
input: field(item, "input"),
|
|
339
|
+
expected: field(item, "expected"),
|
|
340
|
+
metadata: (rawMetadata ?? {}),
|
|
341
|
+
tags: (rawTags ?? []),
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
offset += batch.length;
|
|
345
|
+
const total = field(field(page, "page"), "total");
|
|
346
|
+
if (batch.length === 0 || (typeof total === "number" && offset >= total))
|
|
347
|
+
break;
|
|
348
|
+
if (offset > MAX_LIST_OFFSET) {
|
|
349
|
+
throw new Error("dataset record resolution exceeded 10000 rows");
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return records;
|
|
353
|
+
}
|
|
354
|
+
function snapshotCases(experiment) {
|
|
355
|
+
const snapshot = field(experiment, "datasetSnapshot");
|
|
356
|
+
const raw = field(snapshot, "records");
|
|
357
|
+
if (!Array.isArray(raw))
|
|
358
|
+
return undefined;
|
|
359
|
+
return raw.map((record) => {
|
|
360
|
+
const id = field(record, "id");
|
|
361
|
+
if (typeof id !== "string" || id.length === 0) {
|
|
362
|
+
throw new Error("experiment dataset snapshot contains a record without an ID");
|
|
363
|
+
}
|
|
364
|
+
const extra = field(record, "extra");
|
|
365
|
+
const categories = field(record, "categories");
|
|
366
|
+
return {
|
|
367
|
+
id,
|
|
368
|
+
input: field(record, "input"),
|
|
369
|
+
expected: field(record, "expected"),
|
|
370
|
+
metadata: (isRecord(extra) ? extra : {}),
|
|
371
|
+
tags: (Array.isArray(categories) ? categories : []),
|
|
372
|
+
};
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
async function experimentResults(resources, experimentId) {
|
|
376
|
+
const results = [];
|
|
377
|
+
let offset = 0;
|
|
378
|
+
while (true) {
|
|
379
|
+
const page = await resources.experiments.results.list({
|
|
380
|
+
experimentId,
|
|
381
|
+
limit: 500,
|
|
382
|
+
offset,
|
|
383
|
+
});
|
|
384
|
+
const raw = field(page, "items");
|
|
385
|
+
const items = Array.isArray(raw) ? raw : [];
|
|
386
|
+
results.push(...items);
|
|
387
|
+
offset += items.length;
|
|
388
|
+
const total = field(field(page, "page"), "total");
|
|
389
|
+
if (items.length === 0 || (typeof total === "number" && offset >= total))
|
|
390
|
+
break;
|
|
391
|
+
if (offset > MAX_LIST_OFFSET) {
|
|
392
|
+
throw new Error("experiment result resolution exceeded 10000 rows");
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
return results;
|
|
396
|
+
}
|
|
397
|
+
async function existingCaseIds(resources, experimentId) {
|
|
398
|
+
return new Set((await experimentResults(resources, experimentId))
|
|
399
|
+
.map((item) => field(item, "caseId"))
|
|
400
|
+
.filter((caseId) => typeof caseId === "string" && caseId.length > 0));
|
|
401
|
+
}
|
|
402
|
+
async function findScorer(resources, name, workspaceId) {
|
|
403
|
+
const matches = [];
|
|
404
|
+
let offset = 0;
|
|
405
|
+
while (true) {
|
|
406
|
+
const page = await resources.scorers.list({ limit: 500, offset });
|
|
407
|
+
const items = field(page, "items");
|
|
408
|
+
const batch = Array.isArray(items) ? items : [];
|
|
409
|
+
matches.push(...batch.filter((item) => field(item, "name") === name && field(item, "workspaceId") === workspaceId));
|
|
410
|
+
if (matches.length > 1)
|
|
411
|
+
break;
|
|
412
|
+
offset += batch.length;
|
|
413
|
+
const total = field(field(page, "page"), "total");
|
|
414
|
+
if (batch.length === 0 || (typeof total === "number" && offset >= total))
|
|
415
|
+
break;
|
|
416
|
+
if (offset > MAX_LIST_OFFSET)
|
|
417
|
+
throw new Error("scorer resolution exceeded 10000 rows");
|
|
418
|
+
}
|
|
419
|
+
if (matches.length > 1)
|
|
420
|
+
throw new Error(`multiple scorers are named '${name}'`);
|
|
421
|
+
return matches[0];
|
|
422
|
+
}
|
|
423
|
+
function scorerIdentity(value, workspaceId) {
|
|
424
|
+
const id = field(value, "id");
|
|
425
|
+
const version = field(value, "versionOrdinal");
|
|
426
|
+
if (field(value, "workspaceId") !== workspaceId) {
|
|
427
|
+
throw new Error("scorer resolved outside the evaluation workspace");
|
|
428
|
+
}
|
|
429
|
+
if (typeof id !== "string" || !id.startsWith("scorer_")) {
|
|
430
|
+
throw new Error("scorer response did not contain a valid ID");
|
|
431
|
+
}
|
|
432
|
+
if (typeof version !== "number" || !Number.isInteger(version) || version < 1) {
|
|
433
|
+
throw new Error("scorer response did not contain a valid version");
|
|
434
|
+
}
|
|
435
|
+
return { id, version };
|
|
436
|
+
}
|
|
437
|
+
async function resolveScorer(resources, workspaceId, evalName, definition) {
|
|
438
|
+
if (!definition.name || /[\r\n]/.test(definition.name)) {
|
|
439
|
+
throw new Error("each scorer needs a non-empty single-line name");
|
|
440
|
+
}
|
|
441
|
+
if (definition.scorerId !== undefined) {
|
|
442
|
+
if (!definition.scorerId.startsWith("scorer_")) {
|
|
443
|
+
throw new Error(`scorer '${definition.name}' has an invalid scorerId`);
|
|
444
|
+
}
|
|
445
|
+
const scorer = await resources.scorers.get(definition.scorerId);
|
|
446
|
+
const identity = scorerIdentity(scorer, workspaceId);
|
|
447
|
+
if (definition.scorerVersion !== undefined) {
|
|
448
|
+
if (!Number.isInteger(definition.scorerVersion) || definition.scorerVersion < 1) {
|
|
449
|
+
throw new Error(`scorer '${definition.name}' has an invalid scorerVersion`);
|
|
450
|
+
}
|
|
451
|
+
return { id: identity.id, version: definition.scorerVersion };
|
|
452
|
+
}
|
|
453
|
+
return identity;
|
|
454
|
+
}
|
|
455
|
+
if (definition.scorerVersion !== undefined) {
|
|
456
|
+
throw new Error(`scorer '${definition.name}' has scorerVersion without scorerId`);
|
|
457
|
+
}
|
|
458
|
+
const artifactName = definition.registryName ?? `${slug(evalName, "eval")}-${slug(definition.name, "score")}`;
|
|
459
|
+
const existing = await findScorer(resources, artifactName, workspaceId);
|
|
460
|
+
if (existing !== undefined)
|
|
461
|
+
return scorerIdentity(existing, workspaceId);
|
|
462
|
+
try {
|
|
463
|
+
return scorerIdentity(await resources.scorers.create({
|
|
464
|
+
workspaceId,
|
|
465
|
+
name: artifactName,
|
|
466
|
+
displayName: definition.name,
|
|
467
|
+
sourceType: "local",
|
|
468
|
+
sourceId: `atlan-eval:${slug(evalName, "eval")}:${slug(definition.name, "score")}`,
|
|
469
|
+
scorerKind: definition.scorerKind ?? "code",
|
|
470
|
+
scope: definition.scope ?? "result",
|
|
471
|
+
outputs: definition.outputs ?? { [definition.name]: { type: "number", minimum: 0, maximum: 1 } },
|
|
472
|
+
spec: definition.spec ?? {
|
|
473
|
+
executor: "external",
|
|
474
|
+
sdk: "@atlanai/sdk",
|
|
475
|
+
entrypoint: definition.scorer.name || "anonymous",
|
|
476
|
+
},
|
|
477
|
+
}), workspaceId);
|
|
478
|
+
}
|
|
479
|
+
catch (error) {
|
|
480
|
+
if (!(error instanceof errors_1.AtlanAPIError) || error.status !== 409)
|
|
481
|
+
throw error;
|
|
482
|
+
const raced = await findScorer(resources, artifactName, workspaceId);
|
|
483
|
+
if (raced === undefined)
|
|
484
|
+
throw error;
|
|
485
|
+
return scorerIdentity(raced, workspaceId);
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
function normalizedScores(value, defaultName) {
|
|
489
|
+
if (value === null)
|
|
490
|
+
return [{ name: defaultName, score: null }];
|
|
491
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
492
|
+
return [{ name: defaultName, score: value }];
|
|
493
|
+
}
|
|
494
|
+
const values = Array.isArray(value) ? value : [value];
|
|
495
|
+
return values.map((item) => {
|
|
496
|
+
if (!isRecord(item) || !("score" in item)) {
|
|
497
|
+
throw new Error(`scorer '${defaultName}' returned an unsupported value`);
|
|
498
|
+
}
|
|
499
|
+
const score = item.score;
|
|
500
|
+
if (score !== null &&
|
|
501
|
+
typeof score !== "boolean" &&
|
|
502
|
+
!(typeof score === "number" && Number.isFinite(score))) {
|
|
503
|
+
throw new Error(`scorer '${defaultName}' returned a non-numeric score`);
|
|
504
|
+
}
|
|
505
|
+
return {
|
|
506
|
+
name: typeof item.name === "string" && item.name ? item.name : defaultName,
|
|
507
|
+
score,
|
|
508
|
+
...(isRecord(item.metadata) ? { metadata: item.metadata } : {}),
|
|
509
|
+
};
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
function numericScore(value) {
|
|
513
|
+
return typeof value === "boolean" ? (value ? 1 : 0) : value;
|
|
514
|
+
}
|
|
515
|
+
function localSummary(results, durationMs) {
|
|
516
|
+
const values = new Map();
|
|
517
|
+
for (const result of results) {
|
|
518
|
+
const scores = field(result, "scores");
|
|
519
|
+
if (scores !== undefined && !isRecord(scores)) {
|
|
520
|
+
throw new Error("experiment result response contained invalid scores");
|
|
521
|
+
}
|
|
522
|
+
for (const [name, score] of Object.entries(scores ?? {})) {
|
|
523
|
+
if (score === null)
|
|
524
|
+
continue;
|
|
525
|
+
if (typeof score !== "number" || !Number.isFinite(score)) {
|
|
526
|
+
throw new Error("experiment result response contained an invalid score value");
|
|
527
|
+
}
|
|
528
|
+
const observed = values.get(name) ?? [];
|
|
529
|
+
observed.push(score);
|
|
530
|
+
values.set(name, observed);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
return {
|
|
534
|
+
scores: Object.fromEntries([...values].map(([name, scores]) => [
|
|
535
|
+
name,
|
|
536
|
+
{
|
|
537
|
+
mean: scores.length === 0 ? null : scores.reduce((sum, value) => sum + value, 0) / scores.length,
|
|
538
|
+
count: scores.length,
|
|
539
|
+
},
|
|
540
|
+
])),
|
|
541
|
+
metrics: {
|
|
542
|
+
cases: results.length,
|
|
543
|
+
successfulCases: results.filter((result) => field(result, "error") == null).length,
|
|
544
|
+
failedCases: results.filter((result) => field(result, "error") != null).length,
|
|
545
|
+
durationMs,
|
|
546
|
+
},
|
|
547
|
+
};
|
|
548
|
+
}
|
|
549
|
+
async function listedTraceIds(resources, experimentId) {
|
|
550
|
+
const traceIds = new Set();
|
|
551
|
+
const seenCursors = new Set();
|
|
552
|
+
let cursor;
|
|
553
|
+
while (true) {
|
|
554
|
+
const page = await resources.experiments.traces.list(experimentId, {
|
|
555
|
+
limit: 500,
|
|
556
|
+
...(cursor === undefined ? {} : { cursor }),
|
|
557
|
+
});
|
|
558
|
+
const items = field(page, "items");
|
|
559
|
+
if (Array.isArray(items)) {
|
|
560
|
+
for (const item of items) {
|
|
561
|
+
const traceId = field(item, "traceId");
|
|
562
|
+
if (typeof traceId === "string")
|
|
563
|
+
traceIds.add(traceId);
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
const nextCursor = field(field(page, "page"), "nextCursor");
|
|
567
|
+
if (typeof nextCursor !== "string" || nextCursor.length === 0)
|
|
568
|
+
return traceIds;
|
|
569
|
+
if (seenCursors.has(nextCursor)) {
|
|
570
|
+
throw new Error("experiment trace pagination repeated a cursor");
|
|
571
|
+
}
|
|
572
|
+
seenCursors.add(nextCursor);
|
|
573
|
+
cursor = nextCursor;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
async function verifyTraceJoins(resources, experimentId, expected, timeoutMs) {
|
|
577
|
+
const deadline = Date.now() + timeoutMs;
|
|
578
|
+
let missing = expected;
|
|
579
|
+
let lastError;
|
|
580
|
+
while (true) {
|
|
581
|
+
try {
|
|
582
|
+
const observed = await listedTraceIds(resources, experimentId);
|
|
583
|
+
missing = new Set([...expected].filter((traceId) => !observed.has(traceId)));
|
|
584
|
+
lastError = undefined;
|
|
585
|
+
}
|
|
586
|
+
catch (error) {
|
|
587
|
+
if (!(error instanceof errors_1.AtlanAPIError) ||
|
|
588
|
+
![404, 429, 500, 502, 503, 504].includes(error.status)) {
|
|
589
|
+
throw error;
|
|
590
|
+
}
|
|
591
|
+
missing = expected;
|
|
592
|
+
lastError = error;
|
|
593
|
+
}
|
|
594
|
+
if (missing.size === 0)
|
|
595
|
+
return;
|
|
596
|
+
const remaining = deadline - Date.now();
|
|
597
|
+
if (remaining <= 0) {
|
|
598
|
+
const failure = new Error(`Registry did not expose ${missing.size} of ${expected.size} case traces ` +
|
|
599
|
+
"before the verification deadline");
|
|
600
|
+
if (lastError !== undefined)
|
|
601
|
+
failure.cause = lastError;
|
|
602
|
+
throw failure;
|
|
603
|
+
}
|
|
604
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(500, remaining)));
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
function defaultConnections(name, options) {
|
|
608
|
+
const apiKey = options.apiKey ?? environment("ATLAN_API_KEY");
|
|
609
|
+
const workspaceId = nonEmpty(options.workspaceId ?? options.client?.workspace ?? environment("ATLAN_WORKSPACE_ID"), "Eval needs workspaceId, client.workspace, or ATLAN_WORKSPACE_ID");
|
|
610
|
+
const gatewayOrigin = options.gatewayOrigin ?? environment("ATLAN_BASE_URL") ?? DEFAULT_GATEWAY_ORIGIN;
|
|
611
|
+
const client = options.client ??
|
|
612
|
+
new client_1.AtlanClient({
|
|
613
|
+
gatewayOrigin,
|
|
614
|
+
bearerToken: nonEmpty(apiKey, "Eval needs apiKey, client, or ATLAN_API_KEY"),
|
|
615
|
+
workspace: workspaceId,
|
|
616
|
+
});
|
|
617
|
+
const tracing = tracingModule();
|
|
618
|
+
const traceLogger = options.logger ??
|
|
619
|
+
tracing.initLogger({
|
|
620
|
+
projectName: name,
|
|
621
|
+
apiKey: nonEmpty(apiKey, "Eval needs apiKey, logger, or ATLAN_API_KEY for traces"),
|
|
622
|
+
baseUrl: gatewayOrigin,
|
|
623
|
+
workspaceId,
|
|
624
|
+
asyncFlush: true,
|
|
625
|
+
sampleRate: 1,
|
|
626
|
+
});
|
|
627
|
+
if (!traceLogger.client.isEnabled) {
|
|
628
|
+
throw new Error("Eval tracing is disabled; every case must produce a Registry trace");
|
|
629
|
+
}
|
|
630
|
+
const sampleRate = traceLogger.client.config
|
|
631
|
+
?.sampleRate;
|
|
632
|
+
if (sampleRate !== undefined && sampleRate !== 1) {
|
|
633
|
+
throw new Error("Eval tracing requires sampleRate=1 so no case trace is sampled out");
|
|
634
|
+
}
|
|
635
|
+
return { client, logger: traceLogger, workspaceId, tracing };
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Run a complete Registry evaluation from a compact Braintrust-shaped definition.
|
|
639
|
+
*
|
|
640
|
+
* Every case is a root OTel trace. Task/provider spans and scorer spans nest
|
|
641
|
+
* beneath it, verdicts cite immutable Registry scorer versions, result rows
|
|
642
|
+
* carry the root trace ID, traces flush before summary, and the experiment is
|
|
643
|
+
* explicitly finalized.
|
|
644
|
+
*/
|
|
645
|
+
async function Eval(name, evaluator, options = {}) {
|
|
646
|
+
if (!name || /[\r\n]/.test(name))
|
|
647
|
+
throw new Error("Eval name must be non-empty and single-line");
|
|
648
|
+
if ((evaluator.data === undefined) === (evaluator.dataset === undefined)) {
|
|
649
|
+
throw new Error("Eval needs exactly one of data or dataset");
|
|
650
|
+
}
|
|
651
|
+
if (evaluator.scores.length === 0)
|
|
652
|
+
throw new Error("Eval needs at least one scorer");
|
|
653
|
+
if (options.verifyTraces !== undefined && typeof options.verifyTraces !== "boolean") {
|
|
654
|
+
throw new Error("verifyTraces must be a boolean");
|
|
655
|
+
}
|
|
656
|
+
const traceVerificationTimeoutMs = options.traceVerificationTimeoutMs ?? 30_000;
|
|
657
|
+
if (!Number.isFinite(traceVerificationTimeoutMs) || traceVerificationTimeoutMs < 0) {
|
|
658
|
+
throw new Error("traceVerificationTimeoutMs must be a non-negative number");
|
|
659
|
+
}
|
|
660
|
+
const { client, logger: traceLogger, workspaceId, tracing } = defaultConnections(name, options);
|
|
661
|
+
const resources = asResources(client);
|
|
662
|
+
const displayName = evaluator.experimentName ?? name;
|
|
663
|
+
const experimentBody = {
|
|
664
|
+
workspaceId,
|
|
665
|
+
name: runName(displayName),
|
|
666
|
+
displayName,
|
|
667
|
+
description: evaluator.description,
|
|
668
|
+
projectId: options.projectId,
|
|
669
|
+
subjectKind: options.subjectKind,
|
|
670
|
+
subjectId: options.subjectId,
|
|
671
|
+
baselineExperimentId: options.baselineExperimentId,
|
|
672
|
+
experimentStatus: "running",
|
|
673
|
+
config: {
|
|
674
|
+
runner: "@atlanai/sdk.Eval",
|
|
675
|
+
...(options.config ?? {}),
|
|
676
|
+
},
|
|
677
|
+
};
|
|
678
|
+
for (const [key, value] of Object.entries(experimentBody)) {
|
|
679
|
+
if (value === undefined)
|
|
680
|
+
delete experimentBody[key];
|
|
681
|
+
}
|
|
682
|
+
let run;
|
|
683
|
+
let cases = [];
|
|
684
|
+
if (options.resumeExperimentId !== undefined) {
|
|
685
|
+
const experiment = await resources.experiments.get(options.resumeExperimentId);
|
|
686
|
+
if (field(experiment, "workspaceId") !== workspaceId) {
|
|
687
|
+
throw new Error("resume experiment resolved outside the requested workspace");
|
|
688
|
+
}
|
|
689
|
+
if (field(experiment, "experimentStatus") !== "running") {
|
|
690
|
+
throw new Error("resumeExperimentId must name a running experiment");
|
|
691
|
+
}
|
|
692
|
+
if (options.contextManifest !== undefined &&
|
|
693
|
+
field(field(experiment, "config"), "context_manifest_digest") !==
|
|
694
|
+
options.contextManifest.digest) {
|
|
695
|
+
throw new Error("resume experiment uses a different context manifest");
|
|
696
|
+
}
|
|
697
|
+
let resolvedDataset;
|
|
698
|
+
if (evaluator.dataset !== undefined) {
|
|
699
|
+
resolvedDataset = await resolveDataset(client, evaluator.dataset, workspaceId);
|
|
700
|
+
if (field(experiment, "datasetId") !== field(resolvedDataset, "id")) {
|
|
701
|
+
throw new Error("resume experiment uses a different dataset");
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
else if (field(experiment, "datasetId") !== undefined) {
|
|
705
|
+
throw new Error("resume experiment expects a Registry dataset");
|
|
706
|
+
}
|
|
707
|
+
else {
|
|
708
|
+
cases = await collectData(evaluator.data);
|
|
709
|
+
}
|
|
710
|
+
run = new EvalRun(experiment, resolvedDataset, options.contextManifest);
|
|
711
|
+
}
|
|
712
|
+
else if (evaluator.dataset !== undefined) {
|
|
713
|
+
run = await startExperiment(client, evaluator.dataset, experimentBody, {
|
|
714
|
+
contextManifest: options.contextManifest,
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
else {
|
|
718
|
+
cases = await collectData(evaluator.data);
|
|
719
|
+
const config = { ...experimentBody.config };
|
|
720
|
+
if (options.contextManifest !== undefined) {
|
|
721
|
+
config.context_manifest = options.contextManifest;
|
|
722
|
+
config.context_manifest_digest = options.contextManifest.digest;
|
|
723
|
+
}
|
|
724
|
+
const experiment = await resources.experiments.create({ ...experimentBody, config });
|
|
725
|
+
run = new EvalRun(experiment, undefined, options.contextManifest);
|
|
726
|
+
void run.id;
|
|
727
|
+
if (field(experiment, "workspaceId") !== workspaceId) {
|
|
728
|
+
throw new Error("experiment resolved outside the requested workspace");
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
const scorerCache = new Map();
|
|
732
|
+
const started = Date.now();
|
|
733
|
+
const results = [];
|
|
734
|
+
try {
|
|
735
|
+
options.onStart?.({ experimentId: run.id, experiment: run.experiment });
|
|
736
|
+
if (evaluator.dataset !== undefined) {
|
|
737
|
+
cases =
|
|
738
|
+
snapshotCases(run.experiment) ??
|
|
739
|
+
(await datasetCases(resources, String(field(run.dataset, "id"))));
|
|
740
|
+
}
|
|
741
|
+
const completedCaseIds = options.resumeExperimentId === undefined
|
|
742
|
+
? new Set()
|
|
743
|
+
: await existingCaseIds(resources, run.id);
|
|
744
|
+
for (const definition of evaluator.scores) {
|
|
745
|
+
scorerCache.set(definition.name, await resolveScorer(resources, workspaceId, name, definition));
|
|
746
|
+
}
|
|
747
|
+
for (const [index, item] of cases.entries()) {
|
|
748
|
+
const caseId = item.id ?? `case-${index + 1}`;
|
|
749
|
+
if (completedCaseIds.has(caseId))
|
|
750
|
+
continue;
|
|
751
|
+
const caseStarted = Date.now();
|
|
752
|
+
const scores = {};
|
|
753
|
+
const failures = [];
|
|
754
|
+
let output;
|
|
755
|
+
let traceId = "";
|
|
756
|
+
const metadata = (item.metadata ?? {});
|
|
757
|
+
await tracing.propagateAttributes(run.traceOptions, () => traceLogger.client.startAsCurrentSpan(`eval.case.${index + 1}`, {
|
|
758
|
+
asType: "task",
|
|
759
|
+
fields: {
|
|
760
|
+
input: item.input,
|
|
761
|
+
...(item.expected === undefined ? {} : { metadata: { expected: item.expected } }),
|
|
762
|
+
...(item.tags === undefined ? {} : { tags: item.tags }),
|
|
763
|
+
},
|
|
764
|
+
}, async (rootSpan) => {
|
|
765
|
+
traceId = rootSpan.traceId;
|
|
766
|
+
try {
|
|
767
|
+
output = await traceLogger.client.startAsCurrentSpan("eval.task", { asType: "task", fields: { input: item.input } }, async (taskSpan) => {
|
|
768
|
+
const value = await evaluator.task(item.input, {
|
|
769
|
+
expected: item.expected,
|
|
770
|
+
metadata,
|
|
771
|
+
span: taskSpan,
|
|
772
|
+
tags: item.tags,
|
|
773
|
+
trialIndex: 0,
|
|
774
|
+
});
|
|
775
|
+
taskSpan.update({ output: value });
|
|
776
|
+
return value;
|
|
777
|
+
});
|
|
778
|
+
}
|
|
779
|
+
catch (error) {
|
|
780
|
+
failures.push(safeError(error));
|
|
781
|
+
rootSpan.recordFailure(error);
|
|
782
|
+
return;
|
|
783
|
+
}
|
|
784
|
+
for (const definition of evaluator.scores) {
|
|
785
|
+
try {
|
|
786
|
+
const returned = await traceLogger.client.startAsCurrentSpan(`scorer.${definition.name}`, {
|
|
787
|
+
asType: "function",
|
|
788
|
+
fields: {
|
|
789
|
+
input: {
|
|
790
|
+
input: item.input,
|
|
791
|
+
output,
|
|
792
|
+
expected: item.expected,
|
|
793
|
+
},
|
|
794
|
+
},
|
|
795
|
+
}, async (scoreSpan) => {
|
|
796
|
+
const value = await definition.scorer({ ...item, output: output });
|
|
797
|
+
scoreSpan.update({ output: value });
|
|
798
|
+
return value;
|
|
799
|
+
});
|
|
800
|
+
for (const scored of normalizedScores(returned, definition.name)) {
|
|
801
|
+
const scoreName = scored.name ?? definition.name;
|
|
802
|
+
if (scored.score === null) {
|
|
803
|
+
scores[scoreName] = null;
|
|
804
|
+
continue;
|
|
805
|
+
}
|
|
806
|
+
let registered = scorerCache.get(scoreName);
|
|
807
|
+
if (registered === undefined) {
|
|
808
|
+
registered = await resolveScorer(resources, workspaceId, name, {
|
|
809
|
+
...definition,
|
|
810
|
+
name: scoreName,
|
|
811
|
+
});
|
|
812
|
+
scorerCache.set(scoreName, registered);
|
|
813
|
+
}
|
|
814
|
+
const numeric = numericScore(scored.score);
|
|
815
|
+
scores[scoreName] = numeric;
|
|
816
|
+
rootSpan.score(scoreName, numeric, {
|
|
817
|
+
scorerId: registered.id,
|
|
818
|
+
scorerVersion: registered.version,
|
|
819
|
+
...(scored.metadata === undefined
|
|
820
|
+
? {}
|
|
821
|
+
: { comment: JSON.stringify(scored.metadata).slice(0, 2_000) }),
|
|
822
|
+
});
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
catch (error) {
|
|
826
|
+
failures.push(`${definition.name}: ${safeError(error)}`);
|
|
827
|
+
rootSpan.recordFailure(error);
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
rootSpan.update({ output, metadata });
|
|
831
|
+
}));
|
|
832
|
+
if (!TRACE_ID.test(traceId) || /^0+$/.test(traceId)) {
|
|
833
|
+
throw new Error(`case ${index + 1} did not produce a trace ID`);
|
|
834
|
+
}
|
|
835
|
+
results.push({
|
|
836
|
+
...item,
|
|
837
|
+
caseId,
|
|
838
|
+
...(output === undefined ? {} : { output }),
|
|
839
|
+
...(failures.length === 0 ? {} : { error: failures.join("; ").slice(0, 2_000) }),
|
|
840
|
+
scores,
|
|
841
|
+
traceId,
|
|
842
|
+
durationMs: Date.now() - caseStarted,
|
|
843
|
+
});
|
|
844
|
+
}
|
|
845
|
+
// Score aggregation reads spans, so make the async exporter observable first.
|
|
846
|
+
await traceLogger.flush();
|
|
847
|
+
if (options.verifyTraces !== false && results.length > 0) {
|
|
848
|
+
await verifyTraceJoins(resources, run.id, new Set(results.map((result) => result.traceId)), traceVerificationTimeoutMs);
|
|
849
|
+
}
|
|
850
|
+
const resultBodies = results.map((result, index) => ({
|
|
851
|
+
workspaceId,
|
|
852
|
+
name: `${slug(run.id, "experiment")}-case-${index + 1}`,
|
|
853
|
+
caseId: result.caseId,
|
|
854
|
+
datasetRecordId: result.id || undefined,
|
|
855
|
+
input: registryObject(result.input),
|
|
856
|
+
expected: registryObject(result.expected),
|
|
857
|
+
output: registryObject(result.output),
|
|
858
|
+
error: result.error,
|
|
859
|
+
scores: result.scores,
|
|
860
|
+
traceId: result.traceId,
|
|
861
|
+
durationMs: result.durationMs,
|
|
862
|
+
sourceType: "local",
|
|
863
|
+
}));
|
|
864
|
+
for (let offset = 0; offset < resultBodies.length; offset += 100) {
|
|
865
|
+
const response = await resources.experiments.results.createBulk(run.id, {
|
|
866
|
+
items: resultBodies.slice(offset, offset + 100),
|
|
867
|
+
});
|
|
868
|
+
const slots = field(response, "items");
|
|
869
|
+
if (Array.isArray(slots)) {
|
|
870
|
+
const failed = slots.filter((slot) => {
|
|
871
|
+
const status = field(slot, "statusCode");
|
|
872
|
+
return typeof status === "number" && status >= 400;
|
|
873
|
+
});
|
|
874
|
+
if (failed.length > 0)
|
|
875
|
+
throw new Error(`${failed.length} Eval results were rejected`);
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
const persistedResults = await experimentResults(resources, run.id);
|
|
879
|
+
const local = localSummary(persistedResults, Date.now() - started);
|
|
880
|
+
const experiment = await resources.experiments.update(run.id, {
|
|
881
|
+
experimentStatus: "completed",
|
|
882
|
+
summary: local,
|
|
883
|
+
});
|
|
884
|
+
const remote = field(experiment, "summary");
|
|
885
|
+
const summary = isRecord(remote)
|
|
886
|
+
? remote
|
|
887
|
+
: local;
|
|
888
|
+
return {
|
|
889
|
+
experimentId: run.id,
|
|
890
|
+
experiment,
|
|
891
|
+
dataset: run.dataset,
|
|
892
|
+
summary,
|
|
893
|
+
results: options.returnResults === false ? [] : results,
|
|
894
|
+
};
|
|
895
|
+
}
|
|
896
|
+
catch (error) {
|
|
897
|
+
// A custom exporter's failure must not replace the task, scorer, or
|
|
898
|
+
// Registry error that caused the evaluation to fail.
|
|
899
|
+
try {
|
|
900
|
+
await traceLogger.flush();
|
|
901
|
+
}
|
|
902
|
+
catch {
|
|
903
|
+
// Preserve the original runner/upload failure.
|
|
904
|
+
}
|
|
905
|
+
try {
|
|
906
|
+
await resources.experiments.update(run.id, {
|
|
907
|
+
experimentStatus: "failed",
|
|
908
|
+
summary: localSummary(results, Date.now() - started),
|
|
909
|
+
});
|
|
910
|
+
}
|
|
911
|
+
catch {
|
|
912
|
+
// Preserve the original runner/upload failure.
|
|
913
|
+
}
|
|
914
|
+
throw error;
|
|
915
|
+
}
|
|
916
|
+
}
|