@melius-ai/cli 0.11.0 → 0.12.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/bin/mel.js +1 -1
- package/dist/{chunk-CHRQZMYE.js → chunk-2PWVQ3PC.js} +139 -12
- package/dist/src/index.js +1 -1
- package/package.json +1 -1
package/dist/bin/mel.js
CHANGED
|
@@ -8224,6 +8224,18 @@ var CompleteFilesUploadBodySchema = external_exports.object({
|
|
|
8224
8224
|
var CompleteFilesUploadResponseSchema = external_exports.object({
|
|
8225
8225
|
file: FileCardSchema
|
|
8226
8226
|
});
|
|
8227
|
+
var ImportUploadcareFileBodySchema = external_exports.object({
|
|
8228
|
+
uuid: external_exports.string().uuid(),
|
|
8229
|
+
folderId: external_exports.string().uuid().nullable().optional()
|
|
8230
|
+
});
|
|
8231
|
+
var ImportUploadcareFileResponseSchema = external_exports.object({
|
|
8232
|
+
file: FileCardSchema
|
|
8233
|
+
});
|
|
8234
|
+
var UploadcareUploadSignatureResponseSchema = external_exports.object({
|
|
8235
|
+
signature: external_exports.string(),
|
|
8236
|
+
/** Unix seconds, as a string — the exact bytes that were signed. */
|
|
8237
|
+
expire: external_exports.string()
|
|
8238
|
+
});
|
|
8227
8239
|
var EmbeddingStorageUsageResponseSchema = external_exports.object({
|
|
8228
8240
|
usedBytes: external_exports.number(),
|
|
8229
8241
|
limitBytes: external_exports.number()
|
|
@@ -8609,6 +8621,28 @@ var filesContract = c2.router({
|
|
|
8609
8621
|
403: ErrorBodySchema
|
|
8610
8622
|
},
|
|
8611
8623
|
summary: "Complete a Files upload"
|
|
8624
|
+
},
|
|
8625
|
+
createUploadcareUploadSignature: {
|
|
8626
|
+
method: "POST",
|
|
8627
|
+
path: "/files/import/uploadcare/signature",
|
|
8628
|
+
body: external_exports.object({}),
|
|
8629
|
+
responses: {
|
|
8630
|
+
200: UploadcareUploadSignatureResponseSchema,
|
|
8631
|
+
403: ErrorBodySchema
|
|
8632
|
+
},
|
|
8633
|
+
summary: "Mint short-lived credentials for a signed Uploadcare upload"
|
|
8634
|
+
},
|
|
8635
|
+
importUploadcareFile: {
|
|
8636
|
+
method: "POST",
|
|
8637
|
+
path: "/files/import/uploadcare",
|
|
8638
|
+
body: ImportUploadcareFileBodySchema,
|
|
8639
|
+
responses: {
|
|
8640
|
+
200: ImportUploadcareFileResponseSchema,
|
|
8641
|
+
400: ErrorBodySchema,
|
|
8642
|
+
403: ErrorBodySchema,
|
|
8643
|
+
404: ErrorBodySchema
|
|
8644
|
+
},
|
|
8645
|
+
summary: "Import a file picked from a cloud source through Uploadcare"
|
|
8612
8646
|
}
|
|
8613
8647
|
});
|
|
8614
8648
|
|
|
@@ -9327,6 +9361,29 @@ var audioContract = c5.router({
|
|
|
9327
9361
|
}
|
|
9328
9362
|
});
|
|
9329
9363
|
|
|
9364
|
+
// ../api-contract/src/heygen.ts
|
|
9365
|
+
var HeygenAvatarSettingsSchema = external_exports.object({
|
|
9366
|
+
backgroundColor: external_exports.string().regex(/^#[0-9a-f]{6}$/i, "Background color must be a hex color").optional(),
|
|
9367
|
+
removeBackground: external_exports.boolean().optional(),
|
|
9368
|
+
fit: external_exports.enum(["cover", "contain"]).optional(),
|
|
9369
|
+
caption: external_exports.boolean().optional()
|
|
9370
|
+
});
|
|
9371
|
+
var HeygenAvatarVariantSchema = external_exports.object({
|
|
9372
|
+
avatar: external_exports.string().describe(
|
|
9373
|
+
"Raw avatar id. Pass this exact value as modelConfig.heygenAvatar"
|
|
9374
|
+
),
|
|
9375
|
+
description: external_exports.string().describe("Pose, setting, and framing, e.g. 'Standing office front'")
|
|
9376
|
+
});
|
|
9377
|
+
var HeygenAvatarPersonSchema = external_exports.object({
|
|
9378
|
+
name: external_exports.string().describe("The presenter's first name, e.g. 'Abigail'"),
|
|
9379
|
+
variants: external_exports.array(HeygenAvatarVariantSchema).describe("Every pose available for this presenter")
|
|
9380
|
+
});
|
|
9381
|
+
var HeygenAvatarCatalogSchema = external_exports.object({
|
|
9382
|
+
people: external_exports.array(HeygenAvatarPersonSchema),
|
|
9383
|
+
totalPeople: external_exports.number(),
|
|
9384
|
+
totalAvatars: external_exports.number()
|
|
9385
|
+
});
|
|
9386
|
+
|
|
9330
9387
|
// ../api-contract/src/auto-model-proxy.ts
|
|
9331
9388
|
var AUTO_MODEL_REGISTRY = [
|
|
9332
9389
|
// ── Video ───────────────────────────────────────────────────────────
|
|
@@ -9442,6 +9499,12 @@ var AUTO_MODEL_REGISTRY = [
|
|
|
9442
9499
|
model: "elevenlabs-sfx",
|
|
9443
9500
|
variant: "text-to-sfx"
|
|
9444
9501
|
},
|
|
9502
|
+
{
|
|
9503
|
+
nodeType: "audio",
|
|
9504
|
+
inputPattern: "video-to-sfx",
|
|
9505
|
+
model: "sonilo-video-sfx",
|
|
9506
|
+
variant: "video-to-sfx"
|
|
9507
|
+
},
|
|
9445
9508
|
{
|
|
9446
9509
|
nodeType: "audio",
|
|
9447
9510
|
inputPattern: "text-to-music",
|
|
@@ -9684,6 +9747,7 @@ var GENERATION_MODES = [
|
|
|
9684
9747
|
"text-to-speech",
|
|
9685
9748
|
"audio-to-audio",
|
|
9686
9749
|
"text-to-sfx",
|
|
9750
|
+
"video-to-sfx",
|
|
9687
9751
|
"text-to-music",
|
|
9688
9752
|
"speech-to-text",
|
|
9689
9753
|
"voice-isolator"
|
|
@@ -10473,6 +10537,8 @@ var ModelConfigSchema = external_exports.object({
|
|
|
10473
10537
|
tier: external_exports.string().nullable().optional(),
|
|
10474
10538
|
/** HeyGen Avatar V only: the Runware avatar id for this node. */
|
|
10475
10539
|
heygenAvatar: external_exports.string().optional(),
|
|
10540
|
+
/** HeyGen Avatar V presentation, speech, and output controls. */
|
|
10541
|
+
heygenSettings: HeygenAvatarSettingsSchema.optional(),
|
|
10476
10542
|
// Magic-resize stores its per-run config here so each version carries the
|
|
10477
10543
|
// ratios + resolution that produced it.
|
|
10478
10544
|
ratios: external_exports.array(external_exports.string()).optional(),
|
|
@@ -10499,6 +10565,8 @@ var ModelConfigInputSchema = external_exports.object({
|
|
|
10499
10565
|
tier: external_exports.string().nullable().optional(),
|
|
10500
10566
|
/** HeyGen Avatar V only: the Runware avatar id for this node. */
|
|
10501
10567
|
heygenAvatar: external_exports.string().trim().min(1).optional(),
|
|
10568
|
+
/** HeyGen Avatar V presentation, speech, and output controls. */
|
|
10569
|
+
heygenSettings: HeygenAvatarSettingsSchema.optional(),
|
|
10502
10570
|
/** better-font-32b only: the font the model renders the requested text in (supplied to the model as a rendered reference image). */
|
|
10503
10571
|
font: external_exports.object({
|
|
10504
10572
|
source: external_exports.enum(["custom", "google"]),
|
|
@@ -10690,6 +10758,8 @@ var NodeResponseSchema = external_exports.object({
|
|
|
10690
10758
|
outputResolution: OutputResolutionSchema.nullable().optional(),
|
|
10691
10759
|
/** Current seed on the node (from CRDT). */
|
|
10692
10760
|
seed: external_exports.number().int().nonnegative().max(MAX_SEED).nullable().optional(),
|
|
10761
|
+
/** Current variation count on the node (from CRDT). */
|
|
10762
|
+
numVariations: external_exports.number().int().min(1).max(MAX_VARIATIONS).nullable().optional(),
|
|
10693
10763
|
/** Current audio toggle on the node (from CRDT). */
|
|
10694
10764
|
generateAudio: external_exports.boolean().nullable().optional(),
|
|
10695
10765
|
/** Selected video model supports start/end image inputs (from CRDT). */
|
|
@@ -11144,6 +11214,7 @@ var CreateDirectNodeBodyObjectSchema = external_exports.object({
|
|
|
11144
11214
|
outputResolution: OutputResolutionSchema.nullable().optional(),
|
|
11145
11215
|
matchAudioToVideoDuration: external_exports.boolean().nullable().optional(),
|
|
11146
11216
|
seed: external_exports.number().int().nonnegative().max(MAX_SEED).nullable().optional(),
|
|
11217
|
+
numVariations: external_exports.number().int().min(1).max(MAX_VARIATIONS).nullable().optional(),
|
|
11147
11218
|
negativePrompt: external_exports.string().nullable().optional(),
|
|
11148
11219
|
stitchClipOrder: StitchClipOrderSchema.nullable().optional(),
|
|
11149
11220
|
stitchScaleFit: StitchScaleFitSchema.nullable().optional(),
|
|
@@ -11193,6 +11264,7 @@ var UpdateDirectNodeBodySchema = external_exports.object({
|
|
|
11193
11264
|
outputResolution: OutputResolutionSchema.nullable().optional(),
|
|
11194
11265
|
matchAudioToVideoDuration: external_exports.boolean().nullable().optional(),
|
|
11195
11266
|
seed: external_exports.number().int().nonnegative().max(MAX_SEED).nullable().optional(),
|
|
11267
|
+
numVariations: external_exports.number().int().min(1).max(MAX_VARIATIONS).nullable().optional(),
|
|
11196
11268
|
negativePrompt: external_exports.string().nullable().optional(),
|
|
11197
11269
|
stitchClipOrder: StitchClipOrderSchema.nullable().optional(),
|
|
11198
11270
|
stitchScaleFit: StitchScaleFitSchema.nullable().optional(),
|
|
@@ -11227,6 +11299,7 @@ var DirectNodeResponseSchema = external_exports.object({
|
|
|
11227
11299
|
outputResolution: OutputResolutionSchema.nullable(),
|
|
11228
11300
|
matchAudioToVideoDuration: external_exports.boolean().nullable().optional(),
|
|
11229
11301
|
seed: external_exports.number().int().nonnegative().max(MAX_SEED).nullable(),
|
|
11302
|
+
numVariations: external_exports.number().int().min(1).max(MAX_VARIATIONS).nullable(),
|
|
11230
11303
|
negativePrompt: external_exports.string().nullable(),
|
|
11231
11304
|
stitchClipOrder: StitchClipOrderSchema.nullable().optional(),
|
|
11232
11305
|
stitchScaleFit: StitchScaleFitSchema.nullable().optional(),
|
|
@@ -11280,6 +11353,7 @@ var BulkUpdateDirectNodesItemSchema = external_exports.object({
|
|
|
11280
11353
|
outputResolution: OutputResolutionSchema.nullable().optional(),
|
|
11281
11354
|
matchAudioToVideoDuration: external_exports.boolean().nullable().optional(),
|
|
11282
11355
|
seed: external_exports.number().int().nonnegative().max(MAX_SEED).nullable().optional(),
|
|
11356
|
+
numVariations: external_exports.number().int().min(1).max(MAX_VARIATIONS).nullable().optional(),
|
|
11283
11357
|
negativePrompt: external_exports.string().nullable().optional(),
|
|
11284
11358
|
stitchClipOrder: StitchClipOrderSchema.nullable().optional(),
|
|
11285
11359
|
stitchScaleFit: StitchScaleFitSchema.nullable().optional(),
|
|
@@ -11368,6 +11442,16 @@ var PlaygroundCanvasReferenceSchema = external_exports.object({
|
|
|
11368
11442
|
projectId: external_exports.string().uuid(),
|
|
11369
11443
|
canvasId: external_exports.string().uuid()
|
|
11370
11444
|
});
|
|
11445
|
+
var PlaygroundCanvasDestinationSchema = external_exports.discriminatedUnion("kind", [
|
|
11446
|
+
external_exports.object({
|
|
11447
|
+
kind: external_exports.literal("existing"),
|
|
11448
|
+
projectId: external_exports.string().uuid()
|
|
11449
|
+
}),
|
|
11450
|
+
external_exports.object({
|
|
11451
|
+
kind: external_exports.literal("new"),
|
|
11452
|
+
projectName: external_exports.string().trim().min(1).max(500)
|
|
11453
|
+
})
|
|
11454
|
+
]);
|
|
11371
11455
|
var PlaygroundCanvasPageSchema = external_exports.object({
|
|
11372
11456
|
projectId: external_exports.string().uuid().nullable(),
|
|
11373
11457
|
data: external_exports.array(external_exports.object({ id: external_exports.string().uuid() })),
|
|
@@ -11377,9 +11461,12 @@ var canvasContract = c7.router({
|
|
|
11377
11461
|
createPlaygroundCanvas: {
|
|
11378
11462
|
method: "POST",
|
|
11379
11463
|
path: "/playground/canvases",
|
|
11380
|
-
body:
|
|
11464
|
+
body: external_exports.object({
|
|
11465
|
+
destination: PlaygroundCanvasDestinationSchema.optional()
|
|
11466
|
+
}).optional(),
|
|
11381
11467
|
responses: {
|
|
11382
11468
|
201: PlaygroundCanvasReferenceSchema,
|
|
11469
|
+
404: MessageResponseSchema,
|
|
11383
11470
|
409: MessageResponseSchema
|
|
11384
11471
|
}
|
|
11385
11472
|
},
|
|
@@ -12507,6 +12594,8 @@ var GenerationRunBodySchema = external_exports.object({
|
|
|
12507
12594
|
prompt: external_exports.string().trim().min(1).optional(),
|
|
12508
12595
|
/** Selected avatar id from Runware's HeyGen Avatar V catalog. */
|
|
12509
12596
|
heygenAvatar: external_exports.string().trim().min(1).optional(),
|
|
12597
|
+
/** HeyGen Avatar V presentation controls. */
|
|
12598
|
+
heygenSettings: HeygenAvatarSettingsSchema.optional(),
|
|
12510
12599
|
imageUrls: external_exports.array(external_exports.string().url()).optional(),
|
|
12511
12600
|
endImageUrls: external_exports.array(external_exports.string().url()).optional(),
|
|
12512
12601
|
referenceImageUrls: external_exports.array(external_exports.string().url()).optional(),
|
|
@@ -12627,6 +12716,9 @@ var AutoModelDefaultsCategorySchema = external_exports.object({
|
|
|
12627
12716
|
textToSpeech: AutoModelDefaultEntrySchema,
|
|
12628
12717
|
audioToAudio: AutoModelDefaultEntrySchema,
|
|
12629
12718
|
textToSfx: AutoModelDefaultEntrySchema,
|
|
12719
|
+
// Optional so deployed clients validating a response from an
|
|
12720
|
+
// older backend (which omits it) keep working.
|
|
12721
|
+
videoToSfx: AutoModelDefaultEntrySchema.optional(),
|
|
12630
12722
|
textToMusic: AutoModelDefaultEntrySchema,
|
|
12631
12723
|
speechToText: AutoModelDefaultEntrySchema
|
|
12632
12724
|
}).optional()
|
|
@@ -12797,6 +12889,9 @@ var GenerationHistoryItemSchema = external_exports.object({
|
|
|
12797
12889
|
tier: external_exports.string().nullable().optional(),
|
|
12798
12890
|
status: GenerationJobStatusSchema,
|
|
12799
12891
|
creditCost: external_exports.number().nullable(),
|
|
12892
|
+
// Whether the debit was reversed — `creditCost` was charged and given back,
|
|
12893
|
+
// so it did not count towards usage. Optional so older clients ignore it.
|
|
12894
|
+
refunded: external_exports.boolean().optional(),
|
|
12800
12895
|
createdAt: external_exports.string(),
|
|
12801
12896
|
user: external_exports.object({
|
|
12802
12897
|
id: external_exports.string(),
|
|
@@ -12807,7 +12902,15 @@ var GenerationHistoryItemSchema = external_exports.object({
|
|
|
12807
12902
|
id: external_exports.string(),
|
|
12808
12903
|
title: external_exports.string(),
|
|
12809
12904
|
archived: external_exports.boolean()
|
|
12810
|
-
}).nullable()
|
|
12905
|
+
}).nullable(),
|
|
12906
|
+
// Set when the generation was produced by running a template: the bulk run
|
|
12907
|
+
// it belonged to plus the template's name. Lets a run's per-model rows be
|
|
12908
|
+
// consolidated into one row (see `consolidateTemplateRuns`). Optional so
|
|
12909
|
+
// older clients ignore it and it is absent for non-template generations.
|
|
12910
|
+
templateRun: external_exports.object({
|
|
12911
|
+
runId: external_exports.string(),
|
|
12912
|
+
title: external_exports.string()
|
|
12913
|
+
}).nullable().optional()
|
|
12811
12914
|
});
|
|
12812
12915
|
var ListGenerationHistoryResponseSchema = external_exports.object({
|
|
12813
12916
|
items: external_exports.array(GenerationHistoryItemSchema),
|
|
@@ -13832,10 +13935,17 @@ var ProjectResponseSchema = external_exports.object({
|
|
|
13832
13935
|
updatedAt: external_exports.string().datetime(),
|
|
13833
13936
|
lastEditAt: external_exports.string().datetime()
|
|
13834
13937
|
});
|
|
13938
|
+
var ProjectOptionSchema = ProjectResponseSchema.pick({
|
|
13939
|
+
id: true,
|
|
13940
|
+
title: true
|
|
13941
|
+
});
|
|
13835
13942
|
var ProjectIdParamsSchema = external_exports.object({ projectId: external_exports.string().uuid() });
|
|
13836
13943
|
var PaginationQuerySchema = external_exports.object(
|
|
13837
13944
|
paginationQuery({ maxLimit: 100, defaultLimit: 50 })
|
|
13838
13945
|
);
|
|
13946
|
+
var ProjectOptionsQuerySchema = PaginationQuerySchema.extend({
|
|
13947
|
+
search: external_exports.string().max(500).optional()
|
|
13948
|
+
});
|
|
13839
13949
|
var IncludePreviewAssetsQuerySchema = external_exports.preprocess((value) => {
|
|
13840
13950
|
if (value === void 0) return void 0;
|
|
13841
13951
|
if (value === "true" || value === true) return true;
|
|
@@ -13859,6 +13969,10 @@ var PaginatedProjectsResponseSchema = external_exports.object({
|
|
|
13859
13969
|
data: external_exports.array(ProjectResponseSchema),
|
|
13860
13970
|
total: external_exports.number().int()
|
|
13861
13971
|
});
|
|
13972
|
+
var PaginatedProjectOptionsResponseSchema = external_exports.object({
|
|
13973
|
+
data: external_exports.array(ProjectOptionSchema),
|
|
13974
|
+
total: external_exports.number().int()
|
|
13975
|
+
});
|
|
13862
13976
|
var ProjectListResponseSchema = external_exports.object({
|
|
13863
13977
|
data: external_exports.array(ProjectResponseSchema)
|
|
13864
13978
|
});
|
|
@@ -13872,8 +13986,15 @@ var ProjectThumbnailResponseSchema = external_exports.object({
|
|
|
13872
13986
|
var ProjectThumbnailsResponseSchema = external_exports.object({
|
|
13873
13987
|
data: external_exports.array(ProjectThumbnailResponseSchema)
|
|
13874
13988
|
});
|
|
13989
|
+
var MAX_PROJECT_TITLE_LENGTH = 500;
|
|
13990
|
+
var PROJECT_CONFLICT_CODE = {
|
|
13991
|
+
nameTaken: "PROJECT_NAME_TAKEN"
|
|
13992
|
+
};
|
|
13993
|
+
var ProjectConflictResponseSchema = MessageResponseSchema.extend({
|
|
13994
|
+
code: external_exports.nativeEnum(PROJECT_CONFLICT_CODE).optional()
|
|
13995
|
+
});
|
|
13875
13996
|
var CreateProjectBodySchema = external_exports.object({
|
|
13876
|
-
title: external_exports.string().min(1).max(
|
|
13997
|
+
title: external_exports.string().min(1).max(MAX_PROJECT_TITLE_LENGTH).optional(),
|
|
13877
13998
|
description: external_exports.string().max(5e3).optional(),
|
|
13878
13999
|
isPublic: external_exports.boolean().optional(),
|
|
13879
14000
|
// Folder to create the project in. Omit (or `null`) to create at the team
|
|
@@ -13881,7 +14002,7 @@ var CreateProjectBodySchema = external_exports.object({
|
|
|
13881
14002
|
folderId: external_exports.string().uuid().nullable().optional()
|
|
13882
14003
|
});
|
|
13883
14004
|
var UpdateProjectBodySchema = external_exports.object({
|
|
13884
|
-
title: external_exports.string().min(1).max(
|
|
14005
|
+
title: external_exports.string().min(1).max(MAX_PROJECT_TITLE_LENGTH).optional(),
|
|
13885
14006
|
description: external_exports.string().max(5e3).nullable().optional(),
|
|
13886
14007
|
isPublic: external_exports.boolean().optional()
|
|
13887
14008
|
});
|
|
@@ -13912,7 +14033,7 @@ var projectContract = c14.router({
|
|
|
13912
14033
|
body: CreateProjectBodySchema,
|
|
13913
14034
|
responses: {
|
|
13914
14035
|
201: ProjectResponseSchema,
|
|
13915
|
-
409:
|
|
14036
|
+
409: ProjectConflictResponseSchema
|
|
13916
14037
|
}
|
|
13917
14038
|
},
|
|
13918
14039
|
listDeletedProjects: {
|
|
@@ -13921,6 +14042,12 @@ var projectContract = c14.router({
|
|
|
13921
14042
|
query: PaginationQuerySchema,
|
|
13922
14043
|
responses: { 200: PaginatedProjectsResponseSchema }
|
|
13923
14044
|
},
|
|
14045
|
+
listProjectOptions: {
|
|
14046
|
+
method: "GET",
|
|
14047
|
+
path: "/projects/options",
|
|
14048
|
+
query: ProjectOptionsQuerySchema,
|
|
14049
|
+
responses: { 200: PaginatedProjectOptionsResponseSchema }
|
|
14050
|
+
},
|
|
13924
14051
|
getProject: {
|
|
13925
14052
|
method: "GET",
|
|
13926
14053
|
path: "/projects/:projectId",
|
|
@@ -13934,7 +14061,7 @@ var projectContract = c14.router({
|
|
|
13934
14061
|
body: UpdateProjectBodySchema,
|
|
13935
14062
|
responses: {
|
|
13936
14063
|
200: ProjectResponseSchema,
|
|
13937
|
-
409:
|
|
14064
|
+
409: ProjectConflictResponseSchema
|
|
13938
14065
|
}
|
|
13939
14066
|
},
|
|
13940
14067
|
deleteProject: {
|
|
@@ -14579,7 +14706,7 @@ function isMajorUpgrade(current, latest) {
|
|
|
14579
14706
|
return l[0] > c17[0];
|
|
14580
14707
|
}
|
|
14581
14708
|
function shouldShowUpgradeNotice(ctx = {}) {
|
|
14582
|
-
const current = ctx.current ?? "0.
|
|
14709
|
+
const current = ctx.current ?? "0.12.0";
|
|
14583
14710
|
const latest = ctx.latest ?? serverLatestVersion;
|
|
14584
14711
|
const env = ctx.env ?? process.env;
|
|
14585
14712
|
const isTty = ctx.isTty ?? Boolean(process.stderr.isTTY);
|
|
@@ -14600,7 +14727,7 @@ Upgrade: npm install -g @melius-ai/cli@latest (or: brew update && brew upgrade
|
|
|
14600
14727
|
function printUpgradeNoticeIfNeeded(ctx = {}) {
|
|
14601
14728
|
try {
|
|
14602
14729
|
if (!shouldShowUpgradeNotice(ctx)) return;
|
|
14603
|
-
const current = ctx.current ?? "0.
|
|
14730
|
+
const current = ctx.current ?? "0.12.0";
|
|
14604
14731
|
const latest = ctx.latest ?? serverLatestVersion;
|
|
14605
14732
|
process.stderr.write(formatUpgradeNotice(current, latest));
|
|
14606
14733
|
} catch {
|
|
@@ -16799,7 +16926,7 @@ previewSrc, mediaType, generatedText, activeVersionId, voiceId, createdByUserId.
|
|
|
16799
16926
|
ID is auto-generated if --id is omitted. Geometry defaults per type (text: 380x200, image: 520x293, audio: 380x280).
|
|
16800
16927
|
Valid aspect ratios: 21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:21.
|
|
16801
16928
|
Resolutions vary per model (e.g. 720p, 1080p, 4k for video; 1K, 2K, 4K for images). Use mel model list to check supportedResolutions.
|
|
16802
|
-
Audio modes (set via --variant): text-to-speech (TTS, requires --voice-id), text-to-sfx (5/6/8/10/12/15/20/22 second SFX), text-to-music (10/30/60/90/120/180/240/300 second music), speech-to-text (requires an audio input edge), audio-to-audio (requires an audio input edge and --voice-id). Use mel audio voice list to discover voice ids.
|
|
16929
|
+
Audio modes (set via --variant): text-to-speech (TTS, requires --voice-id), text-to-sfx (5/6/8/10/12/15/20/22 second SFX), video-to-sfx (requires a video input edge; length follows the clip), text-to-music (10/30/60/90/120/180/240/300 second music), speech-to-text (requires an audio input edge), audio-to-audio (requires an audio input edge and --voice-id). Use mel audio voice list to discover voice ids.
|
|
16803
16930
|
For stitch nodes, use --clip-order with connected source node IDs (video or image) in playback order and --scale-fit to control frame adaptation. Images render as 2-second still frames.
|
|
16804
16931
|
|
|
16805
16932
|
Examples:
|
|
@@ -17010,7 +17137,7 @@ Valid node types: text, image, video, audio, file, group, custom_text, stitch.
|
|
|
17010
17137
|
Stitch nodes also accept clipOrder (source node IDs \u2014 video or image \u2014 in playback order; images render as 2-second stills) and scaleFit (fit or stretch).
|
|
17011
17138
|
Valid aspect ratios: 21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:21.
|
|
17012
17139
|
Valid edge types: text, image, video, audio, file.
|
|
17013
|
-
Audio modes (set via variant): text-to-speech (TTS, requires voiceId), text-to-sfx (5/6/8/10/12/15/20/22 second SFX), text-to-music (10/30/60/90/120/180/240/300 second music), speech-to-text (requires an audio input edge), audio-to-audio (requires an audio input edge and voiceId).
|
|
17140
|
+
Audio modes (set via variant): text-to-speech (TTS, requires voiceId), text-to-sfx (5/6/8/10/12/15/20/22 second SFX), video-to-sfx (requires a video input edge; length follows the clip), text-to-music (10/30/60/90/120/180/240/300 second music), speech-to-text (requires an audio input edge), audio-to-audio (requires an audio input edge and voiceId).
|
|
17014
17141
|
|
|
17015
17142
|
Use mel canvas plan-layout first to compute positions, then pass x/y/w/h into each node.
|
|
17016
17143
|
Accepts two JSON formats via stdin (or --json):
|
|
@@ -18450,7 +18577,7 @@ function registerModelCommands(program2, getOutputOpts) {
|
|
|
18450
18577
|
Returns: Array of models, each with name, displayName, provider, variants[], and supportedInputs[].
|
|
18451
18578
|
Each variant has: mode, supportedAspectRatios[], supportedDurations[], supportedResolutions[], requiredInputs[].
|
|
18452
18579
|
For text models, supportedInputs lists accepted media types (e.g. ["image", "video"]) \u2014 use these to determine valid edge handles.
|
|
18453
|
-
For audio, variants are text-to-speech, text-to-sfx, text-to-music, speech-to-text, and audio-to-audio \u2014 supportedDurations applies to sfx and music only. For text-to-speech and audio-to-audio, also call mel audio voice list to discover voice ids.
|
|
18580
|
+
For audio, variants are text-to-speech, text-to-sfx, video-to-sfx, text-to-music, speech-to-text, and audio-to-audio \u2014 supportedDurations applies to sfx and music only. For text-to-speech and audio-to-audio, also call mel audio voice list to discover voice ids.
|
|
18454
18581
|
Use this to discover valid --model and --variant values for mel run start and mel node create.
|
|
18455
18582
|
|
|
18456
18583
|
Examples:
|
|
@@ -19737,7 +19864,7 @@ function withDefaultHelp(args) {
|
|
|
19737
19864
|
}
|
|
19738
19865
|
function createProgram() {
|
|
19739
19866
|
const program2 = new Command();
|
|
19740
|
-
program2.name("mel").description("Mel \u2014 Melius agent CLI").version("0.
|
|
19867
|
+
program2.name("mel").description("Mel \u2014 Melius agent CLI").version("0.12.0").showSuggestionAfterError(true).option("--json", "Force JSON output (default)").option("--text", "Human-readable output").option(
|
|
19741
19868
|
"--fields <fields>",
|
|
19742
19869
|
"Select specific output fields (comma-separated)"
|
|
19743
19870
|
).option("--quiet", "Suppress output, exit code only").option("--verbose", "Log request/response metadata to stderr").addHelpText(
|
package/dist/src/index.js
CHANGED