@atlanai/sdk 0.1.0 → 0.2.1

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.
Files changed (232) hide show
  1. package/README.md +94 -26
  2. package/dist/client.js +3 -1
  3. package/dist/evals.d.ts +46 -0
  4. package/dist/evals.js +230 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.js +8 -1
  7. package/dist/manifest.json +299 -3
  8. package/dist/raw/eval/apis/DatasetsApi.d.ts +304 -0
  9. package/dist/raw/eval/apis/DatasetsApi.js +706 -0
  10. package/dist/raw/eval/apis/ExperimentsApi.d.ts +371 -0
  11. package/dist/raw/eval/apis/ExperimentsApi.js +869 -0
  12. package/dist/raw/eval/apis/ScorersApi.d.ts +129 -0
  13. package/dist/raw/eval/apis/ScorersApi.js +308 -0
  14. package/dist/raw/eval/apis/index.d.ts +3 -0
  15. package/dist/raw/eval/apis/index.js +21 -0
  16. package/dist/raw/eval/index.d.ts +3 -0
  17. package/dist/raw/eval/index.js +21 -0
  18. package/dist/raw/eval/models/AccessView.d.ts +57 -0
  19. package/dist/raw/eval/models/AccessView.js +64 -0
  20. package/dist/raw/eval/models/ArtifactConflictProblem.d.ts +69 -0
  21. package/dist/raw/eval/models/ArtifactConflictProblem.js +66 -0
  22. package/dist/raw/eval/models/CostView.d.ts +50 -0
  23. package/dist/raw/eval/models/CostView.js +60 -0
  24. package/dist/raw/eval/models/CursorPage.d.ts +38 -0
  25. package/dist/raw/eval/models/CursorPage.js +52 -0
  26. package/dist/raw/eval/models/EvalArtifactEnvelope.d.ts +144 -0
  27. package/dist/raw/eval/models/EvalArtifactEnvelope.js +84 -0
  28. package/dist/raw/eval/models/EvalArtifactSearchRequest.d.ts +71 -0
  29. package/dist/raw/eval/models/EvalArtifactSearchRequest.js +60 -0
  30. package/dist/raw/eval/models/EvalBulkDatasetRecordResponse.d.ts +33 -0
  31. package/dist/raw/eval/models/EvalBulkDatasetRecordResponse.js +51 -0
  32. package/dist/raw/eval/models/EvalBulkDatasetRecordResult.d.ts +52 -0
  33. package/dist/raw/eval/models/EvalBulkDatasetRecordResult.js +60 -0
  34. package/dist/raw/eval/models/EvalBulkExperimentResultResponse.d.ts +33 -0
  35. package/dist/raw/eval/models/EvalBulkExperimentResultResponse.js +51 -0
  36. package/dist/raw/eval/models/EvalBulkExperimentResultSlot.d.ts +53 -0
  37. package/dist/raw/eval/models/EvalBulkExperimentResultSlot.js +60 -0
  38. package/dist/raw/eval/models/EvalCreateDataset400Response.d.ts +65 -0
  39. package/dist/raw/eval/models/EvalCreateDataset400Response.js +75 -0
  40. package/dist/raw/eval/models/EvalCreateDataset409Response.d.ts +63 -0
  41. package/dist/raw/eval/models/EvalCreateDataset409Response.js +75 -0
  42. package/dist/raw/eval/models/EvalCreateDataset413Response.d.ts +64 -0
  43. package/dist/raw/eval/models/EvalCreateDataset413Response.js +74 -0
  44. package/dist/raw/eval/models/EvalCreateDataset415Response.d.ts +64 -0
  45. package/dist/raw/eval/models/EvalCreateDataset415Response.js +74 -0
  46. package/dist/raw/eval/models/EvalCreateDataset422Response.d.ts +63 -0
  47. package/dist/raw/eval/models/EvalCreateDataset422Response.js +75 -0
  48. package/dist/raw/eval/models/EvalDatasetArtifactView.d.ts +277 -0
  49. package/dist/raw/eval/models/EvalDatasetArtifactView.js +146 -0
  50. package/dist/raw/eval/models/EvalDatasetCreate.d.ts +150 -0
  51. package/dist/raw/eval/models/EvalDatasetCreate.js +86 -0
  52. package/dist/raw/eval/models/EvalDatasetMeta.d.ts +46 -0
  53. package/dist/raw/eval/models/EvalDatasetMeta.js +48 -0
  54. package/dist/raw/eval/models/EvalDatasetPatch.d.ts +52 -0
  55. package/dist/raw/eval/models/EvalDatasetPatch.js +54 -0
  56. package/dist/raw/eval/models/EvalDatasetRecordArtifactView.d.ts +330 -0
  57. package/dist/raw/eval/models/EvalDatasetRecordArtifactView.js +161 -0
  58. package/dist/raw/eval/models/EvalDatasetRecordBulkCreate.d.ts +33 -0
  59. package/dist/raw/eval/models/EvalDatasetRecordBulkCreate.js +51 -0
  60. package/dist/raw/eval/models/EvalDatasetRecordCreate.d.ts +195 -0
  61. package/dist/raw/eval/models/EvalDatasetRecordCreate.js +101 -0
  62. package/dist/raw/eval/models/EvalDatasetRecordMeta.d.ts +96 -0
  63. package/dist/raw/eval/models/EvalDatasetRecordMeta.js +67 -0
  64. package/dist/raw/eval/models/EvalDatasetRecordPatch.d.ts +81 -0
  65. package/dist/raw/eval/models/EvalDatasetRecordPatch.js +62 -0
  66. package/dist/raw/eval/models/EvalExperimentArtifactView.d.ts +320 -0
  67. package/dist/raw/eval/models/EvalExperimentArtifactView.js +160 -0
  68. package/dist/raw/eval/models/EvalExperimentCreate.d.ts +193 -0
  69. package/dist/raw/eval/models/EvalExperimentCreate.js +100 -0
  70. package/dist/raw/eval/models/EvalExperimentMeta.d.ts +91 -0
  71. package/dist/raw/eval/models/EvalExperimentMeta.js +62 -0
  72. package/dist/raw/eval/models/EvalExperimentPatch.d.ts +63 -0
  73. package/dist/raw/eval/models/EvalExperimentPatch.js +57 -0
  74. package/dist/raw/eval/models/EvalExperimentResultArtifactView.d.ts +330 -0
  75. package/dist/raw/eval/models/EvalExperimentResultArtifactView.js +162 -0
  76. package/dist/raw/eval/models/EvalExperimentResultBulkCreate.d.ts +33 -0
  77. package/dist/raw/eval/models/EvalExperimentResultBulkCreate.js +51 -0
  78. package/dist/raw/eval/models/EvalExperimentResultCreate.d.ts +197 -0
  79. package/dist/raw/eval/models/EvalExperimentResultCreate.js +100 -0
  80. package/dist/raw/eval/models/EvalExperimentResultMeta.d.ts +102 -0
  81. package/dist/raw/eval/models/EvalExperimentResultMeta.js +66 -0
  82. package/dist/raw/eval/models/EvalExperimentStatus.d.ts +31 -0
  83. package/dist/raw/eval/models/EvalExperimentStatus.js +59 -0
  84. package/dist/raw/eval/models/EvalGetDataset404Response.d.ts +63 -0
  85. package/dist/raw/eval/models/EvalGetDataset404Response.js +75 -0
  86. package/dist/raw/eval/models/EvalGetExperimentTrace400Response.d.ts +63 -0
  87. package/dist/raw/eval/models/EvalGetExperimentTrace400Response.js +75 -0
  88. package/dist/raw/eval/models/EvalListDatasets400Response.d.ts +63 -0
  89. package/dist/raw/eval/models/EvalListDatasets400Response.js +75 -0
  90. package/dist/raw/eval/models/EvalListDatasets401Response.d.ts +79 -0
  91. package/dist/raw/eval/models/EvalListDatasets401Response.js +89 -0
  92. package/dist/raw/eval/models/EvalListDatasets403Response.d.ts +64 -0
  93. package/dist/raw/eval/models/EvalListDatasets403Response.js +74 -0
  94. package/dist/raw/eval/models/EvalListDatasets500Response.d.ts +63 -0
  95. package/dist/raw/eval/models/EvalListDatasets500Response.js +75 -0
  96. package/dist/raw/eval/models/EvalListDatasets503Response.d.ts +64 -0
  97. package/dist/raw/eval/models/EvalListDatasets503Response.js +74 -0
  98. package/dist/raw/eval/models/EvalListDatasets504Response.d.ts +63 -0
  99. package/dist/raw/eval/models/EvalListDatasets504Response.js +75 -0
  100. package/dist/raw/eval/models/EvalPageDatasetArtifactView.d.ts +44 -0
  101. package/dist/raw/eval/models/EvalPageDatasetArtifactView.js +56 -0
  102. package/dist/raw/eval/models/EvalPageDatasetRecordArtifactView.d.ts +44 -0
  103. package/dist/raw/eval/models/EvalPageDatasetRecordArtifactView.js +56 -0
  104. package/dist/raw/eval/models/EvalPageExperimentArtifactView.d.ts +44 -0
  105. package/dist/raw/eval/models/EvalPageExperimentArtifactView.js +56 -0
  106. package/dist/raw/eval/models/EvalPageExperimentResultArtifactView.d.ts +44 -0
  107. package/dist/raw/eval/models/EvalPageExperimentResultArtifactView.js +56 -0
  108. package/dist/raw/eval/models/EvalPageScorerArtifactView.d.ts +44 -0
  109. package/dist/raw/eval/models/EvalPageScorerArtifactView.js +56 -0
  110. package/dist/raw/eval/models/EvalPatchDataset412Response.d.ts +63 -0
  111. package/dist/raw/eval/models/EvalPatchDataset412Response.js +75 -0
  112. package/dist/raw/eval/models/EvalRecordSource.d.ts +27 -0
  113. package/dist/raw/eval/models/EvalRecordSource.js +55 -0
  114. package/dist/raw/eval/models/EvalScorerArtifactView.d.ts +301 -0
  115. package/dist/raw/eval/models/EvalScorerArtifactView.js +154 -0
  116. package/dist/raw/eval/models/EvalScorerCreate.d.ts +172 -0
  117. package/dist/raw/eval/models/EvalScorerCreate.js +98 -0
  118. package/dist/raw/eval/models/EvalScorerKind.d.ts +32 -0
  119. package/dist/raw/eval/models/EvalScorerKind.js +60 -0
  120. package/dist/raw/eval/models/EvalScorerMeta.d.ts +67 -0
  121. package/dist/raw/eval/models/EvalScorerMeta.js +60 -0
  122. package/dist/raw/eval/models/EvalScorerPatch.d.ts +75 -0
  123. package/dist/raw/eval/models/EvalScorerPatch.js +56 -0
  124. package/dist/raw/eval/models/EvalScorerScope.d.ts +32 -0
  125. package/dist/raw/eval/models/EvalScorerScope.js +60 -0
  126. package/dist/raw/eval/models/EvalSubjectKind.d.ts +33 -0
  127. package/dist/raw/eval/models/EvalSubjectKind.js +61 -0
  128. package/dist/raw/eval/models/GatewayArtifactBase.d.ts +250 -0
  129. package/dist/raw/eval/models/GatewayArtifactBase.js +139 -0
  130. package/dist/raw/eval/models/GatewayArtifactIdentityRevealView.d.ts +60 -0
  131. package/dist/raw/eval/models/GatewayArtifactIdentityRevealView.js +58 -0
  132. package/dist/raw/eval/models/GatewayPageMeta.d.ts +46 -0
  133. package/dist/raw/eval/models/GatewayPageMeta.js +58 -0
  134. package/dist/raw/eval/models/GatewaySourceEnvelope.d.ts +106 -0
  135. package/dist/raw/eval/models/GatewaySourceEnvelope.js +66 -0
  136. package/dist/raw/eval/models/GatewayTraceStatsBucket.d.ts +25 -0
  137. package/dist/raw/eval/models/GatewayTraceStatsBucket.js +53 -0
  138. package/dist/raw/eval/models/GatewayTraceStatsCompareMode.d.ts +25 -0
  139. package/dist/raw/eval/models/GatewayTraceStatsCompareMode.js +53 -0
  140. package/dist/raw/eval/models/GatewayTraceStatsComparison.d.ts +45 -0
  141. package/dist/raw/eval/models/GatewayTraceStatsComparison.js +59 -0
  142. package/dist/raw/eval/models/GatewayTraceStatsData.d.ts +24 -0
  143. package/dist/raw/eval/models/GatewayTraceStatsData.js +64 -0
  144. package/dist/raw/eval/models/GatewayTraceStatsDataOneOf.d.ts +46 -0
  145. package/dist/raw/eval/models/GatewayTraceStatsDataOneOf.js +66 -0
  146. package/dist/raw/eval/models/GatewayTraceStatsDataOneOf1.d.ts +53 -0
  147. package/dist/raw/eval/models/GatewayTraceStatsDataOneOf1.js +71 -0
  148. package/dist/raw/eval/models/GatewayTraceStatsDataOneOf2.d.ts +46 -0
  149. package/dist/raw/eval/models/GatewayTraceStatsDataOneOf2.js +66 -0
  150. package/dist/raw/eval/models/GatewayTraceStatsEnvelope.d.ts +50 -0
  151. package/dist/raw/eval/models/GatewayTraceStatsEnvelope.js +59 -0
  152. package/dist/raw/eval/models/GatewayTraceStatsFilter.d.ts +47 -0
  153. package/dist/raw/eval/models/GatewayTraceStatsFilter.js +59 -0
  154. package/dist/raw/eval/models/GatewayTraceStatsFilterOperator.d.ts +28 -0
  155. package/dist/raw/eval/models/GatewayTraceStatsFilterOperator.js +56 -0
  156. package/dist/raw/eval/models/GatewayTraceStatsFilterValue.d.ts +21 -0
  157. package/dist/raw/eval/models/GatewayTraceStatsFilterValue.js +85 -0
  158. package/dist/raw/eval/models/GatewayTraceStatsGroupBy.d.ts +35 -0
  159. package/dist/raw/eval/models/GatewayTraceStatsGroupBy.js +63 -0
  160. package/dist/raw/eval/models/GatewayTraceStatsMeasure.d.ts +39 -0
  161. package/dist/raw/eval/models/GatewayTraceStatsMeasure.js +67 -0
  162. package/dist/raw/eval/models/GatewayTraceStatsMeta.d.ts +49 -0
  163. package/dist/raw/eval/models/GatewayTraceStatsMeta.js +53 -0
  164. package/dist/raw/eval/models/GatewayTraceStatsOrder.d.ts +40 -0
  165. package/dist/raw/eval/models/GatewayTraceStatsOrder.js +56 -0
  166. package/dist/raw/eval/models/GatewayTraceStatsOrderBy.d.ts +25 -0
  167. package/dist/raw/eval/models/GatewayTraceStatsOrderBy.js +53 -0
  168. package/dist/raw/eval/models/GatewayTraceStatsOrderDirection.d.ts +25 -0
  169. package/dist/raw/eval/models/GatewayTraceStatsOrderDirection.js +53 -0
  170. package/dist/raw/eval/models/GatewayTraceStatsPanelQuery.d.ts +69 -0
  171. package/dist/raw/eval/models/GatewayTraceStatsPanelQuery.js +66 -0
  172. package/dist/raw/eval/models/GatewayTraceStatsRequest.d.ts +80 -0
  173. package/dist/raw/eval/models/GatewayTraceStatsRequest.js +72 -0
  174. package/dist/raw/eval/models/GatewayTraceStatsRequestType.d.ts +26 -0
  175. package/dist/raw/eval/models/GatewayTraceStatsRequestType.js +54 -0
  176. package/dist/raw/eval/models/GatewayTraceStatsScalarResult.d.ts +52 -0
  177. package/dist/raw/eval/models/GatewayTraceStatsScalarResult.js +59 -0
  178. package/dist/raw/eval/models/GatewayTraceStatsSeries.d.ts +52 -0
  179. package/dist/raw/eval/models/GatewayTraceStatsSeries.js +62 -0
  180. package/dist/raw/eval/models/GatewayTraceStatsSeriesPoint.d.ts +38 -0
  181. package/dist/raw/eval/models/GatewayTraceStatsSeriesPoint.js +52 -0
  182. package/dist/raw/eval/models/GatewayTraceStatsTableColumn.d.ts +45 -0
  183. package/dist/raw/eval/models/GatewayTraceStatsTableColumn.js +57 -0
  184. package/dist/raw/eval/models/GatewayTraceStatsTableColumnType.d.ts +25 -0
  185. package/dist/raw/eval/models/GatewayTraceStatsTableColumnType.js +53 -0
  186. package/dist/raw/eval/models/GatewayTraceStatsTableRow.d.ts +38 -0
  187. package/dist/raw/eval/models/GatewayTraceStatsTableRow.js +54 -0
  188. package/dist/raw/eval/models/GatewayTraceStatsWindow.d.ts +38 -0
  189. package/dist/raw/eval/models/GatewayTraceStatsWindow.js +54 -0
  190. package/dist/raw/eval/models/ProblemDetails.d.ts +76 -0
  191. package/dist/raw/eval/models/ProblemDetails.js +64 -0
  192. package/dist/raw/eval/models/RegistryEdgeTarget.d.ts +38 -0
  193. package/dist/raw/eval/models/RegistryEdgeTarget.js +54 -0
  194. package/dist/raw/eval/models/RegistryRelationshipEdge.d.ts +96 -0
  195. package/dist/raw/eval/models/RegistryRelationshipEdge.js +77 -0
  196. package/dist/raw/eval/models/RegistryRelationshipsView.d.ts +45 -0
  197. package/dist/raw/eval/models/RegistryRelationshipsView.js +59 -0
  198. package/dist/raw/eval/models/SpanListEnvelope.d.ts +40 -0
  199. package/dist/raw/eval/models/SpanListEnvelope.js +56 -0
  200. package/dist/raw/eval/models/SpanViewDto.d.ts +192 -0
  201. package/dist/raw/eval/models/SpanViewDto.js +117 -0
  202. package/dist/raw/eval/models/TraceDetailView.d.ts +177 -0
  203. package/dist/raw/eval/models/TraceDetailView.js +108 -0
  204. package/dist/raw/eval/models/TraceLinks.d.ts +45 -0
  205. package/dist/raw/eval/models/TraceLinks.js +58 -0
  206. package/dist/raw/eval/models/TraceListEnvelope.d.ts +47 -0
  207. package/dist/raw/eval/models/TraceListEnvelope.js +61 -0
  208. package/dist/raw/eval/models/TraceParentView.d.ts +68 -0
  209. package/dist/raw/eval/models/TraceParentView.js +64 -0
  210. package/dist/raw/eval/models/TraceStatus.d.ts +26 -0
  211. package/dist/raw/eval/models/TraceStatus.js +54 -0
  212. package/dist/raw/eval/models/TraceSummaryStats.d.ts +62 -0
  213. package/dist/raw/eval/models/TraceSummaryStats.js +62 -0
  214. package/dist/raw/eval/models/TraceSummaryView.d.ts +150 -0
  215. package/dist/raw/eval/models/TraceSummaryView.js +96 -0
  216. package/dist/raw/eval/models/UsageView.d.ts +56 -0
  217. package/dist/raw/eval/models/UsageView.js +66 -0
  218. package/dist/raw/eval/models/index.d.ts +100 -0
  219. package/dist/raw/eval/models/index.js +118 -0
  220. package/dist/raw/eval/runtime.d.ts +185 -0
  221. package/dist/raw/eval/runtime.js +369 -0
  222. package/dist/resources.json +307 -0
  223. package/dist/tracing/client.js +6 -4
  224. package/dist/tracing/propagation.d.ts +1 -0
  225. package/dist/tracing/propagation.js +7 -0
  226. package/dist/tracing/semconv.d.ts +8 -1
  227. package/dist/tracing/semconv.js +27 -13
  228. package/dist/tracing/spans.d.ts +8 -4
  229. package/dist/tracing/spans.js +28 -13
  230. package/dist/tracing/version.d.ts +1 -1
  231. package/dist/tracing/version.js +1 -1
  232. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  "accessors": {
3
3
  "agent": "agents",
4
4
  "api": "api",
5
+ "eval": "evals",
5
6
  "file": "files",
6
7
  "mcp": "mcp",
7
8
  "model": "models",
@@ -434,6 +435,120 @@
434
435
  "service": "registry",
435
436
  "typescript": "budgets"
436
437
  },
438
+ "datasets": {
439
+ "methods": {
440
+ "archive": {
441
+ "method_camel": "archive",
442
+ "operation_id": "eval.archiveDataset",
443
+ "python": "eval_archive_dataset",
444
+ "route": "POST /eval/v1/datasets/{dataset_id}/archive",
445
+ "summary": "Archive a dataset",
446
+ "typescript": "evalArchiveDataset"
447
+ },
448
+ "create": {
449
+ "method_camel": "create",
450
+ "operation_id": "eval.createDataset",
451
+ "python": "eval_create_dataset",
452
+ "route": "POST /eval/v1/datasets",
453
+ "summary": "Create a dataset",
454
+ "typescript": "evalCreateDataset",
455
+ "typescript_body": "evalDatasetCreate"
456
+ },
457
+ "get": {
458
+ "method_camel": "get",
459
+ "operation_id": "eval.getDataset",
460
+ "python": "eval_get_dataset",
461
+ "route": "GET /eval/v1/datasets/{dataset_id}",
462
+ "summary": "Get a dataset",
463
+ "typescript": "evalGetDataset"
464
+ },
465
+ "list": {
466
+ "method_camel": "list",
467
+ "operation_id": "eval.listDatasets",
468
+ "python": "eval_list_datasets",
469
+ "route": "GET /eval/v1/datasets",
470
+ "summary": "List datasets",
471
+ "typescript": "evalListDatasets"
472
+ },
473
+ "search": {
474
+ "method_camel": "search",
475
+ "operation_id": "eval.searchDatasets",
476
+ "python": "eval_search_datasets",
477
+ "route": "POST /eval/v1/datasets/search",
478
+ "summary": "Search datasets",
479
+ "typescript": "evalSearchDatasets",
480
+ "typescript_body": "evalArtifactSearchRequest"
481
+ },
482
+ "update": {
483
+ "method_camel": "update",
484
+ "operation_id": "eval.patchDataset",
485
+ "python": "eval_patch_dataset",
486
+ "route": "PATCH /eval/v1/datasets/{dataset_id}",
487
+ "summary": "Update a dataset",
488
+ "typescript": "evalPatchDataset",
489
+ "typescript_body": "evalDatasetPatch"
490
+ }
491
+ },
492
+ "service": "eval",
493
+ "typescript": "datasets"
494
+ },
495
+ "datasets.records": {
496
+ "methods": {
497
+ "archive": {
498
+ "method_camel": "archive",
499
+ "operation_id": "eval.archiveDatasetRecord",
500
+ "python": "eval_archive_dataset_record",
501
+ "route": "POST /eval/v1/datasets/{dataset_id}/records/{record_id}/archive",
502
+ "summary": "Archive a record",
503
+ "typescript": "evalArchiveDatasetRecord"
504
+ },
505
+ "create": {
506
+ "method_camel": "create",
507
+ "operation_id": "eval.createDatasetRecord",
508
+ "python": "eval_create_dataset_record",
509
+ "route": "POST /eval/v1/datasets/{dataset_id}/records",
510
+ "summary": "Add a record to a dataset",
511
+ "typescript": "evalCreateDatasetRecord",
512
+ "typescript_body": "evalDatasetRecordCreate"
513
+ },
514
+ "create_bulk": {
515
+ "method_camel": "createBulk",
516
+ "operation_id": "eval.createDatasetRecordsBulk",
517
+ "python": "eval_create_dataset_records_bulk",
518
+ "route": "POST /eval/v1/datasets/{dataset_id}/records/bulk",
519
+ "summary": "Add many records to a dataset",
520
+ "typescript": "evalCreateDatasetRecordsBulk",
521
+ "typescript_body": "evalDatasetRecordBulkCreate"
522
+ },
523
+ "get": {
524
+ "method_camel": "get",
525
+ "operation_id": "eval.getDatasetRecord",
526
+ "python": "eval_get_dataset_record",
527
+ "route": "GET /eval/v1/datasets/{dataset_id}/records/{record_id}",
528
+ "summary": "Get one record",
529
+ "typescript": "evalGetDatasetRecord"
530
+ },
531
+ "list": {
532
+ "method_camel": "list",
533
+ "operation_id": "eval.listDatasetRecords",
534
+ "python": "eval_list_dataset_records",
535
+ "route": "GET /eval/v1/datasets/{dataset_id}/records",
536
+ "summary": "List a dataset's records",
537
+ "typescript": "evalListDatasetRecords"
538
+ },
539
+ "update": {
540
+ "method_camel": "update",
541
+ "operation_id": "eval.patchDatasetRecord",
542
+ "python": "eval_patch_dataset_record",
543
+ "route": "PATCH /eval/v1/datasets/{dataset_id}/records/{record_id}",
544
+ "summary": "Update a record",
545
+ "typescript": "evalPatchDatasetRecord",
546
+ "typescript_body": "evalDatasetRecordPatch"
547
+ }
548
+ },
549
+ "service": "eval",
550
+ "typescript": "datasets.records"
551
+ },
437
552
  "detected_users": {
438
553
  "methods": {
439
554
  "delete": {
@@ -539,6 +654,150 @@
539
654
  "service": "agent",
540
655
  "typescript": "environments"
541
656
  },
657
+ "experiments": {
658
+ "methods": {
659
+ "archive": {
660
+ "method_camel": "archive",
661
+ "operation_id": "eval.archiveExperiment",
662
+ "python": "eval_archive_experiment",
663
+ "route": "POST /eval/v1/experiments/{experiment_id}/archive",
664
+ "summary": "Archive an experiment",
665
+ "typescript": "evalArchiveExperiment"
666
+ },
667
+ "create": {
668
+ "method_camel": "create",
669
+ "operation_id": "eval.createExperiment",
670
+ "python": "eval_create_experiment",
671
+ "route": "POST /eval/v1/experiments",
672
+ "summary": "Create an experiment",
673
+ "typescript": "evalCreateExperiment",
674
+ "typescript_body": "evalExperimentCreate"
675
+ },
676
+ "get": {
677
+ "method_camel": "get",
678
+ "operation_id": "eval.getExperiment",
679
+ "python": "eval_get_experiment",
680
+ "route": "GET /eval/v1/experiments/{experiment_id}",
681
+ "summary": "Get an experiment",
682
+ "typescript": "evalGetExperiment"
683
+ },
684
+ "list": {
685
+ "method_camel": "list",
686
+ "operation_id": "eval.listExperiments",
687
+ "python": "eval_list_experiments",
688
+ "route": "GET /eval/v1/experiments",
689
+ "summary": "List experiments",
690
+ "typescript": "evalListExperiments"
691
+ },
692
+ "search": {
693
+ "method_camel": "search",
694
+ "operation_id": "eval.searchExperiments",
695
+ "python": "eval_search_experiments",
696
+ "route": "POST /eval/v1/experiments/search",
697
+ "summary": "Search experiments",
698
+ "typescript": "evalSearchExperiments",
699
+ "typescript_body": "evalArtifactSearchRequest"
700
+ },
701
+ "summarize": {
702
+ "method_camel": "summarize",
703
+ "operation_id": "eval.summarizeExperiment",
704
+ "python": "eval_summarize_experiment",
705
+ "route": "POST /eval/v1/experiments/{experiment_id}/summarize",
706
+ "summary": "Roll the run's score spans up into `summary`",
707
+ "typescript": "evalSummarizeExperiment"
708
+ },
709
+ "update": {
710
+ "method_camel": "update",
711
+ "operation_id": "eval.patchExperiment",
712
+ "python": "eval_patch_experiment",
713
+ "route": "PATCH /eval/v1/experiments/{experiment_id}",
714
+ "summary": "Finalize or annotate an experiment",
715
+ "typescript": "evalPatchExperiment",
716
+ "typescript_body": "evalExperimentPatch"
717
+ }
718
+ },
719
+ "service": "eval",
720
+ "typescript": "experiments"
721
+ },
722
+ "experiments.results": {
723
+ "methods": {
724
+ "create": {
725
+ "method_camel": "create",
726
+ "operation_id": "eval.createExperimentResult",
727
+ "python": "eval_create_experiment_result",
728
+ "route": "POST /eval/v1/experiments/{experiment_id}/results",
729
+ "summary": "Report one evaluated case",
730
+ "typescript": "evalCreateExperimentResult",
731
+ "typescript_body": "evalExperimentResultCreate"
732
+ },
733
+ "create_bulk": {
734
+ "method_camel": "createBulk",
735
+ "operation_id": "eval.createExperimentResultsBulk",
736
+ "python": "eval_create_experiment_results_bulk",
737
+ "route": "POST /eval/v1/experiments/{experiment_id}/results/bulk",
738
+ "summary": "Report many evaluated cases",
739
+ "typescript": "evalCreateExperimentResultsBulk",
740
+ "typescript_body": "evalExperimentResultBulkCreate"
741
+ },
742
+ "get": {
743
+ "method_camel": "get",
744
+ "operation_id": "eval.getExperimentResult",
745
+ "python": "eval_get_experiment_result",
746
+ "route": "GET /eval/v1/experiments/{experiment_id}/results/{result_id}",
747
+ "summary": "Get one result",
748
+ "typescript": "evalGetExperimentResult"
749
+ },
750
+ "list": {
751
+ "method_camel": "list",
752
+ "operation_id": "eval.listExperimentResults",
753
+ "python": "eval_list_experiment_results",
754
+ "route": "GET /eval/v1/experiments/{experiment_id}/results",
755
+ "summary": "List an experiment's results",
756
+ "typescript": "evalListExperimentResults"
757
+ }
758
+ },
759
+ "service": "eval",
760
+ "typescript": "experiments.results"
761
+ },
762
+ "experiments.traces": {
763
+ "methods": {
764
+ "get": {
765
+ "method_camel": "get",
766
+ "operation_id": "eval.getExperimentTrace",
767
+ "python": "eval_get_experiment_trace",
768
+ "route": "GET /eval/v1/experiments/{experiment_id}/traces/{trace_id}",
769
+ "summary": "Read one of an experiment's traces",
770
+ "typescript": "evalGetExperimentTrace"
771
+ },
772
+ "list": {
773
+ "method_camel": "list",
774
+ "operation_id": "eval.listExperimentTraces",
775
+ "python": "eval_list_experiment_traces",
776
+ "route": "GET /eval/v1/experiments/{experiment_id}/traces",
777
+ "summary": "List an experiment's traces",
778
+ "typescript": "evalListExperimentTraces"
779
+ },
780
+ "list_spans": {
781
+ "method_camel": "listSpans",
782
+ "operation_id": "eval.listExperimentTraceSpans",
783
+ "python": "eval_list_experiment_trace_spans",
784
+ "route": "GET /eval/v1/experiments/{experiment_id}/traces/{trace_id}/spans",
785
+ "summary": "List spans in one of an experiment's traces",
786
+ "typescript": "evalListExperimentTraceSpans"
787
+ },
788
+ "query_stats": {
789
+ "method_camel": "queryStats",
790
+ "operation_id": "eval.queryExperimentTraceStats",
791
+ "python": "eval_query_experiment_trace_stats",
792
+ "route": "POST /eval/v1/experiments/{experiment_id}/traces/stats/query",
793
+ "summary": "Query statistics over an experiment's traces",
794
+ "typescript": "evalQueryExperimentTraceStats",
795
+ "typescript_body": "gatewayTraceStatsRequest"
796
+ }
797
+ },
798
+ "service": "eval",
799
+ "typescript": "experiments.traces"
800
+ },
542
801
  "extension_jobs": {
543
802
  "methods": {
544
803
  "list": {
@@ -1267,6 +1526,54 @@
1267
1526
  "service": "registry",
1268
1527
  "typescript": "root"
1269
1528
  },
1529
+ "scorers": {
1530
+ "methods": {
1531
+ "archive": {
1532
+ "method_camel": "archive",
1533
+ "operation_id": "eval.archiveScorer",
1534
+ "python": "eval_archive_scorer",
1535
+ "route": "POST /eval/v1/scorers/{scorer_id}/archive",
1536
+ "summary": "Archive a scorer",
1537
+ "typescript": "evalArchiveScorer"
1538
+ },
1539
+ "create": {
1540
+ "method_camel": "create",
1541
+ "operation_id": "eval.createScorer",
1542
+ "python": "eval_create_scorer",
1543
+ "route": "POST /eval/v1/scorers",
1544
+ "summary": "Create a scorer",
1545
+ "typescript": "evalCreateScorer",
1546
+ "typescript_body": "evalScorerCreate"
1547
+ },
1548
+ "get": {
1549
+ "method_camel": "get",
1550
+ "operation_id": "eval.getScorer",
1551
+ "python": "eval_get_scorer",
1552
+ "route": "GET /eval/v1/scorers/{scorer_id}",
1553
+ "summary": "Get a scorer",
1554
+ "typescript": "evalGetScorer"
1555
+ },
1556
+ "list": {
1557
+ "method_camel": "list",
1558
+ "operation_id": "eval.listScorers",
1559
+ "python": "eval_list_scorers",
1560
+ "route": "GET /eval/v1/scorers",
1561
+ "summary": "List scorers",
1562
+ "typescript": "evalListScorers"
1563
+ },
1564
+ "update": {
1565
+ "method_camel": "update",
1566
+ "operation_id": "eval.patchScorer",
1567
+ "python": "eval_patch_scorer",
1568
+ "route": "PATCH /eval/v1/scorers/{scorer_id}",
1569
+ "summary": "Update a scorer",
1570
+ "typescript": "evalPatchScorer",
1571
+ "typescript_body": "evalScorerPatch"
1572
+ }
1573
+ },
1574
+ "service": "eval",
1575
+ "typescript": "scorers"
1576
+ },
1270
1577
  "servers": {
1271
1578
  "methods": {
1272
1579
  "aggregate": {
@@ -274,8 +274,9 @@ class AtlanAI {
274
274
  else {
275
275
  ({ context, asRoot } = remoteParentContext(options.traceContext, api_1.context.active()));
276
276
  }
277
- const otelSpan = this.getTracer().startSpan(name, options.startTime !== undefined ? { startTime: options.startTime } : {}, context);
278
- const span = new spans_js_1.AtlanSpan(otelSpan, this.config, this.mask);
277
+ const tracer = this.getTracer();
278
+ const otelSpan = tracer.startSpan(name, options.startTime !== undefined ? { startTime: options.startTime } : {}, context);
279
+ const span = new spans_js_1.AtlanSpan(otelSpan, this.config, this.mask, tracer);
279
280
  span._initialize(options.asType ?? "task", asRoot);
280
281
  if (options.fields)
281
282
  span.update(options.fields);
@@ -290,8 +291,9 @@ class AtlanAI {
290
291
  if (this.spanProcessor === null)
291
292
  return fn((0, spans_js_1.noopSpan)(this.config));
292
293
  const { context, asRoot } = remoteParentContext(options.traceContext, api_1.context.active());
293
- const otelSpan = this.getTracer().startSpan(name, options.startTime !== undefined ? { startTime: options.startTime } : {}, context);
294
- const span = new spans_js_1.AtlanSpan(otelSpan, this.config, this.mask);
294
+ const tracer = this.getTracer();
295
+ const otelSpan = tracer.startSpan(name, options.startTime !== undefined ? { startTime: options.startTime } : {}, context);
296
+ const span = new spans_js_1.AtlanSpan(otelSpan, this.config, this.mask, tracer);
295
297
  span._initialize(options.asType ?? "task", asRoot);
296
298
  if (options.fields)
297
299
  span.update(options.fields);
@@ -17,6 +17,7 @@ export interface PropagateAttributesOptions {
17
17
  sessionId?: string;
18
18
  userId?: string;
19
19
  visitorId?: string;
20
+ experimentId?: string;
20
21
  tags?: readonly string[];
21
22
  metadata?: Record<string, unknown>;
22
23
  traceName?: string;
@@ -56,6 +56,7 @@ const MAX_PROPAGATED_VALUE_CHARS = 200;
56
56
  const SESSION_ID_KEY = (0, api_1.createContextKey)("atlan.propagated.session_id");
57
57
  const USER_ID_KEY = (0, api_1.createContextKey)("atlan.propagated.user_id");
58
58
  const VISITOR_ID_KEY = (0, api_1.createContextKey)("atlan.propagated.visitor_id");
59
+ const EXPERIMENT_ID_KEY = (0, api_1.createContextKey)("atlan.propagated.experiment_id");
59
60
  const TAGS_KEY = (0, api_1.createContextKey)("atlan.propagated.tags");
60
61
  const METADATA_KEY = (0, api_1.createContextKey)("atlan.propagated.metadata");
61
62
  const TRACE_NAME_KEY = (0, api_1.createContextKey)("atlan.propagated.trace_name");
@@ -123,6 +124,9 @@ function propagatedAttributesFromContext(context, includeContent = true) {
123
124
  const visitorId = context.getValue(VISITOR_ID_KEY);
124
125
  if (typeof visitorId === "string")
125
126
  attributes[sc.ATLAN_VISITOR_ID] = visitorId;
127
+ const experimentId = context.getValue(EXPERIMENT_ID_KEY);
128
+ if (typeof experimentId === "string")
129
+ attributes[sc.ATLAN_EVAL_EXPERIMENT_ID] = experimentId;
126
130
  const tags = context.getValue(TAGS_KEY);
127
131
  if (Array.isArray(tags) && tags.length > 0)
128
132
  attributes[sc.ATLAN_TAGS] = [...tags];
@@ -149,6 +153,9 @@ function propagateAttributes(options, fn) {
149
153
  const visitorId = validShortString("visitorId", options.visitorId);
150
154
  if (visitorId !== undefined)
151
155
  context = context.setValue(VISITOR_ID_KEY, visitorId);
156
+ const experimentId = validShortString("experimentId", options.experimentId);
157
+ if (experimentId !== undefined)
158
+ context = context.setValue(EXPERIMENT_ID_KEY, experimentId);
152
159
  const newTags = validTags(options.tags);
153
160
  if (newTags.length > 0) {
154
161
  const existing = context.getValue(TAGS_KEY);
@@ -9,11 +9,19 @@ export type ScoreDataType = (typeof SCORE_DATA_TYPES)[number];
9
9
  export declare const ATLAN_COMPLETION_START_TIME = "atlan.completion_start_time";
10
10
  export declare const ATLAN_CONSENT_STORE_CONTENT = "atlan.consent.store_content";
11
11
  export declare const ATLAN_ENVIRONMENT = "atlan.environment";
12
+ export declare const ATLAN_EVAL_EXPERIMENT_ID = "atlan.eval.experiment_id";
12
13
  export declare const ATLAN_INPUT = "atlan.input";
13
14
  export declare const ATLAN_INTERNAL_AS_ROOT = "atlan.internal.as_root";
14
15
  export declare const ATLAN_OBSERVATION_LEVEL = "atlan.observation.level";
15
16
  export declare const ATLAN_OBSERVATION_STATUS_MESSAGE = "atlan.observation.status_message";
16
17
  export declare const ATLAN_OUTPUT = "atlan.output";
18
+ export declare const ATLAN_SCORE_COMMENT = "atlan.score.comment";
19
+ export declare const ATLAN_SCORE_DATA_TYPE = "atlan.score.data_type";
20
+ export declare const ATLAN_SCORE_NAME = "atlan.score.name";
21
+ export declare const ATLAN_SCORE_SCORER_ID = "atlan.score.scorer_id";
22
+ export declare const ATLAN_SCORE_SCORER_VERSION = "atlan.score.scorer_version";
23
+ export declare const ATLAN_SCORE_STRING_VALUE = "atlan.score.string_value";
24
+ export declare const ATLAN_SCORE_VALUE = "atlan.score.value";
17
25
  export declare const ATLAN_SDK_LANGUAGE = "atlan.sdk.language";
18
26
  export declare const ATLAN_SDK_SCHEMA_VERSION = "atlan.sdk.schema_version";
19
27
  export declare const ATLAN_SDK_VERSION = "atlan.sdk.version";
@@ -53,6 +61,5 @@ export declare const SPAN_ATTRIBUTE_OWNERS: Readonly<Record<string, string>>;
53
61
  export declare const CONTENT_ATTRIBUTES: Readonly<Record<string, readonly string[]>>;
54
62
  export declare const PREFIX_ATTRIBUTE_TYPES: Readonly<Record<string, string>>;
55
63
  export declare const ATLAN_METADATA_PREFIX = "atlan.metadata.";
56
- export declare const ATLAN_SCORE_PREFIX = "atlan.score.";
57
64
  export declare const EVENT_ATTRIBUTE_TYPES: Readonly<Record<string, Readonly<Record<string, string>>>>;
58
65
  export declare const GATEWAY_OWNED_RESOURCE_ATTRIBUTES: readonly ["user.id", "user.email", "org.name"];
@@ -3,8 +3,8 @@
3
3
  // Regenerate (from the atlanai-sdk-python repo):
4
4
  // python scripts/gen_semconv.py --lang ts --out <path-to>/src/semconv.ts
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CONTENT_ATTRIBUTES = exports.SPAN_ATTRIBUTE_OWNERS = exports.SPAN_ATTRIBUTE_TYPES = exports.RESOURCE_ATTRIBUTE_OWNERS = exports.RESOURCE_ATTRIBUTE_TYPES = exports.USER_ID = exports.USER_EMAIL = exports.SESSION_ID = exports.SERVICE_NAME = exports.ORG_NAME = exports.GEN_AI_USAGE_TOTAL_TOKENS = exports.GEN_AI_USAGE_OUTPUT_TOKENS = exports.GEN_AI_USAGE_OUTPUT_COST = exports.GEN_AI_USAGE_INPUT_TOKENS = exports.GEN_AI_USAGE_INPUT_COST = exports.GEN_AI_USAGE_COST = exports.GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS = exports.GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS = exports.GEN_AI_TOOL_TYPE = exports.GEN_AI_TOOL_NAME = exports.GEN_AI_TOOL_CALL_RESULT = exports.GEN_AI_TOOL_CALL_ID = exports.GEN_AI_TOOL_CALL_ARGUMENTS = exports.GEN_AI_SYSTEM_INSTRUCTIONS = exports.GEN_AI_RESPONSE_MODEL = exports.GEN_AI_RESPONSE_ID = exports.GEN_AI_REQUEST_MODEL = exports.GEN_AI_PROVIDER_NAME = exports.GEN_AI_OUTPUT_MESSAGES = exports.GEN_AI_INPUT_MESSAGES = exports.ATLAN_VISITOR_ID = exports.ATLAN_TRACE_NAME = exports.ATLAN_TAGS = exports.ATLAN_SPAN_TYPE = exports.ATLAN_SDK_VERSION = exports.ATLAN_SDK_SCHEMA_VERSION = exports.ATLAN_SDK_LANGUAGE = exports.ATLAN_OUTPUT = exports.ATLAN_OBSERVATION_STATUS_MESSAGE = exports.ATLAN_OBSERVATION_LEVEL = exports.ATLAN_INTERNAL_AS_ROOT = exports.ATLAN_INPUT = exports.ATLAN_ENVIRONMENT = exports.ATLAN_CONSENT_STORE_CONTENT = exports.ATLAN_COMPLETION_START_TIME = exports.SCORE_DATA_TYPES = exports.OBSERVATION_LEVELS = exports.SPAN_TYPE_ALIASES = exports.SPAN_TYPES = exports.SCHEMA_VERSION = void 0;
7
- exports.GATEWAY_OWNED_RESOURCE_ATTRIBUTES = exports.EVENT_ATTRIBUTE_TYPES = exports.ATLAN_SCORE_PREFIX = exports.ATLAN_METADATA_PREFIX = exports.PREFIX_ATTRIBUTE_TYPES = void 0;
6
+ exports.SERVICE_NAME = exports.ORG_NAME = exports.GEN_AI_USAGE_TOTAL_TOKENS = exports.GEN_AI_USAGE_OUTPUT_TOKENS = exports.GEN_AI_USAGE_OUTPUT_COST = exports.GEN_AI_USAGE_INPUT_TOKENS = exports.GEN_AI_USAGE_INPUT_COST = exports.GEN_AI_USAGE_COST = exports.GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS = exports.GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS = exports.GEN_AI_TOOL_TYPE = exports.GEN_AI_TOOL_NAME = exports.GEN_AI_TOOL_CALL_RESULT = exports.GEN_AI_TOOL_CALL_ID = exports.GEN_AI_TOOL_CALL_ARGUMENTS = exports.GEN_AI_SYSTEM_INSTRUCTIONS = exports.GEN_AI_RESPONSE_MODEL = exports.GEN_AI_RESPONSE_ID = exports.GEN_AI_REQUEST_MODEL = exports.GEN_AI_PROVIDER_NAME = exports.GEN_AI_OUTPUT_MESSAGES = exports.GEN_AI_INPUT_MESSAGES = exports.ATLAN_VISITOR_ID = exports.ATLAN_TRACE_NAME = exports.ATLAN_TAGS = exports.ATLAN_SPAN_TYPE = exports.ATLAN_SDK_VERSION = exports.ATLAN_SDK_SCHEMA_VERSION = exports.ATLAN_SDK_LANGUAGE = exports.ATLAN_SCORE_VALUE = exports.ATLAN_SCORE_STRING_VALUE = exports.ATLAN_SCORE_SCORER_VERSION = exports.ATLAN_SCORE_SCORER_ID = exports.ATLAN_SCORE_NAME = exports.ATLAN_SCORE_DATA_TYPE = exports.ATLAN_SCORE_COMMENT = exports.ATLAN_OUTPUT = exports.ATLAN_OBSERVATION_STATUS_MESSAGE = exports.ATLAN_OBSERVATION_LEVEL = exports.ATLAN_INTERNAL_AS_ROOT = exports.ATLAN_INPUT = exports.ATLAN_EVAL_EXPERIMENT_ID = exports.ATLAN_ENVIRONMENT = exports.ATLAN_CONSENT_STORE_CONTENT = exports.ATLAN_COMPLETION_START_TIME = exports.SCORE_DATA_TYPES = exports.OBSERVATION_LEVELS = exports.SPAN_TYPE_ALIASES = exports.SPAN_TYPES = exports.SCHEMA_VERSION = void 0;
7
+ exports.GATEWAY_OWNED_RESOURCE_ATTRIBUTES = exports.EVENT_ATTRIBUTE_TYPES = exports.ATLAN_METADATA_PREFIX = exports.PREFIX_ATTRIBUTE_TYPES = exports.CONTENT_ATTRIBUTES = exports.SPAN_ATTRIBUTE_OWNERS = exports.SPAN_ATTRIBUTE_TYPES = exports.RESOURCE_ATTRIBUTE_OWNERS = exports.RESOURCE_ATTRIBUTE_TYPES = exports.USER_ID = exports.USER_EMAIL = exports.SESSION_ID = void 0;
8
8
  exports.SCHEMA_VERSION = "agent-sdk.v1";
9
9
  exports.SPAN_TYPES = ["task", "llm", "tool", "function", "score", "session", "turn"];
10
10
  exports.SPAN_TYPE_ALIASES = {
@@ -17,11 +17,19 @@ exports.SCORE_DATA_TYPES = ["NUMERIC", "CATEGORICAL", "BOOLEAN"];
17
17
  exports.ATLAN_COMPLETION_START_TIME = "atlan.completion_start_time";
18
18
  exports.ATLAN_CONSENT_STORE_CONTENT = "atlan.consent.store_content";
19
19
  exports.ATLAN_ENVIRONMENT = "atlan.environment";
20
+ exports.ATLAN_EVAL_EXPERIMENT_ID = "atlan.eval.experiment_id";
20
21
  exports.ATLAN_INPUT = "atlan.input";
21
22
  exports.ATLAN_INTERNAL_AS_ROOT = "atlan.internal.as_root";
22
23
  exports.ATLAN_OBSERVATION_LEVEL = "atlan.observation.level";
23
24
  exports.ATLAN_OBSERVATION_STATUS_MESSAGE = "atlan.observation.status_message";
24
25
  exports.ATLAN_OUTPUT = "atlan.output";
26
+ exports.ATLAN_SCORE_COMMENT = "atlan.score.comment";
27
+ exports.ATLAN_SCORE_DATA_TYPE = "atlan.score.data_type";
28
+ exports.ATLAN_SCORE_NAME = "atlan.score.name";
29
+ exports.ATLAN_SCORE_SCORER_ID = "atlan.score.scorer_id";
30
+ exports.ATLAN_SCORE_SCORER_VERSION = "atlan.score.scorer_version";
31
+ exports.ATLAN_SCORE_STRING_VALUE = "atlan.score.string_value";
32
+ exports.ATLAN_SCORE_VALUE = "atlan.score.value";
25
33
  exports.ATLAN_SDK_LANGUAGE = "atlan.sdk.language";
26
34
  exports.ATLAN_SDK_SCHEMA_VERSION = "atlan.sdk.schema_version";
27
35
  exports.ATLAN_SDK_VERSION = "atlan.sdk.version";
@@ -86,6 +94,14 @@ exports.SPAN_ATTRIBUTE_TYPES = {
86
94
  "session.id": "string",
87
95
  "user.id": "string",
88
96
  "atlan.visitor.id": "string",
97
+ "atlan.eval.experiment_id": "string",
98
+ "atlan.score.name": "string",
99
+ "atlan.score.value": "double",
100
+ "atlan.score.data_type": "string",
101
+ "atlan.score.string_value": "string",
102
+ "atlan.score.comment": "string",
103
+ "atlan.score.scorer_id": "string",
104
+ "atlan.score.scorer_version": "int",
89
105
  "atlan.tags": "string_list",
90
106
  "gen_ai.input.messages": "string",
91
107
  "gen_ai.output.messages": "string",
@@ -120,6 +136,14 @@ exports.SPAN_ATTRIBUTE_OWNERS = {
120
136
  "session.id": "app",
121
137
  "user.id": "app",
122
138
  "atlan.visitor.id": "app",
139
+ "atlan.eval.experiment_id": "app",
140
+ "atlan.score.name": "app",
141
+ "atlan.score.value": "app",
142
+ "atlan.score.data_type": "app",
143
+ "atlan.score.string_value": "app",
144
+ "atlan.score.comment": "app",
145
+ "atlan.score.scorer_id": "app",
146
+ "atlan.score.scorer_version": "app",
123
147
  "atlan.tags": "app",
124
148
  "gen_ai.input.messages": "app",
125
149
  "gen_ai.output.messages": "app",
@@ -157,20 +181,10 @@ exports.CONTENT_ATTRIBUTES = {
157
181
  };
158
182
  exports.PREFIX_ATTRIBUTE_TYPES = {
159
183
  "atlan.metadata.": "dynamic",
160
- "atlan.score.": "double",
161
184
  };
162
185
  // Prefix constants (trailing dot included).
163
186
  exports.ATLAN_METADATA_PREFIX = "atlan.metadata.";
164
- exports.ATLAN_SCORE_PREFIX = "atlan.score.";
165
187
  // Span events and their attribute types.
166
- exports.EVENT_ATTRIBUTE_TYPES = {
167
- "atlan.score": {
168
- "atlan.score.name": "string",
169
- "atlan.score.value": "double",
170
- "atlan.score.data_type": "string",
171
- "atlan.score.string_value": "string",
172
- "atlan.score.comment": "string",
173
- },
174
- };
188
+ exports.EVENT_ATTRIBUTE_TYPES = {};
175
189
  // Reserved for the gateway: the SDK MUST NOT emit these on the resource.
176
190
  exports.GATEWAY_OWNED_RESOURCE_ATTRIBUTES = ["user.id", "user.email", "org.name"];
@@ -5,7 +5,7 @@
5
5
  * attributes. The observation type is set once at creation and immutable.
6
6
  * Every method is safe on a non-recording span (no-op posture, SPEC §10.1).
7
7
  */
8
- import { type Span, type TimeInput } from "@opentelemetry/api";
8
+ import { type Span, type TimeInput, type Tracer } from "@opentelemetry/api";
9
9
  import type { ResolvedConfig } from "./config.js";
10
10
  import { type MaskFunction } from "./masking.js";
11
11
  /**
@@ -18,6 +18,10 @@ export interface ScoreOptions {
18
18
  dataType?: string;
19
19
  stringValue?: string;
20
20
  comment?: string;
21
+ /** Registry scorer artifact cited by the verdict span. */
22
+ scorerId?: string;
23
+ /** Positive immutable scorer version ordinal. */
24
+ scorerVersion?: number;
21
25
  }
22
26
  export declare function resolveSpanType(asType: string): string;
23
27
  export interface UpdateFields {
@@ -42,7 +46,8 @@ export declare class AtlanSpan {
42
46
  private readonly otel;
43
47
  private readonly config;
44
48
  private readonly mask;
45
- constructor(otelSpan: Span, config: ResolvedConfig, mask?: MaskFunction);
49
+ private readonly tracer;
50
+ constructor(otelSpan: Span, config: ResolvedConfig, mask?: MaskFunction, tracer?: Tracer);
46
51
  get otelSpan(): Span;
47
52
  get traceId(): string;
48
53
  get spanId(): string;
@@ -51,8 +56,7 @@ export declare class AtlanSpan {
51
56
  private serialize;
52
57
  update(fields: UpdateFields): this;
53
58
  /**
54
- * Attach a score to this span (SPEC §9.4): an `atlan.score` event plus a
55
- * rollup attribute `atlan.score.{name}`.
59
+ * Emit a dedicated score child span (SPEC §9.4).
56
60
  *
57
61
  * NUMERIC requires a numeric value; CATEGORICAL requires stringValue
58
62
  * (numeric value defaults to 0.0); BOOLEAN encodes value as 0/1.
@@ -66,7 +66,6 @@ const COST_ATTRIBUTES = {
66
66
  * target it (SPEC §9.4). Set by client.startAsCurrentSpan.
67
67
  */
68
68
  exports.ROOT_SPAN_CONTEXT_KEY = (0, api_1.createContextKey)("atlan.root_span");
69
- const SCORE_EVENT_NAME = "atlan.score";
70
69
  function resolveSpanType(asType) {
71
70
  const resolved = sc.SPAN_TYPE_ALIASES[asType] ?? asType;
72
71
  if (!sc.SPAN_TYPES.includes(resolved)) {
@@ -93,10 +92,12 @@ class AtlanSpan {
93
92
  otel;
94
93
  config;
95
94
  mask;
96
- constructor(otelSpan, config, mask) {
95
+ tracer;
96
+ constructor(otelSpan, config, mask, tracer) {
97
97
  this.otel = otelSpan;
98
98
  this.config = config;
99
99
  this.mask = mask;
100
+ this.tracer = tracer;
100
101
  }
101
102
  get otelSpan() {
102
103
  return this.otel;
@@ -214,8 +215,7 @@ class AtlanSpan {
214
215
  return this;
215
216
  }
216
217
  /**
217
- * Attach a score to this span (SPEC §9.4): an `atlan.score` event plus a
218
- * rollup attribute `atlan.score.{name}`.
218
+ * Emit a dedicated score child span (SPEC §9.4).
219
219
  *
220
220
  * NUMERIC requires a numeric value; CATEGORICAL requires stringValue
221
221
  * (numeric value defaults to 0.0); BOOLEAN encodes value as 0/1.
@@ -223,7 +223,7 @@ class AtlanSpan {
223
223
  */
224
224
  score(name, value, options = {}) {
225
225
  const span = this.otel;
226
- if (!span.isRecording())
226
+ if (!span.isRecording() || this.tracer === undefined)
227
227
  return;
228
228
  if (!name || typeof name !== "string") {
229
229
  logger_js_1.logger.warn(`dropping score with invalid name ${JSON.stringify(name)}`);
@@ -234,6 +234,16 @@ class AtlanSpan {
234
234
  logger_js_1.logger.warn(`dropping score ${name} with unknown dataType ${String(dataType)}`);
235
235
  return;
236
236
  }
237
+ if (typeof options.scorerId !== "string" || !options.scorerId.startsWith("scorer_")) {
238
+ logger_js_1.logger.warn(`dropping score ${name} without a valid scorerId`);
239
+ return;
240
+ }
241
+ if (typeof options.scorerVersion !== "number" ||
242
+ !Number.isInteger(options.scorerVersion) ||
243
+ options.scorerVersion < 1) {
244
+ logger_js_1.logger.warn(`dropping score ${name} without a valid scorerVersion`);
245
+ return;
246
+ }
237
247
  let numeric;
238
248
  if (dataType === "NUMERIC") {
239
249
  const coerced = asFloat(value);
@@ -258,19 +268,24 @@ class AtlanSpan {
258
268
  }
259
269
  numeric = value ? 1.0 : 0.0;
260
270
  }
261
- const eventAttributes = {
262
- [`${sc.ATLAN_SCORE_PREFIX}name`]: name,
263
- [`${sc.ATLAN_SCORE_PREFIX}value`]: numeric,
264
- [`${sc.ATLAN_SCORE_PREFIX}data_type`]: dataType,
271
+ const attributes = {
272
+ [sc.ATLAN_SPAN_TYPE]: "score",
273
+ [sc.ATLAN_SCORE_NAME]: name,
274
+ [sc.ATLAN_SCORE_VALUE]: numeric,
275
+ [sc.ATLAN_SCORE_DATA_TYPE]: dataType,
276
+ [sc.ATLAN_SCORE_SCORER_ID]: options.scorerId,
277
+ [sc.ATLAN_SCORE_SCORER_VERSION]: options.scorerVersion,
265
278
  };
266
279
  if (options.stringValue !== undefined) {
267
- eventAttributes[`${sc.ATLAN_SCORE_PREFIX}string_value`] = options.stringValue;
280
+ attributes[sc.ATLAN_SCORE_STRING_VALUE] = options.stringValue;
268
281
  }
269
282
  if (options.comment !== undefined) {
270
- eventAttributes[`${sc.ATLAN_SCORE_PREFIX}comment`] = options.comment;
283
+ attributes[sc.ATLAN_SCORE_COMMENT] = options.comment;
271
284
  }
272
- span.addEvent(SCORE_EVENT_NAME, eventAttributes);
273
- span.setAttribute(`${sc.ATLAN_SCORE_PREFIX}${name}`, numeric);
285
+ const parent = api_1.trace.setSpan(api_1.context.active(), span);
286
+ const scoreSpan = this.tracer.startSpan(`score.${name}`, {}, parent);
287
+ scoreSpan.setAttributes(attributes);
288
+ scoreSpan.end();
274
289
  }
275
290
  /**
276
291
  * Attach a score to the current trace's root span when resolvable
@@ -1,4 +1,4 @@
1
1
  /** SDK identity (SPEC §2.2, §5.1). Kept in sync with package.json — the
2
2
  * version test fails the build on drift. */
3
3
  export declare const SDK_LANGUAGE = "typescript";
4
- export declare const SDK_VERSION = "0.1.0";
4
+ export declare const SDK_VERSION = "0.2.1";