@restatedev/restate-sdk 0.4.0 → 0.5.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 (91) hide show
  1. package/dist/connection/lambda_connection.d.ts +2 -2
  2. package/dist/connection/lambda_connection.d.ts.map +1 -1
  3. package/dist/connection/lambda_connection.js +3 -2
  4. package/dist/connection/lambda_connection.js.map +1 -1
  5. package/dist/embedded/api.d.ts +19 -10
  6. package/dist/embedded/api.d.ts.map +1 -1
  7. package/dist/embedded/api.js +6 -8
  8. package/dist/embedded/api.js.map +1 -1
  9. package/dist/embedded/http2_remote.d.ts +2 -1
  10. package/dist/embedded/http2_remote.d.ts.map +1 -1
  11. package/dist/embedded/http2_remote.js +14 -8
  12. package/dist/embedded/http2_remote.js.map +1 -1
  13. package/dist/embedded/invocation.d.ts +2 -1
  14. package/dist/embedded/invocation.d.ts.map +1 -1
  15. package/dist/embedded/invocation.js +8 -4
  16. package/dist/embedded/invocation.js.map +1 -1
  17. package/dist/restate_context.d.ts +62 -22
  18. package/dist/restate_context.d.ts.map +1 -1
  19. package/dist/restate_context.js.map +1 -1
  20. package/dist/restate_context_impl.d.ts +19 -4
  21. package/dist/restate_context_impl.d.ts.map +1 -1
  22. package/dist/restate_context_impl.js +15 -4
  23. package/dist/restate_context_impl.js.map +1 -1
  24. package/dist/server/base_restate_server.d.ts +2 -0
  25. package/dist/server/base_restate_server.d.ts.map +1 -1
  26. package/dist/server/base_restate_server.js +3 -2
  27. package/dist/server/base_restate_server.js.map +1 -1
  28. package/dist/server/restate_lambda_handler.d.ts.map +1 -1
  29. package/dist/server/restate_lambda_handler.js +3 -1
  30. package/dist/server/restate_lambda_handler.js.map +1 -1
  31. package/dist/state_machine.d.ts +2 -2
  32. package/dist/state_machine.d.ts.map +1 -1
  33. package/dist/state_machine.js +12 -7
  34. package/dist/state_machine.js.map +1 -1
  35. package/dist/utils/rand.d.ts +14 -0
  36. package/dist/utils/rand.d.ts.map +1 -0
  37. package/dist/utils/rand.js +114 -0
  38. package/dist/utils/rand.js.map +1 -0
  39. package/package.json +1 -1
  40. package/dist/bidirectional_server.d.ts +0 -33
  41. package/dist/bidirectional_server.d.ts.map +0 -1
  42. package/dist/bidirectional_server.js +0 -95
  43. package/dist/bidirectional_server.js.map +0 -1
  44. package/dist/connection/restate_duplex_stream.d.ts +0 -14
  45. package/dist/connection/restate_duplex_stream.d.ts.map +0 -1
  46. package/dist/connection/restate_duplex_stream.js +0 -50
  47. package/dist/connection/restate_duplex_stream.js.map +0 -1
  48. package/dist/context.d.ts +0 -19
  49. package/dist/context.d.ts.map +0 -1
  50. package/dist/context.js +0 -25
  51. package/dist/context.js.map +0 -1
  52. package/dist/core.d.ts +0 -10
  53. package/dist/core.d.ts.map +0 -1
  54. package/dist/core.js +0 -23
  55. package/dist/core.js.map +0 -1
  56. package/dist/durable_execution.d.ts +0 -61
  57. package/dist/durable_execution.d.ts.map +0 -1
  58. package/dist/durable_execution.js +0 -463
  59. package/dist/durable_execution.js.map +0 -1
  60. package/dist/example.d.ts +0 -6
  61. package/dist/example.d.ts.map +0 -1
  62. package/dist/example.js +0 -60
  63. package/dist/example.js.map +0 -1
  64. package/dist/generated/proto/example.d.ts +0 -105
  65. package/dist/generated/proto/example.d.ts.map +0 -1
  66. package/dist/generated/proto/example.js +0 -244
  67. package/dist/generated/proto/example.js.map +0 -1
  68. package/dist/generated/proto/ext.d.ts +0 -79
  69. package/dist/generated/proto/ext.d.ts.map +0 -1
  70. package/dist/generated/proto/ext.js +0 -177
  71. package/dist/generated/proto/ext.js.map +0 -1
  72. package/dist/protocol_stream.d.ts +0 -39
  73. package/dist/protocol_stream.d.ts.map +0 -1
  74. package/dist/protocol_stream.js +0 -296
  75. package/dist/protocol_stream.js.map +0 -1
  76. package/dist/protoutils.d.ts +0 -15
  77. package/dist/protoutils.d.ts.map +0 -1
  78. package/dist/protoutils.js +0 -71
  79. package/dist/protoutils.js.map +0 -1
  80. package/dist/restate.d.ts +0 -18
  81. package/dist/restate.d.ts.map +0 -1
  82. package/dist/restate.js +0 -93
  83. package/dist/restate.js.map +0 -1
  84. package/dist/testdriver.d.ts +0 -27
  85. package/dist/testdriver.d.ts.map +0 -1
  86. package/dist/testdriver.js +0 -134
  87. package/dist/testdriver.js.map +0 -1
  88. package/dist/types.d.ts +0 -96
  89. package/dist/types.d.ts.map +0 -1
  90. package/dist/types.js +0 -136
  91. package/dist/types.js.map +0 -1
@@ -2,11 +2,11 @@
2
2
  import { Connection } from "./connection";
3
3
  import { Message } from "../types/types";
4
4
  export declare class LambdaConnection implements Connection {
5
- private outputBuffer;
6
5
  private suspendedOrCompleted;
6
+ private outputBuffer;
7
7
  private readonly completionPromise;
8
8
  private resolveOnCompleted;
9
- constructor();
9
+ constructor(suspendedOrCompleted?: boolean);
10
10
  send(msg: Message): Promise<void>;
11
11
  getResult(): Promise<Buffer>;
12
12
  end(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"lambda_connection.d.ts","sourceRoot":"","sources":["../../src/connection/lambda_connection.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAKzC,qBAAa,gBAAiB,YAAW,UAAU;IAEjD,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,oBAAoB,CAAS;IAGrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,kBAAkB,CAAiD;;IAU3E,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAQrB"}
1
+ {"version":3,"file":"lambda_connection.d.ts","sourceRoot":"","sources":["../../src/connection/lambda_connection.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAKzC,qBAAa,gBAAiB,YAAW,UAAU;IAQrC,OAAO,CAAC,oBAAoB;IANxC,OAAO,CAAC,YAAY,CAA2B;IAG/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,kBAAkB,CAAiD;gBAEvD,oBAAoB,UAAQ;IAQhD,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAQrB"}
@@ -16,13 +16,14 @@ const protocol_1 = require("../types/protocol");
16
16
  const logger_1 = require("../utils/logger");
17
17
  const RESOLVED = Promise.resolve();
18
18
  class LambdaConnection {
19
+ suspendedOrCompleted;
19
20
  // Empty buffer to store journal output messages
20
21
  outputBuffer = Buffer.alloc(0);
21
- suspendedOrCompleted = false;
22
22
  // Callback to resolve the invocation promise of the Lambda handler when the response is ready
23
23
  completionPromise;
24
24
  resolveOnCompleted;
25
- constructor() {
25
+ constructor(suspendedOrCompleted = false) {
26
+ this.suspendedOrCompleted = suspendedOrCompleted;
26
27
  // Promise that signals when the invocation is over, to then flush the messages
27
28
  this.completionPromise = new Promise((resolve) => {
28
29
  this.resolveOnCompleted = resolve;
@@ -1 +1 @@
1
- {"version":3,"file":"lambda_connection.js","sourceRoot":"","sources":["../../src/connection/lambda_connection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAGH,2CAA8C;AAC9C,gDAG2B;AAE3B,4CAAuC;AAEvC,MAAM,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAElD,MAAa,gBAAgB;IAC3B,gDAAgD;IACxC,YAAY,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,oBAAoB,GAAG,KAAK,CAAC;IAErC,8FAA8F;IAC7E,iBAAiB,CAAkB;IAC5C,kBAAkB,CAAiD;IAE3E;QACE,+EAA+E;QAC/E,IAAI,CAAC,iBAAiB,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,GAAY;QACf,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QAElE,4EAA4E;QAC5E,IACE,GAAG,CAAC,WAAW,KAAK,2CAAgC;YACpD,GAAG,CAAC,WAAW,KAAK,kCAAuB,EAC3C;YACA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,GAAG;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,aAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA7CD,4CA6CC"}
1
+ {"version":3,"file":"lambda_connection.js","sourceRoot":"","sources":["../../src/connection/lambda_connection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAGH,2CAA8C;AAC9C,gDAG2B;AAE3B,4CAAuC;AAEvC,MAAM,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAElD,MAAa,gBAAgB;IAQP;IAPpB,gDAAgD;IACxC,YAAY,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/C,8FAA8F;IAC7E,iBAAiB,CAAkB;IAC5C,kBAAkB,CAAiD;IAE3E,YAAoB,uBAAuB,KAAK;QAA5B,yBAAoB,GAApB,oBAAoB,CAAQ;QAC9C,+EAA+E;QAC/E,IAAI,CAAC,iBAAiB,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,GAAY;QACf,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QAElE,4EAA4E;QAC5E,IACE,GAAG,CAAC,WAAW,KAAK,2CAAgC;YACpD,GAAG,CAAC,WAAW,KAAK,kCAAuB,EAC3C;YACA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,GAAG;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,aAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA5CD,4CA4CC"}
@@ -1,18 +1,27 @@
1
+ /// <reference types="node" />
1
2
  import { RpcContext } from "../restate_context";
3
+ import { RemoteContext } from "../generated/proto/services";
4
+ import { OutgoingHttpHeaders } from "http";
2
5
  export type RestateConnectionOptions = {
3
- ingress: string;
6
+ /**
7
+ * Additional headers attached to the requests sent to Restate.
8
+ */
9
+ headers: OutgoingHttpHeaders;
4
10
  };
5
- export type RestateInvocationOptions<I, O> = {
6
- id: string;
7
- handler: (ctx: RpcContext, input: I) => Promise<O>;
8
- input: I;
11
+ export type RestateInvocationOptions = {
12
+ /**
13
+ * Retention period for the response in seconds.
14
+ * After the invocation completes, the response will be persisted for the given duration.
15
+ * Afterward, the system will clean up the response and treats any subsequent invocation with same operation_id as new.
16
+ *
17
+ * If not set, 30 minutes will be used as retention period.
18
+ */
9
19
  retain?: number;
10
20
  };
11
- export declare const connection: (opts: RestateConnectionOptions) => RestateConnection;
21
+ export declare const connection: (address: string, opt?: RestateConnectionOptions) => RestateConnection;
12
22
  export declare class RestateConnection {
13
- readonly opts: RestateConnectionOptions;
14
- private remote;
15
- constructor(opts: RestateConnectionOptions);
16
- invoke<I, O>(opt: RestateInvocationOptions<I, O>): Promise<O>;
23
+ private readonly remote;
24
+ constructor(remote: RemoteContext);
25
+ invoke<I, O>(id: string, input: I, handler: (ctx: RpcContext, input: I) => Promise<O>, opt?: RestateInvocationOptions): Promise<O>;
17
26
  }
18
27
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/embedded/api.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,wBAAwB,KAAG,iBAC/B,CAAC;AAE9B,qBAAa,iBAAiB;IAGhB,QAAQ,CAAC,IAAI,EAAE,wBAAwB;IAFnD,OAAO,CAAC,MAAM,CAAgB;gBAET,IAAI,EAAE,wBAAwB;IAI5C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAKrE"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/embedded/api.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU,YACZ,MAAM,QACT,wBAAwB,KAC7B,iBAC2D,CAAC;AAE/D,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAE3C,MAAM,CAAC,CAAC,EAAE,CAAC,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAClD,GAAG,CAAC,EAAE,wBAAwB,GAC7B,OAAO,CAAC,CAAC,CAAC;CAKd"}
@@ -18,19 +18,17 @@ const invocation_1 = require("./invocation");
18
18
  const handler_1 = require("./handler");
19
19
  const crypto_1 = __importDefault(require("crypto"));
20
20
  const http2_remote_1 = require("./http2_remote");
21
- const connection = (opts) => new RestateConnection(opts);
21
+ const connection = (address, opt) => new RestateConnection((0, http2_remote_1.bufConnectRemoteContext)(address, opt));
22
22
  exports.connection = connection;
23
23
  class RestateConnection {
24
- opts;
25
24
  remote;
26
- constructor(opts) {
27
- this.opts = opts;
28
- this.remote = (0, http2_remote_1.bufConnectRemoteContext)(opts.ingress);
25
+ constructor(remote) {
26
+ this.remote = remote;
29
27
  }
30
- invoke(opt) {
31
- const method = (0, handler_1.wrapHandler)(opt.handler);
28
+ invoke(id, input, handler, opt) {
29
+ const method = (0, handler_1.wrapHandler)(handler);
32
30
  const streamId = crypto_1.default.randomUUID();
33
- return (0, invocation_1.doInvoke)(this.remote, opt.id, streamId, method, opt.input);
31
+ return (0, invocation_1.doInvoke)(this.remote, id, streamId, input, method, opt);
34
32
  }
35
33
  }
36
34
  exports.RestateConnection = RestateConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/embedded/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AAGH,6CAAwC;AACxC,uCAAwC;AACxC,oDAA4B;AAE5B,iDAAyD;AAalD,MAAM,UAAU,GAAG,CAAC,IAA8B,EAAqB,EAAE,CAC9E,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AADjB,QAAA,UAAU,cACO;AAE9B,MAAa,iBAAiB;IAGP;IAFb,MAAM,CAAgB;IAE9B,YAAqB,IAA8B;QAA9B,SAAI,GAAJ,IAAI,CAA0B;QACjD,IAAI,CAAC,MAAM,GAAG,IAAA,sCAAuB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAO,GAAmC;QACrD,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,gBAAM,CAAC,UAAU,EAAE,CAAC;QACrC,OAAO,IAAA,qBAAQ,EAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;CACF;AAZD,8CAYC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/embedded/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AAGH,6CAAwC;AACxC,uCAAwC;AACxC,oDAA4B;AAE5B,iDAAyD;AAqBlD,MAAM,UAAU,GAAG,CACxB,OAAe,EACf,GAA8B,EACX,EAAE,CACrB,IAAI,iBAAiB,CAAC,IAAA,sCAAuB,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AAJlD,QAAA,UAAU,cAIwC;AAE/D,MAAa,iBAAiB;IACC;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE/C,MAAM,CACX,EAAU,EACV,KAAQ,EACR,OAAkD,EAClD,GAA8B;QAE9B,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,gBAAM,CAAC,UAAU,EAAE,CAAC;QACrC,OAAO,IAAA,qBAAQ,EAAO,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;CACF;AAbD,8CAaC"}
@@ -1,4 +1,5 @@
1
1
  import { RemoteContext } from "../generated/proto/services";
2
+ import { RestateConnectionOptions } from "./api";
2
3
  export declare class RequestError extends Error {
3
4
  readonly url: string;
4
5
  readonly status: number;
@@ -6,5 +7,5 @@ export declare class RequestError extends Error {
6
7
  constructor(url: string, status: number, statusText?: string | undefined);
7
8
  precondtionFailed(): boolean;
8
9
  }
9
- export declare const bufConnectRemoteContext: (url: string) => RemoteContext;
10
+ export declare const bufConnectRemoteContext: (url: string, opt?: RestateConnectionOptions) => RemoteContext;
10
11
  //# sourceMappingURL=http2_remote.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http2_remote.d.ts","sourceRoot":"","sources":["../../src/embedded/http2_remote.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,aAAa,EAEd,MAAM,6BAA6B,CAAC;AAErC,qBAAa,YAAa,SAAQ,KAAK;aAEnB,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,MAAM;aACd,UAAU,CAAC;gBAFX,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,oBAAQ;IAKrC,iBAAiB,IAAI,OAAO;CAG7B;AAED,eAAO,MAAM,uBAAuB,QAAS,MAAM,KAAG,aAOrD,CAAC"}
1
+ {"version":3,"file":"http2_remote.d.ts","sourceRoot":"","sources":["../../src/embedded/http2_remote.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,aAAa,EAEd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAGjD,qBAAa,YAAa,SAAQ,KAAK;aAEnB,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,MAAM;aACd,UAAU,CAAC;gBAFX,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,oBAAQ;IAKrC,iBAAiB,IAAI,OAAO;CAG7B;AAED,eAAO,MAAM,uBAAuB,QAC7B,MAAM,QACL,wBAAwB,KAC7B,aAOF,CAAC"}
@@ -32,8 +32,8 @@ class RequestError extends Error {
32
32
  }
33
33
  }
34
34
  exports.RequestError = RequestError;
35
- const bufConnectRemoteContext = (url) => {
36
- const httpClient = new ProtobufHttp2Client(url);
35
+ const bufConnectRemoteContext = (url, opt) => {
36
+ const httpClient = new ProtobufHttp2Client(url, opt);
37
37
  return new services_1.RemoteContextClientImpl({
38
38
  request: (service, method, data) => httpClient.post(`/${service}/${method}`, data),
39
39
  });
@@ -42,8 +42,10 @@ exports.bufConnectRemoteContext = bufConnectRemoteContext;
42
42
  class ProtobufHttp2Client {
43
43
  ingress;
44
44
  session;
45
- constructor(ingress) {
45
+ additionalHeaders;
46
+ constructor(ingress, opt) {
46
47
  this.ingress = ingress;
48
+ this.additionalHeaders = opt?.headers == undefined ? {} : opt?.headers;
47
49
  }
48
50
  async client() {
49
51
  if (this.session !== undefined) {
@@ -63,11 +65,15 @@ class ProtobufHttp2Client {
63
65
  async post(path, body) {
64
66
  const client = await this.client();
65
67
  const req = client.request({
66
- [node_http2_1.default.constants.HTTP2_HEADER_SCHEME]: "http",
67
- [node_http2_1.default.constants.HTTP2_HEADER_METHOD]: node_http2_1.default.constants.HTTP2_METHOD_POST,
68
- [node_http2_1.default.constants.HTTP2_HEADER_PATH]: path,
69
- [node_http2_1.default.constants.HTTP2_HEADER_CONTENT_TYPE]: "application/proto",
70
- [node_http2_1.default.constants.HTTP2_HEADER_CONTENT_LENGTH]: body.length,
68
+ ...{
69
+ [node_http2_1.default.constants.HTTP2_HEADER_SCHEME]: "http",
70
+ [node_http2_1.default.constants.HTTP2_HEADER_METHOD]: node_http2_1.default.constants.HTTP2_METHOD_POST,
71
+ [node_http2_1.default.constants.HTTP2_HEADER_PATH]: path,
72
+ [node_http2_1.default.constants.HTTP2_HEADER_CONTENT_TYPE]: "application/proto",
73
+ [node_http2_1.default.constants.HTTP2_HEADER_ACCEPT]: "application/proto",
74
+ [node_http2_1.default.constants.HTTP2_HEADER_CONTENT_LENGTH]: body.length,
75
+ },
76
+ ...this.additionalHeaders,
71
77
  });
72
78
  req.end(body);
73
79
  const [headers] = await (0, events_1.once)(req, "response");
@@ -1 +1 @@
1
- {"version":3,"file":"http2_remote.js","sourceRoot":"","sources":["../../src/embedded/http2_remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http2_remote.js","sourceRoot":"","sources":["../../src/embedded/http2_remote.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { RemoteContext } from "../generated/proto/services";
2
2
  import { HostedGrpcServiceMethod } from "../types/grpc";
3
- export declare const doInvoke: <I, O>(remote: RemoteContext, operationId: string, streamId: string, method: HostedGrpcServiceMethod<I, O>, input: I) => Promise<O>;
3
+ import { RestateInvocationOptions } from "./api";
4
+ export declare const doInvoke: <I, O>(remote: RemoteContext, operationId: string, streamId: string, input: I, method: HostedGrpcServiceMethod<I, O>, opt?: RestateInvocationOptions) => Promise<O>;
4
5
  //# sourceMappingURL=invocation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invocation.d.ts","sourceRoot":"","sources":["../../src/embedded/invocation.ts"],"names":[],"mappings":"AAaA,OAAO,EAAqB,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAQxD,eAAO,MAAM,QAAQ,iBACX,aAAa,eACR,MAAM,YACT,MAAM,gEAgFjB,CAAC"}
1
+ {"version":3,"file":"invocation.d.ts","sourceRoot":"","sources":["../../src/embedded/invocation.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,aAAa,EAEd,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAOxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAEjD,eAAO,MAAM,QAAQ,iBACX,aAAa,eACR,MAAM,YACT,MAAM,yDAGV,wBAAwB,eAkF/B,CAAC"}
@@ -12,20 +12,24 @@
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.doInvoke = void 0;
14
14
  const decoder_1 = require("../io/decoder");
15
+ const services_1 = require("../generated/proto/services");
15
16
  const invocation_1 = require("../invocation");
16
17
  const state_machine_1 = require("../state_machine");
17
18
  const discovery_1 = require("../generated/proto/discovery");
18
19
  const embedded_connection_1 = require("../connection/embedded_connection");
19
- const doInvoke = async (remote, operationId, streamId, method, input) => {
20
+ const doInvoke = async (remote, operationId, streamId, input, method, opt) => {
20
21
  //
21
22
  // 1. ask to Start this execution.
22
23
  //
23
- const res = await remote.start({
24
+ const startRequest = services_1.StartRequest.fromPartial({
24
25
  operationId,
25
26
  streamId,
26
- retentionPeriodSec: 60,
27
27
  argument: Buffer.from(JSON.stringify(input)),
28
28
  });
29
+ if (opt != undefined && opt.retain != undefined) {
30
+ startRequest.retentionPeriodSec = opt.retain;
31
+ }
32
+ const res = await remote.start(startRequest);
29
33
  if (res.completed !== undefined) {
30
34
  return unwrap(res.completed);
31
35
  }
@@ -40,7 +44,7 @@ const doInvoke = async (remote, operationId, streamId, method, input) => {
40
44
  // 3. resume the execution state machine
41
45
  //
42
46
  const connection = new embedded_connection_1.EmbeddedConnection(operationId, streamId, remote);
43
- const stateMachine = new state_machine_1.StateMachine(connection, journal, discovery_1.ProtocolMode.BIDI_STREAM);
47
+ const stateMachine = new state_machine_1.StateMachine(connection, journal, discovery_1.ProtocolMode.BIDI_STREAM, -1);
44
48
  //
45
49
  // 4. track the state machine execution result
46
50
  //
@@ -1 +1 @@
1
- {"version":3,"file":"invocation.js","sourceRoot":"","sources":["../../src/embedded/invocation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invocation.js","sourceRoot":"","sources":["../../src/embedded/invocation.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,16 @@ export interface RestateBaseContext {
18
18
  * Name of the service.
19
19
  */
20
20
  serviceName: string;
21
+ /**
22
+ * Deterministic random methods; these are inherently predictable (seeded on the invocation ID, which is not secret)
23
+ * and so should not be used for any cryptographic purposes. They are useful for identifiers, idempotency keys,
24
+ * and for uniform sampling from a set of options. If a cryptographically secure value is needed, please generate that
25
+ * externally and capture the result with a side effect.
26
+ *
27
+ * Calls to these methods from inside side effects are disallowed and will fail - side effects must be idempotent, and
28
+ * these calls are not.
29
+ */
30
+ rand: Rand;
21
31
  /**
22
32
  * Get/retrieve state from the Restate runtime.
23
33
  * Note that state objects are serialized with `Buffer.from(JSON.stringify(theObject))`
@@ -156,19 +166,22 @@ export interface RestateBaseContext {
156
166
  */
157
167
  sleep(millis: number): Promise<void>;
158
168
  }
169
+ export interface Rand {
170
+ /**
171
+ * Equivalent of JS `Math.random()` but deterministic; seeded by the invocation ID of the current invocation,
172
+ * each call will return a new pseudorandom float within the range [0,1)
173
+ */
174
+ random(): number;
175
+ /**
176
+ * Using the same random source and seed as random(), produce a UUID version 4 string. This is inherently predictable
177
+ * based on the invocation ID and should not be used in cryptographic contexts
178
+ */
179
+ uuidv4(): string;
180
+ }
159
181
  /**
160
- * The context that gives access to all Restate-backed operations, for example
161
- * - sending reliable messages / rpc through Restate
162
- * - access/update state (for keyed services)
163
- * - side effects
164
- * - sleeps and delayed calls
165
- * - awakeables
166
- * - ...
167
- *
168
- * This context is for use in **gRPC service** implementations.
169
- * For the rpc-handler API, use the {@link RpcContext} instead.
182
+ * Interface to interact with **gRPC** based services.
170
183
  */
171
- export interface RestateGrpcContext extends RestateBaseContext {
184
+ export interface RestateGrpcChannel {
172
185
  /**
173
186
  * Unidirectional call to other Restate services ( = in background / async / not waiting on response).
174
187
  * To do this, wrap the call via the proto-ts client with oneWayCall, as shown in the example.
@@ -224,6 +237,24 @@ export interface RestateGrpcContext extends RestateBaseContext {
224
237
  */
225
238
  request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
226
239
  }
240
+ /**
241
+ * The context that gives access to all Restate-backed operations, for example
242
+ * - sending reliable messages / rpc through Restate
243
+ * - access/update state (for keyed services)
244
+ * - side effects
245
+ * - sleeps and delayed calls
246
+ * - awakeables
247
+ * - ...
248
+ *
249
+ * This context is for use in **gRPC service** implementations.
250
+ * For the rpc-handler API, use the {@link RpcContext} instead.
251
+ */
252
+ export interface RestateGrpcContext extends RestateBaseContext, RestateGrpcChannel {
253
+ /**
254
+ * Get the {@link RpcGateway} to invoke Handler-API based services.
255
+ */
256
+ rpcGateway(): RpcGateway;
257
+ }
227
258
  /**
228
259
  * For compatibility, we make the support 'RestateContext' as the type for the Grpc-based API context.
229
260
  */
@@ -264,18 +295,9 @@ export type ServiceApi<_M = unknown> = {
264
295
  path: string;
265
296
  };
266
297
  /**
267
- * The context that gives access to all Restate-backed operations, for example
268
- * - sending reliable messages / RPC through Restate
269
- * - access/update state (for keyed services)
270
- * - side effects
271
- * - sleeps and delayed calls
272
- * - awakeables
273
- * - ...
274
- *
275
- * This context is for use with the **rpc-handler API**.
276
- * For gRPC-based API, use the {@link RestateContext} instead.
298
+ * Interface to interact with **rpc-handler API** based services.
277
299
  */
278
- export interface RpcContext extends RestateBaseContext {
300
+ export interface RpcGateway {
279
301
  /**
280
302
  * Makes a type-safe request/response RPC to the specified target service.
281
303
  *
@@ -402,4 +424,22 @@ export interface RpcContext extends RestateBaseContext {
402
424
  */
403
425
  sendDelayed<M>(opts: ServiceApi<M>, delay: number): SendClient<M>;
404
426
  }
427
+ /**
428
+ * The context that gives access to all Restate-backed operations, for example
429
+ * - sending reliable messages / RPC through Restate
430
+ * - access/update state (for keyed services)
431
+ * - side effects
432
+ * - sleeps and delayed calls
433
+ * - awakeables
434
+ * - ...
435
+ *
436
+ * This context is for use with the **rpc-handler API**.
437
+ * For gRPC-based API, use the {@link RestateContext} instead.
438
+ */
439
+ export interface RpcContext extends RestateBaseContext, RpcGateway {
440
+ /**
441
+ * Get the {@link RestateGrpcChannel} to invoke gRPC based services.
442
+ */
443
+ grpcChannel(): RestateGrpcChannel;
444
+ }
405
445
  //# sourceMappingURL=restate_context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"restate_context.d.ts","sourceRoot":"","sources":["../src/restate_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restate_context.d.ts","sourceRoot":"","sources":["../src/restate_context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"restate_context.js","sourceRoot":"","sources":["../src/restate_context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,6DAA6D;AAC7D,0BAAwB;AA2PxB;;;;;;;;GAQG;AACH,SAAgB,UAAU,CAAI,QAAW;IACvC,8DAA8D;IAC9D,MAAM,OAAO,GAAG,QAAe,CAAC;IAChC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE;QACjE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IACD,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC;AAPD,gCAOC;AAED,SAAgB,UAAU,CAAI,QAAW,EAAE,OAA2B;IACpE,qFAAqF;IACrF,+EAA+E;IAC/E,EAAE;IACF,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAkB,EAAE;QAChD,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;KAC9B,CAAC,CAAC;IACH,OAAO,OAAY,CAAC;AACtB,CAAC;AAVD,gCAUC"}
1
+ {"version":3,"file":"restate_context.js","sourceRoot":"","sources":["../src/restate_context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,6DAA6D;AAC7D,0BAAwB;AAgSxB;;;;;;;;GAQG;AACH,SAAgB,UAAU,CAAI,QAAW;IACvC,8DAA8D;IAC9D,MAAM,OAAO,GAAG,QAAe,CAAC;IAChC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE;QACjE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IACD,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC;AAPD,gCAOC;AAED,SAAgB,UAAU,CAAI,QAAW,EAAE,OAA2B;IACpE,qFAAqF;IACrF,+EAA+E;IAC/E,EAAE;IACF,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAkB,EAAE;QAChD,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;KAC9B,CAAC,CAAC;IACH,OAAO,OAAY,CAAC;AACtB,CAAC;AAVD,gCAUC"}
@@ -1,14 +1,26 @@
1
1
  /// <reference types="node" />
2
- import { RestateGrpcContext, RpcContext, ServiceApi } from "./restate_context";
2
+ /// <reference types="node" />
3
+ import { Rand, RestateGrpcChannel, RestateGrpcContext, RpcContext, RpcGateway, ServiceApi } from "./restate_context";
3
4
  import { StateMachine } from "./state_machine";
5
+ import { AsyncLocalStorage } from "async_hooks";
4
6
  import { RetrySettings } from "./utils/public_utils";
5
7
  import { Client, SendClient } from "./types/router";
8
+ export declare enum CallContexType {
9
+ None = 0,
10
+ SideEffect = 1,
11
+ OneWayCall = 2
12
+ }
13
+ export interface CallContext {
14
+ type: CallContexType;
15
+ delay?: number;
16
+ }
6
17
  export declare class RestateGrpcContextImpl implements RestateGrpcContext {
7
18
  readonly id: Buffer;
8
19
  readonly serviceName: string;
9
20
  private readonly stateMachine;
10
- private static callContext;
11
- constructor(id: Buffer, serviceName: string, stateMachine: StateMachine<any, any>);
21
+ readonly rand: Rand;
22
+ static callContext: AsyncLocalStorage<CallContext>;
23
+ constructor(id: Buffer, serviceName: string, stateMachine: StateMachine<any, any>, rand?: Rand);
12
24
  get<T>(name: string): Promise<T | null>;
13
25
  set<T>(name: string, value: T): void;
14
26
  clear(name: string): void;
@@ -30,12 +42,14 @@ export declare class RestateGrpcContextImpl implements RestateGrpcContext {
30
42
  private isInOneWayCall;
31
43
  private getOneWayCallDelay;
32
44
  private checkState;
45
+ rpcGateway(): RpcGateway;
33
46
  }
34
47
  export declare class RpcContextImpl implements RpcContext {
35
48
  private readonly ctx;
36
49
  readonly id: Buffer;
50
+ readonly rand: Rand;
37
51
  readonly serviceName: string;
38
- constructor(ctx: RestateGrpcContext, id?: Buffer, serviceName?: string);
52
+ constructor(ctx: RestateGrpcContext, id?: Buffer, rand?: Rand, serviceName?: string);
39
53
  rpc<M>({ path }: ServiceApi): Client<M>;
40
54
  send<M>(options: ServiceApi): SendClient<M>;
41
55
  sendDelayed<M>({ path }: ServiceApi, delayMillis: number): SendClient<M>;
@@ -50,5 +64,6 @@ export declare class RpcContextImpl implements RpcContext {
50
64
  resolveAwakeable<T>(id: string, payload: T): void;
51
65
  rejectAwakeable(id: string, reason: string): void;
52
66
  sleep(millis: number): Promise<void>;
67
+ grpcChannel(): RestateGrpcChannel;
53
68
  }
54
69
  //# sourceMappingURL=restate_context_impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"restate_context_impl.d.ts","sourceRoot":"","sources":["../src/restate_context_impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restate_context_impl.d.ts","sourceRoot":"","sources":["../src/restate_context_impl.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.RpcContextImpl = exports.RestateGrpcContextImpl = void 0;
13
+ exports.RpcContextImpl = exports.RestateGrpcContextImpl = exports.CallContexType = void 0;
14
14
  const protocol_1 = require("./generated/proto/protocol");
15
15
  const protocol_2 = require("./types/protocol");
16
16
  const javascript_1 = require("./generated/proto/javascript");
@@ -21,16 +21,18 @@ const public_utils_1 = require("./utils/public_utils");
21
21
  const logger_1 = require("./utils/logger");
22
22
  const dynrpc_1 = require("./generated/proto/dynrpc");
23
23
  const assumpsions_1 = require("./utils/assumpsions");
24
+ const rand_1 = require("./utils/rand");
24
25
  var CallContexType;
25
26
  (function (CallContexType) {
26
27
  CallContexType[CallContexType["None"] = 0] = "None";
27
28
  CallContexType[CallContexType["SideEffect"] = 1] = "SideEffect";
28
29
  CallContexType[CallContexType["OneWayCall"] = 2] = "OneWayCall";
29
- })(CallContexType || (CallContexType = {}));
30
+ })(CallContexType = exports.CallContexType || (exports.CallContexType = {}));
30
31
  class RestateGrpcContextImpl {
31
32
  id;
32
33
  serviceName;
33
34
  stateMachine;
35
+ rand;
34
36
  // here, we capture the context information for actions on the Restate context that
35
37
  // are executed within other actions, such as
36
38
  // ctx.oneWayCall( () => client.foo(bar) );
@@ -40,10 +42,11 @@ class RestateGrpcContextImpl {
40
42
  static callContext = new async_hooks_1.AsyncLocalStorage();
41
43
  constructor(id, serviceName,
42
44
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
- stateMachine) {
45
+ stateMachine, rand = new rand_1.RandImpl(id)) {
44
46
  this.id = id;
45
47
  this.serviceName = serviceName;
46
48
  this.stateMachine = stateMachine;
49
+ this.rand = rand;
47
50
  }
48
51
  async get(name) {
49
52
  // Check if this is a valid action
@@ -244,6 +247,9 @@ class RestateGrpcContextImpl {
244
247
  e.g. ctx.oneWayCall(() => client.greet(my_request))`, { errorCode: errors_1.ErrorCodes.INTERNAL });
245
248
  }
246
249
  }
250
+ rpcGateway() {
251
+ return new RpcContextImpl(this);
252
+ }
247
253
  }
248
254
  exports.RestateGrpcContextImpl = RestateGrpcContextImpl;
249
255
  async function executeWithRetries(retrySettings, executeAndLogSideEffect, sleep) {
@@ -292,10 +298,12 @@ async function executeWithRetries(retrySettings, executeAndLogSideEffect, sleep)
292
298
  class RpcContextImpl {
293
299
  ctx;
294
300
  id;
301
+ rand;
295
302
  serviceName;
296
- constructor(ctx, id = ctx.id, serviceName = ctx.serviceName) {
303
+ constructor(ctx, id = ctx.id, rand = ctx.rand, serviceName = ctx.serviceName) {
297
304
  this.ctx = ctx;
298
305
  this.id = id;
306
+ this.rand = rand;
299
307
  this.serviceName = serviceName;
300
308
  }
301
309
  rpc({ path }) {
@@ -359,6 +367,9 @@ class RpcContextImpl {
359
367
  sleep(millis) {
360
368
  return this.ctx.sleep(millis);
361
369
  }
370
+ grpcChannel() {
371
+ return this.ctx;
372
+ }
362
373
  }
363
374
  exports.RpcContextImpl = RpcContextImpl;
364
375
  //# sourceMappingURL=restate_context_impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"restate_context_impl.js","sourceRoot":"","sources":["../src/restate_context_impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restate_context_impl.js","sourceRoot":"","sources":["../src/restate_context_impl.ts"],"names":[],"mappings":"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"}