station-kit 1.0.7 → 1.0.9
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.
- package/.next/standalone/package.json +3 -1
- package/.next/standalone/packages/station-kit/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/station-kit/.next/app-build-manifest.json +76 -17
- package/.next/standalone/packages/station-kit/.next/app-path-routes-manifest.json +10 -3
- package/.next/standalone/packages/station-kit/.next/build-manifest.json +3 -3
- package/.next/standalone/packages/station-kit/.next/prerender-manifest.json +112 -16
- package/.next/standalone/packages/station-kit/.next/routes-manifest.json +49 -0
- package/.next/standalone/packages/station-kit/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/_not-found.rsc +7 -7
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/[id]/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/v/[n]/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/v/[n]/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/v/[n]/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new.html +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new.meta +7 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new.rsc +25 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts.rsc +8 -8
- package/.next/standalone/packages/station-kit/.next/server/app/index.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/index.rsc +8 -8
- package/.next/standalone/packages/station-kit/.next/server/app/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression.html +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression.meta +7 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression.rsc +25 -0
- package/.next/standalone/packages/station-kit/.next/server/app/runs/[id]/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/runs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/[id]/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/[id]/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/[id]/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new.html +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new.meta +7 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new.rsc +25 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules.html +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules.meta +7 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules.rsc +25 -0
- package/.next/standalone/packages/station-kit/.next/server/app/settings/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/settings.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/settings.rsc +8 -8
- package/.next/standalone/packages/station-kit/.next/server/app/signals/[name]/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/signals/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/signals/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/signals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/signals.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/signals.rsc +8 -8
- package/.next/standalone/packages/station-kit/.next/server/app-paths-manifest.json +10 -3
- package/.next/standalone/packages/station-kit/.next/server/chunks/102.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/chunks/535.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/chunks/606.js +14 -14
- package/.next/standalone/packages/station-kit/.next/server/chunks/783.js +3 -3
- package/.next/standalone/packages/station-kit/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/404.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/500.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/_app.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/_document.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/_error.js +9 -9
- package/.next/standalone/packages/station-kit/.next/server/pages-manifest.json +1 -1
- package/.next/standalone/packages/station-kit/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/145-9e370afd2e5aba39.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/285-ff198f0a909c4fdd.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/561-33d912169940283e.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/935-dff12960528de017.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/_not-found/{page-ce21b4ba9038a5a7.js → page-67ef312aee40cfeb.js} +1 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/[id]/page-fe2f5467a0c68fef.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/dyn/[name]/page-0d2505242014f51e.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/dyn/[name]/v/[n]/page-5eac0507f49a00ec.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/new/page-3d02707043d24dc7.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/page-dee500ccc01f0821.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/layout-e14e14f3e5b0b8a9.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/page-aac41ef7a470daab.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/playground/expression/page-dc9d91f3f50f4716.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/runs/[id]/page-9e4c4f751a4bea72.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/schedules/[id]/page-435f67be180b8e4f.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/schedules/new/page-f697c289c813496a.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/schedules/page-738d98dc0b63166e.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/settings/page-fc5654b31f57ac21.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/signals/[name]/page-4b1c09a539a1ebcd.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/signals/page-d2f2403dfede87cc.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/pages/_app-a3774a320f58a018.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/demLiQWDy62JuUkBw-ILG/_buildManifest.js +1 -0
- package/.next/standalone/packages/station-kit/package.json +10 -2
- package/dist/config/schema.d.ts +13 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/server/auth/keys.d.ts +56 -8
- package/dist/server/auth/keys.d.ts.map +1 -1
- package/dist/server/auth/keys.js +155 -53
- package/dist/server/auth/keys.js.map +1 -1
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +55 -5
- package/dist/server/index.js.map +1 -1
- package/dist/server/middleware/auth.js +1 -1
- package/dist/server/middleware/auth.js.map +1 -1
- package/dist/server/routes/v1/definitions.d.ts +21 -0
- package/dist/server/routes/v1/definitions.d.ts.map +1 -0
- package/dist/server/routes/v1/definitions.js +139 -0
- package/dist/server/routes/v1/definitions.js.map +1 -0
- package/dist/server/routes/v1/expressions.d.ts +3 -0
- package/dist/server/routes/v1/expressions.d.ts.map +1 -0
- package/dist/server/routes/v1/expressions.js +56 -0
- package/dist/server/routes/v1/expressions.js.map +1 -0
- package/dist/server/routes/v1/keys.js +3 -3
- package/dist/server/routes/v1/keys.js.map +1 -1
- package/dist/server/routes/v1/schedules.d.ts +10 -0
- package/dist/server/routes/v1/schedules.d.ts.map +1 -0
- package/dist/server/routes/v1/schedules.js +169 -0
- package/dist/server/routes/v1/schedules.js.map +1 -0
- package/dist/server/routes/v1/trigger.d.ts.map +1 -1
- package/dist/server/routes/v1/trigger.js +21 -0
- package/dist/server/routes/v1/trigger.js.map +1 -1
- package/package.json +15 -7
- package/src/app/broadcasts/components/broadcast-builder.tsx +535 -0
- package/src/app/broadcasts/components/dag-editor.tsx +510 -0
- package/src/app/broadcasts/dyn/[name]/dynamic-detail.tsx +243 -0
- package/src/app/broadcasts/dyn/[name]/page.tsx +10 -0
- package/src/app/broadcasts/dyn/[name]/v/[n]/page.tsx +10 -0
- package/src/app/broadcasts/dyn/[name]/v/[n]/version-view.tsx +285 -0
- package/src/app/broadcasts/new/page.tsx +102 -0
- package/src/app/broadcasts/page.tsx +176 -91
- package/src/app/components/api-panel.tsx +151 -0
- package/src/app/components/shell.tsx +23 -0
- package/src/app/hooks/use-api.ts +117 -0
- package/src/app/playground/expression/page.tsx +245 -0
- package/src/app/schedules/[id]/page.tsx +10 -0
- package/src/app/schedules/[id]/schedule-editor.tsx +195 -0
- package/src/app/schedules/components/schedule-form.tsx +140 -0
- package/src/app/schedules/new/page.tsx +166 -0
- package/src/app/schedules/page.tsx +126 -0
- package/src/config/schema.ts +14 -0
- package/src/index.ts +2 -0
- package/src/server/auth/keys.ts +191 -56
- package/src/server/index.ts +78 -5
- package/src/server/middleware/auth.ts +1 -1
- package/src/server/routes/v1/definitions.ts +164 -0
- package/src/server/routes/v1/expressions.ts +76 -0
- package/src/server/routes/v1/keys.ts +3 -3
- package/src/server/routes/v1/schedules.ts +176 -0
- package/src/server/routes/v1/trigger.ts +27 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/580-f007f4d4c050db4e.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/[id]/page-a0a20cccda13a0e9.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/page-937eb876f9087bc9.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/layout-68cd71116ba65cd8.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/page-70b0c0958c03459a.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/runs/[id]/page-01f8040619fe56c5.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/settings/page-beac11049f90da31.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/signals/[name]/page-931e6a38a4a53d25.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/signals/page-6a123a355d93fec5.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/pages/_app-0a7b2e66ecbe3f0a.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/pHHaxeGaet0VW1dhcIcuY/_buildManifest.js +0 -1
- /package/.next/standalone/packages/station-kit/.next/static/{pHHaxeGaet0VW1dhcIcuY → demLiQWDy62JuUkBw-ILG}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--demLiQWDy62JuUkBw_ILG--><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/935-dff12960528de017.js" async=""></script><script src="/_next/static/chunks/app/layout-e14e14f3e5b0b8a9.js" async=""></script><script src="/_next/static/chunks/app/signals/page-d2f2403dfede87cc.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&family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@300;400;500&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,[\"935\",\"static/chunks/935-dff12960528de017.js\",\"177\",\"static/chunks/app/layout-e14e14f3e5b0b8a9.js\"],\"ThemeProvider\"]\n3:I[783,[\"935\",\"static/chunks/935-dff12960528de017.js\",\"177\",\"static/chunks/app/layout-e14e14f3e5b0b8a9.js\"],\"AuthProvider\"]\n4:I[1308,[\"935\",\"static/chunks/935-dff12960528de017.js\",\"177\",\"static/chunks/app/layout-e14e14f3e5b0b8a9.js\"],\"LoginPage\"]\n5:I[9275,[\"935\",\"static/chunks/935-dff12960528de017.js\",\"177\",\"static/chunks/app/layout-e14e14f3e5b0b8a9.js\"],\"StationProvider\"]\n6:I[5152,[\"935\",\"static/chunks/935-dff12960528de017.js\",\"177\",\"static/chunks/app/layout-e14e14f3e5b0b8a9.js\"],\"BreadcrumbProvider\"]\n7:I[1961,[\"935\",\"static/chunks/935-dff12960528de017.js\",\"177\",\"static/chunks/app/layout-e14e14f3e5b0b8a9.js\"],\"Shell\"]\n8:I[8954,[],\"\"]\n9:I[5640,[],\"\"]\na:I[3339,[],\"ClientPageRoot\"]\nb:I[4913,[\"764\",\"static/chunks/app/signals/page-d2f2403dfede87cc.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\":\"demLiQWDy62JuUkBw-ILG\",\"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,14 +1,14 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[9129,["
|
|
3
|
-
3:I[783,["
|
|
4
|
-
4:I[1308,["
|
|
5
|
-
5:I[9275,["
|
|
6
|
-
6:I[5152,["
|
|
7
|
-
7:I[1961,["
|
|
2
|
+
2:I[9129,["935","static/chunks/935-dff12960528de017.js","177","static/chunks/app/layout-e14e14f3e5b0b8a9.js"],"ThemeProvider"]
|
|
3
|
+
3:I[783,["935","static/chunks/935-dff12960528de017.js","177","static/chunks/app/layout-e14e14f3e5b0b8a9.js"],"AuthProvider"]
|
|
4
|
+
4:I[1308,["935","static/chunks/935-dff12960528de017.js","177","static/chunks/app/layout-e14e14f3e5b0b8a9.js"],"LoginPage"]
|
|
5
|
+
5:I[9275,["935","static/chunks/935-dff12960528de017.js","177","static/chunks/app/layout-e14e14f3e5b0b8a9.js"],"StationProvider"]
|
|
6
|
+
6:I[5152,["935","static/chunks/935-dff12960528de017.js","177","static/chunks/app/layout-e14e14f3e5b0b8a9.js"],"BreadcrumbProvider"]
|
|
7
|
+
7:I[1961,["935","static/chunks/935-dff12960528de017.js","177","static/chunks/app/layout-e14e14f3e5b0b8a9.js"],"Shell"]
|
|
8
8
|
8:I[8954,[],""]
|
|
9
9
|
9:I[5640,[],""]
|
|
10
10
|
a:I[3339,[],"ClientPageRoot"]
|
|
11
|
-
b:I[4913,["764","static/chunks/app/signals/page-
|
|
11
|
+
b:I[4913,["764","static/chunks/app/signals/page-d2f2403dfede87cc.js"],"default"]
|
|
12
12
|
e:I[2051,[],"OutletBoundary"]
|
|
13
13
|
10:I[6658,[],"AsyncMetadataOutlet"]
|
|
14
14
|
12:I[2051,[],"ViewportBoundary"]
|
|
@@ -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":"
|
|
19
|
+
0:{"P":null,"b":"demLiQWDy62JuUkBw-ILG","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,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"/_not-found/page": "app/_not-found/page.js",
|
|
3
|
+
"/broadcasts/dyn/[name]/v/[n]/page": "app/broadcasts/dyn/[name]/v/[n]/page.js",
|
|
3
4
|
"/broadcasts/[id]/page": "app/broadcasts/[id]/page.js",
|
|
4
|
-
"/page": "app/page.js",
|
|
5
|
-
"/settings/page": "app/settings/page.js",
|
|
6
5
|
"/broadcasts/page": "app/broadcasts/page.js",
|
|
6
|
+
"/broadcasts/dyn/[name]/page": "app/broadcasts/dyn/[name]/page.js",
|
|
7
|
+
"/broadcasts/new/page": "app/broadcasts/new/page.js",
|
|
8
|
+
"/playground/expression/page": "app/playground/expression/page.js",
|
|
7
9
|
"/runs/[id]/page": "app/runs/[id]/page.js",
|
|
10
|
+
"/page": "app/page.js",
|
|
11
|
+
"/schedules/new/page": "app/schedules/new/page.js",
|
|
12
|
+
"/signals/page": "app/signals/page.js",
|
|
8
13
|
"/signals/[name]/page": "app/signals/[name]/page.js",
|
|
9
|
-
"/
|
|
14
|
+
"/schedules/[id]/page": "app/schedules/[id]/page.js",
|
|
15
|
+
"/schedules/page": "app/schedules/page.js",
|
|
16
|
+
"/settings/page": "app/settings/page.js"
|
|
10
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=102,exports.ids=[102],exports.modules={1985:(a,b,c)=>{"use strict";c.d(b,{A:()=>h,AuthProvider:()=>i,S:()=>k});var d=c(2164),e=c(4509),f=c(4995);let g=(0,e.createContext)({authenticated:!0,logout:async()=>{}});function h(){return(0,e.useContext)(g)}function i({children:a,loginPage:b}){let[c,h]=(0,e.useState)("loading"),i=(0,e.useCallback)(async()=>{await (0,f.ri)(),h("unauthenticated")},[]),j=(0,e.useCallback)(()=>{h("authenticated")},[]);return"loading"===c?null:"unauthenticated"===c?(0,d.jsx)(l,{onSuccess:j,children:b}):(0,d.jsx)(g.Provider,{value:{authenticated:!0,logout:i},children:a})}let j=(0,e.createContext)(()=>{});function k(){return(0,e.useContext)(j)}function l({children:a,onSuccess:b}){return(0,d.jsx)(j.Provider,{value:b,children:a})}},2167:(a,b,c)=>{"use strict";c.d(b,{Shell:()=>t});var d=c(2164),e=c(4509),f=c(5543),g=c.n(f),h=c(6170),i=c(6273),j=c(8770),k=c(5226),l=c(1985);function m(){return!1}function n({size:a=20}){return(0,d.jsxs)("svg",{width:a,height:a,viewBox:"0 0 100 100",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M50 2 L39 25 L27 50 L18 70 L10 88 L90 88 L82 70 L73 50 L61 25 Z",stroke:"currentColor",strokeWidth:"1.5"}),(0,d.jsx)("line",{x1:"50",y1:"2",x2:"50",y2:"88",stroke:"currentColor",strokeWidth:"1"}),(0,d.jsx)("line",{x1:"16",y1:"70",x2:"84",y2:"70",stroke:"currentColor",strokeWidth:"1.2"}),(0,d.jsx)("line",{x1:"39",y1:"25",x2:"61",y2:"25",stroke:"currentColor",strokeWidth:"0.8"}),(0,d.jsx)("line",{x1:"27",y1:"50",x2:"73",y2:"50",stroke:"currentColor",strokeWidth:"0.8"}),(0,d.jsx)("rect",{x:"43",y:"88",width:"14",height:"5",fill:"currentColor",opacity:"0.5"}),(0,d.jsx)("circle",{cx:"50",cy:"2",r:"1.5",fill:"currentColor"})]})}function o(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"1",y:"1",width:"5",height:"5",rx:"1"}),(0,d.jsx)("rect",{x:"8",y:"1",width:"5",height:"5",rx:"1"}),(0,d.jsx)("rect",{x:"1",y:"8",width:"5",height:"5",rx:"1"}),(0,d.jsx)("rect",{x:"8",y:"8",width:"5",height:"5",rx:"1"})]})}function p(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"7",cy:"12",r:"1",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M4.5 10a3.5 3.5 0 0 1 5 0"}),(0,d.jsx)("path",{d:"M2.5 8a6 6 0 0 1 9 0"}),(0,d.jsx)("path",{d:"M0.5 6a8.5 8.5 0 0 1 13 0"})]})}function q(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"7",cy:"2.5",r:"1.5"}),(0,d.jsx)("circle",{cx:"3",cy:"11.5",r:"1.5"}),(0,d.jsx)("circle",{cx:"11",cy:"11.5",r:"1.5"}),(0,d.jsx)("line",{x1:"6.2",y1:"3.8",x2:"3.8",y2:"10"}),(0,d.jsx)("line",{x1:"7.8",y1:"3.8",x2:"10.2",y2:"10"})]})}function r(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"7",cy:"7",r:"2"}),(0,d.jsx)("path",{d:"M7 1v1.5M7 11.5V13M1 7h1.5M11.5 7H13M2.76 2.76l1.06 1.06M10.18 10.18l1.06 1.06M2.76 11.24l1.06-1.06M10.18 3.82l1.06-1.06"})]})}function s({href:a,label:b,section:c,icon:e}){let f=(0,h.usePathname)(),{activeSection:i}=(0,j.iQ)(),k=i?i===c:"/"===a?"/"===f:f.startsWith(a);return(0,d.jsxs)(g(),{href:a,className:k?"active":"",children:[e,(0,d.jsx)("span",{className:"nav-label",children:b})]})}function t({children:a}){let{connected:b}=(0,i.q)(),{segments:c}=(0,j.iQ)(),{theme:f,toggle:h}=(0,k.D)(),{logout:t}=(0,l.A)(),[u,v]=(0,e.useState)(m),w=(0,e.useCallback)(()=>{v(a=>{let b=!a;return localStorage.setItem("station-sidebar",b?"collapsed":"expanded"),b})},[]);return(0,d.jsxs)("div",{className:"station-layout","data-collapsed":u,children:[(0,d.jsxs)("aside",{className:"station-sidebar",children:[(0,d.jsxs)("div",{className:"station-sidebar-logo",children:[(0,d.jsxs)("div",{className:"station-sidebar-mark",children:[(0,d.jsx)(n,{size:20}),(0,d.jsx)("h1",{children:"Station"})]}),(0,d.jsx)("span",{children:"station-signal"})]}),(0,d.jsxs)("nav",{className:"station-sidebar-nav",children:[(0,d.jsx)("div",{className:"station-sidebar-nav-label",children:"Nav"}),(0,d.jsx)(s,{href:"/",label:"Overview",section:"overview",icon:(0,d.jsx)(o,{})}),(0,d.jsx)(s,{href:"/signals",label:"Signals",section:"signals",icon:(0,d.jsx)(p,{})}),(0,d.jsx)(s,{href:"/broadcasts",label:"Broadcasts",section:"broadcasts",icon:(0,d.jsx)(q,{})}),(0,d.jsx)("div",{className:"station-sidebar-nav-label",style:{marginTop:"1rem"},children:"Admin"}),(0,d.jsx)(s,{href:"/settings",label:"Settings",section:"settings",icon:(0,d.jsx)(r,{})})]}),(0,d.jsx)("button",{className:"sidebar-collapse-btn",onClick:w,title:u?"Expand sidebar":"Collapse sidebar","aria-label":u?"Expand sidebar":"Collapse sidebar",children:(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round","aria-hidden":"true",children:u?(0,d.jsx)("polyline",{points:"5 3 9 7 5 11"}):(0,d.jsx)("polyline",{points:"9 3 5 7 9 11"})})})]}),(0,d.jsxs)("div",{className:"station-main",children:[(0,d.jsxs)("header",{className:"station-header",children:[(0,d.jsx)("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:0===c.length?(0,d.jsx)("span",{className:"breadcrumb-segment",children:"overview"}):c.map((a,b)=>(0,d.jsxs)("span",{className:"breadcrumb-item",children:[b>0&&(0,d.jsx)("span",{className:"breadcrumb-sep","aria-hidden":"true",children:"/"}),a.href?(0,d.jsx)(g(),{href:a.href,className:"breadcrumb-link",children:a.label}):(0,d.jsx)("span",{className:"breadcrumb-segment breadcrumb-segment--current","aria-current":"page",children:a.label})]},b))}),(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,d.jsx)("button",{onClick:h,className:"theme-toggle",title:"light"===f?"Switch to dark mode":"Switch to light mode","aria-label":"light"===f?"Switch to dark mode":"Switch to light mode",children:"light"===f?(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,d.jsx)("path",{d:"M13.5 8.5a5.5 5.5 0 0 1-7-7A5.5 5.5 0 1 0 13.5 8.5Z"})}):(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,d.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,d.jsx)("path",{d:"M8 1v2M8 13v2M1 8h2M13 8h2M3.05 3.05l1.41 1.41M11.54 11.54l1.41 1.41M3.05 12.95l1.41-1.41M11.54 4.46l1.41-1.41"})]})}),(0,d.jsx)("button",{onClick:t,className:"logout-btn",title:"Sign out","aria-label":"Sign out",children:(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,d.jsx)("path",{d:"M6 2H3a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3"}),(0,d.jsx)("path",{d:"M10 12l4-4-4-4"}),(0,d.jsx)("line",{x1:"14",y1:"8",x2:"6",y2:"8"})]})}),(0,d.jsx)("div",{className:`pulse-dot ${b?"":"pulse-dot--disconnected"}`,title:b?"Connected":"Disconnected"})]})]}),(0,d.jsx)("main",{className:"station-content",children:a})]})]})}},2648:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>l,metadata:()=>k});var d=c(8098);c(4267);var e=c(6825),f=c(4556),g=c(5295),h=c(8728),i=c(3087),j=c(4562);let k={title:"Station",description:"Dashboard for station-signal"};function l({children:a}){return(0,d.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("script",{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")}})()'}}),(0,d.jsx)("link",{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"})]}),(0,d.jsx)("body",{children:(0,d.jsx)(f.ThemeProvider,{children:(0,d.jsx)(i.AuthProvider,{loginPage:(0,d.jsx)(j.LoginPage,{}),children:(0,d.jsx)(g.StationProvider,{children:(0,d.jsx)(h.BreadcrumbProvider,{children:(0,d.jsx)(e.Shell,{children:a})})})})})})]})}},3087:(a,b,c)=>{"use strict";c.d(b,{AuthProvider:()=>e});var d=c(4026);(0,d.registerClientReference)(function(){throw Error("Attempted to call useAuth() from the server but useAuth is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/auth-provider.tsx","useAuth");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/auth-provider.tsx","AuthProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useLoginCallback() from the server but useLoginCallback is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/auth-provider.tsx","useLoginCallback")},3726:(a,b,c)=>{"use strict";c.d(b,{BreadcrumbProvider:()=>g});var d=c(2164),e=c(4509),f=c(8770);function g({children:a}){let[b,c]=(0,e.useState)([]),[g,h]=(0,e.useState)(null),i=(0,e.useCallback)(a=>c(a),[]),j=(0,e.useCallback)(a=>h(a),[]);return(0,d.jsx)(f.Hc.Provider,{value:{segments:b,activeSection:g,setSegments:i,setActiveSection:j},children:a})}},4267:()=>{},4556:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(4026);(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/theme-provider.tsx","useTheme");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/theme-provider.tsx","ThemeProvider")},4562:(a,b,c)=>{"use strict";c.d(b,{LoginPage:()=>d});let d=(0,c(4026).registerClientReference)(function(){throw Error("Attempted to call LoginPage() from the server but LoginPage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/login-page.tsx","LoginPage")},4576:(a,b,c)=>{"use strict";c.d(b,{LoginPage:()=>h});var d=c(2164),e=c(4509),f=c(4995),g=c(1985);function h(){let a=(0,g.S)(),[b,c]=(0,e.useState)(""),[h,i]=(0,e.useState)(""),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)(!1);async function n(c){c.preventDefault(),k(""),m(!0);try{await (0,f.iD)(b,h)?a():k("Invalid credentials.")}catch{k("Connection failed.")}m(!1)}return(0,d.jsx)("div",{className:"login-page",children:(0,d.jsxs)("div",{className:"login-card",children:[(0,d.jsxs)("div",{className:"login-header",children:[(0,d.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 100 100",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M50 2 L39 25 L27 50 L18 70 L10 88 L90 88 L82 70 L73 50 L61 25 Z",stroke:"currentColor",strokeWidth:"1.5"}),(0,d.jsx)("line",{x1:"50",y1:"2",x2:"50",y2:"88",stroke:"currentColor",strokeWidth:"1"}),(0,d.jsx)("line",{x1:"16",y1:"70",x2:"84",y2:"70",stroke:"currentColor",strokeWidth:"1.2"}),(0,d.jsx)("line",{x1:"39",y1:"25",x2:"61",y2:"25",stroke:"currentColor",strokeWidth:"0.8"}),(0,d.jsx)("line",{x1:"27",y1:"50",x2:"73",y2:"50",stroke:"currentColor",strokeWidth:"0.8"}),(0,d.jsx)("rect",{x:"43",y:"88",width:"14",height:"5",fill:"currentColor",opacity:"0.5"}),(0,d.jsx)("circle",{cx:"50",cy:"2",r:"1.5",fill:"currentColor"})]}),(0,d.jsx)("h1",{children:"Station"})]}),(0,d.jsxs)("form",{onSubmit:n,children:[(0,d.jsxs)("div",{className:"login-field",children:[(0,d.jsx)("label",{htmlFor:"username",children:"Username"}),(0,d.jsx)("input",{id:"username",type:"text",value:b,onChange:a=>c(a.target.value),autoComplete:"username",autoFocus:!0,required:!0})]}),(0,d.jsxs)("div",{className:"login-field",children:[(0,d.jsx)("label",{htmlFor:"password",children:"Password"}),(0,d.jsx)("input",{id:"password",type:"password",value:h,onChange:a=>i(a.target.value),autoComplete:"current-password",required:!0})]}),j&&(0,d.jsx)("div",{className:"login-error",children:j}),(0,d.jsx)("button",{type:"submit",className:"btn btn--primary login-btn",disabled:l,children:l?"Signing in...":"Sign in"})]})]})})}},4995:(a,b,c)=>{"use strict";async function d(a,b){let c=await fetch(`/api${a}`,{...b,credentials:"include",headers:{"Content-Type":"application/json",...b?.headers}});if(!c.ok)throw Error((await c.json().catch(()=>({error:"unknown",message:"Request failed."}))).message);return c.json()}async function e(){let a=await fetch("/api/auth/check",{credentials:"include"});return(await a.json()).data}async function f(a,b){return(await fetch("/api/auth/login",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:a,password:b})})).ok}async function g(){await fetch("/api/auth/logout",{method:"POST",credentials:"include"})}function h(){return{getHealth:()=>d("/health"),getSignals:()=>d("/signals"),getScheduledSignals:()=>d("/signals/scheduled"),getSignal:a=>d(`/signals/${encodeURIComponent(a)}`),getSignalRuns:a=>d(`/signals/${encodeURIComponent(a)}/runs`),triggerSignal:(a,b)=>d(`/signals/${encodeURIComponent(a)}/trigger`,{method:"POST",body:JSON.stringify({input:b??{}})}),getRuns:a=>{let b=new URLSearchParams;a?.status&&b.set("status",a.status),a?.signalName&&b.set("signalName",a.signalName);let c=b.toString();return d(`/runs${c?`?${c}`:""}`)},getRunStats:()=>d("/runs/stats"),getRun:a=>d(`/runs/${a}`),getRunSteps:a=>d(`/runs/${a}/steps`),getRunLogs:a=>d(`/runs/${a}/logs`),cancelRun:a=>d(`/runs/${a}/cancel`,{method:"POST"}),rerunRun:a=>d(`/runs/${a}/rerun`,{method:"POST"}),retryRun:a=>d(`/runs/${a}/retry`,{method:"POST"}),getBroadcasts:()=>d("/broadcasts"),getBroadcast:a=>d(`/broadcasts/${encodeURIComponent(a)}`),triggerBroadcast:(a,b)=>d(`/broadcasts/${encodeURIComponent(a)}/trigger`,{method:"POST",body:JSON.stringify({input:b??{}})}),getBroadcastRuns:a=>d(`/broadcasts/${encodeURIComponent(a)}/runs`),getBroadcastRun:a=>d(`/broadcast-runs/${a}`),getBroadcastRunNodes:a=>d(`/broadcast-runs/${a}/nodes`),getBroadcastRunLogs:a=>d(`/broadcast-runs/${a}/logs`),cancelBroadcastRun:a=>d(`/broadcast-runs/${a}/cancel`,{method:"POST"}),rerunBroadcastRun:a=>d(`/broadcast-runs/${a}/rerun`,{method:"POST"}),getApiKeys:()=>d("/v1/keys"),createApiKey:(a,b)=>d("/v1/keys",{method:"POST",body:JSON.stringify({name:a,scopes:b})}),revokeApiKey:a=>d(`/v1/keys/${a}`,{method:"DELETE"})}}c.d(b,{T5:()=>e,gf:()=>h,iD:()=>f,ri:()=>g})},5226:(a,b,c)=>{"use strict";c.d(b,{D:()=>g,ThemeProvider:()=>i});var d=c(2164),e=c(4509);let f=(0,e.createContext)({theme:"light",toggle:()=>{}});function g(){return(0,e.useContext)(f)}function h(){return"light"}function i({children:a}){let[b,c]=(0,e.useState)(h),g=(0,e.useCallback)(()=>{c(a=>"light"===a?"dark":"light")},[]);return(0,d.jsx)(f.Provider,{value:{theme:b,toggle:g},children:a})}},5295:(a,b,c)=>{"use strict";c.d(b,{StationProvider:()=>e});var d=c(4026);(0,d.registerClientReference)(function(){throw Error("Attempted to call useStation() from the server but useStation is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/hooks/use-station.tsx","useStation");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call StationProvider() from the server but StationProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/hooks/use-station.tsx","StationProvider")},5627:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,2714,23)),Promise.resolve().then(c.t.bind(c,5701,23)),Promise.resolve().then(c.t.bind(c,8709,23)),Promise.resolve().then(c.t.bind(c,492,23)),Promise.resolve().then(c.t.bind(c,3012,23)),Promise.resolve().then(c.t.bind(c,5800,23)),Promise.resolve().then(c.t.bind(c,1968,23)),Promise.resolve().then(c.t.bind(c,5273,23)),Promise.resolve().then(c.t.bind(c,1824,23))},6273:(a,b,c)=>{"use strict";c.d(b,{StationProvider:()=>h,q:()=>g});var d=c(2164),e=c(4509);let f=(0,e.createContext)({connected:!1,events:[]});function g(){return(0,e.useContext)(f)}function h({children:a}){let[b,c]=(0,e.useState)([]),{connected:g}=function(a){let[b,c]=(0,e.useState)(!1);return(0,e.useRef)(a).current=a,{connected:b}}((0,e.useCallback)(a=>{c(b=>[a,...b].slice(0,100))},[]));return(0,d.jsx)(f.Provider,{value:{connected:g,events:b},children:a})}},6825:(a,b,c)=>{"use strict";c.d(b,{Shell:()=>d});let d=(0,c(4026).registerClientReference)(function(){throw Error("Attempted to call Shell() from the server but Shell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/shell.tsx","Shell")},8654:(a,b,c)=>{Promise.resolve().then(c.bind(c,1985)),Promise.resolve().then(c.bind(c,3726)),Promise.resolve().then(c.bind(c,4576)),Promise.resolve().then(c.bind(c,2167)),Promise.resolve().then(c.bind(c,5226)),Promise.resolve().then(c.bind(c,6273))},8728:(a,b,c)=>{"use strict";c.d(b,{BreadcrumbProvider:()=>d});let d=(0,c(4026).registerClientReference)(function(){throw Error("Attempted to call BreadcrumbProvider() from the server but BreadcrumbProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/breadcrumb-provider.tsx","BreadcrumbProvider")},8770:(a,b,c)=>{"use strict";c.d(b,{Hc:()=>e,iQ:()=>g,rT:()=>f});var d=c(4509);let e=(0,d.createContext)({segments:[],activeSection:null,setSegments:()=>{},setActiveSection:()=>{}});function f(a,b){let c=(0,d.useContext)(e);(0,d.useEffect)(()=>{c.setSegments(a),c.setActiveSection(b)},[JSON.stringify(a),b])}function g(){return(0,d.useContext)(e)}},8771:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,576,23)),Promise.resolve().then(c.t.bind(c,611,23)),Promise.resolve().then(c.t.bind(c,5519,23)),Promise.resolve().then(c.t.bind(c,4450,23)),Promise.resolve().then(c.t.bind(c,6358,23)),Promise.resolve().then(c.t.bind(c,7034,23)),Promise.resolve().then(c.t.bind(c,5506,23)),Promise.resolve().then(c.t.bind(c,2455,23)),Promise.resolve().then(c.bind(c,4978))},8918:(a,b,c)=>{Promise.resolve().then(c.bind(c,3087)),Promise.resolve().then(c.bind(c,8728)),Promise.resolve().then(c.bind(c,4562)),Promise.resolve().then(c.bind(c,6825)),Promise.resolve().then(c.bind(c,4556)),Promise.resolve().then(c.bind(c,5295))}};
|
|
1
|
+
exports.id=102,exports.ids=[102],exports.modules={4576:(a,b,c)=>{"use strict";c.d(b,{LoginPage:()=>h});var d=c(82164),e=c(54509),f=c(84995),g=c(81985);function h(){let a=(0,g.S)(),[b,c]=(0,e.useState)(""),[h,i]=(0,e.useState)(""),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)(!1);async function n(c){c.preventDefault(),k(""),m(!0);try{await (0,f.iD)(b,h)?a():k("Invalid credentials.")}catch{k("Connection failed.")}m(!1)}return(0,d.jsx)("div",{className:"login-page",children:(0,d.jsxs)("div",{className:"login-card",children:[(0,d.jsxs)("div",{className:"login-header",children:[(0,d.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 100 100",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M50 2 L39 25 L27 50 L18 70 L10 88 L90 88 L82 70 L73 50 L61 25 Z",stroke:"currentColor",strokeWidth:"1.5"}),(0,d.jsx)("line",{x1:"50",y1:"2",x2:"50",y2:"88",stroke:"currentColor",strokeWidth:"1"}),(0,d.jsx)("line",{x1:"16",y1:"70",x2:"84",y2:"70",stroke:"currentColor",strokeWidth:"1.2"}),(0,d.jsx)("line",{x1:"39",y1:"25",x2:"61",y2:"25",stroke:"currentColor",strokeWidth:"0.8"}),(0,d.jsx)("line",{x1:"27",y1:"50",x2:"73",y2:"50",stroke:"currentColor",strokeWidth:"0.8"}),(0,d.jsx)("rect",{x:"43",y:"88",width:"14",height:"5",fill:"currentColor",opacity:"0.5"}),(0,d.jsx)("circle",{cx:"50",cy:"2",r:"1.5",fill:"currentColor"})]}),(0,d.jsx)("h1",{children:"Station"})]}),(0,d.jsxs)("form",{onSubmit:n,children:[(0,d.jsxs)("div",{className:"login-field",children:[(0,d.jsx)("label",{htmlFor:"username",children:"Username"}),(0,d.jsx)("input",{id:"username",type:"text",value:b,onChange:a=>c(a.target.value),autoComplete:"username",autoFocus:!0,required:!0})]}),(0,d.jsxs)("div",{className:"login-field",children:[(0,d.jsx)("label",{htmlFor:"password",children:"Password"}),(0,d.jsx)("input",{id:"password",type:"password",value:h,onChange:a=>i(a.target.value),autoComplete:"current-password",required:!0})]}),j&&(0,d.jsx)("div",{className:"login-error",children:j}),(0,d.jsx)("button",{type:"submit",className:"btn btn--primary login-btn",disabled:l,children:l?"Signing in...":"Sign in"})]})]})})}},15295:(a,b,c)=>{"use strict";c.d(b,{StationProvider:()=>e});var d=c(94026);(0,d.registerClientReference)(function(){throw Error("Attempted to call useStation() from the server but useStation is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/hooks/use-station.tsx","useStation");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call StationProvider() from the server but StationProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/hooks/use-station.tsx","StationProvider")},16825:(a,b,c)=>{"use strict";c.d(b,{Shell:()=>d});let d=(0,c(94026).registerClientReference)(function(){throw Error("Attempted to call Shell() from the server but Shell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/shell.tsx","Shell")},23726:(a,b,c)=>{"use strict";c.d(b,{BreadcrumbProvider:()=>g});var d=c(82164),e=c(54509),f=c(88770);function g({children:a}){let[b,c]=(0,e.useState)([]),[g,h]=(0,e.useState)(null),i=(0,e.useCallback)(a=>c(a),[]),j=(0,e.useCallback)(a=>h(a),[]);return(0,d.jsx)(f.Hc.Provider,{value:{segments:b,activeSection:g,setSegments:i,setActiveSection:j},children:a})}},24556:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(94026);(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/theme-provider.tsx","useTheme");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/theme-provider.tsx","ThemeProvider")},25627:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,2714,23)),Promise.resolve().then(c.t.bind(c,65701,23)),Promise.resolve().then(c.t.bind(c,68709,23)),Promise.resolve().then(c.t.bind(c,60492,23)),Promise.resolve().then(c.t.bind(c,13012,23)),Promise.resolve().then(c.t.bind(c,65800,23)),Promise.resolve().then(c.t.bind(c,11968,23)),Promise.resolve().then(c.t.bind(c,55273,23)),Promise.resolve().then(c.t.bind(c,61824,23))},42167:(a,b,c)=>{"use strict";c.d(b,{Shell:()=>v});var d=c(82164),e=c(54509),f=c(5543),g=c.n(f),h=c(26170),i=c(96273),j=c(88770),k=c(75226),l=c(81985);function m(){return!1}function n({size:a=20}){return(0,d.jsxs)("svg",{width:a,height:a,viewBox:"0 0 100 100",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M50 2 L39 25 L27 50 L18 70 L10 88 L90 88 L82 70 L73 50 L61 25 Z",stroke:"currentColor",strokeWidth:"1.5"}),(0,d.jsx)("line",{x1:"50",y1:"2",x2:"50",y2:"88",stroke:"currentColor",strokeWidth:"1"}),(0,d.jsx)("line",{x1:"16",y1:"70",x2:"84",y2:"70",stroke:"currentColor",strokeWidth:"1.2"}),(0,d.jsx)("line",{x1:"39",y1:"25",x2:"61",y2:"25",stroke:"currentColor",strokeWidth:"0.8"}),(0,d.jsx)("line",{x1:"27",y1:"50",x2:"73",y2:"50",stroke:"currentColor",strokeWidth:"0.8"}),(0,d.jsx)("rect",{x:"43",y:"88",width:"14",height:"5",fill:"currentColor",opacity:"0.5"}),(0,d.jsx)("circle",{cx:"50",cy:"2",r:"1.5",fill:"currentColor"})]})}function o(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"1",y:"1",width:"5",height:"5",rx:"1"}),(0,d.jsx)("rect",{x:"8",y:"1",width:"5",height:"5",rx:"1"}),(0,d.jsx)("rect",{x:"1",y:"8",width:"5",height:"5",rx:"1"}),(0,d.jsx)("rect",{x:"8",y:"8",width:"5",height:"5",rx:"1"})]})}function p(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"7",cy:"12",r:"1",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M4.5 10a3.5 3.5 0 0 1 5 0"}),(0,d.jsx)("path",{d:"M2.5 8a6 6 0 0 1 9 0"}),(0,d.jsx)("path",{d:"M0.5 6a8.5 8.5 0 0 1 13 0"})]})}function q(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"7",cy:"2.5",r:"1.5"}),(0,d.jsx)("circle",{cx:"3",cy:"11.5",r:"1.5"}),(0,d.jsx)("circle",{cx:"11",cy:"11.5",r:"1.5"}),(0,d.jsx)("line",{x1:"6.2",y1:"3.8",x2:"3.8",y2:"10"}),(0,d.jsx)("line",{x1:"7.8",y1:"3.8",x2:"10.2",y2:"10"})]})}function r(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"7",cy:"7",r:"2"}),(0,d.jsx)("path",{d:"M7 1v1.5M7 11.5V13M1 7h1.5M11.5 7H13M2.76 2.76l1.06 1.06M10.18 10.18l1.06 1.06M2.76 11.24l1.06-1.06M10.18 3.82l1.06-1.06"})]})}function s(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"7",cy:"7",r:"5.5"}),(0,d.jsx)("path",{d:"M7 4v3l2 1.5"})]})}function t(){return(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M5 1h4M5.5 1v4L2 11.5a1.5 1.5 0 0 0 1.3 2.3h7.4a1.5 1.5 0 0 0 1.3-2.3L8.5 5V1"}),(0,d.jsx)("path",{d:"M3.5 8.5h7"})]})}function u({href:a,label:b,section:c,icon:e}){let f=(0,h.usePathname)(),{activeSection:i}=(0,j.iQ)(),k=i?i===c:"/"===a?"/"===f:f.startsWith(a);return(0,d.jsxs)(g(),{href:a,className:k?"active":"",children:[e,(0,d.jsx)("span",{className:"nav-label",children:b})]})}function v({children:a}){let{connected:b}=(0,i.q)(),{segments:c}=(0,j.iQ)(),{theme:f,toggle:h}=(0,k.D)(),{logout:v}=(0,l.A)(),[w,x]=(0,e.useState)(m),y=(0,e.useCallback)(()=>{x(a=>{let b=!a;return localStorage.setItem("station-sidebar",b?"collapsed":"expanded"),b})},[]);return(0,d.jsxs)("div",{className:"station-layout","data-collapsed":w,children:[(0,d.jsxs)("aside",{className:"station-sidebar",children:[(0,d.jsxs)("div",{className:"station-sidebar-logo",children:[(0,d.jsxs)("div",{className:"station-sidebar-mark",children:[(0,d.jsx)(n,{size:20}),(0,d.jsx)("h1",{children:"Station"})]}),(0,d.jsx)("span",{children:"station-signal"})]}),(0,d.jsxs)("nav",{className:"station-sidebar-nav",children:[(0,d.jsx)("div",{className:"station-sidebar-nav-label",children:"Nav"}),(0,d.jsx)(u,{href:"/",label:"Overview",section:"overview",icon:(0,d.jsx)(o,{})}),(0,d.jsx)(u,{href:"/signals",label:"Signals",section:"signals",icon:(0,d.jsx)(p,{})}),(0,d.jsx)(u,{href:"/broadcasts",label:"Broadcasts",section:"broadcasts",icon:(0,d.jsx)(q,{})}),(0,d.jsx)(u,{href:"/schedules",label:"Schedules",section:"schedules",icon:(0,d.jsx)(s,{})}),(0,d.jsx)("div",{className:"station-sidebar-nav-label",style:{marginTop:"1rem"},children:"Tools"}),(0,d.jsx)(u,{href:"/playground/expression",label:"Expressions",section:"playground",icon:(0,d.jsx)(t,{})}),(0,d.jsx)("div",{className:"station-sidebar-nav-label",style:{marginTop:"1rem"},children:"Admin"}),(0,d.jsx)(u,{href:"/settings",label:"Settings",section:"settings",icon:(0,d.jsx)(r,{})})]}),(0,d.jsx)("button",{className:"sidebar-collapse-btn",onClick:y,title:w?"Expand sidebar":"Collapse sidebar","aria-label":w?"Expand sidebar":"Collapse sidebar",children:(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round","aria-hidden":"true",children:w?(0,d.jsx)("polyline",{points:"5 3 9 7 5 11"}):(0,d.jsx)("polyline",{points:"9 3 5 7 9 11"})})})]}),(0,d.jsxs)("div",{className:"station-main",children:[(0,d.jsxs)("header",{className:"station-header",children:[(0,d.jsx)("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:0===c.length?(0,d.jsx)("span",{className:"breadcrumb-segment",children:"overview"}):c.map((a,b)=>(0,d.jsxs)("span",{className:"breadcrumb-item",children:[b>0&&(0,d.jsx)("span",{className:"breadcrumb-sep","aria-hidden":"true",children:"/"}),a.href?(0,d.jsx)(g(),{href:a.href,className:"breadcrumb-link",children:a.label}):(0,d.jsx)("span",{className:"breadcrumb-segment breadcrumb-segment--current","aria-current":"page",children:a.label})]},b))}),(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,d.jsx)("button",{onClick:h,className:"theme-toggle",title:"light"===f?"Switch to dark mode":"Switch to light mode","aria-label":"light"===f?"Switch to dark mode":"Switch to light mode",children:"light"===f?(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,d.jsx)("path",{d:"M13.5 8.5a5.5 5.5 0 0 1-7-7A5.5 5.5 0 1 0 13.5 8.5Z"})}):(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,d.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,d.jsx)("path",{d:"M8 1v2M8 13v2M1 8h2M13 8h2M3.05 3.05l1.41 1.41M11.54 11.54l1.41 1.41M3.05 12.95l1.41-1.41M11.54 4.46l1.41-1.41"})]})}),(0,d.jsx)("button",{onClick:v,className:"logout-btn",title:"Sign out","aria-label":"Sign out",children:(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,d.jsx)("path",{d:"M6 2H3a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3"}),(0,d.jsx)("path",{d:"M10 12l4-4-4-4"}),(0,d.jsx)("line",{x1:"14",y1:"8",x2:"6",y2:"8"})]})}),(0,d.jsx)("div",{className:`pulse-dot ${b?"":"pulse-dot--disconnected"}`,title:b?"Connected":"Disconnected"})]})]}),(0,d.jsx)("main",{className:"station-content",children:a})]})]})}},44267:()=>{},48654:(a,b,c)=>{Promise.resolve().then(c.bind(c,81985)),Promise.resolve().then(c.bind(c,23726)),Promise.resolve().then(c.bind(c,4576)),Promise.resolve().then(c.bind(c,42167)),Promise.resolve().then(c.bind(c,75226)),Promise.resolve().then(c.bind(c,96273))},68728:(a,b,c)=>{"use strict";c.d(b,{BreadcrumbProvider:()=>d});let d=(0,c(94026).registerClientReference)(function(){throw Error("Attempted to call BreadcrumbProvider() from the server but BreadcrumbProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/breadcrumb-provider.tsx","BreadcrumbProvider")},74562:(a,b,c)=>{"use strict";c.d(b,{LoginPage:()=>d});let d=(0,c(94026).registerClientReference)(function(){throw Error("Attempted to call LoginPage() from the server but LoginPage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/login-page.tsx","LoginPage")},75226:(a,b,c)=>{"use strict";c.d(b,{D:()=>g,ThemeProvider:()=>i});var d=c(82164),e=c(54509);let f=(0,e.createContext)({theme:"light",toggle:()=>{}});function g(){return(0,e.useContext)(f)}function h(){return"light"}function i({children:a}){let[b,c]=(0,e.useState)(h),g=(0,e.useCallback)(()=>{c(a=>"light"===a?"dark":"light")},[]);return(0,d.jsx)(f.Provider,{value:{theme:b,toggle:g},children:a})}},78771:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,20576,23)),Promise.resolve().then(c.t.bind(c,60611,23)),Promise.resolve().then(c.t.bind(c,55519,23)),Promise.resolve().then(c.t.bind(c,54450,23)),Promise.resolve().then(c.t.bind(c,56358,23)),Promise.resolve().then(c.t.bind(c,67034,23)),Promise.resolve().then(c.t.bind(c,25506,23)),Promise.resolve().then(c.t.bind(c,2455,23)),Promise.resolve().then(c.bind(c,84978))},78918:(a,b,c)=>{Promise.resolve().then(c.bind(c,93087)),Promise.resolve().then(c.bind(c,68728)),Promise.resolve().then(c.bind(c,74562)),Promise.resolve().then(c.bind(c,16825)),Promise.resolve().then(c.bind(c,24556)),Promise.resolve().then(c.bind(c,15295))},81985:(a,b,c)=>{"use strict";c.d(b,{A:()=>h,AuthProvider:()=>i,S:()=>k});var d=c(82164),e=c(54509),f=c(84995);let g=(0,e.createContext)({authenticated:!0,logout:async()=>{}});function h(){return(0,e.useContext)(g)}function i({children:a,loginPage:b}){let[c,h]=(0,e.useState)("loading"),i=(0,e.useCallback)(async()=>{await (0,f.ri)(),h("unauthenticated")},[]),j=(0,e.useCallback)(()=>{h("authenticated")},[]);return"loading"===c?null:"unauthenticated"===c?(0,d.jsx)(l,{onSuccess:j,children:b}):(0,d.jsx)(g.Provider,{value:{authenticated:!0,logout:i},children:a})}let j=(0,e.createContext)(()=>{});function k(){return(0,e.useContext)(j)}function l({children:a,onSuccess:b}){return(0,d.jsx)(j.Provider,{value:b,children:a})}},82648:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>l,metadata:()=>k});var d=c(38098);c(44267);var e=c(16825),f=c(24556),g=c(15295),h=c(68728),i=c(93087),j=c(74562);let k={title:"Station",description:"Dashboard for station-signal"};function l({children:a}){return(0,d.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("script",{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")}})()'}}),(0,d.jsx)("link",{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"})]}),(0,d.jsx)("body",{children:(0,d.jsx)(f.ThemeProvider,{children:(0,d.jsx)(i.AuthProvider,{loginPage:(0,d.jsx)(j.LoginPage,{}),children:(0,d.jsx)(g.StationProvider,{children:(0,d.jsx)(h.BreadcrumbProvider,{children:(0,d.jsx)(e.Shell,{children:a})})})})})})]})}},84995:(a,b,c)=>{"use strict";async function d(a,b){let c=await fetch(`/api${a}`,{...b,credentials:"include",headers:{"Content-Type":"application/json",...b?.headers}});if(!c.ok)throw Error((await c.json().catch(()=>({error:"unknown",message:"Request failed."}))).message);return c.json()}async function e(){let a=await fetch("/api/auth/check",{credentials:"include"});return(await a.json()).data}async function f(a,b){return(await fetch("/api/auth/login",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:a,password:b})})).ok}async function g(){await fetch("/api/auth/logout",{method:"POST",credentials:"include"})}function h(){return{getHealth:()=>d("/health"),getSignals:()=>d("/signals"),getScheduledSignals:()=>d("/signals/scheduled"),getSignal:a=>d(`/signals/${encodeURIComponent(a)}`),getSignalRuns:a=>d(`/signals/${encodeURIComponent(a)}/runs`),triggerSignal:(a,b)=>d(`/signals/${encodeURIComponent(a)}/trigger`,{method:"POST",body:JSON.stringify({input:b??{}})}),getRuns:a=>{let b=new URLSearchParams;a?.status&&b.set("status",a.status),a?.signalName&&b.set("signalName",a.signalName);let c=b.toString();return d(`/runs${c?`?${c}`:""}`)},getRunStats:()=>d("/runs/stats"),getRun:a=>d(`/runs/${a}`),getRunSteps:a=>d(`/runs/${a}/steps`),getRunLogs:a=>d(`/runs/${a}/logs`),cancelRun:a=>d(`/runs/${a}/cancel`,{method:"POST"}),rerunRun:a=>d(`/runs/${a}/rerun`,{method:"POST"}),retryRun:a=>d(`/runs/${a}/retry`,{method:"POST"}),getBroadcasts:()=>d("/broadcasts"),getBroadcast:a=>d(`/broadcasts/${encodeURIComponent(a)}`),triggerBroadcast:(a,b)=>d(`/broadcasts/${encodeURIComponent(a)}/trigger`,{method:"POST",body:JSON.stringify({input:b??{}})}),getBroadcastRuns:a=>d(`/broadcasts/${encodeURIComponent(a)}/runs`),getBroadcastRun:a=>d(`/broadcast-runs/${a}`),getBroadcastRunNodes:a=>d(`/broadcast-runs/${a}/nodes`),getBroadcastRunLogs:a=>d(`/broadcast-runs/${a}/logs`),cancelBroadcastRun:a=>d(`/broadcast-runs/${a}/cancel`,{method:"POST"}),rerunBroadcastRun:a=>d(`/broadcast-runs/${a}/rerun`,{method:"POST"}),getBroadcastDefinitions:()=>d("/v1/broadcast-definitions"),getBroadcastDefinition:a=>d(`/v1/broadcast-definitions/${encodeURIComponent(a)}`),getBroadcastDefinitionVersions:a=>d(`/v1/broadcast-definitions/${encodeURIComponent(a)}/versions`),saveBroadcastDefinition:a=>d("/v1/broadcast-definitions",{method:"POST",body:JSON.stringify(a)}),validateBroadcastDefinition:a=>d("/v1/broadcast-definitions/validate",{method:"POST",body:JSON.stringify(a)}),deleteBroadcastDefinition:a=>d(`/v1/broadcast-definitions/${encodeURIComponent(a)}`,{method:"DELETE"}),triggerDynamicBroadcast:(a,b)=>d("/v1/trigger-dynamic-broadcast",{method:"POST",body:JSON.stringify({broadcastName:a,input:b??{}})}),getSchedules:a=>{let b=new URLSearchParams;a?.kind&&b.set("kind",a.kind),a?.enabled!==void 0&&b.set("enabled",String(a.enabled));let c=b.toString();return d(`/v1/schedules${c?`?${c}`:""}`)},getSchedule:a=>d(`/v1/schedules/${a}`),createSchedule:a=>d("/v1/schedules",{method:"POST",body:JSON.stringify(a)}),updateSchedule:(a,b)=>d(`/v1/schedules/${a}`,{method:"PATCH",body:JSON.stringify(b)}),deleteSchedule:a=>d(`/v1/schedules/${a}`,{method:"DELETE"}),previewSchedule:(a,b=5)=>d(`/v1/schedules/${a}/preview`,{method:"POST",body:JSON.stringify({count:b})}),evaluateExpression:(a,b)=>d("/v1/expressions/evaluate",{method:"POST",body:JSON.stringify({node:a,context:b})}),validateExpression:(a,b)=>d("/v1/expressions/validate",{method:"POST",body:JSON.stringify({node:a,schemaContext:b})}),parseExpression:a=>d("/v1/expressions/parse",{method:"POST",body:JSON.stringify({source:a})}),getApiKeys:()=>d("/v1/keys"),createApiKey:(a,b)=>d("/v1/keys",{method:"POST",body:JSON.stringify({name:a,scopes:b})}),revokeApiKey:a=>d(`/v1/keys/${a}`,{method:"DELETE"})}}c.d(b,{T5:()=>e,gf:()=>h,iD:()=>f,ri:()=>g})},88770:(a,b,c)=>{"use strict";c.d(b,{Hc:()=>e,iQ:()=>g,rT:()=>f});var d=c(54509);let e=(0,d.createContext)({segments:[],activeSection:null,setSegments:()=>{},setActiveSection:()=>{}});function f(a,b){let c=(0,d.useContext)(e);(0,d.useEffect)(()=>{c.setSegments(a),c.setActiveSection(b)},[JSON.stringify(a),b])}function g(){return(0,d.useContext)(e)}},93087:(a,b,c)=>{"use strict";c.d(b,{AuthProvider:()=>e});var d=c(94026);(0,d.registerClientReference)(function(){throw Error("Attempted to call useAuth() from the server but useAuth is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/auth-provider.tsx","useAuth");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/auth-provider.tsx","AuthProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useLoginCallback() from the server but useLoginCallback is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/don/Documents/dev/simple-signal/packages/station-kit/src/app/components/auth-provider.tsx","useLoginCallback")},96273:(a,b,c)=>{"use strict";c.d(b,{StationProvider:()=>h,q:()=>g});var d=c(82164),e=c(54509);let f=(0,e.createContext)({connected:!1,events:[]});function g(){return(0,e.useContext)(f)}function h({children:a}){let[b,c]=(0,e.useState)([]),{connected:g}=function(a){let[b,c]=(0,e.useState)(!1);return(0,e.useRef)(a).current=a,{connected:b}}((0,e.useCallback)(a=>{c(b=>[a,...b].slice(0,100))},[]));return(0,d.jsx)(f.Provider,{value:{connected:g,events:b},children:a})}}};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";exports.id=535,exports.ids=[535],exports.modules={8267:(a,b,c)=>{c.d(b,{C0:()=>k,QK:()=>l,WZ:()=>j});var d=c(82164),e=c(75226);let f={completed:{bar:"#4A6741",fill:"rgba(74, 103, 65, 0.06)",stroke:"#4A6741",text:"#4A6741"},running:{bar:"#6B9962",fill:"rgba(107, 153, 98, 0.08)",stroke:"#6B9962",text:"#4A6741"},failed:{bar:"#8B5A2B",fill:"rgba(139, 90, 43, 0.06)",stroke:"#8B5A2B",text:"#8B5A2B"},pending:{bar:"#D4CEBF",fill:"#F9F7F3",stroke:"#D4CEBF",text:"#8A8A8E"},cancelled:{bar:"#AEAEB2",fill:"rgba(139, 90, 43, 0.03)",stroke:"#AEAEB2",text:"#8A8A8E"},skipped:{bar:"#AEAEB2",fill:"transparent",stroke:"#AEAEB2",text:"#8A8A8E"}},g={completed:{bar:"#6B9962",fill:"rgba(107, 153, 98, 0.12)",stroke:"#6B9962",text:"#8BB882"},running:{bar:"#8BB882",fill:"rgba(139, 185, 130, 0.1)",stroke:"#8BB882",text:"#8BB882"},failed:{bar:"#C4834A",fill:"rgba(196, 131, 74, 0.1)",stroke:"#C4834A",text:"#D4975C"},pending:{bar:"#4A4A4C",fill:"#252527",stroke:"#4A4A4C",text:"#8A8A8E"},cancelled:{bar:"#6A6A6E",fill:"rgba(60, 60, 62, 0.3)",stroke:"#6A6A6E",text:"#8A8A8E"},skipped:{bar:"#6A6A6E",fill:"transparent",stroke:"#6A6A6E",text:"#8A8A8E"}},h={bar:"#4A6741",fill:"#FFFFFF",stroke:"#D4CEBF",text:"#1C1C1E"},i={bar:"#6B9962",fill:"#222224",stroke:"#4A4A4C",text:"#E8E4DC"};function j(){let{theme:a}=(0,e.D)();return"dark"===a?g:f}function k(a){if(0===a.length)return[];let b=new Map;for(let c of a)b.set(c.name,c);let c=new Map;for(let d of a)!function a(d,e){if(c.has(d))return c.get(d);if(e.has(d))return 0;e.add(d);let f=b.get(d);if(!f||0===f.dependsOn.length)return c.set(d,0),0;let g=0;for(let c of f.dependsOn)b.has(c)&&(g=Math.max(g,a(c,e)+1));return c.set(d,g),g}(d.name,new Set);let d=new Map;for(let b of a){let a=c.get(b.name)??0;d.has(a)||d.set(a,[]),d.get(a).push(b)}let e=Math.max(...Array.from(d.keys()),0),f=[];for(let a=0;a<=e;a++)f.push(d.get(a)??[]);return f.filter(a=>a.length>0)}function l({nodes:a,onNodeClick:b,selectedNode:c,compact:j}){let{theme:l}=(0,e.D)(),m="dark"===l,n=m?g:f,o=m?i:h;if(0===a.length)return(0,d.jsx)("div",{className:"empty-state",children:(0,d.jsx)("p",{className:"empty-state-text",children:"No nodes."})});let p=j?140:184,q=j?36:60,{positions:r,svgWidth:s,svgHeight:t}=function(a,b){let c=new Map;if(0===a.length)return{positions:c,svgWidth:0,svgHeight:0};let{nodeWidth:d,nodeHeight:e,gapX:f,gapY:g,paddingX:h,paddingY:i}=b,j=Math.max(1,...a.map(a=>a.length))*(d+f)-f+2*h,k=a.length*(e+g)-g+2*i;for(let b=0;b<a.length;b++){let h=a[b],k=(j-(h.length*(d+f)-f))/2,l=i+b*(e+g);for(let a=0;a<h.length;a++){let b=k+a*(d+f);c.set(h[a].name,{x:b,y:l,node:h[a]})}}return{positions:c,svgWidth:j,svgHeight:k}}(k(a),{nodeWidth:p,nodeHeight:q,gapX:j?32:48,gapY:j?28:40,paddingX:j?20:32,paddingY:j?16:24}),u=a.some(a=>void 0!==a.status),v=new Map;for(let b of a)b.status&&v.set(b.name,b.status);let w=[];for(let b of a)for(let a of b.dependsOn)r.has(a)&&w.push({from:a,to:b.name});return(0,d.jsx)("div",{className:"dag-container",children:(0,d.jsxs)("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,style:{display:"block",margin:"0 auto"},children:[(0,d.jsxs)("defs",{children:[(0,d.jsx)("marker",{id:"dag-arrow",viewBox:"0 0 6 6",refX:"6",refY:"3",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,d.jsx)("path",{d:"M 0 0 L 6 3 L 0 6 z",fill:m?"#4A4A4C":"#D4CEBF"})}),(0,d.jsx)("marker",{id:"dag-arrow-active",viewBox:"0 0 6 6",refX:"6",refY:"3",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,d.jsx)("path",{d:"M 0 0 L 6 3 L 0 6 z",fill:m?"#6B9962":"#4A6741"})})]}),w.map(a=>{let b=r.get(a.from),c=r.get(a.to);if(!b||!c)return null;let e="completed"===v.get(a.from),f="skipped"===v.get(a.to),g=b.x+p/2,h=b.y+q,i=c.x+p/2,j=c.y,k=(h+j)/2,l=`M ${g} ${h} C ${g} ${k}, ${i} ${k}, ${i} ${j}`;return(0,d.jsx)("path",{d:l,className:`dag-edge${e?" dag-edge--active":""}`,strokeDasharray:f?"4 3":void 0,markerEnd:`url(#${e?"dag-arrow-active":"dag-arrow"})`},`${a.from}->${a.to}`)}),Array.from(r.values()).map(({x:a,y:e,node:f})=>{let g=void 0!==f.status&&null!==f.status,h=g?n[f.status]??o:o,i="skipped"===f.status,k=c===f.name,l="running"===f.status,r=function(a,b){if(!a)return null;let c=new Date(a).getTime(),d=(b?new Date(b).getTime():Date.now())-c;return d<1e3?`${d}ms`:d<6e4?`${(d/1e3).toFixed(1)}s`:`${(d/6e4).toFixed(1)}m`}(f.startedAt,f.completedAt),s=j?14:18,t=f.name.length>s?f.name.slice(0,s-1)+"…":f.name,v=f.signalName.length>22?f.signalName.slice(0,21)+"…":f.signalName;return(0,d.jsxs)("g",{className:`dag-node${k?" dag-node--selected":""}`,onClick:()=>b?.(f.name),style:{cursor:b?"pointer":"default"},role:b?"button":void 0,tabIndex:b?0:void 0,"aria-label":`${f.name}${g?", "+f.status:""}`,onKeyDown:a=>{b&&("Enter"===a.key||" "===a.key)&&(a.preventDefault(),b(f.name))},children:[l&&(0,d.jsx)("rect",{x:a-3,y:e-3,width:p+6,height:q+6,rx:7,fill:"none",stroke:m?"#8BB882":"#6B9962",strokeWidth:2,children:(0,d.jsx)("animate",{attributeName:"opacity",values:"0;0.5;0",dur:"2.4s",repeatCount:"indefinite"})}),(0,d.jsx)("rect",{x:a,y:e,width:p,height:q,rx:4,fill:h.fill,stroke:h.stroke,strokeWidth:k?2.5:1.5,strokeDasharray:i?"4 3":void 0}),(0,d.jsx)("rect",{x:a,y:e,width:p,height:4,rx:4,fill:h.bar}),(0,d.jsx)("rect",{x:a,y:e+2,width:p,height:2,fill:h.bar}),(0,d.jsx)("text",{x:a+8,y:j?e+q/2+2:e+4+16,fill:h.text,dominantBaseline:"middle",style:{fontSize:j?"10px":"11px",fontFamily:"var(--font-mono)",fontWeight:500},children:t}),j&&u&&g&&(0,d.jsx)("text",{x:a+p-8,y:e+q/2+2,fill:h.text,opacity:.5,dominantBaseline:"middle",textAnchor:"end",style:{fontSize:"8px",fontFamily:"var(--font-mono)",textTransform:"uppercase",letterSpacing:"0.05em"},children:r??f.status}),!j&&(0,d.jsxs)(d.Fragment,{children:[u&&r&&(0,d.jsx)("text",{x:a+p-10,y:e+4+16,fill:h.text,opacity:.6,dominantBaseline:"middle",textAnchor:"end",style:{fontSize:"9px",fontFamily:"var(--font-mono)"},children:r}),(0,d.jsx)("text",{x:a+10,y:e+q-10,fill:h.text,opacity:.45,dominantBaseline:"middle",style:{fontSize:"9px",fontFamily:"var(--font-mono)"},children:v}),u&&g&&(0,d.jsx)("text",{x:a+p-10,y:e+q-10,fill:h.text,opacity:.5,dominantBaseline:"middle",textAnchor:"end",style:{fontSize:"8px",fontFamily:"var(--font-mono)",textTransform:"uppercase",letterSpacing:"0.05em"},children:f.status})]})]},f.name)})]})})}},44535:(a,b,c)=>{c.d(b,{J:()=>p});var d=c(82164),e=c(54509),f=c(84995),g=c(8267);function h({spec:a,onChange:b,signals:c,commitRef:h}){let[k,l]=(0,e.useState)(a.nodes[0]?.name??null),n=(0,f.gf)(),o=(0,e.useRef)(null),p=(0,e.useMemo)(()=>a.nodes.map(a=>({name:a.name,signalName:a.signalName,dependsOn:a.dependsOn})),[a.nodes]),q=a.nodes.find(a=>a.name===k)??null;function r(c){b({...a,nodes:c(a.nodes)})}return(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"240px 1fr 320px",gap:"1rem"},children:[(0,d.jsx)(i,{signals:c,onAdd:function(b){let c=b.name,d=c,e=1,f=new Set(a.nodes.map(a=>a.name));for(;f.has(d);)d=`${c}_${++e}`;let g={name:d,signalName:b.name,dependsOn:a.nodes.length>0?[a.nodes[a.nodes.length-1].name]:[]};r(a=>[...a,g]),l(d)}}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"mono",style:m,children:["DAG (",a.nodes.length," nodes)"]}),(0,d.jsx)("div",{style:{minHeight:"320px",padding:"0.5rem",border:"1px solid var(--border)",borderRadius:"4px",background:"var(--surface)",overflowX:"auto"},children:0===a.nodes.length?0===c.length?(0,d.jsxs)("div",{style:{color:"var(--muted)",fontSize:"0.875rem",textAlign:"center",padding:"2rem",lineHeight:1.6},children:["No signals are registered.",(0,d.jsx)("br",{}),"Define one in your ",(0,d.jsx)("span",{className:"mono",children:"signals/"})," directory or visit"," ",(0,d.jsx)("a",{href:"/signals",style:{color:"var(--text)",textDecoration:"underline"},children:"/signals"}),"."]}):(0,d.jsx)("div",{style:{color:"var(--muted)",fontSize:"0.875rem",textAlign:"center",padding:"2rem"},children:"Click a signal in the palette to add the first node."}):(0,d.jsx)(g.QK,{nodes:p,selectedNode:k??void 0,onNodeClick:a=>l(a),compact:!0})}),(0,d.jsx)("p",{className:"mono",style:{fontSize:"0.6875rem",color:"var(--muted)",marginTop:"0.375rem"},children:"Click a node to edit it. Click a palette entry to add another node."})]}),(0,d.jsx)(j,{node:q,allNodes:a.nodes,onChange:a=>q&&function(a,b){let c="name"in b&&"string"==typeof b.name&&b.name!==a,d=c?b.name:a;r(e=>e.map(e=>{let f=c?e.dependsOn.map(b=>b===a?d:b):e.dependsOn;return e.name!==a?f===e.dependsOn?e:{...e,dependsOn:f}:{...e,...b,dependsOn:f}})),c&&l(d)}(q.name,a),onRemove:a=>{r(b=>b.filter(b=>b.name!==a).map(b=>({...b,dependsOn:b.dependsOn.filter(b=>b!==a)}))),k===a&&l(null)},api:n,commitRef:o})]})}function i({signals:a,onAdd:b}){let[c,f]=(0,e.useState)(""),g=a.filter(a=>!c||a.name.toLowerCase().includes(c.toLowerCase()));return(0,d.jsxs)("aside",{children:[(0,d.jsxs)("div",{className:"mono",style:m,children:["Signals (",a.length,")"]}),(0,d.jsx)("input",{className:"mono",placeholder:"Filter…",value:c,onChange:a=>f(a.target.value),style:{...n,marginBottom:"0.375rem",fontSize:"0.75rem"}}),(0,d.jsx)("div",{style:{maxHeight:"360px",overflowY:"auto",border:"1px solid var(--border)",borderRadius:"4px",background:"var(--surface)"},children:0===g.length?(0,d.jsx)("div",{style:{padding:"0.5rem",fontSize:"0.75rem",color:"var(--muted)"},children:0===a.length?"No signals registered.":"No matches."}):(0,d.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:g.map(a=>(0,d.jsx)("li",{children:(0,d.jsxs)("button",{className:"mono",type:"button",onClick:()=>b(a),title:a.filePath,style:{width:"100%",textAlign:"left",padding:"0.375rem 0.5rem",background:"transparent",border:"none",borderBottom:"1px dashed var(--border)",color:"var(--text)",fontSize:"0.8125rem",cursor:"pointer"},onMouseEnter:a=>{a.currentTarget.style.background="var(--surface-hover, rgba(0,0,0,0.04))"},onMouseLeave:a=>{a.currentTarget.style.background="transparent"},children:["+ ",a.name]})},a.name))})})]})}function j({node:a,allNodes:b,onChange:c,onRemove:f,api:g,commitRef:h}){let[i,j]=(0,e.useState)(""),[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(null),u=(0,e.useRef)(""),v=(0,e.useRef)("");if(!a)return(0,d.jsxs)("aside",{children:[(0,d.jsx)("div",{className:"mono",style:m,children:"Inspector"}),(0,d.jsx)("div",{style:{color:"var(--muted)",fontSize:"0.8125rem"},children:"Select a node to edit."})]});let w=b.filter(b=>b.name!==a.name);async function x(){let a=u.current;if(!a.trim()){c({input:void 0}),r(null);return}try{let b=JSON.parse(a);c({input:b}),r(null);return}catch{}try{let b=await g.parseExpression(a);c({input:b.data.node}),r(null)}catch(a){r(a instanceof Error?a.message:String(a))}}async function y(){let a=v.current;if(!a.trim()){c({when:void 0}),t(null);return}try{let b=JSON.parse(a);c({when:b}),t(null);return}catch{}try{let b=await g.parseExpression(a);c({when:b.data.node}),t(null)}catch(a){t(a instanceof Error?a.message:String(a))}}return(0,d.jsxs)("aside",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:[(0,d.jsxs)("div",{className:"mono",style:m,children:["Node: ",a.name]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(k,{children:"Node name"}),(0,d.jsx)("input",{className:"mono",value:a.name,onChange:a=>c({name:a.target.value}),style:n})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(k,{children:"Signal"}),(0,d.jsx)("div",{className:"mono",style:{fontSize:"0.8125rem"},children:a.signalName})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(k,{children:"Depends on"}),(0,d.jsx)("div",{style:{padding:"0.375rem",border:"1px solid var(--border)",borderRadius:"4px",background:"var(--surface)",minHeight:"40px",display:"flex",flexWrap:"wrap",gap:"0.25rem"},children:0===a.dependsOn.length?(0,d.jsx)("span",{style:{color:"var(--muted)",fontSize:"0.75rem",padding:"0.125rem"},children:"(root node)"}):a.dependsOn.map(b=>(0,d.jsxs)("span",{className:"mono",style:{fontSize:"0.75rem",padding:"0.125rem 0.375rem",background:"var(--text)",color:"var(--surface)",borderRadius:"3px",display:"inline-flex",alignItems:"center",gap:"0.25rem"},children:[b,(0,d.jsx)("button",{type:"button",onClick:()=>c({dependsOn:a.dependsOn.filter(a=>a!==b)}),style:{background:"none",border:"none",color:"inherit",cursor:"pointer",padding:0,fontSize:"0.875rem",lineHeight:1},"aria-label":`Remove ${b}`,children:"\xd7"})]},b))}),(0,d.jsxs)("select",{className:"mono",value:"",onChange:b=>{let d=b.target.value;d&&(a.dependsOn.includes(d)||(c({dependsOn:[...a.dependsOn,d]}),b.target.value=""))},style:{...n,marginTop:"0.375rem",fontSize:"0.75rem"},children:[(0,d.jsx)("option",{value:"",children:"+ Add dependency…"}),w.filter(b=>!a.dependsOn.includes(b.name)).map(a=>(0,d.jsx)("option",{value:a.name,children:a.name},a.name))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(k,{children:"input mapper (expression source or AST JSON)"}),(0,d.jsx)("textarea",{className:"mono",value:i,onChange:a=>j(a.target.value),onBlur:x,rows:4,spellCheck:!1,placeholder:`e.g. {"to": input.email}
|
|
2
|
+
or: input.email`,style:{...n,fontSize:"0.75rem",fontFamily:"var(--mono-font, monospace)"}}),q&&(0,d.jsx)(l,{children:q})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(k,{children:"when guard (boolean expression)"}),(0,d.jsx)("textarea",{className:"mono",value:o,onChange:a=>p(a.target.value),onBlur:y,rows:3,spellCheck:!1,placeholder:"e.g. input.amount > 100",style:{...n,fontSize:"0.75rem",fontFamily:"var(--mono-font, monospace)"}}),s&&(0,d.jsx)(l,{children:s})]}),(0,d.jsx)("button",{type:"button",className:"btn btn--danger btn--sm",onClick:()=>f(a.name),children:"Remove node"})]})}function k({children:a}){return(0,d.jsx)("label",{className:"mono",style:{display:"block",fontSize:"0.6875rem",color:"var(--muted)",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"0.25rem"},children:a})}function l({children:a}){return(0,d.jsx)("div",{style:{marginTop:"0.25rem",fontSize:"0.6875rem",color:"var(--error, #b00)"},children:a})}let m={display:"block",fontSize:"0.75rem",color:"var(--muted)",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"0.375rem"},n={width:"100%",padding:"0.375rem 0.5rem",border:"1px solid var(--border)",borderRadius:"4px",background:"var(--surface)",color:"var(--text)",fontSize:"0.8125rem"};var o=c(96348);function p(a){let{json:b,onChange:c,validation:f,onValidationStale:g,signals:i,onValidate:j,onSave:k,saveLabel:l,saving:m,error:n,rightActions:p,specName:u}=a,[w,x]=(0,e.useState)("visual"),y=(0,e.useRef)(null);function z(a){c(a),g?.()}async function A(){try{await y.current?.()}catch{}k()}let B=(0,e.useMemo)(()=>{if(!b.trim())return{spec:null,error:null};try{return{spec:JSON.parse(b),error:null}}catch(a){return{spec:null,error:a instanceof Error?a.message:String(a)}}},[b]);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{style:{display:"flex",gap:"0.5rem",marginBottom:"0.75rem",borderBottom:"1px solid var(--border)"},children:[(0,d.jsx)(r,{active:"visual"===w,onClick:()=>x("visual"),children:"Visual"}),(0,d.jsx)(r,{active:"json"===w,onClick:()=>x("json"),children:"JSON"}),(0,d.jsx)(r,{active:"dryrun"===w,onClick:()=>x("dryrun"),children:"Dry-run"}),(0,d.jsxs)("div",{style:{marginLeft:"auto",display:"flex",gap:"0.25rem"},children:[(0,d.jsx)(q,{onFile:function(a){let b=new FileReader;b.onload=()=>{let a=String(b.result??"");try{let b=JSON.parse(a),c=b?.spec??b;z(JSON.stringify(c,null,2))}catch(a){alert(`Import failed: ${a instanceof Error?a.message:String(a)}`)}},b.readAsText(a)}}),(0,d.jsx)("button",{className:"btn btn--sm",type:"button",onClick:function(){let a=new Blob([b],{type:"application/json"}),c=URL.createObjectURL(a),d=document.createElement("a");d.href=c,d.download=`${B.spec?.name??u??"broadcast"}.json`,document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(c)},children:"Export"})]})]}),"visual"===w&&(B.spec?(0,d.jsx)(h,{spec:B.spec,signals:i,onChange:function(a){z(JSON.stringify(a,null,2))},commitRef:y}):(0,d.jsxs)("div",{style:{padding:"0.75rem",background:"var(--error-bg, #fee)",color:"var(--error, #b00)",borderRadius:"4px",fontSize:"0.8125rem"},children:["JSON parse error — switch to JSON tab to fix: ",B.error]})),"json"===w&&(0,d.jsx)(s,{json:b,onChange:z,signals:i}),"dryrun"===w&&(0,d.jsx)(t,{spec:B.spec,parseError:B.error}),(0,d.jsxs)("div",{style:{display:"flex",gap:"0.5rem",marginTop:"1rem",alignItems:"center"},children:[(0,d.jsx)("button",{className:"btn",onClick:j,disabled:m,children:"Validate"}),(0,d.jsx)("button",{className:"btn btn--primary",onClick:A,disabled:m||null!==f&&!f.ok,children:l}),p]}),n&&(0,d.jsx)("div",{style:v,children:n}),f&&(0,d.jsx)("div",{style:{marginTop:"0.75rem",padding:"0.625rem 0.75rem",background:f.ok?"var(--success-bg, #efe)":"var(--error-bg, #fee)",color:f.ok?"var(--success, #060)":"var(--error, #b00)",border:`1px solid ${f.ok?"var(--success, #060)":"var(--error, #b00)"}`,borderRadius:"4px",fontSize:"0.8125rem"},children:f.ok?(0,d.jsx)("span",{children:"Validation passed."}):(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{style:{marginBottom:"0.5rem",fontWeight:600},children:[f.errors.length," validation error",1===f.errors.length?"":"s",":"]}),(0,d.jsx)("ul",{style:{margin:0,paddingLeft:"1rem"},children:f.errors.map((a,b)=>(0,d.jsxs)("li",{className:"mono",style:{fontSize:"0.75rem"},children:[(0,d.jsxs)("strong",{children:[a.node,a.field?`.${a.field}`:""]}),": ",a.message]},b))})]})}),(0,d.jsx)(o.F,{title:"Save this broadcast",snippets:[{label:"Validate",method:"POST",path:"/api/v1/broadcast-definitions/validate",body:B.spec??b},{label:"Save (creates a new version)",method:"POST",path:"/api/v1/broadcast-definitions",body:B.spec??b},...B.spec?[{label:"Trigger",method:"POST",path:"/api/v1/trigger-dynamic-broadcast",body:{broadcastName:B.spec.name,input:{}}}]:[]]})]})}function q({onFile:a}){let b=(0,e.useRef)(null);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("input",{ref:b,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:c=>{let d=c.target.files?.[0];d&&a(d),b.current&&(b.current.value="")}}),(0,d.jsx)("button",{className:"btn btn--sm",type:"button",onClick:()=>b.current?.click(),children:"Import"})]})}function r({active:a,onClick:b,children:c}){return(0,d.jsx)("button",{type:"button",onClick:b,style:{padding:"0.375rem 0.75rem",border:"none",background:"transparent",borderBottom:a?"2px solid var(--text)":"2px solid transparent",color:a?"var(--text)":"var(--muted)",cursor:"pointer",fontSize:"0.875rem",fontFamily:"var(--mono-font, monospace)",marginBottom:"-1px"},children:c})}function s({json:a,onChange:b,signals:c}){return(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 2fr) minmax(0, 1fr)",gap:"1rem"},children:[(0,d.jsx)("div",{children:(0,d.jsx)("textarea",{className:"mono code-input",value:a,onChange:a=>b(a.target.value),spellCheck:!1,style:{width:"100%",minHeight:"420px",padding:"0.75rem",border:"1px solid var(--border)",borderRadius:"4px",background:"var(--surface)",color:"var(--text)",fontSize:"0.8125rem",lineHeight:1.5,fontFamily:"var(--mono-font, monospace)",resize:"vertical"}})}),(0,d.jsxs)("aside",{children:[(0,d.jsxs)("div",{className:"mono",style:{fontSize:"0.75rem",color:"var(--muted)",marginBottom:"0.25rem"},children:["Available signals (",c.length,")"]}),(0,d.jsx)("div",{style:{maxHeight:"180px",overflowY:"auto",border:"1px solid var(--border)",borderRadius:"4px",padding:"0.5rem",background:"var(--surface)"},children:0===c.length?(0,d.jsx)("div",{style:{color:"var(--muted)",fontSize:"0.8125rem"},children:"No signals registered."}):(0,d.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:c.map(a=>(0,d.jsx)("li",{className:"mono",style:{padding:"0.25rem 0",fontSize:"0.8125rem",borderBottom:"1px dashed var(--border)"},children:a.name},a.name))})}),(0,d.jsx)("div",{className:"mono",style:{fontSize:"0.75rem",color:"var(--muted)",marginTop:"1rem",marginBottom:"0.5rem"},children:"Expression refs"}),(0,d.jsxs)("ul",{style:{margin:0,paddingLeft:"1rem",fontSize:"0.75rem",color:"var(--muted)"},children:[(0,d.jsx)("li",{className:"mono",children:"input.foo — broadcast trigger input"}),(0,d.jsx)("li",{className:"mono",children:"upstream.nodeName.field — output of an upstream node"}),(0,d.jsx)("li",{className:"mono",children:"nodeName.field — shorthand for upstream"})]}),(0,d.jsx)("div",{className:"mono",style:{fontSize:"0.75rem",color:"var(--muted)",marginTop:"1rem",marginBottom:"0.5rem"},children:"Escape hatch"}),(0,d.jsx)("p",{style:{fontSize:"0.75rem",color:"var(--muted)",lineHeight:1.5,margin:0},children:"The expression language is intentionally minimal. If you can't express something here, write a code-defined signal that does the logic and reference it from this graph."})]})]})}function t({spec:a,parseError:b}){let c=(0,f.gf)(),[g,h]=(0,e.useState)("{}"),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(null);if(b)return(0,d.jsxs)("div",{style:{padding:"0.75rem",background:"var(--error-bg, #fee)",color:"var(--error, #b00)",borderRadius:"4px",fontSize:"0.8125rem"},children:["JSON parse error — fix the JSON tab first: ",b]});if(!a)return(0,d.jsx)("div",{style:{color:"var(--muted)",fontSize:"0.8125rem"},children:"No spec to dry-run."});async function o(){let b;l(!0),n(null),j(null);try{b=JSON.parse(g)}catch(a){n(`Input JSON parse error: ${a instanceof Error?a.message:String(a)}`),l(!1);return}if(!a)return void l(!1);try{let d=await u(c,a,b);j(d)}catch(a){n(a instanceof Error?a.message:String(a))}finally{l(!1)}}return(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1.5fr)",gap:"1rem"},children:[(0,d.jsxs)("section",{children:[(0,d.jsx)("div",{className:"mono",style:{fontSize:"0.75rem",color:"var(--muted)",marginBottom:"0.25rem"},children:"Sample broadcast input (JSON)"}),(0,d.jsx)("textarea",{className:"mono",value:g,onChange:a=>h(a.target.value),rows:10,spellCheck:!1,style:{width:"100%",padding:"0.625rem",border:"1px solid var(--border)",borderRadius:"4px",background:"var(--surface)",color:"var(--text)",fontSize:"0.8125rem",fontFamily:"var(--mono-font, monospace)",resize:"vertical"}}),(0,d.jsx)("div",{style:{marginTop:"0.5rem"},children:(0,d.jsx)("button",{className:"btn btn--primary btn--sm",onClick:o,disabled:k,children:k?"Tracing...":"Run dry-run"})}),m&&(0,d.jsx)("div",{style:v,children:m}),(0,d.jsx)("p",{className:"mono",style:{fontSize:"0.6875rem",color:"var(--muted)",marginTop:"0.5rem"},children:'Evaluates each node\'s input expression and when guard against synthetic upstream outputs (mocked from upstream signal output schemas where available, else "<mock-of-nodeName>").'})]}),(0,d.jsxs)("section",{children:[(0,d.jsx)("div",{className:"mono",style:{fontSize:"0.75rem",color:"var(--muted)",marginBottom:"0.25rem"},children:"Trace"}),i?(0,d.jsx)("ol",{style:{margin:0,padding:0,listStyle:"none"},children:i.map((a,b)=>(0,d.jsxs)("li",{style:{borderLeft:`3px solid ${a.skipped?"var(--muted)":a.error?"var(--error, #b00)":"var(--success, #060)"}`,paddingLeft:"0.5rem",marginBottom:"0.5rem"},children:[(0,d.jsxs)("div",{className:"mono",style:{fontSize:"0.8125rem",fontWeight:600},children:[a.node,a.skipped&&(0,d.jsx)("span",{style:{color:"var(--muted)"},children:" (skipped)"}),a.error&&(0,d.jsx)("span",{style:{color:"var(--error, #b00)"},children:" (error)"})]}),a.error?(0,d.jsx)("pre",{className:"mono",style:{fontSize:"0.75rem",color:"var(--error, #b00)",margin:0},children:a.error}):a.skipped?(0,d.jsx)("div",{className:"mono",style:{fontSize:"0.75rem",color:"var(--muted)"},children:a.skipReason}):(0,d.jsx)("pre",{className:"mono",style:{fontSize:"0.75rem",color:"var(--muted)",margin:0,whiteSpace:"pre-wrap",wordBreak:"break-all"},children:JSON.stringify(a.input,null,2)})]},b))}):(0,d.jsx)("div",{style:{color:"var(--muted)",fontSize:"0.8125rem"},children:"Run a trace to see results."})]})]})}async function u(a,b,c){let d=[],e={},f=new Set,g=[],h=[...b.nodes],i=b.nodes.length*b.nodes.length;for(;h.length>0&&i-- >0;){let a=h.findIndex(a=>a.dependsOn.every(a=>f.has(a)));if(-1===a)break;let[b]=h.splice(a,1);g.push(b),f.add(b.name)}for(let b of g){let f,g=!0;if(b.when)try{(await a.evaluateExpression(b.when,{input:c,upstream:e})).data.value||(d.push({node:b.name,skipped:!0,skipReason:"when guard returned false"}),g=!1)}catch(a){d.push({node:b.name,error:a instanceof Error?a.message:String(a)});continue}if(g){if(b.input)try{f=(await a.evaluateExpression(b.input,{input:c,upstream:e})).data.value}catch(a){d.push({node:b.name,error:a instanceof Error?a.message:String(a)});continue}else if(0===b.dependsOn.length)f=c;else if(1===b.dependsOn.length)f=e[b.dependsOn[0]];else{let a={};for(let c of b.dependsOn)a[c]=e[c];f=a}d.push({node:b.name,input:f}),e[b.name]=`<mock-of-${b.name}>`}}return d}let v={marginTop:"0.75rem",padding:"0.625rem 0.75rem",background:"var(--error-bg, #fee)",color:"var(--error, #b00)",border:"1px solid var(--error, #b00)",borderRadius:"4px",fontSize:"0.8125rem"}},96348:(a,b,c)=>{c.d(b,{F:()=>f});var d=c(82164),e=c(54509);function f({title:a="API equivalent",snippets:b}){let[c,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(null);if(0===b.length)return null;async function k(a,b){try{if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(a),h(b),setTimeout(()=>h(a=>a===b?null:a),1500);return}throw Error("clipboard API unavailable")}catch{try{let c=document.createElement("textarea");c.value=a,c.style.position="fixed",c.style.left="-9999px",document.body.appendChild(c),c.select();let d=document.execCommand("copy");if(document.body.removeChild(c),d)h(b),setTimeout(()=>h(a=>a===b?null:a),1500);else throw Error("execCommand copy returned false")}catch{j(b),setTimeout(()=>j(a=>a===b?null:a),2e3)}}}return(0,d.jsxs)("details",{open:c,onToggle:a=>f(a.target.open),style:{marginTop:"1.5rem",border:"1px solid var(--border)",borderRadius:"4px",background:"var(--surface)"},children:[(0,d.jsxs)("summary",{style:{padding:"0.5rem 0.75rem",fontSize:"0.75rem",fontFamily:"var(--mono-font, monospace)",color:"var(--muted)",textTransform:"uppercase",letterSpacing:"0.05em",cursor:"pointer",listStyle:"none"},children:["▸ ",a]}),(0,d.jsx)("div",{style:{padding:"0.5rem 0.75rem 0.75rem"},children:b.map((a,c)=>{let e=function(a){let b=[];if(a.query)for(let[c,d]of Object.entries(a.query))void 0!==d&&b.push(`${encodeURIComponent(c)}=${encodeURIComponent(String(d))}`);let c=`${a.path}${b.length?`?${b.join("&")}`:""}`,d=[];if(d.push(`curl -X ${a.method} \\`),d.push(` https://your-station.example.com${c} \\`),d.push(` -H 'Authorization: Bearer sk_live_…' \\`),void 0!==a.body){d.push(" -H 'Content-Type: application/json' \\");let b="string"==typeof a.body?a.body:JSON.stringify(a.body,null,2);d.push(` -d ${JSON.stringify(b)}`)}else d[d.length-1]=d[d.length-1].replace(/ \\$/,"");return d.join("\n")}(a);return(0,d.jsxs)("div",{style:{marginBottom:c===b.length-1?0:"0.75rem"},children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"0.25rem"},children:[(0,d.jsx)("div",{className:"mono",style:{fontSize:"0.75rem",color:"var(--muted)"},children:a.label}),(0,d.jsx)("button",{type:"button",className:"btn btn--sm",onClick:()=>k(e,c),title:i===c?"Copy failed — select the text manually":"",children:g===c?"Copied":i===c?"Copy failed":"Copy"})]}),(0,d.jsx)("pre",{className:"mono",style:{margin:0,padding:"0.5rem 0.75rem",background:"var(--bg, #fff)",border:"1px solid var(--border)",borderRadius:"4px",fontSize:"0.75rem",overflowX:"auto",whiteSpace:"pre"},children:e})]},c)})})]})}}};
|