@marlinjai/studio-mcp 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -9
- package/dist/cli.js +402 -37
- package/dist/index.d.ts +53 -8
- package/dist/index.js +402 -37
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -929,12 +929,41 @@ interface JobResponse {
|
|
|
929
929
|
[k: string]: unknown;
|
|
930
930
|
}>;
|
|
931
931
|
}
|
|
932
|
+
/**
|
|
933
|
+
* How many images a job will really make for the count that was asked for.
|
|
934
|
+
* Mirrors `CandidatePlan` in the Studio's `src/lib/jobs/candidates.ts`.
|
|
935
|
+
*/
|
|
936
|
+
interface CandidatePlan {
|
|
937
|
+
/** How many candidates the request asked for (one when it named none). */
|
|
938
|
+
requested: number;
|
|
939
|
+
/** How many images to expect. */
|
|
940
|
+
rendered: number;
|
|
941
|
+
/** For an automatic route whose fallback renders more: the most the job can render. */
|
|
942
|
+
mayRender?: number;
|
|
943
|
+
}
|
|
944
|
+
/** `POST /api/generate` for an image job. `candidates` and `notice` are absent
|
|
945
|
+
* from a Studio older than 2026-10-11; `notice` is present only when fewer
|
|
946
|
+
* images will be made than were asked for. */
|
|
947
|
+
interface GenerateImageResponse {
|
|
948
|
+
jobId: string;
|
|
949
|
+
kind: string;
|
|
950
|
+
candidates?: CandidatePlan;
|
|
951
|
+
notice?: string;
|
|
952
|
+
}
|
|
932
953
|
interface CharacterSummary {
|
|
954
|
+
/** Unique within the key's company, not across companies. */
|
|
933
955
|
slug: string;
|
|
934
956
|
name: string;
|
|
935
957
|
descriptorPrompt: string;
|
|
936
958
|
negativePrompt?: string | null;
|
|
937
959
|
defaultModel?: string | null;
|
|
960
|
+
/** True when the character's owner shared it with every company. */
|
|
961
|
+
shared?: boolean;
|
|
962
|
+
/**
|
|
963
|
+
* False for a character another company shared: usable in generations,
|
|
964
|
+
* never editable (uploads, edits and deletes answer 403).
|
|
965
|
+
*/
|
|
966
|
+
owned?: boolean;
|
|
938
967
|
}
|
|
939
968
|
interface CharacterReference {
|
|
940
969
|
id: string;
|
|
@@ -1057,8 +1086,18 @@ interface TenantUsageResponse {
|
|
|
1057
1086
|
tenantId?: string;
|
|
1058
1087
|
month: string;
|
|
1059
1088
|
plan: string;
|
|
1060
|
-
/** `null` =
|
|
1089
|
+
/** `null` = no monthly cap: an operator-set unlimited plan, or a company on
|
|
1090
|
+
* prepaid credits, whose balance is the cap (see `credits`). */
|
|
1061
1091
|
capUsd: number | null;
|
|
1092
|
+
/** A company on prepaid credits: its balance, its daily limit (null: none)
|
|
1093
|
+
* and what left the balance today, all in US dollars of credit. Null for a
|
|
1094
|
+
* company not on credits; absent from a Studio older than 2026-10-10. */
|
|
1095
|
+
credits?: {
|
|
1096
|
+
balanceUsd: number;
|
|
1097
|
+
dailyLimitUsd: number | null;
|
|
1098
|
+
usedTodayUsd: number;
|
|
1099
|
+
dailyResetsAt: string;
|
|
1100
|
+
} | null;
|
|
1062
1101
|
/** `default`: no plan of its own, the default cap applies. `row`: an
|
|
1063
1102
|
* operator-set plan. Absent from a Studio older than 2026-09-23. */
|
|
1064
1103
|
capSource?: 'row' | 'default';
|
|
@@ -1202,16 +1241,22 @@ declare class StudioClient {
|
|
|
1202
1241
|
listProjects(): Promise<{
|
|
1203
1242
|
projects: ProjectSummary[];
|
|
1204
1243
|
}>;
|
|
1244
|
+
/**
|
|
1245
|
+
* One image job. `brandSlug` is optional: without it the image is generated
|
|
1246
|
+
* with no brand. A `brandSlug` or `characterSlug` the key's company cannot
|
|
1247
|
+
* use is refused with 404 `input_not_found` before anything is spent (since
|
|
1248
|
+
* 2026-10-11; it used to generate without the brand). `projectId` chooses the
|
|
1249
|
+
* project; without it the job lands in the project named after the brand, or
|
|
1250
|
+
* in `default`.
|
|
1251
|
+
*/
|
|
1205
1252
|
generate(body: {
|
|
1206
|
-
brandSlug
|
|
1253
|
+
brandSlug?: string;
|
|
1207
1254
|
brandMode?: string;
|
|
1208
1255
|
prompt: string;
|
|
1209
1256
|
characterSlug?: string;
|
|
1257
|
+
projectId?: string;
|
|
1210
1258
|
settings?: Record<string, unknown>;
|
|
1211
|
-
}): Promise<
|
|
1212
|
-
jobId: string;
|
|
1213
|
-
kind: string;
|
|
1214
|
-
}>;
|
|
1259
|
+
}): Promise<GenerateImageResponse>;
|
|
1215
1260
|
/**
|
|
1216
1261
|
* One 3D generation. `/api/generate` routes to its 3D branch on `?force=3d`
|
|
1217
1262
|
* (a prompt alone would be classified by its words); the model and its flags
|
|
@@ -1500,7 +1545,7 @@ declare function registerTools(server: McpServer, ctx: ToolContext): void;
|
|
|
1500
1545
|
*/
|
|
1501
1546
|
|
|
1502
1547
|
declare const SERVER_NAME = "lumitra-studio";
|
|
1503
|
-
declare const SERVER_VERSION = "0.
|
|
1548
|
+
declare const SERVER_VERSION = "0.5.0";
|
|
1504
1549
|
interface CreateServerOptions {
|
|
1505
1550
|
config?: StudioConfig;
|
|
1506
1551
|
env?: NodeJS.ProcessEnv;
|
|
@@ -2860,4 +2905,4 @@ declare function parseArgs(argv: string[]): CliArgs;
|
|
|
2860
2905
|
declare function createHttpHandler(): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
|
|
2861
2906
|
declare function main(argv?: string[]): Promise<void>;
|
|
2862
2907
|
|
|
2863
|
-
export { type AllTenantsUsageResponse, type Binding, CHARACTER_SHEET_DEFINITION, CHARACTER_SHEET_NODES, type CharacterReference, type CharacterSummary, type CharacterSwapInput, ConfigError, ContractError, type CreateServerOptions, DEFAULT_BASE_URL, DEFAULT_MOTION_PROMPT, DEFAULT_SWAP_EDIT_MODEL, DEFAULT_SWAP_PROMPT, DEFAULT_SWAP_VIDEO_MODEL, DEFAULT_TIMEOUT_MS, type DocumentSummary, type FetchLike, type JobResponse, type JobStatus, type JudgeCandidate, MINT_REFERENCE_CATEGORIES, type NodeResultResponse, type NodeRun, type NodeStatus, type NodeSummary, type NodeTypesResponse, type PollOptions, PollTimeoutError, type ProjectSummary, type Projection, type RemovedNode, type RunResponse, type RunStartResponse, type RunStatus, SERVER_NAME, SERVER_VERSION, SUMMARY_TEXT_CHARS, SWAP_SCOPES, type SpendLedger, StudioApiError, StudioClient, type StudioClientOptions, type StudioConfig, type StudioMcp, type SummaryMeta, type SwapPromptOptions, type SwapScope, TOOLS, TOOL_NAMES, type TaskDescriptor, type TenantSpendSummary, type TenantUsageResponse, type ToolContext, type ToolDef, ToolInputError, type ToolResult, type TurnaroundView, type UploadFile, type UsageByModel, type UsageResponse, WORKFLOW_TOOLS, type WorkflowApplyResponse, type WorkflowCreateResponse, type WorkflowDefinition, type WorkflowDocumentResponse, type WorkflowNode, type WorkflowValidateResponse, affectedNodes, buildCharacterSheetParams, buildCharacterSwapDefinition, categoryForNode, characterSheetDefinition, composeSwapPrompt, createHttpHandler, createStudioMcpServer, extensionForMime, filenameFromUrl, invokeTool, main, mimeForFilename, parseArgs, parseDocument, parseOps, pollUntil, projectionOf, redactSecret, registerTools, resolveConfig, seedFacePrompt, studioWorkflowApply, studioWorkflowCreate, studioWorkflowDescribe, studioWorkflowGet, studioWorkflowScreenshot, studioWorkflowValidate, summarizeDocument, summarizeNode, touchedNodeIds, turnaroundViewPrompt, waitForJob, waitForRun };
|
|
2908
|
+
export { type AllTenantsUsageResponse, type Binding, CHARACTER_SHEET_DEFINITION, CHARACTER_SHEET_NODES, type CandidatePlan, type CharacterReference, type CharacterSummary, type CharacterSwapInput, ConfigError, ContractError, type CreateServerOptions, DEFAULT_BASE_URL, DEFAULT_MOTION_PROMPT, DEFAULT_SWAP_EDIT_MODEL, DEFAULT_SWAP_PROMPT, DEFAULT_SWAP_VIDEO_MODEL, DEFAULT_TIMEOUT_MS, type DocumentSummary, type FetchLike, type GenerateImageResponse, type JobResponse, type JobStatus, type JudgeCandidate, MINT_REFERENCE_CATEGORIES, type NodeResultResponse, type NodeRun, type NodeStatus, type NodeSummary, type NodeTypesResponse, type PollOptions, PollTimeoutError, type ProjectSummary, type Projection, type RemovedNode, type RunResponse, type RunStartResponse, type RunStatus, SERVER_NAME, SERVER_VERSION, SUMMARY_TEXT_CHARS, SWAP_SCOPES, type SpendLedger, StudioApiError, StudioClient, type StudioClientOptions, type StudioConfig, type StudioMcp, type SummaryMeta, type SwapPromptOptions, type SwapScope, TOOLS, TOOL_NAMES, type TaskDescriptor, type TenantSpendSummary, type TenantUsageResponse, type ToolContext, type ToolDef, ToolInputError, type ToolResult, type TurnaroundView, type UploadFile, type UsageByModel, type UsageResponse, WORKFLOW_TOOLS, type WorkflowApplyResponse, type WorkflowCreateResponse, type WorkflowDefinition, type WorkflowDocumentResponse, type WorkflowNode, type WorkflowValidateResponse, affectedNodes, buildCharacterSheetParams, buildCharacterSwapDefinition, categoryForNode, characterSheetDefinition, composeSwapPrompt, createHttpHandler, createStudioMcpServer, extensionForMime, filenameFromUrl, invokeTool, main, mimeForFilename, parseArgs, parseDocument, parseOps, pollUntil, projectionOf, redactSecret, registerTools, resolveConfig, seedFacePrompt, studioWorkflowApply, studioWorkflowCreate, studioWorkflowDescribe, studioWorkflowGet, studioWorkflowScreenshot, studioWorkflowValidate, summarizeDocument, summarizeNode, touchedNodeIds, turnaroundViewPrompt, waitForJob, waitForRun };
|