1- /*
2- * ================================================================================
3- * MULTI-AI FILE PASTER CHROME EXTENSION | PRODUCTION RELEASE v1.1.0
4- * CHROME EXTENSION SOFTWARE - HOSTWEK CUSTOM LICENSE
5- * ================================================================================
6- *
7- * MODULE: src/content/platforms/factory.js
8- * FUNCTION: Platform factory for creating platform-specific handlers
9- * ARCHITECTURE: Chrome Extension Manifest V3 with Factory Pattern
10- * SECURITY: Client-side processing, zero data transmission, privacy-first
11- * PERFORMANCE: Optimized content script, efficient DOM manipulation, lazy loading
12- * COMPATIBILITY: Chrome 88+, Edge 88+, Opera 74+, cross-platform AI support
13- * RELIABILITY: Quality error handling, graceful degradation, stable operation
14- *
15- * DEVELOPMENT TEAM & PROJECT LEADERSHIP:
1+ /*
2+ * ================================================================================
3+ * MULTI-AI FILE PASTER CHROME EXTENSION | PRODUCTION RELEASE v1.1.0
4+ * CHROME EXTENSION SOFTWARE - HOSTWEK CUSTOM LICENSE
5+ * ================================================================================
6+ *
7+ * MODULE: src/content/platforms/factory.js
8+ * FUNCTION: Platform factory for creating platform-specific handlers
9+ * ARCHITECTURE: Chrome Extension Manifest V3 with Factory Pattern
10+ * SECURITY: Client-side processing, zero data transmission, privacy-first
11+ * PERFORMANCE: Optimized content script, efficient DOM manipulation, lazy loading
12+ * COMPATIBILITY: Chrome 88+, Edge 88+, Opera 74+, cross-platform AI support
13+ * RELIABILITY: Quality error handling, graceful degradation, stable operation
14+ *
15+ * DEVELOPMENT TEAM & PROJECT LEADERSHIP:
1616 * • LEAD DEVELOPER: Joseph Matino <dev@josephmatino.com> | https:
1717 * • SCRUM MASTER & PROJECT FUNDING: Majok Deng <scrum@majokdeng.com> | https:
18- * • QUALITY ASSURANCE: Automated testing pipeline with CircleCI integration
19- * • PROJECT MANAGEMENT: Agile methodology, continuous integration/deployment
20- * • CODE REVIEW: Peer review process, automated quality gates, security audits
21- * • DOCUMENTATION: Technical writers, API documentation, user experience guides
22- *
23- * ORGANIZATION & GOVERNANCE:
18+ * • QUALITY ASSURANCE: Automated testing pipeline with CircleCI integration
19+ * • PROJECT MANAGEMENT: Agile methodology, continuous integration/deployment
20+ * • CODE REVIEW: Peer review process, automated quality gates, security audits
21+ * • DOCUMENTATION: Technical writers, API documentation, user experience guides
22+ *
23+ * ORGANIZATION & GOVERNANCE:
2424 * • COMPANY: HOSTWEK LTD - Premium Hosting Company | East Africa | https:
2525 * • DIVISION: WekTurbo Designs - Web Development Division | https:
2626 * • REPOSITORY: https:
27- * • TECHNICAL SUPPORT: dev@josephmatino.com, wekturbo@hostwek.com | Response time: 24-48 hours
28- * • DOCUMENTATION: Complete API docs, user guides, developer documentation
29- * • COMMUNITY: Development community, issue tracking, feature requests
30- * • ROADMAP: Public development roadmap, community feedback integration
31- *
32- * TECHNICAL ARCHITECTURE & INTEGRATIONS:
33- * • PLATFORM INTEGRATIONS: ChatGPT, Claude, Gemini, DeepSeek, Grok
34- * • CORE DEPENDENCIES: Platform Factory, Language Detector, File Attachment System
35- * • FEATURES: Multi-platform support, file compression, batch processing, analytics
36- * • TESTING: Automated unit tests, integration tests, cross-platform validation
37- * • MONITORING: Performance metrics, error tracking, user analytics (opt-in)
38- * • SCALABILITY: Modular design, plugin architecture, extensible configuration
39- *
40- * BUILD & DEPLOYMENT PIPELINE:
41- * • BUILD SYSTEM: Node.js build pipeline, ESLint validation, automated testing
42- * • DEPLOYMENT: Chrome Web Store distribution, automated release pipeline
43- * • VERSION CONTROL: Git workflow with develop/main branches, semantic versioning
44- * • CODE QUALITY: High standards, error handling
45- * • SECURITY: Static analysis, dependency scanning, vulnerability assessment
46- * • PERFORMANCE: Bundle optimization, lazy loading, efficient resource management
47- *
48- * LEGAL & LICENSING INFORMATION:
49- * COPYRIGHT © 2025 HOSTWEK LTD. ALL RIGHTS RESERVED.
50- * DEVELOPED BY JOSEPH MATINO UNDER WEKTURBO DESIGNS - HOSTWEK LTD
51- * LICENSED UNDER HOSTWEK CUSTOM LICENSE
52- *
53- * 📋 HOSTWEK CUSTOM LICENSE:
54- * This software and associated documentation files are proprietary technology
55- * of Hostwek LTD and its subsidiary WekTurbo Designs. The software contains trade
56- * secrets, confidential algorithms, and proprietary methodologies developed by
57- * Joseph Matino for browser extension solutions.
58- *
59- * PERMITTED USAGE RIGHTS:
60- * Personal use by individuals for non-commercial purposes is permitted.
61- * Educational institutions may use this software for instructional and research
62- * activities. End users are authorized to install and operate the extension as
63- * distributed through official channels. Security researchers may conduct legitimate
64- * analysis for vulnerability disclosure purposes.
65- *
66- * RESTRICTED COMMERCIAL ACTIVITIES:
67- * Commercial use, including integration into commercial products, resale,
68- * sublicensing, or distribution as part of commercial offerings, requires
69- * written authorization from Hostwek LTD. Creation of derivative works,
70- * competing products, or services based on this technology is prohibited
71- * without prior licensing agreements. Reverse engineering for competitive
72- * intelligence or commercial advantage is forbidden.
73- *
74- * INTELLECTUAL PROPERTY ENFORCEMENT:
75- * Removal, modification, or obscuring of copyright notices, attribution statements,
76- * or proprietary markings constitutes a breach of this license. Use of
77- * Hostwek LTD trademarks, service marks, or brand elements without authorization
78- * is prohibited and may result in trademark infringement proceedings.
79- *
80- * COMMERCIAL LICENSING & PARTNERSHIPS:
81- * Organizations seeking commercial licensing, integration solutions,
82- * white-label implementations, or custom development services should contact
83- * Hostwek LTD through designated channels: dev@josephmatino.com for technical
84- * licensing inquiries, scrum@majokdeng.com for business partnership discussions.
85- *
86- * 🛡️ INTELLECTUAL PROPERTY PROTECTION:
87- * This software is protected under international copyright treaties and domestic
88- * intellectual property laws. "Multi-AI File Paster", "Hostwek", and "WekTurbo
89- * Designs" are trademarks of Hostwek LTD. Unauthorized copying,
90- * modification, distribution, or reverse engineering may result in
91- * civil penalties and criminal prosecution under applicable intellectual property
92- * statutes.
93- *
94- * 🔒 CONFIDENTIALITY & TRADE SECRET PROTECTION:
95- * This software contains confidential and proprietary information constituting
96- * trade secrets of Hostwek LTD. Unauthorized disclosure, use, or distribution
97- * of this technology or its underlying source code is prohibited and
98- * may result in legal action, including injunctive relief and monetary damages.
99- * ================================================================================
100- */
101- class PlatformFactory {
102- static platforms = ( ( ) => {
103- const map = { chatgpt : 'ChatGPTPlatform' , claude : 'ClaudePlatform' , gemini : 'GeminiPlatform' , deepseek : 'DeepSeekPlatform' , grok : 'GrokPlatform' } ;
104- const doms = window . GPTPF_CONFIG ?. PLATFORM_DOMAINS ?? { } ;
105- return Object . keys ( map ) . map ( name => ( { name, class : map [ name ] , urls : doms [ name ] ?? [ ] } ) ) ;
106- } ) ( ) ;
107- static getCurrentPlatform ( ) {
108- window . GPTPF_DEBUG ?. log ( 'debug_factory_get_platform' ) ;
109- const url = window . location . href ;
110- for ( const platform of this . platforms ) {
111- if ( platform . urls . some ( u => url . includes ( u ) ) ) {
112- window . GPTPF_DEBUG ?. log ( 'debug_factory_platform_detected' , platform . name ) ;
113- return platform . name ;
114- }
115- }
116- window . GPTPF_DEBUG ?. warn ( 'debug_factory_unknown_platform' ) ;
117- return 'unknown' ;
118- }
119- static createPlatformHandler ( ) {
120- window . GPTPF_DEBUG ?. log ( 'debug_factory_create_handler' ) ;
121- const currentPlatform = this . getCurrentPlatform ( ) ;
122- for ( const platform of this . platforms ) {
123- if ( platform . name === currentPlatform ) {
124- const PlatformClass = window [ platform . class ] ;
125- if ( PlatformClass ) {
126- window . GPTPF_DEBUG ?. log ( 'debug_factory_handler_created' , platform . name ) ;
127- return new PlatformClass ( ) ;
128- }
129- }
130- }
131- window . GPTPF_DEBUG ?. warn ( 'debug_factory_no_handler' ) ;
132- return null ;
133- }
134- static getPlatformSettings ( baseSettings ) {
135- window . GPTPF_DEBUG ?. log ( 'debug_factory_get_settings' ) ;
136- const platform = this . getCurrentPlatform ( ) ;
137- const timeouts = window . GPTPF_CONFIG ?. PLATFORM_TIMEOUTS ?? { } ;
138- const merged = {
139- ...baseSettings ,
140- timeout : timeouts [ platform ] ?? timeouts . default ?? 3000 ,
141- ...( platform === 'gemini' ? { useDelay : false , delaySeconds : 0 } : { } )
142- } ;
143- const handler = this . createPlatformHandler ( ) ;
144- if ( handler && typeof handler . getPlatformSettings === 'function' ) {
145- const hs = handler . getPlatformSettings ( merged ) ?? merged ;
146- window . GPTPF_DEBUG ?. log ( 'debug_factory_settings_configured' ) ;
147- return {
148- ...hs ,
149- timeout : merged . timeout ,
150- ...( platform === 'gemini' ? { useDelay : merged . useDelay , delaySeconds : merged . delaySeconds } : { } )
151- } ;
152- }
153- window . GPTPF_DEBUG ?. log ( 'debug_factory_default_settings' ) ;
154- return merged ;
155- }
156- static isSupportedPlatform ( ) {
157- return this . getCurrentPlatform ( ) !== 'unknown' ;
158- }
159- static getSupportedPlatforms ( ) {
160- return this . platforms . map ( p => p . name ) ;
161- }
162- }
27+ * • TECHNICAL SUPPORT: dev@josephmatino.com, wekturbo@hostwek.com | Response time: 24-48 hours
28+ * • DOCUMENTATION: Complete API docs, user guides, developer documentation
29+ * • COMMUNITY: Development community, issue tracking, feature requests
30+ * • ROADMAP: Public development roadmap, community feedback integration
31+ *
32+ * TECHNICAL ARCHITECTURE & INTEGRATIONS:
33+ * • PLATFORM INTEGRATIONS: ChatGPT, Claude, Gemini, DeepSeek, Grok
34+ * • CORE DEPENDENCIES: Platform Factory, Language Detector, File Attachment System
35+ * • FEATURES: Multi-platform support, file compression, batch processing, analytics
36+ * • TESTING: Automated unit tests, integration tests, cross-platform validation
37+ * • MONITORING: Performance metrics, error tracking, user analytics (opt-in)
38+ * • SCALABILITY: Modular design, plugin architecture, extensible configuration
39+ *
40+ * BUILD & DEPLOYMENT PIPELINE:
41+ * • BUILD SYSTEM: Node.js build pipeline, ESLint validation, automated testing
42+ * • DEPLOYMENT: Chrome Web Store distribution, automated release pipeline
43+ * • VERSION CONTROL: Git workflow with develop/main branches, semantic versioning
44+ * • CODE QUALITY: High standards, error handling
45+ * • SECURITY: Static analysis, dependency scanning, vulnerability assessment
46+ * • PERFORMANCE: Bundle optimization, lazy loading, efficient resource management
47+ *
48+ * LEGAL & LICENSING INFORMATION:
49+ * COPYRIGHT © 2025 HOSTWEK LTD. ALL RIGHTS RESERVED.
50+ * DEVELOPED BY JOSEPH MATINO UNDER WEKTURBO DESIGNS - HOSTWEK LTD
51+ * LICENSED UNDER HOSTWEK CUSTOM LICENSE
52+ *
53+ * 📋 HOSTWEK CUSTOM LICENSE:
54+ * This software and associated documentation files are proprietary technology
55+ * of Hostwek LTD and its subsidiary WekTurbo Designs. The software contains trade
56+ * secrets, confidential algorithms, and proprietary methodologies developed by
57+ * Joseph Matino for browser extension solutions.
58+ *
59+ * PERMITTED USAGE RIGHTS:
60+ * Personal use by individuals for non-commercial purposes is permitted.
61+ * Educational institutions may use this software for instructional and research
62+ * activities. End users are authorized to install and operate the extension as
63+ * distributed through official channels. Security researchers may conduct legitimate
64+ * analysis for vulnerability disclosure purposes.
65+ *
66+ * RESTRICTED COMMERCIAL ACTIVITIES:
67+ * Commercial use, including integration into commercial products, resale,
68+ * sublicensing, or distribution as part of commercial offerings, requires
69+ * written authorization from Hostwek LTD. Creation of derivative works,
70+ * competing products, or services based on this technology is prohibited
71+ * without prior licensing agreements. Reverse engineering for competitive
72+ * intelligence or commercial advantage is forbidden.
73+ *
74+ * INTELLECTUAL PROPERTY ENFORCEMENT:
75+ * Removal, modification, or obscuring of copyright notices, attribution statements,
76+ * or proprietary markings constitutes a breach of this license. Use of
77+ * Hostwek LTD trademarks, service marks, or brand elements without authorization
78+ * is prohibited and may result in trademark infringement proceedings.
79+ *
80+ * COMMERCIAL LICENSING & PARTNERSHIPS:
81+ * Organizations seeking commercial licensing, integration solutions,
82+ * white-label implementations, or custom development services should contact
83+ * Hostwek LTD through designated channels: dev@josephmatino.com for technical
84+ * licensing inquiries, scrum@majokdeng.com for business partnership discussions.
85+ *
86+ * 🛡️ INTELLECTUAL PROPERTY PROTECTION:
87+ * This software is protected under international copyright treaties and domestic
88+ * intellectual property laws. "Multi-AI File Paster", "Hostwek", and "WekTurbo
89+ * Designs" are trademarks of Hostwek LTD. Unauthorized copying,
90+ * modification, distribution, or reverse engineering may result in
91+ * civil penalties and criminal prosecution under applicable intellectual property
92+ * statutes.
93+ *
94+ * 🔒 CONFIDENTIALITY & TRADE SECRET PROTECTION:
95+ * This software contains confidential and proprietary information constituting
96+ * trade secrets of Hostwek LTD. Unauthorized disclosure, use, or distribution
97+ * of this technology or its underlying source code is prohibited and
98+ * may result in legal action, including injunctive relief and monetary damages.
99+ * ================================================================================
100+ */
101+ class PlatformFactory {
102+ static platforms = ( ( ) => {
103+ const map = { chatgpt : 'ChatGPTPlatform' , claude : 'ClaudePlatform' , gemini : 'GeminiPlatform' , deepseek : 'DeepSeekPlatform' , grok : 'GrokPlatform' } ;
104+ const doms = window . GPTPF_CONFIG ?. PLATFORM_DOMAINS ?? { } ;
105+ return Object . keys ( map ) . map ( name => ( { name, class : map [ name ] , urls : doms [ name ] ?? [ ] } ) ) ;
106+ } ) ( ) ;
107+ static getCurrentPlatform ( ) {
108+ window . GPTPF_DEBUG ?. log ( 'debug_factory_get_platform' ) ;
109+ const url = window . location . href ;
110+ for ( const platform of this . platforms ) {
111+ if ( platform . urls . some ( u => url . includes ( u ) ) ) {
112+ window . GPTPF_DEBUG ?. log ( 'debug_factory_platform_detected' , platform . name ) ;
113+ return platform . name ;
114+ }
115+ }
116+ window . GPTPF_DEBUG ?. warn ( 'debug_factory_unknown_platform' ) ;
117+ return 'unknown' ;
118+ }
119+ static createPlatformHandler ( ) {
120+ window . GPTPF_DEBUG ?. log ( 'debug_factory_create_handler' ) ;
121+ const currentPlatform = this . getCurrentPlatform ( ) ;
122+ for ( const platform of this . platforms ) {
123+ if ( platform . name === currentPlatform ) {
124+ const PlatformClass = window [ platform . class ] ;
125+ if ( PlatformClass ) {
126+ window . GPTPF_DEBUG ?. log ( 'debug_factory_handler_created' , platform . name ) ;
127+ return new PlatformClass ( ) ;
128+ }
129+ }
130+ }
131+ window . GPTPF_DEBUG ?. warn ( 'debug_factory_no_handler' ) ;
132+ return null ;
133+ }
134+ static getPlatformSettings ( baseSettings ) {
135+ window . GPTPF_DEBUG ?. log ( 'debug_factory_get_settings' ) ;
136+ const platform = this . getCurrentPlatform ( ) ;
137+ const timeouts = window . GPTPF_CONFIG ?. PLATFORM_TIMEOUTS ?? { } ;
138+ const merged = {
139+ ...baseSettings ,
140+ timeout : timeouts [ platform ] ?? timeouts . default ?? 3000 ,
141+ ...( platform === 'gemini' ? { useDelay : false , delaySeconds : 0 } : { } )
142+ } ;
143+ const handler = this . createPlatformHandler ( ) ;
144+ if ( handler && typeof handler . getPlatformSettings === 'function' ) {
145+ const hs = handler . getPlatformSettings ( merged ) ?? merged ;
146+ window . GPTPF_DEBUG ?. log ( 'debug_factory_settings_configured' ) ;
147+ return {
148+ ...hs ,
149+ timeout : merged . timeout ,
150+ ...( platform === 'gemini' ? { useDelay : merged . useDelay , delaySeconds : merged . delaySeconds } : { } )
151+ } ;
152+ }
153+ window . GPTPF_DEBUG ?. log ( 'debug_factory_default_settings' ) ;
154+ return merged ;
155+ }
156+ static isSupportedPlatform ( ) {
157+ return this . getCurrentPlatform ( ) !== 'unknown' ;
158+ }
159+ static getSupportedPlatforms ( ) {
160+ return this . platforms . map ( p => p . name ) ;
161+ }
162+ }
163163window . PlatformFactory = PlatformFactory ;
0 commit comments