@shardworks/oculus-apparatus 0.1.129 → 0.1.131

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.
@@ -1 +1 @@
1
- {"version":3,"file":"oculus.d.ts","sourceRoot":"","sources":["../src/oculus.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,EAA8C,MAAM,wBAAwB,CAAC;AAkCjG,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAS5F;AAoBD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,EACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA4B1F;AAgED,wBAAgB,YAAY,IAAI,MAAM,CA+WrC"}
1
+ {"version":3,"file":"oculus.d.ts","sourceRoot":"","sources":["../src/oculus.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAC;AAkCrE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAS5F;AAoBD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,EACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA4B1F;AAyED,wBAAgB,YAAY,IAAI,MAAM,CAwarC"}
package/dist/oculus.js CHANGED
@@ -10,8 +10,8 @@ import path from 'node:path';
10
10
  import { Hono } from 'hono';
11
11
  import { serve } from '@hono/node-server';
12
12
  import { z } from 'zod';
13
- import { guild } from '@shardworks/nexus-core';
14
- import { tool } from '@shardworks/tools-apparatus';
13
+ import { guild, VERSION } from '@shardworks/nexus-core';
14
+ import { tool, isToolDefinition } from '@shardworks/tools-apparatus';
15
15
  // ── MIME types ────────────────────────────────────────────────────────
16
16
  const MIME_TYPES = {
17
17
  '.html': 'text/html; charset=utf-8',
@@ -126,6 +126,13 @@ function buildNavHtml(pages) {
126
126
  ${pageLinks}
127
127
  </nav>`;
128
128
  }
129
+ // ── HTML escaping ─────────────────────────────────────────────────────
130
+ function escapeHtml(text) {
131
+ return text
132
+ .replace(/&/g, '&amp;')
133
+ .replace(/</g, '&lt;')
134
+ .replace(/>/g, '&gt;');
135
+ }
129
136
  function zodTypeToJsonType(zodType) {
130
137
  if (zodType instanceof z.ZodString)
131
138
  return 'string';
@@ -176,11 +183,31 @@ function extractParams(schema) {
176
183
  export function createOculus() {
177
184
  let serverPort = 7470;
178
185
  let server = null;
186
+ let honoApp = null;
179
187
  const api = {
180
188
  port() {
181
189
  return serverPort;
182
190
  },
191
+ startServer() {
192
+ return startServer();
193
+ },
183
194
  };
195
+ /** Start the HTTP server (called explicitly via the oculus tool). */
196
+ async function startServer() {
197
+ if (server)
198
+ return; // already running
199
+ if (!honoApp)
200
+ throw new Error('[oculus] Cannot start server — apparatus not initialized');
201
+ const app = honoApp;
202
+ const port = serverPort;
203
+ await new Promise((resolve, reject) => {
204
+ server = serve({ fetch: app.fetch, port }, () => {
205
+ console.log(`[oculus] Listening on http://localhost:${port}`);
206
+ resolve();
207
+ });
208
+ server.on('error', reject);
209
+ });
210
+ }
184
211
  return {
185
212
  apparatus: {
186
213
  requires: ['tools'],
@@ -189,8 +216,9 @@ export function createOculus() {
189
216
  async start(ctx) {
190
217
  const g = guild();
191
218
  const oculusConfig = g.guildConfig().oculus ?? {};
192
- const port = oculusConfig.port ?? 7470;
219
+ serverPort = oculusConfig.port ?? 7470;
193
220
  const app = new Hono();
221
+ honoApp = app;
194
222
  // Track registered pages and custom route paths
195
223
  const pages = [];
196
224
  const customRoutePaths = new Set();
@@ -247,7 +275,7 @@ export function createOculus() {
247
275
  });
248
276
  }
249
277
  // ── Tool route registration helper ───────────────────────────
250
- function registerToolRoute(toolDef, instrumentarium) {
278
+ function registerToolRoute(toolDef) {
251
279
  const routePath = toolNameToRoute(toolDef.name);
252
280
  const method = permissionToMethod(toolDef.permission);
253
281
  if (mappedToolRoutes.has(routePath))
@@ -256,7 +284,6 @@ export function createOculus() {
256
284
  console.warn(`[oculus] Tool route ${method} ${routePath} conflicts with custom route from plugin — skipped`);
257
285
  return;
258
286
  }
259
- void instrumentarium; // suppress unused warning
260
287
  const shape = toolDef.params.shape;
261
288
  if (method === 'GET') {
262
289
  app.get(routePath, async (c) => {
@@ -312,55 +339,49 @@ export function createOculus() {
312
339
  }
313
340
  mappedToolRoutes.add(routePath);
314
341
  }
315
- // ── Scan contributions from a kit ────────────────────────────
316
- function scanKit(kit) {
317
- const oculusKit = kit.kit;
318
- if (oculusKit.routes) {
319
- for (const route of oculusKit.routes) {
320
- registerCustomRoute(route, kit.id);
321
- }
322
- }
323
- if (oculusKit.pages) {
324
- for (const page of oculusKit.pages) {
325
- const resolvedDir = resolveDirForPackage(kit.packageName, page.dir);
326
- registerPage(page, resolvedDir);
327
- }
342
+ // ── Register pages from all kit contributions ────────────────────
343
+ for (const entry of ctx.kits('pages')) {
344
+ for (const page of entry.value) {
345
+ const resolvedDir = resolveDirForPackage(entry.packageName, page.dir);
346
+ registerPage(page, resolvedDir);
328
347
  }
329
348
  }
330
- function scanApparatus(apparatus) {
331
- if (!apparatus.apparatus.supportKit)
332
- return;
333
- const oculusKit = apparatus.apparatus.supportKit;
334
- if (oculusKit.routes) {
335
- for (const route of oculusKit.routes) {
336
- registerCustomRoute(route, apparatus.id);
337
- }
349
+ // ── Register custom routes from all kit contributions ────────────
350
+ for (const entry of ctx.kits('routes')) {
351
+ for (const route of entry.value) {
352
+ registerCustomRoute(route, entry.pluginId);
338
353
  }
339
- if (oculusKit.pages) {
340
- for (const page of oculusKit.pages) {
341
- const resolvedDir = resolveDirForPackage(apparatus.packageName, page.dir);
342
- registerPage(page, resolvedDir);
354
+ }
355
+ // ── Register tool routes from all kit contributions ──────────
356
+ for (const entry of ctx.kits('tools')) {
357
+ const rawTools = entry.value;
358
+ if (!Array.isArray(rawTools))
359
+ continue;
360
+ for (const t of rawTools) {
361
+ if (isToolDefinition(t) && (!t.callableBy || t.callableBy.includes('patron'))) {
362
+ registerToolRoute(t);
343
363
  }
344
364
  }
345
365
  }
346
- // ── Scan existing kits and apparatuses ───────────────────────
347
- for (const kit of g.kits()) {
348
- scanKit(kit);
349
- }
350
- for (const apparatus of g.apparatuses()) {
351
- scanApparatus(apparatus);
352
- }
353
- // ── Register custom routes first ─────────────────────────────
354
- // (already done in scanKit/scanApparatus above)
355
- // ── Register tool routes ─────────────────────────────────────
356
- const instrumentarium = g.apparatus('tools');
357
- const allTools = instrumentarium.list();
358
- const patronTools = allTools.filter((r) => !r.definition.callableBy || r.definition.callableBy.includes('patron'));
359
- for (const resolved of patronTools) {
360
- registerToolRoute(resolved.definition, instrumentarium);
361
- }
366
+ // ── GET /api/_status ─────────────────────────────────────────
367
+ app.get('/api/_status', (c) => {
368
+ const config = g.guildConfig();
369
+ return c.json({
370
+ guild: config.name,
371
+ nexus: VERSION,
372
+ home: g.home,
373
+ model: config.settings?.model ?? '(not set)',
374
+ port: serverPort,
375
+ apparatuses: g.apparatuses().map((a) => ({ id: a.id, version: a.version })),
376
+ kits: g.kits().map((k) => ({ id: k.id, version: k.version })),
377
+ failedPlugins: g.failedPlugins().map((f) => ({ id: f.id, reason: f.reason })),
378
+ warnings: g.startupWarnings(),
379
+ config: config,
380
+ });
381
+ });
362
382
  // ── GET /api/_tools ──────────────────────────────────────────
363
383
  app.get('/api/_tools', (c) => {
384
+ const instrumentarium = g.apparatus('tools');
364
385
  const tools = instrumentarium.list().filter((r) => !r.definition.callableBy || r.definition.callableBy.includes('patron'));
365
386
  const entries = tools.map((r) => ({
366
387
  name: r.definition.name,
@@ -393,60 +414,108 @@ export function createOculus() {
393
414
  });
394
415
  // ── Home page ────────────────────────────────────────────────
395
416
  app.get('/', (c) => {
396
- const guildName = g.guildConfig().name;
417
+ const config = g.guildConfig();
418
+ const guildName = config.name;
397
419
  const navHtml = buildNavHtml(pages);
398
- const pageLinks = pages.length > 0
399
- ? pages
400
- .map((p) => `<li><a href="/pages/${p.id}/">${p.title}</a></li>`)
401
- .join('\n ')
402
- : '<li class="empty-state">No pages registered.</li>';
420
+ const model = config.settings?.model ?? '(not set)';
421
+ // ── Identity card ──────────────────────────────────────────
422
+ const identityCard = `<div class="card" style="margin-bottom: 16px;">
423
+ <h2>Identity</h2>
424
+ <table class="data-table">
425
+ <tbody>
426
+ <tr><td>Guild</td><td>${escapeHtml(guildName)}</td></tr>
427
+ <tr><td>Nexus</td><td>${escapeHtml(VERSION)}</td></tr>
428
+ <tr><td>Home</td><td>${escapeHtml(g.home)}</td></tr>
429
+ <tr><td>Model</td><td>${escapeHtml(model)}</td></tr>
430
+ <tr><td>Port</td><td>${serverPort}</td></tr>
431
+ </tbody>
432
+ </table>
433
+ </div>`;
434
+ // ── Warnings card (conditional) ────────────────────────────
435
+ const warnings = g.startupWarnings();
436
+ const warningsCard = warnings.length > 0
437
+ ? `<div class="card" style="margin-bottom: 16px;">
438
+ <h2>Warnings</h2>
439
+ <ul>
440
+ ${warnings.map((w) => `<li><span class="badge badge--warning">${escapeHtml(w)}</span></li>`).join('\n ')}
441
+ </ul>
442
+ </div>`
443
+ : '';
444
+ // ── Plugins table ──────────────────────────────────────────
445
+ const apparatuses = g.apparatuses();
446
+ const kits = g.kits();
447
+ const failedPlugins = g.failedPlugins();
448
+ let pluginRows = '';
449
+ if (apparatuses.length === 0 && kits.length === 0 && failedPlugins.length === 0) {
450
+ pluginRows = `<tr><td colspan="4" class="empty-state">No plugins loaded.</td></tr>`;
451
+ }
452
+ else {
453
+ pluginRows += apparatuses.map((a) => `<tr>
454
+ <td>${escapeHtml(a.id)}</td>
455
+ <td>apparatus</td>
456
+ <td>${escapeHtml(a.version)}</td>
457
+ <td><span class="badge badge--success">apparatus</span></td>
458
+ </tr>`).join('\n');
459
+ pluginRows += kits.map((k) => `<tr>
460
+ <td>${escapeHtml(k.id)}</td>
461
+ <td>kit</td>
462
+ <td>${escapeHtml(k.version)}</td>
463
+ <td><span class="badge badge--info">kit</span></td>
464
+ </tr>`).join('\n');
465
+ pluginRows += failedPlugins.map((f) => `<tr>
466
+ <td>${escapeHtml(f.id)}</td>
467
+ <td>—</td>
468
+ <td>—</td>
469
+ <td><span class="badge badge--error" title="${escapeHtml(f.reason)}">failed</span> <span style="color: var(--text-dim); font-size: 11px;">${escapeHtml(f.reason)}</span></td>
470
+ </tr>`).join('\n');
471
+ }
472
+ const pluginsCard = `<div class="card" style="margin-bottom: 16px;">
473
+ <h2>Plugins</h2>
474
+ <table class="data-table">
475
+ <thead>
476
+ <tr><th>Id</th><th>Type</th><th>Version</th><th>Status</th></tr>
477
+ </thead>
478
+ <tbody>
479
+ ${pluginRows}
480
+ </tbody>
481
+ </table>
482
+ </div>`;
483
+ // ── Configuration card ─────────────────────────────────────
484
+ let rawConfig = '';
485
+ try {
486
+ rawConfig = fs.readFileSync(path.join(g.home, 'guild.json'), 'utf-8');
487
+ }
488
+ catch {
489
+ rawConfig = '(unable to read guild.json)';
490
+ }
491
+ const configCard = `<div class="card">
492
+ <details>
493
+ <summary>guild.json</summary>
494
+ <pre class="config-block"><code>${escapeHtml(rawConfig)}</code></pre>
495
+ </details>
496
+ </div>`;
403
497
  const html = `<!DOCTYPE html>
404
498
  <html lang="en">
405
499
  <head>
406
500
  <meta charset="UTF-8">
407
501
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
408
- <title>${guildName} — Guild Dashboard</title>
502
+ <title>${escapeHtml(guildName)} — Guild Dashboard</title>
409
503
  <link rel="stylesheet" href="/static/style.css">
410
504
  </head>
411
505
  <body>
412
506
  ${navHtml}
413
507
  <main style="padding: 24px;">
414
- <h1>${guildName}</h1>
415
- <div class="card">
416
- <h2>Pages</h2>
417
- <ul>
418
- ${pageLinks}
419
- </ul>
420
- </div>
508
+ <h1>${escapeHtml(guildName)}</h1>
509
+ ${identityCard}
510
+ ${warningsCard}
511
+ ${pluginsCard}
512
+ ${configCard}
421
513
  </main>
422
514
  </body>
423
515
  </html>`;
424
516
  return c.html(html);
425
517
  });
426
- // ── Late-arriving plugins ─────────────────────────────────────
427
- ctx.on('plugin:initialized', (plugin) => {
428
- const loaded = plugin;
429
- if ('apparatus' in loaded) {
430
- scanApparatus(loaded);
431
- }
432
- else if ('kit' in loaded) {
433
- scanKit(loaded);
434
- }
435
- // Check for new patron-callable tools
436
- const currentTools = instrumentarium.list().filter((r) => !r.definition.callableBy || r.definition.callableBy.includes('patron'));
437
- for (const resolved of currentTools) {
438
- registerToolRoute(resolved.definition, instrumentarium);
439
- }
440
- });
441
- // ── Start HTTP server ─────────────────────────────────────────
442
- await new Promise((resolve, reject) => {
443
- server = serve({ fetch: app.fetch, port }, () => {
444
- serverPort = port;
445
- console.log(`[oculus] Listening on http://localhost:${port}`);
446
- resolve();
447
- });
448
- server.on('error', reject);
449
- });
518
+ // Server is NOT started here — use the `oculus` tool to start it explicitly.
450
519
  },
451
520
  async stop() {
452
521
  if (server) {
@@ -469,6 +538,7 @@ ${navHtml}
469
538
  callableBy: ['patron'],
470
539
  params: {},
471
540
  handler: async () => {
541
+ await api.startServer();
472
542
  const port = api.port();
473
543
  console.log(`\n Oculus is running at http://localhost:${port}/\n`);
474
544
  console.log(' Press Ctrl+C to stop.\n');
@@ -1 +1 @@
1
- {"version":3,"file":"oculus.js","sourceRoot":"","sources":["../src/oculus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oculus.js","sourceRoot":"","sources":["../src/oculus.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -33,7 +33,9 @@ export interface OculusConfig {
33
33
  }
34
34
  /** The Oculus's public API, exposed via provides. */
35
35
  export interface OculusApi {
36
- /** The port the server is listening on. */
36
+ /** The port the server will listen on (or is listening on). */
37
37
  port(): number;
38
+ /** Start the HTTP server. No-op if already running. */
39
+ startServer(): Promise<void>;
38
40
  }
39
41
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,2DAA2D;AAC3D,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,IAAI,IAAI,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,2DAA2D;AAC3D,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,IAAI,IAAI,MAAM,CAAC;IACf,uDAAuD;IACvD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shardworks/oculus-apparatus",
3
- "version": "0.1.129",
3
+ "version": "0.1.131",
4
4
  "license": "ISC",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,8 +19,8 @@
19
19
  "@hono/node-server": "^1.13.7",
20
20
  "hono": "^4.7.11",
21
21
  "zod": "4.3.6",
22
- "@shardworks/nexus-core": "0.1.129",
23
- "@shardworks/tools-apparatus": "0.1.129"
22
+ "@shardworks/nexus-core": "0.1.131",
23
+ "@shardworks/tools-apparatus": "0.1.131"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "25.5.0"