@danieltmn/tamnora 0.9.5 → 0.10.0

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 (30) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +26 -8
  3. package/SECURITY.md +11 -6
  4. package/harness/packages/cli/src/commands/autostart.js +5 -1
  5. package/harness/packages/cli/src/commands/bridge.js +98 -18
  6. package/harness/packages/cli/test/tunnel.test.js +16 -1
  7. package/harness/packages/core/src/config/app.js +7 -1
  8. package/harness/packages/core/src/index.js +12 -1
  9. package/harness/packages/core/src/tunnel.js +125 -3
  10. package/harness/packages/core/test/home.test.js +9 -0
  11. package/harness/packages/server/public/app.js +122 -16
  12. package/harness/packages/server/public/favicon.ico +0 -0
  13. package/harness/packages/server/public/icons/icon-128x128.png +0 -0
  14. package/harness/packages/server/public/icons/icon-144x144.png +0 -0
  15. package/harness/packages/server/public/icons/icon-152x152.png +0 -0
  16. package/harness/packages/server/public/icons/icon-192x192.png +0 -0
  17. package/harness/packages/server/public/icons/icon-384x384.png +0 -0
  18. package/harness/packages/server/public/icons/icon-512x512.png +0 -0
  19. package/harness/packages/server/public/icons/icon-72x72.png +0 -0
  20. package/harness/packages/server/public/icons/icon-96x96.png +0 -0
  21. package/harness/packages/server/public/icons/logo.png +0 -0
  22. package/harness/packages/server/public/icons/tamnora.ico +0 -0
  23. package/harness/packages/server/public/index.html +63 -28
  24. package/harness/packages/server/public/landing/index.html +8 -4
  25. package/harness/packages/server/public/logo.png +0 -0
  26. package/harness/packages/server/public/manifest.webmanifest +20 -0
  27. package/harness/packages/server/public/styles.css +1772 -1667
  28. package/harness/packages/server/src/static.js +1 -0
  29. package/harness/packages/server/test/security.test.js +15 -0
  30. package/package.json +1 -1
@@ -11,6 +11,7 @@ const MIME = {
11
11
  '.mjs': 'text/javascript; charset=utf-8',
12
12
  '.css': 'text/css; charset=utf-8',
13
13
  '.json': 'application/json; charset=utf-8',
14
+ '.webmanifest': 'application/manifest+json; charset=utf-8',
14
15
  '.svg': 'image/svg+xml',
15
16
  '.png': 'image/png',
16
17
  '.jpg': 'image/jpeg',
@@ -74,6 +74,21 @@ test('localOk exige loopback en remoteAddress y sin tunel activo', async () => {
74
74
  }
75
75
  });
76
76
 
77
+ test('un bridge de tailscale no degrada localOk (red privada por loopback)', async () => {
78
+ const { instance } = await startServer();
79
+ try {
80
+ await writeFile(
81
+ bridgeStatePath(),
82
+ `${JSON.stringify({ pid: process.pid, url: 'https://pc.tailnet.ts.net', provider: 'tailscale', port: 4517 })}\n`
83
+ );
84
+ await new Promise((r) => setTimeout(r, 1100));
85
+ assert.ok(localOk({ socket: { remoteAddress: '127.0.0.1' } }), 'loopback sigue siendo local con tailscale');
86
+ } finally {
87
+ await clearTunnel();
88
+ await instance.close();
89
+ }
90
+ });
91
+
77
92
  test('POST /api/shell responde 403 mientras el tunel esta activo', async () => {
78
93
  const { instance, base } = await startServer();
79
94
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danieltmn/tamnora",
3
- "version": "0.9.5",
3
+ "version": "0.10.0",
4
4
  "description": "Harness local para IAs: agente CLI-first con TUI, consola web y evaluacion. Node puro, sin dependencias.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.25.0",