station-kit 1.0.6 → 1.0.8

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 (88) hide show
  1. package/.next/standalone/node_modules/.pnpm/buffer-from@1.1.2/node_modules/buffer-from/index.js +72 -0
  2. package/.next/standalone/node_modules/.pnpm/buffer-from@1.1.2/node_modules/buffer-from/package.json +19 -0
  3. package/.next/standalone/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map-support/package.json +31 -0
  4. package/.next/standalone/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map-support/source-map-support.js +625 -0
  5. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/array-set.js +121 -0
  6. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64-vlq.js +140 -0
  7. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64.js +67 -0
  8. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/binary-search.js +111 -0
  9. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/mapping-list.js +79 -0
  10. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/quick-sort.js +114 -0
  11. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  12. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-generator.js +425 -0
  13. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-node.js +413 -0
  14. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/util.js +488 -0
  15. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/package.json +73 -0
  16. package/.next/standalone/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.js +8 -0
  17. package/.next/standalone/package.json +2 -1
  18. package/.next/standalone/packages/station-kit/.next/BUILD_ID +1 -1
  19. package/.next/standalone/packages/station-kit/.next/app-build-manifest.json +13 -13
  20. package/.next/standalone/packages/station-kit/.next/app-path-routes-manifest.json +3 -3
  21. package/.next/standalone/packages/station-kit/.next/build-manifest.json +2 -2
  22. package/.next/standalone/packages/station-kit/.next/prerender-manifest.json +12 -12
  23. package/.next/standalone/packages/station-kit/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/packages/station-kit/.next/server/app/_not-found.html +1 -1
  25. package/.next/standalone/packages/station-kit/.next/server/app/_not-found.rsc +1 -1
  26. package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/[id]/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/packages/station-kit/.next/server/app/broadcasts.html +1 -1
  29. package/.next/standalone/packages/station-kit/.next/server/app/broadcasts.rsc +1 -1
  30. package/.next/standalone/packages/station-kit/.next/server/app/index.html +1 -1
  31. package/.next/standalone/packages/station-kit/.next/server/app/index.rsc +1 -1
  32. package/.next/standalone/packages/station-kit/.next/server/app/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/packages/station-kit/.next/server/app/runs/[id]/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/packages/station-kit/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/packages/station-kit/.next/server/app/settings.html +1 -1
  36. package/.next/standalone/packages/station-kit/.next/server/app/settings.rsc +1 -1
  37. package/.next/standalone/packages/station-kit/.next/server/app/signals/[name]/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/packages/station-kit/.next/server/app/signals/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/packages/station-kit/.next/server/app/signals.html +1 -1
  40. package/.next/standalone/packages/station-kit/.next/server/app/signals.rsc +1 -1
  41. package/.next/standalone/packages/station-kit/.next/server/app-paths-manifest.json +3 -3
  42. package/.next/standalone/packages/station-kit/.next/server/pages/404.html +1 -1
  43. package/.next/standalone/packages/station-kit/.next/server/pages/500.html +1 -1
  44. package/.next/standalone/packages/station-kit/package.json +16 -11
  45. package/dist/cli/deploy.d.ts +2 -0
  46. package/dist/cli/deploy.d.ts.map +1 -0
  47. package/dist/cli/deploy.js +287 -0
  48. package/dist/cli/deploy.js.map +1 -0
  49. package/dist/cli/parse-args.d.ts +13 -0
  50. package/dist/cli/parse-args.d.ts.map +1 -0
  51. package/dist/cli/parse-args.js +77 -0
  52. package/dist/cli/parse-args.js.map +1 -0
  53. package/dist/cli-main.js +28 -1
  54. package/dist/cli-main.js.map +1 -1
  55. package/dist/cli.js +1 -1
  56. package/dist/cli.js.map +1 -1
  57. package/dist/config/loader.d.ts +1 -1
  58. package/dist/config/loader.d.ts.map +1 -1
  59. package/dist/config/loader.js +7 -3
  60. package/dist/config/loader.js.map +1 -1
  61. package/dist/config/schema.d.ts +5 -0
  62. package/dist/config/schema.d.ts.map +1 -1
  63. package/dist/config/schema.js +22 -3
  64. package/dist/config/schema.js.map +1 -1
  65. package/dist/index.d.ts +3 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +2 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/server/index.d.ts +7 -0
  70. package/dist/server/index.d.ts.map +1 -1
  71. package/dist/server/index.js +7 -2
  72. package/dist/server/index.js.map +1 -1
  73. package/dist/station-dir.d.ts +7 -0
  74. package/dist/station-dir.d.ts.map +1 -0
  75. package/dist/station-dir.js +15 -0
  76. package/dist/station-dir.js.map +1 -0
  77. package/package.json +15 -10
  78. package/src/cli/deploy.ts +334 -0
  79. package/src/cli/parse-args.ts +99 -0
  80. package/src/cli-main.ts +28 -1
  81. package/src/cli.ts +1 -1
  82. package/src/config/loader.ts +7 -3
  83. package/src/config/schema.ts +29 -3
  84. package/src/index.ts +3 -1
  85. package/src/server/index.ts +14 -2
  86. package/src/station-dir.ts +24 -0
  87. /package/.next/standalone/packages/station-kit/.next/static/{kqMlNlRLox_FLRK-2GwrJ → xYd6dn0Ox68DaamIrH_pB}/_buildManifest.js +0 -0
  88. /package/.next/standalone/packages/station-kit/.next/static/{kqMlNlRLox_FLRK-2GwrJ → xYd6dn0Ox68DaamIrH_pB}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/signals/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"783":{"*":{"id":"1985","name":"*","chunks":[],"async":false}},"1308":{"*":{"id":"4576","name":"*","chunks":[],"async":false}},"1961":{"*":{"id":"2167","name":"*","chunks":[],"async":false}},"2051":{"*":{"id":"2455","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"678","name":"*","chunks":[],"async":false}},"3339":{"*":{"id":"611","name":"*","chunks":[],"async":false}},"4033":{"*":{"id":"5519","name":"*","chunks":[],"async":false}},"4521":{"*":{"id":"1494","name":"*","chunks":[],"async":false}},"4913":{"*":{"id":"291","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"4978","name":"*","chunks":[],"async":false}},"5152":{"*":{"id":"3726","name":"*","chunks":[],"async":false}},"5640":{"*":{"id":"5506","name":"*","chunks":[],"async":false}},"5754":{"*":{"id":"4450","name":"*","chunks":[],"async":false}},"6537":{"*":{"id":"7506","name":"*","chunks":[],"async":false}},"6658":{"*":{"id":"7034","name":"*","chunks":[],"async":false}},"7698":{"*":{"id":"576","name":"*","chunks":[],"async":false}},"8419":{"*":{"id":"8833","name":"*","chunks":[],"async":false}},"8954":{"*":{"id":"6358","name":"*","chunks":[],"async":false}},"9103":{"*":{"id":"7140","name":"*","chunks":[],"async":false}},"9129":{"*":{"id":"5226","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"6273","name":"*","chunks":[],"async":false}},"9976":{"*":{"id":"1736","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7698,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7698,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-page.js":{"id":3339,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js":{"id":3339,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-segment.js":{"id":4033,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js":{"id":4033,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":5754,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":5754,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/layout-router.js":{"id":8954,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js":{"id":8954,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":6658,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":6658,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5640,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5640,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/framework/boundary-components.js":{"id":2051,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":2051,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/auth-provider.tsx":{"id":783,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/breadcrumb-provider.tsx":{"id":5152,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/login-page.tsx":{"id":1308,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/shell.tsx":{"id":1961,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/theme-provider.tsx":{"id":9129,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/globals.css":{"id":9469,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/hooks/use-station.tsx":{"id":9275,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/broadcasts/[id]/broadcast-detail.tsx":{"id":6537,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/runs/[id]/run-detail.tsx":{"id":9103,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/signals/[name]/signal-detail.tsx":{"id":2638,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/settings/page.tsx":{"id":4521,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/signals/page.tsx":{"id":4913,"name":"*","chunks":["764","static/chunks/app/signals/page-6a123a355d93fec5.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/broadcasts/page.tsx":{"id":9976,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/page.tsx":{"id":8419,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","974","static/chunks/app/page-70b0c0958c03459a.js"],"async":false}},"entryCSSFiles":{"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/":[],"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/layout":[{"inlined":false,"path":"static/css/0be0e65a5f561f37.css"}],"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/page":[],"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/signals/page":[]},"rscModuleMapping":{"783":{"*":{"id":"3087","name":"*","chunks":[],"async":false}},"1308":{"*":{"id":"4562","name":"*","chunks":[],"async":false}},"1961":{"*":{"id":"6825","name":"*","chunks":[],"async":false}},"2051":{"*":{"id":"5273","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"3339":{"*":{"id":"5701","name":"*","chunks":[],"async":false}},"4033":{"*":{"id":"8709","name":"*","chunks":[],"async":false}},"4521":{"*":{"id":"9845","name":"*","chunks":[],"async":false}},"4913":{"*":{"id":"5453","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"1824","name":"*","chunks":[],"async":false}},"5152":{"*":{"id":"8728","name":"*","chunks":[],"async":false}},"5640":{"*":{"id":"1968","name":"*","chunks":[],"async":false}},"5754":{"*":{"id":"492","name":"*","chunks":[],"async":false}},"6537":{"*":{"id":"5026","name":"*","chunks":[],"async":false}},"6658":{"*":{"id":"5800","name":"*","chunks":[],"async":false}},"7698":{"*":{"id":"2714","name":"*","chunks":[],"async":false}},"8419":{"*":{"id":"1727","name":"*","chunks":[],"async":false}},"8954":{"*":{"id":"3012","name":"*","chunks":[],"async":false}},"9103":{"*":{"id":"7702","name":"*","chunks":[],"async":false}},"9129":{"*":{"id":"4556","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"5295","name":"*","chunks":[],"async":false}},"9469":{"*":{"id":"4267","name":"*","chunks":[],"async":false}},"9976":{"*":{"id":"1006","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{"2051":{"*":{"id":"2455","name":"*","chunks":[],"async":false}},"3339":{"*":{"id":"611","name":"*","chunks":[],"async":false}},"4033":{"*":{"id":"5519","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"4978","name":"*","chunks":[],"async":false}},"5640":{"*":{"id":"5506","name":"*","chunks":[],"async":false}},"5754":{"*":{"id":"4450","name":"*","chunks":[],"async":false}},"6658":{"*":{"id":"7034","name":"*","chunks":[],"async":false}},"7698":{"*":{"id":"576","name":"*","chunks":[],"async":false}},"8954":{"*":{"id":"6358","name":"*","chunks":[],"async":false}}}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/signals/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"783":{"*":{"id":"1985","name":"*","chunks":[],"async":false}},"1308":{"*":{"id":"4576","name":"*","chunks":[],"async":false}},"1961":{"*":{"id":"2167","name":"*","chunks":[],"async":false}},"2051":{"*":{"id":"2455","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"678","name":"*","chunks":[],"async":false}},"3339":{"*":{"id":"611","name":"*","chunks":[],"async":false}},"4033":{"*":{"id":"5519","name":"*","chunks":[],"async":false}},"4521":{"*":{"id":"1494","name":"*","chunks":[],"async":false}},"4913":{"*":{"id":"291","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"4978","name":"*","chunks":[],"async":false}},"5152":{"*":{"id":"3726","name":"*","chunks":[],"async":false}},"5640":{"*":{"id":"5506","name":"*","chunks":[],"async":false}},"5754":{"*":{"id":"4450","name":"*","chunks":[],"async":false}},"6537":{"*":{"id":"7506","name":"*","chunks":[],"async":false}},"6658":{"*":{"id":"7034","name":"*","chunks":[],"async":false}},"7698":{"*":{"id":"576","name":"*","chunks":[],"async":false}},"8419":{"*":{"id":"8833","name":"*","chunks":[],"async":false}},"8954":{"*":{"id":"6358","name":"*","chunks":[],"async":false}},"9103":{"*":{"id":"7140","name":"*","chunks":[],"async":false}},"9129":{"*":{"id":"5226","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"6273","name":"*","chunks":[],"async":false}},"9976":{"*":{"id":"1736","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7698,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7698,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-page.js":{"id":3339,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js":{"id":3339,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-segment.js":{"id":4033,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js":{"id":4033,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":5754,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":5754,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/layout-router.js":{"id":8954,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js":{"id":8954,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":6658,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":6658,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5640,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5640,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/framework/boundary-components.js":{"id":2051,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":2051,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/node_modules/.pnpm/next@15.5.12_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/auth-provider.tsx":{"id":783,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/breadcrumb-provider.tsx":{"id":5152,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/login-page.tsx":{"id":1308,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/shell.tsx":{"id":1961,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/theme-provider.tsx":{"id":9129,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/globals.css":{"id":9469,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/hooks/use-station.tsx":{"id":9275,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","177","static/chunks/app/layout-68cd71116ba65cd8.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/page.tsx":{"id":8419,"name":"*","chunks":["580","static/chunks/580-f007f4d4c050db4e.js","974","static/chunks/app/page-70b0c0958c03459a.js"],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/broadcasts/[id]/broadcast-detail.tsx":{"id":6537,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/runs/[id]/run-detail.tsx":{"id":9103,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/settings/page.tsx":{"id":4521,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/broadcasts/page.tsx":{"id":9976,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/signals/[name]/signal-detail.tsx":{"id":2638,"name":"*","chunks":[],"async":false},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/signals/page.tsx":{"id":4913,"name":"*","chunks":["764","static/chunks/app/signals/page-6a123a355d93fec5.js"],"async":false}},"entryCSSFiles":{"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/":[],"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/layout":[{"inlined":false,"path":"static/css/0be0e65a5f561f37.css"}],"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/page":[],"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/signals/page":[]},"rscModuleMapping":{"783":{"*":{"id":"3087","name":"*","chunks":[],"async":false}},"1308":{"*":{"id":"4562","name":"*","chunks":[],"async":false}},"1961":{"*":{"id":"6825","name":"*","chunks":[],"async":false}},"2051":{"*":{"id":"5273","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"3339":{"*":{"id":"5701","name":"*","chunks":[],"async":false}},"4033":{"*":{"id":"8709","name":"*","chunks":[],"async":false}},"4521":{"*":{"id":"9845","name":"*","chunks":[],"async":false}},"4913":{"*":{"id":"5453","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"1824","name":"*","chunks":[],"async":false}},"5152":{"*":{"id":"8728","name":"*","chunks":[],"async":false}},"5640":{"*":{"id":"1968","name":"*","chunks":[],"async":false}},"5754":{"*":{"id":"492","name":"*","chunks":[],"async":false}},"6537":{"*":{"id":"5026","name":"*","chunks":[],"async":false}},"6658":{"*":{"id":"5800","name":"*","chunks":[],"async":false}},"7698":{"*":{"id":"2714","name":"*","chunks":[],"async":false}},"8419":{"*":{"id":"1727","name":"*","chunks":[],"async":false}},"8954":{"*":{"id":"3012","name":"*","chunks":[],"async":false}},"9103":{"*":{"id":"7702","name":"*","chunks":[],"async":false}},"9129":{"*":{"id":"4556","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"5295","name":"*","chunks":[],"async":false}},"9469":{"*":{"id":"4267","name":"*","chunks":[],"async":false}},"9976":{"*":{"id":"1006","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{"2051":{"*":{"id":"2455","name":"*","chunks":[],"async":false}},"3339":{"*":{"id":"611","name":"*","chunks":[],"async":false}},"4033":{"*":{"id":"5519","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"4978","name":"*","chunks":[],"async":false}},"5640":{"*":{"id":"5506","name":"*","chunks":[],"async":false}},"5754":{"*":{"id":"4450","name":"*","chunks":[],"async":false}},"6658":{"*":{"id":"7034","name":"*","chunks":[],"async":false}},"7698":{"*":{"id":"576","name":"*","chunks":[],"async":false}},"8954":{"*":{"id":"6358","name":"*","chunks":[],"async":false}}}}
@@ -1 +1 @@
1
- <!DOCTYPE html><!--kqMlNlRLox_FLRK_2GwrJ--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/0be0e65a5f561f37.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e40b05d6bdcb3589.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-33720d133c383396.js" async=""></script><script src="/_next/static/chunks/main-app-a9f19d5831b41b19.js" async=""></script><script src="/_next/static/chunks/580-f007f4d4c050db4e.js" async=""></script><script src="/_next/static/chunks/app/layout-68cd71116ba65cd8.js" async=""></script><script src="/_next/static/chunks/app/signals/page-6a123a355d93fec5.js" async=""></script><title>Station</title><meta name="description" content="Dashboard for station-signal"/><script>(function(){try{var t=localStorage.getItem("station-theme");if(t==="dark"||t==="light"){document.documentElement.setAttribute("data-theme",t)}else if(window.matchMedia("(prefers-color-scheme:dark)").matches){document.documentElement.setAttribute("data-theme","dark")}else{document.documentElement.setAttribute("data-theme","light")}}catch(e){document.documentElement.setAttribute("data-theme","light")}})()</script><link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&amp;family=IBM+Plex+Mono:wght@400;500&amp;family=Space+Grotesk:wght@300;400;500&amp;display=swap" rel="stylesheet"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/webpack-e40b05d6bdcb3589.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9129,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"ThemeProvider\"]\n3:I[783,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"AuthProvider\"]\n4:I[1308,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"LoginPage\"]\n5:I[9275,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"StationProvider\"]\n6:I[5152,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"BreadcrumbProvider\"]\n7:I[1961,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"Shell\"]\n8:I[8954,[],\"\"]\n9:I[5640,[],\"\"]\na:I[3339,[],\"ClientPageRoot\"]\nb:I[4913,[\"764\",\"static/chunks/app/signals/page-6a123a355d93fec5.js\"],\"default\"]\ne:I[2051,[],\"OutletBoundary\"]\n10:I[6658,[],\"AsyncMetadataOutlet\"]\n12:I[2051,[],\"ViewportBoundary\"]\n14:I[2051,[],\"MetadataBoundary\"]\n15:\"$Sreact.suspense\"\n17:I[7698,[],\"\"]\n:HL[\"/_next/static/css/0be0e65a5f561f37.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"kqMlNlRLox_FLRK-2GwrJ\",\"p\":\"\",\"c\":[\"\",\"signals\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"signals\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0be0e65a5f561f37.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"station-theme\\\");if(t===\\\"dark\\\"||t===\\\"light\\\"){document.documentElement.setAttribute(\\\"data-theme\\\",t)}else if(window.matchMedia(\\\"(prefers-color-scheme:dark)\\\").matches){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"dark\\\")}else{document.documentElement.setAttribute(\\\"data-theme\\\",\\\"light\\\")}}catch(e){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"light\\\")}})()\"}}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1\u0026family=IBM+Plex+Mono:wght@400;500\u0026family=Space+Grotesk:wght@300;400;500\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"loginPage\":[\"$\",\"$L4\",null,{}],\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]}]}]]}]]}],{\"children\":[\"signals\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$La\",null,{\"Component\":\"$b\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@c\",\"$@d\"]}],null,[\"$\",\"$Le\",null,{\"children\":[\"$Lf\",[\"$\",\"$L10\",null,{\"promise\":\"$@11\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L12\",null,{\"children\":\"$L13\"}],null],[\"$\",\"$L14\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$15\",null,{\"fallback\":null,\"children\":\"$L16\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$17\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:{}\nd:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"13:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nf:null\n"])</script><script>self.__next_f.push([1,"11:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Station\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Dashboard for station-signal\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"16:\"$11:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--xYd6dn0Ox68DaamIrH_pB--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/0be0e65a5f561f37.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e40b05d6bdcb3589.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-33720d133c383396.js" async=""></script><script src="/_next/static/chunks/main-app-a9f19d5831b41b19.js" async=""></script><script src="/_next/static/chunks/580-f007f4d4c050db4e.js" async=""></script><script src="/_next/static/chunks/app/layout-68cd71116ba65cd8.js" async=""></script><script src="/_next/static/chunks/app/signals/page-6a123a355d93fec5.js" async=""></script><title>Station</title><meta name="description" content="Dashboard for station-signal"/><script>(function(){try{var t=localStorage.getItem("station-theme");if(t==="dark"||t==="light"){document.documentElement.setAttribute("data-theme",t)}else if(window.matchMedia("(prefers-color-scheme:dark)").matches){document.documentElement.setAttribute("data-theme","dark")}else{document.documentElement.setAttribute("data-theme","light")}}catch(e){document.documentElement.setAttribute("data-theme","light")}})()</script><link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&amp;family=IBM+Plex+Mono:wght@400;500&amp;family=Space+Grotesk:wght@300;400;500&amp;display=swap" rel="stylesheet"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/webpack-e40b05d6bdcb3589.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9129,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"ThemeProvider\"]\n3:I[783,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"AuthProvider\"]\n4:I[1308,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"LoginPage\"]\n5:I[9275,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"StationProvider\"]\n6:I[5152,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"BreadcrumbProvider\"]\n7:I[1961,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"Shell\"]\n8:I[8954,[],\"\"]\n9:I[5640,[],\"\"]\na:I[3339,[],\"ClientPageRoot\"]\nb:I[4913,[\"764\",\"static/chunks/app/signals/page-6a123a355d93fec5.js\"],\"default\"]\ne:I[2051,[],\"OutletBoundary\"]\n10:I[6658,[],\"AsyncMetadataOutlet\"]\n12:I[2051,[],\"ViewportBoundary\"]\n14:I[2051,[],\"MetadataBoundary\"]\n15:\"$Sreact.suspense\"\n17:I[7698,[],\"\"]\n:HL[\"/_next/static/css/0be0e65a5f561f37.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"xYd6dn0Ox68DaamIrH_pB\",\"p\":\"\",\"c\":[\"\",\"signals\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"signals\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0be0e65a5f561f37.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"station-theme\\\");if(t===\\\"dark\\\"||t===\\\"light\\\"){document.documentElement.setAttribute(\\\"data-theme\\\",t)}else if(window.matchMedia(\\\"(prefers-color-scheme:dark)\\\").matches){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"dark\\\")}else{document.documentElement.setAttribute(\\\"data-theme\\\",\\\"light\\\")}}catch(e){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"light\\\")}})()\"}}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1\u0026family=IBM+Plex+Mono:wght@400;500\u0026family=Space+Grotesk:wght@300;400;500\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"loginPage\":[\"$\",\"$L4\",null,{}],\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]}]}]]}]]}],{\"children\":[\"signals\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$La\",null,{\"Component\":\"$b\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@c\",\"$@d\"]}],null,[\"$\",\"$Le\",null,{\"children\":[\"$Lf\",[\"$\",\"$L10\",null,{\"promise\":\"$@11\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L12\",null,{\"children\":\"$L13\"}],null],[\"$\",\"$L14\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$15\",null,{\"fallback\":null,\"children\":\"$L16\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$17\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:{}\nd:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"13:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nf:null\n"])</script><script>self.__next_f.push([1,"11:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Station\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Dashboard for station-signal\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"16:\"$11:metadata\"\n"])</script></body></html>
@@ -16,7 +16,7 @@ e:I[2051,[],"OutletBoundary"]
16
16
  15:"$Sreact.suspense"
17
17
  17:I[7698,[],""]
18
18
  :HL["/_next/static/css/0be0e65a5f561f37.css","style"]
19
- 0:{"P":null,"b":"kqMlNlRLox_FLRK-2GwrJ","p":"","c":["","signals"],"i":false,"f":[[["",{"children":["signals",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0be0e65a5f561f37.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"station-theme\");if(t===\"dark\"||t===\"light\"){document.documentElement.setAttribute(\"data-theme\",t)}else if(window.matchMedia(\"(prefers-color-scheme:dark)\").matches){document.documentElement.setAttribute(\"data-theme\",\"dark\")}else{document.documentElement.setAttribute(\"data-theme\",\"light\")}}catch(e){document.documentElement.setAttribute(\"data-theme\",\"light\")}})()"}}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@300;400;500&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"loginPage":["$","$L4",null,{}],"children":["$","$L5",null,{"children":["$","$L6",null,{"children":["$","$L7",null,{"children":["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L9",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]}]}]]}]]}],{"children":["signals",["$","$1","c",{"children":[null,["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L9",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$La",null,{"Component":"$b","searchParams":{},"params":{},"promises":["$@c","$@d"]}],null,["$","$Le",null,{"children":["$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$L12",null,{"children":"$L13"}],null],["$","$L14",null,{"children":["$","div",null,{"hidden":true,"children":["$","$15",null,{"fallback":null,"children":"$L16"}]}]}]]}],false]],"m":"$undefined","G":["$17",[]],"s":false,"S":true}
19
+ 0:{"P":null,"b":"xYd6dn0Ox68DaamIrH_pB","p":"","c":["","signals"],"i":false,"f":[[["",{"children":["signals",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0be0e65a5f561f37.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"station-theme\");if(t===\"dark\"||t===\"light\"){document.documentElement.setAttribute(\"data-theme\",t)}else if(window.matchMedia(\"(prefers-color-scheme:dark)\").matches){document.documentElement.setAttribute(\"data-theme\",\"dark\")}else{document.documentElement.setAttribute(\"data-theme\",\"light\")}}catch(e){document.documentElement.setAttribute(\"data-theme\",\"light\")}})()"}}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@300;400;500&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"loginPage":["$","$L4",null,{}],"children":["$","$L5",null,{"children":["$","$L6",null,{"children":["$","$L7",null,{"children":["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L9",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]}]}]]}]]}],{"children":["signals",["$","$1","c",{"children":[null,["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L9",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$La",null,{"Component":"$b","searchParams":{},"params":{},"promises":["$@c","$@d"]}],null,["$","$Le",null,{"children":["$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$L12",null,{"children":"$L13"}],null],["$","$L14",null,{"children":["$","div",null,{"hidden":true,"children":["$","$15",null,{"fallback":null,"children":"$L16"}]}]}]]}],false]],"m":"$undefined","G":["$17",[]],"s":false,"S":true}
20
20
  c:{}
21
21
  d:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
22
22
  13:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
+ "/page": "app/page.js",
3
4
  "/broadcasts/[id]/page": "app/broadcasts/[id]/page.js",
4
5
  "/runs/[id]/page": "app/runs/[id]/page.js",
5
- "/signals/[name]/page": "app/signals/[name]/page.js",
6
6
  "/settings/page": "app/settings/page.js",
7
- "/signals/page": "app/signals/page.js",
8
7
  "/broadcasts/page": "app/broadcasts/page.js",
9
- "/page": "app/page.js"
8
+ "/signals/[name]/page": "app/signals/[name]/page.js",
9
+ "/signals/page": "app/signals/page.js"
10
10
  }
@@ -1 +1 @@
1
- <!DOCTYPE html><!--kqMlNlRLox_FLRK_2GwrJ--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/0be0e65a5f561f37.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e40b05d6bdcb3589.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-33720d133c383396.js" async=""></script><script src="/_next/static/chunks/main-app-a9f19d5831b41b19.js" async=""></script><script src="/_next/static/chunks/580-f007f4d4c050db4e.js" async=""></script><script src="/_next/static/chunks/app/layout-68cd71116ba65cd8.js" async=""></script><meta name="robots" content="noindex"/><title>Station</title><meta name="description" content="Dashboard for station-signal"/><script>(function(){try{var t=localStorage.getItem("station-theme");if(t==="dark"||t==="light"){document.documentElement.setAttribute("data-theme",t)}else if(window.matchMedia("(prefers-color-scheme:dark)").matches){document.documentElement.setAttribute("data-theme","dark")}else{document.documentElement.setAttribute("data-theme","light")}}catch(e){document.documentElement.setAttribute("data-theme","light")}})()</script><link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&amp;family=IBM+Plex+Mono:wght@400;500&amp;family=Space+Grotesk:wght@300;400;500&amp;display=swap" rel="stylesheet"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/webpack-e40b05d6bdcb3589.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9129,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"ThemeProvider\"]\n3:I[783,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"AuthProvider\"]\n4:I[1308,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"LoginPage\"]\n5:I[9275,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"StationProvider\"]\n6:I[5152,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"BreadcrumbProvider\"]\n7:I[1961,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"Shell\"]\n8:I[8954,[],\"\"]\n9:I[5640,[],\"\"]\na:I[2051,[],\"OutletBoundary\"]\nc:I[6658,[],\"AsyncMetadataOutlet\"]\ne:I[2051,[],\"ViewportBoundary\"]\n10:I[2051,[],\"MetadataBoundary\"]\n11:\"$Sreact.suspense\"\n13:I[7698,[],\"\"]\n:HL[\"/_next/static/css/0be0e65a5f561f37.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"kqMlNlRLox_FLRK-2GwrJ\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0be0e65a5f561f37.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"station-theme\\\");if(t===\\\"dark\\\"||t===\\\"light\\\"){document.documentElement.setAttribute(\\\"data-theme\\\",t)}else if(window.matchMedia(\\\"(prefers-color-scheme:dark)\\\").matches){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"dark\\\")}else{document.documentElement.setAttribute(\\\"data-theme\\\",\\\"light\\\")}}catch(e){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"light\\\")}})()\"}}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1\u0026family=IBM+Plex+Mono:wght@400;500\u0026family=Space+Grotesk:wght@300;400;500\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"loginPage\":[\"$\",\"$L4\",null,{}],\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$La\",null,{\"children\":[\"$Lb\",[\"$\",\"$Lc\",null,{\"promise\":\"$@d\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Le\",null,{\"children\":\"$Lf\"}],null],[\"$\",\"$L10\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$11\",null,{\"fallback\":null,\"children\":\"$L12\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$13\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nb:null\n"])</script><script>self.__next_f.push([1,"d:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Station\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Dashboard for station-signal\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"12:\"$d:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--xYd6dn0Ox68DaamIrH_pB--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/0be0e65a5f561f37.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e40b05d6bdcb3589.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-33720d133c383396.js" async=""></script><script src="/_next/static/chunks/main-app-a9f19d5831b41b19.js" async=""></script><script src="/_next/static/chunks/580-f007f4d4c050db4e.js" async=""></script><script src="/_next/static/chunks/app/layout-68cd71116ba65cd8.js" async=""></script><meta name="robots" content="noindex"/><title>Station</title><meta name="description" content="Dashboard for station-signal"/><script>(function(){try{var t=localStorage.getItem("station-theme");if(t==="dark"||t==="light"){document.documentElement.setAttribute("data-theme",t)}else if(window.matchMedia("(prefers-color-scheme:dark)").matches){document.documentElement.setAttribute("data-theme","dark")}else{document.documentElement.setAttribute("data-theme","light")}}catch(e){document.documentElement.setAttribute("data-theme","light")}})()</script><link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&amp;family=IBM+Plex+Mono:wght@400;500&amp;family=Space+Grotesk:wght@300;400;500&amp;display=swap" rel="stylesheet"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/webpack-e40b05d6bdcb3589.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9129,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"ThemeProvider\"]\n3:I[783,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"AuthProvider\"]\n4:I[1308,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"LoginPage\"]\n5:I[9275,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"StationProvider\"]\n6:I[5152,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"BreadcrumbProvider\"]\n7:I[1961,[\"580\",\"static/chunks/580-f007f4d4c050db4e.js\",\"177\",\"static/chunks/app/layout-68cd71116ba65cd8.js\"],\"Shell\"]\n8:I[8954,[],\"\"]\n9:I[5640,[],\"\"]\na:I[2051,[],\"OutletBoundary\"]\nc:I[6658,[],\"AsyncMetadataOutlet\"]\ne:I[2051,[],\"ViewportBoundary\"]\n10:I[2051,[],\"MetadataBoundary\"]\n11:\"$Sreact.suspense\"\n13:I[7698,[],\"\"]\n:HL[\"/_next/static/css/0be0e65a5f561f37.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"xYd6dn0Ox68DaamIrH_pB\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0be0e65a5f561f37.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"station-theme\\\");if(t===\\\"dark\\\"||t===\\\"light\\\"){document.documentElement.setAttribute(\\\"data-theme\\\",t)}else if(window.matchMedia(\\\"(prefers-color-scheme:dark)\\\").matches){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"dark\\\")}else{document.documentElement.setAttribute(\\\"data-theme\\\",\\\"light\\\")}}catch(e){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"light\\\")}})()\"}}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1\u0026family=IBM+Plex+Mono:wght@400;500\u0026family=Space+Grotesk:wght@300;400;500\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"loginPage\":[\"$\",\"$L4\",null,{}],\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$La\",null,{\"children\":[\"$Lb\",[\"$\",\"$Lc\",null,{\"promise\":\"$@d\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Le\",null,{\"children\":\"$Lf\"}],null],[\"$\",\"$L10\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$11\",null,{\"fallback\":null,\"children\":\"$L12\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$13\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nb:null\n"])</script><script>self.__next_f.push([1,"d:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Station\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Dashboard for station-signal\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"12:\"$d:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e40b05d6bdcb3589.js" defer=""></script><script src="/_next/static/chunks/framework-077b27ad7787463c.js" defer=""></script><script src="/_next/static/chunks/main-f1c74cefd4965abf.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0a7b2e66ecbe3f0a.js" defer=""></script><script src="/_next/static/chunks/pages/_error-273a093c18b5ed0f.js" defer=""></script><script src="/_next/static/kqMlNlRLox_FLRK-2GwrJ/_buildManifest.js" defer=""></script><script src="/_next/static/kqMlNlRLox_FLRK-2GwrJ/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"kqMlNlRLox_FLRK-2GwrJ","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e40b05d6bdcb3589.js" defer=""></script><script src="/_next/static/chunks/framework-077b27ad7787463c.js" defer=""></script><script src="/_next/static/chunks/main-f1c74cefd4965abf.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0a7b2e66ecbe3f0a.js" defer=""></script><script src="/_next/static/chunks/pages/_error-273a093c18b5ed0f.js" defer=""></script><script src="/_next/static/xYd6dn0Ox68DaamIrH_pB/_buildManifest.js" defer=""></script><script src="/_next/static/xYd6dn0Ox68DaamIrH_pB/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"xYd6dn0Ox68DaamIrH_pB","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "station-kit",
3
- "version": "1.0.5",
3
+ "version": "1.0.8",
4
4
  "description": "Dashboard for station-signal — inspect and control signals and broadcasts",
5
5
  "type": "module",
6
6
  "engines": {
@@ -16,6 +16,10 @@
16
16
  "types": "./dist/index.d.ts",
17
17
  "import": "./dist/index.js",
18
18
  "default": "./dist/index.js"
19
+ },
20
+ "./server": {
21
+ "types": "./dist/server/index.d.ts",
22
+ "import": "./dist/server/index.js"
19
23
  }
20
24
  },
21
25
  "files": [
@@ -31,27 +35,28 @@
31
35
  "typecheck": "tsc --noEmit"
32
36
  },
33
37
  "peerDependencies": {
34
- "station-signal": "workspace:*",
35
- "station-broadcast": "workspace:*"
38
+ "station-broadcast": "workspace:*",
39
+ "station-signal": "workspace:*"
36
40
  },
37
41
  "dependencies": {
38
- "hono": "^4",
39
42
  "@hono/node-server": "^1",
40
43
  "better-sqlite3": "^11.9.1",
41
- "ws": "^8",
42
- "tsx": "^4.21.0",
44
+ "esbuild": "^0.25.12",
45
+ "hono": "^4",
43
46
  "next": "^15",
44
47
  "react": "^19",
45
- "react-dom": "^19"
48
+ "react-dom": "^19",
49
+ "tsx": "^4.21.0",
50
+ "ws": "^8"
46
51
  },
47
52
  "devDependencies": {
48
- "station-signal": "workspace:*",
49
- "station-broadcast": "workspace:*",
50
- "typescript": "^5.9.3",
51
53
  "@types/better-sqlite3": "^7.6.13",
52
54
  "@types/node": "^25.3.0",
53
55
  "@types/react": "^19",
54
56
  "@types/react-dom": "^19",
55
- "@types/ws": "^8"
57
+ "@types/ws": "^8",
58
+ "station-broadcast": "workspace:*",
59
+ "station-signal": "workspace:*",
60
+ "typescript": "^5.9.3"
56
61
  }
57
62
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/cli/deploy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,287 @@
1
+ import { writeFileSync, readFileSync, cpSync, existsSync, readdirSync, rmSync, mkdirSync, statSync, } from "node:fs";
2
+ import { join, resolve, dirname } from "node:path";
3
+ import { builtinModules } from "node:module";
4
+ import { build } from "esbuild";
5
+ import { loadConfig } from "../config/loader.js";
6
+ import { ensureStationDir } from "../station-dir.js";
7
+ const cwd = process.cwd();
8
+ // Ensure .station/data exists before loading config — adapter constructors may open DBs
9
+ const defaultStationDir = ".station";
10
+ mkdirSync(join(cwd, defaultStationDir, "data"), { recursive: true });
11
+ const config = await loadConfig(cwd);
12
+ const { outDir } = ensureStationDir(cwd, config.stationDir);
13
+ // ── Workspace resolution ────────────────────────────────────
14
+ function findWorkspaceRoot(startDir) {
15
+ let dir = startDir;
16
+ while (true) {
17
+ if (existsSync(join(dir, "pnpm-workspace.yaml")))
18
+ return dir;
19
+ const pkgPath = join(dir, "package.json");
20
+ if (existsSync(pkgPath)) {
21
+ try {
22
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
23
+ if (pkg.workspaces)
24
+ return dir;
25
+ }
26
+ catch { }
27
+ }
28
+ const parent = dirname(dir);
29
+ if (parent === dir)
30
+ return null;
31
+ dir = parent;
32
+ }
33
+ }
34
+ function resolveWorkspaceVersion(depName, startDir) {
35
+ const root = findWorkspaceRoot(startDir);
36
+ if (!root)
37
+ return null;
38
+ const candidate = join(root, "packages", depName, "package.json");
39
+ if (!existsSync(candidate))
40
+ return null;
41
+ try {
42
+ const pkg = JSON.parse(readFileSync(candidate, "utf-8"));
43
+ return pkg.version ?? null;
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ }
49
+ const resolvedDeps = [];
50
+ function buildProductionPackageJson() {
51
+ const pkgPath = join(cwd, "package.json");
52
+ if (!existsSync(pkgPath)) {
53
+ console.error("[station] No package.json found.");
54
+ process.exit(1);
55
+ }
56
+ const raw = JSON.parse(readFileSync(pkgPath, "utf-8"));
57
+ // Merge deps: all dependencies + station-* from devDependencies
58
+ const deps = { ...(raw.dependencies ?? {}) };
59
+ if (raw.devDependencies) {
60
+ for (const [name, version] of Object.entries(raw.devDependencies)) {
61
+ if (name.startsWith("station-") && !deps[name]) {
62
+ deps[name] = version;
63
+ }
64
+ }
65
+ }
66
+ // Resolve workspace:* → ^{version}
67
+ for (const [name, version] of Object.entries(deps)) {
68
+ if (version.startsWith("workspace:")) {
69
+ const resolved_version = resolveWorkspaceVersion(name, cwd);
70
+ if (resolved_version) {
71
+ const newVersion = `^${resolved_version}`;
72
+ resolvedDeps.push({ dep: name, from: version, to: newVersion });
73
+ deps[name] = newVersion;
74
+ }
75
+ else {
76
+ console.warn(`[station] Could not resolve ${version} for "${name}" — ensure you are in a workspace or use real version numbers.`);
77
+ }
78
+ }
79
+ }
80
+ const out = {};
81
+ if (raw.name)
82
+ out.name = raw.name;
83
+ if (raw.version)
84
+ out.version = raw.version;
85
+ if (raw.type)
86
+ out.type = raw.type;
87
+ if (raw.private !== undefined)
88
+ out.private = raw.private;
89
+ if (raw.description)
90
+ out.description = raw.description;
91
+ if (raw.license)
92
+ out.license = raw.license;
93
+ if (raw.author)
94
+ out.author = raw.author;
95
+ out.scripts = { start: "npx station --no-open --host 0.0.0.0" };
96
+ out.dependencies = deps;
97
+ return out;
98
+ }
99
+ // ── Discover entry points ───────────────────────────────────
100
+ function discoverFiles(dir) {
101
+ if (!existsSync(dir))
102
+ return [];
103
+ const files = [];
104
+ for (const entry of readdirSync(dir, { recursive: true })) {
105
+ const full = join(dir, entry.toString());
106
+ if (statSync(full).isFile() && /\.(ts|js|mjs)$/.test(full)) {
107
+ files.push(full);
108
+ }
109
+ }
110
+ return files;
111
+ }
112
+ function findConfigFile() {
113
+ for (const name of ["station.config.ts", "station.config.js", "station.config.mjs"]) {
114
+ const candidate = join(cwd, name);
115
+ if (existsSync(candidate))
116
+ return candidate;
117
+ }
118
+ return null;
119
+ }
120
+ // ── Build ───────────────────────────────────────────────────
121
+ console.log("\n[station] Building deploy bundle...\n");
122
+ // Clean out directory
123
+ if (existsSync(outDir)) {
124
+ rmSync(outDir, { recursive: true });
125
+ }
126
+ mkdirSync(outDir, { recursive: true });
127
+ // Write production package.json first (need deps list for externals)
128
+ const prodPkg = buildProductionPackageJson();
129
+ writeFileSync(join(outDir, "package.json"), JSON.stringify(prodPkg, null, 2) + "\n");
130
+ // Collect entry points
131
+ const entryPoints = [];
132
+ let signalCount = 0;
133
+ let broadcastCount = 0;
134
+ if (config.signalsDir) {
135
+ const signalsSrc = resolve(cwd, config.signalsDir);
136
+ const files = discoverFiles(signalsSrc);
137
+ signalCount = files.length;
138
+ entryPoints.push(...files);
139
+ }
140
+ if (config.broadcastsDir) {
141
+ const broadcastsSrc = resolve(cwd, config.broadcastsDir);
142
+ const files = discoverFiles(broadcastsSrc);
143
+ broadcastCount = files.length;
144
+ entryPoints.push(...files);
145
+ }
146
+ const configFile = findConfigFile();
147
+ if (configFile) {
148
+ entryPoints.push(configFile);
149
+ }
150
+ if (entryPoints.length === 0) {
151
+ console.error("[station] No signals, broadcasts, or config found to bundle.");
152
+ process.exit(1);
153
+ }
154
+ // Collect externals: all npm deps + node builtins
155
+ const external = [
156
+ ...Object.keys(prodPkg.dependencies ?? {}),
157
+ ...builtinModules,
158
+ ...builtinModules.map((m) => `node:${m}`),
159
+ ];
160
+ // Run esbuild
161
+ try {
162
+ const result = await build({
163
+ entryPoints,
164
+ outdir: outDir,
165
+ outbase: cwd,
166
+ bundle: true,
167
+ splitting: true,
168
+ format: "esm",
169
+ platform: "node",
170
+ target: "node20",
171
+ external,
172
+ logLevel: "warning",
173
+ });
174
+ if (result.errors.length > 0) {
175
+ console.error("[station] Build failed.");
176
+ process.exit(1);
177
+ }
178
+ }
179
+ catch (err) {
180
+ console.error("[station] Build failed:", err.message);
181
+ process.exit(1);
182
+ }
183
+ // Count shared chunks
184
+ const outputFiles = readdirSync(outDir);
185
+ const chunks = outputFiles.filter((f) => f.startsWith("chunk-") && f.endsWith(".js"));
186
+ console.log(` Bundled ${signalCount} signal${signalCount !== 1 ? "s" : ""}, ${broadcastCount} broadcast${broadcastCount !== 1 ? "s" : ""}`);
187
+ if (chunks.length > 0) {
188
+ console.log(` ${chunks.length} shared chunk${chunks.length !== 1 ? "s" : ""} extracted`);
189
+ }
190
+ if (configFile) {
191
+ console.log(` Config compiled`);
192
+ }
193
+ // ── Copy deploy.include entries ─────────────────────────────
194
+ if (config.deploy?.include) {
195
+ for (const entry of config.deploy.include) {
196
+ const src = resolve(cwd, entry);
197
+ if (!existsSync(src)) {
198
+ console.warn(` [station] Warning: deploy.include path not found: ${entry}`);
199
+ continue;
200
+ }
201
+ const dest = join(outDir, entry);
202
+ if (statSync(src).isDirectory()) {
203
+ cpSync(src, dest, { recursive: true });
204
+ }
205
+ else {
206
+ mkdirSync(dirname(dest), { recursive: true });
207
+ cpSync(src, dest);
208
+ }
209
+ }
210
+ }
211
+ // ── Dockerfile ──────────────────────────────────────────────
212
+ function generateDockerfile() {
213
+ const port = config.port;
214
+ return [
215
+ `FROM node:20-alpine`,
216
+ `WORKDIR /app`,
217
+ ``,
218
+ `COPY package.json ./`,
219
+ `RUN npm install --omit=dev`,
220
+ ``,
221
+ `COPY . .`,
222
+ ``,
223
+ `EXPOSE ${port}`,
224
+ `ENV NODE_ENV=production`,
225
+ `ENV HOST=0.0.0.0`,
226
+ `ENV PORT=${port}`,
227
+ ``,
228
+ `# Set these in your deployment platform:`,
229
+ `# ENV STATION_AUTH_USERNAME=admin`,
230
+ `# ENV STATION_AUTH_PASSWORD=changeme`,
231
+ ``,
232
+ `CMD ["npx", "station", "--no-open", "--host", "0.0.0.0"]`,
233
+ ``,
234
+ ].join("\n");
235
+ }
236
+ // ── nixpacks.toml ───────────────────────────────────────────
237
+ function generateNixpacks() {
238
+ return [
239
+ `[phases.setup]`,
240
+ `nixPkgs = ["nodejs_20"]`,
241
+ ``,
242
+ `[phases.install]`,
243
+ `cmds = ["npm install --omit=dev"]`,
244
+ ``,
245
+ `[start]`,
246
+ `cmd = "npx station --no-open --host 0.0.0.0"`,
247
+ ``,
248
+ ].join("\n");
249
+ }
250
+ // ── Write deployment files ──────────────────────────────────
251
+ writeFileSync(join(outDir, "Dockerfile"), generateDockerfile());
252
+ writeFileSync(join(outDir, "nixpacks.toml"), generateNixpacks());
253
+ writeFileSync(join(outDir, ".dockerignore"), ["node_modules", ".station/data", "*.db", ".git", ""].join("\n"));
254
+ writeFileSync(join(outDir, ".gitignore"), ["node_modules/", "data/", "*.db", ""].join("\n"));
255
+ // ── Summary ─────────────────────────────────────────────────
256
+ function listDir(dir, prefix = "") {
257
+ const entries = [];
258
+ for (const entry of readdirSync(dir).sort()) {
259
+ const full = join(dir, entry);
260
+ if (statSync(full).isDirectory()) {
261
+ entries.push(`${prefix}${entry}/`);
262
+ entries.push(...listDir(full, `${prefix} `));
263
+ }
264
+ else {
265
+ entries.push(`${prefix}${entry}`);
266
+ }
267
+ }
268
+ return entries;
269
+ }
270
+ console.log(`\n ${outDir}\n`);
271
+ for (const line of listDir(outDir)) {
272
+ console.log(` ${line}`);
273
+ }
274
+ if (resolvedDeps.length > 0) {
275
+ console.log(`\n Resolved dependencies:`);
276
+ for (const r of resolvedDeps) {
277
+ console.log(` ${r.dep}: ${r.from} → ${r.to}`);
278
+ }
279
+ }
280
+ console.log(`\n Environment variables:`);
281
+ console.log(` STATION_AUTH_USERNAME — dashboard login`);
282
+ console.log(` STATION_AUTH_PASSWORD — dashboard password`);
283
+ console.log(` PORT — server port (default: ${config.port})`);
284
+ console.log(`\n Deploy:`);
285
+ console.log(` docker build -t station ${outDir}`);
286
+ console.log(` docker run -p ${config.port}:${config.port} station\n`);
287
+ //# sourceMappingURL=deploy.js.map