@introspection-sdk/introspection-node 0.4.10 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/index.d.ts +4 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/pagination.d.ts +38 -0
  7. package/dist/pagination.d.ts.map +1 -0
  8. package/dist/pagination.js +43 -0
  9. package/dist/pagination.js.map +1 -0
  10. package/dist/resources/experiments.d.ts +9 -3
  11. package/dist/resources/experiments.d.ts.map +1 -1
  12. package/dist/resources/experiments.js +10 -13
  13. package/dist/resources/experiments.js.map +1 -1
  14. package/dist/resources/recipes.d.ts +9 -4
  15. package/dist/resources/recipes.d.ts.map +1 -1
  16. package/dist/resources/recipes.js +10 -13
  17. package/dist/resources/recipes.js.map +1 -1
  18. package/dist/resources/runtimes.d.ts +9 -3
  19. package/dist/resources/runtimes.d.ts.map +1 -1
  20. package/dist/resources/runtimes.js +22 -22
  21. package/dist/resources/runtimes.js.map +1 -1
  22. package/dist/runner-resources/conversations.d.ts +73 -0
  23. package/dist/runner-resources/conversations.d.ts.map +1 -0
  24. package/dist/runner-resources/conversations.js +161 -0
  25. package/dist/runner-resources/conversations.js.map +1 -0
  26. package/dist/runner-resources/files.d.ts +18 -8
  27. package/dist/runner-resources/files.d.ts.map +1 -1
  28. package/dist/runner-resources/files.js +29 -31
  29. package/dist/runner-resources/files.js.map +1 -1
  30. package/dist/runner-resources/tasks.d.ts +9 -3
  31. package/dist/runner-resources/tasks.d.ts.map +1 -1
  32. package/dist/runner-resources/tasks.js +10 -12
  33. package/dist/runner-resources/tasks.js.map +1 -1
  34. package/dist/runner.d.ts +5 -2
  35. package/dist/runner.d.ts.map +1 -1
  36. package/dist/runner.js +6 -2
  37. package/dist/runner.js.map +1 -1
  38. package/package.json +6 -6
  39. package/src/index.ts +23 -1
  40. package/src/pagination.ts +69 -0
  41. package/src/resources/experiments.ts +17 -16
  42. package/src/resources/recipes.ts +17 -16
  43. package/src/resources/runtimes.ts +28 -25
  44. package/src/runner-resources/conversations.ts +202 -0
  45. package/src/runner-resources/files.ts +56 -40
  46. package/src/runner-resources/tasks.ts +17 -15
  47. package/src/runner.ts +6 -2
@@ -1,4 +1,4 @@
1
1
 
2
- > @introspection-sdk/introspection-node@0.4.10 build /home/runner/work/introspection-js-sdk/introspection-js-sdk/packages/introspection-node
2
+ > @introspection-sdk/introspection-node@0.5.1 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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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) + HTTP/SSE.
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,wEAAwE;AACxE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAExE,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;AAmDnE,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;AAclC,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
+ {"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"}
@@ -0,0 +1,38 @@
1
+ import { Paginated } from "@introspection-sdk/types";
2
+ /**
3
+ * Adapts a wire pagination protocol for {@link Paginator}: how to fetch
4
+ * a page at a given cursor, pull the items out of it, and find the
5
+ * cursor for the next page (`undefined` once the list is exhausted).
6
+ */
7
+ export interface PageSource<T, TPage> {
8
+ /** Fetch the page at `cursor` (`undefined` = the first page). */
9
+ fetch(cursor: string | undefined): Promise<TPage>;
10
+ /** Items contained in `page`, in iteration order. */
11
+ items(page: TPage): T[];
12
+ /** Cursor for the page after `page`, or `undefined` when exhausted. */
13
+ next(page: TPage): string | undefined;
14
+ }
15
+ /**
16
+ * A lazy, auto-paging collection.
17
+ *
18
+ * - `await listing` resolves to the FIRST page, preserving the wire
19
+ * envelope's metadata (counts, `has_more`, …).
20
+ * - `for await (const item of listing)` streams every item across all
21
+ * pages, fetching each page only as the iterator reaches it; stop
22
+ * early to stop fetching.
23
+ */
24
+ export declare class Paginator<T, TPage = Paginated<T>> implements AsyncIterable<T>, PromiseLike<TPage> {
25
+ private readonly source;
26
+ private readonly start?;
27
+ constructor(source: PageSource<T, TPage>, start?: string | undefined);
28
+ /** Thenable: resolves to the first page (no further pages fetched). */
29
+ then<R1 = TPage, R2 = never>(onfulfilled?: ((page: TPage) => R1 | PromiseLike<R1>) | null, onrejected?: ((reason: unknown) => R2 | PromiseLike<R2>) | null): PromiseLike<R1 | R2>;
30
+ [Symbol.asyncIterator](): AsyncIterator<T>;
31
+ }
32
+ /**
33
+ * Build a {@link Paginator} over the standard Introspection cursor
34
+ * envelope ({@link Paginated}): items live in `records` and the next
35
+ * page is reached via the opaque `next` token.
36
+ */
37
+ export declare function cursorPaginate<T>(fetch: (next: string | undefined) => Promise<Paginated<T>>, start?: string): Paginator<T, Paginated<T>>;
38
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,EAAE,KAAK;IAClC,iEAAiE;IACjE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,qDAAqD;IACrD,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;IACxB,uEAAuE;IACvE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,qBAAa,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAC5C,YAAW,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC;IAG7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBADN,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,EAC5B,KAAK,CAAC,EAAE,MAAM,YAAA;IAGjC,uEAAuE;IACvE,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EACzB,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAC5D,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAC9D,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IAIhB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;CAQlD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1D,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAS5B"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * A lazy, auto-paging collection.
3
+ *
4
+ * - `await listing` resolves to the FIRST page, preserving the wire
5
+ * envelope's metadata (counts, `has_more`, …).
6
+ * - `for await (const item of listing)` streams every item across all
7
+ * pages, fetching each page only as the iterator reaches it; stop
8
+ * early to stop fetching.
9
+ */
10
+ export class Paginator {
11
+ source;
12
+ start;
13
+ constructor(source, start) {
14
+ this.source = source;
15
+ this.start = start;
16
+ }
17
+ /** Thenable: resolves to the first page (no further pages fetched). */
18
+ then(onfulfilled, onrejected) {
19
+ return this.source.fetch(this.start).then(onfulfilled, onrejected);
20
+ }
21
+ async *[Symbol.asyncIterator]() {
22
+ let cursor = this.start;
23
+ do {
24
+ const page = await this.source.fetch(cursor);
25
+ for (const item of this.source.items(page))
26
+ yield item;
27
+ cursor = this.source.next(page);
28
+ } while (cursor !== undefined);
29
+ }
30
+ }
31
+ /**
32
+ * Build a {@link Paginator} over the standard Introspection cursor
33
+ * envelope ({@link Paginated}): items live in `records` and the next
34
+ * page is reached via the opaque `next` token.
35
+ */
36
+ export function cursorPaginate(fetch, start) {
37
+ return new Paginator({
38
+ fetch,
39
+ items: (page) => page.records,
40
+ next: (page) => page.next ?? undefined,
41
+ }, start);
42
+ }
43
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAgBA;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAS;IAID;IACA;IAFnB,YACmB,MAA4B,EAC5B,KAAc;QADd,WAAM,GAAN,MAAM,CAAsB;QAC5B,UAAK,GAAL,KAAK,CAAS;IAC9B,CAAC;IAEJ,uEAAuE;IACvE,IAAI,CACF,WAA4D,EAC5D,UAA+D;QAE/D,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,GAAG,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,CAAC;YACvD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,QAAQ,MAAM,KAAK,SAAS,EAAE;IACjC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,KAA0D,EAC1D,KAAc;IAEd,OAAO,IAAI,SAAS,CAClB;QACE,KAAK;QACL,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO;QAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS;KACvC,EACD,KAAK,CACN,CAAC;AACJ,CAAC"}
@@ -1,13 +1,19 @@
1
- import type { Experiment, ExperimentEndParams, ExperimentCreate, ExperimentListParams, ExperimentUpdate, Paginated, RunRequest, Uuid } from "@introspection-sdk/types";
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
- list(params: ExperimentListParams): Promise<Paginated<Experiment>>;
10
- listAll(params: ExperimentListParams): AsyncIterable<Experiment>;
10
+ /**
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).
15
+ */
16
+ list(params: ExperimentListParams): Paginator<Experiment>;
11
17
  get(id: Uuid): Promise<Experiment>;
12
18
  create(input: ExperimentCreate): Promise<Experiment>;
13
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,EAChB,SAAS,EACT,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,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAQ3D,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,UAAU,CAAC;IASvE,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,CAgB1C"}
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)
@@ -16,21 +17,18 @@ export class ExperimentsApi {
16
17
  this.http = http;
17
18
  this.client = client;
18
19
  }
20
+ /**
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).
25
+ */
19
26
  list(params) {
20
- return this.http.request({
27
+ return cursorPaginate((next) => this.http.request({
21
28
  method: "GET",
22
29
  path: "/v1/experiments",
23
- query: params,
24
- });
25
- }
26
- async *listAll(params) {
27
- let next = params.next;
28
- do {
29
- const page = await this.list({ ...params, next });
30
- for (const r of page.records)
31
- yield r;
32
- next = page.next ?? undefined;
33
- } while (next);
30
+ query: { ...params, next },
31
+ }), params.next);
34
32
  }
35
33
  get(id) {
36
34
  return this.http.request({
@@ -119,7 +117,6 @@ export function attachExperiments(client, http) {
119
117
  const factory = (id) => new ExperimentHandle(api, id);
120
118
  const hybrid = factory;
121
119
  hybrid.list = api.list.bind(api);
122
- hybrid.listAll = api.listAll.bind(api);
123
120
  hybrid.get = api.get.bind(api);
124
121
  hybrid.create = api.create.bind(api);
125
122
  hybrid.update = api.update.bind(api);
@@ -1 +1 @@
1
- {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { Paginated, Recipe, RecipeCreate, RecipeListParams, RecipeUpdate, Uuid } from "@introspection-sdk/types";
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
  *
@@ -10,9 +11,13 @@ import type { HttpClient } from "../http.js";
10
11
  export declare class RecipesApi {
11
12
  private readonly http;
12
13
  constructor(http: HttpClient);
13
- list(params: RecipeListParams): Promise<Paginated<Recipe>>;
14
- /** Async-iterate every page that matches `params`. */
15
- listAll(params: RecipeListParams): AsyncIterable<Recipe>;
14
+ /**
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).
19
+ */
20
+ list(params: RecipeListParams): Paginator<Recipe>;
16
21
  get(id: Uuid): Promise<Recipe>;
17
22
  create(input: RecipeCreate): Promise<Recipe>;
18
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,EACV,SAAS,EACT,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,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAQ1D,sDAAsD;IAC/C,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;IAS/D,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
+ {"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
  *
@@ -10,22 +11,18 @@ export class RecipesApi {
10
11
  constructor(http) {
11
12
  this.http = http;
12
13
  }
14
+ /**
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).
19
+ */
13
20
  list(params) {
14
- return this.http.request({
21
+ return cursorPaginate((next) => this.http.request({
15
22
  method: "GET",
16
23
  path: "/v1/recipes",
17
- query: params,
18
- });
19
- }
20
- /** Async-iterate every page that matches `params`. */
21
- async *listAll(params) {
22
- let next = params.next;
23
- do {
24
- const page = await this.list({ ...params, next });
25
- for (const r of page.records)
26
- yield r;
27
- next = page.next ?? undefined;
28
- } while (next);
24
+ query: { ...params, next },
25
+ }), params.next);
29
26
  }
30
27
  get(id) {
31
28
  return this.http.request({
@@ -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,IAAI,CAAC,MAAwB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoB;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,MAA4C;SACpD,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,CAAC,OAAO,CAAC,MAAwB;QACrC,IAAI,IAAI,GAAuB,MAAM,CAAC,IAAI,CAAC;QAC3C,GAAG,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,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
+ {"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
- import type { Paginated, Recipe, RunRequest, Runtime, RuntimeCreate, RuntimeListParams, RuntimeUpdate, Uuid } from "@introspection-sdk/types";
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 {
@@ -20,8 +21,13 @@ export declare class RuntimesApi {
20
21
  private readonly http;
21
22
  private readonly client;
22
23
  constructor(http: HttpClient, client: IntrospectionClient);
23
- list(params: RuntimeListParams): Promise<Paginated<Runtime>>;
24
- listAll(params: RuntimeListParams): AsyncIterable<Runtime>;
24
+ /**
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).
29
+ */
30
+ list(params: RuntimeListParams): Paginator<Runtime>;
25
31
  get(id: Uuid, params: {
26
32
  project_id?: Uuid;
27
33
  }): Promise<Runtime>;
@@ -1 +1 @@
1
- {"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"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"}
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) {
@@ -27,21 +28,18 @@ export class RuntimesApi {
27
28
  this.http = http;
28
29
  this.client = client;
29
30
  }
31
+ /**
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).
36
+ */
30
37
  list(params) {
31
- return this.http.request({
38
+ return cursorPaginate((next) => this.http.request({
32
39
  method: "GET",
33
40
  path: "/v1/runtimes",
34
- query: params,
35
- });
36
- }
37
- async *listAll(params) {
38
- let next = params.next;
39
- do {
40
- const page = await this.list({ ...params, next });
41
- for (const r of page.records)
42
- yield r;
43
- next = page.next ?? undefined;
44
- } while (next);
41
+ query: { ...params, next },
42
+ }), params.next);
45
43
  }
46
44
  get(id, params) {
47
45
  return this.http.request({
@@ -73,16 +71,19 @@ export class RuntimesApi {
73
71
  }
74
72
  /** Resolve a name to a runtime by querying `/v1/runtimes?name=…`. */
75
73
  async resolveByName(name, projectId) {
76
- const page = await this.list({ project_id: projectId, name, limit: 2 });
77
- const match = page.records.find((r) => r.name === name);
78
- if (!match) {
79
- throw new NotFoundError({
80
- message: `Runtime '${name}' not found${projectId ? ` in project ${projectId}` : ""}`,
81
- status: 404,
82
- code: "not_found",
83
- });
74
+ for await (const r of this.list({
75
+ project_id: projectId,
76
+ name,
77
+ limit: 2,
78
+ })) {
79
+ if (r.name === name)
80
+ return r;
84
81
  }
85
- return match;
82
+ throw new NotFoundError({
83
+ message: `Runtime '${name}' not found${projectId ? ` in project ${projectId}` : ""}`,
84
+ status: 404,
85
+ code: "not_found",
86
+ });
86
87
  }
87
88
  /** POST `/v1/runtimes/{id}/run` and wrap the result in a `Runner`. */
88
89
  async runById(id, opts) {
@@ -166,7 +167,6 @@ export function attachRuntimes(client, http) {
166
167
  // the methods can be invoked off the proxy without losing `this`.
167
168
  const hybrid = factory;
168
169
  hybrid.list = api.list.bind(api);
169
- hybrid.listAll = api.listAll.bind(api);
170
170
  hybrid.get = api.get.bind(api);
171
171
  hybrid.create = api.create.bind(api);
172
172
  hybrid.update = api.update.bind(api);
@@ -1 +1 @@
1
- {"version":3,"file":"runtimes.js","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtimes.js","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { ConversationItem, ConversationItemInclude, ConversationItemList, ConversationItemListParams, ConversationListParams, ConversationResponse, ConversationSummary } from "@introspection-sdk/types";
2
+ import { HttpClient } from "../http.js";
3
+ import { Paginator } from "../pagination.js";
4
+ /**
5
+ * Items of a conversation (`/v1/conversations/{id}/items`). Read-only.
6
+ *
7
+ * Paging is OpenAI-style underneath: the envelope has NO `next` token —
8
+ * `list()` drives `after` = the previous page's `last_id` while
9
+ * `has_more` is true.
10
+ */
11
+ export declare class ConversationItemsApi {
12
+ private readonly http;
13
+ constructor(http: HttpClient);
14
+ /**
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.
21
+ *
22
+ * Items carry the turn-local delta in `input_messages` — only the
23
+ * messages new to that turn. Use `get()` for the full input history.
24
+ */
25
+ list(conversationId: string, params?: ConversationItemListParams): Paginator<ConversationItem, ConversationItemList>;
26
+ /**
27
+ * Fetch a single conversation item. Unlike the list route, the
28
+ * detail's `input_messages` is the FULL input history for that span.
29
+ */
30
+ get(conversationId: string, itemId: string, params?: {
31
+ include?: ConversationItemInclude[];
32
+ }): Promise<ConversationItem>;
33
+ }
34
+ /**
35
+ * Read-only Conversations API (`/v1/conversations`).
36
+ *
37
+ * Both `list()` and `items.list()` are auto-paging async generators,
38
+ * but they drive different wire protocols underneath: `list()` walks
39
+ * the standard Introspection cursor envelope's opaque `next` token,
40
+ * while `items.list()` walks an OpenAI-style envelope via `after` =
41
+ * the previous page's `last_id` while `has_more` is true.
42
+ */
43
+ export declare class ConversationsApi {
44
+ private readonly http;
45
+ /** Items of a conversation — `conversations.items.list(...)` etc. */
46
+ readonly items: ConversationItemsApi;
47
+ constructor(http: HttpClient);
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).
53
+ */
54
+ list(params?: ConversationListParams): Paginator<ConversationSummary>;
55
+ /**
56
+ * Responses-API-style retrieve: load the state of a conversation as of
57
+ * one item — the full input history, output, system instructions, and
58
+ * tool definitions of that turn.
59
+ *
60
+ * When `itemId` is omitted, the latest LLM turn is used: the first
61
+ * item (in descending order) whose `node_type` is `"assistant"` or
62
+ * whose `operation_name` is `"chat"`, falling back to the first item
63
+ * with a non-null `output_message`. Returns `null` when the
64
+ * conversation has no items.
65
+ *
66
+ * For the full per-turn transcript instead, iterate
67
+ * `items.list(conversationId, { order: "asc" })`.
68
+ */
69
+ retrieve(conversationId: string, itemId?: string): Promise<ConversationResponse | null>;
70
+ /** Scan items in descending order for the most recent LLM turn. */
71
+ private findLatestTurnId;
72
+ }
73
+ //# 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,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"}