@mehdad67/apitogo 0.1.24
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/README.md +92 -0
- package/cli.js +13 -0
- package/client.d.ts +8 -0
- package/dist/cli/cli.js +10595 -0
- package/dist/cli/worker.js +190 -0
- package/dist/declarations/app/ZuploBuildConfig.d.ts +47 -0
- package/dist/declarations/app/demo.d.ts +2 -0
- package/dist/declarations/app/entry.client.d.ts +6 -0
- package/dist/declarations/app/entry.server.d.ts +11 -0
- package/dist/declarations/app/env.d.ts +30 -0
- package/dist/declarations/app/main.d.ts +102 -0
- package/dist/declarations/app/polyfills.d.ts +1 -0
- package/dist/declarations/app/processRoutes.d.ts +2 -0
- package/dist/declarations/app/sentry.d.ts +3 -0
- package/dist/declarations/app/standalone.d.ts +2 -0
- package/dist/declarations/app/utils/createRedirectRoutes.d.ts +3 -0
- package/dist/declarations/cli/common/logger.d.ts +1 -0
- package/dist/declarations/cli/common/package-json.d.ts +13 -0
- package/dist/declarations/config/config.d.ts +26 -0
- package/dist/declarations/config/create-plugin.d.ts +2 -0
- package/dist/declarations/config/file-exists.d.ts +1 -0
- package/dist/declarations/config/loader.d.ts +23 -0
- package/dist/declarations/config/resolve-modules.d.ts +34 -0
- package/dist/declarations/config/validators/BuildSchema.d.ts +49 -0
- package/dist/declarations/config/validators/HeaderNavigationSchema.d.ts +15712 -0
- package/dist/declarations/config/validators/InputNavigationSchema.d.ts +409 -0
- package/dist/declarations/config/validators/ModulesSchema.d.ts +417 -0
- package/dist/declarations/config/validators/NavigationSchema.d.ts +64 -0
- package/dist/declarations/config/validators/ProtectedRoutesSchema.d.ts +15 -0
- package/dist/declarations/config/validators/ZudokuConfig.d.ts +7203 -0
- package/dist/declarations/config/validators/icon-types.d.ts +2 -0
- package/dist/declarations/config/validators/reason-codes.d.ts +6 -0
- package/dist/declarations/index.d.ts +20 -0
- package/dist/declarations/lib/MissingIcon.d.ts +2 -0
- package/dist/declarations/lib/assets/language-icons/bun.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/c.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/commonlisp.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/cpp.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/csharp.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/css.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/dart.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/elixir.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/go.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/graphql.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/html.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/java.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/javascript.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/json.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/kotlin.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/markdown.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/mdx.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/npm.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/objectivec.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/ocaml.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/php.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/pnpm.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/powershell.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/python.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/react.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/ruby.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/rust.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/scala.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/shell.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/swift.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/toml.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/typescript.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/xml.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/yaml.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/yarn.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/zig.d.ts +3 -0
- package/dist/declarations/lib/authentication/AuthenticationPlugin.d.ts +10 -0
- package/dist/declarations/lib/authentication/authentication.d.ts +22 -0
- package/dist/declarations/lib/authentication/components/CallbackHandler.d.ts +3 -0
- package/dist/declarations/lib/authentication/components/OAuthErrorPage.d.ts +3 -0
- package/dist/declarations/lib/authentication/components/SignIn.d.ts +1 -0
- package/dist/declarations/lib/authentication/components/SignOut.d.ts +1 -0
- package/dist/declarations/lib/authentication/components/SignUp.d.ts +1 -0
- package/dist/declarations/lib/authentication/constants.d.ts +1 -0
- package/dist/declarations/lib/authentication/errors.d.ts +8 -0
- package/dist/declarations/lib/authentication/hook.d.ts +29 -0
- package/dist/declarations/lib/authentication/providers/auth0.d.ts +4 -0
- package/dist/declarations/lib/authentication/providers/azureb2c.d.ts +41 -0
- package/dist/declarations/lib/authentication/providers/clerk.d.ts +14 -0
- package/dist/declarations/lib/authentication/providers/firebase.d.ts +14 -0
- package/dist/declarations/lib/authentication/providers/openid.d.ts +58 -0
- package/dist/declarations/lib/authentication/providers/supabase.d.ts +14 -0
- package/dist/declarations/lib/authentication/providers/util.d.ts +1 -0
- package/dist/declarations/lib/authentication/state.d.ts +49 -0
- package/dist/declarations/lib/authentication/ui/AuthCard.d.ts +6 -0
- package/dist/declarations/lib/authentication/ui/EmailLinkCallbackUi.d.ts +4 -0
- package/dist/declarations/lib/authentication/ui/EmailLinkSentUi.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/EmailLinkSignInUi.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/EmailVerificationUi.d.ts +4 -0
- package/dist/declarations/lib/authentication/ui/ZudokuAuthUi.d.ts +34 -0
- package/dist/declarations/lib/authentication/ui/icons/Apple.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/Facebook.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/Github.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/Google.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/X.d.ts +3 -0
- package/dist/declarations/lib/authentication/utils/relativeRedirectUrl.d.ts +1 -0
- package/dist/declarations/lib/components/AiAssistantMenuItems.d.ts +6 -0
- package/dist/declarations/lib/components/AnchorLink.d.ts +2 -0
- package/dist/declarations/lib/components/Autocomplete.d.ts +15 -0
- package/dist/declarations/lib/components/Banner.d.ts +1 -0
- package/dist/declarations/lib/components/Bootstrap.d.ts +17 -0
- package/dist/declarations/lib/components/BuildCheck.d.ts +5 -0
- package/dist/declarations/lib/components/CategoryHeading.d.ts +5 -0
- package/dist/declarations/lib/components/ClientOnly.d.ts +6 -0
- package/dist/declarations/lib/components/DeveloperHint.d.ts +5 -0
- package/dist/declarations/lib/components/ErrorPage.d.ts +6 -0
- package/dist/declarations/lib/components/Footer.d.ts +1 -0
- package/dist/declarations/lib/components/Framed.d.ts +7 -0
- package/dist/declarations/lib/components/Header.d.ts +1 -0
- package/dist/declarations/lib/components/HeaderNavigation.d.ts +1 -0
- package/dist/declarations/lib/components/Heading.d.ts +14 -0
- package/dist/declarations/lib/components/InlineCode.d.ts +2 -0
- package/dist/declarations/lib/components/LandingLayout.d.ts +4 -0
- package/dist/declarations/lib/components/LanguageIcon.d.ts +3 -0
- package/dist/declarations/lib/components/Layout.d.ts +4 -0
- package/dist/declarations/lib/components/Main.d.ts +2 -0
- package/dist/declarations/lib/components/Markdown.d.ts +6 -0
- package/dist/declarations/lib/components/Mermaid.d.ts +8 -0
- package/dist/declarations/lib/components/Meta.d.ts +2 -0
- package/dist/declarations/lib/components/MobileTopNavigation.d.ts +1 -0
- package/dist/declarations/lib/components/MultiSelect.d.ts +9 -0
- package/dist/declarations/lib/components/NotFoundPage.d.ts +1 -0
- package/dist/declarations/lib/components/PageProgress.d.ts +1 -0
- package/dist/declarations/lib/components/PagefindSearchMeta.d.ts +4 -0
- package/dist/declarations/lib/components/Pagination.d.ts +11 -0
- package/dist/declarations/lib/components/PathRenderer.d.ts +11 -0
- package/dist/declarations/lib/components/PluginHeads.d.ts +6 -0
- package/dist/declarations/lib/components/Search.d.ts +3 -0
- package/dist/declarations/lib/components/Slot.d.ts +17 -0
- package/dist/declarations/lib/components/Spinner.d.ts +3 -0
- package/dist/declarations/lib/components/StatusPage.d.ts +7 -0
- package/dist/declarations/lib/components/ThemeSwitch.d.ts +1 -0
- package/dist/declarations/lib/components/TopNavigation.d.ts +14 -0
- package/dist/declarations/lib/components/Typography.d.ts +3 -0
- package/dist/declarations/lib/components/Zudoku.d.ts +15 -0
- package/dist/declarations/lib/components/cache.d.ts +9 -0
- package/dist/declarations/lib/components/context/RenderContext.d.ts +5 -0
- package/dist/declarations/lib/components/context/RouterEventsEmitter.d.ts +1 -0
- package/dist/declarations/lib/components/context/SlotProvider.d.ts +26 -0
- package/dist/declarations/lib/components/context/ViewportAnchorContext.d.ts +13 -0
- package/dist/declarations/lib/components/context/ZudokuContext.d.ts +15 -0
- package/dist/declarations/lib/components/context/ZudokuProvider.d.ts +8 -0
- package/dist/declarations/lib/components/context/ZudokuReactContext.d.ts +6 -0
- package/dist/declarations/lib/components/index.d.ts +25 -0
- package/dist/declarations/lib/components/navigation/Navigation.d.ts +5 -0
- package/dist/declarations/lib/components/navigation/NavigationBadge.d.ts +26 -0
- package/dist/declarations/lib/components/navigation/NavigationCategory.d.ts +5 -0
- package/dist/declarations/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
- package/dist/declarations/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
- package/dist/declarations/lib/components/navigation/NavigationItem.d.ts +6 -0
- package/dist/declarations/lib/components/navigation/NavigationWrapper.d.ts +7 -0
- package/dist/declarations/lib/components/navigation/PoweredByZudoku.d.ts +3 -0
- package/dist/declarations/lib/components/navigation/Toc.d.ts +4 -0
- package/dist/declarations/lib/components/navigation/ZuploLogo.d.ts +3 -0
- package/dist/declarations/lib/components/navigation/utils.d.ts +31 -0
- package/dist/declarations/lib/core/RouteGuard.d.ts +2 -0
- package/dist/declarations/lib/core/ZudokuContext.d.ts +124 -0
- package/dist/declarations/lib/core/plugins.d.ts +74 -0
- package/dist/declarations/lib/core/react-query.d.ts +1 -0
- package/dist/declarations/lib/core/router.d.ts +1 -0
- package/dist/declarations/lib/core/transform-config.d.ts +4 -0
- package/dist/declarations/lib/demo/DemoAnnouncement.d.ts +2 -0
- package/dist/declarations/lib/errors/ErrorAlert.d.ts +3 -0
- package/dist/declarations/lib/errors/ErrorMessage.d.ts +3 -0
- package/dist/declarations/lib/errors/RouterError.d.ts +3 -0
- package/dist/declarations/lib/errors/ServerError.d.ts +3 -0
- package/dist/declarations/lib/errors/TopLevelError.d.ts +2 -0
- package/dist/declarations/lib/hooks/index.d.ts +8 -0
- package/dist/declarations/lib/hooks/useEvent.d.ts +5 -0
- package/dist/declarations/lib/hooks/useHighlighter.d.ts +2 -0
- package/dist/declarations/lib/hooks/useHotkey.d.ts +4 -0
- package/dist/declarations/lib/icons.d.ts +2 -0
- package/dist/declarations/lib/navigation/applyRules.d.ts +8 -0
- package/dist/declarations/lib/navigation/pathMatcher.d.ts +11 -0
- package/dist/declarations/lib/oas/graphql/circular.d.ts +3 -0
- package/dist/declarations/lib/oas/graphql/constants.d.ts +2 -0
- package/dist/declarations/lib/oas/graphql/index.d.ts +33 -0
- package/dist/declarations/lib/oas/parser/dereference/index.d.ts +5 -0
- package/dist/declarations/lib/oas/parser/dereference/resolveRef.d.ts +2 -0
- package/dist/declarations/lib/oas/parser/index.d.ts +25 -0
- package/dist/declarations/lib/oas/parser/upgrade/index.d.ts +4 -0
- package/dist/declarations/lib/plugins/api-catalog/Catalog.d.ts +4 -0
- package/dist/declarations/lib/plugins/api-catalog/index.d.ts +31 -0
- package/dist/declarations/lib/plugins/api-keys/CreateApiKey.d.ts +5 -0
- package/dist/declarations/lib/plugins/api-keys/CreateApiKeyDialog.d.ts +11 -0
- package/dist/declarations/lib/plugins/api-keys/SettingsApiKeys.d.ts +4 -0
- package/dist/declarations/lib/plugins/api-keys/index.d.ts +52 -0
- package/dist/declarations/lib/plugins/api-keys/settings/ApiKeyItem.d.ts +12 -0
- package/dist/declarations/lib/plugins/api-keys/settings/ApiKeyList.d.ts +4 -0
- package/dist/declarations/lib/plugins/api-keys/settings/RevealApiKey.d.ts +6 -0
- package/dist/declarations/lib/plugins/custom-pages/index.d.ts +8 -0
- package/dist/declarations/lib/plugins/markdown/MdxPage.d.ts +14 -0
- package/dist/declarations/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
- package/dist/declarations/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
- package/dist/declarations/lib/plugins/markdown/index.d.ts +34 -0
- package/dist/declarations/lib/plugins/openapi/ApiHeader.d.ts +10 -0
- package/dist/declarations/lib/plugins/openapi/CollapsibleCode.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/ColorizedParam.d.ts +20 -0
- package/dist/declarations/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
- package/dist/declarations/lib/plugins/openapi/Endpoint.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/MCPEndpoint.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/OasProvider.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/OperationList.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/OperationListItem.d.ts +10 -0
- package/dist/declarations/lib/plugins/openapi/ParamInfos.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/ParameterList.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/ParameterListItem.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/RequestBodySidecarBox.d.ts +12 -0
- package/dist/declarations/lib/plugins/openapi/ResponsesSidecarBox.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/SchemaInfo.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/SchemaList.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/Sidecar.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/SidecarBox.d.ts +9 -0
- package/dist/declarations/lib/plugins/openapi/SidecarExamples.d.ts +14 -0
- package/dist/declarations/lib/plugins/openapi/SimpleSelect.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/client/GraphQLClient.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/client/GraphQLContext.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/client/createServer.d.ts +3 -0
- package/dist/declarations/lib/plugins/openapi/client/useCreateQuery.d.ts +14 -0
- package/dist/declarations/lib/plugins/openapi/components/ConstValue.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/components/EnumValues.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
- package/dist/declarations/lib/plugins/openapi/components/ResponseContent.d.ts +12 -0
- package/dist/declarations/lib/plugins/openapi/components/SelectOnClick.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/context.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/graphql/fragment-masking.d.ts +19 -0
- package/dist/declarations/lib/plugins/openapi/graphql/gql.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/graphql/graphql.d.ts +528 -0
- package/dist/declarations/lib/plugins/openapi/graphql/index.d.ts +2 -0
- package/dist/declarations/lib/plugins/openapi/index.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/interfaces.d.ts +94 -0
- package/dist/declarations/lib/plugins/openapi/playground/BodyPanel.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/playground/CollapsibleHeader.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/playground/Headers.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/playground/IdentityDialog.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/playground/IdentitySelector.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/playground/ParamsGrid.d.ts +17 -0
- package/dist/declarations/lib/plugins/openapi/playground/PathParams.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/playground/Playground.d.ts +89 -0
- package/dist/declarations/lib/plugins/openapi/playground/PlaygroundDialog.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/playground/QueryParams.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/playground/createUrl.d.ts +2 -0
- package/dist/declarations/lib/plugins/openapi/playground/fileUtils.d.ts +3 -0
- package/dist/declarations/lib/plugins/openapi/playground/rememberedIdentity.d.ts +19 -0
- package/dist/declarations/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/playground/request-panel/UrlPath.d.ts +3 -0
- package/dist/declarations/lib/plugins/openapi/playground/request-panel/UrlQueryParams.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +14 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +10 -0
- package/dist/declarations/lib/plugins/openapi/playground/serializeQueryParams.d.ts +4 -0
- package/dist/declarations/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +18 -0
- package/dist/declarations/lib/plugins/openapi/processors/removeExtensions.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/processors/removeParameters.d.ts +12 -0
- package/dist/declarations/lib/plugins/openapi/processors/removePaths.d.ts +13 -0
- package/dist/declarations/lib/plugins/openapi/processors/traverse.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/schema/SchemaExampleAndDefault.d.ts +4 -0
- package/dist/declarations/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/schema/SchemaView.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/schema/UnionView.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/schema/union-helpers.d.ts +28 -0
- package/dist/declarations/lib/plugins/openapi/schema/utils.d.ts +9 -0
- package/dist/declarations/lib/plugins/openapi/state.d.ts +24 -0
- package/dist/declarations/lib/plugins/openapi/util/buildTagCategories.d.ts +12 -0
- package/dist/declarations/lib/plugins/openapi/util/createHttpSnippet.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/util/createNavigationCategory.d.ts +9 -0
- package/dist/declarations/lib/plugins/openapi/util/generateSchemaExample.d.ts +2 -0
- package/dist/declarations/lib/plugins/openapi/util/getRoutes.d.ts +18 -0
- package/dist/declarations/lib/plugins/openapi/util/methodColorMap.d.ts +2 -0
- package/dist/declarations/lib/plugins/openapi/util/methodToColor.d.ts +20 -0
- package/dist/declarations/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/util/useWarmupSchema.d.ts +1 -0
- package/dist/declarations/lib/plugins/search-inkeep/index.d.ts +8 -0
- package/dist/declarations/lib/plugins/search-inkeep/inkeep.d.ts +6 -0
- package/dist/declarations/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
- package/dist/declarations/lib/plugins/search-pagefind/PagefindSearch.d.ts +6 -0
- package/dist/declarations/lib/plugins/search-pagefind/ResultList.d.ts +8 -0
- package/dist/declarations/lib/plugins/search-pagefind/get-results.d.ts +10 -0
- package/dist/declarations/lib/plugins/search-pagefind/index.d.ts +6 -0
- package/dist/declarations/lib/plugins/search-pagefind/types.d.ts +85 -0
- package/dist/declarations/lib/shiki-constants.d.ts +3 -0
- package/dist/declarations/lib/shiki.d.ts +31 -0
- package/dist/declarations/lib/testing/index.d.ts +17 -0
- package/dist/declarations/lib/ui/Accordion.d.ts +7 -0
- package/dist/declarations/lib/ui/ActionButton.d.ts +6 -0
- package/dist/declarations/lib/ui/Alert.d.ts +11 -0
- package/dist/declarations/lib/ui/AlertDialog.d.ts +17 -0
- package/dist/declarations/lib/ui/AspectRatio.d.ts +3 -0
- package/dist/declarations/lib/ui/Badge.d.ts +9 -0
- package/dist/declarations/lib/ui/Breadcrumb.d.ts +19 -0
- package/dist/declarations/lib/ui/Button.d.ts +10 -0
- package/dist/declarations/lib/ui/ButtonGroup.d.ts +11 -0
- package/dist/declarations/lib/ui/Callout.d.ts +53 -0
- package/dist/declarations/lib/ui/Card.d.ts +11 -0
- package/dist/declarations/lib/ui/Carousel.d.ts +18 -0
- package/dist/declarations/lib/ui/Checkbox.d.ts +4 -0
- package/dist/declarations/lib/ui/CodeBlock.d.ts +21 -0
- package/dist/declarations/lib/ui/CodeTabPanel.d.ts +11 -0
- package/dist/declarations/lib/ui/CodeTabs.d.ts +8 -0
- package/dist/declarations/lib/ui/Collapsible.d.ts +5 -0
- package/dist/declarations/lib/ui/Command.d.ts +94 -0
- package/dist/declarations/lib/ui/Dialog.d.ts +15 -0
- package/dist/declarations/lib/ui/DismissibleAlert.d.ts +13 -0
- package/dist/declarations/lib/ui/Drawer.d.ts +24 -0
- package/dist/declarations/lib/ui/DropdownMenu.d.ts +25 -0
- package/dist/declarations/lib/ui/EmbeddedCodeBlock.d.ts +16 -0
- package/dist/declarations/lib/ui/Form.d.ts +23 -0
- package/dist/declarations/lib/ui/Frame.d.ts +8 -0
- package/dist/declarations/lib/ui/HoverCard.d.ts +6 -0
- package/dist/declarations/lib/ui/Input.d.ts +4 -0
- package/dist/declarations/lib/ui/InputGroup.d.ts +16 -0
- package/dist/declarations/lib/ui/Item.d.ts +25 -0
- package/dist/declarations/lib/ui/Kbd.d.ts +3 -0
- package/dist/declarations/lib/ui/Label.d.ts +5 -0
- package/dist/declarations/lib/ui/NativeSelect.d.ts +5 -0
- package/dist/declarations/lib/ui/NavigationMenu.d.ts +14 -0
- package/dist/declarations/lib/ui/Pagination.d.ts +28 -0
- package/dist/declarations/lib/ui/Popover.d.ts +6 -0
- package/dist/declarations/lib/ui/Progress.d.ts +4 -0
- package/dist/declarations/lib/ui/RadioGroup.d.ts +5 -0
- package/dist/declarations/lib/ui/ReactComponentDoc.d.ts +20 -0
- package/dist/declarations/lib/ui/ScrollArea.d.ts +5 -0
- package/dist/declarations/lib/ui/Secret.d.ts +18 -0
- package/dist/declarations/lib/ui/Select.d.ts +15 -0
- package/dist/declarations/lib/ui/Separator.d.ts +4 -0
- package/dist/declarations/lib/ui/Skeleton.d.ts +2 -0
- package/dist/declarations/lib/ui/Slider.d.ts +4 -0
- package/dist/declarations/lib/ui/Stepper.d.ts +3 -0
- package/dist/declarations/lib/ui/Switch.d.ts +4 -0
- package/dist/declarations/lib/ui/SyntaxHighlight.d.ts +18 -0
- package/dist/declarations/lib/ui/Tabs.d.ts +7 -0
- package/dist/declarations/lib/ui/Textarea.d.ts +4 -0
- package/dist/declarations/lib/ui/Toggle.d.ts +12 -0
- package/dist/declarations/lib/ui/ToggleGroup.d.ts +12 -0
- package/dist/declarations/lib/ui/Tooltip.d.ts +8 -0
- package/dist/declarations/lib/ui/Value.d.ts +5 -0
- package/dist/declarations/lib/ui/util.d.ts +3 -0
- package/dist/declarations/lib/util/MdxComponents.d.ts +47 -0
- package/dist/declarations/lib/util/cn.d.ts +2 -0
- package/dist/declarations/lib/util/createVariantComponent.d.ts +12 -0
- package/dist/declarations/lib/util/flattenAllOf.d.ts +2 -0
- package/dist/declarations/lib/util/hastToJsx.d.ts +7 -0
- package/dist/declarations/lib/util/humanFileSize.d.ts +1 -0
- package/dist/declarations/lib/util/invariant.d.ts +13 -0
- package/dist/declarations/lib/util/joinUrl.d.ts +1 -0
- package/dist/declarations/lib/util/logInit.d.ts +1 -0
- package/dist/declarations/lib/util/objectEntries.d.ts +4 -0
- package/dist/declarations/lib/util/os.d.ts +2 -0
- package/dist/declarations/lib/util/pastellize.d.ts +4 -0
- package/dist/declarations/lib/util/problemJson.d.ts +10 -0
- package/dist/declarations/lib/util/readFrontmatter.d.ts +6 -0
- package/dist/declarations/lib/util/renderIf.d.ts +1 -0
- package/dist/declarations/lib/util/scrollIntoViewIfNeeded.d.ts +1 -0
- package/dist/declarations/lib/util/slugify.d.ts +3 -0
- package/dist/declarations/lib/util/syncZustandState.d.ts +5 -0
- package/dist/declarations/lib/util/traverse.d.ts +4 -0
- package/dist/declarations/lib/util/types.d.ts +7 -0
- package/dist/declarations/lib/util/url.d.ts +1 -0
- package/dist/declarations/lib/util/useCopyToClipboard.d.ts +1 -0
- package/dist/declarations/lib/util/useExposedProps.d.ts +9 -0
- package/dist/declarations/lib/util/useIsomorphicLayoutEffect.d.ts +3 -0
- package/dist/declarations/lib/util/useLatest.d.ts +1 -0
- package/dist/declarations/lib/util/useOnScreen.d.ts +5 -0
- package/dist/declarations/lib/util/useScrollToAnchor.d.ts +2 -0
- package/dist/declarations/lib/util/useScrollToTop.d.ts +1 -0
- package/dist/declarations/vite/index.d.ts +2 -0
- package/dist/declarations/vite/mdx/rehype-extract-toc-with-jsx.d.ts +17 -0
- package/dist/declarations/vite/plugin-theme.d.ts +8 -0
- package/dist/declarations/vite/shadcn-registry.d.ts +20 -0
- package/dist/declarations/zuplo/with-zuplo.d.ts +3 -0
- package/dist/flat-config.d.ts +641 -0
- package/docs/components/alert.mdx +130 -0
- package/docs/components/badge.mdx +70 -0
- package/docs/components/button.mdx +132 -0
- package/docs/components/callout.mdx +112 -0
- package/docs/components/card.mdx +104 -0
- package/docs/components/checkbox.mdx +72 -0
- package/docs/components/client-only.mdx +79 -0
- package/docs/components/code-tabs.mdx +179 -0
- package/docs/components/dialog.mdx +167 -0
- package/docs/components/head.mdx +200 -0
- package/docs/components/icons.mdx +27 -0
- package/docs/components/input.mdx +96 -0
- package/docs/components/label.mdx +86 -0
- package/docs/components/link.mdx +242 -0
- package/docs/components/markdown.mdx +151 -0
- package/docs/components/mermaid.mdx +81 -0
- package/docs/components/playground.mdx +87 -0
- package/docs/components/secret.mdx +79 -0
- package/docs/components/select.mdx +176 -0
- package/docs/components/shadcn.mdx +73 -0
- package/docs/components/slider.mdx +108 -0
- package/docs/components/slot.mdx +119 -0
- package/docs/components/stepper.mdx +138 -0
- package/docs/components/switch.mdx +96 -0
- package/docs/components/syntax-highlight.mdx +602 -0
- package/docs/components/textarea.mdx +78 -0
- package/docs/components/tooltip.mdx +195 -0
- package/docs/components/typography.mdx +61 -0
- package/docs/concepts/auth-provider-api-identities.md +109 -0
- package/docs/configuration/ai-assistants.md +65 -0
- package/docs/configuration/api-catalog.md +109 -0
- package/docs/configuration/api-reference.md +397 -0
- package/docs/configuration/authentication-auth0.md +174 -0
- package/docs/configuration/authentication-azure-ad.md +238 -0
- package/docs/configuration/authentication-clerk.md +110 -0
- package/docs/configuration/authentication-firebase.md +62 -0
- package/docs/configuration/authentication-pingfederate.md +136 -0
- package/docs/configuration/authentication-supabase.md +226 -0
- package/docs/configuration/authentication.md +200 -0
- package/docs/configuration/build-configuration.mdx +147 -0
- package/docs/configuration/docs.md +282 -0
- package/docs/configuration/footer.mdx +214 -0
- package/docs/configuration/llms.md +90 -0
- package/docs/configuration/make-config.mdx +90 -0
- package/docs/configuration/navigation.mdx +422 -0
- package/docs/configuration/overview.md +380 -0
- package/docs/configuration/protected-routes.md +150 -0
- package/docs/configuration/search.md +163 -0
- package/docs/configuration/sentry.mdx +44 -0
- package/docs/configuration/site.md +124 -0
- package/docs/configuration/slots.mdx +125 -0
- package/docs/configuration/vite-config.md +18 -0
- package/docs/custom-plugins.md +285 -0
- package/docs/customization/colors-theme.mdx +276 -0
- package/docs/customization/fonts.md +110 -0
- package/docs/deploy/apache-nginx.md +41 -0
- package/docs/deploy/apitogo.md +139 -0
- package/docs/deploy/cloudflare-pages.md +75 -0
- package/docs/deploy/direct-upload.md +18 -0
- package/docs/deploy/github-pages.md +50 -0
- package/docs/deploy/vercel.md +103 -0
- package/docs/deployment.md +21 -0
- package/docs/extending/events.md +124 -0
- package/docs/guides/custom-pages.md +106 -0
- package/docs/guides/environment-variables.md +99 -0
- package/docs/guides/managing-api-keys-and-identities.md +172 -0
- package/docs/guides/mermaid.mdx +70 -0
- package/docs/guides/navigation-migration.md +87 -0
- package/docs/guides/navigation-rules.mdx +203 -0
- package/docs/guides/processors.mdx +234 -0
- package/docs/guides/static-files.md +55 -0
- package/docs/guides/transforming-examples.md +156 -0
- package/docs/guides/using-multiple-apis.md +87 -0
- package/docs/markdown/admonitions.md +128 -0
- package/docs/markdown/code-blocks.md +196 -0
- package/docs/markdown/frontmatter.md +173 -0
- package/docs/markdown/mdx.md +68 -0
- package/docs/markdown/overview.md +275 -0
- package/docs/plugins.md +5 -0
- package/docs/quickstart.md +87 -0
- package/docs/writing.mdx +72 -0
- package/package.json +380 -0
- package/src/app/ZuploBuildConfig.ts +36 -0
- package/src/app/defaultTheme.css +77 -0
- package/src/app/demo-cdn.html +37 -0
- package/src/app/demo.html +21 -0
- package/src/app/demo.tsx +77 -0
- package/src/app/entry.client.tsx +118 -0
- package/src/app/entry.server.tsx +160 -0
- package/src/app/env.ts +40 -0
- package/src/app/font.geist.css +73 -0
- package/src/app/main.css +390 -0
- package/src/app/main.tsx +165 -0
- package/src/app/polyfills.ts +47 -0
- package/src/app/processRoutes.tsx +51 -0
- package/src/app/sentry.ts +24 -0
- package/src/app/standalone.html +23 -0
- package/src/app/standalone.tsx +60 -0
- package/src/app/utils/createRedirectRoutes.ts +11 -0
- package/src/config/config.ts +70 -0
- package/src/config/create-plugin.ts +71 -0
- package/src/config/file-exists.ts +6 -0
- package/src/config/loader.ts +258 -0
- package/src/config/resolve-modules.ts +260 -0
- package/src/config/validators/BuildSchema.ts +95 -0
- package/src/config/validators/HeaderNavigationSchema.ts +41 -0
- package/src/config/validators/InputNavigationSchema.test-d.ts +178 -0
- package/src/config/validators/InputNavigationSchema.ts +206 -0
- package/src/config/validators/ModulesSchema.ts +312 -0
- package/src/config/validators/NavigationSchema.ts +352 -0
- package/src/config/validators/ProtectedRoutesSchema.ts +35 -0
- package/src/config/validators/ZudokuConfig.ts +759 -0
- package/src/config/validators/auth.ts +3 -0
- package/src/config/validators/icon-types.ts +1955 -0
- package/src/config/validators/reason-codes.ts +7 -0
- package/src/env.d.ts +11 -0
- package/src/index.ts +74 -0
- package/src/lib/MissingIcon.tsx +22 -0
- package/src/lib/assets/language-icons/bun.tsx +50 -0
- package/src/lib/assets/language-icons/c.tsx +31 -0
- package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
- package/src/lib/assets/language-icons/cpp.tsx +35 -0
- package/src/lib/assets/language-icons/csharp.tsx +35 -0
- package/src/lib/assets/language-icons/css.tsx +36 -0
- package/src/lib/assets/language-icons/dart.tsx +39 -0
- package/src/lib/assets/language-icons/elixir.tsx +19 -0
- package/src/lib/assets/language-icons/go.tsx +19 -0
- package/src/lib/assets/language-icons/graphql.tsx +19 -0
- package/src/lib/assets/language-icons/html.tsx +24 -0
- package/src/lib/assets/language-icons/java.tsx +35 -0
- package/src/lib/assets/language-icons/javascript.tsx +11 -0
- package/src/lib/assets/language-icons/json.tsx +19 -0
- package/src/lib/assets/language-icons/kotlin.tsx +30 -0
- package/src/lib/assets/language-icons/markdown.tsx +19 -0
- package/src/lib/assets/language-icons/mdx.tsx +23 -0
- package/src/lib/assets/language-icons/npm.tsx +15 -0
- package/src/lib/assets/language-icons/objectivec.tsx +23 -0
- package/src/lib/assets/language-icons/ocaml.tsx +34 -0
- package/src/lib/assets/language-icons/php.tsx +19 -0
- package/src/lib/assets/language-icons/pnpm.tsx +32 -0
- package/src/lib/assets/language-icons/powershell.tsx +27 -0
- package/src/lib/assets/language-icons/python.tsx +23 -0
- package/src/lib/assets/language-icons/react.tsx +21 -0
- package/src/lib/assets/language-icons/ruby.tsx +19 -0
- package/src/lib/assets/language-icons/rust.tsx +19 -0
- package/src/lib/assets/language-icons/scala.tsx +19 -0
- package/src/lib/assets/language-icons/shell.tsx +19 -0
- package/src/lib/assets/language-icons/swift.tsx +19 -0
- package/src/lib/assets/language-icons/toml.tsx +23 -0
- package/src/lib/assets/language-icons/typescript.tsx +23 -0
- package/src/lib/assets/language-icons/xml.tsx +19 -0
- package/src/lib/assets/language-icons/yaml.tsx +23 -0
- package/src/lib/assets/language-icons/yarn.tsx +17 -0
- package/src/lib/assets/language-icons/zig.tsx +32 -0
- package/src/lib/auth/issuer.ts +31 -0
- package/src/lib/authentication/AuthenticationPlugin.tsx +33 -0
- package/src/lib/authentication/authentication.ts +48 -0
- package/src/lib/authentication/components/CallbackHandler.tsx +45 -0
- package/src/lib/authentication/components/OAuthErrorPage.tsx +197 -0
- package/src/lib/authentication/components/SignIn.tsx +46 -0
- package/src/lib/authentication/components/SignOut.tsx +15 -0
- package/src/lib/authentication/components/SignUp.tsx +48 -0
- package/src/lib/authentication/constants.ts +1 -0
- package/src/lib/authentication/errors.ts +34 -0
- package/src/lib/authentication/hook.ts +139 -0
- package/src/lib/authentication/providers/auth0.tsx +91 -0
- package/src/lib/authentication/providers/azureb2c.tsx +223 -0
- package/src/lib/authentication/providers/clerk.tsx +224 -0
- package/src/lib/authentication/providers/firebase.tsx +486 -0
- package/src/lib/authentication/providers/openid.tsx +516 -0
- package/src/lib/authentication/providers/supabase.tsx +412 -0
- package/src/lib/authentication/providers/util.ts +26 -0
- package/src/lib/authentication/state.ts +91 -0
- package/src/lib/authentication/ui/AuthCard.tsx +7 -0
- package/src/lib/authentication/ui/EmailLinkCallbackUi.tsx +129 -0
- package/src/lib/authentication/ui/EmailLinkSentUi.tsx +105 -0
- package/src/lib/authentication/ui/EmailLinkSignInUi.tsx +100 -0
- package/src/lib/authentication/ui/EmailVerificationUi.tsx +128 -0
- package/src/lib/authentication/ui/ZudokuAuthUi.tsx +620 -0
- package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
- package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
- package/src/lib/authentication/ui/icons/Github.tsx +16 -0
- package/src/lib/authentication/ui/icons/Google.tsx +16 -0
- package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
- package/src/lib/authentication/ui/icons/X.tsx +10 -0
- package/src/lib/authentication/utils/relativeRedirectUrl.ts +16 -0
- package/src/lib/components/AiAssistantMenuItems.tsx +102 -0
- package/src/lib/components/AnchorLink.tsx +24 -0
- package/src/lib/components/Autocomplete.tsx +123 -0
- package/src/lib/components/Banner.tsx +52 -0
- package/src/lib/components/Bootstrap.tsx +77 -0
- package/src/lib/components/BuildCheck.tsx +87 -0
- package/src/lib/components/CategoryHeading.tsx +19 -0
- package/src/lib/components/ClientOnly.tsx +19 -0
- package/src/lib/components/DeveloperHint.tsx +39 -0
- package/src/lib/components/ErrorPage.tsx +26 -0
- package/src/lib/components/Footer.tsx +140 -0
- package/src/lib/components/Framed.tsx +51 -0
- package/src/lib/components/Header.tsx +260 -0
- package/src/lib/components/HeaderNavigation.tsx +148 -0
- package/src/lib/components/Heading.tsx +84 -0
- package/src/lib/components/InlineCode.tsx +15 -0
- package/src/lib/components/LandingLayout.tsx +21 -0
- package/src/lib/components/LanguageIcon.tsx +199 -0
- package/src/lib/components/Layout.tsx +53 -0
- package/src/lib/components/Main.tsx +51 -0
- package/src/lib/components/Markdown.tsx +55 -0
- package/src/lib/components/Mermaid.tsx +74 -0
- package/src/lib/components/Meta.tsx +46 -0
- package/src/lib/components/MobileTopNavigation.tsx +276 -0
- package/src/lib/components/MultiSelect.tsx +86 -0
- package/src/lib/components/NotFoundPage.tsx +37 -0
- package/src/lib/components/PageProgress.tsx +28 -0
- package/src/lib/components/PagefindSearchMeta.tsx +14 -0
- package/src/lib/components/Pagination.tsx +44 -0
- package/src/lib/components/PathRenderer.tsx +61 -0
- package/src/lib/components/PluginHeads.tsx +17 -0
- package/src/lib/components/Search.tsx +70 -0
- package/src/lib/components/Slot.tsx +64 -0
- package/src/lib/components/Spinner.tsx +5 -0
- package/src/lib/components/StatusPage.tsx +96 -0
- package/src/lib/components/ThemeSwitch.tsx +49 -0
- package/src/lib/components/TopNavigation.tsx +103 -0
- package/src/lib/components/Typography.tsx +12 -0
- package/src/lib/components/Zudoku.tsx +106 -0
- package/src/lib/components/cache.ts +27 -0
- package/src/lib/components/context/RenderContext.ts +11 -0
- package/src/lib/components/context/RouterEventsEmitter.tsx +19 -0
- package/src/lib/components/context/SlotProvider.tsx +149 -0
- package/src/lib/components/context/ViewportAnchorContext.tsx +137 -0
- package/src/lib/components/context/ZudokuContext.ts +140 -0
- package/src/lib/components/context/ZudokuProvider.tsx +22 -0
- package/src/lib/components/context/ZudokuReactContext.tsx +17 -0
- package/src/lib/components/index.ts +36 -0
- package/src/lib/components/navigation/Navigation.tsx +51 -0
- package/src/lib/components/navigation/NavigationBadge.tsx +48 -0
- package/src/lib/components/navigation/NavigationCategory.tsx +157 -0
- package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
- package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
- package/src/lib/components/navigation/NavigationItem.tsx +181 -0
- package/src/lib/components/navigation/NavigationWrapper.tsx +49 -0
- package/src/lib/components/navigation/PoweredByZudoku.tsx +39 -0
- package/src/lib/components/navigation/Toc.tsx +137 -0
- package/src/lib/components/navigation/ZudokuLogo.tsx +25 -0
- package/src/lib/components/navigation/ZuploLogo.tsx +14 -0
- package/src/lib/components/navigation/utils.ts +234 -0
- package/src/lib/core/RouteGuard.tsx +193 -0
- package/src/lib/core/ZudokuContext.ts +271 -0
- package/src/lib/core/plugins.ts +138 -0
- package/src/lib/core/react-query.ts +1 -0
- package/src/lib/core/router.ts +1 -0
- package/src/lib/core/transform-config.ts +67 -0
- package/src/lib/demo/DemoAnnouncement.tsx +17 -0
- package/src/lib/errors/ErrorAlert.tsx +28 -0
- package/src/lib/errors/ErrorMessage.tsx +50 -0
- package/src/lib/errors/RouterError.tsx +18 -0
- package/src/lib/errors/ServerError.tsx +5 -0
- package/src/lib/errors/TopLevelError.tsx +6 -0
- package/src/lib/hooks/index.ts +13 -0
- package/src/lib/hooks/useEvent.ts +41 -0
- package/src/lib/hooks/useHighlighter.ts +15 -0
- package/src/lib/hooks/useHotkey.ts +70 -0
- package/src/lib/icons.ts +2 -0
- package/src/lib/navigation/applyRules.ts +127 -0
- package/src/lib/navigation/pathMatcher.ts +81 -0
- package/src/lib/oas/graphql/circular.ts +69 -0
- package/src/lib/oas/graphql/constants.ts +2 -0
- package/src/lib/oas/graphql/index.ts +791 -0
- package/src/lib/oas/parser/dereference/index.ts +84 -0
- package/src/lib/oas/parser/dereference/resolveRef.ts +32 -0
- package/src/lib/oas/parser/index.ts +129 -0
- package/src/lib/oas/parser/schemas/v3.0.json +1489 -0
- package/src/lib/oas/parser/schemas/v3.1.json +1298 -0
- package/src/lib/oas/parser/upgrade/index.ts +174 -0
- package/src/lib/plugins/api-catalog/Catalog.tsx +80 -0
- package/src/lib/plugins/api-catalog/index.tsx +119 -0
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +128 -0
- package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -0
- package/src/lib/plugins/api-keys/ProtectedRoute.tsx +33 -0
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +72 -0
- package/src/lib/plugins/api-keys/index.tsx +274 -0
- package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -0
- package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +67 -0
- package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +127 -0
- package/src/lib/plugins/custom-pages/index.tsx +32 -0
- package/src/lib/plugins/markdown/MdxPage.tsx +260 -0
- package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
- package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
- package/src/lib/plugins/markdown/index.tsx +62 -0
- package/src/lib/plugins/openapi/ApiHeader.tsx +96 -0
- package/src/lib/plugins/openapi/CollapsibleCode.tsx +88 -0
- package/src/lib/plugins/openapi/ColorizedParam.tsx +115 -0
- package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +94 -0
- package/src/lib/plugins/openapi/Endpoint.tsx +85 -0
- package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
- package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -0
- package/src/lib/plugins/openapi/OasProvider.tsx +74 -0
- package/src/lib/plugins/openapi/OperationList.tsx +275 -0
- package/src/lib/plugins/openapi/OperationListItem.tsx +183 -0
- package/src/lib/plugins/openapi/ParamInfos.tsx +96 -0
- package/src/lib/plugins/openapi/ParameterList.tsx +53 -0
- package/src/lib/plugins/openapi/ParameterListItem.tsx +161 -0
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +67 -0
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +63 -0
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +120 -0
- package/src/lib/plugins/openapi/SchemaInfo.tsx +344 -0
- package/src/lib/plugins/openapi/SchemaList.tsx +113 -0
- package/src/lib/plugins/openapi/Sidecar.tsx +314 -0
- package/src/lib/plugins/openapi/SidecarBox.tsx +57 -0
- package/src/lib/plugins/openapi/SidecarExamples.tsx +177 -0
- package/src/lib/plugins/openapi/SimpleSelect.tsx +46 -0
- package/src/lib/plugins/openapi/client/GraphQLClient.tsx +73 -0
- package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -0
- package/src/lib/plugins/openapi/client/createServer.ts +35 -0
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +44 -0
- package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -0
- package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -0
- package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
- package/src/lib/plugins/openapi/components/ResponseContent.tsx +117 -0
- package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -0
- package/src/lib/plugins/openapi/context.tsx +16 -0
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +104 -0
- package/src/lib/plugins/openapi/graphql/gql.ts +95 -0
- package/src/lib/plugins/openapi/graphql/graphql.ts +835 -0
- package/src/lib/plugins/openapi/graphql/index.ts +2 -0
- package/src/lib/plugins/openapi/index.tsx +221 -0
- package/src/lib/plugins/openapi/interfaces.ts +100 -0
- package/src/lib/plugins/openapi/playground/BodyPanel.tsx +274 -0
- package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +51 -0
- package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +60 -0
- package/src/lib/plugins/openapi/playground/Headers.tsx +194 -0
- package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +75 -0
- package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +38 -0
- package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +45 -0
- package/src/lib/plugins/openapi/playground/PathParams.tsx +53 -0
- package/src/lib/plugins/openapi/playground/Playground.tsx +602 -0
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +56 -0
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +151 -0
- package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +70 -0
- package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -0
- package/src/lib/plugins/openapi/playground/createUrl.ts +25 -0
- package/src/lib/plugins/openapi/playground/fileUtils.ts +36 -0
- package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -0
- package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
- package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -0
- package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +29 -0
- package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +340 -0
- package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +117 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +355 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +106 -0
- package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -0
- package/src/lib/plugins/openapi/playground/serializeQueryParams.ts +125 -0
- package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +23 -0
- package/src/lib/plugins/openapi/processors/removeExtensions.ts +29 -0
- package/src/lib/plugins/openapi/processors/removeParameters.ts +103 -0
- package/src/lib/plugins/openapi/processors/removePaths.ts +57 -0
- package/src/lib/plugins/openapi/processors/traverse.ts +1 -0
- package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +39 -0
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +189 -0
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +299 -0
- package/src/lib/plugins/openapi/schema/UnionView.tsx +132 -0
- package/src/lib/plugins/openapi/schema/union-helpers.ts +123 -0
- package/src/lib/plugins/openapi/schema/utils.ts +49 -0
- package/src/lib/plugins/openapi/state.ts +36 -0
- package/src/lib/plugins/openapi/util/buildTagCategories.ts +54 -0
- package/src/lib/plugins/openapi/util/createHttpSnippet.ts +135 -0
- package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +39 -0
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +191 -0
- package/src/lib/plugins/openapi/util/getRoutes.tsx +265 -0
- package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -0
- package/src/lib/plugins/openapi/util/methodToColor.ts +27 -0
- package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -0
- package/src/lib/plugins/openapi/util/useWarmupSchema.ts +23 -0
- package/src/lib/plugins/search-inkeep/index.tsx +108 -0
- package/src/lib/plugins/search-inkeep/inkeep.ts +24 -0
- package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +162 -0
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +202 -0
- package/src/lib/plugins/search-pagefind/ResultList.tsx +122 -0
- package/src/lib/plugins/search-pagefind/get-results.tsx +74 -0
- package/src/lib/plugins/search-pagefind/index.tsx +21 -0
- package/src/lib/plugins/search-pagefind/types.ts +118 -0
- package/src/lib/shiki-constants.ts +24 -0
- package/src/lib/shiki.ts +179 -0
- package/src/lib/testing/index.tsx +146 -0
- package/src/lib/ui/Accordion.tsx +55 -0
- package/src/lib/ui/ActionButton.tsx +21 -0
- package/src/lib/ui/Alert.tsx +84 -0
- package/src/lib/ui/AlertDialog.tsx +195 -0
- package/src/lib/ui/AspectRatio.tsx +5 -0
- package/src/lib/ui/Badge.tsx +48 -0
- package/src/lib/ui/Breadcrumb.tsx +115 -0
- package/src/lib/ui/Button.tsx +65 -0
- package/src/lib/ui/ButtonGroup.tsx +80 -0
- package/src/lib/ui/Callout.tsx +113 -0
- package/src/lib/ui/Card.tsx +95 -0
- package/src/lib/ui/Carousel.tsx +259 -0
- package/src/lib/ui/Checkbox.tsx +28 -0
- package/src/lib/ui/CodeBlock.tsx +92 -0
- package/src/lib/ui/CodeTabPanel.tsx +13 -0
- package/src/lib/ui/CodeTabs.tsx +161 -0
- package/src/lib/ui/Collapsible.tsx +31 -0
- package/src/lib/ui/Command.tsx +191 -0
- package/src/lib/ui/Dialog.tsx +138 -0
- package/src/lib/ui/DismissibleAlert.tsx +74 -0
- package/src/lib/ui/Drawer.tsx +121 -0
- package/src/lib/ui/DropdownMenu.tsx +254 -0
- package/src/lib/ui/EmbeddedCodeBlock.tsx +99 -0
- package/src/lib/ui/Form.tsx +176 -0
- package/src/lib/ui/Frame.tsx +81 -0
- package/src/lib/ui/HoverCard.tsx +26 -0
- package/src/lib/ui/Input.tsx +23 -0
- package/src/lib/ui/InputGroup.tsx +168 -0
- package/src/lib/ui/Item.tsx +213 -0
- package/src/lib/ui/Kbd.tsx +28 -0
- package/src/lib/ui/Label.tsx +23 -0
- package/src/lib/ui/NativeSelect.tsx +48 -0
- package/src/lib/ui/NavigationMenu.tsx +169 -0
- package/src/lib/ui/Pagination.tsx +115 -0
- package/src/lib/ui/Popover.tsx +28 -0
- package/src/lib/ui/Progress.tsx +25 -0
- package/src/lib/ui/RadioGroup.tsx +41 -0
- package/src/lib/ui/ReactComponentDoc.tsx +68 -0
- package/src/lib/ui/ScrollArea.tsx +45 -0
- package/src/lib/ui/Secret.tsx +133 -0
- package/src/lib/ui/Select.tsx +184 -0
- package/src/lib/ui/Separator.tsx +25 -0
- package/src/lib/ui/Skeleton.tsx +15 -0
- package/src/lib/ui/Slider.tsx +25 -0
- package/src/lib/ui/Stepper.tsx +8 -0
- package/src/lib/ui/Switch.tsx +26 -0
- package/src/lib/ui/SyntaxHighlight.tsx +54 -0
- package/src/lib/ui/Tabs.tsx +52 -0
- package/src/lib/ui/Textarea.tsx +22 -0
- package/src/lib/ui/Toggle.tsx +42 -0
- package/src/lib/ui/ToggleGroup.tsx +58 -0
- package/src/lib/ui/Tooltip.tsx +65 -0
- package/src/lib/ui/Value.tsx +42 -0
- package/src/lib/ui/util.tsx +8 -0
- package/src/lib/util/MdxComponents.tsx +150 -0
- package/src/lib/util/cn.ts +6 -0
- package/src/lib/util/createVariantComponent.tsx +61 -0
- package/src/lib/util/ensureArray.ts +3 -0
- package/src/lib/util/flattenAllOf.ts +72 -0
- package/src/lib/util/flattenAllOfProcessor.ts +74 -0
- package/src/lib/util/hastToJsx.tsx +67 -0
- package/src/lib/util/humanFileSize.ts +15 -0
- package/src/lib/util/invariant.ts +52 -0
- package/src/lib/util/joinUrl.ts +60 -0
- package/src/lib/util/logInit.ts +9 -0
- package/src/lib/util/objectEntries.ts +5 -0
- package/src/lib/util/os.ts +18 -0
- package/src/lib/util/pastellize.ts +25 -0
- package/src/lib/util/problemJson.ts +63 -0
- package/src/lib/util/readFrontmatter.ts +14 -0
- package/src/lib/util/renderIf.ts +4 -0
- package/src/lib/util/scrollIntoViewIfNeeded.ts +18 -0
- package/src/lib/util/slugify.ts +21 -0
- package/src/lib/util/syncZustandState.ts +22 -0
- package/src/lib/util/traverse.ts +70 -0
- package/src/lib/util/types.ts +7 -0
- package/src/lib/util/url.ts +18 -0
- package/src/lib/util/useCopyToClipboard.ts +17 -0
- package/src/lib/util/useExposedProps.tsx +27 -0
- package/src/lib/util/useIsomorphicLayoutEffect.ts +6 -0
- package/src/lib/util/useLatest.ts +18 -0
- package/src/lib/util/useOnScreen.ts +34 -0
- package/src/lib/util/useScrollToAnchor.ts +70 -0
- package/src/lib/util/useScrollToTop.ts +18 -0
- package/src/types.d.ts +57 -0
- package/src/vite/api/SchemaManager.ts +371 -0
- package/src/vite/api/schema-codegen.ts +163 -0
- package/src/vite/build.ts +237 -0
- package/src/vite/config.ts +258 -0
- package/src/vite/css/collect.ts +42 -0
- package/src/vite/css/plugin.ts +105 -0
- package/src/vite/debug.ts +18 -0
- package/src/vite/dev-server.ts +294 -0
- package/src/vite/html.ts +54 -0
- package/src/vite/index.ts +2 -0
- package/src/vite/llms.ts +99 -0
- package/src/vite/mdx/rehype-extract-toc-with-jsx-export.ts +19 -0
- package/src/vite/mdx/rehype-extract-toc-with-jsx.ts +70 -0
- package/src/vite/mdx/remark-code-tabs.ts +47 -0
- package/src/vite/mdx/remark-inject-filepath.ts +13 -0
- package/src/vite/mdx/remark-last-modified.ts +103 -0
- package/src/vite/mdx/remark-link-rewrite.ts +23 -0
- package/src/vite/mdx/remark-normalize-image-url.ts +15 -0
- package/src/vite/mdx/remark-static-generation.ts +149 -0
- package/src/vite/mdx/utils.ts +32 -0
- package/src/vite/output.ts +261 -0
- package/src/vite/package-root.ts +12 -0
- package/src/vite/pagefind-dev-index.ts +100 -0
- package/src/vite/pagefind-dev-stub.ts +17 -0
- package/src/vite/plugin-api-keys.ts +55 -0
- package/src/vite/plugin-api.ts +323 -0
- package/src/vite/plugin-auth.ts +42 -0
- package/src/vite/plugin-component.ts +45 -0
- package/src/vite/plugin-config-reload.ts +49 -0
- package/src/vite/plugin-config.ts +75 -0
- package/src/vite/plugin-custom-pages.ts +36 -0
- package/src/vite/plugin-doc-metadata.ts +45 -0
- package/src/vite/plugin-docs.ts +205 -0
- package/src/vite/plugin-markdown-export.ts +214 -0
- package/src/vite/plugin-mdx.ts +149 -0
- package/src/vite/plugin-metadata.ts +30 -0
- package/src/vite/plugin-modules.ts +144 -0
- package/src/vite/plugin-navigation.ts +106 -0
- package/src/vite/plugin-search.ts +59 -0
- package/src/vite/plugin-shiki-register.ts +97 -0
- package/src/vite/plugin-theme.ts +399 -0
- package/src/vite/plugin.ts +44 -0
- package/src/vite/prerender/prerender.ts +242 -0
- package/src/vite/prerender/utils.ts +76 -0
- package/src/vite/prerender/worker.ts +118 -0
- package/src/vite/reporter.ts +34 -0
- package/src/vite/shadcn-registry.ts +48 -0
- package/src/vite/sitemap.ts +78 -0
- package/src/vite/ssr-templates/cloudflare.ts +19 -0
- package/src/vite/ssr-templates/node.ts +25 -0
- package/src/vite/ssr-templates/vercel.ts +22 -0
- package/src/vite/zuplo.ts +30 -0
- package/src/vite-env.d.ts +6 -0
- package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -0
- package/src/zuplo/enrich-with-zuplo.ts +256 -0
- package/src/zuplo/policy-types.ts +46 -0
- package/src/zuplo/with-zuplo-processors.ts +36 -0
- package/src/zuplo/with-zuplo.ts +14 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: GitHub Pages
|
|
3
|
+
zuplo: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
[GitHub Pages](https://pages.github.com/) is a great way to publish your documentation, especially
|
|
7
|
+
if you are using GitHub for source control.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
To publish your site to GitHub Pages you will need:
|
|
12
|
+
|
|
13
|
+
- A GitHub account
|
|
14
|
+
|
|
15
|
+
## Deploying to GitHub Pages
|
|
16
|
+
|
|
17
|
+
Use the
|
|
18
|
+
[GitHub Actions Workflow](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow).
|
|
19
|
+
|
|
20
|
+
You might need to configure the `basePath` in your apitogo.config.ts depending on how your site is
|
|
21
|
+
hosted. For instance, if your site is available at username.github.io/your-repo/ you would set the
|
|
22
|
+
`basePath` to `/your-repo`.
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import type { ApitogoConfig } from "@lukoweb/apitogo";
|
|
26
|
+
|
|
27
|
+
const config: ApitogoConfig = {
|
|
28
|
+
basePath: "/your-repo",
|
|
29
|
+
//...
|
|
30
|
+
};
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Accurate Last Modified Dates
|
|
34
|
+
|
|
35
|
+
If you have enabled the [`showLastModified`](/docs/configuration/docs#showlastmodified) option,
|
|
36
|
+
APIToGo automatically tracks the last modified date of your documentation pages using Git history.
|
|
37
|
+
However, GitHub Actions performs shallow clones by default, which can result in inaccurate "Last
|
|
38
|
+
Modified" dates for pages that haven't been updated recently.
|
|
39
|
+
|
|
40
|
+
To ensure accurate last modified dates, configure the `actions/checkout` step to fetch the full
|
|
41
|
+
history:
|
|
42
|
+
|
|
43
|
+
```yaml
|
|
44
|
+
- uses: actions/checkout@v4
|
|
45
|
+
with:
|
|
46
|
+
fetch-depth: 0 # Fetch all history for all branches and tags
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
For more details, see the
|
|
50
|
+
[actions/checkout documentation](https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches).
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Vercel
|
|
3
|
+
zuplo: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
[Vercel](https://vercel.com) offers multiple ways to deploy to its service, including via GitHub,
|
|
7
|
+
and their CLI. You can read more about them in their
|
|
8
|
+
[Deployments Overview](https://vercel.com/docs/deployments/overview).
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
|
|
12
|
+
To deploy to Vercel you will need:
|
|
13
|
+
|
|
14
|
+
- A Vercel account (free)
|
|
15
|
+
- A GitHub account (if deploying via GitHub)
|
|
16
|
+
- The Vercel CLI
|
|
17
|
+
|
|
18
|
+
Deploying your APIToGo powered documentation using the Vercel CLI is what we will cover in this
|
|
19
|
+
guide.
|
|
20
|
+
|
|
21
|
+
## Install the CLI
|
|
22
|
+
|
|
23
|
+
To get started you need to install the CLI:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm i -g vercel
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Setup a new project
|
|
30
|
+
|
|
31
|
+
Next, set up a new Vercel project in the root of your docs:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
vercel
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This command will set up everything that is needed to deploy your documentation to Vercel.
|
|
38
|
+
|
|
39
|
+
It will ask some specific questions including the project name and where the code is located. You
|
|
40
|
+
can answer however you like for these.
|
|
41
|
+
|
|
42
|
+
When you get to this step:
|
|
43
|
+
|
|
44
|
+
```ansi
|
|
45
|
+
No framework detected. Default Project Settings:
|
|
46
|
+
- Build Command: `npm run vercel-build` or `npm run build`
|
|
47
|
+
- Development Command: None
|
|
48
|
+
- Install Command: `yarn install`, `pnpm install`, `npm install`, or `bun install`
|
|
49
|
+
- Output Directory: `public` if it exists, or `.`
|
|
50
|
+
? Want to modify these settings? (y/N)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Answer _Yes_ and select to modify the Output Directory.
|
|
54
|
+
|
|
55
|
+
By default Vercel looks for a directory named `public`, but the APIToGo build will be found in
|
|
56
|
+
`dist`. Set the output directory like this:
|
|
57
|
+
|
|
58
|
+
```ansi
|
|
59
|
+
? What's your Output Directory? dist
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
After this is complete, your site will build and Vercel will respond with the URL for you to test
|
|
63
|
+
it.
|
|
64
|
+
|
|
65
|
+
:::tip{title="Clean URLs"}
|
|
66
|
+
|
|
67
|
+
You will almost certainly want to enable clean URLs for your site. This will remove the `.html`
|
|
68
|
+
extension from your URLs. You can do this by adding a `cleanUrls` property to your `vercel.json`
|
|
69
|
+
file. See the
|
|
70
|
+
[Vercel Configuration](https://vercel.com/docs/projects/project-configuration#cleanurls) for more
|
|
71
|
+
information.
|
|
72
|
+
|
|
73
|
+
:::
|
|
74
|
+
|
|
75
|
+
:::caution{title="Redirects"}
|
|
76
|
+
|
|
77
|
+
If you have redirects configured in your Zuplo configuration, you will need to also add those to
|
|
78
|
+
your `vercel.json` file. See the
|
|
79
|
+
[Vercel Configuration](https://vercel.com/docs/projects/project-configuration#redirects) for more
|
|
80
|
+
information.
|
|
81
|
+
|
|
82
|
+
This is a current limitation. See [#115](https://github.com/lukoweb/apitogo-doc-tool/issues/151).
|
|
83
|
+
|
|
84
|
+
:::
|
|
85
|
+
|
|
86
|
+
## Accurate Last Modified Dates
|
|
87
|
+
|
|
88
|
+
If you have enabled the [`showLastModified`](/docs/configuration/docs#showlastmodified) option,
|
|
89
|
+
APIToGo automatically tracks the last modified date of your documentation pages using Git history.
|
|
90
|
+
However, Vercel performs shallow clones by default (only fetching the last 10 commits), which can
|
|
91
|
+
result in inaccurate "Last Modified" dates for pages that haven't been updated recently.
|
|
92
|
+
|
|
93
|
+
To ensure accurate last modified dates, add the `VERCEL_DEEP_CLONE` environment variable to your
|
|
94
|
+
Vercel project:
|
|
95
|
+
|
|
96
|
+
1. Go to your project settings in Vercel
|
|
97
|
+
2. Navigate to "Environment Variables"
|
|
98
|
+
3. Add a new variable: `VERCEL_DEEP_CLONE=true`
|
|
99
|
+
4. Save and redeploy your site
|
|
100
|
+
|
|
101
|
+
This will enable full Git history during builds, ensuring all pages show their correct last modified
|
|
102
|
+
dates. The impact on build time is minimal (typically 5-20 seconds on the first build), and
|
|
103
|
+
subsequent builds benefit from caching.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Deploying APIToGo
|
|
3
|
+
zuplo: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Once you are happy with your APIToGo powered documentation and ready to push your docs to production
|
|
7
|
+
you will need to deploy it to your own server, or a hosted service of your choice.
|
|
8
|
+
|
|
9
|
+
## Build locally
|
|
10
|
+
|
|
11
|
+
APIToGo can produce a build of static HTML, JavaScript and CSS files that you can deploy directly to
|
|
12
|
+
your own server.
|
|
13
|
+
|
|
14
|
+
To prepare the files you need to upload to your server, you will need to use the build command.
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
npm run build
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Once complete, you will see a new `dist` folder in the root of your project that includes the files
|
|
21
|
+
you need to upload.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Events
|
|
3
|
+
sidebar_icon: shuffle
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
APIToGo provides an events system that allows plugins to react to various application events. This
|
|
7
|
+
system enables you to build dynamic features that respond to user interactions and application state
|
|
8
|
+
changes.
|
|
9
|
+
|
|
10
|
+
## Available Events
|
|
11
|
+
|
|
12
|
+
Currently, APIToGo supports the following events:
|
|
13
|
+
|
|
14
|
+
### location
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
type LocationEvent = (e: { from?: Location; to: Location }) => void;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Emitted when the user navigates to a different route. Provides both the previous (`from`) and
|
|
21
|
+
current (`to`)
|
|
22
|
+
[Location objects](https://api.reactrouter.com/v7/interfaces/react_router.Location.html) from
|
|
23
|
+
react-router.
|
|
24
|
+
|
|
25
|
+
Note that the `from` location will be undefined on the initial page load.
|
|
26
|
+
|
|
27
|
+
## Consuming Events in Plugins
|
|
28
|
+
|
|
29
|
+
To consume events in your plugin, you can implement the events property in your plugin. This is
|
|
30
|
+
useful for performing actions like sending analytics events or anything else that's not directly
|
|
31
|
+
related to the UI.
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import type { ApitogoPlugin } from "@lukoweb/apitogo";
|
|
35
|
+
|
|
36
|
+
const navigationLoggerPlugin: ApitogoPlugin = {
|
|
37
|
+
events: {
|
|
38
|
+
location: ({ from, to }) => {
|
|
39
|
+
if (!from) {
|
|
40
|
+
console.log(`Initial navigation to: ${to.pathname}`);
|
|
41
|
+
} else {
|
|
42
|
+
console.log(`User navigated from: ${from.pathname} to: ${to.pathname}`);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Example in APIToGo Config
|
|
50
|
+
|
|
51
|
+
In your `apitogo.config.ts`, you can define the events like this:
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
export default {
|
|
55
|
+
plugins: [
|
|
56
|
+
{
|
|
57
|
+
events: {
|
|
58
|
+
location: ({ from, to }) => {
|
|
59
|
+
if (!from) return;
|
|
60
|
+
|
|
61
|
+
// E.g. send an analytics event
|
|
62
|
+
sendAnalyticsEvent({
|
|
63
|
+
from: from.pathname,
|
|
64
|
+
to: to.pathname,
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Using Events in Components
|
|
74
|
+
|
|
75
|
+
APIToGo provides a convenient `useEvent` hook to subscribe to events in your React components. The
|
|
76
|
+
hook can be used in three different ways:
|
|
77
|
+
|
|
78
|
+
### 1. Getting the Latest Event Data
|
|
79
|
+
|
|
80
|
+
If you just want to access the latest event data without a callback:
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
import { useEvent } from "@lukoweb/apitogo/hooks";
|
|
84
|
+
|
|
85
|
+
function MyComponent() {
|
|
86
|
+
const locationEvent = useEvent("location");
|
|
87
|
+
return <div>Current path: {locationEvent?.to.pathname}</div>;
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 2. Using Event Data in a Component
|
|
92
|
+
|
|
93
|
+
If you want to transform the event data, return a value from the callback:
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
import { useEvent } from "@lukoweb/apitogo/hooks";
|
|
97
|
+
|
|
98
|
+
function MyComponent() {
|
|
99
|
+
const pathname = useEvent("location", ({ to }) => to.pathname);
|
|
100
|
+
return <div>Current path: {pathname}</div>;
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 3. Using a Callback for Side Effects
|
|
105
|
+
|
|
106
|
+
If you just want to perform side effects when the event occurs:
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
import { useEvent } from "@lukoweb/apitogo/hooks";
|
|
110
|
+
|
|
111
|
+
function MyComponent() {
|
|
112
|
+
useEvent("location", ({ from, to }) => {
|
|
113
|
+
if (from) {
|
|
114
|
+
console.log(`Navigation: ${from.pathname} → ${to.pathname}`);
|
|
115
|
+
}
|
|
116
|
+
// No return value needed for side effects
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
return <div>My Component</div>;
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The `useEvent` hook automatically handles subscription and cleanup in the React lifecycle, making it
|
|
124
|
+
easy to work with events in your components.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Custom pages
|
|
3
|
+
sidebar_icon: layers-3
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
If you want to include pages in your documentation that have greater flexibility than MDX pages, it
|
|
7
|
+
is possible to include custom pages of your own.
|
|
8
|
+
|
|
9
|
+
These pages are typically built using standard React markup and can borrow from a set of prebuilt
|
|
10
|
+
components that APIToGo already has such as buttons, links and headers.
|
|
11
|
+
|
|
12
|
+
Start by creating the page you want to add.
|
|
13
|
+
|
|
14
|
+
## Setup a custom page
|
|
15
|
+
|
|
16
|
+
Each custom page is a page component of its own and lives in a `src` directory at the root of your
|
|
17
|
+
project. Let's create the `<MyCustomPage />` component as an example.
|
|
18
|
+
|
|
19
|
+
From the root of your project run this command:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
touch src/MyCustomPage.tsx
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
You can now open `/src/MyCustomPage.tsx` in the editor of your choice. It will be empty.
|
|
26
|
+
|
|
27
|
+
Copy and paste this code to implement the page:
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import { Button, Head, Link } from "@lukoweb/apitogo/components";
|
|
31
|
+
|
|
32
|
+
export const MyCustomPage = () => {
|
|
33
|
+
return (
|
|
34
|
+
<section className="">
|
|
35
|
+
<Head>
|
|
36
|
+
<title>My Custom Page</title>
|
|
37
|
+
</Head>
|
|
38
|
+
<div>
|
|
39
|
+
<p>Welcome to MyCustomPage</p>
|
|
40
|
+
</div>
|
|
41
|
+
</section>
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Configuration
|
|
47
|
+
|
|
48
|
+
In the [APIToGo Configuration](../configuration/overview.md) you will need to do the following:
|
|
49
|
+
|
|
50
|
+
### Change Your Config Extension
|
|
51
|
+
|
|
52
|
+
In order to embed `jsx`/`tsx` components into your APIToGo config, you will need to change your file
|
|
53
|
+
extension from `ts` to `tsx` (or `js` to `jsx` if not using TypeScript).
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
apitogo.config.ts -> apitogo.config.tsx
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Import Your Module
|
|
60
|
+
|
|
61
|
+
Import the `<MyCustomPage />` component that you created.
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
import { MyCustomPage } from "./src/MyCustomPage";
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Add a navigation entry
|
|
68
|
+
|
|
69
|
+
Add a `custom-page` item to the `navigation` configuration. Each page you want to add to the site
|
|
70
|
+
must be its own object.
|
|
71
|
+
|
|
72
|
+
The `path` key can be set to whatever you like. This will appear as part of the URL in the address
|
|
73
|
+
bar of the browser.
|
|
74
|
+
|
|
75
|
+
The `element` key references the name of the custom page component that you want to load.
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
{
|
|
79
|
+
// ...
|
|
80
|
+
navigation: [
|
|
81
|
+
{
|
|
82
|
+
type: "custom-page",
|
|
83
|
+
path: "/a-custom-page",
|
|
84
|
+
element: <MyCustomPage />,
|
|
85
|
+
},
|
|
86
|
+
]
|
|
87
|
+
// ...
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
This configuration will allow APIToGo to load the contents of the `<MyCustomPage />` component when
|
|
92
|
+
a user clicks on a link that points to `/a-custom-page`.
|
|
93
|
+
|
|
94
|
+
## Troubleshooting
|
|
95
|
+
|
|
96
|
+
### Updating Your `tsconfig.json`
|
|
97
|
+
|
|
98
|
+
Your `include` property in `tsconfig.json` should automatically be updated to reflect the new custom
|
|
99
|
+
pages, but in case it isn't, it should look like this:
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
...
|
|
104
|
+
"include": ["src", "apitogo.config.tsx", "src/MyCustomPage.tsx"]
|
|
105
|
+
}
|
|
106
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Environment Variables
|
|
3
|
+
sidebar_icon: table
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
APIToGo is built on top of Vite and uses [their approach](https://vite.dev/guide/env-and-mode) for
|
|
7
|
+
managing environment variables.
|
|
8
|
+
|
|
9
|
+
APIToGo exposes environment variables under the `import.meta.env` object as strings automatically.
|
|
10
|
+
|
|
11
|
+
To prevent accidentally leaking environment variables to the client, only variables prefixed with
|
|
12
|
+
`APITOGO_PUBLIC_` are exposed to your APIToGo-processed code.
|
|
13
|
+
|
|
14
|
+
:::warning{title="Security Notice"}
|
|
15
|
+
|
|
16
|
+
Environment variables prefixed with `APITOGO_PUBLIC_` will be exposed to the client-side code and
|
|
17
|
+
visible in the browser. Never use this prefix for sensitive information like API keys, passwords, or
|
|
18
|
+
other secrets.
|
|
19
|
+
|
|
20
|
+
:::
|
|
21
|
+
|
|
22
|
+
## Local Env Files
|
|
23
|
+
|
|
24
|
+
When developing locally, you can create a `.env` file in the root of your project and add
|
|
25
|
+
environment-specific variables. See the
|
|
26
|
+
[Vite documentation](https://vite.dev/guide/env-and-mode.html#env-files) for more information on
|
|
27
|
+
supported files.
|
|
28
|
+
|
|
29
|
+
Here is an example of a `.env.local` file:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
APITOGO_PUBLIC_PAGE_TITLE=My Page Title
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
You can access this variable in your application like this:
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
const title = import.meta.env.APITOGO_PUBLIC_PAGE_TITLE;
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Configuration Files
|
|
42
|
+
|
|
43
|
+
Environment variables can also be used in your configuration files. When referencing environment
|
|
44
|
+
variables in your configuration files, you can use `process.env` directly.
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
import type { ApitogoConfig } from "@lukoweb/apitogo";
|
|
48
|
+
|
|
49
|
+
const config: ApitogoConfig = {
|
|
50
|
+
authentication: {
|
|
51
|
+
type: "auth0",
|
|
52
|
+
clientId: process.env.APITOGO_PUBLIC_AUTH_CLIENT_ID,
|
|
53
|
+
domain: process.env.APITOGO_PUBLIC_AUTH_DOMAIN,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## React Components
|
|
59
|
+
|
|
60
|
+
If you need to access environment variables inside a custom react component, you can access them via
|
|
61
|
+
`import.meta.env`. Public environment variables are inlined during the build process.
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
import React from "react";
|
|
65
|
+
|
|
66
|
+
export const MyComponent = () => {
|
|
67
|
+
return <h1>{import.meta.env.APITOGO_PUBLIC_PAGE_TITLE}</h1>;
|
|
68
|
+
};
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## IntelliSense for TypeScript
|
|
72
|
+
|
|
73
|
+
By default, APIToGo provides type definitions for `import.meta.env` in `apitogo/client.d.ts`. While
|
|
74
|
+
you can define more custom env variables in `.env.[mode]` files, you may want to get TypeScript
|
|
75
|
+
IntelliSense for user-defined env variables that are prefixed with `APITOGO_PUBLIC_`.
|
|
76
|
+
|
|
77
|
+
To achieve this, you can create an `apitogo-env.d.ts` file in the src directory, then augment
|
|
78
|
+
`ImportMetaEnv` like this:
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
/// <reference types="@lukoweb/apitogo/client" />
|
|
82
|
+
|
|
83
|
+
interface ImportMetaEnv {
|
|
84
|
+
readonly APITOGO_PUBLIC_APP_TITLE: string;
|
|
85
|
+
// more env variables...
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
interface ImportMeta {
|
|
89
|
+
readonly env: ImportMetaEnv;
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
:::warning{title="Imports will break type augmentation"}
|
|
94
|
+
|
|
95
|
+
If the `ImportMetaEnv` augmentation does not work, make sure you do not have any import statements
|
|
96
|
+
in `vite-env.d.ts`. A helpful explanation can be found on
|
|
97
|
+
[this StackOverflow reply](https://stackoverflow.com/a/51114250).
|
|
98
|
+
|
|
99
|
+
:::
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Managing API Keys and Identities
|
|
3
|
+
sidebar_label: API Keys and Identities
|
|
4
|
+
sidebar_icon: key-square
|
|
5
|
+
zuplo: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Managing API Keys in UI
|
|
9
|
+
|
|
10
|
+
APIToGo comes with a Plugin to manage API keys in the UI. This plugin is build around the concept of
|
|
11
|
+
API consumers, where each consumer can have multiple API keys. It includes functionality for
|
|
12
|
+
creating, viewing, updating, and deleting API keys, as well as managing consumer information.
|
|
13
|
+
|
|
14
|
+
:::note
|
|
15
|
+
|
|
16
|
+
The most convenient way to use this plugin is to use it in Zuplo. However the plugin can be used
|
|
17
|
+
with any other API key management system - you can use a 3rd party API key management system or
|
|
18
|
+
build your own and still use the APIToGo UI.
|
|
19
|
+
|
|
20
|
+
:::
|
|
21
|
+
|
|
22
|
+
## Using in Zuplo
|
|
23
|
+
|
|
24
|
+
To get started with a basic setup, simply enable `apiKeys` in your config. (In the default template,
|
|
25
|
+
this is already enabled.)
|
|
26
|
+
|
|
27
|
+
```typescript title=apitogo.config.ts
|
|
28
|
+
{
|
|
29
|
+
// ...
|
|
30
|
+
apiKeys: {
|
|
31
|
+
enabled: true,
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This will make the API Key UI available at `/settings/api-keys` in your APIToGo.
|
|
37
|
+
|
|
38
|
+
### Creating API Keys
|
|
39
|
+
|
|
40
|
+
By default, there is no **Create API Key** Button. To get the button working you have to implement
|
|
41
|
+
the `createKey` callback in your config. This callback is called when the user clicks the **Create
|
|
42
|
+
API Key** button. The callback is passed the `apiKey` object that the user has entered, the
|
|
43
|
+
`context` object, and the `auth` object. The `apiKey` object is the object that the user has entered
|
|
44
|
+
in the Create API Key form.
|
|
45
|
+
|
|
46
|
+
In this callback you can implement the logic to create a new API key. You can use the `auth` object
|
|
47
|
+
to access the current users auth state. Most likley you want to call your API to create a new API
|
|
48
|
+
key.
|
|
49
|
+
|
|
50
|
+
```typescript title=apitogo.config.ts
|
|
51
|
+
const config = {
|
|
52
|
+
// ...
|
|
53
|
+
apiKeys: {
|
|
54
|
+
enabled: true,
|
|
55
|
+
createKey: async ({ apiKey, context, auth }) => {
|
|
56
|
+
const createApiKeyRequest = new Request("https://api.example.com/v1/developer/api-key", {
|
|
57
|
+
method: "POST",
|
|
58
|
+
body: JSON.stringify({
|
|
59
|
+
apiKey,
|
|
60
|
+
}),
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// Sign the request using current users Authentication
|
|
64
|
+
const signedRequest = await context.signRequest(createApiKeyRequest);
|
|
65
|
+
|
|
66
|
+
const response = await fetch(signedRequest);
|
|
67
|
+
|
|
68
|
+
if (!response.ok) {
|
|
69
|
+
throw new Error("Could not create API Key");
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return true;
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Using with any API Key Management System
|
|
79
|
+
|
|
80
|
+
If you are not using Zuplo's API key management system, you can implement the `ApiKeyService`
|
|
81
|
+
interface to connect to any API key management system.
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
interface ApiKeyService {
|
|
85
|
+
getConsumers: (context: ApitogoContext) => Promise<ApiConsumer[]>;
|
|
86
|
+
rollKey?: (consumerId: string, context: ApitogoContext) => Promise<void>;
|
|
87
|
+
deleteKey?: (consumerId: string, keyId: string, context: ApitogoContext) => Promise<void>;
|
|
88
|
+
updateConsumer?: (
|
|
89
|
+
consumer: { id: string; label?: string },
|
|
90
|
+
context: ApitogoContext,
|
|
91
|
+
) => Promise<void>;
|
|
92
|
+
getUsage?: (apiKeys: string[], context: ApitogoContext) => Promise<void>;
|
|
93
|
+
createKey?: ({
|
|
94
|
+
apiKey,
|
|
95
|
+
context,
|
|
96
|
+
auth,
|
|
97
|
+
}: {
|
|
98
|
+
apiKey: { description: string; expiresOn?: string };
|
|
99
|
+
context: ApitogoContext;
|
|
100
|
+
auth: UseAuthReturn;
|
|
101
|
+
}) => Promise<void>;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
interface ApiConsumer {
|
|
105
|
+
id: string;
|
|
106
|
+
label: string;
|
|
107
|
+
keys: ApiKey[];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
interface ApiKey {
|
|
111
|
+
id: string;
|
|
112
|
+
key: string;
|
|
113
|
+
description?: string;
|
|
114
|
+
createdOn: string;
|
|
115
|
+
expiresOn?: string;
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Implementing API Key Management
|
|
120
|
+
|
|
121
|
+
Here's a step-by-step guide to implementing API key management:
|
|
122
|
+
|
|
123
|
+
1. First, create a service that implements the `ApiKeyService` interface:
|
|
124
|
+
|
|
125
|
+
```typescript title=apitogo.config.ts
|
|
126
|
+
const config = {
|
|
127
|
+
// ...
|
|
128
|
+
apiKeys: {
|
|
129
|
+
enabled: true,
|
|
130
|
+
|
|
131
|
+
// Retrieve all API consumers and their keys
|
|
132
|
+
getConsumers: async (context) => {
|
|
133
|
+
// Implement fetching consumers from your storage
|
|
134
|
+
// Each consumer can have multiple API keys
|
|
135
|
+
return consumers;
|
|
136
|
+
},
|
|
137
|
+
|
|
138
|
+
// Create a new API key for a consumer
|
|
139
|
+
createKey: async ({ apiKey, context, auth }) => {
|
|
140
|
+
const newKey: ApiKey = {
|
|
141
|
+
id: crypto.randomUUID(),
|
|
142
|
+
key: `key-${crypto.randomUUID()}`,
|
|
143
|
+
description: apiKey.description,
|
|
144
|
+
createdOn: new Date().toISOString(),
|
|
145
|
+
expiresOn: apiKey.expiresOn,
|
|
146
|
+
};
|
|
147
|
+
// Save the new key to your storage
|
|
148
|
+
// Associate it with the current user/consumer
|
|
149
|
+
},
|
|
150
|
+
|
|
151
|
+
// Delete an API key
|
|
152
|
+
deleteKey: async (consumerId, keyId, context) => {
|
|
153
|
+
// Remove the key from the consumer's keys in your storage
|
|
154
|
+
},
|
|
155
|
+
|
|
156
|
+
// Regenerate an API key
|
|
157
|
+
rollKey: async (consumerId, context) => {
|
|
158
|
+
// Update the key value for the consumer while maintaining metadata
|
|
159
|
+
},
|
|
160
|
+
|
|
161
|
+
// Update consumer information
|
|
162
|
+
updateConsumer: async (consumer, context) => {
|
|
163
|
+
// Update the consumer's label or other metadata
|
|
164
|
+
},
|
|
165
|
+
|
|
166
|
+
// Get API usage statistics (optional)
|
|
167
|
+
getUsage: async (apiKeys, context) => {
|
|
168
|
+
// Fetch usage data for the provided API keys
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
```
|