@12ui/design 0.2.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 +484 -0
- package/dist/artifact-materializer.d.ts +17 -0
- package/dist/artifact-materializer.d.ts.map +1 -0
- package/dist/artifact-materializer.js +66 -0
- package/dist/artifact-materializer.js.map +1 -0
- package/dist/cli-arguments.d.ts +8 -0
- package/dist/cli-arguments.d.ts.map +1 -0
- package/dist/cli-arguments.js +39 -0
- package/dist/cli-arguments.js.map +1 -0
- package/dist/cli-auth-command.d.ts +3 -0
- package/dist/cli-auth-command.d.ts.map +1 -0
- package/dist/cli-auth-command.js +100 -0
- package/dist/cli-auth-command.js.map +1 -0
- package/dist/cli-corpus-command.d.ts +12 -0
- package/dist/cli-corpus-command.d.ts.map +1 -0
- package/dist/cli-corpus-command.js +120 -0
- package/dist/cli-corpus-command.js.map +1 -0
- package/dist/cli-corpus-evidence.d.ts +17 -0
- package/dist/cli-corpus-evidence.d.ts.map +1 -0
- package/dist/cli-corpus-evidence.js +150 -0
- package/dist/cli-corpus-evidence.js.map +1 -0
- package/dist/cli-corpus-reference-downloads.d.ts +8 -0
- package/dist/cli-corpus-reference-downloads.d.ts.map +1 -0
- package/dist/cli-corpus-reference-downloads.js +111 -0
- package/dist/cli-corpus-reference-downloads.js.map +1 -0
- package/dist/cli-corpus-reference-receipts.d.ts +36 -0
- package/dist/cli-corpus-reference-receipts.d.ts.map +1 -0
- package/dist/cli-corpus-reference-receipts.js +137 -0
- package/dist/cli-corpus-reference-receipts.js.map +1 -0
- package/dist/cli-corpus-run.d.ts +17 -0
- package/dist/cli-corpus-run.d.ts.map +1 -0
- package/dist/cli-corpus-run.js +94 -0
- package/dist/cli-corpus-run.js.map +1 -0
- package/dist/cli-corpus-types.d.ts +52 -0
- package/dist/cli-corpus-types.d.ts.map +1 -0
- package/dist/cli-corpus-types.js +6 -0
- package/dist/cli-corpus-types.js.map +1 -0
- package/dist/cli-export-command.d.ts +3 -0
- package/dist/cli-export-command.d.ts.map +1 -0
- package/dist/cli-export-command.js +234 -0
- package/dist/cli-export-command.js.map +1 -0
- package/dist/cli-image-command.d.ts +8 -0
- package/dist/cli-image-command.d.ts.map +1 -0
- package/dist/cli-image-command.js +193 -0
- package/dist/cli-image-command.js.map +1 -0
- package/dist/cli-persistence.d.ts +25 -0
- package/dist/cli-persistence.d.ts.map +1 -0
- package/dist/cli-persistence.js +253 -0
- package/dist/cli-persistence.js.map +1 -0
- package/dist/cli-skill-command.d.ts +9 -0
- package/dist/cli-skill-command.d.ts.map +1 -0
- package/dist/cli-skill-command.js +215 -0
- package/dist/cli-skill-command.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +272 -0
- package/dist/cli.js.map +1 -0
- package/dist/codex-skill-config.d.ts +3 -0
- package/dist/codex-skill-config.d.ts.map +1 -0
- package/dist/codex-skill-config.js +83 -0
- package/dist/codex-skill-config.js.map +1 -0
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +34 -0
- package/dist/config.js.map +1 -0
- package/dist/conversion-client.d.ts +264 -0
- package/dist/conversion-client.d.ts.map +1 -0
- package/dist/conversion-client.js +445 -0
- package/dist/conversion-client.js.map +1 -0
- package/dist/conversion-models.d.ts +4 -0
- package/dist/conversion-models.d.ts.map +1 -0
- package/dist/conversion-models.js +3 -0
- package/dist/conversion-models.js.map +1 -0
- package/dist/conversion-outputs.d.ts +118 -0
- package/dist/conversion-outputs.d.ts.map +1 -0
- package/dist/conversion-outputs.js +84 -0
- package/dist/conversion-outputs.js.map +1 -0
- package/dist/conversion-problems.d.ts +3 -0
- package/dist/conversion-problems.d.ts.map +1 -0
- package/dist/conversion-problems.js +21 -0
- package/dist/conversion-problems.js.map +1 -0
- package/dist/corpus-client.d.ts +171 -0
- package/dist/corpus-client.d.ts.map +1 -0
- package/dist/corpus-client.js +85 -0
- package/dist/corpus-client.js.map +1 -0
- package/dist/credential-setup.d.ts +27 -0
- package/dist/credential-setup.d.ts.map +1 -0
- package/dist/credential-setup.js +242 -0
- package/dist/credential-setup.js.map +1 -0
- package/dist/credential-store.d.ts +12 -0
- package/dist/credential-store.d.ts.map +1 -0
- package/dist/credential-store.js +103 -0
- package/dist/credential-store.js.map +1 -0
- package/dist/idempotency-key.d.ts +2 -0
- package/dist/idempotency-key.d.ts.map +1 -0
- package/dist/idempotency-key.js +19 -0
- package/dist/idempotency-key.js.map +1 -0
- package/dist/image-generation-evidence.d.ts +26 -0
- package/dist/image-generation-evidence.d.ts.map +1 -0
- package/dist/image-generation-evidence.js +28 -0
- package/dist/image-generation-evidence.js.map +1 -0
- package/dist/image-output-width.d.ts +11 -0
- package/dist/image-output-width.d.ts.map +1 -0
- package/dist/image-output-width.js +55 -0
- package/dist/image-output-width.js.map +1 -0
- package/dist/image-provider-preflight.d.ts +21 -0
- package/dist/image-provider-preflight.d.ts.map +1 -0
- package/dist/image-provider-preflight.js +184 -0
- package/dist/image-provider-preflight.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/legacy-codex-cleanup.d.ts +11 -0
- package/dist/legacy-codex-cleanup.d.ts.map +1 -0
- package/dist/legacy-codex-cleanup.js +147 -0
- package/dist/legacy-codex-cleanup.js.map +1 -0
- package/dist/legacy-skill-catalog.d.ts +5 -0
- package/dist/legacy-skill-catalog.d.ts.map +1 -0
- package/dist/legacy-skill-catalog.js +123 -0
- package/dist/legacy-skill-catalog.js.map +1 -0
- package/dist/local-conversion-input.d.ts +21 -0
- package/dist/local-conversion-input.d.ts.map +1 -0
- package/dist/local-conversion-input.js +54 -0
- package/dist/local-conversion-input.js.map +1 -0
- package/dist/login-auth.d.ts +63 -0
- package/dist/login-auth.d.ts.map +1 -0
- package/dist/login-auth.js +282 -0
- package/dist/login-auth.js.map +1 -0
- package/dist/package-client.d.ts +147 -0
- package/dist/package-client.d.ts.map +1 -0
- package/dist/package-client.js +119 -0
- package/dist/package-client.js.map +1 -0
- package/dist/project-profiles.d.ts +45 -0
- package/dist/project-profiles.d.ts.map +1 -0
- package/dist/project-profiles.js +162 -0
- package/dist/project-profiles.js.map +1 -0
- package/dist/responsive-quality.d.ts +26 -0
- package/dist/responsive-quality.d.ts.map +1 -0
- package/dist/responsive-quality.js +68 -0
- package/dist/responsive-quality.js.map +1 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +173 -0
- package/dist/server.js.map +1 -0
- package/dist/skill-installer.d.ts +51 -0
- package/dist/skill-installer.d.ts.map +1 -0
- package/dist/skill-installer.js +328 -0
- package/dist/skill-installer.js.map +1 -0
- package/package.json +53 -0
- package/skills/design/SKILL.md +156 -0
- package/skills/design/agents/openai.yaml +6 -0
- package/skills/design/references/selection-contract.md +44 -0
- package/skills/design-convert/SKILL.md +118 -0
- package/skills/design-convert/agents/openai.yaml +6 -0
- package/skills/design-search/SKILL.md +86 -0
- package/skills/design-search/agents/openai.yaml +6 -0
package/dist/config.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { readStoredConversionCredentialsSync } from './credential-store.js';
|
|
2
|
+
export const normalizeConversionOrigin = (value) => {
|
|
3
|
+
const trimmed = value.trim();
|
|
4
|
+
let parsed;
|
|
5
|
+
try {
|
|
6
|
+
parsed = new URL(trimmed);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
throw new Error('TWELVE_UI_ORIGIN must be an absolute HTTP(S) origin');
|
|
10
|
+
}
|
|
11
|
+
if (!['http:', 'https:'].includes(parsed.protocol) || parsed.username || parsed.password) {
|
|
12
|
+
throw new Error('TWELVE_UI_ORIGIN must be an absolute HTTP(S) origin');
|
|
13
|
+
}
|
|
14
|
+
if ((parsed.pathname && parsed.pathname !== '/') || parsed.search || parsed.hash) {
|
|
15
|
+
throw new Error('TWELVE_UI_ORIGIN must not include a path, query, or fragment');
|
|
16
|
+
}
|
|
17
|
+
return parsed.origin;
|
|
18
|
+
};
|
|
19
|
+
export const readConversionConfig = (overrides = {}) => {
|
|
20
|
+
const configuredApiKey = overrides.apiKey ?? process.env.TWELVE_UI_API_KEY;
|
|
21
|
+
const stored = configuredApiKey?.trim() ? null : readStoredConversionCredentialsSync();
|
|
22
|
+
const origin = normalizeConversionOrigin(overrides.origin
|
|
23
|
+
?? process.env.TWELVE_UI_ORIGIN
|
|
24
|
+
?? stored?.origin
|
|
25
|
+
?? 'https://12ui.com');
|
|
26
|
+
const apiKey = (configuredApiKey
|
|
27
|
+
?? stored?.apiKey
|
|
28
|
+
?? '').trim();
|
|
29
|
+
if (!apiKey) {
|
|
30
|
+
throw new Error('A 12ui API key is required. Run `12ui skill install`, pass --api-key, or set TWELVE_UI_API_KEY.');
|
|
31
|
+
}
|
|
32
|
+
return { origin, apiKey };
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAO5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAU,EAAE;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAuC,EAAE,EAAoB,EAAE;IAClG,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC3E,MAAM,MAAM,GAAG,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC;IACvF,MAAM,MAAM,GAAG,yBAAyB,CACtC,SAAS,CAAC,MAAM;WACX,OAAO,CAAC,GAAG,CAAC,gBAAgB;WAC5B,MAAM,EAAE,MAAM;WACd,kBAAkB,CACxB,CAAC;IACF,MAAM,MAAM,GAAG,CACb,gBAAgB;WACX,MAAM,EAAE,MAAM;WACd,EAAE,CACR,CAAC,IAAI,EAAE,CAAC;IACT,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC,CAAC"}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { type ConversionModel } from './conversion-models.js';
|
|
2
|
+
import { type ConversionOutput, type LayerDocInputOutput } from './conversion-outputs.js';
|
|
3
|
+
import type { ConversionProblemCode } from './conversion-problems.js';
|
|
4
|
+
import { type PersistedResponsiveConversionQuality, type ResponsiveConversionPlan, type ResponsiveConversionQuality } from './responsive-quality.js';
|
|
5
|
+
import { type AppProjectProfileV1, type ConversionOutputProfile, type WebProjectProfileV1 } from './project-profiles.js';
|
|
6
|
+
export type { ConversionOutput } from './conversion-outputs.js';
|
|
7
|
+
export type ConversionStatus = 'queued' | 'running' | 'succeeded' | 'failed' | 'expired';
|
|
8
|
+
export declare const LAYERDOC_V2_MEDIA_TYPE: "application/vnd.12ui.layerdoc+json;version=2";
|
|
9
|
+
export declare const MAX_LAYERDOC_INPUT_BYTES: number;
|
|
10
|
+
export type ConversionProblem = {
|
|
11
|
+
code?: ConversionProblemCode;
|
|
12
|
+
detail?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
retryable?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export type ConversionArtifact = {
|
|
17
|
+
id: string;
|
|
18
|
+
role: string;
|
|
19
|
+
media_type: string;
|
|
20
|
+
sha256: string;
|
|
21
|
+
href: string;
|
|
22
|
+
expires_at: string;
|
|
23
|
+
layer_index?: number;
|
|
24
|
+
width?: number;
|
|
25
|
+
height?: number;
|
|
26
|
+
};
|
|
27
|
+
export type ResponsiveConversionPreviewFrame = {
|
|
28
|
+
id: 'mobile' | 'tablet' | 'compact-desktop';
|
|
29
|
+
viewport_width: number;
|
|
30
|
+
phase: 'waiting' | 'generating' | 'generated' | 'extracting' | 'binding' | 'complete';
|
|
31
|
+
artifact?: ConversionArtifact;
|
|
32
|
+
};
|
|
33
|
+
export type ResponsiveConversionPreview = {
|
|
34
|
+
revision: string;
|
|
35
|
+
quality: PersistedResponsiveConversionQuality;
|
|
36
|
+
source?: ConversionArtifact;
|
|
37
|
+
/** Device pixel ratio of the rendered source. Omitted for an unscaled 1x source. */
|
|
38
|
+
source_scale?: number;
|
|
39
|
+
completed: number;
|
|
40
|
+
total: number;
|
|
41
|
+
frames: ResponsiveConversionPreviewFrame[];
|
|
42
|
+
};
|
|
43
|
+
export type ConversionSource = {
|
|
44
|
+
href: string;
|
|
45
|
+
media_type: string;
|
|
46
|
+
expires_at: string;
|
|
47
|
+
width: number;
|
|
48
|
+
height: number;
|
|
49
|
+
/** Capture device pixel ratio. Omitted when the source is an unscaled 1x raster. */
|
|
50
|
+
scale?: number;
|
|
51
|
+
filename?: string;
|
|
52
|
+
};
|
|
53
|
+
export type ConversionHistoryItem = {
|
|
54
|
+
conversion_id: string;
|
|
55
|
+
status: ConversionStatus;
|
|
56
|
+
model: ConversionModel;
|
|
57
|
+
created_at: string;
|
|
58
|
+
updated_at: string;
|
|
59
|
+
expires_at: string;
|
|
60
|
+
source: ConversionSource;
|
|
61
|
+
};
|
|
62
|
+
export type ConversionHistory = {
|
|
63
|
+
items: ConversionHistoryItem[];
|
|
64
|
+
};
|
|
65
|
+
type ConversionResultBase = {
|
|
66
|
+
media_type: string;
|
|
67
|
+
artifacts: ConversionArtifact[];
|
|
68
|
+
[key: string]: unknown;
|
|
69
|
+
};
|
|
70
|
+
export type ConversionResult = ConversionResultBase & ({
|
|
71
|
+
kind: 'web_project';
|
|
72
|
+
profile: WebProjectProfileV1;
|
|
73
|
+
} | {
|
|
74
|
+
kind: 'app_project';
|
|
75
|
+
profile: AppProjectProfileV1;
|
|
76
|
+
} | {
|
|
77
|
+
kind: Exclude<ConversionOutput, 'web_project' | 'app_project'>;
|
|
78
|
+
profile?: never;
|
|
79
|
+
});
|
|
80
|
+
export type ConversionProgressLane = {
|
|
81
|
+
kind: 'prepare' | 'extract' | 'clean' | 'crop_1x' | 'upscale_2x' | 'cutout' | 'edit' | 'responsive_anchor' | 'html_flow' | 'export' | 'publish';
|
|
82
|
+
completed: number;
|
|
83
|
+
total: number;
|
|
84
|
+
status: 'waiting' | 'running' | 'complete' | 'retrying';
|
|
85
|
+
};
|
|
86
|
+
export type ConversionPreview = ConversionResult & {
|
|
87
|
+
kind: 'layerdoc';
|
|
88
|
+
revision: number;
|
|
89
|
+
document: unknown;
|
|
90
|
+
artifacts: ConversionArtifact[];
|
|
91
|
+
} & ({
|
|
92
|
+
quality: 'structure' | 'standard';
|
|
93
|
+
pending_image_layer_z?: never;
|
|
94
|
+
} | {
|
|
95
|
+
quality: 'edit';
|
|
96
|
+
pending_image_layer_z: number[];
|
|
97
|
+
});
|
|
98
|
+
/** Immutable extraction checkpoints retained in [structure, standard] order
|
|
99
|
+
* on successful image-to-LayerDoc operations. */
|
|
100
|
+
export type ConversionHistoricalPreview<TQuality extends 'structure' | 'standard' = 'structure' | 'standard', TRevision extends 2 | 3 = 2 | 3> = ConversionResult & {
|
|
101
|
+
kind: 'layerdoc';
|
|
102
|
+
revision: TRevision;
|
|
103
|
+
document: unknown;
|
|
104
|
+
artifacts: ConversionArtifact[];
|
|
105
|
+
quality: TQuality;
|
|
106
|
+
pending_image_layer_z?: never;
|
|
107
|
+
};
|
|
108
|
+
export type ConversionPreviewHistory = [
|
|
109
|
+
ConversionHistoricalPreview<'structure', 2>,
|
|
110
|
+
ConversionHistoricalPreview<'standard', 3>
|
|
111
|
+
];
|
|
112
|
+
export type ConversionOperation = {
|
|
113
|
+
id: string;
|
|
114
|
+
input_kind?: 'image' | 'layerdoc';
|
|
115
|
+
source_conversion_id?: string;
|
|
116
|
+
/** Pipeline admitted for this run. Optional only for legacy cached payloads. */
|
|
117
|
+
pipeline_revision?: string;
|
|
118
|
+
status: ConversionStatus;
|
|
119
|
+
output: ConversionOutput;
|
|
120
|
+
model: ConversionModel;
|
|
121
|
+
profile?: ConversionOutputProfile;
|
|
122
|
+
responsive?: ResponsiveConversionPlan;
|
|
123
|
+
created_at: string;
|
|
124
|
+
updated_at: string;
|
|
125
|
+
expires_at: string;
|
|
126
|
+
request_id: string;
|
|
127
|
+
source?: ConversionSource;
|
|
128
|
+
progress?: {
|
|
129
|
+
stage: string;
|
|
130
|
+
percent: number;
|
|
131
|
+
milestone?: 'structure_ready' | 'standard_ready';
|
|
132
|
+
active?: ConversionProgressLane[];
|
|
133
|
+
};
|
|
134
|
+
preview?: ConversionPreview;
|
|
135
|
+
previews?: ConversionPreviewHistory;
|
|
136
|
+
responsive_preview?: ResponsiveConversionPreview;
|
|
137
|
+
error?: ConversionProblem;
|
|
138
|
+
result?: ConversionResult;
|
|
139
|
+
};
|
|
140
|
+
export type ConversionClientOptions = {
|
|
141
|
+
origin: string;
|
|
142
|
+
apiKey: string;
|
|
143
|
+
fetch?: typeof fetch;
|
|
144
|
+
};
|
|
145
|
+
type CreateConversionOptions = {
|
|
146
|
+
idempotencyKey?: string;
|
|
147
|
+
waitSeconds?: number;
|
|
148
|
+
signal?: AbortSignal;
|
|
149
|
+
};
|
|
150
|
+
type StandardOutputSelection<TOutput extends ConversionOutput> = {
|
|
151
|
+
output: Exclude<TOutput, 'web_project' | 'app_project'>;
|
|
152
|
+
profile?: never;
|
|
153
|
+
};
|
|
154
|
+
type ProjectOutputSelection = {
|
|
155
|
+
output: 'web_project';
|
|
156
|
+
profile: WebProjectProfileV1;
|
|
157
|
+
} | {
|
|
158
|
+
output: 'app_project';
|
|
159
|
+
profile: AppProjectProfileV1;
|
|
160
|
+
};
|
|
161
|
+
export type PublicLayerDocV2Input = {
|
|
162
|
+
version: '2';
|
|
163
|
+
canvas: {
|
|
164
|
+
width: number;
|
|
165
|
+
height: number;
|
|
166
|
+
};
|
|
167
|
+
layers: unknown[];
|
|
168
|
+
source: unknown;
|
|
169
|
+
};
|
|
170
|
+
type ImageConversionSource = {
|
|
171
|
+
bytes: Uint8Array;
|
|
172
|
+
filename: string;
|
|
173
|
+
mediaType: 'image/png' | 'image/jpeg' | 'image/webp';
|
|
174
|
+
model?: ConversionModel;
|
|
175
|
+
responsiveQuality?: ResponsiveConversionQuality;
|
|
176
|
+
/** Device pixel ratio the raster was captured at. HTML and code-project
|
|
177
|
+
* geometry use CSS pixels, so a 2x capture must declare 2 to preserve the
|
|
178
|
+
* dimensions and breakpoints the author saw. Omit for a 1x capture. */
|
|
179
|
+
sourceScale?: number;
|
|
180
|
+
layerdoc?: never;
|
|
181
|
+
};
|
|
182
|
+
export type CreateImageConversionInput = CreateConversionOptions & ImageConversionSource & (StandardOutputSelection<ConversionOutput> | ProjectOutputSelection);
|
|
183
|
+
type LayerDocConversionSource = {
|
|
184
|
+
layerdoc: Uint8Array | string | PublicLayerDocV2Input;
|
|
185
|
+
filename?: string;
|
|
186
|
+
bytes?: never;
|
|
187
|
+
mediaType?: never;
|
|
188
|
+
model?: never;
|
|
189
|
+
};
|
|
190
|
+
type UnlinkedLayerDocOutputSelection = {
|
|
191
|
+
responsiveQuality?: never;
|
|
192
|
+
sourceConversionId?: never;
|
|
193
|
+
} & (StandardOutputSelection<LayerDocInputOutput> | ProjectOutputSelection);
|
|
194
|
+
type ResponsiveLayerDocOutputSelection = {
|
|
195
|
+
output: 'html';
|
|
196
|
+
responsiveQuality: ResponsiveConversionQuality;
|
|
197
|
+
sourceConversionId?: string;
|
|
198
|
+
profile?: never;
|
|
199
|
+
};
|
|
200
|
+
export type CreateLayerDocConversionInput = CreateConversionOptions & LayerDocConversionSource & (UnlinkedLayerDocOutputSelection | ResponsiveLayerDocOutputSelection);
|
|
201
|
+
export type CreateDerivedResponsiveHtmlConversionInput = CreateConversionOptions & {
|
|
202
|
+
sourceConversionId: string;
|
|
203
|
+
output: 'html';
|
|
204
|
+
responsiveQuality: ResponsiveConversionQuality;
|
|
205
|
+
bytes?: never;
|
|
206
|
+
filename?: never;
|
|
207
|
+
mediaType?: never;
|
|
208
|
+
model?: never;
|
|
209
|
+
layerdoc?: never;
|
|
210
|
+
profile?: never;
|
|
211
|
+
};
|
|
212
|
+
export type CreateConversionInput = CreateImageConversionInput | CreateLayerDocConversionInput | CreateDerivedResponsiveHtmlConversionInput;
|
|
213
|
+
type EditLayerDocOutputSelection = {
|
|
214
|
+
output: 'layerdoc';
|
|
215
|
+
responsiveQuality?: never;
|
|
216
|
+
sourceConversionId?: never;
|
|
217
|
+
profile?: never;
|
|
218
|
+
};
|
|
219
|
+
export type CreateLayerDocEditInput = CreateConversionOptions & LayerDocConversionSource & EditLayerDocOutputSelection & {
|
|
220
|
+
prompt: string;
|
|
221
|
+
};
|
|
222
|
+
export type CreateEditInput = CreateLayerDocEditInput;
|
|
223
|
+
export type ConversionDownload = {
|
|
224
|
+
bytes: Uint8Array;
|
|
225
|
+
mediaType: string;
|
|
226
|
+
};
|
|
227
|
+
export declare class ConversionClientError extends Error {
|
|
228
|
+
readonly status: number;
|
|
229
|
+
readonly problem: ConversionProblem;
|
|
230
|
+
readonly retryAfterMs: number | null;
|
|
231
|
+
constructor(message: string, status: number, problem: ConversionProblem, retryAfterMs: number | null);
|
|
232
|
+
}
|
|
233
|
+
export declare class TwelveUiConversionClient {
|
|
234
|
+
readonly origin: string;
|
|
235
|
+
private readonly apiKey;
|
|
236
|
+
private readonly fetchImpl;
|
|
237
|
+
constructor(options: ConversionClientOptions);
|
|
238
|
+
createConversion(input: CreateConversionInput): Promise<ConversionOperation>;
|
|
239
|
+
createEdit(input: CreateEditInput): Promise<ConversionOperation>;
|
|
240
|
+
private createOperation;
|
|
241
|
+
getConversion(id: string, signal?: AbortSignal): Promise<ConversionOperation>;
|
|
242
|
+
getEdit(id: string, signal?: AbortSignal): Promise<ConversionOperation>;
|
|
243
|
+
private readConversion;
|
|
244
|
+
waitForConversion(id: string, options?: {
|
|
245
|
+
intervalMs?: number;
|
|
246
|
+
timeoutMs?: number;
|
|
247
|
+
expiresAt?: string;
|
|
248
|
+
signal?: AbortSignal;
|
|
249
|
+
}): Promise<ConversionOperation>;
|
|
250
|
+
waitForEdit(id: string, options?: {
|
|
251
|
+
intervalMs?: number;
|
|
252
|
+
timeoutMs?: number;
|
|
253
|
+
expiresAt?: string;
|
|
254
|
+
signal?: AbortSignal;
|
|
255
|
+
}): Promise<ConversionOperation>;
|
|
256
|
+
private waitForOperation;
|
|
257
|
+
downloadResult(id: string, output: ConversionOutput, signal?: AbortSignal): Promise<ConversionDownload>;
|
|
258
|
+
downloadEditResult(id: string, output: ConversionOutput, signal?: AbortSignal): Promise<ConversionDownload>;
|
|
259
|
+
private downloadOperationResult;
|
|
260
|
+
downloadArtifact(artifact: ConversionArtifact, signal?: AbortSignal): Promise<ConversionDownload>;
|
|
261
|
+
private operationUrl;
|
|
262
|
+
private headers;
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=conversion-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion-client.d.ts","sourceRoot":"","sources":["../src/conversion-client.ts"],"names":[],"mappings":"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"}
|