@simpleapps-com/augur-api 0.2.3 → 0.2.5

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.
Files changed (196) hide show
  1. package/README.md +100 -0
  2. package/dist/cjs/client.d.ts +181 -0
  3. package/dist/cjs/client.d.ts.map +1 -1
  4. package/dist/cjs/client.js +449 -0
  5. package/dist/cjs/client.js.map +1 -1
  6. package/dist/cjs/core/base-client.d.ts +104 -0
  7. package/dist/cjs/core/base-client.d.ts.map +1 -1
  8. package/dist/cjs/core/base-client.js +201 -0
  9. package/dist/cjs/core/base-client.js.map +1 -1
  10. package/dist/cjs/index.d.ts +2 -1
  11. package/dist/cjs/index.d.ts.map +1 -1
  12. package/dist/cjs/index.js +1 -1
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/services/agr-site/client.d.ts +522 -2
  15. package/dist/cjs/services/agr-site/client.d.ts.map +1 -1
  16. package/dist/cjs/services/agr-site/client.js +565 -12
  17. package/dist/cjs/services/agr-site/client.js.map +1 -1
  18. package/dist/cjs/services/items/client.d.ts +2 -2
  19. package/dist/cjs/services/items/schemas/categories.d.ts +20 -20
  20. package/dist/cjs/services/joomla/client.d.ts +644 -99
  21. package/dist/cjs/services/joomla/client.d.ts.map +1 -1
  22. package/dist/cjs/services/joomla/client.js +467 -98
  23. package/dist/cjs/services/joomla/client.js.map +1 -1
  24. package/dist/cjs/services/nexus/client.d.ts +1096 -22
  25. package/dist/cjs/services/nexus/client.d.ts.map +1 -1
  26. package/dist/cjs/services/nexus/client.js +754 -22
  27. package/dist/cjs/services/nexus/client.js.map +1 -1
  28. package/dist/cjs/services/orders/client.d.ts +3 -3
  29. package/dist/cjs/services/orders/schemas/orders.d.ts +12 -12
  30. package/dist/cjs/services/orders/schemas/purchase-orders.d.ts +22 -22
  31. package/dist/cjs/services/p21-core/client.d.ts +627 -0
  32. package/dist/cjs/services/p21-core/client.d.ts.map +1 -0
  33. package/dist/cjs/services/p21-core/client.js +704 -0
  34. package/dist/cjs/services/p21-core/client.js.map +1 -0
  35. package/dist/cjs/services/p21-core/index.d.ts +3 -0
  36. package/dist/cjs/services/p21-core/index.d.ts.map +1 -0
  37. package/dist/cjs/services/p21-core/index.js +21 -0
  38. package/dist/cjs/services/p21-core/index.js.map +1 -0
  39. package/dist/cjs/services/p21-core/schemas/address.d.ts +88 -0
  40. package/dist/cjs/services/p21-core/schemas/address.d.ts.map +1 -0
  41. package/dist/cjs/services/p21-core/schemas/address.js +45 -0
  42. package/dist/cjs/services/p21-core/schemas/address.js.map +1 -0
  43. package/dist/cjs/services/p21-core/schemas/cash-drawer.d.ts +96 -0
  44. package/dist/cjs/services/p21-core/schemas/cash-drawer.d.ts.map +1 -0
  45. package/dist/cjs/services/p21-core/schemas/cash-drawer.js +39 -0
  46. package/dist/cjs/services/p21-core/schemas/cash-drawer.js.map +1 -0
  47. package/dist/cjs/services/p21-core/schemas/codes.d.ts +54 -0
  48. package/dist/cjs/services/p21-core/schemas/codes.d.ts.map +1 -0
  49. package/dist/cjs/services/p21-core/schemas/codes.js +25 -0
  50. package/dist/cjs/services/p21-core/schemas/codes.js.map +1 -0
  51. package/dist/cjs/services/p21-core/schemas/company.d.ts +80 -0
  52. package/dist/cjs/services/p21-core/schemas/company.d.ts.map +1 -0
  53. package/dist/cjs/services/p21-core/schemas/company.js +35 -0
  54. package/dist/cjs/services/p21-core/schemas/company.js.map +1 -0
  55. package/dist/cjs/services/p21-core/schemas/health.d.ts +46 -0
  56. package/dist/cjs/services/p21-core/schemas/health.d.ts.map +1 -0
  57. package/dist/cjs/services/p21-core/schemas/health.js +7 -0
  58. package/dist/cjs/services/p21-core/schemas/health.js.map +1 -0
  59. package/dist/cjs/services/p21-core/schemas/index.d.ts +8 -0
  60. package/dist/cjs/services/p21-core/schemas/index.d.ts.map +1 -0
  61. package/dist/cjs/services/p21-core/schemas/index.js +25 -0
  62. package/dist/cjs/services/p21-core/schemas/index.js.map +1 -0
  63. package/dist/cjs/services/p21-core/schemas/location.d.ts +84 -0
  64. package/dist/cjs/services/p21-core/schemas/location.d.ts.map +1 -0
  65. package/dist/cjs/services/p21-core/schemas/location.js +35 -0
  66. package/dist/cjs/services/p21-core/schemas/location.js.map +1 -0
  67. package/dist/cjs/services/p21-core/schemas/payment-types.d.ts +39 -0
  68. package/dist/cjs/services/p21-core/schemas/payment-types.d.ts.map +1 -0
  69. package/dist/cjs/services/p21-core/schemas/payment-types.js +26 -0
  70. package/dist/cjs/services/p21-core/schemas/payment-types.js.map +1 -0
  71. package/dist/cjs/services/p21-core/schemas.d.ts +2 -0
  72. package/dist/cjs/services/p21-core/schemas.d.ts.map +1 -0
  73. package/dist/cjs/services/p21-core/schemas.js +19 -0
  74. package/dist/cjs/services/p21-core/schemas.js.map +1 -0
  75. package/dist/cjs/services/vmi/schemas/inventory.d.ts +6 -6
  76. package/dist/cjs/services/vmi/schemas/products.d.ts +6 -6
  77. package/dist/cjs/services/vmi/schemas/restock.d.ts +12 -12
  78. package/dist/esm/client.d.ts +181 -0
  79. package/dist/esm/client.d.ts.map +1 -1
  80. package/dist/esm/client.js +449 -0
  81. package/dist/esm/client.js.map +1 -1
  82. package/dist/esm/core/base-client.d.ts +104 -0
  83. package/dist/esm/core/base-client.d.ts.map +1 -1
  84. package/dist/esm/core/base-client.js +201 -0
  85. package/dist/esm/core/base-client.js.map +1 -1
  86. package/dist/esm/index.d.ts +2 -1
  87. package/dist/esm/index.d.ts.map +1 -1
  88. package/dist/esm/index.js +1 -1
  89. package/dist/esm/index.js.map +1 -1
  90. package/dist/esm/services/agr-site/client.d.ts +522 -2
  91. package/dist/esm/services/agr-site/client.d.ts.map +1 -1
  92. package/dist/esm/services/agr-site/client.js +565 -12
  93. package/dist/esm/services/agr-site/client.js.map +1 -1
  94. package/dist/esm/services/items/client.d.ts +2 -2
  95. package/dist/esm/services/items/schemas/categories.d.ts +20 -20
  96. package/dist/esm/services/joomla/client.d.ts +644 -99
  97. package/dist/esm/services/joomla/client.d.ts.map +1 -1
  98. package/dist/esm/services/joomla/client.js +467 -98
  99. package/dist/esm/services/joomla/client.js.map +1 -1
  100. package/dist/esm/services/nexus/client.d.ts +1096 -22
  101. package/dist/esm/services/nexus/client.d.ts.map +1 -1
  102. package/dist/esm/services/nexus/client.js +754 -22
  103. package/dist/esm/services/nexus/client.js.map +1 -1
  104. package/dist/esm/services/orders/client.d.ts +3 -3
  105. package/dist/esm/services/orders/schemas/orders.d.ts +12 -12
  106. package/dist/esm/services/orders/schemas/purchase-orders.d.ts +22 -22
  107. package/dist/esm/services/p21-core/client.d.ts +627 -0
  108. package/dist/esm/services/p21-core/client.d.ts.map +1 -0
  109. package/dist/esm/services/p21-core/client.js +700 -0
  110. package/dist/esm/services/p21-core/client.js.map +1 -0
  111. package/dist/esm/services/p21-core/index.d.ts +3 -0
  112. package/dist/esm/services/p21-core/index.d.ts.map +1 -0
  113. package/dist/esm/services/p21-core/index.js +3 -0
  114. package/dist/esm/services/p21-core/index.js.map +1 -0
  115. package/dist/esm/services/p21-core/schemas/address.d.ts +88 -0
  116. package/dist/esm/services/p21-core/schemas/address.d.ts.map +1 -0
  117. package/dist/esm/services/p21-core/schemas/address.js +42 -0
  118. package/dist/esm/services/p21-core/schemas/address.js.map +1 -0
  119. package/dist/esm/services/p21-core/schemas/cash-drawer.d.ts +96 -0
  120. package/dist/esm/services/p21-core/schemas/cash-drawer.d.ts.map +1 -0
  121. package/dist/esm/services/p21-core/schemas/cash-drawer.js +36 -0
  122. package/dist/esm/services/p21-core/schemas/cash-drawer.js.map +1 -0
  123. package/dist/esm/services/p21-core/schemas/codes.d.ts +54 -0
  124. package/dist/esm/services/p21-core/schemas/codes.d.ts.map +1 -0
  125. package/dist/esm/services/p21-core/schemas/codes.js +22 -0
  126. package/dist/esm/services/p21-core/schemas/codes.js.map +1 -0
  127. package/dist/esm/services/p21-core/schemas/company.d.ts +80 -0
  128. package/dist/esm/services/p21-core/schemas/company.d.ts.map +1 -0
  129. package/dist/esm/services/p21-core/schemas/company.js +32 -0
  130. package/dist/esm/services/p21-core/schemas/company.js.map +1 -0
  131. package/dist/esm/services/p21-core/schemas/health.d.ts +46 -0
  132. package/dist/esm/services/p21-core/schemas/health.d.ts.map +1 -0
  133. package/dist/esm/services/p21-core/schemas/health.js +4 -0
  134. package/dist/esm/services/p21-core/schemas/health.js.map +1 -0
  135. package/dist/esm/services/p21-core/schemas/index.d.ts +8 -0
  136. package/dist/esm/services/p21-core/schemas/index.d.ts.map +1 -0
  137. package/dist/esm/services/p21-core/schemas/index.js +9 -0
  138. package/dist/esm/services/p21-core/schemas/index.js.map +1 -0
  139. package/dist/esm/services/p21-core/schemas/location.d.ts +84 -0
  140. package/dist/esm/services/p21-core/schemas/location.d.ts.map +1 -0
  141. package/dist/esm/services/p21-core/schemas/location.js +32 -0
  142. package/dist/esm/services/p21-core/schemas/location.js.map +1 -0
  143. package/dist/esm/services/p21-core/schemas/payment-types.d.ts +39 -0
  144. package/dist/esm/services/p21-core/schemas/payment-types.d.ts.map +1 -0
  145. package/dist/esm/services/p21-core/schemas/payment-types.js +23 -0
  146. package/dist/esm/services/p21-core/schemas/payment-types.js.map +1 -0
  147. package/dist/esm/services/p21-core/schemas.d.ts +2 -0
  148. package/dist/esm/services/p21-core/schemas.d.ts.map +1 -0
  149. package/dist/esm/services/p21-core/schemas.js +3 -0
  150. package/dist/esm/services/p21-core/schemas.js.map +1 -0
  151. package/dist/esm/services/vmi/schemas/inventory.d.ts +6 -6
  152. package/dist/esm/services/vmi/schemas/products.d.ts +6 -6
  153. package/dist/esm/services/vmi/schemas/restock.d.ts +12 -12
  154. package/dist/types/client.d.ts +181 -0
  155. package/dist/types/client.d.ts.map +1 -1
  156. package/dist/types/core/base-client.d.ts +104 -0
  157. package/dist/types/core/base-client.d.ts.map +1 -1
  158. package/dist/types/index.d.ts +2 -1
  159. package/dist/types/index.d.ts.map +1 -1
  160. package/dist/types/services/agr-site/client.d.ts +522 -2
  161. package/dist/types/services/agr-site/client.d.ts.map +1 -1
  162. package/dist/types/services/items/client.d.ts +2 -2
  163. package/dist/types/services/items/schemas/categories.d.ts +20 -20
  164. package/dist/types/services/joomla/client.d.ts +644 -99
  165. package/dist/types/services/joomla/client.d.ts.map +1 -1
  166. package/dist/types/services/nexus/client.d.ts +1096 -22
  167. package/dist/types/services/nexus/client.d.ts.map +1 -1
  168. package/dist/types/services/orders/client.d.ts +3 -3
  169. package/dist/types/services/orders/schemas/orders.d.ts +12 -12
  170. package/dist/types/services/orders/schemas/purchase-orders.d.ts +22 -22
  171. package/dist/types/services/p21-core/client.d.ts +627 -0
  172. package/dist/types/services/p21-core/client.d.ts.map +1 -0
  173. package/dist/types/services/p21-core/index.d.ts +3 -0
  174. package/dist/types/services/p21-core/index.d.ts.map +1 -0
  175. package/dist/types/services/p21-core/schemas/address.d.ts +88 -0
  176. package/dist/types/services/p21-core/schemas/address.d.ts.map +1 -0
  177. package/dist/types/services/p21-core/schemas/cash-drawer.d.ts +96 -0
  178. package/dist/types/services/p21-core/schemas/cash-drawer.d.ts.map +1 -0
  179. package/dist/types/services/p21-core/schemas/codes.d.ts +54 -0
  180. package/dist/types/services/p21-core/schemas/codes.d.ts.map +1 -0
  181. package/dist/types/services/p21-core/schemas/company.d.ts +80 -0
  182. package/dist/types/services/p21-core/schemas/company.d.ts.map +1 -0
  183. package/dist/types/services/p21-core/schemas/health.d.ts +46 -0
  184. package/dist/types/services/p21-core/schemas/health.d.ts.map +1 -0
  185. package/dist/types/services/p21-core/schemas/index.d.ts +8 -0
  186. package/dist/types/services/p21-core/schemas/index.d.ts.map +1 -0
  187. package/dist/types/services/p21-core/schemas/location.d.ts +84 -0
  188. package/dist/types/services/p21-core/schemas/location.d.ts.map +1 -0
  189. package/dist/types/services/p21-core/schemas/payment-types.d.ts +39 -0
  190. package/dist/types/services/p21-core/schemas/payment-types.d.ts.map +1 -0
  191. package/dist/types/services/p21-core/schemas.d.ts +2 -0
  192. package/dist/types/services/p21-core/schemas.d.ts.map +1 -0
  193. package/dist/types/services/vmi/schemas/inventory.d.ts +6 -6
  194. package/dist/types/services/vmi/schemas/products.d.ts +6 -6
  195. package/dist/types/services/vmi/schemas/restock.d.ts +12 -12
  196. package/package.json +1 -1
@@ -1,6 +1,14 @@
1
1
  import { BaseServiceClient } from '../../core/base-client';
2
2
  import type { HTTPClient } from '../../core/client';
3
- import { ContentGetParams, ContentResponse, ContentDocumentResponse, UserGroupListParams, UserGroupListResponse, UserGroupMembershipParams, UserGroupMembershipResponse, UserGroupDetailResponse, VerifyPasswordRequest, VerifyPasswordResponse, TrinityDocParams, TrinityDocResponse, UserGroupMappingRequest, UserGroupMappingResponse, UserDocumentResponse } from './schemas';
3
+ import { ContentListParamsSchema, ContentGetParams, ContentResponse, ContentDocumentResponse, UserListParamsSchema, UserGroupListParams, UserGroupListResponse, UserGroupMembershipParams, UserGroupMembershipResponse, UserGroupDetailResponse, TagListParamsSchema, VerifyPasswordRequest, VerifyPasswordResponse, TrinityDocParams, TrinityDocResponse, CreateUserRequestSchema, UpdateUserRequestSchema, UserGroupMappingRequest, UserGroupMappingResponse, UserDocumentResponse } from './schemas';
4
+ import type { z } from 'zod';
5
+ import { BaseGetParamsSchema } from '../../core/schemas';
6
+ type ContentListParams = z.infer<typeof ContentListParamsSchema>;
7
+ type UserListParams = z.infer<typeof UserListParamsSchema>;
8
+ type TagListParams = z.infer<typeof TagListParamsSchema>;
9
+ type CreateUserRequest = z.infer<typeof CreateUserRequestSchema>;
10
+ type UpdateUserRequest = z.infer<typeof UpdateUserRequestSchema>;
11
+ type BaseGetParams = z.infer<typeof BaseGetParamsSchema>;
4
12
  /**
5
13
  * Joomla API Client
6
14
  * @description Client for interacting with Joomla microservice API endpoints
@@ -33,29 +41,50 @@ export declare class JoomlaClient extends BaseServiceClient {
33
41
  content: {
34
42
  /**
35
43
  * Retrieve a paginated list of content items
36
- * @description Returns all content with optional filtering, pagination, and edge caching
44
+ * @description Returns articles, documents, and content with filtering, pagination, and edge caching capabilities
45
+ * @fullPath api.joomla.content.list
46
+ * @service joomla
47
+ * @domain content-management
48
+ * @dataMethod listData() - returns only the content array without metadata
49
+ * @pagination Uses count, total, totalResults for pagination metadata. Supports limit/offset parameters.
50
+ * @caching Supports edgeCache parameter (1-8 hours) for improved performance on content that changes infrequently
51
+ * @discoverable true
52
+ * @searchTerms ["content", "articles", "list content", "cms content", "documents", "blog posts"]
53
+ * @relatedEndpoints ["api.joomla.content.get", "api.joomla.content.getDoc", "api.joomla.tags.list"]
54
+ * @commonPatterns ["list articles", "get content", "blog content", "cms articles", "filter content"]
37
55
  * @param params Optional filtering, pagination, and caching parameters
38
- * @param params.edgeCache Optional cache duration in hours (1, 2, 3, 4, 5, 8)
39
- * @returns Array of content items
56
+ * @param params.categoryIdList Comma-separated list of category IDs to filter content (e.g., '1,2,3')
57
+ * @param params.q Search query for filtering content by title/text
58
+ * @param params.limit Maximum number of content items to return (default: 20, max: 100)
59
+ * @param params.offset Number of items to skip for pagination (default: 0)
60
+ * @param params.edgeCache Cache duration in hours (1, 2, 3, 4, 5, 8) - recommended for content
61
+ * @returns BaseResponse<ContentItem[]> with pagination metadata and content array
40
62
  * @throws ValidationError When parameters are invalid or response is malformed
41
63
  * @example
42
64
  * ```typescript
43
- * // Get all content
44
- * const content = await client.content.list();
65
+ * // Get all content with full response metadata
66
+ * const response = await api.joomla.content.list();
67
+ * console.log(`Found ${response.total} articles, showing ${response.data.length}`);
45
68
  *
46
- * // Get filtered content
47
- * const filtered = await client.content.list({
69
+ * // Filter content by categories with search
70
+ * const filtered = await api.joomla.content.list({
48
71
  * categoryIdList: '1,2,3',
49
- * limit: 20,
50
- * q: 'search term'
72
+ * q: 'product review',
73
+ * limit: 10
51
74
  * });
52
75
  *
53
- * // Get content with 4-hour edge caching
54
- * const cached = await client.content.list({
55
- * edgeCache: 4, // Cache for 4 hours
56
- * categoryIdList: '1,2,3',
76
+ * // Get just content data without metadata
77
+ * const articles = await api.joomla.content.listData({
78
+ * categoryIdList: '5',
57
79
  * limit: 20
58
80
  * });
81
+ * articles.forEach(article => console.log(article.title, article.alias));
82
+ *
83
+ * // Use aggressive caching for content (recommended)
84
+ * const cachedContent = await api.joomla.content.list({
85
+ * edgeCache: 4, // Cache for 4 hours - content changes infrequently
86
+ * categoryIdList: '1,2,3'
87
+ * });
59
88
  * ```
60
89
  */
61
90
  list: (params?: {
@@ -96,23 +125,43 @@ export declare class JoomlaClient extends BaseServiceClient {
96
125
  totalResults: number;
97
126
  }>;
98
127
  /**
99
- * Get content details by ID
100
- * @description Returns a single content item by its ID or alias with optional edge caching
101
- * @param contentId Content ID (number) or alias lookup (use 0 with params.alias)
128
+ * Get content details by ID or alias
129
+ * @description Returns a single content item by its ID or alias with optional edge caching and full content metadata
130
+ * @fullPath api.joomla.content.get
131
+ * @service joomla
132
+ * @domain content-management
133
+ * @dataMethod getData(contentId, params) - returns only the content object without metadata
134
+ * @caching Supports edgeCache parameter (1-8 hours) for improved performance
135
+ * @aliasLookup Supports alias-based lookup by using contentId=0 with params.alias
136
+ * @discoverable true
137
+ * @searchTerms ["get content", "content details", "article details", "content by id", "single content"]
138
+ * @relatedEndpoints ["api.joomla.content.list", "api.joomla.content.getDoc", "api.joomla.tags.list"]
139
+ * @commonPatterns ["get content by id", "fetch article", "content details lookup", "get by alias"]
140
+ * @param contentId Content ID (number) or use 0 for alias lookup
102
141
  * @param params Optional parameters for alias lookup and caching
103
- * @param params.edgeCache Optional cache duration in hours (1, 2, 3, 4, 5, 8)
104
- * @returns Content item details
142
+ * @param params.alias Content alias for lookup when contentId is 0
143
+ * @param params.catid Category ID for alias lookup specificity
144
+ * @param params.edgeCache Cache duration in hours (1, 2, 3, 4, 5, 8) for improved performance
145
+ * @returns BaseResponse<ContentItem> with complete content details and metadata
105
146
  * @throws ValidationError When parameters are invalid or response is malformed
106
147
  * @example
107
148
  * ```typescript
108
- * // Get by ID
109
- * const content = await client.content.get(123);
149
+ * // Get content by ID with full response metadata
150
+ * const response = await api.joomla.content.get(123);
151
+ * console.log('Article:', response.data.title, 'Status:', response.status);
110
152
  *
111
- * // Get by alias
112
- * const content = await client.content.get(0, { alias: 'my-article', catid: 45 });
153
+ * // Get content by alias
154
+ * const byAlias = await api.joomla.content.get(0, {
155
+ * alias: 'my-article',
156
+ * catid: 45
157
+ * });
158
+ *
159
+ * // Get just content data without metadata
160
+ * const article = await api.joomla.content.getData(123);
161
+ * console.log(article.title, article.introtext, article.fulltext);
113
162
  *
114
- * // Get with 8-hour edge caching
115
- * const cachedContent = await client.content.get(123, { edgeCache: 8 });
163
+ * // Use edge caching for frequently accessed content
164
+ * const cachedContent = await api.joomla.content.get(123, { edgeCache: 8 });
116
165
  * ```
117
166
  */
118
167
  get: (contentId: number | string, params?: ContentGetParams) => Promise<ContentResponse>;
@@ -159,6 +208,90 @@ export declare class JoomlaClient extends BaseServiceClient {
159
208
  total: number;
160
209
  totalResults: number;
161
210
  }>;
211
+ /**
212
+ * Retrieve a paginated list of content items (data only)
213
+ * @description Returns only the data array from content items response
214
+ * @param params Optional filtering, pagination, and caching parameters
215
+ * @returns Array of content items (data only)
216
+ * @throws ValidationError When parameters are invalid or response is malformed
217
+ */
218
+ listData: (params?: ContentListParams) => Promise<{
219
+ id: number;
220
+ title: string;
221
+ alias: string;
222
+ catid: number;
223
+ created: string;
224
+ modified: string;
225
+ state?: number | undefined;
226
+ introtext?: string | undefined;
227
+ fulltext?: string | undefined;
228
+ ordering?: number | undefined;
229
+ images?: {
230
+ image_intro?: string | undefined;
231
+ image_fulltext?: string | undefined;
232
+ float_intro?: string | undefined;
233
+ float_fulltext?: string | undefined;
234
+ } | undefined;
235
+ hits?: number | undefined;
236
+ metadata?: unknown;
237
+ }[]>;
238
+ /**
239
+ * Get content details by ID (data only)
240
+ * @description Returns only the data from content item details response
241
+ * @param contentId Content ID (number) or alias lookup (use 0 with params.alias)
242
+ * @param params Optional parameters for alias lookup and caching
243
+ * @returns Content item details (data only)
244
+ * @throws ValidationError When parameters are invalid or response is malformed
245
+ */
246
+ getData: (contentId: number | string, params?: ContentGetParams) => Promise<{
247
+ id: number;
248
+ title: string;
249
+ alias: string;
250
+ catid: number;
251
+ created: string;
252
+ modified: string;
253
+ state?: number | undefined;
254
+ introtext?: string | undefined;
255
+ fulltext?: string | undefined;
256
+ ordering?: number | undefined;
257
+ images?: {
258
+ image_intro?: string | undefined;
259
+ image_fulltext?: string | undefined;
260
+ float_intro?: string | undefined;
261
+ float_fulltext?: string | undefined;
262
+ } | undefined;
263
+ hits?: number | undefined;
264
+ metadata?: unknown;
265
+ }>;
266
+ /**
267
+ * Get content documentation (data only)
268
+ * @description Returns only the data from enhanced content document response
269
+ * @param contentId Content ID (number) or alias lookup (use 0 with query params)
270
+ * @returns Enhanced content document (data only)
271
+ * @throws ValidationError When response is malformed
272
+ */
273
+ getDocData: (contentId: number | string) => Promise<{
274
+ id: number;
275
+ title: string;
276
+ alias: string;
277
+ catid: number;
278
+ introtext: string;
279
+ fulltext: string;
280
+ ordering?: number | undefined;
281
+ images?: {
282
+ image_intro?: string | undefined;
283
+ image_fulltext?: string | undefined;
284
+ float_intro?: string | undefined;
285
+ float_fulltext?: string | undefined;
286
+ } | undefined;
287
+ fields?: {
288
+ value: string;
289
+ type: string;
290
+ id: number;
291
+ title: string;
292
+ name: string;
293
+ }[] | undefined;
294
+ }>;
162
295
  };
163
296
  /**
164
297
  * User endpoints
@@ -167,24 +300,46 @@ export declare class JoomlaClient extends BaseServiceClient {
167
300
  users: {
168
301
  /**
169
302
  * Retrieve a paginated list of users
170
- * @description Returns all users with optional filtering, pagination, and edge caching
303
+ * @description Returns all users with optional filtering, pagination, and edge caching for user management operations
304
+ * @fullPath api.joomla.users.list
305
+ * @service joomla
306
+ * @domain user-management
307
+ * @dataMethod listData() - returns only the user array without metadata
308
+ * @pagination Uses count, total, totalResults for pagination metadata. Supports limit/offset parameters.
309
+ * @caching Supports edgeCache parameter (1-8 hours) for improved performance
310
+ * @discoverable true
311
+ * @searchTerms ["users", "list users", "get users", "user management", "accounts", "profiles"]
312
+ * @relatedEndpoints ["api.joomla.userGroups.list", "api.customers.customer.list", "api.joomla.users.get"]
313
+ * @commonPatterns ["list all users", "search users", "paginate users", "filter users"]
171
314
  * @param params Optional filtering, pagination, and caching parameters
172
- * @param params.edgeCache Optional cache duration in hours (1, 2, 3, 4, 5, 8)
173
- * @returns Paginated user list with total count
315
+ * @param params.q Search query for filtering users by username/email
316
+ * @param params.limit Maximum number of users to return (default: 20, max: 100)
317
+ * @param params.offset Number of users to skip for pagination (default: 0)
318
+ * @param params.edgeCache Cache duration in hours (1, 2, 3, 4, 5, 8) for improved performance
319
+ * @returns BaseResponse<User[]> with pagination metadata and user array
174
320
  * @throws ValidationError When parameters are invalid or response is malformed
175
321
  * @example
176
322
  * ```typescript
177
- * // Get all users
178
- * const users = await client.users.list();
179
- * console.log(`Found ${users.total} users, showing ${users.data.length}`);
323
+ * // Get all users with full response metadata
324
+ * const response = await api.joomla.users.list();
325
+ * console.log(`Found ${response.total} users, showing ${response.data.length}`);
326
+ * console.log('Pagination:', { count: response.count, total: response.total });
327
+ *
328
+ * // Search users with filtering
329
+ * const searchResults = await api.joomla.users.list({
330
+ * q: 'admin',
331
+ * limit: 10,
332
+ * offset: 0
333
+ * });
180
334
  *
181
- * // Search users
182
- * const searchResults = await client.users.list({ q: 'admin', limit: 5 });
335
+ * // Get just user data without metadata (using data method)
336
+ * const users = await api.joomla.users.listData({ limit: 20 });
337
+ * users.forEach(user => console.log(user.username, user.email));
183
338
  *
184
- * // Get users with 2-hour edge caching
185
- * const cachedUsers = await client.users.list({
339
+ * // Use edge caching for performance
340
+ * const cachedUsers = await api.joomla.users.list({
186
341
  * edgeCache: 2, // Cache for 2 hours
187
- * limit: 20
342
+ * limit: 50
188
343
  * });
189
344
  * ```
190
345
  */
@@ -225,19 +380,34 @@ export declare class JoomlaClient extends BaseServiceClient {
225
380
  }>;
226
381
  /**
227
382
  * Get user details by ID
228
- * @description Returns detailed information for a specific user with optional edge caching
229
- * @param userId User ID (number or string)
383
+ * @description Returns detailed information for a specific user including profile data and metadata
384
+ * @fullPath api.joomla.users.get
385
+ * @service joomla
386
+ * @domain user-management
387
+ * @dataMethod getData(userId, params) - returns only the user object without metadata
388
+ * @caching Supports edgeCache parameter (1-8 hours) for improved performance
389
+ * @discoverable true
390
+ * @searchTerms ["get user", "user details", "user profile", "user by id", "single user"]
391
+ * @relatedEndpoints ["api.joomla.users.list", "api.joomla.users.getDoc", "api.joomla.users.getTrinityDoc"]
392
+ * @commonPatterns ["get user by id", "fetch user profile", "user details lookup"]
393
+ * @param userId User ID (number or string) - the unique identifier for the user
230
394
  * @param params Optional caching parameters
231
- * @param params.edgeCache Optional cache duration in hours (1, 2, 3, 4, 5, 8)
232
- * @returns User details including profile information
233
- * @throws ValidationError When response is malformed
395
+ * @param params.edgeCache Cache duration in hours (1, 2, 3, 4, 5, 8) for improved performance
396
+ * @returns BaseResponse<User> with complete user details and metadata
397
+ * @throws ValidationError When userId is invalid or response is malformed
234
398
  * @example
235
399
  * ```typescript
236
- * const user = await client.users.get(123);
400
+ * // Get user with full response metadata
401
+ * const response = await api.joomla.users.get(123);
402
+ * console.log('User:', response.data.username, response.data.email);
403
+ * console.log('Status:', response.status, response.message);
404
+ *
405
+ * // Get just user data without metadata
406
+ * const user = await api.joomla.users.getData(123);
237
407
  * console.log(user.username, user.email, user.registerDate);
238
408
  *
239
- * // Get with 1-hour edge caching
240
- * const cachedUser = await client.users.get(123, { edgeCache: 1 });
409
+ * // Use edge caching for frequently accessed users
410
+ * const cachedUser = await api.joomla.users.get(123, { edgeCache: 1 });
241
411
  * ```
242
412
  */
243
413
  get: (id: string | number, params?: import("../../core/base-client").CacheParams | undefined) => Promise<{
@@ -306,15 +476,32 @@ export declare class JoomlaClient extends BaseServiceClient {
306
476
  */
307
477
  groups: {
308
478
  /**
309
- * Get user's groups
310
- * @description Returns all groups that a specific user belongs to
311
- * @param userId User ID (string)
479
+ * Get user's group memberships
480
+ * @description Returns all groups that a specific user belongs to with membership details
481
+ * @fullPath api.joomla.users.groups.list
482
+ * @service joomla
483
+ * @domain user-management
484
+ * @dataMethod listData(userId, params) - returns only the group memberships array without metadata
485
+ * @discoverable true
486
+ * @searchTerms ["user groups", "group membership", "user permissions", "user roles"]
487
+ * @relatedEndpoints ["api.joomla.userGroups.list", "api.joomla.users.groups.createMapping", "api.joomla.users.get"]
488
+ * @commonPatterns ["get user groups", "user permissions", "group membership", "user roles"]
489
+ * @param userId User ID (string) - the unique identifier for the user
312
490
  * @param params Optional pagination parameters
313
- * @returns Array of user group memberships
491
+ * @param params.limit Maximum number of group memberships to return (default: 20)
492
+ * @param params.offset Number of memberships to skip for pagination (default: 0)
493
+ * @returns BaseResponse<UserGroupMembership[]> with group membership details and metadata
314
494
  * @throws ValidationError When response is malformed
315
495
  * @example
316
496
  * ```typescript
317
- * const groups = await client.users.groups.list('123');
497
+ * // Get user's groups with full response metadata
498
+ * const response = await api.joomla.users.groups.list('123');
499
+ * response.data.forEach(group => {
500
+ * console.log(`Group: ${group.title} (ID: ${group.groupId})`);
501
+ * });
502
+ *
503
+ * // Get just group memberships data without metadata
504
+ * const groups = await api.joomla.users.groups.listData('123');
318
505
  * groups.forEach(group => console.log(group.title, group.groupId));
319
506
  * ```
320
507
  */
@@ -347,46 +534,135 @@ export declare class JoomlaClient extends BaseServiceClient {
347
534
  * ```
348
535
  */
349
536
  createMapping: (userId: number | string, request: UserGroupMappingRequest) => Promise<UserGroupMappingResponse>;
537
+ /**
538
+ * Get user's groups (data only)
539
+ * @description Returns only the data array from user group memberships response
540
+ * @param userId User ID (string)
541
+ * @param params Optional pagination parameters
542
+ * @returns Array of user group memberships (data only)
543
+ * @throws ValidationError When response is malformed
544
+ */
545
+ listData: (userId: string, params?: UserGroupMembershipParams) => Promise<{
546
+ title: string;
547
+ username: string;
548
+ groupId: number;
549
+ userId: number;
550
+ }[]>;
551
+ /**
552
+ * Get specific user group membership (data only)
553
+ * @description Returns only the data from user group membership details response
554
+ * @param userId User ID (string)
555
+ * @param groupId Group ID (number or string)
556
+ * @returns User group membership details (data only)
557
+ * @throws ValidationError When response is malformed
558
+ */
559
+ getData: (userId: string, groupId: number | string) => Promise<{
560
+ id: number;
561
+ title: string;
562
+ level: number;
563
+ groupId: number;
564
+ userId: number;
565
+ }>;
566
+ /**
567
+ * Create or update user group mapping (data only)
568
+ * @description Returns only the data from created/updated group mapping response
569
+ * @param userId User ID (number or string)
570
+ * @param request Group mapping request data
571
+ * @returns Group mapping information (data only)
572
+ * @throws ValidationError When request is invalid or response is malformed
573
+ */
574
+ createMappingData: (userId: number | string, request: UserGroupMappingRequest) => Promise<{
575
+ id: number;
576
+ created: boolean;
577
+ groupId: number;
578
+ userId: number;
579
+ }>;
350
580
  };
351
581
  /**
352
- * Verify user password
353
- * @description Verifies if the provided username and password are valid, supporting cross-site authentication
354
- *
355
- * Cross-site authentication:
356
- * - When called from 'augur_info' site, can authenticate users from any other site
357
- * - Include optional 'siteId' parameter to authenticate against a different site
358
- * - Returned JWT token will be scoped to the target site, not augur_info
359
- *
360
- * @param request Object containing username, password, and optional siteId for cross-site auth
361
- * @returns Object with verification status, user ID, username, token (if verified), and email
362
- *
582
+ * Verify user credentials and authenticate
583
+ * @description Verifies username/password combination and returns authentication token, supports cross-site authentication
584
+ * @fullPath api.joomla.users.verifyPassword
585
+ * @service joomla
586
+ * @domain authentication
587
+ * @dataMethod verifyPasswordData(request) - returns only the verification result without metadata
588
+ * @crossSite Supports authentication across multiple sites when called from 'augur_info' site
589
+ * @discoverable true
590
+ * @searchTerms ["verify password", "authenticate", "login", "user authentication", "credentials", "sign in"]
591
+ * @relatedEndpoints ["api.joomla.users.get", "api.joomla.users.create", "api.customers.customer.get"]
592
+ * @commonPatterns ["user login", "authenticate user", "verify credentials", "password check"]
593
+ * @param request Authentication request containing username, password, and optional siteId
594
+ * @param request.username User's username for authentication
595
+ * @param request.password User's password for verification
596
+ * @param request.siteId Optional site ID for cross-site authentication (when using augur_info)
597
+ * @returns BaseResponse<VerifyPasswordResult> with verification status, user info, and JWT token
598
+ * @throws ValidationError When credentials are invalid or request is malformed
363
599
  * @example
364
- * // Standard authentication
365
- * await client.users.verifyPassword({ username: 'user', password: 'pass' });
600
+ * ```typescript
601
+ * // Standard authentication with full response
602
+ * const response = await api.joomla.users.verifyPassword({
603
+ * username: 'johndoe',
604
+ * password: 'securePassword123'
605
+ * });
606
+ *
607
+ * if (response.data.verified) {
608
+ * console.log('Login successful:', response.data.username);
609
+ * console.log('JWT Token:', response.data.token);
610
+ * console.log('User ID:', response.data.userId);
611
+ * }
366
612
  *
367
- * // Cross-site authentication (when using augur_info as x-site-id header)
368
- * await client.users.verifyPassword({
369
- * username: 'user',
370
- * password: 'pass',
613
+ * // Cross-site authentication (when using augur_info site)
614
+ * const crossSiteAuth = await api.joomla.users.verifyPassword({
615
+ * username: 'johndoe',
616
+ * password: 'securePassword123',
371
617
  * siteId: 'customer_site_1'
372
618
  * });
619
+ *
620
+ * // Get just verification data without metadata
621
+ * const authResult = await api.joomla.users.verifyPasswordData({
622
+ * username: 'johndoe',
623
+ * password: 'securePassword123'
624
+ * });
625
+ * ```
373
626
  */
374
627
  verifyPassword: (request: VerifyPasswordRequest) => Promise<VerifyPasswordResponse>;
375
628
  /**
376
- * Create a new user
377
- * @description Creates a new user account in the system
629
+ * Create a new user account
630
+ * @description Creates a new user account in the system with username, email, name, and password
631
+ * @fullPath api.joomla.users.create
632
+ * @service joomla
633
+ * @domain user-management
634
+ * @dataMethod createData(request) - returns only the created user object without metadata
635
+ * @discoverable true
636
+ * @searchTerms ["create user", "new user", "user registration", "add user", "register user"]
637
+ * @relatedEndpoints ["api.joomla.users.list", "api.joomla.users.get", "api.joomla.users.verifyPassword"]
638
+ * @commonPatterns ["register new user", "create account", "add user account", "user signup"]
378
639
  * @param request User creation request data including username, email, name, and password
379
- * @returns Created user information with ID, username, and email
640
+ * @param request.username Unique username for the new user (required)
641
+ * @param request.email Valid email address for the user (required)
642
+ * @param request.name Full display name for the user (required)
643
+ * @param request.password Secure password for the user (required, minimum 8 characters)
644
+ * @returns BaseResponse<User> with created user information including ID, username, and email
380
645
  * @throws ValidationError When request is invalid or response is malformed
381
646
  * @example
382
647
  * ```typescript
383
- * const newUser = await client.users.create({
648
+ * // Create new user with full response metadata
649
+ * const response = await api.joomla.users.create({
384
650
  * username: 'newuser',
385
651
  * email: 'user@example.com',
386
652
  * name: 'New User',
387
653
  * password: 'SecurePass123!'
388
654
  * });
389
- * console.log('Created user:', newUser.id, newUser.username);
655
+ * console.log('Created user:', response.data.id, response.data.username);
656
+ * console.log('Status:', response.status, response.message);
657
+ *
658
+ * // Get just created user data without metadata
659
+ * const newUser = await api.joomla.users.createData({
660
+ * username: 'johndoe',
661
+ * email: 'john@example.com',
662
+ * name: 'John Doe',
663
+ * password: 'MySecurePassword123!'
664
+ * });
665
+ * console.log('New user ID:', newUser.id, 'Email:', newUser.email);
390
666
  * ```
391
667
  */
392
668
  create: (data: {
@@ -468,6 +744,178 @@ export declare class JoomlaClient extends BaseServiceClient {
468
744
  total: number;
469
745
  totalResults: number;
470
746
  }>;
747
+ /**
748
+ * Retrieve a paginated list of users (data only)
749
+ * @description Returns only the data array from users response
750
+ * @param params Optional filtering, pagination, and caching parameters
751
+ * @returns Array of users (data only)
752
+ * @throws ValidationError When parameters are invalid or response is malformed
753
+ */
754
+ listData: (params?: UserListParams) => Promise<{
755
+ id: number;
756
+ name: string;
757
+ username: string;
758
+ email: string;
759
+ registerDate: string;
760
+ lastvisitDate: string;
761
+ lastResetTime?: string | undefined;
762
+ activation?: string | undefined;
763
+ block?: number | undefined;
764
+ timezone?: string | undefined;
765
+ language?: string | undefined;
766
+ customerId?: string | undefined;
767
+ contactId?: string | undefined;
768
+ profileValues?: Record<string, string | string[]> | undefined;
769
+ groups?: {
770
+ id: number;
771
+ title: string;
772
+ }[] | undefined;
773
+ }[]>;
774
+ /**
775
+ * Get user details by ID (data only)
776
+ * @description Returns only the data from user details response
777
+ * @param userId User ID (number or string)
778
+ * @param params Optional caching parameters
779
+ * @returns User details (data only)
780
+ * @throws ValidationError When response is malformed
781
+ */
782
+ getData: (userId: number | string, params?: BaseGetParams) => Promise<boolean | {
783
+ id: number;
784
+ name: string;
785
+ username: string;
786
+ email: string;
787
+ registerDate: string;
788
+ lastvisitDate: string;
789
+ lastResetTime?: string | undefined;
790
+ activation?: string | undefined;
791
+ block?: number | undefined;
792
+ timezone?: string | undefined;
793
+ language?: string | undefined;
794
+ customerId?: string | undefined;
795
+ contactId?: string | undefined;
796
+ profileValues?: Record<string, string | string[]> | undefined;
797
+ groups?: {
798
+ id: number;
799
+ title: string;
800
+ }[] | undefined;
801
+ }>;
802
+ /**
803
+ * Get user documentation (data only)
804
+ * @description Returns only the data from enhanced user document response
805
+ * @param userId User ID (number or string)
806
+ * @returns Enhanced user document (data only)
807
+ * @throws ValidationError When response is malformed
808
+ */
809
+ getDocData: (userId: number | string) => Promise<boolean | {
810
+ id: number;
811
+ name: string;
812
+ username: string;
813
+ email: string;
814
+ registerDate: string;
815
+ lastvisitDate: string;
816
+ lastResetTime: string;
817
+ block: number;
818
+ timezone: string;
819
+ language: string;
820
+ customerId: string;
821
+ contactId: string;
822
+ profileValues: Record<string, string | string[]>;
823
+ groups: z.objectOutputType<{
824
+ id: z.ZodNumber;
825
+ title: z.ZodString;
826
+ }, z.ZodTypeAny, "passthrough">[];
827
+ }>;
828
+ /**
829
+ * Get Trinity user documentation (data only)
830
+ * @description Returns only the data from specialized Trinity business logic document response
831
+ * @param userId User ID (number or string)
832
+ * @param params Optional filtering and pagination parameters
833
+ * @returns Trinity document (data only)
834
+ * @throws ValidationError When parameters are invalid or response is malformed
835
+ */
836
+ getTrinityDocData: (userId: number | string, params?: TrinityDocParams) => Promise<{
837
+ groups: z.objectOutputType<{
838
+ id: z.ZodNumber;
839
+ title: z.ZodString;
840
+ }, z.ZodTypeAny, "passthrough">[];
841
+ profile: {
842
+ id: number;
843
+ title: string | null;
844
+ name: string;
845
+ username: string;
846
+ email: string;
847
+ registerDate: string;
848
+ lastvisitDate: string;
849
+ block: number;
850
+ customerId: number | null;
851
+ contactId: number | null;
852
+ contractNo: string | null;
853
+ shipTo: string | null;
854
+ phone: string | null;
855
+ companyName: string | null;
856
+ approved: number | null;
857
+ };
858
+ p21Role: {
859
+ id: number;
860
+ contactRoleUid: number;
861
+ contactRoleId: number;
862
+ contactRoleName: string;
863
+ parentName: string;
864
+ parentGroupId: number;
865
+ groupId: number;
866
+ address: {
867
+ physState: string | null;
868
+ mailState: string | null;
869
+ } & {
870
+ [k: string]: unknown;
871
+ };
872
+ } | null;
873
+ territory: string;
874
+ role: string;
875
+ }>;
876
+ /**
877
+ * Verify user password (data only)
878
+ * @description Returns only the data from password verification response
879
+ * @param request Object containing username, password, and optional siteId for cross-site auth
880
+ * @returns Verification result (data only)
881
+ */
882
+ verifyPasswordData: (request: VerifyPasswordRequest) => Promise<{
883
+ id: number;
884
+ username: string;
885
+ email: string;
886
+ isVerified: boolean;
887
+ token: string | boolean;
888
+ }>;
889
+ /**
890
+ * Create a new user (data only)
891
+ * @description Returns only the data from created user response
892
+ * @param request User creation request data including username, email, name, and password
893
+ * @returns Created user information (data only)
894
+ * @throws ValidationError When request is invalid or response is malformed
895
+ */
896
+ createData: (request: CreateUserRequest) => Promise<{
897
+ id: number;
898
+ name: string;
899
+ username: string;
900
+ email: string;
901
+ }>;
902
+ /**
903
+ * Update an existing user (data only)
904
+ * @description Returns only the data from updated user response
905
+ * @param userId User ID (number or string)
906
+ * @param request User update data with optional fields to modify
907
+ * @returns Updated user object (data only)
908
+ * @throws ValidationError When request is invalid or response is malformed
909
+ */
910
+ updateData: (userId: number | string, request: UpdateUserRequest) => Promise<boolean>;
911
+ /**
912
+ * Block (deactivate) a user (data only)
913
+ * @description Returns only the data from user blocking response
914
+ * @param userId User ID (number or string)
915
+ * @returns Blocking operation result (data only)
916
+ * @throws ValidationError When response is malformed
917
+ */
918
+ blockData: (userId: number | string) => Promise<boolean>;
471
919
  };
472
920
  /**
473
921
  * User Groups endpoints
@@ -475,35 +923,66 @@ export declare class JoomlaClient extends BaseServiceClient {
475
923
  */
476
924
  userGroups: {
477
925
  /**
478
- * Get user groups
479
- * @description Returns hierarchical list of user groups with optional filtering, ordering, and edge caching
926
+ * Get hierarchical list of user groups
927
+ * @description Returns system-wide user groups with hierarchy information, filtering, and caching
928
+ * @fullPath api.joomla.userGroups.list
929
+ * @service joomla
930
+ * @domain user-management
931
+ * @dataMethod listData(params) - returns only the user groups array without metadata
932
+ * @hierarchy Returns groups with level and parent relationship information
933
+ * @caching Supports edgeCache parameter (1-8 hours) - recommended since groups rarely change
934
+ * @discoverable true
935
+ * @searchTerms ["user groups", "groups", "permissions", "roles", "group hierarchy", "user roles"]
936
+ * @relatedEndpoints ["api.joomla.users.groups.list", "api.joomla.users.list", "api.joomla.users.groups.createMapping"]
937
+ * @commonPatterns ["list user groups", "get groups", "group permissions", "user roles", "group hierarchy"]
480
938
  * @param params Optional filtering, ordering, and caching parameters
481
- * @param params.edgeCache Optional cache duration in hours (1, 2, 3, 4, 5, 8)
482
- * @returns Array of user groups with hierarchy information
939
+ * @param params.orderBy Sort order (e.g., 'title|ASC', 'title|DESC', 'level|ASC')
940
+ * @param params.parentIdList Comma-separated list of parent group IDs to filter (e.g., '1,2')
941
+ * @param params.edgeCache Cache duration in hours (1-8) - highly recommended since groups rarely change
942
+ * @returns BaseResponse<UserGroup[]> with hierarchy metadata and groups array
483
943
  * @throws ValidationError When parameters are invalid or response is malformed
484
944
  * @example
485
945
  * ```typescript
486
- * // Get all user groups
487
- * const groups = await client.userGroups.list();
946
+ * // Get all user groups with hierarchy information
947
+ * const response = await api.joomla.userGroups.list();
948
+ * response.data.forEach(group => {
949
+ * console.log(`${group.title} (Level: ${group.level}, Parent: ${group.parentId})`);
950
+ * });
488
951
  *
489
- * // Get filtered groups
490
- * const filtered = await client.userGroups.list({
491
- * orderBy: 'title|DESC',
952
+ * // Filter and order groups
953
+ * const ordered = await api.joomla.userGroups.list({
954
+ * orderBy: 'title|ASC',
492
955
  * parentIdList: '1,2'
493
956
  * });
494
957
  *
495
- * // Get groups with 8-hour edge caching (groups rarely change)
496
- * const cachedGroups = await client.userGroups.list({
497
- * edgeCache: 8, // Cache for 8 hours
498
- * orderBy: 'title|ASC'
958
+ * // Get just groups data without metadata
959
+ * const groups = await api.joomla.userGroups.listData({
960
+ * orderBy: 'level|ASC'
499
961
  * });
500
962
  *
501
- * groups.forEach(group => {
502
- * console.log(`${group.title} (Level: ${group.level})`);
963
+ * // Use long caching since groups rarely change
964
+ * const cachedGroups = await api.joomla.userGroups.list({
965
+ * edgeCache: 8, // Cache for 8 hours - groups change very infrequently
966
+ * orderBy: 'title|ASC'
503
967
  * });
504
968
  * ```
505
969
  */
506
970
  list: (params?: UserGroupListParams) => Promise<UserGroupListResponse>;
971
+ /**
972
+ * Get user groups (data only)
973
+ * @description Returns only the data array from user groups response
974
+ * @param params Optional filtering, ordering, and caching parameters
975
+ * @returns Array of user groups (data only)
976
+ * @throws ValidationError When parameters are invalid or response is malformed
977
+ */
978
+ listData: (params?: UserGroupListParams) => Promise<{
979
+ id: number;
980
+ title: string;
981
+ parentId: number;
982
+ level: number;
983
+ lft: number;
984
+ rgt: number;
985
+ }[]>;
507
986
  };
508
987
  /**
509
988
  * Tags endpoints
@@ -511,32 +990,51 @@ export declare class JoomlaClient extends BaseServiceClient {
511
990
  */
512
991
  tags: {
513
992
  /**
514
- * Get tags
515
- * @description Returns hierarchical list of content tags with optional filtering, search, and edge caching
993
+ * Get hierarchical list of content tags
994
+ * @description Returns content tags with hierarchy, usage information, filtering, search, and edge caching
995
+ * @fullPath api.joomla.tags.list
996
+ * @service joomla
997
+ * @domain content-management
998
+ * @dataMethod listData(params) - returns only the tags array without metadata
999
+ * @hierarchy Returns tags with level and parent relationship information
1000
+ * @caching Supports edgeCache parameter (1-8 hours) - recommended for reference data
1001
+ * @discoverable true
1002
+ * @searchTerms ["tags", "content tags", "taxonomy", "categories", "tag hierarchy"]
1003
+ * @relatedEndpoints ["api.joomla.content.list", "api.joomla.content.get", "api.joomla.userGroups.list"]
1004
+ * @commonPatterns ["list tags", "get tags", "search tags", "content taxonomy", "tag filtering"]
516
1005
  * @param params Optional filtering, search, and caching parameters
517
- * @param params.edgeCache Optional cache duration in hours (1, 2, 3, 4, 5, 8)
518
- * @returns Array of tags with hierarchy and usage information
1006
+ * @param params.q Search query for filtering tags by title
1007
+ * @param params.catId Category ID to filter tags by category
1008
+ * @param params.limit Maximum number of tags to return (default: 20, max: 100)
1009
+ * @param params.offset Number of tags to skip for pagination (default: 0)
1010
+ * @param params.edgeCache Cache duration in hours (1-8) - recommended for reference data
1011
+ * @returns BaseResponse<Tag[]> with hierarchy metadata and tags array
519
1012
  * @throws ValidationError When parameters are invalid or response is malformed
520
1013
  * @example
521
1014
  * ```typescript
522
- * // Get all tags
523
- * const tags = await client.tags.list();
1015
+ * // Get all tags with hierarchy information
1016
+ * const response = await api.joomla.tags.list();
1017
+ * response.data.forEach(tag => {
1018
+ * console.log(`${tag.title} (${tag.hits} hits, Level: ${tag.level})`);
1019
+ * });
524
1020
  *
525
- * // Search tags
526
- * const searchTags = await client.tags.list({
1021
+ * // Search tags by keyword
1022
+ * const searchTags = await api.joomla.tags.list({
527
1023
  * q: 'technology',
528
1024
  * catId: 1,
529
1025
  * limit: 10
530
1026
  * });
531
1027
  *
532
- * // Get tags with 5-hour edge caching (reference data)
533
- * const cachedTags = await client.tags.list({
534
- * edgeCache: 5, // Cache for 5 hours
1028
+ * // Get just tags data without metadata
1029
+ * const tags = await api.joomla.tags.listData({
535
1030
  * limit: 50
536
1031
  * });
1032
+ * tags.forEach(tag => console.log(tag.title, tag.alias));
537
1033
  *
538
- * tags.forEach(tag => {
539
- * console.log(`${tag.title} (${tag.hits} hits)`);
1034
+ * // Use caching for reference data (recommended)
1035
+ * const cachedTags = await api.joomla.tags.list({
1036
+ * edgeCache: 5, // Cache for 5 hours - tags are reference data
1037
+ * limit: 100
540
1038
  * });
541
1039
  * ```
542
1040
  */
@@ -566,6 +1064,23 @@ export declare class JoomlaClient extends BaseServiceClient {
566
1064
  total: number;
567
1065
  totalResults: number;
568
1066
  }>;
1067
+ /**
1068
+ * Get tags (data only)
1069
+ * @description Returns only the data array from tags response
1070
+ * @param params Optional filtering, search, and caching parameters
1071
+ * @returns Array of tags (data only)
1072
+ * @throws ValidationError When parameters are invalid or response is malformed
1073
+ */
1074
+ listData: (params?: TagListParams) => Promise<{
1075
+ path: string;
1076
+ id: number;
1077
+ title: string;
1078
+ alias: string;
1079
+ hits: number;
1080
+ parentId: number;
1081
+ level: number;
1082
+ note?: string | undefined;
1083
+ }[]>;
569
1084
  };
570
1085
  /**
571
1086
  * Menu endpoints
@@ -586,6 +1101,35 @@ export declare class JoomlaClient extends BaseServiceClient {
586
1101
  * ```
587
1102
  */
588
1103
  getDoc: (menuId: string) => Promise<ContentDocumentResponse>;
1104
+ /**
1105
+ * Get menu documentation (data only)
1106
+ * @description Returns only the data from enhanced menu item document response
1107
+ * @param menuId Menu item ID (string)
1108
+ * @returns Menu document (data only)
1109
+ * @throws ValidationError When response is malformed
1110
+ */
1111
+ getDocData: (menuId: string) => Promise<{
1112
+ id: number;
1113
+ title: string;
1114
+ alias: string;
1115
+ catid: number;
1116
+ introtext: string;
1117
+ fulltext: string;
1118
+ ordering?: number | undefined;
1119
+ images?: {
1120
+ image_intro?: string | undefined;
1121
+ image_fulltext?: string | undefined;
1122
+ float_intro?: string | undefined;
1123
+ float_fulltext?: string | undefined;
1124
+ } | undefined;
1125
+ fields?: {
1126
+ value: string;
1127
+ type: string;
1128
+ id: number;
1129
+ title: string;
1130
+ name: string;
1131
+ }[] | undefined;
1132
+ }>;
589
1133
  };
590
1134
  /**
591
1135
  * Check service health (no bearer token required)
@@ -635,4 +1179,5 @@ export declare class JoomlaClient extends BaseServiceClient {
635
1179
  totalResults: number;
636
1180
  }>;
637
1181
  }
1182
+ export {};
638
1183
  //# sourceMappingURL=client.d.ts.map