@arizeai/phoenix-client 6.3.0 → 6.5.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 +149 -0
- package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
- package/dist/esm/client.d.ts +16 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +55 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/constants/serverRequirements.d.ts +28 -0
- package/dist/esm/constants/serverRequirements.d.ts.map +1 -0
- package/dist/esm/constants/serverRequirements.js +65 -0
- package/dist/esm/constants/serverRequirements.js.map +1 -0
- package/dist/esm/sessions/addSessionAnnotation.d.ts +2 -0
- package/dist/esm/sessions/addSessionAnnotation.d.ts.map +1 -1
- package/dist/esm/sessions/addSessionAnnotation.js +5 -0
- package/dist/esm/sessions/addSessionAnnotation.js.map +1 -1
- package/dist/esm/sessions/deleteSession.d.ts +2 -0
- package/dist/esm/sessions/deleteSession.d.ts.map +1 -1
- package/dist/esm/sessions/deleteSession.js +5 -0
- package/dist/esm/sessions/deleteSession.js.map +1 -1
- package/dist/esm/sessions/deleteSessions.d.ts +2 -0
- package/dist/esm/sessions/deleteSessions.d.ts.map +1 -1
- package/dist/esm/sessions/deleteSessions.js +5 -0
- package/dist/esm/sessions/deleteSessions.js.map +1 -1
- package/dist/esm/sessions/getSession.d.ts +2 -0
- package/dist/esm/sessions/getSession.d.ts.map +1 -1
- package/dist/esm/sessions/getSession.js +5 -0
- package/dist/esm/sessions/getSession.js.map +1 -1
- package/dist/esm/sessions/getSessionTurns.d.ts +72 -0
- package/dist/esm/sessions/getSessionTurns.d.ts.map +1 -0
- package/dist/esm/sessions/getSessionTurns.js +127 -0
- package/dist/esm/sessions/getSessionTurns.js.map +1 -0
- package/dist/esm/sessions/index.d.ts +1 -0
- package/dist/esm/sessions/index.d.ts.map +1 -1
- package/dist/esm/sessions/index.js +1 -0
- package/dist/esm/sessions/index.js.map +1 -1
- package/dist/esm/sessions/listSessions.d.ts +2 -0
- package/dist/esm/sessions/listSessions.d.ts.map +1 -1
- package/dist/esm/sessions/listSessions.js +5 -0
- package/dist/esm/sessions/listSessions.js.map +1 -1
- package/dist/esm/sessions/logSessionAnnotations.d.ts +2 -0
- package/dist/esm/sessions/logSessionAnnotations.d.ts.map +1 -1
- package/dist/esm/sessions/logSessionAnnotations.js +5 -0
- package/dist/esm/sessions/logSessionAnnotations.js.map +1 -1
- package/dist/esm/spans/getSpans.d.ts +2 -0
- package/dist/esm/spans/getSpans.d.ts.map +1 -1
- package/dist/esm/spans/getSpans.js +7 -0
- package/dist/esm/spans/getSpans.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types/semver.d.ts +3 -0
- package/dist/esm/types/semver.d.ts.map +1 -0
- package/dist/esm/types/semver.js +2 -0
- package/dist/esm/types/semver.js.map +1 -0
- package/dist/esm/types/serverRequirements.d.ts +39 -0
- package/dist/esm/types/serverRequirements.d.ts.map +1 -0
- package/dist/esm/types/serverRequirements.js +14 -0
- package/dist/esm/types/serverRequirements.js.map +1 -0
- package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
- package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
- package/dist/esm/utils/semverUtils.d.ts +21 -0
- package/dist/esm/utils/semverUtils.d.ts.map +1 -0
- package/dist/esm/utils/semverUtils.js +52 -0
- package/dist/esm/utils/semverUtils.js.map +1 -0
- package/dist/esm/utils/serverVersionUtils.d.ts +47 -0
- package/dist/esm/utils/serverVersionUtils.d.ts.map +1 -0
- package/dist/esm/utils/serverVersionUtils.js +64 -0
- package/dist/esm/utils/serverVersionUtils.js.map +1 -0
- package/dist/src/__generated__/api/v1.d.ts +149 -0
- package/dist/src/__generated__/api/v1.d.ts.map +1 -1
- package/dist/src/client.d.ts +16 -0
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +57 -2
- package/dist/src/client.js.map +1 -1
- package/dist/src/constants/serverRequirements.d.ts +28 -0
- package/dist/src/constants/serverRequirements.d.ts.map +1 -0
- package/dist/src/constants/serverRequirements.js +68 -0
- package/dist/src/constants/serverRequirements.js.map +1 -0
- package/dist/src/sessions/addSessionAnnotation.d.ts +2 -0
- package/dist/src/sessions/addSessionAnnotation.d.ts.map +1 -1
- package/dist/src/sessions/addSessionAnnotation.js +5 -0
- package/dist/src/sessions/addSessionAnnotation.js.map +1 -1
- package/dist/src/sessions/deleteSession.d.ts +2 -0
- package/dist/src/sessions/deleteSession.d.ts.map +1 -1
- package/dist/src/sessions/deleteSession.js +5 -0
- package/dist/src/sessions/deleteSession.js.map +1 -1
- package/dist/src/sessions/deleteSessions.d.ts +2 -0
- package/dist/src/sessions/deleteSessions.d.ts.map +1 -1
- package/dist/src/sessions/deleteSessions.js +5 -0
- package/dist/src/sessions/deleteSessions.js.map +1 -1
- package/dist/src/sessions/getSession.d.ts +2 -0
- package/dist/src/sessions/getSession.d.ts.map +1 -1
- package/dist/src/sessions/getSession.js +5 -0
- package/dist/src/sessions/getSession.js.map +1 -1
- package/dist/src/sessions/getSessionTurns.d.ts +72 -0
- package/dist/src/sessions/getSessionTurns.d.ts.map +1 -0
- package/dist/src/sessions/getSessionTurns.js +124 -0
- package/dist/src/sessions/getSessionTurns.js.map +1 -0
- package/dist/src/sessions/index.d.ts +1 -0
- package/dist/src/sessions/index.d.ts.map +1 -1
- package/dist/src/sessions/index.js +1 -0
- package/dist/src/sessions/index.js.map +1 -1
- package/dist/src/sessions/listSessions.d.ts +2 -0
- package/dist/src/sessions/listSessions.d.ts.map +1 -1
- package/dist/src/sessions/listSessions.js +5 -0
- package/dist/src/sessions/listSessions.js.map +1 -1
- package/dist/src/sessions/logSessionAnnotations.d.ts +2 -0
- package/dist/src/sessions/logSessionAnnotations.d.ts.map +1 -1
- package/dist/src/sessions/logSessionAnnotations.js +5 -0
- package/dist/src/sessions/logSessionAnnotations.js.map +1 -1
- package/dist/src/spans/getSpans.d.ts +2 -0
- package/dist/src/spans/getSpans.d.ts.map +1 -1
- package/dist/src/spans/getSpans.js +7 -0
- package/dist/src/spans/getSpans.js.map +1 -1
- package/dist/src/types/semver.d.ts +3 -0
- package/dist/src/types/semver.d.ts.map +1 -0
- package/dist/src/types/semver.js +3 -0
- package/dist/src/types/semver.js.map +1 -0
- package/dist/src/types/serverRequirements.d.ts +39 -0
- package/dist/src/types/serverRequirements.d.ts.map +1 -0
- package/dist/src/types/serverRequirements.js +15 -0
- package/dist/src/types/serverRequirements.js.map +1 -0
- package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
- package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
- package/dist/src/utils/semverUtils.d.ts +21 -0
- package/dist/src/utils/semverUtils.d.ts.map +1 -0
- package/dist/src/utils/semverUtils.js +57 -0
- package/dist/src/utils/semverUtils.js.map +1 -0
- package/dist/src/utils/serverVersionUtils.d.ts +47 -0
- package/dist/src/utils/serverVersionUtils.d.ts.map +1 -0
- package/dist/src/utils/serverVersionUtils.js +68 -0
- package/dist/src/utils/serverVersionUtils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/__generated__/api/v1.ts +149 -0
- package/src/client.ts +61 -0
- package/src/constants/serverRequirements.ts +77 -0
- package/src/sessions/addSessionAnnotation.ts +5 -0
- package/src/sessions/deleteSession.ts +5 -0
- package/src/sessions/deleteSessions.ts +5 -0
- package/src/sessions/getSession.ts +5 -0
- package/src/sessions/getSessionTurns.ts +220 -0
- package/src/sessions/index.ts +1 -0
- package/src/sessions/listSessions.ts +5 -0
- package/src/sessions/logSessionAnnotations.ts +5 -0
- package/src/spans/getSpans.ts +7 -0
- package/src/types/semver.ts +2 -0
- package/src/types/serverRequirements.ts +42 -0
- package/src/utils/semverUtils.ts +66 -0
- package/src/utils/serverVersionUtils.ts +79 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listSessions.d.ts","sourceRoot":"","sources":["../../../src/sessions/listSessions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listSessions.d.ts","sourceRoot":"","sources":["../../../src/sessions/listSessions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAM9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,OAAO,EAAE,CAAC,CA8BpB"}
|
|
@@ -6,12 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.listSessions = listSessions;
|
|
7
7
|
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
8
8
|
const client_1 = require("../client");
|
|
9
|
+
const serverRequirements_1 = require("../constants/serverRequirements");
|
|
9
10
|
const projects_1 = require("../types/projects");
|
|
11
|
+
const serverVersionUtils_1 = require("../utils/serverVersionUtils");
|
|
10
12
|
const sessionUtils_1 = require("./sessionUtils");
|
|
11
13
|
const DEFAULT_PAGE_SIZE = 100;
|
|
12
14
|
/**
|
|
13
15
|
* List all sessions for a project with automatic pagination handling.
|
|
14
16
|
*
|
|
17
|
+
* @requires Phoenix server >= 13.5.0
|
|
18
|
+
*
|
|
15
19
|
* @example
|
|
16
20
|
* ```ts
|
|
17
21
|
* import { listSessions } from "@arizeai/phoenix-client/sessions";
|
|
@@ -28,6 +32,7 @@ const DEFAULT_PAGE_SIZE = 100;
|
|
|
28
32
|
async function listSessions(params) {
|
|
29
33
|
var _a, _b;
|
|
30
34
|
const client = params.client || (0, client_1.createClient)();
|
|
35
|
+
await (0, serverVersionUtils_1.ensureServerCapability)({ client, requirement: serverRequirements_1.LIST_PROJECT_SESSIONS });
|
|
31
36
|
const projectIdentifier = (0, projects_1.resolveProjectIdentifier)(params);
|
|
32
37
|
const sessions = [];
|
|
33
38
|
let cursor = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listSessions.js","sourceRoot":"","sources":["../../../src/sessions/listSessions.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"listSessions.js","sourceRoot":"","sources":["../../../src/sessions/listSessions.ts"],"names":[],"mappings":";;;;;AAoCA,oCAgCC;AApED,oEAAuC;AAGvC,sCAAyC;AACzC,wEAAwE;AAGxE,gDAA6D;AAE7D,oEAAqE;AACrE,iDAA2C;AAM3C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,YAAY,CAChC,MAA0B;;IAE1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAA,qBAAY,GAAE,CAAC;IAC/C,MAAM,IAAA,2CAAsB,EAAC,EAAE,MAAM,EAAE,WAAW,EAAE,0CAAqB,EAAE,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,IAAA,mCAAwB,EAAC,MAAM,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,MAAM,GAA8B,IAAI,CAAC;IAE7C,GAAG,CAAC;QACF,MAAM,QAAQ,GACZ,MAAM,MAAM,CAAC,GAAG,CAAC,4CAA4C,EAAE;YAC7D,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,kBAAkB,EAAE,iBAAiB;iBACtC;gBACD,KAAK,EAAE;oBACL,MAAM;oBACN,KAAK,EAAE,iBAAiB;iBACzB;aACF;SACF,CAAC,CAAC;QAEL,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC;QACzC,IAAA,wBAAS,EAAC,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAE1D,MAAM,GAAG,MAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAS,CAAC,CAAC,CAAC;IACtD,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE;IAEzB,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -24,6 +24,8 @@ export interface LogSessionAnnotationsParams extends ClientFn {
|
|
|
24
24
|
* @param params - The parameters to log session annotations
|
|
25
25
|
* @returns The IDs of the created or updated annotations
|
|
26
26
|
*
|
|
27
|
+
* @requires Phoenix server >= 12.0.0
|
|
28
|
+
*
|
|
27
29
|
* @example
|
|
28
30
|
* ```ts
|
|
29
31
|
* const results = await logSessionAnnotations({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logSessionAnnotations.d.ts","sourceRoot":"","sources":["../../../src/sessions/logSessionAnnotations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logSessionAnnotations.d.ts","sourceRoot":"","sources":["../../../src/sessions/logSessionAnnotations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,QAAQ;IAC3D;;OAEG;IACH,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,kBAAkB,EAClB,IAAY,GACb,EAAE,2BAA2B,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAkBzD"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.logSessionAnnotations = logSessionAnnotations;
|
|
4
4
|
const client_1 = require("../client");
|
|
5
|
+
const serverRequirements_1 = require("../constants/serverRequirements");
|
|
6
|
+
const serverVersionUtils_1 = require("../utils/serverVersionUtils");
|
|
5
7
|
const types_1 = require("./types");
|
|
6
8
|
/**
|
|
7
9
|
* Log multiple session annotations in a single request.
|
|
@@ -12,6 +14,8 @@ const types_1 = require("./types");
|
|
|
12
14
|
* @param params - The parameters to log session annotations
|
|
13
15
|
* @returns The IDs of the created or updated annotations
|
|
14
16
|
*
|
|
17
|
+
* @requires Phoenix server >= 12.0.0
|
|
18
|
+
*
|
|
15
19
|
* @example
|
|
16
20
|
* ```ts
|
|
17
21
|
* const results = await logSessionAnnotations({
|
|
@@ -40,6 +44,7 @@ const types_1 = require("./types");
|
|
|
40
44
|
*/
|
|
41
45
|
async function logSessionAnnotations({ client: _client, sessionAnnotations, sync = false, }) {
|
|
42
46
|
const client = _client !== null && _client !== void 0 ? _client : (0, client_1.createClient)();
|
|
47
|
+
await (0, serverVersionUtils_1.ensureServerCapability)({ client, requirement: serverRequirements_1.ANNOTATE_SESSIONS });
|
|
43
48
|
const { data, error } = await client.POST("/v1/session_annotations", {
|
|
44
49
|
params: {
|
|
45
50
|
query: { sync },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logSessionAnnotations.js","sourceRoot":"","sources":["../../../src/sessions/logSessionAnnotations.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"logSessionAnnotations.js","sourceRoot":"","sources":["../../../src/sessions/logSessionAnnotations.ts"],"names":[],"mappings":";;AA4DA,sDAsBC;AAlFD,sCAAyC;AACzC,wEAAoE;AAEpE,oEAAqE;AAErE,mCAAkD;AAkBlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACI,KAAK,UAAU,qBAAqB,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,kBAAkB,EAClB,IAAI,GAAG,KAAK,GACgB;IAC5B,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAA,qBAAY,GAAE,CAAC;IACzC,MAAM,IAAA,2CAAsB,EAAC,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAiB,EAAE,CAAC,CAAC;IAEzE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;QACnE,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,+BAAuB,CAAC;SACtD;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -38,6 +38,8 @@ export type GetSpansResult = {
|
|
|
38
38
|
* @param params - The parameters to search for spans
|
|
39
39
|
* @returns A paginated response containing spans and optional next cursor
|
|
40
40
|
*
|
|
41
|
+
* @requires Phoenix server >= 13.9.0 when filtering by `traceIds`
|
|
42
|
+
*
|
|
41
43
|
* @example
|
|
42
44
|
* ```ts
|
|
43
45
|
* // Get recent spans from a project
|
|
@@ -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;AAG1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D;;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;CAC1B;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,wBAAsB,QAAQ,CAAC,EAC7B,MAAM,EAAE,OAAO,EACf,OAAO,EACP,MAAM,EACN,KAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAiD1C"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSpans = getSpans;
|
|
4
4
|
const client_1 = require("../client");
|
|
5
|
+
const serverRequirements_1 = require("../constants/serverRequirements");
|
|
5
6
|
const projects_1 = require("../types/projects");
|
|
7
|
+
const serverVersionUtils_1 = require("../utils/serverVersionUtils");
|
|
6
8
|
/**
|
|
7
9
|
* Get spans from a project with filtering criteria.
|
|
8
10
|
*
|
|
@@ -16,6 +18,8 @@ const projects_1 = require("../types/projects");
|
|
|
16
18
|
* @param params - The parameters to search for spans
|
|
17
19
|
* @returns A paginated response containing spans and optional next cursor
|
|
18
20
|
*
|
|
21
|
+
* @requires Phoenix server >= 13.9.0 when filtering by `traceIds`
|
|
22
|
+
*
|
|
19
23
|
* @example
|
|
20
24
|
* ```ts
|
|
21
25
|
* // Get recent spans from a project
|
|
@@ -65,6 +69,9 @@ const projects_1 = require("../types/projects");
|
|
|
65
69
|
async function getSpans({ client: _client, project, cursor, limit = 100, startTime, endTime, traceIds, parentId, }) {
|
|
66
70
|
var _a, _b;
|
|
67
71
|
const client = _client !== null && _client !== void 0 ? _client : (0, client_1.createClient)();
|
|
72
|
+
if (traceIds) {
|
|
73
|
+
await (0, serverVersionUtils_1.ensureServerCapability)({ client, requirement: serverRequirements_1.GET_SPANS_TRACE_IDS });
|
|
74
|
+
}
|
|
68
75
|
const projectIdentifier = (0, projects_1.resolveProjectIdentifier)(project);
|
|
69
76
|
const params = {
|
|
70
77
|
limit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSpans.js","sourceRoot":"","sources":["../../../src/spans/getSpans.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getSpans.js","sourceRoot":"","sources":["../../../src/spans/getSpans.ts"],"names":[],"mappings":";;AAgGA,4BA0DC;AAzJD,sCAAyC;AACzC,wEAAsE;AAGtE,gDAA6D;AAC7D,oEAAqE;AA6BrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACI,KAAK,UAAU,QAAQ,CAAC,EAC7B,MAAM,EAAE,OAAO,EACf,OAAO,EACP,MAAM,EACN,KAAK,GAAG,GAAG,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,GACO;;IACf,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAA,qBAAY,GAAE,CAAC;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAA,2CAAsB,EAAC,EAAE,MAAM,EAAE,WAAW,EAAE,wCAAmB,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,iBAAiB,GAAG,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;IAE5D,MAAM,MAAM,GAA+D;QACzE,KAAK;KACN,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,UAAU;YACf,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,QAAQ,GAAG,OAAO,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9E,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3D,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CACtC,yCAAyC,EACzC;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,kBAAkB,EAAE,iBAAiB;aACtC;YACD,KAAK,EAAE,MAAM;SACd;KACF,CACF,CAAC;IAEF,IAAI,KAAK;QAAE,MAAM,KAAK,CAAC;IACvB,OAAO;QACL,KAAK,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,EAAE;QACvB,UAAU,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,mCAAI,IAAI;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../../../src/types/semver.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../../../src/types/semver.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server capability requirements.
|
|
3
|
+
*
|
|
4
|
+
* A "capability" represents a specific server-side feature — such as an HTTP
|
|
5
|
+
* route or query parameter — that is gated behind a minimum Phoenix server
|
|
6
|
+
* version. Each {@link CapabilityRequirement} declares *what* the capability
|
|
7
|
+
* is and *which* server version first introduced it.
|
|
8
|
+
*
|
|
9
|
+
* The client checks these requirements at call time via
|
|
10
|
+
* {@link ensureServerCapability} so that callers get a clear, actionable error
|
|
11
|
+
* instead of an opaque 404 or 400 from an older server.
|
|
12
|
+
*/
|
|
13
|
+
import type { SemanticVersion } from "./semver";
|
|
14
|
+
export interface RouteRequirement {
|
|
15
|
+
kind: "route";
|
|
16
|
+
/** HTTP method (e.g. "GET", "POST", "DELETE"). */
|
|
17
|
+
method: string;
|
|
18
|
+
/** URL path template (e.g. "/v1/sessions/{session_id}"). */
|
|
19
|
+
path: string;
|
|
20
|
+
/** Minimum Phoenix server version as [major, minor, patch]. */
|
|
21
|
+
minServerVersion: SemanticVersion;
|
|
22
|
+
/** Optional human-readable description override. */
|
|
23
|
+
description?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ParameterRequirement {
|
|
26
|
+
kind: "parameter";
|
|
27
|
+
/** Name of the query/path/header parameter. */
|
|
28
|
+
parameterName: string;
|
|
29
|
+
/** Location of the parameter (e.g. "query", "path", "header"). */
|
|
30
|
+
parameterLocation: string;
|
|
31
|
+
/** The route this parameter belongs to (e.g. "GET /v1/projects/{id}/spans"). */
|
|
32
|
+
route: string;
|
|
33
|
+
/** Minimum Phoenix server version as [major, minor, patch]. */
|
|
34
|
+
minServerVersion: SemanticVersion;
|
|
35
|
+
/** Optional human-readable description override. */
|
|
36
|
+
description?: string;
|
|
37
|
+
}
|
|
38
|
+
export type CapabilityRequirement = RouteRequirement | ParameterRequirement;
|
|
39
|
+
//# sourceMappingURL=serverRequirements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverRequirements.d.ts","sourceRoot":"","sources":["../../../src/types/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,gBAAgB,EAAE,eAAe,CAAC;IAClC,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,gBAAgB,EAAE,eAAe,CAAC;IAClC,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Server capability requirements.
|
|
4
|
+
*
|
|
5
|
+
* A "capability" represents a specific server-side feature — such as an HTTP
|
|
6
|
+
* route or query parameter — that is gated behind a minimum Phoenix server
|
|
7
|
+
* version. Each {@link CapabilityRequirement} declares *what* the capability
|
|
8
|
+
* is and *which* server version first introduced it.
|
|
9
|
+
*
|
|
10
|
+
* The client checks these requirements at call time via
|
|
11
|
+
* {@link ensureServerCapability} so that callers get a clear, actionable error
|
|
12
|
+
* instead of an opaque 404 or 400 from an older server.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
//# sourceMappingURL=serverRequirements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverRequirements.js","sourceRoot":"","sources":["../../../src/types/serverRequirements.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatPromptMessages.d.ts","sourceRoot":"","sources":["../../../src/utils/formatPromptMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGhF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,cAAc,EAAE,iBAAiB,EAAE,EACnC,SAAS,GAAE,SAAc;;;;;;;
|
|
1
|
+
{"version":3,"file":"formatPromptMessages.d.ts","sourceRoot":"","sources":["../../../src/utils/formatPromptMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGhF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,cAAc,EAAE,iBAAiB,EAAE,EACnC,SAAS,GAAE,SAAc;;;;;;;mBA4DmsvG,uDAAsB;;;;;;;;;IAlBnvvG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPromptBySelector.d.ts","sourceRoot":"","sources":["../../../src/utils/getPromptBySelector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG;IACjD;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EAAE,OAAO,EACf,MAAM,GACP,EAAE,yBAAyB;;
|
|
1
|
+
{"version":3,"file":"getPromptBySelector.d.ts","sourceRoot":"","sources":["../../../src/utils/getPromptBySelector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG;IACjD;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EAAE,OAAO,EACf,MAAM,GACP,EAAE,yBAAyB;;oBAkDq1tF,uDAAsB;;cAAkI,uDAAsB,yBAAwB,uDAAsB;mBAAoD,uDAAsB;qBAAoD,uDAAsB;2BAAqG,uDAAsB,uCAAsC,uDAAsB,4CAA2C,uDAAsB,0CAAyC,uDAAsB,uCAAsC,uDAAsB,yCAAwC,uDAAsB,oCAAmC,uDAAsB,uCAAsC,uDAAsB,oCAAmC,uDAAsB,yCAAwC,uDAAsB,0CAAyC,uDAAsB,qCAAoC,uDAAsB,yCAAwC,uDAAsB,2CAA0C,uDAAsB;YAA2D,uDAAsB;sBAAwF,uDAAsB;;UADnzwF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight semantic version utilities.
|
|
3
|
+
*/
|
|
4
|
+
import type { SemanticVersion } from "../types/semver";
|
|
5
|
+
/**
|
|
6
|
+
* Parse a semver-like version string (e.g. "13.14.0") into a triple.
|
|
7
|
+
* Returns `null` if the string is not a valid version.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseSemanticVersion(raw: string): SemanticVersion | null;
|
|
10
|
+
/**
|
|
11
|
+
* Format a `SemanticVersion` as a `"major.minor.patch"` string.
|
|
12
|
+
*/
|
|
13
|
+
export declare function formatVersion(version: SemanticVersion): string;
|
|
14
|
+
/**
|
|
15
|
+
* Returns `true` if `version` is greater than or equal to `minVersion`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function satisfiesMinVersion({ version, minVersion, }: {
|
|
18
|
+
version: SemanticVersion;
|
|
19
|
+
minVersion: SemanticVersion;
|
|
20
|
+
}): boolean;
|
|
21
|
+
//# sourceMappingURL=semverUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semverUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/semverUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAiBxE;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAE9D;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,eAAe,CAAC;CAC7B,GAAG,OAAO,CAQV"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Lightweight semantic version utilities.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseSemanticVersion = parseSemanticVersion;
|
|
7
|
+
exports.formatVersion = formatVersion;
|
|
8
|
+
exports.satisfiesMinVersion = satisfiesMinVersion;
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
// Parsing
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
/**
|
|
13
|
+
* Parse a semver-like version string (e.g. "13.14.0") into a triple.
|
|
14
|
+
* Returns `null` if the string is not a valid version.
|
|
15
|
+
*/
|
|
16
|
+
function parseSemanticVersion(raw) {
|
|
17
|
+
const parts = raw.trim().split(".");
|
|
18
|
+
if (parts.length < 3)
|
|
19
|
+
return null;
|
|
20
|
+
const major = parseInt(parts[0], 10);
|
|
21
|
+
const minor = parseInt(parts[1], 10);
|
|
22
|
+
const patch = parseInt(parts[2], 10);
|
|
23
|
+
if (Number.isNaN(major) ||
|
|
24
|
+
Number.isNaN(minor) ||
|
|
25
|
+
Number.isNaN(patch) ||
|
|
26
|
+
major < 0 ||
|
|
27
|
+
minor < 0 ||
|
|
28
|
+
patch < 0) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return [major, minor, patch];
|
|
32
|
+
}
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Formatting
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
/**
|
|
37
|
+
* Format a `SemanticVersion` as a `"major.minor.patch"` string.
|
|
38
|
+
*/
|
|
39
|
+
function formatVersion(version) {
|
|
40
|
+
return `${version[0]}.${version[1]}.${version[2]}`;
|
|
41
|
+
}
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// Comparison
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
/**
|
|
46
|
+
* Returns `true` if `version` is greater than or equal to `minVersion`.
|
|
47
|
+
*/
|
|
48
|
+
function satisfiesMinVersion({ version, minVersion, }) {
|
|
49
|
+
const [serverVersionMajor, serverVersionMinor, serverVersionPatch] = version;
|
|
50
|
+
const [minVersionMajor, minVersionMinor, minVersionPatch] = minVersion;
|
|
51
|
+
if (serverVersionMajor !== minVersionMajor)
|
|
52
|
+
return serverVersionMajor > minVersionMajor;
|
|
53
|
+
if (serverVersionMinor !== minVersionMinor)
|
|
54
|
+
return serverVersionMinor > minVersionMinor;
|
|
55
|
+
return serverVersionPatch >= minVersionPatch;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=semverUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semverUtils.js","sourceRoot":"","sources":["../../../src/utils/semverUtils.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAYH,oDAiBC;AASD,sCAEC;AASD,kDAcC;AA3DD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IACE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC,EACT,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAwB;IACpD,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;GAEG;AACH,SAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,UAAU,GAIX;IACC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,OAAO,CAAC;IAC7E,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,GAAG,UAAU,CAAC;IACvE,IAAI,kBAAkB,KAAK,eAAe;QACxC,OAAO,kBAAkB,GAAG,eAAe,CAAC;IAC9C,IAAI,kBAAkB,KAAK,eAAe;QACxC,OAAO,kBAAkB,GAAG,eAAe,CAAC;IAC9C,OAAO,kBAAkB,IAAI,eAAe,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phoenix server version utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides guards for capabilities that require a minimum Phoenix **server**
|
|
5
|
+
* version. The server version is detected from the
|
|
6
|
+
* `x-phoenix-server-version` response header or by calling
|
|
7
|
+
* `GET /arize_phoenix_version`.
|
|
8
|
+
*
|
|
9
|
+
* ## Capability guard pattern
|
|
10
|
+
*
|
|
11
|
+
* Each server-side feature that was introduced after the initial release is
|
|
12
|
+
* represented by a {@link CapabilityRequirement} constant (defined in
|
|
13
|
+
* `constants/serverRequirements`). Before calling such a feature, the client
|
|
14
|
+
* passes the requirement to {@link ensureServerCapability}, which compares the
|
|
15
|
+
* connected server's version against the requirement's minimum version and
|
|
16
|
+
* throws a descriptive error when the server is too old. This lets callers
|
|
17
|
+
* see *exactly* which feature is unavailable and which version they need,
|
|
18
|
+
* rather than receiving an opaque HTTP 404 or 400 response.
|
|
19
|
+
*/
|
|
20
|
+
import type { PhoenixClient } from "../client";
|
|
21
|
+
import type { CapabilityRequirement } from "../types/serverRequirements";
|
|
22
|
+
/**
|
|
23
|
+
* Derive a human-readable label from a structured capability requirement.
|
|
24
|
+
* Uses `description` if provided, otherwise auto-derives from metadata.
|
|
25
|
+
*/
|
|
26
|
+
export declare function capabilityLabel(req: CapabilityRequirement): string;
|
|
27
|
+
/**
|
|
28
|
+
* Check the **Phoenix server version** before allowing a capability to proceed.
|
|
29
|
+
*
|
|
30
|
+
* Throws if the connected Phoenix server is older than the minimum version
|
|
31
|
+
* required by the given capability. Also throws if the server version cannot
|
|
32
|
+
* be determined — this typically means the server is too old to report its
|
|
33
|
+
* version at all and is therefore incompatible with this client.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* import { ensureServerCapability } from "../utils/serverVersionUtils";
|
|
38
|
+
* import { GET_SESSION } from "../constants/serverRequirements";
|
|
39
|
+
*
|
|
40
|
+
* await ensureServerCapability({ client, requirement: GET_SESSION });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function ensureServerCapability({ client, requirement, }: {
|
|
44
|
+
client: PhoenixClient;
|
|
45
|
+
requirement: CapabilityRequirement;
|
|
46
|
+
}): Promise<void>;
|
|
47
|
+
//# sourceMappingURL=serverVersionUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverVersionUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/serverVersionUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAOzE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAQlE;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,MAAM,EACN,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,qBAAqB,CAAC;CACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Phoenix server version utilities.
|
|
4
|
+
*
|
|
5
|
+
* Provides guards for capabilities that require a minimum Phoenix **server**
|
|
6
|
+
* version. The server version is detected from the
|
|
7
|
+
* `x-phoenix-server-version` response header or by calling
|
|
8
|
+
* `GET /arize_phoenix_version`.
|
|
9
|
+
*
|
|
10
|
+
* ## Capability guard pattern
|
|
11
|
+
*
|
|
12
|
+
* Each server-side feature that was introduced after the initial release is
|
|
13
|
+
* represented by a {@link CapabilityRequirement} constant (defined in
|
|
14
|
+
* `constants/serverRequirements`). Before calling such a feature, the client
|
|
15
|
+
* passes the requirement to {@link ensureServerCapability}, which compares the
|
|
16
|
+
* connected server's version against the requirement's minimum version and
|
|
17
|
+
* throws a descriptive error when the server is too old. This lets callers
|
|
18
|
+
* see *exactly* which feature is unavailable and which version they need,
|
|
19
|
+
* rather than receiving an opaque HTTP 404 or 400 response.
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.capabilityLabel = capabilityLabel;
|
|
23
|
+
exports.ensureServerCapability = ensureServerCapability;
|
|
24
|
+
const semverUtils_1 = require("./semverUtils");
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Capability label
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/**
|
|
29
|
+
* Derive a human-readable label from a structured capability requirement.
|
|
30
|
+
* Uses `description` if provided, otherwise auto-derives from metadata.
|
|
31
|
+
*/
|
|
32
|
+
function capabilityLabel(req) {
|
|
33
|
+
if (req.description)
|
|
34
|
+
return req.description;
|
|
35
|
+
switch (req.kind) {
|
|
36
|
+
case "route":
|
|
37
|
+
return `The ${req.method} ${req.path} route`;
|
|
38
|
+
case "parameter":
|
|
39
|
+
return `The '${req.parameterName}' ${req.parameterLocation} parameter on ${req.route}`;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// Guards
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
/**
|
|
46
|
+
* Check the **Phoenix server version** before allowing a capability to proceed.
|
|
47
|
+
*
|
|
48
|
+
* Throws if the connected Phoenix server is older than the minimum version
|
|
49
|
+
* required by the given capability. Also throws if the server version cannot
|
|
50
|
+
* be determined — this typically means the server is too old to report its
|
|
51
|
+
* version at all and is therefore incompatible with this client.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* import { ensureServerCapability } from "../utils/serverVersionUtils";
|
|
56
|
+
* import { GET_SESSION } from "../constants/serverRequirements";
|
|
57
|
+
*
|
|
58
|
+
* await ensureServerCapability({ client, requirement: GET_SESSION });
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
async function ensureServerCapability({ client, requirement, }) {
|
|
62
|
+
const version = await client.getServerVersion();
|
|
63
|
+
if (!(0, semverUtils_1.satisfiesMinVersion)({ version, minVersion: requirement.minServerVersion })) {
|
|
64
|
+
throw new Error(`${capabilityLabel(requirement)} requires Phoenix server >= ${(0, semverUtils_1.formatVersion)(requirement.minServerVersion)}, ` +
|
|
65
|
+
`but connected to server ${(0, semverUtils_1.formatVersion)(version)}. Please upgrade your Phoenix server.`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=serverVersionUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverVersionUtils.js","sourceRoot":"","sources":["../../../src/utils/serverVersionUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;AAcH,0CAQC;AAsBD,wDAgBC;AAxDD,+CAAmE;AAEnE,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,SAAgB,eAAe,CAAC,GAA0B;IACxD,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC,WAAW,CAAC;IAC5C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC;QAC/C,KAAK,WAAW;YACd,OAAO,QAAQ,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,iBAAiB,iBAAiB,GAAG,CAAC,KAAK,EAAE,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,sBAAsB,CAAC,EAC3C,MAAM,EACN,WAAW,GAIZ;IACC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAChD,IACE,CAAC,IAAA,iCAAmB,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAC3E,CAAC;QACD,MAAM,IAAI,KAAK,CACb,GAAG,eAAe,CAAC,WAAW,CAAC,+BAA+B,IAAA,2BAAa,EAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI;YAC3G,2BAA2B,IAAA,2BAAa,EAAC,OAAO,CAAC,uCAAuC,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC"}
|