/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Amazon Business API Documentation Paths with Descriptions
* Single source of truth for all documentation categories
*/
export const DOCUMENTATION_PATHS = {
'API Swagger Models': 'API schemas, data structures, request/response formats, field definitions, and models for building applications and generating code',
'OAuth': 'Essential authentication and authorization documentation covering tokens, login processes, credentials, access control, and security implementation. OAuth authentication is a prerequisite for all Amazon Business API implementations.',
'Ordering API': 'Order placement, creation, purchasing, and buying operations',
'Product Search API': 'Product searching, catalog browsing, item discovery, and product details',
'Reconciliation API': 'Purchase data reconciliation, transaction matching, and financial records management',
'Reporting API': 'Order history, tracking information, payment details, and analytics reports',
'User Management API': 'User account management and user operations',
'Document API': 'Invoice generation, receipts, and document reports',
'Application Management API': 'Client secrets, application management, and secret rotation',
'Guides and FAQs': 'Step-by-step tutorials, implementation guides, frequently asked questions, best practices, getting started resources, and practical examples'
} as const;
export const DOCUMENTATION_PATH_NAMES = Object.keys(DOCUMENTATION_PATHS) as Array<keyof typeof DOCUMENTATION_PATHS>;
export type DocumentationPath = keyof typeof DOCUMENTATION_PATHS;
/**
* Generate formatted documentation paths for tool descriptions
*/
export function generateDocumentationPathsDescription(): string {
return Object.entries(DOCUMENTATION_PATHS)
.map(([path, description]) => `├── ${path}/ - ${description}`)
.join('\n');
}