@restatedev/restate-sdk 0.9.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +10 -0
  2. package/dist/src/connection/buffered_connection.d.ts +1 -2
  3. package/dist/src/connection/buffered_connection.d.ts.map +1 -1
  4. package/dist/src/connection/buffered_connection.js.map +1 -1
  5. package/dist/src/connection/connection.d.ts +1 -0
  6. package/dist/src/connection/connection.d.ts.map +1 -1
  7. package/dist/src/connection/http_connection.d.ts +6 -2
  8. package/dist/src/connection/http_connection.d.ts.map +1 -1
  9. package/dist/src/connection/http_connection.js +8 -3
  10. package/dist/src/connection/http_connection.js.map +1 -1
  11. package/dist/src/connection/lambda_connection.d.ts +3 -1
  12. package/dist/src/connection/lambda_connection.d.ts.map +1 -1
  13. package/dist/src/connection/lambda_connection.js +6 -1
  14. package/dist/src/connection/lambda_connection.js.map +1 -1
  15. package/dist/src/context.d.ts +149 -44
  16. package/dist/src/context.d.ts.map +1 -1
  17. package/dist/src/context.js.map +1 -1
  18. package/dist/src/context_impl.d.ts +16 -13
  19. package/dist/src/context_impl.d.ts.map +1 -1
  20. package/dist/src/context_impl.js +123 -34
  21. package/dist/src/context_impl.js.map +1 -1
  22. package/dist/src/endpoint/endpoint_impl.d.ts +5 -6
  23. package/dist/src/endpoint/endpoint_impl.d.ts.map +1 -1
  24. package/dist/src/endpoint/endpoint_impl.js +44 -18
  25. package/dist/src/endpoint/endpoint_impl.js.map +1 -1
  26. package/dist/src/endpoint/http2_handler.d.ts.map +1 -1
  27. package/dist/src/endpoint/http2_handler.js +42 -9
  28. package/dist/src/endpoint/http2_handler.js.map +1 -1
  29. package/dist/src/endpoint/lambda_handler.d.ts.map +1 -1
  30. package/dist/src/endpoint/lambda_handler.js +36 -14
  31. package/dist/src/endpoint/lambda_handler.js.map +1 -1
  32. package/dist/src/endpoint.d.ts +5 -3
  33. package/dist/src/endpoint.d.ts.map +1 -1
  34. package/dist/src/endpoint.js.map +1 -1
  35. package/dist/src/generated/proto/discovery_pb.d.ts +18 -0
  36. package/dist/src/generated/proto/discovery_pb.d.ts.map +1 -0
  37. package/dist/src/generated/proto/discovery_pb.js +40 -0
  38. package/dist/src/generated/proto/discovery_pb.js.map +1 -0
  39. package/dist/src/generated/proto/protocol_pb.d.ts +186 -0
  40. package/dist/src/generated/proto/protocol_pb.d.ts.map +1 -1
  41. package/dist/src/generated/proto/protocol_pb.js +177 -1
  42. package/dist/src/generated/proto/protocol_pb.js.map +1 -1
  43. package/dist/src/generated/version.d.ts +1 -1
  44. package/dist/src/generated/version.js +1 -1
  45. package/dist/src/io/decoder.d.ts +0 -1
  46. package/dist/src/io/decoder.d.ts.map +1 -1
  47. package/dist/src/io/decoder.js +2 -8
  48. package/dist/src/io/decoder.js.map +1 -1
  49. package/dist/src/io/encoder.d.ts.map +1 -1
  50. package/dist/src/io/encoder.js +1 -2
  51. package/dist/src/io/encoder.js.map +1 -1
  52. package/dist/src/journal.d.ts.map +1 -1
  53. package/dist/src/journal.js +17 -0
  54. package/dist/src/journal.js.map +1 -1
  55. package/dist/src/logger.d.ts.map +1 -1
  56. package/dist/src/logger.js +0 -7
  57. package/dist/src/logger.js.map +1 -1
  58. package/dist/src/public_api.d.ts +4 -4
  59. package/dist/src/public_api.d.ts.map +1 -1
  60. package/dist/src/public_api.js +3 -26
  61. package/dist/src/public_api.js.map +1 -1
  62. package/dist/src/state_machine.d.ts +3 -2
  63. package/dist/src/state_machine.d.ts.map +1 -1
  64. package/dist/src/state_machine.js +9 -9
  65. package/dist/src/state_machine.js.map +1 -1
  66. package/dist/src/types/components.d.ts +31 -19
  67. package/dist/src/types/components.d.ts.map +1 -1
  68. package/dist/src/types/components.js +127 -30
  69. package/dist/src/types/components.js.map +1 -1
  70. package/dist/src/types/discovery.d.ts +6 -3
  71. package/dist/src/types/discovery.d.ts.map +1 -1
  72. package/dist/src/types/discovery.js +2 -0
  73. package/dist/src/types/discovery.js.map +1 -1
  74. package/dist/src/types/protocol.d.ts +13 -4
  75. package/dist/src/types/protocol.d.ts.map +1 -1
  76. package/dist/src/types/protocol.js +95 -5
  77. package/dist/src/types/protocol.js.map +1 -1
  78. package/dist/src/types/rpc.d.ts +276 -26
  79. package/dist/src/types/rpc.d.ts.map +1 -1
  80. package/dist/src/types/rpc.js +385 -5
  81. package/dist/src/types/rpc.js.map +1 -1
  82. package/dist/src/types/types.d.ts +2 -4
  83. package/dist/src/types/types.d.ts.map +1 -1
  84. package/dist/src/types/types.js +3 -14
  85. package/dist/src/types/types.js.map +1 -1
  86. package/dist/src/utils/serde.d.ts +2 -0
  87. package/dist/src/utils/serde.d.ts.map +1 -1
  88. package/dist/src/utils/serde.js +28 -4
  89. package/dist/src/utils/serde.js.map +1 -1
  90. package/dist/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +3 -3
  92. package/dist/src/clients/workflow_client.d.ts +0 -77
  93. package/dist/src/clients/workflow_client.d.ts.map +0 -1
  94. package/dist/src/clients/workflow_client.js +0 -172
  95. package/dist/src/clients/workflow_client.js.map +0 -1
  96. package/dist/src/workflows/workflow.d.ts +0 -101
  97. package/dist/src/workflows/workflow.d.ts.map +0 -1
  98. package/dist/src/workflows/workflow.js +0 -84
  99. package/dist/src/workflows/workflow.js.map +0 -1
  100. package/dist/src/workflows/workflow_state_service.d.ts +0 -35
  101. package/dist/src/workflows/workflow_state_service.d.ts.map +0 -1
  102. package/dist/src/workflows/workflow_state_service.js +0 -201
  103. package/dist/src/workflows/workflow_state_service.js.map +0 -1
  104. package/dist/src/workflows/workflow_wrapper_service.d.ts +0 -10
  105. package/dist/src/workflows/workflow_wrapper_service.d.ts.map +0 -1
  106. package/dist/src/workflows/workflow_wrapper_service.js +0 -285
  107. package/dist/src/workflows/workflow_wrapper_service.js.map +0 -1
@@ -33,9 +33,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
33
  return result;
34
34
  };
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.parseUrlComponents = exports.VirtualObjectHandler = exports.VritualObjectComponent = exports.ServiceHandler = exports.ServiceComponent = void 0;
36
+ exports.parseUrlComponents = exports.WorkflowHandler = exports.WorkflowComponent = exports.VirtualObjectHandler = exports.VirtualObjectComponent = exports.ServiceHandler = exports.ServiceComponent = void 0;
37
+ /* eslint-disable @typescript-eslint/ban-types */
38
+ /* eslint-disable @typescript-eslint/no-explicit-any */
37
39
  const d = __importStar(require("./discovery"));
38
- const serde_1 = require("../utils/serde");
40
+ const rpc_1 = require("./rpc");
41
+ //
42
+ // Service
43
+ //
39
44
  class ServiceComponent {
40
45
  componentName;
41
46
  handlers = new Map();
@@ -45,14 +50,22 @@ class ServiceComponent {
45
50
  name() {
46
51
  return this.componentName;
47
52
  }
48
- add(opts) {
49
- const c = new ServiceHandler(opts, this);
50
- this.handlers.set(opts.name, c);
53
+ add(name, handlerWrapper) {
54
+ const serviceHandler = new ServiceHandler(name, handlerWrapper, this);
55
+ this.handlers.set(name, serviceHandler);
51
56
  }
52
57
  discovery() {
53
- const handlers = [...this.handlers.keys()].map((name) => {
58
+ const handlers = [...this.handlers.entries()].map(([name, serviceHandler]) => {
54
59
  return {
55
60
  name,
61
+ input: {
62
+ required: false,
63
+ contentType: serviceHandler.handlerWrapper.accept ?? "application/json",
64
+ },
65
+ output: {
66
+ setContentTypeIfEmpty: false,
67
+ contentType: serviceHandler.handlerWrapper.contentType ?? "application/json",
68
+ },
56
69
  };
57
70
  });
58
71
  return {
@@ -69,16 +82,17 @@ exports.ServiceComponent = ServiceComponent;
69
82
  class ServiceHandler {
70
83
  handlerName;
71
84
  parent;
72
- fn;
73
- constructor(opts, parent) {
74
- this.handlerName = opts.name;
85
+ handlerWrapper;
86
+ constructor(name, handlerWrapper, parent) {
87
+ this.handlerName = name;
75
88
  this.parent = parent;
76
- this.fn = opts.fn;
89
+ this.handlerWrapper = handlerWrapper;
77
90
  }
78
- async invoke(context, input) {
79
- const req = (0, serde_1.deserializeJson)(input);
80
- const res = await this.fn(context, req);
81
- return (0, serde_1.serializeJson)(res);
91
+ kind() {
92
+ return this.handlerWrapper.kind;
93
+ }
94
+ invoke(context, input) {
95
+ return this.handlerWrapper.invoke(context, input);
82
96
  }
83
97
  name() {
84
98
  return this.handlerName;
@@ -88,22 +102,36 @@ class ServiceHandler {
88
102
  }
89
103
  }
90
104
  exports.ServiceHandler = ServiceHandler;
91
- class VritualObjectComponent {
105
+ //
106
+ // Virtual Object
107
+ //
108
+ class VirtualObjectComponent {
92
109
  componentName;
93
- opts = new Map();
110
+ handlers = new Map();
94
111
  constructor(componentName) {
95
112
  this.componentName = componentName;
96
113
  }
97
114
  name() {
98
115
  return this.componentName;
99
116
  }
100
- add(opts) {
101
- this.opts.set(opts.name, opts);
117
+ add(name, wrapper) {
118
+ this.handlers.set(name, wrapper);
102
119
  }
103
120
  discovery() {
104
- const handlers = [...this.opts.keys()].map((name) => {
121
+ const handlers = [...this.handlers.entries()].map(([name, opts]) => {
105
122
  return {
106
123
  name,
124
+ input: {
125
+ required: false,
126
+ contentType: opts.accept ?? "application/json",
127
+ },
128
+ output: {
129
+ setContentTypeIfEmpty: false,
130
+ contentType: opts.contentType ?? "application/json",
131
+ },
132
+ ty: opts.kind == rpc_1.HandlerKind.EXCLUSIVE
133
+ ? d.ServiceHandlerType.EXCLUSIVE
134
+ : d.ServiceHandlerType.SHARED,
107
135
  };
108
136
  });
109
137
  return {
@@ -113,22 +141,22 @@ class VritualObjectComponent {
113
141
  };
114
142
  }
115
143
  handlerMatching(url) {
116
- const opts = this.opts.get(url.handlerName);
117
- if (!opts) {
144
+ const wrapper = this.handlers.get(url.handlerName);
145
+ if (!wrapper) {
118
146
  return undefined;
119
147
  }
120
- return new VirtualObjectHandler(url.handlerName, this, opts);
148
+ return new VirtualObjectHandler(url.handlerName, this, wrapper);
121
149
  }
122
150
  }
123
- exports.VritualObjectComponent = VritualObjectComponent;
151
+ exports.VirtualObjectComponent = VirtualObjectComponent;
124
152
  class VirtualObjectHandler {
125
153
  componentName;
126
154
  parent;
127
- opts;
128
- constructor(componentName, parent, opts) {
155
+ handlerWrapper;
156
+ constructor(componentName, parent, handlerWrapper) {
129
157
  this.componentName = componentName;
130
158
  this.parent = parent;
131
- this.opts = opts;
159
+ this.handlerWrapper = handlerWrapper;
132
160
  }
133
161
  name() {
134
162
  return this.componentName;
@@ -136,13 +164,82 @@ class VirtualObjectHandler {
136
164
  component() {
137
165
  return this.parent;
138
166
  }
139
- async invoke(context, input) {
140
- const req = (0, serde_1.deserializeJson)(input);
141
- const res = await this.opts.fn(context, req);
142
- return (0, serde_1.serializeJson)(res);
167
+ kind() {
168
+ return this.handlerWrapper.kind;
169
+ }
170
+ invoke(context, input) {
171
+ return this.handlerWrapper.invoke(context, input);
143
172
  }
144
173
  }
145
174
  exports.VirtualObjectHandler = VirtualObjectHandler;
175
+ // Workflow
176
+ class WorkflowComponent {
177
+ componentName;
178
+ handlers = new Map();
179
+ constructor(componentName) {
180
+ this.componentName = componentName;
181
+ }
182
+ name() {
183
+ return this.componentName;
184
+ }
185
+ add(name, wrapper) {
186
+ this.handlers.set(name, wrapper);
187
+ }
188
+ discovery() {
189
+ const handlers = [...this.handlers.entries()].map(([name, handler]) => {
190
+ return {
191
+ name,
192
+ input: {
193
+ required: false,
194
+ contentType: handler.accept ?? "application/json",
195
+ },
196
+ output: {
197
+ setContentTypeIfEmpty: false,
198
+ contentType: handler.contentType ?? "application/json",
199
+ },
200
+ ty: handler.kind == rpc_1.HandlerKind.WORKFLOW
201
+ ? d.ServiceHandlerType.WORKFLOW
202
+ : d.ServiceHandlerType.SHARED,
203
+ };
204
+ });
205
+ return {
206
+ name: this.componentName,
207
+ ty: d.ServiceType.WORKFLOW,
208
+ handlers,
209
+ };
210
+ }
211
+ handlerMatching(url) {
212
+ const wrapper = this.handlers.get(url.handlerName);
213
+ if (!wrapper) {
214
+ return undefined;
215
+ }
216
+ return new WorkflowHandler(url.handlerName, this, wrapper);
217
+ }
218
+ }
219
+ exports.WorkflowComponent = WorkflowComponent;
220
+ class WorkflowHandler {
221
+ componentName;
222
+ parent;
223
+ handlerWrapper;
224
+ constructor(componentName, parent, handlerWrapper) {
225
+ this.componentName = componentName;
226
+ this.parent = parent;
227
+ this.handlerWrapper = handlerWrapper;
228
+ }
229
+ name() {
230
+ return this.componentName;
231
+ }
232
+ component() {
233
+ return this.parent;
234
+ }
235
+ kind() {
236
+ return this.handlerWrapper.kind;
237
+ }
238
+ invoke(context, input) {
239
+ return this.handlerWrapper.invoke(context, input);
240
+ }
241
+ }
242
+ exports.WorkflowHandler = WorkflowHandler;
146
243
  function parseUrlComponents(urlPath) {
147
244
  if (!urlPath) {
148
245
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/types/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/types/components.ts"],"names":[],"mappings":"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"}
@@ -4,20 +4,23 @@ export declare enum ProtocolMode {
4
4
  }
5
5
  export declare enum ServiceType {
6
6
  VIRTUAL_OBJECT = "VIRTUAL_OBJECT",
7
- SERVICE = "SERVICE"
7
+ SERVICE = "SERVICE",
8
+ WORKFLOW = "WORKFLOW"
8
9
  }
9
10
  export declare enum ServiceHandlerType {
11
+ WORKFLOW = "WORKFLOW",
10
12
  EXCLUSIVE = "EXCLUSIVE",
11
13
  SHARED = "SHARED"
12
14
  }
13
15
  type InputPayload = {
16
+ required: boolean;
14
17
  contentType: string;
15
- empty: "ALLOW" | "DISALLOW" | "REQUIRE";
16
18
  jsonSchema?: any;
17
19
  };
18
20
  type OutputPayload = {
19
21
  contentType: string;
20
22
  setContentTypeIfEmpty: boolean;
23
+ jsonSchema?: any;
21
24
  };
22
25
  export interface Handler {
23
26
  name: string;
@@ -30,7 +33,7 @@ export interface Service {
30
33
  ty: ServiceType;
31
34
  handlers: Handler[];
32
35
  }
33
- export interface Deployment {
36
+ export interface Endpoint {
34
37
  protocolMode: ProtocolMode;
35
38
  minProtocolVersion: number;
36
39
  maxProtocolVersion: number;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/types/discovery.ts"],"names":[],"mappings":"AAWA,oBAAY,YAAY;IACtB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;CACtC;AAED,oBAAY,WAAW;IACrB,cAAc,mBAAmB;IACjC,OAAO,YAAY;CACpB;AAED,oBAAY,kBAAkB;IAC5B,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,KAAK,YAAY,GAAG;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAGxC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,WAAW,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/types/discovery.ts"],"names":[],"mappings":"AAWA,oBAAY,YAAY;IACtB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;CACtC;AAED,oBAAY,WAAW;IACrB,cAAc,mBAAmB;IACjC,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAE/B,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,WAAW,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
@@ -20,9 +20,11 @@ var ServiceType;
20
20
  (function (ServiceType) {
21
21
  ServiceType["VIRTUAL_OBJECT"] = "VIRTUAL_OBJECT";
22
22
  ServiceType["SERVICE"] = "SERVICE";
23
+ ServiceType["WORKFLOW"] = "WORKFLOW";
23
24
  })(ServiceType = exports.ServiceType || (exports.ServiceType = {}));
24
25
  var ServiceHandlerType;
25
26
  (function (ServiceHandlerType) {
27
+ ServiceHandlerType["WORKFLOW"] = "WORKFLOW";
26
28
  ServiceHandlerType["EXCLUSIVE"] = "EXCLUSIVE";
27
29
  ServiceHandlerType["SHARED"] = "SHARED";
28
30
  })(ServiceHandlerType = exports.ServiceHandlerType || (exports.ServiceHandlerType = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/types/discovery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,qDAAqC,CAAA;AACvC,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;AACnB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/types/discovery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,qDAAqC,CAAA;AACvC,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;AACnB,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B"}
@@ -1,7 +1,8 @@
1
1
  import { Message } from "@bufbuild/protobuf";
2
2
  import { CombinatorEntryMessage } from "../generated/proto/javascript_pb";
3
- import { AwakeableEntryMessage, OneWayCallEntryMessage, ClearStateEntryMessage, ClearAllStateEntryMessage, CompleteAwakeableEntryMessage, CompletionMessage, EntryAckMessage, ErrorMessage, EndMessage, GetStateEntryMessage, GetStateKeysEntryMessage, CallEntryMessage, OutputEntryMessage, InputEntryMessage, SetStateEntryMessage, SleepEntryMessage, StartMessage, SuspensionMessage, RunEntryMessage } from "../generated/proto/protocol_pb";
4
- export { AwakeableEntryMessage, OneWayCallEntryMessage, ClearStateEntryMessage, ClearAllStateEntryMessage, CompleteAwakeableEntryMessage, CompletionMessage, ErrorMessage, EndMessage, GetStateEntryMessage, GetStateKeysEntryMessage, CallEntryMessage, OutputEntryMessage, InputEntryMessage, SetStateEntryMessage, SleepEntryMessage, StartMessage, SuspensionMessage, EntryAckMessage, } from "../generated/proto/protocol_pb";
3
+ import { AwakeableEntryMessage, OneWayCallEntryMessage, ClearStateEntryMessage, ClearAllStateEntryMessage, CompleteAwakeableEntryMessage, CompletionMessage, EntryAckMessage, ErrorMessage, EndMessage, GetStateEntryMessage, GetStateKeysEntryMessage, CallEntryMessage, OutputEntryMessage, InputEntryMessage, SetStateEntryMessage, SleepEntryMessage, StartMessage, SuspensionMessage, RunEntryMessage, GetPromiseEntryMessage, PeekPromiseEntryMessage, CompletePromiseEntryMessage, ServiceProtocolVersion } from "../generated/proto/protocol_pb";
4
+ import { ServiceDiscoveryProtocolVersion } from "../generated/proto/discovery_pb";
5
+ export { AwakeableEntryMessage, OneWayCallEntryMessage, ClearStateEntryMessage, ClearAllStateEntryMessage, CompleteAwakeableEntryMessage, CompletionMessage, ErrorMessage, EndMessage, GetStateEntryMessage, GetStateKeysEntryMessage, CallEntryMessage, OutputEntryMessage, InputEntryMessage, SetStateEntryMessage, SleepEntryMessage, StartMessage, SuspensionMessage, EntryAckMessage, GetPromiseEntryMessage, PeekPromiseEntryMessage, CompletePromiseEntryMessage, } from "../generated/proto/protocol_pb";
5
6
  export declare const START_MESSAGE_TYPE = 0n;
6
7
  export declare const COMPLETION_MESSAGE_TYPE = 1n;
7
8
  export declare const SUSPENSION_MESSAGE_TYPE = 2n;
@@ -23,11 +24,19 @@ export declare const COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE = 3076n;
23
24
  export declare const AWAKEABLE_IDENTIFIER_PREFIX = "prom_1";
24
25
  export declare const SIDE_EFFECT_ENTRY_MESSAGE_TYPE: bigint;
25
26
  export declare const COMBINATOR_ENTRY_MESSAGE = 64514n;
27
+ export declare const GET_PROMISE_MESSAGE_TYPE = 2056n;
28
+ export declare const PEEK_PROMISE_MESSAGE_TYPE = 2057n;
29
+ export declare const COMPLETE_PROMISE_MESSAGE_TYPE = 2058n;
26
30
  export declare const KNOWN_MESSAGE_TYPES: Set<bigint>;
27
- export declare function formatMessageType(messageType: bigint): string;
31
+ export declare const formatMessageType: (messageType: bigint) => string;
28
32
  export declare const PROTOBUF_MESSAGE_BY_TYPE: Map<bigint, {
29
33
  new (): Message<any>;
30
34
  }>;
31
- export type ProtocolMessage = StartMessage | CompletionMessage | SuspensionMessage | ErrorMessage | EntryAckMessage | EndMessage | InputEntryMessage | OutputEntryMessage | GetStateEntryMessage | GetStateKeysEntryMessage | SetStateEntryMessage | ClearStateEntryMessage | ClearAllStateEntryMessage | SleepEntryMessage | CallEntryMessage | OneWayCallEntryMessage | AwakeableEntryMessage | CompleteAwakeableEntryMessage | RunEntryMessage | CombinatorEntryMessage;
35
+ export type ProtocolMessage = StartMessage | CompletionMessage | SuspensionMessage | ErrorMessage | EntryAckMessage | EndMessage | InputEntryMessage | OutputEntryMessage | GetStateEntryMessage | GetStateKeysEntryMessage | SetStateEntryMessage | ClearStateEntryMessage | ClearAllStateEntryMessage | SleepEntryMessage | CallEntryMessage | OneWayCallEntryMessage | AwakeableEntryMessage | CompleteAwakeableEntryMessage | RunEntryMessage | CombinatorEntryMessage | GetPromiseEntryMessage | PeekPromiseEntryMessage | CompletePromiseEntryMessage;
32
36
  export declare const SUSPENSION_TRIGGERS: bigint[];
37
+ export declare function isServiceProtocolVersionSupported(version: ServiceProtocolVersion): boolean;
38
+ export declare function parseServiceProtocolVersion(versionString: string | undefined): ServiceProtocolVersion;
39
+ export declare function serviceProtocolVersionToHeaderValue(serviceProtocolVersion: ServiceProtocolVersion): string;
40
+ export declare function serviceDiscoveryProtocolVersionToHeaderValue(serviceDiscoveryProtocolVersion: ServiceDiscoveryProtocolVersion): string;
41
+ export declare function selectSupportedServiceDiscoveryProtocolVersion(acceptVersionsString: string | undefined): ServiceDiscoveryProtocolVersion;
33
42
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/types/protocol.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAC7B,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAC7B,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,kBAAkB,KAAU,CAAC;AAC1C,eAAO,MAAM,uBAAuB,KAAU,CAAC;AAC/C,eAAO,MAAM,uBAAuB,KAAU,CAAC;AAC/C,eAAO,MAAM,kBAAkB,KAAU,CAAC;AAC1C,eAAO,MAAM,sBAAsB,KAAU,CAAC;AAC9C,eAAO,MAAM,gBAAgB,KAAU,CAAC;AACxC,eAAO,MAAM,wBAAwB,QAAU,CAAC;AAChD,eAAO,MAAM,yBAAyB,QAAU,CAAC;AACjD,eAAO,MAAM,4BAA4B,QAAU,CAAC;AACpD,eAAO,MAAM,4BAA4B,QAAU,CAAC;AACpD,eAAO,MAAM,8BAA8B,QAAU,CAAC;AACtD,eAAO,MAAM,kCAAkC,QAAU,CAAC;AAC1D,eAAO,MAAM,iCAAiC,QAAU,CAAC;AACzD,eAAO,MAAM,wBAAwB,QAAU,CAAC;AAChD,eAAO,MAAM,yBAAyB,QAAU,CAAC;AACjD,eAAO,MAAM,oCAAoC,QAAU,CAAC;AAC5D,eAAO,MAAM,4BAA4B,QAAU,CAAC;AACpD,eAAO,MAAM,qCAAqC,QAAU,CAAC;AAE7D,eAAO,MAAM,2BAA2B,WAAW,CAAC;AAEpD,eAAO,MAAM,8BAA8B,QAAe,CAAC;AAI3D,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAMhD,eAAO,MAAM,mBAAmB,aAqB9B,CAAC;AAyBH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,UAIpD;AA0BD,eAAO,MAAM,wBAAwB;;EAA6B,CAAC;AAEnE,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,YAAY,GACZ,eAAe,GACf,UAAU,GACV,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,GACxB,oBAAoB,GACpB,sBAAsB,GACtB,yBAAyB,GACzB,iBAAiB,GACjB,gBAAgB,GAChB,sBAAsB,GACtB,qBAAqB,GACrB,6BAA6B,GAC7B,eAAe,GACf,sBAAsB,CAAC;AAI3B,eAAO,MAAM,mBAAmB,EAAE,MAAM,EASvC,CAAC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/types/protocol.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,11 @@
10
10
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.SUSPENSION_TRIGGERS = exports.PROTOBUF_MESSAGE_BY_TYPE = exports.formatMessageType = exports.KNOWN_MESSAGE_TYPES = exports.COMBINATOR_ENTRY_MESSAGE = exports.SIDE_EFFECT_ENTRY_MESSAGE_TYPE = exports.AWAKEABLE_IDENTIFIER_PREFIX = exports.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE = exports.AWAKEABLE_ENTRY_MESSAGE_TYPE = exports.BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE = exports.INVOKE_ENTRY_MESSAGE_TYPE = exports.SLEEP_ENTRY_MESSAGE_TYPE = exports.GET_STATE_KEYS_ENTRY_MESSAGE_TYPE = exports.CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE = exports.CLEAR_STATE_ENTRY_MESSAGE_TYPE = exports.SET_STATE_ENTRY_MESSAGE_TYPE = exports.GET_STATE_ENTRY_MESSAGE_TYPE = exports.OUTPUT_ENTRY_MESSAGE_TYPE = exports.INPUT_ENTRY_MESSAGE_TYPE = exports.END_MESSAGE_TYPE = exports.ENTRY_ACK_MESSAGE_TYPE = exports.ERROR_MESSAGE_TYPE = exports.SUSPENSION_MESSAGE_TYPE = exports.COMPLETION_MESSAGE_TYPE = exports.START_MESSAGE_TYPE = exports.EntryAckMessage = exports.SuspensionMessage = exports.StartMessage = exports.SleepEntryMessage = exports.SetStateEntryMessage = exports.InputEntryMessage = exports.OutputEntryMessage = exports.CallEntryMessage = exports.GetStateKeysEntryMessage = exports.GetStateEntryMessage = exports.EndMessage = exports.ErrorMessage = exports.CompletionMessage = exports.CompleteAwakeableEntryMessage = exports.ClearAllStateEntryMessage = exports.ClearStateEntryMessage = exports.OneWayCallEntryMessage = exports.AwakeableEntryMessage = void 0;
13
+ exports.isServiceProtocolVersionSupported = exports.SUSPENSION_TRIGGERS = exports.PROTOBUF_MESSAGE_BY_TYPE = exports.formatMessageType = exports.KNOWN_MESSAGE_TYPES = exports.COMPLETE_PROMISE_MESSAGE_TYPE = exports.PEEK_PROMISE_MESSAGE_TYPE = exports.GET_PROMISE_MESSAGE_TYPE = exports.COMBINATOR_ENTRY_MESSAGE = exports.SIDE_EFFECT_ENTRY_MESSAGE_TYPE = exports.AWAKEABLE_IDENTIFIER_PREFIX = exports.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE = exports.AWAKEABLE_ENTRY_MESSAGE_TYPE = exports.BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE = exports.INVOKE_ENTRY_MESSAGE_TYPE = exports.SLEEP_ENTRY_MESSAGE_TYPE = exports.GET_STATE_KEYS_ENTRY_MESSAGE_TYPE = exports.CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE = exports.CLEAR_STATE_ENTRY_MESSAGE_TYPE = exports.SET_STATE_ENTRY_MESSAGE_TYPE = exports.GET_STATE_ENTRY_MESSAGE_TYPE = exports.OUTPUT_ENTRY_MESSAGE_TYPE = exports.INPUT_ENTRY_MESSAGE_TYPE = exports.END_MESSAGE_TYPE = exports.ENTRY_ACK_MESSAGE_TYPE = exports.ERROR_MESSAGE_TYPE = exports.SUSPENSION_MESSAGE_TYPE = exports.COMPLETION_MESSAGE_TYPE = exports.START_MESSAGE_TYPE = exports.CompletePromiseEntryMessage = exports.PeekPromiseEntryMessage = exports.GetPromiseEntryMessage = exports.EntryAckMessage = exports.SuspensionMessage = exports.StartMessage = exports.SleepEntryMessage = exports.SetStateEntryMessage = exports.InputEntryMessage = exports.OutputEntryMessage = exports.CallEntryMessage = exports.GetStateKeysEntryMessage = exports.GetStateEntryMessage = exports.EndMessage = exports.ErrorMessage = exports.CompletionMessage = exports.CompleteAwakeableEntryMessage = exports.ClearAllStateEntryMessage = exports.ClearStateEntryMessage = exports.OneWayCallEntryMessage = exports.AwakeableEntryMessage = void 0;
14
+ exports.selectSupportedServiceDiscoveryProtocolVersion = exports.serviceDiscoveryProtocolVersionToHeaderValue = exports.serviceProtocolVersionToHeaderValue = exports.parseServiceProtocolVersion = void 0;
14
15
  const javascript_pb_1 = require("../generated/proto/javascript_pb");
15
16
  const protocol_pb_1 = require("../generated/proto/protocol_pb");
17
+ const discovery_pb_1 = require("../generated/proto/discovery_pb");
16
18
  // Re-export the protobuf messages.
17
19
  var protocol_pb_2 = require("../generated/proto/protocol_pb");
18
20
  Object.defineProperty(exports, "AwakeableEntryMessage", { enumerable: true, get: function () { return protocol_pb_2.AwakeableEntryMessage; } });
@@ -33,6 +35,9 @@ Object.defineProperty(exports, "SleepEntryMessage", { enumerable: true, get: fun
33
35
  Object.defineProperty(exports, "StartMessage", { enumerable: true, get: function () { return protocol_pb_2.StartMessage; } });
34
36
  Object.defineProperty(exports, "SuspensionMessage", { enumerable: true, get: function () { return protocol_pb_2.SuspensionMessage; } });
35
37
  Object.defineProperty(exports, "EntryAckMessage", { enumerable: true, get: function () { return protocol_pb_2.EntryAckMessage; } });
38
+ Object.defineProperty(exports, "GetPromiseEntryMessage", { enumerable: true, get: function () { return protocol_pb_2.GetPromiseEntryMessage; } });
39
+ Object.defineProperty(exports, "PeekPromiseEntryMessage", { enumerable: true, get: function () { return protocol_pb_2.PeekPromiseEntryMessage; } });
40
+ Object.defineProperty(exports, "CompletePromiseEntryMessage", { enumerable: true, get: function () { return protocol_pb_2.CompletePromiseEntryMessage; } });
36
41
  // Export the protocol message types as defined by the restate protocol.
37
42
  exports.START_MESSAGE_TYPE = 0x0000n;
38
43
  exports.COMPLETION_MESSAGE_TYPE = 0x0001n;
@@ -57,7 +62,10 @@ exports.SIDE_EFFECT_ENTRY_MESSAGE_TYPE = 0x0c00n + 5n;
57
62
  // Export the custom message types
58
63
  // Side effects are custom messages because the runtime does not need to inspect them
59
64
  exports.COMBINATOR_ENTRY_MESSAGE = 0xfc02n;
60
- // Restate DuplexStream
65
+ // Durable promise
66
+ exports.GET_PROMISE_MESSAGE_TYPE = 0x808n;
67
+ exports.PEEK_PROMISE_MESSAGE_TYPE = 0x809n;
68
+ exports.COMPLETE_PROMISE_MESSAGE_TYPE = 0x80an;
61
69
  // Message types in the protocol.
62
70
  // Custom message types (per SDK) such as side effect entry message should not be included here.
63
71
  exports.KNOWN_MESSAGE_TYPES = new Set([
@@ -81,6 +89,9 @@ exports.KNOWN_MESSAGE_TYPES = new Set([
81
89
  exports.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE,
82
90
  exports.SIDE_EFFECT_ENTRY_MESSAGE_TYPE,
83
91
  exports.COMBINATOR_ENTRY_MESSAGE,
92
+ exports.GET_PROMISE_MESSAGE_TYPE,
93
+ exports.PEEK_PROMISE_MESSAGE_TYPE,
94
+ exports.COMPLETE_PROMISE_MESSAGE_TYPE,
84
95
  ]);
85
96
  const PROTOBUF_MESSAGE_NAME_BY_TYPE = new Map([
86
97
  [exports.START_MESSAGE_TYPE, "StartMessage"],
@@ -103,10 +114,13 @@ const PROTOBUF_MESSAGE_NAME_BY_TYPE = new Map([
103
114
  [exports.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, "CompleteAwakeableEntryMessage"],
104
115
  [exports.SIDE_EFFECT_ENTRY_MESSAGE_TYPE, "RunEntryMessage"],
105
116
  [exports.COMBINATOR_ENTRY_MESSAGE, "CombinatorEntryMessage"],
117
+ [exports.GET_PROMISE_MESSAGE_TYPE, "GetPromiseEntryMessage"],
118
+ [exports.PEEK_PROMISE_MESSAGE_TYPE, "PeekPromiseEntryMessage"],
119
+ [exports.COMPLETE_PROMISE_MESSAGE_TYPE, "CompletePromiseEntryMessage"],
106
120
  ]);
107
- function formatMessageType(messageType) {
108
- return (PROTOBUF_MESSAGE_NAME_BY_TYPE.get(messageType) || messageType.toString());
109
- }
121
+ const formatMessageType = (messageType) => {
122
+ return (PROTOBUF_MESSAGE_NAME_BY_TYPE.get(messageType) ?? messageType.toString());
123
+ };
110
124
  exports.formatMessageType = formatMessageType;
111
125
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
112
126
  const PROTOBUF_MESSAGES = [
@@ -130,6 +144,9 @@ const PROTOBUF_MESSAGES = [
130
144
  [exports.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, protocol_pb_1.CompleteAwakeableEntryMessage],
131
145
  [exports.SIDE_EFFECT_ENTRY_MESSAGE_TYPE, protocol_pb_1.RunEntryMessage],
132
146
  [exports.COMBINATOR_ENTRY_MESSAGE, javascript_pb_1.CombinatorEntryMessage],
147
+ [exports.GET_PROMISE_MESSAGE_TYPE, protocol_pb_1.GetPromiseEntryMessage],
148
+ [exports.PEEK_PROMISE_MESSAGE_TYPE, protocol_pb_1.PeekPromiseEntryMessage],
149
+ [exports.COMPLETE_PROMISE_MESSAGE_TYPE, protocol_pb_1.CompletePromiseEntryMessage],
133
150
  ];
134
151
  exports.PROTOBUF_MESSAGE_BY_TYPE = new Map(PROTOBUF_MESSAGES);
135
152
  // These message types will trigger sending a suspension message from the runtime
@@ -143,5 +160,78 @@ exports.SUSPENSION_TRIGGERS = [
143
160
  exports.COMBINATOR_ENTRY_MESSAGE,
144
161
  // We need it because of the ack
145
162
  exports.SIDE_EFFECT_ENTRY_MESSAGE_TYPE,
163
+ // promises need completion
164
+ exports.GET_PROMISE_MESSAGE_TYPE,
165
+ exports.PEEK_PROMISE_MESSAGE_TYPE,
166
+ exports.COMPLETE_PROMISE_MESSAGE_TYPE,
146
167
  ];
168
+ const MIN_SERVICE_PROTOCOL_VERSION = protocol_pb_1.ServiceProtocolVersion.V1;
169
+ const MAX_SERVICE_PROTOCOL_VERSION = protocol_pb_1.ServiceProtocolVersion.V1;
170
+ const MIN_SERVICE_DISCOVERY_PROTOCOL_VERSION = discovery_pb_1.ServiceDiscoveryProtocolVersion.V1;
171
+ const MAX_SERVICE_DISCOVERY_PROTOCOL_VERSION = discovery_pb_1.ServiceDiscoveryProtocolVersion.V1;
172
+ function isServiceProtocolVersionSupported(version) {
173
+ return (version >= MIN_SERVICE_PROTOCOL_VERSION &&
174
+ version <= MAX_SERVICE_PROTOCOL_VERSION);
175
+ }
176
+ exports.isServiceProtocolVersionSupported = isServiceProtocolVersionSupported;
177
+ function isServiceDiscoveryProtocolVersionSupported(version) {
178
+ return (version >= MIN_SERVICE_DISCOVERY_PROTOCOL_VERSION &&
179
+ version <= MAX_SERVICE_DISCOVERY_PROTOCOL_VERSION);
180
+ }
181
+ function parseServiceProtocolVersion(versionString) {
182
+ // if nothing is set, assume we are using V1
183
+ if (versionString === undefined ||
184
+ versionString === null ||
185
+ versionString === "") {
186
+ return protocol_pb_1.ServiceProtocolVersion.V1;
187
+ }
188
+ versionString = versionString.trim();
189
+ if (versionString === "application/vnd.restate.invocation.v1") {
190
+ return protocol_pb_1.ServiceProtocolVersion.V1;
191
+ }
192
+ return protocol_pb_1.ServiceProtocolVersion.SERVICE_PROTOCOL_VERSION_UNSPECIFIED;
193
+ }
194
+ exports.parseServiceProtocolVersion = parseServiceProtocolVersion;
195
+ function serviceProtocolVersionToHeaderValue(serviceProtocolVersion) {
196
+ switch (serviceProtocolVersion) {
197
+ case protocol_pb_1.ServiceProtocolVersion.V1:
198
+ return "application/vnd.restate.invocation.v1";
199
+ default:
200
+ throw new Error(`Unsupported service discovery protocol version: ${serviceProtocolVersion}`);
201
+ }
202
+ }
203
+ exports.serviceProtocolVersionToHeaderValue = serviceProtocolVersionToHeaderValue;
204
+ function parseServiceDiscoveryProtocolVersion(versionString) {
205
+ versionString = versionString.trim();
206
+ if (versionString === "application/vnd.restate.endpointmanifest.v1+json") {
207
+ return discovery_pb_1.ServiceDiscoveryProtocolVersion.V1;
208
+ }
209
+ return discovery_pb_1.ServiceDiscoveryProtocolVersion.SERVICE_DISCOVERY_PROTOCOL_VERSION_UNSPECIFIED;
210
+ }
211
+ function serviceDiscoveryProtocolVersionToHeaderValue(serviceDiscoveryProtocolVersion) {
212
+ switch (serviceDiscoveryProtocolVersion) {
213
+ case discovery_pb_1.ServiceDiscoveryProtocolVersion.V1:
214
+ return "application/vnd.restate.endpointmanifest.v1+json";
215
+ default:
216
+ throw new Error(`Unsupported service discovery protocol version: ${serviceDiscoveryProtocolVersion}`);
217
+ }
218
+ }
219
+ exports.serviceDiscoveryProtocolVersionToHeaderValue = serviceDiscoveryProtocolVersionToHeaderValue;
220
+ function selectSupportedServiceDiscoveryProtocolVersion(acceptVersionsString) {
221
+ if (acceptVersionsString === undefined ||
222
+ acceptVersionsString === null ||
223
+ acceptVersionsString === "") {
224
+ return discovery_pb_1.ServiceDiscoveryProtocolVersion.V1;
225
+ }
226
+ let maxVersion = discovery_pb_1.ServiceDiscoveryProtocolVersion.SERVICE_DISCOVERY_PROTOCOL_VERSION_UNSPECIFIED;
227
+ acceptVersionsString.split(",").forEach((versionString) => {
228
+ const version = parseServiceDiscoveryProtocolVersion(versionString);
229
+ if (isServiceDiscoveryProtocolVersionSupported(version) &&
230
+ version > maxVersion) {
231
+ maxVersion = version;
232
+ }
233
+ });
234
+ return maxVersion;
235
+ }
236
+ exports.selectSupportedServiceDiscoveryProtocolVersion = selectSupportedServiceDiscoveryProtocolVersion;
147
237
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/types/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/types/protocol.ts"],"names":[],"mappings":"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"}