@chai-ui/core 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/composer-view.d.ts +36 -6
- package/dist/composer-view.d.ts.map +1 -1
- package/dist/composer-view.js +64 -13
- package/dist/composer-view.js.map +1 -1
- package/dist/composer.d.ts +15 -6
- package/dist/composer.d.ts.map +1 -1
- package/dist/composer.js +20 -4
- package/dist/composer.js.map +1 -1
- package/dist/engine.d.ts +4 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js.map +1 -1
- package/dist/model-routing.d.ts +2 -2
- package/dist/model-routing.d.ts.map +1 -1
- package/dist/run.d.ts +4 -4
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +2 -2
- package/dist/run.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/composer-view.ts +82 -16
- package/src/composer.ts +32 -9
- package/src/engine.ts +4 -0
- package/src/model-routing.ts +2 -2
- package/src/run.ts +4 -4
- package/src/types.ts +13 -0
package/dist/composer-view.d.ts
CHANGED
|
@@ -4,13 +4,19 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ComposerAttachment, ComposerSubmitPayload, ComposerUseCase } from "./composer.js";
|
|
6
6
|
import type { EditRegion } from "./region-edit.js";
|
|
7
|
-
import type {
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
import type { ModelOption, OutputKind, ParameterOption } from "./types.js";
|
|
8
|
+
/** Which prompt field an Enhance click is for: the bar's prompt, or a world's environment or character. */
|
|
9
|
+
export type ComposerPromptField = "prompt" | "environment" | "character";
|
|
10
|
+
export type ComposerAttachMenuAction = "add-media" | "create-image" | "create-video" | "create-world" | "edit-media";
|
|
11
|
+
/**
|
|
12
|
+
* The `+` menu, in order. "Add media" is the only item with a divider after
|
|
13
|
+
* it. An `optIn` item shows only when `attachMenuActions` lists it.
|
|
14
|
+
*/
|
|
10
15
|
export declare const COMPOSER_ATTACH_MENU_ITEMS: {
|
|
11
16
|
action: ComposerAttachMenuAction;
|
|
12
17
|
label: string;
|
|
13
18
|
divider?: boolean;
|
|
19
|
+
optIn?: boolean;
|
|
14
20
|
}[];
|
|
15
21
|
/**
|
|
16
22
|
* Past this length a rewritten prompt appears at once: a long reveal reads
|
|
@@ -28,7 +34,7 @@ export interface ComposerViewInput {
|
|
|
28
34
|
defaultUseCase?: ComposerUseCase;
|
|
29
35
|
multiSelectUseCases?: boolean;
|
|
30
36
|
useCases?: ComposerUseCase[];
|
|
31
|
-
modelsByKind?: Partial<Record<
|
|
37
|
+
modelsByKind?: Partial<Record<OutputKind, ModelOption[]>>;
|
|
32
38
|
multiSelectModels?: boolean;
|
|
33
39
|
modelIds?: string[];
|
|
34
40
|
models?: ModelOption[];
|
|
@@ -38,6 +44,9 @@ export interface ComposerViewInput {
|
|
|
38
44
|
autoSelectModel?: boolean;
|
|
39
45
|
aspectRatios?: ParameterOption<string>[];
|
|
40
46
|
aspectRatio?: string | null;
|
|
47
|
+
/** A world's character field. */
|
|
48
|
+
character?: string;
|
|
49
|
+
frameRate?: number | null;
|
|
41
50
|
submitError?: string | null;
|
|
42
51
|
submitDisabled?: boolean;
|
|
43
52
|
submitting?: boolean;
|
|
@@ -47,6 +56,13 @@ export interface ComposerViewInput {
|
|
|
47
56
|
}
|
|
48
57
|
export declare function composerView(props: ComposerViewInput): {
|
|
49
58
|
pickedUseCases: ComposerUseCase[];
|
|
59
|
+
/**
|
|
60
|
+
* Which use cases are picked, as one string. When it changes, a Composer
|
|
61
|
+
* whose end user owns the auto-select switch turns auto-select off: it
|
|
62
|
+
* belongs to the Model menu it was turned on in, so a new use case
|
|
63
|
+
* starts with its model picked by hand.
|
|
64
|
+
*/
|
|
65
|
+
useCaseKey: string;
|
|
50
66
|
activeUseCases: ComposerUseCase[];
|
|
51
67
|
editing: boolean;
|
|
52
68
|
isSubmitDisabled: boolean;
|
|
@@ -57,7 +73,7 @@ export declare function composerView(props: ComposerViewInput): {
|
|
|
57
73
|
options: ModelOption[];
|
|
58
74
|
suggested: boolean;
|
|
59
75
|
label: string;
|
|
60
|
-
kind:
|
|
76
|
+
kind: OutputKind;
|
|
61
77
|
}[];
|
|
62
78
|
pickedModelIds: string[];
|
|
63
79
|
canPickModel: boolean;
|
|
@@ -66,13 +82,26 @@ export declare function composerView(props: ComposerViewInput): {
|
|
|
66
82
|
aspectOptions: ParameterOption<string>[];
|
|
67
83
|
offeredAspect: string | null;
|
|
68
84
|
selectedAspect: ParameterOption<string> | null;
|
|
85
|
+
world: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Why submit can't go yet, shown under the environment: there's
|
|
88
|
+
* something to send (a character or an attachment) but no environment.
|
|
89
|
+
*/
|
|
90
|
+
environmentHint: string | null;
|
|
91
|
+
characterPlaceholder: string;
|
|
92
|
+
frameRateOptions: number[];
|
|
93
|
+
offeredFrameRate: number | null;
|
|
69
94
|
/** The model ids after a row click: the one picked, or with multi-select that one toggled. */
|
|
70
95
|
toggledModelIds: (id: string) => string[];
|
|
71
96
|
/** Everything a submit sends. */
|
|
72
97
|
payload: () => ComposerSubmitPayload;
|
|
73
98
|
};
|
|
74
99
|
export type ComposerView = ReturnType<typeof composerView>;
|
|
75
|
-
/**
|
|
100
|
+
/**
|
|
101
|
+
* The `+` menu items that can work: "Add media" needs somewhere to put
|
|
102
|
+
* files, the use-case items a handler. With no `actions`, every item that
|
|
103
|
+
* isn't opt-in.
|
|
104
|
+
*/
|
|
76
105
|
export declare function composerAttachMenuItems(actions: ComposerAttachMenuAction[] | undefined, { canAddMedia, canSelect }: {
|
|
77
106
|
canAddMedia: boolean;
|
|
78
107
|
canSelect: boolean;
|
|
@@ -80,6 +109,7 @@ export declare function composerAttachMenuItems(actions: ComposerAttachMenuActio
|
|
|
80
109
|
action: ComposerAttachMenuAction;
|
|
81
110
|
label: string;
|
|
82
111
|
divider?: boolean;
|
|
112
|
+
optIn?: boolean;
|
|
83
113
|
}[];
|
|
84
114
|
/**
|
|
85
115
|
* The attachments after picking files: each image, video or audio file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer-view.d.ts","sourceRoot":"","sources":["../src/composer-view.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAqB,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAInH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"composer-view.d.ts","sourceRoot":"","sources":["../src/composer-view.ts"],"names":[],"mappings":"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"}
|
package/dist/composer-view.js
CHANGED
|
@@ -3,11 +3,17 @@ import { TEXT_USE_CASE } from "./composer.js";
|
|
|
3
3
|
import { readMediaFiles } from "./media-analyzer.js";
|
|
4
4
|
import { deriveGenerationUseCase } from "./run.js";
|
|
5
5
|
import { suggestedModels } from "./suggested-models.js";
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* The `+` menu, in order. "Add media" is the only item with a divider after
|
|
8
|
+
* it. An `optIn` item shows only when `attachMenuActions` lists it.
|
|
9
|
+
*/
|
|
7
10
|
export const COMPOSER_ATTACH_MENU_ITEMS = [
|
|
8
11
|
{ action: "add-media", label: "Add media", divider: true },
|
|
9
12
|
{ action: "create-image", label: "Create image" },
|
|
10
13
|
{ action: "create-video", label: "Create video" },
|
|
14
|
+
// No suggested world models or shipped world engine yet: a builder adds
|
|
15
|
+
// this with their own models and `engineByKind.world`.
|
|
16
|
+
{ action: "create-world", label: "Create world", optIn: true },
|
|
11
17
|
{ action: "edit-media", label: "Edit image" },
|
|
12
18
|
];
|
|
13
19
|
/**
|
|
@@ -20,7 +26,7 @@ export function enhanceRevealDurationMs(charCount) {
|
|
|
20
26
|
return Math.min(900, Math.max(300, charCount * 6));
|
|
21
27
|
}
|
|
22
28
|
export function composerView(props) {
|
|
23
|
-
const { value, attachments = [], useCase = null, defaultUseCase = TEXT_USE_CASE, multiSelectUseCases = false, useCases = [], modelsByKind, multiSelectModels = false, modelIds = [], models, modelId = null, autoSelectModel = false, aspectRatios, aspectRatio = null, submitError = null, submitting = false, regions = [], disabled = false, } = props;
|
|
29
|
+
const { value, attachments = [], useCase = null, defaultUseCase = TEXT_USE_CASE, multiSelectUseCases = false, useCases = [], modelsByKind, multiSelectModels = false, modelIds = [], models, modelId = null, autoSelectModel = false, aspectRatios, aspectRatio = null, character = "", frameRate = null, submitError = null, submitting = false, regions = [], disabled = false, } = props;
|
|
24
30
|
// What the person picked, and what actually runs: with nothing picked, the
|
|
25
31
|
// builder's default use case (a text request unless they chose otherwise).
|
|
26
32
|
const pickedUseCases = multiSelectUseCases ? useCases : useCase ? [useCase] : [];
|
|
@@ -28,17 +34,26 @@ export function composerView(props) {
|
|
|
28
34
|
// An edit needs an image, then a change: a prompt for the whole image, a
|
|
29
35
|
// region with its own instruction, or both.
|
|
30
36
|
const editing = activeUseCases.some((u) => u.edit);
|
|
37
|
+
// A world takes two prompts: the environment (`value`, required) and the
|
|
38
|
+
// character the person plays (optional). An image can start the world,
|
|
39
|
+
// but the environment is still needed.
|
|
40
|
+
const world = activeUseCases.some((u) => u.kind === "world");
|
|
31
41
|
const hasImage = attachments.some((a) => a.kind === "image");
|
|
32
42
|
const hasContent = editing
|
|
33
43
|
? hasImage && (value.trim().length > 0 || regions.length > 0)
|
|
34
|
-
:
|
|
35
|
-
|
|
44
|
+
: world
|
|
45
|
+
? value.trim().length > 0
|
|
46
|
+
: value.trim().length > 0 || attachments.length > 0;
|
|
36
47
|
const placeholder = props.placeholder ??
|
|
37
48
|
(editing
|
|
38
49
|
? hasImage
|
|
39
50
|
? "Describe a change across the whole image, or leave this empty"
|
|
40
51
|
: "Attach an image to edit"
|
|
41
|
-
:
|
|
52
|
+
: world
|
|
53
|
+
? attachments.length > 0
|
|
54
|
+
? "Describe the world, and how to use the attached media"
|
|
55
|
+
: "Describe the world and how you move through it"
|
|
56
|
+
: "Describe media to create");
|
|
42
57
|
// The stop icon only appears with somewhere for its click to go.
|
|
43
58
|
const showStop = submitting && Boolean(props.onAbort);
|
|
44
59
|
const multiModel = multiSelectModels || multiSelectUseCases;
|
|
@@ -55,18 +70,25 @@ export function composerView(props) {
|
|
|
55
70
|
.map((u) => ({ label: multiSelectUseCases ? u.label : "", kind: u.kind, ...rosterFor(u) }))
|
|
56
71
|
.filter((s) => s.options.length > 0);
|
|
57
72
|
const allModels = modelSections.flatMap((s) => s.options);
|
|
73
|
+
// No menu that can't change anything: without its handler, the Model menu hides.
|
|
74
|
+
const canPickModel = Boolean(multiModel ? props.onModelIdsChange : props.onModelChange);
|
|
58
75
|
// A pick that isn't in the current list (e.g. the edit model after leaving
|
|
59
76
|
// edit mode) is shown as unpicked and never submitted. With no list at
|
|
60
|
-
// all, the app's pick is passed through as given.
|
|
61
|
-
//
|
|
77
|
+
// all, the app's pick is passed through as given. The Composer never picks
|
|
78
|
+
// for the person: with a Model menu, nothing is picked until they pick or
|
|
79
|
+
// turn on auto-select. Only with no menu (nothing the person could pick
|
|
80
|
+
// with) does a suggested list's first model run.
|
|
62
81
|
const validPicks = allModels.length > 0 ? rawPickedIds.filter((id) => allModels.some((m) => m.id === id)) : rawPickedIds;
|
|
63
|
-
const pickedModelIds = validPicks.length > 0 || autoSelectModel
|
|
82
|
+
const pickedModelIds = validPicks.length > 0 || autoSelectModel || canPickModel
|
|
83
|
+
? validPicks
|
|
84
|
+
: modelSections.filter((s) => s.suggested).map((s) => s.options[0].id);
|
|
64
85
|
const pickedModels = allModels.filter((m) => pickedModelIds.includes(m.id));
|
|
65
|
-
// No menu that can't change anything: without its handler, the Model menu hides (the default pick still runs).
|
|
66
|
-
const canPickModel = Boolean(multiModel ? props.onModelIdsChange : props.onModelChange);
|
|
67
86
|
const modelTriggerLabel = pickedModels.length > 1
|
|
68
87
|
? `${pickedModels.length} models`
|
|
69
|
-
: (pickedModels[0]?.label ?? (autoSelectModel ? "Auto-select" : "Select models"));
|
|
88
|
+
: (pickedModels[0]?.label ?? (autoSelectModel ? "Auto-select" : multiModel ? "Select models" : "Select model"));
|
|
89
|
+
// With a Model menu, a submit needs a model: one picked, or auto-select to pick it.
|
|
90
|
+
const needsModel = canPickModel && modelSections.length > 0 && !autoSelectModel && pickedModelIds.length === 0;
|
|
91
|
+
const isSubmitDisabled = submitError ? disabled : (props.submitDisabled ?? (disabled || !hasContent || needsModel));
|
|
70
92
|
// An edit keeps the source image's shape.
|
|
71
93
|
const showAspectRatio = activeUseCases.some((u) => !u.edit && (u.kind === "image" || u.kind === "video"));
|
|
72
94
|
// Only ratios every model that might run takes: the picked ones, or with
|
|
@@ -81,6 +103,12 @@ export function composerView(props) {
|
|
|
81
103
|
// A pick the current models don't take is shown as unpicked and never sent.
|
|
82
104
|
const offeredAspect = showAspectRatio && aspectOptions.some((o) => o.value === aspectRatio) ? aspectRatio : null;
|
|
83
105
|
const selectedAspect = aspectOptions.find((o) => o.value === offeredAspect) ?? null;
|
|
106
|
+
// A world's frame rate works like aspect ratio: only rates every model
|
|
107
|
+
// that might run takes, and a pick outside them is never sent.
|
|
108
|
+
const frameRateOptions = world
|
|
109
|
+
? (ratioModels.reduce((shared, m) => (shared ?? m.frameRates ?? []).filter((r) => m.frameRates?.includes(r)), null) ?? [])
|
|
110
|
+
: [];
|
|
111
|
+
const offeredFrameRate = frameRate != null && frameRateOptions.includes(frameRate) ? frameRate : null;
|
|
84
112
|
const selections = () => activeUseCases.map((u) => ({
|
|
85
113
|
useCase: u,
|
|
86
114
|
models: rosterFor(u).options,
|
|
@@ -88,6 +116,13 @@ export function composerView(props) {
|
|
|
88
116
|
}));
|
|
89
117
|
return {
|
|
90
118
|
pickedUseCases,
|
|
119
|
+
/**
|
|
120
|
+
* Which use cases are picked, as one string. When it changes, a Composer
|
|
121
|
+
* whose end user owns the auto-select switch turns auto-select off: it
|
|
122
|
+
* belongs to the Model menu it was turned on in, so a new use case
|
|
123
|
+
* starts with its model picked by hand.
|
|
124
|
+
*/
|
|
125
|
+
useCaseKey: pickedUseCases.map((u) => `${u.kind}${u.edit ? ":edit" : ""}`).join(","),
|
|
91
126
|
activeUseCases,
|
|
92
127
|
editing,
|
|
93
128
|
isSubmitDisabled,
|
|
@@ -102,6 +137,17 @@ export function composerView(props) {
|
|
|
102
137
|
aspectOptions,
|
|
103
138
|
offeredAspect,
|
|
104
139
|
selectedAspect,
|
|
140
|
+
world,
|
|
141
|
+
/**
|
|
142
|
+
* Why submit can't go yet, shown under the environment: there's
|
|
143
|
+
* something to send (a character or an attachment) but no environment.
|
|
144
|
+
*/
|
|
145
|
+
environmentHint: world && !value.trim() && (character.trim().length > 0 || attachments.length > 0)
|
|
146
|
+
? "Add an environment to create a world"
|
|
147
|
+
: null,
|
|
148
|
+
characterPlaceholder: "Describe who you play as, or leave this empty",
|
|
149
|
+
frameRateOptions,
|
|
150
|
+
offeredFrameRate,
|
|
105
151
|
/** The model ids after a row click: the one picked, or with multi-select that one toggled. */
|
|
106
152
|
toggledModelIds: (id) => (modelIds.includes(id) ? modelIds.filter((m) => m !== id) : [...modelIds, id]),
|
|
107
153
|
/** Everything a submit sends. */
|
|
@@ -114,12 +160,17 @@ export function composerView(props) {
|
|
|
114
160
|
selections: selections(),
|
|
115
161
|
autoSelectModel,
|
|
116
162
|
regions: editing ? regions : [],
|
|
163
|
+
...(world && { character, frameRate: offeredFrameRate }),
|
|
117
164
|
}),
|
|
118
165
|
};
|
|
119
166
|
}
|
|
120
|
-
/**
|
|
167
|
+
/**
|
|
168
|
+
* The `+` menu items that can work: "Add media" needs somewhere to put
|
|
169
|
+
* files, the use-case items a handler. With no `actions`, every item that
|
|
170
|
+
* isn't opt-in.
|
|
171
|
+
*/
|
|
121
172
|
export function composerAttachMenuItems(actions, { canAddMedia, canSelect }) {
|
|
122
|
-
return COMPOSER_ATTACH_MENU_ITEMS.filter((item) => (actions
|
|
173
|
+
return COMPOSER_ATTACH_MENU_ITEMS.filter((item) => (actions ? actions.includes(item.action) : !item.optIn) &&
|
|
123
174
|
(item.action === "add-media" ? canAddMedia : canSelect));
|
|
124
175
|
}
|
|
125
176
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer-view.js","sourceRoot":"","sources":["../src/composer-view.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"composer-view.js","sourceRoot":"","sources":["../src/composer-view.ts"],"names":[],"mappings":"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"}
|
package/dist/composer.d.ts
CHANGED
|
@@ -10,7 +10,8 @@ import { type ModelRoutingInput, type ModelRoutingResult } from "./model-routing
|
|
|
10
10
|
import { type EditRegion } from "./region-edit.js";
|
|
11
11
|
import { type Reasoning } from "./reasoning.js";
|
|
12
12
|
import { type ResultStatus, type Run } from "./run.js";
|
|
13
|
-
import type {
|
|
13
|
+
import type { ComposerPromptField } from "./composer-view.js";
|
|
14
|
+
import type { DroppedMedia, GenerationUseCase, ModelOption, OutputKind } from "./types.js";
|
|
14
15
|
export interface ComposerAttachment extends DroppedMedia {
|
|
15
16
|
id: string;
|
|
16
17
|
}
|
|
@@ -23,7 +24,7 @@ export interface ComposerAttachment extends DroppedMedia {
|
|
|
23
24
|
* the design). With none picked, `defaultUseCase` applies.
|
|
24
25
|
*/
|
|
25
26
|
export interface ComposerUseCase {
|
|
26
|
-
kind:
|
|
27
|
+
kind: OutputKind;
|
|
27
28
|
label: string;
|
|
28
29
|
/**
|
|
29
30
|
* An edit of the attached image rather than a new one: no aspect ratio,
|
|
@@ -63,6 +64,10 @@ export interface ComposerSubmitPayload {
|
|
|
63
64
|
autoSelectModel: boolean;
|
|
64
65
|
/** An edit's marked regions, each with its own instruction. Empty unless the use case is an edit. */
|
|
65
66
|
regions?: EditRegion[];
|
|
67
|
+
/** A world's character, the person's own figure in it. With a world use case, `value` is the environment. Undefined for other use cases. */
|
|
68
|
+
character?: string;
|
|
69
|
+
/** The picked frame rate for a world, or null for the model's default. Undefined for other use cases. */
|
|
70
|
+
frameRate?: number | null;
|
|
66
71
|
}
|
|
67
72
|
/**
|
|
68
73
|
* One version of the image being edited: the original, or the result of an
|
|
@@ -89,7 +94,7 @@ export interface ComposerOptions {
|
|
|
89
94
|
* for multi-use-case select, since one Fal engine outputs one kind, e.g.
|
|
90
95
|
* `{ image: createFalEngine({ outputKind: "image" }), video: createFalEngine({ outputKind: "video" }) }`.
|
|
91
96
|
*/
|
|
92
|
-
engineByKind?: Partial<Record<
|
|
97
|
+
engineByKind?: Partial<Record<OutputKind, GenerationEngine>>;
|
|
93
98
|
/**
|
|
94
99
|
* The engine for text requests (a Composer with no use case picked, or a
|
|
95
100
|
* text use case). Defaults to `reasoningEngine`, and to a mock text engine
|
|
@@ -110,8 +115,12 @@ export interface ComposerOptions {
|
|
|
110
115
|
reasoningEngine?: GenerationEngine;
|
|
111
116
|
/** Set with `reasoningEngine` to override the provider's pair; used for every kind (§5.5). */
|
|
112
117
|
reasoningModel?: string;
|
|
113
|
-
/**
|
|
114
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Overrides the instruction wrapping a raw prompt for Enhance. Defaults to
|
|
120
|
+
* a rewrite instruction for the kind of prompt: still, video, text, or a
|
|
121
|
+
* world's environment or character (`field`).
|
|
122
|
+
*/
|
|
123
|
+
enhancePrompt?: (value: string, mode?: GenerationUseCase, field?: ComposerPromptField) => string;
|
|
115
124
|
/**
|
|
116
125
|
* Auto-select: with `autoSelectModel` on in the payload, the reasoning
|
|
117
126
|
* model picks one model per use case at submit, then these fire with the
|
|
@@ -178,7 +187,7 @@ export declare function createComposerStore(getOptions: () => ComposerOptions, g
|
|
|
178
187
|
subscribe(listener: () => void): () => undefined;
|
|
179
188
|
submit: (payload: ComposerSubmitPayload) => void;
|
|
180
189
|
cancel: () => void;
|
|
181
|
-
enhance: (value: string) => Promise<string>;
|
|
190
|
+
enhance: (value: string, field?: ComposerPromptField) => Promise<string>;
|
|
182
191
|
edit: (s: ComposerState, editImage: DroppedMedia | null | undefined) => ComposerEdit | null;
|
|
183
192
|
reasoning: () => Reasoning | undefined;
|
|
184
193
|
};
|
package/dist/composer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAc,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAA8C,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAUL,KAAK,YAAY,EACjB,KAAK,GAAG,EACT,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"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"}
|
package/dist/composer.js
CHANGED
|
@@ -17,7 +17,14 @@ export const EDIT_IMAGE_USE_CASE = { kind: "image", label: "Edit image", edit: t
|
|
|
17
17
|
/** A result's `modelId` when nothing was picked: the engine runs its own default model. */
|
|
18
18
|
export const DEFAULT_MODEL_ID = "default";
|
|
19
19
|
const mockTextEngine = createMockEngine({ outputKind: "text" });
|
|
20
|
-
function defaultEnhancePrompt(value, mode) {
|
|
20
|
+
function defaultEnhancePrompt(value, mode, field = "prompt") {
|
|
21
|
+
const reply = "Reply with only the rewritten description, nothing else.";
|
|
22
|
+
if (field === "environment") {
|
|
23
|
+
return `Rewrite the following description of an interactive world for a world model to be more detailed and specific, keeping the same intent: the setting, its look and lighting, and how the person moves through it. Don't add a character. ${reply}\n\n${value}`;
|
|
24
|
+
}
|
|
25
|
+
if (field === "character") {
|
|
26
|
+
return `Rewrite the following description of the character a person plays in an interactive world to be more detailed and specific, keeping the same intent: who or what they are, how they look, and how they move. Don't describe the world around them. ${reply}\n\n${value}`;
|
|
27
|
+
}
|
|
21
28
|
const subject = mode?.includes("video")
|
|
22
29
|
? "a video-generation"
|
|
23
30
|
: mode === "text-to-text" || mode === "vision"
|
|
@@ -107,6 +114,13 @@ export function createComposerStore(getOptions, getProvided = () => undefined) {
|
|
|
107
114
|
const params = payload.aspectRatio && !isEdit ? { aspectRatio: payload.aspectRatio } : {};
|
|
108
115
|
if (isEdit)
|
|
109
116
|
params.regions = payload.regions ?? [];
|
|
117
|
+
// A world's extra inputs, for a world engine to map to its model.
|
|
118
|
+
if (selection.useCase.kind === "world") {
|
|
119
|
+
if (payload.character?.trim())
|
|
120
|
+
params.character = payload.character;
|
|
121
|
+
if (payload.frameRate != null)
|
|
122
|
+
params.frameRate = payload.frameRate;
|
|
123
|
+
}
|
|
110
124
|
const request = {
|
|
111
125
|
mode: deriveGenerationUseCase(selection.useCase, attachments),
|
|
112
126
|
prompt: payload.value,
|
|
@@ -168,6 +182,8 @@ export function createComposerStore(getOptions, getProvided = () => undefined) {
|
|
|
168
182
|
prompt,
|
|
169
183
|
attachments: newRun.request.attachments,
|
|
170
184
|
aspectRatio: newRun.request.params.aspectRatio,
|
|
185
|
+
character: newRun.request.params.character,
|
|
186
|
+
frameRate: newRun.request.params.frameRate,
|
|
171
187
|
// Text engines that stream fill `output` in while still "running".
|
|
172
188
|
onText: (text) => update(newRun.id, (r) => streamResult(r, result.id, text)),
|
|
173
189
|
signal,
|
|
@@ -266,14 +282,14 @@ export function createComposerStore(getOptions, getProvided = () => undefined) {
|
|
|
266
282
|
const cancelAll = (prev) => prev.map((run) => run.results.reduce((acc, r) => cancelResult(acc, r.id), run));
|
|
267
283
|
set((s) => ({ routing: false, runs: cancelAll(s.runs), editRuns: cancelAll(s.editRuns) }));
|
|
268
284
|
}
|
|
269
|
-
/** Rewrites a prompt with the reasoning model
|
|
270
|
-
async function enhance(value) {
|
|
285
|
+
/** Rewrites a prompt with the reasoning model, worded for its `field`. Only offer it when `reasoning()` is set. */
|
|
286
|
+
async function enhance(value, field) {
|
|
271
287
|
const r = reasoning();
|
|
272
288
|
if (!r)
|
|
273
289
|
throw new Error("[chai-ui] Enhance needs a reasoning engine and model.");
|
|
274
290
|
set(() => ({ enhancing: true }));
|
|
275
291
|
try {
|
|
276
|
-
const prompt = (getOptions().enhancePrompt ?? defaultEnhancePrompt)(value, state.runs[0]?.request.mode);
|
|
292
|
+
const prompt = (getOptions().enhancePrompt ?? defaultEnhancePrompt)(value, state.runs[0]?.request.mode, field);
|
|
277
293
|
const { src } = await r.engine.generate({ modelId: r.model, prompt, attachments: [] });
|
|
278
294
|
return src;
|
|
279
295
|
}
|
package/dist/composer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.d.ts
CHANGED
|
@@ -21,6 +21,10 @@ export interface GenerationEngine {
|
|
|
21
21
|
attachments: DroppedMedia[];
|
|
22
22
|
/** The output aspect ratio the person picked, e.g. `"16:9"`. Only set for a model that lists it in `ModelOption.aspectRatios`. */
|
|
23
23
|
aspectRatio?: string;
|
|
24
|
+
/** A world's character (Create world), when the person gave one. `prompt` is the environment. */
|
|
25
|
+
character?: string;
|
|
26
|
+
/** A world's frame rate, e.g. `16`. Only set for a model that lists it in `ModelOption.frameRates`. */
|
|
27
|
+
frameRate?: number;
|
|
24
28
|
/**
|
|
25
29
|
* Optional streaming hook for text output. An engine that can stream
|
|
26
30
|
* calls this with the full text received so far (not a delta) each time
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE;QACb;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,YAAY,EAAE,CAAC;QAC5B,kIAAkI;QAClI,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;;;WAKG;QACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC;;;;;WAKG;QACH,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,sEAAsE;AACtE,wBAAgB,UAAU,IAAI,KAAK,CAElC;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAElD;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9E;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBACP,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;CAKhD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,EAAE,GAAG,SAAS,CAQvE;AAED,uGAAuG;AACvG,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAM9F;AAoFD,MAAM,WAAW,iBAAiB;IAChC,8HAA8H;IAC9H,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,gBAAgB,CAgClF;AAED,eAAO,MAAM,UAAU,EAAE,gBAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE;QACb;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,YAAY,EAAE,CAAC;QAC5B,kIAAkI;QAClI,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iGAAiG;QACjG,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,uGAAuG;QACvG,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;;;WAKG;QACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC;;;;;WAKG;QACH,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,sEAAsE;AACtE,wBAAgB,UAAU,IAAI,KAAK,CAElC;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAElD;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9E;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBACP,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;CAKhD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,EAAE,GAAG,SAAS,CAQvE;AAED,uGAAuG;AACvG,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAM9F;AAoFD,MAAM,WAAW,iBAAiB;IAChC,8HAA8H;IAC9H,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,gBAAgB,CAgClF;AAED,eAAO,MAAM,UAAU,EAAE,gBAAqC,CAAC"}
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoCH,sEAAsE;AACtE,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,YAAY,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;AACtE,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAK,GAA0B,CAAC,IAAI,KAAK,YAAY,CAAC;AACtG,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,MAAoB;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAExC,YAAY,OAAe,EAAE,OAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,MAAM,GAAG,GAAI,IAAyC,EAAE,WAAW,CAAC;IACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CACtB,CAAC,CAAC,EAAmB,EAAE,CACrB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAClG,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1D,OAAO,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,OAAe;IACnD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACpB,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,GAAG,GAAG;;;0CAG4B,GAAG;4CACD,IAAI;;;;4GAI4D,SAAS,CACjH,OAAO,CACR;OACI,CAAC;IACN,OAAO,2BAA2B,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,OAAO,CACd,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CACxE,CAAC,CACF,IAAI,CAAC,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,MAAc,EAAE,OAAe;IAC/C,MAAM,YAAY,GAAG;QACnB,yBAAyB;QACzB,0BAA0B;QAC1B,0BAA0B;QAC1B,qCAAqC;QACrC,gCAAgC;KACjC,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,4CAA4C;QAC5C,yCAAyC;QACzC,qCAAqC;QACrC,0CAA0C;KAC3C,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,GAAG,OAAO,eAAe,KAAK,IAAI,MAAM,YAAY,OAAO,GAAG,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;IAChE,MAAM,0BAA0B,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAChE,MAAM,OAAO,GACX,CAAC,YAAY,GAAG,0BAA0B,CAAC,KAAK;QAC9C,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,CAAC;QACvD,SAAS,CAAC;IACZ,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,GAAG,gBAAgB,EAAE,OAAO,EAAE,CAAC;AACnG,CAAC;AAaD,IAAI,aAAa,GAAG,CAAC,CAAC;AAEtB,MAAM,UAAU,gBAAgB,CAAC,UAA6B,EAAE;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC7C,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAC/D,aAAa,IAAI,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,GAAG,OAAO,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;YACrD,MAAM,cAAc,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAExD,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,WAAW,EAAE,CAAC;gBAC9D,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE;oBAC7C,4CAA4C;oBAC5C,yCAAyC;iBAC1C,CAAC,CAAC;YACL,CAAC;YAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,gEAAgE;oBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpC,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtF,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACzG,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAqB,gBAAgB,EAAE,CAAC"}
|
package/dist/model-routing.d.ts
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
* pass your own builder to the hooks' `routingPrompt` option to replace it.
|
|
6
6
|
*/
|
|
7
7
|
import { type GenerationEngine } from "./engine.js";
|
|
8
|
-
import type { DroppedMedia, MediaKind, ModelOption } from "./types.js";
|
|
8
|
+
import type { DroppedMedia, MediaKind, ModelOption, OutputKind } from "./types.js";
|
|
9
9
|
export interface ModelRoutingInput {
|
|
10
10
|
/** What the person typed. Empty for media-only requests (e.g. Media Analyzer). */
|
|
11
11
|
prompt: string;
|
|
12
12
|
/** What the request produces, e.g. "image" for Create image, "text" for analysis. */
|
|
13
|
-
outputKind:
|
|
13
|
+
outputKind: OutputKind;
|
|
14
14
|
/** Kinds of media attached, if any. */
|
|
15
15
|
attachmentKinds: MediaKind[];
|
|
16
16
|
/** The candidates: only models the builder offers for this request. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-routing.d.ts","sourceRoot":"","sources":["../src/model-routing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"model-routing.d.ts","sourceRoot":"","sources":["../src/model-routing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,UAAU,EAAE,UAAU,CAAC;IACvB,uCAAuC;IACvC,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B,uEAAuE;IACvE,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,wBAAgB,uBAAuB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,iBAAiB,GAAG,MAAM,CAgBlH;AAED,oGAAoG;AACpG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,SAAS,CAO/F;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrC;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,GAAG,gBAAgB,GAAG,eAAe,CAAC;IAC5D,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,uFAAuF;IACvF,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;IAC7B,0CAA0C;IAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,CAAC;IACrD,kFAAkF;IAClF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2BlF"}
|
package/dist/run.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* transitions over it: pure, framework-free logic here; `useComposer`
|
|
4
4
|
* (`@chai-ui/react`) is the thin React binding on top.
|
|
5
5
|
*/
|
|
6
|
-
import type { DroppedMedia, Evaluation, GenerationUseCase, MediaKind, Usage } from "./types.js";
|
|
6
|
+
import type { DroppedMedia, Evaluation, GenerationUseCase, MediaKind, OutputKind, Usage } from "./types.js";
|
|
7
7
|
export interface Request {
|
|
8
8
|
/** The specific generation use case, when one could be derived — see `deriveGenerationUseCase`. Undefined when the use case (or its kind) has no `GenerationUseCase` match yet, e.g. audio. */
|
|
9
9
|
mode?: GenerationUseCase;
|
|
@@ -71,11 +71,11 @@ export declare function cancelResult(run: Run, resultId: string): Run;
|
|
|
71
71
|
* case plus whether anything is attached — this is real derivation logic,
|
|
72
72
|
* not just plumbing: the same `kind: "video"` means `"text-to-video"` with
|
|
73
73
|
* nothing attached but `"image-to-video"` once an image is. Returns
|
|
74
|
-
* `undefined` for "audio" (no `GenerationUseCase` member exists
|
|
75
|
-
* audio generation is planned). `"text"` is a text request: a reply to
|
|
74
|
+
* `undefined` for "audio" and "world" (no `GenerationUseCase` member exists
|
|
75
|
+
* yet; audio generation is planned, world models await provider specs). `"text"` is a text request: a reply to
|
|
76
76
|
* the prompt, or a description of the attached media ("vision").
|
|
77
77
|
*/
|
|
78
78
|
export declare function deriveGenerationUseCase(useCase: {
|
|
79
|
-
kind:
|
|
79
|
+
kind: OutputKind;
|
|
80
80
|
} | null | undefined, attachments: DroppedMedia[]): GenerationUseCase | undefined;
|
|
81
81
|
//# sourceMappingURL=run.d.ts.map
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE5G,MAAM,WAAW,OAAO;IACtB,+LAA+L;IAC/L,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gGAAgG;AAChG,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEjF,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wFAAwF;IACxF,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChD,kKAAkK;IAClK,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4SAA4S;IAC5S,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAQ1C;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAa/C;AAMD,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAI/E;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,KAAK,CAAC,EAAE,KAAK,EACb,WAAW,CAAC,EAAE,UAAU,EAAE,GACzB,GAAG,CASL;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAOlF;AAED,oGAAoG;AACpG,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CAM5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAChD,WAAW,EAAE,YAAY,EAAE,GAC1B,iBAAiB,GAAG,SAAS,CAO/B"}
|
package/dist/run.js
CHANGED
|
@@ -77,8 +77,8 @@ export function cancelResult(run, resultId) {
|
|
|
77
77
|
* case plus whether anything is attached — this is real derivation logic,
|
|
78
78
|
* not just plumbing: the same `kind: "video"` means `"text-to-video"` with
|
|
79
79
|
* nothing attached but `"image-to-video"` once an image is. Returns
|
|
80
|
-
* `undefined` for "audio" (no `GenerationUseCase` member exists
|
|
81
|
-
* audio generation is planned). `"text"` is a text request: a reply to
|
|
80
|
+
* `undefined` for "audio" and "world" (no `GenerationUseCase` member exists
|
|
81
|
+
* yet; audio generation is planned, world models await provider specs). `"text"` is a text request: a reply to
|
|
82
82
|
* the prompt, or a description of the attached media ("vision").
|
|
83
83
|
*/
|
|
84
84
|
export function deriveGenerationUseCase(useCase, attachments) {
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/** The kinds of media a component can take in or produce. */
|
|
5
5
|
export type MediaKind = "image" | "video" | "audio" | "text";
|
|
6
|
+
/**
|
|
7
|
+
* What a generation produces: any `MediaKind`, or an interactive world from
|
|
8
|
+
* a world model (Create world). A world is never an attachment, so it lives
|
|
9
|
+
* here rather than in `MediaKind`.
|
|
10
|
+
*/
|
|
11
|
+
export type OutputKind = MediaKind | "world";
|
|
6
12
|
/**
|
|
7
13
|
* A piece of media a person attached (or an engine received) — just enough
|
|
8
14
|
* to know its kind and where it lives.
|
|
@@ -102,6 +108,12 @@ export interface ModelOption {
|
|
|
102
108
|
* the input image): no menu shows.
|
|
103
109
|
*/
|
|
104
110
|
aspectRatios?: string[];
|
|
111
|
+
/**
|
|
112
|
+
* The frame rates a world model runs at, e.g. `[16]`. Composer's frame
|
|
113
|
+
* rate menu offers only rates the selected models share. Leave it out for
|
|
114
|
+
* a model with one fixed rate it doesn't take as an input: no menu shows.
|
|
115
|
+
*/
|
|
116
|
+
frameRates?: number[];
|
|
105
117
|
}
|
|
106
118
|
/** See `ModelOption.falInput`. */
|
|
107
119
|
export interface FalInputFormat {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oFAAoF;AACpF,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACpC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,6GAA6G;IAC7G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oFAAoF;AACpF,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACpC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,6GAA6G;IAC7G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,iBAAiB,CAAC;IACvD,WAAW,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC;CAC7C;AAED,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,YAAY,GACZ,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,QAAQ,GACR,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chai-ui/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "CHAI UI headless core — the Request/Run/Result data model and pluggable generation engines (Fal.ai, OpenRouter, mock). No framework, no rendering.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "kazarazat",
|
package/src/composer-view.ts
CHANGED
|
@@ -9,15 +9,29 @@ import { readMediaFiles } from "./media-analyzer.js";
|
|
|
9
9
|
import type { EditRegion } from "./region-edit.js";
|
|
10
10
|
import { deriveGenerationUseCase } from "./run.js";
|
|
11
11
|
import { suggestedModels } from "./suggested-models.js";
|
|
12
|
-
import type {
|
|
12
|
+
import type { ModelOption, OutputKind, ParameterOption } from "./types.js";
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
/** Which prompt field an Enhance click is for: the bar's prompt, or a world's environment or character. */
|
|
15
|
+
export type ComposerPromptField = "prompt" | "environment" | "character";
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
export type ComposerAttachMenuAction = "add-media" | "create-image" | "create-video" | "create-world" | "edit-media";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The `+` menu, in order. "Add media" is the only item with a divider after
|
|
21
|
+
* it. An `optIn` item shows only when `attachMenuActions` lists it.
|
|
22
|
+
*/
|
|
23
|
+
export const COMPOSER_ATTACH_MENU_ITEMS: {
|
|
24
|
+
action: ComposerAttachMenuAction;
|
|
25
|
+
label: string;
|
|
26
|
+
divider?: boolean;
|
|
27
|
+
optIn?: boolean;
|
|
28
|
+
}[] = [
|
|
18
29
|
{ action: "add-media", label: "Add media", divider: true },
|
|
19
30
|
{ action: "create-image", label: "Create image" },
|
|
20
31
|
{ action: "create-video", label: "Create video" },
|
|
32
|
+
// No suggested world models or shipped world engine yet: a builder adds
|
|
33
|
+
// this with their own models and `engineByKind.world`.
|
|
34
|
+
{ action: "create-world", label: "Create world", optIn: true },
|
|
21
35
|
{ action: "edit-media", label: "Edit image" },
|
|
22
36
|
];
|
|
23
37
|
|
|
@@ -41,7 +55,7 @@ export interface ComposerViewInput {
|
|
|
41
55
|
defaultUseCase?: ComposerUseCase;
|
|
42
56
|
multiSelectUseCases?: boolean;
|
|
43
57
|
useCases?: ComposerUseCase[];
|
|
44
|
-
modelsByKind?: Partial<Record<
|
|
58
|
+
modelsByKind?: Partial<Record<OutputKind, ModelOption[]>>;
|
|
45
59
|
multiSelectModels?: boolean;
|
|
46
60
|
modelIds?: string[];
|
|
47
61
|
models?: ModelOption[];
|
|
@@ -51,6 +65,9 @@ export interface ComposerViewInput {
|
|
|
51
65
|
autoSelectModel?: boolean;
|
|
52
66
|
aspectRatios?: ParameterOption<string>[];
|
|
53
67
|
aspectRatio?: string | null;
|
|
68
|
+
/** A world's character field. */
|
|
69
|
+
character?: string;
|
|
70
|
+
frameRate?: number | null;
|
|
54
71
|
submitError?: string | null;
|
|
55
72
|
submitDisabled?: boolean;
|
|
56
73
|
submitting?: boolean;
|
|
@@ -75,6 +92,8 @@ export function composerView(props: ComposerViewInput) {
|
|
|
75
92
|
autoSelectModel = false,
|
|
76
93
|
aspectRatios,
|
|
77
94
|
aspectRatio = null,
|
|
95
|
+
character = "",
|
|
96
|
+
frameRate = null,
|
|
78
97
|
submitError = null,
|
|
79
98
|
submitting = false,
|
|
80
99
|
regions = [],
|
|
@@ -88,18 +107,27 @@ export function composerView(props: ComposerViewInput) {
|
|
|
88
107
|
// An edit needs an image, then a change: a prompt for the whole image, a
|
|
89
108
|
// region with its own instruction, or both.
|
|
90
109
|
const editing = activeUseCases.some((u) => u.edit);
|
|
110
|
+
// A world takes two prompts: the environment (`value`, required) and the
|
|
111
|
+
// character the person plays (optional). An image can start the world,
|
|
112
|
+
// but the environment is still needed.
|
|
113
|
+
const world = activeUseCases.some((u) => u.kind === "world");
|
|
91
114
|
const hasImage = attachments.some((a) => a.kind === "image");
|
|
92
115
|
const hasContent = editing
|
|
93
116
|
? hasImage && (value.trim().length > 0 || regions.length > 0)
|
|
94
|
-
:
|
|
95
|
-
|
|
117
|
+
: world
|
|
118
|
+
? value.trim().length > 0
|
|
119
|
+
: value.trim().length > 0 || attachments.length > 0;
|
|
96
120
|
const placeholder =
|
|
97
121
|
props.placeholder ??
|
|
98
122
|
(editing
|
|
99
123
|
? hasImage
|
|
100
124
|
? "Describe a change across the whole image, or leave this empty"
|
|
101
125
|
: "Attach an image to edit"
|
|
102
|
-
:
|
|
126
|
+
: world
|
|
127
|
+
? attachments.length > 0
|
|
128
|
+
? "Describe the world, and how to use the attached media"
|
|
129
|
+
: "Describe the world and how you move through it"
|
|
130
|
+
: "Describe media to create");
|
|
103
131
|
// The stop icon only appears with somewhere for its click to go.
|
|
104
132
|
const showStop = submitting && Boolean(props.onAbort);
|
|
105
133
|
|
|
@@ -116,20 +144,27 @@ export function composerView(props: ComposerViewInput) {
|
|
|
116
144
|
.map((u) => ({ label: multiSelectUseCases ? u.label : "", kind: u.kind, ...rosterFor(u) }))
|
|
117
145
|
.filter((s) => s.options.length > 0);
|
|
118
146
|
const allModels = modelSections.flatMap((s) => s.options);
|
|
147
|
+
// No menu that can't change anything: without its handler, the Model menu hides.
|
|
148
|
+
const canPickModel = Boolean(multiModel ? props.onModelIdsChange : props.onModelChange);
|
|
119
149
|
// A pick that isn't in the current list (e.g. the edit model after leaving
|
|
120
150
|
// edit mode) is shown as unpicked and never submitted. With no list at
|
|
121
|
-
// all, the app's pick is passed through as given.
|
|
122
|
-
//
|
|
151
|
+
// all, the app's pick is passed through as given. The Composer never picks
|
|
152
|
+
// for the person: with a Model menu, nothing is picked until they pick or
|
|
153
|
+
// turn on auto-select. Only with no menu (nothing the person could pick
|
|
154
|
+
// with) does a suggested list's first model run.
|
|
123
155
|
const validPicks = allModels.length > 0 ? rawPickedIds.filter((id) => allModels.some((m) => m.id === id)) : rawPickedIds;
|
|
124
156
|
const pickedModelIds =
|
|
125
|
-
validPicks.length > 0 || autoSelectModel
|
|
157
|
+
validPicks.length > 0 || autoSelectModel || canPickModel
|
|
158
|
+
? validPicks
|
|
159
|
+
: modelSections.filter((s) => s.suggested).map((s) => s.options[0]!.id);
|
|
126
160
|
const pickedModels = allModels.filter((m) => pickedModelIds.includes(m.id));
|
|
127
|
-
// No menu that can't change anything: without its handler, the Model menu hides (the default pick still runs).
|
|
128
|
-
const canPickModel = Boolean(multiModel ? props.onModelIdsChange : props.onModelChange);
|
|
129
161
|
const modelTriggerLabel =
|
|
130
162
|
pickedModels.length > 1
|
|
131
163
|
? `${pickedModels.length} models`
|
|
132
|
-
: (pickedModels[0]?.label ?? (autoSelectModel ? "Auto-select" : "Select models"));
|
|
164
|
+
: (pickedModels[0]?.label ?? (autoSelectModel ? "Auto-select" : multiModel ? "Select models" : "Select model"));
|
|
165
|
+
// With a Model menu, a submit needs a model: one picked, or auto-select to pick it.
|
|
166
|
+
const needsModel = canPickModel && modelSections.length > 0 && !autoSelectModel && pickedModelIds.length === 0;
|
|
167
|
+
const isSubmitDisabled = submitError ? disabled : (props.submitDisabled ?? (disabled || !hasContent || needsModel));
|
|
133
168
|
|
|
134
169
|
// An edit keeps the source image's shape.
|
|
135
170
|
const showAspectRatio = activeUseCases.some((u) => !u.edit && (u.kind === "image" || u.kind === "video"));
|
|
@@ -147,6 +182,13 @@ export function composerView(props: ComposerViewInput) {
|
|
|
147
182
|
const offeredAspect = showAspectRatio && aspectOptions.some((o) => o.value === aspectRatio) ? aspectRatio : null;
|
|
148
183
|
const selectedAspect = aspectOptions.find((o) => o.value === offeredAspect) ?? null;
|
|
149
184
|
|
|
185
|
+
// A world's frame rate works like aspect ratio: only rates every model
|
|
186
|
+
// that might run takes, and a pick outside them is never sent.
|
|
187
|
+
const frameRateOptions = world
|
|
188
|
+
? (ratioModels.reduce<number[] | null>((shared, m) => (shared ?? m.frameRates ?? []).filter((r) => m.frameRates?.includes(r)), null) ?? [])
|
|
189
|
+
: [];
|
|
190
|
+
const offeredFrameRate = frameRate != null && frameRateOptions.includes(frameRate) ? frameRate : null;
|
|
191
|
+
|
|
150
192
|
const selections = (): ComposerSelection[] =>
|
|
151
193
|
activeUseCases.map((u) => ({
|
|
152
194
|
useCase: u,
|
|
@@ -156,6 +198,13 @@ export function composerView(props: ComposerViewInput) {
|
|
|
156
198
|
|
|
157
199
|
return {
|
|
158
200
|
pickedUseCases,
|
|
201
|
+
/**
|
|
202
|
+
* Which use cases are picked, as one string. When it changes, a Composer
|
|
203
|
+
* whose end user owns the auto-select switch turns auto-select off: it
|
|
204
|
+
* belongs to the Model menu it was turned on in, so a new use case
|
|
205
|
+
* starts with its model picked by hand.
|
|
206
|
+
*/
|
|
207
|
+
useCaseKey: pickedUseCases.map((u) => `${u.kind}${u.edit ? ":edit" : ""}`).join(","),
|
|
159
208
|
activeUseCases,
|
|
160
209
|
editing,
|
|
161
210
|
isSubmitDisabled,
|
|
@@ -170,6 +219,18 @@ export function composerView(props: ComposerViewInput) {
|
|
|
170
219
|
aspectOptions,
|
|
171
220
|
offeredAspect,
|
|
172
221
|
selectedAspect,
|
|
222
|
+
world,
|
|
223
|
+
/**
|
|
224
|
+
* Why submit can't go yet, shown under the environment: there's
|
|
225
|
+
* something to send (a character or an attachment) but no environment.
|
|
226
|
+
*/
|
|
227
|
+
environmentHint:
|
|
228
|
+
world && !value.trim() && (character.trim().length > 0 || attachments.length > 0)
|
|
229
|
+
? "Add an environment to create a world"
|
|
230
|
+
: null,
|
|
231
|
+
characterPlaceholder: "Describe who you play as, or leave this empty",
|
|
232
|
+
frameRateOptions,
|
|
233
|
+
offeredFrameRate,
|
|
173
234
|
/** The model ids after a row click: the one picked, or with multi-select that one toggled. */
|
|
174
235
|
toggledModelIds: (id: string) => (modelIds.includes(id) ? modelIds.filter((m) => m !== id) : [...modelIds, id]),
|
|
175
236
|
/** Everything a submit sends. */
|
|
@@ -182,20 +243,25 @@ export function composerView(props: ComposerViewInput) {
|
|
|
182
243
|
selections: selections(),
|
|
183
244
|
autoSelectModel,
|
|
184
245
|
regions: editing ? regions : [],
|
|
246
|
+
...(world && { character, frameRate: offeredFrameRate }),
|
|
185
247
|
}),
|
|
186
248
|
};
|
|
187
249
|
}
|
|
188
250
|
|
|
189
251
|
export type ComposerView = ReturnType<typeof composerView>;
|
|
190
252
|
|
|
191
|
-
/**
|
|
253
|
+
/**
|
|
254
|
+
* The `+` menu items that can work: "Add media" needs somewhere to put
|
|
255
|
+
* files, the use-case items a handler. With no `actions`, every item that
|
|
256
|
+
* isn't opt-in.
|
|
257
|
+
*/
|
|
192
258
|
export function composerAttachMenuItems(
|
|
193
259
|
actions: ComposerAttachMenuAction[] | undefined,
|
|
194
260
|
{ canAddMedia, canSelect }: { canAddMedia: boolean; canSelect: boolean }
|
|
195
261
|
) {
|
|
196
262
|
return COMPOSER_ATTACH_MENU_ITEMS.filter(
|
|
197
263
|
(item) =>
|
|
198
|
-
(actions
|
|
264
|
+
(actions ? actions.includes(item.action) : !item.optIn) &&
|
|
199
265
|
(item.action === "add-media" ? canAddMedia : canSelect)
|
|
200
266
|
);
|
|
201
267
|
}
|
package/src/composer.ts
CHANGED
|
@@ -28,7 +28,8 @@ import {
|
|
|
28
28
|
type ResultStatus,
|
|
29
29
|
type Run,
|
|
30
30
|
} from "./run.js";
|
|
31
|
-
import type {
|
|
31
|
+
import type { ComposerPromptField } from "./composer-view.js";
|
|
32
|
+
import type { DroppedMedia, GenerationUseCase, MediaKind, ModelOption, OutputKind } from "./types.js";
|
|
32
33
|
|
|
33
34
|
export interface ComposerAttachment extends DroppedMedia {
|
|
34
35
|
id: string;
|
|
@@ -43,7 +44,7 @@ export interface ComposerAttachment extends DroppedMedia {
|
|
|
43
44
|
* the design). With none picked, `defaultUseCase` applies.
|
|
44
45
|
*/
|
|
45
46
|
export interface ComposerUseCase {
|
|
46
|
-
kind:
|
|
47
|
+
kind: OutputKind;
|
|
47
48
|
label: string;
|
|
48
49
|
/**
|
|
49
50
|
* An edit of the attached image rather than a new one: no aspect ratio,
|
|
@@ -87,6 +88,10 @@ export interface ComposerSubmitPayload {
|
|
|
87
88
|
autoSelectModel: boolean;
|
|
88
89
|
/** An edit's marked regions, each with its own instruction. Empty unless the use case is an edit. */
|
|
89
90
|
regions?: EditRegion[];
|
|
91
|
+
/** A world's character, the person's own figure in it. With a world use case, `value` is the environment. Undefined for other use cases. */
|
|
92
|
+
character?: string;
|
|
93
|
+
/** The picked frame rate for a world, or null for the model's default. Undefined for other use cases. */
|
|
94
|
+
frameRate?: number | null;
|
|
90
95
|
}
|
|
91
96
|
|
|
92
97
|
/**
|
|
@@ -116,7 +121,7 @@ export interface ComposerOptions {
|
|
|
116
121
|
* for multi-use-case select, since one Fal engine outputs one kind, e.g.
|
|
117
122
|
* `{ image: createFalEngine({ outputKind: "image" }), video: createFalEngine({ outputKind: "video" }) }`.
|
|
118
123
|
*/
|
|
119
|
-
engineByKind?: Partial<Record<
|
|
124
|
+
engineByKind?: Partial<Record<OutputKind, GenerationEngine>>;
|
|
120
125
|
/**
|
|
121
126
|
* The engine for text requests (a Composer with no use case picked, or a
|
|
122
127
|
* text use case). Defaults to `reasoningEngine`, and to a mock text engine
|
|
@@ -137,8 +142,12 @@ export interface ComposerOptions {
|
|
|
137
142
|
reasoningEngine?: GenerationEngine;
|
|
138
143
|
/** Set with `reasoningEngine` to override the provider's pair; used for every kind (§5.5). */
|
|
139
144
|
reasoningModel?: string;
|
|
140
|
-
/**
|
|
141
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Overrides the instruction wrapping a raw prompt for Enhance. Defaults to
|
|
147
|
+
* a rewrite instruction for the kind of prompt: still, video, text, or a
|
|
148
|
+
* world's environment or character (`field`).
|
|
149
|
+
*/
|
|
150
|
+
enhancePrompt?: (value: string, mode?: GenerationUseCase, field?: ComposerPromptField) => string;
|
|
142
151
|
/**
|
|
143
152
|
* Auto-select: with `autoSelectModel` on in the payload, the reasoning
|
|
144
153
|
* model picks one model per use case at submit, then these fire with the
|
|
@@ -195,7 +204,14 @@ export interface ComposerEdit {
|
|
|
195
204
|
|
|
196
205
|
const mockTextEngine = createMockEngine({ outputKind: "text" });
|
|
197
206
|
|
|
198
|
-
function defaultEnhancePrompt(value: string, mode?: GenerationUseCase): string {
|
|
207
|
+
function defaultEnhancePrompt(value: string, mode?: GenerationUseCase, field: ComposerPromptField = "prompt"): string {
|
|
208
|
+
const reply = "Reply with only the rewritten description, nothing else.";
|
|
209
|
+
if (field === "environment") {
|
|
210
|
+
return `Rewrite the following description of an interactive world for a world model to be more detailed and specific, keeping the same intent: the setting, its look and lighting, and how the person moves through it. Don't add a character. ${reply}\n\n${value}`;
|
|
211
|
+
}
|
|
212
|
+
if (field === "character") {
|
|
213
|
+
return `Rewrite the following description of the character a person plays in an interactive world to be more detailed and specific, keeping the same intent: who or what they are, how they look, and how they move. Don't describe the world around them. ${reply}\n\n${value}`;
|
|
214
|
+
}
|
|
199
215
|
const subject = mode?.includes("video")
|
|
200
216
|
? "a video-generation"
|
|
201
217
|
: mode === "text-to-text" || mode === "vision"
|
|
@@ -293,6 +309,11 @@ export function createComposerStore(getOptions: () => ComposerOptions, getProvid
|
|
|
293
309
|
const fallback = isText ? (opts.textModel ?? (r && reasoningModelFor(r, attachments))) : undefined;
|
|
294
310
|
const params: Record<string, unknown> = payload.aspectRatio && !isEdit ? { aspectRatio: payload.aspectRatio } : {};
|
|
295
311
|
if (isEdit) params.regions = payload.regions ?? [];
|
|
312
|
+
// A world's extra inputs, for a world engine to map to its model.
|
|
313
|
+
if (selection.useCase.kind === "world") {
|
|
314
|
+
if (payload.character?.trim()) params.character = payload.character;
|
|
315
|
+
if (payload.frameRate != null) params.frameRate = payload.frameRate;
|
|
316
|
+
}
|
|
296
317
|
const request: Request = {
|
|
297
318
|
mode: deriveGenerationUseCase(selection.useCase, attachments),
|
|
298
319
|
prompt: payload.value,
|
|
@@ -359,6 +380,8 @@ export function createComposerStore(getOptions: () => ComposerOptions, getProvid
|
|
|
359
380
|
prompt,
|
|
360
381
|
attachments: newRun.request.attachments,
|
|
361
382
|
aspectRatio: newRun.request.params.aspectRatio as string | undefined,
|
|
383
|
+
character: newRun.request.params.character as string | undefined,
|
|
384
|
+
frameRate: newRun.request.params.frameRate as number | undefined,
|
|
362
385
|
// Text engines that stream fill `output` in while still "running".
|
|
363
386
|
onText: (text) => update(newRun.id, (r) => streamResult(r, result.id, text)),
|
|
364
387
|
signal,
|
|
@@ -462,13 +485,13 @@ export function createComposerStore(getOptions: () => ComposerOptions, getProvid
|
|
|
462
485
|
set((s) => ({ routing: false, runs: cancelAll(s.runs), editRuns: cancelAll(s.editRuns) }));
|
|
463
486
|
}
|
|
464
487
|
|
|
465
|
-
/** Rewrites a prompt with the reasoning model
|
|
466
|
-
async function enhance(value: string): Promise<string> {
|
|
488
|
+
/** Rewrites a prompt with the reasoning model, worded for its `field`. Only offer it when `reasoning()` is set. */
|
|
489
|
+
async function enhance(value: string, field?: ComposerPromptField): Promise<string> {
|
|
467
490
|
const r = reasoning();
|
|
468
491
|
if (!r) throw new Error("[chai-ui] Enhance needs a reasoning engine and model.");
|
|
469
492
|
set(() => ({ enhancing: true }));
|
|
470
493
|
try {
|
|
471
|
-
const prompt = (getOptions().enhancePrompt ?? defaultEnhancePrompt)(value, state.runs[0]?.request.mode);
|
|
494
|
+
const prompt = (getOptions().enhancePrompt ?? defaultEnhancePrompt)(value, state.runs[0]?.request.mode, field);
|
|
472
495
|
const { src } = await r.engine.generate({ modelId: r.model, prompt, attachments: [] });
|
|
473
496
|
return src;
|
|
474
497
|
} finally {
|
package/src/engine.ts
CHANGED
|
@@ -23,6 +23,10 @@ export interface GenerationEngine {
|
|
|
23
23
|
attachments: DroppedMedia[];
|
|
24
24
|
/** The output aspect ratio the person picked, e.g. `"16:9"`. Only set for a model that lists it in `ModelOption.aspectRatios`. */
|
|
25
25
|
aspectRatio?: string;
|
|
26
|
+
/** A world's character (Create world), when the person gave one. `prompt` is the environment. */
|
|
27
|
+
character?: string;
|
|
28
|
+
/** A world's frame rate, e.g. `16`. Only set for a model that lists it in `ModelOption.frameRates`. */
|
|
29
|
+
frameRate?: number;
|
|
26
30
|
/**
|
|
27
31
|
* Optional streaming hook for text output. An engine that can stream
|
|
28
32
|
* calls this with the full text received so far (not a delta) each time
|
package/src/model-routing.ts
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { normalizeGenerationError, type GenerationEngine } from "./engine.js";
|
|
9
|
-
import type { DroppedMedia, MediaKind, ModelOption } from "./types.js";
|
|
9
|
+
import type { DroppedMedia, MediaKind, ModelOption, OutputKind } from "./types.js";
|
|
10
10
|
|
|
11
11
|
export interface ModelRoutingInput {
|
|
12
12
|
/** What the person typed. Empty for media-only requests (e.g. Media Analyzer). */
|
|
13
13
|
prompt: string;
|
|
14
14
|
/** What the request produces, e.g. "image" for Create image, "text" for analysis. */
|
|
15
|
-
outputKind:
|
|
15
|
+
outputKind: OutputKind;
|
|
16
16
|
/** Kinds of media attached, if any. */
|
|
17
17
|
attachmentKinds: MediaKind[];
|
|
18
18
|
/** The candidates: only models the builder offers for this request. */
|
package/src/run.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* (`@chai-ui/react`) is the thin React binding on top.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { DroppedMedia, Evaluation, GenerationUseCase, MediaKind, Usage } from "./types.js";
|
|
7
|
+
import type { DroppedMedia, Evaluation, GenerationUseCase, MediaKind, OutputKind, Usage } from "./types.js";
|
|
8
8
|
|
|
9
9
|
export interface Request {
|
|
10
10
|
/** The specific generation use case, when one could be derived — see `deriveGenerationUseCase`. Undefined when the use case (or its kind) has no `GenerationUseCase` match yet, e.g. audio. */
|
|
@@ -135,12 +135,12 @@ export function cancelResult(run: Run, resultId: string): Run {
|
|
|
135
135
|
* case plus whether anything is attached — this is real derivation logic,
|
|
136
136
|
* not just plumbing: the same `kind: "video"` means `"text-to-video"` with
|
|
137
137
|
* nothing attached but `"image-to-video"` once an image is. Returns
|
|
138
|
-
* `undefined` for "audio" (no `GenerationUseCase` member exists
|
|
139
|
-
* audio generation is planned). `"text"` is a text request: a reply to
|
|
138
|
+
* `undefined` for "audio" and "world" (no `GenerationUseCase` member exists
|
|
139
|
+
* yet; audio generation is planned, world models await provider specs). `"text"` is a text request: a reply to
|
|
140
140
|
* the prompt, or a description of the attached media ("vision").
|
|
141
141
|
*/
|
|
142
142
|
export function deriveGenerationUseCase(
|
|
143
|
-
useCase: { kind:
|
|
143
|
+
useCase: { kind: OutputKind } | null | undefined,
|
|
144
144
|
attachments: DroppedMedia[]
|
|
145
145
|
): GenerationUseCase | undefined {
|
|
146
146
|
if (!useCase) return undefined;
|
package/src/types.ts
CHANGED
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
/** The kinds of media a component can take in or produce. */
|
|
6
6
|
export type MediaKind = "image" | "video" | "audio" | "text";
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* What a generation produces: any `MediaKind`, or an interactive world from
|
|
10
|
+
* a world model (Create world). A world is never an attachment, so it lives
|
|
11
|
+
* here rather than in `MediaKind`.
|
|
12
|
+
*/
|
|
13
|
+
export type OutputKind = MediaKind | "world";
|
|
14
|
+
|
|
8
15
|
/**
|
|
9
16
|
* A piece of media a person attached (or an engine received) — just enough
|
|
10
17
|
* to know its kind and where it lives.
|
|
@@ -106,6 +113,12 @@ export interface ModelOption {
|
|
|
106
113
|
* the input image): no menu shows.
|
|
107
114
|
*/
|
|
108
115
|
aspectRatios?: string[];
|
|
116
|
+
/**
|
|
117
|
+
* The frame rates a world model runs at, e.g. `[16]`. Composer's frame
|
|
118
|
+
* rate menu offers only rates the selected models share. Leave it out for
|
|
119
|
+
* a model with one fixed rate it doesn't take as an input: no menu shows.
|
|
120
|
+
*/
|
|
121
|
+
frameRates?: number[];
|
|
109
122
|
}
|
|
110
123
|
|
|
111
124
|
/** See `ModelOption.falInput`. */
|