@introspection-sdk/introspection-node 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/http.d.ts +6 -19
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +14 -139
- package/dist/http.js.map +1 -1
- package/dist/pagination.d.ts +7 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +7 -0
- package/dist/pagination.js.map +1 -0
- package/dist/resources/experiments.d.ts +6 -4
- package/dist/resources/experiments.d.ts.map +1 -1
- package/dist/resources/experiments.js +11 -15
- package/dist/resources/experiments.js.map +1 -1
- package/dist/resources/recipes.d.ts +6 -4
- package/dist/resources/recipes.d.ts.map +1 -1
- package/dist/resources/recipes.js +11 -15
- package/dist/resources/recipes.js.map +1 -1
- package/dist/resources/runtimes.d.ts +6 -4
- package/dist/resources/runtimes.d.ts.map +1 -1
- package/dist/resources/runtimes.js +11 -15
- package/dist/resources/runtimes.js.map +1 -1
- package/dist/runner-resources/conversations.d.ts +14 -10
- package/dist/runner-resources/conversations.d.ts.map +1 -1
- package/dist/runner-resources/conversations.js +24 -30
- package/dist/runner-resources/conversations.js.map +1 -1
- package/dist/runner-resources/files.d.ts +14 -11
- package/dist/runner-resources/files.d.ts.map +1 -1
- package/dist/runner-resources/files.js +31 -36
- package/dist/runner-resources/files.js.map +1 -1
- package/dist/runner-resources/tasks.d.ts +6 -4
- package/dist/runner-resources/tasks.d.ts.map +1 -1
- package/dist/runner-resources/tasks.js +11 -15
- package/dist/runner-resources/tasks.js.map +1 -1
- package/dist/streaming.d.ts +4 -5
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +4 -64
- package/dist/streaming.js.map +1 -1
- package/package.json +16 -15
- package/src/http.ts +15 -145
- package/src/pagination.ts +10 -0
- package/src/resources/experiments.ts +15 -14
- package/src/resources/recipes.ts +15 -14
- package/src/resources/runtimes.ts +15 -14
- package/src/runner-resources/conversations.ts +37 -33
- package/src/runner-resources/files.ts +52 -37
- package/src/runner-resources/tasks.ts +15 -14
- package/src/streaming.ts +4 -55
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @introspection-sdk/introspection-node@0.5.
|
|
2
|
+
> @introspection-sdk/introspection-node@0.5.2 build /home/runner/work/introspection-js-sdk/introspection-js-sdk/packages/introspection-node
|
|
3
3
|
> tsc
|
|
4
4
|
|
package/dist/http.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BaseHttpClient } from "@introspection-sdk/http";
|
|
1
2
|
export interface ResolvedApiConfig {
|
|
2
3
|
/**
|
|
3
4
|
* Base URL the client will prepend to every request path. For the
|
|
@@ -11,26 +12,12 @@ export interface ResolvedApiConfig {
|
|
|
11
12
|
fetch?: typeof fetch;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
-
* each DP-bound Runner.
|
|
16
|
-
*
|
|
15
|
+
* Bearer-token HTTP client used by both the CP-bound IntrospectionClient
|
|
16
|
+
* and each DP-bound Runner. The request/response machinery lives in the
|
|
17
|
+
* shared {@link BaseHttpClient}; this only pins the auth strategy —
|
|
18
|
+
* `Authorization: Bearer <token>` on every request, no cookie credentials.
|
|
17
19
|
*/
|
|
18
|
-
export declare class HttpClient {
|
|
19
|
-
private readonly cfg;
|
|
20
|
-
private readonly fetchImpl;
|
|
20
|
+
export declare class HttpClient extends BaseHttpClient {
|
|
21
21
|
constructor(cfg: ResolvedApiConfig);
|
|
22
|
-
private headers;
|
|
23
|
-
request<T>(opts: {
|
|
24
|
-
method: string;
|
|
25
|
-
path: string;
|
|
26
|
-
query?: Record<string, unknown>;
|
|
27
|
-
body?: unknown;
|
|
28
|
-
headers?: Record<string, string>;
|
|
29
|
-
expect?: "json" | "empty" | "bytes" | "stream";
|
|
30
|
-
}): Promise<T>;
|
|
31
|
-
stream(opts: {
|
|
32
|
-
path: string;
|
|
33
|
-
query?: Record<string, unknown>;
|
|
34
|
-
}): Promise<Response>;
|
|
35
22
|
}
|
|
36
23
|
//# sourceMappingURL=http.d.ts.map
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,cAAc;gBAChC,GAAG,EAAE,iBAAiB;CAUnC"}
|
package/dist/http.js
CHANGED
|
@@ -1,145 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
function joinUrl(base, path) {
|
|
3
|
-
const b = base.replace(/\/+$/, "");
|
|
4
|
-
const p = path.startsWith("/") ? path : `/${path}`;
|
|
5
|
-
return `${b}${p}`;
|
|
6
|
-
}
|
|
7
|
-
function buildQuery(params) {
|
|
8
|
-
if (!params)
|
|
9
|
-
return "";
|
|
10
|
-
const sp = new URLSearchParams();
|
|
11
|
-
for (const [k, v] of Object.entries(params)) {
|
|
12
|
-
if (v === undefined || v === null)
|
|
13
|
-
continue;
|
|
14
|
-
if (Array.isArray(v)) {
|
|
15
|
-
for (const item of v)
|
|
16
|
-
sp.append(k, String(item));
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
sp.set(k, String(v));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
const q = sp.toString();
|
|
23
|
-
return q ? `?${q}` : "";
|
|
24
|
-
}
|
|
1
|
+
import { BaseHttpClient } from "@introspection-sdk/http";
|
|
25
2
|
/**
|
|
26
|
-
*
|
|
27
|
-
* each DP-bound Runner.
|
|
28
|
-
*
|
|
3
|
+
* Bearer-token HTTP client used by both the CP-bound IntrospectionClient
|
|
4
|
+
* and each DP-bound Runner. The request/response machinery lives in the
|
|
5
|
+
* shared {@link BaseHttpClient}; this only pins the auth strategy —
|
|
6
|
+
* `Authorization: Bearer <token>` on every request, no cookie credentials.
|
|
29
7
|
*/
|
|
30
|
-
export class HttpClient {
|
|
31
|
-
cfg;
|
|
32
|
-
fetchImpl;
|
|
8
|
+
export class HttpClient extends BaseHttpClient {
|
|
33
9
|
constructor(cfg) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Authorization: `Bearer ${this.cfg.token}`,
|
|
43
|
-
...(this.cfg.additionalHeaders ?? {}),
|
|
44
|
-
...(extra ?? {}),
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
async request(opts) {
|
|
48
|
-
const url = joinUrl(this.cfg.apiUrl, opts.path) + buildQuery(opts.query);
|
|
49
|
-
let body;
|
|
50
|
-
const headers = this.headers(opts.headers);
|
|
51
|
-
if (opts.body instanceof FormData) {
|
|
52
|
-
body = opts.body;
|
|
53
|
-
// let fetch set the multipart boundary
|
|
54
|
-
}
|
|
55
|
-
else if (opts.body !== undefined) {
|
|
56
|
-
headers["Content-Type"] = headers["Content-Type"] ?? "application/json";
|
|
57
|
-
body = JSON.stringify(opts.body);
|
|
58
|
-
}
|
|
59
|
-
let res;
|
|
60
|
-
try {
|
|
61
|
-
res = await this.fetchImpl(url, {
|
|
62
|
-
method: opts.method,
|
|
63
|
-
headers,
|
|
64
|
-
body,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
catch (err) {
|
|
68
|
-
throw new NetworkError({
|
|
69
|
-
message: err instanceof Error ? err.message : "network request failed",
|
|
70
|
-
code: null,
|
|
71
|
-
requestId: null,
|
|
72
|
-
body: err,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
if (!res.ok)
|
|
76
|
-
throw await toApiError(res);
|
|
77
|
-
const expect = opts.expect ?? "json";
|
|
78
|
-
if (expect === "empty")
|
|
79
|
-
return undefined;
|
|
80
|
-
if (expect === "bytes")
|
|
81
|
-
return new Uint8Array(await res.arrayBuffer());
|
|
82
|
-
if (expect === "stream")
|
|
83
|
-
return res.body;
|
|
84
|
-
return (await res.json());
|
|
85
|
-
}
|
|
86
|
-
async stream(opts) {
|
|
87
|
-
const url = joinUrl(this.cfg.apiUrl, opts.path) + buildQuery(opts.query);
|
|
88
|
-
let res;
|
|
89
|
-
try {
|
|
90
|
-
res = await this.fetchImpl(url, {
|
|
91
|
-
method: "GET",
|
|
92
|
-
headers: this.headers({ Accept: "text/event-stream" }),
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
catch (err) {
|
|
96
|
-
throw new NetworkError({
|
|
97
|
-
message: err instanceof Error ? err.message : "network request failed",
|
|
98
|
-
code: null,
|
|
99
|
-
requestId: null,
|
|
100
|
-
body: err,
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
if (!res.ok)
|
|
104
|
-
throw await toApiError(res);
|
|
105
|
-
return res;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
async function toApiError(res) {
|
|
109
|
-
let body = undefined;
|
|
110
|
-
let message = `HTTP ${res.status}`;
|
|
111
|
-
let code = null;
|
|
112
|
-
const ct = res.headers.get("content-type") ?? "";
|
|
113
|
-
if (ct.includes("json")) {
|
|
114
|
-
body = await res.json().catch(() => undefined);
|
|
115
|
-
if (body && typeof body === "object") {
|
|
116
|
-
const obj = body;
|
|
117
|
-
if (typeof obj.detail === "string")
|
|
118
|
-
message = obj.detail;
|
|
119
|
-
if (typeof obj.code === "string")
|
|
120
|
-
code = obj.code;
|
|
121
|
-
if (typeof obj.message === "string" && message === `HTTP ${res.status}`) {
|
|
122
|
-
message = obj.message;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
body = await res.text().catch(() => undefined);
|
|
128
|
-
}
|
|
129
|
-
const retryAfterHeader = res.headers.get("retry-after");
|
|
130
|
-
let retryAfter = null;
|
|
131
|
-
if (retryAfterHeader) {
|
|
132
|
-
const n = Number(retryAfterHeader);
|
|
133
|
-
if (Number.isFinite(n))
|
|
134
|
-
retryAfter = n;
|
|
10
|
+
super({
|
|
11
|
+
apiUrl: cfg.apiUrl,
|
|
12
|
+
additionalHeaders: cfg.additionalHeaders,
|
|
13
|
+
fetch: cfg.fetch,
|
|
14
|
+
transport: {
|
|
15
|
+
authHeaders: () => ({ Authorization: `Bearer ${cfg.token}` }),
|
|
16
|
+
},
|
|
17
|
+
});
|
|
135
18
|
}
|
|
136
|
-
return apiErrorFromResponse({
|
|
137
|
-
status: res.status,
|
|
138
|
-
message,
|
|
139
|
-
code,
|
|
140
|
-
requestId: res.headers.get("x-request-id"),
|
|
141
|
-
body,
|
|
142
|
-
retryAfter,
|
|
143
|
-
});
|
|
144
19
|
}
|
|
145
20
|
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAezD;;;;;GAKG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC5C,YAAY,GAAsB;QAChC,KAAK,CAAC;YACJ,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE;gBACT,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;aAC9D;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor pagination now lives in the shared `@introspection-sdk/http`
|
|
3
|
+
* core so the browser and Node SDKs share one `Paginator`. Re-exported
|
|
4
|
+
* here to keep the existing `./pagination.js` import path stable.
|
|
5
|
+
*/
|
|
6
|
+
export { Paginator, cursorPaginate, type PageSource, } from "@introspection-sdk/http";
|
|
7
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,SAAS,EACT,cAAc,EACd,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor pagination now lives in the shared `@introspection-sdk/http`
|
|
3
|
+
* core so the browser and Node SDKs share one `Paginator`. Re-exported
|
|
4
|
+
* here to keep the existing `./pagination.js` import path stable.
|
|
5
|
+
*/
|
|
6
|
+
export { Paginator, cursorPaginate, } from "@introspection-sdk/http";
|
|
7
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,SAAS,EACT,cAAc,GAEf,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import type { Experiment, ExperimentEndParams, ExperimentCreate, ExperimentListParams, ExperimentUpdate, RunRequest, Uuid } from "@introspection-sdk/types";
|
|
2
2
|
import type { HttpClient } from "../http.js";
|
|
3
3
|
import type { IntrospectionClient } from "../client.js";
|
|
4
|
+
import { Paginator } from "../pagination.js";
|
|
4
5
|
import { Runner } from "../runner.js";
|
|
5
6
|
export declare class ExperimentsApi {
|
|
6
7
|
private readonly http;
|
|
7
8
|
private readonly client;
|
|
8
9
|
constructor(http: HttpClient, client: IntrospectionClient);
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* List experiments matching `params`. `await` the result for the first
|
|
12
|
+
* page, or `for await` it to stream every experiment across pages
|
|
13
|
+
* (fetched lazily — `limit` sets the page size, `next` the starting
|
|
14
|
+
* cursor; stop early to stop fetching).
|
|
13
15
|
*/
|
|
14
|
-
list(params: ExperimentListParams):
|
|
16
|
+
list(params: ExperimentListParams): Paginator<Experiment>;
|
|
15
17
|
get(id: Uuid): Promise<Experiment>;
|
|
16
18
|
create(input: ExperimentCreate): Promise<Experiment>;
|
|
17
19
|
update(id: Uuid, input: ExperimentUpdate): Promise<Experiment>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAEhB,UAAU,EAEV,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,MAAM,EAAqB,MAAM,cAAc,CAAC;AAmBzD,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,mBAAmB;IAG9C
|
|
1
|
+
{"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAEhB,UAAU,EAEV,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAqB,MAAM,cAAc,CAAC;AAmBzD,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,mBAAmB;IAG9C;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,UAAU,CAAC;IAYzD,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAOlC,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAQpD,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ9D,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/B,SAAS,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAQxC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAQpE,UAAU,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAQnC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAa5D;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBADF,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,IAAI;IAG3B,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAI5B,GAAG,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAIpD,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;CAG9B;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAErE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,GACf,cAAc,GAAG,uBAAuB,CAe1C"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cursorPaginate } from "../pagination.js";
|
|
1
2
|
import { Runner } from "../runner.js";
|
|
2
3
|
function toRunBody(opts) {
|
|
3
4
|
if (!opts)
|
|
@@ -17,22 +18,17 @@ export class ExperimentsApi {
|
|
|
17
18
|
this.client = client;
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
21
|
+
* List experiments matching `params`. `await` the result for the first
|
|
22
|
+
* page, or `for await` it to stream every experiment across pages
|
|
23
|
+
* (fetched lazily — `limit` sets the page size, `next` the starting
|
|
24
|
+
* cursor; stop early to stop fetching).
|
|
23
25
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
query: { ...params, next },
|
|
31
|
-
});
|
|
32
|
-
for (const r of page.records)
|
|
33
|
-
yield r;
|
|
34
|
-
next = page.next ?? undefined;
|
|
35
|
-
} while (next);
|
|
26
|
+
list(params) {
|
|
27
|
+
return cursorPaginate((next) => this.http.request({
|
|
28
|
+
method: "GET",
|
|
29
|
+
path: "/v1/experiments",
|
|
30
|
+
query: { ...params, next },
|
|
31
|
+
}), params.next);
|
|
36
32
|
}
|
|
37
33
|
get(id) {
|
|
38
34
|
return this.http.request({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAqB,MAAM,cAAc,CAAC;AAWzD,SAAS,SAAS,CAAC,IAAiB;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,QAAQ;QAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,OAAO,cAAc;IAEN;IACA;IAFnB,YACmB,IAAgB,EAChB,MAA2B;QAD3B,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ
|
|
1
|
+
{"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Recipe, RecipeCreate, RecipeListParams, RecipeUpdate, Uuid } from "@introspection-sdk/types";
|
|
2
2
|
import type { HttpClient } from "../http.js";
|
|
3
|
+
import { Paginator } from "../pagination.js";
|
|
3
4
|
/**
|
|
4
5
|
* Programmatic CRUD for `/v1/recipes` on the CP.
|
|
5
6
|
*
|
|
@@ -11,11 +12,12 @@ export declare class RecipesApi {
|
|
|
11
12
|
private readonly http;
|
|
12
13
|
constructor(http: HttpClient);
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* starting cursor
|
|
15
|
+
* List recipes matching `params`. `await` the result for the first
|
|
16
|
+
* page, or `for await` it to stream every recipe across pages (fetched
|
|
17
|
+
* lazily — `limit` sets the page size, `next` the starting cursor; stop
|
|
18
|
+
* early to stop fetching).
|
|
17
19
|
*/
|
|
18
|
-
list(params: RecipeListParams):
|
|
20
|
+
list(params: RecipeListParams): Paginator<Recipe>;
|
|
19
21
|
get(id: Uuid): Promise<Recipe>;
|
|
20
22
|
create(input: RecipeCreate): Promise<Recipe>;
|
|
21
23
|
update(id: Uuid, input: RecipeUpdate): Promise<Recipe>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../src/resources/recipes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../src/resources/recipes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;GAMG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC;IAYjD,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9B,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ5C,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAOhC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAE1D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cursorPaginate } from "../pagination.js";
|
|
1
2
|
/**
|
|
2
3
|
* Programmatic CRUD for `/v1/recipes` on the CP.
|
|
3
4
|
*
|
|
@@ -11,22 +12,17 @@ export class RecipesApi {
|
|
|
11
12
|
this.http = http;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* starting cursor
|
|
15
|
+
* List recipes matching `params`. `await` the result for the first
|
|
16
|
+
* page, or `for await` it to stream every recipe across pages (fetched
|
|
17
|
+
* lazily — `limit` sets the page size, `next` the starting cursor; stop
|
|
18
|
+
* early to stop fetching).
|
|
17
19
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
query: { ...params, next },
|
|
25
|
-
});
|
|
26
|
-
for (const r of page.records)
|
|
27
|
-
yield r;
|
|
28
|
-
next = page.next ?? undefined;
|
|
29
|
-
} while (next);
|
|
20
|
+
list(params) {
|
|
21
|
+
return cursorPaginate((next) => this.http.request({
|
|
22
|
+
method: "GET",
|
|
23
|
+
path: "/v1/recipes",
|
|
24
|
+
query: { ...params, next },
|
|
25
|
+
}), params.next);
|
|
30
26
|
}
|
|
31
27
|
get(id) {
|
|
32
28
|
return this.http.request({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/resources/recipes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/resources/recipes.ts"],"names":[],"mappings":"AASA,OAAO,EAAa,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD;;;;;OAKG;IACH,IAAI,CAAC,MAAwB;QAC3B,OAAO,cAAc,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoB;YACnC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAwC;SACjE,CAAC,EACJ,MAAM,CAAC,IAAI,CACZ,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,EAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAQ,EAAE,KAAmB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAC7C,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAQ;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAO;YAC7B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAC7C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Recipe, RunRequest, Runtime, RuntimeCreate, RuntimeListParams, RuntimeUpdate, Uuid } from "@introspection-sdk/types";
|
|
2
2
|
import type { HttpClient } from "../http.js";
|
|
3
3
|
import type { IntrospectionClient } from "../client.js";
|
|
4
|
+
import { Paginator } from "../pagination.js";
|
|
4
5
|
import { Runner } from "../runner.js";
|
|
5
6
|
export declare function isUuid(value: string): boolean;
|
|
6
7
|
export interface RuntimeRunRequestBody {
|
|
@@ -21,11 +22,12 @@ export declare class RuntimesApi {
|
|
|
21
22
|
private readonly client;
|
|
22
23
|
constructor(http: HttpClient, client: IntrospectionClient);
|
|
23
24
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* starting cursor
|
|
25
|
+
* List runtimes matching `params`. `await` the result for the first
|
|
26
|
+
* page, or `for await` it to stream every runtime across pages (fetched
|
|
27
|
+
* lazily — `limit` sets the page size, `next` the starting cursor; stop
|
|
28
|
+
* early to stop fetching).
|
|
27
29
|
*/
|
|
28
|
-
list(params: RuntimeListParams):
|
|
30
|
+
list(params: RuntimeListParams): Paginator<Runtime>;
|
|
29
31
|
get(id: Uuid, params: {
|
|
30
32
|
project_id?: Uuid;
|
|
31
33
|
}): Promise<Runtime>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,MAAM,EACN,UAAU,EACV,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,aAAa,EAEb,IAAI,EACL,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,MAAM,EAAqB,MAAM,cAAc,CAAC;AAKzD,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAWD;;;GAGG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,mBAAmB;IAG9C
|
|
1
|
+
{"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NotFoundError } from "@introspection-sdk/types";
|
|
2
|
+
import { cursorPaginate } from "../pagination.js";
|
|
2
3
|
import { Runner } from "../runner.js";
|
|
3
4
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
4
5
|
export function isUuid(value) {
|
|
@@ -28,22 +29,17 @@ export class RuntimesApi {
|
|
|
28
29
|
this.client = client;
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* starting cursor
|
|
32
|
+
* List runtimes matching `params`. `await` the result for the first
|
|
33
|
+
* page, or `for await` it to stream every runtime across pages (fetched
|
|
34
|
+
* lazily — `limit` sets the page size, `next` the starting cursor; stop
|
|
35
|
+
* early to stop fetching).
|
|
34
36
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
query: { ...params, next },
|
|
42
|
-
});
|
|
43
|
-
for (const r of page.records)
|
|
44
|
-
yield r;
|
|
45
|
-
next = page.next ?? undefined;
|
|
46
|
-
} while (next);
|
|
37
|
+
list(params) {
|
|
38
|
+
return cursorPaginate((next) => this.http.request({
|
|
39
|
+
method: "GET",
|
|
40
|
+
path: "/v1/runtimes",
|
|
41
|
+
query: { ...params, next },
|
|
42
|
+
}), params.next);
|
|
47
43
|
}
|
|
48
44
|
get(id, params) {
|
|
49
45
|
return this.http.request({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimes.js","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAqB,MAAM,cAAc,CAAC;AAEzD,MAAM,OAAO,GACX,iEAAiE,CAAC;AAEpE,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAYD,SAAS,SAAS,CAAC,IAAiB;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,QAAQ;QAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACvE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,WAAW;IAEH;IACA;IAFnB,YACmB,IAAgB,EAChB,MAA2B;QAD3B,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ
|
|
1
|
+
{"version":3,"file":"runtimes.js","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { ConversationItem, ConversationItemInclude, ConversationItemListParams, ConversationListParams, ConversationResponse, ConversationSummary } from "@introspection-sdk/types";
|
|
1
|
+
import type { ConversationItem, ConversationItemInclude, ConversationItemList, ConversationItemListParams, ConversationListParams, ConversationResponse, ConversationSummary } from "@introspection-sdk/types";
|
|
2
2
|
import { HttpClient } from "../http.js";
|
|
3
|
+
import { Paginator } from "../pagination.js";
|
|
3
4
|
/**
|
|
4
5
|
* Items of a conversation (`/v1/conversations/{id}/items`). Read-only.
|
|
5
6
|
*
|
|
@@ -11,15 +12,17 @@ export declare class ConversationItemsApi {
|
|
|
11
12
|
private readonly http;
|
|
12
13
|
constructor(http: HttpClient);
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* `
|
|
15
|
+
* List items of a conversation. `await` the result for the first page
|
|
16
|
+
* (an OpenAI-style {@link ConversationItemList} envelope), or
|
|
17
|
+
* `for await` it to stream every item across pages (fetched lazily —
|
|
18
|
+
* `limit` sets the page size, `after` the starting cursor; stop early to
|
|
19
|
+
* stop fetching). Pass `order: "asc"` to walk the transcript from the
|
|
20
|
+
* start.
|
|
18
21
|
*
|
|
19
22
|
* Items carry the turn-local delta in `input_messages` — only the
|
|
20
23
|
* messages new to that turn. Use `get()` for the full input history.
|
|
21
24
|
*/
|
|
22
|
-
list(conversationId: string, params?: ConversationItemListParams):
|
|
25
|
+
list(conversationId: string, params?: ConversationItemListParams): Paginator<ConversationItem, ConversationItemList>;
|
|
23
26
|
/**
|
|
24
27
|
* Fetch a single conversation item. Unlike the list route, the
|
|
25
28
|
* detail's `input_messages` is the FULL input history for that span.
|
|
@@ -43,11 +46,12 @@ export declare class ConversationsApi {
|
|
|
43
46
|
readonly items: ConversationItemsApi;
|
|
44
47
|
constructor(http: HttpClient);
|
|
45
48
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* `
|
|
49
|
+
* List conversation summaries matching `params`. `await` the result for
|
|
50
|
+
* the first page, or `for await` it to stream every summary across
|
|
51
|
+
* pages (fetched lazily — `limit` sets the page size, `next` the
|
|
52
|
+
* starting cursor; stop early to stop fetching).
|
|
49
53
|
*/
|
|
50
|
-
list(params?: ConversationListParams):
|
|
54
|
+
list(params?: ConversationListParams): Paginator<ConversationSummary>;
|
|
51
55
|
/**
|
|
52
56
|
* Responses-API-style retrieve: load the state of a conversation as of
|
|
53
57
|
* one item — the full input history, output, system instructions, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/runner-resources/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/runner-resources/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EAIpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAS7D;;;;;;GAMG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;;;;;;;OAUG;IACH,IAAI,CACF,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,0BAA0B,GAClC,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAiBpD;;;OAGG;IACH,GAAG,CACD,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAA;KAAE,GAC/C,OAAO,CAAC,gBAAgB,CAAC;CAO7B;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;gBAER,IAAI,EAAE,UAAU;IAI7C;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC,mBAAmB,CAAC;IAYrE;;;;;;;;;;;;;OAaG;IACG,QAAQ,CACZ,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA6BvC,mEAAmE;YACrD,gBAAgB;CAc/B"}
|