Created
July 3, 2026 18:45
-
-
Save nishantharcot/5f10c3825b8f65c6b0e8c6890fbf57e6 to your computer and use it in GitHub Desktop.
yantra-webbuilder v1.0.17 marketplace patch part 2: aieditor-metadata-schema.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff -urN before/dist/aieditor-metadata-schema.json after/dist/aieditor-metadata-schema.json | |
| --- before/dist/aieditor-metadata-schema.json 1970-01-01 05:30:00 | |
| +++ after/dist/aieditor-metadata-schema.json 2026-06-29 20:47:22 | |
| @@ -0,0 +1,3289 @@ | |
| +[ | |
| + { | |
| + "schemaId": "aieditor-code-extractor", | |
| + "formId": "PLACEHOLDER_FORM_ID", | |
| + "type": "Multi Form", | |
| + "contributes": {}, | |
| + "configurationNodes": [ | |
| + { | |
| + "type": "form-metadata", | |
| + "properties": { | |
| + "id": "PLACEHOLDER_FORM_ID", | |
| + "title": "AI Editor Form Code Extractor", | |
| + "schemaId": "stepper-form", | |
| + "type": "Multi Form", | |
| + "formId": "aieditor-code-extractor-mfb219ez", | |
| + "integrationConfigurationId": null, | |
| + "preGeneratedFormSteps": [ | |
| + { | |
| + "title": "Template Details", | |
| + "description": "", | |
| + "elements": [ | |
| + { | |
| + "type": "dropdown", | |
| + "id": "templateTarget", | |
| + "label": "Template Target", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "nextjs-db", | |
| + "options": [ | |
| + { | |
| + "key": "nextjs-db", | |
| + "value": "Next.js + DB", | |
| + "label": "Next.js + DB" | |
| + }, | |
| + { | |
| + "key": "nextjs-github", | |
| + "value": "Next.js + GitHub", | |
| + "label": "Next.js + GitHub" | |
| + }, | |
| + { | |
| + "key": "vite-db", | |
| + "value": "Vite + DB", | |
| + "label": "Vite + DB" | |
| + }, | |
| + { | |
| + "key": "vite-github", | |
| + "value": "Vite + GitHub", | |
| + "label": "Vite + GitHub" | |
| + } | |
| + ], | |
| + "enumNames": [ | |
| + "Next.js + DB", | |
| + "Next.js + GitHub", | |
| + "Vite + DB", | |
| + "Vite + GitHub" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "inngestEventName", | |
| + "label": "Inngest Event Name", | |
| + "required": true, | |
| + "minLength": 1 | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "title", | |
| + "label": "Title", | |
| + "required": true, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "dropdown", | |
| + "id": "credentials", | |
| + "label": "Credentials", | |
| + "required": false, | |
| + "description": "Credentials required for this AI editor template.", | |
| + "dropdownType": "resource", | |
| + "loadOptionsFunc": "onFocus", | |
| + "dropdownSelectionType": "multi", | |
| + "loadOptionsResourceId": "credentialTemplates", | |
| + "resourceId": "credentialTemplates", | |
| + "loadOptionsTrigger": "onClick", | |
| + "triggerEvent": "onClick" | |
| + } | |
| + ] | |
| + }, | |
| + { | |
| + "title": "Template Schema", | |
| + "description": "", | |
| + "elements": [ | |
| + { | |
| + "type": "singleline", | |
| + "id": "channelId", | |
| + "label": "Channel ID", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "dropdown", | |
| + "id": "channelType", | |
| + "label": "Channel Type", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "AIASSISTANT", | |
| + "options": [ | |
| + { | |
| + "key": "SERVICE", | |
| + "value": "Service", | |
| + "label": "Service" | |
| + }, | |
| + { | |
| + "key": "AIASSISTANT", | |
| + "value": "AI Assistant", | |
| + "label": "AI Assistant" | |
| + }, | |
| + { | |
| + "key": "CHANNEL", | |
| + "value": "Channel", | |
| + "label": "Channel" | |
| + }, | |
| + { | |
| + "key": "DIRECT", | |
| + "value": "Direct", | |
| + "label": "Direct" | |
| + }, | |
| + { | |
| + "key": "PRIVATE", | |
| + "value": "Private", | |
| + "label": "Private" | |
| + }, | |
| + { | |
| + "key": "PUBLIC", | |
| + "value": "Public", | |
| + "label": "Public" | |
| + }, | |
| + { | |
| + "key": "GROUP", | |
| + "value": "Group", | |
| + "label": "Group" | |
| + }, | |
| + { | |
| + "key": "VISITOR", | |
| + "value": "Visitor", | |
| + "label": "Visitor" | |
| + } | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "projectId", | |
| + "label": "Project ID", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "createdBy", | |
| + "label": "Created By", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "orgId", | |
| + "label": "Organization ID", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "group", | |
| + "id": "post", | |
| + "label": "Post", | |
| + "required": [ | |
| + "props" | |
| + ], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "singleline", | |
| + "id": "id", | |
| + "label": "Post ID", | |
| + "required": false, | |
| + "description": "", | |
| + "minLength": 1 | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "author", | |
| + "label": "Author (User ID)", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "creator", | |
| + "label": "Creator (User ID)", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "channel", | |
| + "label": "Channel (ID)", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "parentId", | |
| + "label": "Parent ID", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "message", | |
| + "label": "Message", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "type", | |
| + "label": "Post Type", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "group", | |
| + "id": "props", | |
| + "label": "Props", | |
| + "required": [ | |
| + "fragment" | |
| + ], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "dropdown", | |
| + "id": "role", | |
| + "label": "Role", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "ASSISTANT", | |
| + "options": [ | |
| + { | |
| + "key": "USER", | |
| + "value": "User", | |
| + "label": "User" | |
| + }, | |
| + { | |
| + "key": "ASSISTANT", | |
| + "value": "Assistant", | |
| + "label": "Assistant" | |
| + } | |
| + ], | |
| + "enumNames": [ | |
| + "User", | |
| + "Assistant" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "projectId", | |
| + "label": "Project ID", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "template", | |
| + "label": "Template", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "vite-react" | |
| + }, | |
| + { | |
| + "type": "checkbox", | |
| + "id": "sendNotificationWithProjectId", | |
| + "label": "Send Notification With Project ID", | |
| + "required": false, | |
| + "checkboxType": "single", | |
| + "description": "", | |
| + "default": true | |
| + }, | |
| + { | |
| + "type": "group", | |
| + "id": "fragment", | |
| + "label": "Fragment", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "singleline", | |
| + "id": "sandboxUrl", | |
| + "label": "Sandbox URL", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "title", | |
| + "label": "Title", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "AI Editor Form Code Extractor" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "summary", | |
| + "label": "Task Summary", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "checkboxes", | |
| + "id": "canvasLayers", | |
| + "label": "Canvas Layers", | |
| + "required": false, | |
| + "description": "", | |
| + "uniqueItems": true | |
| + }, | |
| + { | |
| + "type": "dropdown", | |
| + "id": "type", | |
| + "label": "Result Type", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "RESULT", | |
| + "options": [ | |
| + { | |
| + "key": "RESULT", | |
| + "value": "RESULT", | |
| + "label": "RESULT" | |
| + }, | |
| + { | |
| + "key": "ERROR", | |
| + "value": "ERROR", | |
| + "label": "ERROR" | |
| + } | |
| + ], | |
| + "enumNames": [ | |
| + "RESULT", | |
| + "ERROR" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "messageId", | |
| + "label": "Message ID", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "checkbox", | |
| + "id": "isError", | |
| + "label": "Is Error", | |
| + "required": false, | |
| + "checkboxType": "single", | |
| + "description": "", | |
| + "default": false | |
| + }, | |
| + { | |
| + "type": "group", | |
| + "id": "files", | |
| + "label": "Files (path -> content)", | |
| + "required": false, | |
| + "description": "", | |
| + "children": [] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "hashTags", | |
| + "label": "Hashtags", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "checkboxes", | |
| + "id": "filenames", | |
| + "label": "Filenames", | |
| + "required": false, | |
| + "description": "", | |
| + "uniqueItems": true | |
| + }, | |
| + { | |
| + "type": "checkboxes", | |
| + "id": "fields", | |
| + "label": "Custom Fields", | |
| + "required": false, | |
| + "description": "", | |
| + "uniqueItems": true | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "editedBy", | |
| + "label": "Edited By (User ID)", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "createdAt", | |
| + "label": "Created At", | |
| + "required": false, | |
| + "description": "ISO 8601 with milliseconds and offset", | |
| + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}[+-]\\d{2}:\\d{2}$" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "updatedAt", | |
| + "label": "Updated At", | |
| + "required": false, | |
| + "description": "ISO 8601 with milliseconds and offset", | |
| + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}[+-]\\d{2}:\\d{2}$" | |
| + }, | |
| + { | |
| + "type": "checkbox", | |
| + "id": "hasReactions", | |
| + "label": "Has Reactions", | |
| + "required": false, | |
| + "checkboxType": "single", | |
| + "description": "", | |
| + "default": false | |
| + } | |
| + ] | |
| + }, | |
| + { | |
| + "type": "group", | |
| + "id": "additionalProperties", | |
| + "label": "Additional Properties", | |
| + "required": [ | |
| + "modelConfig" | |
| + ], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "group", | |
| + "id": "modelConfig", | |
| + "label": "Model Configuration", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "singleline", | |
| + "id": "provider", | |
| + "label": "Provider", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "anthropic" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "model", | |
| + "label": "Model", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "claude-sonnet-4-5-20250929" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "apiKey", | |
| + "label": "API Key", | |
| + "required": false, | |
| + "description": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "template", | |
| + "label": "Template", | |
| + "required": false, | |
| + "description": "", | |
| + "default": "vite-react" | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + }, | |
| + { | |
| + "title": "Template Setup", | |
| + "description": "", | |
| + "elements": [ | |
| + { | |
| + "type": "group", | |
| + "id": "configuration", | |
| + "label": "Template Setup", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionE2BViteReactTemplateId", | |
| + "label": "E2B Vite React Template ID", | |
| + "required": false, | |
| + "description": "E2B template id for Vite React.", | |
| + "placeholder": "e.g. 0w7z3d6bosdvqni2xtuf" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionE2BVueTemplateId", | |
| + "label": "E2B Vue Template ID", | |
| + "required": false, | |
| + "description": "E2B template id for Vue.", | |
| + "placeholder": "e.g. grp7jqsey9ei22ap659k" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionE2BClaudeTemplateId", | |
| + "label": "E2B Claude Template ID", | |
| + "required": false, | |
| + "description": "E2B template id for Claude.", | |
| + "placeholder": "e.g. 3qua6mjt7gp4t1ijqi3t" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionE2BTemplateId", | |
| + "label": "E2B Template ID", | |
| + "required": false, | |
| + "description": "Default E2B template id.", | |
| + "placeholder": "e.g. ycbh59ksxbspv1t4jmb7" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionE2BDomain", | |
| + "label": "E2B Domain", | |
| + "required": false, | |
| + "description": "E2B domain.", | |
| + "placeholder": "e.g. yarntra.com" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionE2BAPIKey", | |
| + "label": "E2B API Key", | |
| + "required": false, | |
| + "description": "E2B API key.", | |
| + "placeholder": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionGithubToken", | |
| + "label": "GitHub Token", | |
| + "required": false, | |
| + "description": "GitHub personal access token.", | |
| + "placeholder": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionGithubOrg", | |
| + "label": "GitHub Organization", | |
| + "required": false, | |
| + "description": "GitHub org/user name.", | |
| + "placeholder": "e.g. my-org" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionGithubReactBase", | |
| + "label": "React Base Repo URL", | |
| + "required": false, | |
| + "description": "Base repository URL used for GitHub targets.", | |
| + "placeholder": "e.g. https://github.com/my-org/react-visual-base" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionModelConfigAPIKey", | |
| + "label": "Model Provider API Key", | |
| + "required": false, | |
| + "description": "API key for the selected model provider (if required).", | |
| + "placeholder": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionSandboxId", | |
| + "label": "Sandbox ID", | |
| + "required": false, | |
| + "description": "E2B sandbox ID for execution environment.", | |
| + "placeholder": "e.g. sbx-xxxxxxxx" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionSnapshotId", | |
| + "label": "Snapshot ID", | |
| + "required": false, | |
| + "description": "E2B snapshot ID for pre-configured environment.", | |
| + "placeholder": "e.g. snap-xxxxxxxx" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionGitCloneUrl", | |
| + "label": "Git Clone URL", | |
| + "required": false, | |
| + "description": "Repository URL to clone (optional).", | |
| + "placeholder": "e.g. https://github.com/user/repo.git" | |
| + }, | |
| + { | |
| + "type": "checkbox", | |
| + "id": "formExtensionShouldClone", | |
| + "label": "Should Clone Repository", | |
| + "required": false, | |
| + "checkboxType": "single", | |
| + "description": "Flag to enable/disable repository cloning (default: false).", | |
| + "default": false | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionTemplatePreviewUrl", | |
| + "label": "Template Preview URL", | |
| + "required": false, | |
| + "description": "Optional URL used to preview the generated template (e.g. deployed demo or sandbox link).", | |
| + "placeholder": "e.g. https://preview.example.com/my-template" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionSupabaseUrl", | |
| + "label": "Supabase URL", | |
| + "required": false, | |
| + "description": "Optional Supabase project URL for the generated template.", | |
| + "placeholder": "e.g. https://abc123def.supabase.co" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionSupabasePublishableKey", | |
| + "label": "Supabase Publishable Key", | |
| + "required": false, | |
| + "description": "Optional Supabase publishable key for the generated template.", | |
| + "placeholder": "e.g. sb_publishable_..." | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionSupabaseProjectId", | |
| + "label": "Supabase Project ID", | |
| + "required": false, | |
| + "description": "Optional Supabase project ID for the generated template.", | |
| + "placeholder": "e.g. vuxfjhbhvyeaslauqlhs" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "formExtensionSupabaseAccessToken", | |
| + "label": "Supabase Access Token", | |
| + "required": false, | |
| + "description": "Optional Supabase access token for the generated template.", | |
| + "placeholder": "e.g. sbp_..." | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + }, | |
| + { | |
| + "title": "Website Demo", | |
| + "description": "", | |
| + "elements": [ | |
| + { | |
| + "type": "group", | |
| + "id": "demo", | |
| + "label": "Website Demo", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "dropdown", | |
| + "id": "headerStyle", | |
| + "label": "Header Style", | |
| + "required": false, | |
| + "description": "Header visual style and behavior over the hero section.", | |
| + "default": "transparentOverHero", | |
| + "options": [ | |
| + { | |
| + "key": "transparentOverHero", | |
| + "value": "transparentOverHero", | |
| + "label": "Transparent Over Hero" | |
| + }, | |
| + { | |
| + "key": "solid", | |
| + "value": "solid", | |
| + "label": "Solid" | |
| + }, | |
| + { | |
| + "key": "blur", | |
| + "value": "blur", | |
| + "label": "Blur" | |
| + }, | |
| + { | |
| + "key": "invertedOnScroll", | |
| + "value": "invertedOnScroll", | |
| + "label": "Inverted On Scroll" | |
| + } | |
| + ], | |
| + "enumNames": [ | |
| + "Transparent Over Hero", | |
| + "Solid", | |
| + "Blur", | |
| + "Inverted On Scroll" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "dropdown", | |
| + "id": "headerPosition", | |
| + "label": "Header Position", | |
| + "required": false, | |
| + "description": "Header layout behavior on the page.", | |
| + "default": "fixed", | |
| + "options": [ | |
| + { | |
| + "key": "fixed", | |
| + "value": "fixed", | |
| + "label": "Fixed" | |
| + }, | |
| + { | |
| + "key": "sticky", | |
| + "value": "sticky", | |
| + "label": "Sticky" | |
| + }, | |
| + { | |
| + "key": "static", | |
| + "value": "static", | |
| + "label": "Static" | |
| + } | |
| + ], | |
| + "enumNames": [ | |
| + "Fixed", | |
| + "Sticky", | |
| + "Static" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "headerBgColor", | |
| + "label": "Header Background Color", | |
| + "required": false, | |
| + "description": "Header background color (hex). Separate from page background.", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#FFFFFF", | |
| + "default": "#FFFFFF" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "headerTextColor", | |
| + "label": "Header Text Color", | |
| + "required": false, | |
| + "description": "Header text color (hex).", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#1F2937", | |
| + "default": "#1F2937" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "headerActiveLinkColor", | |
| + "label": "Header Active Link Color", | |
| + "required": false, | |
| + "description": "Header active link color (hex).", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#F2B04C", | |
| + "default": "#F2B04C" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "headerScrolledBgColor", | |
| + "label": "Header Scrolled Background Color", | |
| + "required": false, | |
| + "description": "Header background color (hex) after scrolling past the hero.", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#FFFFFF", | |
| + "default": "#FFFFFF" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "headerScrolledTextColor", | |
| + "label": "Header Scrolled Text Color", | |
| + "required": false, | |
| + "description": "Header text color (hex) after scrolling past the hero.", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#1F2937", | |
| + "default": "#1F2937" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "headerBorderColor", | |
| + "label": "Header Border Color", | |
| + "required": false, | |
| + "description": "Optional header bottom border color (hex).", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#E5E7EB", | |
| + "default": "" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "title", | |
| + "label": "Title", | |
| + "required": false, | |
| + "description": "Title used for the generated demo website." | |
| + }, | |
| + { | |
| + "type": "multiline", | |
| + "id": "description", | |
| + "label": "Description", | |
| + "required": false, | |
| + "description": "Short description/tagline for the landing page hero section." | |
| + }, | |
| + { | |
| + "type": "dropdown", | |
| + "id": "heroOverlay", | |
| + "label": "Hero Overlay", | |
| + "required": false, | |
| + "description": "Optional overlay over the hero background image.", | |
| + "default": "gradient", | |
| + "options": [ | |
| + { | |
| + "key": "none", | |
| + "value": "none", | |
| + "label": "None" | |
| + }, | |
| + { | |
| + "key": "gradient", | |
| + "value": "gradient", | |
| + "label": "Gradient" | |
| + }, | |
| + { | |
| + "key": "solid", | |
| + "value": "solid", | |
| + "label": "Solid" | |
| + } | |
| + ], | |
| + "enumNames": [ | |
| + "None", | |
| + "Gradient", | |
| + "Solid" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "heroOverlayColor", | |
| + "label": "Hero Overlay Color", | |
| + "required": false, | |
| + "description": "Overlay color (hex).", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#0B1220", | |
| + "default": "#0B1220" | |
| + }, | |
| + { | |
| + "type": "number", | |
| + "id": "heroOverlayOpacity", | |
| + "label": "Hero Overlay Opacity", | |
| + "required": false, | |
| + "description": "Overlay opacity from 0 to 1.", | |
| + "default": 0.45 | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "heroTextColor", | |
| + "label": "Hero Text Color", | |
| + "required": false, | |
| + "description": "Hero text color (hex). Useful when header is transparent over hero.", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#F7F3EE", | |
| + "default": "#F7F3EE" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "heroImageUrl", | |
| + "label": "Landing Page Image URL", | |
| + "required": false, | |
| + "description": "Hero/cover image URL for the landing page." | |
| + }, | |
| + { | |
| + "type": "dropdown", | |
| + "id": "menuAlignment", | |
| + "label": "Menu Alignment", | |
| + "required": false, | |
| + "description": "How the header content is aligned (logo, links, CTAs).", | |
| + "default": "split", | |
| + "options": [ | |
| + { | |
| + "key": "left", | |
| + "value": "left", | |
| + "label": "Left" | |
| + }, | |
| + { | |
| + "key": "center", | |
| + "value": "center", | |
| + "label": "Center" | |
| + }, | |
| + { | |
| + "key": "right", | |
| + "value": "right", | |
| + "label": "Right" | |
| + }, | |
| + { | |
| + "key": "split", | |
| + "value": "split", | |
| + "label": "Split (Logo Left, Links Right)" | |
| + } | |
| + ], | |
| + "enumNames": [ | |
| + "Left", | |
| + "Center", | |
| + "Right", | |
| + "Split (Logo Left, Links Right)" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "logoText", | |
| + "label": "Logo Text", | |
| + "required": false, | |
| + "description": "Text logo shown in the header.", | |
| + "default": "Form Builder" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "logoImageUrl", | |
| + "label": "Logo Image URL", | |
| + "required": false, | |
| + "description": "Optional image logo URL. If provided, used instead of Logo Text." | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "ctaPrimaryLabel", | |
| + "label": "Primary CTA Label", | |
| + "required": false, | |
| + "description": "Primary call-to-action button label.", | |
| + "default": "Get started" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "ctaPrimaryHref", | |
| + "label": "Primary CTA Link", | |
| + "required": false, | |
| + "description": "Primary call-to-action link (href).", | |
| + "default": "#cta" | |
| + }, | |
| + { | |
| + "type": "dropdown", | |
| + "id": "ctaPrimaryStyle", | |
| + "label": "Primary CTA Style", | |
| + "required": false, | |
| + "description": "Primary CTA visual style.", | |
| + "default": "filled", | |
| + "options": [ | |
| + { | |
| + "key": "filled", | |
| + "value": "filled", | |
| + "label": "Filled" | |
| + }, | |
| + { | |
| + "key": "outline", | |
| + "value": "outline", | |
| + "label": "Outline" | |
| + } | |
| + ], | |
| + "enumNames": [ | |
| + "Filled", | |
| + "Outline" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "ctaSecondaryLabel", | |
| + "label": "Secondary CTA Label", | |
| + "required": false, | |
| + "description": "Optional secondary CTA label.", | |
| + "default": "View demo" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "ctaSecondaryHref", | |
| + "label": "Secondary CTA Link", | |
| + "required": false, | |
| + "description": "Optional secondary CTA link (href).", | |
| + "default": "#features" | |
| + }, | |
| + { | |
| + "type": "chips", | |
| + "id": "menuItems", | |
| + "label": "Menu Items", | |
| + "required": false, | |
| + "description": "Top navigation items (e.g. Home, Features, Pricing, Contact).", | |
| + "uniqueItems": true, | |
| + "default": [ | |
| + "Home", | |
| + "Features", | |
| + "How it works", | |
| + "FAQ", | |
| + "Get started" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "chips", | |
| + "id": "sectionOrder", | |
| + "label": "Section Order", | |
| + "required": false, | |
| + "description": "Layout order for sections (by section id).", | |
| + "uniqueItems": true, | |
| + "default": [ | |
| + "hero", | |
| + "features", | |
| + "howItWorks", | |
| + "testimonials", | |
| + "faq", | |
| + "cta", | |
| + "footer" | |
| + ] | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "themePrimaryColor", | |
| + "label": "Theme Primary Color", | |
| + "required": false, | |
| + "description": "Primary brand color (hex, e.g. #2563EB).", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#F2B04C", | |
| + "default": "#F2B04C" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "themeAccentColor", | |
| + "label": "Theme Accent Color", | |
| + "required": false, | |
| + "description": "Accent color used for highlights (hex, e.g. #22C55E).", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#5A4635", | |
| + "default": "#5A4635" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "id": "themeBackgroundColor", | |
| + "label": "Theme Background Color", | |
| + "required": false, | |
| + "description": "Background color (hex, e.g. #0B1220).", | |
| + "widget": "ColorWidget", | |
| + "placeholder": "#F7F3EE", | |
| + "default": "#F7F3EE" | |
| + }, | |
| + { | |
| + "type": "multiline", | |
| + "id": "menuContent", | |
| + "label": "Menu Content (JSON)", | |
| + "required": false, | |
| + "description": "One-page sections for the demo site. Edit this to match your Menu Items so navigation scrolls correctly. Provide JSON as { sections: [{ id, label, headline, body, variant, media, layout, theme, items }] }.", | |
| + "default": "{\n \"sections\": [\n {\n \"id\": \"hero\",\n \"label\": \"Home\",\n \"headline\": \"AIEditor Form Code Extractor\",\n \"body\": \"Generate a working website starter (Next.js/Vite, DB/GitHub) from structured form data — then preview it instantly.\",\n \"variant\": \"hero\",\n \"layout\": \"twoCol\",\n \"theme\": \"light\",\n \"media\": { \"imageUrl\": \"\" },\n \"items\": [\n { \"label\": \"Next.js or Vite\", \"value\": \"Choose your stack\" },\n { \"label\": \"DB or GitHub\", \"value\": \"Pick deployment flow\" },\n { \"label\": \"Live preview\", \"value\": \"See it instantly\" }\n ]\n },\n {\n \"id\": \"features\",\n \"label\": \"Features\",\n \"headline\": \"What you get\",\n \"body\": \"A realistic landing-page layout with sections, navigation, and a configurable header (transparent over hero → solid after scroll).\",\n \"variant\": \"features\",\n \"layout\": \"cards\",\n \"theme\": \"light\",\n \"items\": [\n { \"title\": \"Structured inputs\", \"description\": \"Control header style, colors, CTAs, and section order.\" },\n { \"title\": \"One-page navigation\", \"description\": \"Menu items scroll to matching section ids.\" },\n { \"title\": \"Section variants\", \"description\": \"Hero, features, steps, testimonials, FAQ, CTA, footer.\" }\n ]\n },\n {\n \"id\": \"howItWorks\",\n \"label\": \"How it works\",\n \"headline\": \"From form → demo site\",\n \"body\": \"A simple 3-step flow to generate and preview a site.\",\n \"variant\": \"steps\",\n \"layout\": \"steps\",\n \"theme\": \"light\",\n \"items\": [\n { \"title\": \"Pick a template\", \"description\": \"Select Next/Vite and DB/GitHub.\" },\n { \"title\": \"Fill in details\", \"description\": \"Provide metadata, schema, and demo layout hints.\" },\n { \"title\": \"Generate & preview\", \"description\": \"Get a runnable project and see it immediately.\" }\n ]\n },\n {\n \"id\": \"testimonials\",\n \"label\": \"Testimonials\",\n \"headline\": \"Teams ship faster\",\n \"body\": \"A couple of believable quotes make the layout feel real.\",\n \"variant\": \"testimonials\",\n \"layout\": \"cards\",\n \"theme\": \"light\",\n \"items\": [\n { \"quote\": \"We went from idea to preview in minutes.\", \"name\": \"Amina R.\", \"role\": \"Product\" },\n { \"quote\": \"The header + sections feel like a real landing page.\", \"name\": \"Omar K.\", \"role\": \"Engineering\" }\n ]\n },\n {\n \"id\": \"faq\",\n \"label\": \"FAQ\",\n \"headline\": \"Questions, answered\",\n \"body\": \"Keep it short and scannable.\",\n \"variant\": \"faq\",\n \"layout\": \"twoCol\",\n \"theme\": \"light\",\n \"items\": [\n { \"q\": \"Can I reorder sections?\", \"a\": \"Yes — use sectionOrder and keep ids aligned with menu items.\" },\n { \"q\": \"Can the header change after scroll?\", \"a\": \"Yes — configure scrolled colors and invertedOnScroll.\" },\n { \"q\": \"Can sections include media?\", \"a\": \"Yes — provide media.imageUrl or icon hints per section.\" }\n ]\n },\n {\n \"id\": \"cta\",\n \"label\": \"Get started\",\n \"headline\": \"Ready to generate?\",\n \"body\": \"Use the CTAs to drive users to the next step.\",\n \"variant\": \"cta\",\n \"layout\": \"twoCol\",\n \"theme\": \"light\"\n },\n {\n \"id\": \"footer\",\n \"label\": \"Footer\",\n \"headline\": \"\",\n \"body\": \"© 2026 Form Builder. All rights reserved.\",\n \"variant\": \"footer\",\n \"layout\": \"twoCol\",\n \"theme\": \"light\"\n }\n ]\n}\n" | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + }, | |
| + { | |
| + "type": "form", | |
| + "properties": { | |
| + "required": [ | |
| + "aiEditorFormCodeExtractor.inngestEventName" | |
| + ], | |
| + "aiEditorFormCodeExtractor.meta": { | |
| + "title": "AI Editor Form Code Extractor", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "aiEditorFormCodeExtractor.required": [ | |
| + "title", | |
| + "post", | |
| + "additionalProperties" | |
| + ], | |
| + "aiEditorFormCodeExtractor.templateTarget": { | |
| + "type": "string", | |
| + "title": "Template Target", | |
| + "description": "Select which template to use (Next/Vite × DB/GitHub).", | |
| + "default": "nextjs-db", | |
| + "enum": [ | |
| + "nextjs-db", | |
| + "nextjs-github", | |
| + "vite-db", | |
| + "vite-github" | |
| + ], | |
| + "enumNames": [ | |
| + "Next.js + DB", | |
| + "Next.js + GitHub", | |
| + "Vite + DB", | |
| + "Vite + GitHub" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.inngestEventName": { | |
| + "type": "string", | |
| + "title": "Inngest Event Name", | |
| + "description": "Auto-filled based on Template Target selection.", | |
| + "default": "aicode/code-agent-trigger", | |
| + "readOnly": true, | |
| + "minLength": 1 | |
| + }, | |
| + "aiEditorFormCodeExtractor.title": { | |
| + "type": "string", | |
| + "title": "Title", | |
| + "description": "", | |
| + "default": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.credentials": { | |
| + "type": "string", | |
| + "title": "Credentials", | |
| + "description": "Credentials required for this AI editor template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.channelId": { | |
| + "type": "string", | |
| + "title": "Channel ID", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.channelType": { | |
| + "type": "string", | |
| + "title": "Channel Type", | |
| + "description": "", | |
| + "default": "AIASSISTANT", | |
| + "enum": [ | |
| + "SERVICE", | |
| + "AIASSISTANT", | |
| + "CHANNEL", | |
| + "DIRECT", | |
| + "PRIVATE", | |
| + "PUBLIC", | |
| + "GROUP", | |
| + "VISITOR" | |
| + ], | |
| + "enumNames": [ | |
| + "Service", | |
| + "AI Assistant", | |
| + "Channel", | |
| + "Direct", | |
| + "Private", | |
| + "Public", | |
| + "Group", | |
| + "Visitor" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.projectId": { | |
| + "type": "string", | |
| + "title": "Project ID", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.createdBy": { | |
| + "type": "string", | |
| + "title": "Created By", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.orgId": { | |
| + "type": "string", | |
| + "title": "Organization ID", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.meta": { | |
| + "title": "Post", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 5 | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.required": [ | |
| + "props" | |
| + ], | |
| + "aiEditorFormCodeExtractor.post.id": { | |
| + "type": "string", | |
| + "title": "Post ID", | |
| + "description": "", | |
| + "minLength": 1 | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.author": { | |
| + "type": "string", | |
| + "title": "Author (User ID)", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.creator": { | |
| + "type": "string", | |
| + "title": "Creator (User ID)", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.channel": { | |
| + "type": "string", | |
| + "title": "Channel (ID)", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.parentId": { | |
| + "type": "string", | |
| + "title": "Parent ID", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.message": { | |
| + "type": "string", | |
| + "title": "Message", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.type": { | |
| + "type": "string", | |
| + "title": "Post Type", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.meta": { | |
| + "title": "Props", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 7 | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.required": [ | |
| + "fragment" | |
| + ], | |
| + "aiEditorFormCodeExtractor.post.props.role": { | |
| + "type": "string", | |
| + "title": "Role", | |
| + "description": "", | |
| + "default": "ASSISTANT", | |
| + "enum": [ | |
| + "USER", | |
| + "ASSISTANT" | |
| + ], | |
| + "enumNames": [ | |
| + "User", | |
| + "Assistant" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.projectId": { | |
| + "type": "string", | |
| + "title": "Project ID", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.template": { | |
| + "type": "string", | |
| + "title": "Template", | |
| + "description": "", | |
| + "default": "vite-react" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.sendNotificationWithProjectId": { | |
| + "type": "boolean", | |
| + "title": "Send Notification With Project ID", | |
| + "description": "", | |
| + "default": true | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.meta": { | |
| + "title": "Fragment", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 4 | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.required": [], | |
| + "aiEditorFormCodeExtractor.post.props.fragment.sandboxUrl": { | |
| + "type": "string", | |
| + "title": "Sandbox URL", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.title": { | |
| + "type": "string", | |
| + "title": "Title", | |
| + "description": "", | |
| + "default": "AI Editor Form Code Extractor" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.summary": { | |
| + "type": "string", | |
| + "title": "Task Summary", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.canvasLayers": { | |
| + "type": "array", | |
| + "items": { | |
| + "type": "string" | |
| + }, | |
| + "uniqueItems": true, | |
| + "title": "Canvas Layers", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.type": { | |
| + "type": "string", | |
| + "title": "Result Type", | |
| + "description": "", | |
| + "default": "RESULT", | |
| + "enum": [ | |
| + "RESULT", | |
| + "ERROR" | |
| + ], | |
| + "enumNames": [ | |
| + "RESULT", | |
| + "ERROR" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.messageId": { | |
| + "type": "string", | |
| + "title": "Message ID", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.isError": { | |
| + "type": "boolean", | |
| + "title": "Is Error", | |
| + "description": "", | |
| + "default": false | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.files.meta": { | |
| + "title": "Files (path -> content)", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 7 | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.hashTags": { | |
| + "type": "string", | |
| + "title": "Hashtags", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.filenames": { | |
| + "type": "array", | |
| + "items": { | |
| + "type": "string" | |
| + }, | |
| + "uniqueItems": true, | |
| + "title": "Filenames", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.fields": { | |
| + "type": "array", | |
| + "items": { | |
| + "type": "string" | |
| + }, | |
| + "uniqueItems": true, | |
| + "title": "Custom Fields", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.editedBy": { | |
| + "type": "string", | |
| + "title": "Edited By (User ID)", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.createdAt": { | |
| + "type": "string", | |
| + "title": "Created At", | |
| + "description": "ISO 8601 with milliseconds and offset", | |
| + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}[+-]\\d{2}:\\d{2}$" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.updatedAt": { | |
| + "type": "string", | |
| + "title": "Updated At", | |
| + "description": "ISO 8601 with milliseconds and offset", | |
| + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}[+-]\\d{2}:\\d{2}$" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.hasReactions": { | |
| + "type": "boolean", | |
| + "title": "Has Reactions", | |
| + "description": "", | |
| + "default": false | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.meta": { | |
| + "title": "Additional Properties", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 6 | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.required": [ | |
| + "modelConfig" | |
| + ], | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.meta": { | |
| + "title": "Model Configuration", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.required": [], | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.provider": { | |
| + "type": "string", | |
| + "title": "Provider", | |
| + "description": "", | |
| + "default": "anthropic" | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.model": { | |
| + "type": "string", | |
| + "title": "Model", | |
| + "description": "", | |
| + "default": "claude-sonnet-4-5-20250929" | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.apiKey": { | |
| + "type": "string", | |
| + "title": "API Key", | |
| + "description": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.template": { | |
| + "type": "string", | |
| + "title": "Template", | |
| + "description": "", | |
| + "default": "vite-react" | |
| + }, | |
| + "aiEditorFormCodeExtractor.aiEditorFormCodeExtractor.meta": { | |
| + "title": "aiEditorFormCodeExtractor", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 7 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.meta": { | |
| + "title": "Template Setup", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 8 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.required": [], | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BViteReactTemplateId": { | |
| + "type": "string", | |
| + "title": "E2B Vite React Template ID", | |
| + "description": "E2B template id for Vite React.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BVueTemplateId": { | |
| + "type": "string", | |
| + "title": "E2B Vue Template ID", | |
| + "description": "E2B template id for Vue.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BClaudeTemplateId": { | |
| + "type": "string", | |
| + "title": "E2B Claude Template ID", | |
| + "description": "E2B template id for Claude.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BTemplateId": { | |
| + "type": "string", | |
| + "title": "E2B Template ID", | |
| + "description": "Default E2B template id.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BDomain": { | |
| + "type": "string", | |
| + "title": "E2B Domain", | |
| + "description": "E2B domain.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BAPIKey": { | |
| + "type": "string", | |
| + "title": "E2B API Key", | |
| + "description": "E2B API key.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionGithubToken": { | |
| + "type": "string", | |
| + "title": "GitHub Token", | |
| + "description": "GitHub personal access token.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionGithubOrg": { | |
| + "type": "string", | |
| + "title": "GitHub Organization", | |
| + "description": "GitHub org/user name.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionGithubReactBase": { | |
| + "type": "string", | |
| + "title": "React Base Repo URL", | |
| + "description": "Base repository URL used for GitHub targets.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionModelConfigAPIKey": { | |
| + "type": "string", | |
| + "title": "Model Provider API Key", | |
| + "description": "API key for the selected model provider (if required).", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSandboxId": { | |
| + "type": "string", | |
| + "title": "Sandbox ID", | |
| + "description": "E2B sandbox ID for execution environment.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSnapshotId": { | |
| + "type": "string", | |
| + "title": "Snapshot ID", | |
| + "description": "E2B snapshot ID for pre-configured environment.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionGitCloneUrl": { | |
| + "type": "string", | |
| + "title": "Git Clone URL", | |
| + "description": "Repository URL to clone (optional).", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionShouldClone": { | |
| + "type": "boolean", | |
| + "title": "Should Clone Repository", | |
| + "description": "Flag to enable/disable repository cloning (default: false).", | |
| + "default": false, | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionTemplatePreviewUrl": { | |
| + "type": "string", | |
| + "title": "Template Preview URL", | |
| + "description": "Optional URL used to preview the generated template (e.g. deployed demo or sandbox link).", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSupabaseUrl": { | |
| + "type": "string", | |
| + "title": "Supabase URL", | |
| + "description": "Optional Supabase project URL for the generated template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSupabasePublishableKey": { | |
| + "type": "string", | |
| + "title": "Supabase Publishable Key", | |
| + "description": "Optional Supabase publishable key for the generated template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSupabaseProjectId": { | |
| + "type": "string", | |
| + "title": "Supabase Project ID", | |
| + "description": "Optional Supabase project ID for the generated template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSupabaseAccessToken": { | |
| + "type": "string", | |
| + "title": "Supabase Access Token", | |
| + "description": "Optional Supabase access token for the generated template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.meta": { | |
| + "title": "Website Demo", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 9 | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.required": [], | |
| + "aiEditorFormCodeExtractor.demo.headerStyle": { | |
| + "type": "string", | |
| + "title": "Header Style", | |
| + "description": "Header visual style and behavior over the hero section.", | |
| + "default": "transparentOverHero", | |
| + "enum": [ | |
| + "transparentOverHero", | |
| + "solid", | |
| + "blur", | |
| + "invertedOnScroll" | |
| + ], | |
| + "enumNames": [ | |
| + "Transparent Over Hero", | |
| + "Solid", | |
| + "Blur", | |
| + "Inverted On Scroll" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerPosition": { | |
| + "type": "string", | |
| + "title": "Header Position", | |
| + "description": "Header layout behavior on the page.", | |
| + "default": "fixed", | |
| + "enum": [ | |
| + "fixed", | |
| + "sticky", | |
| + "static" | |
| + ], | |
| + "enumNames": [ | |
| + "Fixed", | |
| + "Sticky", | |
| + "Static" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerBgColor": { | |
| + "type": "string", | |
| + "title": "Header Background Color", | |
| + "description": "Header background color (hex). Separate from page background.", | |
| + "default": "#FFFFFF" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerTextColor": { | |
| + "type": "string", | |
| + "title": "Header Text Color", | |
| + "description": "Header text color (hex).", | |
| + "default": "#1F2937" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerActiveLinkColor": { | |
| + "type": "string", | |
| + "title": "Header Active Link Color", | |
| + "description": "Header active link color (hex).", | |
| + "default": "#F2B04C" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerScrolledBgColor": { | |
| + "type": "string", | |
| + "title": "Header Scrolled Background Color", | |
| + "description": "Header background color (hex) after scrolling past the hero.", | |
| + "default": "#FFFFFF" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerScrolledTextColor": { | |
| + "type": "string", | |
| + "title": "Header Scrolled Text Color", | |
| + "description": "Header text color (hex) after scrolling past the hero.", | |
| + "default": "#1F2937" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerBorderColor": { | |
| + "type": "string", | |
| + "title": "Header Border Color", | |
| + "description": "Optional header bottom border color (hex).", | |
| + "default": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.title": { | |
| + "type": "string", | |
| + "title": "Title", | |
| + "description": "Title used for the generated demo website.", | |
| + "default": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.description": { | |
| + "type": "string", | |
| + "title": "Description", | |
| + "description": "Short description/tagline for the landing page hero section.", | |
| + "default": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroOverlay": { | |
| + "type": "string", | |
| + "title": "Hero Overlay", | |
| + "description": "Optional overlay over the hero background image.", | |
| + "default": "gradient", | |
| + "enum": [ | |
| + "none", | |
| + "gradient", | |
| + "solid" | |
| + ], | |
| + "enumNames": [ | |
| + "None", | |
| + "Gradient", | |
| + "Solid" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroOverlayColor": { | |
| + "type": "string", | |
| + "title": "Hero Overlay Color", | |
| + "description": "Overlay color (hex).", | |
| + "default": "#0B1220" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroOverlayOpacity": { | |
| + "type": "number", | |
| + "title": "Hero Overlay Opacity", | |
| + "description": "Overlay opacity from 0 to 1.", | |
| + "default": 0.45, | |
| + "minimum": 0, | |
| + "maximum": 1 | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroTextColor": { | |
| + "type": "string", | |
| + "title": "Hero Text Color", | |
| + "description": "Hero text color (hex). Useful when header is transparent over hero.", | |
| + "default": "#F7F3EE" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroImageUrl": { | |
| + "type": "string", | |
| + "title": "Landing Page Image URL", | |
| + "description": "Hero/cover image URL for the landing page.", | |
| + "default": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.menuAlignment": { | |
| + "type": "string", | |
| + "title": "Menu Alignment", | |
| + "description": "How the header content is aligned (logo, links, CTAs).", | |
| + "default": "split", | |
| + "enum": [ | |
| + "left", | |
| + "center", | |
| + "right", | |
| + "split" | |
| + ], | |
| + "enumNames": [ | |
| + "Left", | |
| + "Center", | |
| + "Right", | |
| + "Split (Logo Left, Links Right)" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.logoText": { | |
| + "type": "string", | |
| + "title": "Logo Text", | |
| + "description": "Text logo shown in the header.", | |
| + "default": "Form Builder" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.logoImageUrl": { | |
| + "type": "string", | |
| + "title": "Logo Image URL", | |
| + "description": "Optional image logo URL. If provided, used instead of Logo Text.", | |
| + "default": "" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaPrimaryLabel": { | |
| + "type": "string", | |
| + "title": "Primary CTA Label", | |
| + "description": "Primary call-to-action button label.", | |
| + "default": "Get started" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaPrimaryEnabled": { | |
| + "type": "boolean", | |
| + "title": "Show Primary CTA", | |
| + "description": "Toggle the primary call-to-action button.", | |
| + "default": true | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaPrimaryHref": { | |
| + "type": "string", | |
| + "title": "Primary CTA Link", | |
| + "description": "Primary call-to-action link (href).", | |
| + "default": "#cta" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaPrimaryStyle": { | |
| + "type": "string", | |
| + "title": "Primary CTA Style", | |
| + "description": "Primary CTA visual style.", | |
| + "default": "filled", | |
| + "enum": [ | |
| + "filled", | |
| + "outline" | |
| + ], | |
| + "enumNames": [ | |
| + "Filled", | |
| + "Outline" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaSecondaryLabel": { | |
| + "type": "string", | |
| + "title": "Secondary CTA Label", | |
| + "description": "Optional secondary CTA label.", | |
| + "default": "View demo" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaSecondaryEnabled": { | |
| + "type": "boolean", | |
| + "title": "Show Secondary CTA", | |
| + "description": "Toggle the secondary call-to-action button.", | |
| + "default": true | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaSecondaryHref": { | |
| + "type": "string", | |
| + "title": "Secondary CTA Link", | |
| + "description": "Optional secondary CTA link (href).", | |
| + "default": "#features" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.alternateSectionBackgrounds": { | |
| + "type": "boolean", | |
| + "title": "Alternate Section Backgrounds", | |
| + "description": "If enabled, sections will alternate between a tinted background and a base background for better visual separation.", | |
| + "default": true | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.alternateSectionTintColor": { | |
| + "type": "string", | |
| + "title": "Alt Section Tint Color", | |
| + "description": "Tinted background color used for alternating sections (hex).", | |
| + "default": "#F7F3EE" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.alternateSectionBaseColor": { | |
| + "type": "string", | |
| + "title": "Alt Section Base Color", | |
| + "description": "Base background color used for alternating sections (hex).", | |
| + "default": "#FFFFFF" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.menuItems": { | |
| + "type": "array", | |
| + "items": { | |
| + "type": "string" | |
| + }, | |
| + "uniqueItems": true, | |
| + "title": "Menu Items", | |
| + "description": "Top navigation labels. These should match the section labels in Menu Content (JSON) for one-page scroll navigation.", | |
| + "default": [ | |
| + "Home", | |
| + "Features", | |
| + "How it works", | |
| + "FAQ", | |
| + "Get started" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.sectionOrder": { | |
| + "type": "array", | |
| + "title": "Section Order", | |
| + "description": "Layout order for sections (by section id).", | |
| + "items": { | |
| + "type": "string" | |
| + }, | |
| + "uniqueItems": true, | |
| + "default": [ | |
| + "hero", | |
| + "features", | |
| + "howItWorks", | |
| + "testimonials", | |
| + "faq", | |
| + "cta", | |
| + "footer" | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.themePrimaryColor": { | |
| + "type": "string", | |
| + "title": "Theme Primary Color", | |
| + "description": "Primary brand color (hex, e.g. #2563EB).", | |
| + "default": "#F2B04C" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.themeAccentColor": { | |
| + "type": "string", | |
| + "title": "Theme Accent Color", | |
| + "description": "Accent color used for highlights (hex, e.g. #22C55E).", | |
| + "default": "#5A4635" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.themeBackgroundColor": { | |
| + "type": "string", | |
| + "title": "Theme Background Color", | |
| + "description": "Background color (hex, e.g. #0B1220).", | |
| + "default": "#F7F3EE" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.menuContent": { | |
| + "type": "string", | |
| + "title": "Menu Content (JSON)", | |
| + "description": "One-page sections for the demo site. Keep section labels aligned with Menu Items so navigation scrolls correctly. Provide JSON as { sections: [{ id, label, headline, body, variant, media, layout, theme, items }] }.", | |
| + "default": "{\n \"sections\": [\n {\n \"id\": \"hero\",\n \"label\": \"Home\",\n \"headline\": \"AIEditor Form Code Extractor\",\n \"body\": \"Generate a working website starter (Next.js/Vite, DB/GitHub) from structured form data — then preview it instantly.\",\n \"variant\": \"hero\",\n \"layout\": \"twoCol\",\n \"theme\": \"light\",\n \"media\": { \"imageUrl\": \"\" },\n \"items\": [\n { \"label\": \"Next.js or Vite\", \"value\": \"Choose your stack\" },\n { \"label\": \"DB or GitHub\", \"value\": \"Pick deployment flow\" },\n { \"label\": \"Live preview\", \"value\": \"See it instantly\" }\n ]\n },\n {\n \"id\": \"features\",\n \"label\": \"Features\",\n \"headline\": \"What you get\",\n \"body\": \"A realistic landing-page layout with sections, navigation, and a configurable header (transparent over hero → solid after scroll).\",\n \"variant\": \"features\",\n \"layout\": \"cards\",\n \"theme\": \"light\",\n \"items\": [\n { \"title\": \"Structured inputs\", \"description\": \"Control header style, colors, CTAs, and section order.\" },\n { \"title\": \"One-page navigation\", \"description\": \"Menu items scroll to matching section ids.\" },\n { \"title\": \"Section variants\", \"description\": \"Hero, features, steps, testimonials, FAQ, CTA, footer.\" }\n ]\n },\n {\n \"id\": \"howItWorks\",\n \"label\": \"How it works\",\n \"headline\": \"From form → demo site\",\n \"body\": \"A simple 3-step flow to generate and preview a site.\",\n \"variant\": \"steps\",\n \"layout\": \"steps\",\n \"theme\": \"light\",\n \"items\": [\n { \"title\": \"Pick a template\", \"description\": \"Select Next/Vite and DB/GitHub.\" },\n { \"title\": \"Fill in details\", \"description\": \"Provide metadata, schema, and demo layout hints.\" },\n { \"title\": \"Generate & preview\", \"description\": \"Get a runnable project and see it immediately.\" }\n ]\n },\n {\n \"id\": \"testimonials\",\n \"label\": \"Testimonials\",\n \"headline\": \"Teams ship faster\",\n \"body\": \"A couple of believable quotes make the layout feel real.\",\n \"variant\": \"testimonials\",\n \"layout\": \"cards\",\n \"theme\": \"light\",\n \"items\": [\n { \"quote\": \"We went from idea to preview in minutes.\", \"name\": \"Amina R.\", \"role\": \"Product\" },\n { \"quote\": \"The header + sections feel like a real landing page.\", \"name\": \"Omar K.\", \"role\": \"Engineering\" }\n ]\n },\n {\n \"id\": \"faq\",\n \"label\": \"FAQ\",\n \"headline\": \"Questions, answered\",\n \"body\": \"Keep it short and scannable.\",\n \"variant\": \"faq\",\n \"layout\": \"twoCol\",\n \"theme\": \"light\",\n \"items\": [\n { \"q\": \"Can I reorder sections?\", \"a\": \"Yes — use sectionOrder and keep ids aligned with menu items.\" },\n { \"q\": \"Can the header change after scroll?\", \"a\": \"Yes — configure scrolled colors and invertedOnScroll.\" },\n { \"q\": \"Can sections include media?\", \"a\": \"Yes — provide media.imageUrl or icon hints per section.\" }\n ]\n },\n {\n \"id\": \"cta\",\n \"label\": \"Get started\",\n \"headline\": \"Ready to generate?\",\n \"body\": \"Use the CTAs to drive users to the next step.\",\n \"variant\": \"cta\",\n \"layout\": \"twoCol\",\n \"theme\": \"light\"\n },\n {\n \"id\": \"footer\",\n \"label\": \"Footer\",\n \"headline\": \"\",\n \"body\": \"© 2026 Form Builder. All rights reserved.\",\n \"variant\": \"footer\",\n \"layout\": \"twoCol\",\n \"theme\": \"light\"\n }\n ]\n}\n" | |
| + } | |
| + } | |
| + }, | |
| + { | |
| + "type": "formUI", | |
| + "properties": { | |
| + "aiEditorFormCodeExtractor.templateTarget": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "nextjs-db", | |
| + "label": "Next.js + DB" | |
| + }, | |
| + { | |
| + "value": "nextjs-github", | |
| + "label": "Next.js + GitHub" | |
| + }, | |
| + { | |
| + "value": "vite-db", | |
| + "label": "Vite + DB" | |
| + }, | |
| + { | |
| + "value": "vite-github", | |
| + "label": "Vite + GitHub" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.inngestEventName": { | |
| + "ui:widget": "text", | |
| + "ui:readonly": true | |
| + }, | |
| + "aiEditorFormCodeExtractor.title": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.credentials": { | |
| + "ui:widget": "resourceSelect", | |
| + "ui:options": { | |
| + "resourceId": "credentialTemplates", | |
| + "dropdownSelectionType": "multi", | |
| + "loadOptionsTrigger": "onClick", | |
| + "showSelectedChips": true, | |
| + "translator": "(data) => { if (!data || !Array.isArray(data)) return []; return data.map(item => ({ label: item.label || item.name || item.id, value: item.value || item.id, icon: item.icon || \"\" })); }" | |
| + }, | |
| + "ui:placeholder": "Select credentials (optional)", | |
| + "ui:required": false | |
| + }, | |
| + "aiEditorFormCodeExtractor.channelId": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.channelType": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "SERVICE", | |
| + "label": "Service" | |
| + }, | |
| + { | |
| + "value": "AIASSISTANT", | |
| + "label": "AI Assistant" | |
| + }, | |
| + { | |
| + "value": "CHANNEL", | |
| + "label": "Channel" | |
| + }, | |
| + { | |
| + "value": "DIRECT", | |
| + "label": "Direct" | |
| + }, | |
| + { | |
| + "value": "PRIVATE", | |
| + "label": "Private" | |
| + }, | |
| + { | |
| + "value": "PUBLIC", | |
| + "label": "Public" | |
| + }, | |
| + { | |
| + "value": "GROUP", | |
| + "label": "Group" | |
| + }, | |
| + { | |
| + "value": "VISITOR", | |
| + "label": "Visitor" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.projectId": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.createdBy": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.orgId": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.id": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.author": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.creator": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.channel": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.parentId": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.message": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.type": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.role": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "USER", | |
| + "label": "User" | |
| + }, | |
| + { | |
| + "value": "ASSISTANT", | |
| + "label": "Assistant" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.projectId": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.template": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.sendNotificationWithProjectId": { | |
| + "ui:widget": "checkbox" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.sandboxUrl": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.title": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.summary": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.canvasLayers": { | |
| + "ui:widget": "checkboxes", | |
| + "ui:options": { | |
| + "enumOptions": [] | |
| + } | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.type": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "RESULT", | |
| + "label": "RESULT" | |
| + }, | |
| + { | |
| + "value": "ERROR", | |
| + "label": "ERROR" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.messageId": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.props.fragment.isError": { | |
| + "ui:widget": "checkbox" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.hashTags": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.filenames": { | |
| + "ui:widget": "checkboxes", | |
| + "ui:options": { | |
| + "enumOptions": [] | |
| + } | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.fields": { | |
| + "ui:widget": "checkboxes", | |
| + "ui:options": { | |
| + "enumOptions": [] | |
| + } | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.editedBy": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.createdAt": { | |
| + "ui:widget": "text", | |
| + "ui:description": "ISO 8601 with milliseconds and offset" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.updatedAt": { | |
| + "ui:widget": "text", | |
| + "ui:description": "ISO 8601 with milliseconds and offset" | |
| + }, | |
| + "aiEditorFormCodeExtractor.post.hasReactions": { | |
| + "ui:widget": "checkbox" | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.provider": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.model": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.apiKey": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.additionalProperties.modelConfig.template": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration": { | |
| + "ui:widget": "group" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo": { | |
| + "ui:widget": "group" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BViteReactTemplateId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B template id for Vite React.", | |
| + "ui:placeholder": "e.g. 0w7z3d6bosdvqni2xtuf" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BVueTemplateId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B template id for Vue.", | |
| + "ui:placeholder": "e.g. grp7jqsey9ei22ap659k" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BClaudeTemplateId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B template id for Claude.", | |
| + "ui:placeholder": "e.g. 3qua6mjt7gp4t1ijqi3t" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BTemplateId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Default E2B template id.", | |
| + "ui:placeholder": "e.g. ycbh59ksxbspv1t4jmb7" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BDomain": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B domain.", | |
| + "ui:placeholder": "e.g. yarntra.com" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionE2BAPIKey": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B API key." | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionGithubToken": { | |
| + "ui:widget": "text", | |
| + "ui:description": "GitHub personal access token." | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionGithubOrg": { | |
| + "ui:widget": "text", | |
| + "ui:description": "GitHub org/user name.", | |
| + "ui:placeholder": "e.g. my-org" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionGithubReactBase": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Base repository URL used for GitHub targets.", | |
| + "ui:placeholder": "e.g. https://github.com/my-org/react-visual-base" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionModelConfigAPIKey": { | |
| + "ui:widget": "text", | |
| + "ui:description": "API key for the selected model provider (if required)." | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSandboxId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B sandbox ID for execution environment.", | |
| + "ui:placeholder": "e.g. sbx-xxxxxxxx" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSnapshotId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B snapshot ID for pre-configured environment.", | |
| + "ui:placeholder": "e.g. snap-xxxxxxxx" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionGitCloneUrl": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Repository URL to clone (optional).", | |
| + "ui:placeholder": "e.g. https://github.com/user/repo.git" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionShouldClone": { | |
| + "ui:widget": "checkbox", | |
| + "ui:description": "Flag to enable/disable repository cloning (default: false)." | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionTemplatePreviewUrl": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional URL used to preview the generated template (e.g. deployed demo or sandbox link).", | |
| + "ui:placeholder": "e.g. https://preview.example.com/my-template" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSupabaseUrl": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional Supabase project URL for the generated template.", | |
| + "ui:placeholder": "e.g. https://abc123def.supabase.co" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSupabasePublishableKey": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional Supabase publishable key for the generated template.", | |
| + "ui:placeholder": "e.g. sb_publishable_..." | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSupabaseProjectId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional Supabase project ID for the generated template.", | |
| + "ui:placeholder": "e.g. vuxfjhbhvyeaslauqlhs" | |
| + }, | |
| + "aiEditorFormCodeExtractor.configuration.formExtensionSupabaseAccessToken": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional Supabase access token for the generated template.", | |
| + "ui:placeholder": "e.g. sbp_..." | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerStyle": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "transparentOverHero", | |
| + "label": "Transparent Over Hero" | |
| + }, | |
| + { | |
| + "value": "solid", | |
| + "label": "Solid" | |
| + }, | |
| + { | |
| + "value": "blur", | |
| + "label": "Blur" | |
| + }, | |
| + { | |
| + "value": "invertedOnScroll", | |
| + "label": "Inverted On Scroll" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerPosition": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "fixed", | |
| + "label": "Fixed" | |
| + }, | |
| + { | |
| + "value": "sticky", | |
| + "label": "Sticky" | |
| + }, | |
| + { | |
| + "value": "static", | |
| + "label": "Static" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerBgColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#FFFFFF" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerTextColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#1F2937" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerActiveLinkColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#F2B04C" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerScrolledBgColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#FFFFFF" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerScrolledTextColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#1F2937" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.headerBorderColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#E5E7EB" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.title": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.description": { | |
| + "ui:widget": "textarea" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroOverlay": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "none", | |
| + "label": "None" | |
| + }, | |
| + { | |
| + "value": "gradient", | |
| + "label": "Gradient" | |
| + }, | |
| + { | |
| + "value": "solid", | |
| + "label": "Solid" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroOverlayColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#0B1220" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroOverlayOpacity": { | |
| + "ui:widget": "updown" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroTextColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#F7F3EE" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.heroImageUrl": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.menuAlignment": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "left", | |
| + "label": "Left" | |
| + }, | |
| + { | |
| + "value": "center", | |
| + "label": "Center" | |
| + }, | |
| + { | |
| + "value": "right", | |
| + "label": "Right" | |
| + }, | |
| + { | |
| + "value": "split", | |
| + "label": "Split (Logo Left, Links Right)" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.logoText": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.logoImageUrl": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaPrimaryLabel": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaPrimaryEnabled": { | |
| + "ui:widget": "checkbox" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaPrimaryHref": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaPrimaryStyle": { | |
| + "ui:widget": "select", | |
| + "ui:enumOptions": [ | |
| + { | |
| + "value": "filled", | |
| + "label": "Filled" | |
| + }, | |
| + { | |
| + "value": "outline", | |
| + "label": "Outline" | |
| + } | |
| + ] | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaSecondaryLabel": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaSecondaryEnabled": { | |
| + "ui:widget": "checkbox" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.ctaSecondaryHref": { | |
| + "ui:widget": "text" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.alternateSectionBackgrounds": { | |
| + "ui:widget": "checkbox" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.alternateSectionTintColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#F7F3EE" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.alternateSectionBaseColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#FFFFFF" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.menuItems": { | |
| + "ui:widget": "chips", | |
| + "ui:options": { | |
| + "enumOptions": [] | |
| + } | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.sectionOrder": { | |
| + "ui:widget": "chips", | |
| + "ui:options": { | |
| + "enumOptions": [] | |
| + } | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.themePrimaryColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#F2B04C" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.themeAccentColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#5A4635" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.themeBackgroundColor": { | |
| + "ui:widget": "ColorWidget", | |
| + "ui:placeholder": "#F7F3EE" | |
| + }, | |
| + "aiEditorFormCodeExtractor.demo.menuContent": { | |
| + "ui:widget": "textarea", | |
| + "ui:options": { | |
| + "rows": 12 | |
| + } | |
| + } | |
| + } | |
| + }, | |
| + { | |
| + "type": "definitions" | |
| + }, | |
| + { | |
| + "type": "connections", | |
| + "properties": { | |
| + "type": "connections", | |
| + "properties.steps": [] | |
| + } | |
| + }, | |
| + { | |
| + "type": "customButtons" | |
| + }, | |
| + { | |
| + "type": "resources", | |
| + "properties": { | |
| + "credentialTemplates.id": "credentialTemplates", | |
| + "credentialTemplates.name": "credentialTemplates", | |
| + "credentialTemplates.type": "graphql", | |
| + "credentialTemplates.selectedSource": "graphql", | |
| + "credentialTemplates.description": "Loads credential templates via internal GraphQL (GetPageSettings)", | |
| + "credentialTemplates.config.graphql.endpoint": "", | |
| + "credentialTemplates.config.graphql.query": "query GetPageSettings($resourceUri: URIInput!, $options: PageSettingsOptionsInput) {\n pageSettings(resourceUri: $resourceUri, options: $options) {\n settings\n resourceUri\n target\n keys\n subjects {\n ... on ApplicationConfiguration { resource target contents keys overrides { keys contents identifiers } }\n ... on UserConfiguration { resource target contents keys overrides { keys contents identifiers } }\n ... on MachineConfiguration { resource target contents keys overrides { keys contents identifiers } }\n ... on OrganizationConfiguration { resource target contents keys overrides { keys contents identifiers } }\n ... on OrganizationResourceConfiguration { resource target contents keys overrides { keys contents identifiers } }\n }\n }\n}", | |
| + "credentialTemplates.config.graphql.variables.0.key": "resourceUri", | |
| + "credentialTemplates.config.graphql.variables.0.value": "cdecode://default/{{apolloClient.orgId}}#uiSettings", | |
| + "credentialTemplates.config.graphql.variables.1.key": "options", | |
| + "credentialTemplates.config.graphql.variables.1.value": "{\"schemaId\":\"uiLayout\",\"configKey\":\"credential.templates\",\"includeMarketplace\":true}", | |
| + "credentialTemplates.config.graphql.urlParameters": [], | |
| + "credentialTemplates.config.graphql.headers": [], | |
| + "credentialTemplates.config.graphql.cookies": [], | |
| + "credentialTemplates.config.graphql.runBehavior.mode": "automatic", | |
| + "credentialTemplates.config.graphql.transformResults": "({ data }) => {\n if (!data || !data.pageSettings) return [];\n var results = [];\n function extractFromObj(obj) {\n if (!obj || typeof obj !== \"object\") return;\n var groups = Object.keys(obj);\n for (var g = 0; g < groups.length; g++) {\n var groupData = obj[groups[g]];\n if (!groupData || typeof groupData !== \"object\") continue;\n var keys = Object.keys(groupData);\n for (var k = 0; k < keys.length; k++) {\n var tpl = groupData[keys[k]];\n if (tpl && tpl.templateName && tpl.enable !== \"false\" && tpl.enabled !== false) {\n var entry = { label: tpl.templateName, value: keys[k] };\n if (tpl.formIcon) { entry.icon = tpl.formIcon; }\n results.push(entry);\n }\n }\n }\n }\n if (data.pageSettings.settings && typeof data.pageSettings.settings === \"object\") {\n extractFromObj(data.pageSettings.settings);\n }\n if (data.pageSettings.subjects && Array.isArray(data.pageSettings.subjects)) {\n for (var i = 0; i < data.pageSettings.subjects.length; i++) {\n var contents = data.pageSettings.subjects[i] && data.pageSettings.subjects[i].contents;\n extractFromObj(contents);\n }\n }\n return results.sort(function(a, b) { return a.label.localeCompare(b.label); });\n}", | |
| + "credentialTemplates.config.graphql.useInternalLink": true, | |
| + "credentialTemplates.key": "credentialTemplates" | |
| + } | |
| + }, | |
| + { | |
| + "type": "inngest", | |
| + "properties.generatedCode.submit": "async ({ event, step }) => {\n const formId = event?.data?.eventData?.formData?.formId;\n const formData = event.data.eventData.formData;\n const fieldMetadata = event.data.eventData.fieldMetadata;\n const extensionId = event.data.eventData.extensionId;\n delete event.data.eventData.formData.formId;\n\n const eventResult = await step.sendEvent('dispatch', {\n name: 'aieditor-form-code-extractor-dispatcher/trigger',\n data: {\n source: 'aieditor-code-extractor-sample',\n timestamp: new Date().toISOString(),\n eventData: {\n formData,\n fieldMetadata,\n formId,\n extensionId\n }\n }\n });\n\n return {\n functionId: 'aieditor-form-code-extractor-sample',\n submit: eventResult,\n timestamp: new Date().toISOString()\n };\n}", | |
| + "properties.raw.submit.functionID": "aieditor-form-code-extractor-sample", | |
| + "properties.raw.submit.functionName": "AIEditor Form Code Extractor (Sample Submit)", | |
| + "properties.raw.submit.functionDescription": "Routes the submit to the global AIEditor code-extractor dispatcher.", | |
| + "properties.raw.submit.enabled": true, | |
| + "properties.raw.submit.displaySubmitButton": true, | |
| + "properties.raw.submit.events.0": "app.event", | |
| + "properties.raw.submit.steps.0.id": "aieditor-submit", | |
| + "properties.raw.submit.steps.0.name": "Submit to Form Table", | |
| + "properties.raw.submit.steps.0.type": "sendEvent", | |
| + "properties.raw.submit.steps.0.code": "async ({ event, step }) => {\n const formId = event?.data?.eventData?.formData?.formId;\n const formData = event.data.eventData.formData;\n const fieldMetadata = event.data.eventData.fieldMetadata;\n const extensionId = event.data.eventData.extensionId;\n delete event.data.eventData.formData.formId;\n\n const eventResult = await step.sendEvent('dispatch', {\n name: 'aieditor-form-code-extractor-dispatcher/trigger',\n data: {\n source: 'aieditor-code-extractor-sample',\n timestamp: new Date().toISOString(),\n eventData: {\n formData,\n fieldMetadata,\n formId,\n extensionId\n }\n }\n });\n\n return {\n functionId: 'aieditor-form-code-extractor-sample',\n submit: eventResult,\n timestamp: new Date().toISOString()\n };\n}", | |
| + "properties.raw.submit.selectedStep.code": "async ({ event, step }) => {\n const formId = event?.data?.eventData?.formData?.formId;\n const formData = event.data.eventData.formData;\n const fieldMetadata = event.data.eventData.fieldMetadata;\n const extensionId = event.data.eventData.extensionId;\n delete event.data.eventData.formData.formId;\n\n const eventResult = await step.sendEvent('dispatch', {\n name: 'aieditor-form-code-extractor-dispatcher/trigger',\n data: {\n source: 'aieditor-code-extractor-sample',\n timestamp: new Date().toISOString(),\n eventData: {\n formData,\n fieldMetadata,\n formId,\n extensionId\n }\n }\n });\n\n return {\n functionId: 'aieditor-form-code-extractor-sample',\n submit: eventResult,\n timestamp: new Date().toISOString()\n };\n}" | |
| + }, | |
| + { | |
| + "type": "formData" | |
| + } | |
| + ] | |
| + }, | |
| + { | |
| + "schemaId": "uiLayout", | |
| + "type": "Contribution", | |
| + "formId": "", | |
| + "configurationNodes": [ | |
| + { | |
| + "type": "form-metadata", | |
| + "properties": { | |
| + "title": "codeAssistant", | |
| + "schemaId": "uiLayout", | |
| + "contributionPoint": "marketplace", | |
| + "namespace": "aieditor-form-code-extractor", | |
| + "preGeneratedFormSteps": [ | |
| + { | |
| + "title": "marketplace", | |
| + "description": "", | |
| + "elements": [ | |
| + { | |
| + "type": "group", | |
| + "label": "templates", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "group", | |
| + "label": "codeAssistant", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "group", | |
| + "label": "aieditor-form-code-extractor", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "singleline", | |
| + "label": "templateName", | |
| + "required": false, | |
| + "placeholder": "Enter template name", | |
| + "default": "aieditor-code-extractor", | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "text" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "projectType", | |
| + "required": false, | |
| + "placeholder": "e.g., Provisioning, Deployment", | |
| + "default": "multi", | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "text" | |
| + }, | |
| + { | |
| + "type": "multiline", | |
| + "label": "description", | |
| + "required": false, | |
| + "description": "Brief description of what this template does", | |
| + "placeholder": "Describe what this template does", | |
| + "default": "Create Vite/Next.js AIEditor code-extractor forms for DB or GitHub.", | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "textarea" | |
| + }, | |
| + { | |
| + "type": "checkboxes", | |
| + "label": "tags", | |
| + "required": false, | |
| + "description": "Tags for categorization (e.g., tenant, provisioning, cloud)", | |
| + "placeholder": "Add tags (press Enter)", | |
| + "uniqueItems": true, | |
| + "default": [ | |
| + "aieditor", | |
| + "code-extractor" | |
| + ], | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "chips" | |
| + }, | |
| + { | |
| + "type": "checkboxes", | |
| + "label": "keywords", | |
| + "required": false, | |
| + "description": "Keywords for AI search and discovery (e.g., setup, deploy, configure)", | |
| + "placeholder": "Add keywords (press Enter)", | |
| + "uniqueItems": true, | |
| + "default": [ | |
| + "vite", | |
| + "nextjs", | |
| + "github", | |
| + "db" | |
| + ], | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "chips" | |
| + }, | |
| + { | |
| + "type": "switch", | |
| + "label": "enabled", | |
| + "required": false, | |
| + "default": true, | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "switch" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "formId", | |
| + "required": false, | |
| + "description": "Auto-generated identifier for this form template", | |
| + "default": "aieditor-code-extractor-mfb219ez", | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "text" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "formExtensionId", | |
| + "required": false, | |
| + "description": "Auto-generated extension identifier for this form template", | |
| + "default": "PLACEHOLDER_EXT_UUID", | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "text" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "formIcon", | |
| + "required": false, | |
| + "description": "Optional icon for this template", | |
| + "placeholder": "Enter icon (optional)", | |
| + "default": "", | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "text" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "formFunctionId", | |
| + "required": false, | |
| + "description": "Optional icon for this template", | |
| + "placeholder": "Enter icon (optional)", | |
| + "default": "aieditor-form-code-extractor-sample", | |
| + "scope": 3, | |
| + "hidden": false, | |
| + "widget": "text", | |
| + "configElementKey": "formFunctionId" | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + }, | |
| + { | |
| + "type": "form", | |
| + "properties": { | |
| + "required": [], | |
| + "marketplace.meta": { | |
| + "title": "marketplace", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "marketplace.required": [ | |
| + "templates" | |
| + ], | |
| + "marketplace.templates.meta": { | |
| + "title": "templates", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "marketplace.templates.required": [ | |
| + "codeAssistant" | |
| + ], | |
| + "marketplace.templates.codeAssistant.meta": { | |
| + "title": "codeAssistant", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "marketplace.templates.codeAssistant.required": [ | |
| + "aieditor-form-code-extractor" | |
| + ], | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.meta": { | |
| + "title": "aieditor-form-code-extractor", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.required": [], | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.templateName": { | |
| + "type": "string", | |
| + "title": "templateName", | |
| + "description": "", | |
| + "default": "aieditor-code-extractor", | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.projectType": { | |
| + "type": "string", | |
| + "title": "projectType", | |
| + "description": "", | |
| + "default": "multi", | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.description": { | |
| + "type": "string", | |
| + "title": "description", | |
| + "description": "Brief description of what this template does", | |
| + "default": "Create Vite/Next.js AIEditor code-extractor forms for DB or GitHub.", | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.tags": { | |
| + "type": "array", | |
| + "items": { | |
| + "type": "string" | |
| + }, | |
| + "uniqueItems": true, | |
| + "title": "tags", | |
| + "description": "Tags for categorization (e.g., tenant, provisioning, cloud)", | |
| + "default": [ | |
| + "aieditor", | |
| + "code-extractor" | |
| + ], | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.keywords": { | |
| + "type": "array", | |
| + "items": { | |
| + "type": "string" | |
| + }, | |
| + "uniqueItems": true, | |
| + "title": "keywords", | |
| + "description": "Keywords for AI search and discovery (e.g., setup, deploy, configure)", | |
| + "default": [ | |
| + "vite", | |
| + "nextjs", | |
| + "github", | |
| + "db" | |
| + ], | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.enabled": { | |
| + "type": "boolean", | |
| + "title": "enabled", | |
| + "default": true, | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.formId": { | |
| + "type": "string", | |
| + "title": "formId", | |
| + "default": "PLACEHOLDER_FORM_ID", | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.formExtensionId": { | |
| + "type": "string", | |
| + "title": "formExtensionId", | |
| + "default": "PLACEHOLDER_EXT_UUID", | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.formIcon": { | |
| + "type": "string", | |
| + "title": "formIcon", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.formFunctionId": { | |
| + "type": "string", | |
| + "title": "formFunctionId", | |
| + "default": "aieditor-form-code-extractor-sample", | |
| + "scope": 3 | |
| + } | |
| + } | |
| + }, | |
| + { | |
| + "type": "formUI", | |
| + "properties": { | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.templateName": { | |
| + "ui:widget": "text", | |
| + "ui:placeholder": "Enter template name" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.projectType": { | |
| + "ui:widget": "text", | |
| + "ui:placeholder": "e.g., Provisioning, Deployment" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.description": { | |
| + "ui:widget": "textarea", | |
| + "ui:placeholder": "Describe what this template does", | |
| + "ui:description": "Brief description of what this template does" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.tags": { | |
| + "ui:widget": "chips", | |
| + "ui:options": { | |
| + "enumOptions": [] | |
| + }, | |
| + "ui:placeholder": "Add tags (press Enter)", | |
| + "ui:description": "Tags for categorization (e.g., tenant, provisioning, cloud)" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.keywords": { | |
| + "ui:widget": "chips", | |
| + "ui:options": { | |
| + "enumOptions": [] | |
| + }, | |
| + "ui:placeholder": "Add keywords (press Enter)", | |
| + "ui:description": "Keywords for AI search and discovery (e.g., setup, deploy, configure)" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.enabled": { | |
| + "ui:widget": "switch" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.formId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Auto-generated identifier for this form template" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.formExtensionId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Auto-generated extension identifier for this form template" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.formIcon": { | |
| + "ui:widget": "text", | |
| + "ui:placeholder": "Enter icon (optional)", | |
| + "ui:description": "Optional icon for this template" | |
| + }, | |
| + "marketplace.templates.codeAssistant.aieditor-form-code-extractor.formFunctionId": { | |
| + "ui:widget": "text", | |
| + "ui:placeholder": "Enter icon (optional)", | |
| + "ui:description": "Optional icon for this template" | |
| + } | |
| + } | |
| + }, | |
| + { | |
| + "type": "definitions" | |
| + }, | |
| + { | |
| + "type": "connections", | |
| + "properties": { | |
| + "type": "connections", | |
| + "properties.steps.0": "marketplace" | |
| + } | |
| + }, | |
| + { | |
| + "type": "customButtons" | |
| + }, | |
| + { | |
| + "type": "resources" | |
| + }, | |
| + { | |
| + "type": "formData" | |
| + } | |
| + ], | |
| + "contributes": {} | |
| + }, | |
| + { | |
| + "schemaId": "configuration", | |
| + "type": "Contribution", | |
| + "formId": "", | |
| + "configurationNodes": [ | |
| + { | |
| + "type": "form-metadata", | |
| + "properties": { | |
| + "title": "aieditor-form-code-extractor", | |
| + "schemaId": "configuration", | |
| + "contributionPoint": "configuration.appSettings", | |
| + "templateType": "aieditor", | |
| + "namespace": "aieditor-form-code-extractor", | |
| + "preGeneratedFormSteps": [ | |
| + { | |
| + "title": "appSettings", | |
| + "description": "", | |
| + "elements": [ | |
| + { | |
| + "type": "group", | |
| + "label": "settings", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "group", | |
| + "label": "aieditor", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "group", | |
| + "label": "aieditor-form-code-extractor", | |
| + "required": [], | |
| + "description": "", | |
| + "children": [ | |
| + { | |
| + "type": "singleline", | |
| + "label": "E2B Vite React Template ID", | |
| + "title": "E2B Vite React Template ID", | |
| + "required": false, | |
| + "description": "E2B template id for Vite React.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionE2BViteReactTemplateId", | |
| + "placeholder": "e.g. 0w7z3d6bosdvqni2xtuf" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "E2B Vue Template ID", | |
| + "title": "E2B Vue Template ID", | |
| + "required": false, | |
| + "description": "E2B template id for Vue.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionE2BVueTemplateId", | |
| + "placeholder": "e.g. grp7jqsey9ei22ap659k" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "E2B Claude Template ID", | |
| + "title": "E2B Claude Template ID", | |
| + "required": false, | |
| + "description": "E2B template id for Claude.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionE2BClaudeTemplateId", | |
| + "placeholder": "e.g. 3qua6mjt7gp4t1ijqi3t" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "E2B Template ID", | |
| + "title": "E2B Template ID", | |
| + "required": false, | |
| + "description": "Default E2B template id.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionE2BTemplateId", | |
| + "placeholder": "e.g. ycbh59ksxbspv1t4jmb7" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "E2B Domain", | |
| + "title": "E2B Domain", | |
| + "required": false, | |
| + "description": "E2B domain.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionE2BDomain", | |
| + "placeholder": "e.g. yarntra.com" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "E2B API Key", | |
| + "title": "E2B API Key", | |
| + "required": false, | |
| + "description": "E2B API key.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionE2BAPIKey" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "GitHub Token", | |
| + "title": "GitHub Token", | |
| + "required": false, | |
| + "description": "GitHub personal access token.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionGithubToken" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "GitHub Organization", | |
| + "title": "GitHub Organization", | |
| + "required": false, | |
| + "description": "GitHub org/user name.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionGithubOrg", | |
| + "placeholder": "e.g. my-org" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "React Base Repo URL", | |
| + "title": "React Base Repo URL", | |
| + "required": false, | |
| + "description": "Base repository URL used for GitHub targets.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionGithubReactBase", | |
| + "placeholder": "e.g. https://github.com/my-org/react-visual-base" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Model Provider API Key", | |
| + "title": "Model Provider API Key", | |
| + "required": false, | |
| + "description": "API key for the selected model provider (if required).", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionModelConfigAPIKey" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Sandbox ID", | |
| + "title": "Sandbox ID", | |
| + "required": false, | |
| + "description": "E2B sandbox ID for execution environment.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionSandboxId", | |
| + "placeholder": "e.g. sbx-xxxxxxxx" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Snapshot ID", | |
| + "title": "Snapshot ID", | |
| + "required": false, | |
| + "description": "E2B snapshot ID for pre-configured environment.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionSnapshotId", | |
| + "placeholder": "e.g. snap-xxxxxxxx" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Git Clone URL", | |
| + "title": "Git Clone URL", | |
| + "required": false, | |
| + "description": "Repository URL to clone (optional).", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionGitCloneUrl", | |
| + "placeholder": "e.g. https://github.com/user/repo.git" | |
| + }, | |
| + { | |
| + "type": "checkbox", | |
| + "label": "Should Clone Repository", | |
| + "title": "Should Clone Repository", | |
| + "required": false, | |
| + "checkboxType": "single", | |
| + "description": "Flag to enable/disable repository cloning (default: false).", | |
| + "default": false, | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionShouldClone" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Template Preview URL", | |
| + "title": "Template Preview URL", | |
| + "required": false, | |
| + "description": "Optional URL used to preview the generated template (e.g. deployed demo or sandbox link).", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionTemplatePreviewUrl", | |
| + "placeholder": "e.g. https://preview.example.com/my-template" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Supabase URL", | |
| + "title": "Supabase URL", | |
| + "required": false, | |
| + "description": "Optional Supabase project URL for the generated template.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionSupabaseUrl", | |
| + "placeholder": "e.g. https://abc123def.supabase.co" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Supabase Publishable Key", | |
| + "title": "Supabase Publishable Key", | |
| + "required": false, | |
| + "description": "Optional Supabase publishable key for the generated template.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionSupabasePublishableKey", | |
| + "placeholder": "e.g. sb_publishable_..." | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Supabase Project ID", | |
| + "title": "Supabase Project ID", | |
| + "required": false, | |
| + "description": "Optional Supabase project ID for the generated template.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionSupabaseProjectId", | |
| + "placeholder": "e.g. vuxfjhbhvyeaslauqlhs" | |
| + }, | |
| + { | |
| + "type": "singleline", | |
| + "label": "Supabase Access Token", | |
| + "title": "Supabase Access Token", | |
| + "required": false, | |
| + "description": "Optional Supabase access token for the generated template.", | |
| + "default": "", | |
| + "scope": 3, | |
| + "configElementKey": "formExtensionSupabaseAccessToken", | |
| + "placeholder": "e.g. sbp_..." | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + ] | |
| + } | |
| + }, | |
| + { | |
| + "type": "form", | |
| + "properties": { | |
| + "required": [], | |
| + "appSettings.meta": { | |
| + "title": "appSettings", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "appSettings.required": [ | |
| + "settings" | |
| + ], | |
| + "appSettings.settings.meta": { | |
| + "title": "settings", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "appSettings.settings.required": [ | |
| + "aieditor" | |
| + ], | |
| + "appSettings.settings.aieditor.meta": { | |
| + "title": "aieditor", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "appSettings.settings.aieditor.required": [ | |
| + "aieditor-form-code-extractor" | |
| + ], | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.meta": { | |
| + "title": "aieditor-form-code-extractor", | |
| + "description": "", | |
| + "type": "object", | |
| + "position": 0 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.required": [], | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BViteReactTemplateId": { | |
| + "type": "string", | |
| + "title": "E2B Vite React Template ID", | |
| + "description": "E2B template id for Vite React.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BVueTemplateId": { | |
| + "type": "string", | |
| + "title": "E2B Vue Template ID", | |
| + "description": "E2B template id for Vue.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BClaudeTemplateId": { | |
| + "type": "string", | |
| + "title": "E2B Claude Template ID", | |
| + "description": "E2B template id for Claude.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BTemplateId": { | |
| + "type": "string", | |
| + "title": "E2B Template ID", | |
| + "description": "Default E2B template id.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BDomain": { | |
| + "type": "string", | |
| + "title": "E2B Domain", | |
| + "description": "E2B domain.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BAPIKey": { | |
| + "type": "string", | |
| + "title": "E2B API Key", | |
| + "description": "E2B API key.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionGithubToken": { | |
| + "type": "string", | |
| + "title": "GitHub Token", | |
| + "description": "GitHub personal access token.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionGithubOrg": { | |
| + "type": "string", | |
| + "title": "GitHub Organization", | |
| + "description": "GitHub org/user name.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionGithubReactBase": { | |
| + "type": "string", | |
| + "title": "React Base Repo URL", | |
| + "description": "Base repository URL used for GitHub targets.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionModelConfigAPIKey": { | |
| + "type": "string", | |
| + "title": "Model Provider API Key", | |
| + "description": "API key for the selected model provider (if required).", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSandboxId": { | |
| + "type": "string", | |
| + "title": "Sandbox ID", | |
| + "description": "E2B sandbox ID for execution environment.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSnapshotId": { | |
| + "type": "string", | |
| + "title": "Snapshot ID", | |
| + "description": "E2B snapshot ID for pre-configured environment.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionGitCloneUrl": { | |
| + "type": "string", | |
| + "title": "Git Clone URL", | |
| + "description": "Repository URL to clone (optional).", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionShouldClone": { | |
| + "type": "boolean", | |
| + "title": "Should Clone Repository", | |
| + "description": "Flag to enable/disable repository cloning (default: false).", | |
| + "default": false, | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionTemplatePreviewUrl": { | |
| + "type": "string", | |
| + "title": "Template Preview URL", | |
| + "description": "Optional URL used to preview the generated template (e.g. deployed demo or sandbox link).", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSupabaseUrl": { | |
| + "type": "string", | |
| + "title": "Supabase URL", | |
| + "description": "Optional Supabase project URL for the generated template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSupabasePublishableKey": { | |
| + "type": "string", | |
| + "title": "Supabase Publishable Key", | |
| + "description": "Optional Supabase publishable key for the generated template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSupabaseProjectId": { | |
| + "type": "string", | |
| + "title": "Supabase Project ID", | |
| + "description": "Optional Supabase project ID for the generated template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSupabaseAccessToken": { | |
| + "type": "string", | |
| + "title": "Supabase Access Token", | |
| + "description": "Optional Supabase access token for the generated template.", | |
| + "default": "", | |
| + "scope": 3 | |
| + } | |
| + } | |
| + }, | |
| + { | |
| + "type": "formUI", | |
| + "properties": { | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BViteReactTemplateId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B template id for Vite React.", | |
| + "ui:placeholder": "e.g. 0w7z3d6bosdvqni2xtuf" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BVueTemplateId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B template id for Vue.", | |
| + "ui:placeholder": "e.g. grp7jqsey9ei22ap659k" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BClaudeTemplateId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B template id for Claude.", | |
| + "ui:placeholder": "e.g. 3qua6mjt7gp4t1ijqi3t" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BTemplateId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Default E2B template id.", | |
| + "ui:placeholder": "e.g. ycbh59ksxbspv1t4jmb7" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BDomain": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B domain.", | |
| + "ui:placeholder": "e.g. yarntra.com" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionE2BAPIKey": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B API key." | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionGithubToken": { | |
| + "ui:widget": "text", | |
| + "ui:description": "GitHub personal access token." | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionGithubOrg": { | |
| + "ui:widget": "text", | |
| + "ui:description": "GitHub org/user name.", | |
| + "ui:placeholder": "e.g. my-org" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionGithubReactBase": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Base repository URL used for GitHub targets.", | |
| + "ui:placeholder": "e.g. https://github.com/my-org/react-visual-base" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionModelConfigAPIKey": { | |
| + "ui:widget": "text", | |
| + "ui:description": "API key for the selected model provider (if required)." | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSandboxId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B sandbox ID for execution environment.", | |
| + "ui:placeholder": "e.g. sbx-xxxxxxxx" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSnapshotId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "E2B snapshot ID for pre-configured environment.", | |
| + "ui:placeholder": "e.g. snap-xxxxxxxx" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionGitCloneUrl": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Repository URL to clone (optional).", | |
| + "ui:placeholder": "e.g. https://github.com/user/repo.git" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionShouldClone": { | |
| + "ui:widget": "checkbox", | |
| + "ui:description": "Flag to enable/disable repository cloning (default: false)." | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionTemplatePreviewUrl": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional URL used to preview the generated template (e.g. deployed demo or sandbox link).", | |
| + "ui:placeholder": "e.g. https://preview.example.com/my-template" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSupabaseUrl": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional Supabase project URL for the generated template.", | |
| + "ui:placeholder": "e.g. https://abc123def.supabase.co" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSupabasePublishableKey": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional Supabase publishable key for the generated template.", | |
| + "ui:placeholder": "e.g. sb_publishable_..." | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSupabaseProjectId": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional Supabase project ID for the generated template.", | |
| + "ui:placeholder": "e.g. vuxfjhbhvyeaslauqlhs" | |
| + }, | |
| + "appSettings.settings.aieditor.aieditor-form-code-extractor.formExtensionSupabaseAccessToken": { | |
| + "ui:widget": "text", | |
| + "ui:description": "Optional Supabase access token for the generated template.", | |
| + "ui:placeholder": "e.g. sbp_..." | |
| + } | |
| + } | |
| + }, | |
| + { | |
| + "type": "definitions" | |
| + }, | |
| + { | |
| + "type": "connections", | |
| + "properties": { | |
| + "type": "connections", | |
| + "properties.steps.0": "appSettings" | |
| + } | |
| + }, | |
| + { | |
| + "type": "customButtons" | |
| + }, | |
| + { | |
| + "type": "resources" | |
| + }, | |
| + { | |
| + "type": "formData" | |
| + } | |
| + ], | |
| + "contributes": {} | |
| + } | |
| +] | |
| \ No newline at end of file |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment