cantonjs 0.2.0 → 0.3.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/README.md +149 -59
  2. package/dist/cjs/auth/index.d.ts +2 -0
  3. package/dist/cjs/auth/index.d.ts.map +1 -0
  4. package/dist/cjs/auth/index.js +3 -0
  5. package/dist/cjs/auth/index.js.map +1 -0
  6. package/dist/cjs/auth/types.d.ts +27 -0
  7. package/dist/cjs/auth/types.d.ts.map +1 -0
  8. package/dist/cjs/auth/types.js +3 -0
  9. package/dist/cjs/auth/types.js.map +1 -0
  10. package/dist/cjs/chains/definitions.d.ts +5 -11
  11. package/dist/cjs/chains/definitions.d.ts.map +1 -1
  12. package/dist/cjs/chains/definitions.js +59 -13
  13. package/dist/cjs/chains/definitions.js.map +1 -1
  14. package/dist/cjs/chains/index.d.ts +2 -1
  15. package/dist/cjs/chains/index.d.ts.map +1 -1
  16. package/dist/cjs/chains/index.js +19 -6
  17. package/dist/cjs/chains/index.js.map +1 -1
  18. package/dist/cjs/chains/presets.d.ts +59 -0
  19. package/dist/cjs/chains/presets.d.ts.map +1 -0
  20. package/dist/cjs/chains/presets.js +55 -0
  21. package/dist/cjs/chains/presets.js.map +1 -0
  22. package/dist/cjs/errors/auth.d.ts +6 -0
  23. package/dist/cjs/errors/auth.d.ts.map +1 -1
  24. package/dist/cjs/errors/auth.js +17 -1
  25. package/dist/cjs/errors/auth.js.map +1 -1
  26. package/dist/cjs/errors/index.d.ts +1 -1
  27. package/dist/cjs/errors/index.d.ts.map +1 -1
  28. package/dist/cjs/errors/index.js +2 -1
  29. package/dist/cjs/errors/index.js.map +1 -1
  30. package/dist/cjs/index.d.ts +5 -4
  31. package/dist/cjs/index.d.ts.map +1 -1
  32. package/dist/cjs/index.js +9 -6
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/testing/setupSandbox.d.ts +11 -1
  35. package/dist/cjs/testing/setupSandbox.d.ts.map +1 -1
  36. package/dist/cjs/testing/setupSandbox.js +25 -13
  37. package/dist/cjs/testing/setupSandbox.js.map +1 -1
  38. package/dist/cjs/transport/grpc.d.ts +2 -4
  39. package/dist/cjs/transport/grpc.d.ts.map +1 -1
  40. package/dist/cjs/transport/grpc.js +28 -16
  41. package/dist/cjs/transport/grpc.js.map +1 -1
  42. package/dist/cjs/transport/index.d.ts +1 -1
  43. package/dist/cjs/transport/index.d.ts.map +1 -1
  44. package/dist/cjs/transport/json-api.d.ts +1 -1
  45. package/dist/cjs/transport/json-api.d.ts.map +1 -1
  46. package/dist/cjs/transport/json-api.js +19 -5
  47. package/dist/cjs/transport/json-api.js.map +1 -1
  48. package/dist/cjs/transport/types.d.ts +13 -3
  49. package/dist/cjs/transport/types.d.ts.map +1 -1
  50. package/dist/cjs/transport/types.js +40 -0
  51. package/dist/cjs/transport/types.js.map +1 -1
  52. package/dist/esm/auth/index.d.ts +2 -0
  53. package/dist/esm/auth/index.d.ts.map +1 -0
  54. package/dist/esm/auth/index.js +2 -0
  55. package/dist/esm/auth/index.js.map +1 -0
  56. package/dist/esm/auth/types.d.ts +27 -0
  57. package/dist/esm/auth/types.d.ts.map +1 -0
  58. package/dist/esm/auth/types.js +2 -0
  59. package/dist/esm/auth/types.js.map +1 -0
  60. package/dist/esm/chains/definitions.d.ts +5 -11
  61. package/dist/esm/chains/definitions.d.ts.map +1 -1
  62. package/dist/esm/chains/definitions.js +59 -13
  63. package/dist/esm/chains/definitions.js.map +1 -1
  64. package/dist/esm/chains/index.d.ts +2 -1
  65. package/dist/esm/chains/index.d.ts.map +1 -1
  66. package/dist/esm/chains/index.js +2 -1
  67. package/dist/esm/chains/index.js.map +1 -1
  68. package/dist/esm/chains/presets.d.ts +59 -0
  69. package/dist/esm/chains/presets.d.ts.map +1 -0
  70. package/dist/esm/chains/presets.js +51 -0
  71. package/dist/esm/chains/presets.js.map +1 -0
  72. package/dist/esm/errors/auth.d.ts +6 -0
  73. package/dist/esm/errors/auth.d.ts.map +1 -1
  74. package/dist/esm/errors/auth.js +15 -0
  75. package/dist/esm/errors/auth.js.map +1 -1
  76. package/dist/esm/errors/index.d.ts +1 -1
  77. package/dist/esm/errors/index.d.ts.map +1 -1
  78. package/dist/esm/errors/index.js +1 -1
  79. package/dist/esm/errors/index.js.map +1 -1
  80. package/dist/esm/index.d.ts +5 -4
  81. package/dist/esm/index.d.ts.map +1 -1
  82. package/dist/esm/index.js +2 -2
  83. package/dist/esm/index.js.map +1 -1
  84. package/dist/esm/testing/setupSandbox.d.ts +11 -1
  85. package/dist/esm/testing/setupSandbox.d.ts.map +1 -1
  86. package/dist/esm/testing/setupSandbox.js +25 -14
  87. package/dist/esm/testing/setupSandbox.js.map +1 -1
  88. package/dist/esm/transport/grpc.d.ts +2 -4
  89. package/dist/esm/transport/grpc.d.ts.map +1 -1
  90. package/dist/esm/transport/grpc.js +28 -16
  91. package/dist/esm/transport/grpc.js.map +1 -1
  92. package/dist/esm/transport/index.d.ts +1 -1
  93. package/dist/esm/transport/index.d.ts.map +1 -1
  94. package/dist/esm/transport/json-api.d.ts +1 -1
  95. package/dist/esm/transport/json-api.d.ts.map +1 -1
  96. package/dist/esm/transport/json-api.js +19 -5
  97. package/dist/esm/transport/json-api.js.map +1 -1
  98. package/dist/esm/transport/types.d.ts +13 -3
  99. package/dist/esm/transport/types.d.ts.map +1 -1
  100. package/dist/esm/transport/types.js +38 -1
  101. package/dist/esm/transport/types.js.map +1 -1
  102. package/dist/tsconfig.build.tsbuildinfo +1 -1
  103. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  104. package/package.json +12 -2
  105. package/src/auth/index.ts +7 -0
  106. package/src/auth/types.ts +30 -0
  107. package/src/chains/definitions.ts +77 -22
  108. package/src/chains/index.ts +2 -1
  109. package/src/chains/presets.ts +121 -0
  110. package/src/errors/auth.ts +16 -0
  111. package/src/errors/index.ts +1 -1
  112. package/src/index.ts +34 -7
  113. package/src/testing/setupSandbox.ts +45 -17
  114. package/src/transport/grpc.ts +33 -19
  115. package/src/transport/index.ts +7 -1
  116. package/src/transport/json-api.ts +24 -7
  117. package/src/transport/types.ts +63 -3
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineChainPreset = defineChainPreset;
4
+ exports.withChainOverrides = withChainOverrides;
5
+ function defineChainPreset(input) {
6
+ const participant = { ...(input.participant ?? {}) };
7
+ const scan = { ...(input.scan ?? {}) };
8
+ const validator = { ...(input.validator ?? {}) };
9
+ const authAudiences = { ...(input.authAudiences ?? {}) };
10
+ const splice = { ...(input.splice ?? {}) };
11
+ return {
12
+ id: input.id,
13
+ name: input.name,
14
+ network: input.network,
15
+ participant,
16
+ scan,
17
+ validator,
18
+ authAudiences,
19
+ splice,
20
+ jsonApiUrl: participant.jsonApiUrl,
21
+ grpcUrl: participant.grpcUrl,
22
+ scanUrl: scan.url,
23
+ validatorApiUrl: validator.apiBaseUrl,
24
+ scanProxyUrl: validator.scanProxyBaseUrl,
25
+ resetCycle: splice.resetCycleNote,
26
+ };
27
+ }
28
+ function withChainOverrides(chain, overrides = {}) {
29
+ return defineChainPreset({
30
+ id: chain.id,
31
+ name: overrides.name ?? chain.name,
32
+ network: chain.network,
33
+ participant: {
34
+ ...chain.participant,
35
+ ...overrides.participant,
36
+ },
37
+ scan: {
38
+ ...chain.scan,
39
+ ...overrides.scan,
40
+ },
41
+ validator: {
42
+ ...chain.validator,
43
+ ...overrides.validator,
44
+ },
45
+ authAudiences: {
46
+ ...chain.authAudiences,
47
+ ...overrides.authAudiences,
48
+ },
49
+ splice: {
50
+ ...chain.splice,
51
+ ...overrides.splice,
52
+ },
53
+ });
54
+ }
55
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/chains/presets.ts"],"names":[],"mappings":";;AAkEA,8CAuBC;AAED,gDA6BC;AAtDD,SAAgB,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAA;IACpD,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAA;IAChD,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAA;IACxD,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAA;IAE1C,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW;QACX,IAAI;QACJ,SAAS;QACT,aAAa;QACb,MAAM;QACN,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,eAAe,EAAE,SAAS,CAAC,UAAU;QACrC,YAAY,EAAE,SAAS,CAAC,gBAAgB;QACxC,UAAU,EAAE,MAAM,CAAC,cAAc;KAClC,CAAA;AACH,CAAC;AAED,SAAgB,kBAAkB,CAChC,KAAkB,EAClB,YAAkC,EAAE;IAEpC,OAAO,iBAAiB,CAAC;QACvB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE;YACX,GAAG,KAAK,CAAC,WAAW;YACpB,GAAG,SAAS,CAAC,WAAW;SACzB;QACD,IAAI,EAAE;YACJ,GAAG,KAAK,CAAC,IAAI;YACb,GAAG,SAAS,CAAC,IAAI;SAClB;QACD,SAAS,EAAE;YACT,GAAG,KAAK,CAAC,SAAS;YAClB,GAAG,SAAS,CAAC,SAAS;SACvB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,SAAS,CAAC,aAAa;SAC3B;QACD,MAAM,EAAE;YACN,GAAG,KAAK,CAAC,MAAM;YACf,GAAG,SAAS,CAAC,MAAM;SACpB;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -10,4 +10,10 @@ export declare class InvalidTokenError extends CantonjsError {
10
10
  cause?: Error;
11
11
  });
12
12
  }
13
+ /** A request-scoped auth/session provider failed before the request was sent. */
14
+ export declare class AuthProviderError extends CantonjsError {
15
+ constructor(transport: string, path: string, options?: {
16
+ cause?: Error;
17
+ });
18
+ }
13
19
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAA;AAEzD,6BAA6B;AAC7B,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;gBAEZ,SAAS,EAAE,IAAI;CAW5B;AAED,yCAAyC;AACzC,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAWxD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAA;AAEzD,6BAA6B;AAC7B,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;gBAEZ,SAAS,EAAE,IAAI;CAW5B;AAED,yCAAyC;AACzC,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAWxD;AAED,iFAAiF;AACjF,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAYzE"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvalidTokenError = exports.TokenExpiredError = void 0;
3
+ exports.AuthProviderError = exports.InvalidTokenError = exports.TokenExpiredError = void 0;
4
4
  const base_js_1 = require("./base.js");
5
5
  /** JWT token has expired. */
6
6
  class TokenExpiredError extends base_js_1.CantonjsError {
@@ -33,4 +33,20 @@ class InvalidTokenError extends base_js_1.CantonjsError {
33
33
  }
34
34
  }
35
35
  exports.InvalidTokenError = InvalidTokenError;
36
+ /** A request-scoped auth/session provider failed before the request was sent. */
37
+ class AuthProviderError extends base_js_1.CantonjsError {
38
+ constructor(transport, path, options) {
39
+ super('Failed to resolve authentication for request', {
40
+ code: 'CJ2003',
41
+ cause: options?.cause,
42
+ metaMessages: [
43
+ `Transport: ${transport}`,
44
+ `Path: ${path}`,
45
+ 'Ensure your auth/session provider returns a token or throws a CantonjsError.',
46
+ ],
47
+ });
48
+ this.name = 'AuthProviderError';
49
+ }
50
+ }
51
+ exports.AuthProviderError = AuthProviderError;
36
52
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":";;;AAAA,uCAAyD;AAEzD,6BAA6B;AAC7B,MAAa,iBAAkB,SAAQ,uBAAa;IACzC,SAAS,CAAM;IAExB,YAAY,SAAe;QACzB,KAAK,CAAC,uBAAuB,EAAE;YAC7B,IAAI,EAAE,QAAqB;YAC3B,YAAY,EAAE;gBACZ,qBAAqB,SAAS,CAAC,WAAW,EAAE,EAAE;gBAC9C,sEAAsE;aACvE;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAdD,8CAcC;AAED,yCAAyC;AACzC,MAAa,iBAAkB,SAAQ,uBAAa;IAClD,YAAY,MAAc,EAAE,OAA2B;QACrD,KAAK,CAAC,sBAAsB,MAAM,EAAE,EAAE;YACpC,IAAI,EAAE,QAAqB;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,YAAY,EAAE;gBACZ,kEAAkE;gBAClE,iCAAiC;aAClC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAZD,8CAYC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":";;;AAAA,uCAAyD;AAEzD,6BAA6B;AAC7B,MAAa,iBAAkB,SAAQ,uBAAa;IACzC,SAAS,CAAM;IAExB,YAAY,SAAe;QACzB,KAAK,CAAC,uBAAuB,EAAE;YAC7B,IAAI,EAAE,QAAqB;YAC3B,YAAY,EAAE;gBACZ,qBAAqB,SAAS,CAAC,WAAW,EAAE,EAAE;gBAC9C,sEAAsE;aACvE;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAdD,8CAcC;AAED,yCAAyC;AACzC,MAAa,iBAAkB,SAAQ,uBAAa;IAClD,YAAY,MAAc,EAAE,OAA2B;QACrD,KAAK,CAAC,sBAAsB,MAAM,EAAE,EAAE;YACpC,IAAI,EAAE,QAAqB;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,YAAY,EAAE;gBACZ,kEAAkE;gBAClE,iCAAiC;aAClC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAZD,8CAYC;AAED,iFAAiF;AACjF,MAAa,iBAAkB,SAAQ,uBAAa;IAClD,YAAY,SAAiB,EAAE,IAAY,EAAE,OAA2B;QACtE,KAAK,CAAC,8CAA8C,EAAE;YACpD,IAAI,EAAE,QAAqB;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,YAAY,EAAE;gBACZ,cAAc,SAAS,EAAE;gBACzB,SAAS,IAAI,EAAE;gBACf,8EAA8E;aAC/E;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAbD,8CAaC"}
@@ -1,6 +1,6 @@
1
1
  export { CantonjsError, type ErrorCode, type CantonjsErrorOptions } from './base.js';
2
2
  export { ConnectionError, HttpError, GrpcError, TimeoutError } from './transport.js';
3
3
  export { CommandRejectedError, ContractNotFoundError, AuthorizationError } from './ledger.js';
4
- export { TokenExpiredError, InvalidTokenError } from './auth.js';
4
+ export { TokenExpiredError, InvalidTokenError, AuthProviderError } from './auth.js';
5
5
  export { WebSocketError, StreamClosedError, ReconnectFailedError } from './streaming.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReconnectFailedError = exports.StreamClosedError = exports.WebSocketError = exports.InvalidTokenError = exports.TokenExpiredError = exports.AuthorizationError = exports.ContractNotFoundError = exports.CommandRejectedError = exports.TimeoutError = exports.GrpcError = exports.HttpError = exports.ConnectionError = exports.CantonjsError = void 0;
3
+ exports.ReconnectFailedError = exports.StreamClosedError = exports.WebSocketError = exports.AuthProviderError = exports.InvalidTokenError = exports.TokenExpiredError = exports.AuthorizationError = exports.ContractNotFoundError = exports.CommandRejectedError = exports.TimeoutError = exports.GrpcError = exports.HttpError = exports.ConnectionError = exports.CantonjsError = void 0;
4
4
  var base_js_1 = require("./base.js");
5
5
  Object.defineProperty(exports, "CantonjsError", { enumerable: true, get: function () { return base_js_1.CantonjsError; } });
6
6
  var transport_js_1 = require("./transport.js");
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "AuthorizationError", { enumerable: true, get: fu
15
15
  var auth_js_1 = require("./auth.js");
16
16
  Object.defineProperty(exports, "TokenExpiredError", { enumerable: true, get: function () { return auth_js_1.TokenExpiredError; } });
17
17
  Object.defineProperty(exports, "InvalidTokenError", { enumerable: true, get: function () { return auth_js_1.InvalidTokenError; } });
18
+ Object.defineProperty(exports, "AuthProviderError", { enumerable: true, get: function () { return auth_js_1.AuthProviderError; } });
18
19
  var streaming_js_1 = require("./streaming.js");
19
20
  Object.defineProperty(exports, "WebSocketError", { enumerable: true, get: function () { return streaming_js_1.WebSocketError; } });
20
21
  Object.defineProperty(exports, "StreamClosedError", { enumerable: true, get: function () { return streaming_js_1.StreamClosedError; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoF;AAA3E,wGAAA,aAAa,OAAA;AACtB,+CAAoF;AAA3E,+GAAA,eAAe,OAAA;AAAE,yGAAA,SAAS,OAAA;AAAE,yGAAA,SAAS,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC5D,yCAA6F;AAApF,iHAAA,oBAAoB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AACxE,qCAAgE;AAAvD,4GAAA,iBAAiB,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAC7C,+CAAwF;AAA/E,8GAAA,cAAc,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAAE,oHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoF;AAA3E,wGAAA,aAAa,OAAA;AACtB,+CAAoF;AAA3E,+GAAA,eAAe,OAAA;AAAE,yGAAA,SAAS,OAAA;AAAE,yGAAA,SAAS,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC5D,yCAA6F;AAApF,iHAAA,oBAAoB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AACxE,qCAAmF;AAA1E,4GAAA,iBAAiB,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAChE,+CAAwF;AAA/E,8GAAA,cAAc,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAAE,oHAAA,oBAAoB,OAAA"}
@@ -4,14 +4,15 @@ export { createTestClient, type TestClient, type TestClientConfig, } from './cli
4
4
  export { jsonApi } from './transport/json-api.js';
5
5
  export { grpc, type GrpcTransportConfig, type GrpcTransportLike } from './transport/grpc.js';
6
6
  export { fallback, type FallbackTransportConfig } from './transport/fallback.js';
7
- export type { Transport, TransportConfig, TransportRequest } from './transport/types.js';
8
- export { CantonjsError, ConnectionError, HttpError, GrpcError, TimeoutError, CommandRejectedError, ContractNotFoundError, AuthorizationError, TokenExpiredError, InvalidTokenError, WebSocketError, StreamClosedError, ReconnectFailedError, } from './errors/index.js';
7
+ export type { Transport, TransportAuthConfig, TransportConfig, TransportRequest, } from './transport/types.js';
8
+ export type { MaybePromise, AuthContext, AuthSession, AuthProvider, SessionProvider, } from './auth/index.js';
9
+ export { CantonjsError, ConnectionError, HttpError, GrpcError, TimeoutError, CommandRejectedError, ContractNotFoundError, AuthorizationError, TokenExpiredError, InvalidTokenError, AuthProviderError, WebSocketError, StreamClosedError, ReconnectFailedError, } from './errors/index.js';
9
10
  export type { ErrorCode, CantonjsErrorOptions } from './errors/base.js';
10
- export { localNet, devNet, testNet, mainNet, type CantonChain } from './chains/definitions.js';
11
+ export { defineChainPreset, withChainOverrides, localNet, devNet, testNet, mainNet, type CantonAuthAudienceHints, type CantonChain, type CantonChainOverrides, type CantonChainPresetInput, type CantonNetwork, type CantonParticipantEndpoints, type CantonScanEndpoints, type CantonSpliceMetadata, type CantonValidatorEndpoints, } from './chains/index.js';
11
12
  export type { ContractId, TemplateId, CreatedEvent, ArchivedEvent, ExercisedEvent, TaggedEvent, ActiveContract, ContractEntry, } from './types/contract.js';
12
13
  export type { Party, ObjectMeta, PartyDetails, AllocatePartyRequest } from './types/party.js';
13
14
  export type { LedgerOffset, TaggedCommand, JsCommands, TransactionShape, EventFormat, TransactionFormat, } from './types/command.js';
14
- export type { JsTransaction, TaggedUpdate, UpdateFormat, } from './types/transaction.js';
15
+ export type { JsTransaction, TaggedUpdate, UpdateFormat } from './types/transaction.js';
15
16
  export type { User, Right, RightKind, CreateUserRequest } from './types/user.js';
16
17
  export type { PackageStatus, PackageDetails } from './types/package.js';
17
18
  export type { IdentityProviderConfig, CreateIdentityProviderRequest, UpdateIdentityProviderRequest, } from './types/idp.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,QAAQ,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAChF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGxF,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAG9F,YAAY,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAA;AAE5B,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE7F,YAAY,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,YAAY,GACb,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAChF,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACvE,YAAY,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAA;AAEvB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,aAAa,GACd,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,eAAe,EACf,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,GAChB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toWebSocketUrl = exports.streamCompletions = exports.streamContracts = exports.streamUpdates = exports.mainNet = exports.testNet = exports.devNet = exports.localNet = exports.ReconnectFailedError = exports.StreamClosedError = exports.WebSocketError = exports.InvalidTokenError = exports.TokenExpiredError = exports.AuthorizationError = exports.ContractNotFoundError = exports.CommandRejectedError = exports.TimeoutError = exports.GrpcError = exports.HttpError = exports.ConnectionError = exports.CantonjsError = exports.fallback = exports.grpc = exports.jsonApi = exports.createTestClient = exports.createAdminClient = exports.createLedgerClient = void 0;
3
+ exports.toWebSocketUrl = exports.streamCompletions = exports.streamContracts = exports.streamUpdates = exports.mainNet = exports.testNet = exports.devNet = exports.localNet = exports.withChainOverrides = exports.defineChainPreset = exports.ReconnectFailedError = exports.StreamClosedError = exports.WebSocketError = exports.AuthProviderError = exports.InvalidTokenError = exports.TokenExpiredError = exports.AuthorizationError = exports.ContractNotFoundError = exports.CommandRejectedError = exports.TimeoutError = exports.GrpcError = exports.HttpError = exports.ConnectionError = exports.CantonjsError = exports.fallback = exports.grpc = exports.jsonApi = exports.createTestClient = exports.createAdminClient = exports.createLedgerClient = void 0;
4
4
  // Clients
5
5
  var createLedgerClient_js_1 = require("./clients/createLedgerClient.js");
6
6
  Object.defineProperty(exports, "createLedgerClient", { enumerable: true, get: function () { return createLedgerClient_js_1.createLedgerClient; } });
@@ -27,15 +27,18 @@ Object.defineProperty(exports, "ContractNotFoundError", { enumerable: true, get:
27
27
  Object.defineProperty(exports, "AuthorizationError", { enumerable: true, get: function () { return index_js_1.AuthorizationError; } });
28
28
  Object.defineProperty(exports, "TokenExpiredError", { enumerable: true, get: function () { return index_js_1.TokenExpiredError; } });
29
29
  Object.defineProperty(exports, "InvalidTokenError", { enumerable: true, get: function () { return index_js_1.InvalidTokenError; } });
30
+ Object.defineProperty(exports, "AuthProviderError", { enumerable: true, get: function () { return index_js_1.AuthProviderError; } });
30
31
  Object.defineProperty(exports, "WebSocketError", { enumerable: true, get: function () { return index_js_1.WebSocketError; } });
31
32
  Object.defineProperty(exports, "StreamClosedError", { enumerable: true, get: function () { return index_js_1.StreamClosedError; } });
32
33
  Object.defineProperty(exports, "ReconnectFailedError", { enumerable: true, get: function () { return index_js_1.ReconnectFailedError; } });
33
34
  // Chains
34
- var definitions_js_1 = require("./chains/definitions.js");
35
- Object.defineProperty(exports, "localNet", { enumerable: true, get: function () { return definitions_js_1.localNet; } });
36
- Object.defineProperty(exports, "devNet", { enumerable: true, get: function () { return definitions_js_1.devNet; } });
37
- Object.defineProperty(exports, "testNet", { enumerable: true, get: function () { return definitions_js_1.testNet; } });
38
- Object.defineProperty(exports, "mainNet", { enumerable: true, get: function () { return definitions_js_1.mainNet; } });
35
+ var index_js_2 = require("./chains/index.js");
36
+ Object.defineProperty(exports, "defineChainPreset", { enumerable: true, get: function () { return index_js_2.defineChainPreset; } });
37
+ Object.defineProperty(exports, "withChainOverrides", { enumerable: true, get: function () { return index_js_2.withChainOverrides; } });
38
+ Object.defineProperty(exports, "localNet", { enumerable: true, get: function () { return index_js_2.localNet; } });
39
+ Object.defineProperty(exports, "devNet", { enumerable: true, get: function () { return index_js_2.devNet; } });
40
+ Object.defineProperty(exports, "testNet", { enumerable: true, get: function () { return index_js_2.testNet; } });
41
+ Object.defineProperty(exports, "mainNet", { enumerable: true, get: function () { return index_js_2.mainNet; } });
39
42
  // Streaming
40
43
  var streamUpdates_js_1 = require("./streaming/streamUpdates.js");
41
44
  Object.defineProperty(exports, "streamUpdates", { enumerable: true, get: function () { return streamUpdates_js_1.streamUpdates; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,yEAQwC;AAPtC,2HAAA,kBAAkB,OAAA;AASpB,uEAMuC;AALrC,yHAAA,iBAAiB,OAAA;AAOnB,qEAIsC;AAHpC,uHAAA,gBAAgB,OAAA;AAKlB,YAAY;AACZ,uDAAiD;AAAxC,sGAAA,OAAO,OAAA;AAChB,+CAA4F;AAAnF,+FAAA,IAAI,OAAA;AACb,uDAAgF;AAAvE,uGAAA,QAAQ,OAAA;AAGjB,SAAS;AACT,8CAc0B;AAbxB,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,qGAAA,SAAS,OAAA;AACT,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,6GAAA,iBAAiB,OAAA;AACjB,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AACjB,gHAAA,oBAAoB,OAAA;AAItB,SAAS;AACT,0DAA8F;AAArF,0GAAA,QAAQ,OAAA;AAAE,wGAAA,MAAM,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,yGAAA,OAAO,OAAA;AAyD3C,YAAY;AACZ,iEAA4D;AAAnD,iHAAA,aAAa,OAAA;AACtB,qEAA8F;AAArF,qHAAA,eAAe,OAAA;AACxB,yEAAoE;AAA3D,yHAAA,iBAAiB,OAAA;AAC1B,+DAA4D;AAAnD,iHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,yEAQwC;AAPtC,2HAAA,kBAAkB,OAAA;AASpB,uEAMuC;AALrC,yHAAA,iBAAiB,OAAA;AAOnB,qEAIsC;AAHpC,uHAAA,gBAAgB,OAAA;AAKlB,YAAY;AACZ,uDAAiD;AAAxC,sGAAA,OAAO,OAAA;AAChB,+CAA4F;AAAnF,+FAAA,IAAI,OAAA;AACb,uDAAgF;AAAvE,uGAAA,QAAQ,OAAA;AAiBjB,SAAS;AACT,8CAe0B;AAdxB,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,qGAAA,SAAS,OAAA;AACT,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,6GAAA,iBAAiB,OAAA;AACjB,6GAAA,iBAAiB,OAAA;AACjB,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AACjB,gHAAA,oBAAoB,OAAA;AAItB,SAAS;AACT,8CAgB0B;AAfxB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,oGAAA,QAAQ,OAAA;AACR,kGAAA,MAAM,OAAA;AACN,mGAAA,OAAO,OAAA;AACP,mGAAA,OAAO,OAAA;AA+DT,YAAY;AACZ,iEAA4D;AAAnD,iHAAA,aAAa,OAAA;AACtB,qEAA8F;AAArF,qHAAA,eAAe,OAAA;AACxB,yEAAoE;AAA3D,yHAAA,iBAAiB,OAAA;AAC1B,+DAA4D;AAAnD,iHAAA,cAAc,OAAA"}
@@ -18,6 +18,7 @@
18
18
  * await sandbox.teardown()
19
19
  * ```
20
20
  */
21
+ import type { AuthProvider, SessionProvider } from '../auth/types.js';
21
22
  import { type TestClient } from '../clients/createTestClient.js';
22
23
  import type { Transport } from '../transport/types.js';
23
24
  import type { Party } from '../types/party.js';
@@ -29,7 +30,11 @@ export type SandboxConfig = {
29
30
  readonly timeout?: number;
30
31
  /** JWT token. If not provided, attempts to use cantonctl auth. */
31
32
  readonly token?: string;
32
- /** Party for the TestClient. Default: allocated via sandbox. */
33
+ /** Per-request bearer token provider for participant calls. */
34
+ readonly auth?: AuthProvider;
35
+ /** Per-request session provider for participant calls. */
36
+ readonly session?: SessionProvider;
37
+ /** Party for the TestClient. Default: `test-party`. */
33
38
  readonly party?: Party;
34
39
  /** Custom fetch implementation (for testing the fixture itself). */
35
40
  readonly fetchFn?: typeof fetch;
@@ -50,6 +55,11 @@ export type SandboxContext = {
50
55
  /** Tear down the sandbox. */
51
56
  readonly teardown: () => Promise<void>;
52
57
  };
58
+ /** Default exec using child_process (Node.js only). */
59
+ export declare function defaultExec(cmd: string): Promise<{
60
+ stdout: string;
61
+ stderr: string;
62
+ }>;
53
63
  /**
54
64
  * Set up a Canton sandbox for integration testing.
55
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"setupSandbox.d.ts","sourceRoot":"","sources":["../../../src/testing/setupSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC1B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/E,CAAA;AAED,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,CAAA;AAiDD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,GAAE,aAAkB,GACzB,OAAO,CAAC,cAAc,CAAC,CAmDzB"}
1
+ {"version":3,"file":"setupSandbox.d.ts","sourceRoot":"","sources":["../../../src/testing/setupSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAErE,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC1B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;IAClC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/E,CAAA;AAED,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,CAAA;AAED,uDAAuD;AACvD,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAM1F;AAqED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,GAAE,aAAkB,GACzB,OAAO,CAAC,cAAc,CAAC,CA6CzB"}
@@ -20,16 +20,15 @@
20
20
  * ```
21
21
  */
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.defaultExec = defaultExec;
23
24
  exports.setupCantonSandbox = setupCantonSandbox;
24
25
  const json_api_js_1 = require("../transport/json-api.js");
25
26
  const createTestClient_js_1 = require("../clients/createTestClient.js");
26
27
  /** Default exec using child_process (Node.js only). */
27
28
  async function defaultExec(cmd) {
28
- // Dynamic import to avoid bundling Node.js modules in browser builds
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- const cp = await Function('return import("node:child_process")')();
31
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
- const util = await Function('return import("node:util")')();
29
+ // Dynamic import keeps Node-only modules out of browser-oriented consumers.
30
+ const cp = await Promise.resolve().then(() => require('node:child_process'));
31
+ const util = await Promise.resolve().then(() => require('node:util'));
33
32
  const execAsync = util.promisify(cp.exec);
34
33
  return execAsync(cmd);
35
34
  }
@@ -60,6 +59,26 @@ async function waitForHealth(url, timeoutMs, fetchFn) {
60
59
  }
61
60
  throw new Error(`Canton sandbox did not become ready within ${timeoutMs}ms at ${url}`);
62
61
  }
62
+ async function resolveSandboxTransportConfig(url, fetchFn, execFn, config) {
63
+ const token = config.token?.trim() === '' ? undefined : config.token?.trim();
64
+ const transportConfig = {
65
+ url,
66
+ fetchFn,
67
+ token,
68
+ auth: config.auth,
69
+ session: config.session,
70
+ };
71
+ if (transportConfig.token === undefined &&
72
+ transportConfig.auth === undefined &&
73
+ transportConfig.session === undefined) {
74
+ const result = await execFn('cantonctl auth token');
75
+ return {
76
+ ...transportConfig,
77
+ token: result.stdout.trim(),
78
+ };
79
+ }
80
+ return transportConfig;
81
+ }
63
82
  /**
64
83
  * Set up a Canton sandbox for integration testing.
65
84
  *
@@ -82,14 +101,7 @@ async function setupCantonSandbox(config = {}) {
82
101
  await execFn(`cantonctl dev start --port ${port}`);
83
102
  // Wait for health
84
103
  await waitForHealth(url, timeout, fetchFn);
85
- // Get or generate token
86
- let token = config.token;
87
- if (!token) {
88
- const result = await execFn('cantonctl auth token');
89
- token = result.stdout.trim();
90
- }
91
- // Create transport and client
92
- const transport = (0, json_api_js_1.jsonApi)({ url, token, fetchFn });
104
+ const transport = (0, json_api_js_1.jsonApi)(await resolveSandboxTransportConfig(url, fetchFn, execFn, config));
93
105
  const party = config.party ?? 'test-party';
94
106
  const client = (0, createTestClient_js_1.createTestClient)({ transport, party });
95
107
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"setupSandbox.js","sourceRoot":"","sources":["../../../src/testing/setupSandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupSandbox.js","sourceRoot":"","sources":["../../../src/testing/setupSandbox.ts"],"names":[],"mappings":"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"}
@@ -19,13 +19,11 @@
19
19
  * grpcTransport: createGrpcWebTransport({ baseUrl: 'http://localhost:7575' }),
20
20
  * })
21
21
  */
22
- import type { Transport } from './types.js';
22
+ import { type Transport, type TransportAuthConfig } from './types.js';
23
23
  /** Configuration for the gRPC transport. */
24
- export type GrpcTransportConfig = {
24
+ export type GrpcTransportConfig = TransportAuthConfig & {
25
25
  /** Base URL of the Canton node. */
26
26
  readonly url: string;
27
- /** JWT Bearer token for authentication. */
28
- readonly token?: string;
29
27
  /**
30
28
  * A ConnectRPC transport instance (from @connectrpc/connect-web or connect-node).
31
29
  * Injected to keep cantonjs zero-dependency.
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,YAAY,CAAA;AAE7D,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAAG;IAChC,mCAAmC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAA;CAC1C,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,KACb,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAC5C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CA0B3D"}
1
+ {"version":3,"file":"grpc.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,mBAAmB,EAEzB,MAAM,YAAY,CAAA;AAEnB,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG;IACtD,mCAAmC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAA;CAC1C,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,KACb,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAC5C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAmC3D"}
@@ -22,6 +22,7 @@
22
22
  */
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.grpc = grpc;
25
+ const types_js_1 = require("./types.js");
25
26
  /**
26
27
  * Create a gRPC transport for the Canton Ledger API.
27
28
  *
@@ -29,16 +30,25 @@ exports.grpc = grpc;
29
30
  * Maps Transport requests to gRPC unary calls.
30
31
  */
31
32
  function grpc(config) {
32
- const { url, token, grpcTransport } = config;
33
+ const { url, grpcTransport } = config;
33
34
  const baseUrl = url.replace(/\/+$/, '');
34
35
  return {
35
36
  type: 'grpc',
36
37
  url: baseUrl,
37
38
  async request(args) {
38
- const headers = {};
39
- if (token !== undefined) {
40
- headers['Authorization'] = `Bearer ${token}`;
41
- }
39
+ const headers = {
40
+ ...args.headers,
41
+ ...(await (0, types_js_1.resolveTransportHeaders)(config, {
42
+ transport: 'grpc',
43
+ url: baseUrl,
44
+ request: {
45
+ method: args.method,
46
+ path: args.path,
47
+ headers: args.headers,
48
+ signal: args.signal,
49
+ },
50
+ })),
51
+ };
42
52
  const result = await grpcTransport.unary(pathToService(args.path), pathToMethod(args.path), args.signal, args.timeout, headers, args.body ?? {});
43
53
  return result.message;
44
54
  },
@@ -52,18 +62,19 @@ function grpc(config) {
52
62
  function pathToService(path) {
53
63
  const segments = path.replace(/^\/v2\//, '').split('/');
54
64
  const serviceMap = {
55
- 'commands': 'com.daml.ledger.api.v2.CommandService',
65
+ commands: 'com.daml.ledger.api.v2.CommandService',
56
66
  'interactive-submission': 'com.daml.ledger.api.v2.InteractiveSubmissionService',
57
- 'state': 'com.daml.ledger.api.v2.StateService',
58
- 'updates': 'com.daml.ledger.api.v2.UpdateService',
59
- 'events': 'com.daml.ledger.api.v2.EventQueryService',
60
- 'parties': 'com.daml.ledger.api.v2.PartyManagementService',
61
- 'users': 'com.daml.ledger.api.v2.UserManagementService',
62
- 'packages': 'com.daml.ledger.api.v2.PackageService',
63
- 'dars': 'com.daml.ledger.api.v2.PackageManagementService',
64
- 'version': 'com.daml.ledger.api.v2.VersionService',
67
+ state: 'com.daml.ledger.api.v2.StateService',
68
+ updates: 'com.daml.ledger.api.v2.UpdateService',
69
+ events: 'com.daml.ledger.api.v2.EventQueryService',
70
+ parties: 'com.daml.ledger.api.v2.PartyManagementService',
71
+ users: 'com.daml.ledger.api.v2.UserManagementService',
72
+ packages: 'com.daml.ledger.api.v2.PackageService',
73
+ dars: 'com.daml.ledger.api.v2.PackageManagementService',
74
+ version: 'com.daml.ledger.api.v2.VersionService',
65
75
  };
66
- const serviceName = serviceMap[segments[0] ?? ''] ?? 'unknown';
76
+ const serviceKey = segments.find((segment) => segment.length > 0);
77
+ const serviceName = serviceKey === undefined ? 'unknown' : (serviceMap[serviceKey] ?? 'unknown');
67
78
  return { typeName: serviceName };
68
79
  }
69
80
  /**
@@ -84,7 +95,8 @@ function pathToMethod(path) {
84
95
  '/v2/events/events-by-contract-id': 'GetEventsByContractId',
85
96
  '/v2/version': 'GetLedgerApiVersion',
86
97
  };
87
- const methodName = methodMap[path] ?? path.split('/').pop() ?? 'unknown';
98
+ const fallbackMethodName = path.split('/').filter((segment) => segment.length > 0).at(-1);
99
+ const methodName = methodMap[path] ?? fallbackMethodName ?? 'unknown';
88
100
  return { name: methodName };
89
101
  }
90
102
  //# sourceMappingURL=grpc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.js","sourceRoot":"","sources":["../../../src/transport/grpc.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AAsCH,oBA0BC;AAhCD;;;;;GAKG;AACH,SAAgB,IAAI,CAAC,MAA2B;IAC9C,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEvC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,OAAO;QAEZ,KAAK,CAAC,OAAO,CAAsB,IAAsB;YACvD,MAAM,OAAO,GAA2B,EAAE,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;YAC9C,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CACtC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,OAAO,EACP,IAAI,CAAC,IAAI,IAAI,EAAE,CAChB,CAAA;YAED,OAAO,MAAM,CAAC,OAAoB,CAAA;QACpC,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvD,MAAM,UAAU,GAA2B;QACzC,UAAU,EAAE,uCAAuC;QACnD,wBAAwB,EAAE,qDAAqD;QAC/E,OAAO,EAAE,qCAAqC;QAC9C,SAAS,EAAE,sCAAsC;QACjD,QAAQ,EAAE,0CAA0C;QACpD,SAAS,EAAE,+CAA+C;QAC1D,OAAO,EAAE,8CAA8C;QACvD,UAAU,EAAE,uCAAuC;QACnD,MAAM,EAAE,iDAAiD;QACzD,SAAS,EAAE,uCAAuC;KACnD,CAAA;IACD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,SAAS,CAAA;IAC9D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,SAAS,GAA2B;QACxC,8BAA8B,EAAE,eAAe;QAC/C,8CAA8C,EAAE,6BAA6B;QAC7E,+CAA+C,EAAE,8BAA8B;QAC/E,oCAAoC,EAAE,mBAAmB;QACzD,oCAAoC,EAAE,mBAAmB;QACzD,4BAA4B,EAAE,oBAAoB;QAClD,mCAAmC,EAAE,2BAA2B;QAChE,sBAAsB,EAAE,cAAc;QACtC,iCAAiC,EAAE,wBAAwB;QAC3D,+BAA+B,EAAE,oBAAoB;QACrD,kCAAkC,EAAE,uBAAuB;QAC3D,aAAa,EAAE,qBAAqB;KACrC,CAAA;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAA;IACxE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"grpc.js","sourceRoot":"","sources":["../../../src/transport/grpc.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { jsonApi } from './json-api.js';
2
- export type { Transport, TransportConfig, TransportRequest, TransportFactory } from './types.js';
2
+ export type { Transport, TransportAuthConfig, TransportConfig, TransportRequest, TransportFactory, } from './types.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
@@ -4,6 +4,6 @@
4
4
  * Primary transport for cantonjs. Communicates with Canton's JSON Ledger API
5
5
  * via HTTP requests to /v2/* endpoints.
6
6
  */
7
- import type { Transport, TransportConfig } from './types.js';
7
+ import { type Transport, type TransportConfig } from './types.js';
8
8
  export declare function jsonApi(config: TransportConfig): Transport;
9
9
  //# sourceMappingURL=json-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-api.d.ts","sourceRoot":"","sources":["../../../src/transport/json-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAoB,MAAM,YAAY,CAAA;AAI9E,wBAAgB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAsE1D"}
1
+ {"version":3,"file":"json-api.d.ts","sourceRoot":"","sources":["../../../src/transport/json-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,YAAY,CAAA;AAInB,wBAAgB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAkF1D"}
@@ -8,27 +8,41 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.jsonApi = jsonApi;
10
10
  const transport_js_1 = require("../errors/transport.js");
11
+ const types_js_1 = require("./types.js");
11
12
  const DEFAULT_TIMEOUT = 30_000;
12
13
  function jsonApi(config) {
13
- const { url, token, timeout = DEFAULT_TIMEOUT, fetchFn = globalThis.fetch } = config;
14
+ const { url, timeout = DEFAULT_TIMEOUT, fetchFn = globalThis.fetch } = config;
14
15
  const baseUrl = url.replace(/\/+$/, '');
15
16
  return {
16
17
  type: 'json-api',
17
18
  url: baseUrl,
18
19
  async request(args) {
19
20
  const requestUrl = `${baseUrl}${args.path}`;
21
+ const authHeaders = await (0, types_js_1.resolveTransportHeaders)(config, {
22
+ transport: 'json-api',
23
+ url: baseUrl,
24
+ request: {
25
+ method: args.method,
26
+ path: args.path,
27
+ headers: args.headers,
28
+ signal: args.signal,
29
+ },
30
+ });
20
31
  const headers = {
21
32
  'Content-Type': 'application/json',
22
33
  ...args.headers,
34
+ ...authHeaders,
23
35
  };
24
- if (token !== undefined) {
25
- headers['Authorization'] = `Bearer ${token}`;
26
- }
27
36
  const controller = new AbortController();
28
37
  const timeoutMs = args.timeout ?? timeout;
29
38
  const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
30
39
  if (args.signal !== undefined) {
31
- args.signal.addEventListener('abort', () => controller.abort(), { once: true });
40
+ if (args.signal.aborted) {
41
+ controller.abort();
42
+ }
43
+ else {
44
+ args.signal.addEventListener('abort', () => controller.abort(), { once: true });
45
+ }
32
46
  }
33
47
  try {
34
48
  const response = await fetchFn(requestUrl, {
@@ -1 +1 @@
1
- {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../src/transport/json-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../src/transport/json-api.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * transport that handles the actual request execution. This separates
6
6
  * client logic from communication concerns.
7
7
  */
8
+ import type { AuthContext, AuthProvider, AuthSession, SessionProvider } from '../auth/types.js';
8
9
  /** A transport handles sending requests to a Canton node. */
9
10
  export type Transport = {
10
11
  readonly type: string;
@@ -20,12 +21,19 @@ export type TransportRequest = {
20
21
  signal?: AbortSignal;
21
22
  timeout?: number;
22
23
  };
24
+ /** Authentication configuration shared by core transports. */
25
+ export type TransportAuthConfig = {
26
+ /** Static JWT Bearer token for authentication. */
27
+ readonly token?: string;
28
+ /** Per-request bearer token provider. */
29
+ readonly auth?: AuthProvider;
30
+ /** Per-request session provider for advanced auth/header injection. */
31
+ readonly session?: SessionProvider;
32
+ };
23
33
  /** Configuration shared by all transport types. */
24
- export type TransportConfig = {
34
+ export type TransportConfig = TransportAuthConfig & {
25
35
  /** Base URL of the Canton node. */
26
36
  readonly url: string;
27
- /** JWT Bearer token for authentication. */
28
- readonly token?: string;
29
37
  /** Request timeout in milliseconds. Default: 30000. */
30
38
  readonly timeout?: number;
31
39
  /** Custom fetch implementation (for testing or environments without global fetch). */
@@ -33,4 +41,6 @@ export type TransportConfig = {
33
41
  };
34
42
  /** Factory function type for creating transports. */
35
43
  export type TransportFactory = (config: TransportConfig) => Transport;
44
+ export declare function resolveTransportSession(config: TransportAuthConfig, context: AuthContext): Promise<AuthSession | undefined>;
45
+ export declare function resolveTransportHeaders(config: TransportAuthConfig, context: AuthContext): Promise<Record<string, string>>;
36
46
  //# sourceMappingURL=types.d.ts.map