@platformatic/service 2.46.0 → 2.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/config.d.ts CHANGED
@@ -210,6 +210,29 @@ export interface PlatformaticService {
210
210
  graphiql?: boolean;
211
211
  }
212
212
  | boolean;
213
+ proxy?:
214
+ | false
215
+ | {
216
+ upstream?: string;
217
+ prefix?: string;
218
+ hostname?: string;
219
+ ws?: {
220
+ upstream?: string;
221
+ reconnect?: {
222
+ pingInterval?: number;
223
+ maxReconnectionRetries?: number;
224
+ reconnectInterval?: number;
225
+ reconnectDecay?: number;
226
+ connectionTimeout?: number;
227
+ reconnectOnClose?: boolean;
228
+ logs?: boolean;
229
+ [k: string]: unknown;
230
+ };
231
+ hooks?: {
232
+ path: string;
233
+ };
234
+ };
235
+ };
213
236
  };
214
237
  clients?: {
215
238
  serviceId?: string;
package/lib/schema.js CHANGED
@@ -263,6 +263,51 @@ const openapi = {
263
263
  ]
264
264
  }
265
265
 
266
+ // same as composer/proxy
267
+ const proxy = {
268
+ anyOf: [
269
+ { type: 'boolean', const: false },
270
+ {
271
+ type: 'object',
272
+ properties: {
273
+ upstream: { type: 'string' },
274
+ prefix: { type: 'string' },
275
+ hostname: { type: 'string' },
276
+ ws: {
277
+ type: 'object',
278
+ properties: {
279
+ upstream: { type: 'string' },
280
+ reconnect: {
281
+ type: 'object',
282
+ properties: {
283
+ pingInterval: { type: 'number' },
284
+ maxReconnectionRetries: { type: 'number' },
285
+ reconnectInterval: { type: 'number' },
286
+ reconnectDecay: { type: 'number' },
287
+ connectionTimeout: { type: 'number' },
288
+ reconnectOnClose: { type: 'boolean' },
289
+ logs: { type: 'boolean' },
290
+ }
291
+ },
292
+ hooks: {
293
+ type: 'object',
294
+ properties: {
295
+ path: { type: 'string' }
296
+ },
297
+ required: ['path'],
298
+ additionalProperties: false
299
+ }
300
+ },
301
+ required: [],
302
+ additionalProperties: false
303
+ }
304
+ },
305
+ required: [],
306
+ additionalProperties: false
307
+ }
308
+ ]
309
+ }
310
+
266
311
  const graphqlBase = {
267
312
  type: 'object',
268
313
  properties: {
@@ -289,7 +334,8 @@ const service = {
289
334
  type: 'object',
290
335
  properties: {
291
336
  openapi,
292
- graphql
337
+ graphql,
338
+ proxy
293
339
  },
294
340
  additionalProperties: false
295
341
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platformatic/service",
3
- "version": "2.46.0",
3
+ "version": "2.48.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -77,14 +77,14 @@
77
77
  "rfdc": "^1.3.1",
78
78
  "semgrator": "^0.3.0",
79
79
  "undici": "^7.0.0",
80
- "@platformatic/client": "2.46.0",
81
- "@platformatic/generators": "2.46.0",
82
- "@platformatic/metrics": "2.46.0",
83
- "@platformatic/scalar-theme": "2.46.0",
84
- "@platformatic/config": "2.46.0",
85
- "@platformatic/ts-compiler": "2.46.0",
86
- "@platformatic/utils": "2.46.0",
87
- "@platformatic/telemetry": "2.46.0"
80
+ "@platformatic/client": "2.48.0",
81
+ "@platformatic/generators": "2.48.0",
82
+ "@platformatic/metrics": "2.48.0",
83
+ "@platformatic/config": "2.48.0",
84
+ "@platformatic/scalar-theme": "2.48.0",
85
+ "@platformatic/ts-compiler": "2.48.0",
86
+ "@platformatic/utils": "2.48.0",
87
+ "@platformatic/telemetry": "2.48.0"
88
88
  },
89
89
  "scripts": {
90
90
  "test": "pnpm run lint && borp -T --concurrency=1 --timeout=300000 && tsd",
package/schema.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "$id": "https://schemas.platformatic.dev/@platformatic/service/2.46.0.json",
3
- "version": "2.46.0",
2
+ "$id": "https://schemas.platformatic.dev/@platformatic/service/2.48.0.json",
3
+ "version": "2.48.0",
4
4
  "title": "Platformatic Service",
5
5
  "type": "object",
6
6
  "properties": {
@@ -963,6 +963,78 @@
963
963
  "type": "boolean"
964
964
  }
965
965
  ]
966
+ },
967
+ "proxy": {
968
+ "anyOf": [
969
+ {
970
+ "type": "boolean",
971
+ "const": false
972
+ },
973
+ {
974
+ "type": "object",
975
+ "properties": {
976
+ "upstream": {
977
+ "type": "string"
978
+ },
979
+ "prefix": {
980
+ "type": "string"
981
+ },
982
+ "hostname": {
983
+ "type": "string"
984
+ },
985
+ "ws": {
986
+ "type": "object",
987
+ "properties": {
988
+ "upstream": {
989
+ "type": "string"
990
+ },
991
+ "reconnect": {
992
+ "type": "object",
993
+ "properties": {
994
+ "pingInterval": {
995
+ "type": "number"
996
+ },
997
+ "maxReconnectionRetries": {
998
+ "type": "number"
999
+ },
1000
+ "reconnectInterval": {
1001
+ "type": "number"
1002
+ },
1003
+ "reconnectDecay": {
1004
+ "type": "number"
1005
+ },
1006
+ "connectionTimeout": {
1007
+ "type": "number"
1008
+ },
1009
+ "reconnectOnClose": {
1010
+ "type": "boolean"
1011
+ },
1012
+ "logs": {
1013
+ "type": "boolean"
1014
+ }
1015
+ }
1016
+ },
1017
+ "hooks": {
1018
+ "type": "object",
1019
+ "properties": {
1020
+ "path": {
1021
+ "type": "string"
1022
+ }
1023
+ },
1024
+ "required": [
1025
+ "path"
1026
+ ],
1027
+ "additionalProperties": false
1028
+ }
1029
+ },
1030
+ "required": [],
1031
+ "additionalProperties": false
1032
+ }
1033
+ },
1034
+ "required": [],
1035
+ "additionalProperties": false
1036
+ }
1037
+ ]
966
1038
  }
967
1039
  },
968
1040
  "additionalProperties": false