@meshery/schemas 1.2.22 → 1.2.23

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 (88) hide show
  1. package/dist/cloudApi.d.mts +1719 -1518
  2. package/dist/cloudApi.d.ts +1719 -1518
  3. package/dist/cloudApi.js +1 -1
  4. package/dist/cloudApi.mjs +1 -1
  5. package/dist/constructs/v1alpha1/capability/Capability.d.ts +111 -106
  6. package/dist/constructs/v1alpha1/core/Core.d.ts +734 -822
  7. package/dist/constructs/v1alpha2/catalog/Catalog.d.ts +40 -45
  8. package/dist/constructs/v1alpha3/relationship/Relationship.d.ts +1716 -1829
  9. package/dist/constructs/v1beta1/academy/Academy.d.ts +6648 -6029
  10. package/dist/constructs/v1beta1/badge/Badge.d.ts +600 -439
  11. package/dist/constructs/v1beta1/capability/Capability.d.ts +111 -106
  12. package/dist/constructs/v1beta1/catalog/Catalog.d.ts +40 -45
  13. package/dist/constructs/v1beta1/category/Category.d.ts +26 -38
  14. package/dist/constructs/v1beta1/component/Component.d.ts +729 -833
  15. package/dist/constructs/v1beta1/connection/Connection.d.ts +1357 -1170
  16. package/dist/constructs/v1beta1/core/Core.d.ts +734 -822
  17. package/dist/constructs/v1beta1/credential/Credential.d.ts +593 -458
  18. package/dist/constructs/v1beta1/environment/Environment.d.ts +835 -666
  19. package/dist/constructs/v1beta1/evaluation/Evaluation.d.ts +5508 -6030
  20. package/dist/constructs/v1beta1/event/Event.d.ts +898 -527
  21. package/dist/constructs/v1beta1/feature/Feature.d.ts +287 -249
  22. package/dist/constructs/v1beta1/invitation/Invitation.d.ts +1244 -877
  23. package/dist/constructs/v1beta1/key/Key.d.ts +589 -444
  24. package/dist/constructs/v1beta1/keychain/Keychain.d.ts +796 -575
  25. package/dist/constructs/v1beta1/model/Model.d.ts +572 -598
  26. package/dist/constructs/v1beta1/organization/Organization.d.ts +1829 -1410
  27. package/dist/constructs/v1beta1/pattern/Pattern.d.ts +17093 -17910
  28. package/dist/constructs/v1beta1/plan/Plan.d.ts +159 -115
  29. package/dist/constructs/v1beta1/role/Role.d.ts +933 -688
  30. package/dist/constructs/v1beta1/schedule/Schedule.d.ts +425 -315
  31. package/dist/constructs/v1beta1/subcategory/Subcategory.d.ts +18 -61
  32. package/dist/constructs/v1beta1/subscription/Subscription.d.ts +839 -674
  33. package/dist/constructs/v1beta1/support/Support.d.ts +115 -74
  34. package/dist/constructs/v1beta1/system/System.d.ts +434 -0
  35. package/dist/constructs/v1beta1/system/System.js +1 -0
  36. package/dist/constructs/v1beta1/system/System.mjs +0 -0
  37. package/dist/constructs/v1beta1/system/SystemSchema.d.ts +2 -0
  38. package/dist/constructs/v1beta1/system/SystemSchema.js +2 -0
  39. package/dist/constructs/v1beta1/system/SystemSchema.mjs +2 -0
  40. package/dist/constructs/v1beta1/team/Team.d.ts +1028 -762
  41. package/dist/constructs/v1beta1/token/Token.d.ts +612 -475
  42. package/dist/constructs/v1beta1/user/User.d.ts +1723 -1554
  43. package/dist/constructs/v1beta1/view/View.d.ts +833 -664
  44. package/dist/constructs/v1beta1/workspace/Workspace.d.ts +4900 -4695
  45. package/dist/constructs/v1beta2/academy/Academy.d.ts +7840 -7222
  46. package/dist/constructs/v1beta2/badge/Badge.d.ts +610 -453
  47. package/dist/constructs/v1beta2/catalog/Catalog.d.ts +40 -45
  48. package/dist/constructs/v1beta2/component/Component.d.ts +747 -851
  49. package/dist/constructs/v1beta2/connection/Connection.d.ts +1376 -1189
  50. package/dist/constructs/v1beta2/core/Core.d.ts +768 -856
  51. package/dist/constructs/v1beta2/credential/Credential.d.ts +572 -437
  52. package/dist/constructs/v1beta2/design/Design.d.ts +17682 -18467
  53. package/dist/constructs/v1beta2/event/Event.d.ts +946 -575
  54. package/dist/constructs/v1beta2/invitation/Invitation.d.ts +1268 -901
  55. package/dist/constructs/v1beta2/key/Key.d.ts +599 -454
  56. package/dist/constructs/v1beta2/keychain/Keychain.d.ts +806 -585
  57. package/dist/constructs/v1beta2/model/Model.d.ts +610 -636
  58. package/dist/constructs/v1beta2/organization/Organization.d.ts +2135 -1724
  59. package/dist/constructs/v1beta2/plan/Plan.d.ts +169 -128
  60. package/dist/constructs/v1beta2/relationship/Relationship.d.ts +1842 -2011
  61. package/dist/constructs/v1beta2/role/Role.d.ts +940 -695
  62. package/dist/constructs/v1beta2/schedule/Schedule.d.ts +466 -356
  63. package/dist/constructs/v1beta2/subscription/Subscription.d.ts +866 -701
  64. package/dist/constructs/v1beta2/team/Team.d.ts +1118 -852
  65. package/dist/constructs/v1beta2/token/Token.d.ts +616 -479
  66. package/dist/constructs/v1beta2/user/User.d.ts +1723 -1554
  67. package/dist/constructs/v1beta2/view/View.d.ts +838 -669
  68. package/dist/constructs/v1beta3/academy/Academy.d.ts +7836 -7218
  69. package/dist/constructs/v1beta3/component/Component.d.ts +753 -857
  70. package/dist/constructs/v1beta3/connection/Connection.d.ts +1447 -1260
  71. package/dist/constructs/v1beta3/design/Design.d.ts +5727 -5305
  72. package/dist/constructs/v1beta3/environment/Environment.d.ts +858 -689
  73. package/dist/constructs/v1beta3/event/Event.d.ts +1041 -666
  74. package/dist/constructs/v1beta3/filter/Filter.d.ts +1437 -1299
  75. package/dist/constructs/v1beta3/invitation/Invitation.d.ts +1277 -910
  76. package/dist/constructs/v1beta3/performance_profile/PerformanceProfile.d.ts +850 -690
  77. package/dist/constructs/v1beta3/plan/Plan.d.ts +197 -156
  78. package/dist/constructs/v1beta3/relationship/Relationship.d.ts +1842 -2011
  79. package/dist/constructs/v1beta3/subscription/Subscription.d.ts +969 -804
  80. package/dist/constructs/v1beta3/token/Token.d.ts +616 -479
  81. package/dist/constructs/v1beta3/workspace/Workspace.d.ts +5030 -4822
  82. package/dist/index.d.mts +5480 -5022
  83. package/dist/index.d.ts +5480 -5022
  84. package/dist/mesheryApi.d.mts +1314 -522
  85. package/dist/mesheryApi.d.ts +1314 -522
  86. package/dist/mesheryApi.js +1 -1
  87. package/dist/mesheryApi.mjs +1 -1
  88. package/package.json +1 -2
@@ -4,667 +4,134 @@
4
4
  */
5
5
 
6
6
  export interface paths {
7
- "/api/content/filters": {
8
- /** Returns a paginated list of filters accessible to the user. */
9
- get: operations["getFilters"];
10
- /** Creates or updates a Meshery filter. */
11
- post: operations["upsertFilter"];
12
- };
13
- "/api/content/filters/delete": {
14
- /**
15
- * Deletes multiple filters by ID. Modeled as a `POST .../delete`
16
- * sub-resource because REST clients and proxies may strip request
17
- * bodies on `DELETE`.
18
- */
19
- post: operations["deleteFilters"];
20
- };
21
- "/api/content/filters/{filterId}": {
22
- get: operations["getFilter"];
23
- /**
24
- * Updates the filter at the supplied ID with the provided payload.
25
- * Provided as a canonical-CRUD complement to the upsert `POST
26
- * /api/content/filters` form so consumers that prefer explicit
27
- * update semantics can address the resource directly.
28
- */
29
- put: operations["updateFilter"];
30
- delete: operations["deleteFilter"];
31
- };
32
- "/api/content/filters/clone/{filterId}": {
33
- /** Creates a copy of an existing filter. */
34
- post: operations["cloneFilter"];
35
- };
36
- "/api/content/filters/download/{filterId}": {
37
- /**
38
- * Downloads the raw filter body associated with the supplied
39
- * filter ID. The server streams the bytes verbatim with
40
- * `Content-Type: application/wasm` and a
41
- * `Content-Disposition: attachment` header naming the filter.
42
- */
43
- get: operations["getFilterFile"];
44
- };
45
- }
46
-
47
- export interface components {
48
- schemas: {
49
- /**
50
- * Filter Schema
51
- * @description Server-returned Meshery filter resource as persisted by meshery-cloud
52
- * (`meshery_filters` table) and consumed by meshery's
53
- * `models.MesheryFilter`. Filters carry an opaque body (`filterFile`) plus
54
- * catalog and visibility metadata, and follow the same content-resource
55
- * shape as designs minus the catalog engagement counters (the
56
- * `meshery_filters` table has no `view_count` / `download_count` columns).
57
- */
58
- MesheryFilter: {
59
- /**
60
- * Format: uuid
61
- * @description Server-generated filter ID.
62
- */
63
- id: string;
64
- /** @description Human-readable filter name; required, used for catalog listings. */
65
- name: string;
66
- /**
67
- * Format: uuid
68
- * @description Owning user ID.
69
- */
70
- userId: string;
71
- /**
72
- * Format: byte
73
- * @description Raw filter source persisted as a byte array (`bytea` column
74
- * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
75
- */
76
- filterFile?: string;
77
- /**
78
- * @description Filter resource discriminator describing the filter body's source
79
- * format (e.g. WASM module identifier or external resource path).
80
- * Stored in the `filter_resource` text column.
81
- */
82
- filterResource?: string;
83
- /** @description Optional structured location metadata (branch, host, path, ...). */
84
- location?: { [key: string]: string };
85
- /**
86
- * @description Visibility scope (private, public, published).
87
- * @enum {string}
88
- */
89
- visibility?: "private" | "public" | "published";
90
- /** @description Catalog metadata attached to the filter when published. */
91
- catalogData?: {
92
- /** @description Tracks the specific content version that has been made available in the Catalog. */
93
- publishedVersion?: string;
94
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
95
- class?: string;
96
- /**
97
- * Model
98
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
99
- */
100
- compatibility: "kubernetes"[];
101
- /**
102
- * Caveats and Considerations
103
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
104
- */
105
- patternCaveats: string;
7
+ "/api/content/filters": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
106
14
  /**
107
- * Description
108
- * @description Purpose of the design along with its intended and unintended uses.
15
+ * Get filters
16
+ * @description Returns a paginated list of filters accessible to the user.
109
17
  */
110
- patternInfo: string;
18
+ get: operations["getFilters"];
19
+ put?: never;
111
20
  /**
112
- * Type
113
- * @description Categorization of the type of design or operational flow depicted in this design.
114
- * @default Deployment
115
- * @enum {string}
21
+ * Save filter
22
+ * @description Creates or updates a Meshery filter.
116
23
  */
117
- type:
118
- | "Deployment"
119
- | "Observability"
120
- | "Resiliency"
121
- | "Scaling"
122
- | "Security"
123
- | "Traffic-management"
124
- | "Troubleshooting"
125
- | "Workloads";
126
- /** @description Contains reference to the dark and light mode snapshots of the design. */
127
- snapshotURL?: string[];
128
- };
129
- /**
130
- * Format: date-time
131
- * @description Timestamp of filter creation.
132
- */
133
- createdAt: string;
134
- /**
135
- * Format: date-time
136
- * @description Timestamp of last filter modification.
137
- */
138
- updatedAt: string;
24
+ post: operations["upsertFilter"];
25
+ delete?: never;
26
+ options?: never;
27
+ head?: never;
28
+ patch?: never;
29
+ trace?: never;
139
30
  };
140
- /**
141
- * @description Payload for creating or updating a filter via
142
- * `POST /api/content/filters` or
143
- * `PUT /api/content/filters/{filterId}`. Contains only
144
- * client-settable fields; server-generated `createdAt` /
145
- * `updatedAt` and the owning `userId` (which the server derives
146
- * from the authenticated session) are intentionally excluded.
147
- */
148
- MesheryFilterPayload: {
149
- /**
150
- * Format: uuid
151
- * @description Existing filter ID for updates; omit on create. Wrapped in
152
- * an `allOf` so we can attach the `json:"id,omitempty"` tag
153
- * for upsert ergonomics without recursing into the underlying
154
- * UUID definition.
155
- */
156
- id?: string;
157
- /** @description Human-readable filter name. */
158
- name: string;
159
- /**
160
- * Format: byte
161
- * @description Raw filter source as base64-encoded bytes (`format: byte`).
162
- * Optional on update — the server preserves the existing body
163
- * when omitted.
164
- */
165
- filterFile?: string;
166
- /**
167
- * @description Filter resource discriminator describing the body's source
168
- * format (e.g. WASM module identifier or external resource
169
- * path).
170
- */
171
- filterResource?: string;
172
- /** @description Optional structured location metadata. */
173
- location?: { [key: string]: string };
174
- /**
175
- * @description Requested visibility scope. The server may downgrade a
176
- * requested `published` value to `private` for callers that
177
- * do not own the filter.
178
- *
179
- * @enum {string}
180
- */
181
- visibility?: "private" | "public" | "published";
182
- /** @description Catalog metadata to attach when publishing. */
183
- catalogData?: {
184
- /** @description Tracks the specific content version that has been made available in the Catalog. */
185
- publishedVersion?: string;
186
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
187
- class?: string;
188
- /**
189
- * Model
190
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
191
- */
192
- compatibility: "kubernetes"[];
193
- /**
194
- * Caveats and Considerations
195
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
196
- */
197
- patternCaveats: string;
198
- /**
199
- * Description
200
- * @description Purpose of the design along with its intended and unintended uses.
201
- */
202
- patternInfo: string;
31
+ "/api/content/filters/delete": {
32
+ parameters: {
33
+ query?: never;
34
+ header?: never;
35
+ path?: never;
36
+ cookie?: never;
37
+ };
38
+ get?: never;
39
+ put?: never;
203
40
  /**
204
- * Type
205
- * @description Categorization of the type of design or operational flow depicted in this design.
206
- * @default Deployment
207
- * @enum {string}
41
+ * Bulk delete filters
42
+ * @description Deletes multiple filters by ID. Modeled as a `POST .../delete`
43
+ * sub-resource because REST clients and proxies may strip request
44
+ * bodies on `DELETE`.
208
45
  */
209
- type:
210
- | "Deployment"
211
- | "Observability"
212
- | "Resiliency"
213
- | "Scaling"
214
- | "Security"
215
- | "Traffic-management"
216
- | "Troubleshooting"
217
- | "Workloads";
218
- /** @description Contains reference to the dark and light mode snapshots of the design. */
219
- snapshotURL?: string[];
220
- };
46
+ post: operations["deleteFilters"];
47
+ delete?: never;
48
+ options?: never;
49
+ head?: never;
50
+ patch?: never;
51
+ trace?: never;
221
52
  };
222
- /** @description Paginated collection of filters. */
223
- MesheryFilterPage: {
224
- /** @description Current page number of the result set. */
225
- page?: number;
226
- /** @description Number of items per page. */
227
- pageSize?: number;
228
- /** @description Total number of items available. */
229
- totalCount?: number;
230
- /** @description Filters included on this page of results. */
231
- filters?: {
232
- /**
233
- * Format: uuid
234
- * @description Server-generated filter ID.
235
- */
236
- id: string;
237
- /** @description Human-readable filter name; required, used for catalog listings. */
238
- name: string;
239
- /**
240
- * Format: uuid
241
- * @description Owning user ID.
242
- */
243
- userId: string;
244
- /**
245
- * Format: byte
246
- * @description Raw filter source persisted as a byte array (`bytea` column
247
- * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
248
- */
249
- filterFile?: string;
250
- /**
251
- * @description Filter resource discriminator describing the filter body's source
252
- * format (e.g. WASM module identifier or external resource path).
253
- * Stored in the `filter_resource` text column.
254
- */
255
- filterResource?: string;
256
- /** @description Optional structured location metadata (branch, host, path, ...). */
257
- location?: { [key: string]: string };
258
- /**
259
- * @description Visibility scope (private, public, published).
260
- * @enum {string}
261
- */
262
- visibility?: "private" | "public" | "published";
263
- /** @description Catalog metadata attached to the filter when published. */
264
- catalogData?: {
265
- /** @description Tracks the specific content version that has been made available in the Catalog. */
266
- publishedVersion?: string;
267
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
268
- class?: string;
269
- /**
270
- * Model
271
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
272
- */
273
- compatibility: "kubernetes"[];
274
- /**
275
- * Caveats and Considerations
276
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
277
- */
278
- patternCaveats: string;
279
- /**
280
- * Description
281
- * @description Purpose of the design along with its intended and unintended uses.
282
- */
283
- patternInfo: string;
284
- /**
285
- * Type
286
- * @description Categorization of the type of design or operational flow depicted in this design.
287
- * @default Deployment
288
- * @enum {string}
289
- */
290
- type:
291
- | "Deployment"
292
- | "Observability"
293
- | "Resiliency"
294
- | "Scaling"
295
- | "Security"
296
- | "Traffic-management"
297
- | "Troubleshooting"
298
- | "Workloads";
299
- /** @description Contains reference to the dark and light mode snapshots of the design. */
300
- snapshotURL?: string[];
53
+ "/api/content/filters/{filterId}": {
54
+ parameters: {
55
+ query?: never;
56
+ header?: never;
57
+ path?: never;
58
+ cookie?: never;
301
59
  };
60
+ /** Get filter by ID */
61
+ get: operations["getFilter"];
302
62
  /**
303
- * Format: date-time
304
- * @description Timestamp of filter creation.
63
+ * Update filter by ID
64
+ * @description Updates the filter at the supplied ID with the provided payload.
65
+ * Provided as a canonical-CRUD complement to the upsert `POST
66
+ * /api/content/filters` form so consumers that prefer explicit
67
+ * update semantics can address the resource directly.
305
68
  */
306
- createdAt: string;
307
- /**
308
- * Format: date-time
309
- * @description Timestamp of last filter modification.
310
- */
311
- updatedAt: string;
312
- }[];
313
- };
314
- /** @description Reference to a filter for bulk deletion by ID. */
315
- DeleteFilterModel: {
316
- /**
317
- * Format: uuid
318
- * @description Filter ID targeted for deletion.
319
- */
320
- id?: string;
321
- /**
322
- * @description Human-readable filter name (informational only; the server
323
- * matches on `id`).
324
- */
325
- name?: string;
69
+ put: operations["updateFilter"];
70
+ post?: never;
71
+ /** Delete filter by ID */
72
+ delete: operations["deleteFilter"];
73
+ options?: never;
74
+ head?: never;
75
+ patch?: never;
76
+ trace?: never;
326
77
  };
327
- /** @description Payload for bulk deleting filters by ID. */
328
- MesheryFilterDeleteRequestBody: {
329
- /** @description Filters targeted for deletion. */
330
- filters: {
331
- /**
332
- * Format: uuid
333
- * @description Filter ID targeted for deletion.
334
- */
335
- id?: string;
78
+ "/api/content/filters/clone/{filterId}": {
79
+ parameters: {
80
+ query?: never;
81
+ header?: never;
82
+ path?: never;
83
+ cookie?: never;
84
+ };
85
+ get?: never;
86
+ put?: never;
336
87
  /**
337
- * @description Human-readable filter name (informational only; the server
338
- * matches on `id`).
88
+ * Clone filter
89
+ * @description Creates a copy of an existing filter.
339
90
  */
340
- name?: string;
341
- }[];
342
- };
343
- /**
344
- * @description Payload for `POST /api/content/filters/clone/{filterId}`. The
345
- * only client-settable field is the optional name applied to the
346
- * cloned filter; the server derives ownership and visibility from
347
- * the request context.
348
- */
349
- MesheryFilterCloneRequestBody: {
350
- /**
351
- * @description Optional name to apply to the cloned filter. Defaults to a
352
- * server-generated derivative of the source filter's name.
353
- */
354
- name?: string;
91
+ post: operations["cloneFilter"];
92
+ delete?: never;
93
+ options?: never;
94
+ head?: never;
95
+ patch?: never;
96
+ trace?: never;
355
97
  };
356
- /**
357
- * @description Payload for upserting a filter via `POST /api/content/filters`.
358
- * Mirrors meshery-cloud's `MesheryFilterRequestBody` and
359
- * meshery's `MesheryFilterRequestBody` — the wrapper carries an
360
- * optional source URL/path plus a `save` toggle and an embedded
361
- * `filterData` payload. Wire form for the embedded payload field
362
- * is canonical camelCase (`filterData`); legacy snake_case
363
- * (`filter_data`) is accepted by the existing handlers for the
364
- * deprecation window but new clients MUST emit `filterData`.
365
- */
366
- MesheryFilterRequestBody: {
367
- /**
368
- * Format: uri
369
- * @description Optional source URL the filter was fetched from.
370
- */
371
- url?: string;
372
- /** @description Optional source path the filter was loaded from. */
373
- path?: string;
374
- /**
375
- * @description When true, persist the filter in addition to parsing it.
376
- * When false, the server returns the parsed payload without
377
- * committing it to the database.
378
- */
379
- save?: boolean;
380
- /** @description Filter body to persist. */
381
- filterData?: {
382
- /**
383
- * Format: uuid
384
- * @description Existing filter ID for updates; omit on create. Wrapped in
385
- * an `allOf` so we can attach the `json:"id,omitempty"` tag
386
- * for upsert ergonomics without recursing into the underlying
387
- * UUID definition.
388
- */
389
- id?: string;
390
- /** @description Human-readable filter name. */
391
- name: string;
392
- /**
393
- * Format: byte
394
- * @description Raw filter source as base64-encoded bytes (`format: byte`).
395
- * Optional on update — the server preserves the existing body
396
- * when omitted.
397
- */
398
- filterFile?: string;
399
- /**
400
- * @description Filter resource discriminator describing the body's source
401
- * format (e.g. WASM module identifier or external resource
402
- * path).
403
- */
404
- filterResource?: string;
405
- /** @description Optional structured location metadata. */
406
- location?: { [key: string]: string };
98
+ "/api/content/filters/download/{filterId}": {
99
+ parameters: {
100
+ query?: never;
101
+ header?: never;
102
+ path?: never;
103
+ cookie?: never;
104
+ };
407
105
  /**
408
- * @description Requested visibility scope. The server may downgrade a
409
- * requested `published` value to `private` for callers that
410
- * do not own the filter.
411
- *
412
- * @enum {string}
106
+ * Download filter file
107
+ * @description Downloads the raw filter body associated with the supplied
108
+ * filter ID. The server streams the bytes verbatim with
109
+ * `Content-Type: application/wasm` and a
110
+ * `Content-Disposition: attachment` header naming the filter.
413
111
  */
414
- visibility?: "private" | "public" | "published";
415
- /** @description Catalog metadata to attach when publishing. */
416
- catalogData?: {
417
- /** @description Tracks the specific content version that has been made available in the Catalog. */
418
- publishedVersion?: string;
419
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
420
- class?: string;
421
- /**
422
- * Model
423
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
424
- */
425
- compatibility: "kubernetes"[];
426
- /**
427
- * Caveats and Considerations
428
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
429
- */
430
- patternCaveats: string;
431
- /**
432
- * Description
433
- * @description Purpose of the design along with its intended and unintended uses.
434
- */
435
- patternInfo: string;
436
- /**
437
- * Type
438
- * @description Categorization of the type of design or operational flow depicted in this design.
439
- * @default Deployment
440
- * @enum {string}
441
- */
442
- type:
443
- | "Deployment"
444
- | "Observability"
445
- | "Resiliency"
446
- | "Scaling"
447
- | "Security"
448
- | "Traffic-management"
449
- | "Troubleshooting"
450
- | "Workloads";
451
- /** @description Contains reference to the dark and light mode snapshots of the design. */
452
- snapshotURL?: string[];
453
- };
454
- };
455
- /**
456
- * @description Optional opaque configuration string passed through to the
457
- * underlying filter runtime. Persisted only on the local
458
- * meshery `MesheryFilterPayload` shape; meshery-cloud
459
- * currently ignores the field, but it is documented here so
460
- * the canonical contract is single-sourced.
461
- */
462
- config?: string;
463
- };
464
- /** @description Flat canonical representation of the filter import form that combines the UI-level uploadType discriminator with the union of properties from MesheryFilterPayload (filterFile, filterResource). This schema is the authoritative source for the canonical RJSF form schema at schemas/constructs/v1beta3/filter/forms/import.json. The server receives a MesheryFilterPayload; this form schema captures the superset of user-facing fields (including the UI-only uploadType discriminator) so the form schema can be validated as a subset of this canonical type. */
465
- MesheryFilterImportFormPayload: {
466
- /** @description Human-readable filter name. */
467
- name: string;
468
- /**
469
- * Upload method
470
- * @description UI-level discriminator that controls which import variant the form submits. "File Upload" maps to a base64-encoded filterFile body; "URL Upload" maps to a filterResource path/URL.
471
- *
472
- * @enum {string}
473
- */
474
- uploadType: "File Upload" | "URL Upload";
475
- /**
476
- * Format: byte
477
- * @description Raw filter source as base64-encoded bytes. Required when uploadType is "File Upload".
478
- */
479
- filterFile?: string;
480
- /** @description Filter resource discriminator describing the body's source format (e.g. WASM module identifier or external resource path). Required when uploadType is "URL Upload". */
481
- filterResource?: string;
482
- };
483
- };
484
- responses: {
485
- /** Invalid request body or request param */
486
- 400: {
487
- content: {
488
- "text/plain": string;
489
- };
490
- };
491
- /** Expired JWT token used or insufficient privilege */
492
- 401: {
493
- content: {
494
- "text/plain": string;
495
- };
496
- };
497
- /** Result not found */
498
- 404: {
499
- content: {
500
- "text/plain": string;
501
- };
502
- };
503
- /** Internal server error */
504
- 500: {
505
- content: {
506
- "text/plain": string;
507
- };
112
+ get: operations["getFilterFile"];
113
+ put?: never;
114
+ post?: never;
115
+ delete?: never;
116
+ options?: never;
117
+ head?: never;
118
+ patch?: never;
119
+ trace?: never;
508
120
  };
509
- };
510
- parameters: {
511
- /** @description Filter ID */
512
- filterId: string;
513
- /** @description Get responses by page */
514
- page: string;
515
- /** @description Number of items per page (canonical camelCase form). */
516
- pageSize: number;
517
- /** @description Get responses that match search param value */
518
- search: string;
519
- /** @description Get ordered responses */
520
- order: string;
521
- /** @description User's organization ID */
522
- orgIdQuery: string;
523
- };
524
121
  }
525
-
526
- export interface operations {
527
- /** Returns a paginated list of filters accessible to the user. */
528
- getFilters: {
529
- parameters: {
530
- query: {
531
- /** Get responses by page */
532
- page?: string;
533
- /** Number of items per page (canonical camelCase form). */
534
- pageSize?: number;
535
- /** Get responses that match search param value */
536
- search?: string;
537
- /** Get ordered responses */
538
- order?: string;
539
- /** User's organization ID */
540
- orgId?: string;
541
- /** Filter by visibility (public, private, published). May be repeated. */
542
- visibility?: string[];
122
+ export type webhooks = Record<string, never>;
123
+ export interface components {
124
+ schemas: {
543
125
  /**
544
- * UUID of the owning user. Pass when fetching public/published
545
- * filters for a specific user (public-profile lookups).
126
+ * Filter Schema
127
+ * @description Server-returned Meshery filter resource as persisted by meshery-cloud
128
+ * (`meshery_filters` table) and consumed by meshery's
129
+ * `models.MesheryFilter`. Filters carry an opaque body (`filterFile`) plus
130
+ * catalog and visibility metadata, and follow the same content-resource
131
+ * shape as designs minus the catalog engagement counters (the
132
+ * `meshery_filters` table has no `view_count` / `download_count` columns).
546
133
  */
547
- userId?: string;
548
- };
549
- };
550
- responses: {
551
- /** Filters response */
552
- 200: {
553
- content: {
554
- "application/json": {
555
- /** @description Current page number of the result set. */
556
- page?: number;
557
- /** @description Number of items per page. */
558
- pageSize?: number;
559
- /** @description Total number of items available. */
560
- totalCount?: number;
561
- /** @description Filters included on this page of results. */
562
- filters?: {
563
- /**
564
- * Format: uuid
565
- * @description Server-generated filter ID.
566
- */
567
- id: string;
568
- /** @description Human-readable filter name; required, used for catalog listings. */
569
- name: string;
570
- /**
571
- * Format: uuid
572
- * @description Owning user ID.
573
- */
574
- userId: string;
575
- /**
576
- * Format: byte
577
- * @description Raw filter source persisted as a byte array (`bytea` column
578
- * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
579
- */
580
- filterFile?: string;
581
- /**
582
- * @description Filter resource discriminator describing the filter body's source
583
- * format (e.g. WASM module identifier or external resource path).
584
- * Stored in the `filter_resource` text column.
585
- */
586
- filterResource?: string;
587
- /** @description Optional structured location metadata (branch, host, path, ...). */
588
- location?: { [key: string]: string };
589
- /**
590
- * @description Visibility scope (private, public, published).
591
- * @enum {string}
592
- */
593
- visibility?: "private" | "public" | "published";
594
- /** @description Catalog metadata attached to the filter when published. */
595
- catalogData?: {
596
- /** @description Tracks the specific content version that has been made available in the Catalog. */
597
- publishedVersion?: string;
598
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
599
- class?: string;
600
- /**
601
- * Model
602
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
603
- */
604
- compatibility: "kubernetes"[];
605
- /**
606
- * Caveats and Considerations
607
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
608
- */
609
- patternCaveats: string;
610
- /**
611
- * Description
612
- * @description Purpose of the design along with its intended and unintended uses.
613
- */
614
- patternInfo: string;
615
- /**
616
- * Type
617
- * @description Categorization of the type of design or operational flow depicted in this design.
618
- * @default Deployment
619
- * @enum {string}
620
- */
621
- type:
622
- | "Deployment"
623
- | "Observability"
624
- | "Resiliency"
625
- | "Scaling"
626
- | "Security"
627
- | "Traffic-management"
628
- | "Troubleshooting"
629
- | "Workloads";
630
- /** @description Contains reference to the dark and light mode snapshots of the design. */
631
- snapshotURL?: string[];
632
- };
633
- /**
634
- * Format: date-time
635
- * @description Timestamp of filter creation.
636
- */
637
- createdAt: string;
638
- /**
639
- * Format: date-time
640
- * @description Timestamp of last filter modification.
641
- */
642
- updatedAt: string;
643
- }[];
644
- };
645
- };
646
- };
647
- /** Expired JWT token used or insufficient privilege */
648
- 401: {
649
- content: {
650
- "text/plain": string;
651
- };
652
- };
653
- /** Internal server error */
654
- 500: {
655
- content: {
656
- "text/plain": string;
657
- };
658
- };
659
- };
660
- };
661
- /** Creates or updates a Meshery filter. */
662
- upsertFilter: {
663
- responses: {
664
- /** Filter saved */
665
- 200: {
666
- content: {
667
- "application/json": {
134
+ MesheryFilter: {
668
135
  /**
669
136
  * Format: uuid
670
137
  * @description Server-generated filter ID.
@@ -680,17 +147,19 @@ export interface operations {
680
147
  /**
681
148
  * Format: byte
682
149
  * @description Raw filter source persisted as a byte array (`bytea` column
683
- * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
150
+ * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
684
151
  */
685
152
  filterFile?: string;
686
153
  /**
687
154
  * @description Filter resource discriminator describing the filter body's source
688
- * format (e.g. WASM module identifier or external resource path).
689
- * Stored in the `filter_resource` text column.
155
+ * format (e.g. WASM module identifier or external resource path).
156
+ * Stored in the `filter_resource` text column.
690
157
  */
691
158
  filterResource?: string;
692
159
  /** @description Optional structured location metadata (branch, host, path, ...). */
693
- location?: { [key: string]: string };
160
+ location?: {
161
+ [key: string]: string;
162
+ };
694
163
  /**
695
164
  * @description Visibility scope (private, public, published).
696
165
  * @enum {string}
@@ -698,42 +167,34 @@ export interface operations {
698
167
  visibility?: "private" | "public" | "published";
699
168
  /** @description Catalog metadata attached to the filter when published. */
700
169
  catalogData?: {
701
- /** @description Tracks the specific content version that has been made available in the Catalog. */
702
- publishedVersion?: string;
703
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
704
- class?: string;
705
- /**
706
- * Model
707
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
708
- */
709
- compatibility: "kubernetes"[];
710
- /**
711
- * Caveats and Considerations
712
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
713
- */
714
- patternCaveats: string;
715
- /**
716
- * Description
717
- * @description Purpose of the design along with its intended and unintended uses.
718
- */
719
- patternInfo: string;
720
- /**
721
- * Type
722
- * @description Categorization of the type of design or operational flow depicted in this design.
723
- * @default Deployment
724
- * @enum {string}
725
- */
726
- type:
727
- | "Deployment"
728
- | "Observability"
729
- | "Resiliency"
730
- | "Scaling"
731
- | "Security"
732
- | "Traffic-management"
733
- | "Troubleshooting"
734
- | "Workloads";
735
- /** @description Contains reference to the dark and light mode snapshots of the design. */
736
- snapshotURL?: string[];
170
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
171
+ publishedVersion?: string;
172
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
173
+ class?: string & ("official" | "verified" | "reference architecture");
174
+ /**
175
+ * Model
176
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
177
+ */
178
+ compatibility: "kubernetes"[];
179
+ /**
180
+ * Caveats and Considerations
181
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
182
+ */
183
+ patternCaveats: string;
184
+ /**
185
+ * Description
186
+ * @description Purpose of the design along with its intended and unintended uses.
187
+ */
188
+ patternInfo: string;
189
+ /**
190
+ * Type
191
+ * @description Categorization of the type of design or operational flow depicted in this design.
192
+ * @default Deployment
193
+ * @enum {string}
194
+ */
195
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
196
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
197
+ snapshotURL?: string[];
737
198
  };
738
199
  /**
739
200
  * Format: date-time
@@ -745,52 +206,22 @@ export interface operations {
745
206
  * @description Timestamp of last filter modification.
746
207
  */
747
208
  updatedAt: string;
748
- };
749
- };
750
- };
751
- /** Invalid request body or request param */
752
- 400: {
753
- content: {
754
- "text/plain": string;
755
- };
756
- };
757
- /** Expired JWT token used or insufficient privilege */
758
- 401: {
759
- content: {
760
- "text/plain": string;
761
- };
762
- };
763
- /** Internal server error */
764
- 500: {
765
- content: {
766
- "text/plain": string;
767
209
  };
768
- };
769
- };
770
- requestBody: {
771
- content: {
772
- "application/json": {
773
- /**
774
- * Format: uri
775
- * @description Optional source URL the filter was fetched from.
776
- */
777
- url?: string;
778
- /** @description Optional source path the filter was loaded from. */
779
- path?: string;
780
- /**
781
- * @description When true, persist the filter in addition to parsing it.
782
- * When false, the server returns the parsed payload without
783
- * committing it to the database.
784
- */
785
- save?: boolean;
786
- /** @description Filter body to persist. */
787
- filterData?: {
210
+ /**
211
+ * @description Payload for creating or updating a filter via
212
+ * `POST /api/content/filters` or
213
+ * `PUT /api/content/filters/{filterId}`. Contains only
214
+ * client-settable fields; server-generated `createdAt` /
215
+ * `updatedAt` and the owning `userId` (which the server derives
216
+ * from the authenticated session) are intentionally excluded.
217
+ */
218
+ MesheryFilterPayload: {
788
219
  /**
789
220
  * Format: uuid
790
221
  * @description Existing filter ID for updates; omit on create. Wrapped in
791
- * an `allOf` so we can attach the `json:"id,omitempty"` tag
792
- * for upsert ergonomics without recursing into the underlying
793
- * UUID definition.
222
+ * an `allOf` so we can attach the `json:"id,omitempty"` tag
223
+ * for upsert ergonomics without recursing into the underlying
224
+ * UUID definition.
794
225
  */
795
226
  id?: string;
796
227
  /** @description Human-readable filter name. */
@@ -798,111 +229,147 @@ export interface operations {
798
229
  /**
799
230
  * Format: byte
800
231
  * @description Raw filter source as base64-encoded bytes (`format: byte`).
801
- * Optional on update — the server preserves the existing body
802
- * when omitted.
232
+ * Optional on update — the server preserves the existing body
233
+ * when omitted.
803
234
  */
804
235
  filterFile?: string;
805
236
  /**
806
237
  * @description Filter resource discriminator describing the body's source
807
- * format (e.g. WASM module identifier or external resource
808
- * path).
238
+ * format (e.g. WASM module identifier or external resource
239
+ * path).
809
240
  */
810
241
  filterResource?: string;
811
242
  /** @description Optional structured location metadata. */
812
- location?: { [key: string]: string };
243
+ location?: {
244
+ [key: string]: string;
245
+ };
813
246
  /**
814
247
  * @description Requested visibility scope. The server may downgrade a
815
- * requested `published` value to `private` for callers that
816
- * do not own the filter.
817
- *
248
+ * requested `published` value to `private` for callers that
249
+ * do not own the filter.
818
250
  * @enum {string}
819
251
  */
820
252
  visibility?: "private" | "public" | "published";
821
253
  /** @description Catalog metadata to attach when publishing. */
822
254
  catalogData?: {
823
- /** @description Tracks the specific content version that has been made available in the Catalog. */
824
- publishedVersion?: string;
825
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
826
- class?: string;
827
- /**
828
- * Model
829
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
830
- */
831
- compatibility: "kubernetes"[];
832
- /**
833
- * Caveats and Considerations
834
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
835
- */
836
- patternCaveats: string;
837
- /**
838
- * Description
839
- * @description Purpose of the design along with its intended and unintended uses.
840
- */
841
- patternInfo: string;
842
- /**
843
- * Type
844
- * @description Categorization of the type of design or operational flow depicted in this design.
845
- * @default Deployment
846
- * @enum {string}
847
- */
848
- type:
849
- | "Deployment"
850
- | "Observability"
851
- | "Resiliency"
852
- | "Scaling"
853
- | "Security"
854
- | "Traffic-management"
855
- | "Troubleshooting"
856
- | "Workloads";
857
- /** @description Contains reference to the dark and light mode snapshots of the design. */
858
- snapshotURL?: string[];
255
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
256
+ publishedVersion?: string;
257
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
258
+ class?: string & ("official" | "verified" | "reference architecture");
259
+ /**
260
+ * Model
261
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
262
+ */
263
+ compatibility: "kubernetes"[];
264
+ /**
265
+ * Caveats and Considerations
266
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
267
+ */
268
+ patternCaveats: string;
269
+ /**
270
+ * Description
271
+ * @description Purpose of the design along with its intended and unintended uses.
272
+ */
273
+ patternInfo: string;
274
+ /**
275
+ * Type
276
+ * @description Categorization of the type of design or operational flow depicted in this design.
277
+ * @default Deployment
278
+ * @enum {string}
279
+ */
280
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
281
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
282
+ snapshotURL?: string[];
859
283
  };
860
- };
861
- /**
862
- * @description Optional opaque configuration string passed through to the
863
- * underlying filter runtime. Persisted only on the local
864
- * meshery `MesheryFilterPayload` shape; meshery-cloud
865
- * currently ignores the field, but it is documented here so
866
- * the canonical contract is single-sourced.
867
- */
868
- config?: string;
869
284
  };
870
- };
871
- };
872
- };
873
- /**
874
- * Deletes multiple filters by ID. Modeled as a `POST .../delete`
875
- * sub-resource because REST clients and proxies may strip request
876
- * bodies on `DELETE`.
877
- */
878
- deleteFilters: {
879
- responses: {
880
- /** Filters deleted */
881
- 200: unknown;
882
- /** Invalid request body or request param */
883
- 400: {
884
- content: {
885
- "text/plain": string;
886
- };
887
- };
888
- /** Expired JWT token used or insufficient privilege */
889
- 401: {
890
- content: {
891
- "text/plain": string;
892
- };
893
- };
894
- /** Internal server error */
895
- 500: {
896
- content: {
897
- "text/plain": string;
285
+ /** @description Paginated collection of filters. */
286
+ MesheryFilterPage: {
287
+ /** @description Current page number of the result set. */
288
+ page?: number;
289
+ /** @description Number of items per page. */
290
+ pageSize?: number;
291
+ /** @description Total number of items available. */
292
+ totalCount?: number;
293
+ /** @description Filters included on this page of results. */
294
+ filters?: {
295
+ /**
296
+ * Format: uuid
297
+ * @description Server-generated filter ID.
298
+ */
299
+ id: string;
300
+ /** @description Human-readable filter name; required, used for catalog listings. */
301
+ name: string;
302
+ /**
303
+ * Format: uuid
304
+ * @description Owning user ID.
305
+ */
306
+ userId: string;
307
+ /**
308
+ * Format: byte
309
+ * @description Raw filter source persisted as a byte array (`bytea` column
310
+ * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
311
+ */
312
+ filterFile?: string;
313
+ /**
314
+ * @description Filter resource discriminator describing the filter body's source
315
+ * format (e.g. WASM module identifier or external resource path).
316
+ * Stored in the `filter_resource` text column.
317
+ */
318
+ filterResource?: string;
319
+ /** @description Optional structured location metadata (branch, host, path, ...). */
320
+ location?: {
321
+ [key: string]: string;
322
+ };
323
+ /**
324
+ * @description Visibility scope (private, public, published).
325
+ * @enum {string}
326
+ */
327
+ visibility?: "private" | "public" | "published";
328
+ /** @description Catalog metadata attached to the filter when published. */
329
+ catalogData?: {
330
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
331
+ publishedVersion?: string;
332
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
333
+ class?: string & ("official" | "verified" | "reference architecture");
334
+ /**
335
+ * Model
336
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
337
+ */
338
+ compatibility: "kubernetes"[];
339
+ /**
340
+ * Caveats and Considerations
341
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
342
+ */
343
+ patternCaveats: string;
344
+ /**
345
+ * Description
346
+ * @description Purpose of the design along with its intended and unintended uses.
347
+ */
348
+ patternInfo: string;
349
+ /**
350
+ * Type
351
+ * @description Categorization of the type of design or operational flow depicted in this design.
352
+ * @default Deployment
353
+ * @enum {string}
354
+ */
355
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
356
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
357
+ snapshotURL?: string[];
358
+ };
359
+ /**
360
+ * Format: date-time
361
+ * @description Timestamp of filter creation.
362
+ */
363
+ createdAt: string;
364
+ /**
365
+ * Format: date-time
366
+ * @description Timestamp of last filter modification.
367
+ */
368
+ updatedAt: string;
369
+ }[];
898
370
  };
899
- };
900
- };
901
- requestBody: {
902
- content: {
903
- "application/json": {
904
- /** @description Filters targeted for deletion. */
905
- filters: {
371
+ /** @description Reference to a filter for bulk deletion by ID. */
372
+ DeleteFilterModel: {
906
373
  /**
907
374
  * Format: uuid
908
375
  * @description Filter ID targeted for deletion.
@@ -910,543 +377,1214 @@ export interface operations {
910
377
  id?: string;
911
378
  /**
912
379
  * @description Human-readable filter name (informational only; the server
913
- * matches on `id`).
380
+ * matches on `id`).
914
381
  */
915
382
  name?: string;
916
- }[];
917
383
  };
918
- };
919
- };
920
- };
921
- getFilter: {
922
- parameters: {
923
- path: {
924
- /** Filter ID */
925
- filterId: string;
926
- };
927
- };
928
- responses: {
929
- /** Filter response */
930
- 200: {
931
- content: {
932
- "application/json": {
384
+ /** @description Payload for bulk deleting filters by ID. */
385
+ MesheryFilterDeleteRequestBody: {
386
+ /** @description Filters targeted for deletion. */
387
+ filters: {
388
+ /**
389
+ * Format: uuid
390
+ * @description Filter ID targeted for deletion.
391
+ */
392
+ id?: string;
393
+ /**
394
+ * @description Human-readable filter name (informational only; the server
395
+ * matches on `id`).
396
+ */
397
+ name?: string;
398
+ }[];
399
+ };
400
+ /**
401
+ * @description Payload for `POST /api/content/filters/clone/{filterId}`. The
402
+ * only client-settable field is the optional name applied to the
403
+ * cloned filter; the server derives ownership and visibility from
404
+ * the request context.
405
+ */
406
+ MesheryFilterCloneRequestBody: {
933
407
  /**
934
- * Format: uuid
935
- * @description Server-generated filter ID.
408
+ * @description Optional name to apply to the cloned filter. Defaults to a
409
+ * server-generated derivative of the source filter's name.
936
410
  */
937
- id: string;
938
- /** @description Human-readable filter name; required, used for catalog listings. */
939
- name: string;
411
+ name?: string;
412
+ };
413
+ /**
414
+ * @description Payload for upserting a filter via `POST /api/content/filters`.
415
+ * Mirrors meshery-cloud's `MesheryFilterRequestBody` and
416
+ * meshery's `MesheryFilterRequestBody` — the wrapper carries an
417
+ * optional source URL/path plus a `save` toggle and an embedded
418
+ * `filterData` payload. Wire form for the embedded payload field
419
+ * is canonical camelCase (`filterData`); legacy snake_case
420
+ * (`filter_data`) is accepted by the existing handlers for the
421
+ * deprecation window but new clients MUST emit `filterData`.
422
+ */
423
+ MesheryFilterRequestBody: {
940
424
  /**
941
- * Format: uuid
942
- * @description Owning user ID.
425
+ * Format: uri
426
+ * @description Optional source URL the filter was fetched from.
943
427
  */
944
- userId: string;
428
+ url?: string;
429
+ /** @description Optional source path the filter was loaded from. */
430
+ path?: string;
945
431
  /**
946
- * Format: byte
947
- * @description Raw filter source persisted as a byte array (`bytea` column
948
- * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
432
+ * @description When true, persist the filter in addition to parsing it.
433
+ * When false, the server returns the parsed payload without
434
+ * committing it to the database.
949
435
  */
950
- filterFile?: string;
436
+ save?: boolean;
437
+ /** @description Filter body to persist. */
438
+ filterData?: {
439
+ /**
440
+ * Format: uuid
441
+ * @description Existing filter ID for updates; omit on create. Wrapped in
442
+ * an `allOf` so we can attach the `json:"id,omitempty"` tag
443
+ * for upsert ergonomics without recursing into the underlying
444
+ * UUID definition.
445
+ */
446
+ id?: string;
447
+ /** @description Human-readable filter name. */
448
+ name: string;
449
+ /**
450
+ * Format: byte
451
+ * @description Raw filter source as base64-encoded bytes (`format: byte`).
452
+ * Optional on update — the server preserves the existing body
453
+ * when omitted.
454
+ */
455
+ filterFile?: string;
456
+ /**
457
+ * @description Filter resource discriminator describing the body's source
458
+ * format (e.g. WASM module identifier or external resource
459
+ * path).
460
+ */
461
+ filterResource?: string;
462
+ /** @description Optional structured location metadata. */
463
+ location?: {
464
+ [key: string]: string;
465
+ };
466
+ /**
467
+ * @description Requested visibility scope. The server may downgrade a
468
+ * requested `published` value to `private` for callers that
469
+ * do not own the filter.
470
+ * @enum {string}
471
+ */
472
+ visibility?: "private" | "public" | "published";
473
+ /** @description Catalog metadata to attach when publishing. */
474
+ catalogData?: {
475
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
476
+ publishedVersion?: string;
477
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
478
+ class?: string & ("official" | "verified" | "reference architecture");
479
+ /**
480
+ * Model
481
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
482
+ */
483
+ compatibility: "kubernetes"[];
484
+ /**
485
+ * Caveats and Considerations
486
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
487
+ */
488
+ patternCaveats: string;
489
+ /**
490
+ * Description
491
+ * @description Purpose of the design along with its intended and unintended uses.
492
+ */
493
+ patternInfo: string;
494
+ /**
495
+ * Type
496
+ * @description Categorization of the type of design or operational flow depicted in this design.
497
+ * @default Deployment
498
+ * @enum {string}
499
+ */
500
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
501
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
502
+ snapshotURL?: string[];
503
+ };
504
+ };
951
505
  /**
952
- * @description Filter resource discriminator describing the filter body's source
953
- * format (e.g. WASM module identifier or external resource path).
954
- * Stored in the `filter_resource` text column.
506
+ * @description Optional opaque configuration string passed through to the
507
+ * underlying filter runtime. Persisted only on the local
508
+ * meshery `MesheryFilterPayload` shape; meshery-cloud
509
+ * currently ignores the field, but it is documented here so
510
+ * the canonical contract is single-sourced.
955
511
  */
956
- filterResource?: string;
957
- /** @description Optional structured location metadata (branch, host, path, ...). */
958
- location?: { [key: string]: string };
512
+ config?: string;
513
+ };
514
+ /** @description Flat canonical representation of the filter import form that combines the UI-level uploadType discriminator with the union of properties from MesheryFilterPayload (filterFile, filterResource). This schema is the authoritative source for the canonical RJSF form schema at schemas/constructs/v1beta3/filter/forms/import.json. The server receives a MesheryFilterPayload; this form schema captures the superset of user-facing fields (including the UI-only uploadType discriminator) so the form schema can be validated as a subset of this canonical type. */
515
+ MesheryFilterImportFormPayload: {
516
+ /** @description Human-readable filter name. */
517
+ name: string;
959
518
  /**
960
- * @description Visibility scope (private, public, published).
519
+ * Upload method
520
+ * @description UI-level discriminator that controls which import variant the form submits. "File Upload" maps to a base64-encoded filterFile body; "URL Upload" maps to a filterResource path/URL.
961
521
  * @enum {string}
962
522
  */
963
- visibility?: "private" | "public" | "published";
964
- /** @description Catalog metadata attached to the filter when published. */
965
- catalogData?: {
966
- /** @description Tracks the specific content version that has been made available in the Catalog. */
967
- publishedVersion?: string;
968
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
969
- class?: string;
970
- /**
971
- * Model
972
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
973
- */
974
- compatibility: "kubernetes"[];
975
- /**
976
- * Caveats and Considerations
977
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
978
- */
979
- patternCaveats: string;
980
- /**
981
- * Description
982
- * @description Purpose of the design along with its intended and unintended uses.
983
- */
984
- patternInfo: string;
985
- /**
986
- * Type
987
- * @description Categorization of the type of design or operational flow depicted in this design.
988
- * @default Deployment
989
- * @enum {string}
990
- */
991
- type:
992
- | "Deployment"
993
- | "Observability"
994
- | "Resiliency"
995
- | "Scaling"
996
- | "Security"
997
- | "Traffic-management"
998
- | "Troubleshooting"
999
- | "Workloads";
1000
- /** @description Contains reference to the dark and light mode snapshots of the design. */
1001
- snapshotURL?: string[];
1002
- };
523
+ uploadType: "File Upload" | "URL Upload";
1003
524
  /**
1004
- * Format: date-time
1005
- * @description Timestamp of filter creation.
1006
- */
1007
- createdAt: string;
1008
- /**
1009
- * Format: date-time
1010
- * @description Timestamp of last filter modification.
525
+ * Format: byte
526
+ * @description Raw filter source as base64-encoded bytes. Required when uploadType is "File Upload".
1011
527
  */
1012
- updatedAt: string;
1013
- };
528
+ filterFile?: string;
529
+ /** @description Filter resource discriminator describing the body's source format (e.g. WASM module identifier or external resource path). Required when uploadType is "URL Upload". */
530
+ filterResource?: string;
1014
531
  };
1015
- };
1016
- /** Invalid request body or request param */
1017
- 400: {
1018
- content: {
1019
- "text/plain": string;
532
+ };
533
+ responses: {
534
+ /** @description Invalid request body or request param */
535
+ 400: {
536
+ headers: {
537
+ [name: string]: unknown;
538
+ };
539
+ content: {
540
+ "text/plain": string;
541
+ };
1020
542
  };
1021
- };
1022
- /** Expired JWT token used or insufficient privilege */
1023
- 401: {
1024
- content: {
1025
- "text/plain": string;
543
+ /** @description Expired JWT token used or insufficient privilege */
544
+ 401: {
545
+ headers: {
546
+ [name: string]: unknown;
547
+ };
548
+ content: {
549
+ "text/plain": string;
550
+ };
1026
551
  };
1027
- };
1028
- /** Result not found */
1029
- 404: {
1030
- content: {
1031
- "text/plain": string;
552
+ /** @description Result not found */
553
+ 404: {
554
+ headers: {
555
+ [name: string]: unknown;
556
+ };
557
+ content: {
558
+ "text/plain": string;
559
+ };
1032
560
  };
1033
- };
1034
- /** Internal server error */
1035
- 500: {
1036
- content: {
1037
- "text/plain": string;
561
+ /** @description Internal server error */
562
+ 500: {
563
+ headers: {
564
+ [name: string]: unknown;
565
+ };
566
+ content: {
567
+ "text/plain": string;
568
+ };
1038
569
  };
1039
- };
1040
570
  };
1041
- };
1042
- /**
1043
- * Updates the filter at the supplied ID with the provided payload.
1044
- * Provided as a canonical-CRUD complement to the upsert `POST
1045
- * /api/content/filters` form so consumers that prefer explicit
1046
- * update semantics can address the resource directly.
1047
- */
1048
- updateFilter: {
1049
571
  parameters: {
1050
- path: {
1051
- /** Filter ID */
572
+ /** @description Filter ID */
1052
573
  filterId: string;
1053
- };
574
+ /** @description Get responses by page */
575
+ page: string;
576
+ /** @description Number of items per page (canonical camelCase form). */
577
+ pageSize: number;
578
+ /** @description Get responses that match search param value */
579
+ search: string;
580
+ /** @description Get ordered responses */
581
+ order: string;
582
+ /** @description User's organization ID */
583
+ orgIdQuery: string;
1054
584
  };
1055
- responses: {
1056
- /** Filter updated */
1057
- 200: {
1058
- content: {
1059
- "application/json": {
1060
- /**
1061
- * Format: uuid
1062
- * @description Server-generated filter ID.
1063
- */
1064
- id: string;
1065
- /** @description Human-readable filter name; required, used for catalog listings. */
1066
- name: string;
1067
- /**
1068
- * Format: uuid
1069
- * @description Owning user ID.
1070
- */
1071
- userId: string;
1072
- /**
1073
- * Format: byte
1074
- * @description Raw filter source persisted as a byte array (`bytea` column
1075
- * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
1076
- */
1077
- filterFile?: string;
1078
- /**
1079
- * @description Filter resource discriminator describing the filter body's source
1080
- * format (e.g. WASM module identifier or external resource path).
1081
- * Stored in the `filter_resource` text column.
1082
- */
1083
- filterResource?: string;
1084
- /** @description Optional structured location metadata (branch, host, path, ...). */
1085
- location?: { [key: string]: string };
1086
- /**
1087
- * @description Visibility scope (private, public, published).
1088
- * @enum {string}
1089
- */
1090
- visibility?: "private" | "public" | "published";
1091
- /** @description Catalog metadata attached to the filter when published. */
1092
- catalogData?: {
1093
- /** @description Tracks the specific content version that has been made available in the Catalog. */
1094
- publishedVersion?: string;
1095
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
1096
- class?: string;
1097
- /**
1098
- * Model
1099
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
1100
- */
1101
- compatibility: "kubernetes"[];
1102
- /**
1103
- * Caveats and Considerations
1104
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
1105
- */
1106
- patternCaveats: string;
1107
- /**
1108
- * Description
1109
- * @description Purpose of the design along with its intended and unintended uses.
1110
- */
1111
- patternInfo: string;
1112
- /**
1113
- * Type
1114
- * @description Categorization of the type of design or operational flow depicted in this design.
1115
- * @default Deployment
1116
- * @enum {string}
1117
- */
1118
- type:
1119
- | "Deployment"
1120
- | "Observability"
1121
- | "Resiliency"
1122
- | "Scaling"
1123
- | "Security"
1124
- | "Traffic-management"
1125
- | "Troubleshooting"
1126
- | "Workloads";
1127
- /** @description Contains reference to the dark and light mode snapshots of the design. */
1128
- snapshotURL?: string[];
585
+ requestBodies: never;
586
+ headers: never;
587
+ pathItems: never;
588
+ }
589
+ export type $defs = Record<string, never>;
590
+ export interface operations {
591
+ getFilters: {
592
+ parameters: {
593
+ query?: {
594
+ /** @description Get responses by page */
595
+ page?: string;
596
+ /** @description Number of items per page (canonical camelCase form). */
597
+ pageSize?: number;
598
+ /** @description Get responses that match search param value */
599
+ search?: string;
600
+ /** @description Get ordered responses */
601
+ order?: string;
602
+ /** @description User's organization ID */
603
+ orgId?: string;
604
+ /** @description Filter by visibility (public, private, published). May be repeated. */
605
+ visibility?: string[];
606
+ /**
607
+ * @description UUID of the owning user. Pass when fetching public/published
608
+ * filters for a specific user (public-profile lookups).
609
+ */
610
+ userId?: string;
1129
611
  };
1130
- /**
1131
- * Format: date-time
1132
- * @description Timestamp of filter creation.
1133
- */
1134
- createdAt: string;
1135
- /**
1136
- * Format: date-time
1137
- * @description Timestamp of last filter modification.
1138
- */
1139
- updatedAt: string;
1140
- };
612
+ header?: never;
613
+ path?: never;
614
+ cookie?: never;
1141
615
  };
1142
- };
1143
- /** Invalid request body or request param */
1144
- 400: {
1145
- content: {
1146
- "text/plain": string;
1147
- };
1148
- };
1149
- /** Expired JWT token used or insufficient privilege */
1150
- 401: {
1151
- content: {
1152
- "text/plain": string;
616
+ requestBody?: never;
617
+ responses: {
618
+ /** @description Filters response */
619
+ 200: {
620
+ headers: {
621
+ [name: string]: unknown;
622
+ };
623
+ content: {
624
+ "application/json": {
625
+ /** @description Current page number of the result set. */
626
+ page?: number;
627
+ /** @description Number of items per page. */
628
+ pageSize?: number;
629
+ /** @description Total number of items available. */
630
+ totalCount?: number;
631
+ /** @description Filters included on this page of results. */
632
+ filters?: {
633
+ /**
634
+ * Format: uuid
635
+ * @description Server-generated filter ID.
636
+ */
637
+ id: string;
638
+ /** @description Human-readable filter name; required, used for catalog listings. */
639
+ name: string;
640
+ /**
641
+ * Format: uuid
642
+ * @description Owning user ID.
643
+ */
644
+ userId: string;
645
+ /**
646
+ * Format: byte
647
+ * @description Raw filter source persisted as a byte array (`bytea` column
648
+ * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
649
+ */
650
+ filterFile?: string;
651
+ /**
652
+ * @description Filter resource discriminator describing the filter body's source
653
+ * format (e.g. WASM module identifier or external resource path).
654
+ * Stored in the `filter_resource` text column.
655
+ */
656
+ filterResource?: string;
657
+ /** @description Optional structured location metadata (branch, host, path, ...). */
658
+ location?: {
659
+ [key: string]: string;
660
+ };
661
+ /**
662
+ * @description Visibility scope (private, public, published).
663
+ * @enum {string}
664
+ */
665
+ visibility?: "private" | "public" | "published";
666
+ /** @description Catalog metadata attached to the filter when published. */
667
+ catalogData?: {
668
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
669
+ publishedVersion?: string;
670
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
671
+ class?: string & ("official" | "verified" | "reference architecture");
672
+ /**
673
+ * Model
674
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
675
+ */
676
+ compatibility: "kubernetes"[];
677
+ /**
678
+ * Caveats and Considerations
679
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
680
+ */
681
+ patternCaveats: string;
682
+ /**
683
+ * Description
684
+ * @description Purpose of the design along with its intended and unintended uses.
685
+ */
686
+ patternInfo: string;
687
+ /**
688
+ * Type
689
+ * @description Categorization of the type of design or operational flow depicted in this design.
690
+ * @default Deployment
691
+ * @enum {string}
692
+ */
693
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
694
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
695
+ snapshotURL?: string[];
696
+ };
697
+ /**
698
+ * Format: date-time
699
+ * @description Timestamp of filter creation.
700
+ */
701
+ createdAt: string;
702
+ /**
703
+ * Format: date-time
704
+ * @description Timestamp of last filter modification.
705
+ */
706
+ updatedAt: string;
707
+ }[];
708
+ };
709
+ };
710
+ };
711
+ /** @description Expired JWT token used or insufficient privilege */
712
+ 401: {
713
+ headers: {
714
+ [name: string]: unknown;
715
+ };
716
+ content: {
717
+ "text/plain": string;
718
+ };
719
+ };
720
+ /** @description Internal server error */
721
+ 500: {
722
+ headers: {
723
+ [name: string]: unknown;
724
+ };
725
+ content: {
726
+ "text/plain": string;
727
+ };
728
+ };
1153
729
  };
1154
- };
1155
- /** Result not found */
1156
- 404: {
1157
- content: {
1158
- "text/plain": string;
730
+ };
731
+ upsertFilter: {
732
+ parameters: {
733
+ query?: never;
734
+ header?: never;
735
+ path?: never;
736
+ cookie?: never;
1159
737
  };
1160
- };
1161
- /** Internal server error */
1162
- 500: {
1163
- content: {
1164
- "text/plain": string;
738
+ requestBody: {
739
+ content: {
740
+ "application/json": {
741
+ /**
742
+ * Format: uri
743
+ * @description Optional source URL the filter was fetched from.
744
+ */
745
+ url?: string;
746
+ /** @description Optional source path the filter was loaded from. */
747
+ path?: string;
748
+ /**
749
+ * @description When true, persist the filter in addition to parsing it.
750
+ * When false, the server returns the parsed payload without
751
+ * committing it to the database.
752
+ */
753
+ save?: boolean;
754
+ /** @description Filter body to persist. */
755
+ filterData?: {
756
+ /**
757
+ * Format: uuid
758
+ * @description Existing filter ID for updates; omit on create. Wrapped in
759
+ * an `allOf` so we can attach the `json:"id,omitempty"` tag
760
+ * for upsert ergonomics without recursing into the underlying
761
+ * UUID definition.
762
+ */
763
+ id?: string;
764
+ /** @description Human-readable filter name. */
765
+ name: string;
766
+ /**
767
+ * Format: byte
768
+ * @description Raw filter source as base64-encoded bytes (`format: byte`).
769
+ * Optional on update — the server preserves the existing body
770
+ * when omitted.
771
+ */
772
+ filterFile?: string;
773
+ /**
774
+ * @description Filter resource discriminator describing the body's source
775
+ * format (e.g. WASM module identifier or external resource
776
+ * path).
777
+ */
778
+ filterResource?: string;
779
+ /** @description Optional structured location metadata. */
780
+ location?: {
781
+ [key: string]: string;
782
+ };
783
+ /**
784
+ * @description Requested visibility scope. The server may downgrade a
785
+ * requested `published` value to `private` for callers that
786
+ * do not own the filter.
787
+ * @enum {string}
788
+ */
789
+ visibility?: "private" | "public" | "published";
790
+ /** @description Catalog metadata to attach when publishing. */
791
+ catalogData?: {
792
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
793
+ publishedVersion?: string;
794
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
795
+ class?: string & ("official" | "verified" | "reference architecture");
796
+ /**
797
+ * Model
798
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
799
+ */
800
+ compatibility: "kubernetes"[];
801
+ /**
802
+ * Caveats and Considerations
803
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
804
+ */
805
+ patternCaveats: string;
806
+ /**
807
+ * Description
808
+ * @description Purpose of the design along with its intended and unintended uses.
809
+ */
810
+ patternInfo: string;
811
+ /**
812
+ * Type
813
+ * @description Categorization of the type of design or operational flow depicted in this design.
814
+ * @default Deployment
815
+ * @enum {string}
816
+ */
817
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
818
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
819
+ snapshotURL?: string[];
820
+ };
821
+ };
822
+ /**
823
+ * @description Optional opaque configuration string passed through to the
824
+ * underlying filter runtime. Persisted only on the local
825
+ * meshery `MesheryFilterPayload` shape; meshery-cloud
826
+ * currently ignores the field, but it is documented here so
827
+ * the canonical contract is single-sourced.
828
+ */
829
+ config?: string;
830
+ };
831
+ };
1165
832
  };
1166
- };
1167
- };
1168
- requestBody: {
1169
- content: {
1170
- "application/json": {
1171
- /**
1172
- * Format: uuid
1173
- * @description Existing filter ID for updates; omit on create. Wrapped in
1174
- * an `allOf` so we can attach the `json:"id,omitempty"` tag
1175
- * for upsert ergonomics without recursing into the underlying
1176
- * UUID definition.
1177
- */
1178
- id?: string;
1179
- /** @description Human-readable filter name. */
1180
- name: string;
1181
- /**
1182
- * Format: byte
1183
- * @description Raw filter source as base64-encoded bytes (`format: byte`).
1184
- * Optional on update — the server preserves the existing body
1185
- * when omitted.
1186
- */
1187
- filterFile?: string;
1188
- /**
1189
- * @description Filter resource discriminator describing the body's source
1190
- * format (e.g. WASM module identifier or external resource
1191
- * path).
1192
- */
1193
- filterResource?: string;
1194
- /** @description Optional structured location metadata. */
1195
- location?: { [key: string]: string };
1196
- /**
1197
- * @description Requested visibility scope. The server may downgrade a
1198
- * requested `published` value to `private` for callers that
1199
- * do not own the filter.
1200
- *
1201
- * @enum {string}
1202
- */
1203
- visibility?: "private" | "public" | "published";
1204
- /** @description Catalog metadata to attach when publishing. */
1205
- catalogData?: {
1206
- /** @description Tracks the specific content version that has been made available in the Catalog. */
1207
- publishedVersion?: string;
1208
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
1209
- class?: string;
1210
- /**
1211
- * Model
1212
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
1213
- */
1214
- compatibility: "kubernetes"[];
1215
- /**
1216
- * Caveats and Considerations
1217
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
1218
- */
1219
- patternCaveats: string;
1220
- /**
1221
- * Description
1222
- * @description Purpose of the design along with its intended and unintended uses.
1223
- */
1224
- patternInfo: string;
1225
- /**
1226
- * Type
1227
- * @description Categorization of the type of design or operational flow depicted in this design.
1228
- * @default Deployment
1229
- * @enum {string}
1230
- */
1231
- type:
1232
- | "Deployment"
1233
- | "Observability"
1234
- | "Resiliency"
1235
- | "Scaling"
1236
- | "Security"
1237
- | "Traffic-management"
1238
- | "Troubleshooting"
1239
- | "Workloads";
1240
- /** @description Contains reference to the dark and light mode snapshots of the design. */
1241
- snapshotURL?: string[];
1242
- };
833
+ responses: {
834
+ /** @description Filter saved */
835
+ 200: {
836
+ headers: {
837
+ [name: string]: unknown;
838
+ };
839
+ content: {
840
+ "application/json": {
841
+ /**
842
+ * Format: uuid
843
+ * @description Server-generated filter ID.
844
+ */
845
+ id: string;
846
+ /** @description Human-readable filter name; required, used for catalog listings. */
847
+ name: string;
848
+ /**
849
+ * Format: uuid
850
+ * @description Owning user ID.
851
+ */
852
+ userId: string;
853
+ /**
854
+ * Format: byte
855
+ * @description Raw filter source persisted as a byte array (`bytea` column
856
+ * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
857
+ */
858
+ filterFile?: string;
859
+ /**
860
+ * @description Filter resource discriminator describing the filter body's source
861
+ * format (e.g. WASM module identifier or external resource path).
862
+ * Stored in the `filter_resource` text column.
863
+ */
864
+ filterResource?: string;
865
+ /** @description Optional structured location metadata (branch, host, path, ...). */
866
+ location?: {
867
+ [key: string]: string;
868
+ };
869
+ /**
870
+ * @description Visibility scope (private, public, published).
871
+ * @enum {string}
872
+ */
873
+ visibility?: "private" | "public" | "published";
874
+ /** @description Catalog metadata attached to the filter when published. */
875
+ catalogData?: {
876
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
877
+ publishedVersion?: string;
878
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
879
+ class?: string & ("official" | "verified" | "reference architecture");
880
+ /**
881
+ * Model
882
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
883
+ */
884
+ compatibility: "kubernetes"[];
885
+ /**
886
+ * Caveats and Considerations
887
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
888
+ */
889
+ patternCaveats: string;
890
+ /**
891
+ * Description
892
+ * @description Purpose of the design along with its intended and unintended uses.
893
+ */
894
+ patternInfo: string;
895
+ /**
896
+ * Type
897
+ * @description Categorization of the type of design or operational flow depicted in this design.
898
+ * @default Deployment
899
+ * @enum {string}
900
+ */
901
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
902
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
903
+ snapshotURL?: string[];
904
+ };
905
+ /**
906
+ * Format: date-time
907
+ * @description Timestamp of filter creation.
908
+ */
909
+ createdAt: string;
910
+ /**
911
+ * Format: date-time
912
+ * @description Timestamp of last filter modification.
913
+ */
914
+ updatedAt: string;
915
+ };
916
+ };
917
+ };
918
+ /** @description Invalid request body or request param */
919
+ 400: {
920
+ headers: {
921
+ [name: string]: unknown;
922
+ };
923
+ content: {
924
+ "text/plain": string;
925
+ };
926
+ };
927
+ /** @description Expired JWT token used or insufficient privilege */
928
+ 401: {
929
+ headers: {
930
+ [name: string]: unknown;
931
+ };
932
+ content: {
933
+ "text/plain": string;
934
+ };
935
+ };
936
+ /** @description Internal server error */
937
+ 500: {
938
+ headers: {
939
+ [name: string]: unknown;
940
+ };
941
+ content: {
942
+ "text/plain": string;
943
+ };
944
+ };
1243
945
  };
1244
- };
1245
- };
1246
- };
1247
- deleteFilter: {
1248
- parameters: {
1249
- path: {
1250
- /** Filter ID */
1251
- filterId: string;
1252
- };
1253
946
  };
1254
- responses: {
1255
- /** Filter deleted */
1256
- 204: never;
1257
- /** Expired JWT token used or insufficient privilege */
1258
- 401: {
1259
- content: {
1260
- "text/plain": string;
947
+ deleteFilters: {
948
+ parameters: {
949
+ query?: never;
950
+ header?: never;
951
+ path?: never;
952
+ cookie?: never;
1261
953
  };
1262
- };
1263
- /** Result not found */
1264
- 404: {
1265
- content: {
1266
- "text/plain": string;
954
+ requestBody: {
955
+ content: {
956
+ "application/json": {
957
+ /** @description Filters targeted for deletion. */
958
+ filters: {
959
+ /**
960
+ * Format: uuid
961
+ * @description Filter ID targeted for deletion.
962
+ */
963
+ id?: string;
964
+ /**
965
+ * @description Human-readable filter name (informational only; the server
966
+ * matches on `id`).
967
+ */
968
+ name?: string;
969
+ }[];
970
+ };
971
+ };
1267
972
  };
1268
- };
1269
- /** Internal server error */
1270
- 500: {
1271
- content: {
1272
- "text/plain": string;
973
+ responses: {
974
+ /** @description Filters deleted */
975
+ 200: {
976
+ headers: {
977
+ [name: string]: unknown;
978
+ };
979
+ content?: never;
980
+ };
981
+ /** @description Invalid request body or request param */
982
+ 400: {
983
+ headers: {
984
+ [name: string]: unknown;
985
+ };
986
+ content: {
987
+ "text/plain": string;
988
+ };
989
+ };
990
+ /** @description Expired JWT token used or insufficient privilege */
991
+ 401: {
992
+ headers: {
993
+ [name: string]: unknown;
994
+ };
995
+ content: {
996
+ "text/plain": string;
997
+ };
998
+ };
999
+ /** @description Internal server error */
1000
+ 500: {
1001
+ headers: {
1002
+ [name: string]: unknown;
1003
+ };
1004
+ content: {
1005
+ "text/plain": string;
1006
+ };
1007
+ };
1273
1008
  };
1274
- };
1275
1009
  };
1276
- };
1277
- /** Creates a copy of an existing filter. */
1278
- cloneFilter: {
1279
- parameters: {
1280
- path: {
1281
- /** Filter ID */
1282
- filterId: string;
1283
- };
1284
- };
1285
- responses: {
1286
- /** Filter cloned */
1287
- 200: {
1288
- content: {
1289
- "application/json": {
1290
- /**
1291
- * Format: uuid
1292
- * @description Server-generated filter ID.
1293
- */
1294
- id: string;
1295
- /** @description Human-readable filter name; required, used for catalog listings. */
1296
- name: string;
1297
- /**
1298
- * Format: uuid
1299
- * @description Owning user ID.
1300
- */
1301
- userId: string;
1302
- /**
1303
- * Format: byte
1304
- * @description Raw filter source persisted as a byte array (`bytea` column
1305
- * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
1306
- */
1307
- filterFile?: string;
1308
- /**
1309
- * @description Filter resource discriminator describing the filter body's source
1310
- * format (e.g. WASM module identifier or external resource path).
1311
- * Stored in the `filter_resource` text column.
1312
- */
1313
- filterResource?: string;
1314
- /** @description Optional structured location metadata (branch, host, path, ...). */
1315
- location?: { [key: string]: string };
1316
- /**
1317
- * @description Visibility scope (private, public, published).
1318
- * @enum {string}
1319
- */
1320
- visibility?: "private" | "public" | "published";
1321
- /** @description Catalog metadata attached to the filter when published. */
1322
- catalogData?: {
1323
- /** @description Tracks the specific content version that has been made available in the Catalog. */
1324
- publishedVersion?: string;
1325
- /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
1326
- class?: string;
1327
- /**
1328
- * Model
1329
- * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
1330
- */
1331
- compatibility: "kubernetes"[];
1332
- /**
1333
- * Caveats and Considerations
1334
- * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
1335
- */
1336
- patternCaveats: string;
1337
- /**
1338
- * Description
1339
- * @description Purpose of the design along with its intended and unintended uses.
1340
- */
1341
- patternInfo: string;
1342
- /**
1343
- * Type
1344
- * @description Categorization of the type of design or operational flow depicted in this design.
1345
- * @default Deployment
1346
- * @enum {string}
1347
- */
1348
- type:
1349
- | "Deployment"
1350
- | "Observability"
1351
- | "Resiliency"
1352
- | "Scaling"
1353
- | "Security"
1354
- | "Traffic-management"
1355
- | "Troubleshooting"
1356
- | "Workloads";
1357
- /** @description Contains reference to the dark and light mode snapshots of the design. */
1358
- snapshotURL?: string[];
1010
+ getFilter: {
1011
+ parameters: {
1012
+ query?: never;
1013
+ header?: never;
1014
+ path: {
1015
+ /** @description Filter ID */
1016
+ filterId: string;
1359
1017
  };
1360
- /**
1361
- * Format: date-time
1362
- * @description Timestamp of filter creation.
1363
- */
1364
- createdAt: string;
1365
- /**
1366
- * Format: date-time
1367
- * @description Timestamp of last filter modification.
1368
- */
1369
- updatedAt: string;
1370
- };
1018
+ cookie?: never;
1371
1019
  };
1372
- };
1373
- /** Invalid request body or request param */
1374
- 400: {
1375
- content: {
1376
- "text/plain": string;
1020
+ requestBody?: never;
1021
+ responses: {
1022
+ /** @description Filter response */
1023
+ 200: {
1024
+ headers: {
1025
+ [name: string]: unknown;
1026
+ };
1027
+ content: {
1028
+ "application/json": {
1029
+ /**
1030
+ * Format: uuid
1031
+ * @description Server-generated filter ID.
1032
+ */
1033
+ id: string;
1034
+ /** @description Human-readable filter name; required, used for catalog listings. */
1035
+ name: string;
1036
+ /**
1037
+ * Format: uuid
1038
+ * @description Owning user ID.
1039
+ */
1040
+ userId: string;
1041
+ /**
1042
+ * Format: byte
1043
+ * @description Raw filter source persisted as a byte array (`bytea` column
1044
+ * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
1045
+ */
1046
+ filterFile?: string;
1047
+ /**
1048
+ * @description Filter resource discriminator describing the filter body's source
1049
+ * format (e.g. WASM module identifier or external resource path).
1050
+ * Stored in the `filter_resource` text column.
1051
+ */
1052
+ filterResource?: string;
1053
+ /** @description Optional structured location metadata (branch, host, path, ...). */
1054
+ location?: {
1055
+ [key: string]: string;
1056
+ };
1057
+ /**
1058
+ * @description Visibility scope (private, public, published).
1059
+ * @enum {string}
1060
+ */
1061
+ visibility?: "private" | "public" | "published";
1062
+ /** @description Catalog metadata attached to the filter when published. */
1063
+ catalogData?: {
1064
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
1065
+ publishedVersion?: string;
1066
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
1067
+ class?: string & ("official" | "verified" | "reference architecture");
1068
+ /**
1069
+ * Model
1070
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
1071
+ */
1072
+ compatibility: "kubernetes"[];
1073
+ /**
1074
+ * Caveats and Considerations
1075
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
1076
+ */
1077
+ patternCaveats: string;
1078
+ /**
1079
+ * Description
1080
+ * @description Purpose of the design along with its intended and unintended uses.
1081
+ */
1082
+ patternInfo: string;
1083
+ /**
1084
+ * Type
1085
+ * @description Categorization of the type of design or operational flow depicted in this design.
1086
+ * @default Deployment
1087
+ * @enum {string}
1088
+ */
1089
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
1090
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
1091
+ snapshotURL?: string[];
1092
+ };
1093
+ /**
1094
+ * Format: date-time
1095
+ * @description Timestamp of filter creation.
1096
+ */
1097
+ createdAt: string;
1098
+ /**
1099
+ * Format: date-time
1100
+ * @description Timestamp of last filter modification.
1101
+ */
1102
+ updatedAt: string;
1103
+ };
1104
+ };
1105
+ };
1106
+ /** @description Invalid request body or request param */
1107
+ 400: {
1108
+ headers: {
1109
+ [name: string]: unknown;
1110
+ };
1111
+ content: {
1112
+ "text/plain": string;
1113
+ };
1114
+ };
1115
+ /** @description Expired JWT token used or insufficient privilege */
1116
+ 401: {
1117
+ headers: {
1118
+ [name: string]: unknown;
1119
+ };
1120
+ content: {
1121
+ "text/plain": string;
1122
+ };
1123
+ };
1124
+ /** @description Result not found */
1125
+ 404: {
1126
+ headers: {
1127
+ [name: string]: unknown;
1128
+ };
1129
+ content: {
1130
+ "text/plain": string;
1131
+ };
1132
+ };
1133
+ /** @description Internal server error */
1134
+ 500: {
1135
+ headers: {
1136
+ [name: string]: unknown;
1137
+ };
1138
+ content: {
1139
+ "text/plain": string;
1140
+ };
1141
+ };
1377
1142
  };
1378
- };
1379
- /** Expired JWT token used or insufficient privilege */
1380
- 401: {
1381
- content: {
1382
- "text/plain": string;
1143
+ };
1144
+ updateFilter: {
1145
+ parameters: {
1146
+ query?: never;
1147
+ header?: never;
1148
+ path: {
1149
+ /** @description Filter ID */
1150
+ filterId: string;
1151
+ };
1152
+ cookie?: never;
1383
1153
  };
1384
- };
1385
- /** Result not found */
1386
- 404: {
1387
- content: {
1388
- "text/plain": string;
1154
+ requestBody: {
1155
+ content: {
1156
+ "application/json": {
1157
+ /**
1158
+ * Format: uuid
1159
+ * @description Existing filter ID for updates; omit on create. Wrapped in
1160
+ * an `allOf` so we can attach the `json:"id,omitempty"` tag
1161
+ * for upsert ergonomics without recursing into the underlying
1162
+ * UUID definition.
1163
+ */
1164
+ id?: string;
1165
+ /** @description Human-readable filter name. */
1166
+ name: string;
1167
+ /**
1168
+ * Format: byte
1169
+ * @description Raw filter source as base64-encoded bytes (`format: byte`).
1170
+ * Optional on update — the server preserves the existing body
1171
+ * when omitted.
1172
+ */
1173
+ filterFile?: string;
1174
+ /**
1175
+ * @description Filter resource discriminator describing the body's source
1176
+ * format (e.g. WASM module identifier or external resource
1177
+ * path).
1178
+ */
1179
+ filterResource?: string;
1180
+ /** @description Optional structured location metadata. */
1181
+ location?: {
1182
+ [key: string]: string;
1183
+ };
1184
+ /**
1185
+ * @description Requested visibility scope. The server may downgrade a
1186
+ * requested `published` value to `private` for callers that
1187
+ * do not own the filter.
1188
+ * @enum {string}
1189
+ */
1190
+ visibility?: "private" | "public" | "published";
1191
+ /** @description Catalog metadata to attach when publishing. */
1192
+ catalogData?: {
1193
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
1194
+ publishedVersion?: string;
1195
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
1196
+ class?: string & ("official" | "verified" | "reference architecture");
1197
+ /**
1198
+ * Model
1199
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
1200
+ */
1201
+ compatibility: "kubernetes"[];
1202
+ /**
1203
+ * Caveats and Considerations
1204
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
1205
+ */
1206
+ patternCaveats: string;
1207
+ /**
1208
+ * Description
1209
+ * @description Purpose of the design along with its intended and unintended uses.
1210
+ */
1211
+ patternInfo: string;
1212
+ /**
1213
+ * Type
1214
+ * @description Categorization of the type of design or operational flow depicted in this design.
1215
+ * @default Deployment
1216
+ * @enum {string}
1217
+ */
1218
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
1219
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
1220
+ snapshotURL?: string[];
1221
+ };
1222
+ };
1223
+ };
1389
1224
  };
1390
- };
1391
- /** Internal server error */
1392
- 500: {
1393
- content: {
1394
- "text/plain": string;
1225
+ responses: {
1226
+ /** @description Filter updated */
1227
+ 200: {
1228
+ headers: {
1229
+ [name: string]: unknown;
1230
+ };
1231
+ content: {
1232
+ "application/json": {
1233
+ /**
1234
+ * Format: uuid
1235
+ * @description Server-generated filter ID.
1236
+ */
1237
+ id: string;
1238
+ /** @description Human-readable filter name; required, used for catalog listings. */
1239
+ name: string;
1240
+ /**
1241
+ * Format: uuid
1242
+ * @description Owning user ID.
1243
+ */
1244
+ userId: string;
1245
+ /**
1246
+ * Format: byte
1247
+ * @description Raw filter source persisted as a byte array (`bytea` column
1248
+ * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
1249
+ */
1250
+ filterFile?: string;
1251
+ /**
1252
+ * @description Filter resource discriminator describing the filter body's source
1253
+ * format (e.g. WASM module identifier or external resource path).
1254
+ * Stored in the `filter_resource` text column.
1255
+ */
1256
+ filterResource?: string;
1257
+ /** @description Optional structured location metadata (branch, host, path, ...). */
1258
+ location?: {
1259
+ [key: string]: string;
1260
+ };
1261
+ /**
1262
+ * @description Visibility scope (private, public, published).
1263
+ * @enum {string}
1264
+ */
1265
+ visibility?: "private" | "public" | "published";
1266
+ /** @description Catalog metadata attached to the filter when published. */
1267
+ catalogData?: {
1268
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
1269
+ publishedVersion?: string;
1270
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
1271
+ class?: string & ("official" | "verified" | "reference architecture");
1272
+ /**
1273
+ * Model
1274
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
1275
+ */
1276
+ compatibility: "kubernetes"[];
1277
+ /**
1278
+ * Caveats and Considerations
1279
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
1280
+ */
1281
+ patternCaveats: string;
1282
+ /**
1283
+ * Description
1284
+ * @description Purpose of the design along with its intended and unintended uses.
1285
+ */
1286
+ patternInfo: string;
1287
+ /**
1288
+ * Type
1289
+ * @description Categorization of the type of design or operational flow depicted in this design.
1290
+ * @default Deployment
1291
+ * @enum {string}
1292
+ */
1293
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
1294
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
1295
+ snapshotURL?: string[];
1296
+ };
1297
+ /**
1298
+ * Format: date-time
1299
+ * @description Timestamp of filter creation.
1300
+ */
1301
+ createdAt: string;
1302
+ /**
1303
+ * Format: date-time
1304
+ * @description Timestamp of last filter modification.
1305
+ */
1306
+ updatedAt: string;
1307
+ };
1308
+ };
1309
+ };
1310
+ /** @description Invalid request body or request param */
1311
+ 400: {
1312
+ headers: {
1313
+ [name: string]: unknown;
1314
+ };
1315
+ content: {
1316
+ "text/plain": string;
1317
+ };
1318
+ };
1319
+ /** @description Expired JWT token used or insufficient privilege */
1320
+ 401: {
1321
+ headers: {
1322
+ [name: string]: unknown;
1323
+ };
1324
+ content: {
1325
+ "text/plain": string;
1326
+ };
1327
+ };
1328
+ /** @description Result not found */
1329
+ 404: {
1330
+ headers: {
1331
+ [name: string]: unknown;
1332
+ };
1333
+ content: {
1334
+ "text/plain": string;
1335
+ };
1336
+ };
1337
+ /** @description Internal server error */
1338
+ 500: {
1339
+ headers: {
1340
+ [name: string]: unknown;
1341
+ };
1342
+ content: {
1343
+ "text/plain": string;
1344
+ };
1345
+ };
1395
1346
  };
1396
- };
1397
1347
  };
1398
- requestBody: {
1399
- content: {
1400
- "application/json": {
1401
- /**
1402
- * @description Optional name to apply to the cloned filter. Defaults to a
1403
- * server-generated derivative of the source filter's name.
1404
- */
1405
- name?: string;
1348
+ deleteFilter: {
1349
+ parameters: {
1350
+ query?: never;
1351
+ header?: never;
1352
+ path: {
1353
+ /** @description Filter ID */
1354
+ filterId: string;
1355
+ };
1356
+ cookie?: never;
1357
+ };
1358
+ requestBody?: never;
1359
+ responses: {
1360
+ /** @description Filter deleted */
1361
+ 204: {
1362
+ headers: {
1363
+ [name: string]: unknown;
1364
+ };
1365
+ content?: never;
1366
+ };
1367
+ /** @description Expired JWT token used or insufficient privilege */
1368
+ 401: {
1369
+ headers: {
1370
+ [name: string]: unknown;
1371
+ };
1372
+ content: {
1373
+ "text/plain": string;
1374
+ };
1375
+ };
1376
+ /** @description Result not found */
1377
+ 404: {
1378
+ headers: {
1379
+ [name: string]: unknown;
1380
+ };
1381
+ content: {
1382
+ "text/plain": string;
1383
+ };
1384
+ };
1385
+ /** @description Internal server error */
1386
+ 500: {
1387
+ headers: {
1388
+ [name: string]: unknown;
1389
+ };
1390
+ content: {
1391
+ "text/plain": string;
1392
+ };
1393
+ };
1406
1394
  };
1407
- };
1408
- };
1409
- };
1410
- /**
1411
- * Downloads the raw filter body associated with the supplied
1412
- * filter ID. The server streams the bytes verbatim with
1413
- * `Content-Type: application/wasm` and a
1414
- * `Content-Disposition: attachment` header naming the filter.
1415
- */
1416
- getFilterFile: {
1417
- parameters: {
1418
- path: {
1419
- /** Filter ID */
1420
- filterId: string;
1421
- };
1422
1395
  };
1423
- responses: {
1424
- /** Filter file content */
1425
- 200: {
1426
- content: {
1427
- "application/wasm": string;
1396
+ cloneFilter: {
1397
+ parameters: {
1398
+ query?: never;
1399
+ header?: never;
1400
+ path: {
1401
+ /** @description Filter ID */
1402
+ filterId: string;
1403
+ };
1404
+ cookie?: never;
1428
1405
  };
1429
- };
1430
- /** Expired JWT token used or insufficient privilege */
1431
- 401: {
1432
- content: {
1433
- "text/plain": string;
1406
+ requestBody: {
1407
+ content: {
1408
+ "application/json": {
1409
+ /**
1410
+ * @description Optional name to apply to the cloned filter. Defaults to a
1411
+ * server-generated derivative of the source filter's name.
1412
+ */
1413
+ name?: string;
1414
+ };
1415
+ };
1434
1416
  };
1435
- };
1436
- /** Result not found */
1437
- 404: {
1438
- content: {
1439
- "text/plain": string;
1417
+ responses: {
1418
+ /** @description Filter cloned */
1419
+ 200: {
1420
+ headers: {
1421
+ [name: string]: unknown;
1422
+ };
1423
+ content: {
1424
+ "application/json": {
1425
+ /**
1426
+ * Format: uuid
1427
+ * @description Server-generated filter ID.
1428
+ */
1429
+ id: string;
1430
+ /** @description Human-readable filter name; required, used for catalog listings. */
1431
+ name: string;
1432
+ /**
1433
+ * Format: uuid
1434
+ * @description Owning user ID.
1435
+ */
1436
+ userId: string;
1437
+ /**
1438
+ * Format: byte
1439
+ * @description Raw filter source persisted as a byte array (`bytea` column
1440
+ * `filter_file`). Wire form is base64 per OpenAPI `format: byte`.
1441
+ */
1442
+ filterFile?: string;
1443
+ /**
1444
+ * @description Filter resource discriminator describing the filter body's source
1445
+ * format (e.g. WASM module identifier or external resource path).
1446
+ * Stored in the `filter_resource` text column.
1447
+ */
1448
+ filterResource?: string;
1449
+ /** @description Optional structured location metadata (branch, host, path, ...). */
1450
+ location?: {
1451
+ [key: string]: string;
1452
+ };
1453
+ /**
1454
+ * @description Visibility scope (private, public, published).
1455
+ * @enum {string}
1456
+ */
1457
+ visibility?: "private" | "public" | "published";
1458
+ /** @description Catalog metadata attached to the filter when published. */
1459
+ catalogData?: {
1460
+ /** @description Tracks the specific content version that has been made available in the Catalog. */
1461
+ publishedVersion?: string;
1462
+ /** @description Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. */
1463
+ class?: string & ("official" | "verified" | "reference architecture");
1464
+ /**
1465
+ * Model
1466
+ * @description One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential.
1467
+ */
1468
+ compatibility: "kubernetes"[];
1469
+ /**
1470
+ * Caveats and Considerations
1471
+ * @description Specific stipulations to consider and known behaviors to be aware of when using this design.
1472
+ */
1473
+ patternCaveats: string;
1474
+ /**
1475
+ * Description
1476
+ * @description Purpose of the design along with its intended and unintended uses.
1477
+ */
1478
+ patternInfo: string;
1479
+ /**
1480
+ * Type
1481
+ * @description Categorization of the type of design or operational flow depicted in this design.
1482
+ * @default Deployment
1483
+ * @enum {string}
1484
+ */
1485
+ type: "Deployment" | "Observability" | "Resiliency" | "Scaling" | "Security" | "Traffic-management" | "Troubleshooting" | "Workloads";
1486
+ /** @description Contains reference to the dark and light mode snapshots of the design. */
1487
+ snapshotURL?: string[];
1488
+ };
1489
+ /**
1490
+ * Format: date-time
1491
+ * @description Timestamp of filter creation.
1492
+ */
1493
+ createdAt: string;
1494
+ /**
1495
+ * Format: date-time
1496
+ * @description Timestamp of last filter modification.
1497
+ */
1498
+ updatedAt: string;
1499
+ };
1500
+ };
1501
+ };
1502
+ /** @description Invalid request body or request param */
1503
+ 400: {
1504
+ headers: {
1505
+ [name: string]: unknown;
1506
+ };
1507
+ content: {
1508
+ "text/plain": string;
1509
+ };
1510
+ };
1511
+ /** @description Expired JWT token used or insufficient privilege */
1512
+ 401: {
1513
+ headers: {
1514
+ [name: string]: unknown;
1515
+ };
1516
+ content: {
1517
+ "text/plain": string;
1518
+ };
1519
+ };
1520
+ /** @description Result not found */
1521
+ 404: {
1522
+ headers: {
1523
+ [name: string]: unknown;
1524
+ };
1525
+ content: {
1526
+ "text/plain": string;
1527
+ };
1528
+ };
1529
+ /** @description Internal server error */
1530
+ 500: {
1531
+ headers: {
1532
+ [name: string]: unknown;
1533
+ };
1534
+ content: {
1535
+ "text/plain": string;
1536
+ };
1537
+ };
1538
+ };
1539
+ };
1540
+ getFilterFile: {
1541
+ parameters: {
1542
+ query?: never;
1543
+ header?: never;
1544
+ path: {
1545
+ /** @description Filter ID */
1546
+ filterId: string;
1547
+ };
1548
+ cookie?: never;
1440
1549
  };
1441
- };
1442
- /** Internal server error */
1443
- 500: {
1444
- content: {
1445
- "text/plain": string;
1550
+ requestBody?: never;
1551
+ responses: {
1552
+ /** @description Filter file content */
1553
+ 200: {
1554
+ headers: {
1555
+ [name: string]: unknown;
1556
+ };
1557
+ content: {
1558
+ "application/wasm": string;
1559
+ };
1560
+ };
1561
+ /** @description Expired JWT token used or insufficient privilege */
1562
+ 401: {
1563
+ headers: {
1564
+ [name: string]: unknown;
1565
+ };
1566
+ content: {
1567
+ "text/plain": string;
1568
+ };
1569
+ };
1570
+ /** @description Result not found */
1571
+ 404: {
1572
+ headers: {
1573
+ [name: string]: unknown;
1574
+ };
1575
+ content: {
1576
+ "text/plain": string;
1577
+ };
1578
+ };
1579
+ /** @description Internal server error */
1580
+ 500: {
1581
+ headers: {
1582
+ [name: string]: unknown;
1583
+ };
1584
+ content: {
1585
+ "text/plain": string;
1586
+ };
1587
+ };
1446
1588
  };
1447
- };
1448
1589
  };
1449
- };
1450
1590
  }
1451
-
1452
- export interface external {}