@giveitsmaller/sdk 0.6.0 → 0.7.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.
Files changed (48) hide show
  1. package/dist/_audit.js +60 -0
  2. package/dist/builder.d.ts +406 -0
  3. package/dist/builder.js +706 -0
  4. package/dist/client.d.ts +10 -0
  5. package/dist/client.js +28 -2
  6. package/dist/credentials.d.ts +61 -0
  7. package/dist/credentials.js +200 -0
  8. package/dist/ergonomic/preset_resolver.d.ts +75 -0
  9. package/dist/ergonomic/preset_resolver.js +568 -0
  10. package/dist/ergonomic/presets/_translate.d.ts +11 -0
  11. package/dist/ergonomic/presets/_translate.js +35 -0
  12. package/dist/ergonomic/presets/audio_compress.d.ts +16 -0
  13. package/dist/ergonomic/presets/audio_compress.js +45 -0
  14. package/dist/ergonomic/presets/document_epub_compress.d.ts +14 -0
  15. package/dist/ergonomic/presets/document_epub_compress.js +34 -0
  16. package/dist/ergonomic/presets/document_odf_compress.d.ts +14 -0
  17. package/dist/ergonomic/presets/document_odf_compress.js +34 -0
  18. package/dist/ergonomic/presets/document_office_compress.d.ts +16 -0
  19. package/dist/ergonomic/presets/document_office_compress.js +40 -0
  20. package/dist/ergonomic/presets/document_pdf_compress.d.ts +14 -0
  21. package/dist/ergonomic/presets/document_pdf_compress.js +35 -0
  22. package/dist/ergonomic/presets/image_compress.d.ts +43 -0
  23. package/dist/ergonomic/presets/image_compress.js +95 -0
  24. package/dist/ergonomic/presets/index.d.ts +77 -0
  25. package/dist/ergonomic/presets/index.js +216 -0
  26. package/dist/ergonomic/presets/video_compress.d.ts +30 -0
  27. package/dist/ergonomic/presets/video_compress.js +83 -0
  28. package/dist/errors.d.ts +147 -1
  29. package/dist/errors.js +161 -0
  30. package/dist/generated/sdk_spec/enums.d.ts +195 -0
  31. package/dist/generated/sdk_spec/enums.js +127 -0
  32. package/dist/generated/sdk_spec/errors.d.ts +16 -0
  33. package/dist/generated/sdk_spec/errors.js +473 -0
  34. package/dist/generated/sdk_spec/index.d.ts +4 -0
  35. package/dist/generated/sdk_spec/index.js +7 -0
  36. package/dist/generated/sdk_spec/presets.d.ts +6 -0
  37. package/dist/generated/sdk_spec/presets.js +157 -0
  38. package/dist/generated/sdk_spec/version.d.ts +3 -0
  39. package/dist/generated/sdk_spec/version.js +6 -0
  40. package/dist/gisl.d.ts +112 -0
  41. package/dist/gisl.js +266 -0
  42. package/dist/index.d.ts +15 -5
  43. package/dist/index.js +32 -4
  44. package/dist/merge.d.ts +142 -0
  45. package/dist/merge.js +411 -0
  46. package/dist/types.d.ts +12 -14
  47. package/dist/types.js +18 -0
  48. package/package.json +2 -2
@@ -0,0 +1,195 @@
1
+ export declare const OptimizeFor: {
2
+ readonly Size: "Size";
3
+ readonly Balanced: "Balanced";
4
+ readonly Quality: "Quality";
5
+ };
6
+ export type OptimizeFor = typeof OptimizeFor[keyof typeof OptimizeFor];
7
+ export declare const ImageMode: {
8
+ readonly Lossy: "lossy";
9
+ readonly Lossless: "lossless";
10
+ readonly Auto: "auto";
11
+ };
12
+ export type ImageMode = typeof ImageMode[keyof typeof ImageMode];
13
+ export declare const ImageFormat: {
14
+ readonly Original: "original";
15
+ readonly Auto: "auto";
16
+ readonly Smallest: "smallest";
17
+ readonly Jpeg: "jpeg";
18
+ readonly Png: "png";
19
+ readonly Webp: "webp";
20
+ readonly Avif: "avif";
21
+ };
22
+ export type ImageFormat = typeof ImageFormat[keyof typeof ImageFormat];
23
+ export declare const ImageFit: {
24
+ readonly Max: "max";
25
+ readonly Crop: "crop";
26
+ readonly Scale: "scale";
27
+ };
28
+ export type ImageFit = typeof ImageFit[keyof typeof ImageFit];
29
+ export declare const ImageMetadataPolicy: {
30
+ readonly All: "all";
31
+ readonly None: "none";
32
+ readonly Copyright: "copyright";
33
+ readonly Sensitive: "sensitive";
34
+ };
35
+ export type ImageMetadataPolicy = typeof ImageMetadataPolicy[keyof typeof ImageMetadataPolicy];
36
+ export declare const IccProfilePolicy: {
37
+ readonly Preserve: "preserve";
38
+ readonly Strip: "strip";
39
+ readonly Srgb: "srgb";
40
+ };
41
+ export type IccProfilePolicy = typeof IccProfilePolicy[keyof typeof IccProfilePolicy];
42
+ export declare const VideoCodec: {
43
+ readonly H264: "h264";
44
+ readonly H265: "h265";
45
+ readonly Vp9: "vp9";
46
+ readonly Av1: "av1";
47
+ };
48
+ export type VideoCodec = typeof VideoCodec[keyof typeof VideoCodec];
49
+ export declare const VideoPreset: {
50
+ readonly Ultrafast: "ultrafast";
51
+ readonly Superfast: "superfast";
52
+ readonly Veryfast: "veryfast";
53
+ readonly Faster: "faster";
54
+ readonly Fast: "fast";
55
+ readonly Medium: "medium";
56
+ readonly Slow: "slow";
57
+ readonly Slower: "slower";
58
+ readonly Veryslow: "veryslow";
59
+ };
60
+ export type VideoPreset = typeof VideoPreset[keyof typeof VideoPreset];
61
+ export declare const VideoFit: {
62
+ readonly Max: "max";
63
+ readonly Crop: "crop";
64
+ readonly Scale: "scale";
65
+ readonly Pad: "pad";
66
+ };
67
+ export type VideoFit = typeof VideoFit[keyof typeof VideoFit];
68
+ export declare const AudioBitrate: {
69
+ readonly _64: 64;
70
+ readonly _96: 96;
71
+ readonly _128: 128;
72
+ readonly _192: 192;
73
+ readonly _256: 256;
74
+ readonly _320: 320;
75
+ };
76
+ export type AudioBitrate = typeof AudioBitrate[keyof typeof AudioBitrate];
77
+ export declare const AudioCodec: {
78
+ readonly Aac: "aac";
79
+ readonly Opus: "opus";
80
+ readonly Vorbis: "vorbis";
81
+ readonly Copy: "copy";
82
+ };
83
+ export type AudioCodec = typeof AudioCodec[keyof typeof AudioCodec];
84
+ export declare const AudioSampleRate: {
85
+ readonly _22050: 22050;
86
+ readonly _44100: 44100;
87
+ readonly _48000: 48000;
88
+ };
89
+ export type AudioSampleRate = typeof AudioSampleRate[keyof typeof AudioSampleRate];
90
+ export declare const PdfProfile: {
91
+ readonly Web: "web";
92
+ readonly Print: "print";
93
+ readonly Archive: "archive";
94
+ readonly Max: "max";
95
+ };
96
+ export type PdfProfile = typeof PdfProfile[keyof typeof PdfProfile];
97
+ export declare const PdfColorspace: {
98
+ readonly Unchanged: "unchanged";
99
+ readonly Rgb: "rgb";
100
+ readonly Cmyk: "cmyk";
101
+ readonly Grayscale: "grayscale";
102
+ };
103
+ export type PdfColorspace = typeof PdfColorspace[keyof typeof PdfColorspace];
104
+ /** Catalog of every ergonomic enum (canonicalName → wire). */
105
+ export declare const ERGONOMIC_ENUMS: {
106
+ readonly OptimizeFor: {
107
+ readonly Size: "Size";
108
+ readonly Balanced: "Balanced";
109
+ readonly Quality: "Quality";
110
+ };
111
+ readonly ImageMode: {
112
+ readonly Lossy: "lossy";
113
+ readonly Lossless: "lossless";
114
+ readonly Auto: "auto";
115
+ };
116
+ readonly ImageFormat: {
117
+ readonly Original: "original";
118
+ readonly Auto: "auto";
119
+ readonly Smallest: "smallest";
120
+ readonly Jpeg: "jpeg";
121
+ readonly Png: "png";
122
+ readonly Webp: "webp";
123
+ readonly Avif: "avif";
124
+ };
125
+ readonly ImageFit: {
126
+ readonly Max: "max";
127
+ readonly Crop: "crop";
128
+ readonly Scale: "scale";
129
+ };
130
+ readonly ImageMetadataPolicy: {
131
+ readonly All: "all";
132
+ readonly None: "none";
133
+ readonly Copyright: "copyright";
134
+ readonly Sensitive: "sensitive";
135
+ };
136
+ readonly IccProfilePolicy: {
137
+ readonly Preserve: "preserve";
138
+ readonly Strip: "strip";
139
+ readonly Srgb: "srgb";
140
+ };
141
+ readonly VideoCodec: {
142
+ readonly H264: "h264";
143
+ readonly H265: "h265";
144
+ readonly Vp9: "vp9";
145
+ readonly Av1: "av1";
146
+ };
147
+ readonly VideoPreset: {
148
+ readonly Ultrafast: "ultrafast";
149
+ readonly Superfast: "superfast";
150
+ readonly Veryfast: "veryfast";
151
+ readonly Faster: "faster";
152
+ readonly Fast: "fast";
153
+ readonly Medium: "medium";
154
+ readonly Slow: "slow";
155
+ readonly Slower: "slower";
156
+ readonly Veryslow: "veryslow";
157
+ };
158
+ readonly VideoFit: {
159
+ readonly Max: "max";
160
+ readonly Crop: "crop";
161
+ readonly Scale: "scale";
162
+ readonly Pad: "pad";
163
+ };
164
+ readonly AudioBitrate: {
165
+ readonly _64: 64;
166
+ readonly _96: 96;
167
+ readonly _128: 128;
168
+ readonly _192: 192;
169
+ readonly _256: 256;
170
+ readonly _320: 320;
171
+ };
172
+ readonly AudioCodec: {
173
+ readonly Aac: "aac";
174
+ readonly Opus: "opus";
175
+ readonly Vorbis: "vorbis";
176
+ readonly Copy: "copy";
177
+ };
178
+ readonly AudioSampleRate: {
179
+ readonly _22050: 22050;
180
+ readonly _44100: 44100;
181
+ readonly _48000: 48000;
182
+ };
183
+ readonly PdfProfile: {
184
+ readonly Web: "web";
185
+ readonly Print: "print";
186
+ readonly Archive: "archive";
187
+ readonly Max: "max";
188
+ };
189
+ readonly PdfColorspace: {
190
+ readonly Unchanged: "unchanged";
191
+ readonly Rgb: "rgb";
192
+ readonly Cmyk: "cmyk";
193
+ readonly Grayscale: "grayscale";
194
+ };
195
+ };
@@ -0,0 +1,127 @@
1
+ // CODE GENERATED — DO NOT EDIT.
2
+ // Source: compression_contracts/sdk-spec/ (see sdk-spec/README.md).
3
+ // Regenerate with: scripts/generate.py.
4
+ // Top-level preset selector. Resolved client-side to concrete wire fields per presets.yaml.
5
+ export const OptimizeFor = {
6
+ Size: "Size",
7
+ Balanced: "Balanced",
8
+ Quality: "Quality",
9
+ };
10
+ // Image compression algorithm. lossy = smaller file; lossless = no quality loss; auto = format-best.
11
+ export const ImageMode = {
12
+ Lossy: "lossy",
13
+ Lossless: "lossless",
14
+ Auto: "auto",
15
+ };
16
+ // Image output format selection. Original keeps input; Auto picks best per browser support; Smallest tries all and returns smallest.
17
+ export const ImageFormat = {
18
+ Original: "original",
19
+ Auto: "auto",
20
+ Smallest: "smallest",
21
+ Jpeg: "jpeg",
22
+ Png: "png",
23
+ Webp: "webp",
24
+ Avif: "avif",
25
+ };
26
+ // Image resize mode. Only applies when width or height is set (depends_on width/height in compress.yaml).
27
+ export const ImageFit = {
28
+ Max: "max",
29
+ Crop: "crop",
30
+ Scale: "scale",
31
+ };
32
+ // Image metadata handling. Counter-intuitive wire naming:
33
+ // All = strip everything (smallest file)
34
+ // None = keep all EXIF/IPTC/XMP
35
+ // Copyright = keep only copyright/author fields
36
+ // Sensitive = keep EXIF but strip GPS/location (GDPR-friendly)
37
+ export const ImageMetadataPolicy = {
38
+ All: "all",
39
+ None: "none",
40
+ Copyright: "copyright",
41
+ Sensitive: "sensitive",
42
+ };
43
+ // ICC color profile handling.
44
+ export const IccProfilePolicy = {
45
+ Preserve: "preserve",
46
+ Strip: "strip",
47
+ Srgb: "srgb",
48
+ };
49
+ // Video codec. H264 = widest compatibility; H265/Av1 = better compression but slower.
50
+ export const VideoCodec = {
51
+ H264: "h264",
52
+ H265: "h265",
53
+ Vp9: "vp9",
54
+ Av1: "av1",
55
+ };
56
+ // Encoding speed vs compression ratio trade-off (FFmpeg-style x264/x265 preset names).
57
+ export const VideoPreset = {
58
+ Ultrafast: "ultrafast",
59
+ Superfast: "superfast",
60
+ Veryfast: "veryfast",
61
+ Faster: "faster",
62
+ Fast: "fast",
63
+ Medium: "medium",
64
+ Slow: "slow",
65
+ Slower: "slower",
66
+ Veryslow: "veryslow",
67
+ };
68
+ // Video resize mode. Only applies when width or height is set. Pad is video-only (image fit lacks pad).
69
+ export const VideoFit = {
70
+ Max: "max",
71
+ Crop: "crop",
72
+ Scale: "scale",
73
+ Pad: "pad",
74
+ };
75
+ // Audio output bitrate in kbps. Shared between compress (audio + video.audioBitrate) cells.
76
+ export const AudioBitrate = {
77
+ _64: 64,
78
+ _96: 96,
79
+ _128: 128,
80
+ _192: 192,
81
+ _256: 256,
82
+ _320: 320,
83
+ };
84
+ // Audio codec. Aac = widest compatibility; Opus = best quality/size; Copy = passthrough (no re-encode).
85
+ export const AudioCodec = {
86
+ Aac: "aac",
87
+ Opus: "opus",
88
+ Vorbis: "vorbis",
89
+ Copy: "copy",
90
+ };
91
+ // Audio sample rate in Hz.
92
+ export const AudioSampleRate = {
93
+ _22050: 22050,
94
+ _44100: 44100,
95
+ _48000: 48000,
96
+ };
97
+ // PDF optimization profile. Web = aggressive; Print = preserve quality; Archive = PDF/A; Max = smallest.
98
+ export const PdfProfile = {
99
+ Web: "web",
100
+ Print: "print",
101
+ Archive: "archive",
102
+ Max: "max",
103
+ };
104
+ // PDF output color space.
105
+ export const PdfColorspace = {
106
+ Unchanged: "unchanged",
107
+ Rgb: "rgb",
108
+ Cmyk: "cmyk",
109
+ Grayscale: "grayscale",
110
+ };
111
+ /** Catalog of every ergonomic enum (canonicalName → wire). */
112
+ export const ERGONOMIC_ENUMS = {
113
+ OptimizeFor,
114
+ ImageMode,
115
+ ImageFormat,
116
+ ImageFit,
117
+ ImageMetadataPolicy,
118
+ IccProfilePolicy,
119
+ VideoCodec,
120
+ VideoPreset,
121
+ VideoFit,
122
+ AudioBitrate,
123
+ AudioCodec,
124
+ AudioSampleRate,
125
+ PdfProfile,
126
+ PdfColorspace,
127
+ };
@@ -0,0 +1,16 @@
1
+ export type ErrorCode = "missing_credentials" | "feature_requires_auth" | "undeclared_asset" | "unused_asset" | "per_input_options_not_supported" | "chain_cardinality_mismatch" | "multipart_part_invalid" | "multipart_part_count_exceeded" | "timeout" | "aborted" | "validation_failed" | "auth_failed" | "feature_tier_restricted" | "tier_restriction" | "multipart_session_ownership" | "multipart_session_auth_required" | "multipart_session_not_found" | "workflow_expired" | "balance_exhausted" | "feature_not_available" | "upload_size_exceeds_tier" | "upload_duration_exceeds_tier" | "probe_pending" | "requires_reencode" | "invalid_options" | "invalid_combination" | "missing_dependency" | "unsupported_value" | "type_mismatch" | "upload_failed" | "workflow_failed";
2
+ export type ErrorCategory = 'api' | 'config' | 'network' | 'auth' | 'validation' | 'chain';
3
+ export type ErrorStatus = 'wired' | 'planned';
4
+ export interface ErrorEntry {
5
+ readonly code: ErrorCode;
6
+ readonly category: ErrorCategory;
7
+ readonly source: string;
8
+ readonly status: ErrorStatus;
9
+ readonly httpStatus: number | null;
10
+ readonly retryable: boolean;
11
+ readonly sdkClass: string;
12
+ readonly description: string;
13
+ readonly metadataSchema: Readonly<Record<string, string>>;
14
+ }
15
+ export declare const ERROR_CODES: Readonly<Record<ErrorCode, ErrorEntry>>;
16
+ export declare const ERROR_CATEGORIES: Readonly<Record<ErrorCategory, readonly ErrorCode[]>>;