{"version":3,"sources":["vendor/consul-ui/routes.js"],"sourcesContent":["/**\n * Copyright IBM Corp. 2024, 2026\n * SPDX-License-Identifier: BUSL-1.1\n */\n\n(routes =>\n  routes({\n    dc: {\n      _options: {\n        path: '/:dc',\n      },\n      index: {\n        _options: {\n          path: '/',\n          redirect: '../services',\n        },\n      },\n      show: {\n        _options: {\n          path: '/overview',\n          abilities: ['access overview'],\n        },\n        serverstatus: {\n          _options: {\n            path: '/server-status',\n            abilities: ['read servers'],\n          },\n        },\n        cataloghealth: {\n          _options: {\n            path: '/catalog-health',\n            abilities: ['access overview'],\n          },\n        },\n        license: {\n          _options: {\n            path: '/license',\n            abilities: ['read license'],\n          },\n        },\n      },\n      services: {\n        _options: { path: '/services' },\n        index: {\n          _options: {\n            path: '/',\n            queryParams: {\n              sortBy: 'sort',\n              status: 'status',\n              source: 'source',\n              kind: 'kind',\n              searchproperty: {\n                as: 'searchproperty',\n                empty: [['Partition', 'Name', 'Tags', 'PeerName']],\n              },\n              search: {\n                as: 'filter',\n                replace: true,\n              },\n            },\n          },\n        },\n        show: {\n          _options: {\n            path: '/:name',\n          },\n          instances: {\n            _options: {\n              path: '/instances',\n              queryParams: {\n                sortBy: 'sort',\n                status: 'status',\n                source: 'source',\n                searchproperty: {\n                  as: 'searchproperty',\n                  empty: [\n                    ['Name', 'Node', 'Tags', 'ID', 'Address', 'Port', 'Service.Meta', 'Node.Meta'],\n                  ],\n                },\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n              },\n            },\n          },\n          intentions: {\n            _options: { path: '/intentions' },\n            index: {\n              _options: {\n                path: '',\n                queryParams: {\n                  sortBy: 'sort',\n                  access: 'access',\n                  searchproperty: {\n                    as: 'searchproperty',\n                    empty: [['SourceName', 'DestinationName']],\n                  },\n                  search: {\n                    as: 'filter',\n                    replace: true,\n                  },\n                },\n              },\n            },\n            edit: {\n              _options: { path: '/:intention_id' },\n            },\n            create: {\n              _options: {\n                template: '../edit',\n                path: '/create',\n              },\n            },\n          },\n          topology: {\n            _options: { path: '/topology' },\n          },\n          services: {\n            _options: {\n              path: '/services',\n              queryParams: {\n                sortBy: 'sort',\n                instance: 'instance',\n                searchproperty: {\n                  as: 'searchproperty',\n                  empty: [['Name', 'Tags']],\n                },\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n              },\n            },\n          },\n          upstreams: {\n            _options: {\n              path: '/upstreams',\n              queryParams: {\n                sortBy: 'sort',\n                instance: 'instance',\n                searchproperty: {\n                  as: 'searchproperty',\n                  empty: [['Name', 'Tags']],\n                },\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n              },\n            },\n          },\n          routing: {\n            _options: { path: '/routing' },\n          },\n          tags: {\n            _options: { path: '/tags' },\n          },\n        },\n        instance: {\n          _options: {\n            path: '/:name/instances/:node/:id',\n            redirect: './healthchecks',\n          },\n          healthchecks: {\n            _options: {\n              path: '/health-checks',\n              queryParams: {\n                sortBy: 'sort',\n                status: 'status',\n                check: 'check',\n                searchproperty: {\n                  as: 'searchproperty',\n                  empty: [['Name', 'Node', 'CheckID', 'Notes', 'Output', 'ServiceTags']],\n                },\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n              },\n            },\n          },\n          upstreams: {\n            _options: {\n              path: '/upstreams',\n              queryParams: {\n                sortBy: 'sort',\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n                searchproperty: {\n                  as: 'searchproperty',\n                  empty: [['DestinationName', 'LocalBindAddress', 'LocalBindPort']],\n                },\n              },\n            },\n          },\n          exposedpaths: {\n            _options: { path: '/exposed-paths' },\n          },\n          addresses: {\n            _options: { path: '/addresses' },\n          },\n          metadata: {\n            _options: { path: '/metadata' },\n          },\n        },\n        notfound: {\n          _options: { path: '/:name/:node/:id' },\n        },\n      },\n      nodes: {\n        _options: { path: '/nodes' },\n        index: {\n          _options: {\n            path: '',\n            queryParams: {\n              sortBy: 'sort',\n              status: 'status',\n              version: 'version',\n              searchproperty: {\n                as: 'searchproperty',\n                empty: [['Node', 'Address', 'Meta', 'PeerName']],\n              },\n              search: {\n                as: 'filter',\n                replace: true,\n              },\n            },\n          },\n        },\n        show: {\n          _options: { path: '/:name' },\n          healthchecks: {\n            _options: {\n              path: '/health-checks',\n              queryParams: {\n                sortBy: 'sort',\n                status: 'status',\n                kind: 'kind',\n                check: 'check',\n                searchproperty: {\n                  as: 'searchproperty',\n                  empty: [['Name', 'Service', 'CheckID', 'Notes', 'Output', 'ServiceTags']],\n                },\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n              },\n            },\n          },\n          services: {\n            _options: {\n              path: '/service-instances',\n              queryParams: {\n                sortBy: 'sort',\n                status: 'status',\n                source: 'source',\n                searchproperty: {\n                  as: 'searchproperty',\n                  empty: [['Name', 'Tags', 'ID', 'Address', 'Port', 'Service.Meta']],\n                },\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n              },\n            },\n          },\n          rtt: {\n            _options: { path: '/round-trip-time' },\n          },\n          metadata: {\n            _options: { path: '/metadata' },\n          },\n          sessions: {\n            _options: { path: '/lock-sessions' },\n          },\n        },\n      },\n      peers: {\n        _options: {\n          path: '/peers',\n        },\n        index: {\n          _options: {\n            path: '/',\n            queryParams: {\n              sortBy: 'sort',\n              state: 'state',\n              searchproperty: {\n                as: 'searchproperty',\n                empty: [['Name', 'ID']],\n              },\n              search: {\n                as: 'filter',\n                replace: true,\n              },\n            },\n          },\n        },\n        show: {\n          _options: {\n            path: '/:name',\n          },\n          imported: {\n            _options: {\n              path: '/imported-services',\n              queryParams: {\n                sortBy: 'sort',\n                status: 'status',\n                source: 'source',\n                kind: 'kind',\n                searchproperty: {\n                  as: 'searchproperty',\n                  empty: [['Name', 'Tags']],\n                },\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n              },\n            },\n          },\n          exported: {\n            _options: {\n              path: '/exported-services',\n              queryParams: {\n                search: {\n                  as: 'filter',\n                  replace: true,\n                },\n              },\n            },\n          },\n          addresses: {\n            _options: {\n              path: '/addresses',\n            },\n          },\n        },\n      },\n      intentions: {\n        _options: { path: '/intentions' },\n        index: {\n          _options: {\n            path: '/',\n            queryParams: {\n              sortBy: 'sort',\n              access: 'access',\n              searchproperty: {\n                as: 'searchproperty',\n                empty: [['SourceName', 'DestinationName']],\n              },\n              search: {\n                as: 'filter',\n                replace: true,\n              },\n            },\n          },\n        },\n        edit: {\n          _options: {\n            path: '/:intention_id',\n            abilities: ['read intentions'],\n          },\n        },\n        create: {\n          _options: {\n            template: '../edit',\n            path: '/create',\n            abilities: ['create intentions'],\n          },\n        },\n      },\n      kv: {\n        _options: { path: '/kv' },\n        index: {\n          _options: {\n            path: '/',\n            queryParams: {\n              sortBy: 'sort',\n              kind: 'kind',\n              search: {\n                as: 'filter',\n                replace: true,\n              },\n            },\n          },\n        },\n        folder: {\n          _options: {\n            template: '../index',\n            path: '/*key',\n          },\n        },\n        edit: {\n          _options: { path: '/*key/edit' },\n        },\n        create: {\n          _options: {\n            template: '../edit',\n            path: '/*key/create',\n            abilities: ['create kvs'],\n          },\n        },\n        'root-create': {\n          _options: {\n            template: '../edit',\n            path: '/create',\n            abilities: ['create kvs'],\n          },\n        },\n      },\n      acls: {\n        _options: {\n          path: '/acls',\n          abilities: ['access acls'],\n        },\n        policies: {\n          _options: {\n            path: '/policies',\n            abilities: ['read policies'],\n          },\n          edit: {\n            _options: { path: '/:id' },\n          },\n          create: {\n            _options: {\n              path: '/create',\n              abilities: ['create policies'],\n            },\n          },\n        },\n        roles: {\n          _options: {\n            path: '/roles',\n            abilities: ['read roles'],\n          },\n          edit: {\n            _options: { path: '/:id' },\n          },\n          create: {\n            _options: {\n              path: '/create',\n              abilities: ['create roles'],\n            },\n          },\n        },\n        tokens: {\n          _options: {\n            path: '/tokens',\n            abilities: ['access acls', 'read tokens'],\n          },\n          edit: {\n            _options: { path: '/:id' },\n          },\n          create: {\n            _options: {\n              path: '/create',\n              abilities: ['create tokens'],\n            },\n          },\n        },\n        'auth-methods': {\n          _options: {\n            path: '/auth-methods',\n            abilities: ['read auth-methods'],\n          },\n          show: {\n            _options: { path: '/:id' },\n            'auth-method': {\n              _options: { path: '/auth-method' },\n            },\n            'binding-rules': {\n              _options: { path: '/binding-rules' },\n            },\n            'nspace-rules': {\n              _options: { path: '/nspace-rules' },\n            },\n          },\n        },\n      },\n      partitions: {\n        _options: {\n          path: '/partitions',\n          abilities: ['read partitions'],\n        },\n        index: {\n          _options: {\n            path: '/',\n            queryParams: {\n              sortBy: 'sort',\n              searchproperty: {\n                as: 'searchproperty',\n                empty: [['Name', 'Description']],\n              },\n              search: {\n                as: 'filter',\n                replace: true,\n              },\n            },\n          },\n        },\n        edit: {\n          _options: { path: '/:name' },\n        },\n        create: {\n          _options: {\n            template: '../edit',\n            path: '/create',\n            abilities: ['create partitions'],\n          },\n        },\n      },\n      nspaces: {\n        _options: {\n          path: '/namespaces',\n          abilities: ['read nspaces'],\n        },\n        index: {\n          _options: {\n            path: '/',\n            queryParams: {\n              sortBy: 'sort',\n              searchproperty: {\n                as: 'searchproperty',\n                empty: [['Name', 'Description', 'Role', 'Policy']],\n              },\n              search: {\n                as: 'filter',\n                replace: true,\n              },\n            },\n          },\n        },\n        edit: {\n          _options: { path: '/:name' },\n        },\n        create: {\n          _options: {\n            template: '../edit',\n            path: '/create',\n            abilities: ['create nspaces'],\n          },\n        },\n      },\n      'routing-config': {\n        _options: { path: '/routing-config/:name' },\n      },\n    },\n    index: {\n      _options: { path: '/' },\n      // root index redirects are currently dealt with in application.hbs\n    },\n    settings: {\n      _options: {\n        path: '/settings',\n      },\n    },\n    /* This was introduced in 1.12. By the time we get to 1.15 */\n    /* I'd say we are safe to remove, feel free to delete for 1.15 */\n    setting: {\n      _options: {\n        path: '/setting',\n        redirect: '../settings',\n      },\n    },\n    unavailable: {\n      _options: { path: '/unavailable' },\n    },\n    notfound: {\n      _options: { path: '/*notfound' },\n    },\n  }))(\n  (\n    json,\n    data = typeof document !== 'undefined' ? document.currentScript.dataset : module.exports\n  ) => {\n    data[`routes`] = JSON.stringify(json);\n  }\n);\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;","file":"routes.js"}