@introspection-sdk/introspection-node 0.4.10 → 0.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/.turbo/turbo-build.log +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/resources/experiments.d.ts +7 -3
- package/dist/resources/experiments.d.ts.map +1 -1
- package/dist/resources/experiments.js +11 -10
- package/dist/resources/experiments.js.map +1 -1
- package/dist/resources/recipes.d.ts +7 -4
- package/dist/resources/recipes.d.ts.map +1 -1
- package/dist/resources/recipes.js +11 -10
- package/dist/resources/recipes.js.map +1 -1
- package/dist/resources/runtimes.d.ts +7 -3
- package/dist/resources/runtimes.d.ts.map +1 -1
- package/dist/resources/runtimes.js +23 -19
- package/dist/resources/runtimes.js.map +1 -1
- package/dist/runner-resources/conversations.d.ts +69 -0
- package/dist/runner-resources/conversations.d.ts.map +1 -0
- package/dist/runner-resources/conversations.js +167 -0
- package/dist/runner-resources/conversations.js.map +1 -0
- package/dist/runner-resources/files.d.ts +12 -5
- package/dist/runner-resources/files.d.ts.map +1 -1
- package/dist/runner-resources/files.js +21 -18
- package/dist/runner-resources/files.js.map +1 -1
- package/dist/runner-resources/tasks.d.ts +7 -3
- package/dist/runner-resources/tasks.d.ts.map +1 -1
- package/dist/runner-resources/tasks.js +11 -9
- package/dist/runner-resources/tasks.js.map +1 -1
- package/dist/runner.d.ts +5 -2
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +6 -2
- package/dist/runner.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +23 -1
- package/src/resources/experiments.ts +11 -11
- package/src/resources/recipes.ts +11 -11
- package/src/resources/runtimes.ts +22 -20
- package/src/runner-resources/conversations.ts +198 -0
- package/src/runner-resources/files.ts +21 -20
- package/src/runner-resources/tasks.ts +11 -10
- package/src/runner.ts +6 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @introspection-sdk/introspection-node@0.
|
|
2
|
+
> @introspection-sdk/introspection-node@0.5.0 build /home/runner/work/introspection-js-sdk/introspection-js-sdk/packages/introspection-node
|
|
3
3
|
> tsc
|
|
4
4
|
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export { TasksApi, TaskRunsApi, RunHandle } from "./runner-resources/tasks.js";
|
|
|
14
14
|
export type { StartParams } from "./runner-resources/tasks.js";
|
|
15
15
|
export { FilesApi, FileVersionsApi } from "./runner-resources/files.js";
|
|
16
16
|
export type { FileUploadBody } from "./runner-resources/files.js";
|
|
17
|
+
export { ConversationsApi, ConversationItemsApi, } from "./runner-resources/conversations.js";
|
|
17
18
|
export { HttpClient } from "./http.js";
|
|
18
19
|
export type { ResolvedApiConfig } from "./http.js";
|
|
19
20
|
export { parseSse } from "./streaming.js";
|
|
@@ -24,9 +25,10 @@ export type { RuntimeHandleFactory } from "./resources/runtimes.js";
|
|
|
24
25
|
export { ExperimentsApi, ExperimentHandle, attachExperiments, } from "./resources/experiments.js";
|
|
25
26
|
export type { ExperimentHandleFactory } from "./resources/experiments.js";
|
|
26
27
|
export { RecipesApi, attachRecipes } from "./resources/recipes.js";
|
|
27
|
-
export type { Paginated, ListParams, Task, TaskCreateParams, TaskUpdateParams, TaskListParams, TaskMode, TaskStatus, TaskPrompt, TaskRun, TaskRunCreateParams, TaskRunResponse, TaskCreateResponse, TaskCancelResponse, AgentInfo, File, FileType, FileListParams, FileUpdateParams, FileCreateTextParams, SseEvent, Runtime, RuntimeCreate, RuntimeUpdate, RuntimeListParams, Experiment, ExperimentCreate, ExperimentUpdate, ExperimentListParams, ExperimentStatus, ExperimentEndParams, Arm, Recipe, RecipeCreate, RecipeUpdate, RecipeListParams, RunnerSpec, RunnerDeployment, RunnerContext, RunnerRecipeSummary, RunnerIdentity, RunRequest, RunCaller, RunCallerLibrary, RunCallerPage, RunIdentityInput, } from "@introspection-sdk/types";
|
|
28
|
+
export type { Paginated, ListParams, Task, TaskCreateParams, TaskUpdateParams, TaskListParams, TaskMode, TaskStatus, TaskPrompt, TaskRun, TaskRunCreateParams, TaskRunResponse, TaskCreateResponse, TaskCancelResponse, AgentInfo, File, FileType, FileListParams, FileUpdateParams, FileCreateTextParams, SseEvent, Runtime, RuntimeCreate, RuntimeUpdate, RuntimeListParams, Experiment, ExperimentCreate, ExperimentUpdate, ExperimentListParams, ExperimentStatus, ExperimentEndParams, Arm, Recipe, RecipeCreate, RecipeUpdate, RecipeListParams, RunnerSpec, RunnerDeployment, RunnerContext, RunnerRecipeSummary, RunnerIdentity, RunRequest, RunCaller, RunCallerLibrary, RunCallerPage, RunIdentityInput, ConversationSummary, ConversationItem, ConversationItemList, ConversationItemInclude, ConversationItemNodeType, ConversationListParams, ConversationItemListParams, ConversationResponse, ConversationsMethod, IntrospectionMetadata, SpanEvent, SpanKind, SpanStatus, } from "@introspection-sdk/types";
|
|
29
|
+
export { ConversationsMethods } from "@introspection-sdk/types";
|
|
28
30
|
export { IntrospectionAPIError, AuthenticationError, InsufficientScopeError, RunnerExpiredError, NotFoundError, ConflictError, ValidationError, RateLimitError, SandboxUnavailableError, StreamError, NetworkError, apiErrorFromResponse, } from "@introspection-sdk/types";
|
|
29
|
-
export type { GenAiAttributes, InputMessage, OutputMessage, SystemInstruction, ToolDefinition, TextPart, ToolCallRequestPart, ToolCallResponsePart, MessagePart, } from "@introspection-sdk/types";
|
|
31
|
+
export type { GenAiAttributes, InputMessage, OutputMessage, SystemInstruction, ToolDefinition, TextPart, ToolCallRequestPart, ToolCallResponsePart, CompactionPart, MediaUrlPart, BinaryDataPart, MessagePart, } from "@introspection-sdk/types";
|
|
30
32
|
export { toAttributes } from "@introspection-sdk/types";
|
|
31
33
|
export { convertResponsesInputsToSemconv, convertResponsesOutputsToSemconv, convertResponsesToolsToSemconv, convertResponsesInstructionsToSemconv, } from "./converters/openai.js";
|
|
32
34
|
export type { ResponseInputItem, ResponseOutputItem, ResponseTool, ResponseUsage, Response as OpenAIResponse, } from "./converters/openai.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,YAAY,EACV,eAAe,EACf,0BAA0B,EAC1B,eAAe,EACf,UAAU,GACX,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,9 +10,11 @@
|
|
|
10
10
|
*/
|
|
11
11
|
// REST client.
|
|
12
12
|
export { IntrospectionClient } from "./client.js";
|
|
13
|
-
// Runner-bound REST namespaces (runner.tasks, runner.files
|
|
13
|
+
// Runner-bound REST namespaces (runner.tasks, runner.files,
|
|
14
|
+
// runner.conversations) + HTTP/SSE.
|
|
14
15
|
export { TasksApi, TaskRunsApi, RunHandle } from "./runner-resources/tasks.js";
|
|
15
16
|
export { FilesApi, FileVersionsApi } from "./runner-resources/files.js";
|
|
17
|
+
export { ConversationsApi, ConversationItemsApi, } from "./runner-resources/conversations.js";
|
|
16
18
|
export { HttpClient } from "./http.js";
|
|
17
19
|
export { parseSse } from "./streaming.js";
|
|
18
20
|
// Runner + CP resources.
|
|
@@ -20,6 +22,7 @@ export { Runner } from "./runner.js";
|
|
|
20
22
|
export { RuntimesApi, RuntimeHandle, attachRuntimes, isUuid, } from "./resources/runtimes.js";
|
|
21
23
|
export { ExperimentsApi, ExperimentHandle, attachExperiments, } from "./resources/experiments.js";
|
|
22
24
|
export { RecipesApi, attachRecipes } from "./resources/recipes.js";
|
|
25
|
+
export { ConversationsMethods } from "@introspection-sdk/types";
|
|
23
26
|
export { IntrospectionAPIError, AuthenticationError, InsufficientScopeError, RunnerExpiredError, NotFoundError, ConflictError, ValidationError, RateLimitError, SandboxUnavailableError, StreamError, NetworkError, apiErrorFromResponse, } from "@introspection-sdk/types";
|
|
24
27
|
export { toAttributes } from "@introspection-sdk/types";
|
|
25
28
|
// OpenAI converter exports (pure functions, no OTel SDK imports).
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAe;AACf,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUlD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAe;AACf,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUlD,4DAA4D;AAC5D,oCAAoC;AACpC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,yBAAyB;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,MAAM,GACP,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAgEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAiBlC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,kEAAkE;AAClE,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,wBAAwB,CAAC;AAShC,2DAA2D;AAC3D,OAAO,EACL,oCAAoC,EACpC,uCAAuC,EACvC,uCAAuC,EACvC,mCAAmC,GACpC,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Experiment, ExperimentEndParams, ExperimentCreate, ExperimentListParams, ExperimentUpdate,
|
|
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
4
|
import { Runner } from "../runner.js";
|
|
@@ -6,8 +6,12 @@ export declare class ExperimentsApi {
|
|
|
6
6
|
private readonly http;
|
|
7
7
|
private readonly client;
|
|
8
8
|
constructor(http: HttpClient, client: IntrospectionClient);
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Iterate experiments matching `params`. Pages are fetched lazily as
|
|
11
|
+
* the iterator is consumed (`limit` sets the page size, `next` the
|
|
12
|
+
* starting cursor); stop early to stop fetching.
|
|
13
|
+
*/
|
|
14
|
+
list(params: ExperimentListParams): AsyncIterable<Experiment>;
|
|
11
15
|
get(id: Uuid): Promise<Experiment>;
|
|
12
16
|
create(input: ExperimentCreate): Promise<Experiment>;
|
|
13
17
|
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,
|
|
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;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,UAAU,CAAC;IAapE,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"}
|
|
@@ -16,17 +16,19 @@ export class ExperimentsApi {
|
|
|
16
16
|
this.http = http;
|
|
17
17
|
this.client = client;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
async *listAll(params) {
|
|
19
|
+
/**
|
|
20
|
+
* Iterate experiments matching `params`. Pages are fetched lazily as
|
|
21
|
+
* the iterator is consumed (`limit` sets the page size, `next` the
|
|
22
|
+
* starting cursor); stop early to stop fetching.
|
|
23
|
+
*/
|
|
24
|
+
async *list(params) {
|
|
27
25
|
let next = params.next;
|
|
28
26
|
do {
|
|
29
|
-
const page = await this.
|
|
27
|
+
const page = await this.http.request({
|
|
28
|
+
method: "GET",
|
|
29
|
+
path: "/v1/experiments",
|
|
30
|
+
query: { ...params, next },
|
|
31
|
+
});
|
|
30
32
|
for (const r of page.records)
|
|
31
33
|
yield r;
|
|
32
34
|
next = page.next ?? undefined;
|
|
@@ -119,7 +121,6 @@ export function attachExperiments(client, http) {
|
|
|
119
121
|
const factory = (id) => new ExperimentHandle(api, id);
|
|
120
122
|
const hybrid = factory;
|
|
121
123
|
hybrid.list = api.list.bind(api);
|
|
122
|
-
hybrid.listAll = api.listAll.bind(api);
|
|
123
124
|
hybrid.get = api.get.bind(api);
|
|
124
125
|
hybrid.create = api.create.bind(api);
|
|
125
126
|
hybrid.update = api.update.bind(api);
|
|
@@ -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,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Recipe, RecipeCreate, RecipeListParams, RecipeUpdate, Uuid } from "@introspection-sdk/types";
|
|
2
2
|
import type { HttpClient } from "../http.js";
|
|
3
3
|
/**
|
|
4
4
|
* Programmatic CRUD for `/v1/recipes` on the CP.
|
|
@@ -10,9 +10,12 @@ import type { HttpClient } from "../http.js";
|
|
|
10
10
|
export declare class RecipesApi {
|
|
11
11
|
private readonly http;
|
|
12
12
|
constructor(http: HttpClient);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Iterate recipes matching `params`. Pages are fetched lazily as the
|
|
15
|
+
* iterator is consumed (`limit` sets the page size, `next` the
|
|
16
|
+
* starting cursor); stop early to stop fetching.
|
|
17
|
+
*/
|
|
18
|
+
list(params: RecipeListParams): AsyncIterable<Recipe>;
|
|
16
19
|
get(id: Uuid): Promise<Recipe>;
|
|
17
20
|
create(input: RecipeCreate): Promise<Recipe>;
|
|
18
21
|
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,
|
|
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;AAE7C;;;;;;GAMG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;IAa5D,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"}
|
|
@@ -10,18 +10,19 @@ export class RecipesApi {
|
|
|
10
10
|
constructor(http) {
|
|
11
11
|
this.http = http;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
/** Async-iterate every page that matches `params`. */
|
|
21
|
-
async *listAll(params) {
|
|
13
|
+
/**
|
|
14
|
+
* Iterate recipes matching `params`. Pages are fetched lazily as the
|
|
15
|
+
* iterator is consumed (`limit` sets the page size, `next` the
|
|
16
|
+
* starting cursor); stop early to stop fetching.
|
|
17
|
+
*/
|
|
18
|
+
async *list(params) {
|
|
22
19
|
let next = params.next;
|
|
23
20
|
do {
|
|
24
|
-
const page = await this.
|
|
21
|
+
const page = await this.http.request({
|
|
22
|
+
method: "GET",
|
|
23
|
+
path: "/v1/recipes",
|
|
24
|
+
query: { ...params, next },
|
|
25
|
+
});
|
|
25
26
|
for (const r of page.records)
|
|
26
27
|
yield r;
|
|
27
28
|
next = page.next ?? undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/resources/recipes.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD
|
|
1
|
+
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/resources/recipes.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD;;;;OAIG;IACH,KAAK,CAAC,CAAC,IAAI,CAAC,MAAwB;QAClC,IAAI,IAAI,GAAuB,MAAM,CAAC,IAAI,CAAC;QAC3C,GAAG,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoB;gBACtD,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAwC;aACjE,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAChC,CAAC,QAAQ,IAAI,EAAE;IACjB,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,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
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
4
|
import { Runner } from "../runner.js";
|
|
@@ -20,8 +20,12 @@ export declare class RuntimesApi {
|
|
|
20
20
|
private readonly http;
|
|
21
21
|
private readonly client;
|
|
22
22
|
constructor(http: HttpClient, client: IntrospectionClient);
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Iterate runtimes matching `params`. Pages are fetched lazily as the
|
|
25
|
+
* iterator is consumed (`limit` sets the page size, `next` the
|
|
26
|
+
* starting cursor); stop early to stop fetching.
|
|
27
|
+
*/
|
|
28
|
+
list(params: RuntimeListParams): AsyncIterable<Runtime>;
|
|
25
29
|
get(id: Uuid, params: {
|
|
26
30
|
project_id?: Uuid;
|
|
27
31
|
}): Promise<Runtime>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,17 +27,19 @@ export class RuntimesApi {
|
|
|
27
27
|
this.http = http;
|
|
28
28
|
this.client = client;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
async *listAll(params) {
|
|
30
|
+
/**
|
|
31
|
+
* Iterate runtimes matching `params`. Pages are fetched lazily as the
|
|
32
|
+
* iterator is consumed (`limit` sets the page size, `next` the
|
|
33
|
+
* starting cursor); stop early to stop fetching.
|
|
34
|
+
*/
|
|
35
|
+
async *list(params) {
|
|
38
36
|
let next = params.next;
|
|
39
37
|
do {
|
|
40
|
-
const page = await this.
|
|
38
|
+
const page = await this.http.request({
|
|
39
|
+
method: "GET",
|
|
40
|
+
path: "/v1/runtimes",
|
|
41
|
+
query: { ...params, next },
|
|
42
|
+
});
|
|
41
43
|
for (const r of page.records)
|
|
42
44
|
yield r;
|
|
43
45
|
next = page.next ?? undefined;
|
|
@@ -73,16 +75,19 @@ export class RuntimesApi {
|
|
|
73
75
|
}
|
|
74
76
|
/** Resolve a name to a runtime by querying `/v1/runtimes?name=…`. */
|
|
75
77
|
async resolveByName(name, projectId) {
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
});
|
|
78
|
+
for await (const r of this.list({
|
|
79
|
+
project_id: projectId,
|
|
80
|
+
name,
|
|
81
|
+
limit: 2,
|
|
82
|
+
})) {
|
|
83
|
+
if (r.name === name)
|
|
84
|
+
return r;
|
|
84
85
|
}
|
|
85
|
-
|
|
86
|
+
throw new NotFoundError({
|
|
87
|
+
message: `Runtime '${name}' not found${projectId ? ` in project ${projectId}` : ""}`,
|
|
88
|
+
status: 404,
|
|
89
|
+
code: "not_found",
|
|
90
|
+
});
|
|
86
91
|
}
|
|
87
92
|
/** POST `/v1/runtimes/{id}/run` and wrap the result in a `Runner`. */
|
|
88
93
|
async runById(id, opts) {
|
|
@@ -166,7 +171,6 @@ export function attachRuntimes(client, http) {
|
|
|
166
171
|
// the methods can be invoked off the proxy without losing `this`.
|
|
167
172
|
const hybrid = factory;
|
|
168
173
|
hybrid.list = api.list.bind(api);
|
|
169
|
-
hybrid.listAll = api.listAll.bind(api);
|
|
170
174
|
hybrid.get = api.get.bind(api);
|
|
171
175
|
hybrid.create = api.create.bind(api);
|
|
172
176
|
hybrid.update = api.update.bind(api);
|
|
@@ -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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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { ConversationItem, ConversationItemInclude, ConversationItemListParams, ConversationListParams, ConversationResponse, ConversationSummary } from "@introspection-sdk/types";
|
|
2
|
+
import { HttpClient } from "../http.js";
|
|
3
|
+
/**
|
|
4
|
+
* Items of a conversation (`/v1/conversations/{id}/items`). Read-only.
|
|
5
|
+
*
|
|
6
|
+
* Paging is OpenAI-style underneath: the envelope has NO `next` token —
|
|
7
|
+
* `list()` drives `after` = the previous page's `last_id` while
|
|
8
|
+
* `has_more` is true.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ConversationItemsApi {
|
|
11
|
+
private readonly http;
|
|
12
|
+
constructor(http: HttpClient);
|
|
13
|
+
/**
|
|
14
|
+
* Iterate items of a conversation. Pages are fetched lazily as the
|
|
15
|
+
* iterator is consumed (`limit` sets the page size, `after` the
|
|
16
|
+
* starting cursor); stop early to stop fetching. Pass
|
|
17
|
+
* `order: "asc"` to walk the transcript from the start.
|
|
18
|
+
*
|
|
19
|
+
* Items carry the turn-local delta in `input_messages` — only the
|
|
20
|
+
* messages new to that turn. Use `get()` for the full input history.
|
|
21
|
+
*/
|
|
22
|
+
list(conversationId: string, params?: ConversationItemListParams): AsyncIterable<ConversationItem>;
|
|
23
|
+
/**
|
|
24
|
+
* Fetch a single conversation item. Unlike the list route, the
|
|
25
|
+
* detail's `input_messages` is the FULL input history for that span.
|
|
26
|
+
*/
|
|
27
|
+
get(conversationId: string, itemId: string, params?: {
|
|
28
|
+
include?: ConversationItemInclude[];
|
|
29
|
+
}): Promise<ConversationItem>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read-only Conversations API (`/v1/conversations`).
|
|
33
|
+
*
|
|
34
|
+
* Both `list()` and `items.list()` are auto-paging async generators,
|
|
35
|
+
* but they drive different wire protocols underneath: `list()` walks
|
|
36
|
+
* the standard Introspection cursor envelope's opaque `next` token,
|
|
37
|
+
* while `items.list()` walks an OpenAI-style envelope via `after` =
|
|
38
|
+
* the previous page's `last_id` while `has_more` is true.
|
|
39
|
+
*/
|
|
40
|
+
export declare class ConversationsApi {
|
|
41
|
+
private readonly http;
|
|
42
|
+
/** Items of a conversation — `conversations.items.list(...)` etc. */
|
|
43
|
+
readonly items: ConversationItemsApi;
|
|
44
|
+
constructor(http: HttpClient);
|
|
45
|
+
/**
|
|
46
|
+
* Iterate conversation summaries matching `params`. Pages are fetched
|
|
47
|
+
* lazily as the iterator is consumed (`limit` sets the page size,
|
|
48
|
+
* `next` the starting cursor); stop early to stop fetching.
|
|
49
|
+
*/
|
|
50
|
+
list(params?: ConversationListParams): AsyncIterable<ConversationSummary>;
|
|
51
|
+
/**
|
|
52
|
+
* Responses-API-style retrieve: load the state of a conversation as of
|
|
53
|
+
* one item — the full input history, output, system instructions, and
|
|
54
|
+
* tool definitions of that turn.
|
|
55
|
+
*
|
|
56
|
+
* When `itemId` is omitted, the latest LLM turn is used: the first
|
|
57
|
+
* item (in descending order) whose `node_type` is `"assistant"` or
|
|
58
|
+
* whose `operation_name` is `"chat"`, falling back to the first item
|
|
59
|
+
* with a non-null `output_message`. Returns `null` when the
|
|
60
|
+
* conversation has no items.
|
|
61
|
+
*
|
|
62
|
+
* For the full per-turn transcript instead, iterate
|
|
63
|
+
* `items.list(conversationId, { order: "asc" })`.
|
|
64
|
+
*/
|
|
65
|
+
retrieve(conversationId: string, itemId?: string): Promise<ConversationResponse | null>;
|
|
66
|
+
/** Scan items in descending order for the most recent LLM turn. */
|
|
67
|
+
private findLatestTurnId;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=conversations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/runner-resources/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EAEvB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EAIpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AASxC;;;;;;GAMG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;;;;;OAQG;IACI,IAAI,CACT,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,0BAA0B,GAClC,aAAa,CAAC,gBAAgB,CAAC;IAclC;;;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;;;;OAIG;IACI,IAAI,CACT,MAAM,CAAC,EAAE,sBAAsB,GAC9B,aAAa,CAAC,mBAAmB,CAAC;IAarC;;;;;;;;;;;;;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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/** Includes requested when building a {@link ConversationResponse}. */
|
|
2
|
+
const RESPONSE_INCLUDES = [
|
|
3
|
+
"gen_ai.input.messages",
|
|
4
|
+
"gen_ai.system_instructions",
|
|
5
|
+
"gen_ai.tool.definitions",
|
|
6
|
+
];
|
|
7
|
+
/**
|
|
8
|
+
* Items of a conversation (`/v1/conversations/{id}/items`). Read-only.
|
|
9
|
+
*
|
|
10
|
+
* Paging is OpenAI-style underneath: the envelope has NO `next` token —
|
|
11
|
+
* `list()` drives `after` = the previous page's `last_id` while
|
|
12
|
+
* `has_more` is true.
|
|
13
|
+
*/
|
|
14
|
+
export class ConversationItemsApi {
|
|
15
|
+
http;
|
|
16
|
+
constructor(http) {
|
|
17
|
+
this.http = http;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Iterate items of a conversation. Pages are fetched lazily as the
|
|
21
|
+
* iterator is consumed (`limit` sets the page size, `after` the
|
|
22
|
+
* starting cursor); stop early to stop fetching. Pass
|
|
23
|
+
* `order: "asc"` to walk the transcript from the start.
|
|
24
|
+
*
|
|
25
|
+
* Items carry the turn-local delta in `input_messages` — only the
|
|
26
|
+
* messages new to that turn. Use `get()` for the full input history.
|
|
27
|
+
*/
|
|
28
|
+
async *list(conversationId, params) {
|
|
29
|
+
let after = params?.after;
|
|
30
|
+
for (;;) {
|
|
31
|
+
const page = await this.http.request({
|
|
32
|
+
method: "GET",
|
|
33
|
+
path: `/v1/conversations/${encodeURIComponent(conversationId)}/items`,
|
|
34
|
+
query: { ...params, after },
|
|
35
|
+
});
|
|
36
|
+
for (const item of page.data)
|
|
37
|
+
yield item;
|
|
38
|
+
if (!page.has_more || page.last_id === null)
|
|
39
|
+
return;
|
|
40
|
+
after = page.last_id;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Fetch a single conversation item. Unlike the list route, the
|
|
45
|
+
* detail's `input_messages` is the FULL input history for that span.
|
|
46
|
+
*/
|
|
47
|
+
get(conversationId, itemId, params) {
|
|
48
|
+
return this.http.request({
|
|
49
|
+
method: "GET",
|
|
50
|
+
path: `/v1/conversations/${encodeURIComponent(conversationId)}/items/${encodeURIComponent(itemId)}`,
|
|
51
|
+
query: params,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Read-only Conversations API (`/v1/conversations`).
|
|
57
|
+
*
|
|
58
|
+
* Both `list()` and `items.list()` are auto-paging async generators,
|
|
59
|
+
* but they drive different wire protocols underneath: `list()` walks
|
|
60
|
+
* the standard Introspection cursor envelope's opaque `next` token,
|
|
61
|
+
* while `items.list()` walks an OpenAI-style envelope via `after` =
|
|
62
|
+
* the previous page's `last_id` while `has_more` is true.
|
|
63
|
+
*/
|
|
64
|
+
export class ConversationsApi {
|
|
65
|
+
http;
|
|
66
|
+
/** Items of a conversation — `conversations.items.list(...)` etc. */
|
|
67
|
+
items;
|
|
68
|
+
constructor(http) {
|
|
69
|
+
this.http = http;
|
|
70
|
+
this.items = new ConversationItemsApi(http);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Iterate conversation summaries matching `params`. Pages are fetched
|
|
74
|
+
* lazily as the iterator is consumed (`limit` sets the page size,
|
|
75
|
+
* `next` the starting cursor); stop early to stop fetching.
|
|
76
|
+
*/
|
|
77
|
+
async *list(params) {
|
|
78
|
+
let next = params?.next;
|
|
79
|
+
do {
|
|
80
|
+
const page = await this.http.request({
|
|
81
|
+
method: "GET",
|
|
82
|
+
path: "/v1/conversations",
|
|
83
|
+
query: { ...params, next },
|
|
84
|
+
});
|
|
85
|
+
for (const c of page.records)
|
|
86
|
+
yield c;
|
|
87
|
+
next = page.next ?? undefined;
|
|
88
|
+
} while (next);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Responses-API-style retrieve: load the state of a conversation as of
|
|
92
|
+
* one item — the full input history, output, system instructions, and
|
|
93
|
+
* tool definitions of that turn.
|
|
94
|
+
*
|
|
95
|
+
* When `itemId` is omitted, the latest LLM turn is used: the first
|
|
96
|
+
* item (in descending order) whose `node_type` is `"assistant"` or
|
|
97
|
+
* whose `operation_name` is `"chat"`, falling back to the first item
|
|
98
|
+
* with a non-null `output_message`. Returns `null` when the
|
|
99
|
+
* conversation has no items.
|
|
100
|
+
*
|
|
101
|
+
* For the full per-turn transcript instead, iterate
|
|
102
|
+
* `items.list(conversationId, { order: "asc" })`.
|
|
103
|
+
*/
|
|
104
|
+
async retrieve(conversationId, itemId) {
|
|
105
|
+
const targetId = itemId ?? (await this.findLatestTurnId(conversationId));
|
|
106
|
+
if (targetId === null)
|
|
107
|
+
return null;
|
|
108
|
+
const detail = await this.items.get(conversationId, targetId, {
|
|
109
|
+
include: RESPONSE_INCLUDES,
|
|
110
|
+
});
|
|
111
|
+
const outputMessages = detail.gen_ai_output_messages ??
|
|
112
|
+
(detail.output_message ? [detail.output_message] : []);
|
|
113
|
+
return {
|
|
114
|
+
conversation_id: conversationId,
|
|
115
|
+
response_id: detail.response_id ?? null,
|
|
116
|
+
item_id: detail.id,
|
|
117
|
+
created_at: detail.created_at,
|
|
118
|
+
model: detail.model_name ??
|
|
119
|
+
detail.response_model ??
|
|
120
|
+
detail.request_model ??
|
|
121
|
+
null,
|
|
122
|
+
provider_name: detail.provider_name ?? null,
|
|
123
|
+
// The single-item route returns the FULL input history here.
|
|
124
|
+
input_messages: normalizeMessages(detail.input_messages),
|
|
125
|
+
output_messages: normalizeMessages(outputMessages),
|
|
126
|
+
system_instructions: detail.system_instructions ?? null,
|
|
127
|
+
tool_definitions: detail.tool_definitions ?? null,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/** Scan items in descending order for the most recent LLM turn. */
|
|
131
|
+
async findLatestTurnId(conversationId) {
|
|
132
|
+
let fallback = null;
|
|
133
|
+
for await (const item of this.items.list(conversationId, {
|
|
134
|
+
order: "desc",
|
|
135
|
+
})) {
|
|
136
|
+
if (item.node_type === "assistant" || item.operation_name === "chat") {
|
|
137
|
+
return item.id;
|
|
138
|
+
}
|
|
139
|
+
if (fallback === null && item.output_message != null)
|
|
140
|
+
fallback = item;
|
|
141
|
+
}
|
|
142
|
+
return fallback?.id ?? null;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Defensive normalization for {@link ConversationsApi.retrieve} only:
|
|
147
|
+
* older DP deployments emitted `tool_call_response` parts with a legacy
|
|
148
|
+
* `result` key instead of the semconv `response` key. Map it across so
|
|
149
|
+
* replayed history is always semconv-shaped.
|
|
150
|
+
*/
|
|
151
|
+
function normalizeMessages(messages) {
|
|
152
|
+
return messages.map((message) => ({
|
|
153
|
+
...message,
|
|
154
|
+
parts: message.parts.map(normalizePart),
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
function normalizePart(part) {
|
|
158
|
+
if (part.type !== "tool_call_response")
|
|
159
|
+
return part;
|
|
160
|
+
const legacy = part;
|
|
161
|
+
if (legacy.response !== undefined || legacy.result === undefined) {
|
|
162
|
+
return part;
|
|
163
|
+
}
|
|
164
|
+
const { result, ...rest } = legacy;
|
|
165
|
+
return { ...rest, response: result };
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=conversations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/runner-resources/conversations.ts"],"names":[],"mappings":"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"}
|