@restatedev/restate-sdk 1.6.0 → 1.7.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 (117) hide show
  1. package/dist/cjs/src/common_api.d.ts +7 -3
  2. package/dist/cjs/src/common_api.d.ts.map +1 -1
  3. package/dist/cjs/src/common_api.js +3 -0
  4. package/dist/cjs/src/common_api.js.map +1 -1
  5. package/dist/cjs/src/context.d.ts +32 -32
  6. package/dist/cjs/src/context.d.ts.map +1 -1
  7. package/dist/cjs/src/context.js.map +1 -1
  8. package/dist/cjs/src/context_impl.d.ts +8 -6
  9. package/dist/cjs/src/context_impl.d.ts.map +1 -1
  10. package/dist/cjs/src/context_impl.js +157 -76
  11. package/dist/cjs/src/context_impl.js.map +1 -1
  12. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -1
  13. package/dist/cjs/src/endpoint/endpoint_builder.js +3 -3
  14. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -1
  15. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +1 -1
  16. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  17. package/dist/cjs/src/endpoint/fetch_endpoint.js +1 -4
  18. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -1
  19. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -1
  20. package/dist/cjs/src/endpoint/handlers/generic.js +167 -117
  21. package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -1
  22. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +66 -3
  23. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -1
  24. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +95 -6
  25. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -1
  26. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  27. package/dist/cjs/src/endpoint/lambda_endpoint.js +1 -2
  28. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -1
  29. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -1
  30. package/dist/cjs/src/endpoint/node_endpoint.js +12 -6
  31. package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -1
  32. package/dist/cjs/src/fetch.d.ts.map +1 -1
  33. package/dist/cjs/src/fetch.js +1 -2
  34. package/dist/cjs/src/fetch.js.map +1 -1
  35. package/dist/cjs/src/generated/version.d.ts +1 -1
  36. package/dist/cjs/src/generated/version.js +1 -1
  37. package/dist/cjs/src/promises.d.ts +2 -1
  38. package/dist/cjs/src/promises.d.ts.map +1 -1
  39. package/dist/cjs/src/promises.js +7 -7
  40. package/dist/cjs/src/promises.js.map +1 -1
  41. package/dist/cjs/src/types/components.d.ts +8 -5
  42. package/dist/cjs/src/types/components.d.ts.map +1 -1
  43. package/dist/cjs/src/types/components.js +70 -63
  44. package/dist/cjs/src/types/components.js.map +1 -1
  45. package/dist/cjs/src/types/discovery.d.ts +128 -36
  46. package/dist/cjs/src/types/discovery.d.ts.map +1 -1
  47. package/dist/cjs/src/types/discovery.js +5 -27
  48. package/dist/cjs/src/types/discovery.js.map +1 -1
  49. package/dist/cjs/src/types/errors.d.ts +2 -0
  50. package/dist/cjs/src/types/errors.d.ts.map +1 -1
  51. package/dist/cjs/src/types/errors.js +19 -1
  52. package/dist/cjs/src/types/errors.js.map +1 -1
  53. package/dist/cjs/src/types/rpc.d.ts +173 -56
  54. package/dist/cjs/src/types/rpc.d.ts.map +1 -1
  55. package/dist/cjs/src/types/rpc.js +19 -2
  56. package/dist/cjs/src/types/rpc.js.map +1 -1
  57. package/dist/cjs/src/user_agent.d.ts +1 -1
  58. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  59. package/dist/esm/src/common_api.d.ts +7 -3
  60. package/dist/esm/src/common_api.d.ts.map +1 -1
  61. package/dist/esm/src/common_api.js +5 -1
  62. package/dist/esm/src/common_api.js.map +1 -1
  63. package/dist/esm/src/context.d.ts +32 -32
  64. package/dist/esm/src/context.d.ts.map +1 -1
  65. package/dist/esm/src/context.js.map +1 -1
  66. package/dist/esm/src/context_impl.d.ts +8 -6
  67. package/dist/esm/src/context_impl.d.ts.map +1 -1
  68. package/dist/esm/src/context_impl.js +161 -80
  69. package/dist/esm/src/context_impl.js.map +1 -1
  70. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -1
  71. package/dist/esm/src/endpoint/endpoint_builder.js +3 -3
  72. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -1
  73. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +1 -1
  74. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  75. package/dist/esm/src/endpoint/fetch_endpoint.js +1 -4
  76. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -1
  77. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -1
  78. package/dist/esm/src/endpoint/handlers/generic.js +168 -118
  79. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -1
  80. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +66 -3
  81. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -1
  82. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +94 -5
  83. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -1
  84. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  85. package/dist/esm/src/endpoint/lambda_endpoint.js +1 -2
  86. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -1
  87. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -1
  88. package/dist/esm/src/endpoint/node_endpoint.js +12 -6
  89. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -1
  90. package/dist/esm/src/fetch.d.ts.map +1 -1
  91. package/dist/esm/src/fetch.js +1 -2
  92. package/dist/esm/src/fetch.js.map +1 -1
  93. package/dist/esm/src/generated/version.d.ts +1 -1
  94. package/dist/esm/src/generated/version.js +1 -1
  95. package/dist/esm/src/promises.d.ts +2 -1
  96. package/dist/esm/src/promises.d.ts.map +1 -1
  97. package/dist/esm/src/promises.js +8 -8
  98. package/dist/esm/src/promises.js.map +1 -1
  99. package/dist/esm/src/types/components.d.ts +8 -5
  100. package/dist/esm/src/types/components.d.ts.map +1 -1
  101. package/dist/esm/src/types/components.js +70 -30
  102. package/dist/esm/src/types/components.js.map +1 -1
  103. package/dist/esm/src/types/discovery.d.ts +128 -36
  104. package/dist/esm/src/types/discovery.d.ts.map +1 -1
  105. package/dist/esm/src/types/discovery.js +6 -26
  106. package/dist/esm/src/types/discovery.js.map +1 -1
  107. package/dist/esm/src/types/errors.d.ts +2 -0
  108. package/dist/esm/src/types/errors.d.ts.map +1 -1
  109. package/dist/esm/src/types/errors.js +17 -0
  110. package/dist/esm/src/types/errors.js.map +1 -1
  111. package/dist/esm/src/types/rpc.d.ts +173 -56
  112. package/dist/esm/src/types/rpc.d.ts.map +1 -1
  113. package/dist/esm/src/types/rpc.js +19 -2
  114. package/dist/esm/src/types/rpc.js.map +1 -1
  115. package/dist/esm/src/user_agent.d.ts +1 -1
  116. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  117. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"fetch_endpoint.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,aAAc,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IACvE,OAAO,IAAI;QACT,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KACzE,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;CAC7C;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAC9C,OAAO,CAAC,OAAO,CAA0C;IAEzD,IAAW,MAAM,IAAI,MAAM,EAAE,CAE5B;IAEM,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI7D,YAAY,CAAC,SAAS,EAAE,SAAS;IAIjC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC7B,UAAU,EACN,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC3B,aAAa;IAKT,cAAc,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa;IAKhD,SAAS,CAAC,SAAS,EAAE,eAAe,GAAG,aAAa;IAKpD,aAAa,CAAC,GAAG,GAAE,OAAc,GAAG,aAAa;IAOxD,OAAO,IAAI;QACT,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KACzE;CAIF"}
1
+ {"version":3,"file":"fetch_endpoint.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,aAAc,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IACvE,OAAO,IAAI;QACT,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KACzE,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;CAC7C;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAC9C,OAAO,CAAC,OAAO,CAA0C;IAEzD,IAAW,MAAM,IAAI,MAAM,EAAE,CAE5B;IAEM,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI7D,YAAY,CAAC,SAAS,EAAE,SAAS;IAIjC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC7B,UAAU,EACN,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC3B,aAAa;IAKT,cAAc,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa;IAKhD,SAAS,CAAC,SAAS,EAAE,eAAe,GAAG,aAAa;IAKpD,aAAa,CAAC,GAAG,GAAE,OAAc,GAAG,aAAa;IAKxD,OAAO,IAAI;QACT,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KACzE;CAIF"}
@@ -11,7 +11,6 @@
11
11
  import { EndpointBuilder } from "./endpoint_builder.js";
12
12
  import { GenericHandler } from "./handlers/generic.js";
13
13
  import { fetcher } from "./handlers/fetch.js";
14
- import { ProtocolMode } from "../types/discovery.js";
15
14
  export class FetchEndpointImpl {
16
15
  protocolMode;
17
16
  constructor(protocolMode) {
@@ -40,9 +39,7 @@ export class FetchEndpointImpl {
40
39
  return this;
41
40
  }
42
41
  bidirectional(set = true) {
43
- this.protocolMode = set
44
- ? ProtocolMode.BIDI_STREAM
45
- : ProtocolMode.REQUEST_RESPONSE;
42
+ this.protocolMode = set ? "BIDI_STREAM" : "REQUEST_RESPONSE";
46
43
  return this;
47
44
  }
48
45
  handler() {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch_endpoint.js","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAkCrD,MAAM,OAAO,iBAAiB;IACR;IAApB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAC1C,OAAO,GAAoB,IAAI,eAAe,EAAE,CAAC;IAEzD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEM,eAAe,CAAC,aAAqB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAEM,YAAY,CAAC,SAAoB;QACtC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CACT,UAG4B;QAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,GAAG,IAAc;QACrC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,SAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAC,MAAe,IAAI;QACtC,IAAI,CAAC,YAAY,GAAG,GAAG;YACrB,CAAC,CAAC,YAAY,CAAC,WAAW;YAC1B,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QAGL,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"fetch_endpoint.js","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAmC9C,MAAM,OAAO,iBAAiB;IACR;IAApB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAC1C,OAAO,GAAoB,IAAI,eAAe,EAAE,CAAC;IAEzD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEM,eAAe,CAAC,aAAqB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAEM,YAAY,CAAC,SAAoB;QACtC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CACT,UAG4B;QAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,GAAG,IAAc;QACrC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,SAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAC,MAAe,IAAI;QACtC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QAGL,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/generic.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,iBAAiB,CAAC;AAIvE,OAAO,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAc5D,MAAM,WAAW,OAAO;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CACJ,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,cAAc;IAIjD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA0B;gBAGjD,QAAQ,EAAE,eAAe,EACjB,YAAY,EAAE,YAAY;IAwBhC,MAAM,CACjB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC;YAeb,OAAO;IAkErB,OAAO,CAAC,2BAA2B;YA4BrB,YAAY;IAiM1B,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,eAAe;CAUxB;AAMD;;;GAGG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,EAAE,CAAC,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,QAAQ,CAAC,EAAE,MAAM,QA6BlB"}
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/generic.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,iBAAiB,CAAC;AAIvE,OAAO,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAc5D,MAAM,WAAW,OAAO;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CACJ,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAKD;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,cAAc;IAIjD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA0B;gBAGjD,QAAQ,EAAE,eAAe,EACjB,YAAY,EAAE,YAAY;IAwBhC,MAAM,CACjB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC;YAeb,OAAO;IAkErB,OAAO,CAAC,2BAA2B;YA4BrB,YAAY;IA0M1B,OAAO,CAAC,eAAe;IAgGvB,OAAO,CAAC,eAAe;CAUxB;AAMD;;;GAGG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,EAAE,CAAC,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,QAAQ,CAAC,EAAE,MAAM,QA6BlB"}
@@ -8,7 +8,7 @@
8
8
  * directory of this repository or package, or at
9
9
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
10
10
  */
11
- import { ensureError, RestateError, SUSPENDED_ERROR_CODE, TerminalError, } from "../../types/errors.js";
11
+ import { ensureError, logError, RestateError, TerminalError, } from "../../types/errors.js";
12
12
  import { parseUrlComponents } from "../../types/components.js";
13
13
  import { X_RESTATE_SERVER } from "../../user_agent.js";
14
14
  import { TransformStream } from "node:stream/web";
@@ -20,6 +20,8 @@ import { HandlerKind } from "../../types/rpc.js";
20
20
  import { createLogger } from "../../logging/logger.js";
21
21
  import { DEFAULT_CONSOLE_LOGGER_LOG_LEVEL, defaultLoggerTransport, } from "../../logging/console_logger_transport.js";
22
22
  import { LoggerContext, LogSource, RestateLogLevel, } from "../../logging/logger_transport.js";
23
+ const ENDPOINT_MANIFEST_V2 = "application/vnd.restate.endpointmanifest.v2+json";
24
+ const ENDPOINT_MANIFEST_V3 = "application/vnd.restate.endpointmanifest.v3+json";
23
25
  /**
24
26
  * This is an internal API to support 'fetch' like handlers.
25
27
  * It supports both request-reply mode and bidirectional streaming mode.
@@ -131,127 +133,134 @@ export class GenericHandler {
131
133
  }
132
134
  async handleInvoke(handler, body, headers, extraArgs, abortSignal, additionalContext) {
133
135
  const loggerId = Math.floor(Math.random() * 4_294_967_295 /* u32::MAX */);
134
- // Instantiate core vm and prepare response headers
135
- const vmHeaders = Object.entries(headers)
136
- .filter(([, v]) => v !== undefined)
137
- .map(([k, v]) => new vm.WasmHeader(k, v instanceof Array ? v[0] : v));
138
- const coreVm = new vm.WasmVM(vmHeaders, restateLogLevelToWasmLogLevel(DEFAULT_CONSOLE_LOGGER_LOG_LEVEL), loggerId);
139
- const responseHead = coreVm.get_response_head();
140
- const responseHeaders = responseHead.headers.reduce((headers, { key, value }) => ({
141
- [key]: value,
142
- ...headers,
143
- }), {
144
- "x-restate-server": X_RESTATE_SERVER,
145
- });
146
- // Use a default logger that still respects the endpoint custom logger
147
- // We will override this later with a logger that has a LoggerContext
148
- // See vm_log below for more details
149
- invocationLoggers.set(loggerId, createLogger(this.endpoint.loggerTransport, LogSource.JOURNAL, undefined, () => false));
150
- const inputReader = body.getReader();
151
- // Now buffer input entries
152
- while (!coreVm.is_ready_to_execute()) {
153
- const nextValue = await inputReader.read();
154
- if (nextValue.value !== undefined) {
155
- coreVm.notify_input(nextValue.value);
156
- }
157
- if (nextValue.done) {
158
- coreVm.notify_input_closed();
159
- break;
160
- }
161
- }
162
- // Get input
163
- const input = coreVm.sys_input();
164
- const invocationRequest = {
165
- id: input.invocation_id,
166
- headers: input.headers.reduce((headers, { key, value }) => {
167
- headers.set(key, value);
168
- return headers;
169
- }, new Map()),
170
- attemptHeaders: Object.entries(headers).reduce((headers, [key, value]) => {
171
- if (value !== undefined) {
172
- headers.set(key, value instanceof Array ? value[0] : value);
136
+ try {
137
+ // Instantiate core vm and prepare response headers
138
+ const vmHeaders = Object.entries(headers)
139
+ .filter(([, v]) => v !== undefined)
140
+ .map(([k, v]) => new vm.WasmHeader(k, v instanceof Array ? v[0] : v));
141
+ const coreVm = new vm.WasmVM(vmHeaders, restateLogLevelToWasmLogLevel(DEFAULT_CONSOLE_LOGGER_LOG_LEVEL), loggerId);
142
+ const responseHead = coreVm.get_response_head();
143
+ const responseHeaders = responseHead.headers.reduce((headers, { key, value }) => ({
144
+ [key]: value,
145
+ ...headers,
146
+ }), {
147
+ "x-restate-server": X_RESTATE_SERVER,
148
+ });
149
+ // Use a default logger that still respects the endpoint custom logger
150
+ // We will override this later with a logger that has a LoggerContext
151
+ // See vm_log below for more details
152
+ invocationLoggers.set(loggerId, createLogger(this.endpoint.loggerTransport, LogSource.JOURNAL, undefined));
153
+ const inputReader = body.getReader();
154
+ abortSignal.addEventListener("abort", () => {
155
+ invocationLoggers.delete(loggerId);
156
+ void inputReader.cancel();
157
+ }, { once: true });
158
+ // Now buffer input entries
159
+ while (!coreVm.is_ready_to_execute()) {
160
+ const nextValue = await inputReader.read();
161
+ if (nextValue.value !== undefined) {
162
+ coreVm.notify_input(nextValue.value);
163
+ }
164
+ if (nextValue.done) {
165
+ coreVm.notify_input_closed();
166
+ break;
173
167
  }
174
- return headers;
175
- }, new Map()),
176
- body: input.input,
177
- extraArgs,
178
- attemptCompletedSignal: abortSignal,
179
- };
180
- // Prepare logger
181
- const loggerContext = new LoggerContext(input.invocation_id, handler.component().name(), handler.name(), handler.kind() === HandlerKind.SERVICE ? undefined : input.key, invocationRequest, additionalContext);
182
- const ctxLogger = createLogger(this.endpoint.loggerTransport, LogSource.USER, loggerContext, () => !coreVm.is_processing());
183
- const vmLogger = createLogger(this.endpoint.loggerTransport, LogSource.JOURNAL, loggerContext,
184
- // Filtering is done within the shared core
185
- () => false);
186
- // See vm_log below for more details
187
- invocationLoggers.set(loggerId, vmLogger);
188
- if (!coreVm.is_processing()) {
189
- vmLogger.info("Replaying invocation.");
190
- }
191
- else {
192
- vmLogger.info("Starting invocation.");
193
- }
194
- // This promise is used to signal the end of the computation,
195
- // which can be either the user returns a value,
196
- // or an exception gets catched, or the state machine fails/suspends.
197
- //
198
- // The last case is handled internally within the ContextImpl.
199
- const invocationEndPromise = new CompletablePromise();
200
- // Prepare response stream
201
- const responseTransformStream = new TransformStream();
202
- const outputWriter = responseTransformStream.writable.getWriter();
203
- // Prepare context
204
- const ctx = new ContextImpl(coreVm, input, ctxLogger, handler.kind(), vmLogger, invocationRequest, invocationEndPromise, inputReader, outputWriter);
205
- // Finally invoke user handler
206
- handler
207
- .invoke(ctx, input.input)
208
- .then((bytes) => {
209
- coreVm.sys_write_output_success(bytes);
210
- coreVm.sys_end();
211
- vmLogger.info("Invocation completed successfully.");
212
- })
213
- .catch((e) => {
214
- const error = ensureError(e);
215
- if (!(error instanceof RestateError) ||
216
- error.code !== SUSPENDED_ERROR_CODE) {
217
- vmLogger.warn("Invocation completed with an error.\n", error);
218
168
  }
219
- if (error instanceof TerminalError) {
220
- coreVm.sys_write_output_failure({
221
- code: error.code,
222
- message: error.message,
223
- });
224
- coreVm.sys_end();
169
+ // Get input
170
+ const input = coreVm.sys_input();
171
+ const invocationRequest = {
172
+ id: input.invocation_id,
173
+ headers: input.headers.reduce((headers, { key, value }) => {
174
+ headers.set(key, value);
175
+ return headers;
176
+ }, new Map()),
177
+ attemptHeaders: Object.entries(headers).reduce((headers, [key, value]) => {
178
+ if (value !== undefined) {
179
+ headers.set(key, value instanceof Array ? value[0] : value);
180
+ }
181
+ return headers;
182
+ }, new Map()),
183
+ body: input.input,
184
+ extraArgs,
185
+ attemptCompletedSignal: abortSignal,
186
+ };
187
+ // Prepare logger
188
+ const loggerContext = new LoggerContext(input.invocation_id, handler.component().name(), handler.name(), handler.kind() === HandlerKind.SERVICE ? undefined : input.key, invocationRequest, additionalContext);
189
+ const ctxLogger = createLogger(this.endpoint.loggerTransport, LogSource.USER, loggerContext, () => !coreVm.is_processing());
190
+ const vmLogger = createLogger(this.endpoint.loggerTransport, LogSource.JOURNAL, loggerContext
191
+ // Filtering is done within the shared core
192
+ );
193
+ // See vm_log below for more details
194
+ invocationLoggers.set(loggerId, vmLogger);
195
+ if (!coreVm.is_processing()) {
196
+ vmLogger.info("Replaying invocation.");
225
197
  }
226
198
  else {
227
- coreVm.notify_error(error.message, error.stack);
228
- }
229
- })
230
- .finally(() => {
231
- invocationEndPromise.resolve();
232
- });
233
- // Let's wire up invocationEndPromise with consuming all the output and closing the streams.
234
- invocationEndPromise.promise
235
- .then(async () => {
236
- // Consume output till the end, write it out, then close the stream
237
- let nextOutput = coreVm.take_output();
238
- while (nextOutput !== null && nextOutput !== undefined) {
239
- await outputWriter.write(nextOutput);
240
- nextOutput = coreVm.take_output();
199
+ vmLogger.info("Starting invocation.");
241
200
  }
242
- await outputWriter.close();
243
- // Let's cancel the input reader, if it's still here
244
- inputReader.cancel().catch(() => { });
245
- })
246
- .finally(() => {
201
+ // This promise is used to signal the end of the computation,
202
+ // which can be either the user returns a value,
203
+ // or an exception gets catched, or the state machine fails/suspends.
204
+ //
205
+ // The last case is handled internally within the ContextImpl.
206
+ const invocationEndPromise = new CompletablePromise();
207
+ // Prepare response stream
208
+ const responseTransformStream = new TransformStream();
209
+ const outputWriter = responseTransformStream.writable.getWriter();
210
+ // Prepare context
211
+ const ctx = new ContextImpl(coreVm, input, ctxLogger, handler.kind(), vmLogger, invocationRequest, invocationEndPromise, inputReader, outputWriter);
212
+ // Finally invoke user handler
213
+ handler
214
+ .invoke(ctx, input.input)
215
+ .then((bytes) => {
216
+ coreVm.sys_write_output_success(bytes);
217
+ coreVm.sys_end();
218
+ vmLogger.info("Invocation completed successfully.");
219
+ })
220
+ .catch((e) => {
221
+ const error = ensureError(e);
222
+ logError(vmLogger, error);
223
+ if (error instanceof TerminalError) {
224
+ coreVm.sys_write_output_failure({
225
+ code: error.code,
226
+ message: error.message,
227
+ });
228
+ coreVm.sys_end();
229
+ }
230
+ else {
231
+ coreVm.notify_error(error.message, error.stack);
232
+ }
233
+ })
234
+ .finally(() => {
235
+ invocationEndPromise.resolve();
236
+ });
237
+ // Let's wire up invocationEndPromise with consuming all the output and closing the streams.
238
+ invocationEndPromise.promise
239
+ .then(async () => {
240
+ // Consume output till the end, write it out, then close the stream
241
+ let nextOutput = coreVm.take_output();
242
+ while (nextOutput !== null && nextOutput !== undefined) {
243
+ await outputWriter.write(nextOutput);
244
+ nextOutput = coreVm.take_output();
245
+ }
246
+ await outputWriter.close();
247
+ // Let's cancel the input reader, if it's still here
248
+ inputReader.cancel().catch(() => { });
249
+ })
250
+ .finally(() => {
251
+ invocationLoggers.delete(loggerId);
252
+ })
253
+ .catch(() => { });
254
+ return {
255
+ headers: responseHeaders,
256
+ statusCode: responseHead.status_code,
257
+ body: responseTransformStream.readable,
258
+ };
259
+ }
260
+ catch (error) {
247
261
  invocationLoggers.delete(loggerId);
248
- })
249
- .catch(() => { });
250
- return {
251
- headers: responseHeaders,
252
- statusCode: responseHead.status_code,
253
- body: responseTransformStream.readable,
254
- };
262
+ throw error;
263
+ }
255
264
  }
256
265
  handleDiscovery(acceptVersionsString) {
257
266
  if (typeof acceptVersionsString !== "string") {
@@ -259,16 +268,57 @@ export class GenericHandler {
259
268
  this.endpoint.rlog.warn(errorMessage);
260
269
  return this.toErrorResponse(415, errorMessage);
261
270
  }
262
- if (!acceptVersionsString.includes("application/vnd.restate.endpointmanifest.v1+json")) {
271
+ // Negotiate version to use
272
+ let manifestVersion;
273
+ if (acceptVersionsString.includes(ENDPOINT_MANIFEST_V3)) {
274
+ manifestVersion = 3;
275
+ }
276
+ else if (acceptVersionsString.includes(ENDPOINT_MANIFEST_V2)) {
277
+ manifestVersion = 2;
278
+ }
279
+ else {
263
280
  const errorMessage = `Unsupported service discovery protocol version '${acceptVersionsString}'`;
264
281
  this.endpoint.rlog.warn(errorMessage);
265
282
  return this.toErrorResponse(415, errorMessage);
266
283
  }
267
284
  const discovery = this.endpoint.computeDiscovery(this.protocolMode);
268
285
  const body = JSON.stringify(discovery);
286
+ // type AllowedNames<T, U> = { [K in keyof T]: T[K] extends U ? K : never; }[keyof T];
287
+ //
288
+ // const checkUnsupportedFeature = (obj: Record<string, unknown>, fields: Array<string>)=> {
289
+ // for (const field of fields) {
290
+ // if (field in obj && obj[field] !== undefined) {
291
+ // return this.toErrorResponse(500, `The code uses the new discovery feature '${field}' but the runtime doesn't support it yet. Either remove the usage of this feature, or upgrade the runtime.`);
292
+ // }
293
+ // }
294
+ // return;
295
+ // }
296
+ const checkUnsupportedFeature = (obj, ...fields) => {
297
+ for (const field of fields) {
298
+ if (field in obj && obj[field] !== undefined) {
299
+ return this.toErrorResponse(500, `The code uses the new discovery feature '${String(field)}' but the runtime doesn't support it yet. Either remove the usage of this feature, or upgrade the runtime.`);
300
+ }
301
+ }
302
+ return;
303
+ };
304
+ // Verify none of the manifest v3 configuration options are used.
305
+ if (manifestVersion < 3) {
306
+ for (const service of discovery.services) {
307
+ const error = checkUnsupportedFeature(service, "journalRetention", "idempotencyRetention", "inactivityTimeout", "abortTimeout", "enableLazyState", "ingressPrivate");
308
+ if (error !== undefined) {
309
+ return error;
310
+ }
311
+ for (const handler of service.handlers) {
312
+ const error = checkUnsupportedFeature(handler, "journalRetention", "idempotencyRetention", "workflowCompletionRetention", "inactivityTimeout", "abortTimeout", "enableLazyState", "ingressPrivate");
313
+ if (error !== undefined) {
314
+ return error;
315
+ }
316
+ }
317
+ }
318
+ }
269
319
  return {
270
320
  headers: {
271
- "content-type": "application/vnd.restate.endpointmanifest.v1+json",
321
+ "content-type": manifestVersion === 2 ? ENDPOINT_MANIFEST_V2 : ENDPOINT_MANIFEST_V3,
272
322
  "x-restate-server": X_RESTATE_SERVER,
273
323
  },
274
324
  statusCode: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/generic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/generic.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,50 @@ export const LogLevel: Readonly<{
27
27
  ERROR: 4;
28
28
  4: "ERROR";
29
29
  }>;
30
+ export type WasmCommandType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18;
31
+ /**
32
+ * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18}
33
+ */
34
+ export const WasmCommandType: Readonly<{
35
+ Input: 0;
36
+ 0: "Input";
37
+ Output: 1;
38
+ 1: "Output";
39
+ GetState: 2;
40
+ 2: "GetState";
41
+ GetStateKeys: 3;
42
+ 3: "GetStateKeys";
43
+ SetState: 4;
44
+ 4: "SetState";
45
+ ClearState: 5;
46
+ 5: "ClearState";
47
+ ClearAllState: 6;
48
+ 6: "ClearAllState";
49
+ GetPromise: 7;
50
+ 7: "GetPromise";
51
+ PeekPromise: 8;
52
+ 8: "PeekPromise";
53
+ CompletePromise: 9;
54
+ 9: "CompletePromise";
55
+ Sleep: 10;
56
+ 10: "Sleep";
57
+ Call: 11;
58
+ 11: "Call";
59
+ OneWayCall: 12;
60
+ 12: "OneWayCall";
61
+ SendSignal: 13;
62
+ 13: "SendSignal";
63
+ Run: 14;
64
+ 14: "Run";
65
+ AttachInvocation: 15;
66
+ 15: "AttachInvocation";
67
+ GetInvocationOutput: 16;
68
+ 16: "GetInvocationOutput";
69
+ CompleteAwakeable: 17;
70
+ 17: "CompleteAwakeable";
71
+ CancelInvocation: 18;
72
+ 18: "CancelInvocation";
73
+ }>;
30
74
  export class WasmHeader {
31
75
  static __wrap(ptr: any): any;
32
76
  static __unwrap(jsValue: any): number;
@@ -121,6 +165,20 @@ export class WasmVM {
121
165
  * @param {string | null} [stacktrace]
122
166
  */
123
167
  notify_error(error_message: string, stacktrace?: string | null): void;
168
+ /**
169
+ * @param {string} error_message
170
+ * @param {string | null | undefined} stacktrace
171
+ * @param {WasmCommandType} wasm_command_type
172
+ */
173
+ notify_error_for_next_command(error_message: string, stacktrace: string | null | undefined, wasm_command_type: WasmCommandType): void;
174
+ /**
175
+ * @param {string} error_message
176
+ * @param {string | null | undefined} stacktrace
177
+ * @param {WasmCommandType} wasm_command_type
178
+ * @param {number} command_index
179
+ * @param {string | null} [command_name]
180
+ */
181
+ notify_error_for_specific_command(error_message: string, stacktrace: string | null | undefined, wasm_command_type: WasmCommandType, command_index: number, command_name?: string | null): void;
124
182
  /**
125
183
  * @returns {any}
126
184
  */
@@ -169,9 +227,10 @@ export class WasmVM {
169
227
  sys_clear_all_state(): void;
170
228
  /**
171
229
  * @param {bigint} millis
230
+ * @param {string | null} [name]
172
231
  * @returns {number}
173
232
  */
174
- sys_sleep(millis: bigint): number;
233
+ sys_sleep(millis: bigint, name?: string | null): number;
175
234
  /**
176
235
  * @param {string} invocation_id
177
236
  * @returns {number}
@@ -259,9 +318,9 @@ export class WasmVM {
259
318
  * @param {string} error_message
260
319
  * @param {string | null | undefined} error_stacktrace
261
320
  * @param {bigint} attempt_duration
262
- * @param {WasmExponentialRetryConfig} config
321
+ * @param {WasmExponentialRetryConfig | null} [config]
263
322
  */
264
- propose_run_completion_failure_transient(handle: number, error_message: string, error_stacktrace: string | null | undefined, attempt_duration: bigint, config: WasmExponentialRetryConfig): void;
323
+ propose_run_completion_failure_transient(handle: number, error_message: string, error_stacktrace: string | null | undefined, attempt_duration: bigint, config?: WasmExponentialRetryConfig | null): void;
265
324
  /**
266
325
  * @param {string} target_invocation_id
267
326
  */
@@ -279,5 +338,9 @@ export class WasmVM {
279
338
  * @returns {boolean}
280
339
  */
281
340
  is_processing(): boolean;
341
+ /**
342
+ * @returns {number}
343
+ */
344
+ last_command_index(): number;
282
345
  }
283
346
  //# sourceMappingURL=sdk_shared_core_wasm_bindings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk_shared_core_wasm_bindings.d.ts","sourceRoot":"","sources":["../../../../../../src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk_shared_core_wasm_bindings.d.ts","sourceRoot":"","sources":["../../../../../../src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js"],"names":[],"mappings":"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"}