Resolves the slug against the tenant catalog and forwards into the integration detail page's existing add-connection flow. Unknown slugs get a not-found state. Makes the link survive sign-in: reserve connect as an org slug so cloud's callback stops reading it as an org selector, and return self-host's login to the requested path (its gate swaps the page in without ever writing a returnTo).
Showing the changes to apps (6 of 17 files). Show all
Unified · Split
| @@ -23,6 +23,7 @@ import { Route as ApiKeysRouteImport } from './routes/app/api-keys' · 22 unmodified lines | |||
| 23 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRouteImport } from './../../../packages/react/src/routes/toolkits.$toolkitSlug' | 23 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRouteImport } from './../../../packages/react/src/routes/toolkits.$toolkitSlug' |
| 24 | import { Route as ResumeDotexecutionIdRouteImport } from './routes/app/resume.$executionId' | 24 | import { Route as ResumeDotexecutionIdRouteImport } from './routes/app/resume.$executionId' |
| 25 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport } from './../../../packages/react/src/routes/integrations.$namespace' | 25 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport } from './../../../packages/react/src/routes/integrations.$namespace' |
| 26 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport } from './../../../packages/react/src/routes/connect.$integrationSlug' | ||
| 26 | import { Route as Billing_DotplansRouteImport } from './routes/app/billing_.plans' | 27 | import { Route as Billing_DotplansRouteImport } from './routes/app/billing_.plans' |
| 27 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRouteImport } from './../../../packages/react/src/routes/integrations.add.$pluginKey' | 28 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRouteImport } from './../../../packages/react/src/routes/integrations.add.$pluginKey' |
| 28 | 29 | ||
| @@ -107,6 +108,14 @@ const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRout · 78 unmodified lines | |||
| 107 | getParentRoute: () => rootRouteImport, | 108 | getParentRoute: () => rootRouteImport, |
| 108 | } as any, | 109 | } as any, |
| 109 | ) | 110 | ) |
| 111 | const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute = | ||
| 112 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport.update( | ||
| 113 | { | ||
| 114 | id: '/{-$orgSlug}/connect/$integrationSlug', | ||
| 115 | path: '/{-$orgSlug}/connect/$integrationSlug', | ||
| 116 | getParentRoute: () => rootRouteImport, | ||
| 117 | } as any, | ||
| 118 | ) | ||
| 110 | const Billing_DotplansRoute = Billing_DotplansRouteImport.update({ | 119 | const Billing_DotplansRoute = Billing_DotplansRouteImport.update({ |
| 111 | id: '/{-$orgSlug}/billing_/plans', | 120 | id: '/{-$orgSlug}/billing_/plans', |
| 112 | path: '/{-$orgSlug}/billing/plans', | 121 | path: '/{-$orgSlug}/billing/plans', |
| @@ -134,6 +143,7 @@ export interface FileRoutesByFullPath { · 21 unmodified lines | |||
| 134 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 143 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 135 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 144 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 136 | '/{-$orgSlug}/billing/plans': typeof Billing_DotplansRoute | 145 | '/{-$orgSlug}/billing/plans': typeof Billing_DotplansRoute |
| 146 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 137 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 147 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 138 | '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute | 148 | '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute |
| 139 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 149 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -152,6 +162,7 @@ export interface FileRoutesByTo { · 12 unmodified lines | |||
| 152 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 162 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 153 | '/{-$orgSlug}': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 163 | '/{-$orgSlug}': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 154 | '/{-$orgSlug}/billing/plans': typeof Billing_DotplansRoute | 164 | '/{-$orgSlug}/billing/plans': typeof Billing_DotplansRoute |
| 165 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 155 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 166 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 156 | '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute | 167 | '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute |
| 157 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 168 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -171,6 +182,7 @@ export interface FileRoutesById { · 13 unmodified lines | |||
| 171 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 182 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 172 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 183 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 173 | '/{-$orgSlug}/billing_/plans': typeof Billing_DotplansRoute | 184 | '/{-$orgSlug}/billing_/plans': typeof Billing_DotplansRoute |
| 185 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 174 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 186 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 175 | '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute | 187 | '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute |
| 176 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 188 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -191,6 +203,7 @@ export interface FileRouteTypes { · 14 unmodified lines | |||
| 191 | | '/{-$orgSlug}/tools' | 203 | | '/{-$orgSlug}/tools' |
| 192 | | '/{-$orgSlug}/' | 204 | | '/{-$orgSlug}/' |
| 193 | | '/{-$orgSlug}/billing/plans' | 205 | | '/{-$orgSlug}/billing/plans' |
| 206 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 194 | | '/{-$orgSlug}/integrations/$namespace' | 207 | | '/{-$orgSlug}/integrations/$namespace' |
| 195 | | '/{-$orgSlug}/resume/$executionId' | 208 | | '/{-$orgSlug}/resume/$executionId' |
| 196 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 209 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -209,6 +222,7 @@ export interface FileRouteTypes { · 12 unmodified lines | |||
| 209 | | '/{-$orgSlug}/tools' | 222 | | '/{-$orgSlug}/tools' |
| 210 | | '/{-$orgSlug}' | 223 | | '/{-$orgSlug}' |
| 211 | | '/{-$orgSlug}/billing/plans' | 224 | | '/{-$orgSlug}/billing/plans' |
| 225 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 212 | | '/{-$orgSlug}/integrations/$namespace' | 226 | | '/{-$orgSlug}/integrations/$namespace' |
| 213 | | '/{-$orgSlug}/resume/$executionId' | 227 | | '/{-$orgSlug}/resume/$executionId' |
| 214 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 228 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -227,6 +241,7 @@ export interface FileRouteTypes { · 12 unmodified lines | |||
| 227 | | '/{-$orgSlug}/tools' | 241 | | '/{-$orgSlug}/tools' |
| 228 | | '/{-$orgSlug}/' | 242 | | '/{-$orgSlug}/' |
| 229 | | '/{-$orgSlug}/billing_/plans' | 243 | | '/{-$orgSlug}/billing_/plans' |
| 244 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 230 | | '/{-$orgSlug}/integrations/$namespace' | 245 | | '/{-$orgSlug}/integrations/$namespace' |
| 231 | | '/{-$orgSlug}/resume/$executionId' | 246 | | '/{-$orgSlug}/resume/$executionId' |
| 232 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 247 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -246,6 +261,7 @@ export interface RootRouteChildren { · 13 unmodified lines | |||
| 246 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 261 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 247 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 262 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 248 | Billing_DotplansRoute: typeof Billing_DotplansRoute | 263 | Billing_DotplansRoute: typeof Billing_DotplansRoute |
| 264 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 249 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 265 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 250 | ResumeDotexecutionIdRoute: typeof ResumeDotexecutionIdRoute | 266 | ResumeDotexecutionIdRoute: typeof ResumeDotexecutionIdRoute |
| 251 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute | 267 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute |
| @@ -351,6 +367,13 @@ declare module '@tanstack/react-router' { · 99 unmodified lines | |||
| 351 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport | 367 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport |
| 352 | parentRoute: typeof rootRouteImport | 368 | parentRoute: typeof rootRouteImport |
| 353 | } | 369 | } |
| 370 | '/{-$orgSlug}/connect/$integrationSlug': { | ||
| 371 | id: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 372 | path: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 373 | fullPath: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 374 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport | ||
| 375 | parentRoute: typeof rootRouteImport | ||
| 376 | } | ||
| 354 | '/{-$orgSlug}/billing_/plans': { | 377 | '/{-$orgSlug}/billing_/plans': { |
| 355 | id: '/{-$orgSlug}/billing_/plans' | 378 | id: '/{-$orgSlug}/billing_/plans' |
| 356 | path: '/{-$orgSlug}/billing/plans' | 379 | path: '/{-$orgSlug}/billing/plans' |
| @@ -400,6 +423,8 @@ const rootRouteChildren: RootRouteChildren = { · 43 unmodified lines | |||
| 400 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: | 423 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: |
| 401 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute, | 424 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute, |
| 402 | Billing_DotplansRoute: Billing_DotplansRoute, | 425 | Billing_DotplansRoute: Billing_DotplansRoute, |
| 426 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute: | ||
| 427 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute, | ||
| 403 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: | 428 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: |
| 404 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute, | 429 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute, |
| 405 | ResumeDotexecutionIdRoute: ResumeDotexecutionIdRoute, | 430 | ResumeDotexecutionIdRoute: ResumeDotexecutionIdRoute, |
| @@ -17,6 +17,7 @@ import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPoliciesRouteImp · 16 unmodified lines | |||
| 17 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRouteImport } from './../../../packages/react/src/routes/toolkits.$toolkitSlug' | 17 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRouteImport } from './../../../packages/react/src/routes/toolkits.$toolkitSlug' |
| 18 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRouteImport } from './../../../packages/react/src/routes/resume.$executionId' | 18 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRouteImport } from './../../../packages/react/src/routes/resume.$executionId' |
| 19 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport } from './../../../packages/react/src/routes/integrations.$namespace' | 19 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport } from './../../../packages/react/src/routes/integrations.$namespace' |
| 20 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport } from './../../../packages/react/src/routes/connect.$integrationSlug' | ||
| 20 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRouteImport } from './../../../packages/react/src/routes/plugins.$pluginId.$' | 21 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRouteImport } from './../../../packages/react/src/routes/plugins.$pluginId.$' |
| 21 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRouteImport } from './../../../packages/react/src/routes/integrations.add.$pluginKey' | 22 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRouteImport } from './../../../packages/react/src/routes/integrations.add.$pluginKey' |
| 22 | 23 | ||
| @@ -75,6 +76,14 @@ const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRout · 52 unmodified lines | |||
| 75 | getParentRoute: () => rootRouteImport, | 76 | getParentRoute: () => rootRouteImport, |
| 76 | } as any, | 77 | } as any, |
| 77 | ) | 78 | ) |
| 79 | const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute = | ||
| 80 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport.update( | ||
| 81 | { | ||
| 82 | id: '/{-$orgSlug}/connect/$integrationSlug', | ||
| 83 | path: '/{-$orgSlug}/connect/$integrationSlug', | ||
| 84 | getParentRoute: () => rootRouteImport, | ||
| 85 | } as any, | ||
| 86 | ) | ||
| 78 | const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRoute = | 87 | const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRoute = |
| 79 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRouteImport.update( | 88 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRouteImport.update( |
| 80 | { | 89 | { |
| @@ -98,6 +107,7 @@ export interface FileRoutesByFullPath { · 17 unmodified lines | |||
| 98 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren | 107 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren |
| 99 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 108 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 100 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 109 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 110 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 101 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 111 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 102 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute | 112 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute |
| 103 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 113 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -110,6 +120,7 @@ export interface FileRoutesByTo { · 6 unmodified lines | |||
| 110 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren | 120 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren |
| 111 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 121 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 112 | '/{-$orgSlug}': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 122 | '/{-$orgSlug}': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 123 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 113 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 124 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 114 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute | 125 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute |
| 115 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 126 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -123,6 +134,7 @@ export interface FileRoutesById { · 7 unmodified lines | |||
| 123 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren | 134 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren |
| 124 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 135 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 125 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 136 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 137 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 126 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 138 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 127 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute | 139 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute |
| 128 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 140 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -137,6 +149,7 @@ export interface FileRouteTypes { · 8 unmodified lines | |||
| 137 | | '/{-$orgSlug}/toolkits' | 149 | | '/{-$orgSlug}/toolkits' |
| 138 | | '/{-$orgSlug}/tools' | 150 | | '/{-$orgSlug}/tools' |
| 139 | | '/{-$orgSlug}/' | 151 | | '/{-$orgSlug}/' |
| 152 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 140 | | '/{-$orgSlug}/integrations/$namespace' | 153 | | '/{-$orgSlug}/integrations/$namespace' |
| 141 | | '/{-$orgSlug}/resume/$executionId' | 154 | | '/{-$orgSlug}/resume/$executionId' |
| 142 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 155 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -149,6 +162,7 @@ export interface FileRouteTypes { · 6 unmodified lines | |||
| 149 | | '/{-$orgSlug}/toolkits' | 162 | | '/{-$orgSlug}/toolkits' |
| 150 | | '/{-$orgSlug}/tools' | 163 | | '/{-$orgSlug}/tools' |
| 151 | | '/{-$orgSlug}' | 164 | | '/{-$orgSlug}' |
| 165 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 152 | | '/{-$orgSlug}/integrations/$namespace' | 166 | | '/{-$orgSlug}/integrations/$namespace' |
| 153 | | '/{-$orgSlug}/resume/$executionId' | 167 | | '/{-$orgSlug}/resume/$executionId' |
| 154 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 168 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -161,6 +175,7 @@ export interface FileRouteTypes { · 6 unmodified lines | |||
| 161 | | '/{-$orgSlug}/toolkits' | 175 | | '/{-$orgSlug}/toolkits' |
| 162 | | '/{-$orgSlug}/tools' | 176 | | '/{-$orgSlug}/tools' |
| 163 | | '/{-$orgSlug}/' | 177 | | '/{-$orgSlug}/' |
| 178 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 164 | | '/{-$orgSlug}/integrations/$namespace' | 179 | | '/{-$orgSlug}/integrations/$namespace' |
| 165 | | '/{-$orgSlug}/resume/$executionId' | 180 | | '/{-$orgSlug}/resume/$executionId' |
| 166 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 181 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -174,6 +189,7 @@ export interface RootRouteChildren { · 7 unmodified lines | |||
| 174 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren | 189 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren |
| 175 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 190 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 176 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 191 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 192 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 177 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 193 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 178 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute | 194 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute |
| 179 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute | 195 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute |
| @@ -238,6 +254,13 @@ declare module '@tanstack/react-router' { · 58 unmodified lines | |||
| 238 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport | 254 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport |
| 239 | parentRoute: typeof rootRouteImport | 255 | parentRoute: typeof rootRouteImport |
| 240 | } | 256 | } |
| 257 | '/{-$orgSlug}/connect/$integrationSlug': { | ||
| 258 | id: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 259 | path: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 260 | fullPath: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 261 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport | ||
| 262 | parentRoute: typeof rootRouteImport | ||
| 263 | } | ||
| 241 | '/{-$orgSlug}/plugins/$pluginId/$': { | 264 | '/{-$orgSlug}/plugins/$pluginId/$': { |
| 242 | id: '/{-$orgSlug}/plugins/$pluginId/$' | 265 | id: '/{-$orgSlug}/plugins/$pluginId/$' |
| 243 | path: '/{-$orgSlug}/plugins/$pluginId/$' | 266 | path: '/{-$orgSlug}/plugins/$pluginId/$' |
| @@ -281,6 +304,8 @@ const rootRouteChildren: RootRouteChildren = { · 37 unmodified lines | |||
| 281 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute, | 304 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute, |
| 282 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: | 305 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: |
| 283 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute, | 306 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute, |
| 307 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute: | ||
| 308 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute, | ||
| 284 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: | 309 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: |
| 285 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute, | 310 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute, |
| 286 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute: | 311 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute: |
| @@ -1,6 +1,12 @@ | |||
| 1 | import { describe, expect, it } from "@effect/vitest"; | 1 | import { describe, expect, it } from "@effect/vitest"; |
| 2 | 2 | ||
| 3 | import { isSafeReturnTo, loginPath, mcpAuthorizeResumeTarget, safeReturnTo } from "./return-to"; | 3 | import { |
| 4 | isSafeReturnTo, | ||
| 5 | loginPath, | ||
| 6 | mcpAuthorizeResumeTarget, | ||
| 7 | postLoginTarget, | ||
| 8 | safeReturnTo, | ||
| 9 | } from "./return-to"; | ||
| 4 | 10 | ||
| 5 | describe("isSafeReturnTo", () => { | 11 | describe("isSafeReturnTo", () => { |
| 6 | const safe = [ | 12 | const safe = [ |
| @@ -73,6 +79,44 @@ describe("mcpAuthorizeResumeTarget", () => { · 66 unmodified lines | |||
| 73 | }); | 79 | }); |
| 74 | }); | 80 | }); |
| 75 | 81 | ||
| 82 | describe("postLoginTarget", () => { | ||
| 83 | // Self-host renders the login page IN PLACE of the requested route without | ||
| 84 | // navigating, so the live location is the only record of where the person was | ||
| 85 | // headed. A connect deep link must survive sign-in on that basis alone. | ||
| 86 | it("returns to the deep link the person actually opened", () => { | ||
| 87 | expect(postLoginTarget({ pathname: "/connect/linear", search: "" })).toBe("/connect/linear"); | ||
| 88 | expect(postLoginTarget({ pathname: "/integrations/sentry", search: "?addAccount=1" })).toBe( | ||
| 89 | "/integrations/sentry?addAccount=1", | ||
| 90 | ); | ||
| 91 | }); | ||
| 92 | |||
| 93 | it("lands on the dashboard when signing in from the bare login page", () => { | ||
| 94 | // No deep link to resume, and echoing /login back would re-render the form. | ||
| 95 | expect(postLoginTarget({ pathname: "/login", search: "" })).toBe("/"); | ||
| 96 | }); | ||
| 97 | |||
| 98 | it("prefers an explicit returnTo over the current location", () => { | ||
| 99 | expect(postLoginTarget({ pathname: "/login", search: "?returnTo=%2Fconnect%2Flinear" })).toBe( | ||
| 100 | "/connect/linear", | ||
| 101 | ); | ||
| 102 | }); | ||
| 103 | |||
| 104 | it("prefers an MCP authorize resume over everything else", () => { | ||
| 105 | const target = postLoginTarget({ | ||
| 106 | pathname: "/login", | ||
| 107 | search: | ||
| 108 | "?response_type=code&client_id=abc&redirect_uri=http%3A%2F%2Flocalhost%3A3118%2Fcallback", | ||
| 109 | }); | ||
| 110 | expect(target.startsWith("/api/auth/mcp/authorize?")).toBe(true); | ||
| 111 | }); | ||
| 112 | |||
| 113 | it("never honors an unsafe location", () => { | ||
| 114 | // `safeReturnTo` vets the echoed path too — an app-plane path is not a | ||
| 115 | // place to land a freshly signed-in browser. | ||
| 116 | expect(postLoginTarget({ pathname: "/api/auth/logout", search: "" })).toBe("/"); | ||
| 117 | }); | ||
| 118 | }); | ||
| 119 | |||
| 76 | describe("loginPath", () => { | 120 | describe("loginPath", () => { |
| 77 | it("omits returnTo for the root", () => { | 121 | it("omits returnTo for the root", () => { |
| 78 | expect(loginPath("/")).toBe("/login"); | 122 | expect(loginPath("/")).toBe("/login"); |
| @@ -32,3 +32,32 @@ export const mcpAuthorizeResumeTarget = (search: string): string | null => { · 31 unmodified lines | |||
| 32 | if (!params.get("client_id") || !params.get("redirect_uri")) return null; | 32 | if (!params.get("client_id") || !params.get("redirect_uri")) return null; |
| 33 | return `${MCP_AUTHORIZE_PATH}?${params.toString()}`; | 33 | return `${MCP_AUTHORIZE_PATH}?${params.toString()}`; |
| 34 | }; | 34 | }; |
| 35 | |||
| 36 | const LOGIN_PATH = "/login"; | ||
| 37 | |||
| 38 | /** | ||
| 39 | * Where the self-host login page sends someone after a successful sign-in, in | ||
| 40 | * priority order: | ||
| 41 | * | ||
| 42 | * 1. an interrupted MCP OAuth authorize (the params ARE the request), | ||
| 43 | * 2. an explicit safe `returnTo` (e.g. the integration OAuth callback), | ||
| 44 | * 3. the URL they actually opened, and | ||
| 45 | * 4. the dashboard. | ||
| 46 | * | ||
| 47 | * Step 3 is what makes a deep link like `/connect/linear` survive sign-in here. | ||
| 48 | * Unlike cloud — which redirects to `/login?returnTo=…` — self-host's gate | ||
| 49 | * swaps the login page in WITHOUT navigating, so the address bar still holds | ||
| 50 | * the requested URL and no `returnTo` was ever written. `/login` itself is | ||
| 51 | * excluded so signing in from the bare login page lands on the dashboard rather | ||
| 52 | * than looping back to the form. | ||
| 53 | */ | ||
| 54 | export const postLoginTarget = (location: { | ||
| 55 | readonly pathname: string; | ||
| 56 | readonly search: string; | ||
| 57 | }): string => | ||
| 58 | mcpAuthorizeResumeTarget(location.search) ?? | ||
| 59 | safeReturnTo(new URLSearchParams(location.search).get("returnTo")) ?? | ||
| 60 | (location.pathname === LOGIN_PATH | ||
| 61 | ? null | ||
| 62 | : safeReturnTo(`${location.pathname}${location.search}`)) ?? | ||
| 63 | "/"; | ||
| @@ -6,7 +6,7 @@ import { Label } from "@executor-js/react/components/label"; · 5 unmodified lines | |||
| 6 | 6 | ||
| 7 | import { authClient } from "./auth-client"; | 7 | import { authClient } from "./auth-client"; |
| 8 | import { AuthLayout } from "./auth-layout"; | 8 | import { AuthLayout } from "./auth-layout"; |
| 9 | import { mcpAuthorizeResumeTarget, safeReturnTo } from "../src/auth/return-to"; | 9 | import { postLoginTarget } from "../src/auth/return-to"; |
| 10 | 10 | ||
| 11 | // Self-host login: email + password sign-in via Better Auth. On success we | 11 | // Self-host login: email + password sign-in via Better Auth. On success we |
| 12 | // reload so the shared AuthProvider re-reads /account/me and the AuthGate swaps | 12 | // reload so the shared AuthProvider re-reads /account/me and the AuthGate swaps |
| @@ -17,15 +17,10 @@ import { mcpAuthorizeResumeTarget, safeReturnTo } from "../src/auth/return-to"; · 4 unmodified lines | |||
| 17 | // redeeming an invite — either the full /join/<code> link, or by entering the | 17 | // redeeming an invite — either the full /join/<code> link, or by entering the |
| 18 | // code here ("Have an invite code?"), which forwards to the same join page. | 18 | // code here ("Have an invite code?"), which forwards to the same join page. |
| 19 | export const LoginPage = () => { | 19 | export const LoginPage = () => { |
| 20 | const search = window.location.search; | 20 | // Where to go after sign-in. The gate renders this page IN PLACE of the |
| 21 | // Where to go after sign-in: resume an interrupted MCP OAuth authorize if we | 21 | // requested route without navigating, so the live location is what carries a |
| 22 | // arrived from one (Better Auth redirects it here with the OAuth params), | 22 | // deep link (`/connect/linear`) across sign-in — see `postLoginTarget`. |
| 23 | // otherwise honor a safe returnTo (e.g. an integration OAuth callback), else | 23 | const postLogin = postLoginTarget(window.location); |
| 24 | // land on the dashboard. | ||
| 25 | const postLogin = | ||
| 26 | mcpAuthorizeResumeTarget(search) ?? | ||
| 27 | safeReturnTo(new URLSearchParams(search).get("returnTo")) ?? | ||
| 28 | "/"; | ||
| 29 | const [mode, setMode] = useState<"signin" | "code">("signin"); | 24 | const [mode, setMode] = useState<"signin" | "code">("signin"); |
| 30 | const [email, setEmail] = useState(""); | 25 | const [email, setEmail] = useState(""); |
| 31 | const [password, setPassword] = useState(""); | 26 | const [password, setPassword] = useState(""); |
| @@ -20,6 +20,7 @@ import { Route as JoinDotcodeRouteImport } from './routes/public/join.$code' · 19 unmodified lines | |||
| 20 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRouteImport } from './../../../packages/react/src/routes/toolkits.$toolkitSlug' | 20 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRouteImport } from './../../../packages/react/src/routes/toolkits.$toolkitSlug' |
| 21 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRouteImport } from './../../../packages/react/src/routes/resume.$executionId' | 21 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRouteImport } from './../../../packages/react/src/routes/resume.$executionId' |
| 22 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport } from './../../../packages/react/src/routes/integrations.$namespace' | 22 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport } from './../../../packages/react/src/routes/integrations.$namespace' |
| 23 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport } from './../../../packages/react/src/routes/connect.$integrationSlug' | ||
| 23 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRouteImport } from './../../../packages/react/src/routes/plugins.$pluginId.$' | 24 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRouteImport } from './../../../packages/react/src/routes/plugins.$pluginId.$' |
| 24 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRouteImport } from './../../../packages/react/src/routes/integrations.add.$pluginKey' | 25 | import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRouteImport } from './../../../packages/react/src/routes/integrations.add.$pluginKey' |
| 25 | 26 | ||
| @@ -93,6 +94,14 @@ const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRout · 67 unmodified lines | |||
| 93 | getParentRoute: () => rootRouteImport, | 94 | getParentRoute: () => rootRouteImport, |
| 94 | } as any, | 95 | } as any, |
| 95 | ) | 96 | ) |
| 97 | const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute = | ||
| 98 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport.update( | ||
| 99 | { | ||
| 100 | id: '/{-$orgSlug}/connect/$integrationSlug', | ||
| 101 | path: '/{-$orgSlug}/connect/$integrationSlug', | ||
| 102 | getParentRoute: () => rootRouteImport, | ||
| 103 | } as any, | ||
| 104 | ) | ||
| 96 | const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRoute = | 105 | const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRoute = |
| 97 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRouteImport.update( | 106 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesPluginsDotpluginIdDotsplatRouteImport.update( |
| 98 | { | 107 | { |
| @@ -119,6 +128,7 @@ export interface FileRoutesByFullPath { · 20 unmodified lines | |||
| 119 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren | 128 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren |
| 120 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 129 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 121 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 130 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 131 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 122 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 132 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 123 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute | 133 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute |
| 124 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 134 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -134,6 +144,7 @@ export interface FileRoutesByTo { · 9 unmodified lines | |||
| 134 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren | 144 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren |
| 135 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 145 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 136 | '/{-$orgSlug}': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 146 | '/{-$orgSlug}': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 147 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 137 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 148 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 138 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute | 149 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute |
| 139 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 150 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -150,6 +161,7 @@ export interface FileRoutesById { · 10 unmodified lines | |||
| 150 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren | 161 | '/{-$orgSlug}/toolkits': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren |
| 151 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 162 | '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 152 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 163 | '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 164 | '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 153 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 165 | '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 154 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute | 166 | '/{-$orgSlug}/resume/$executionId': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute |
| 155 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute | 167 | '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute |
| @@ -167,6 +179,7 @@ export interface FileRouteTypes { · 11 unmodified lines | |||
| 167 | | '/{-$orgSlug}/toolkits' | 179 | | '/{-$orgSlug}/toolkits' |
| 168 | | '/{-$orgSlug}/tools' | 180 | | '/{-$orgSlug}/tools' |
| 169 | | '/{-$orgSlug}/' | 181 | | '/{-$orgSlug}/' |
| 182 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 170 | | '/{-$orgSlug}/integrations/$namespace' | 183 | | '/{-$orgSlug}/integrations/$namespace' |
| 171 | | '/{-$orgSlug}/resume/$executionId' | 184 | | '/{-$orgSlug}/resume/$executionId' |
| 172 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 185 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -182,6 +195,7 @@ export interface FileRouteTypes { · 9 unmodified lines | |||
| 182 | | '/{-$orgSlug}/toolkits' | 195 | | '/{-$orgSlug}/toolkits' |
| 183 | | '/{-$orgSlug}/tools' | 196 | | '/{-$orgSlug}/tools' |
| 184 | | '/{-$orgSlug}' | 197 | | '/{-$orgSlug}' |
| 198 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 185 | | '/{-$orgSlug}/integrations/$namespace' | 199 | | '/{-$orgSlug}/integrations/$namespace' |
| 186 | | '/{-$orgSlug}/resume/$executionId' | 200 | | '/{-$orgSlug}/resume/$executionId' |
| 187 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 201 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -197,6 +211,7 @@ export interface FileRouteTypes { · 9 unmodified lines | |||
| 197 | | '/{-$orgSlug}/toolkits' | 211 | | '/{-$orgSlug}/toolkits' |
| 198 | | '/{-$orgSlug}/tools' | 212 | | '/{-$orgSlug}/tools' |
| 199 | | '/{-$orgSlug}/' | 213 | | '/{-$orgSlug}/' |
| 214 | | '/{-$orgSlug}/connect/$integrationSlug' | ||
| 200 | | '/{-$orgSlug}/integrations/$namespace' | 215 | | '/{-$orgSlug}/integrations/$namespace' |
| 201 | | '/{-$orgSlug}/resume/$executionId' | 216 | | '/{-$orgSlug}/resume/$executionId' |
| 202 | | '/{-$orgSlug}/toolkits/$toolkitSlug' | 217 | | '/{-$orgSlug}/toolkits/$toolkitSlug' |
| @@ -213,6 +228,7 @@ export interface RootRouteChildren { · 10 unmodified lines | |||
| 213 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren | 228 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsRouteWithChildren |
| 214 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute | 229 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute |
| 215 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute | 230 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute |
| 231 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute | ||
| 216 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute | 232 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute |
| 217 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute | 233 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute |
| 218 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute | 234 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute |
| @@ -298,6 +314,13 @@ declare module '@tanstack/react-router' { · 79 unmodified lines | |||
| 298 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport | 314 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport |
| 299 | parentRoute: typeof rootRouteImport | 315 | parentRoute: typeof rootRouteImport |
| 300 | } | 316 | } |
| 317 | '/{-$orgSlug}/connect/$integrationSlug': { | ||
| 318 | id: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 319 | path: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 320 | fullPath: '/{-$orgSlug}/connect/$integrationSlug' | ||
| 321 | preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport | ||
| 322 | parentRoute: typeof rootRouteImport | ||
| 323 | } | ||
| 301 | '/{-$orgSlug}/plugins/$pluginId/$': { | 324 | '/{-$orgSlug}/plugins/$pluginId/$': { |
| 302 | id: '/{-$orgSlug}/plugins/$pluginId/$' | 325 | id: '/{-$orgSlug}/plugins/$pluginId/$' |
| 303 | path: '/{-$orgSlug}/plugins/$pluginId/$' | 326 | path: '/{-$orgSlug}/plugins/$pluginId/$' |
| @@ -344,6 +367,8 @@ const rootRouteChildren: RootRouteChildren = { · 40 unmodified lines | |||
| 344 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute, | 367 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute, |
| 345 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: | 368 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: |
| 346 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute, | 369 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute, |
| 370 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute: | ||
| 371 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute, | ||
| 347 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: | 372 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: |
| 348 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute, | 373 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute, |
| 349 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute: | 374 | DotDotDotDotDotDotDotDotPackagesReactSrcRoutesResumeDotexecutionIdRoute: |