From 1e99f5d8d6b4b2f0b7ab1a859c960dd0fcde1175 Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Thu, 4 Jul 2024 10:25:38 -0400 Subject: [PATCH 01/10] Use updated generated future types --- src/Future.ts | 233 +++-- src/GEN_VERSION | 2 +- src/Node.ts | 6 +- src/Nodes.ts | 2277 ++++++++++++---------------------------------- src/index.ts | 2 +- src/openapi.json | 2 +- src/sb.ts | 8 +- 7 files changed, 709 insertions(+), 1821 deletions(-) diff --git a/src/Future.ts b/src/Future.ts index 786f4fd..e87e9e5 100644 --- a/src/Future.ts +++ b/src/Future.ts @@ -8,16 +8,17 @@ type TraceOperation = { accessor: Accessor; }; -type TraceProp = string | FutureString | number | FutureNumber; -type Concatable = string | FutureString; +type TraceProp = string | Future | number | Future; +type Concatable = string | Future; type JQCompatible = Record | any[] | string | number; type JQDirectiveTarget = Future | JQCompatible; -type FutureTypeMap = { - string: FutureString; - object: FutureAnyObject; - number: FutureNumber; - boolean: FutureBoolean; -}; +// type FutureTypeMap = { +// string: FutureString; +// object: FutureAnyObject; +// number: FutureNumber; +// boolean: FutureBoolean; +// }; +// const parsePath = (path: string): TraceProp[] => { // Split the path by dots or brackets, and filter out empty strings const parts = path.split(/\.|\[|\]\[?/).filter(Boolean); @@ -88,12 +89,18 @@ export class Trace extends Directive { type: "trace", origin_node_id: this.originNode.id, op_stack: this.items.map((item) => { - if (item instanceof FutureString) { + if (item instanceof Future) { // @ts-expect-error (accessing protected prop: _id) return Trace.Operation.future("attr", item._id); - } else if (item instanceof FutureNumber) { - // @ts-expect-error (accessing protected prop: _id) - return Trace.Operation.future("item", item._id); + + // TODO(liam): we'll need some runtime information here to behave different depending on the type parameter. + + // if (item instanceof FutureString) { + // // @ts-expect-error (accessing protected prop: _id) + // return Trace.Operation.future("attr", item._id); + // } else if (item instanceof FutureNumber) { + // // @ts-expect-error (accessing protected prop: _id) + // return Trace.Operation.future("item", item._id); } else if (typeof item === "string") { return Trace.Operation.key("attr", item); } @@ -120,7 +127,10 @@ export class JQ extends Directive { rawValue: (val: JQCompatible) => ({ future_id: null, val }), }; - override next(...items: TraceProp[]) { + override next( + // @ts-ignore + ...items: TraceProp[] + ) { return new JQ(this.query, this.target); } @@ -187,7 +197,7 @@ export class StringConcat extends Directive { } } -export abstract class Future { +export class Future { protected _directive: Directive; protected _id: string = ""; @@ -208,25 +218,26 @@ export abstract class Future { return this._directive.result(); } - static jq( - future: JQDirectiveTarget, - query: string, - futureType: keyof FutureTypeMap = "string", - ): FutureTypeMap[T] { - const directive = new JQ(query, future); - switch (futureType) { - case "string": - return new FutureString(directive) as FutureTypeMap[T]; - case "number": - return new FutureNumber(directive) as FutureTypeMap[T]; - case "object": - return new FutureAnyObject(directive) as FutureTypeMap[T]; - case "boolean": - return new FutureBoolean(directive) as FutureTypeMap[T]; - default: - throw new Error(`Unknown future type: ${futureType}`); - } - } + // TODO(liam): don't think we need this type mapping here + // static jq( + // future: JQDirectiveTarget, + // query: string, + // futureType: keyof FutureTypeMap = "string", + // ): FutureTypeMap[T] { + // const directive = new JQ(query, future); + // switch (futureType) { + // case "string": + // return new FutureString(directive) as FutureTypeMap[T]; + // case "number": + // return new FutureNumber(directive) as FutureTypeMap[T]; + // case "object": + // return new FutureAnyObject(directive) as FutureTypeMap[T]; + // case "boolean": + // return new FutureBoolean(directive) as FutureTypeMap[T]; + // default: + // throw new Error(`Unknown future type: ${futureType}`); + // } + // } toJSON() { return { @@ -236,82 +247,108 @@ export abstract class Future { } } -export class FutureBoolean extends Future {} - -export class FutureString extends Future { - static concat(...items: (string | FutureString)[]) { - return new FutureString(new StringConcat(items)); - } - - static interpolate( - strings: TemplateStringsArray, - ...exprs: ({ toString(): string } | FutureString)[] - ): FutureString { - return FutureString.concat( - ...strings - .filter((s) => s !== "") // FIXME: Work around until SubstrateLabs/substrate#514 is live - .flatMap((s: string, i: number) => { - const expr = exprs[i]; - return expr - ? [s, expr instanceof Future ? expr : expr.toString()] - : [s]; - }), - ); - } - - concat(...items: (string | FutureString)[]) { - return FutureString.concat(...[this, ...items]); - } - - protected override async _result(): Promise { - return super._result(); - } -} - -export class FutureNumber extends Future {} - -export abstract class FutureArray extends Future { - abstract at(index: number): Future; - - protected override async _result(): Promise { - return super._result(); - } -} +export const concat = (...items: (string | Future)[]) => { + return new Future(new StringConcat(items)); +}; -export abstract class FutureObject extends Future { - get(path: string): Future { - const props = parsePath(path); - return props.reduce((future, prop) => { - if (future instanceof FutureAnyObject) { - return typeof prop === "string" - ? future.get(prop as string) - : future.at(prop as number); - } else { - // @ts-ignore - return typeof prop === "string" ? future[prop] : future.at(prop); - } - }, this) as Future; - } +export const interpolate = ( + strings: TemplateStringsArray, + ...exprs: ({ toString(): string } | Future)[] +) => { + return concat( + ...strings.flatMap((s: string, i: number) => { + const expr = exprs[i]; + return expr ? [s, expr instanceof Future ? expr : expr.toString()] : [s]; + }), + ); +}; - protected override async _result(): Promise { - return super._result(); - } -} +export const jq = ( + future: JQDirectiveTarget, + query: string, + _futureType: any = undefined, // @deprecated +): Future => { + const directive = new JQ(query, future); + return new Future(directive); +}; -export class FutureAnyObject extends Future { - get(path: string | FutureString) { +// export class FutureBoolean extends Future {} +// +// export class FutureString extends Future { +// static concat(...items: (string | FutureString)[]) { +// return new FutureString(new StringConcat(items)); +// } +// +// static interpolate( +// strings: TemplateStringsArray, +// ...exprs: ({ toString(): string } | FutureString)[] +// ): FutureString { +// return FutureString.concat( +// ...strings +// .filter((s) => s !== "") // FIXME: Work around until SubstrateLabs/substrate#514 is live +// .flatMap((s: string, i: number) => { +// const expr = exprs[i]; +// return expr +// ? [s, expr instanceof Future ? expr : expr.toString()] +// : [s]; +// }), +// ); +// } +// +// concat(...items: (string | FutureString)[]) { +// return FutureString.concat(...[this, ...items]); +// } +// +// protected override async _result(): Promise { +// return super._result(); +// } +// } +// +// export class FutureNumber extends Future {} +// +// export abstract class FutureArray extends Future { +// abstract at(index: number): Future; +// +// protected override async _result(): Promise { +// return super._result(); +// } +// } +// +// export abstract class FutureObject extends Future { +// get(path: string): Future { +// const props = parsePath(path); +// return props.reduce((future, prop) => { +// if (future instanceof FutureAnyObject) { +// return typeof prop === "string" +// ? future.get(prop as string) +// : future.at(prop as number); +// } else { +// // @ts-ignore +// return typeof prop === "string" ? future[prop] : future.at(prop); +// } +// }, this) as Future; +// } +// +// protected override async _result(): Promise { +// return super._result(); +// } +// } + +/** Represents a future of some unknown type, and so it is equipped with special accessors for getting values at arbitrary paths or indexes */ +export class FutureAny extends Future { + get(path: string | Future) { const d = typeof path === "string" ? this._directive.next(...parsePath(path)) : this._directive.next(path); - return new FutureAnyObject(d); + return new FutureAny(d); } - at(index: number | FutureNumber) { - return new FutureAnyObject(this._directive.next(index)); + at(index: number | Future) { + return new FutureAny(this._directive.next(index)); } - protected override async _result(): Promise { + protected override async _result(): Promise { return super._result(); } } diff --git a/src/GEN_VERSION b/src/GEN_VERSION index 08710fd..b9c2d65 100644 --- a/src/GEN_VERSION +++ b/src/GEN_VERSION @@ -1 +1 @@ -20240617.20240621 \ No newline at end of file +20240617.20240703 \ No newline at end of file diff --git a/src/Node.ts b/src/Node.ts index e642348..dd28c3e 100644 --- a/src/Node.ts +++ b/src/Node.ts @@ -1,5 +1,5 @@ import { idGenerator } from "substrate/idGenerator"; -import { Future, FutureAnyObject, Trace } from "substrate/Future"; +import { Future, Trace } from "substrate/Future"; import { SubstrateResponse } from "substrate/SubstrateResponse"; import { NodeError, SubstrateError } from "substrate/Error"; import { AnyNode } from "substrate/Nodes"; @@ -60,8 +60,8 @@ export abstract class Node { /** * Reference the future output of this node. */ - get future(): any { - return new FutureAnyObject(new Trace([], this as Node)); + get future(): Future { + return new Future(new Trace([], this as Node)); } protected set response(res: SubstrateResponse) { diff --git a/src/Nodes.ts b/src/Nodes.ts index e888936..26722f4 100644 --- a/src/Nodes.ts +++ b/src/Nodes.ts @@ -1,711 +1,804 @@ /** * 𐃏 Substrate * @generated file - * 20240617.20240621 + * 20240617.20240703 */ import * as OpenAPI from "substrate/OpenAPI"; import { Node, Options } from "substrate/Node"; -import { - Trace, - FutureString, - FutureNumber, - FutureBoolean, - FutureArray, - FutureObject, - FutureAnyObject, -} from "substrate/Future"; +import { Trace, Future } from "substrate/Future"; // The following type helpers are used to "expand" Node input types to allow them to also accept // instances of their corresponding "Future" types. -type FutureExpandScalar = T extends string - ? string | FutureString +// type FutureExpandScalar = +// T extends string ? string | FutureString : +// T extends number ? number | FutureNumber : +// T extends boolean ? boolean | FutureBoolean : +// T; +// +// type FutureExpandObject = +// T extends object ? { [P in keyof T]: FutureExpandAny } | FutureObject : +// T; +// +// type FutureExpandArray = +// T extends (infer U)[] ? FutureExpandAny[] | FutureArray : +// FutureExpandAny; +// +// type FutureExpandAny = +// T extends (infer U)[][] ? FutureExpandArray[][] | FutureArray[] : +// T extends (infer U)[] ? FutureExpandArray[] | FutureArray : +// T extends object ? FutureExpandObject : +// FutureExpandScalar; + +type FutureExpandItem = T extends string + ? string | Future : T extends number - ? number | FutureNumber + ? number | Future : T extends boolean - ? boolean | FutureBoolean + ? boolean | Future : T; type FutureExpandObject = T extends object - ? { [P in keyof T]: FutureExpandAny } | FutureObject + ? { [P in keyof T]: FutureExpandAny } | Future : T; type FutureExpandArray = T extends (infer U)[] - ? FutureExpandAny[] | FutureArray + ? FutureExpandAny[] | Future : FutureExpandAny; type FutureExpandAny = T extends (infer U)[][] - ? FutureExpandArray[][] | FutureArray[] + ? FutureExpandArray[][] | Future : T extends (infer U)[] - ? FutureExpandArray[] | FutureArray + ? FutureExpandArray[] | Future : T extends object ? FutureExpandObject - : FutureExpandScalar; + : FutureExpandItem; + +export class ExperimentalInArgs extends Future {} +export class ExperimentalOutOutput extends Future {} -export class ExperimentalInArgs extends FutureAnyObject {} -export class ExperimentalOutOutput extends FutureAnyObject {} /** Image prompts. */ -export class ComputeTextInImageUris extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class ComputeTextInImageUris extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `ComputeTextInImageUris` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class ComputeTextInImageUrisItem extends FutureString {} -export class ComputeJSONInJsonSchema extends FutureAnyObject {} -export class ComputeJSONOutJsonObject extends FutureAnyObject {} +export class ComputeTextInImageUrisItem extends Future {} +export class ComputeJSONInJsonSchema extends Future {} +export class ComputeJSONOutJsonObject extends Future {} + /** Response choices. */ -export class MultiComputeTextOutChoices extends FutureArray { - /** Returns `ComputeTextOut` at given index. */ - override at(index: number) { - return new ComputeTextOut(this._directive.next(index)); +export class MultiComputeTextOutChoices extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiComputeTextOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Batch input prompts. */ -export class BatchComputeTextInPrompts extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class BatchComputeTextInPrompts extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `BatchComputeTextInPrompts` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class BatchComputeTextInPromptsItem extends FutureString {} +export class BatchComputeTextInPromptsItem extends Future {} + /** Batch outputs. */ -export class BatchComputeTextOutOutputs extends FutureArray { - /** Returns `ComputeTextOut` at given index. */ - override at(index: number) { - return new ComputeTextOut(this._directive.next(index)); +export class BatchComputeTextOutOutputs extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `BatchComputeTextOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class MultiComputeJSONInJsonSchema extends FutureAnyObject {} +export class MultiComputeJSONInJsonSchema extends Future {} + /** Response choices. */ -export class MultiComputeJSONOutChoices extends FutureArray { - /** Returns `ComputeJSONOut` at given index. */ - override at(index: number) { - return new ComputeJSONOut(this._directive.next(index)); +export class MultiComputeJSONOutChoices extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiComputeJSONOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Batch input prompts. */ -export class BatchComputeJSONInPrompts extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class BatchComputeJSONInPrompts extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `BatchComputeJSONInPrompts` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class BatchComputeJSONInPromptsItem extends FutureString {} -export class BatchComputeJSONInJsonSchema extends FutureAnyObject {} +export class BatchComputeJSONInPromptsItem extends Future {} +export class BatchComputeJSONInJsonSchema extends Future {} + /** Batch outputs. */ -export class BatchComputeJSONOutOutputs extends FutureArray { - /** Returns `ComputeJSONOut` at given index. */ - override at(index: number) { - return new ComputeJSONOut(this._directive.next(index)); +export class BatchComputeJSONOutOutputs extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `BatchComputeJSONOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class Mistral7BInstructInJsonSchema extends FutureAnyObject {} -export class Mistral7BInstructChoiceJsonObject extends FutureAnyObject {} +export class Mistral7BInstructInJsonSchema extends Future {} +export class Mistral7BInstructChoiceJsonObject extends Future {} + /** Response choices. */ -export class Mistral7BInstructOutChoices extends FutureArray { - /** Returns `Mistral7BInstructChoice` at given index. */ - override at(index: number) { - return new Mistral7BInstructChoice(this._directive.next(index)); +export class Mistral7BInstructOutChoices extends Future< + Mistral7BInstructChoice[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `Mistral7BInstructOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class Mixtral8x7BInstructInJsonSchema extends FutureAnyObject {} -export class Mixtral8x7BChoiceJsonObject extends FutureAnyObject {} +export class Mixtral8x7BInstructInJsonSchema extends Future {} +export class Mixtral8x7BChoiceJsonObject extends Future {} + /** Response choices. */ -export class Mixtral8x7BInstructOutChoices extends FutureArray { - /** Returns `Mixtral8x7BChoice` at given index. */ - override at(index: number) { - return new Mixtral8x7BChoice(this._directive.next(index)); +export class Mixtral8x7BInstructOutChoices extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `Mixtral8x7BInstructOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class Llama3Instruct8BInJsonSchema extends FutureAnyObject {} -export class Llama3Instruct8BChoiceJsonObject extends FutureAnyObject {} +export class Llama3Instruct8BInJsonSchema extends Future {} +export class Llama3Instruct8BChoiceJsonObject extends Future {} + /** Response choices. */ -export class Llama3Instruct8BOutChoices extends FutureArray { - /** Returns `Llama3Instruct8BChoice` at given index. */ - override at(index: number) { - return new Llama3Instruct8BChoice(this._directive.next(index)); +export class Llama3Instruct8BOutChoices extends Future< + Llama3Instruct8BChoice[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `Llama3Instruct8BOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Response choices. */ -export class Llama3Instruct70BOutChoices extends FutureArray { - /** Returns `Llama3Instruct70BChoice` at given index. */ - override at(index: number) { - return new Llama3Instruct70BChoice(this._directive.next(index)); +export class Llama3Instruct70BOutChoices extends Future< + Llama3Instruct70BChoice[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `Llama3Instruct70BOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Image prompts. */ -export class Firellava13BInImageUris extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class Firellava13BInImageUris extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `Firellava13BInImageUris` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class Firellava13BInImageUrisItem extends FutureString {} +export class Firellava13BInImageUrisItem extends Future {} + /** Generated images. */ -export class MultiGenerateImageOutOutputs extends FutureArray { - /** Returns `GenerateImageOut` at given index. */ - override at(index: number) { - return new GenerateImageOut(this._directive.next(index)); +export class MultiGenerateImageOutOutputs extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiGenerateImageOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Seeds for deterministic generation. Default is a random seed. */ -export class StableDiffusionXLInSeeds extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class StableDiffusionXLInSeeds extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLInSeeds` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class StableDiffusionXLInSeedsItem extends FutureNumber {} +export class StableDiffusionXLInSeedsItem extends Future {} + /** Generated images. */ -export class StableDiffusionXLOutOutputs extends FutureArray { - /** Returns `StableDiffusionImage` at given index. */ - override at(index: number) { - return new StableDiffusionImage(this._directive.next(index)); +export class StableDiffusionXLOutOutputs extends Future< + StableDiffusionImage[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Seeds for deterministic generation. Default is a random seed. */ -export class StableDiffusionXLLightningInSeeds extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class StableDiffusionXLLightningInSeeds extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLLightningInSeeds` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class StableDiffusionXLLightningInSeedsItem extends FutureNumber {} +export class StableDiffusionXLLightningInSeedsItem extends Future {} + /** Generated images. */ -export class StableDiffusionXLLightningOutOutputs extends FutureArray { - /** Returns `StableDiffusionImage` at given index. */ - override at(index: number) { - return new StableDiffusionImage(this._directive.next(index)); +export class StableDiffusionXLLightningOutOutputs extends Future< + StableDiffusionImage[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLLightningOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Random noise seeds. Default is random seeds for each generation. */ -export class StableDiffusionXLIPAdapterInSeeds extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class StableDiffusionXLIPAdapterInSeeds extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLIPAdapterInSeeds` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class StableDiffusionXLIPAdapterInSeedsItem extends FutureNumber {} +export class StableDiffusionXLIPAdapterInSeedsItem extends Future {} + /** Generated images. */ -export class StableDiffusionXLIPAdapterOutOutputs extends FutureArray { - /** Returns `StableDiffusionImage` at given index. */ - override at(index: number) { - return new StableDiffusionImage(this._directive.next(index)); +export class StableDiffusionXLIPAdapterOutOutputs extends Future< + StableDiffusionImage[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLIPAdapterOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Random noise seeds. Default is random seeds for each generation. */ -export class StableDiffusionXLControlNetInSeeds extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class StableDiffusionXLControlNetInSeeds extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLControlNetInSeeds` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class StableDiffusionXLControlNetInSeedsItem extends FutureNumber {} +export class StableDiffusionXLControlNetInSeedsItem extends Future {} + /** Generated images. */ -export class StableDiffusionXLControlNetOutOutputs extends FutureArray { - /** Returns `StableDiffusionImage` at given index. */ - override at(index: number) { - return new StableDiffusionImage(this._directive.next(index)); +export class StableDiffusionXLControlNetOutOutputs extends Future< + StableDiffusionImage[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLControlNetOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Generated images. */ -export class MultiInpaintImageOutOutputs extends FutureArray { - /** Returns `InpaintImageOut` at given index. */ - override at(index: number) { - return new InpaintImageOut(this._directive.next(index)); +export class MultiInpaintImageOutOutputs extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiInpaintImageOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Random noise seeds. Default is random seeds for each generation. */ -export class StableDiffusionXLInpaintInSeeds extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class StableDiffusionXLInpaintInSeeds extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLInpaintInSeeds` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class StableDiffusionXLInpaintInSeedsItem extends FutureNumber {} +export class StableDiffusionXLInpaintInSeedsItem extends Future {} + /** Generated images. */ -export class StableDiffusionXLInpaintOutOutputs extends FutureArray { - /** Returns `StableDiffusionImage` at given index. */ - override at(index: number) { - return new StableDiffusionImage(this._directive.next(index)); +export class StableDiffusionXLInpaintOutOutputs extends Future< + StableDiffusionImage[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `StableDiffusionXLInpaintOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Point prompts, to detect a segment under the point. One of `point_prompts` or `box_prompts` must be set. */ -export class SegmentAnythingInPointPrompts extends FutureArray { - /** Returns `Point` at given index. */ - override at(index: number) { - return new Point(this._directive.next(index)); +export class SegmentAnythingInPointPrompts extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `SegmentAnythingInPointPrompts` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Box prompts, to detect a segment within the bounding box. One of `point_prompts` or `box_prompts` must be set. */ -export class SegmentAnythingInBoxPrompts extends FutureArray { - /** Returns `BoundingBox` at given index. */ - override at(index: number) { - return new BoundingBox(this._directive.next(index)); +export class SegmentAnythingInBoxPrompts extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `SegmentAnythingInBoxPrompts` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Aligned words, if `align` is enabled. */ -export class TranscribedSegmentWords extends FutureArray { - /** Returns `TranscribedWord` at given index. */ - override at(index: number) { - return new TranscribedWord(this._directive.next(index)); +export class TranscribedSegmentWords extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `TranscribedSegmentWords` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Transcribed segments, if `segment` is enabled. */ -export class TranscribeSpeechOutSegments extends FutureArray { - /** Returns `TranscribedSegment` at given index. */ - override at(index: number) { - return new TranscribedSegment(this._directive.next(index)); +export class TranscribeSpeechOutSegments extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `TranscribeSpeechOutSegments` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Chapter markers, if `suggest_chapters` is enabled. */ -export class TranscribeSpeechOutChapters extends FutureArray { - /** Returns `ChapterMarker` at given index. */ - override at(index: number) { - return new ChapterMarker(this._directive.next(index)); +export class TranscribeSpeechOutChapters extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `TranscribeSpeechOutChapters` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Embedding vector. */ -export class EmbeddingVector extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class EmbeddingVector extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `EmbeddingVector` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class EmbeddingVectorItem extends FutureNumber {} -export class EmbeddingMetadata extends FutureAnyObject {} -export class EmbedTextInMetadata extends FutureAnyObject {} +export class EmbeddingVectorItem extends Future {} +export class EmbeddingMetadata extends Future {} +export class EmbedTextInMetadata extends Future {} + /** Choose keys from `metadata` to embed with text. */ -export class EmbedTextInEmbeddedMetadataKeys extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class EmbedTextInEmbeddedMetadataKeys extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `EmbedTextInEmbeddedMetadataKeys` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class EmbedTextInEmbeddedMetadataKeysItem extends FutureString {} -export class EmbedTextItemMetadata extends FutureAnyObject {} +export class EmbedTextInEmbeddedMetadataKeysItem extends Future {} +export class EmbedTextItemMetadata extends Future {} + /** Items to embed. */ -export class MultiEmbedTextInItems extends FutureArray { - /** Returns `EmbedTextItem` at given index. */ - override at(index: number) { - return new EmbedTextItem(this._directive.next(index)); +export class MultiEmbedTextInItems extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiEmbedTextInItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Choose keys from `metadata` to embed with text. */ -export class MultiEmbedTextInEmbeddedMetadataKeys extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class MultiEmbedTextInEmbeddedMetadataKeys extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiEmbedTextInEmbeddedMetadataKeys` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class MultiEmbedTextInEmbeddedMetadataKeysItem extends FutureString {} +export class MultiEmbedTextInEmbeddedMetadataKeysItem extends Future {} + /** Generated embeddings. */ -export class MultiEmbedTextOutEmbeddings extends FutureArray { - /** Returns `Embedding` at given index. */ - override at(index: number) { - return new Embedding(this._directive.next(index)); +export class MultiEmbedTextOutEmbeddings extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiEmbedTextOutEmbeddings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Items to embed. */ -export class JinaV2InItems extends FutureArray { - /** Returns `EmbedTextItem` at given index. */ - override at(index: number) { - return new EmbedTextItem(this._directive.next(index)); +export class JinaV2InItems extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `JinaV2InItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Choose keys from `metadata` to embed with text. */ -export class JinaV2InEmbeddedMetadataKeys extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class JinaV2InEmbeddedMetadataKeys extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `JinaV2InEmbeddedMetadataKeys` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class JinaV2InEmbeddedMetadataKeysItem extends FutureString {} +export class JinaV2InEmbeddedMetadataKeysItem extends Future {} + /** Generated embeddings. */ -export class JinaV2OutEmbeddings extends FutureArray { - /** Returns `Embedding` at given index. */ - override at(index: number) { - return new Embedding(this._directive.next(index)); +export class JinaV2OutEmbeddings extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `JinaV2OutEmbeddings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class EmbedTextOrImageItemMetadata extends FutureAnyObject {} +export class EmbedTextOrImageItemMetadata extends Future {} + /** Items to embed. */ -export class MultiEmbedImageInItems extends FutureArray { - /** Returns `EmbedImageItem` at given index. */ - override at(index: number) { - return new EmbedImageItem(this._directive.next(index)); +export class MultiEmbedImageInItems extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiEmbedImageInItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Generated embeddings. */ -export class MultiEmbedImageOutEmbeddings extends FutureArray { - /** Returns `Embedding` at given index. */ - override at(index: number) { - return new Embedding(this._directive.next(index)); +export class MultiEmbedImageOutEmbeddings extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `MultiEmbedImageOutEmbeddings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Items to embed. */ -export class CLIPInItems extends FutureArray { - /** Returns `EmbedTextOrImageItem` at given index. */ - override at(index: number) { - return new EmbedTextOrImageItem(this._directive.next(index)); +export class CLIPInItems extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `CLIPInItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Choose keys from `metadata` to embed with text. Only applies to text items. */ -export class CLIPInEmbeddedMetadataKeys extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class CLIPInEmbeddedMetadataKeys extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `CLIPInEmbeddedMetadataKeys` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class CLIPInEmbeddedMetadataKeysItem extends FutureString {} +export class CLIPInEmbeddedMetadataKeysItem extends Future {} + /** Generated embeddings. */ -export class CLIPOutEmbeddings extends FutureArray { - /** Returns `Embedding` at given index. */ - override at(index: number) { - return new Embedding(this._directive.next(index)); +export class CLIPOutEmbeddings extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `CLIPOutEmbeddings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** List of vector stores. */ -export class ListVectorStoresOutItems extends FutureArray { - /** Returns `FindOrCreateVectorStoreOut` at given index. */ - override at(index: number) { - return new FindOrCreateVectorStoreOut(this._directive.next(index)); +export class ListVectorStoresOutItems extends Future< + FindOrCreateVectorStoreOut[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `ListVectorStoresOutItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Embedding vector. */ -export class VectorVector extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class VectorVector extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `VectorVector` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class VectorVectorItem extends FutureNumber {} -export class VectorMetadata extends FutureAnyObject {} +export class VectorVectorItem extends Future {} +export class VectorMetadata extends Future {} + /** Document IDs to retrieve. */ -export class FetchVectorsInIds extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class FetchVectorsInIds extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `FetchVectorsInIds` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class FetchVectorsInIdsItem extends FutureString {} +export class FetchVectorsInIdsItem extends Future {} + /** Retrieved vectors. */ -export class FetchVectorsOutVectors extends FutureArray { - /** Returns `Vector` at given index. */ - override at(index: number) { - return new Vector(this._directive.next(index)); +export class FetchVectorsOutVectors extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `FetchVectorsOutVectors` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Embedding vector. */ -export class UpdateVectorParamsVector extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class UpdateVectorParamsVector extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `UpdateVectorParamsVector` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class UpdateVectorParamsVectorItem extends FutureNumber {} -export class UpdateVectorParamsMetadata extends FutureAnyObject {} +export class UpdateVectorParamsVectorItem extends Future {} +export class UpdateVectorParamsMetadata extends Future {} + /** Vectors to upsert. */ -export class UpdateVectorsInVectors extends FutureArray { - /** Returns `UpdateVectorParams` at given index. */ - override at(index: number) { - return new UpdateVectorParams(this._directive.next(index)); +export class UpdateVectorsInVectors extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `UpdateVectorsInVectors` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Document IDs to delete. */ -export class DeleteVectorsInIds extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class DeleteVectorsInIds extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `DeleteVectorsInIds` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class DeleteVectorsInIdsItem extends FutureString {} +export class DeleteVectorsInIdsItem extends Future {} + /** Texts to embed and use for the query. */ -export class QueryVectorStoreInQueryStrings extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class QueryVectorStoreInQueryStrings extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `QueryVectorStoreInQueryStrings` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class QueryVectorStoreInQueryStringsItem extends FutureString {} +export class QueryVectorStoreInQueryStringsItem extends Future {} + /** Image URIs to embed and use for the query. */ -export class QueryVectorStoreInQueryImageUris extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class QueryVectorStoreInQueryImageUris extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `QueryVectorStoreInQueryImageUris` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class QueryVectorStoreInQueryImageUrisItem extends FutureString {} +export class QueryVectorStoreInQueryImageUrisItem extends Future {} + /** Vectors to use for the query. */ -export class QueryVectorStoreInQueryVectors extends FutureArray { - /** Returns `QueryVectorStoreInQueryVectorsItem` at given index. */ - override at(index: number) { - return new QueryVectorStoreInQueryVectorsItem(this._directive.next(index)); +export class QueryVectorStoreInQueryVectors extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future( + this._directive.next(index), + ); } /** Returns the result for `QueryVectorStoreInQueryVectors` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** QueryVectorStoreInQueryVectorsItem */ -export class QueryVectorStoreInQueryVectorsItem extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class QueryVectorStoreInQueryVectorsItem extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `QueryVectorStoreInQueryVectorsItem` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } + /** Document IDs to use for the query. */ -export class QueryVectorStoreInQueryIds extends FutureArray { - /** Returns `FutureString` at given index. */ - override at(index: number) { - return new FutureString(this._directive.next(index)); +export class QueryVectorStoreInQueryIds extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `QueryVectorStoreInQueryIds` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class QueryVectorStoreInQueryIdsItem extends FutureString {} -export class QueryVectorStoreInFilters extends FutureAnyObject {} +export class QueryVectorStoreInQueryIdsItem extends Future {} +export class QueryVectorStoreInFilters extends Future {} + /** Embedding vector. */ -export class VectorStoreQueryResultVector extends FutureArray { - /** Returns `FutureNumber` at given index. */ - override at(index: number) { - return new FutureNumber(this._directive.next(index)); +export class VectorStoreQueryResultVector extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `VectorStoreQueryResultVector` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; + protected override async _result(): Promise { + return super._result() as Promise; } } -export class VectorStoreQueryResultVectorItem extends FutureNumber {} -export class VectorStoreQueryResultMetadata extends FutureAnyObject {} +export class VectorStoreQueryResultVectorItem extends Future {} +export class VectorStoreQueryResultMetadata extends Future {} + /** Query results. */ -export class QueryVectorStoreOutResults extends FutureArray { - /** Returns `QueryVectorStoreOutResultsItem` at given index. */ - override at(index: number) { - return new QueryVectorStoreOutResultsItem(this._directive.next(index)); +export class QueryVectorStoreOutResults extends Future { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future( + this._directive.next(index), + ); } /** Returns the result for `QueryVectorStoreOutResults` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** QueryVectorStoreOutResultsItem */ -export class QueryVectorStoreOutResultsItem extends FutureArray { - /** Returns `VectorStoreQueryResult` at given index. */ - override at(index: number) { - return new VectorStoreQueryResult(this._directive.next(index)); +export class QueryVectorStoreOutResultsItem extends Future< + VectorStoreQueryResult[] +> { + /** Returns `Future` at given index. */ + at(index: number) { + return new Future(this._directive.next(index)); } /** Returns the result for `QueryVectorStoreOutResultsItem` once it's node has been run. */ protected override async _result(): Promise { @@ -713,214 +806,81 @@ export class QueryVectorStoreOutResultsItem extends FutureArray { } } /** ErrorOut */ -export class ErrorOut extends FutureObject { +export class ErrorOut extends Future { /** The type of error returned. */ get type() { - return new FutureString(this._directive.next("type")); + return new Future(this._directive.next("type")); } /** A message providing more details about the error. */ get message() { - return new FutureString(this._directive.next("message")); + return new Future(this._directive.next("message")); } /** returns the result for `ErrorOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** ExperimentalIn */ -export class ExperimentalIn extends FutureObject { - /** Identifier. */ - get name() { - return new FutureString(this._directive.next("name")); - } - /** Arguments. */ - get args() { - return new FutureAnyObject(this._directive.next("args")); - } - /** (Optional) Timeout in seconds. */ - get timeout() { - return new FutureNumber(this._directive.next("timeout")); - } - /** returns the result for `ExperimentalIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** ExperimentalOut */ -export class ExperimentalOut extends FutureObject { +export class ExperimentalOut extends Future { /** Response. */ get output() { - return new FutureAnyObject(this._directive.next("output")); + return new Future(this._directive.next("output")); } /** returns the result for `ExperimentalOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** BoxIn */ -export class BoxIn extends FutureObject { - /** Values to box. */ - get value() { - return new FutureAnyObject(this._directive.next("value")); - } - /** returns the result for `BoxIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** BoxOut */ -export class BoxOut extends FutureObject { +export class BoxOut extends Future { /** The evaluated result. */ get value() { - return new FutureAnyObject(this._directive.next("value")); + return new Future(this._directive.next("value")); } /** returns the result for `BoxOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** IfIn */ -export class IfIn extends FutureObject { - /** Condition. */ - get condition() { - return new FutureBoolean(this._directive.next("condition")); - } - - /** Result when condition is true. */ - get value_if_true() { - return new FutureAnyObject(this._directive.next("value_if_true")); - } - - /** (Optional) Result when condition is false. */ - get value_if_false() { - return new FutureAnyObject(this._directive.next("value_if_false")); - } - /** returns the result for `IfIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** IfOut */ -export class IfOut extends FutureObject { +export class IfOut extends Future { /** Result. Null if `value_if_false` is not provided and `condition` is false. */ get result() { - return new FutureAnyObject(this._directive.next("result")); + return new Future(this._directive.next("result")); } /** returns the result for `IfOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** ComputeTextIn */ -export class ComputeTextIn extends FutureObject { - /** Input prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - - /** (Optional) Image prompts. */ - get image_uris() { - return new ComputeTextInImageUris(this._directive.next("image_uris")); - } - /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** (Optional) Selected model. `Firellava13B` is automatically selected when `image_uris` is provided. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `ComputeTextIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** ComputeTextOut */ -export class ComputeTextOut extends FutureObject { +export class ComputeTextOut extends Future { /** Text response. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** returns the result for `ComputeTextOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** ComputeJSONIn */ -export class ComputeJSONIn extends FutureObject { - /** Input prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** JSON schema to guide `json_object` response. */ - get json_schema() { - return new FutureAnyObject(this._directive.next("json_schema")); - } - /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** (Optional) Selected model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `ComputeJSONIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** ComputeJSONOut */ -export class ComputeJSONOut extends FutureObject { +export class ComputeJSONOut extends Future { /** JSON response. */ get json_object() { - return new FutureAnyObject(this._directive.next("json_object")); + return new Future(this._directive.next("json_object")); } /** If the model output could not be parsed to JSON, this is the raw text output. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** returns the result for `ComputeJSONOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** MultiComputeTextIn */ -export class MultiComputeTextIn extends FutureObject { - /** Input prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** Number of choices to generate. */ - get num_choices() { - return new FutureNumber(this._directive.next("num_choices")); - } - /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** (Optional) Selected model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `MultiComputeTextIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** MultiComputeTextOut */ -export class MultiComputeTextOut extends FutureObject { +export class MultiComputeTextOut extends Future { /** Response choices. */ get choices() { return new MultiComputeTextOutChoices(this._directive.next("choices")); @@ -930,31 +890,8 @@ export class MultiComputeTextOut extends FutureObject { return super._result() as Promise; } } -/** BatchComputeTextIn */ -export class BatchComputeTextIn extends FutureObject { - /** Batch input prompts. */ - get prompts() { - return new BatchComputeTextInPrompts(this._directive.next("prompts")); - } - /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** (Optional) Selected model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `BatchComputeTextIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** BatchComputeTextOut */ -export class BatchComputeTextOut extends FutureObject { +export class BatchComputeTextOut extends Future { /** Batch outputs. */ get outputs() { return new BatchComputeTextOutOutputs(this._directive.next("outputs")); @@ -964,39 +901,8 @@ export class BatchComputeTextOut extends FutureObject { return super._result() as Promise; } } -/** MultiComputeJSONIn */ -export class MultiComputeJSONIn extends FutureObject { - /** Input prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** JSON schema to guide `json_object` response. */ - get json_schema() { - return new FutureAnyObject(this._directive.next("json_schema")); - } - /** Number of choices to generate. */ - get num_choices() { - return new FutureNumber(this._directive.next("num_choices")); - } - /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** (Optional) Selected model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `MultiComputeJSONIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** MultiComputeJSONOut */ -export class MultiComputeJSONOut extends FutureObject { +export class MultiComputeJSONOut extends Future { /** Response choices. */ get choices() { return new MultiComputeJSONOutChoices(this._directive.next("choices")); @@ -1006,35 +912,8 @@ export class MultiComputeJSONOut extends FutureObject { return super._result() as Promise; } } -/** BatchComputeJSONIn */ -export class BatchComputeJSONIn extends FutureObject { - /** Batch input prompts. */ - get prompts() { - return new BatchComputeJSONInPrompts(this._directive.next("prompts")); - } - /** JSON schema to guide `json_object` response. */ - get json_schema() { - return new FutureAnyObject(this._directive.next("json_schema")); - } - /** (Optional) Sampling temperature to use. Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** (Optional) Selected model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `BatchComputeJSONIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** BatchComputeJSONOut */ -export class BatchComputeJSONOut extends FutureObject { +export class BatchComputeJSONOut extends Future { /** Batch outputs. */ get outputs() { return new BatchComputeJSONOutOutputs(this._directive.next("outputs")); @@ -1044,62 +923,15 @@ export class BatchComputeJSONOut extends FutureObject { return super._result() as Promise; } } -/** Mistral7BInstructIn */ -export class Mistral7BInstructIn extends FutureObject { - /** Input prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) System prompt. */ - get system_prompt() { - return new FutureString(this._directive.next("system_prompt")); - } - /** (Optional) Number of choices to generate. */ - get num_choices() { - return new FutureNumber(this._directive.next("num_choices")); - } - /** (Optional) JSON schema to guide response. */ - get json_schema() { - return new FutureAnyObject(this._directive.next("json_schema")); - } - /** (Optional) Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Higher values decrease the likelihood of repeating previous tokens. */ - get frequency_penalty() { - return new FutureNumber(this._directive.next("frequency_penalty")); - } - /** (Optional) Higher values decrease the likelihood of repeated sequences. */ - get repetition_penalty() { - return new FutureNumber(this._directive.next("repetition_penalty")); - } - /** (Optional) Higher values increase the likelihood of new topics appearing. */ - get presence_penalty() { - return new FutureNumber(this._directive.next("presence_penalty")); - } - /** (Optional) Probability below which less likely tokens are filtered out. */ - get top_p() { - return new FutureNumber(this._directive.next("top_p")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** returns the result for `Mistral7BInstructIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** Mistral7BInstructChoice */ -export class Mistral7BInstructChoice extends FutureObject { +export class Mistral7BInstructChoice extends Future { /** Text response, if `json_schema` was not provided. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** JSON response, if `json_schema` was provided. */ get json_object() { - return new FutureAnyObject(this._directive.next("json_object")); + return new Future(this._directive.next("json_object")); } /** returns the result for `Mistral7BInstructChoice` once it's node has been run. */ protected override async _result(): Promise { @@ -1107,7 +939,7 @@ export class Mistral7BInstructChoice extends FutureObject { } } /** Mistral7BInstructOut */ -export class Mistral7BInstructOut extends FutureObject { +export class Mistral7BInstructOut extends Future { /** Response choices. */ get choices() { return new Mistral7BInstructOutChoices(this._directive.next("choices")); @@ -1117,62 +949,15 @@ export class Mistral7BInstructOut extends FutureObject { return super._result() as Promise; } } -/** Mixtral8x7BInstructIn */ -export class Mixtral8x7BInstructIn extends FutureObject { - /** Input prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) System prompt. */ - get system_prompt() { - return new FutureString(this._directive.next("system_prompt")); - } - /** (Optional) Number of choices to generate. */ - get num_choices() { - return new FutureNumber(this._directive.next("num_choices")); - } - /** (Optional) JSON schema to guide response. */ - get json_schema() { - return new FutureAnyObject(this._directive.next("json_schema")); - } - /** (Optional) Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Higher values decrease the likelihood of repeating previous tokens. */ - get frequency_penalty() { - return new FutureNumber(this._directive.next("frequency_penalty")); - } - /** (Optional) Higher values decrease the likelihood of repeated sequences. */ - get repetition_penalty() { - return new FutureNumber(this._directive.next("repetition_penalty")); - } - /** (Optional) Higher values increase the likelihood of new topics appearing. */ - get presence_penalty() { - return new FutureNumber(this._directive.next("presence_penalty")); - } - /** (Optional) Probability below which less likely tokens are filtered out. */ - get top_p() { - return new FutureNumber(this._directive.next("top_p")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** returns the result for `Mixtral8x7BInstructIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** Mixtral8x7BChoice */ -export class Mixtral8x7BChoice extends FutureObject { +export class Mixtral8x7BChoice extends Future { /** Text response, if `json_schema` was not provided. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** JSON response, if `json_schema` was provided. */ get json_object() { - return new FutureAnyObject(this._directive.next("json_object")); + return new Future(this._directive.next("json_object")); } /** returns the result for `Mixtral8x7BChoice` once it's node has been run. */ protected override async _result(): Promise { @@ -1180,7 +965,7 @@ export class Mixtral8x7BChoice extends FutureObject { } } /** Mixtral8x7BInstructOut */ -export class Mixtral8x7BInstructOut extends FutureObject { +export class Mixtral8x7BInstructOut extends Future { /** Response choices. */ get choices() { return new Mixtral8x7BInstructOutChoices(this._directive.next("choices")); @@ -1190,62 +975,15 @@ export class Mixtral8x7BInstructOut extends FutureObject { return super._result() as Promise; } } -/** Llama3Instruct8BIn */ -export class Llama3Instruct8BIn extends FutureObject { - /** Input prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) System prompt. */ - get system_prompt() { - return new FutureString(this._directive.next("system_prompt")); - } - /** (Optional) Number of choices to generate. */ - get num_choices() { - return new FutureNumber(this._directive.next("num_choices")); - } - /** (Optional) Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Higher values decrease the likelihood of repeating previous tokens. */ - get frequency_penalty() { - return new FutureNumber(this._directive.next("frequency_penalty")); - } - /** (Optional) Higher values decrease the likelihood of repeated sequences. */ - get repetition_penalty() { - return new FutureNumber(this._directive.next("repetition_penalty")); - } - /** (Optional) Higher values increase the likelihood of new topics appearing. */ - get presence_penalty() { - return new FutureNumber(this._directive.next("presence_penalty")); - } - /** (Optional) Probability below which less likely tokens are filtered out. */ - get top_p() { - return new FutureNumber(this._directive.next("top_p")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** (Optional) JSON schema to guide response. */ - get json_schema() { - return new FutureAnyObject(this._directive.next("json_schema")); - } - /** returns the result for `Llama3Instruct8BIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** Llama3Instruct8BChoice */ -export class Llama3Instruct8BChoice extends FutureObject { +export class Llama3Instruct8BChoice extends Future { /** Text response. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** JSON response, if `json_schema` was provided. */ get json_object() { - return new FutureAnyObject(this._directive.next("json_object")); + return new Future(this._directive.next("json_object")); } /** returns the result for `Llama3Instruct8BChoice` once it's node has been run. */ protected override async _result(): Promise { @@ -1253,7 +991,7 @@ export class Llama3Instruct8BChoice extends FutureObject { } } /** Llama3Instruct8BOut */ -export class Llama3Instruct8BOut extends FutureObject { +export class Llama3Instruct8BOut extends Future { /** Response choices. */ get choices() { return new Llama3Instruct8BOutChoices(this._directive.next("choices")); @@ -1263,54 +1001,11 @@ export class Llama3Instruct8BOut extends FutureObject { return super._result() as Promise; } } -/** Llama3Instruct70BIn */ -export class Llama3Instruct70BIn extends FutureObject { - /** Input prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) System prompt. */ - get system_prompt() { - return new FutureString(this._directive.next("system_prompt")); - } - /** (Optional) Number of choices to generate. */ - get num_choices() { - return new FutureNumber(this._directive.next("num_choices")); - } - /** (Optional) Higher values make the output more random, lower values make the output more deterministic. */ - get temperature() { - return new FutureNumber(this._directive.next("temperature")); - } - /** (Optional) Higher values decrease the likelihood of repeating previous tokens. */ - get frequency_penalty() { - return new FutureNumber(this._directive.next("frequency_penalty")); - } - /** (Optional) Higher values decrease the likelihood of repeated sequences. */ - get repetition_penalty() { - return new FutureNumber(this._directive.next("repetition_penalty")); - } - /** (Optional) Higher values increase the likelihood of new topics appearing. */ - get presence_penalty() { - return new FutureNumber(this._directive.next("presence_penalty")); - } - /** (Optional) Probability below which less likely tokens are filtered out. */ - get top_p() { - return new FutureNumber(this._directive.next("top_p")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** returns the result for `Llama3Instruct70BIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** Llama3Instruct70BChoice */ -export class Llama3Instruct70BChoice extends FutureObject { +export class Llama3Instruct70BChoice extends Future { /** Text response. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** returns the result for `Llama3Instruct70BChoice` once it's node has been run. */ protected override async _result(): Promise { @@ -1318,7 +1013,7 @@ export class Llama3Instruct70BChoice extends FutureObject { } } /** Llama3Instruct70BOut */ -export class Llama3Instruct70BOut extends FutureObject { +export class Llama3Instruct70BOut extends Future { /** Response choices. */ get choices() { return new Llama3Instruct70BOutChoices(this._directive.next("choices")); @@ -1328,84 +1023,30 @@ export class Llama3Instruct70BOut extends FutureObject { return super._result() as Promise; } } -/** Firellava13BIn */ -export class Firellava13BIn extends FutureObject { - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - - /** Image prompts. */ - get image_uris() { - return new Firellava13BInImageUris(this._directive.next("image_uris")); - } - /** (Optional) Maximum number of tokens to generate. */ - get max_tokens() { - return new FutureNumber(this._directive.next("max_tokens")); - } - /** returns the result for `Firellava13BIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** Firellava13BOut */ -export class Firellava13BOut extends FutureObject { +export class Firellava13BOut extends Future { /** Text response. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** returns the result for `Firellava13BOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** GenerateImageIn */ -export class GenerateImageIn extends FutureObject { - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `GenerateImageIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** GenerateImageOut */ -export class GenerateImageOut extends FutureObject { +export class GenerateImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** returns the result for `GenerateImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** MultiGenerateImageIn */ -export class MultiGenerateImageIn extends FutureObject { - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** Number of images to generate. */ - get num_images() { - return new FutureNumber(this._directive.next("num_images")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `MultiGenerateImageIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** MultiGenerateImageOut */ -export class MultiGenerateImageOut extends FutureObject { +export class MultiGenerateImageOut extends Future { /** Generated images. */ get outputs() { return new MultiGenerateImageOutOutputs(this._directive.next("outputs")); @@ -1415,59 +1056,15 @@ export class MultiGenerateImageOut extends FutureObject { return super._result() as Promise; } } -/** StableDiffusionXLIn */ -export class StableDiffusionXLIn extends FutureObject { - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) Negative input prompt. */ - get negative_prompt() { - return new FutureString(this._directive.next("negative_prompt")); - } - /** (Optional) Number of diffusion steps. */ - get steps() { - return new FutureNumber(this._directive.next("steps")); - } - /** Number of images to generate. */ - get num_images() { - return new FutureNumber(this._directive.next("num_images")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** (Optional) Height of output image, in pixels. */ - get height() { - return new FutureNumber(this._directive.next("height")); - } - /** (Optional) Width of output image, in pixels. */ - get width() { - return new FutureNumber(this._directive.next("width")); - } - - /** (Optional) Seeds for deterministic generation. Default is a random seed. */ - get seeds() { - return new StableDiffusionXLInSeeds(this._directive.next("seeds")); - } - /** (Optional) Higher values adhere to the text prompt more strongly, typically at the expense of image quality. */ - get guidance_scale() { - return new FutureNumber(this._directive.next("guidance_scale")); - } - /** returns the result for `StableDiffusionXLIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** StableDiffusionImage */ -export class StableDiffusionImage extends FutureObject { +export class StableDiffusionImage extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** The random noise seed used for generation. */ get seed() { - return new FutureNumber(this._directive.next("seed")); + return new Future(this._directive.next("seed")); } /** returns the result for `StableDiffusionImage` once it's node has been run. */ protected override async _result(): Promise { @@ -1475,7 +1072,7 @@ export class StableDiffusionImage extends FutureObject { } } /** StableDiffusionXLOut */ -export class StableDiffusionXLOut extends FutureObject { +export class StableDiffusionXLOut extends Future { /** Generated images. */ get outputs() { return new StableDiffusionXLOutOutputs(this._directive.next("outputs")); @@ -1485,44 +1082,8 @@ export class StableDiffusionXLOut extends FutureObject { return super._result() as Promise; } } -/** StableDiffusionXLLightningIn */ -export class StableDiffusionXLLightningIn extends FutureObject { - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) Negative input prompt. */ - get negative_prompt() { - return new FutureString(this._directive.next("negative_prompt")); - } - /** (Optional) Number of images to generate. */ - get num_images() { - return new FutureNumber(this._directive.next("num_images")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** (Optional) Height of output image, in pixels. */ - get height() { - return new FutureNumber(this._directive.next("height")); - } - /** (Optional) Width of output image, in pixels. */ - get width() { - return new FutureNumber(this._directive.next("width")); - } - - /** (Optional) Seeds for deterministic generation. Default is a random seed. */ - get seeds() { - return new StableDiffusionXLLightningInSeeds(this._directive.next("seeds")); - } - /** returns the result for `StableDiffusionXLLightningIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** StableDiffusionXLLightningOut */ -export class StableDiffusionXLLightningOut extends FutureObject { +export class StableDiffusionXLLightningOut extends Future { /** Generated images. */ get outputs() { return new StableDiffusionXLLightningOutOutputs( @@ -1534,52 +1095,8 @@ export class StableDiffusionXLLightningOut extends FutureObject { return super._result() as Promise; } } -/** StableDiffusionXLIPAdapterIn */ -export class StableDiffusionXLIPAdapterIn extends FutureObject { - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** Image prompt. */ - get image_prompt_uri() { - return new FutureString(this._directive.next("image_prompt_uri")); - } - /** Number of images to generate. */ - get num_images() { - return new FutureNumber(this._directive.next("num_images")); - } - /** (Optional) Controls the influence of the image prompt on the generated output. */ - get ip_adapter_scale() { - return new FutureNumber(this._directive.next("ip_adapter_scale")); - } - /** (Optional) Negative input prompt. */ - get negative_prompt() { - return new FutureString(this._directive.next("negative_prompt")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** (Optional) Width of output image, in pixels. */ - get width() { - return new FutureNumber(this._directive.next("width")); - } - /** (Optional) Height of output image, in pixels. */ - get height() { - return new FutureNumber(this._directive.next("height")); - } - - /** (Optional) Random noise seeds. Default is random seeds for each generation. */ - get seeds() { - return new StableDiffusionXLIPAdapterInSeeds(this._directive.next("seeds")); - } - /** returns the result for `StableDiffusionXLIPAdapterIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** StableDiffusionXLIPAdapterOut */ -export class StableDiffusionXLIPAdapterOut extends FutureObject { +export class StableDiffusionXLIPAdapterOut extends Future { /** Generated images. */ get outputs() { return new StableDiffusionXLIPAdapterOutOutputs( @@ -1591,58 +1108,8 @@ export class StableDiffusionXLIPAdapterOut extends FutureObject { return super._result() as Promise; } } -/** StableDiffusionXLControlNetIn */ -export class StableDiffusionXLControlNetIn extends FutureObject { - /** Input image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** Strategy to control generation using the input image. */ - get control_method() { - return new FutureString(this._directive.next("control_method")); - } - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** Number of images to generate. */ - get num_images() { - return new FutureNumber(this._directive.next("num_images")); - } - /** (Optional) Resolution of the output image, in pixels. */ - get output_resolution() { - return new FutureNumber(this._directive.next("output_resolution")); - } - /** (Optional) Negative input prompt. */ - get negative_prompt() { - return new FutureString(this._directive.next("negative_prompt")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** (Optional) Controls the influence of the input image on the generated output. */ - get conditioning_scale() { - return new FutureNumber(this._directive.next("conditioning_scale")); - } - /** (Optional) Controls how much to transform the input image. */ - get strength() { - return new FutureNumber(this._directive.next("strength")); - } - - /** (Optional) Random noise seeds. Default is random seeds for each generation. */ - get seeds() { - return new StableDiffusionXLControlNetInSeeds( - this._directive.next("seeds"), - ); - } - /** returns the result for `StableDiffusionXLControlNetIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** StableDiffusionXLControlNetOut */ -export class StableDiffusionXLControlNetOut extends FutureObject { +export class StableDiffusionXLControlNetOut extends Future { /** Generated images. */ get outputs() { return new StableDiffusionXLControlNetOutOutputs( @@ -1654,69 +1121,19 @@ export class StableDiffusionXLControlNetOut extends FutureObject { return super._result() as Promise; } } -/** InpaintImageIn */ -export class InpaintImageIn extends FutureObject { - /** Original image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) Mask image that controls which pixels are inpainted. If unset, the entire image is edited (image-to-image). */ - get mask_image_uri() { - return new FutureString(this._directive.next("mask_image_uri")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `InpaintImageIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** InpaintImageOut */ -export class InpaintImageOut extends FutureObject { +export class InpaintImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** returns the result for `InpaintImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** MultiInpaintImageIn */ -export class MultiInpaintImageIn extends FutureObject { - /** Original image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) Mask image that controls which pixels are edited (inpainting). If unset, the entire image is edited (image-to-image). */ - get mask_image_uri() { - return new FutureString(this._directive.next("mask_image_uri")); - } - /** Number of images to generate. */ - get num_images() { - return new FutureNumber(this._directive.next("num_images")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `MultiInpaintImageIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** MultiInpaintImageOut */ -export class MultiInpaintImageOut extends FutureObject { +export class MultiInpaintImageOut extends Future { /** Generated images. */ get outputs() { return new MultiInpaintImageOutOutputs(this._directive.next("outputs")); @@ -1726,52 +1143,8 @@ export class MultiInpaintImageOut extends FutureObject { return super._result() as Promise; } } -/** StableDiffusionXLInpaintIn */ -export class StableDiffusionXLInpaintIn extends FutureObject { - /** Original image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** Text prompt. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) Mask image that controls which pixels are edited (inpainting). If unset, the entire image is edited (image-to-image). */ - get mask_image_uri() { - return new FutureString(this._directive.next("mask_image_uri")); - } - /** Number of images to generate. */ - get num_images() { - return new FutureNumber(this._directive.next("num_images")); - } - /** (Optional) Resolution of the output image, in pixels. */ - get output_resolution() { - return new FutureNumber(this._directive.next("output_resolution")); - } - /** (Optional) Negative input prompt. */ - get negative_prompt() { - return new FutureString(this._directive.next("negative_prompt")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** (Optional) Controls the strength of the generation process. */ - get strength() { - return new FutureNumber(this._directive.next("strength")); - } - - /** (Optional) Random noise seeds. Default is random seeds for each generation. */ - get seeds() { - return new StableDiffusionXLInpaintInSeeds(this._directive.next("seeds")); - } - /** returns the result for `StableDiffusionXLInpaintIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** StableDiffusionXLInpaintOut */ -export class StableDiffusionXLInpaintOut extends FutureObject { +export class StableDiffusionXLInpaintOut extends Future { /** Generated images. */ get outputs() { return new StableDiffusionXLInpaintOutOutputs( @@ -1784,22 +1157,22 @@ export class StableDiffusionXLInpaintOut extends FutureObject { } } /** BoundingBox */ -export class BoundingBox extends FutureObject { +export class BoundingBox extends Future { /** Top left corner x. */ get x1() { - return new FutureNumber(this._directive.next("x1")); + return new Future(this._directive.next("x1")); } /** Top left corner y. */ get y1() { - return new FutureNumber(this._directive.next("y1")); + return new Future(this._directive.next("y1")); } /** Bottom right corner x. */ get x2() { - return new FutureNumber(this._directive.next("x2")); + return new Future(this._directive.next("x2")); } /** Bottom right corner y. */ get y2() { - return new FutureNumber(this._directive.next("y2")); + return new Future(this._directive.next("y2")); } /** returns the result for `BoundingBox` once it's node has been run. */ protected override async _result(): Promise { @@ -1807,294 +1180,114 @@ export class BoundingBox extends FutureObject { } } /** Point */ -export class Point extends FutureObject { +export class Point extends Future { /** X position. */ get x() { - return new FutureNumber(this._directive.next("x")); + return new Future(this._directive.next("x")); } /** Y position. */ get y() { - return new FutureNumber(this._directive.next("y")); + return new Future(this._directive.next("y")); } /** returns the result for `Point` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** EraseImageIn */ -export class EraseImageIn extends FutureObject { - /** Input image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** Mask image that controls which pixels are inpainted. */ - get mask_image_uri() { - return new FutureString(this._directive.next("mask_image_uri")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `EraseImageIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** EraseImageOut */ -export class EraseImageOut extends FutureObject { +export class EraseImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** returns the result for `EraseImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** BigLaMaIn */ -export class BigLaMaIn extends FutureObject { - /** Input image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** Mask image that controls which pixels are inpainted. */ - get mask_image_uri() { - return new FutureString(this._directive.next("mask_image_uri")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `BigLaMaIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** BigLaMaOut */ -export class BigLaMaOut extends FutureObject { +export class BigLaMaOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** returns the result for `BigLaMaOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** RemoveBackgroundIn */ -export class RemoveBackgroundIn extends FutureObject { - /** Input image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** (Optional) Return a mask image instead of the original content. */ - get return_mask() { - return new FutureBoolean(this._directive.next("return_mask")); - } - /** (Optional) Hex value background color. Transparent if unset. */ - get background_color() { - return new FutureString(this._directive.next("background_color")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `RemoveBackgroundIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** RemoveBackgroundOut */ -export class RemoveBackgroundOut extends FutureObject { +export class RemoveBackgroundOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** returns the result for `RemoveBackgroundOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** DISISNetIn */ -export class DISISNetIn extends FutureObject { - /** Input image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `DISISNetIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** DISISNetOut */ -export class DISISNetOut extends FutureObject { +export class DISISNetOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** returns the result for `DISISNetOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** UpscaleImageIn */ -export class UpscaleImageIn extends FutureObject { - /** (Optional) Prompt to guide model on the content of image to upscale. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** Input image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** (Optional) Resolution of the output image, in pixels. */ - get output_resolution() { - return new FutureNumber(this._directive.next("output_resolution")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `UpscaleImageIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** UpscaleImageOut */ -export class UpscaleImageOut extends FutureObject { +export class UpscaleImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** returns the result for `UpscaleImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** SegmentUnderPointIn */ -export class SegmentUnderPointIn extends FutureObject { - /** Input image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** Point prompt. */ - get point() { - return new Point(this._directive.next("point")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `SegmentUnderPointIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** SegmentUnderPointOut */ -export class SegmentUnderPointOut extends FutureObject { +export class SegmentUnderPointOut extends Future { /** Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get mask_image_uri() { - return new FutureString(this._directive.next("mask_image_uri")); + return new Future(this._directive.next("mask_image_uri")); } /** returns the result for `SegmentUnderPointOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** SegmentAnythingIn */ -export class SegmentAnythingIn extends FutureObject { - /** Input image. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - - /** (Optional) Point prompts, to detect a segment under the point. One of `point_prompts` or `box_prompts` must be set. */ - get point_prompts() { - return new SegmentAnythingInPointPrompts( - this._directive.next("point_prompts"), - ); - } - - /** (Optional) Box prompts, to detect a segment within the bounding box. One of `point_prompts` or `box_prompts` must be set. */ - get box_prompts() { - return new SegmentAnythingInBoxPrompts(this._directive.next("box_prompts")); - } - /** (Optional) Use "hosted" to return an image URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the image data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `SegmentAnythingIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** SegmentAnythingOut */ -export class SegmentAnythingOut extends FutureObject { +export class SegmentAnythingOut extends Future { /** Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get mask_image_uri() { - return new FutureString(this._directive.next("mask_image_uri")); + return new Future(this._directive.next("mask_image_uri")); } /** returns the result for `SegmentAnythingOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** TranscribeSpeechIn */ -export class TranscribeSpeechIn extends FutureObject { - /** Input audio. */ - get audio_uri() { - return new FutureString(this._directive.next("audio_uri")); - } - /** (Optional) Prompt to guide model on the content and context of input audio. */ - get prompt() { - return new FutureString(this._directive.next("prompt")); - } - /** (Optional) Language of input audio in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format. */ - get language() { - return new FutureString(this._directive.next("language")); - } - /** (Optional) Segment the text into sentences with approximate timestamps. */ - get segment() { - return new FutureBoolean(this._directive.next("segment")); - } - /** (Optional) Align transcription to produce more accurate sentence-level timestamps and word-level timestamps. An array of word segments will be included in each sentence segment. */ - get align() { - return new FutureBoolean(this._directive.next("align")); - } - /** (Optional) Identify speakers for each segment. Speaker IDs will be included in each segment. */ - get diarize() { - return new FutureBoolean(this._directive.next("diarize")); - } - /** (Optional) Suggest automatic chapter markers. */ - get suggest_chapters() { - return new FutureBoolean(this._directive.next("suggest_chapters")); - } - /** returns the result for `TranscribeSpeechIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** TranscribedWord */ -export class TranscribedWord extends FutureObject { +export class TranscribedWord extends Future { /** Text of word. */ get word() { - return new FutureString(this._directive.next("word")); + return new Future(this._directive.next("word")); } /** (Optional) Start time of word, in seconds. */ get start() { - return new FutureNumber(this._directive.next("start")); + return new Future(this._directive.next("start")); } /** (Optional) End time of word, in seconds. */ get end() { - return new FutureNumber(this._directive.next("end")); + return new Future(this._directive.next("end")); } /** (Optional) ID of speaker, if `diarize` is enabled. */ get speaker() { - return new FutureString(this._directive.next("speaker")); + return new Future(this._directive.next("speaker")); } /** returns the result for `TranscribedWord` once it's node has been run. */ protected override async _result(): Promise { @@ -2102,22 +1295,22 @@ export class TranscribedWord extends FutureObject { } } /** TranscribedSegment */ -export class TranscribedSegment extends FutureObject { +export class TranscribedSegment extends Future { /** Text of segment. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** Start time of segment, in seconds. */ get start() { - return new FutureNumber(this._directive.next("start")); + return new Future(this._directive.next("start")); } /** End time of segment, in seconds. */ get end() { - return new FutureNumber(this._directive.next("end")); + return new Future(this._directive.next("end")); } /** (Optional) ID of speaker, if `diarize` is enabled. */ get speaker() { - return new FutureString(this._directive.next("speaker")); + return new Future(this._directive.next("speaker")); } /** (Optional) Aligned words, if `align` is enabled. */ @@ -2130,14 +1323,14 @@ export class TranscribedSegment extends FutureObject { } } /** ChapterMarker */ -export class ChapterMarker extends FutureObject { +export class ChapterMarker extends Future { /** Chapter title. */ get title() { - return new FutureString(this._directive.next("title")); + return new Future(this._directive.next("title")); } /** Start time of chapter, in seconds. */ get start() { - return new FutureNumber(this._directive.next("start")); + return new Future(this._directive.next("start")); } /** returns the result for `ChapterMarker` once it's node has been run. */ protected override async _result(): Promise { @@ -2145,10 +1338,10 @@ export class ChapterMarker extends FutureObject { } } /** TranscribeSpeechOut */ -export class TranscribeSpeechOut extends FutureObject { +export class TranscribeSpeechOut extends Future { /** Transcribed text. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** (Optional) Transcribed segments, if `segment` is enabled. */ @@ -2165,60 +1358,22 @@ export class TranscribeSpeechOut extends FutureObject { return super._result() as Promise; } } -/** GenerateSpeechIn */ -export class GenerateSpeechIn extends FutureObject { - /** Input text. */ - get text() { - return new FutureString(this._directive.next("text")); - } - /** (Optional) Use "hosted" to return an audio URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the audio data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `GenerateSpeechIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** GenerateSpeechOut */ -export class GenerateSpeechOut extends FutureObject { +export class GenerateSpeechOut extends Future { /** Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided. */ get audio_uri() { - return new FutureString(this._directive.next("audio_uri")); + return new Future(this._directive.next("audio_uri")); } /** returns the result for `GenerateSpeechOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** XTTSV2In */ -export class XTTSV2In extends FutureObject { - /** Input text. */ - get text() { - return new FutureString(this._directive.next("text")); - } - /** (Optional) Reference audio used to synthesize the speaker. If unset, a default speaker voice will be used. */ - get audio_uri() { - return new FutureString(this._directive.next("audio_uri")); - } - /** (Optional) Language of input text. Supported languages: `en, de, fr, es, it, pt, pl, zh, ar, cs, ru, nl, tr, hu, ko`. */ - get language() { - return new FutureString(this._directive.next("language")); - } - /** (Optional) Use "hosted" to return an audio URL hosted on Substrate. You can also provide a URL to a registered [file store](https://guides.substrate.run/guides/external-file-storage). If unset, the audio data will be returned as a base64-encoded string. */ - get store() { - return new FutureString(this._directive.next("store")); - } - /** returns the result for `XTTSV2In` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** XTTSV2Out */ -export class XTTSV2Out extends FutureObject { +export class XTTSV2Out extends Future { /** Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided. */ get audio_uri() { - return new FutureString(this._directive.next("audio_uri")); + return new Future(this._directive.next("audio_uri")); } /** returns the result for `XTTSV2Out` once it's node has been run. */ protected override async _result(): Promise { @@ -2226,60 +1381,26 @@ export class XTTSV2Out extends FutureObject { } } /** Embedding */ -export class Embedding extends FutureObject { +export class Embedding extends Future { /** Embedding vector. */ get vector() { return new EmbeddingVector(this._directive.next("vector")); } /** (Optional) Vector store document ID. */ get doc_id() { - return new FutureString(this._directive.next("doc_id")); + return new Future(this._directive.next("doc_id")); } /** (Optional) Vector store document metadata. */ get metadata() { - return new FutureAnyObject(this._directive.next("metadata")); + return new Future(this._directive.next("metadata")); } /** returns the result for `Embedding` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** EmbedTextIn */ -export class EmbedTextIn extends FutureObject { - /** Text to embed. */ - get text() { - return new FutureString(this._directive.next("text")); - } - /** (Optional) Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** (Optional) Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */ - get metadata() { - return new FutureAnyObject(this._directive.next("metadata")); - } - - /** (Optional) Choose keys from `metadata` to embed with text. */ - get embedded_metadata_keys() { - return new EmbedTextInEmbeddedMetadataKeys( - this._directive.next("embedded_metadata_keys"), - ); - } - /** (Optional) Vector store document ID. Ignored if `store` is unset. */ - get doc_id() { - return new FutureString(this._directive.next("doc_id")); - } - /** (Optional) Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `EmbedTextIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** EmbedTextOut */ -export class EmbedTextOut extends FutureObject { +export class EmbedTextOut extends Future { /** Generated embedding. */ get embedding() { return new Embedding(this._directive.next("embedding")); @@ -2290,52 +1411,26 @@ export class EmbedTextOut extends FutureObject { } } /** EmbedTextItem */ -export class EmbedTextItem extends FutureObject { +export class EmbedTextItem extends Future { /** Text to embed. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** (Optional) Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */ get metadata() { - return new FutureAnyObject(this._directive.next("metadata")); + return new Future(this._directive.next("metadata")); } /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { - return new FutureString(this._directive.next("doc_id")); + return new Future(this._directive.next("doc_id")); } /** returns the result for `EmbedTextItem` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** MultiEmbedTextIn */ -export class MultiEmbedTextIn extends FutureObject { - /** Items to embed. */ - get items() { - return new MultiEmbedTextInItems(this._directive.next("items")); - } - /** (Optional) Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - - /** (Optional) Choose keys from `metadata` to embed with text. */ - get embedded_metadata_keys() { - return new MultiEmbedTextInEmbeddedMetadataKeys( - this._directive.next("embedded_metadata_keys"), - ); - } - /** (Optional) Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `MultiEmbedTextIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** MultiEmbedTextOut */ -export class MultiEmbedTextOut extends FutureObject { +export class MultiEmbedTextOut extends Future { /** Generated embeddings. */ get embeddings() { return new MultiEmbedTextOutEmbeddings(this._directive.next("embeddings")); @@ -2345,30 +1440,8 @@ export class MultiEmbedTextOut extends FutureObject { return super._result() as Promise; } } -/** JinaV2In */ -export class JinaV2In extends FutureObject { - /** Items to embed. */ - get items() { - return new JinaV2InItems(this._directive.next("items")); - } - /** (Optional) Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - - /** (Optional) Choose keys from `metadata` to embed with text. */ - get embedded_metadata_keys() { - return new JinaV2InEmbeddedMetadataKeys( - this._directive.next("embedded_metadata_keys"), - ); - } - /** returns the result for `JinaV2In` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** JinaV2Out */ -export class JinaV2Out extends FutureObject { +export class JinaV2Out extends Future { /** Generated embeddings. */ get embeddings() { return new JinaV2OutEmbeddings(this._directive.next("embeddings")); @@ -2378,31 +1451,8 @@ export class JinaV2Out extends FutureObject { return super._result() as Promise; } } -/** EmbedImageIn */ -export class EmbedImageIn extends FutureObject { - /** Image to embed. */ - get image_uri() { - return new FutureString(this._directive.next("image_uri")); - } - /** (Optional) Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */ - get doc_id() { - return new FutureString(this._directive.next("doc_id")); - } - /** (Optional) Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `EmbedImageIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** EmbedImageOut */ -export class EmbedImageOut extends FutureObject { +export class EmbedImageOut extends Future { /** Generated embedding. */ get embedding() { return new Embedding(this._directive.next("embedding")); @@ -2413,14 +1463,14 @@ export class EmbedImageOut extends FutureObject { } } /** EmbedImageItem */ -export class EmbedImageItem extends FutureObject { +export class EmbedImageItem extends Future { /** Image to embed. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { - return new FutureString(this._directive.next("doc_id")); + return new Future(this._directive.next("doc_id")); } /** returns the result for `EmbedImageItem` once it's node has been run. */ protected override async _result(): Promise { @@ -2428,49 +1478,30 @@ export class EmbedImageItem extends FutureObject { } } /** EmbedTextOrImageItem */ -export class EmbedTextOrImageItem extends FutureObject { +export class EmbedTextOrImageItem extends Future { /** Image to embed. */ get image_uri() { - return new FutureString(this._directive.next("image_uri")); + return new Future(this._directive.next("image_uri")); } /** Text to embed. */ get text() { - return new FutureString(this._directive.next("text")); + return new Future(this._directive.next("text")); } /** Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */ get metadata() { - return new FutureAnyObject(this._directive.next("metadata")); + return new Future(this._directive.next("metadata")); } /** Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { - return new FutureString(this._directive.next("doc_id")); + return new Future(this._directive.next("doc_id")); } /** returns the result for `EmbedTextOrImageItem` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** MultiEmbedImageIn */ -export class MultiEmbedImageIn extends FutureObject { - /** Items to embed. */ - get items() { - return new MultiEmbedImageInItems(this._directive.next("items")); - } - /** (Optional) Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** (Optional) Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `MultiEmbedImageIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** MultiEmbedImageOut */ -export class MultiEmbedImageOut extends FutureObject { +export class MultiEmbedImageOut extends Future { /** Generated embeddings. */ get embeddings() { return new MultiEmbedImageOutEmbeddings(this._directive.next("embeddings")); @@ -2480,30 +1511,8 @@ export class MultiEmbedImageOut extends FutureObject { return super._result() as Promise; } } -/** CLIPIn */ -export class CLIPIn extends FutureObject { - /** Items to embed. */ - get items() { - return new CLIPInItems(this._directive.next("items")); - } - /** (Optional) Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - - /** (Optional) Choose keys from `metadata` to embed with text. Only applies to text items. */ - get embedded_metadata_keys() { - return new CLIPInEmbeddedMetadataKeys( - this._directive.next("embedded_metadata_keys"), - ); - } - /** returns the result for `CLIPIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** CLIPOut */ -export class CLIPOut extends FutureObject { +export class CLIPOut extends Future { /** Generated embeddings. */ get embeddings() { return new CLIPOutEmbeddings(this._directive.next("embeddings")); @@ -2513,45 +1522,23 @@ export class CLIPOut extends FutureObject { return super._result() as Promise; } } -/** FindOrCreateVectorStoreIn */ -export class FindOrCreateVectorStoreIn extends FutureObject { - /** Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `FindOrCreateVectorStoreIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** FindOrCreateVectorStoreOut */ -export class FindOrCreateVectorStoreOut extends FutureObject { +export class FindOrCreateVectorStoreOut extends Future { /** Vector store name. */ get collection_name() { - return new FutureString(this._directive.next("collection_name")); + return new Future(this._directive.next("collection_name")); } /** Selected embedding model. */ get model() { - return new FutureString(this._directive.next("model")); + return new Future(this._directive.next("model")); } /** returns the result for `FindOrCreateVectorStoreOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** ListVectorStoresIn */ -export class ListVectorStoresIn extends FutureObject { - /** returns the result for `ListVectorStoresIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** ListVectorStoresOut */ -export class ListVectorStoresOut extends FutureObject { +export class ListVectorStoresOut extends Future { /** List of vector stores. */ get items() { return new ListVectorStoresOutItems(this._directive.next("items")); @@ -2561,30 +1548,15 @@ export class ListVectorStoresOut extends FutureObject { return super._result() as Promise; } } -/** DeleteVectorStoreIn */ -export class DeleteVectorStoreIn extends FutureObject { - /** Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - /** returns the result for `DeleteVectorStoreIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** DeleteVectorStoreOut */ -export class DeleteVectorStoreOut extends FutureObject { +export class DeleteVectorStoreOut extends Future { /** Vector store name. */ get collection_name() { - return new FutureString(this._directive.next("collection_name")); + return new Future(this._directive.next("collection_name")); } /** Selected embedding model. */ get model() { - return new FutureString(this._directive.next("model")); + return new Future(this._directive.next("model")); } /** returns the result for `DeleteVectorStoreOut` once it's node has been run. */ protected override async _result(): Promise { @@ -2592,10 +1564,10 @@ export class DeleteVectorStoreOut extends FutureObject { } } /** Canonical representation of document with embedding vector. */ -export class Vector extends FutureObject { +export class Vector extends Future { /** Document ID. */ get id() { - return new FutureString(this._directive.next("id")); + return new Future(this._directive.next("id")); } /** Embedding vector. */ @@ -2604,35 +1576,15 @@ export class Vector extends FutureObject { } /** Document metadata. */ get metadata() { - return new FutureAnyObject(this._directive.next("metadata")); + return new Future(this._directive.next("metadata")); } /** returns the result for `Vector` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** FetchVectorsIn */ -export class FetchVectorsIn extends FutureObject { - /** Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - - /** Document IDs to retrieve. */ - get ids() { - return new FetchVectorsInIds(this._directive.next("ids")); - } - /** returns the result for `FetchVectorsIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** FetchVectorsOut */ -export class FetchVectorsOut extends FutureObject { +export class FetchVectorsOut extends Future { /** Retrieved vectors. */ get vectors() { return new FetchVectorsOutVectors(this._directive.next("vectors")); @@ -2643,10 +1595,10 @@ export class FetchVectorsOut extends FutureObject { } } /** UpdateVectorsOut */ -export class UpdateVectorsOut extends FutureObject { +export class UpdateVectorsOut extends Future { /** Number of vectors modified. */ get count() { - return new FutureNumber(this._directive.next("count")); + return new Future(this._directive.next("count")); } /** returns the result for `UpdateVectorsOut` once it's node has been run. */ protected override async _result(): Promise { @@ -2654,10 +1606,10 @@ export class UpdateVectorsOut extends FutureObject { } } /** DeleteVectorsOut */ -export class DeleteVectorsOut extends FutureObject { +export class DeleteVectorsOut extends Future { /** Number of vectors modified. */ get count() { - return new FutureNumber(this._directive.next("count")); + return new Future(this._directive.next("count")); } /** returns the result for `DeleteVectorsOut` once it's node has been run. */ protected override async _result(): Promise { @@ -2665,10 +1617,10 @@ export class DeleteVectorsOut extends FutureObject { } } /** UpdateVectorParams */ -export class UpdateVectorParams extends FutureObject { +export class UpdateVectorParams extends Future { /** Document ID. */ get id() { - return new FutureString(this._directive.next("id")); + return new Future(this._directive.next("id")); } /** (Optional) Embedding vector. */ @@ -2677,123 +1629,22 @@ export class UpdateVectorParams extends FutureObject { } /** (Optional) Document metadata. */ get metadata() { - return new FutureAnyObject(this._directive.next("metadata")); + return new Future(this._directive.next("metadata")); } /** returns the result for `UpdateVectorParams` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -/** UpdateVectorsIn */ -export class UpdateVectorsIn extends FutureObject { - /** Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - - /** Vectors to upsert. */ - get vectors() { - return new UpdateVectorsInVectors(this._directive.next("vectors")); - } - /** returns the result for `UpdateVectorsIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} -/** DeleteVectorsIn */ -export class DeleteVectorsIn extends FutureObject { - /** Vector store name. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - - /** Document IDs to delete. */ - get ids() { - return new DeleteVectorsInIds(this._directive.next("ids")); - } - /** returns the result for `DeleteVectorsIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} -/** QueryVectorStoreIn */ -export class QueryVectorStoreIn extends FutureObject { - /** Vector store to query against. */ - get collection_name() { - return new FutureString(this._directive.next("collection_name")); - } - /** Selected embedding model. */ - get model() { - return new FutureString(this._directive.next("model")); - } - - /** (Optional) Texts to embed and use for the query. */ - get query_strings() { - return new QueryVectorStoreInQueryStrings( - this._directive.next("query_strings"), - ); - } - - /** (Optional) Image URIs to embed and use for the query. */ - get query_image_uris() { - return new QueryVectorStoreInQueryImageUris( - this._directive.next("query_image_uris"), - ); - } - - /** (Optional) Vectors to use for the query. */ - get query_vectors() { - return new QueryVectorStoreInQueryVectors( - this._directive.next("query_vectors"), - ); - } - - /** (Optional) Document IDs to use for the query. */ - get query_ids() { - return new QueryVectorStoreInQueryIds(this._directive.next("query_ids")); - } - /** (Optional) Number of results to return. */ - get top_k() { - return new FutureNumber(this._directive.next("top_k")); - } - /** (Optional) The size of the dynamic candidate list for searching the index graph. */ - get ef_search() { - return new FutureNumber(this._directive.next("ef_search")); - } - /** (Optional) Include the values of the vectors in the response. */ - get include_values() { - return new FutureBoolean(this._directive.next("include_values")); - } - /** (Optional) Include the metadata of the vectors in the response. */ - get include_metadata() { - return new FutureBoolean(this._directive.next("include_metadata")); - } - /** (Optional) Filter metadata by key-value pairs. */ - get filters() { - return new FutureAnyObject(this._directive.next("filters")); - } - /** returns the result for `QueryVectorStoreIn` once it's node has been run. */ - protected override async _result(): Promise { - return super._result() as Promise; - } -} /** VectorStoreQueryResult */ -export class VectorStoreQueryResult extends FutureObject { +export class VectorStoreQueryResult extends Future { /** Document ID. */ get id() { - return new FutureString(this._directive.next("id")); + return new Future(this._directive.next("id")); } /** Similarity score. */ get distance() { - return new FutureNumber(this._directive.next("distance")); + return new Future(this._directive.next("distance")); } /** (Optional) Embedding vector. */ @@ -2802,7 +1653,7 @@ export class VectorStoreQueryResult extends FutureObject { } /** (Optional) Document metadata. */ get metadata() { - return new FutureAnyObject(this._directive.next("metadata")); + return new Future(this._directive.next("metadata")); } /** returns the result for `VectorStoreQueryResult` once it's node has been run. */ protected override async _result(): Promise { @@ -2810,18 +1661,18 @@ export class VectorStoreQueryResult extends FutureObject { } } /** QueryVectorStoreOut */ -export class QueryVectorStoreOut extends FutureObject { +export class QueryVectorStoreOut extends Future { /** Query results. */ get results() { return new QueryVectorStoreOutResults(this._directive.next("results")); } /** (Optional) Vector store name. */ get collection_name() { - return new FutureString(this._directive.next("collection_name")); + return new Future(this._directive.next("collection_name")); } /** (Optional) Selected embedding model. */ get model() { - return new FutureString(this._directive.next("model")); + return new Future(this._directive.next("model")); } /** returns the result for `QueryVectorStoreOut` once it's node has been run. */ protected override async _result(): Promise { diff --git a/src/index.ts b/src/index.ts index 1c4d49d..92cd503 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ /** * 𐃏 Substrate TypeScript SDK * @generated file - * 20240617.20240621 + * 20240617.20240703 */ export { SubstrateError } from "substrate/Error"; diff --git a/src/openapi.json b/src/openapi.json index 5e4f29b..f8e62eb 100644 --- a/src/openapi.json +++ b/src/openapi.json @@ -97,7 +97,7 @@ "condition": { "type": "boolean", "description": "Condition.", - "x-loggable": true + "x-loggable": false }, "value_if_true": { "description": "Result when condition is true.", diff --git a/src/sb.ts b/src/sb.ts index f94848c..1b940e3 100644 --- a/src/sb.ts +++ b/src/sb.ts @@ -1,10 +1,10 @@ -import { FutureAnyObject, FutureString } from "substrate/Future"; +import { concat, interpolate } from "substrate/Future"; import { StreamingResponse } from "substrate/SubstrateStreamingResponse"; export const sb = { - concat: FutureString.concat, - jq: FutureAnyObject.jq, - interpolate: FutureString.interpolate, + concat, + // jq: Future.jq, + interpolate, streaming: { fromSSEResponse: StreamingResponse.fromReponse, }, From 7cda69250bb09089cec7ec94a33e95b5f55ad290 Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Thu, 4 Jul 2024 10:26:07 -0400 Subject: [PATCH 02/10] Add `jq` export to `sb` --- src/sb.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sb.ts b/src/sb.ts index 1b940e3..3eb4773 100644 --- a/src/sb.ts +++ b/src/sb.ts @@ -1,9 +1,9 @@ -import { concat, interpolate } from "substrate/Future"; +import { concat, interpolate, jq } from "substrate/Future"; import { StreamingResponse } from "substrate/SubstrateStreamingResponse"; export const sb = { concat, - // jq: Future.jq, + jq, interpolate, streaming: { fromSSEResponse: StreamingResponse.fromReponse, From 6122021761a7459395b40d4c33b01bd11fe3fb2b Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Thu, 4 Jul 2024 11:10:21 -0400 Subject: [PATCH 03/10] Updates to `get`, `at` helpers, tests --- src/Future.ts | 133 ++++++++++++++++------------------------ src/sb.ts | 4 +- tests/Future.test.ts | 70 ++++++++++----------- tests/Node.test.ts | 24 ++++---- tests/Substrate.test.ts | 4 +- 5 files changed, 103 insertions(+), 132 deletions(-) diff --git a/src/Future.ts b/src/Future.ts index e87e9e5..6859d24 100644 --- a/src/Future.ts +++ b/src/Future.ts @@ -247,10 +247,24 @@ export class Future { } } +/** + * `concat` combines multiple `string` or `Future` items together into a new `Future`. + * + * @example + * + * let newFuture = concat("string", node.future.someString, "!") + */ export const concat = (...items: (string | Future)[]) => { return new Future(new StringConcat(items)); }; +/** + * `interpolate` creates a `Future` using interpolate and supports `Future` values. + * + * @example + * + * let newFuture = interpolate`hello ${"world"}, you look ${node.future.niceString} today.` + */ export const interpolate = ( strings: TemplateStringsArray, ...exprs: ({ toString(): string } | Future)[] @@ -263,6 +277,14 @@ export const interpolate = ( ); }; +/** + * `jq` supports running [jq](https://jqlang.github.io/jq) operations on a `Future` and returns a new `Future`. + * + * @example + * + * let newFuture = jq(node.future.json_object, ".country") + * + */ export const jq = ( future: JQDirectiveTarget, query: string, @@ -272,83 +294,36 @@ export const jq = ( return new Future(directive); }; -// export class FutureBoolean extends Future {} -// -// export class FutureString extends Future { -// static concat(...items: (string | FutureString)[]) { -// return new FutureString(new StringConcat(items)); -// } -// -// static interpolate( -// strings: TemplateStringsArray, -// ...exprs: ({ toString(): string } | FutureString)[] -// ): FutureString { -// return FutureString.concat( -// ...strings -// .filter((s) => s !== "") // FIXME: Work around until SubstrateLabs/substrate#514 is live -// .flatMap((s: string, i: number) => { -// const expr = exprs[i]; -// return expr -// ? [s, expr instanceof Future ? expr : expr.toString()] -// : [s]; -// }), -// ); -// } -// -// concat(...items: (string | FutureString)[]) { -// return FutureString.concat(...[this, ...items]); -// } -// -// protected override async _result(): Promise { -// return super._result(); -// } -// } -// -// export class FutureNumber extends Future {} -// -// export abstract class FutureArray extends Future { -// abstract at(index: number): Future; -// -// protected override async _result(): Promise { -// return super._result(); -// } -// } -// -// export abstract class FutureObject extends Future { -// get(path: string): Future { -// const props = parsePath(path); -// return props.reduce((future, prop) => { -// if (future instanceof FutureAnyObject) { -// return typeof prop === "string" -// ? future.get(prop as string) -// : future.at(prop as number); -// } else { -// // @ts-ignore -// return typeof prop === "string" ? future[prop] : future.at(prop); -// } -// }, this) as Future; -// } -// -// protected override async _result(): Promise { -// return super._result(); -// } -// } - -/** Represents a future of some unknown type, and so it is equipped with special accessors for getting values at arbitrary paths or indexes */ -export class FutureAny extends Future { - get(path: string | Future) { - const d = - typeof path === "string" - ? this._directive.next(...parsePath(path)) - : this._directive.next(path); - return new FutureAny(d); - } - - at(index: number | Future) { - return new FutureAny(this._directive.next(index)); - } +/** + * `get` returns a `Future` by selecting a value by path from a `Future`. + * + * @example + * + * let newFuture = get(node.future, "choices[0].text") + * + */ +export const get = ( + future: Future, + path: string | Future, +) => { + const d = + typeof path === "string" + ? // @ts-ignore (protected _directive) + future._directive.next(...parsePath(path)) + : // @ts-ignore (protected _directive) + future._directive.next(path); + return new Future(d); +}; - protected override async _result(): Promise { - return super._result(); - } -} +/** + * `at` returns a `Future` item at some index of a `Future` containing an array. + * + * @example + * + * let newFuture = at(node.future.strings, 0); + * + */ +export const at = (future: Future, index: number | Future) => { + // @ts-ignore (protected _directive) + return new Future(future._directive.next(index)); +}; diff --git a/src/sb.ts b/src/sb.ts index 3eb4773..9a9d08e 100644 --- a/src/sb.ts +++ b/src/sb.ts @@ -1,10 +1,12 @@ -import { concat, interpolate, jq } from "substrate/Future"; +import { concat, interpolate, jq, get, at } from "substrate/Future"; import { StreamingResponse } from "substrate/SubstrateStreamingResponse"; export const sb = { concat, jq, interpolate, + get, + at, streaming: { fromSSEResponse: StreamingResponse.fromReponse, }, diff --git a/tests/Future.test.ts b/tests/Future.test.ts index 9ca2251..c55e3a6 100644 --- a/tests/Future.test.ts +++ b/tests/Future.test.ts @@ -4,10 +4,10 @@ import "substrate/nodejs/polyfill"; import { expect, describe, test } from "vitest"; import { Future, - FutureString, - FutureNumber, Trace, StringConcat, + concat, + interpolate, } from "substrate/Future"; import { Node } from "substrate/Node"; import { SubstrateResponse } from "substrate/SubstrateResponse"; @@ -43,9 +43,9 @@ describe("Future", () => { }); test(".referencedFutures", () => { - const a = new FutureString(new Trace([], node())); - const b = new FutureString(new Trace([], node())); - const c = new FutureString(new StringConcat([a, b])); + const a = new Future(new Trace([], node())); + const b = new Future(new Trace([], node())); + const c = new Future(new StringConcat([a, b])); const f = new FooFuture(new StringConcat([c, "d"])); // @ts-expect-error (accessing protected property) @@ -54,8 +54,8 @@ describe("Future", () => { describe("Trace (Directive)", () => { test(".next", () => { - const s = new FutureString(new Trace([], node("123"))); - const n = new FutureNumber(new Trace([], node("456"))); + const s = new Future(new Trace([], node("123"))); + const n = new Future(new Trace([], node("456"))); const d = new Trace(["a", 1, s, n], node("NodeId")); const d2 = d.next("b", 2); @@ -75,16 +75,16 @@ describe("Future", () => { expect(t1.result()).resolves.toEqual("result1"); // when the trace contains futures, they get resolved - const fs = new FutureString(new Trace([], staticNode("b"))); - const fn = new FutureNumber(new Trace([], staticNode(1))); + const fs = new Future(new Trace([], staticNode("b"))); + const fn = new Future(new Trace([], staticNode(1))); const n2 = staticNode({ a: [{ b: [undefined, "result2"] }] }); const t2 = new Trace(["a", 0, fs, fn], n2); expect(t2.result()).resolves.toEqual("result2"); }); test(".toJSON", () => { - const s = new FutureString(new Trace([], node()), "123"); - const n = new FutureNumber(new Trace([], node()), "456"); + const s = new Future(new Trace([], node()), "123"); + const n = new Future(new Trace([], node()), "456"); const d = new Trace(["a", 1, s, n], node("NodeId")); expect(d.toJSON()).toEqual({ @@ -94,14 +94,15 @@ describe("Future", () => { Trace.Operation.key("attr", "a"), Trace.Operation.key("item", 1), Trace.Operation.future("attr", "123"), - Trace.Operation.future("item", "456"), + Trace.Operation.future("attr", "456"), // LIAM_TODO: there isn't a way to distinguish at runtime using static types + // Trace.Operation.future("item", "456"), ], }); }); test(".referencedFutures", () => { - const s = new FutureString(new Trace([], node())); - const n = new FutureNumber(new Trace([], node())); + const s = new Future(new Trace([], node())); + const n = new Future(new Trace([], node())); const d = new Trace(["a", 1, s, n], node("NodeId")); expect(d.referencedFutures()).toEqual([s, n]); @@ -110,8 +111,8 @@ describe("Future", () => { describe("StringConcat (Directive)", () => { test(".next", () => { - const s = new FutureString(new Trace([], node())); - const s2 = new FutureString(new Trace([], node())); + const s = new Future(new Trace([], node())); + const s2 = new Future(new Trace([], node())); const d = new StringConcat(["a", s]); const d2 = d.next("b", s2); @@ -128,13 +129,13 @@ describe("Future", () => { expect(s1.result()).resolves.toEqual("ab"); // when the items includes primitive values and futures - const fs = new FutureString(new Trace([], staticNode("b"))); + const fs = new Future(new Trace([], staticNode("b"))); const s2 = new StringConcat(["a", fs]); expect(s2.result()).resolves.toEqual("ab"); }); test(".toJSON", () => { - const s = new FutureString(new Trace([], node()), "123"); + const s = new Future(new Trace([], node()), "123"); const d = new StringConcat(["a", s]); expect(d.toJSON()).toEqual({ @@ -147,44 +148,37 @@ describe("Future", () => { }); test(".referencedFutures", () => { - const a = new FutureString(new Trace([], node())); - const b = new FutureString(new Trace([], node())); - const c = new FutureString(new StringConcat([a, b])); + const a = new Future(new Trace([], node())); + const b = new Future(new Trace([], node())); + const c = new Future(new StringConcat([a, b])); const d = new StringConcat([c, "d"]); expect(d.referencedFutures()).toEqual([c, a, b]); }); }); - describe("FutureString", () => { - test(".concat (static)", () => { - const s = FutureString.concat("a"); - expect(s).toBeInstanceOf(FutureString); - // @ts-expect-error (protected access) - expect(s._directive).toEqual(new StringConcat(["a"])); - }); - - test(".concat", () => { - const s1 = FutureString.concat("a"); - const s2 = s1.concat("b", "c"); - expect(s2).toBeInstanceOf(FutureString); + describe("Strings", () => { + test("concat", () => { + const s1 = concat("a"); + const s2 = concat(s1, "b", "c"); + expect(s2).toBeInstanceOf(Future); // @ts-expect-error (protected access) expect(s2._directive).toEqual(new StringConcat([s1, "b", "c"])); }); - test(".interpolate", async () => { + test("interpolate", async () => { const world = "world"; const nice = "nice"; - const i1 = FutureString.interpolate`hello ${world}, you look ${nice} today.`; + const i1 = interpolate`hello ${world}, you look ${nice} today.`; // @ts-expect-error expect(i1._result()).resolves.toEqual( "hello world, you look nice today.", ); - const f1 = FutureString.concat("texas", " ", "sun"); - const f2 = FutureString.concat("texas", " ", "moon"); - const i2 = FutureString.interpolate`~~ ${f1} x ${f2} ~~`; + const f1 = concat("texas", " ", "sun"); + const f2 = concat("texas", " ", "moon"); + const i2 = interpolate`~~ ${f1} x ${f2} ~~`; // @ts-expect-error expect(i2._result()).resolves.toEqual("~~ texas sun x texas moon ~~"); diff --git a/tests/Node.test.ts b/tests/Node.test.ts index ae2bf8c..931342a 100644 --- a/tests/Node.test.ts +++ b/tests/Node.test.ts @@ -1,6 +1,6 @@ import { expect, describe, test } from "vitest"; import { Node } from "substrate/Node"; -import { FutureString, Trace, StringConcat } from "substrate/Future"; +import { Future, Trace, StringConcat, get } from "substrate/Future"; class FooNode extends Node {} @@ -13,10 +13,10 @@ describe("Node", () => { }); test(".toJSON", () => { - const a = new FutureString(new Trace([], new FooNode({}))); - const b = new FutureString(new Trace([], new FooNode({}))); - const c = new FutureString(new StringConcat([a, b])); - const d = new FutureString(new StringConcat([c, "d"])); + const a = new Future(new Trace([], new FooNode({}))); + const b = new Future(new Trace([], new FooNode({}))); + const c = new Future(new StringConcat([a, b])); + const d = new Future(new StringConcat([c, "d"])); const n = new FooNode({ prompt: d }); expect(n.toJSON()).toEqual({ @@ -31,13 +31,13 @@ describe("Node", () => { }); test(".references", () => { - const a = new FooNode({ x: "x" }, { id: "a" }); - const f1 = a.future.get("x"); - const f2 = a.future.get("y"); - const b = new FooNode({ x: f1, z: f2 }, { id: "b" }); - const f3 = b.future.get("x"); - const c = new FooNode({ x: f3 }, { id: "c" }); - const d = new FooNode({}, { id: "d", depends: [c] }); + const a = new FooNode({ x: "x" }); + const f1 = get(a.future, "x"); + const f2 = get(a.future, "y"); + const b = new FooNode({ x: f1, z: f2 }); + const f3 = get(b.future, "x"); + const c = new FooNode({ x: f3 }); + const d = new FooNode({}, { depends: [c] }); // @ts-ignore (protected) const { nodes, futures } = d.references(); diff --git a/tests/Substrate.test.ts b/tests/Substrate.test.ts index dc08d00..7bc0238 100644 --- a/tests/Substrate.test.ts +++ b/tests/Substrate.test.ts @@ -10,7 +10,7 @@ describe("Substrate", () => { test("when there are nodes and futures", () => { const a = new FooNode({ a: 123 }, { id: "a" }); const b = new FooNode( - { b: a.future.get("x"), c: sb.concat("x", "y") }, + { b: sb.get(a.future, "x"), c: sb.concat("x", "y") }, { id: "b" }, ); @@ -79,7 +79,7 @@ describe("Substrate", () => { test("when there are nodes and futures, but we only supply the 'final' node", () => { const a = new FooNode({ a: 123 }); - const b = new FooNode({ b: a.future.get("x"), c: sb.concat("x", "y") }); + const b = new FooNode({ b: sb.get(a.future, "x"), c: sb.concat("x", "y") }); // Here we're only supplying `b` and relying on the graph-serialiation to find `a` const result = Substrate.serialize(b); From 9073fcd0d8ab605dc7de8868bea4dd1ee876bbbd Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Thu, 4 Jul 2024 11:12:25 -0400 Subject: [PATCH 04/10] Clean up some comments --- src/Future.ts | 29 +---------------------------- tests/Future.test.ts | 2 +- 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/src/Future.ts b/src/Future.ts index 6859d24..53d917b 100644 --- a/src/Future.ts +++ b/src/Future.ts @@ -12,13 +12,7 @@ type TraceProp = string | Future | number | Future; type Concatable = string | Future; type JQCompatible = Record | any[] | string | number; type JQDirectiveTarget = Future | JQCompatible; -// type FutureTypeMap = { -// string: FutureString; -// object: FutureAnyObject; -// number: FutureNumber; -// boolean: FutureBoolean; -// }; -// + const parsePath = (path: string): TraceProp[] => { // Split the path by dots or brackets, and filter out empty strings const parts = path.split(/\.|\[|\]\[?/).filter(Boolean); @@ -218,27 +212,6 @@ export class Future { return this._directive.result(); } - // TODO(liam): don't think we need this type mapping here - // static jq( - // future: JQDirectiveTarget, - // query: string, - // futureType: keyof FutureTypeMap = "string", - // ): FutureTypeMap[T] { - // const directive = new JQ(query, future); - // switch (futureType) { - // case "string": - // return new FutureString(directive) as FutureTypeMap[T]; - // case "number": - // return new FutureNumber(directive) as FutureTypeMap[T]; - // case "object": - // return new FutureAnyObject(directive) as FutureTypeMap[T]; - // case "boolean": - // return new FutureBoolean(directive) as FutureTypeMap[T]; - // default: - // throw new Error(`Unknown future type: ${futureType}`); - // } - // } - toJSON() { return { id: this._id, diff --git a/tests/Future.test.ts b/tests/Future.test.ts index c55e3a6..9dcbeb1 100644 --- a/tests/Future.test.ts +++ b/tests/Future.test.ts @@ -94,7 +94,7 @@ describe("Future", () => { Trace.Operation.key("attr", "a"), Trace.Operation.key("item", 1), Trace.Operation.future("attr", "123"), - Trace.Operation.future("attr", "456"), // LIAM_TODO: there isn't a way to distinguish at runtime using static types + Trace.Operation.future("attr", "456"), // TODO(liam): there isn't a way to distinguish at runtime using static types // Trace.Operation.future("item", "456"), ], }); From 74ad9a0b66903847ebc52f373e4c34ae96d9f6eb Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Thu, 4 Jul 2024 11:18:42 -0400 Subject: [PATCH 05/10] Update formatting --- tests/Substrate.test.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/Substrate.test.ts b/tests/Substrate.test.ts index 7bc0238..0666b86 100644 --- a/tests/Substrate.test.ts +++ b/tests/Substrate.test.ts @@ -79,7 +79,10 @@ describe("Substrate", () => { test("when there are nodes and futures, but we only supply the 'final' node", () => { const a = new FooNode({ a: 123 }); - const b = new FooNode({ b: sb.get(a.future, "x"), c: sb.concat("x", "y") }); + const b = new FooNode({ + b: sb.get(a.future, "x"), + c: sb.concat("x", "y"), + }); // Here we're only supplying `b` and relying on the graph-serialiation to find `a` const result = Substrate.serialize(b); From bbc6e5d21e58aba478e2e0a40b4fd825bcb03576 Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Wed, 10 Jul 2024 18:07:48 -0400 Subject: [PATCH 06/10] Update codegen (post-QA) --- src/GEN_VERSION | 2 +- src/Nodes.ts | 1555 ++++++++++++++++++++++++++--------------------- src/index.ts | 2 +- 3 files changed, 856 insertions(+), 703 deletions(-) diff --git a/src/GEN_VERSION b/src/GEN_VERSION index b9c2d65..7c9fa28 100644 --- a/src/GEN_VERSION +++ b/src/GEN_VERSION @@ -1 +1 @@ -20240617.20240703 \ No newline at end of file +20240617.20240710 \ No newline at end of file diff --git a/src/Nodes.ts b/src/Nodes.ts index 26722f4..714559b 100644 --- a/src/Nodes.ts +++ b/src/Nodes.ts @@ -1,7 +1,7 @@ /** * 𐃏 Substrate * @generated file - * 20240617.20240703 + * 20240617.20240710 */ import * as OpenAPI from "substrate/OpenAPI"; @@ -11,26 +11,6 @@ import { Trace, Future } from "substrate/Future"; // The following type helpers are used to "expand" Node input types to allow them to also accept // instances of their corresponding "Future" types. -// type FutureExpandScalar = -// T extends string ? string | FutureString : -// T extends number ? number | FutureNumber : -// T extends boolean ? boolean | FutureBoolean : -// T; -// -// type FutureExpandObject = -// T extends object ? { [P in keyof T]: FutureExpandAny } | FutureObject : -// T; -// -// type FutureExpandArray = -// T extends (infer U)[] ? FutureExpandAny[] | FutureArray : -// FutureExpandAny; -// -// type FutureExpandAny = -// T extends (infer U)[][] ? FutureExpandArray[][] | FutureArray[] : -// T extends (infer U)[] ? FutureExpandArray[] | FutureArray : -// T extends object ? FutureExpandObject : -// FutureExpandScalar; - type FutureExpandItem = T extends string ? string | Future : T extends number @@ -47,1041 +27,1104 @@ type FutureExpandArray = T extends (infer U)[] ? FutureExpandAny[] | Future : FutureExpandAny; -type FutureExpandAny = T extends (infer U)[][] - ? FutureExpandArray[][] | Future - : T extends (infer U)[] - ? FutureExpandArray[] | Future - : T extends object - ? FutureExpandObject - : FutureExpandItem; - -export class ExperimentalInArgs extends Future {} -export class ExperimentalOutOutput extends Future {} +type FutureExpandAny = T extends (infer U)[] + ? FutureExpandArray[] | Future + : T extends object + ? FutureExpandObject + : FutureExpandItem; /** Image prompts. */ + export class ComputeTextInImageUris extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `ComputeTextInImageUris` once it's node has been run. */ + /** @internal Returns the result for `ComputeTextInImageUris` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class ComputeTextInImageUrisItem extends Future {} -export class ComputeJSONInJsonSchema extends Future {} -export class ComputeJSONOutJsonObject extends Future {} /** Response choices. */ + export class MultiComputeTextOutChoices extends Future { - /** Returns `Future` at given index. */ + /** Returns `ComputeTextOut` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new ComputeTextOut(this._directive.next(index)); } - /** Returns the result for `MultiComputeTextOutChoices` once it's node has been run. */ + /** @internal Returns the result for `MultiComputeTextOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Batch input prompts. */ + export class BatchComputeTextInPrompts extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `BatchComputeTextInPrompts` once it's node has been run. */ + /** @internal Returns the result for `BatchComputeTextInPrompts` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class BatchComputeTextInPromptsItem extends Future {} /** Batch outputs. */ + export class BatchComputeTextOutOutputs extends Future { - /** Returns `Future` at given index. */ + /** Returns `ComputeTextOut` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new ComputeTextOut(this._directive.next(index)); } - /** Returns the result for `BatchComputeTextOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `BatchComputeTextOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class MultiComputeJSONInJsonSchema extends Future {} /** Response choices. */ + export class MultiComputeJSONOutChoices extends Future { - /** Returns `Future` at given index. */ + /** Returns `ComputeJSONOut` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new ComputeJSONOut(this._directive.next(index)); } - /** Returns the result for `MultiComputeJSONOutChoices` once it's node has been run. */ + /** @internal Returns the result for `MultiComputeJSONOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Batch input prompts. */ + export class BatchComputeJSONInPrompts extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `BatchComputeJSONInPrompts` once it's node has been run. */ + /** @internal Returns the result for `BatchComputeJSONInPrompts` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class BatchComputeJSONInPromptsItem extends Future {} -export class BatchComputeJSONInJsonSchema extends Future {} /** Batch outputs. */ + export class BatchComputeJSONOutOutputs extends Future { - /** Returns `Future` at given index. */ + /** Returns `ComputeJSONOut` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new ComputeJSONOut(this._directive.next(index)); } - /** Returns the result for `BatchComputeJSONOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `BatchComputeJSONOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class Mistral7BInstructInJsonSchema extends Future {} -export class Mistral7BInstructChoiceJsonObject extends Future {} /** Response choices. */ + export class Mistral7BInstructOutChoices extends Future< Mistral7BInstructChoice[] > { - /** Returns `Future` at given index. */ + /** Returns `Mistral7BInstructChoice` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Mistral7BInstructChoice(this._directive.next(index)); } - /** Returns the result for `Mistral7BInstructOutChoices` once it's node has been run. */ + /** @internal Returns the result for `Mistral7BInstructOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class Mixtral8x7BInstructInJsonSchema extends Future {} -export class Mixtral8x7BChoiceJsonObject extends Future {} /** Response choices. */ + export class Mixtral8x7BInstructOutChoices extends Future { - /** Returns `Future` at given index. */ + /** Returns `Mixtral8x7BChoice` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Mixtral8x7BChoice(this._directive.next(index)); } - /** Returns the result for `Mixtral8x7BInstructOutChoices` once it's node has been run. */ + /** @internal Returns the result for `Mixtral8x7BInstructOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class Llama3Instruct8BInJsonSchema extends Future {} -export class Llama3Instruct8BChoiceJsonObject extends Future {} /** Response choices. */ + export class Llama3Instruct8BOutChoices extends Future< Llama3Instruct8BChoice[] > { - /** Returns `Future` at given index. */ + /** Returns `Llama3Instruct8BChoice` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Llama3Instruct8BChoice(this._directive.next(index)); } - /** Returns the result for `Llama3Instruct8BOutChoices` once it's node has been run. */ + /** @internal Returns the result for `Llama3Instruct8BOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Response choices. */ + export class Llama3Instruct70BOutChoices extends Future< Llama3Instruct70BChoice[] > { - /** Returns `Future` at given index. */ + /** Returns `Llama3Instruct70BChoice` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Llama3Instruct70BChoice(this._directive.next(index)); } - /** Returns the result for `Llama3Instruct70BOutChoices` once it's node has been run. */ + /** @internal Returns the result for `Llama3Instruct70BOutChoices` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Image prompts. */ + export class Firellava13BInImageUris extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `Firellava13BInImageUris` once it's node has been run. */ + /** @internal Returns the result for `Firellava13BInImageUris` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class Firellava13BInImageUrisItem extends Future {} /** Generated images. */ + export class MultiGenerateImageOutOutputs extends Future { - /** Returns `Future` at given index. */ + /** Returns `GenerateImageOut` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new GenerateImageOut(this._directive.next(index)); } - /** Returns the result for `MultiGenerateImageOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `MultiGenerateImageOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Seeds for deterministic generation. Default is a random seed. */ + export class StableDiffusionXLInSeeds extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLInSeeds` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLInSeeds` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class StableDiffusionXLInSeedsItem extends Future {} /** Generated images. */ + export class StableDiffusionXLOutOutputs extends Future< StableDiffusionImage[] > { - /** Returns `Future` at given index. */ + /** Returns `StableDiffusionImage` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new StableDiffusionImage(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Seeds for deterministic generation. Default is a random seed. */ + export class StableDiffusionXLLightningInSeeds extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLLightningInSeeds` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLLightningInSeeds` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class StableDiffusionXLLightningInSeedsItem extends Future {} /** Generated images. */ + export class StableDiffusionXLLightningOutOutputs extends Future< StableDiffusionImage[] > { - /** Returns `Future` at given index. */ + /** Returns `StableDiffusionImage` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new StableDiffusionImage(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLLightningOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLLightningOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Random noise seeds. Default is random seeds for each generation. */ + export class StableDiffusionXLIPAdapterInSeeds extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLIPAdapterInSeeds` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLIPAdapterInSeeds` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class StableDiffusionXLIPAdapterInSeedsItem extends Future {} /** Generated images. */ + export class StableDiffusionXLIPAdapterOutOutputs extends Future< StableDiffusionImage[] > { - /** Returns `Future` at given index. */ + /** Returns `StableDiffusionImage` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new StableDiffusionImage(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLIPAdapterOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLIPAdapterOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Random noise seeds. Default is random seeds for each generation. */ + export class StableDiffusionXLControlNetInSeeds extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLControlNetInSeeds` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLControlNetInSeeds` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class StableDiffusionXLControlNetInSeedsItem extends Future {} /** Generated images. */ + export class StableDiffusionXLControlNetOutOutputs extends Future< StableDiffusionImage[] > { - /** Returns `Future` at given index. */ + /** Returns `StableDiffusionImage` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new StableDiffusionImage(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLControlNetOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLControlNetOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Generated images. */ + export class MultiInpaintImageOutOutputs extends Future { - /** Returns `Future` at given index. */ + /** Returns `InpaintImageOut` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new InpaintImageOut(this._directive.next(index)); } - /** Returns the result for `MultiInpaintImageOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `MultiInpaintImageOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Random noise seeds. Default is random seeds for each generation. */ + export class StableDiffusionXLInpaintInSeeds extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLInpaintInSeeds` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLInpaintInSeeds` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class StableDiffusionXLInpaintInSeedsItem extends Future {} /** Generated images. */ + export class StableDiffusionXLInpaintOutOutputs extends Future< StableDiffusionImage[] > { - /** Returns `Future` at given index. */ + /** Returns `StableDiffusionImage` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new StableDiffusionImage(this._directive.next(index)); } - /** Returns the result for `StableDiffusionXLInpaintOutOutputs` once it's node has been run. */ + /** @internal Returns the result for `StableDiffusionXLInpaintOutOutputs` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Point prompts, to detect a segment under the point. One of `point_prompts` or `box_prompts` must be set. */ + export class SegmentAnythingInPointPrompts extends Future { - /** Returns `Future` at given index. */ + /** Returns `Point` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Point(this._directive.next(index)); } - /** Returns the result for `SegmentAnythingInPointPrompts` once it's node has been run. */ + /** @internal Returns the result for `SegmentAnythingInPointPrompts` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Box prompts, to detect a segment within the bounding box. One of `point_prompts` or `box_prompts` must be set. */ + export class SegmentAnythingInBoxPrompts extends Future { - /** Returns `Future` at given index. */ + /** Returns `BoundingBox` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new BoundingBox(this._directive.next(index)); } - /** Returns the result for `SegmentAnythingInBoxPrompts` once it's node has been run. */ + /** @internal Returns the result for `SegmentAnythingInBoxPrompts` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Aligned words, if `align` is enabled. */ + export class TranscribedSegmentWords extends Future { - /** Returns `Future` at given index. */ + /** Returns `TranscribedWord` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new TranscribedWord(this._directive.next(index)); } - /** Returns the result for `TranscribedSegmentWords` once it's node has been run. */ + /** @internal Returns the result for `TranscribedSegmentWords` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Transcribed segments, if `segment` is enabled. */ + export class TranscribeSpeechOutSegments extends Future { - /** Returns `Future` at given index. */ + /** Returns `TranscribedSegment` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new TranscribedSegment(this._directive.next(index)); } - /** Returns the result for `TranscribeSpeechOutSegments` once it's node has been run. */ + /** @internal Returns the result for `TranscribeSpeechOutSegments` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Chapter markers, if `suggest_chapters` is enabled. */ + export class TranscribeSpeechOutChapters extends Future { - /** Returns `Future` at given index. */ + /** Returns `ChapterMarker` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new ChapterMarker(this._directive.next(index)); } - /** Returns the result for `TranscribeSpeechOutChapters` once it's node has been run. */ + /** @internal Returns the result for `TranscribeSpeechOutChapters` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Embedding vector. */ + export class EmbeddingVector extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `EmbeddingVector` once it's node has been run. */ + /** @internal Returns the result for `EmbeddingVector` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class EmbeddingVectorItem extends Future {} -export class EmbeddingMetadata extends Future {} -export class EmbedTextInMetadata extends Future {} /** Choose keys from `metadata` to embed with text. */ + export class EmbedTextInEmbeddedMetadataKeys extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `EmbedTextInEmbeddedMetadataKeys` once it's node has been run. */ + /** @internal Returns the result for `EmbedTextInEmbeddedMetadataKeys` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class EmbedTextInEmbeddedMetadataKeysItem extends Future {} -export class EmbedTextItemMetadata extends Future {} /** Items to embed. */ + export class MultiEmbedTextInItems extends Future { - /** Returns `Future` at given index. */ + /** Returns `EmbedTextItem` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new EmbedTextItem(this._directive.next(index)); } - /** Returns the result for `MultiEmbedTextInItems` once it's node has been run. */ + /** @internal Returns the result for `MultiEmbedTextInItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Choose keys from `metadata` to embed with text. */ + export class MultiEmbedTextInEmbeddedMetadataKeys extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `MultiEmbedTextInEmbeddedMetadataKeys` once it's node has been run. */ + /** @internal Returns the result for `MultiEmbedTextInEmbeddedMetadataKeys` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class MultiEmbedTextInEmbeddedMetadataKeysItem extends Future {} /** Generated embeddings. */ + export class MultiEmbedTextOutEmbeddings extends Future { - /** Returns `Future` at given index. */ + /** Returns `Embedding` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Embedding(this._directive.next(index)); } - /** Returns the result for `MultiEmbedTextOutEmbeddings` once it's node has been run. */ + /** @internal Returns the result for `MultiEmbedTextOutEmbeddings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Items to embed. */ + export class JinaV2InItems extends Future { - /** Returns `Future` at given index. */ + /** Returns `EmbedTextItem` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new EmbedTextItem(this._directive.next(index)); } - /** Returns the result for `JinaV2InItems` once it's node has been run. */ + /** @internal Returns the result for `JinaV2InItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Choose keys from `metadata` to embed with text. */ + export class JinaV2InEmbeddedMetadataKeys extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `JinaV2InEmbeddedMetadataKeys` once it's node has been run. */ + /** @internal Returns the result for `JinaV2InEmbeddedMetadataKeys` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class JinaV2InEmbeddedMetadataKeysItem extends Future {} /** Generated embeddings. */ + export class JinaV2OutEmbeddings extends Future { - /** Returns `Future` at given index. */ + /** Returns `Embedding` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Embedding(this._directive.next(index)); } - /** Returns the result for `JinaV2OutEmbeddings` once it's node has been run. */ + /** @internal Returns the result for `JinaV2OutEmbeddings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class EmbedTextOrImageItemMetadata extends Future {} /** Items to embed. */ + export class MultiEmbedImageInItems extends Future { - /** Returns `Future` at given index. */ + /** Returns `EmbedImageItem` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new EmbedImageItem(this._directive.next(index)); } - /** Returns the result for `MultiEmbedImageInItems` once it's node has been run. */ + /** @internal Returns the result for `MultiEmbedImageInItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Generated embeddings. */ + export class MultiEmbedImageOutEmbeddings extends Future { - /** Returns `Future` at given index. */ + /** Returns `Embedding` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Embedding(this._directive.next(index)); } - /** Returns the result for `MultiEmbedImageOutEmbeddings` once it's node has been run. */ + /** @internal Returns the result for `MultiEmbedImageOutEmbeddings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Items to embed. */ + export class CLIPInItems extends Future { - /** Returns `Future` at given index. */ + /** Returns `EmbedTextOrImageItem` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new EmbedTextOrImageItem(this._directive.next(index)); } - /** Returns the result for `CLIPInItems` once it's node has been run. */ + /** @internal Returns the result for `CLIPInItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Choose keys from `metadata` to embed with text. Only applies to text items. */ + export class CLIPInEmbeddedMetadataKeys extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `CLIPInEmbeddedMetadataKeys` once it's node has been run. */ + /** @internal Returns the result for `CLIPInEmbeddedMetadataKeys` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class CLIPInEmbeddedMetadataKeysItem extends Future {} /** Generated embeddings. */ + export class CLIPOutEmbeddings extends Future { - /** Returns `Future` at given index. */ + /** Returns `Embedding` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Embedding(this._directive.next(index)); } - /** Returns the result for `CLIPOutEmbeddings` once it's node has been run. */ + /** @internal Returns the result for `CLIPOutEmbeddings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** List of vector stores. */ + export class ListVectorStoresOutItems extends Future< FindOrCreateVectorStoreOut[] > { - /** Returns `Future` at given index. */ + /** Returns `FindOrCreateVectorStoreOut` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new FindOrCreateVectorStoreOut(this._directive.next(index)); } - /** Returns the result for `ListVectorStoresOutItems` once it's node has been run. */ + /** @internal Returns the result for `ListVectorStoresOutItems` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Embedding vector. */ + export class VectorVector extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `VectorVector` once it's node has been run. */ + /** @internal Returns the result for `VectorVector` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class VectorVectorItem extends Future {} -export class VectorMetadata extends Future {} /** Document IDs to retrieve. */ + export class FetchVectorsInIds extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `FetchVectorsInIds` once it's node has been run. */ + /** @internal Returns the result for `FetchVectorsInIds` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class FetchVectorsInIdsItem extends Future {} /** Retrieved vectors. */ + export class FetchVectorsOutVectors extends Future { - /** Returns `Future` at given index. */ + /** Returns `Vector` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new Vector(this._directive.next(index)); } - /** Returns the result for `FetchVectorsOutVectors` once it's node has been run. */ + /** @internal Returns the result for `FetchVectorsOutVectors` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Embedding vector. */ + export class UpdateVectorParamsVector extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `UpdateVectorParamsVector` once it's node has been run. */ + /** @internal Returns the result for `UpdateVectorParamsVector` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class UpdateVectorParamsVectorItem extends Future {} -export class UpdateVectorParamsMetadata extends Future {} /** Vectors to upsert. */ + export class UpdateVectorsInVectors extends Future { - /** Returns `Future` at given index. */ + /** Returns `UpdateVectorParams` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new UpdateVectorParams(this._directive.next(index)); } - /** Returns the result for `UpdateVectorsInVectors` once it's node has been run. */ + /** @internal Returns the result for `UpdateVectorsInVectors` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Document IDs to delete. */ + export class DeleteVectorsInIds extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `DeleteVectorsInIds` once it's node has been run. */ + /** @internal Returns the result for `DeleteVectorsInIds` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class DeleteVectorsInIdsItem extends Future {} /** Texts to embed and use for the query. */ + export class QueryVectorStoreInQueryStrings extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `QueryVectorStoreInQueryStrings` once it's node has been run. */ + /** @internal Returns the result for `QueryVectorStoreInQueryStrings` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class QueryVectorStoreInQueryStringsItem extends Future {} /** Image URIs to embed and use for the query. */ + export class QueryVectorStoreInQueryImageUris extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `QueryVectorStoreInQueryImageUris` once it's node has been run. */ + /** @internal Returns the result for `QueryVectorStoreInQueryImageUris` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class QueryVectorStoreInQueryImageUrisItem extends Future {} /** Vectors to use for the query. */ +// this is an n-dimensional array and for now we're generating another array type with "Item" appended + export class QueryVectorStoreInQueryVectors extends Future { - /** Returns `Future` at given index. */ + /** Returns `QueryVectorStoreInQueryVectorsItem` at given index. */ at(index: number) { - return new Future( - this._directive.next(index), - ); + return new QueryVectorStoreInQueryVectorsItem(this._directive.next(index)); } - /** Returns the result for `QueryVectorStoreInQueryVectors` once it's node has been run. */ + /** @internal Returns the result for `QueryVectorStoreInQueryVectors` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** QueryVectorStoreInQueryVectorsItem */ + export class QueryVectorStoreInQueryVectorsItem extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `QueryVectorStoreInQueryVectorsItem` once it's node has been run. */ + /** @internal Returns the result for `QueryVectorStoreInQueryVectorsItem` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** Document IDs to use for the query. */ + export class QueryVectorStoreInQueryIds extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `QueryVectorStoreInQueryIds` once it's node has been run. */ + /** @internal Returns the result for `QueryVectorStoreInQueryIds` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class QueryVectorStoreInQueryIdsItem extends Future {} -export class QueryVectorStoreInFilters extends Future {} /** Embedding vector. */ + export class VectorStoreQueryResultVector extends Future { /** Returns `Future` at given index. */ at(index: number) { return new Future(this._directive.next(index)); } - /** Returns the result for `VectorStoreQueryResultVector` once it's node has been run. */ + /** @internal Returns the result for `VectorStoreQueryResultVector` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } -export class VectorStoreQueryResultVectorItem extends Future {} -export class VectorStoreQueryResultMetadata extends Future {} /** Query results. */ +// this is an n-dimensional array and for now we're generating another array type with "Item" appended + export class QueryVectorStoreOutResults extends Future { - /** Returns `Future` at given index. */ + /** Returns `QueryVectorStoreOutResultsItem` at given index. */ at(index: number) { - return new Future( - this._directive.next(index), - ); + return new QueryVectorStoreOutResultsItem(this._directive.next(index)); } - /** Returns the result for `QueryVectorStoreOutResults` once it's node has been run. */ + /** @internal Returns the result for `QueryVectorStoreOutResults` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } /** QueryVectorStoreOutResultsItem */ + export class QueryVectorStoreOutResultsItem extends Future< VectorStoreQueryResult[] > { - /** Returns `Future` at given index. */ + /** Returns `VectorStoreQueryResult` at given index. */ at(index: number) { - return new Future(this._directive.next(index)); + return new VectorStoreQueryResult(this._directive.next(index)); } - /** Returns the result for `QueryVectorStoreOutResultsItem` once it's node has been run. */ + /** @internal Returns the result for `QueryVectorStoreOutResultsItem` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** ErrorOut */ export class ErrorOut extends Future { /** The type of error returned. */ get type() { return new Future(this._directive.next("type")); } + /** A message providing more details about the error. */ get message() { return new Future(this._directive.next("message")); } - /** returns the result for `ErrorOut` once it's node has been run. */ + + /** @internal returns the result for `ErrorOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** ExperimentalOut */ export class ExperimentalOut extends Future { /** Response. */ get output() { return new Future(this._directive.next("output")); } - /** returns the result for `ExperimentalOut` once it's node has been run. */ + + /** @internal returns the result for `ExperimentalOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** BoxOut */ export class BoxOut extends Future { /** The evaluated result. */ get value() { - return new Future(this._directive.next("value")); + return new Future(this._directive.next("value")); } - /** returns the result for `BoxOut` once it's node has been run. */ + + /** @internal returns the result for `BoxOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** IfOut */ export class IfOut extends Future { /** Result. Null if `value_if_false` is not provided and `condition` is false. */ get result() { - return new Future(this._directive.next("result")); + return new Future(this._directive.next("result")); } - /** returns the result for `IfOut` once it's node has been run. */ + + /** @internal returns the result for `IfOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** ComputeTextOut */ export class ComputeTextOut extends Future { /** Text response. */ get text() { return new Future(this._directive.next("text")); } - /** returns the result for `ComputeTextOut` once it's node has been run. */ + + /** @internal returns the result for `ComputeTextOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** ComputeJSONOut */ export class ComputeJSONOut extends Future { /** JSON response. */ get json_object() { return new Future(this._directive.next("json_object")); } + /** If the model output could not be parsed to JSON, this is the raw text output. */ get text() { return new Future(this._directive.next("text")); } - /** returns the result for `ComputeJSONOut` once it's node has been run. */ + + /** @internal returns the result for `ComputeJSONOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** MultiComputeTextOut */ export class MultiComputeTextOut extends Future { /** Response choices. */ get choices() { return new MultiComputeTextOutChoices(this._directive.next("choices")); } - /** returns the result for `MultiComputeTextOut` once it's node has been run. */ + + /** @internal returns the result for `MultiComputeTextOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** BatchComputeTextOut */ export class BatchComputeTextOut extends Future { /** Batch outputs. */ get outputs() { return new BatchComputeTextOutOutputs(this._directive.next("outputs")); } - /** returns the result for `BatchComputeTextOut` once it's node has been run. */ + + /** @internal returns the result for `BatchComputeTextOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** MultiComputeJSONOut */ export class MultiComputeJSONOut extends Future { /** Response choices. */ get choices() { return new MultiComputeJSONOutChoices(this._directive.next("choices")); } - /** returns the result for `MultiComputeJSONOut` once it's node has been run. */ + + /** @internal returns the result for `MultiComputeJSONOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** BatchComputeJSONOut */ export class BatchComputeJSONOut extends Future { /** Batch outputs. */ get outputs() { return new BatchComputeJSONOutOutputs(this._directive.next("outputs")); } - /** returns the result for `BatchComputeJSONOut` once it's node has been run. */ + + /** @internal returns the result for `BatchComputeJSONOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Mistral7BInstructChoice */ export class Mistral7BInstructChoice extends Future { /** Text response, if `json_schema` was not provided. */ get text() { return new Future(this._directive.next("text")); } + /** JSON response, if `json_schema` was provided. */ get json_object() { return new Future(this._directive.next("json_object")); } - /** returns the result for `Mistral7BInstructChoice` once it's node has been run. */ + + /** @internal returns the result for `Mistral7BInstructChoice` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Mistral7BInstructOut */ export class Mistral7BInstructOut extends Future { /** Response choices. */ get choices() { return new Mistral7BInstructOutChoices(this._directive.next("choices")); } - /** returns the result for `Mistral7BInstructOut` once it's node has been run. */ + + /** @internal returns the result for `Mistral7BInstructOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Mixtral8x7BChoice */ export class Mixtral8x7BChoice extends Future { /** Text response, if `json_schema` was not provided. */ get text() { return new Future(this._directive.next("text")); } + /** JSON response, if `json_schema` was provided. */ get json_object() { return new Future(this._directive.next("json_object")); } - /** returns the result for `Mixtral8x7BChoice` once it's node has been run. */ + + /** @internal returns the result for `Mixtral8x7BChoice` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Mixtral8x7BInstructOut */ export class Mixtral8x7BInstructOut extends Future { /** Response choices. */ get choices() { return new Mixtral8x7BInstructOutChoices(this._directive.next("choices")); } - /** returns the result for `Mixtral8x7BInstructOut` once it's node has been run. */ + + /** @internal returns the result for `Mixtral8x7BInstructOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Llama3Instruct8BChoice */ export class Llama3Instruct8BChoice extends Future { /** Text response. */ get text() { return new Future(this._directive.next("text")); } + /** JSON response, if `json_schema` was provided. */ get json_object() { return new Future(this._directive.next("json_object")); } - /** returns the result for `Llama3Instruct8BChoice` once it's node has been run. */ + + /** @internal returns the result for `Llama3Instruct8BChoice` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Llama3Instruct8BOut */ export class Llama3Instruct8BOut extends Future { /** Response choices. */ get choices() { return new Llama3Instruct8BOutChoices(this._directive.next("choices")); } - /** returns the result for `Llama3Instruct8BOut` once it's node has been run. */ + + /** @internal returns the result for `Llama3Instruct8BOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Llama3Instruct70BChoice */ export class Llama3Instruct70BChoice extends Future { /** Text response. */ get text() { return new Future(this._directive.next("text")); } - /** returns the result for `Llama3Instruct70BChoice` once it's node has been run. */ + + /** @internal returns the result for `Llama3Instruct70BChoice` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Llama3Instruct70BOut */ export class Llama3Instruct70BOut extends Future { /** Response choices. */ get choices() { return new Llama3Instruct70BOutChoices(this._directive.next("choices")); } - /** returns the result for `Llama3Instruct70BOut` once it's node has been run. */ + + /** @internal returns the result for `Llama3Instruct70BOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Firellava13BOut */ export class Firellava13BOut extends Future { /** Text response. */ get text() { return new Future(this._directive.next("text")); } - /** returns the result for `Firellava13BOut` once it's node has been run. */ + + /** @internal returns the result for `Firellava13BOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** GenerateImageOut */ export class GenerateImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { return new Future(this._directive.next("image_uri")); } - /** returns the result for `GenerateImageOut` once it's node has been run. */ + + /** @internal returns the result for `GenerateImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** MultiGenerateImageOut */ export class MultiGenerateImageOut extends Future { /** Generated images. */ get outputs() { return new MultiGenerateImageOutOutputs(this._directive.next("outputs")); } - /** returns the result for `MultiGenerateImageOut` once it's node has been run. */ + + /** @internal returns the result for `MultiGenerateImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** StableDiffusionImage */ export class StableDiffusionImage extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { return new Future(this._directive.next("image_uri")); } + /** The random noise seed used for generation. */ get seed() { return new Future(this._directive.next("seed")); } - /** returns the result for `StableDiffusionImage` once it's node has been run. */ + + /** @internal returns the result for `StableDiffusionImage` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** StableDiffusionXLOut */ export class StableDiffusionXLOut extends Future { /** Generated images. */ get outputs() { return new StableDiffusionXLOutOutputs(this._directive.next("outputs")); } - /** returns the result for `StableDiffusionXLOut` once it's node has been run. */ + + /** @internal returns the result for `StableDiffusionXLOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** StableDiffusionXLLightningOut */ export class StableDiffusionXLLightningOut extends Future { /** Generated images. */ @@ -1090,11 +1133,13 @@ export class StableDiffusionXLLightningOut extends Future { this._directive.next("outputs"), ); } - /** returns the result for `StableDiffusionXLLightningOut` once it's node has been run. */ + + /** @internal returns the result for `StableDiffusionXLLightningOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** StableDiffusionXLIPAdapterOut */ export class StableDiffusionXLIPAdapterOut extends Future { /** Generated images. */ @@ -1103,11 +1148,13 @@ export class StableDiffusionXLIPAdapterOut extends Future { this._directive.next("outputs"), ); } - /** returns the result for `StableDiffusionXLIPAdapterOut` once it's node has been run. */ + + /** @internal returns the result for `StableDiffusionXLIPAdapterOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** StableDiffusionXLControlNetOut */ export class StableDiffusionXLControlNetOut extends Future { /** Generated images. */ @@ -1116,33 +1163,39 @@ export class StableDiffusionXLControlNetOut extends Future { this._directive.next("outputs"), ); } - /** returns the result for `StableDiffusionXLControlNetOut` once it's node has been run. */ + + /** @internal returns the result for `StableDiffusionXLControlNetOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** InpaintImageOut */ export class InpaintImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { return new Future(this._directive.next("image_uri")); } - /** returns the result for `InpaintImageOut` once it's node has been run. */ + + /** @internal returns the result for `InpaintImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** MultiInpaintImageOut */ export class MultiInpaintImageOut extends Future { /** Generated images. */ get outputs() { return new MultiInpaintImageOutOutputs(this._directive.next("outputs")); } - /** returns the result for `MultiInpaintImageOut` once it's node has been run. */ + + /** @internal returns the result for `MultiInpaintImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** StableDiffusionXLInpaintOut */ export class StableDiffusionXLInpaintOut extends Future { /** Generated images. */ @@ -1151,163 +1204,195 @@ export class StableDiffusionXLInpaintOut extends Future { this._directive.next("outputs"), ); } - /** returns the result for `StableDiffusionXLInpaintOut` once it's node has been run. */ + + /** @internal returns the result for `StableDiffusionXLInpaintOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** BoundingBox */ export class BoundingBox extends Future { /** Top left corner x. */ get x1() { return new Future(this._directive.next("x1")); } + /** Top left corner y. */ get y1() { return new Future(this._directive.next("y1")); } + /** Bottom right corner x. */ get x2() { return new Future(this._directive.next("x2")); } + /** Bottom right corner y. */ get y2() { return new Future(this._directive.next("y2")); } - /** returns the result for `BoundingBox` once it's node has been run. */ + + /** @internal returns the result for `BoundingBox` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Point */ export class Point extends Future { /** X position. */ get x() { return new Future(this._directive.next("x")); } + /** Y position. */ get y() { return new Future(this._directive.next("y")); } - /** returns the result for `Point` once it's node has been run. */ + + /** @internal returns the result for `Point` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** EraseImageOut */ export class EraseImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { return new Future(this._directive.next("image_uri")); } - /** returns the result for `EraseImageOut` once it's node has been run. */ + + /** @internal returns the result for `EraseImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** BigLaMaOut */ export class BigLaMaOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { return new Future(this._directive.next("image_uri")); } - /** returns the result for `BigLaMaOut` once it's node has been run. */ + + /** @internal returns the result for `BigLaMaOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** RemoveBackgroundOut */ export class RemoveBackgroundOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { return new Future(this._directive.next("image_uri")); } - /** returns the result for `RemoveBackgroundOut` once it's node has been run. */ + + /** @internal returns the result for `RemoveBackgroundOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** DISISNetOut */ export class DISISNetOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { return new Future(this._directive.next("image_uri")); } - /** returns the result for `DISISNetOut` once it's node has been run. */ + + /** @internal returns the result for `DISISNetOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** UpscaleImageOut */ export class UpscaleImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { return new Future(this._directive.next("image_uri")); } - /** returns the result for `UpscaleImageOut` once it's node has been run. */ + + /** @internal returns the result for `UpscaleImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** SegmentUnderPointOut */ export class SegmentUnderPointOut extends Future { /** Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get mask_image_uri() { return new Future(this._directive.next("mask_image_uri")); } - /** returns the result for `SegmentUnderPointOut` once it's node has been run. */ + + /** @internal returns the result for `SegmentUnderPointOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** SegmentAnythingOut */ export class SegmentAnythingOut extends Future { /** Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get mask_image_uri() { return new Future(this._directive.next("mask_image_uri")); } - /** returns the result for `SegmentAnythingOut` once it's node has been run. */ + + /** @internal returns the result for `SegmentAnythingOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** TranscribedWord */ export class TranscribedWord extends Future { /** Text of word. */ get word() { return new Future(this._directive.next("word")); } + /** (Optional) Start time of word, in seconds. */ get start() { return new Future(this._directive.next("start")); } + /** (Optional) End time of word, in seconds. */ get end() { return new Future(this._directive.next("end")); } + /** (Optional) ID of speaker, if `diarize` is enabled. */ get speaker() { return new Future(this._directive.next("speaker")); } - /** returns the result for `TranscribedWord` once it's node has been run. */ + + /** @internal returns the result for `TranscribedWord` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** TranscribedSegment */ export class TranscribedSegment extends Future { /** Text of segment. */ get text() { return new Future(this._directive.next("text")); } + /** Start time of segment, in seconds. */ get start() { return new Future(this._directive.next("start")); } + /** End time of segment, in seconds. */ get end() { return new Future(this._directive.next("end")); } + /** (Optional) ID of speaker, if `diarize` is enabled. */ get speaker() { return new Future(this._directive.next("speaker")); @@ -1317,26 +1402,31 @@ export class TranscribedSegment extends Future { get words() { return new TranscribedSegmentWords(this._directive.next("words")); } - /** returns the result for `TranscribedSegment` once it's node has been run. */ + + /** @internal returns the result for `TranscribedSegment` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** ChapterMarker */ export class ChapterMarker extends Future { /** Chapter title. */ get title() { return new Future(this._directive.next("title")); } + /** Start time of chapter, in seconds. */ get start() { return new Future(this._directive.next("start")); } - /** returns the result for `ChapterMarker` once it's node has been run. */ + + /** @internal returns the result for `ChapterMarker` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** TranscribeSpeechOut */ export class TranscribeSpeechOut extends Future { /** Transcribed text. */ @@ -1353,216 +1443,258 @@ export class TranscribeSpeechOut extends Future { get chapters() { return new TranscribeSpeechOutChapters(this._directive.next("chapters")); } - /** returns the result for `TranscribeSpeechOut` once it's node has been run. */ + + /** @internal returns the result for `TranscribeSpeechOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** GenerateSpeechOut */ export class GenerateSpeechOut extends Future { /** Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided. */ get audio_uri() { return new Future(this._directive.next("audio_uri")); } - /** returns the result for `GenerateSpeechOut` once it's node has been run. */ + + /** @internal returns the result for `GenerateSpeechOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** XTTSV2Out */ export class XTTSV2Out extends Future { /** Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided. */ get audio_uri() { return new Future(this._directive.next("audio_uri")); } - /** returns the result for `XTTSV2Out` once it's node has been run. */ + + /** @internal returns the result for `XTTSV2Out` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Embedding */ export class Embedding extends Future { /** Embedding vector. */ get vector() { return new EmbeddingVector(this._directive.next("vector")); } + /** (Optional) Vector store document ID. */ get doc_id() { return new Future(this._directive.next("doc_id")); } + /** (Optional) Vector store document metadata. */ get metadata() { return new Future(this._directive.next("metadata")); } - /** returns the result for `Embedding` once it's node has been run. */ + + /** @internal returns the result for `Embedding` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** EmbedTextOut */ export class EmbedTextOut extends Future { /** Generated embedding. */ get embedding() { return new Embedding(this._directive.next("embedding")); } - /** returns the result for `EmbedTextOut` once it's node has been run. */ + + /** @internal returns the result for `EmbedTextOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** EmbedTextItem */ export class EmbedTextItem extends Future { /** Text to embed. */ get text() { return new Future(this._directive.next("text")); } + /** (Optional) Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */ get metadata() { return new Future(this._directive.next("metadata")); } + /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { return new Future(this._directive.next("doc_id")); } - /** returns the result for `EmbedTextItem` once it's node has been run. */ + + /** @internal returns the result for `EmbedTextItem` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** MultiEmbedTextOut */ export class MultiEmbedTextOut extends Future { /** Generated embeddings. */ get embeddings() { return new MultiEmbedTextOutEmbeddings(this._directive.next("embeddings")); } - /** returns the result for `MultiEmbedTextOut` once it's node has been run. */ + + /** @internal returns the result for `MultiEmbedTextOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** JinaV2Out */ export class JinaV2Out extends Future { /** Generated embeddings. */ get embeddings() { return new JinaV2OutEmbeddings(this._directive.next("embeddings")); } - /** returns the result for `JinaV2Out` once it's node has been run. */ + + /** @internal returns the result for `JinaV2Out` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** EmbedImageOut */ export class EmbedImageOut extends Future { /** Generated embedding. */ get embedding() { return new Embedding(this._directive.next("embedding")); } - /** returns the result for `EmbedImageOut` once it's node has been run. */ + + /** @internal returns the result for `EmbedImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** EmbedImageItem */ export class EmbedImageItem extends Future { /** Image to embed. */ get image_uri() { return new Future(this._directive.next("image_uri")); } + /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { return new Future(this._directive.next("doc_id")); } - /** returns the result for `EmbedImageItem` once it's node has been run. */ + + /** @internal returns the result for `EmbedImageItem` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** EmbedTextOrImageItem */ export class EmbedTextOrImageItem extends Future { /** Image to embed. */ get image_uri() { return new Future(this._directive.next("image_uri")); } + /** Text to embed. */ get text() { return new Future(this._directive.next("text")); } + /** Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */ get metadata() { return new Future(this._directive.next("metadata")); } + /** Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { return new Future(this._directive.next("doc_id")); } - /** returns the result for `EmbedTextOrImageItem` once it's node has been run. */ + + /** @internal returns the result for `EmbedTextOrImageItem` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** MultiEmbedImageOut */ export class MultiEmbedImageOut extends Future { /** Generated embeddings. */ get embeddings() { return new MultiEmbedImageOutEmbeddings(this._directive.next("embeddings")); } - /** returns the result for `MultiEmbedImageOut` once it's node has been run. */ + + /** @internal returns the result for `MultiEmbedImageOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** CLIPOut */ export class CLIPOut extends Future { /** Generated embeddings. */ get embeddings() { return new CLIPOutEmbeddings(this._directive.next("embeddings")); } - /** returns the result for `CLIPOut` once it's node has been run. */ + + /** @internal returns the result for `CLIPOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** FindOrCreateVectorStoreOut */ export class FindOrCreateVectorStoreOut extends Future { /** Vector store name. */ get collection_name() { return new Future(this._directive.next("collection_name")); } + /** Selected embedding model. */ get model() { return new Future(this._directive.next("model")); } - /** returns the result for `FindOrCreateVectorStoreOut` once it's node has been run. */ + + /** @internal returns the result for `FindOrCreateVectorStoreOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** ListVectorStoresOut */ export class ListVectorStoresOut extends Future { /** List of vector stores. */ get items() { return new ListVectorStoresOutItems(this._directive.next("items")); } - /** returns the result for `ListVectorStoresOut` once it's node has been run. */ + + /** @internal returns the result for `ListVectorStoresOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** DeleteVectorStoreOut */ export class DeleteVectorStoreOut extends Future { /** Vector store name. */ get collection_name() { return new Future(this._directive.next("collection_name")); } + /** Selected embedding model. */ get model() { return new Future(this._directive.next("model")); } - /** returns the result for `DeleteVectorStoreOut` once it's node has been run. */ + + /** @internal returns the result for `DeleteVectorStoreOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** Canonical representation of document with embedding vector. */ export class Vector extends Future { /** Document ID. */ @@ -1574,48 +1706,57 @@ export class Vector extends Future { get vector() { return new VectorVector(this._directive.next("vector")); } + /** Document metadata. */ get metadata() { return new Future(this._directive.next("metadata")); } - /** returns the result for `Vector` once it's node has been run. */ + + /** @internal returns the result for `Vector` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** FetchVectorsOut */ export class FetchVectorsOut extends Future { /** Retrieved vectors. */ get vectors() { return new FetchVectorsOutVectors(this._directive.next("vectors")); } - /** returns the result for `FetchVectorsOut` once it's node has been run. */ + + /** @internal returns the result for `FetchVectorsOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** UpdateVectorsOut */ export class UpdateVectorsOut extends Future { /** Number of vectors modified. */ get count() { return new Future(this._directive.next("count")); } - /** returns the result for `UpdateVectorsOut` once it's node has been run. */ + + /** @internal returns the result for `UpdateVectorsOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** DeleteVectorsOut */ export class DeleteVectorsOut extends Future { /** Number of vectors modified. */ get count() { return new Future(this._directive.next("count")); } - /** returns the result for `DeleteVectorsOut` once it's node has been run. */ + + /** @internal returns the result for `DeleteVectorsOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** UpdateVectorParams */ export class UpdateVectorParams extends Future { /** Document ID. */ @@ -1627,21 +1768,25 @@ export class UpdateVectorParams extends Future { get vector() { return new UpdateVectorParamsVector(this._directive.next("vector")); } + /** (Optional) Document metadata. */ get metadata() { return new Future(this._directive.next("metadata")); } - /** returns the result for `UpdateVectorParams` once it's node has been run. */ + + /** @internal returns the result for `UpdateVectorParams` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** VectorStoreQueryResult */ export class VectorStoreQueryResult extends Future { /** Document ID. */ get id() { return new Future(this._directive.next("id")); } + /** Similarity score. */ get distance() { return new Future(this._directive.next("distance")); @@ -1651,34 +1796,41 @@ export class VectorStoreQueryResult extends Future { get vector() { return new VectorStoreQueryResultVector(this._directive.next("vector")); } + /** (Optional) Document metadata. */ get metadata() { return new Future(this._directive.next("metadata")); } - /** returns the result for `VectorStoreQueryResult` once it's node has been run. */ + + /** @internal returns the result for `VectorStoreQueryResult` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + /** QueryVectorStoreOut */ export class QueryVectorStoreOut extends Future { /** Query results. */ get results() { return new QueryVectorStoreOutResults(this._directive.next("results")); } + /** (Optional) Vector store name. */ get collection_name() { return new Future(this._directive.next("collection_name")); } + /** (Optional) Selected embedding model. */ get model() { return new Future(this._directive.next("model")); } - /** returns the result for `QueryVectorStoreOut` once it's node has been run. */ + + /** @internal returns the result for `QueryVectorStoreOut` once it's node has been run. */ protected override async _result(): Promise { return super._result() as Promise; } } + export namespace Experimental { /** * Experimental Input @@ -1717,29 +1869,29 @@ export class Experimental extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `output` * * https://www.substrate.run/nodes#Experimental */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["ExperimentalOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): ExperimentalOut { + return new ExperimentalOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `output` * * https://www.substrate.run/nodes#Experimental */ - override get future(): ExperimentalOut { - return new ExperimentalOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["ExperimentalOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["ExperimentalOut"] { @@ -1781,6 +1933,17 @@ export class Box extends Node { this.node = "Box"; } + /** + * Future reference to this node's output. + * + * Output fields: `value` + * + * https://www.substrate.run/nodes#Box + */ + override get future(): BoxOut { + return new BoxOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -1796,17 +1959,6 @@ export class Box extends Node { ) as Promise; } - /** - * Future reference to this node's output. - * - * Output fields: `value` - * - * https://www.substrate.run/nodes#Box - */ - override get future(): BoxOut { - return new BoxOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["BoxOut"] { return super.output() as OpenAPI.components["schemas"]["BoxOut"]; } @@ -1847,29 +1999,29 @@ export class If extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `result` * * https://www.substrate.run/nodes#If */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["IfOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): IfOut { + return new IfOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `result` * * https://www.substrate.run/nodes#If */ - override get future(): IfOut { - return new IfOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["IfOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["IfOut"] { @@ -1914,29 +2066,29 @@ export class ComputeText extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `text` * * https://www.substrate.run/nodes#ComputeText */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["ComputeTextOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): ComputeTextOut { + return new ComputeTextOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `text` * * https://www.substrate.run/nodes#ComputeText */ - override get future(): ComputeTextOut { - return new ComputeTextOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["ComputeTextOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["ComputeTextOut"] { @@ -1980,6 +2132,17 @@ export class MultiComputeText extends Node { this.node = "MultiComputeText"; } + /** + * Future reference to this node's output. + * + * Output fields: `choices` + * + * https://www.substrate.run/nodes#MultiComputeText + */ + override get future(): MultiComputeTextOut { + return new MultiComputeTextOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -1997,17 +2160,6 @@ export class MultiComputeText extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `choices` - * - * https://www.substrate.run/nodes#MultiComputeText - */ - override get future(): MultiComputeTextOut { - return new MultiComputeTextOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["MultiComputeTextOut"] { return super.output() as OpenAPI.components["schemas"]["MultiComputeTextOut"]; } @@ -2049,6 +2201,17 @@ export class BatchComputeText extends Node { this.node = "BatchComputeText"; } + /** + * Future reference to this node's output. + * + * Output fields: `outputs` + * + * https://www.substrate.run/nodes#BatchComputeText + */ + override get future(): BatchComputeTextOut { + return new BatchComputeTextOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2066,17 +2229,6 @@ export class BatchComputeText extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `outputs` - * - * https://www.substrate.run/nodes#BatchComputeText - */ - override get future(): BatchComputeTextOut { - return new BatchComputeTextOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["BatchComputeTextOut"] { return super.output() as OpenAPI.components["schemas"]["BatchComputeTextOut"]; } @@ -2118,6 +2270,17 @@ export class BatchComputeJSON extends Node { this.node = "BatchComputeJSON"; } + /** + * Future reference to this node's output. + * + * Output fields: `outputs` + * + * https://www.substrate.run/nodes#BatchComputeJSON + */ + override get future(): BatchComputeJSONOut { + return new BatchComputeJSONOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2135,17 +2298,6 @@ export class BatchComputeJSON extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `outputs` - * - * https://www.substrate.run/nodes#BatchComputeJSON - */ - override get future(): BatchComputeJSONOut { - return new BatchComputeJSONOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["BatchComputeJSONOut"] { return super.output() as OpenAPI.components["schemas"]["BatchComputeJSONOut"]; } @@ -2188,29 +2340,29 @@ export class ComputeJSON extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `json_object` (optional), `text` (optional) * * https://www.substrate.run/nodes#ComputeJSON */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["ComputeJSONOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): ComputeJSONOut { + return new ComputeJSONOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `json_object` (optional), `text` (optional) * * https://www.substrate.run/nodes#ComputeJSON */ - override get future(): ComputeJSONOut { - return new ComputeJSONOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["ComputeJSONOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["ComputeJSONOut"] { @@ -2254,6 +2406,17 @@ export class MultiComputeJSON extends Node { this.node = "MultiComputeJSON"; } + /** + * Future reference to this node's output. + * + * Output fields: `choices` + * + * https://www.substrate.run/nodes#MultiComputeJSON + */ + override get future(): MultiComputeJSONOut { + return new MultiComputeJSONOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2271,17 +2434,6 @@ export class MultiComputeJSON extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `choices` - * - * https://www.substrate.run/nodes#MultiComputeJSON - */ - override get future(): MultiComputeJSONOut { - return new MultiComputeJSONOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["MultiComputeJSONOut"] { return super.output() as OpenAPI.components["schemas"]["MultiComputeJSONOut"]; } @@ -2323,6 +2475,17 @@ export class Mistral7BInstruct extends Node { this.node = "Mistral7BInstruct"; } + /** + * Future reference to this node's output. + * + * Output fields: `choices` + * + * https://www.substrate.run/nodes#Mistral7BInstruct + */ + override get future(): Mistral7BInstructOut { + return new Mistral7BInstructOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2340,17 +2503,6 @@ export class Mistral7BInstruct extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `choices` - * - * https://www.substrate.run/nodes#Mistral7BInstruct - */ - override get future(): Mistral7BInstructOut { - return new Mistral7BInstructOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["Mistral7BInstructOut"] { return super.output() as OpenAPI.components["schemas"]["Mistral7BInstructOut"]; } @@ -2394,6 +2546,17 @@ export class Mixtral8x7BInstruct extends Node { this.node = "Mixtral8x7BInstruct"; } + /** + * Future reference to this node's output. + * + * Output fields: `choices` + * + * https://www.substrate.run/nodes#Mixtral8x7BInstruct + */ + override get future(): Mixtral8x7BInstructOut { + return new Mixtral8x7BInstructOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2411,17 +2574,6 @@ export class Mixtral8x7BInstruct extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `choices` - * - * https://www.substrate.run/nodes#Mixtral8x7BInstruct - */ - override get future(): Mixtral8x7BInstructOut { - return new Mixtral8x7BInstructOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["Mixtral8x7BInstructOut"] { return super.output() as OpenAPI.components["schemas"]["Mixtral8x7BInstructOut"]; } @@ -2463,6 +2615,17 @@ export class Llama3Instruct8B extends Node { this.node = "Llama3Instruct8B"; } + /** + * Future reference to this node's output. + * + * Output fields: `choices` + * + * https://www.substrate.run/nodes#Llama3Instruct8B + */ + override get future(): Llama3Instruct8BOut { + return new Llama3Instruct8BOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2480,17 +2643,6 @@ export class Llama3Instruct8B extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `choices` - * - * https://www.substrate.run/nodes#Llama3Instruct8B - */ - override get future(): Llama3Instruct8BOut { - return new Llama3Instruct8BOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["Llama3Instruct8BOut"] { return super.output() as OpenAPI.components["schemas"]["Llama3Instruct8BOut"]; } @@ -2532,6 +2684,17 @@ export class Llama3Instruct70B extends Node { this.node = "Llama3Instruct70B"; } + /** + * Future reference to this node's output. + * + * Output fields: `choices` + * + * https://www.substrate.run/nodes#Llama3Instruct70B + */ + override get future(): Llama3Instruct70BOut { + return new Llama3Instruct70BOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2549,17 +2712,6 @@ export class Llama3Instruct70B extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `choices` - * - * https://www.substrate.run/nodes#Llama3Instruct70B - */ - override get future(): Llama3Instruct70BOut { - return new Llama3Instruct70BOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["Llama3Instruct70BOut"] { return super.output() as OpenAPI.components["schemas"]["Llama3Instruct70BOut"]; } @@ -2602,29 +2754,29 @@ export class Firellava13B extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `text` * * https://www.substrate.run/nodes#Firellava13B */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["Firellava13BOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): Firellava13BOut { + return new Firellava13BOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `text` * * https://www.substrate.run/nodes#Firellava13B */ - override get future(): Firellava13BOut { - return new Firellava13BOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["Firellava13BOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["Firellava13BOut"] { @@ -2669,29 +2821,29 @@ export class GenerateImage extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `image_uri` * * https://www.substrate.run/nodes#GenerateImage */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["GenerateImageOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): GenerateImageOut { + return new GenerateImageOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `image_uri` * * https://www.substrate.run/nodes#GenerateImage */ - override get future(): GenerateImageOut { - return new GenerateImageOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["GenerateImageOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["GenerateImageOut"] { @@ -2737,6 +2889,17 @@ export class MultiGenerateImage extends Node { this.node = "MultiGenerateImage"; } + /** + * Future reference to this node's output. + * + * Output fields: `outputs` + * + * https://www.substrate.run/nodes#MultiGenerateImage + */ + override get future(): MultiGenerateImageOut { + return new MultiGenerateImageOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2754,17 +2917,6 @@ export class MultiGenerateImage extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `outputs` - * - * https://www.substrate.run/nodes#MultiGenerateImage - */ - override get future(): MultiGenerateImageOut { - return new MultiGenerateImageOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["MultiGenerateImageOut"] { return super.output() as OpenAPI.components["schemas"]["MultiGenerateImageOut"]; } @@ -2807,29 +2959,29 @@ export class InpaintImage extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `image_uri` * * https://www.substrate.run/nodes#InpaintImage */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["InpaintImageOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): InpaintImageOut { + return new InpaintImageOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `image_uri` * * https://www.substrate.run/nodes#InpaintImage */ - override get future(): InpaintImageOut { - return new InpaintImageOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["InpaintImageOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["InpaintImageOut"] { @@ -2873,6 +3025,17 @@ export class MultiInpaintImage extends Node { this.node = "MultiInpaintImage"; } + /** + * Future reference to this node's output. + * + * Output fields: `outputs` + * + * https://www.substrate.run/nodes#MultiInpaintImage + */ + override get future(): MultiInpaintImageOut { + return new MultiInpaintImageOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2890,17 +3053,6 @@ export class MultiInpaintImage extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `outputs` - * - * https://www.substrate.run/nodes#MultiInpaintImage - */ - override get future(): MultiInpaintImageOut { - return new MultiInpaintImageOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["MultiInpaintImageOut"] { return super.output() as OpenAPI.components["schemas"]["MultiInpaintImageOut"]; } @@ -2945,6 +3097,17 @@ export class StableDiffusionXLLightning extends Node { this.node = "StableDiffusionXLLightning"; } + /** + * Future reference to this node's output. + * + * Output fields: `outputs` + * + * https://www.substrate.run/nodes#StableDiffusionXLLightning + */ + override get future(): StableDiffusionXLLightningOut { + return new StableDiffusionXLLightningOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -2962,17 +3125,6 @@ export class StableDiffusionXLLightning extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `outputs` - * - * https://www.substrate.run/nodes#StableDiffusionXLLightning - */ - override get future(): StableDiffusionXLLightningOut { - return new StableDiffusionXLLightningOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["StableDiffusionXLLightningOut"] { return super.output() as OpenAPI.components["schemas"]["StableDiffusionXLLightningOut"]; } @@ -3017,6 +3169,17 @@ export class StableDiffusionXLInpaint extends Node { this.node = "StableDiffusionXLInpaint"; } + /** + * Future reference to this node's output. + * + * Output fields: `outputs` + * + * https://www.substrate.run/nodes#StableDiffusionXLInpaint + */ + override get future(): StableDiffusionXLInpaintOut { + return new StableDiffusionXLInpaintOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3034,17 +3197,6 @@ export class StableDiffusionXLInpaint extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `outputs` - * - * https://www.substrate.run/nodes#StableDiffusionXLInpaint - */ - override get future(): StableDiffusionXLInpaintOut { - return new StableDiffusionXLInpaintOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["StableDiffusionXLInpaintOut"] { return super.output() as OpenAPI.components["schemas"]["StableDiffusionXLInpaintOut"]; } @@ -3089,6 +3241,17 @@ export class StableDiffusionXLControlNet extends Node { this.node = "StableDiffusionXLControlNet"; } + /** + * Future reference to this node's output. + * + * Output fields: `outputs` + * + * https://www.substrate.run/nodes#StableDiffusionXLControlNet + */ + override get future(): StableDiffusionXLControlNetOut { + return new StableDiffusionXLControlNetOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3107,17 +3270,6 @@ export class StableDiffusionXLControlNet extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `outputs` - * - * https://www.substrate.run/nodes#StableDiffusionXLControlNet - */ - override get future(): StableDiffusionXLControlNetOut { - return new StableDiffusionXLControlNetOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["StableDiffusionXLControlNetOut"] { return super.output() as OpenAPI.components["schemas"]["StableDiffusionXLControlNetOut"]; } @@ -3159,6 +3311,17 @@ export class TranscribeSpeech extends Node { this.node = "TranscribeSpeech"; } + /** + * Future reference to this node's output. + * + * Output fields: `text`, `segments` (optional), `chapters` (optional) + * + * https://www.substrate.run/nodes#TranscribeSpeech + */ + override get future(): TranscribeSpeechOut { + return new TranscribeSpeechOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3176,17 +3339,6 @@ export class TranscribeSpeech extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `text`, `segments` (optional), `chapters` (optional) - * - * https://www.substrate.run/nodes#TranscribeSpeech - */ - override get future(): TranscribeSpeechOut { - return new TranscribeSpeechOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["TranscribeSpeechOut"] { return super.output() as OpenAPI.components["schemas"]["TranscribeSpeechOut"]; } @@ -3228,6 +3380,17 @@ export class GenerateSpeech extends Node { this.node = "GenerateSpeech"; } + /** + * Future reference to this node's output. + * + * Output fields: `audio_uri` + * + * https://www.substrate.run/nodes#GenerateSpeech + */ + override get future(): GenerateSpeechOut { + return new GenerateSpeechOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3245,17 +3408,6 @@ export class GenerateSpeech extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `audio_uri` - * - * https://www.substrate.run/nodes#GenerateSpeech - */ - override get future(): GenerateSpeechOut { - return new GenerateSpeechOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["GenerateSpeechOut"] { return super.output() as OpenAPI.components["schemas"]["GenerateSpeechOut"]; } @@ -3297,6 +3449,17 @@ export class RemoveBackground extends Node { this.node = "RemoveBackground"; } + /** + * Future reference to this node's output. + * + * Output fields: `image_uri` + * + * https://www.substrate.run/nodes#RemoveBackground + */ + override get future(): RemoveBackgroundOut { + return new RemoveBackgroundOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3314,17 +3477,6 @@ export class RemoveBackground extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `image_uri` - * - * https://www.substrate.run/nodes#RemoveBackground - */ - override get future(): RemoveBackgroundOut { - return new RemoveBackgroundOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["RemoveBackgroundOut"] { return super.output() as OpenAPI.components["schemas"]["RemoveBackgroundOut"]; } @@ -3367,29 +3519,29 @@ export class EraseImage extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `image_uri` * * https://www.substrate.run/nodes#EraseImage */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["EraseImageOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): EraseImageOut { + return new EraseImageOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `image_uri` * * https://www.substrate.run/nodes#EraseImage */ - override get future(): EraseImageOut { - return new EraseImageOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["EraseImageOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["EraseImageOut"] { @@ -3434,29 +3586,29 @@ export class UpscaleImage extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `image_uri` * * https://www.substrate.run/nodes#UpscaleImage */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["UpscaleImageOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): UpscaleImageOut { + return new UpscaleImageOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `image_uri` * * https://www.substrate.run/nodes#UpscaleImage */ - override get future(): UpscaleImageOut { - return new UpscaleImageOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["UpscaleImageOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["UpscaleImageOut"] { @@ -3500,6 +3652,17 @@ export class SegmentUnderPoint extends Node { this.node = "SegmentUnderPoint"; } + /** + * Future reference to this node's output. + * + * Output fields: `mask_image_uri` + * + * https://www.substrate.run/nodes#SegmentUnderPoint + */ + override get future(): SegmentUnderPointOut { + return new SegmentUnderPointOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3517,17 +3680,6 @@ export class SegmentUnderPoint extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `mask_image_uri` - * - * https://www.substrate.run/nodes#SegmentUnderPoint - */ - override get future(): SegmentUnderPointOut { - return new SegmentUnderPointOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["SegmentUnderPointOut"] { return super.output() as OpenAPI.components["schemas"]["SegmentUnderPointOut"]; } @@ -3569,6 +3721,17 @@ export class SegmentAnything extends Node { this.node = "SegmentAnything"; } + /** + * Future reference to this node's output. + * + * Output fields: `mask_image_uri` + * + * https://www.substrate.run/nodes#SegmentAnything + */ + override get future(): SegmentAnythingOut { + return new SegmentAnythingOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3586,17 +3749,6 @@ export class SegmentAnything extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `mask_image_uri` - * - * https://www.substrate.run/nodes#SegmentAnything - */ - override get future(): SegmentAnythingOut { - return new SegmentAnythingOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["SegmentAnythingOut"] { return super.output() as OpenAPI.components["schemas"]["SegmentAnythingOut"]; } @@ -3639,29 +3791,29 @@ export class EmbedText extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `embedding` * * https://www.substrate.run/nodes#EmbedText */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["EmbedTextOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): EmbedTextOut { + return new EmbedTextOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `embedding` * * https://www.substrate.run/nodes#EmbedText */ - override get future(): EmbedTextOut { - return new EmbedTextOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["EmbedTextOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["EmbedTextOut"] { @@ -3705,6 +3857,17 @@ export class MultiEmbedText extends Node { this.node = "MultiEmbedText"; } + /** + * Future reference to this node's output. + * + * Output fields: `embeddings` + * + * https://www.substrate.run/nodes#MultiEmbedText + */ + override get future(): MultiEmbedTextOut { + return new MultiEmbedTextOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3722,17 +3885,6 @@ export class MultiEmbedText extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `embeddings` - * - * https://www.substrate.run/nodes#MultiEmbedText - */ - override get future(): MultiEmbedTextOut { - return new MultiEmbedTextOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["MultiEmbedTextOut"] { return super.output() as OpenAPI.components["schemas"]["MultiEmbedTextOut"]; } @@ -3775,29 +3927,29 @@ export class EmbedImage extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `embedding` * * https://www.substrate.run/nodes#EmbedImage */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["EmbedImageOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): EmbedImageOut { + return new EmbedImageOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `embedding` * * https://www.substrate.run/nodes#EmbedImage */ - override get future(): EmbedImageOut { - return new EmbedImageOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["EmbedImageOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["EmbedImageOut"] { @@ -3841,6 +3993,17 @@ export class MultiEmbedImage extends Node { this.node = "MultiEmbedImage"; } + /** + * Future reference to this node's output. + * + * Output fields: `embeddings` + * + * https://www.substrate.run/nodes#MultiEmbedImage + */ + override get future(): MultiEmbedImageOut { + return new MultiEmbedImageOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -3858,17 +4021,6 @@ export class MultiEmbedImage extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `embeddings` - * - * https://www.substrate.run/nodes#MultiEmbedImage - */ - override get future(): MultiEmbedImageOut { - return new MultiEmbedImageOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["MultiEmbedImageOut"] { return super.output() as OpenAPI.components["schemas"]["MultiEmbedImageOut"]; } @@ -3911,29 +4063,29 @@ export class JinaV2 extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `embeddings` * * https://www.substrate.run/nodes#JinaV2 */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["JinaV2Out"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): JinaV2Out { + return new JinaV2Out(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `embeddings` * * https://www.substrate.run/nodes#JinaV2 */ - override get future(): JinaV2Out { - return new JinaV2Out(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["JinaV2Out"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["JinaV2Out"] { @@ -3976,29 +4128,29 @@ export class CLIP extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `embeddings` * * https://www.substrate.run/nodes#CLIP */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["CLIPOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): CLIPOut { + return new CLIPOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `embeddings` * * https://www.substrate.run/nodes#CLIP */ - override get future(): CLIPOut { - return new CLIPOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["CLIPOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["CLIPOut"] { @@ -4045,6 +4197,17 @@ export class FindOrCreateVectorStore extends Node { this.node = "FindOrCreateVectorStore"; } + /** + * Future reference to this node's output. + * + * Output fields: `collection_name`, `model` + * + * https://www.substrate.run/nodes#FindOrCreateVectorStore + */ + override get future(): FindOrCreateVectorStoreOut { + return new FindOrCreateVectorStoreOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -4062,17 +4225,6 @@ export class FindOrCreateVectorStore extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `collection_name`, `model` - * - * https://www.substrate.run/nodes#FindOrCreateVectorStore - */ - override get future(): FindOrCreateVectorStoreOut { - return new FindOrCreateVectorStoreOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["FindOrCreateVectorStoreOut"] { return super.output() as OpenAPI.components["schemas"]["FindOrCreateVectorStoreOut"]; } @@ -4114,6 +4266,17 @@ export class ListVectorStores extends Node { this.node = "ListVectorStores"; } + /** + * Future reference to this node's output. + * + * Output fields: `items` (optional) + * + * https://www.substrate.run/nodes#ListVectorStores + */ + override get future(): ListVectorStoresOut { + return new ListVectorStoresOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -4131,17 +4294,6 @@ export class ListVectorStores extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `items` (optional) - * - * https://www.substrate.run/nodes#ListVectorStores - */ - override get future(): ListVectorStoresOut { - return new ListVectorStoresOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["ListVectorStoresOut"] { return super.output() as OpenAPI.components["schemas"]["ListVectorStoresOut"]; } @@ -4183,6 +4335,17 @@ export class DeleteVectorStore extends Node { this.node = "DeleteVectorStore"; } + /** + * Future reference to this node's output. + * + * Output fields: `collection_name`, `model` + * + * https://www.substrate.run/nodes#DeleteVectorStore + */ + override get future(): DeleteVectorStoreOut { + return new DeleteVectorStoreOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -4200,17 +4363,6 @@ export class DeleteVectorStore extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `collection_name`, `model` - * - * https://www.substrate.run/nodes#DeleteVectorStore - */ - override get future(): DeleteVectorStoreOut { - return new DeleteVectorStoreOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["DeleteVectorStoreOut"] { return super.output() as OpenAPI.components["schemas"]["DeleteVectorStoreOut"]; } @@ -4252,6 +4404,17 @@ export class QueryVectorStore extends Node { this.node = "QueryVectorStore"; } + /** + * Future reference to this node's output. + * + * Output fields: `results`, `collection_name` (optional), `model` (optional) + * + * https://www.substrate.run/nodes#QueryVectorStore + */ + override get future(): QueryVectorStoreOut { + return new QueryVectorStoreOut(new Trace([], this)); + } + /** * Retrieve this node's output from a response. * @@ -4269,17 +4432,6 @@ export class QueryVectorStore extends Node { >; } - /** - * Future reference to this node's output. - * - * Output fields: `results`, `collection_name` (optional), `model` (optional) - * - * https://www.substrate.run/nodes#QueryVectorStore - */ - override get future(): QueryVectorStoreOut { - return new QueryVectorStoreOut(new Trace([], this)); - } - protected override output(): OpenAPI.components["schemas"]["QueryVectorStoreOut"] { return super.output() as OpenAPI.components["schemas"]["QueryVectorStoreOut"]; } @@ -4322,29 +4474,29 @@ export class FetchVectors extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `vectors` * * https://www.substrate.run/nodes#FetchVectors */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["FetchVectorsOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): FetchVectorsOut { + return new FetchVectorsOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `vectors` * * https://www.substrate.run/nodes#FetchVectors */ - override get future(): FetchVectorsOut { - return new FetchVectorsOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["FetchVectorsOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["FetchVectorsOut"] { @@ -4389,29 +4541,29 @@ export class UpdateVectors extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `count` * * https://www.substrate.run/nodes#UpdateVectors */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["UpdateVectorsOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): UpdateVectorsOut { + return new UpdateVectorsOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `count` * * https://www.substrate.run/nodes#UpdateVectors */ - override get future(): UpdateVectorsOut { - return new UpdateVectorsOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["UpdateVectorsOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["UpdateVectorsOut"] { @@ -4456,35 +4608,36 @@ export class DeleteVectors extends Node { } /** - * Retrieve this node's output from a response. + * Future reference to this node's output. * * Output fields: `count` * * https://www.substrate.run/nodes#DeleteVectors */ - protected override async result(): Promise< - OpenAPI.components["schemas"]["DeleteVectorsOut"] | undefined - > { - return Promise.resolve( - this._response ? this._response.get(this) : undefined, - ) as Promise; + override get future(): DeleteVectorsOut { + return new DeleteVectorsOut(new Trace([], this)); } /** - * Future reference to this node's output. + * Retrieve this node's output from a response. * * Output fields: `count` * * https://www.substrate.run/nodes#DeleteVectors */ - override get future(): DeleteVectorsOut { - return new DeleteVectorsOut(new Trace([], this)); + protected override async result(): Promise< + OpenAPI.components["schemas"]["DeleteVectorsOut"] | undefined + > { + return Promise.resolve( + this._response ? this._response.get(this) : undefined, + ) as Promise; } protected override output(): OpenAPI.components["schemas"]["DeleteVectorsOut"] { return super.output() as OpenAPI.components["schemas"]["DeleteVectorsOut"]; } } + export type AnyNode = | Experimental | Box diff --git a/src/index.ts b/src/index.ts index 92cd503..fdaece3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ /** * 𐃏 Substrate TypeScript SDK * @generated file - * 20240617.20240703 + * 20240617.20240710 */ export { SubstrateError } from "substrate/Error"; From fc611a269a2028b42de169e8b30b4797c889f789 Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Wed, 10 Jul 2024 18:18:48 -0400 Subject: [PATCH 07/10] Update `jq` example --- examples/jq.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/jq.ts b/examples/jq.ts index 25bf29e..6fa5338 100755 --- a/examples/jq.ts +++ b/examples/jq.ts @@ -23,7 +23,7 @@ async function main() { const b = new ComputeText({ prompt: sb.concat( "give me the leader of the country: ", - sb.jq<"string">(a.future.json_object, ".country"), + sb.jq(a.future.json_object, ".country"), ), }); From a428f719ef90bcce4eca19d5b779d415aa8003d1 Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Thu, 11 Jul 2024 13:10:25 -0400 Subject: [PATCH 08/10] Specify "runtime hints" for known types to use item/attr at runtime trace serialization --- src/Future.ts | 26 +- src/GEN_VERSION | 2 +- src/Nodes.ts | 939 +++++++++++++++++++++++++++++++++++-------- src/index.ts | 2 +- tests/Future.test.ts | 5 +- 5 files changed, 800 insertions(+), 174 deletions(-) diff --git a/src/Future.ts b/src/Future.ts index 53d917b..65b09f3 100644 --- a/src/Future.ts +++ b/src/Future.ts @@ -84,17 +84,13 @@ export class Trace extends Directive { origin_node_id: this.originNode.id, op_stack: this.items.map((item) => { if (item instanceof Future) { + // @ts-expect-error (accessing protected prop: _runtimeHint) + if (item._runtimeHint === "number") { + // @ts-expect-error (accessing protected prop: _id) + return Trace.Operation.future("item", item._id); + } // @ts-expect-error (accessing protected prop: _id) return Trace.Operation.future("attr", item._id); - - // TODO(liam): we'll need some runtime information here to behave different depending on the type parameter. - - // if (item instanceof FutureString) { - // // @ts-expect-error (accessing protected prop: _id) - // return Trace.Operation.future("attr", item._id); - // } else if (item instanceof FutureNumber) { - // // @ts-expect-error (accessing protected prop: _id) - // return Trace.Operation.future("item", item._id); } else if (typeof item === "string") { return Trace.Operation.key("attr", item); } @@ -194,6 +190,13 @@ export class StringConcat extends Directive { export class Future { protected _directive: Directive; protected _id: string = ""; + protected _runtimeHint: + | "string" + | "number" + | "object" + | "array" + | "boolean" + | undefined; constructor(directive: Directive, id: string = newFutureId()) { this._directive = directive; @@ -279,6 +282,9 @@ export const get = ( future: Future, path: string | Future, ) => { + // @ts-ignore (protected _runtimeHint) + if (path instanceof Future) index._runtimeHint = "string"; + const d = typeof path === "string" ? // @ts-ignore (protected _directive) @@ -297,6 +303,8 @@ export const get = ( * */ export const at = (future: Future, index: number | Future) => { + // @ts-ignore (protected _runtimeHint) + if (index instanceof Future) index._runtimeHint = "number"; // @ts-ignore (protected _directive) return new Future(future._directive.next(index)); }; diff --git a/src/GEN_VERSION b/src/GEN_VERSION index 7c9fa28..349bed5 100644 --- a/src/GEN_VERSION +++ b/src/GEN_VERSION @@ -1 +1 @@ -20240617.20240710 \ No newline at end of file +20240617.20240711 \ No newline at end of file diff --git a/src/Nodes.ts b/src/Nodes.ts index 714559b..af33d85 100644 --- a/src/Nodes.ts +++ b/src/Nodes.ts @@ -1,7 +1,7 @@ /** * 𐃏 Substrate * @generated file - * 20240617.20240710 + * 20240617.20240711 */ import * as OpenAPI from "substrate/OpenAPI"; @@ -37,7 +37,10 @@ type FutureExpandAny = T extends (infer U)[] export class ComputeTextInImageUris extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `ComputeTextInImageUris` once it's node has been run. */ @@ -50,7 +53,10 @@ export class ComputeTextInImageUris extends Future { export class MultiComputeTextOutChoices extends Future { /** Returns `ComputeTextOut` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new ComputeTextOut(this._directive.next(index)); } /** @internal Returns the result for `MultiComputeTextOutChoices` once it's node has been run. */ @@ -63,7 +69,10 @@ export class MultiComputeTextOutChoices extends Future { export class BatchComputeTextInPrompts extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `BatchComputeTextInPrompts` once it's node has been run. */ @@ -76,7 +85,10 @@ export class BatchComputeTextInPrompts extends Future { export class BatchComputeTextOutOutputs extends Future { /** Returns `ComputeTextOut` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new ComputeTextOut(this._directive.next(index)); } /** @internal Returns the result for `BatchComputeTextOutOutputs` once it's node has been run. */ @@ -89,7 +101,10 @@ export class BatchComputeTextOutOutputs extends Future { export class MultiComputeJSONOutChoices extends Future { /** Returns `ComputeJSONOut` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new ComputeJSONOut(this._directive.next(index)); } /** @internal Returns the result for `MultiComputeJSONOutChoices` once it's node has been run. */ @@ -102,7 +117,10 @@ export class MultiComputeJSONOutChoices extends Future { export class BatchComputeJSONInPrompts extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `BatchComputeJSONInPrompts` once it's node has been run. */ @@ -115,7 +133,10 @@ export class BatchComputeJSONInPrompts extends Future { export class BatchComputeJSONOutOutputs extends Future { /** Returns `ComputeJSONOut` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new ComputeJSONOut(this._directive.next(index)); } /** @internal Returns the result for `BatchComputeJSONOutOutputs` once it's node has been run. */ @@ -130,7 +151,10 @@ export class Mistral7BInstructOutChoices extends Future< Mistral7BInstructChoice[] > { /** Returns `Mistral7BInstructChoice` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Mistral7BInstructChoice(this._directive.next(index)); } /** @internal Returns the result for `Mistral7BInstructOutChoices` once it's node has been run. */ @@ -143,7 +167,10 @@ export class Mistral7BInstructOutChoices extends Future< export class Mixtral8x7BInstructOutChoices extends Future { /** Returns `Mixtral8x7BChoice` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Mixtral8x7BChoice(this._directive.next(index)); } /** @internal Returns the result for `Mixtral8x7BInstructOutChoices` once it's node has been run. */ @@ -158,7 +185,10 @@ export class Llama3Instruct8BOutChoices extends Future< Llama3Instruct8BChoice[] > { /** Returns `Llama3Instruct8BChoice` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Llama3Instruct8BChoice(this._directive.next(index)); } /** @internal Returns the result for `Llama3Instruct8BOutChoices` once it's node has been run. */ @@ -173,7 +203,10 @@ export class Llama3Instruct70BOutChoices extends Future< Llama3Instruct70BChoice[] > { /** Returns `Llama3Instruct70BChoice` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Llama3Instruct70BChoice(this._directive.next(index)); } /** @internal Returns the result for `Llama3Instruct70BOutChoices` once it's node has been run. */ @@ -186,7 +219,10 @@ export class Llama3Instruct70BOutChoices extends Future< export class Firellava13BInImageUris extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `Firellava13BInImageUris` once it's node has been run. */ @@ -199,7 +235,10 @@ export class Firellava13BInImageUris extends Future { export class MultiGenerateImageOutOutputs extends Future { /** Returns `GenerateImageOut` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new GenerateImageOut(this._directive.next(index)); } /** @internal Returns the result for `MultiGenerateImageOutOutputs` once it's node has been run. */ @@ -212,7 +251,10 @@ export class MultiGenerateImageOutOutputs extends Future { export class StableDiffusionXLInSeeds extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLInSeeds` once it's node has been run. */ @@ -227,7 +269,10 @@ export class StableDiffusionXLOutOutputs extends Future< StableDiffusionImage[] > { /** Returns `StableDiffusionImage` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new StableDiffusionImage(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLOutOutputs` once it's node has been run. */ @@ -240,7 +285,10 @@ export class StableDiffusionXLOutOutputs extends Future< export class StableDiffusionXLLightningInSeeds extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLLightningInSeeds` once it's node has been run. */ @@ -255,7 +303,10 @@ export class StableDiffusionXLLightningOutOutputs extends Future< StableDiffusionImage[] > { /** Returns `StableDiffusionImage` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new StableDiffusionImage(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLLightningOutOutputs` once it's node has been run. */ @@ -268,7 +319,10 @@ export class StableDiffusionXLLightningOutOutputs extends Future< export class StableDiffusionXLIPAdapterInSeeds extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLIPAdapterInSeeds` once it's node has been run. */ @@ -283,7 +337,10 @@ export class StableDiffusionXLIPAdapterOutOutputs extends Future< StableDiffusionImage[] > { /** Returns `StableDiffusionImage` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new StableDiffusionImage(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLIPAdapterOutOutputs` once it's node has been run. */ @@ -296,7 +353,10 @@ export class StableDiffusionXLIPAdapterOutOutputs extends Future< export class StableDiffusionXLControlNetInSeeds extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLControlNetInSeeds` once it's node has been run. */ @@ -311,7 +371,10 @@ export class StableDiffusionXLControlNetOutOutputs extends Future< StableDiffusionImage[] > { /** Returns `StableDiffusionImage` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new StableDiffusionImage(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLControlNetOutOutputs` once it's node has been run. */ @@ -324,7 +387,10 @@ export class StableDiffusionXLControlNetOutOutputs extends Future< export class MultiInpaintImageOutOutputs extends Future { /** Returns `InpaintImageOut` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new InpaintImageOut(this._directive.next(index)); } /** @internal Returns the result for `MultiInpaintImageOutOutputs` once it's node has been run. */ @@ -337,7 +403,10 @@ export class MultiInpaintImageOutOutputs extends Future { export class StableDiffusionXLInpaintInSeeds extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLInpaintInSeeds` once it's node has been run. */ @@ -352,7 +421,10 @@ export class StableDiffusionXLInpaintOutOutputs extends Future< StableDiffusionImage[] > { /** Returns `StableDiffusionImage` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new StableDiffusionImage(this._directive.next(index)); } /** @internal Returns the result for `StableDiffusionXLInpaintOutOutputs` once it's node has been run. */ @@ -365,7 +437,10 @@ export class StableDiffusionXLInpaintOutOutputs extends Future< export class SegmentAnythingInPointPrompts extends Future { /** Returns `Point` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Point(this._directive.next(index)); } /** @internal Returns the result for `SegmentAnythingInPointPrompts` once it's node has been run. */ @@ -378,7 +453,10 @@ export class SegmentAnythingInPointPrompts extends Future { export class SegmentAnythingInBoxPrompts extends Future { /** Returns `BoundingBox` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new BoundingBox(this._directive.next(index)); } /** @internal Returns the result for `SegmentAnythingInBoxPrompts` once it's node has been run. */ @@ -391,7 +469,10 @@ export class SegmentAnythingInBoxPrompts extends Future { export class TranscribedSegmentWords extends Future { /** Returns `TranscribedWord` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new TranscribedWord(this._directive.next(index)); } /** @internal Returns the result for `TranscribedSegmentWords` once it's node has been run. */ @@ -404,7 +485,10 @@ export class TranscribedSegmentWords extends Future { export class TranscribeSpeechOutSegments extends Future { /** Returns `TranscribedSegment` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new TranscribedSegment(this._directive.next(index)); } /** @internal Returns the result for `TranscribeSpeechOutSegments` once it's node has been run. */ @@ -417,7 +501,10 @@ export class TranscribeSpeechOutSegments extends Future { export class TranscribeSpeechOutChapters extends Future { /** Returns `ChapterMarker` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new ChapterMarker(this._directive.next(index)); } /** @internal Returns the result for `TranscribeSpeechOutChapters` once it's node has been run. */ @@ -430,7 +517,10 @@ export class TranscribeSpeechOutChapters extends Future { export class EmbeddingVector extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `EmbeddingVector` once it's node has been run. */ @@ -443,7 +533,10 @@ export class EmbeddingVector extends Future { export class EmbedTextInEmbeddedMetadataKeys extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `EmbedTextInEmbeddedMetadataKeys` once it's node has been run. */ @@ -456,7 +549,10 @@ export class EmbedTextInEmbeddedMetadataKeys extends Future { export class MultiEmbedTextInItems extends Future { /** Returns `EmbedTextItem` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new EmbedTextItem(this._directive.next(index)); } /** @internal Returns the result for `MultiEmbedTextInItems` once it's node has been run. */ @@ -469,7 +565,10 @@ export class MultiEmbedTextInItems extends Future { export class MultiEmbedTextInEmbeddedMetadataKeys extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `MultiEmbedTextInEmbeddedMetadataKeys` once it's node has been run. */ @@ -482,7 +581,10 @@ export class MultiEmbedTextInEmbeddedMetadataKeys extends Future { export class MultiEmbedTextOutEmbeddings extends Future { /** Returns `Embedding` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Embedding(this._directive.next(index)); } /** @internal Returns the result for `MultiEmbedTextOutEmbeddings` once it's node has been run. */ @@ -495,7 +597,10 @@ export class MultiEmbedTextOutEmbeddings extends Future { export class JinaV2InItems extends Future { /** Returns `EmbedTextItem` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new EmbedTextItem(this._directive.next(index)); } /** @internal Returns the result for `JinaV2InItems` once it's node has been run. */ @@ -508,7 +613,10 @@ export class JinaV2InItems extends Future { export class JinaV2InEmbeddedMetadataKeys extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `JinaV2InEmbeddedMetadataKeys` once it's node has been run. */ @@ -521,7 +629,10 @@ export class JinaV2InEmbeddedMetadataKeys extends Future { export class JinaV2OutEmbeddings extends Future { /** Returns `Embedding` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Embedding(this._directive.next(index)); } /** @internal Returns the result for `JinaV2OutEmbeddings` once it's node has been run. */ @@ -534,7 +645,10 @@ export class JinaV2OutEmbeddings extends Future { export class MultiEmbedImageInItems extends Future { /** Returns `EmbedImageItem` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new EmbedImageItem(this._directive.next(index)); } /** @internal Returns the result for `MultiEmbedImageInItems` once it's node has been run. */ @@ -547,7 +661,10 @@ export class MultiEmbedImageInItems extends Future { export class MultiEmbedImageOutEmbeddings extends Future { /** Returns `Embedding` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Embedding(this._directive.next(index)); } /** @internal Returns the result for `MultiEmbedImageOutEmbeddings` once it's node has been run. */ @@ -560,7 +677,10 @@ export class MultiEmbedImageOutEmbeddings extends Future { export class CLIPInItems extends Future { /** Returns `EmbedTextOrImageItem` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new EmbedTextOrImageItem(this._directive.next(index)); } /** @internal Returns the result for `CLIPInItems` once it's node has been run. */ @@ -573,7 +693,10 @@ export class CLIPInItems extends Future { export class CLIPInEmbeddedMetadataKeys extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `CLIPInEmbeddedMetadataKeys` once it's node has been run. */ @@ -586,7 +709,10 @@ export class CLIPInEmbeddedMetadataKeys extends Future { export class CLIPOutEmbeddings extends Future { /** Returns `Embedding` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Embedding(this._directive.next(index)); } /** @internal Returns the result for `CLIPOutEmbeddings` once it's node has been run. */ @@ -601,7 +727,10 @@ export class ListVectorStoresOutItems extends Future< FindOrCreateVectorStoreOut[] > { /** Returns `FindOrCreateVectorStoreOut` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new FindOrCreateVectorStoreOut(this._directive.next(index)); } /** @internal Returns the result for `ListVectorStoresOutItems` once it's node has been run. */ @@ -614,7 +743,10 @@ export class ListVectorStoresOutItems extends Future< export class VectorVector extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `VectorVector` once it's node has been run. */ @@ -627,7 +759,10 @@ export class VectorVector extends Future { export class FetchVectorsInIds extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `FetchVectorsInIds` once it's node has been run. */ @@ -640,7 +775,10 @@ export class FetchVectorsInIds extends Future { export class FetchVectorsOutVectors extends Future { /** Returns `Vector` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Vector(this._directive.next(index)); } /** @internal Returns the result for `FetchVectorsOutVectors` once it's node has been run. */ @@ -653,7 +791,10 @@ export class FetchVectorsOutVectors extends Future { export class UpdateVectorParamsVector extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `UpdateVectorParamsVector` once it's node has been run. */ @@ -666,7 +807,10 @@ export class UpdateVectorParamsVector extends Future { export class UpdateVectorsInVectors extends Future { /** Returns `UpdateVectorParams` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new UpdateVectorParams(this._directive.next(index)); } /** @internal Returns the result for `UpdateVectorsInVectors` once it's node has been run. */ @@ -679,7 +823,10 @@ export class UpdateVectorsInVectors extends Future { export class DeleteVectorsInIds extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `DeleteVectorsInIds` once it's node has been run. */ @@ -692,7 +839,10 @@ export class DeleteVectorsInIds extends Future { export class QueryVectorStoreInQueryStrings extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `QueryVectorStoreInQueryStrings` once it's node has been run. */ @@ -705,7 +855,10 @@ export class QueryVectorStoreInQueryStrings extends Future { export class QueryVectorStoreInQueryImageUris extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `QueryVectorStoreInQueryImageUris` once it's node has been run. */ @@ -719,7 +872,10 @@ export class QueryVectorStoreInQueryImageUris extends Future { export class QueryVectorStoreInQueryVectors extends Future { /** Returns `QueryVectorStoreInQueryVectorsItem` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new QueryVectorStoreInQueryVectorsItem(this._directive.next(index)); } /** @internal Returns the result for `QueryVectorStoreInQueryVectors` once it's node has been run. */ @@ -732,7 +888,10 @@ export class QueryVectorStoreInQueryVectors extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `QueryVectorStoreInQueryVectorsItem` once it's node has been run. */ @@ -745,7 +904,10 @@ export class QueryVectorStoreInQueryVectorsItem extends Future { export class QueryVectorStoreInQueryIds extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `QueryVectorStoreInQueryIds` once it's node has been run. */ @@ -758,7 +920,10 @@ export class QueryVectorStoreInQueryIds extends Future { export class VectorStoreQueryResultVector extends Future { /** Returns `Future` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new Future(this._directive.next(index)); } /** @internal Returns the result for `VectorStoreQueryResultVector` once it's node has been run. */ @@ -772,7 +937,10 @@ export class VectorStoreQueryResultVector extends Future { export class QueryVectorStoreOutResults extends Future { /** Returns `QueryVectorStoreOutResultsItem` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new QueryVectorStoreOutResultsItem(this._directive.next(index)); } /** @internal Returns the result for `QueryVectorStoreOutResults` once it's node has been run. */ @@ -787,7 +955,10 @@ export class QueryVectorStoreOutResultsItem extends Future< VectorStoreQueryResult[] > { /** Returns `VectorStoreQueryResult` at given index. */ - at(index: number) { + at(index: number | Future) { + // @ts-ignore + if (index instanceof Future) index._runtimeHint = "number"; + // @ts-ignore return new VectorStoreQueryResult(this._directive.next(index)); } /** @internal Returns the result for `QueryVectorStoreOutResultsItem` once it's node has been run. */ @@ -800,12 +971,20 @@ export class QueryVectorStoreOutResultsItem extends Future< export class ErrorOut extends Future { /** The type of error returned. */ get type() { - return new Future(this._directive.next("type")); + // @ts-ignore + const future = new Future(this._directive.next("type")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** A message providing more details about the error. */ get message() { - return new Future(this._directive.next("message")); + // @ts-ignore + const future = new Future(this._directive.next("message")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `ErrorOut` once it's node has been run. */ @@ -818,7 +997,11 @@ export class ErrorOut extends Future { export class ExperimentalOut extends Future { /** Response. */ get output() { - return new Future(this._directive.next("output")); + // @ts-ignore + const future = new Future(this._directive.next("output")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `ExperimentalOut` once it's node has been run. */ @@ -831,7 +1014,11 @@ export class ExperimentalOut extends Future { export class BoxOut extends Future { /** The evaluated result. */ get value() { - return new Future(this._directive.next("value")); + // @ts-ignore + const future = new Future(this._directive.next("value")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `BoxOut` once it's node has been run. */ @@ -844,7 +1031,11 @@ export class BoxOut extends Future { export class IfOut extends Future { /** Result. Null if `value_if_false` is not provided and `condition` is false. */ get result() { - return new Future(this._directive.next("result")); + // @ts-ignore + const future = new Future(this._directive.next("result")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `IfOut` once it's node has been run. */ @@ -857,7 +1048,11 @@ export class IfOut extends Future { export class ComputeTextOut extends Future { /** Text response. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `ComputeTextOut` once it's node has been run. */ @@ -870,12 +1065,20 @@ export class ComputeTextOut extends Future { export class ComputeJSONOut extends Future { /** JSON response. */ get json_object() { - return new Future(this._directive.next("json_object")); + // @ts-ignore + const future = new Future(this._directive.next("json_object")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** If the model output could not be parsed to JSON, this is the raw text output. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `ComputeJSONOut` once it's node has been run. */ @@ -888,7 +1091,13 @@ export class ComputeJSONOut extends Future { export class MultiComputeTextOut extends Future { /** Response choices. */ get choices() { - return new MultiComputeTextOutChoices(this._directive.next("choices")); + // @ts-ignore + const future = new MultiComputeTextOutChoices( + this._directive.next("choices"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `MultiComputeTextOut` once it's node has been run. */ @@ -901,7 +1110,13 @@ export class MultiComputeTextOut extends Future { export class BatchComputeTextOut extends Future { /** Batch outputs. */ get outputs() { - return new BatchComputeTextOutOutputs(this._directive.next("outputs")); + // @ts-ignore + const future = new BatchComputeTextOutOutputs( + this._directive.next("outputs"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `BatchComputeTextOut` once it's node has been run. */ @@ -914,7 +1129,13 @@ export class BatchComputeTextOut extends Future { export class MultiComputeJSONOut extends Future { /** Response choices. */ get choices() { - return new MultiComputeJSONOutChoices(this._directive.next("choices")); + // @ts-ignore + const future = new MultiComputeJSONOutChoices( + this._directive.next("choices"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `MultiComputeJSONOut` once it's node has been run. */ @@ -927,7 +1148,13 @@ export class MultiComputeJSONOut extends Future { export class BatchComputeJSONOut extends Future { /** Batch outputs. */ get outputs() { - return new BatchComputeJSONOutOutputs(this._directive.next("outputs")); + // @ts-ignore + const future = new BatchComputeJSONOutOutputs( + this._directive.next("outputs"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `BatchComputeJSONOut` once it's node has been run. */ @@ -940,12 +1167,20 @@ export class BatchComputeJSONOut extends Future { export class Mistral7BInstructChoice extends Future { /** Text response, if `json_schema` was not provided. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** JSON response, if `json_schema` was provided. */ get json_object() { - return new Future(this._directive.next("json_object")); + // @ts-ignore + const future = new Future(this._directive.next("json_object")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `Mistral7BInstructChoice` once it's node has been run. */ @@ -958,7 +1193,13 @@ export class Mistral7BInstructChoice extends Future { export class Mistral7BInstructOut extends Future { /** Response choices. */ get choices() { - return new Mistral7BInstructOutChoices(this._directive.next("choices")); + // @ts-ignore + const future = new Mistral7BInstructOutChoices( + this._directive.next("choices"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `Mistral7BInstructOut` once it's node has been run. */ @@ -971,12 +1212,20 @@ export class Mistral7BInstructOut extends Future { export class Mixtral8x7BChoice extends Future { /** Text response, if `json_schema` was not provided. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** JSON response, if `json_schema` was provided. */ get json_object() { - return new Future(this._directive.next("json_object")); + // @ts-ignore + const future = new Future(this._directive.next("json_object")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `Mixtral8x7BChoice` once it's node has been run. */ @@ -989,7 +1238,13 @@ export class Mixtral8x7BChoice extends Future { export class Mixtral8x7BInstructOut extends Future { /** Response choices. */ get choices() { - return new Mixtral8x7BInstructOutChoices(this._directive.next("choices")); + // @ts-ignore + const future = new Mixtral8x7BInstructOutChoices( + this._directive.next("choices"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `Mixtral8x7BInstructOut` once it's node has been run. */ @@ -1002,12 +1257,20 @@ export class Mixtral8x7BInstructOut extends Future { export class Llama3Instruct8BChoice extends Future { /** Text response. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** JSON response, if `json_schema` was provided. */ get json_object() { - return new Future(this._directive.next("json_object")); + // @ts-ignore + const future = new Future(this._directive.next("json_object")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `Llama3Instruct8BChoice` once it's node has been run. */ @@ -1020,7 +1283,13 @@ export class Llama3Instruct8BChoice extends Future { export class Llama3Instruct8BOut extends Future { /** Response choices. */ get choices() { - return new Llama3Instruct8BOutChoices(this._directive.next("choices")); + // @ts-ignore + const future = new Llama3Instruct8BOutChoices( + this._directive.next("choices"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `Llama3Instruct8BOut` once it's node has been run. */ @@ -1033,7 +1302,11 @@ export class Llama3Instruct8BOut extends Future { export class Llama3Instruct70BChoice extends Future { /** Text response. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `Llama3Instruct70BChoice` once it's node has been run. */ @@ -1046,7 +1319,13 @@ export class Llama3Instruct70BChoice extends Future { export class Llama3Instruct70BOut extends Future { /** Response choices. */ get choices() { - return new Llama3Instruct70BOutChoices(this._directive.next("choices")); + // @ts-ignore + const future = new Llama3Instruct70BOutChoices( + this._directive.next("choices"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `Llama3Instruct70BOut` once it's node has been run. */ @@ -1059,7 +1338,11 @@ export class Llama3Instruct70BOut extends Future { export class Firellava13BOut extends Future { /** Text response. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `Firellava13BOut` once it's node has been run. */ @@ -1072,7 +1355,11 @@ export class Firellava13BOut extends Future { export class GenerateImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `GenerateImageOut` once it's node has been run. */ @@ -1085,7 +1372,13 @@ export class GenerateImageOut extends Future { export class MultiGenerateImageOut extends Future { /** Generated images. */ get outputs() { - return new MultiGenerateImageOutOutputs(this._directive.next("outputs")); + // @ts-ignore + const future = new MultiGenerateImageOutOutputs( + this._directive.next("outputs"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `MultiGenerateImageOut` once it's node has been run. */ @@ -1098,12 +1391,20 @@ export class MultiGenerateImageOut extends Future { export class StableDiffusionImage extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** The random noise seed used for generation. */ get seed() { - return new Future(this._directive.next("seed")); + // @ts-ignore + const future = new Future(this._directive.next("seed")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** @internal returns the result for `StableDiffusionImage` once it's node has been run. */ @@ -1116,7 +1417,13 @@ export class StableDiffusionImage extends Future { export class StableDiffusionXLOut extends Future { /** Generated images. */ get outputs() { - return new StableDiffusionXLOutOutputs(this._directive.next("outputs")); + // @ts-ignore + const future = new StableDiffusionXLOutOutputs( + this._directive.next("outputs"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `StableDiffusionXLOut` once it's node has been run. */ @@ -1129,9 +1436,13 @@ export class StableDiffusionXLOut extends Future { export class StableDiffusionXLLightningOut extends Future { /** Generated images. */ get outputs() { - return new StableDiffusionXLLightningOutOutputs( + // @ts-ignore + const future = new StableDiffusionXLLightningOutOutputs( this._directive.next("outputs"), ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `StableDiffusionXLLightningOut` once it's node has been run. */ @@ -1144,9 +1455,13 @@ export class StableDiffusionXLLightningOut extends Future { export class StableDiffusionXLIPAdapterOut extends Future { /** Generated images. */ get outputs() { - return new StableDiffusionXLIPAdapterOutOutputs( + // @ts-ignore + const future = new StableDiffusionXLIPAdapterOutOutputs( this._directive.next("outputs"), ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `StableDiffusionXLIPAdapterOut` once it's node has been run. */ @@ -1159,9 +1474,13 @@ export class StableDiffusionXLIPAdapterOut extends Future { export class StableDiffusionXLControlNetOut extends Future { /** Generated images. */ get outputs() { - return new StableDiffusionXLControlNetOutOutputs( + // @ts-ignore + const future = new StableDiffusionXLControlNetOutOutputs( this._directive.next("outputs"), ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `StableDiffusionXLControlNetOut` once it's node has been run. */ @@ -1174,7 +1493,11 @@ export class StableDiffusionXLControlNetOut extends Future { export class InpaintImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `InpaintImageOut` once it's node has been run. */ @@ -1187,7 +1510,13 @@ export class InpaintImageOut extends Future { export class MultiInpaintImageOut extends Future { /** Generated images. */ get outputs() { - return new MultiInpaintImageOutOutputs(this._directive.next("outputs")); + // @ts-ignore + const future = new MultiInpaintImageOutOutputs( + this._directive.next("outputs"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `MultiInpaintImageOut` once it's node has been run. */ @@ -1200,9 +1529,13 @@ export class MultiInpaintImageOut extends Future { export class StableDiffusionXLInpaintOut extends Future { /** Generated images. */ get outputs() { - return new StableDiffusionXLInpaintOutOutputs( + // @ts-ignore + const future = new StableDiffusionXLInpaintOutOutputs( this._directive.next("outputs"), ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `StableDiffusionXLInpaintOut` once it's node has been run. */ @@ -1215,22 +1548,38 @@ export class StableDiffusionXLInpaintOut extends Future { export class BoundingBox extends Future { /** Top left corner x. */ get x1() { - return new Future(this._directive.next("x1")); + // @ts-ignore + const future = new Future(this._directive.next("x1")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** Top left corner y. */ get y1() { - return new Future(this._directive.next("y1")); + // @ts-ignore + const future = new Future(this._directive.next("y1")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** Bottom right corner x. */ get x2() { - return new Future(this._directive.next("x2")); + // @ts-ignore + const future = new Future(this._directive.next("x2")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** Bottom right corner y. */ get y2() { - return new Future(this._directive.next("y2")); + // @ts-ignore + const future = new Future(this._directive.next("y2")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** @internal returns the result for `BoundingBox` once it's node has been run. */ @@ -1243,12 +1592,20 @@ export class BoundingBox extends Future { export class Point extends Future { /** X position. */ get x() { - return new Future(this._directive.next("x")); + // @ts-ignore + const future = new Future(this._directive.next("x")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** Y position. */ get y() { - return new Future(this._directive.next("y")); + // @ts-ignore + const future = new Future(this._directive.next("y")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** @internal returns the result for `Point` once it's node has been run. */ @@ -1261,7 +1618,11 @@ export class Point extends Future { export class EraseImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `EraseImageOut` once it's node has been run. */ @@ -1274,7 +1635,11 @@ export class EraseImageOut extends Future { export class BigLaMaOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `BigLaMaOut` once it's node has been run. */ @@ -1287,7 +1652,11 @@ export class BigLaMaOut extends Future { export class RemoveBackgroundOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `RemoveBackgroundOut` once it's node has been run. */ @@ -1300,7 +1669,11 @@ export class RemoveBackgroundOut extends Future { export class DISISNetOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `DISISNetOut` once it's node has been run. */ @@ -1313,7 +1686,11 @@ export class DISISNetOut extends Future { export class UpscaleImageOut extends Future { /** Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `UpscaleImageOut` once it's node has been run. */ @@ -1326,7 +1703,11 @@ export class UpscaleImageOut extends Future { export class SegmentUnderPointOut extends Future { /** Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get mask_image_uri() { - return new Future(this._directive.next("mask_image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("mask_image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `SegmentUnderPointOut` once it's node has been run. */ @@ -1339,7 +1720,11 @@ export class SegmentUnderPointOut extends Future { export class SegmentAnythingOut extends Future { /** Detected segments in 'mask image' format. Base 64-encoded JPEG image bytes, or a hosted image url if `store` is provided. */ get mask_image_uri() { - return new Future(this._directive.next("mask_image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("mask_image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `SegmentAnythingOut` once it's node has been run. */ @@ -1352,22 +1737,38 @@ export class SegmentAnythingOut extends Future { export class TranscribedWord extends Future { /** Text of word. */ get word() { - return new Future(this._directive.next("word")); + // @ts-ignore + const future = new Future(this._directive.next("word")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** (Optional) Start time of word, in seconds. */ get start() { - return new Future(this._directive.next("start")); + // @ts-ignore + const future = new Future(this._directive.next("start")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** (Optional) End time of word, in seconds. */ get end() { - return new Future(this._directive.next("end")); + // @ts-ignore + const future = new Future(this._directive.next("end")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** (Optional) ID of speaker, if `diarize` is enabled. */ get speaker() { - return new Future(this._directive.next("speaker")); + // @ts-ignore + const future = new Future(this._directive.next("speaker")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `TranscribedWord` once it's node has been run. */ @@ -1380,27 +1781,47 @@ export class TranscribedWord extends Future { export class TranscribedSegment extends Future { /** Text of segment. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** Start time of segment, in seconds. */ get start() { - return new Future(this._directive.next("start")); + // @ts-ignore + const future = new Future(this._directive.next("start")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** End time of segment, in seconds. */ get end() { - return new Future(this._directive.next("end")); + // @ts-ignore + const future = new Future(this._directive.next("end")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** (Optional) ID of speaker, if `diarize` is enabled. */ get speaker() { - return new Future(this._directive.next("speaker")); + // @ts-ignore + const future = new Future(this._directive.next("speaker")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** (Optional) Aligned words, if `align` is enabled. */ get words() { - return new TranscribedSegmentWords(this._directive.next("words")); + // @ts-ignore + const future = new TranscribedSegmentWords(this._directive.next("words")); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `TranscribedSegment` once it's node has been run. */ @@ -1413,12 +1834,20 @@ export class TranscribedSegment extends Future { export class ChapterMarker extends Future { /** Chapter title. */ get title() { - return new Future(this._directive.next("title")); + // @ts-ignore + const future = new Future(this._directive.next("title")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** Start time of chapter, in seconds. */ get start() { - return new Future(this._directive.next("start")); + // @ts-ignore + const future = new Future(this._directive.next("start")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** @internal returns the result for `ChapterMarker` once it's node has been run. */ @@ -1431,17 +1860,33 @@ export class ChapterMarker extends Future { export class TranscribeSpeechOut extends Future { /** Transcribed text. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** (Optional) Transcribed segments, if `segment` is enabled. */ get segments() { - return new TranscribeSpeechOutSegments(this._directive.next("segments")); + // @ts-ignore + const future = new TranscribeSpeechOutSegments( + this._directive.next("segments"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** (Optional) Chapter markers, if `suggest_chapters` is enabled. */ get chapters() { - return new TranscribeSpeechOutChapters(this._directive.next("chapters")); + // @ts-ignore + const future = new TranscribeSpeechOutChapters( + this._directive.next("chapters"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `TranscribeSpeechOut` once it's node has been run. */ @@ -1454,7 +1899,11 @@ export class TranscribeSpeechOut extends Future { export class GenerateSpeechOut extends Future { /** Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided. */ get audio_uri() { - return new Future(this._directive.next("audio_uri")); + // @ts-ignore + const future = new Future(this._directive.next("audio_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `GenerateSpeechOut` once it's node has been run. */ @@ -1467,7 +1916,11 @@ export class GenerateSpeechOut extends Future { export class XTTSV2Out extends Future { /** Base 64-encoded WAV audio bytes, or a hosted audio url if `store` is provided. */ get audio_uri() { - return new Future(this._directive.next("audio_uri")); + // @ts-ignore + const future = new Future(this._directive.next("audio_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `XTTSV2Out` once it's node has been run. */ @@ -1480,17 +1933,29 @@ export class XTTSV2Out extends Future { export class Embedding extends Future { /** Embedding vector. */ get vector() { - return new EmbeddingVector(this._directive.next("vector")); + // @ts-ignore + const future = new EmbeddingVector(this._directive.next("vector")); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** (Optional) Vector store document ID. */ get doc_id() { - return new Future(this._directive.next("doc_id")); + // @ts-ignore + const future = new Future(this._directive.next("doc_id")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** (Optional) Vector store document metadata. */ get metadata() { - return new Future(this._directive.next("metadata")); + // @ts-ignore + const future = new Future(this._directive.next("metadata")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `Embedding` once it's node has been run. */ @@ -1503,7 +1968,11 @@ export class Embedding extends Future { export class EmbedTextOut extends Future { /** Generated embedding. */ get embedding() { - return new Embedding(this._directive.next("embedding")); + // @ts-ignore + const future = new Embedding(this._directive.next("embedding")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `EmbedTextOut` once it's node has been run. */ @@ -1516,17 +1985,29 @@ export class EmbedTextOut extends Future { export class EmbedTextItem extends Future { /** Text to embed. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** (Optional) Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */ get metadata() { - return new Future(this._directive.next("metadata")); + // @ts-ignore + const future = new Future(this._directive.next("metadata")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { - return new Future(this._directive.next("doc_id")); + // @ts-ignore + const future = new Future(this._directive.next("doc_id")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `EmbedTextItem` once it's node has been run. */ @@ -1539,7 +2020,13 @@ export class EmbedTextItem extends Future { export class MultiEmbedTextOut extends Future { /** Generated embeddings. */ get embeddings() { - return new MultiEmbedTextOutEmbeddings(this._directive.next("embeddings")); + // @ts-ignore + const future = new MultiEmbedTextOutEmbeddings( + this._directive.next("embeddings"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `MultiEmbedTextOut` once it's node has been run. */ @@ -1552,7 +2039,11 @@ export class MultiEmbedTextOut extends Future { export class JinaV2Out extends Future { /** Generated embeddings. */ get embeddings() { - return new JinaV2OutEmbeddings(this._directive.next("embeddings")); + // @ts-ignore + const future = new JinaV2OutEmbeddings(this._directive.next("embeddings")); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `JinaV2Out` once it's node has been run. */ @@ -1565,7 +2056,11 @@ export class JinaV2Out extends Future { export class EmbedImageOut extends Future { /** Generated embedding. */ get embedding() { - return new Embedding(this._directive.next("embedding")); + // @ts-ignore + const future = new Embedding(this._directive.next("embedding")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `EmbedImageOut` once it's node has been run. */ @@ -1578,12 +2073,20 @@ export class EmbedImageOut extends Future { export class EmbedImageItem extends Future { /** Image to embed. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** (Optional) Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { - return new Future(this._directive.next("doc_id")); + // @ts-ignore + const future = new Future(this._directive.next("doc_id")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `EmbedImageItem` once it's node has been run. */ @@ -1596,22 +2099,38 @@ export class EmbedImageItem extends Future { export class EmbedTextOrImageItem extends Future { /** Image to embed. */ get image_uri() { - return new Future(this._directive.next("image_uri")); + // @ts-ignore + const future = new Future(this._directive.next("image_uri")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** Text to embed. */ get text() { - return new Future(this._directive.next("text")); + // @ts-ignore + const future = new Future(this._directive.next("text")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** Metadata that can be used to query the vector store. Ignored if `collection_name` is unset. */ get metadata() { - return new Future(this._directive.next("metadata")); + // @ts-ignore + const future = new Future(this._directive.next("metadata")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** Vector store document ID. Ignored if `collection_name` is unset. */ get doc_id() { - return new Future(this._directive.next("doc_id")); + // @ts-ignore + const future = new Future(this._directive.next("doc_id")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `EmbedTextOrImageItem` once it's node has been run. */ @@ -1624,7 +2143,13 @@ export class EmbedTextOrImageItem extends Future { export class MultiEmbedImageOut extends Future { /** Generated embeddings. */ get embeddings() { - return new MultiEmbedImageOutEmbeddings(this._directive.next("embeddings")); + // @ts-ignore + const future = new MultiEmbedImageOutEmbeddings( + this._directive.next("embeddings"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `MultiEmbedImageOut` once it's node has been run. */ @@ -1637,7 +2162,11 @@ export class MultiEmbedImageOut extends Future { export class CLIPOut extends Future { /** Generated embeddings. */ get embeddings() { - return new CLIPOutEmbeddings(this._directive.next("embeddings")); + // @ts-ignore + const future = new CLIPOutEmbeddings(this._directive.next("embeddings")); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `CLIPOut` once it's node has been run. */ @@ -1650,12 +2179,20 @@ export class CLIPOut extends Future { export class FindOrCreateVectorStoreOut extends Future { /** Vector store name. */ get collection_name() { - return new Future(this._directive.next("collection_name")); + // @ts-ignore + const future = new Future(this._directive.next("collection_name")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** Selected embedding model. */ get model() { - return new Future(this._directive.next("model")); + // @ts-ignore + const future = new Future(this._directive.next("model")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `FindOrCreateVectorStoreOut` once it's node has been run. */ @@ -1668,7 +2205,11 @@ export class FindOrCreateVectorStoreOut extends Future { export class ListVectorStoresOut extends Future { /** List of vector stores. */ get items() { - return new ListVectorStoresOutItems(this._directive.next("items")); + // @ts-ignore + const future = new ListVectorStoresOutItems(this._directive.next("items")); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `ListVectorStoresOut` once it's node has been run. */ @@ -1681,12 +2222,20 @@ export class ListVectorStoresOut extends Future { export class DeleteVectorStoreOut extends Future { /** Vector store name. */ get collection_name() { - return new Future(this._directive.next("collection_name")); + // @ts-ignore + const future = new Future(this._directive.next("collection_name")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** Selected embedding model. */ get model() { - return new Future(this._directive.next("model")); + // @ts-ignore + const future = new Future(this._directive.next("model")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `DeleteVectorStoreOut` once it's node has been run. */ @@ -1699,17 +2248,29 @@ export class DeleteVectorStoreOut extends Future { export class Vector extends Future { /** Document ID. */ get id() { - return new Future(this._directive.next("id")); + // @ts-ignore + const future = new Future(this._directive.next("id")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** Embedding vector. */ get vector() { - return new VectorVector(this._directive.next("vector")); + // @ts-ignore + const future = new VectorVector(this._directive.next("vector")); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** Document metadata. */ get metadata() { - return new Future(this._directive.next("metadata")); + // @ts-ignore + const future = new Future(this._directive.next("metadata")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `Vector` once it's node has been run. */ @@ -1722,7 +2283,11 @@ export class Vector extends Future { export class FetchVectorsOut extends Future { /** Retrieved vectors. */ get vectors() { - return new FetchVectorsOutVectors(this._directive.next("vectors")); + // @ts-ignore + const future = new FetchVectorsOutVectors(this._directive.next("vectors")); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** @internal returns the result for `FetchVectorsOut` once it's node has been run. */ @@ -1735,7 +2300,11 @@ export class FetchVectorsOut extends Future { export class UpdateVectorsOut extends Future { /** Number of vectors modified. */ get count() { - return new Future(this._directive.next("count")); + // @ts-ignore + const future = new Future(this._directive.next("count")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** @internal returns the result for `UpdateVectorsOut` once it's node has been run. */ @@ -1748,7 +2317,11 @@ export class UpdateVectorsOut extends Future { export class DeleteVectorsOut extends Future { /** Number of vectors modified. */ get count() { - return new Future(this._directive.next("count")); + // @ts-ignore + const future = new Future(this._directive.next("count")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** @internal returns the result for `DeleteVectorsOut` once it's node has been run. */ @@ -1761,17 +2334,29 @@ export class DeleteVectorsOut extends Future { export class UpdateVectorParams extends Future { /** Document ID. */ get id() { - return new Future(this._directive.next("id")); + // @ts-ignore + const future = new Future(this._directive.next("id")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** (Optional) Embedding vector. */ get vector() { - return new UpdateVectorParamsVector(this._directive.next("vector")); + // @ts-ignore + const future = new UpdateVectorParamsVector(this._directive.next("vector")); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** (Optional) Document metadata. */ get metadata() { - return new Future(this._directive.next("metadata")); + // @ts-ignore + const future = new Future(this._directive.next("metadata")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `UpdateVectorParams` once it's node has been run. */ @@ -1784,22 +2369,40 @@ export class UpdateVectorParams extends Future { export class VectorStoreQueryResult extends Future { /** Document ID. */ get id() { - return new Future(this._directive.next("id")); + // @ts-ignore + const future = new Future(this._directive.next("id")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** Similarity score. */ get distance() { - return new Future(this._directive.next("distance")); + // @ts-ignore + const future = new Future(this._directive.next("distance")); + // @ts-ignore + future._runtimeHint = "number"; + return future; } /** (Optional) Embedding vector. */ get vector() { - return new VectorStoreQueryResultVector(this._directive.next("vector")); + // @ts-ignore + const future = new VectorStoreQueryResultVector( + this._directive.next("vector"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** (Optional) Document metadata. */ get metadata() { - return new Future(this._directive.next("metadata")); + // @ts-ignore + const future = new Future(this._directive.next("metadata")); + // @ts-ignore + future._runtimeHint = "object"; + return future; } /** @internal returns the result for `VectorStoreQueryResult` once it's node has been run. */ @@ -1812,17 +2415,31 @@ export class VectorStoreQueryResult extends Future { export class QueryVectorStoreOut extends Future { /** Query results. */ get results() { - return new QueryVectorStoreOutResults(this._directive.next("results")); + // @ts-ignore + const future = new QueryVectorStoreOutResults( + this._directive.next("results"), + ); + // @ts-ignore + future._runtimeHint = "array"; + return future; } /** (Optional) Vector store name. */ get collection_name() { - return new Future(this._directive.next("collection_name")); + // @ts-ignore + const future = new Future(this._directive.next("collection_name")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** (Optional) Selected embedding model. */ get model() { - return new Future(this._directive.next("model")); + // @ts-ignore + const future = new Future(this._directive.next("model")); + // @ts-ignore + future._runtimeHint = "string"; + return future; } /** @internal returns the result for `QueryVectorStoreOut` once it's node has been run. */ diff --git a/src/index.ts b/src/index.ts index fdaece3..bf76dd9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ /** * 𐃏 Substrate TypeScript SDK * @generated file - * 20240617.20240710 + * 20240617.20240711 */ export { SubstrateError } from "substrate/Error"; diff --git a/tests/Future.test.ts b/tests/Future.test.ts index 9dcbeb1..cb90bfc 100644 --- a/tests/Future.test.ts +++ b/tests/Future.test.ts @@ -85,6 +85,8 @@ describe("Future", () => { test(".toJSON", () => { const s = new Future(new Trace([], node()), "123"); const n = new Future(new Trace([], node()), "456"); + // @ts-ignore (protected prop: _runtimeHint)0 + n._runtimeHint = "number"; // using runtimeHint to specify we'd like to access via "item" const d = new Trace(["a", 1, s, n], node("NodeId")); expect(d.toJSON()).toEqual({ @@ -94,8 +96,7 @@ describe("Future", () => { Trace.Operation.key("attr", "a"), Trace.Operation.key("item", 1), Trace.Operation.future("attr", "123"), - Trace.Operation.future("attr", "456"), // TODO(liam): there isn't a way to distinguish at runtime using static types - // Trace.Operation.future("item", "456"), + Trace.Operation.future("item", "456"), ], }); }); From a115b136f9b79c77d8f02cbc3802dfc95a6acd03 Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Thu, 11 Jul 2024 13:50:58 -0400 Subject: [PATCH 09/10] Remove (unused) ts-ignore --- src/Future.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Future.ts b/src/Future.ts index 65b09f3..088ee0f 100644 --- a/src/Future.ts +++ b/src/Future.ts @@ -117,10 +117,7 @@ export class JQ extends Directive { rawValue: (val: JQCompatible) => ({ future_id: null, val }), }; - override next( - // @ts-ignore - ...items: TraceProp[] - ) { + override next(...items: TraceProp[]) { return new JQ(this.query, this.target); } From 4a6cf047b4a5f711de1428962915e9adb3ab1bd4 Mon Sep 17 00:00:00 2001 From: Liam Griffiths Date: Mon, 15 Jul 2024 11:19:50 -0400 Subject: [PATCH 10/10] Use `Future` when type parameter is unspecified for utility functions (`jq`, `get`, `at`) --- src/Future.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Future.ts b/src/Future.ts index 088ee0f..97e3199 100644 --- a/src/Future.ts +++ b/src/Future.ts @@ -258,7 +258,7 @@ export const interpolate = ( * let newFuture = jq(node.future.json_object, ".country") * */ -export const jq = ( +export const jq = ( future: JQDirectiveTarget, query: string, _futureType: any = undefined, // @deprecated @@ -275,7 +275,7 @@ export const jq = ( * let newFuture = get(node.future, "choices[0].text") * */ -export const get = ( +export const get = ( future: Future, path: string | Future, ) => { @@ -299,7 +299,7 @@ export const get = ( * let newFuture = at(node.future.strings, 0); * */ -export const at = (future: Future, index: number | Future) => { +export const at = (future: Future, index: number | Future) => { // @ts-ignore (protected _runtimeHint) if (index instanceof Future) index._runtimeHint = "number"; // @ts-ignore (protected _directive)