@gptmarket/temporal-types 0.0.29 → 0.0.31

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gptmarket/temporal-types",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "description": "TypeScript types and workflow registry for GPTMarket Temporal workflows",
5
5
  "main": "index.ts",
6
6
  "types": "index.ts",
package/registry.ts CHANGED
@@ -60,6 +60,82 @@ export interface WorkflowDefinition<TInput = unknown, TOutput = unknown> {
60
60
  // Workflow Definitions
61
61
  // =============================================================================
62
62
 
63
+ export const inspirations_pinterest: WorkflowDefinition<
64
+ Types.InspirationsPinterestInput,
65
+ Types.InspirationsPinterestOutput
66
+ > = {
67
+ id: "inspirations_pinterest",
68
+ name: "Inspirations Pinterest",
69
+ description: "Pinterest Inspiration Image Finder.",
70
+ workflowClass: "InspirationsPinterestWorkflow",
71
+ inputType: "InspirationsPinterestInput",
72
+ outputType: "InspirationsPinterestOutput",
73
+ fields: [
74
+ {
75
+ name: "secret_key",
76
+ type: "text",
77
+ label: "Secret Key",
78
+ description:
79
+ "Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True)",
80
+ required: false,
81
+ default: null,
82
+ },
83
+ {
84
+ name: "rewrite_enabled",
85
+ type: "checkbox",
86
+ label: "Rewrite Enabled",
87
+ description:
88
+ "Make your content appear as fresh, original uploads. Bypasses duplicate detection and AI content filters on social platforms.",
89
+ required: false,
90
+ default: false,
91
+ },
92
+ {
93
+ name: "rewrite_device",
94
+ type: "select",
95
+ label: "Rewrite Device",
96
+ description:
97
+ "Make media appear as if created on this device. Adds authenticity and helps bypass platform detection. Random device if not specified.",
98
+ required: false,
99
+ default: null,
100
+ options: [
101
+ { value: "iPhone 17 Pro Max", label: "Iphone 17 Pro Max" },
102
+ { value: "iPhone 17 Pro", label: "Iphone 17 Pro" },
103
+ { value: "iPhone 17 Plus", label: "Iphone 17 Plus" },
104
+ { value: "iPhone 17", label: "Iphone 17" },
105
+ { value: "iPhone 16 Pro Max", label: "Iphone 16 Pro Max" },
106
+ { value: "iPhone 16 Pro", label: "Iphone 16 Pro" },
107
+ { value: "iPhone 16 Plus", label: "Iphone 16 Plus" },
108
+ { value: "iPhone 16", label: "Iphone 16" },
109
+ { value: "iPhone 15 Pro Max", label: "Iphone 15 Pro Max" },
110
+ { value: "iPhone 15 Pro", label: "Iphone 15 Pro" },
111
+ { value: "iPhone 15 Plus", label: "Iphone 15 Plus" },
112
+ { value: "iPhone 15", label: "Iphone 15" },
113
+ { value: "iPhone 14 Pro Max", label: "Iphone 14 Pro Max" },
114
+ { value: "iPhone 14 Pro", label: "Iphone 14 Pro" },
115
+ { value: "iPhone 14 Plus", label: "Iphone 14 Plus" },
116
+ { value: "iPhone 14", label: "Iphone 14" },
117
+ { value: "iPhone 13 Pro Max", label: "Iphone 13 Pro Max" },
118
+ { value: "iPhone 13 Pro", label: "Iphone 13 Pro" },
119
+ { value: "iPhone 13", label: "Iphone 13" },
120
+ { value: "iPhone 13 mini", label: "Iphone 13 Mini" },
121
+ {
122
+ value: "Ray-Ban Meta Smart Glasses",
123
+ label: "Ray-Ban Meta Smart Glasses",
124
+ },
125
+ ],
126
+ },
127
+ {
128
+ name: "prompt",
129
+ type: "textarea",
130
+ label: "Prompt",
131
+ description:
132
+ 'What kind of inspiration the user wants (e.g., "landing page design")',
133
+ required: true,
134
+ default: null,
135
+ },
136
+ ],
137
+ };
138
+
63
139
  export const ruby: WorkflowDefinition<Types.RubyInput, Types.RubyOutput> = {
64
140
  id: "ruby",
65
141
  name: "Ruby",
@@ -2183,6 +2259,7 @@ export const speaking_priest: WorkflowDefinition<
2183
2259
  // =============================================================================
2184
2260
 
2185
2261
  export const workflowRegistry = {
2262
+ inspirations_pinterest,
2186
2263
  ruby,
2187
2264
  saa_s_loom,
2188
2265
  saa_s_video,
@@ -2215,6 +2292,7 @@ export function getWorkflowIds(): WorkflowId[] {
2215
2292
 
2216
2293
  // Type mappings
2217
2294
  export type WorkflowInputMap = {
2295
+ inspirations_pinterest: Types.InspirationsPinterestInput;
2218
2296
  ruby: Types.RubyInput;
2219
2297
  saa_s_loom: Types.SaaSLoomInput;
2220
2298
  saa_s_video: Types.SaaSVideoInput;
@@ -2226,6 +2304,7 @@ export type WorkflowInputMap = {
2226
2304
  };
2227
2305
 
2228
2306
  export type WorkflowOutputMap = {
2307
+ inspirations_pinterest: Types.InspirationsPinterestOutput;
2229
2308
  ruby: Types.RubyOutput;
2230
2309
  saa_s_loom: Types.SaaSLoomOutput;
2231
2310
  saa_s_video: Types.SaaSVideoOutput;
@@ -0,0 +1,70 @@
1
+ {
2
+ "description": "Input for Pinterest inspiration image search.",
3
+ "properties": {
4
+ "secret_key": {
5
+ "anyOf": [
6
+ {
7
+ "type": "string"
8
+ },
9
+ {
10
+ "type": "null"
11
+ }
12
+ ],
13
+ "default": null,
14
+ "description": "Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True)",
15
+ "title": "Secret Key"
16
+ },
17
+ "rewrite_enabled": {
18
+ "default": false,
19
+ "description": "Make your content appear as fresh, original uploads. Bypasses duplicate detection and AI content filters on social platforms.",
20
+ "title": "Rewrite Enabled",
21
+ "type": "boolean"
22
+ },
23
+ "rewrite_device": {
24
+ "anyOf": [
25
+ {
26
+ "enum": [
27
+ "iPhone 17 Pro Max",
28
+ "iPhone 17 Pro",
29
+ "iPhone 17 Plus",
30
+ "iPhone 17",
31
+ "iPhone 16 Pro Max",
32
+ "iPhone 16 Pro",
33
+ "iPhone 16 Plus",
34
+ "iPhone 16",
35
+ "iPhone 15 Pro Max",
36
+ "iPhone 15 Pro",
37
+ "iPhone 15 Plus",
38
+ "iPhone 15",
39
+ "iPhone 14 Pro Max",
40
+ "iPhone 14 Pro",
41
+ "iPhone 14 Plus",
42
+ "iPhone 14",
43
+ "iPhone 13 Pro Max",
44
+ "iPhone 13 Pro",
45
+ "iPhone 13",
46
+ "iPhone 13 mini",
47
+ "Ray-Ban Meta Smart Glasses"
48
+ ],
49
+ "type": "string"
50
+ },
51
+ {
52
+ "type": "null"
53
+ }
54
+ ],
55
+ "default": null,
56
+ "description": "Make media appear as if created on this device. Adds authenticity and helps bypass platform detection. Random device if not specified.",
57
+ "title": "Rewrite Device"
58
+ },
59
+ "prompt": {
60
+ "description": "What kind of inspiration the user wants (e.g., \"landing page design\")",
61
+ "title": "Prompt",
62
+ "type": "string"
63
+ }
64
+ },
65
+ "required": [
66
+ "prompt"
67
+ ],
68
+ "title": "InspirationsPinterestInput",
69
+ "type": "object"
70
+ }
@@ -0,0 +1,110 @@
1
+ {
2
+ "$defs": {
3
+ "InspirationImage": {
4
+ "description": "A single Pinterest inspiration image.",
5
+ "properties": {
6
+ "id": {
7
+ "description": "Pin ID",
8
+ "title": "Id",
9
+ "type": "string"
10
+ },
11
+ "title": {
12
+ "anyOf": [
13
+ {
14
+ "type": "string"
15
+ },
16
+ {
17
+ "type": "null"
18
+ }
19
+ ],
20
+ "default": null,
21
+ "description": "Pin title",
22
+ "title": "Title"
23
+ },
24
+ "description": {
25
+ "anyOf": [
26
+ {
27
+ "type": "string"
28
+ },
29
+ {
30
+ "type": "null"
31
+ }
32
+ ],
33
+ "default": null,
34
+ "description": "Pin description",
35
+ "title": "Description"
36
+ },
37
+ "image_url": {
38
+ "description": "Image URL",
39
+ "title": "Image Url",
40
+ "type": "string"
41
+ },
42
+ "aspect_ratio": {
43
+ "description": "Aspect ratio (e.g., 16:9)",
44
+ "title": "Aspect Ratio",
45
+ "type": "string"
46
+ },
47
+ "image_width": {
48
+ "anyOf": [
49
+ {
50
+ "type": "integer"
51
+ },
52
+ {
53
+ "type": "null"
54
+ }
55
+ ],
56
+ "default": null,
57
+ "description": "Image width in pixels",
58
+ "title": "Image Width"
59
+ },
60
+ "image_height": {
61
+ "anyOf": [
62
+ {
63
+ "type": "integer"
64
+ },
65
+ {
66
+ "type": "null"
67
+ }
68
+ ],
69
+ "default": null,
70
+ "description": "Image height in pixels",
71
+ "title": "Image Height"
72
+ }
73
+ },
74
+ "required": [
75
+ "id",
76
+ "image_url",
77
+ "aspect_ratio"
78
+ ],
79
+ "title": "InspirationImage",
80
+ "type": "object"
81
+ }
82
+ },
83
+ "description": "Output from Pinterest inspiration image search.",
84
+ "properties": {
85
+ "images": {
86
+ "description": "List of inspiration images",
87
+ "items": {
88
+ "$ref": "#/$defs/InspirationImage"
89
+ },
90
+ "title": "Images",
91
+ "type": "array"
92
+ },
93
+ "queries_used": {
94
+ "description": "Search queries that were used",
95
+ "items": {
96
+ "type": "string"
97
+ },
98
+ "title": "Queries Used",
99
+ "type": "array"
100
+ },
101
+ "total_scraped": {
102
+ "default": 0,
103
+ "description": "Total pins scraped before filtering",
104
+ "title": "Total Scraped",
105
+ "type": "integer"
106
+ }
107
+ },
108
+ "title": "InspirationsPinterestOutput",
109
+ "type": "object"
110
+ }
package/types.ts CHANGED
@@ -35,6 +35,56 @@ export interface WorkflowProgress<TResult = unknown> {
35
35
  // Workflow Schemas
36
36
  // =============================================================================
37
37
 
38
+ export interface InspirationsPinterestInput {
39
+ /** Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True) */
40
+ secret_key?: string | null;
41
+ /** Make your content appear as fresh, original uploads. Bypasses duplicate detection and AI content filters on social platforms. */
42
+ rewrite_enabled?: boolean;
43
+ /** Make media appear as if created on this device. Adds authenticity and helps bypass platform detection. Random device if not specified. */
44
+ rewrite_device?:
45
+ | "iPhone 17 Pro Max"
46
+ | "iPhone 17 Pro"
47
+ | "iPhone 17 Plus"
48
+ | "iPhone 17"
49
+ | "iPhone 16 Pro Max"
50
+ | "iPhone 16 Pro"
51
+ | "iPhone 16 Plus"
52
+ | "iPhone 16"
53
+ | "iPhone 15 Pro Max"
54
+ | "iPhone 15 Pro"
55
+ | "iPhone 15 Plus"
56
+ | "iPhone 15"
57
+ | "iPhone 14 Pro Max"
58
+ | "iPhone 14 Pro"
59
+ | "iPhone 14 Plus"
60
+ | "iPhone 14"
61
+ | "iPhone 13 Pro Max"
62
+ | "iPhone 13 Pro"
63
+ | "iPhone 13"
64
+ | "iPhone 13 mini"
65
+ | "Ray-Ban Meta Smart Glasses"
66
+ | null;
67
+ /** What kind of inspiration the user wants (e.g., "landing page design") */
68
+ prompt: string;
69
+ }
70
+
71
+ export interface InspirationsPinterestOutput {
72
+ /** List of inspiration images */
73
+ images?: {
74
+ id: string;
75
+ title?: string | null;
76
+ description?: string | null;
77
+ image_url: string;
78
+ aspect_ratio: string;
79
+ image_width?: number | null;
80
+ image_height?: number | null;
81
+ }[];
82
+ /** Search queries that were used */
83
+ queries_used?: string[];
84
+ /** Total pins scraped before filtering */
85
+ total_scraped?: number;
86
+ }
87
+
38
88
  export interface RubyInput {
39
89
  /** Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True) */
40
90
  secret_key?: string | null;