lootforge 0.3.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/CHANGELOG.md +87 -0
- package/README.md +764 -0
- package/bin/lootforge.js +28 -0
- package/dist/benchmarks/coarseToFineCost.d.ts +21 -0
- package/dist/benchmarks/coarseToFineCost.js +49 -0
- package/dist/benchmarks/coarseToFineCost.js.map +1 -0
- package/dist/checks/boundaryMetrics.d.ts +12 -0
- package/dist/checks/boundaryMetrics.js +102 -0
- package/dist/checks/boundaryMetrics.js.map +1 -0
- package/dist/checks/candidateScore.d.ts +11 -0
- package/dist/checks/candidateScore.js +462 -0
- package/dist/checks/candidateScore.js.map +1 -0
- package/dist/checks/commandParser.d.ts +5 -0
- package/dist/checks/commandParser.js +99 -0
- package/dist/checks/commandParser.js.map +1 -0
- package/dist/checks/consistencyOutliers.d.ts +42 -0
- package/dist/checks/consistencyOutliers.js +156 -0
- package/dist/checks/consistencyOutliers.js.map +1 -0
- package/dist/checks/imageAcceptance.d.ts +67 -0
- package/dist/checks/imageAcceptance.js +967 -0
- package/dist/checks/imageAcceptance.js.map +1 -0
- package/dist/checks/packInvariants.d.ts +56 -0
- package/dist/checks/packInvariants.js +1064 -0
- package/dist/checks/packInvariants.js.map +1 -0
- package/dist/checks/softAdapters.d.ts +25 -0
- package/dist/checks/softAdapters.js +275 -0
- package/dist/checks/softAdapters.js.map +1 -0
- package/dist/checks/vlmGate.d.ts +8 -0
- package/dist/checks/vlmGate.js +200 -0
- package/dist/checks/vlmGate.js.map +1 -0
- package/dist/cli/commands/atlas.d.ts +5 -0
- package/dist/cli/commands/atlas.js +18 -0
- package/dist/cli/commands/atlas.js.map +1 -0
- package/dist/cli/commands/eval.d.ts +6 -0
- package/dist/cli/commands/eval.js +23 -0
- package/dist/cli/commands/eval.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +18 -0
- package/dist/cli/commands/generate.js +66 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/init.d.ts +15 -0
- package/dist/cli/commands/init.js +146 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/package.d.ts +6 -0
- package/dist/cli/commands/package.js +27 -0
- package/dist/cli/commands/package.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +16 -0
- package/dist/cli/commands/plan.js +49 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/process.d.ts +14 -0
- package/dist/cli/commands/process.js +29 -0
- package/dist/cli/commands/process.js.map +1 -0
- package/dist/cli/commands/regenerate.d.ts +29 -0
- package/dist/cli/commands/regenerate.js +244 -0
- package/dist/cli/commands/regenerate.js.map +1 -0
- package/dist/cli/commands/review.d.ts +5 -0
- package/dist/cli/commands/review.js +18 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/select.d.ts +6 -0
- package/dist/cli/commands/select.js +21 -0
- package/dist/cli/commands/select.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +16 -0
- package/dist/cli/commands/serve.js +100 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +17 -0
- package/dist/cli/commands/validate.js +108 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +157 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/parseArgs.d.ts +3 -0
- package/dist/cli/parseArgs.js +37 -0
- package/dist/cli/parseArgs.js.map +1 -0
- package/dist/contracts/stageArtifacts.d.ts +4031 -0
- package/dist/contracts/stageArtifacts.js +663 -0
- package/dist/contracts/stageArtifacts.js.map +1 -0
- package/dist/manifest/load.d.ts +3 -0
- package/dist/manifest/load.js +50 -0
- package/dist/manifest/load.js.map +1 -0
- package/dist/manifest/normalize-palette.d.ts +17 -0
- package/dist/manifest/normalize-palette.js +235 -0
- package/dist/manifest/normalize-palette.js.map +1 -0
- package/dist/manifest/normalize-policy.d.ts +48 -0
- package/dist/manifest/normalize-policy.js +239 -0
- package/dist/manifest/normalize-policy.js.map +1 -0
- package/dist/manifest/normalize-prompt.d.ts +14 -0
- package/dist/manifest/normalize-prompt.js +73 -0
- package/dist/manifest/normalize-prompt.js.map +1 -0
- package/dist/manifest/normalize-target.d.ts +49 -0
- package/dist/manifest/normalize-target.js +542 -0
- package/dist/manifest/normalize-target.js.map +1 -0
- package/dist/manifest/schema.d.ts +7570 -0
- package/dist/manifest/schema.js +373 -0
- package/dist/manifest/schema.js.map +1 -0
- package/dist/manifest/semantic-validation.d.ts +4 -0
- package/dist/manifest/semantic-validation.js +526 -0
- package/dist/manifest/semantic-validation.js.map +1 -0
- package/dist/manifest/types.d.ts +263 -0
- package/dist/manifest/types.js +2 -0
- package/dist/manifest/types.js.map +1 -0
- package/dist/manifest/validate.d.ts +12 -0
- package/dist/manifest/validate.js +221 -0
- package/dist/manifest/validate.js.map +1 -0
- package/dist/output/assetPackManifest.d.ts +19 -0
- package/dist/output/assetPackManifest.js +20 -0
- package/dist/output/assetPackManifest.js.map +1 -0
- package/dist/output/catalog.d.ts +60 -0
- package/dist/output/catalog.js +107 -0
- package/dist/output/catalog.js.map +1 -0
- package/dist/output/contactSheet.d.ts +13 -0
- package/dist/output/contactSheet.js +124 -0
- package/dist/output/contactSheet.js.map +1 -0
- package/dist/output/phaserManifest.d.ts +8 -0
- package/dist/output/phaserManifest.js +25 -0
- package/dist/output/phaserManifest.js.map +1 -0
- package/dist/output/pixiManifest.d.ts +8 -0
- package/dist/output/pixiManifest.js +37 -0
- package/dist/output/pixiManifest.js.map +1 -0
- package/dist/output/provenance.d.ts +121 -0
- package/dist/output/provenance.js +10 -0
- package/dist/output/provenance.js.map +1 -0
- package/dist/output/runtimeManifests.d.ts +21 -0
- package/dist/output/runtimeManifests.js +82 -0
- package/dist/output/runtimeManifests.js.map +1 -0
- package/dist/output/unityImportManifest.d.ts +10 -0
- package/dist/output/unityImportManifest.js +58 -0
- package/dist/output/unityImportManifest.js.map +1 -0
- package/dist/output/zip.d.ts +5 -0
- package/dist/output/zip.js +68 -0
- package/dist/output/zip.js.map +1 -0
- package/dist/pipeline/atlas.d.ts +33 -0
- package/dist/pipeline/atlas.js +286 -0
- package/dist/pipeline/atlas.js.map +1 -0
- package/dist/pipeline/eval.d.ts +104 -0
- package/dist/pipeline/eval.js +246 -0
- package/dist/pipeline/eval.js.map +1 -0
- package/dist/pipeline/generate.d.ts +44 -0
- package/dist/pipeline/generate.js +1088 -0
- package/dist/pipeline/generate.js.map +1 -0
- package/dist/pipeline/package.d.ts +18 -0
- package/dist/pipeline/package.js +218 -0
- package/dist/pipeline/package.js.map +1 -0
- package/dist/pipeline/process.d.ts +15 -0
- package/dist/pipeline/process.js +776 -0
- package/dist/pipeline/process.js.map +1 -0
- package/dist/pipeline/review.d.ts +10 -0
- package/dist/pipeline/review.js +341 -0
- package/dist/pipeline/review.js.map +1 -0
- package/dist/pipeline/seamHeal.d.ts +2 -0
- package/dist/pipeline/seamHeal.js +70 -0
- package/dist/pipeline/seamHeal.js.map +1 -0
- package/dist/pipeline/select.d.ts +39 -0
- package/dist/pipeline/select.js +79 -0
- package/dist/pipeline/select.js.map +1 -0
- package/dist/providers/job.d.ts +29 -0
- package/dist/providers/job.js +113 -0
- package/dist/providers/job.js.map +1 -0
- package/dist/providers/localDiffusion.d.ts +28 -0
- package/dist/providers/localDiffusion.js +235 -0
- package/dist/providers/localDiffusion.js.map +1 -0
- package/dist/providers/nano.d.ts +36 -0
- package/dist/providers/nano.js +402 -0
- package/dist/providers/nano.js.map +1 -0
- package/dist/providers/openai.d.ts +37 -0
- package/dist/providers/openai.js +378 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/policy.d.ts +9 -0
- package/dist/providers/policy.js +192 -0
- package/dist/providers/policy.js.map +1 -0
- package/dist/providers/prompt.d.ts +3 -0
- package/dist/providers/prompt.js +63 -0
- package/dist/providers/prompt.js.map +1 -0
- package/dist/providers/registry.d.ts +24 -0
- package/dist/providers/registry.js +92 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/providers/runtime.d.ts +15 -0
- package/dist/providers/runtime.js +101 -0
- package/dist/providers/runtime.js.map +1 -0
- package/dist/providers/runtimeConfig.d.ts +20 -0
- package/dist/providers/runtimeConfig.js +146 -0
- package/dist/providers/runtimeConfig.js.map +1 -0
- package/dist/providers/types-core.d.ts +514 -0
- package/dist/providers/types-core.js +60 -0
- package/dist/providers/types-core.js.map +1 -0
- package/dist/providers/types.d.ts +4 -0
- package/dist/providers/types.js +5 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/service/generationRequest.d.ts +58 -0
- package/dist/service/generationRequest.js +203 -0
- package/dist/service/generationRequest.js.map +1 -0
- package/dist/service/providerCapabilities.d.ts +40 -0
- package/dist/service/providerCapabilities.js +114 -0
- package/dist/service/providerCapabilities.js.map +1 -0
- package/dist/service/server.d.ts +31 -0
- package/dist/service/server.js +774 -0
- package/dist/service/server.js.map +1 -0
- package/dist/shared/errors.d.ts +13 -0
- package/dist/shared/errors.js +24 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/fs.d.ts +6 -0
- package/dist/shared/fs.js +30 -0
- package/dist/shared/fs.js.map +1 -0
- package/dist/shared/image.d.ts +25 -0
- package/dist/shared/image.js +136 -0
- package/dist/shared/image.js.map +1 -0
- package/dist/shared/paths.d.ts +30 -0
- package/dist/shared/paths.js +103 -0
- package/dist/shared/paths.js.map +1 -0
- package/dist/shared/schemas.d.ts +209 -0
- package/dist/shared/schemas.js +93 -0
- package/dist/shared/schemas.js.map +1 -0
- package/dist/shared/typeGuards.d.ts +1 -0
- package/dist/shared/typeGuards.js +4 -0
- package/dist/shared/typeGuards.js.map +1 -0
- package/dist/shared/zod.d.ts +1 -0
- package/dist/shared/zod.js +14 -0
- package/dist/shared/zod.js.map +1 -0
- package/dist/showcase/format.d.ts +9 -0
- package/dist/showcase/format.js +61 -0
- package/dist/showcase/format.js.map +1 -0
- package/dist/showcase/panelRenderer.d.ts +59 -0
- package/dist/showcase/panelRenderer.js +294 -0
- package/dist/showcase/panelRenderer.js.map +1 -0
- package/dist/showcase/releaseConfig.d.ts +233 -0
- package/dist/showcase/releaseConfig.js +75 -0
- package/dist/showcase/releaseConfig.js.map +1 -0
- package/dist/showcase/releaseEvidence.d.ts +25 -0
- package/dist/showcase/releaseEvidence.js +540 -0
- package/dist/showcase/releaseEvidence.js.map +1 -0
- package/dist/showcase/releaseEvidenceSchema.d.ts +1611 -0
- package/dist/showcase/releaseEvidenceSchema.js +165 -0
- package/dist/showcase/releaseEvidenceSchema.js.map +1 -0
- package/dist/showcase/scenarioRenderer.d.ts +19 -0
- package/dist/showcase/scenarioRenderer.js +488 -0
- package/dist/showcase/scenarioRenderer.js.map +1 -0
- package/docs/ADAPTER_CONTRACT.md +141 -0
- package/docs/ENGINE_TARGETING.md +86 -0
- package/docs/MANIFEST_POLICY_COVERAGE.md +130 -0
- package/docs/RELEASE_WORKFLOW.md +117 -0
- package/docs/ROADMAP.md +411 -0
- package/docs/ROADMAP_ISSUES.md +244 -0
- package/docs/SERVICE_MODE.md +137 -0
- package/docs/manifest-schema.md +254 -0
- package/package.json +70 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
export declare const PROVIDER_NAMES: readonly ["openai", "nano", "local"];
|
|
2
|
+
export declare const KNOWN_STYLE_PRESETS: readonly ["pixel-art-16bit", "topdown-painterly-sci-fi"];
|
|
3
|
+
export declare const POST_PROCESS_ALGORITHMS: readonly ["nearest", "lanczos3"];
|
|
4
|
+
export declare const TARGET_KINDS: readonly ["sprite", "tile", "background", "effect", "spritesheet"];
|
|
5
|
+
export declare const CONTROL_MODES: readonly ["canny", "depth", "openpose"];
|
|
6
|
+
export declare const GENERATION_MODES: readonly ["text", "edit-first"];
|
|
7
|
+
export declare const WRAP_GRID_TOPOLOGY_MODES: readonly ["self", "one-to-one", "many-to-many"];
|
|
8
|
+
export declare const FACING_DIRECTIONS: readonly ["left", "right"];
|
|
9
|
+
export type ProviderName = (typeof PROVIDER_NAMES)[number];
|
|
10
|
+
export type ProviderSelection = ProviderName | "auto";
|
|
11
|
+
export type ProviderFeature = "image-generation" | "transparent-background" | "image-edits" | "multi-candidate" | "controlnet";
|
|
12
|
+
export type KnownStylePreset = (typeof KNOWN_STYLE_PRESETS)[number];
|
|
13
|
+
export type PostProcessAlgorithm = (typeof POST_PROCESS_ALGORITHMS)[number];
|
|
14
|
+
export type NormalizedOutputFormat = "png" | "jpeg" | "webp";
|
|
15
|
+
export type TargetKind = (typeof TARGET_KINDS)[number];
|
|
16
|
+
export type ControlMode = (typeof CONTROL_MODES)[number];
|
|
17
|
+
export type GenerationMode = (typeof GENERATION_MODES)[number];
|
|
18
|
+
export type WrapGridTopologyMode = (typeof WRAP_GRID_TOPOLOGY_MODES)[number];
|
|
19
|
+
export type FacingDirection = (typeof FACING_DIRECTIONS)[number];
|
|
20
|
+
export type PaletteMode = "exact" | "max-colors";
|
|
21
|
+
export interface ProviderCapabilities {
|
|
22
|
+
readonly name: ProviderName;
|
|
23
|
+
readonly defaultOutputFormat: NormalizedOutputFormat;
|
|
24
|
+
readonly supportedOutputFormats: ReadonlySet<NormalizedOutputFormat>;
|
|
25
|
+
readonly supportsTransparentBackground: boolean;
|
|
26
|
+
readonly supportsEdits: boolean;
|
|
27
|
+
readonly supportsControlNet: boolean;
|
|
28
|
+
readonly maxCandidates: number;
|
|
29
|
+
readonly defaultConcurrency: number;
|
|
30
|
+
readonly minDelayMs: number;
|
|
31
|
+
}
|
|
32
|
+
export declare const PROVIDER_CAPABILITIES: Record<ProviderName, ProviderCapabilities>;
|
|
33
|
+
export interface PromptSpec {
|
|
34
|
+
primary: string;
|
|
35
|
+
useCase?: string;
|
|
36
|
+
stylePreset?: string;
|
|
37
|
+
scene?: string;
|
|
38
|
+
subject?: string;
|
|
39
|
+
style?: string;
|
|
40
|
+
composition?: string;
|
|
41
|
+
lighting?: string;
|
|
42
|
+
palette?: string;
|
|
43
|
+
materials?: string;
|
|
44
|
+
constraints?: string;
|
|
45
|
+
negative?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface PalettePolicy {
|
|
48
|
+
mode: PaletteMode;
|
|
49
|
+
colors?: string[];
|
|
50
|
+
maxColors?: number;
|
|
51
|
+
dither?: number;
|
|
52
|
+
strict?: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface CoarseToFinePolicy {
|
|
55
|
+
enabled?: boolean;
|
|
56
|
+
promoteTopK?: number;
|
|
57
|
+
minDraftScore?: number;
|
|
58
|
+
requireDraftAcceptance?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface AgenticRetryPolicy {
|
|
61
|
+
enabled?: boolean;
|
|
62
|
+
maxRetries?: number;
|
|
63
|
+
}
|
|
64
|
+
export interface GenerationPolicy {
|
|
65
|
+
size?: string;
|
|
66
|
+
/** Accepts "transparent", "opaque", or any custom value. */
|
|
67
|
+
background?: string;
|
|
68
|
+
outputFormat?: string;
|
|
69
|
+
quality?: string;
|
|
70
|
+
draftQuality?: string;
|
|
71
|
+
finalQuality?: string;
|
|
72
|
+
highQuality?: boolean;
|
|
73
|
+
hiresFix?: {
|
|
74
|
+
enabled?: boolean;
|
|
75
|
+
upscale?: number;
|
|
76
|
+
denoiseStrength?: number;
|
|
77
|
+
};
|
|
78
|
+
candidates?: number;
|
|
79
|
+
maxRetries?: number;
|
|
80
|
+
fallbackProviders?: ProviderName[];
|
|
81
|
+
providerConcurrency?: number;
|
|
82
|
+
rateLimitPerMinute?: number;
|
|
83
|
+
vlmGate?: VlmGatePolicy;
|
|
84
|
+
coarseToFine?: CoarseToFinePolicy;
|
|
85
|
+
agenticRetry?: AgenticRetryPolicy;
|
|
86
|
+
}
|
|
87
|
+
export interface VlmGatePolicy {
|
|
88
|
+
threshold?: number;
|
|
89
|
+
rubric?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface TrimOperation {
|
|
92
|
+
enabled?: boolean;
|
|
93
|
+
threshold?: number;
|
|
94
|
+
}
|
|
95
|
+
export interface PadOperation {
|
|
96
|
+
pixels: number;
|
|
97
|
+
extrude?: boolean;
|
|
98
|
+
background?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface QuantizeOperation {
|
|
101
|
+
colors: number;
|
|
102
|
+
dither?: number;
|
|
103
|
+
}
|
|
104
|
+
export interface OutlineOperation {
|
|
105
|
+
size: number;
|
|
106
|
+
color?: string;
|
|
107
|
+
}
|
|
108
|
+
export interface ResizeVariant {
|
|
109
|
+
name: string;
|
|
110
|
+
width: number;
|
|
111
|
+
height: number;
|
|
112
|
+
algorithm?: PostProcessAlgorithm;
|
|
113
|
+
}
|
|
114
|
+
export interface ResizeVariantsOperation {
|
|
115
|
+
variants: ResizeVariant[];
|
|
116
|
+
}
|
|
117
|
+
export interface PixelPerfectOperation {
|
|
118
|
+
enabled?: boolean;
|
|
119
|
+
scale?: number;
|
|
120
|
+
}
|
|
121
|
+
export interface SmartCropOperation {
|
|
122
|
+
enabled?: boolean;
|
|
123
|
+
mode?: "alpha-bounds" | "center";
|
|
124
|
+
padding?: number;
|
|
125
|
+
}
|
|
126
|
+
export interface VariantOutputsOperation {
|
|
127
|
+
raw?: boolean;
|
|
128
|
+
pixel?: boolean;
|
|
129
|
+
styleRef?: boolean;
|
|
130
|
+
layerColor?: boolean;
|
|
131
|
+
layerMatte?: boolean;
|
|
132
|
+
}
|
|
133
|
+
export interface PostProcessOperations {
|
|
134
|
+
trim?: TrimOperation;
|
|
135
|
+
pad?: PadOperation;
|
|
136
|
+
quantize?: QuantizeOperation;
|
|
137
|
+
outline?: OutlineOperation;
|
|
138
|
+
resizeVariants?: ResizeVariantsOperation;
|
|
139
|
+
pixelPerfect?: PixelPerfectOperation;
|
|
140
|
+
smartCrop?: SmartCropOperation;
|
|
141
|
+
emitVariants?: VariantOutputsOperation;
|
|
142
|
+
}
|
|
143
|
+
export interface PostProcessPolicy {
|
|
144
|
+
resizeTo?: {
|
|
145
|
+
width: number;
|
|
146
|
+
height: number;
|
|
147
|
+
};
|
|
148
|
+
algorithm?: PostProcessAlgorithm;
|
|
149
|
+
stripMetadata?: boolean;
|
|
150
|
+
pngPaletteColors?: number;
|
|
151
|
+
operations?: PostProcessOperations;
|
|
152
|
+
}
|
|
153
|
+
export interface TargetEditInput {
|
|
154
|
+
path: string;
|
|
155
|
+
role?: "base" | "mask" | "reference";
|
|
156
|
+
fidelity?: "low" | "medium" | "high";
|
|
157
|
+
}
|
|
158
|
+
export interface TargetEditSpec {
|
|
159
|
+
mode?: "edit" | "iterate";
|
|
160
|
+
instruction?: string;
|
|
161
|
+
inputs?: TargetEditInput[];
|
|
162
|
+
preserveComposition?: boolean;
|
|
163
|
+
}
|
|
164
|
+
export interface RegenerationSource {
|
|
165
|
+
mode: "selection-lock" | "selection-lock-edit";
|
|
166
|
+
selectionLockPath: string;
|
|
167
|
+
selectionLockGeneratedAt?: string;
|
|
168
|
+
lockInputHash: string;
|
|
169
|
+
lockSelectedOutputPath: string;
|
|
170
|
+
}
|
|
171
|
+
export interface AuxiliaryMapPolicy {
|
|
172
|
+
normalFromHeight?: boolean;
|
|
173
|
+
specularFromLuma?: boolean;
|
|
174
|
+
aoFromLuma?: boolean;
|
|
175
|
+
}
|
|
176
|
+
export interface TargetScoreWeights {
|
|
177
|
+
readability?: number;
|
|
178
|
+
fileSize?: number;
|
|
179
|
+
consistency?: number;
|
|
180
|
+
clip?: number;
|
|
181
|
+
lpips?: number;
|
|
182
|
+
ssim?: number;
|
|
183
|
+
}
|
|
184
|
+
export interface ConsistencyGroupScoringPolicy {
|
|
185
|
+
warningThreshold?: number;
|
|
186
|
+
penaltyThreshold?: number;
|
|
187
|
+
penaltyWeight?: number;
|
|
188
|
+
}
|
|
189
|
+
export interface SeamHealPolicy {
|
|
190
|
+
enabled?: boolean;
|
|
191
|
+
stripPx?: number;
|
|
192
|
+
strength?: number;
|
|
193
|
+
}
|
|
194
|
+
export interface WrapGridPolicy {
|
|
195
|
+
columns: number;
|
|
196
|
+
rows: number;
|
|
197
|
+
seamThreshold?: number;
|
|
198
|
+
seamStripPx?: number;
|
|
199
|
+
topology?: WrapGridTopologyPolicy;
|
|
200
|
+
}
|
|
201
|
+
export interface WrapGridTopologyPolicy {
|
|
202
|
+
mode: WrapGridTopologyMode;
|
|
203
|
+
maxMismatchRatio?: number;
|
|
204
|
+
colorTolerance?: number;
|
|
205
|
+
}
|
|
206
|
+
export interface VisualStylePolicy {
|
|
207
|
+
lineContrastMin?: number;
|
|
208
|
+
shadingBandCountMax?: number;
|
|
209
|
+
uiRectilinearityMin?: number;
|
|
210
|
+
}
|
|
211
|
+
export interface PlannedTarget {
|
|
212
|
+
id: string;
|
|
213
|
+
kind?: string;
|
|
214
|
+
out: string;
|
|
215
|
+
templateId?: string;
|
|
216
|
+
dependsOn?: string[];
|
|
217
|
+
styleReferenceFrom?: string[];
|
|
218
|
+
atlasGroup?: string | null;
|
|
219
|
+
styleKitId?: string;
|
|
220
|
+
styleReferenceImages?: string[];
|
|
221
|
+
loraPath?: string;
|
|
222
|
+
loraStrength?: number;
|
|
223
|
+
consistencyGroup?: string;
|
|
224
|
+
consistencyGroupScoring?: ConsistencyGroupScoringPolicy;
|
|
225
|
+
visualStylePolicy?: VisualStylePolicy;
|
|
226
|
+
generationMode?: GenerationMode;
|
|
227
|
+
evaluationProfileId?: string;
|
|
228
|
+
scoringProfile?: string;
|
|
229
|
+
controlImage?: string;
|
|
230
|
+
controlMode?: ControlMode;
|
|
231
|
+
facing?: FacingDirection;
|
|
232
|
+
scoreWeights?: TargetScoreWeights;
|
|
233
|
+
tileable?: boolean;
|
|
234
|
+
seamThreshold?: number;
|
|
235
|
+
seamStripPx?: number;
|
|
236
|
+
alphaHaloRiskMax?: number;
|
|
237
|
+
alphaStrayNoiseMax?: number;
|
|
238
|
+
alphaEdgeSharpnessMin?: number;
|
|
239
|
+
mattingHiddenRgbLeakMax?: number;
|
|
240
|
+
mattingMaskConsistencyMin?: number;
|
|
241
|
+
mattingSemiTransparencyRatioMax?: number;
|
|
242
|
+
packTextureBudgetMB?: number;
|
|
243
|
+
spritesheetSilhouetteDriftMax?: number;
|
|
244
|
+
spritesheetAnchorDriftMax?: number;
|
|
245
|
+
spritesheetIdentityDriftMax?: number;
|
|
246
|
+
spritesheetPoseDriftMax?: number;
|
|
247
|
+
spritesheetWalkLowerBodyMotionMin?: number;
|
|
248
|
+
spritesheetWalkFootMotionMin?: number;
|
|
249
|
+
spritesheetWalkFootToUpperMotionRatioMin?: number;
|
|
250
|
+
seamHeal?: SeamHealPolicy;
|
|
251
|
+
wrapGrid?: WrapGridPolicy;
|
|
252
|
+
palette?: PalettePolicy;
|
|
253
|
+
generationDisabled?: boolean;
|
|
254
|
+
catalogDisabled?: boolean;
|
|
255
|
+
spritesheet?: {
|
|
256
|
+
sheetTargetId: string;
|
|
257
|
+
isSheet?: boolean;
|
|
258
|
+
animations?: {
|
|
259
|
+
name: string;
|
|
260
|
+
count: number;
|
|
261
|
+
fps?: number;
|
|
262
|
+
loop?: boolean;
|
|
263
|
+
facing?: FacingDirection;
|
|
264
|
+
pivot?: {
|
|
265
|
+
x: number;
|
|
266
|
+
y: number;
|
|
267
|
+
};
|
|
268
|
+
}[];
|
|
269
|
+
animationName?: string;
|
|
270
|
+
facing?: FacingDirection;
|
|
271
|
+
frameIndex?: number;
|
|
272
|
+
frameCount?: number;
|
|
273
|
+
fps?: number;
|
|
274
|
+
loop?: boolean;
|
|
275
|
+
pivot?: {
|
|
276
|
+
x: number;
|
|
277
|
+
y: number;
|
|
278
|
+
};
|
|
279
|
+
/** When set, this target generates a wide strip image containing all frames
|
|
280
|
+
* for the animation. After generation, the strip is sliced into individual
|
|
281
|
+
* frame files at the paths listed in `frameOutputPaths`. */
|
|
282
|
+
stripGeneration?: {
|
|
283
|
+
frameCount: number;
|
|
284
|
+
/** Relative output paths (target.out style) for each frame in order. */
|
|
285
|
+
frameOutputPaths: string[];
|
|
286
|
+
};
|
|
287
|
+
};
|
|
288
|
+
acceptance?: {
|
|
289
|
+
size?: string;
|
|
290
|
+
alpha?: boolean;
|
|
291
|
+
maxFileSizeKB?: number;
|
|
292
|
+
};
|
|
293
|
+
runtimeSpec?: {
|
|
294
|
+
alphaRequired?: boolean;
|
|
295
|
+
previewWidth?: number;
|
|
296
|
+
previewHeight?: number;
|
|
297
|
+
anchorX?: number;
|
|
298
|
+
anchorY?: number;
|
|
299
|
+
};
|
|
300
|
+
promptSpec: PromptSpec;
|
|
301
|
+
generationPolicy?: GenerationPolicy;
|
|
302
|
+
postProcess?: PostProcessPolicy;
|
|
303
|
+
provider?: ProviderName;
|
|
304
|
+
model?: string;
|
|
305
|
+
edit?: TargetEditSpec;
|
|
306
|
+
regenerationSource?: RegenerationSource;
|
|
307
|
+
auxiliaryMaps?: AuxiliaryMapPolicy;
|
|
308
|
+
}
|
|
309
|
+
export interface PlannedTargetsIndex {
|
|
310
|
+
targets: PlannedTarget[];
|
|
311
|
+
generatedAt?: string;
|
|
312
|
+
manifestPath?: string;
|
|
313
|
+
}
|
|
314
|
+
export interface NormalizedGenerationPolicy {
|
|
315
|
+
size: string;
|
|
316
|
+
quality: string;
|
|
317
|
+
draftQuality?: string;
|
|
318
|
+
finalQuality?: string;
|
|
319
|
+
/** Accepts "transparent", "opaque", or any custom value. */
|
|
320
|
+
background: string;
|
|
321
|
+
outputFormat: NormalizedOutputFormat;
|
|
322
|
+
highQuality?: boolean;
|
|
323
|
+
hiresFix?: {
|
|
324
|
+
enabled?: boolean;
|
|
325
|
+
upscale?: number;
|
|
326
|
+
denoiseStrength?: number;
|
|
327
|
+
};
|
|
328
|
+
candidates: number;
|
|
329
|
+
maxRetries?: number;
|
|
330
|
+
fallbackProviders: ProviderName[];
|
|
331
|
+
providerConcurrency?: number;
|
|
332
|
+
rateLimitPerMinute?: number;
|
|
333
|
+
vlmGate?: VlmGatePolicy;
|
|
334
|
+
coarseToFine?: {
|
|
335
|
+
enabled: boolean;
|
|
336
|
+
promoteTopK: number;
|
|
337
|
+
minDraftScore?: number;
|
|
338
|
+
requireDraftAcceptance: boolean;
|
|
339
|
+
};
|
|
340
|
+
agenticRetry?: {
|
|
341
|
+
enabled: boolean;
|
|
342
|
+
maxRetries: number;
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
export interface PolicyNormalizationIssue {
|
|
346
|
+
level: "warning" | "error";
|
|
347
|
+
code: string;
|
|
348
|
+
message: string;
|
|
349
|
+
}
|
|
350
|
+
export interface ProviderPolicyNormalizationResult {
|
|
351
|
+
policy: NormalizedGenerationPolicy;
|
|
352
|
+
issues: PolicyNormalizationIssue[];
|
|
353
|
+
}
|
|
354
|
+
export interface ProviderJob {
|
|
355
|
+
id: string;
|
|
356
|
+
provider: ProviderName;
|
|
357
|
+
model: string;
|
|
358
|
+
targetId: string;
|
|
359
|
+
targetOut: string;
|
|
360
|
+
prompt: string;
|
|
361
|
+
outPath: string;
|
|
362
|
+
inputHash: string;
|
|
363
|
+
size: string;
|
|
364
|
+
quality: string;
|
|
365
|
+
background: string;
|
|
366
|
+
outputFormat: NormalizedOutputFormat;
|
|
367
|
+
candidateCount: number;
|
|
368
|
+
maxRetries: number;
|
|
369
|
+
fallbackProviders: ProviderName[];
|
|
370
|
+
providerConcurrency?: number;
|
|
371
|
+
rateLimitPerMinute?: number;
|
|
372
|
+
target: PlannedTarget;
|
|
373
|
+
}
|
|
374
|
+
export interface ProviderCandidateOutput {
|
|
375
|
+
outputPath: string;
|
|
376
|
+
bytesWritten: number;
|
|
377
|
+
}
|
|
378
|
+
export interface CandidateScoreRecord {
|
|
379
|
+
outputPath: string;
|
|
380
|
+
score: number;
|
|
381
|
+
passedAcceptance: boolean;
|
|
382
|
+
reasons: string[];
|
|
383
|
+
stage?: "draft" | "refine" | "autocorrect";
|
|
384
|
+
promoted?: boolean;
|
|
385
|
+
sourceOutputPath?: string;
|
|
386
|
+
autoCorrectAttempt?: number;
|
|
387
|
+
components?: Record<string, number>;
|
|
388
|
+
metrics?: Record<string, number>;
|
|
389
|
+
vlm?: CandidateVlmScore;
|
|
390
|
+
warnings?: string[];
|
|
391
|
+
selected?: boolean;
|
|
392
|
+
}
|
|
393
|
+
export interface CandidateVlmScore {
|
|
394
|
+
score: number;
|
|
395
|
+
threshold: number;
|
|
396
|
+
maxScore: number;
|
|
397
|
+
passed: boolean;
|
|
398
|
+
reason: string;
|
|
399
|
+
rubric?: string;
|
|
400
|
+
evaluator: "command" | "http";
|
|
401
|
+
}
|
|
402
|
+
export interface ProviderRunResult {
|
|
403
|
+
jobId: string;
|
|
404
|
+
provider: ProviderName;
|
|
405
|
+
model: string;
|
|
406
|
+
targetId: string;
|
|
407
|
+
prompt?: string;
|
|
408
|
+
outputPath: string;
|
|
409
|
+
bytesWritten: number;
|
|
410
|
+
inputHash: string;
|
|
411
|
+
startedAt: string;
|
|
412
|
+
finishedAt: string;
|
|
413
|
+
skipped?: boolean;
|
|
414
|
+
candidateOutputs?: ProviderCandidateOutput[];
|
|
415
|
+
candidateScores?: CandidateScoreRecord[];
|
|
416
|
+
coarseToFine?: {
|
|
417
|
+
enabled: boolean;
|
|
418
|
+
draftQuality: string;
|
|
419
|
+
finalQuality: string;
|
|
420
|
+
promoteTopK: number;
|
|
421
|
+
minDraftScore?: number;
|
|
422
|
+
requireDraftAcceptance: boolean;
|
|
423
|
+
draftCandidateCount: number;
|
|
424
|
+
promoted: {
|
|
425
|
+
outputPath: string;
|
|
426
|
+
score: number;
|
|
427
|
+
passedAcceptance: boolean;
|
|
428
|
+
refinedOutputPath?: string;
|
|
429
|
+
}[];
|
|
430
|
+
discarded: {
|
|
431
|
+
outputPath: string;
|
|
432
|
+
score: number;
|
|
433
|
+
passedAcceptance: boolean;
|
|
434
|
+
reason: string;
|
|
435
|
+
}[];
|
|
436
|
+
skippedReason?: string;
|
|
437
|
+
warnings?: string[];
|
|
438
|
+
};
|
|
439
|
+
agenticRetry?: {
|
|
440
|
+
enabled: boolean;
|
|
441
|
+
maxRetries: number;
|
|
442
|
+
attempted: number;
|
|
443
|
+
succeeded: boolean;
|
|
444
|
+
skippedReason?: string;
|
|
445
|
+
attempts: {
|
|
446
|
+
attempt: number;
|
|
447
|
+
sourceOutputPath: string;
|
|
448
|
+
outputPath: string;
|
|
449
|
+
retryOutputPath: string;
|
|
450
|
+
critique: string;
|
|
451
|
+
triggeredBy: string[];
|
|
452
|
+
scoreBefore: number;
|
|
453
|
+
scoreAfter: number;
|
|
454
|
+
passedBefore: boolean;
|
|
455
|
+
passedAfter: boolean;
|
|
456
|
+
reasonsBefore: string[];
|
|
457
|
+
reasonsAfter: string[];
|
|
458
|
+
}[];
|
|
459
|
+
};
|
|
460
|
+
styleReferenceLineage?: {
|
|
461
|
+
source: "style-kit" | "target-output";
|
|
462
|
+
reference: string;
|
|
463
|
+
sourceTargetId?: string;
|
|
464
|
+
resolvedPath?: string;
|
|
465
|
+
}[];
|
|
466
|
+
generationMode?: GenerationMode;
|
|
467
|
+
edit?: TargetEditSpec;
|
|
468
|
+
regenerationSource?: RegenerationSource;
|
|
469
|
+
warnings?: string[];
|
|
470
|
+
}
|
|
471
|
+
export interface ProviderPrepareContext {
|
|
472
|
+
outDir: string;
|
|
473
|
+
imagesDir: string;
|
|
474
|
+
now?: () => Date;
|
|
475
|
+
}
|
|
476
|
+
export interface ProviderRunContext extends ProviderPrepareContext {
|
|
477
|
+
fetchImpl?: typeof fetch;
|
|
478
|
+
}
|
|
479
|
+
export interface ProviderEditJob {
|
|
480
|
+
id: string;
|
|
481
|
+
provider: ProviderName;
|
|
482
|
+
model: string;
|
|
483
|
+
targetId: string;
|
|
484
|
+
instruction: string;
|
|
485
|
+
inputs: TargetEditInput[];
|
|
486
|
+
outPath: string;
|
|
487
|
+
inputHash: string;
|
|
488
|
+
}
|
|
489
|
+
export type ProviderEditContext = ProviderRunContext;
|
|
490
|
+
export interface GenerationProvider {
|
|
491
|
+
readonly name: ProviderName;
|
|
492
|
+
readonly capabilities: ProviderCapabilities;
|
|
493
|
+
prepareJobs(targets: PlannedTarget[], ctx: ProviderPrepareContext): ProviderJob[] | Promise<ProviderJob[]>;
|
|
494
|
+
runJob(job: ProviderJob, ctx: ProviderRunContext): Promise<ProviderRunResult>;
|
|
495
|
+
runEditJob?(job: ProviderEditJob, ctx: ProviderEditContext): Promise<ProviderRunResult>;
|
|
496
|
+
supports(feature: ProviderFeature): boolean;
|
|
497
|
+
normalizeError(error: unknown): ProviderError;
|
|
498
|
+
}
|
|
499
|
+
export interface ProviderErrorInit {
|
|
500
|
+
provider: ProviderName;
|
|
501
|
+
code: string;
|
|
502
|
+
message: string;
|
|
503
|
+
cause?: unknown;
|
|
504
|
+
actionable?: string;
|
|
505
|
+
status?: number;
|
|
506
|
+
}
|
|
507
|
+
export declare class ProviderError extends Error {
|
|
508
|
+
readonly provider: ProviderName;
|
|
509
|
+
readonly code: string;
|
|
510
|
+
readonly actionable?: string;
|
|
511
|
+
readonly status?: number;
|
|
512
|
+
readonly cause?: unknown;
|
|
513
|
+
constructor(init: ProviderErrorInit);
|
|
514
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export const PROVIDER_NAMES = ["openai", "nano", "local"];
|
|
2
|
+
export const KNOWN_STYLE_PRESETS = ["pixel-art-16bit", "topdown-painterly-sci-fi"];
|
|
3
|
+
export const POST_PROCESS_ALGORITHMS = ["nearest", "lanczos3"];
|
|
4
|
+
export const TARGET_KINDS = ["sprite", "tile", "background", "effect", "spritesheet"];
|
|
5
|
+
export const CONTROL_MODES = ["canny", "depth", "openpose"];
|
|
6
|
+
export const GENERATION_MODES = ["text", "edit-first"];
|
|
7
|
+
export const WRAP_GRID_TOPOLOGY_MODES = ["self", "one-to-one", "many-to-many"];
|
|
8
|
+
export const FACING_DIRECTIONS = ["left", "right"];
|
|
9
|
+
const SUPPORTED_FORMATS = new Set(["png", "jpeg", "webp"]);
|
|
10
|
+
export const PROVIDER_CAPABILITIES = {
|
|
11
|
+
openai: {
|
|
12
|
+
name: "openai",
|
|
13
|
+
defaultOutputFormat: "png",
|
|
14
|
+
supportedOutputFormats: SUPPORTED_FORMATS,
|
|
15
|
+
supportsTransparentBackground: true,
|
|
16
|
+
supportsEdits: true,
|
|
17
|
+
supportsControlNet: false,
|
|
18
|
+
maxCandidates: 8,
|
|
19
|
+
defaultConcurrency: 2,
|
|
20
|
+
minDelayMs: 250,
|
|
21
|
+
},
|
|
22
|
+
nano: {
|
|
23
|
+
name: "nano",
|
|
24
|
+
defaultOutputFormat: "png",
|
|
25
|
+
supportedOutputFormats: SUPPORTED_FORMATS,
|
|
26
|
+
supportsTransparentBackground: false,
|
|
27
|
+
supportsEdits: true,
|
|
28
|
+
supportsControlNet: false,
|
|
29
|
+
maxCandidates: 4,
|
|
30
|
+
defaultConcurrency: 2,
|
|
31
|
+
minDelayMs: 350,
|
|
32
|
+
},
|
|
33
|
+
local: {
|
|
34
|
+
name: "local",
|
|
35
|
+
defaultOutputFormat: "png",
|
|
36
|
+
supportedOutputFormats: SUPPORTED_FORMATS,
|
|
37
|
+
supportsTransparentBackground: true,
|
|
38
|
+
supportsEdits: true,
|
|
39
|
+
supportsControlNet: true,
|
|
40
|
+
maxCandidates: 8,
|
|
41
|
+
defaultConcurrency: 2,
|
|
42
|
+
minDelayMs: 100,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
export class ProviderError extends Error {
|
|
46
|
+
provider;
|
|
47
|
+
code;
|
|
48
|
+
actionable;
|
|
49
|
+
status;
|
|
50
|
+
constructor(init) {
|
|
51
|
+
super(init.message);
|
|
52
|
+
this.name = "ProviderError";
|
|
53
|
+
this.provider = init.provider;
|
|
54
|
+
this.code = init.code;
|
|
55
|
+
this.actionable = init.actionable;
|
|
56
|
+
this.status = init.status;
|
|
57
|
+
this.cause = init.cause;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=types-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-core.js","sourceRoot":"","sources":["../../src/providers/types-core.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,iBAAiB,EAAE,0BAA0B,CAAU,CAAC;AAC5F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAU,CAAC;AAC/F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAU,CAAC;AAChE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAU,CAAC;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAU,CAAC;AAgC5D,MAAM,iBAAiB,GAAwC,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,qBAAqB,GAA+C;IAC/E,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,mBAAmB,EAAE,KAAK;QAC1B,sBAAsB,EAAE,iBAAiB;QACzC,6BAA6B,EAAE,IAAI;QACnC,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,CAAC;QAChB,kBAAkB,EAAE,CAAC;QACrB,UAAU,EAAE,GAAG;KAChB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,mBAAmB,EAAE,KAAK;QAC1B,sBAAsB,EAAE,iBAAiB;QACzC,6BAA6B,EAAE,KAAK;QACpC,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,CAAC;QAChB,kBAAkB,EAAE,CAAC;QACrB,UAAU,EAAE,GAAG;KAChB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,mBAAmB,EAAE,KAAK;QAC1B,sBAAsB,EAAE,iBAAiB;QACzC,6BAA6B,EAAE,IAAI;QACnC,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,IAAI;QACxB,aAAa,EAAE,CAAC;QAChB,kBAAkB,EAAE,CAAC;QACrB,UAAU,EAAE,GAAG;KAChB;CACF,CAAC;AA0gBF,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,QAAQ,CAAe;IACvB,IAAI,CAAS;IACb,UAAU,CAAU;IACpB,MAAM,CAAU;IAGzB,YAAY,IAAuB;QACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type ProviderSelection } from "../providers/types.js";
|
|
2
|
+
export declare const CANONICAL_GENERATION_REQUEST_VERSION = "v1";
|
|
3
|
+
export interface CanonicalGenerationRequestInput {
|
|
4
|
+
manifestPath?: string;
|
|
5
|
+
manifest?: Record<string, unknown>;
|
|
6
|
+
outDir?: string;
|
|
7
|
+
provider?: ProviderSelection;
|
|
8
|
+
targetIds?: string[];
|
|
9
|
+
skipLocked?: boolean;
|
|
10
|
+
selectionLockPath?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CanonicalGenerationRequestEnvelope {
|
|
13
|
+
requestId?: string | number;
|
|
14
|
+
request: CanonicalGenerationRequestInput;
|
|
15
|
+
}
|
|
16
|
+
export interface CanonicalGenerationRequestResult {
|
|
17
|
+
requestId?: string | number;
|
|
18
|
+
mappingVersion: string;
|
|
19
|
+
normalizedRequest: {
|
|
20
|
+
outDir: string;
|
|
21
|
+
manifestPath: string;
|
|
22
|
+
manifestSource: "inline" | "path";
|
|
23
|
+
provider: ProviderSelection;
|
|
24
|
+
targetIds: string[];
|
|
25
|
+
skipLocked: boolean;
|
|
26
|
+
selectionLockPath?: string;
|
|
27
|
+
};
|
|
28
|
+
plan: {
|
|
29
|
+
targets: number;
|
|
30
|
+
warnings: number;
|
|
31
|
+
targetsIndexPath: string;
|
|
32
|
+
};
|
|
33
|
+
generate: {
|
|
34
|
+
runId: string;
|
|
35
|
+
jobs: number;
|
|
36
|
+
imagesDir: string;
|
|
37
|
+
provenancePath: string;
|
|
38
|
+
targetsIndexPath: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface CanonicalGenerationRequestContext {
|
|
42
|
+
defaultOutDir?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare class CanonicalGenerationRequestError extends Error {
|
|
45
|
+
readonly code: string;
|
|
46
|
+
readonly status: number;
|
|
47
|
+
constructor(message: string, options: {
|
|
48
|
+
code: string;
|
|
49
|
+
status: number;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export declare function getCanonicalGenerationRequestContract(): {
|
|
53
|
+
version: string;
|
|
54
|
+
endpoint: string;
|
|
55
|
+
summary: string;
|
|
56
|
+
fields: Record<string, string>;
|
|
57
|
+
};
|
|
58
|
+
export declare function runCanonicalGenerationRequest(payload: unknown, context: CanonicalGenerationRequestContext): Promise<CanonicalGenerationRequestResult>;
|