@redpanda-data/docs-extensions-and-macros 4.13.1 → 4.13.3

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 (37) hide show
  1. package/bin/doc-tools-mcp.js +16 -4
  2. package/bin/doc-tools.js +768 -2089
  3. package/bin/mcp-tools/generated-docs-review.js +2 -2
  4. package/bin/mcp-tools/mcp-validation.js +1 -1
  5. package/bin/mcp-tools/openapi.js +2 -2
  6. package/bin/mcp-tools/property-docs.js +18 -0
  7. package/bin/mcp-tools/rpcn-docs.js +28 -3
  8. package/cli-utils/antora-utils.js +53 -2
  9. package/cli-utils/dependencies.js +313 -0
  10. package/cli-utils/diff-utils.js +273 -0
  11. package/cli-utils/doc-tools-utils.js +54 -0
  12. package/extensions/algolia-indexer/generate-index.js +134 -102
  13. package/extensions/algolia-indexer/index.js +70 -38
  14. package/extensions/collect-bloblang-samples.js +2 -1
  15. package/extensions/generate-rp-connect-categories.js +125 -67
  16. package/extensions/generate-rp-connect-info.js +291 -137
  17. package/macros/rp-connect-components.js +34 -5
  18. package/package.json +4 -3
  19. package/tools/add-commercial-names.js +207 -0
  20. package/tools/bundle-openapi.js +1 -1
  21. package/tools/generate-cli-docs.js +6 -2
  22. package/tools/get-console-version.js +5 -0
  23. package/tools/get-redpanda-version.js +5 -0
  24. package/tools/property-extractor/compare-properties.js +3 -3
  25. package/tools/property-extractor/generate-handlebars-docs.js +14 -14
  26. package/tools/property-extractor/generate-pr-summary.js +46 -0
  27. package/tools/property-extractor/pr-summary-formatter.js +375 -0
  28. package/tools/redpanda-connect/README.adoc +403 -38
  29. package/tools/redpanda-connect/connector-binary-analyzer.js +588 -0
  30. package/tools/redpanda-connect/generate-rpcn-connector-docs.js +97 -34
  31. package/tools/redpanda-connect/parse-csv-connectors.js +1 -1
  32. package/tools/redpanda-connect/pr-summary-formatter.js +663 -0
  33. package/tools/redpanda-connect/report-delta.js +70 -2
  34. package/tools/redpanda-connect/rpcn-connector-docs-handler.js +1279 -0
  35. package/tools/redpanda-connect/templates/connector.hbs +38 -0
  36. package/tools/redpanda-connect/templates/intro.hbs +0 -20
  37. package/tools/redpanda-connect/update-nav.js +216 -0
@@ -4,7 +4,7 @@ const { execSync } = require('child_process');
4
4
  * Generate a JSON diff report between two connector index objects.
5
5
  * @param {object} oldIndex - Previous version connector index
6
6
  * @param {object} newIndex - Current version connector index
7
- * @param {object} opts - { oldVersion, newVersion, timestamp }
7
+ * @param {object} opts - { oldVersion, newVersion, timestamp, binaryAnalysis, oldBinaryAnalysis }
8
8
  * @returns {object} JSON diff report
9
9
  */
10
10
  function generateConnectorDiffJson(oldIndex, newIndex, opts = {}) {
@@ -163,7 +163,7 @@ function generateConnectorDiffJson(oldIndex, newIndex, opts = {}) {
163
163
  });
164
164
  });
165
165
 
166
- return {
166
+ const result = {
167
167
  comparison: {
168
168
  oldVersion: opts.oldVersion || '',
169
169
  newVersion: opts.newVersion || '',
@@ -188,6 +188,74 @@ function generateConnectorDiffJson(oldIndex, newIndex, opts = {}) {
188
188
  changedDefaults
189
189
  }
190
190
  };
191
+
192
+ // Include binary analysis data if provided
193
+ if (opts.binaryAnalysis) {
194
+ const ba = opts.binaryAnalysis;
195
+ const oldBa = opts.oldBinaryAnalysis || {};
196
+
197
+ result.binaryAnalysis = {
198
+ versions: {
199
+ oss: ba.ossVersion,
200
+ cloud: ba.cloudVersion || null,
201
+ cgo: ba.cgoVersion || null
202
+ },
203
+ current: {
204
+ cloudSupported: ba.comparison?.inCloud?.length || 0,
205
+ selfHostedOnly: ba.comparison?.notInCloud?.length || 0,
206
+ cgoOnly: ba.cgoOnly?.length || 0
207
+ },
208
+ changes: {}
209
+ };
210
+
211
+ // Calculate cloud support changes
212
+ if (oldBa.comparison && ba.comparison) {
213
+ const oldCloudSet = new Set(oldBa.comparison.inCloud?.map(c => `${c.type}:${c.name}`) || []);
214
+ const newCloudSet = new Set(ba.comparison.inCloud?.map(c => `${c.type}:${c.name}`) || []);
215
+
216
+ const addedToCloud = ba.comparison.inCloud?.filter(c =>
217
+ !oldCloudSet.has(`${c.type}:${c.name}`)
218
+ ) || [];
219
+
220
+ const removedFromCloud = oldBa.comparison.inCloud?.filter(c =>
221
+ !newCloudSet.has(`${c.type}:${c.name}`)
222
+ ) || [];
223
+
224
+ result.binaryAnalysis.changes.cloud = {
225
+ added: addedToCloud.map(c => ({ type: c.type, name: c.name, status: c.status })),
226
+ removed: removedFromCloud.map(c => ({ type: c.type, name: c.name, status: c.status }))
227
+ };
228
+ }
229
+
230
+ // Calculate cgo-only changes
231
+ if (oldBa.cgoOnly && ba.cgoOnly) {
232
+ const oldCgoSet = new Set(oldBa.cgoOnly.map(c => `${c.type}:${c.name}`));
233
+ const newCgoSet = new Set(ba.cgoOnly.map(c => `${c.type}:${c.name}`));
234
+
235
+ const newCgoOnly = ba.cgoOnly.filter(c =>
236
+ !oldCgoSet.has(`${c.type}:${c.name}`)
237
+ );
238
+
239
+ const removedCgoOnly = oldBa.cgoOnly.filter(c =>
240
+ !newCgoSet.has(`${c.type}:${c.name}`)
241
+ );
242
+
243
+ result.binaryAnalysis.changes.cgo = {
244
+ newCgoOnly: newCgoOnly.map(c => ({ type: c.type, name: c.name, status: c.status })),
245
+ removedCgoOnly: removedCgoOnly.map(c => ({ type: c.type, name: c.name, status: c.status }))
246
+ };
247
+ }
248
+
249
+ // Include full lists for reference
250
+ result.binaryAnalysis.details = {
251
+ cloudSupported: ba.comparison?.inCloud?.map(c => ({ type: c.type, name: c.name, status: c.status })) || [],
252
+ selfHostedOnly: ba.comparison?.notInCloud?.map(c => ({ type: c.type, name: c.name, status: c.status })) || [],
253
+ cloudOnly: ba.comparison?.cloudOnly?.map(c => ({ type: c.type, name: c.name, status: c.status })) || [],
254
+ cgoOnly: ba.cgoOnly?.map(c => ({ type: c.type, name: c.name, status: c.status })) || []
255
+ };
256
+ }
257
+
258
+ return result;
191
259
  }
192
260
 
193
261
  function discoverComponentKeys(obj) {