c4r-aggregator-client 1.0.0

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 (271) hide show
  1. package/.idea/misc.xml +6 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/ts.iml +9 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/.openapi-generator/FILES +91 -0
  6. package/.openapi-generator/VERSION +1 -0
  7. package/.openapi-generator-ignore +23 -0
  8. package/README.md +174 -0
  9. package/dist/apis/AdminApi.d.ts +187 -0
  10. package/dist/apis/AdminApi.js +515 -0
  11. package/dist/apis/CatalogApi.d.ts +84 -0
  12. package/dist/apis/CatalogApi.js +191 -0
  13. package/dist/apis/MeetingsApi.d.ts +98 -0
  14. package/dist/apis/MeetingsApi.js +235 -0
  15. package/dist/apis/SourcesApi.d.ts +35 -0
  16. package/dist/apis/SourcesApi.js +73 -0
  17. package/dist/apis/index.d.ts +4 -0
  18. package/dist/apis/index.js +22 -0
  19. package/dist/esm/apis/AdminApi.d.ts +187 -0
  20. package/dist/esm/apis/AdminApi.js +511 -0
  21. package/dist/esm/apis/CatalogApi.d.ts +84 -0
  22. package/dist/esm/apis/CatalogApi.js +187 -0
  23. package/dist/esm/apis/MeetingsApi.d.ts +98 -0
  24. package/dist/esm/apis/MeetingsApi.js +231 -0
  25. package/dist/esm/apis/SourcesApi.d.ts +35 -0
  26. package/dist/esm/apis/SourcesApi.js +69 -0
  27. package/dist/esm/apis/index.d.ts +4 -0
  28. package/dist/esm/apis/index.js +6 -0
  29. package/dist/esm/index.d.ts +3 -0
  30. package/dist/esm/index.js +5 -0
  31. package/dist/esm/models/AdminSource.d.ts +190 -0
  32. package/dist/esm/models/AdminSource.js +112 -0
  33. package/dist/esm/models/AuthError.d.ts +32 -0
  34. package/dist/esm/models/AuthError.js +41 -0
  35. package/dist/esm/models/CreateSourceRequest.d.ts +76 -0
  36. package/dist/esm/models/CreateSourceRequest.js +64 -0
  37. package/dist/esm/models/CreateSourceResponse.d.ts +45 -0
  38. package/dist/esm/models/CreateSourceResponse.js +46 -0
  39. package/dist/esm/models/DedupCounters.d.ts +86 -0
  40. package/dist/esm/models/DedupCounters.js +59 -0
  41. package/dist/esm/models/DedupStats.d.ts +65 -0
  42. package/dist/esm/models/DedupStats.js +54 -0
  43. package/dist/esm/models/DedupStatsLatestRun.d.ts +60 -0
  44. package/dist/esm/models/DedupStatsLatestRun.js +56 -0
  45. package/dist/esm/models/DedupStatsRecentRunsInner.d.ts +45 -0
  46. package/dist/esm/models/DedupStatsRecentRunsInner.js +46 -0
  47. package/dist/esm/models/FeedValidationError.d.ts +54 -0
  48. package/dist/esm/models/FeedValidationError.js +54 -0
  49. package/dist/esm/models/IngestRun.d.ts +107 -0
  50. package/dist/esm/models/IngestRun.js +71 -0
  51. package/dist/esm/models/MapFeature.d.ts +46 -0
  52. package/dist/esm/models/MapFeature.js +47 -0
  53. package/dist/esm/models/MapFeatureCollection.d.ts +45 -0
  54. package/dist/esm/models/MapFeatureCollection.js +46 -0
  55. package/dist/esm/models/MapFeatureGeometry.d.ts +38 -0
  56. package/dist/esm/models/MapFeatureGeometry.js +43 -0
  57. package/dist/esm/models/MapFeatureProperties.d.ts +69 -0
  58. package/dist/esm/models/MapFeatureProperties.js +54 -0
  59. package/dist/esm/models/MapMeeting.d.ts +50 -0
  60. package/dist/esm/models/MapMeeting.js +47 -0
  61. package/dist/esm/models/Meeting.d.ts +272 -0
  62. package/dist/esm/models/Meeting.js +131 -0
  63. package/dist/esm/models/MeetingPage.d.ts +47 -0
  64. package/dist/esm/models/MeetingPage.js +48 -0
  65. package/dist/esm/models/MeetingPageLinks.d.ts +50 -0
  66. package/dist/esm/models/MeetingPageLinks.js +47 -0
  67. package/dist/esm/models/MeetingPageMeta.d.ts +50 -0
  68. package/dist/esm/models/MeetingPageMeta.js +47 -0
  69. package/dist/esm/models/MeetingType.d.ts +56 -0
  70. package/dist/esm/models/MeetingType.js +49 -0
  71. package/dist/esm/models/MeetingsFilterError.d.ts +44 -0
  72. package/dist/esm/models/MeetingsFilterError.js +45 -0
  73. package/dist/esm/models/Program.d.ts +44 -0
  74. package/dist/esm/models/Program.js +45 -0
  75. package/dist/esm/models/PublicSource.d.ts +113 -0
  76. package/dist/esm/models/PublicSource.js +80 -0
  77. package/dist/esm/models/SourceEnvelope.d.ts +33 -0
  78. package/dist/esm/models/SourceEnvelope.js +42 -0
  79. package/dist/esm/models/SourceRefreshResponse.d.ts +39 -0
  80. package/dist/esm/models/SourceRefreshResponse.js +44 -0
  81. package/dist/esm/models/Stats.d.ts +86 -0
  82. package/dist/esm/models/Stats.js +63 -0
  83. package/dist/esm/models/StatsGroups.d.ts +32 -0
  84. package/dist/esm/models/StatsGroups.js +41 -0
  85. package/dist/esm/models/StatsLocations.d.ts +38 -0
  86. package/dist/esm/models/StatsLocations.js +43 -0
  87. package/dist/esm/models/StatsMeetingTypes.d.ts +32 -0
  88. package/dist/esm/models/StatsMeetingTypes.js +41 -0
  89. package/dist/esm/models/StatsMeetings.d.ts +68 -0
  90. package/dist/esm/models/StatsMeetings.js +51 -0
  91. package/dist/esm/models/StatsProgramsBreakdownInner.d.ts +62 -0
  92. package/dist/esm/models/StatsProgramsBreakdownInner.js +51 -0
  93. package/dist/esm/models/StatsSources.d.ts +47 -0
  94. package/dist/esm/models/StatsSources.js +46 -0
  95. package/dist/esm/models/StatsSourcesTopByMeetingCountInner.d.ts +44 -0
  96. package/dist/esm/models/StatsSourcesTopByMeetingCountInner.js +45 -0
  97. package/dist/esm/models/StoreSourceValidationError.d.ts +23 -0
  98. package/dist/esm/models/StoreSourceValidationError.js +51 -0
  99. package/dist/esm/models/UpdateSourceRequest.d.ts +70 -0
  100. package/dist/esm/models/UpdateSourceRequest.js +58 -0
  101. package/dist/esm/models/ValidationError.d.ts +40 -0
  102. package/dist/esm/models/ValidationError.js +43 -0
  103. package/dist/esm/models/index.d.ts +36 -0
  104. package/dist/esm/models/index.js +38 -0
  105. package/dist/esm/runtime.d.ts +184 -0
  106. package/dist/esm/runtime.js +349 -0
  107. package/dist/index.d.ts +3 -0
  108. package/dist/index.js +21 -0
  109. package/dist/models/AdminSource.d.ts +190 -0
  110. package/dist/models/AdminSource.js +120 -0
  111. package/dist/models/AuthError.d.ts +32 -0
  112. package/dist/models/AuthError.js +48 -0
  113. package/dist/models/CreateSourceRequest.d.ts +76 -0
  114. package/dist/models/CreateSourceRequest.js +72 -0
  115. package/dist/models/CreateSourceResponse.d.ts +45 -0
  116. package/dist/models/CreateSourceResponse.js +53 -0
  117. package/dist/models/DedupCounters.d.ts +86 -0
  118. package/dist/models/DedupCounters.js +66 -0
  119. package/dist/models/DedupStats.d.ts +65 -0
  120. package/dist/models/DedupStats.js +61 -0
  121. package/dist/models/DedupStatsLatestRun.d.ts +60 -0
  122. package/dist/models/DedupStatsLatestRun.js +64 -0
  123. package/dist/models/DedupStatsRecentRunsInner.d.ts +45 -0
  124. package/dist/models/DedupStatsRecentRunsInner.js +53 -0
  125. package/dist/models/FeedValidationError.d.ts +54 -0
  126. package/dist/models/FeedValidationError.js +62 -0
  127. package/dist/models/IngestRun.d.ts +107 -0
  128. package/dist/models/IngestRun.js +79 -0
  129. package/dist/models/MapFeature.d.ts +46 -0
  130. package/dist/models/MapFeature.js +54 -0
  131. package/dist/models/MapFeatureCollection.d.ts +45 -0
  132. package/dist/models/MapFeatureCollection.js +53 -0
  133. package/dist/models/MapFeatureGeometry.d.ts +38 -0
  134. package/dist/models/MapFeatureGeometry.js +50 -0
  135. package/dist/models/MapFeatureProperties.d.ts +69 -0
  136. package/dist/models/MapFeatureProperties.js +61 -0
  137. package/dist/models/MapMeeting.d.ts +50 -0
  138. package/dist/models/MapMeeting.js +54 -0
  139. package/dist/models/Meeting.d.ts +272 -0
  140. package/dist/models/Meeting.js +139 -0
  141. package/dist/models/MeetingPage.d.ts +47 -0
  142. package/dist/models/MeetingPage.js +55 -0
  143. package/dist/models/MeetingPageLinks.d.ts +50 -0
  144. package/dist/models/MeetingPageLinks.js +54 -0
  145. package/dist/models/MeetingPageMeta.d.ts +50 -0
  146. package/dist/models/MeetingPageMeta.js +54 -0
  147. package/dist/models/MeetingType.d.ts +56 -0
  148. package/dist/models/MeetingType.js +56 -0
  149. package/dist/models/MeetingsFilterError.d.ts +44 -0
  150. package/dist/models/MeetingsFilterError.js +52 -0
  151. package/dist/models/Program.d.ts +44 -0
  152. package/dist/models/Program.js +52 -0
  153. package/dist/models/PublicSource.d.ts +113 -0
  154. package/dist/models/PublicSource.js +88 -0
  155. package/dist/models/SourceEnvelope.d.ts +33 -0
  156. package/dist/models/SourceEnvelope.js +49 -0
  157. package/dist/models/SourceRefreshResponse.d.ts +39 -0
  158. package/dist/models/SourceRefreshResponse.js +51 -0
  159. package/dist/models/Stats.d.ts +86 -0
  160. package/dist/models/Stats.js +70 -0
  161. package/dist/models/StatsGroups.d.ts +32 -0
  162. package/dist/models/StatsGroups.js +48 -0
  163. package/dist/models/StatsLocations.d.ts +38 -0
  164. package/dist/models/StatsLocations.js +50 -0
  165. package/dist/models/StatsMeetingTypes.d.ts +32 -0
  166. package/dist/models/StatsMeetingTypes.js +48 -0
  167. package/dist/models/StatsMeetings.d.ts +68 -0
  168. package/dist/models/StatsMeetings.js +58 -0
  169. package/dist/models/StatsProgramsBreakdownInner.d.ts +62 -0
  170. package/dist/models/StatsProgramsBreakdownInner.js +58 -0
  171. package/dist/models/StatsSources.d.ts +47 -0
  172. package/dist/models/StatsSources.js +53 -0
  173. package/dist/models/StatsSourcesTopByMeetingCountInner.d.ts +44 -0
  174. package/dist/models/StatsSourcesTopByMeetingCountInner.js +52 -0
  175. package/dist/models/StoreSourceValidationError.d.ts +23 -0
  176. package/dist/models/StoreSourceValidationError.js +57 -0
  177. package/dist/models/UpdateSourceRequest.d.ts +70 -0
  178. package/dist/models/UpdateSourceRequest.js +66 -0
  179. package/dist/models/ValidationError.d.ts +40 -0
  180. package/dist/models/ValidationError.js +50 -0
  181. package/dist/models/index.d.ts +36 -0
  182. package/dist/models/index.js +54 -0
  183. package/dist/runtime.d.ts +184 -0
  184. package/dist/runtime.js +365 -0
  185. package/docs/AdminApi.md +734 -0
  186. package/docs/AdminSource.md +77 -0
  187. package/docs/AuthError.md +34 -0
  188. package/docs/CatalogApi.md +270 -0
  189. package/docs/CreateSourceRequest.md +46 -0
  190. package/docs/CreateSourceResponse.md +38 -0
  191. package/docs/DedupCounters.md +53 -0
  192. package/docs/DedupStats.md +45 -0
  193. package/docs/DedupStatsLatestRun.md +41 -0
  194. package/docs/DedupStatsRecentRunsInner.md +39 -0
  195. package/docs/FeedValidationError.md +39 -0
  196. package/docs/IngestRun.md +57 -0
  197. package/docs/MapFeature.md +39 -0
  198. package/docs/MapFeatureCollection.md +39 -0
  199. package/docs/MapFeatureGeometry.md +37 -0
  200. package/docs/MapFeatureProperties.md +47 -0
  201. package/docs/MapMeeting.md +41 -0
  202. package/docs/Meeting.md +109 -0
  203. package/docs/MeetingPage.md +39 -0
  204. package/docs/MeetingPageLinks.md +41 -0
  205. package/docs/MeetingPageMeta.md +41 -0
  206. package/docs/MeetingType.md +42 -0
  207. package/docs/MeetingsApi.md +323 -0
  208. package/docs/MeetingsFilterError.md +39 -0
  209. package/docs/Program.md +38 -0
  210. package/docs/PublicSource.md +55 -0
  211. package/docs/SourceEnvelope.md +35 -0
  212. package/docs/SourceRefreshResponse.md +37 -0
  213. package/docs/SourcesApi.md +76 -0
  214. package/docs/Stats.md +51 -0
  215. package/docs/StatsGroups.md +35 -0
  216. package/docs/StatsLocations.md +37 -0
  217. package/docs/StatsMeetingTypes.md +35 -0
  218. package/docs/StatsMeetings.md +45 -0
  219. package/docs/StatsProgramsBreakdownInner.md +45 -0
  220. package/docs/StatsSources.md +39 -0
  221. package/docs/StatsSourcesTopByMeetingCountInner.md +39 -0
  222. package/docs/StoreSourceValidationError.md +41 -0
  223. package/docs/UpdateSourceRequest.md +44 -0
  224. package/docs/ValidationError.md +36 -0
  225. package/package.json +21 -0
  226. package/src/apis/AdminApi.ts +659 -0
  227. package/src/apis/CatalogApi.ts +220 -0
  228. package/src/apis/MeetingsApi.ts +305 -0
  229. package/src/apis/SourcesApi.ts +74 -0
  230. package/src/apis/index.ts +6 -0
  231. package/src/index.ts +5 -0
  232. package/src/models/AdminSource.ts +270 -0
  233. package/src/models/AuthError.ts +65 -0
  234. package/src/models/CreateSourceRequest.ts +126 -0
  235. package/src/models/CreateSourceResponse.ts +89 -0
  236. package/src/models/DedupCounters.ts +137 -0
  237. package/src/models/DedupStats.ts +127 -0
  238. package/src/models/DedupStatsLatestRun.ts +109 -0
  239. package/src/models/DedupStatsRecentRunsInner.ts +89 -0
  240. package/src/models/FeedValidationError.ts +94 -0
  241. package/src/models/IngestRun.ts +165 -0
  242. package/src/models/MapFeature.ts +96 -0
  243. package/src/models/MapFeatureCollection.ts +89 -0
  244. package/src/models/MapFeatureGeometry.ts +73 -0
  245. package/src/models/MapFeatureProperties.ts +121 -0
  246. package/src/models/MapMeeting.ts +89 -0
  247. package/src/models/Meeting.ts +383 -0
  248. package/src/models/MeetingPage.ts +103 -0
  249. package/src/models/MeetingPageLinks.ts +89 -0
  250. package/src/models/MeetingPageMeta.ts +89 -0
  251. package/src/models/MeetingType.ts +97 -0
  252. package/src/models/MeetingsFilterError.ts +81 -0
  253. package/src/models/Program.ts +81 -0
  254. package/src/models/PublicSource.ts +170 -0
  255. package/src/models/SourceEnvelope.ts +73 -0
  256. package/src/models/SourceRefreshResponse.ts +81 -0
  257. package/src/models/Stats.ts +172 -0
  258. package/src/models/StatsGroups.ts +65 -0
  259. package/src/models/StatsLocations.ts +73 -0
  260. package/src/models/StatsMeetingTypes.ts +65 -0
  261. package/src/models/StatsMeetings.ts +105 -0
  262. package/src/models/StatsProgramsBreakdownInner.ts +105 -0
  263. package/src/models/StatsSources.ts +89 -0
  264. package/src/models/StatsSourcesTopByMeetingCountInner.ts +81 -0
  265. package/src/models/StoreSourceValidationError.ts +76 -0
  266. package/src/models/UpdateSourceRequest.ts +116 -0
  267. package/src/models/ValidationError.ts +73 -0
  268. package/src/models/index.ts +38 -0
  269. package/src/runtime.ts +449 -0
  270. package/tsconfig.esm.json +7 -0
  271. package/tsconfig.json +16 -0
@@ -0,0 +1,323 @@
1
+ # MeetingsApi
2
+
3
+ All URIs are relative to *http://localhost*
4
+
5
+ | Method | HTTP request | Description |
6
+ |------------- | ------------- | -------------|
7
+ | [**exportMeetings**](MeetingsApi.md#exportmeetings) | **GET** /api/v1/meetings/export | Streamed NDJSON export of all meetings |
8
+ | [**getRegionFeed**](MeetingsApi.md#getregionfeed) | **GET** /api/v1/regions/{region}/feed | Full Meeting Guide feed for a region and its descendants |
9
+ | [**getSourceFeed**](MeetingsApi.md#getsourcefeed) | **GET** /api/v1/sources/{source}/feed | Full Meeting Guide feed for a single source |
10
+ | [**listMeetings**](MeetingsApi.md#listmeetings) | **GET** /api/v1/meetings | Filtered meeting search |
11
+
12
+
13
+
14
+ ## exportMeetings
15
+
16
+ > exportMeetings(includeInactive, program)
17
+
18
+ Streamed NDJSON export of all meetings
19
+
20
+ Returns every meeting as newline-delimited JSON. Intended for researchers and downstream aggregators. Heavily rate-limited (5/minute) and requires a Sanctum bearer token. Filter by `program` to scope to one program (unknown codes stream an empty body).
21
+
22
+ ### Example
23
+
24
+ ```ts
25
+ import {
26
+ Configuration,
27
+ MeetingsApi,
28
+ } from 'c4r-aggregator-client';
29
+ import type { ExportMeetingsRequest } from 'c4r-aggregator-client';
30
+
31
+ async function example() {
32
+ console.log("🚀 Testing c4r-aggregator-client SDK...");
33
+ const config = new Configuration({
34
+ // Configure HTTP bearer authorization: bearerAuth
35
+ accessToken: "YOUR BEARER TOKEN",
36
+ });
37
+ const api = new MeetingsApi(config);
38
+
39
+ const body = {
40
+ // boolean | Include meetings marked inactive by stale-sweep. Default false. (optional)
41
+ includeInactive: true,
42
+ // string | Program code (`AA`, `NA`, ...) (optional)
43
+ program: AA,
44
+ } satisfies ExportMeetingsRequest;
45
+
46
+ try {
47
+ const data = await api.exportMeetings(body);
48
+ console.log(data);
49
+ } catch (error) {
50
+ console.error(error);
51
+ }
52
+ }
53
+
54
+ // Run the test
55
+ example().catch(console.error);
56
+ ```
57
+
58
+ ### Parameters
59
+
60
+
61
+ | Name | Type | Description | Notes |
62
+ |------------- | ------------- | ------------- | -------------|
63
+ | **includeInactive** | `boolean` | Include meetings marked inactive by stale-sweep. Default false. | [Optional] [Defaults to `false`] |
64
+ | **program** | `string` | Program code (`AA`, `NA`, ...) | [Optional] [Defaults to `undefined`] |
65
+
66
+ ### Return type
67
+
68
+ `void` (Empty response body)
69
+
70
+ ### Authorization
71
+
72
+ [bearerAuth](../README.md#bearerAuth)
73
+
74
+ ### HTTP request headers
75
+
76
+ - **Content-Type**: Not defined
77
+ - **Accept**: `application/json`
78
+
79
+
80
+ ### HTTP response details
81
+ | Status code | Description | Response headers |
82
+ |-------------|-------------|------------------|
83
+ | **200** | Streamed response with `Content-Type: application/x-ndjson`. Body is one serialized `Meeting` JSON object per line separated by `\\n`. No content-schema is emitted because the payload is not a JSON document — consume as a byte stream and split on newlines. | - |
84
+ | **401** | Missing or invalid token | - |
85
+ | **429** | Rate limit exceeded | - |
86
+
87
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
88
+
89
+
90
+ ## getRegionFeed
91
+
92
+ > Array<Meeting> getRegionFeed(region)
93
+
94
+ Full Meeting Guide feed for a region and its descendants
95
+
96
+ Returns a bare JSON array of meetings located within the specified region or any sub-region.
97
+
98
+ ### Example
99
+
100
+ ```ts
101
+ import {
102
+ Configuration,
103
+ MeetingsApi,
104
+ } from 'c4r-aggregator-client';
105
+ import type { GetRegionFeedRequest } from 'c4r-aggregator-client';
106
+
107
+ async function example() {
108
+ console.log("🚀 Testing c4r-aggregator-client SDK...");
109
+ const api = new MeetingsApi();
110
+
111
+ const body = {
112
+ // number
113
+ region: 56,
114
+ } satisfies GetRegionFeedRequest;
115
+
116
+ try {
117
+ const data = await api.getRegionFeed(body);
118
+ console.log(data);
119
+ } catch (error) {
120
+ console.error(error);
121
+ }
122
+ }
123
+
124
+ // Run the test
125
+ example().catch(console.error);
126
+ ```
127
+
128
+ ### Parameters
129
+
130
+
131
+ | Name | Type | Description | Notes |
132
+ |------------- | ------------- | ------------- | -------------|
133
+ | **region** | `number` | | [Defaults to `undefined`] |
134
+
135
+ ### Return type
136
+
137
+ [**Array<Meeting>**](Meeting.md)
138
+
139
+ ### Authorization
140
+
141
+ No authorization required
142
+
143
+ ### HTTP request headers
144
+
145
+ - **Content-Type**: Not defined
146
+ - **Accept**: `application/json`
147
+
148
+
149
+ ### HTTP response details
150
+ | Status code | Description | Response headers |
151
+ |-------------|-------------|------------------|
152
+ | **200** | Meetings in the region subtree | - |
153
+ | **404** | Region not found | - |
154
+
155
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
156
+
157
+
158
+ ## getSourceFeed
159
+
160
+ > Array<Meeting> getSourceFeed(source)
161
+
162
+ Full Meeting Guide feed for a single source
163
+
164
+ Drop-in replacement for the upstream `/wp-json/tsml/meetings` endpoint. Returns a bare JSON array of meetings — no pagination envelope.
165
+
166
+ ### Example
167
+
168
+ ```ts
169
+ import {
170
+ Configuration,
171
+ MeetingsApi,
172
+ } from 'c4r-aggregator-client';
173
+ import type { GetSourceFeedRequest } from 'c4r-aggregator-client';
174
+
175
+ async function example() {
176
+ console.log("🚀 Testing c4r-aggregator-client SDK...");
177
+ const api = new MeetingsApi();
178
+
179
+ const body = {
180
+ // number
181
+ source: 56,
182
+ } satisfies GetSourceFeedRequest;
183
+
184
+ try {
185
+ const data = await api.getSourceFeed(body);
186
+ console.log(data);
187
+ } catch (error) {
188
+ console.error(error);
189
+ }
190
+ }
191
+
192
+ // Run the test
193
+ example().catch(console.error);
194
+ ```
195
+
196
+ ### Parameters
197
+
198
+
199
+ | Name | Type | Description | Notes |
200
+ |------------- | ------------- | ------------- | -------------|
201
+ | **source** | `number` | | [Defaults to `undefined`] |
202
+
203
+ ### Return type
204
+
205
+ [**Array<Meeting>**](Meeting.md)
206
+
207
+ ### Authorization
208
+
209
+ No authorization required
210
+
211
+ ### HTTP request headers
212
+
213
+ - **Content-Type**: Not defined
214
+ - **Accept**: `application/json`
215
+
216
+
217
+ ### HTTP response details
218
+ | Status code | Description | Response headers |
219
+ |-------------|-------------|------------------|
220
+ | **200** | All meetings for this source | - |
221
+ | **404** | Source not found | - |
222
+
223
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
224
+
225
+
226
+ ## listMeetings
227
+
228
+ > MeetingPage listMeetings(bbox, near, radius, regionId, sourceId, program, day, type, includeInactive, cursor, limit)
229
+
230
+ Filtered meeting search
231
+
232
+ Returns meetings matching the provided filter(s). At least one of `bbox`, `near`, `region_id`, `source_id`, `program`, `day`, or `type` is required. Results are cursor-paginated (default 500/page, max 2000).
233
+
234
+ ### Example
235
+
236
+ ```ts
237
+ import {
238
+ Configuration,
239
+ MeetingsApi,
240
+ } from 'c4r-aggregator-client';
241
+ import type { ListMeetingsRequest } from 'c4r-aggregator-client';
242
+
243
+ async function example() {
244
+ console.log("🚀 Testing c4r-aggregator-client SDK...");
245
+ const api = new MeetingsApi();
246
+
247
+ const body = {
248
+ // string | Bounding box filter: `minLat,minLng,maxLat,maxLng` (optional)
249
+ bbox: 32.5,-80.5,33.5,-79.5,
250
+ // string | Center-point for radius search: `lat,lng` (optional)
251
+ near: 33.015,-80.236,
252
+ // number | Radius in miles when `near` is present. Default 25, max 50. (optional)
253
+ radius: 3.4,
254
+ // number | Limit to meetings in this region (or any descendant) (optional)
255
+ regionId: 56,
256
+ // number | Limit to meetings from this source (optional)
257
+ sourceId: 56,
258
+ // string | Program code (`AA`, `NA`, ...) (optional)
259
+ program: AA,
260
+ // number | Day of week: 0=Sunday ... 6=Saturday (optional)
261
+ day: 56,
262
+ // string | Comma-separated meeting-type codes. Meetings must match every code listed. (optional)
263
+ type: O,D,
264
+ // boolean | Include meetings marked inactive by stale-sweep. Default false. (optional)
265
+ includeInactive: true,
266
+ // string | Opaque cursor for pagination, returned in `next_cursor` / `prev_cursor` (optional)
267
+ cursor: cursor_example,
268
+ // number | Rows per page (default 500, max 2000) (optional)
269
+ limit: 56,
270
+ } satisfies ListMeetingsRequest;
271
+
272
+ try {
273
+ const data = await api.listMeetings(body);
274
+ console.log(data);
275
+ } catch (error) {
276
+ console.error(error);
277
+ }
278
+ }
279
+
280
+ // Run the test
281
+ example().catch(console.error);
282
+ ```
283
+
284
+ ### Parameters
285
+
286
+
287
+ | Name | Type | Description | Notes |
288
+ |------------- | ------------- | ------------- | -------------|
289
+ | **bbox** | `string` | Bounding box filter: `minLat,minLng,maxLat,maxLng` | [Optional] [Defaults to `undefined`] |
290
+ | **near** | `string` | Center-point for radius search: `lat,lng` | [Optional] [Defaults to `undefined`] |
291
+ | **radius** | `number` | Radius in miles when `near` is present. Default 25, max 50. | [Optional] [Defaults to `25`] |
292
+ | **regionId** | `number` | Limit to meetings in this region (or any descendant) | [Optional] [Defaults to `undefined`] |
293
+ | **sourceId** | `number` | Limit to meetings from this source | [Optional] [Defaults to `undefined`] |
294
+ | **program** | `string` | Program code (`AA`, `NA`, ...) | [Optional] [Defaults to `undefined`] |
295
+ | **day** | `number` | Day of week: 0=Sunday ... 6=Saturday | [Optional] [Defaults to `undefined`] |
296
+ | **type** | `string` | Comma-separated meeting-type codes. Meetings must match every code listed. | [Optional] [Defaults to `undefined`] |
297
+ | **includeInactive** | `boolean` | Include meetings marked inactive by stale-sweep. Default false. | [Optional] [Defaults to `false`] |
298
+ | **cursor** | `string` | Opaque cursor for pagination, returned in `next_cursor` / `prev_cursor` | [Optional] [Defaults to `undefined`] |
299
+ | **limit** | `number` | Rows per page (default 500, max 2000) | [Optional] [Defaults to `500`] |
300
+
301
+ ### Return type
302
+
303
+ [**MeetingPage**](MeetingPage.md)
304
+
305
+ ### Authorization
306
+
307
+ No authorization required
308
+
309
+ ### HTTP request headers
310
+
311
+ - **Content-Type**: Not defined
312
+ - **Accept**: `application/json`
313
+
314
+
315
+ ### HTTP response details
316
+ | Status code | Description | Response headers |
317
+ |-------------|-------------|------------------|
318
+ | **200** | Matching meetings (cursor-paginated) | - |
319
+ | **400** | No filter supplied | - |
320
+ | **422** | Validation error | - |
321
+
322
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
323
+
@@ -0,0 +1,39 @@
1
+
2
+ # MeetingsFilterError
3
+
4
+ Returned by `GET /meetings` when no filter is supplied
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `error` | string
11
+ `message` | string
12
+ `availableFilters` | Array<string>
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ import type { MeetingsFilterError } from 'c4r-aggregator-client'
18
+
19
+ // TODO: Update the object below with actual values
20
+ const example = {
21
+ "error": invalid_filters,
22
+ "message": null,
23
+ "availableFilters": null,
24
+ } satisfies MeetingsFilterError
25
+
26
+ console.log(example)
27
+
28
+ // Convert the instance to a JSON string
29
+ const exampleJSON: string = JSON.stringify(example)
30
+ console.log(exampleJSON)
31
+
32
+ // Parse the JSON string back to an object
33
+ const exampleParsed = JSON.parse(exampleJSON) as MeetingsFilterError
34
+ console.log(exampleParsed)
35
+ ```
36
+
37
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
38
+
39
+
@@ -0,0 +1,38 @@
1
+
2
+ # Program
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `id` | number
10
+ `code` | string
11
+ `name` | string
12
+
13
+ ## Example
14
+
15
+ ```typescript
16
+ import type { Program } from 'c4r-aggregator-client'
17
+
18
+ // TODO: Update the object below with actual values
19
+ const example = {
20
+ "id": null,
21
+ "code": AA,
22
+ "name": Alcoholics Anonymous,
23
+ } satisfies Program
24
+
25
+ console.log(example)
26
+
27
+ // Convert the instance to a JSON string
28
+ const exampleJSON: string = JSON.stringify(example)
29
+ console.log(exampleJSON)
30
+
31
+ // Parse the JSON string back to an object
32
+ const exampleParsed = JSON.parse(exampleJSON) as Program
33
+ console.log(exampleParsed)
34
+ ```
35
+
36
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
37
+
38
+
@@ -0,0 +1,55 @@
1
+
2
+ # PublicSource
3
+
4
+ Public view of a registered feed. Sharing keys and admin internals are hidden.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `id` | number
11
+ `name` | string
12
+ `program` | string
13
+ `feedUrl` | string
14
+ `feedKind` | string
15
+ `entity` | string
16
+ `entityUrl` | string
17
+ `entityLocation` | string
18
+ `state` | string
19
+ `lastSuccessAt` | Date
20
+ `meetingCount` | number
21
+
22
+ ## Example
23
+
24
+ ```typescript
25
+ import type { PublicSource } from 'c4r-aggregator-client'
26
+
27
+ // TODO: Update the object below with actual values
28
+ const example = {
29
+ "id": null,
30
+ "name": null,
31
+ "program": AA,
32
+ "feedUrl": null,
33
+ "feedKind": null,
34
+ "entity": null,
35
+ "entityUrl": null,
36
+ "entityLocation": null,
37
+ "state": null,
38
+ "lastSuccessAt": null,
39
+ "meetingCount": null,
40
+ } satisfies PublicSource
41
+
42
+ console.log(example)
43
+
44
+ // Convert the instance to a JSON string
45
+ const exampleJSON: string = JSON.stringify(example)
46
+ console.log(exampleJSON)
47
+
48
+ // Parse the JSON string back to an object
49
+ const exampleParsed = JSON.parse(exampleJSON) as PublicSource
50
+ console.log(exampleParsed)
51
+ ```
52
+
53
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
54
+
55
+
@@ -0,0 +1,35 @@
1
+
2
+ # SourceEnvelope
3
+
4
+ {source: AdminSource} wrapper returned by patch/delete/restore/pause/resume.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `source` | [AdminSource](AdminSource.md)
11
+
12
+ ## Example
13
+
14
+ ```typescript
15
+ import type { SourceEnvelope } from 'c4r-aggregator-client'
16
+
17
+ // TODO: Update the object below with actual values
18
+ const example = {
19
+ "source": null,
20
+ } satisfies SourceEnvelope
21
+
22
+ console.log(example)
23
+
24
+ // Convert the instance to a JSON string
25
+ const exampleJSON: string = JSON.stringify(example)
26
+ console.log(exampleJSON)
27
+
28
+ // Parse the JSON string back to an object
29
+ const exampleParsed = JSON.parse(exampleJSON) as SourceEnvelope
30
+ console.log(exampleParsed)
31
+ ```
32
+
33
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
34
+
35
+
@@ -0,0 +1,37 @@
1
+
2
+ # SourceRefreshResponse
3
+
4
+ Result of queueing an immediate re-fetch for a source.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `source` | [AdminSource](AdminSource.md)
11
+ `dispatched` | boolean
12
+
13
+ ## Example
14
+
15
+ ```typescript
16
+ import type { SourceRefreshResponse } from 'c4r-aggregator-client'
17
+
18
+ // TODO: Update the object below with actual values
19
+ const example = {
20
+ "source": null,
21
+ "dispatched": null,
22
+ } satisfies SourceRefreshResponse
23
+
24
+ console.log(example)
25
+
26
+ // Convert the instance to a JSON string
27
+ const exampleJSON: string = JSON.stringify(example)
28
+ console.log(exampleJSON)
29
+
30
+ // Parse the JSON string back to an object
31
+ const exampleParsed = JSON.parse(exampleJSON) as SourceRefreshResponse
32
+ console.log(exampleParsed)
33
+ ```
34
+
35
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
36
+
37
+
@@ -0,0 +1,76 @@
1
+ # SourcesApi
2
+
3
+ All URIs are relative to *http://localhost*
4
+
5
+ | Method | HTTP request | Description |
6
+ |------------- | ------------- | -------------|
7
+ | [**listSources**](SourcesApi.md#listsources) | **GET** /api/v1/sources | Public list of registered sources |
8
+
9
+
10
+
11
+ ## listSources
12
+
13
+ > Array<PublicSource> listSources(program)
14
+
15
+ Public list of registered sources
16
+
17
+ Returns every registered source minus admin-only fields (sharing keys, next_fetch_at, failures, etc.). Filter by `program` to scope to one program (e.g. `AA`, `NA`); unknown codes return an empty array.
18
+
19
+ ### Example
20
+
21
+ ```ts
22
+ import {
23
+ Configuration,
24
+ SourcesApi,
25
+ } from 'c4r-aggregator-client';
26
+ import type { ListSourcesRequest } from 'c4r-aggregator-client';
27
+
28
+ async function example() {
29
+ console.log("🚀 Testing c4r-aggregator-client SDK...");
30
+ const api = new SourcesApi();
31
+
32
+ const body = {
33
+ // string | Program code (`AA`, `NA`, ...) (optional)
34
+ program: AA,
35
+ } satisfies ListSourcesRequest;
36
+
37
+ try {
38
+ const data = await api.listSources(body);
39
+ console.log(data);
40
+ } catch (error) {
41
+ console.error(error);
42
+ }
43
+ }
44
+
45
+ // Run the test
46
+ example().catch(console.error);
47
+ ```
48
+
49
+ ### Parameters
50
+
51
+
52
+ | Name | Type | Description | Notes |
53
+ |------------- | ------------- | ------------- | -------------|
54
+ | **program** | `string` | Program code (`AA`, `NA`, ...) | [Optional] [Defaults to `undefined`] |
55
+
56
+ ### Return type
57
+
58
+ [**Array<PublicSource>**](PublicSource.md)
59
+
60
+ ### Authorization
61
+
62
+ No authorization required
63
+
64
+ ### HTTP request headers
65
+
66
+ - **Content-Type**: Not defined
67
+ - **Accept**: `application/json`
68
+
69
+
70
+ ### HTTP response details
71
+ | Status code | Description | Response headers |
72
+ |-------------|-------------|------------------|
73
+ | **200** | Registered sources | - |
74
+
75
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
76
+
package/docs/Stats.md ADDED
@@ -0,0 +1,51 @@
1
+
2
+ # Stats
3
+
4
+ Aggregator-wide counts snapshot. Cached 60 seconds (per program filter).
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `generatedAt` | Date
11
+ `program` | string
12
+ `meetings` | [StatsMeetings](StatsMeetings.md)
13
+ `locations` | [StatsLocations](StatsLocations.md)
14
+ `groups` | [StatsGroups](StatsGroups.md)
15
+ `sources` | [StatsSources](StatsSources.md)
16
+ `meetingTypes` | [StatsMeetingTypes](StatsMeetingTypes.md)
17
+ `programsBreakdown` | [Array<StatsProgramsBreakdownInner>](StatsProgramsBreakdownInner.md)
18
+ `lastSuccessfulIngestAt` | Date
19
+
20
+ ## Example
21
+
22
+ ```typescript
23
+ import type { Stats } from 'c4r-aggregator-client'
24
+
25
+ // TODO: Update the object below with actual values
26
+ const example = {
27
+ "generatedAt": null,
28
+ "program": AA,
29
+ "meetings": null,
30
+ "locations": null,
31
+ "groups": null,
32
+ "sources": null,
33
+ "meetingTypes": null,
34
+ "programsBreakdown": null,
35
+ "lastSuccessfulIngestAt": null,
36
+ } satisfies Stats
37
+
38
+ console.log(example)
39
+
40
+ // Convert the instance to a JSON string
41
+ const exampleJSON: string = JSON.stringify(example)
42
+ console.log(exampleJSON)
43
+
44
+ // Parse the JSON string back to an object
45
+ const exampleParsed = JSON.parse(exampleJSON) as Stats
46
+ console.log(exampleParsed)
47
+ ```
48
+
49
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
50
+
51
+
@@ -0,0 +1,35 @@
1
+
2
+ # StatsGroups
3
+
4
+ Group-count breakdowns in Stats.
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `total` | number
11
+
12
+ ## Example
13
+
14
+ ```typescript
15
+ import type { StatsGroups } from 'c4r-aggregator-client'
16
+
17
+ // TODO: Update the object below with actual values
18
+ const example = {
19
+ "total": null,
20
+ } satisfies StatsGroups
21
+
22
+ console.log(example)
23
+
24
+ // Convert the instance to a JSON string
25
+ const exampleJSON: string = JSON.stringify(example)
26
+ console.log(exampleJSON)
27
+
28
+ // Parse the JSON string back to an object
29
+ const exampleParsed = JSON.parse(exampleJSON) as StatsGroups
30
+ console.log(exampleParsed)
31
+ ```
32
+
33
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
34
+
35
+