Skip to content

Commit 1092b6b

Browse files
author
Yukimi Kazari
committed
chore(release): 1.2.6 [skip ci]
### Updates * Bump version to 1.2.6 in package-lock.json * Enhance logging in NovelAI class to include sizes of included images and masks * Implement default handling for director reference fields in metadata processing * Add new DirectorReferenceDescription interface to types
1 parent 3d6881d commit 1092b6b

File tree

4 files changed

+83
-3
lines changed

4 files changed

+83
-3
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/client.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,14 @@ export class NovelAI {
141141

142142

143143
if (this.verbose) {
144-
console.debug(`[Headers] for image generation:`, headers);
145-
console.debug(`[Payload] for image generation:`, jsonPayload);
144+
let cleanPlayload = { ...payload };
145+
cleanPlayload.parameters = {
146+
...cleanPlayload.parameters,
147+
image: !!cleanPlayload?.parameters?.image ? ("included with " + cleanPlayload.parameters.image.length + " bytes") : undefined,
148+
mask: !!cleanPlayload?.parameters?.mask ? ("included with " + cleanPlayload.parameters.mask.length + " bytes") : undefined,
149+
}
150+
console.log(`[Headers] for image generation:`, headers);
151+
console.info(`[Payload] for image generation:`, JSON.stringify(cleanPlayload));
146152
}
147153

148154
// process.exit(-1);

src/metadata.ts

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ export class MetadataProcessor {
9292
metadata.normalize_reference_strength_multiple ?? true;
9393
metadata.reference_image_multiple = metadata.reference_image_multiple ?? undefined;
9494
metadata.reference_strength_multiple = metadata.reference_strength_multiple ?? undefined;
95+
96+
// Handle director reference defaults
97+
this.applyDirectorReferenceDefaults(metadata);
98+
9599
metadata.stream = undefined;
96100
}
97101

@@ -461,6 +465,62 @@ export class MetadataProcessor {
461465
};
462466
}
463467

468+
/**
469+
* Apply default values for director reference fields
470+
* Ensures arrays have consistent lengths when director_reference_images is provided
471+
* Removes all director reference parameters if no images are provided
472+
*
473+
* @param metadata - Metadata to update
474+
* @private
475+
*/
476+
private applyDirectorReferenceDefaults(metadata: Metadata): void {
477+
// If no director reference images provided, remove all director reference parameters
478+
if (!metadata.director_reference_images?.length) {
479+
delete metadata.director_reference_descriptions;
480+
delete metadata.director_reference_images;
481+
delete metadata.director_reference_information_extracted;
482+
delete metadata.director_reference_strength_values;
483+
return;
484+
}
485+
486+
const imageCount = metadata.director_reference_images.length;
487+
488+
// Initialize arrays if not provided
489+
metadata.director_reference_descriptions = metadata.director_reference_descriptions ?? [];
490+
metadata.director_reference_information_extracted = metadata.director_reference_information_extracted ?? [];
491+
metadata.director_reference_strength_values = metadata.director_reference_strength_values ?? [];
492+
493+
// Ensure all arrays have the same length as director_reference_images
494+
while (metadata.director_reference_descriptions.length < imageCount) {
495+
metadata.director_reference_descriptions.push({
496+
caption: {
497+
base_caption: "character",
498+
char_captions: []
499+
},
500+
legacy_uc: false
501+
});
502+
}
503+
504+
while (metadata.director_reference_information_extracted.length < imageCount) {
505+
metadata.director_reference_information_extracted.push(1);
506+
}
507+
508+
while (metadata.director_reference_strength_values.length < imageCount) {
509+
metadata.director_reference_strength_values.push(1);
510+
}
511+
512+
// Trim arrays if they're longer than the image count
513+
if (metadata.director_reference_descriptions.length > imageCount) {
514+
metadata.director_reference_descriptions = metadata.director_reference_descriptions.slice(0, imageCount);
515+
}
516+
if (metadata.director_reference_information_extracted.length > imageCount) {
517+
metadata.director_reference_information_extracted = metadata.director_reference_information_extracted.slice(0, imageCount);
518+
}
519+
if (metadata.director_reference_strength_values.length > imageCount) {
520+
metadata.director_reference_strength_values = metadata.director_reference_strength_values.slice(0, imageCount);
521+
}
522+
}
523+
464524
/**
465525
* Get width and height from a resolution preset
466526
*

src/types.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,14 @@ export interface V4Img2Img {
134134
color_correct: boolean;
135135
}
136136

137+
/**
138+
* Director reference description format
139+
*/
140+
export interface DirectorReferenceDescription {
141+
caption: V4CaptionFormat;
142+
legacy_uc: boolean;
143+
}
144+
137145
// Core metadata
138146
export interface Metadata {
139147
// General parameters
@@ -182,6 +190,12 @@ export interface Metadata {
182190
reference_information_extracted_multiple?: number[]; // Will be converted to reference_information_extracted_multiple
183191
reference_strength_multiple?: number[]; // Will be converted to reference_strength_multiple
184192

193+
// Director reference settings
194+
director_reference_descriptions?: DirectorReferenceDescription[]; // Will be converted to director_reference_descriptions
195+
director_reference_images?: string[]; // Will be converted to director_reference_images
196+
director_reference_information_extracted?: number[]; // Will be converted to director_reference_information_extracted
197+
director_reference_strength_values?: number[]; // Will be converted to director_reference_strength_values
198+
185199
// V4/V4.5 specific settings
186200
params_version?: 1 | 2 | 3; // Will be converted to params_version
187201
autoSmea?: boolean;

0 commit comments

Comments
 (0)