@arizeai/phoenix-client 6.6.2 → 6.8.0
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/dist/esm/__generated__/api/v1.d.ts +97 -1
- package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
- package/dist/esm/constants/serverRequirements.d.ts +2 -0
- package/dist/esm/constants/serverRequirements.d.ts.map +1 -1
- package/dist/esm/constants/serverRequirements.js +15 -0
- package/dist/esm/constants/serverRequirements.js.map +1 -1
- package/dist/esm/spans/addSpanNote.d.ts +1 -1
- package/dist/esm/spans/addSpanNote.js +1 -1
- package/dist/esm/spans/getSpans.d.ts +10 -1
- package/dist/esm/spans/getSpans.d.ts.map +1 -1
- package/dist/esm/spans/getSpans.js +40 -2
- package/dist/esm/spans/getSpans.js.map +1 -1
- package/dist/esm/traces/addTraceNote.d.ts +43 -0
- package/dist/esm/traces/addTraceNote.d.ts.map +1 -0
- package/dist/esm/traces/addTraceNote.js +42 -0
- package/dist/esm/traces/addTraceNote.js.map +1 -0
- package/dist/esm/traces/index.d.ts +1 -0
- package/dist/esm/traces/index.d.ts.map +1 -1
- package/dist/esm/traces/index.js +1 -0
- package/dist/esm/traces/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
- package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
- package/dist/src/__generated__/api/v1.d.ts +97 -1
- package/dist/src/__generated__/api/v1.d.ts.map +1 -1
- package/dist/src/constants/serverRequirements.d.ts +2 -0
- package/dist/src/constants/serverRequirements.d.ts.map +1 -1
- package/dist/src/constants/serverRequirements.js +16 -1
- package/dist/src/constants/serverRequirements.js.map +1 -1
- package/dist/src/spans/addSpanNote.d.ts +1 -1
- package/dist/src/spans/addSpanNote.js +1 -1
- package/dist/src/spans/getSpans.d.ts +10 -1
- package/dist/src/spans/getSpans.d.ts.map +1 -1
- package/dist/src/spans/getSpans.js +39 -1
- package/dist/src/spans/getSpans.js.map +1 -1
- package/dist/src/traces/addTraceNote.d.ts +43 -0
- package/dist/src/traces/addTraceNote.d.ts.map +1 -0
- package/dist/src/traces/addTraceNote.js +45 -0
- package/dist/src/traces/addTraceNote.js.map +1 -0
- package/dist/src/traces/index.d.ts +1 -0
- package/dist/src/traces/index.d.ts.map +1 -1
- package/dist/src/traces/index.js +1 -0
- package/dist/src/traces/index.js.map +1 -1
- package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
- package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/span-annotations.mdx +1 -1
- package/docs/spans.mdx +34 -1
- package/package.json +3 -3
- package/src/__generated__/api/v1.ts +97 -1
- package/src/constants/serverRequirements.ts +17 -0
- package/src/spans/addSpanNote.ts +1 -1
- package/src/spans/getSpans.ts +57 -0
- package/src/traces/addTraceNote.ts +71 -0
- package/src/traces/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverRequirements.d.ts","sourceRoot":"","sources":["../../../src/constants/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,WAAW,EAAE,gBAKzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,gBAK5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,gBAK7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAKnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAK/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,oBAMjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,oBAM/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAKjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,qBAAqB,
|
|
1
|
+
{"version":3,"file":"serverRequirements.d.ts","sourceRoot":"","sources":["../../../src/constants/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,WAAW,EAAE,gBAKzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,gBAK5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,gBAK7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAKnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAK/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,gBAK5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,oBAMjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,oBAM/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAKjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,oBAMpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,qBAAqB,EAWnD,CAAC"}
|
|
@@ -41,6 +41,12 @@ export const ANNOTATE_SESSIONS = {
|
|
|
41
41
|
path: "/v1/session_annotations",
|
|
42
42
|
minServerVersion: [12, 0, 0],
|
|
43
43
|
};
|
|
44
|
+
export const ADD_TRACE_NOTE = {
|
|
45
|
+
kind: "route",
|
|
46
|
+
method: "POST",
|
|
47
|
+
path: "/v1/trace_notes",
|
|
48
|
+
minServerVersion: [14, 13, 0],
|
|
49
|
+
};
|
|
44
50
|
export const GET_SPANS_TRACE_IDS = {
|
|
45
51
|
kind: "parameter",
|
|
46
52
|
parameterName: "trace_id",
|
|
@@ -61,6 +67,13 @@ export const LIST_PROJECT_TRACES = {
|
|
|
61
67
|
path: "/v1/projects/{project_identifier}/traces",
|
|
62
68
|
minServerVersion: [13, 15, 0],
|
|
63
69
|
};
|
|
70
|
+
export const GET_SPANS_BY_ATTRIBUTE = {
|
|
71
|
+
kind: "parameter",
|
|
72
|
+
parameterName: "attribute",
|
|
73
|
+
parameterLocation: "query",
|
|
74
|
+
route: "GET /v1/projects/{id}/spans",
|
|
75
|
+
minServerVersion: [14, 9, 0],
|
|
76
|
+
};
|
|
64
77
|
/**
|
|
65
78
|
* Aggregate list of every known capability requirement.
|
|
66
79
|
*
|
|
@@ -73,8 +86,10 @@ export const ALL_REQUIREMENTS = [
|
|
|
73
86
|
DELETE_SESSIONS,
|
|
74
87
|
LIST_PROJECT_SESSIONS,
|
|
75
88
|
ANNOTATE_SESSIONS,
|
|
89
|
+
ADD_TRACE_NOTE,
|
|
76
90
|
GET_SPANS_TRACE_IDS,
|
|
77
91
|
GET_SPANS_FILTERS,
|
|
92
|
+
GET_SPANS_BY_ATTRIBUTE,
|
|
78
93
|
LIST_PROJECT_TRACES,
|
|
79
94
|
];
|
|
80
95
|
//# sourceMappingURL=serverRequirements.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverRequirements.js","sourceRoot":"","sources":["../../../src/constants/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,2BAA2B;IACjC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,2BAA2B;IACjC,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,qBAAqB;IAC3B,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,oCAAoC;IAC1C,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAqB;IACjD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,yBAAyB;IAC/B,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,IAAI,EAAE,WAAW;IACjB,aAAa,EAAE,UAAU;IACzB,iBAAiB,EAAE,OAAO;IAC1B,KAAK,EAAE,6BAA6B;IACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAyB;IACrD,IAAI,EAAE,WAAW;IACjB,aAAa,EAAE,WAAW;IAC1B,iBAAiB,EAAE,OAAO;IAC1B,KAAK,EAAE,6BAA6B;IACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACnD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,0CAA0C;IAChD,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,WAAW;IACX,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;CACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"serverRequirements.js","sourceRoot":"","sources":["../../../src/constants/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,2BAA2B;IACjC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,2BAA2B;IACjC,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,qBAAqB;IAC3B,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,oCAAoC;IAC1C,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAqB;IACjD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,yBAAyB;IAC/B,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,iBAAiB;IACvB,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,IAAI,EAAE,WAAW;IACjB,aAAa,EAAE,UAAU;IACzB,iBAAiB,EAAE,OAAO;IAC1B,KAAK,EAAE,6BAA6B;IACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAyB;IACrD,IAAI,EAAE,WAAW;IACjB,aAAa,EAAE,WAAW;IAC1B,iBAAiB,EAAE,OAAO;IAC1B,KAAK,EAAE,6BAA6B;IACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACnD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,0CAA0C;IAChD,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,IAAI,EAAE,WAAW;IACjB,aAAa,EAAE,WAAW;IAC1B,iBAAiB,EAAE,OAAO;IAC1B,KAAK,EAAE,6BAA6B;IACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,WAAW;IACX,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,sBAAsB;IACtB,mBAAmB;CACX,CAAC"}
|
|
@@ -23,7 +23,7 @@ export interface AddSpanNoteParams extends ClientFn {
|
|
|
23
23
|
*
|
|
24
24
|
* Notes are a special type of annotation that allow multiple entries per span
|
|
25
25
|
* (unlike regular annotations which are unique by name and identifier).
|
|
26
|
-
* Each note gets a unique
|
|
26
|
+
* Each note gets a unique UUIDv4 identifier.
|
|
27
27
|
*
|
|
28
28
|
* @param params - The parameters to add a span note
|
|
29
29
|
* @returns The ID of the created note annotation
|
|
@@ -4,7 +4,7 @@ import { createClient } from "../client.js";
|
|
|
4
4
|
*
|
|
5
5
|
* Notes are a special type of annotation that allow multiple entries per span
|
|
6
6
|
* (unlike regular annotations which are unique by name and identifier).
|
|
7
|
-
* Each note gets a unique
|
|
7
|
+
* Each note gets a unique UUIDv4 identifier.
|
|
8
8
|
*
|
|
9
9
|
* @param params - The parameters to add a span note
|
|
10
10
|
* @returns The ID of the created note annotation
|
|
@@ -2,6 +2,8 @@ import type { operations } from "../__generated__/api/v1.js";
|
|
|
2
2
|
import type { ClientFn } from "../types/core.js";
|
|
3
3
|
import type { ProjectIdentifier } from "../types/projects.js";
|
|
4
4
|
import type { SpanKindFilter, SpanStatusCode } from "../types/spans.js";
|
|
5
|
+
export type SpanAttributeValue = string | number | boolean;
|
|
6
|
+
export type SpanAttributes = Record<string, SpanAttributeValue>;
|
|
5
7
|
/**
|
|
6
8
|
* Parameters to get spans from a project using auto-generated types
|
|
7
9
|
*/
|
|
@@ -26,6 +28,12 @@ export interface GetSpansParams extends ClientFn {
|
|
|
26
28
|
spanKind?: SpanKindFilter | SpanKindFilter[] | null;
|
|
27
29
|
/** Filter by status code(s) (OK, ERROR, UNSET) */
|
|
28
30
|
statusCode?: SpanStatusCode | SpanStatusCode[] | null;
|
|
31
|
+
/**
|
|
32
|
+
* Filter by attribute key/value pairs with AND semantics. The value's JS type
|
|
33
|
+
* selects how the stored attribute is matched: `{ "user.id": 12345 }` matches
|
|
34
|
+
* a stored integer, while `{ "user.id": "12345" }` matches a stored string.
|
|
35
|
+
*/
|
|
36
|
+
attributes?: SpanAttributes | null;
|
|
29
37
|
}
|
|
30
38
|
export type GetSpansResponse = operations["getSpans"]["responses"]["200"];
|
|
31
39
|
export type GetSpansResult = {
|
|
@@ -46,6 +54,7 @@ export type GetSpansResult = {
|
|
|
46
54
|
* @returns A paginated response containing spans and optional next cursor
|
|
47
55
|
*
|
|
48
56
|
* @requires Phoenix server >= 13.9.0 when filtering by `traceIds`
|
|
57
|
+
* @requires Phoenix server >= 14.9.0 when filtering by `attributes`
|
|
49
58
|
*
|
|
50
59
|
* @example
|
|
51
60
|
* ```ts
|
|
@@ -93,5 +102,5 @@ export type GetSpansResult = {
|
|
|
93
102
|
* } while (cursor);
|
|
94
103
|
* ```
|
|
95
104
|
*/
|
|
96
|
-
export declare function getSpans({ client: _client, project, cursor, limit, startTime, endTime, traceIds, parentId, name, spanKind, statusCode, }: GetSpansParams): Promise<GetSpansResult>;
|
|
105
|
+
export declare function getSpans({ client: _client, project, cursor, limit, startTime, endTime, traceIds, parentId, name, spanKind, statusCode, attributes, }: GetSpansParams): Promise<GetSpansResult>;
|
|
97
106
|
//# sourceMappingURL=getSpans.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSpans.d.ts","sourceRoot":"","sources":["../../../src/spans/getSpans.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"getSpans.d.ts","sourceRoot":"","sources":["../../../src/spans/getSpans.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAO1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AA+BhE;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,oCAAoC;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,kFAAkF;IAClF,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,kFAAkF;IAClF,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,cAAc,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;IACpD,kDAAkD;IAClD,UAAU,CAAC,EAAE,cAAc,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;IACtD;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;AAE1E,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,UAAU,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC;CAC5E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,wBAAsB,QAAQ,CAAC,EAC7B,MAAM,EAAE,OAAO,EACf,OAAO,EACP,MAAM,EACN,KAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAgF1C"}
|
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
import { createClient } from "../client.js";
|
|
2
|
-
import { GET_SPANS_FILTERS, GET_SPANS_TRACE_IDS, } from "../constants/serverRequirements.js";
|
|
2
|
+
import { GET_SPANS_BY_ATTRIBUTE, GET_SPANS_FILTERS, GET_SPANS_TRACE_IDS, } from "../constants/serverRequirements.js";
|
|
3
3
|
import { resolveProjectIdentifier } from "../types/projects.js";
|
|
4
4
|
import { ensureServerCapability } from "../utils/serverVersionUtils.js";
|
|
5
|
+
function serializeAttributeValue(value) {
|
|
6
|
+
if (typeof value === "boolean") {
|
|
7
|
+
return JSON.stringify(value);
|
|
8
|
+
}
|
|
9
|
+
if (typeof value === "number") {
|
|
10
|
+
if (!Number.isFinite(value)) {
|
|
11
|
+
throw new RangeError(`Non-finite attribute filter values are not supported: ${value}`);
|
|
12
|
+
}
|
|
13
|
+
return String(value);
|
|
14
|
+
}
|
|
15
|
+
if (value === "") {
|
|
16
|
+
return JSON.stringify(value);
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const parsed = JSON.parse(value);
|
|
20
|
+
return typeof parsed === "string" ? value : JSON.stringify(value);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function serializeAttributes(attributes) {
|
|
27
|
+
return Object.entries(attributes).map(([key, value]) => `${key}:${serializeAttributeValue(value)}`);
|
|
28
|
+
}
|
|
5
29
|
/**
|
|
6
30
|
* Get spans from a project with filtering criteria.
|
|
7
31
|
*
|
|
@@ -16,6 +40,7 @@ import { ensureServerCapability } from "../utils/serverVersionUtils.js";
|
|
|
16
40
|
* @returns A paginated response containing spans and optional next cursor
|
|
17
41
|
*
|
|
18
42
|
* @requires Phoenix server >= 13.9.0 when filtering by `traceIds`
|
|
43
|
+
* @requires Phoenix server >= 14.9.0 when filtering by `attributes`
|
|
19
44
|
*
|
|
20
45
|
* @example
|
|
21
46
|
* ```ts
|
|
@@ -63,14 +88,24 @@ import { ensureServerCapability } from "../utils/serverVersionUtils.js";
|
|
|
63
88
|
* } while (cursor);
|
|
64
89
|
* ```
|
|
65
90
|
*/
|
|
66
|
-
export async function getSpans({ client: _client, project, cursor, limit = 100, startTime, endTime, traceIds, parentId, name, spanKind, statusCode, }) {
|
|
91
|
+
export async function getSpans({ client: _client, project, cursor, limit = 100, startTime, endTime, traceIds, parentId, name, spanKind, statusCode, attributes, }) {
|
|
67
92
|
const client = _client ?? createClient();
|
|
93
|
+
const serializedAttributes = attributes != null ? serializeAttributes(attributes) : undefined;
|
|
94
|
+
const attributeFilters = serializedAttributes != null && serializedAttributes.length > 0
|
|
95
|
+
? serializedAttributes
|
|
96
|
+
: undefined;
|
|
68
97
|
if (traceIds) {
|
|
69
98
|
await ensureServerCapability({ client, requirement: GET_SPANS_TRACE_IDS });
|
|
70
99
|
}
|
|
71
100
|
if (name != null || spanKind != null || statusCode != null) {
|
|
72
101
|
await ensureServerCapability({ client, requirement: GET_SPANS_FILTERS });
|
|
73
102
|
}
|
|
103
|
+
if (attributeFilters != null) {
|
|
104
|
+
await ensureServerCapability({
|
|
105
|
+
client,
|
|
106
|
+
requirement: GET_SPANS_BY_ATTRIBUTE,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
74
109
|
const projectIdentifier = resolveProjectIdentifier(project);
|
|
75
110
|
const params = {
|
|
76
111
|
limit,
|
|
@@ -100,6 +135,9 @@ export async function getSpans({ client: _client, project, cursor, limit = 100,
|
|
|
100
135
|
if (statusCode) {
|
|
101
136
|
params.status_code = Array.isArray(statusCode) ? statusCode : [statusCode];
|
|
102
137
|
}
|
|
138
|
+
if (attributeFilters != null) {
|
|
139
|
+
params.attribute = attributeFilters;
|
|
140
|
+
}
|
|
103
141
|
const { data, error } = await client.GET("/v1/projects/{project_identifier}/spans", {
|
|
104
142
|
params: {
|
|
105
143
|
path: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSpans.js","sourceRoot":"","sources":["../../../src/spans/getSpans.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"getSpans.js","sourceRoot":"","sources":["../../../src/spans/getSpans.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ClientFn } from "../types/core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Parameters for a single trace note.
|
|
4
|
+
*/
|
|
5
|
+
export interface TraceNote {
|
|
6
|
+
/**
|
|
7
|
+
* The OpenTelemetry trace ID (hex format without 0x prefix).
|
|
8
|
+
*/
|
|
9
|
+
traceId: string;
|
|
10
|
+
/**
|
|
11
|
+
* The note text to add to the trace.
|
|
12
|
+
*/
|
|
13
|
+
note: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Parameters to add a trace note.
|
|
17
|
+
*/
|
|
18
|
+
export interface AddTraceNoteParams extends ClientFn {
|
|
19
|
+
traceNote: TraceNote;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Add a note to a trace.
|
|
23
|
+
*
|
|
24
|
+
* Notes are a special type of annotation that allow multiple entries per trace.
|
|
25
|
+
* Each note gets a unique timestamp-based identifier.
|
|
26
|
+
*
|
|
27
|
+
* @param params - The parameters to add a trace note.
|
|
28
|
+
* @returns The ID of the created note annotation.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const result = await addTraceNote({
|
|
33
|
+
* traceNote: {
|
|
34
|
+
* traceId: "abc123",
|
|
35
|
+
* note: "Needs review"
|
|
36
|
+
* }
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function addTraceNote({ client: _client, traceNote, }: AddTraceNoteParams): Promise<{
|
|
41
|
+
id: string;
|
|
42
|
+
}>;
|
|
43
|
+
//# sourceMappingURL=addTraceNote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addTraceNote.d.ts","sourceRoot":"","sources":["../../../src/traces/addTraceNote.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAAC,EACjC,MAAM,EAAE,OAAO,EACf,SAAS,GACV,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB9C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createClient } from "../client.js";
|
|
2
|
+
import { ADD_TRACE_NOTE } from "../constants/serverRequirements.js";
|
|
3
|
+
import { ensureServerCapability } from "../utils/serverVersionUtils.js";
|
|
4
|
+
/**
|
|
5
|
+
* Add a note to a trace.
|
|
6
|
+
*
|
|
7
|
+
* Notes are a special type of annotation that allow multiple entries per trace.
|
|
8
|
+
* Each note gets a unique timestamp-based identifier.
|
|
9
|
+
*
|
|
10
|
+
* @param params - The parameters to add a trace note.
|
|
11
|
+
* @returns The ID of the created note annotation.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const result = await addTraceNote({
|
|
16
|
+
* traceNote: {
|
|
17
|
+
* traceId: "abc123",
|
|
18
|
+
* note: "Needs review"
|
|
19
|
+
* }
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export async function addTraceNote({ client: _client, traceNote, }) {
|
|
24
|
+
const client = _client ?? createClient();
|
|
25
|
+
await ensureServerCapability({ client, requirement: ADD_TRACE_NOTE });
|
|
26
|
+
const { data, error } = await client.POST("/v1/trace_notes", {
|
|
27
|
+
body: {
|
|
28
|
+
data: {
|
|
29
|
+
trace_id: traceNote.traceId.trim(),
|
|
30
|
+
note: traceNote.note,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
if (error) {
|
|
35
|
+
throw new Error(`Failed to add trace note: ${error}`);
|
|
36
|
+
}
|
|
37
|
+
if (!data?.data) {
|
|
38
|
+
throw new Error("Failed to add trace note: no data returned");
|
|
39
|
+
}
|
|
40
|
+
return data.data;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=addTraceNote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addTraceNote.js","sourceRoot":"","sources":["../../../src/traces/addTraceNote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAuBrE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,MAAM,EAAE,OAAO,EACf,SAAS,GACU;IACnB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAEtE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC3D,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;gBAClC,IAAI,EAAE,SAAS,CAAC,IAAI;aACrB;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/traces/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/traces/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
package/dist/esm/traces/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/traces/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/traces/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|