@fias/plugin-dev-harness 1.5.3 → 1.5.5

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.
@@ -594,28 +594,17 @@ function generateFallbackHtml(options) {
594
594
  <option value="staging"${options.defaultEnvironment === 'staging' ? ' selected' : ''}>STAGING</option>
595
595
  <option value="production"${options.defaultEnvironment === 'production' ? ' selected' : ''}>PRODUCTION</option>
596
596
  </select>
597
- <button id="mode-badge" class="mode-badge mode-mock" title="Click to switch mode">MOCK \\u21C6</button>
597
+ <span id="mode-badge" class="mode-badge mode-mock">MOCK</span>
598
+ <button id="mode-toggle" class="btn-icon btn-mode-toggle" title="Switch mode">Switch to Live</button>
598
599
  </div>
599
600
  <div class="toolbar-right">
601
+ <button id="publish-btn" class="btn-icon" title="Publish plugin">&#9650;</button>
600
602
  <span id="credit-balance" class="credit-balance" style="display: none"></span>
601
603
  <span id="theme-badge" class="theme-badge theme-${options.mockTheme || 'dark'}">${(options.mockTheme || 'dark').toUpperCase()}</span>
602
604
  <button id="theme-toggle" class="btn-icon" title="Toggle theme">☀/☾</button>
603
605
  <button id="reload-btn" class="btn-icon" title="Reload plugin">↻</button>
604
606
  </div>
605
607
  </div>
606
- <div id="login-modal" class="modal-overlay" style="display: none">
607
- <div class="modal">
608
- <h3>Sign in to FIAS</h3>
609
- <p>Signing in to <strong id="login-target"></strong></p>
610
- <input id="login-email" type="email" class="modal-input" placeholder="Email" autocomplete="email" />
611
- <input id="login-password" type="password" class="modal-input" placeholder="Password" autocomplete="current-password" />
612
- <div id="login-error" class="modal-error" style="display: none"></div>
613
- <div class="modal-actions">
614
- <button id="login-cancel" class="btn-secondary">Cancel</button>
615
- <button id="login-submit" class="btn-primary">Sign in</button>
616
- </div>
617
- </div>
618
- </div>
619
608
  <div id="plugin-status" class="plugin-status">
620
609
  <div class="status-spinner"></div>
621
610
  <p>Connecting to plugin server...</p>
@@ -690,5 +679,5 @@ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; b
690
679
  .log-warn { color: #fde047; }
691
680
  .log-error { color: #fca5a5; }
692
681
  .log-time { color: #6b7280; margin-right: 8px; }`;
693
- const EMBEDDED_JS = `(function(){var iframe=document.getElementById('plugin-iframe'),consoleBody=document.getElementById('console-body'),consoleCount=document.getElementById('console-count'),consoleToggle=document.getElementById('console-toggle'),creditBalance=document.getElementById('credit-balance'),themeToggle=document.getElementById('theme-toggle'),reloadBtn=document.getElementById('reload-btn'),modeBadge=document.getElementById('mode-badge'),themeBadge=document.getElementById('theme-badge'),pluginStatus=document.getElementById('plugin-status'),loginModal=document.getElementById('login-modal'),loginEmail=document.getElementById('login-email'),loginPassword=document.getElementById('login-password'),loginError=document.getElementById('login-error'),loginSubmit=document.getElementById('login-submit'),loginCancel=document.getElementById('login-cancel'),envSelector=document.getElementById('env-selector'),loginTarget=document.getElementById('login-target');var messageCount=0,currentTheme='dark',currentMode='mock',currentEnvironment='staging',hasCredentials=false,cachedConfig=null;var PM={get_user:'user:profile:read',get_theme:'theme:read',entity_invoke:'entities:invoke',image_generate:'entities:image_generate',storage_read:'storage:sandbox',storage_write:'storage:sandbox',storage_list:'storage:sandbox',storage_delete:'storage:sandbox'};var RL={entity_invoke:{m:60},image_generate:{m:10},storage_write:{m:120},storage_read:{m:300},storage_list:{m:60},storage_delete:{m:60}};var rb={};var SF='-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif',MF='"SFMono-Regular",Consolas,monospace',SP={xs:'4px',sm:'8px',md:'16px',lg:'24px',xl:'32px'},FN={body:SF,heading:SF,mono:MF};fetch('/api/config').then(function(r){return r.json()}).then(function(c){cachedConfig=c;currentTheme=c.mockTheme||'dark';currentMode=c.mode||'mock';currentEnvironment=c.environment||'staging';hasCredentials=c.hasCredentials||false;envSelector.value=currentEnvironment;uMB();uTB();if(currentMode==='live'){creditBalance.style.display='inline';fC()}cPR(function(ok){if(ok){pluginStatus.classList.add('hidden');iframe.classList.remove('hidden');iframe.src=c.pluginUrl}else{pluginStatus.classList.add('error');pluginStatus.innerHTML='<p><strong>Plugin server not reachable</strong></p><p>Make sure your plugin dev server is running.</p>'}})});consoleToggle.addEventListener('click',function(){consoleBody.classList.toggle('open')});reloadBtn.addEventListener('click',function(){if(cachedConfig)iframe.src=cachedConfig.pluginUrl});themeToggle.addEventListener('click',function(){currentTheme=currentTheme==='dark'?'light':'dark';uTB();sTP({type:'theme_update',messageId:'t_'+Date.now(),payload:gT()})});modeBadge.addEventListener('click',function(){if(currentMode==='mock'){if(!hasCredentials){sLM();return}sM('live')}else sM('mock')});envSelector.addEventListener('change',function(){fetch('/api/environment',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({environment:envSelector.value})}).then(function(r){return r.json()}).then(function(d){currentEnvironment=d.environment;currentMode=d.mode;hasCredentials=d.hasCredentials;uMB();if(currentMode==='live'){creditBalance.style.display='inline';fC()}else{creditBalance.style.display='none';creditBalance.textContent=''}lM('info','Environment: '+currentEnvironment.toUpperCase()+(hasCredentials?'':' (not authenticated)'))}).catch(function(e){lM('error',e.message)})});function sM(m){fetch('/api/mode',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({mode:m})}).then(function(r){if(!r.ok)return r.json().then(function(e){throw new Error(e.error)});return r.json()}).then(function(d){currentMode=d.mode;uMB();if(currentMode==='live'){creditBalance.style.display='inline';fC()}else{creditBalance.style.display='none';creditBalance.textContent=''}}).catch(function(e){lM('error',e.message)})}function sLM(){loginModal.style.display='flex';loginEmail.value='';loginPassword.value='';loginError.style.display='none';loginSubmit.disabled=false;loginSubmit.textContent='Sign in';loginTarget.textContent=currentEnvironment==='production'?'fias.io':'staging.fias.io';loginEmail.focus()}function hLM(){loginModal.style.display='none'}loginCancel.addEventListener('click',hLM);loginModal.addEventListener('click',function(e){if(e.target===loginModal)hLM()});loginEmail.addEventListener('keydown',function(e){if(e.key==='Enter')loginPassword.focus();if(e.key==='Escape')hLM()});loginPassword.addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();if(e.key==='Escape')hLM()});loginSubmit.addEventListener('click',doLogin);function doLogin(){var em=loginEmail.value.trim(),pw=loginPassword.value;if(!em||!pw){loginError.textContent='Email and password are required.';loginError.style.display='block';return}loginSubmit.disabled=true;loginSubmit.textContent='Signing in...';loginError.style.display='none';fetch('/api/auth/login',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({email:em,password:pw})}).then(function(r){if(!r.ok)return r.json().then(function(e){throw new Error(e.error||'Sign in failed')});return r.json()}).then(function(){hasCredentials=true;hLM();lM('info','Signed in for '+currentEnvironment.toUpperCase());sM('live')}).catch(function(e){loginError.textContent=e.message;loginError.style.display='block'}).finally(function(){loginSubmit.disabled=false;loginSubmit.textContent='Sign in'})}window.addEventListener('message',function(ev){if(ev.source!==iframe.contentWindow)return;var d=ev.data;if(!d||typeof d!=='object'||!d.type||!d.messageId)return;lM('recv',d.type,d.payload);if(d.type==='ready')return;if(d.type==='resize'){var h=d.payload&&d.payload.height;if(typeof h==='number'&&h>0){iframe.style.height=h+'px';iframe.style.flex='none'}return}if(d.type==='toast'){var msg=d.payload&&d.payload.message;if(typeof msg==='string')lM('toast',msg);return}if(d.type==='navigate'){var p=d.payload&&d.payload.path;if(typeof p==='string')lM('nav',p);return}hR(d)});function hR(d){try{var rp=PM[d.type];if(rp&&cachedConfig&&cachedConfig.permissions.indexOf(rp)===-1)throw new Error('Permission denied: '+rp);cRL(d.type)}catch(e){lM('error',e.message);sTP({type:'response',messageId:d.messageId,payload:null,error:e.message});return}if(d.type==='entity_invoke'&&d.payload&&d.payload.stream){hSR(d);return}fetch('/api/bridge',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({type:d.type,payload:d.payload})}).then(function(r){if(!r.ok)return r.json().then(function(e){throw new Error(e.error||'Bridge call failed')});return r.json()}).then(function(res){lM('send','response',res);if(d.type==='entity_invoke'&&res.metadata&&res.metadata.cost>0){lM('cost','Credits: '+res.metadata.cost.toFixed(4));fC()}sTP({type:'response',messageId:d.messageId,payload:res})}).catch(function(e){lM('error',e.message);sTP({type:'response',messageId:d.messageId,payload:null,error:e.message})})}function hSR(d){fetch('/api/bridge/stream',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({type:d.type,payload:d.payload})}).then(function(r){if(!r.ok)return r.json().then(function(e){throw new Error(e.error||'Streaming failed')});var ct=r.headers.get('content-type')||'';if(ct.indexOf('text/event-stream')===-1)return r.json().then(function(res){sTP({type:'response',messageId:d.messageId,payload:res})});var rd=r.body.getReader(),dc=new TextDecoder(),bf='',fp=null;function pump(){return rd.read().then(function(ch){if(ch.done){if(fp)sTP({type:'response',messageId:d.messageId,payload:fp});return}bf+=dc.decode(ch.value,{stream:true});var ls=bf.split('\\n');bf=ls.pop()||'';for(var i=0;i<ls.length;i++){var l=ls[i];if(l.indexOf('data: ')!==0)continue;try{var p=JSON.parse(l.slice(6));if(p.error)throw new Error(p.error);if(p.text)sTP({type:'stream_token',messageId:d.messageId,text:p.text});if(p.done){fp={output:p.output,metadata:p.metadata};if(p.metadata&&p.metadata.cost>0){lM('cost','Credits: '+p.metadata.cost.toFixed(4));fC()}}}catch(e){if(e instanceof SyntaxError)continue;throw e}}return pump()})}return pump()}).catch(function(e){lM('error',e.message);sTP({type:'response',messageId:d.messageId,payload:null,error:e.message})})}iframe.addEventListener('load',function(){if(!cachedConfig)return;sTP({type:'init',messageId:'init_0',payload:{archId:'dev_harness',permissions:cachedConfig.permissions,theme:gT(),currentPath:'/'}});lM('send','init')});function uMB(){modeBadge.textContent=currentMode.toUpperCase()+' \\u21C6';modeBadge.className='mode-badge '+(currentMode==='live'?'mode-live':'mode-mock');modeBadge.title='Click to switch to '+(currentMode==='live'?'Mock':'Live')+' mode'}function uTB(){themeBadge.textContent=currentTheme.toUpperCase();themeBadge.className='theme-badge theme-'+currentTheme;document.body.style.background=currentTheme==='light'?'#fff':'#0a0a0a';var tb=document.querySelector('.toolbar'),lg=document.querySelector('.logo'),ev=document.getElementById('env-selector'),ic=document.querySelectorAll('.btn-icon');if(currentTheme==='light'){if(tb){tb.style.background='#f5f5f5';tb.style.borderBottomColor='#e5e5e5'}if(lg)lg.style.color='#171717';if(ev){ev.style.background='#e5e5e5';ev.style.color='#171717';ev.style.borderColor='#d4d4d4'}ic.forEach(function(b){b.style.background='#e5e5e5';b.style.color='#171717';b.style.borderColor='#d4d4d4'})}else{if(tb){tb.style.background='#18181b';tb.style.borderBottomColor='#3f3f46'}if(lg)lg.style.color='#e4e4e7';if(ev){ev.style.background='#27272a';ev.style.color='#a1a1aa';ev.style.borderColor='#3f3f46'}ic.forEach(function(b){b.style.background='#27272a';b.style.color='#e4e4e7';b.style.borderColor='#3f3f46'})}}function sTP(m){iframe.contentWindow&&iframe.contentWindow.postMessage(m,'*')}function cRL(t){var l=RL[t];if(!l)return;var n=Date.now(),b=rb[t];if(!b||n-b.s>60000){rb[t]={c:1,s:n};return}if(b.c>=l.m)throw new Error('Rate limit exceeded for '+t);b.c++}function gT(){if(currentTheme==='light')return{mode:'light',colors:{primary:'#171717',secondary:'#e5e5e5',background:'#fff',surface:'#fafafa',text:'#0a0a0a',textSecondary:'#737373',border:'#e5e5e5',error:'#dc2626',warning:'#d97706',success:'#16a34a'},spacing:SP,fonts:FN};return{mode:'dark',colors:{primary:'#fff',secondary:'#1f1f1f',background:'#0a0a0a',surface:'#171717',text:'#fff',textSecondary:'#a6a6a6',border:'#2e2e2e',error:'#ef4444',warning:'#f59e0b',success:'#22c55e'},spacing:SP,fonts:FN}}function cPR(cb){fetch('/api/check-plugin').then(function(r){return r.json()}).then(function(d){cb(d.reachable)}).catch(function(){cb(true)})}function fC(){fetch('/api/credits').then(function(r){return r.json()}).then(function(d){if(d.balance!=null&&isFinite(d.balance))creditBalance.textContent='Credits: '+d.balance.toFixed(2)}).catch(function(){})}function lM(dir,type,payload){messageCount++;consoleCount.textContent=messageCount+' messages';var e=document.createElement('div');e.className='log-entry';var cls='log-info';if(dir==='error')cls='log-error';if(dir==='warn'||dir==='cost'||dir==='toast')cls='log-warn';var t='<span class="log-time">'+new Date().toLocaleTimeString()+'</span><span class="'+cls+'">['+dir.toUpperCase()+'] '+type+'</span>';if(payload&&typeof payload==='object')t+=' <span style="color:#6b7280">'+JSON.stringify(payload).substring(0,120)+'</span>';e.innerHTML=t;consoleBody.appendChild(e);consoleBody.scrollTop=consoleBody.scrollHeight}})();`;
682
+ const EMBEDDED_JS = `(function(){var iframe=document.getElementById('plugin-iframe'),consoleBody=document.getElementById('console-body'),consoleCount=document.getElementById('console-count'),consoleToggle=document.getElementById('console-toggle'),creditBalance=document.getElementById('credit-balance'),themeToggle=document.getElementById('theme-toggle'),reloadBtn=document.getElementById('reload-btn'),modeBadge=document.getElementById('mode-badge'),themeBadge=document.getElementById('theme-badge'),pluginStatus=document.getElementById('plugin-status'),modeToggle=document.getElementById('mode-toggle'),envSelector=document.getElementById('env-selector');var messageCount=0,currentTheme='dark',currentMode='mock',currentEnvironment='staging',hasCredentials=false,cachedConfig=null;var PM={get_user:'user:profile:read',get_theme:'theme:read',entity_invoke:'entities:invoke',image_generate:'entities:image_generate',storage_read:'storage:sandbox',storage_write:'storage:sandbox',storage_list:'storage:sandbox',storage_delete:'storage:sandbox'};var RL={entity_invoke:{m:60},image_generate:{m:10},storage_write:{m:120},storage_read:{m:300},storage_list:{m:60},storage_delete:{m:60}};var rb={};var SF='-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif',MF='"SFMono-Regular",Consolas,monospace',SP={xs:'4px',sm:'8px',md:'16px',lg:'24px',xl:'32px'},FN={body:SF,heading:SF,mono:MF};fetch('/api/config').then(function(r){return r.json()}).then(function(c){cachedConfig=c;currentTheme=c.mockTheme||'dark';currentMode=c.mode||'mock';currentEnvironment=c.environment||'staging';hasCredentials=c.hasCredentials||false;envSelector.value=currentEnvironment;uMB();uTB();if(currentMode==='live'){creditBalance.style.display='inline';fC()}cPR(function(ok){if(ok){pluginStatus.classList.add('hidden');iframe.classList.remove('hidden');iframe.src=c.pluginUrl}else{pluginStatus.classList.add('error');pluginStatus.innerHTML='<p><strong>Plugin server not reachable</strong></p><p>Make sure your plugin dev server is running.</p>'}})});consoleToggle.addEventListener('click',function(){consoleBody.classList.toggle('open')});reloadBtn.addEventListener('click',function(){if(cachedConfig)iframe.src=cachedConfig.pluginUrl});themeToggle.addEventListener('click',function(){currentTheme=currentTheme==='dark'?'light':'dark';uTB();sTP({type:'theme_update',messageId:'t_'+Date.now(),payload:gT()})});modeToggle.addEventListener('click',function(){if(currentMode==='mock'){if(!hasCredentials){lM('error','Not authenticated. Run: npx fias-dev login');return}sM('live')}else sM('mock')});envSelector.addEventListener('change',function(){fetch('/api/environment',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({environment:envSelector.value})}).then(function(r){return r.json()}).then(function(d){currentEnvironment=d.environment;currentMode=d.mode;hasCredentials=d.hasCredentials;uMB();if(currentMode==='live'){creditBalance.style.display='inline';fC()}else{creditBalance.style.display='none';creditBalance.textContent=''}lM('info','Environment: '+currentEnvironment.toUpperCase()+(hasCredentials?'':' (not authenticated)'))}).catch(function(e){lM('error',e.message)})});function sM(m){fetch('/api/mode',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({mode:m})}).then(function(r){if(!r.ok)return r.json().then(function(e){throw new Error(e.error)});return r.json()}).then(function(d){currentMode=d.mode;uMB();if(currentMode==='live'){creditBalance.style.display='inline';fC()}else{creditBalance.style.display='none';creditBalance.textContent=''}}).catch(function(e){lM('error',e.message)})}window.addEventListener('message',function(ev){if(ev.source!==iframe.contentWindow)return;var d=ev.data;if(!d||typeof d!=='object'||!d.type||!d.messageId)return;lM('recv',d.type,d.payload);if(d.type==='ready')return;if(d.type==='resize'){var h=d.payload&&d.payload.height;if(typeof h==='number'&&h>0){iframe.style.height=h+'px';iframe.style.flex='none'}return}if(d.type==='toast'){var msg=d.payload&&d.payload.message;if(typeof msg==='string')lM('toast',msg);return}if(d.type==='navigate'){var p=d.payload&&d.payload.path;if(typeof p==='string')lM('nav',p);return}hR(d)});function hR(d){try{var rp=PM[d.type];if(rp&&cachedConfig&&cachedConfig.permissions.indexOf(rp)===-1)throw new Error('Permission denied: '+rp);cRL(d.type)}catch(e){lM('error',e.message);sTP({type:'response',messageId:d.messageId,payload:null,error:e.message});return}if(d.type==='entity_invoke'&&d.payload&&d.payload.stream){hSR(d);return}fetch('/api/bridge',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({type:d.type,payload:d.payload})}).then(function(r){if(!r.ok)return r.json().then(function(e){throw new Error(e.error||'Bridge call failed')});return r.json()}).then(function(res){lM('send','response',res);if(d.type==='entity_invoke'&&res.metadata&&res.metadata.cost>0){lM('cost','Credits: '+res.metadata.cost.toFixed(4));fC()}sTP({type:'response',messageId:d.messageId,payload:res})}).catch(function(e){lM('error',e.message);sTP({type:'response',messageId:d.messageId,payload:null,error:e.message})})}function hSR(d){fetch('/api/bridge/stream',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({type:d.type,payload:d.payload})}).then(function(r){if(!r.ok)return r.json().then(function(e){throw new Error(e.error||'Streaming failed')});var ct=r.headers.get('content-type')||'';if(ct.indexOf('text/event-stream')===-1)return r.json().then(function(res){sTP({type:'response',messageId:d.messageId,payload:res})});var rd=r.body.getReader(),dc=new TextDecoder(),bf='',fp=null;function pump(){return rd.read().then(function(ch){if(ch.done){if(fp)sTP({type:'response',messageId:d.messageId,payload:fp});return}bf+=dc.decode(ch.value,{stream:true});var ls=bf.split('\\n');bf=ls.pop()||'';for(var i=0;i<ls.length;i++){var l=ls[i];if(l.indexOf('data: ')!==0)continue;try{var p=JSON.parse(l.slice(6));if(p.error)throw new Error(p.error);if(p.text)sTP({type:'stream_token',messageId:d.messageId,text:p.text});if(p.done){fp={output:p.output,metadata:p.metadata};if(p.metadata&&p.metadata.cost>0){lM('cost','Credits: '+p.metadata.cost.toFixed(4));fC()}}}catch(e){if(e instanceof SyntaxError)continue;throw e}}return pump()})}return pump()}).catch(function(e){lM('error',e.message);sTP({type:'response',messageId:d.messageId,payload:null,error:e.message})})}iframe.addEventListener('load',function(){if(!cachedConfig)return;sTP({type:'init',messageId:'init_0',payload:{archId:'dev_harness',permissions:cachedConfig.permissions,theme:gT(),currentPath:'/'}});lM('send','init')});function uMB(){modeBadge.textContent=currentMode.toUpperCase();modeBadge.className='mode-badge '+(currentMode==='live'?'mode-live':'mode-mock');modeToggle.textContent='Switch to '+(currentMode==='live'?'Mock':'Live')}function uTB(){themeBadge.textContent=currentTheme.toUpperCase();themeBadge.className='theme-badge theme-'+currentTheme;document.body.style.background=currentTheme==='light'?'#fff':'#0a0a0a';var tb=document.querySelector('.toolbar'),lg=document.querySelector('.logo'),ev=document.getElementById('env-selector'),ic=document.querySelectorAll('.btn-icon');if(currentTheme==='light'){if(tb){tb.style.background='#f5f5f5';tb.style.borderBottomColor='#e5e5e5'}if(lg)lg.style.color='#171717';if(ev){ev.style.background='#e5e5e5';ev.style.color='#171717';ev.style.borderColor='#d4d4d4'}ic.forEach(function(b){b.style.background='#e5e5e5';b.style.color='#171717';b.style.borderColor='#d4d4d4'})}else{if(tb){tb.style.background='#18181b';tb.style.borderBottomColor='#3f3f46'}if(lg)lg.style.color='#e4e4e7';if(ev){ev.style.background='#27272a';ev.style.color='#a1a1aa';ev.style.borderColor='#3f3f46'}ic.forEach(function(b){b.style.background='#27272a';b.style.color='#e4e4e7';b.style.borderColor='#3f3f46'})}}function sTP(m){iframe.contentWindow&&iframe.contentWindow.postMessage(m,'*')}function cRL(t){var l=RL[t];if(!l)return;var n=Date.now(),b=rb[t];if(!b||n-b.s>60000){rb[t]={c:1,s:n};return}if(b.c>=l.m)throw new Error('Rate limit exceeded for '+t);b.c++}function gT(){if(currentTheme==='light')return{mode:'light',colors:{primary:'#171717',secondary:'#e5e5e5',background:'#fff',surface:'#fafafa',text:'#0a0a0a',textSecondary:'#737373',border:'#e5e5e5',error:'#dc2626',warning:'#d97706',success:'#16a34a'},spacing:SP,fonts:FN};return{mode:'dark',colors:{primary:'#fff',secondary:'#1f1f1f',background:'#0a0a0a',surface:'#171717',text:'#fff',textSecondary:'#a6a6a6',border:'#2e2e2e',error:'#ef4444',warning:'#f59e0b',success:'#22c55e'},spacing:SP,fonts:FN}}function cPR(cb){fetch('/api/check-plugin').then(function(r){return r.json()}).then(function(d){cb(d.reachable)}).catch(function(){cb(true)})}function fC(){fetch('/api/credits').then(function(r){return r.json()}).then(function(d){if(d.balance!=null&&isFinite(d.balance))creditBalance.textContent='Credits: '+d.balance.toFixed(2)}).catch(function(){})}function lM(dir,type,payload){messageCount++;consoleCount.textContent=messageCount+' messages';var e=document.createElement('div');e.className='log-entry';var cls='log-info';if(dir==='error')cls='log-error';if(dir==='warn'||dir==='cost'||dir==='toast')cls='log-warn';var t='<span class="log-time">'+new Date().toLocaleTimeString()+'</span><span class="'+cls+'">['+dir.toUpperCase()+'] '+type+'</span>';if(payload&&typeof payload==='object')t+=' <span style="color:#6b7280">'+JSON.stringify(payload).substring(0,120)+'</span>';e.innerHTML=t;consoleBody.appendChild(e);consoleBody.scrollTop=consoleBody.scrollHeight}})();`;
694
683
  //# sourceMappingURL=harness-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"harness-server.js","sourceRoot":"","sources":["../../src/server/harness-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-server.js","sourceRoot":"","sources":["../../src/server/harness-server.ts"],"names":[],"mappings":"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"}
@@ -65,17 +65,12 @@ body {
65
65
  font-size: 11px;
66
66
  font-weight: 600;
67
67
  text-transform: uppercase;
68
- cursor: pointer;
69
- transition: background 0.15s, border-color 0.15s;
70
68
  user-select: none;
71
69
  }
72
70
 
73
- .mode-badge:hover {
74
- filter: brightness(1.3);
75
- }
76
-
77
- .mode-badge:active {
78
- filter: brightness(0.9);
71
+ .btn-mode-toggle {
72
+ font-size: 11px;
73
+ padding: 3px 10px;
79
74
  }
80
75
 
81
76
  .mode-mock {
@@ -388,3 +383,255 @@ body {
388
383
  color: #fbbf24;
389
384
  margin-left: 8px;
390
385
  }
386
+
387
+ /* Publish Wizard */
388
+ .publish-modal {
389
+ width: 600px;
390
+ max-height: 85vh;
391
+ display: flex;
392
+ flex-direction: column;
393
+ }
394
+
395
+ .publish-steps {
396
+ display: flex;
397
+ gap: 4px;
398
+ margin-bottom: 16px;
399
+ }
400
+
401
+ .publish-step {
402
+ flex: 1;
403
+ padding: 6px 8px;
404
+ font-size: 11px;
405
+ font-weight: 600;
406
+ color: #6b7280;
407
+ background: #18181b;
408
+ border-radius: 4px;
409
+ text-align: center;
410
+ }
411
+
412
+ .publish-step.active {
413
+ color: #a78bfa;
414
+ background: #1e1b2e;
415
+ }
416
+
417
+ .publish-step.completed {
418
+ color: #86efac;
419
+ background: #0f291e;
420
+ }
421
+
422
+ .publish-content {
423
+ flex: 1;
424
+ overflow-y: auto;
425
+ max-height: 55vh;
426
+ padding: 4px 0;
427
+ }
428
+
429
+ .publish-form label {
430
+ display: block;
431
+ font-size: 12px;
432
+ color: #a1a1aa;
433
+ margin: 8px 0 4px;
434
+ }
435
+
436
+ .pub-textarea {
437
+ resize: vertical;
438
+ font-family: inherit;
439
+ min-height: 40px;
440
+ }
441
+
442
+ .pub-tags-container {
443
+ margin-bottom: 8px;
444
+ }
445
+
446
+ .pub-tags-list {
447
+ display: flex;
448
+ flex-wrap: wrap;
449
+ gap: 4px;
450
+ margin-bottom: 4px;
451
+ }
452
+
453
+ .pub-tag {
454
+ display: inline-flex;
455
+ align-items: center;
456
+ gap: 4px;
457
+ background: #3f3f46;
458
+ color: #e4e4e7;
459
+ padding: 2px 8px;
460
+ border-radius: 4px;
461
+ font-size: 11px;
462
+ }
463
+
464
+ .pub-tag-remove {
465
+ cursor: pointer;
466
+ color: #a1a1aa;
467
+ border: none;
468
+ background: none;
469
+ font-size: 14px;
470
+ padding: 0 2px;
471
+ }
472
+
473
+ .pub-permissions {
474
+ display: flex;
475
+ flex-direction: column;
476
+ gap: 6px;
477
+ margin-bottom: 12px;
478
+ }
479
+
480
+ .pub-checkbox {
481
+ display: flex;
482
+ align-items: center;
483
+ gap: 6px;
484
+ font-size: 12px;
485
+ color: #e4e4e7;
486
+ cursor: pointer;
487
+ }
488
+
489
+ .pub-checkbox input {
490
+ accent-color: #a78bfa;
491
+ }
492
+
493
+ .pub-loading {
494
+ display: flex;
495
+ flex-direction: column;
496
+ align-items: center;
497
+ gap: 12px;
498
+ padding: 32px 0;
499
+ color: #a1a1aa;
500
+ }
501
+
502
+ .pub-error-item {
503
+ color: #fca5a5;
504
+ font-size: 12px;
505
+ padding: 4px 0;
506
+ }
507
+
508
+ .pub-error-item::before {
509
+ content: '\2715 ';
510
+ }
511
+
512
+ .pub-warn-item {
513
+ color: #fde047;
514
+ font-size: 12px;
515
+ padding: 4px 0;
516
+ }
517
+
518
+ .pub-warn-item::before {
519
+ content: '\26A0 ';
520
+ }
521
+
522
+ .pub-valid {
523
+ color: #86efac;
524
+ font-size: 13px;
525
+ font-weight: 500;
526
+ margin-bottom: 12px;
527
+ }
528
+
529
+ .pub-listing-preview {
530
+ background: #18181b;
531
+ border: 1px solid #3f3f46;
532
+ border-radius: 8px;
533
+ padding: 16px;
534
+ margin-top: 12px;
535
+ }
536
+
537
+ .pub-listing-name {
538
+ font-size: 15px;
539
+ font-weight: 600;
540
+ color: #e4e4e7;
541
+ }
542
+
543
+ .pub-listing-desc {
544
+ font-size: 12px;
545
+ color: #a1a1aa;
546
+ margin-top: 4px;
547
+ }
548
+
549
+ .pub-listing-meta {
550
+ font-size: 11px;
551
+ color: #6b7280;
552
+ margin-top: 8px;
553
+ display: flex;
554
+ gap: 12px;
555
+ }
556
+
557
+ .pub-cost-info {
558
+ background: #1e1b2e;
559
+ border: 1px solid #3b3370;
560
+ border-radius: 8px;
561
+ padding: 12px;
562
+ margin-bottom: 12px;
563
+ font-size: 13px;
564
+ color: #e4e4e7;
565
+ }
566
+
567
+ .pub-cost-info strong {
568
+ color: #fde047;
569
+ }
570
+
571
+ .pub-build-output {
572
+ background: #0a0a0f;
573
+ border: 1px solid #3f3f46;
574
+ border-radius: 4px;
575
+ padding: 8px 12px;
576
+ font-family: 'SF Mono', 'Fira Code', monospace;
577
+ font-size: 11px;
578
+ max-height: 200px;
579
+ overflow-y: auto;
580
+ color: #a1a1aa;
581
+ white-space: pre-wrap;
582
+ display: none;
583
+ }
584
+
585
+ .pub-phase {
586
+ padding: 4px 0;
587
+ font-size: 12px;
588
+ color: #a1a1aa;
589
+ }
590
+
591
+ .pub-phase.active {
592
+ color: #e4e4e7;
593
+ }
594
+
595
+ .pub-phase.done {
596
+ color: #86efac;
597
+ }
598
+
599
+ .pub-phase.error {
600
+ color: #fca5a5;
601
+ }
602
+
603
+ .pub-phase::before {
604
+ content: '\25CB ';
605
+ }
606
+
607
+ .pub-phase.active::before {
608
+ content: '\25C9 ';
609
+ }
610
+
611
+ .pub-phase.done::before {
612
+ content: '\2713 ';
613
+ }
614
+
615
+ .pub-phase.error::before {
616
+ content: '\2715 ';
617
+ }
618
+
619
+ .pub-review-status {
620
+ text-align: center;
621
+ padding: 24px 0;
622
+ }
623
+
624
+ .pub-congrats {
625
+ color: #86efac;
626
+ font-size: 16px;
627
+ font-weight: 600;
628
+ text-align: center;
629
+ margin-bottom: 12px;
630
+ }
631
+
632
+ .pub-rejected {
633
+ color: #fca5a5;
634
+ font-size: 14px;
635
+ font-weight: 500;
636
+ margin-bottom: 8px;
637
+ }
@@ -14,26 +14,95 @@
14
14
  <option value="staging">STAGING</option>
15
15
  <option value="production">PRODUCTION</option>
16
16
  </select>
17
- <button id="mode-badge" class="mode-badge mode-mock" title="Click to switch mode">MOCK &#8646;</button>
17
+ <span id="mode-badge" class="mode-badge mode-mock">MOCK</span>
18
+ <button id="mode-toggle" class="btn-icon btn-mode-toggle" title="Switch mode">Switch to Live</button>
18
19
  </div>
19
20
  <div class="toolbar-right">
21
+ <button id="publish-btn" class="btn-icon" title="Publish plugin">&#9650;</button>
20
22
  <span id="credit-balance" class="credit-balance" style="display: none"></span>
21
23
  <span id="theme-badge" class="theme-badge theme-dark">DARK</span>
22
24
  <button id="theme-toggle" class="btn-icon" title="Toggle theme">&#9788;/&#9790;</button>
23
25
  <button id="reload-btn" class="btn-icon" title="Reload plugin">&#8635;</button>
24
26
  </div>
25
27
  </div>
26
- <!-- Login modal -->
27
- <div id="login-modal" class="modal-overlay" style="display: none">
28
- <div class="modal">
29
- <h3>Sign in to FIAS</h3>
30
- <p>Signing in to <strong id="login-target"></strong></p>
31
- <input id="login-email" type="email" class="modal-input" placeholder="Email" autocomplete="email" />
32
- <input id="login-password" type="password" class="modal-input" placeholder="Password" autocomplete="current-password" />
33
- <div id="login-error" class="modal-error" style="display: none"></div>
28
+ <!-- Publish wizard modal -->
29
+ <div id="publish-modal" class="modal-overlay" style="display: none">
30
+ <div class="modal publish-modal">
31
+ <div class="publish-steps">
32
+ <span class="publish-step active" data-step="1">1. Configure</span>
33
+ <span class="publish-step" data-step="2">2. Validate</span>
34
+ <span class="publish-step" data-step="3">3. Build &amp; Submit</span>
35
+ <span class="publish-step" data-step="4">4. Status</span>
36
+ </div>
37
+ <div id="publish-step-1" class="publish-content">
38
+ <div class="publish-form">
39
+ <label>Name</label>
40
+ <input id="pub-name" class="modal-input" type="text" />
41
+ <label>Version</label>
42
+ <input id="pub-version" class="modal-input" type="text" placeholder="1.0.0" />
43
+ <label>Description</label>
44
+ <textarea id="pub-description" class="modal-input pub-textarea" rows="2"></textarea>
45
+ <label>About (optional)</label>
46
+ <textarea id="pub-expanded-desc" class="modal-input pub-textarea" rows="3"></textarea>
47
+ <label>Type</label>
48
+ <select id="pub-archetype" class="modal-input">
49
+ <option value="tool">Tool</option>
50
+ <option value="site">Site</option>
51
+ </select>
52
+ <label>Tags</label>
53
+ <div class="pub-tags-container">
54
+ <div id="pub-tags-list" class="pub-tags-list"></div>
55
+ <input id="pub-tags-input" class="modal-input" type="text" placeholder="Add tag, press Enter" />
56
+ </div>
57
+ <label>Pricing</label>
58
+ <select id="pub-pricing-model" class="modal-input">
59
+ <option value="free">Free</option>
60
+ <option value="fixed">Fixed Price</option>
61
+ <option value="per_use">Per Use</option>
62
+ </select>
63
+ <div id="pub-price-row" style="display:none">
64
+ <label>Price (cents)</label>
65
+ <input id="pub-price" class="modal-input" type="number" min="0" />
66
+ </div>
67
+ <label>Permissions</label>
68
+ <div class="pub-permissions" id="pub-permissions">
69
+ <label class="pub-checkbox"><input type="checkbox" value="theme:read" /> theme:read</label>
70
+ <label class="pub-checkbox"><input type="checkbox" value="user:profile:read" /> user:profile:read</label>
71
+ <label class="pub-checkbox"><input type="checkbox" value="storage:sandbox" /> storage:sandbox</label>
72
+ <label class="pub-checkbox"><input type="checkbox" value="entities:invoke" /> entities:invoke</label>
73
+ <label class="pub-checkbox"><input type="checkbox" value="entities:image_generate" /> entities:image_generate</label>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ <div id="publish-step-2" class="publish-content" style="display:none">
78
+ <div id="pub-validate-loading" class="pub-loading">
79
+ <div class="status-spinner"></div>
80
+ <p>Validating manifest...</p>
81
+ </div>
82
+ <div id="pub-validate-results" style="display:none">
83
+ <div id="pub-validate-status"></div>
84
+ <div id="pub-validate-errors"></div>
85
+ <div id="pub-validate-warnings"></div>
86
+ <div id="pub-listing-preview" class="pub-listing-preview"></div>
87
+ </div>
88
+ </div>
89
+ <div id="publish-step-3" class="publish-content" style="display:none">
90
+ <div id="pub-cost-info" class="pub-cost-info"></div>
91
+ <div id="pub-build-output" class="pub-build-output"></div>
92
+ <div id="pub-submit-progress"></div>
93
+ </div>
94
+ <div id="publish-step-4" class="publish-content" style="display:none">
95
+ <div id="pub-review-status" class="pub-review-status">
96
+ <div class="status-spinner"></div>
97
+ <p>Waiting for review...</p>
98
+ </div>
99
+ <div id="pub-review-result" style="display:none"></div>
100
+ </div>
101
+ <div id="pub-error" class="modal-error" style="display:none"></div>
34
102
  <div class="modal-actions">
35
- <button id="login-cancel" class="btn-secondary">Cancel</button>
36
- <button id="login-submit" class="btn-primary">Sign in</button>
103
+ <button id="pub-cancel" class="btn-secondary">Cancel</button>
104
+ <button id="pub-back" class="btn-secondary" style="display:none">Back</button>
105
+ <button id="pub-next" class="btn-primary">Next</button>
37
106
  </div>
38
107
  </div>
39
108
  </div>