@gxp-dev/tools 2.0.63 → 2.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +32 -31
  2. package/bin/gx-devtools.js +74 -54
  3. package/bin/lib/cli.js +23 -21
  4. package/bin/lib/commands/add-dependency.js +366 -325
  5. package/bin/lib/commands/assets.js +137 -139
  6. package/bin/lib/commands/build.js +169 -174
  7. package/bin/lib/commands/datastore.js +181 -183
  8. package/bin/lib/commands/dev.js +127 -131
  9. package/bin/lib/commands/extensions.js +147 -149
  10. package/bin/lib/commands/extract-config.js +73 -67
  11. package/bin/lib/commands/index.js +12 -12
  12. package/bin/lib/commands/init.js +342 -240
  13. package/bin/lib/commands/publish.js +69 -75
  14. package/bin/lib/commands/socket.js +69 -69
  15. package/bin/lib/commands/ssl.js +14 -14
  16. package/bin/lib/constants.js +10 -24
  17. package/bin/lib/tui/App.tsx +761 -705
  18. package/bin/lib/tui/components/AIPanel.tsx +191 -171
  19. package/bin/lib/tui/components/CommandInput.tsx +394 -343
  20. package/bin/lib/tui/components/GeminiPanel.tsx +175 -151
  21. package/bin/lib/tui/components/Header.tsx +23 -21
  22. package/bin/lib/tui/components/LogPanel.tsx +244 -220
  23. package/bin/lib/tui/components/TabBar.tsx +50 -48
  24. package/bin/lib/tui/components/WelcomeScreen.tsx +126 -71
  25. package/bin/lib/tui/index.tsx +37 -39
  26. package/bin/lib/tui/services/AIService.ts +518 -462
  27. package/bin/lib/tui/services/ExtensionService.ts +140 -129
  28. package/bin/lib/tui/services/GeminiService.ts +367 -337
  29. package/bin/lib/tui/services/ServiceManager.ts +344 -322
  30. package/bin/lib/tui/services/SocketService.ts +168 -168
  31. package/bin/lib/tui/services/ViteService.ts +88 -88
  32. package/bin/lib/tui/services/index.ts +47 -22
  33. package/bin/lib/utils/ai-scaffold.js +291 -280
  34. package/bin/lib/utils/extract-config.js +157 -140
  35. package/bin/lib/utils/files.js +82 -86
  36. package/bin/lib/utils/index.js +7 -7
  37. package/bin/lib/utils/paths.js +34 -34
  38. package/bin/lib/utils/prompts.js +194 -169
  39. package/bin/lib/utils/ssl.js +79 -81
  40. package/browser-extensions/README.md +0 -1
  41. package/browser-extensions/chrome/background.js +244 -237
  42. package/browser-extensions/chrome/content.js +32 -29
  43. package/browser-extensions/chrome/devtools.html +7 -7
  44. package/browser-extensions/chrome/devtools.js +19 -19
  45. package/browser-extensions/chrome/inspector.js +802 -767
  46. package/browser-extensions/chrome/manifest.json +71 -63
  47. package/browser-extensions/chrome/panel.html +674 -636
  48. package/browser-extensions/chrome/panel.js +722 -712
  49. package/browser-extensions/chrome/popup.html +586 -543
  50. package/browser-extensions/chrome/popup.js +282 -244
  51. package/browser-extensions/chrome/rules.json +1 -1
  52. package/browser-extensions/chrome/test-chrome.html +216 -136
  53. package/browser-extensions/chrome/test-mixed-content.html +284 -189
  54. package/browser-extensions/chrome/test-uri-pattern.html +221 -198
  55. package/browser-extensions/firefox/README.md +9 -6
  56. package/browser-extensions/firefox/background.js +221 -218
  57. package/browser-extensions/firefox/content.js +55 -52
  58. package/browser-extensions/firefox/debug-errors.html +386 -228
  59. package/browser-extensions/firefox/debug-https.html +153 -105
  60. package/browser-extensions/firefox/devtools.html +7 -7
  61. package/browser-extensions/firefox/devtools.js +23 -20
  62. package/browser-extensions/firefox/inspector.js +802 -767
  63. package/browser-extensions/firefox/manifest.json +68 -68
  64. package/browser-extensions/firefox/panel.html +674 -636
  65. package/browser-extensions/firefox/panel.js +722 -712
  66. package/browser-extensions/firefox/popup.html +572 -535
  67. package/browser-extensions/firefox/popup.js +281 -236
  68. package/browser-extensions/firefox/test-gramercy.html +170 -125
  69. package/browser-extensions/firefox/test-imports.html +59 -55
  70. package/browser-extensions/firefox/test-masking.html +231 -140
  71. package/browser-extensions/firefox/test-uri-pattern.html +221 -198
  72. package/dist/tui/App.d.ts +1 -1
  73. package/dist/tui/App.d.ts.map +1 -1
  74. package/dist/tui/App.js +154 -150
  75. package/dist/tui/App.js.map +1 -1
  76. package/dist/tui/components/AIPanel.d.ts.map +1 -1
  77. package/dist/tui/components/AIPanel.js +42 -35
  78. package/dist/tui/components/AIPanel.js.map +1 -1
  79. package/dist/tui/components/CommandInput.d.ts +1 -1
  80. package/dist/tui/components/CommandInput.d.ts.map +1 -1
  81. package/dist/tui/components/CommandInput.js +92 -62
  82. package/dist/tui/components/CommandInput.js.map +1 -1
  83. package/dist/tui/components/GeminiPanel.d.ts.map +1 -1
  84. package/dist/tui/components/GeminiPanel.js +37 -30
  85. package/dist/tui/components/GeminiPanel.js.map +1 -1
  86. package/dist/tui/components/Header.d.ts.map +1 -1
  87. package/dist/tui/components/Header.js +1 -1
  88. package/dist/tui/components/Header.js.map +1 -1
  89. package/dist/tui/components/LogPanel.d.ts +1 -1
  90. package/dist/tui/components/LogPanel.d.ts.map +1 -1
  91. package/dist/tui/components/LogPanel.js +26 -24
  92. package/dist/tui/components/LogPanel.js.map +1 -1
  93. package/dist/tui/components/TabBar.d.ts +2 -2
  94. package/dist/tui/components/TabBar.d.ts.map +1 -1
  95. package/dist/tui/components/TabBar.js +11 -11
  96. package/dist/tui/components/TabBar.js.map +1 -1
  97. package/dist/tui/components/WelcomeScreen.d.ts.map +1 -1
  98. package/dist/tui/components/WelcomeScreen.js +6 -6
  99. package/dist/tui/components/WelcomeScreen.js.map +1 -1
  100. package/dist/tui/index.d.ts.map +1 -1
  101. package/dist/tui/index.js +8 -8
  102. package/dist/tui/index.js.map +1 -1
  103. package/dist/tui/services/AIService.d.ts +2 -2
  104. package/dist/tui/services/AIService.d.ts.map +1 -1
  105. package/dist/tui/services/AIService.js +165 -125
  106. package/dist/tui/services/AIService.js.map +1 -1
  107. package/dist/tui/services/ExtensionService.d.ts +1 -1
  108. package/dist/tui/services/ExtensionService.d.ts.map +1 -1
  109. package/dist/tui/services/ExtensionService.js +33 -26
  110. package/dist/tui/services/ExtensionService.js.map +1 -1
  111. package/dist/tui/services/GeminiService.d.ts +1 -1
  112. package/dist/tui/services/GeminiService.d.ts.map +1 -1
  113. package/dist/tui/services/GeminiService.js +87 -76
  114. package/dist/tui/services/GeminiService.js.map +1 -1
  115. package/dist/tui/services/ServiceManager.d.ts +3 -3
  116. package/dist/tui/services/ServiceManager.d.ts.map +1 -1
  117. package/dist/tui/services/ServiceManager.js +72 -58
  118. package/dist/tui/services/ServiceManager.js.map +1 -1
  119. package/dist/tui/services/SocketService.d.ts.map +1 -1
  120. package/dist/tui/services/SocketService.js +32 -32
  121. package/dist/tui/services/SocketService.js.map +1 -1
  122. package/dist/tui/services/ViteService.d.ts.map +1 -1
  123. package/dist/tui/services/ViteService.js +26 -28
  124. package/dist/tui/services/ViteService.js.map +1 -1
  125. package/dist/tui/services/index.d.ts +6 -6
  126. package/dist/tui/services/index.d.ts.map +1 -1
  127. package/dist/tui/services/index.js +6 -6
  128. package/dist/tui/services/index.js.map +1 -1
  129. package/mcp/gxp-api-server.js +83 -81
  130. package/package.json +109 -93
  131. package/runtime/PortalContainer.vue +258 -234
  132. package/runtime/dev-tools/DevToolsModal.vue +153 -155
  133. package/runtime/dev-tools/LayoutSwitcher.vue +144 -140
  134. package/runtime/dev-tools/MockDataEditor.vue +456 -433
  135. package/runtime/dev-tools/SocketSimulator.vue +379 -371
  136. package/runtime/dev-tools/StoreInspector.vue +517 -455
  137. package/runtime/dev-tools/index.js +5 -5
  138. package/runtime/fallback-layouts/PrivateLayout.vue +2 -2
  139. package/runtime/fallback-layouts/PublicLayout.vue +2 -2
  140. package/runtime/fallback-layouts/SystemLayout.vue +2 -2
  141. package/runtime/gxpStringsPlugin.js +159 -134
  142. package/runtime/index.html +17 -19
  143. package/runtime/main.js +24 -22
  144. package/runtime/mock-api/auth-middleware.js +15 -15
  145. package/runtime/mock-api/image-generator.js +46 -46
  146. package/runtime/mock-api/index.js +55 -55
  147. package/runtime/mock-api/response-generator.js +116 -105
  148. package/runtime/mock-api/route-generator.js +107 -84
  149. package/runtime/mock-api/socket-triggers.js +94 -93
  150. package/runtime/mock-api/spec-loader.js +79 -80
  151. package/runtime/package.json +3 -0
  152. package/runtime/server.js +68 -68
  153. package/runtime/stores/gxpPortalConfigStore.js +204 -186
  154. package/runtime/stores/index.js +2 -2
  155. package/runtime/vite-inspector-plugin.js +858 -707
  156. package/runtime/vite-source-tracker-plugin.js +132 -113
  157. package/runtime/vite.config.js +191 -139
  158. package/scripts/launch-chrome.js +41 -41
  159. package/scripts/pack-chrome.js +38 -39
  160. package/socket-events/AiSessionMessageCreated.json +17 -17
  161. package/socket-events/SocialStreamPostCreated.json +23 -23
  162. package/socket-events/SocialStreamPostVariantCompleted.json +22 -22
  163. package/template/.claude/agents/gxp-developer.md +100 -99
  164. package/template/.claude/settings.json +7 -7
  165. package/template/AGENTS.md +30 -23
  166. package/template/GEMINI.md +20 -20
  167. package/template/README.md +70 -53
  168. package/template/app-manifest.json +2 -4
  169. package/template/configuration.json +10 -10
  170. package/template/default-styling.css +1 -1
  171. package/template/index.html +18 -20
  172. package/template/main.js +24 -22
  173. package/template/src/DemoPage.vue +415 -362
  174. package/template/src/Plugin.vue +76 -85
  175. package/template/src/stores/index.js +3 -3
  176. package/template/src/stores/test-data.json +164 -172
  177. package/template/theme-layouts/AdditionalStyling.css +50 -50
  178. package/template/theme-layouts/PrivateLayout.vue +8 -12
  179. package/template/theme-layouts/PublicLayout.vue +8 -12
  180. package/template/theme-layouts/SystemLayout.vue +8 -12
  181. package/template/vite.extend.js +45 -0
  182. package/template/vite.config.js +0 -409
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const path = require("path");
4
- const fs = require("fs");
3
+ const path = require("path")
4
+ const fs = require("fs")
5
5
 
6
6
  /**
7
7
  * Get the dev server URL from environment variables
@@ -10,15 +10,15 @@ const fs = require("fs");
10
10
  function getDevServerUrl() {
11
11
  // Check for explicit START_URL first
12
12
  if (process.env.START_URL) {
13
- return process.env.START_URL;
13
+ return process.env.START_URL
14
14
  }
15
15
 
16
16
  // Build URL from environment variables
17
- const useHttps = process.env.USE_HTTPS !== "false";
18
- const protocol = useHttps ? "https" : "http";
19
- const port = process.env.NODE_PORT || 3060;
17
+ const useHttps = process.env.USE_HTTPS !== "false"
18
+ const protocol = useHttps ? "https" : "http"
19
+ const port = process.env.NODE_PORT || 3060
20
20
 
21
- return `${protocol}://localhost:${port}`;
21
+ return `${protocol}://localhost:${port}`
22
22
  }
23
23
 
24
24
  /**
@@ -26,10 +26,10 @@ function getDevServerUrl() {
26
26
  * This creates a defaults.json file that the popup.js reads on load
27
27
  */
28
28
  function generateExtensionDefaults(extensionPath) {
29
- const useHttps = process.env.USE_HTTPS !== "false";
30
- const protocol = useHttps ? "https" : "http";
31
- const port = process.env.NODE_PORT || 3060;
32
- const baseUrl = `${protocol}://localhost:${port}`;
29
+ const useHttps = process.env.USE_HTTPS !== "false"
30
+ const protocol = useHttps ? "https" : "http"
31
+ const port = process.env.NODE_PORT || 3060
32
+ const baseUrl = `${protocol}://localhost:${port}`
33
33
 
34
34
  const defaults = {
35
35
  // Extension should be enabled by default when launched from CLI
@@ -48,13 +48,13 @@ function generateExtensionDefaults(extensionPath) {
48
48
  // Cache settings
49
49
  clearCacheOnEnable: true,
50
50
  disableCacheForRedirects: true,
51
- };
51
+ }
52
52
 
53
- const defaultsPath = path.join(extensionPath, "defaults.json");
54
- fs.writeFileSync(defaultsPath, JSON.stringify(defaults, null, 2));
55
- console.log("📝 Generated extension defaults:", defaultsPath);
53
+ const defaultsPath = path.join(extensionPath, "defaults.json")
54
+ fs.writeFileSync(defaultsPath, JSON.stringify(defaults, null, 2))
55
+ console.log("📝 Generated extension defaults:", defaultsPath)
56
56
 
57
- return defaults;
57
+ return defaults
58
58
  }
59
59
 
60
60
  /**
@@ -62,34 +62,34 @@ function generateExtensionDefaults(extensionPath) {
62
62
  */
63
63
  async function launchChromeWithExtension() {
64
64
  // Dynamic import for chrome-launcher (ES module)
65
- const { launch } = await import("chrome-launcher");
65
+ const { launch } = await import("chrome-launcher")
66
66
  // Use environment variable if set (from CLI), otherwise use default path
67
67
  const extensionPath =
68
68
  process.env.CHROME_EXTENSION_PATH ||
69
- path.resolve(__dirname, "../browser-extensions/chrome");
69
+ path.resolve(__dirname, "../browser-extensions/chrome")
70
70
 
71
71
  // Verify extension directory exists
72
72
  if (!fs.existsSync(extensionPath)) {
73
- console.error("❌ Chrome extension directory not found:", extensionPath);
74
- process.exit(1);
73
+ console.error("❌ Chrome extension directory not found:", extensionPath)
74
+ process.exit(1)
75
75
  }
76
76
 
77
77
  // Verify manifest.json exists
78
- const manifestPath = path.join(extensionPath, "manifest.json");
78
+ const manifestPath = path.join(extensionPath, "manifest.json")
79
79
  if (!fs.existsSync(manifestPath)) {
80
- console.error("❌ Chrome extension manifest.json not found");
81
- process.exit(1);
80
+ console.error("❌ Chrome extension manifest.json not found")
81
+ process.exit(1)
82
82
  }
83
83
 
84
84
  // Generate extension defaults based on environment
85
- generateExtensionDefaults(extensionPath);
85
+ generateExtensionDefaults(extensionPath)
86
86
 
87
87
  // Get the starting URL
88
- const startingUrl = getDevServerUrl();
88
+ const startingUrl = getDevServerUrl()
89
89
 
90
- console.log("🚀 Launching Chrome with extension...");
91
- console.log("📁 Extension path:", extensionPath);
92
- console.log("🌐 Opening URL:", startingUrl);
90
+ console.log("🚀 Launching Chrome with extension...")
91
+ console.log("📁 Extension path:", extensionPath)
92
+ console.log("🌐 Opening URL:", startingUrl)
93
93
 
94
94
  try {
95
95
  const chrome = await launch({
@@ -103,27 +103,27 @@ async function launchChromeWithExtension() {
103
103
  "--no-default-browser-check",
104
104
  ],
105
105
  startingUrl: startingUrl,
106
- });
106
+ })
107
107
 
108
- console.log("✅ Chrome launched successfully!");
109
- console.log("🔧 Chrome debugging port:", chrome.port);
110
- console.log("📋 Extension should be loaded in developer mode");
111
- console.log("🌐 Navigate to chrome://extensions/ to see your extension");
108
+ console.log("✅ Chrome launched successfully!")
109
+ console.log("🔧 Chrome debugging port:", chrome.port)
110
+ console.log("📋 Extension should be loaded in developer mode")
111
+ console.log("🌐 Navigate to chrome://extensions/ to see your extension")
112
112
 
113
113
  // Keep the process alive
114
114
  process.on("SIGINT", async () => {
115
- console.log("\n🛑 Shutting down Chrome...");
116
- await chrome.kill();
117
- process.exit(0);
118
- });
115
+ console.log("\n🛑 Shutting down Chrome...")
116
+ await chrome.kill()
117
+ process.exit(0)
118
+ })
119
119
  } catch (error) {
120
- console.error("❌ Failed to launch Chrome:", error.message);
121
- process.exit(1);
120
+ console.error("❌ Failed to launch Chrome:", error.message)
121
+ process.exit(1)
122
122
  }
123
123
  }
124
124
 
125
125
  if (require.main === module) {
126
- launchChromeWithExtension();
126
+ launchChromeWithExtension()
127
127
  }
128
128
 
129
- module.exports = launchChromeWithExtension;
129
+ module.exports = launchChromeWithExtension
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const path = require("path");
4
- const fs = require("fs");
5
- const shell = require("shelljs");
3
+ const path = require("path")
4
+ const fs = require("fs")
5
+ const shell = require("shelljs")
6
6
 
7
7
  /**
8
8
  * Packages Chrome extension into a distributable format
@@ -10,82 +10,81 @@ const shell = require("shelljs");
10
10
  function packChromeExtension() {
11
11
  const extensionPath =
12
12
  process.env.CHROME_EXTENSION_PATH ||
13
- path.resolve(__dirname, "../browser-extensions/chrome");
13
+ path.resolve(__dirname, "../browser-extensions/chrome")
14
14
  const distPath =
15
- process.env.CHROME_BUILD_OUTPUT ||
16
- path.resolve(__dirname, "../dist/chrome");
15
+ process.env.CHROME_BUILD_OUTPUT || path.resolve(__dirname, "../dist/chrome")
17
16
 
18
- console.log("📦 Packaging Chrome extension...");
17
+ console.log("📦 Packaging Chrome extension...")
19
18
 
20
19
  // Verify extension directory exists
21
20
  if (!fs.existsSync(extensionPath)) {
22
- console.error("❌ Chrome extension directory not found:", extensionPath);
23
- process.exit(1);
21
+ console.error("❌ Chrome extension directory not found:", extensionPath)
22
+ process.exit(1)
24
23
  }
25
24
 
26
25
  // Create dist directory
27
26
  if (!fs.existsSync(distPath)) {
28
- fs.mkdirSync(distPath, { recursive: true });
27
+ fs.mkdirSync(distPath, { recursive: true })
29
28
  }
30
29
 
31
30
  // Read manifest to get version
32
- const manifestPath = path.join(extensionPath, "manifest.json");
33
- let version = "1.0.0";
31
+ const manifestPath = path.join(extensionPath, "manifest.json")
32
+ let version = "1.0.0"
34
33
 
35
34
  try {
36
- const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
37
- version = manifest.version || "1.0.0";
38
- console.log(`📋 Extension version: ${version}`);
35
+ const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf-8"))
36
+ version = manifest.version || "1.0.0"
37
+ console.log(`📋 Extension version: ${version}`)
39
38
  } catch (error) {
40
- console.warn("⚠️ Could not read manifest version, using default");
39
+ console.warn("⚠️ Could not read manifest version, using default")
41
40
  }
42
41
 
43
42
  // Create zip file
44
- const zipName = `gx-chrome-extension-v${version}.zip`;
45
- const zipPath = path.join(distPath, zipName);
43
+ const zipName = `gx-chrome-extension-v${version}.zip`
44
+ const zipPath = path.join(distPath, zipName)
46
45
 
47
- console.log("🗜️ Creating zip archive...");
46
+ console.log("🗜️ Creating zip archive...")
48
47
 
49
48
  // Change to extension directory and create zip
50
- const currentDir = process.cwd();
49
+ const currentDir = process.cwd()
51
50
 
52
51
  try {
53
- process.chdir(extensionPath);
52
+ process.chdir(extensionPath)
54
53
 
55
54
  // Remove existing zip if it exists
56
55
  if (fs.existsSync(zipPath)) {
57
- fs.unlinkSync(zipPath);
56
+ fs.unlinkSync(zipPath)
58
57
  }
59
58
 
60
59
  // Create zip using native zip command (works on macOS/Linux)
61
60
  const result = shell.exec(
62
61
  `zip -r "${zipPath}" . -x "*.DS_Store" "*.git*" "node_modules/*"`,
63
- { silent: true }
64
- );
62
+ { silent: true },
63
+ )
65
64
 
66
65
  if (result.code === 0) {
67
- console.log("✅ Chrome extension packaged successfully!");
68
- console.log("📁 Package location:", zipPath);
69
- console.log("");
70
- console.log("📋 Manual installation instructions:");
71
- console.log("1. Open Chrome and go to chrome://extensions/");
72
- console.log('2. Enable "Developer mode" (toggle in top right)');
73
- console.log('3. Click "Load unpacked" and select:', extensionPath);
74
- console.log("4. Or drag and drop the zip file to install");
66
+ console.log("✅ Chrome extension packaged successfully!")
67
+ console.log("📁 Package location:", zipPath)
68
+ console.log("")
69
+ console.log("📋 Manual installation instructions:")
70
+ console.log("1. Open Chrome and go to chrome://extensions/")
71
+ console.log('2. Enable "Developer mode" (toggle in top right)')
72
+ console.log('3. Click "Load unpacked" and select:', extensionPath)
73
+ console.log("4. Or drag and drop the zip file to install")
75
74
  } else {
76
- console.error("❌ Failed to create zip archive");
77
- process.exit(1);
75
+ console.error("❌ Failed to create zip archive")
76
+ process.exit(1)
78
77
  }
79
78
  } catch (error) {
80
- console.error("❌ Error packaging extension:", error.message);
81
- process.exit(1);
79
+ console.error("❌ Error packaging extension:", error.message)
80
+ process.exit(1)
82
81
  } finally {
83
- process.chdir(currentDir);
82
+ process.chdir(currentDir)
84
83
  }
85
84
  }
86
85
 
87
86
  if (require.main === module) {
88
- packChromeExtension();
87
+ packChromeExtension()
89
88
  }
90
89
 
91
- module.exports = packChromeExtension;
90
+ module.exports = packChromeExtension
@@ -1,18 +1,18 @@
1
1
  {
2
- "event": "AiSessionMessageCreated",
3
- "channel": "private.AiInterface.ai_interface_background_remover",
4
- "data": {
5
- "id": 1234,
6
- "ai_session_id": 567,
7
- "message": "Background removal process completed successfully",
8
- "type": "completion",
9
- "metadata": {
10
- "processing_time": 2.3,
11
- "input_image": "/dev-assets/images/product-placeholder.jpg",
12
- "output_image": "/dev-assets/images/background-placeholder.jpg",
13
- "confidence": 0.95
14
- },
15
- "created_at": "2024-01-15T10:30:00Z",
16
- "updated_at": "2024-01-15T10:30:00Z"
17
- }
18
- }
2
+ "event": "AiSessionMessageCreated",
3
+ "channel": "private.AiInterface.ai_interface_background_remover",
4
+ "data": {
5
+ "id": 1234,
6
+ "ai_session_id": 567,
7
+ "message": "Background removal process completed successfully",
8
+ "type": "completion",
9
+ "metadata": {
10
+ "processing_time": 2.3,
11
+ "input_image": "/dev-assets/images/product-placeholder.jpg",
12
+ "output_image": "/dev-assets/images/background-placeholder.jpg",
13
+ "confidence": 0.95
14
+ },
15
+ "created_at": "2024-01-15T10:30:00Z",
16
+ "updated_at": "2024-01-15T10:30:00Z"
17
+ }
18
+ }
@@ -1,24 +1,24 @@
1
1
  {
2
- "event": "SocialStreamPostCreated",
3
- "channel": "private.SocialStream.social_stream",
4
- "data": {
5
- "id": 789,
6
- "social_stream_id": 123,
7
- "content": "Check out this amazing photo from our event!",
8
- "author": {
9
- "id": 456,
10
- "name": "John Doe",
11
- "avatar": "/dev-assets/images/avatar-placeholder.png"
12
- },
13
- "media": {
14
- "type": "image",
15
- "url": "/dev-assets/images/product-placeholder.jpg",
16
- "thumbnail": "/dev-assets/images/thumbnail-placeholder.jpg"
17
- },
18
- "hashtags": ["#event", "#photography", "#memories"],
19
- "likes_count": 0,
20
- "comments_count": 0,
21
- "created_at": "2024-01-15T10:35:00Z",
22
- "updated_at": "2024-01-15T10:35:00Z"
23
- }
24
- }
2
+ "event": "SocialStreamPostCreated",
3
+ "channel": "private.SocialStream.social_stream",
4
+ "data": {
5
+ "id": 789,
6
+ "social_stream_id": 123,
7
+ "content": "Check out this amazing photo from our event!",
8
+ "author": {
9
+ "id": 456,
10
+ "name": "John Doe",
11
+ "avatar": "/dev-assets/images/avatar-placeholder.png"
12
+ },
13
+ "media": {
14
+ "type": "image",
15
+ "url": "/dev-assets/images/product-placeholder.jpg",
16
+ "thumbnail": "/dev-assets/images/thumbnail-placeholder.jpg"
17
+ },
18
+ "hashtags": ["#event", "#photography", "#memories"],
19
+ "likes_count": 0,
20
+ "comments_count": 0,
21
+ "created_at": "2024-01-15T10:35:00Z",
22
+ "updated_at": "2024-01-15T10:35:00Z"
23
+ }
24
+ }
@@ -1,23 +1,23 @@
1
1
  {
2
- "event": "SocialStreamPostVariantCompleted",
3
- "channel": "private.SocialStream.social_stream",
4
- "data": {
5
- "id": 789,
6
- "social_stream_post_id": 789,
7
- "variant_type": "ai_generated_style",
8
- "variant_data": {
9
- "style": "vintage",
10
- "filter": "sepia_tone",
11
- "processed_image": "http://localhost:3069/dev-assets/images/banner-placeholder.jpg",
12
- "processing_details": {
13
- "ai_model": "StyleTransfer-v2.1",
14
- "processing_time": 4.7,
15
- "quality_score": 0.89
16
- }
17
- },
18
- "status": "completed",
19
- "completed_at": "2024-01-15T10:37:30Z",
20
- "created_at": "2024-01-15T10:35:15Z",
21
- "updated_at": "2024-01-15T10:37:30Z"
22
- }
23
- }
2
+ "event": "SocialStreamPostVariantCompleted",
3
+ "channel": "private.SocialStream.social_stream",
4
+ "data": {
5
+ "id": 789,
6
+ "social_stream_post_id": 789,
7
+ "variant_type": "ai_generated_style",
8
+ "variant_data": {
9
+ "style": "vintage",
10
+ "filter": "sepia_tone",
11
+ "processed_image": "http://localhost:3069/dev-assets/images/banner-placeholder.jpg",
12
+ "processing_details": {
13
+ "ai_model": "StyleTransfer-v2.1",
14
+ "processing_time": 4.7,
15
+ "quality_score": 0.89
16
+ }
17
+ },
18
+ "status": "completed",
19
+ "completed_at": "2024-01-15T10:37:30Z",
20
+ "created_at": "2024-01-15T10:35:15Z",
21
+ "updated_at": "2024-01-15T10:37:30Z"
22
+ }
23
+ }