@onroad/core 4.0.0-alpha.25 → 4.0.0-alpha.26

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.
@@ -6,8 +6,12 @@ export interface DevToolsConfig {
6
6
  instanceId: string;
7
7
  /** GCS bucket for intermediate dump storage */
8
8
  bucketName: string;
9
- /** Default Cloud SQL source database name to export */
10
- sourceDatabase: string;
9
+ /**
10
+ * Service name used to identify which databases belong to this API.
11
+ * Production databases follow the pattern `{tenant}_{serviceName}`
12
+ * e.g. serviceName = "manutencao" matches "cationbrasil_manutencao"
13
+ */
14
+ serviceName: string;
11
15
  /** Local database connection (the Docker dev DB) */
12
16
  localDb: {
13
17
  host: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsController.d.ts","sourceRoot":"","sources":["../../src/dev/DevToolsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAQhD,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAA;IACtB,oDAAoD;IACpD,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAGrB;gBAEW,MAAM,EAAE,cAAc;IAMlC,eAAe,GAAU,MAAM,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAUpE;IAED,aAAa,GAAU,MAAM,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAuBlE;IAED,gBAAgB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAqBpE;IAED,aAAa,GACX,MAAM,OAAO,EACb,KAAK,QAAQ,KACZ,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,mBAAmB,GACjB,MAAM,OAAO,EACb,KAAK,QAAQ,KACZ,OAAO,CAAC,IAAI,CAAC,CA2Bf;IAED,eAAe,GACb,MAAM,OAAO,EACb,KAAK,QAAQ,KACZ,OAAO,CAAC,IAAI,CAAC,CAEf;YAIa,UAAU;IAoGxB,OAAO,CAAC,SAAS;CAmIlB"}
1
+ {"version":3,"file":"DevToolsController.d.ts","sourceRoot":"","sources":["../../src/dev/DevToolsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAQhD,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,oDAAoD;IACpD,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAQrB;gBAEW,MAAM,EAAE,cAAc;IAMlC,eAAe,GAAU,MAAM,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAUpE;IAED,aAAa,GAAU,MAAM,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAsClE;IAED,gBAAgB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CA8BpE;IAED,aAAa,GACX,MAAM,OAAO,EACb,KAAK,QAAQ,KACZ,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,mBAAmB,GACjB,MAAM,OAAO,EACb,KAAK,QAAQ,KACZ,OAAO,CAAC,IAAI,CAAC,CA2Bf;IAED,eAAe,GACb,MAAM,OAAO,EACb,KAAK,QAAQ,KACZ,OAAO,CAAC,IAAI,CAAC,CAEf;YAIa,UAAU;IAqGxB,OAAO,CAAC,SAAS;CAwMlB"}
@@ -30,38 +30,58 @@ export class DevToolsController {
30
30
  }
31
31
  };
32
32
  listDatabases = async (_req, res) => {
33
- const { projectId, instanceId } = this.config;
33
+ const { projectId, instanceId, serviceName } = this.config;
34
34
  try {
35
35
  const { stdout } = await execAsync("gcloud sql databases list --instance=" +
36
36
  instanceId +
37
37
  " --project=" +
38
38
  projectId +
39
39
  ' --format="json"', { timeout: 30_000 });
40
- const databases = JSON.parse(stdout)
40
+ const allDbs = JSON.parse(stdout)
41
41
  .map((d) => d.name)
42
42
  .filter((n) => !["postgres", "template0", "template1", "cloudsqladmin"].includes(n));
43
- res.json({ success: true, databases });
43
+ // Extract tenant databases matching _{serviceName} suffix
44
+ const suffix = "_" + serviceName;
45
+ const tenantDbs = allDbs
46
+ .filter((name) => name.endsWith(suffix))
47
+ .map((name) => ({
48
+ database: name,
49
+ tenant: name.slice(0, name.length - suffix.length),
50
+ }))
51
+ .sort((a, b) => a.tenant.localeCompare(b.tenant));
52
+ // Include any remaining databases as "other"
53
+ const matched = new Set(tenantDbs.map((t) => t.database));
54
+ const otherDbs = allDbs.filter((n) => !matched.has(n));
55
+ res.json({ success: true, serviceName, tenantDbs, otherDbs });
44
56
  }
45
57
  catch (error) {
46
58
  res.status(500).json({ success: false, error: error.message });
47
59
  }
48
60
  };
49
61
  exportAndRestore = async (req, res) => {
50
- const { database, dropExisting } = req.body;
51
- const dbName = database || this.config.sourceDatabase;
62
+ const { database, tenant, dropExisting } = req.body;
63
+ if (!database) {
64
+ res.status(400).json({ success: false, error: "Selecione um tenant/banco." });
65
+ return;
66
+ }
52
67
  if (this.currentRestore.status === "running") {
53
68
  res
54
69
  .status(409)
55
70
  .json({ success: false, error: "Já existe um restore em andamento." });
56
71
  return;
57
72
  }
58
- this.currentRestore = { status: "running", step: "Iniciando..." };
59
- res.json({ success: true, message: "Restore iniciado." });
60
- this.runRestore(dbName, !!dropExisting).catch((err) => {
73
+ this.currentRestore = {
74
+ status: "running",
75
+ step: "Iniciando...",
76
+ tenant: tenant || database,
77
+ };
78
+ res.json({ success: true, message: "Restore iniciado.", database, tenant });
79
+ this.runRestore(database, !!dropExisting).catch((err) => {
61
80
  this.currentRestore = {
62
81
  status: "error",
63
82
  step: "Falhou",
64
83
  error: err.message,
84
+ tenant: tenant || database,
65
85
  };
66
86
  });
67
87
  };
@@ -162,6 +182,7 @@ export class DevToolsController {
162
182
  }
163
183
  catch (error) {
164
184
  this.currentRestore = {
185
+ ...this.currentRestore,
165
186
  status: "error",
166
187
  step: "Falhou",
167
188
  error: error.message,
@@ -196,7 +217,23 @@ export class DevToolsController {
196
217
  ".btn-outline { background: transparent; border: 1px solid #475569; color: #cbd5e1; }" +
197
218
  ".btn-outline:hover:not(:disabled) { background: #334155; }" +
198
219
  ".btn-sm { padding: 6px 14px; font-size: 12px; }" +
199
- "select { background: #0f172a; color: #e2e8f0; border: 1px solid #475569; padding: 8px 12px; border-radius: 6px; font-size: 13px; width: 100%; }" +
220
+ ".tenant-list { list-style: none; margin: 0; padding: 0; }" +
221
+ ".tenant-item { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; " +
222
+ "background: #0f172a; border: 1px solid #334155; border-radius: 8px; margin-bottom: 8px; cursor: pointer; transition: all 0.15s; }" +
223
+ ".tenant-item:hover { border-color: #2563eb; background: #1a2744; }" +
224
+ ".tenant-item.selected { border-color: #2563eb; background: #1e3a5f; box-shadow: 0 0 0 1px #2563eb; }" +
225
+ ".tenant-name { font-size: 15px; font-weight: 600; color: #e2e8f0; }" +
226
+ ".tenant-db { font-size: 12px; color: #64748b; font-family: 'SF Mono', Monaco, monospace; margin-top: 2px; }" +
227
+ ".tenant-check { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #475569; " +
228
+ "display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.15s; }" +
229
+ ".tenant-item.selected .tenant-check { border-color: #2563eb; background: #2563eb; }" +
230
+ ".tenant-item.selected .tenant-check::after { content: ''; display: block; width: 6px; height: 6px; " +
231
+ "background: white; border-radius: 50%; }" +
232
+ ".loading-tenants { text-align: center; padding: 20px; color: #64748b; font-size: 13px; }" +
233
+ ".selected-tenant-banner { display: none; padding: 10px 16px; background: #1e3a5f; border: 1px solid #2563eb; " +
234
+ "border-radius: 8px; margin-bottom: 12px; font-size: 13px; color: #93c5fd; }" +
235
+ ".selected-tenant-banner.active { display: flex; align-items: center; gap: 8px; }" +
236
+ ".selected-tenant-banner strong { color: #e2e8f0; }" +
200
237
  ".progress { margin-top: 16px; padding: 14px; background: #0f172a; border-radius: 8px; border: 1px solid #334155; display: none; }" +
201
238
  ".progress.active { display: block; }" +
202
239
  ".progress .step { color: #38bdf8; font-weight: 600; font-size: 13px; }" +
@@ -204,12 +241,14 @@ export class DevToolsController {
204
241
  ".progress-bar { height: 4px; background: #334155; border-radius: 2px; margin-top: 10px; overflow: hidden; }" +
205
242
  ".progress-bar-fill { height: 100%; background: #2563eb; border-radius: 2px; transition: width 0.5s; }" +
206
243
  ".actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 12px; }" +
207
- '.checkbox-label { font-size: 13px; color: #94a3b8; display: flex; align-items: center; gap: 6px; cursor: pointer; }' +
244
+ ".checkbox-label { font-size: 13px; color: #94a3b8; display: flex; align-items: center; gap: 6px; cursor: pointer; }" +
208
245
  ".row { display: flex; gap: 8px; align-items: center; }" +
209
- ".separator { border-top: 1px solid #334155; margin: 16px 0; }";
246
+ ".separator { border-top: 1px solid #334155; margin: 16px 0; }" +
247
+ ".empty-msg { color: #64748b; font-size: 13px; text-align: center; padding: 16px; }" +
248
+ ".section-label { font-size: 12px; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }";
210
249
  var body = '<div class="container">' +
211
250
  "<h1>OnRoad Dev Console</h1>" +
212
- '<p class="subtitle">Gerenciamento de banco para desenvolvimento local</p>' +
251
+ '<p class="subtitle">' + cfg.serviceName + ' — Restaurar banco de produção para desenvolver localmente</p>' +
213
252
  // Auth card
214
253
  '<div class="card"><h2>Cloud SDK</h2>' +
215
254
  '<div class="row">' +
@@ -225,23 +264,28 @@ export class DevToolsController {
225
264
  "</dl>" +
226
265
  '<a href="/dev/db/backup/local" class="btn btn-outline btn-sm">Exportar SQL Local</a>' +
227
266
  "</div>" +
228
- // GCP Restore card
229
- '<div class="card"><h2>Restaurar do GCP</h2>' +
267
+ // Tenant selection card
268
+ '<div class="card"><h2>Selecionar Tenant</h2>' +
230
269
  '<p style="font-size:13px; color:#64748b; margin-bottom:12px;">' +
231
270
  'Instância <strong style="color:#cbd5e1;">' + cfg.instanceId + "</strong> " +
232
- 'no projeto <strong style="color:#cbd5e1;">' + cfg.projectId + "</strong>" +
233
- "</p>" +
234
- '<label style="display:block; font-size:13px; color:#94a3b8; margin-bottom:6px;">Banco de origem:</label>' +
235
- '<div class="row">' +
236
- '<select id="db-select"><option value="' + cfg.sourceDatabase + '">' + cfg.sourceDatabase + " (padrão)</option></select>" +
237
- '<button onclick="loadDatabases()" class="btn btn-outline btn-sm" id="btn-load-dbs">Atualizar</button>' +
271
+ ' serviço <strong style="color:#38bdf8;">' + cfg.serviceName + "</strong></p>" +
272
+ '<div id="tenant-loading" class="loading-tenants">Carregando tenants...</div>' +
273
+ '<ul class="tenant-list" id="tenant-list"></ul>' +
274
+ '<div id="tenant-empty" class="empty-msg" style="display:none;">Nenhum banco encontrado para o serviço "' + cfg.serviceName + '"</div>' +
275
+ '<button onclick="loadTenants()" class="btn btn-outline btn-sm" style="margin-top:8px;" id="btn-refresh">Atualizar lista</button>' +
276
+ "</div>" +
277
+ // Restore card
278
+ '<div class="card"><h2>Restaurar</h2>' +
279
+ '<div id="selected-banner" class="selected-tenant-banner">' +
280
+ 'Tenant selecionado: <strong id="banner-tenant"></strong> ' +
281
+ '— banco: <strong id="banner-db"></strong>' +
238
282
  "</div>" +
239
- '<div class="separator"></div>' +
283
+ '<div id="no-selection" style="font-size:13px; color:#64748b;">Selecione um tenant acima para restaurar.</div>' +
240
284
  '<div class="actions">' +
241
285
  '<label class="checkbox-label"><input type="checkbox" id="drop-check" checked> Limpar banco local antes de restaurar</label>' +
242
286
  "</div>" +
243
287
  '<div class="actions">' +
244
- '<button onclick="startRestore()" class="btn btn-primary" id="btn-restore">Restaurar Agora</button>' +
288
+ '<button onclick="startRestore()" class="btn btn-primary" id="btn-restore" disabled>Restaurar Agora</button>' +
245
289
  "</div>" +
246
290
  '<div class="progress" id="progress">' +
247
291
  '<div class="step" id="progress-step">Preparando...</div>' +
@@ -249,48 +293,94 @@ export class DevToolsController {
249
293
  '<div class="progress-bar"><div class="progress-bar-fill" id="progress-fill" style="width:0%"></div></div>' +
250
294
  "</div></div>" +
251
295
  "</div>";
252
- var js = "async function checkAuth(){" +
296
+ var js = "var selectedTenant=null;var selectedDb=null;" +
297
+ // Auth check
298
+ "async function checkAuth(){" +
253
299
  'var b=document.getElementById("auth-badge"),a=document.getElementById("auth-account");' +
254
300
  'try{var r=await fetch("/dev/db/auth/status");var d=await r.json();' +
255
- 'if(d.authenticated){b.className="badge badge-ok";b.textContent="autenticado";a.textContent=d.account;}' +
256
- 'else{b.className="badge badge-err";b.textContent="não autenticado";a.textContent="Execute: gcloud auth login";}' +
257
- '}catch(e){b.className="badge badge-err";b.textContent="erro";}}' +
301
+ 'if(d.authenticated){b.className="badge badge-ok";b.textContent="autenticado";a.textContent=d.account;loadTenants();}' +
302
+ 'else{b.className="badge badge-err";b.textContent="não autenticado";a.textContent="Execute: gcloud auth login";' +
303
+ 'document.getElementById("tenant-loading").textContent="Autentique no gcloud primeiro.";}}' +
304
+ 'catch(e){b.className="badge badge-err";b.textContent="erro";}}' +
258
305
  "checkAuth();" +
259
- "async function loadDatabases(){" +
260
- 'var btn=document.getElementById("btn-load-dbs");var sel=document.getElementById("db-select");btn.disabled=true;' +
306
+ // Load tenants
307
+ "async function loadTenants(){" +
308
+ 'var list=document.getElementById("tenant-list");' +
309
+ 'var loading=document.getElementById("tenant-loading");' +
310
+ 'var empty=document.getElementById("tenant-empty");' +
311
+ "loading.style.display='block';list.innerHTML='';empty.style.display='none';" +
261
312
  'try{var r=await fetch("/dev/db/databases");var d=await r.json();' +
262
- "if(d.success){var cur=sel.value;sel.innerHTML=d.databases.map(function(db){" +
263
- "return \"<option value='\" + db + \"'\" + (db===cur?\" selected\":\"\") + \">\" + db + \"</option>\";}).join(\"\");}" +
264
- '}catch(e){alert("Erro: "+e.message);}btn.disabled=false;}' +
313
+ "loading.style.display='none';" +
314
+ "if(!d.success){list.innerHTML='<li class=\"empty-msg\">Erro: '+d.error+'</li>';return;}" +
315
+ "if(d.tenantDbs.length===0){empty.style.display='block';return;}" +
316
+ "d.tenantDbs.forEach(function(t){" +
317
+ "var li=document.createElement('li');" +
318
+ "li.className='tenant-item';" +
319
+ "if(selectedDb===t.database)li.className+=' selected';" +
320
+ "li.onclick=function(){selectTenant(t.tenant,t.database);};" +
321
+ "li.innerHTML='<div><div class=\"tenant-name\">'+t.tenant+'</div>" +
322
+ "<div class=\"tenant-db\">'+t.database+'</div></div>" +
323
+ "<div class=\"tenant-check\"></div>';" +
324
+ "list.appendChild(li);});" +
325
+ // Other databases
326
+ "if(d.otherDbs&&d.otherDbs.length>0){" +
327
+ "var sep=document.createElement('li');" +
328
+ "sep.className='section-label';sep.style.marginTop='12px';" +
329
+ "sep.textContent='Outros bancos (sem tenant)';list.appendChild(sep);" +
330
+ "d.otherDbs.forEach(function(db){" +
331
+ "var li=document.createElement('li');li.className='tenant-item';" +
332
+ "if(selectedDb===db)li.className+=' selected';" +
333
+ "li.onclick=function(){selectTenant(db,db);};" +
334
+ "li.innerHTML='<div><div class=\"tenant-name\">'+db+'</div>" +
335
+ "<div class=\"tenant-db\">banco avulso</div></div>" +
336
+ "<div class=\"tenant-check\"></div>';" +
337
+ "list.appendChild(li);});}" +
338
+ '}catch(e){loading.style.display="none";list.innerHTML="<li class=\'empty-msg\'>Erro: "+e.message+"</li>";}}' +
339
+ // Select tenant
340
+ "function selectTenant(tenant,db){" +
341
+ "selectedTenant=tenant;selectedDb=db;" +
342
+ "document.querySelectorAll('.tenant-item').forEach(function(el){el.classList.remove('selected');});" +
343
+ "event.currentTarget.classList.add('selected');" +
344
+ 'var banner=document.getElementById("selected-banner");' +
345
+ 'var noSel=document.getElementById("no-selection");' +
346
+ 'document.getElementById("banner-tenant").textContent=tenant;' +
347
+ 'document.getElementById("banner-db").textContent=db;' +
348
+ "banner.classList.add('active');noSel.style.display='none';" +
349
+ 'document.getElementById("btn-restore").disabled=false;}' +
350
+ // Restore
265
351
  "var pollId=null;" +
266
352
  "async function startRestore(){" +
267
- 'var db=document.getElementById("db-select").value;' +
353
+ "if(!selectedDb){alert('Selecione um tenant primeiro.');return;}" +
268
354
  'var drop=document.getElementById("drop-check").checked;' +
269
355
  'var btn=document.getElementById("btn-restore");' +
270
- "if(!confirm(\"Restaurar '\" + db + \"' do GCP para o banco local?\" + (drop?\" O banco local será APAGADO primeiro.\":\"\")))return;" +
356
+ "if(!confirm('Restaurar tenant \"'+selectedTenant+'\" ('+selectedDb+') para o banco local?'+(drop?' O banco local será APAGADO primeiro.':'')))return;" +
271
357
  'btn.disabled=true;document.getElementById("progress").classList.add("active");' +
272
358
  'document.getElementById("progress-fill").style.width="5%";' +
273
359
  'document.getElementById("progress-fill").style.background="#2563eb";' +
274
360
  'document.getElementById("progress-step").style.color="#38bdf8";' +
361
+ 'document.getElementById("progress-substep").textContent="Tenant: "+selectedTenant;' +
275
362
  'try{var r=await fetch("/dev/db/restore",{method:"POST",headers:{"Content-Type":"application/json"},' +
276
- "body:JSON.stringify({database:db,dropExisting:drop})});var d=await r.json();" +
363
+ "body:JSON.stringify({database:selectedDb,tenant:selectedTenant,dropExisting:drop})});var d=await r.json();" +
277
364
  'if(!d.success){alert("Erro: "+d.error);btn.disabled=false;return;}' +
278
365
  "pollId=setInterval(pollStatus,2000);" +
279
366
  '}catch(e){alert("Falha: "+e.message);btn.disabled=false;}}' +
367
+ // Poll status
280
368
  "async function pollStatus(){" +
281
369
  'try{var r=await fetch("/dev/db/restore/status");var d=await r.json();' +
282
370
  'var s=document.getElementById("progress-step");var sub=document.getElementById("progress-substep");' +
283
371
  'var fill=document.getElementById("progress-fill");var btn=document.getElementById("btn-restore");' +
284
372
  "s.textContent=d.step;" +
373
+ "if(d.tenant){sub.textContent='Tenant: '+d.tenant;}" +
285
374
  'if(d.status==="running"){var m={"Exportando":20,"Baixando":40,"Recriando":55,"Restaurando":70,"Rodando":90};' +
286
- "var pct=10;for(var k in m){if(d.step.indexOf(k)>=0)pct=m[k];}fill.style.width=pct+\"%\";}" +
375
+ "var pct=10;for(var k in m){if(d.step.indexOf(k)>=0)pct=m[k];}fill.style.width=pct+'%';}" +
287
376
  'else if(d.status==="done"){fill.style.width="100%";fill.style.background="#22c55e";' +
288
- 's.style.color="#22c55e";sub.textContent="Banco local atualizado com sucesso!";clearInterval(pollId);btn.disabled=false;}' +
377
+ 's.style.color="#22c55e";sub.textContent="Tenant "+d.tenant+" restaurado com sucesso!";clearInterval(pollId);btn.disabled=false;}' +
289
378
  'else if(d.status==="error"){fill.style.width="100%";fill.style.background="#ef4444";' +
290
379
  's.style.color="#ef4444";sub.textContent=d.error||"Erro desconhecido";clearInterval(pollId);btn.disabled=false;}' +
291
380
  "}catch(e){}}";
292
381
  return ('<!DOCTYPE html><html lang="pt-br"><head><meta charset="UTF-8">' +
293
- "<title>OnRoad Dev Console</title>" +
382
+ "<title>OnRoad Dev Console — " + cfg.serviceName + "</title>" +
383
+ '<meta name="viewport" content="width=device-width, initial-scale=1">' +
294
384
  "<style>" + css + "</style></head>" +
295
385
  "<body>" + body +
296
386
  "<script>" + js + "</script></body></html>");
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsController.js","sourceRoot":"","sources":["../../src/dev/DevToolsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevToolsController.js","sourceRoot":"","sources":["../../src/dev/DevToolsController.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onroad/core",
3
- "version": "4.0.0-alpha.25",
3
+ "version": "4.0.0-alpha.26",
4
4
  "description": "TypeScript backend framework — DI Container, Filter Chain, EventBus, Provider Pattern",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",