@scolladon/tsgit 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/adapters/browser/index.cjs +1 -1
  3. package/dist/cjs/adapters/browser/index.cjs.map +1 -1
  4. package/dist/cjs/adapters/memory/index.cjs +1 -1
  5. package/dist/cjs/adapters/memory/index.cjs.map +1 -1
  6. package/dist/cjs/adapters/node/index.cjs +1 -1
  7. package/dist/cjs/adapters/node/index.cjs.map +1 -1
  8. package/dist/cjs/chunks/adapter-detect-D7DFJtuk.cjs +2 -0
  9. package/dist/cjs/chunks/adapter-detect-D7DFJtuk.cjs.map +1 -0
  10. package/dist/cjs/chunks/adler32-CrRRuL2P.cjs +2 -0
  11. package/dist/cjs/chunks/adler32-CrRRuL2P.cjs.map +1 -0
  12. package/dist/cjs/chunks/browser-http-transport-nGm6alox.cjs +2 -0
  13. package/dist/cjs/chunks/browser-http-transport-nGm6alox.cjs.map +1 -0
  14. package/dist/cjs/chunks/context-BcoAzPuU.cjs.map +1 -1
  15. package/dist/cjs/chunks/error-CA80UqXF.cjs +2 -0
  16. package/dist/cjs/chunks/error-CA80UqXF.cjs.map +1 -0
  17. package/dist/cjs/chunks/index-01WCH0eg.cjs +2 -0
  18. package/dist/cjs/chunks/index-01WCH0eg.cjs.map +1 -0
  19. package/dist/cjs/chunks/memory-http-transport-7hpDW8o3.cjs +2 -0
  20. package/dist/cjs/chunks/memory-http-transport-7hpDW8o3.cjs.map +1 -0
  21. package/dist/cjs/chunks/node-http-transport-CoqnAvIL.cjs +2 -0
  22. package/dist/cjs/chunks/node-http-transport-CoqnAvIL.cjs.map +1 -0
  23. package/dist/cjs/chunks/{progress-CxU62NC1.cjs → progress-CjhUeyxd.cjs} +2 -2
  24. package/dist/cjs/chunks/{progress-CxU62NC1.cjs.map → progress-CjhUeyxd.cjs.map} +1 -1
  25. package/dist/cjs/chunks/repository-DJNNrfQr.cjs +2 -0
  26. package/dist/cjs/chunks/repository-DJNNrfQr.cjs.map +1 -0
  27. package/dist/cjs/chunks/write-sparse-checkout-DzVubBcI.cjs +2 -0
  28. package/dist/cjs/chunks/write-sparse-checkout-DzVubBcI.cjs.map +1 -0
  29. package/dist/cjs/commands/index.cjs +1 -1
  30. package/dist/cjs/index.browser.cjs +1 -1
  31. package/dist/cjs/index.browser.cjs.map +1 -1
  32. package/dist/cjs/index.cjs +1 -1
  33. package/dist/cjs/index.cjs.map +1 -1
  34. package/dist/cjs/index.default.cjs +1 -1
  35. package/dist/cjs/index.default.cjs.map +1 -1
  36. package/dist/cjs/index.node.cjs +1 -1
  37. package/dist/cjs/index.node.cjs.map +1 -1
  38. package/dist/cjs/primitives/index.cjs +1 -1
  39. package/dist/cjs/primitives/index.cjs.map +1 -1
  40. package/dist/esm/adapters/browser/index.js +1 -1
  41. package/dist/esm/adapters/browser/index.js.map +1 -1
  42. package/dist/esm/adapters/memory/index.js +1 -1
  43. package/dist/esm/adapters/memory/index.js.map +1 -1
  44. package/dist/esm/adapters/node/index.js +1 -1
  45. package/dist/esm/adapters/node/index.js.map +1 -1
  46. package/dist/esm/chunks/adapter-detect-CTTG6hpk.js +2 -0
  47. package/dist/esm/chunks/adapter-detect-CTTG6hpk.js.map +1 -0
  48. package/dist/esm/chunks/adler32-BfvKJOAO.js +2 -0
  49. package/dist/esm/chunks/adler32-BfvKJOAO.js.map +1 -0
  50. package/dist/esm/chunks/browser-http-transport-DD0YKmIW.js +2 -0
  51. package/dist/esm/chunks/browser-http-transport-DD0YKmIW.js.map +1 -0
  52. package/dist/esm/chunks/context-CumKOV7K.js.map +1 -1
  53. package/dist/esm/chunks/error-BD0nFV6t.js +2 -0
  54. package/dist/esm/chunks/error-BD0nFV6t.js.map +1 -0
  55. package/dist/esm/chunks/index-BEI7XKaV.js +2 -0
  56. package/dist/esm/chunks/index-BEI7XKaV.js.map +1 -0
  57. package/dist/esm/chunks/memory-http-transport-D13LBPvu.js +2 -0
  58. package/dist/esm/chunks/memory-http-transport-D13LBPvu.js.map +1 -0
  59. package/dist/esm/chunks/node-http-transport-doU9Y8WN.js +2 -0
  60. package/dist/esm/chunks/node-http-transport-doU9Y8WN.js.map +1 -0
  61. package/dist/esm/chunks/{progress-BZobfl7p.js → progress-CLPpgZJ6.js} +2 -2
  62. package/dist/esm/chunks/{progress-BZobfl7p.js.map → progress-CLPpgZJ6.js.map} +1 -1
  63. package/dist/esm/chunks/repository-dCH3DdLQ.js +2 -0
  64. package/dist/esm/chunks/repository-dCH3DdLQ.js.map +1 -0
  65. package/dist/esm/chunks/write-sparse-checkout-D4tNUXOp.js +2 -0
  66. package/dist/esm/chunks/write-sparse-checkout-D4tNUXOp.js.map +1 -0
  67. package/dist/esm/commands/index.js +1 -1
  68. package/dist/esm/index.browser.js +1 -1
  69. package/dist/esm/index.browser.js.map +1 -1
  70. package/dist/esm/index.default.js +1 -1
  71. package/dist/esm/index.default.js.map +1 -1
  72. package/dist/esm/index.js +1 -1
  73. package/dist/esm/index.js.map +1 -1
  74. package/dist/esm/index.node.js +1 -1
  75. package/dist/esm/index.node.js.map +1 -1
  76. package/dist/esm/primitives/index.js +1 -1
  77. package/dist/esm/primitives/index.js.map +1 -1
  78. package/dist/types/adapters/browser/index.d.cts +5 -3
  79. package/dist/types/adapters/browser/index.d.ts +5 -3
  80. package/dist/types/adapters/memory/index.d.cts +31 -4
  81. package/dist/types/adapters/memory/index.d.ts +31 -4
  82. package/dist/types/adapters/node/index.d.cts +53 -5
  83. package/dist/types/adapters/node/index.d.ts +53 -5
  84. package/dist/types/chunks/{context-CCL0_F8R.d.ts → context-CNtbFlwI.d.ts} +119 -6
  85. package/dist/types/chunks/{context-YDw6qicq.d.cts → context-D_A7-uau.d.cts} +119 -6
  86. package/dist/types/chunks/{http-transport--_NdQOiw.d.cts → http-transport-DirKfK2S.d.cts} +1 -1
  87. package/dist/types/chunks/{http-transport--_NdQOiw.d.ts → http-transport-DirKfK2S.d.ts} +1 -1
  88. package/dist/types/chunks/index-BJDekgCP.d.ts +1122 -0
  89. package/dist/types/chunks/index-CMLLVz9B.d.cts +1122 -0
  90. package/dist/types/chunks/index-E_KapqW9.d.ts +2439 -0
  91. package/dist/types/chunks/index-wwZiot4c.d.cts +2439 -0
  92. package/dist/types/chunks/progress-Cp-huK45.d.cts +1171 -0
  93. package/dist/types/chunks/progress-hcn9r2H3.d.ts +1171 -0
  94. package/dist/types/chunks/reflog-entry-BGJr9VfU.d.cts +688 -0
  95. package/dist/types/chunks/reflog-entry-DecZqJna.d.ts +688 -0
  96. package/dist/types/chunks/{repository-BeifCqp0.d.cts → repository-DASBgOb9.d.cts} +58 -20
  97. package/dist/types/chunks/{repository-FoS_Laoy.d.ts → repository-Dxhwpzd6.d.ts} +58 -20
  98. package/dist/types/commands/index.d.cts +4 -1259
  99. package/dist/types/commands/index.d.ts +4 -1259
  100. package/dist/types/index.browser.d.cts +7 -8
  101. package/dist/types/index.browser.d.ts +7 -8
  102. package/dist/types/index.d.cts +61 -124
  103. package/dist/types/index.d.ts +61 -124
  104. package/dist/types/index.default.d.cts +7 -8
  105. package/dist/types/index.default.d.ts +7 -8
  106. package/dist/types/index.node.d.cts +7 -8
  107. package/dist/types/index.node.d.ts +7 -8
  108. package/dist/types/primitives/index.d.cts +4 -692
  109. package/dist/types/primitives/index.d.ts +4 -692
  110. package/dist/types/transport/index.d.cts +1 -1
  111. package/dist/types/transport/index.d.ts +1 -1
  112. package/package.json +21 -21
  113. package/dist/cjs/chunks/adapter-detect-CD_LcgaH.cjs +0 -2
  114. package/dist/cjs/chunks/adapter-detect-CD_LcgaH.cjs.map +0 -1
  115. package/dist/cjs/chunks/browser-http-transport-CiMRqtDS.cjs +0 -2
  116. package/dist/cjs/chunks/browser-http-transport-CiMRqtDS.cjs.map +0 -1
  117. package/dist/cjs/chunks/error-CfjFO3x_.cjs +0 -2
  118. package/dist/cjs/chunks/error-CfjFO3x_.cjs.map +0 -1
  119. package/dist/cjs/chunks/index-BWCq_5BJ.cjs +0 -2
  120. package/dist/cjs/chunks/index-BWCq_5BJ.cjs.map +0 -1
  121. package/dist/cjs/chunks/memory-http-transport-BVL6VgB-.cjs +0 -2
  122. package/dist/cjs/chunks/memory-http-transport-BVL6VgB-.cjs.map +0 -1
  123. package/dist/cjs/chunks/node-http-transport-BvfVcf02.cjs +0 -2
  124. package/dist/cjs/chunks/node-http-transport-BvfVcf02.cjs.map +0 -1
  125. package/dist/cjs/chunks/repository-BEg2zNtx.cjs +0 -2
  126. package/dist/cjs/chunks/repository-BEg2zNtx.cjs.map +0 -1
  127. package/dist/cjs/chunks/walk-submodules-D2Sp7JEB.cjs +0 -2
  128. package/dist/cjs/chunks/walk-submodules-D2Sp7JEB.cjs.map +0 -1
  129. package/dist/esm/chunks/adapter-detect-DkZhhUhd.js +0 -2
  130. package/dist/esm/chunks/adapter-detect-DkZhhUhd.js.map +0 -1
  131. package/dist/esm/chunks/browser-http-transport-4rJkHcQu.js +0 -2
  132. package/dist/esm/chunks/browser-http-transport-4rJkHcQu.js.map +0 -1
  133. package/dist/esm/chunks/error-Dc-SRSJK.js +0 -2
  134. package/dist/esm/chunks/error-Dc-SRSJK.js.map +0 -1
  135. package/dist/esm/chunks/index-jH0UMhh-.js +0 -2
  136. package/dist/esm/chunks/index-jH0UMhh-.js.map +0 -1
  137. package/dist/esm/chunks/memory-http-transport-CA1WxWBp.js +0 -2
  138. package/dist/esm/chunks/memory-http-transport-CA1WxWBp.js.map +0 -1
  139. package/dist/esm/chunks/node-http-transport-DPa2lK3T.js +0 -2
  140. package/dist/esm/chunks/node-http-transport-DPa2lK3T.js.map +0 -1
  141. package/dist/esm/chunks/repository-DF6ePd1x.js +0 -2
  142. package/dist/esm/chunks/repository-DF6ePd1x.js.map +0 -1
  143. package/dist/esm/chunks/walk-submodules-Dq9oGwP8.js +0 -2
  144. package/dist/esm/chunks/walk-submodules-Dq9oGwP8.js.map +0 -1
  145. package/dist/types/chunks/index-entry-DtEbVpOG.d.cts +0 -47
  146. package/dist/types/chunks/index-entry-UD4dvtKh.d.ts +0 -47
  147. package/dist/types/chunks/progress-7KKiXXfX.d.ts +0 -405
  148. package/dist/types/chunks/progress-By8yFaUE.d.cts +0 -405
  149. package/dist/types/chunks/reflog-entry-BbNnXCTC.d.cts +0 -368
  150. package/dist/types/chunks/reflog-entry-CSzjnZd4.d.ts +0 -368
  151. package/dist/types/chunks/write-tree-C3oNxOlX.d.cts +0 -196
  152. package/dist/types/chunks/write-tree-DRI-LzSr.d.ts +0 -196
@@ -1,5 +1,5 @@
1
- import { b as Context, C as Compressor, I as InflateStreamResult, F as FileSystem, d as FileStat, D as DirEntry, e as FileHandle, H as HashService, f as Hasher, a as HookRunner, i as HookRequest, h as HookResult } from '../../chunks/context-YDw6qicq.cjs';
2
- import { H as HttpTransport, a as HttpRequest, b as HttpResponse } from '../../chunks/http-transport--_NdQOiw.cjs';
1
+ import { c as Context, C as CommandRunner, v as CommandRequest, x as CommandResult, a as Compressor, I as InflateStreamResult, g as FileSystem, f as FileStat, D as DirEntry, u as FileHandle, h as HashService, i as Hasher, m as HookRunner, k as HookRequest, l as HookResult } from '../../chunks/context-D_A7-uau.cjs';
2
+ import { b as HttpTransport, H as HttpRequest, a as HttpResponse } from '../../chunks/http-transport-DirKfK2S.cjs';
3
3
 
4
4
  interface NodeAdapterOptions {
5
5
  readonly workDir: string;
@@ -15,9 +15,55 @@ interface NodeAdapterOptions {
15
15
  * `process.env` — disable it for repositories you do not trust.
16
16
  */
17
17
  readonly hooks?: boolean;
18
+ /**
19
+ * Wire the merge-driver command runner (default true). Pass `false` to
20
+ * disable external merge drivers. A wired runner executes the configured
21
+ * `[merge "<driver>"].driver` shell command with the full `process.env`.
22
+ */
23
+ readonly command?: boolean;
18
24
  }
19
25
  declare function createNodeContext(options: NodeAdapterOptions): Context;
20
26
 
27
+ /** Minimal child-process surface `NodeCommandRunner` consumes. */
28
+ interface CommandChild {
29
+ on(event: 'error', listener: (err: Error) => void): void;
30
+ on(event: 'close', listener: (code: number | null) => void): void;
31
+ kill(): void;
32
+ readonly stdin: {
33
+ write(chunk: Uint8Array): void;
34
+ end(): void;
35
+ };
36
+ readonly stdout: {
37
+ on(event: 'data', listener: (chunk: Uint8Array) => void): void;
38
+ };
39
+ }
40
+ /**
41
+ * Injectable process surface. Production uses `node:child_process` spawn; unit
42
+ * tests inject a fake so every branch runs deterministically without a real
43
+ * process (mirrors `HookRunnerOps`).
44
+ */
45
+ interface CommandRunnerOps {
46
+ readonly spawn: (command: string, args: ReadonlyArray<string>, options: {
47
+ readonly cwd: string;
48
+ readonly env: NodeJS.ProcessEnv;
49
+ readonly stdio: ['pipe', 'pipe', 'inherit'];
50
+ }) => CommandChild;
51
+ }
52
+ declare const realCommandRunnerOps: CommandRunnerOps;
53
+ /**
54
+ * Node `CommandRunner`: runs a command line through the platform shell
55
+ * (`sh -c` on POSIX, `cmd /c` on Windows) with `cwd` and an environment that
56
+ * merges `request.env` over `process.env`. Stdin is piped from `request.stdin`
57
+ * when present; stdout is captured into `result.stdout`. Never rejects for a
58
+ * non-zero exit.
59
+ */
60
+ declare class NodeCommandRunner implements CommandRunner {
61
+ private readonly isWindows;
62
+ private readonly ops;
63
+ constructor(platform?: NodeJS.Platform, ops?: CommandRunnerOps);
64
+ run(request: CommandRequest): Promise<CommandResult>;
65
+ }
66
+
21
67
  interface NodeCompressorOptions {
22
68
  /** Override the inflated-output cap. Tests use a small value to exercise the overflow branch. */
23
69
  readonly maxInflatedBytes?: number;
@@ -25,7 +71,8 @@ interface NodeCompressorOptions {
25
71
  declare class NodeCompressor implements Compressor {
26
72
  private readonly maxInflatedBytes;
27
73
  constructor(options?: NodeCompressorOptions);
28
- deflate: (data: Uint8Array) => Promise<Uint8Array>;
74
+ deflate: (data: Uint8Array, level?: number) => Promise<Uint8Array>;
75
+ deflateRaw: (data: Uint8Array, level?: number) => Promise<Uint8Array>;
29
76
  inflate: (data: Uint8Array) => Promise<Uint8Array>;
30
77
  streamInflate: (bytes: Uint8Array, offset: number) => Promise<InflateStreamResult>;
31
78
  createInflateStream: () => TransformStream<Uint8Array, Uint8Array>;
@@ -150,6 +197,7 @@ declare class NodeFileSystem implements FileSystem {
150
197
  readSlice: (path: string, offset: number, length: number) => Promise<Uint8Array>;
151
198
  readUtf8: (path: string) => Promise<string>;
152
199
  write: (path: string, data: Uint8Array) => Promise<void>;
200
+ writeStream: (path: string, source: AsyncIterable<Uint8Array>) => Promise<void>;
153
201
  writeExclusive: (path: string, data: Uint8Array) => Promise<void>;
154
202
  writeUtf8: (path: string, content: string) => Promise<void>;
155
203
  appendUtf8: (path: string, content: string) => Promise<void>;
@@ -249,5 +297,5 @@ declare class NodeHttpTransport implements HttpTransport {
249
297
  request: (req: HttpRequest) => Promise<HttpResponse>;
250
298
  }
251
299
 
252
- export { NodeCompressor, NodeFileSystem, NodeHashService, NodeHookRunner, NodeHttpTransport, createNodeContext };
253
- export type { NodeAdapterOptions, NodeHttpTransportOptions };
300
+ export { NodeCommandRunner, NodeCompressor, NodeFileSystem, NodeHashService, NodeHookRunner, NodeHttpTransport, createNodeContext, realCommandRunnerOps };
301
+ export type { CommandRunnerOps, NodeAdapterOptions, NodeHttpTransportOptions };
@@ -1,5 +1,5 @@
1
- import { b as Context, C as Compressor, I as InflateStreamResult, F as FileSystem, d as FileStat, D as DirEntry, e as FileHandle, H as HashService, f as Hasher, a as HookRunner, i as HookRequest, h as HookResult } from '../../chunks/context-CCL0_F8R.js';
2
- import { H as HttpTransport, a as HttpRequest, b as HttpResponse } from '../../chunks/http-transport--_NdQOiw.js';
1
+ import { c as Context, C as CommandRunner, v as CommandRequest, x as CommandResult, a as Compressor, I as InflateStreamResult, g as FileSystem, f as FileStat, D as DirEntry, u as FileHandle, h as HashService, i as Hasher, m as HookRunner, k as HookRequest, l as HookResult } from '../../chunks/context-CNtbFlwI.js';
2
+ import { b as HttpTransport, H as HttpRequest, a as HttpResponse } from '../../chunks/http-transport-DirKfK2S.js';
3
3
 
4
4
  interface NodeAdapterOptions {
5
5
  readonly workDir: string;
@@ -15,9 +15,55 @@ interface NodeAdapterOptions {
15
15
  * `process.env` — disable it for repositories you do not trust.
16
16
  */
17
17
  readonly hooks?: boolean;
18
+ /**
19
+ * Wire the merge-driver command runner (default true). Pass `false` to
20
+ * disable external merge drivers. A wired runner executes the configured
21
+ * `[merge "<driver>"].driver` shell command with the full `process.env`.
22
+ */
23
+ readonly command?: boolean;
18
24
  }
19
25
  declare function createNodeContext(options: NodeAdapterOptions): Context;
20
26
 
27
+ /** Minimal child-process surface `NodeCommandRunner` consumes. */
28
+ interface CommandChild {
29
+ on(event: 'error', listener: (err: Error) => void): void;
30
+ on(event: 'close', listener: (code: number | null) => void): void;
31
+ kill(): void;
32
+ readonly stdin: {
33
+ write(chunk: Uint8Array): void;
34
+ end(): void;
35
+ };
36
+ readonly stdout: {
37
+ on(event: 'data', listener: (chunk: Uint8Array) => void): void;
38
+ };
39
+ }
40
+ /**
41
+ * Injectable process surface. Production uses `node:child_process` spawn; unit
42
+ * tests inject a fake so every branch runs deterministically without a real
43
+ * process (mirrors `HookRunnerOps`).
44
+ */
45
+ interface CommandRunnerOps {
46
+ readonly spawn: (command: string, args: ReadonlyArray<string>, options: {
47
+ readonly cwd: string;
48
+ readonly env: NodeJS.ProcessEnv;
49
+ readonly stdio: ['pipe', 'pipe', 'inherit'];
50
+ }) => CommandChild;
51
+ }
52
+ declare const realCommandRunnerOps: CommandRunnerOps;
53
+ /**
54
+ * Node `CommandRunner`: runs a command line through the platform shell
55
+ * (`sh -c` on POSIX, `cmd /c` on Windows) with `cwd` and an environment that
56
+ * merges `request.env` over `process.env`. Stdin is piped from `request.stdin`
57
+ * when present; stdout is captured into `result.stdout`. Never rejects for a
58
+ * non-zero exit.
59
+ */
60
+ declare class NodeCommandRunner implements CommandRunner {
61
+ private readonly isWindows;
62
+ private readonly ops;
63
+ constructor(platform?: NodeJS.Platform, ops?: CommandRunnerOps);
64
+ run(request: CommandRequest): Promise<CommandResult>;
65
+ }
66
+
21
67
  interface NodeCompressorOptions {
22
68
  /** Override the inflated-output cap. Tests use a small value to exercise the overflow branch. */
23
69
  readonly maxInflatedBytes?: number;
@@ -25,7 +71,8 @@ interface NodeCompressorOptions {
25
71
  declare class NodeCompressor implements Compressor {
26
72
  private readonly maxInflatedBytes;
27
73
  constructor(options?: NodeCompressorOptions);
28
- deflate: (data: Uint8Array) => Promise<Uint8Array>;
74
+ deflate: (data: Uint8Array, level?: number) => Promise<Uint8Array>;
75
+ deflateRaw: (data: Uint8Array, level?: number) => Promise<Uint8Array>;
29
76
  inflate: (data: Uint8Array) => Promise<Uint8Array>;
30
77
  streamInflate: (bytes: Uint8Array, offset: number) => Promise<InflateStreamResult>;
31
78
  createInflateStream: () => TransformStream<Uint8Array, Uint8Array>;
@@ -150,6 +197,7 @@ declare class NodeFileSystem implements FileSystem {
150
197
  readSlice: (path: string, offset: number, length: number) => Promise<Uint8Array>;
151
198
  readUtf8: (path: string) => Promise<string>;
152
199
  write: (path: string, data: Uint8Array) => Promise<void>;
200
+ writeStream: (path: string, source: AsyncIterable<Uint8Array>) => Promise<void>;
153
201
  writeExclusive: (path: string, data: Uint8Array) => Promise<void>;
154
202
  writeUtf8: (path: string, content: string) => Promise<void>;
155
203
  appendUtf8: (path: string, content: string) => Promise<void>;
@@ -249,5 +297,5 @@ declare class NodeHttpTransport implements HttpTransport {
249
297
  request: (req: HttpRequest) => Promise<HttpResponse>;
250
298
  }
251
299
 
252
- export { NodeCompressor, NodeFileSystem, NodeHashService, NodeHookRunner, NodeHttpTransport, createNodeContext };
253
- export type { NodeAdapterOptions, NodeHttpTransportOptions };
300
+ export { NodeCommandRunner, NodeCompressor, NodeFileSystem, NodeHashService, NodeHookRunner, NodeHttpTransport, createNodeContext, realCommandRunnerOps };
301
+ export type { CommandRunnerOps, NodeAdapterOptions, NodeHttpTransportOptions };
@@ -1,9 +1,11 @@
1
- import { H as HttpTransport } from './http-transport--_NdQOiw.js';
1
+ import { b as HttpTransport } from './http-transport-DirKfK2S.js';
2
2
 
3
3
  interface HashConfig {
4
4
  readonly digestLength: 20 | 32;
5
5
  readonly hexLength: 40 | 64;
6
6
  }
7
+ declare const SHA1_CONFIG: HashConfig;
8
+ declare const SHA256_CONFIG: HashConfig;
7
9
 
8
10
  type ObjectId = string & {
9
11
  readonly __brand: unique symbol;
@@ -12,6 +14,13 @@ declare const ObjectId: {
12
14
  readonly from: (hex: string) => ObjectId;
13
15
  readonly fromRaw: (bytes: Uint8Array) => ObjectId;
14
16
  };
17
+ declare const ZERO_OID: ObjectId;
18
+ /**
19
+ * SHA-1 of the canonical empty tree object. Used by `merge` for unrelated-history
20
+ * three-way merges where the merge base is undefined — substituted as the
21
+ * "empty base" so mergeTrees produces the union of both sides.
22
+ */
23
+ declare const EMPTY_TREE_OID: ObjectId;
15
24
  type RefName = string & {
16
25
  readonly __brand: unique symbol;
17
26
  };
@@ -36,6 +45,55 @@ interface LruCache<V> {
36
45
  readonly entryCount: number;
37
46
  }
38
47
 
48
+ /**
49
+ * A single shell-command invocation. The port is stateless — every fact the
50
+ * adapter needs to run the command travels in this request.
51
+ */
52
+ interface CommandRequest {
53
+ /** Shell command line, executed through the platform shell (`sh -c` / `cmd /c`). */
54
+ readonly command: string;
55
+ /** Working directory for the spawned process. */
56
+ readonly cwd: string;
57
+ /** Environment additions merged onto the parent environment by the adapter. */
58
+ readonly env: Readonly<Record<string, string>>;
59
+ /** Cancels a running command — the adapter kills the child when it aborts. */
60
+ readonly signal?: AbortSignal;
61
+ /** Bytes fed to the child's stdin (clean/smudge input). When absent, stdin is not written. */
62
+ readonly stdin?: Uint8Array;
63
+ }
64
+ /**
65
+ * Outcome of a command. Two output conventions are carried by one port:
66
+ * - A merge driver communicates its result by overwriting its output file `%A`
67
+ * — only the exit code matters (`0` ⇒ success); `stdout` is ignored.
68
+ * - A textconv or clean/smudge filter driver communicates its result via stdout
69
+ * — the caller reads `result.stdout` for the transformed bytes.
70
+ */
71
+ interface CommandResult {
72
+ readonly exitCode: number;
73
+ /** Bytes captured from the child's stdout (textconv/filter output). Absent when not captured. */
74
+ readonly stdout?: Uint8Array;
75
+ }
76
+ /**
77
+ * Runs an arbitrary shell command line — the custom merge-driver / textconv /
78
+ * clean-smudge filter command. Optional on `Context`: when absent (browser /
79
+ * memory adapters cannot spawn a process), a configured external driver falls
80
+ * back to the built-in behaviour.
81
+ *
82
+ * NEVER rejects for a non-zero exit — interpreting the exit code is the
83
+ * caller's policy.
84
+ *
85
+ * Two output conventions coexist on this single port:
86
+ * - **Merge driver**: communicates via its `%A` output file; the caller
87
+ * ignores `result.stdout`. Pass no `stdin`; `stdout` will be absent.
88
+ * - **Textconv / filter driver**: communicates via stdout; the caller reads
89
+ * `result.stdout`. Pass `stdin` bytes when the driver reads from stdin
90
+ * (clean/smudge); omit `stdin` when the driver reads from a file argument
91
+ * (textconv).
92
+ */
93
+ interface CommandRunner {
94
+ readonly run: (request: CommandRequest) => Promise<CommandResult>;
95
+ }
96
+
39
97
  interface InflateStreamResult {
40
98
  /** The fully-inflated output bytes. */
41
99
  readonly output: Uint8Array;
@@ -43,8 +101,18 @@ interface InflateStreamResult {
43
101
  readonly bytesConsumed: number;
44
102
  }
45
103
  interface Compressor {
46
- /** Deflate (compress) data using zlib deflate format (RFC 1950). */
47
- readonly deflate: (data: Uint8Array) => Promise<Uint8Array>;
104
+ /**
105
+ * Deflate (compress) data using zlib deflate format (RFC 1950).
106
+ * `level` (when given and in zlib's -1..9 domain) tunes the compression
107
+ * level; adapters that cannot set a level accept and ignore it.
108
+ */
109
+ readonly deflate: (data: Uint8Array, level?: number) => Promise<Uint8Array>;
110
+ /**
111
+ * Raw DEFLATE (compress) using bare RFC 1951 bitstream — no zlib (RFC 1950)
112
+ * 2-byte header and no adler32 trailer. `level` semantics match `deflate`.
113
+ * Used by zip archive serializer (method 8). Additive — `deflate` unchanged.
114
+ */
115
+ readonly deflateRaw: (data: Uint8Array, level?: number) => Promise<Uint8Array>;
48
116
  /** Inflate (decompress) zlib-compressed data. */
49
117
  readonly inflate: (data: Uint8Array) => Promise<Uint8Array>;
50
118
  /**
@@ -66,6 +134,11 @@ interface Compressor {
66
134
  readonly createInflateStream: () => TransformStream<Uint8Array, Uint8Array>;
67
135
  }
68
136
 
137
+ interface EnvReader {
138
+ /** A single named environment variable's value, or `undefined` when unset. */
139
+ readonly get: (name: string) => string | undefined;
140
+ }
141
+
69
142
  /** Metadata returned by stat operations. */
70
143
  interface FileStat {
71
144
  readonly ctimeMs: number;
@@ -116,6 +189,8 @@ interface FileSystem {
116
189
  readonly readUtf8: (path: string) => Promise<string>;
117
190
  /** Write bytes to file, creating parent directories as needed. Overwrites if exists. */
118
191
  readonly write: (path: string, data: Uint8Array) => Promise<void>;
192
+ /** Stream bytes to file from an async source, creating parent directories as needed. Overwrites if exists. Writes bytes verbatim. */
193
+ readonly writeStream: (path: string, source: AsyncIterable<Uint8Array>) => Promise<void>;
119
194
  /**
120
195
  * Write bytes to file. Fails with FILE_EXISTS if the file already exists (exclusive create).
121
196
  *
@@ -244,7 +319,7 @@ interface HashService {
244
319
  * `HOOK_FAILED` command error reference it — a port may import domain, but
245
320
  * domain may never import a port.
246
321
  */
247
- type HookName = 'pre-commit' | 'commit-msg' | 'pre-push';
322
+ type HookName = 'pre-commit' | 'prepare-commit-msg' | 'commit-msg' | 'post-commit' | 'post-merge' | 'post-checkout' | 'pre-push' | 'pre-rebase' | 'post-rewrite';
248
323
 
249
324
  /**
250
325
  * A single hook invocation. The port is stateless — every fact the adapter
@@ -383,6 +458,14 @@ interface RepositoryLayout {
383
458
  readonly workDir: string;
384
459
  /** Absolute path to the.git directory (usually `${workDir}/.git`, but may differ for bare repos or worktrees). */
385
460
  readonly gitDir: string;
461
+ /**
462
+ * Absolute path to the shared **common** git dir — objects, `packed-refs`,
463
+ * `config`, and shared refs/reflogs. Absent for a normal repo or the main
464
+ * worktree (it equals `gitDir`); set only for a linked worktree, whose
465
+ * `gitDir` is its own admin dir while shared state lives here. Resolve via
466
+ * `commonGitDir(ctx)` rather than reading this field directly.
467
+ */
468
+ readonly commonDir?: string;
386
469
  /** Whether this is a bare repository. */
387
470
  readonly bare: boolean;
388
471
  /**
@@ -438,6 +521,14 @@ interface RepositoryConfig {
438
521
  */
439
522
  readonly maxObjectsPerPack?: number;
440
523
  readonly detectRenames?: boolean;
524
+ /**
525
+ * Programmatic facade defaults for whitespace-diff modes. These are NOT git's
526
+ * `.git/config` settings and NOT `core.whitespace` — they are library-tier
527
+ * defaults applied by the `diff` command when no per-call option overrides them.
528
+ */
529
+ readonly ignoreWhitespace?: 'all' | 'change' | 'at-eol';
530
+ readonly ignoreCrAtEol?: boolean;
531
+ readonly ignoreBlankLines?: boolean;
441
532
  readonly breakStaleLockMs?: number;
442
533
  readonly dnsResolver?: (host: string) => Promise<ReadonlyArray<string>>;
443
534
  /** Hard cap on `dnsResolver` return-array length to bound resolver-amplification DoS. Default 64. */
@@ -465,11 +556,31 @@ interface Context {
465
556
  readonly signal?: AbortSignal;
466
557
  /** Optional hook runner. Absent ⇒ hooks are inert (browser, or opted out). */
467
558
  readonly hooks?: HookRunner;
559
+ /**
560
+ * Optional shell-command runner. Absent ⇒ a configured external merge driver
561
+ * falls back to the built-in merge (browser / memory adapters cannot spawn a
562
+ * process).
563
+ */
564
+ readonly command?: CommandRunner;
565
+ /**
566
+ * Optional environment-variable reader. Absent ⇒ every variable is unset (browser /
567
+ * memory, where there is no process env). Notes-ref selection reads GIT_NOTES_REF through it.
568
+ */
569
+ readonly env?: EnvReader;
468
570
  /**
469
571
  * Optional promisor-remote capability. Populated by `openRepository`;
470
572
  * `readObject` consults it to lazy-fetch an object a partial clone omitted.
471
573
  */
472
574
  readonly promisor?: PromisorRemote;
575
+ /**
576
+ * Optional facade capability returning a `FileSystem` confined to one or more
577
+ * linked worktree paths AND the common dir (ADR-298). The worktree commands
578
+ * route worktree-directory I/O through it so worktrees outside `workDir` stay
579
+ * faithful without dropping containment (`move` passes both endpoints). Absent
580
+ * on sandboxed adapters (memory/browser), where worktrees are confined under
581
+ * the adapter root.
582
+ */
583
+ readonly worktreeFs?: (worktreePath: string | ReadonlyArray<string>) => FileSystem;
473
584
  }
474
585
  interface CreateContextParts {
475
586
  readonly fs: FileSystem;
@@ -485,9 +596,11 @@ interface CreateContextParts {
485
596
  readonly logger?: Logger;
486
597
  readonly signal?: AbortSignal;
487
598
  readonly hooks?: HookRunner;
599
+ readonly command?: CommandRunner;
600
+ readonly env?: EnvReader;
488
601
  }
489
602
  /** Assemble a frozen Context from its constituent ports + layout. */
490
603
  declare function createContext(parts: CreateContextParts): Context;
491
604
 
492
- export { ObjectId as O, FilePath as c, RefName as j, createContext as p, noopLogger as q, wrapLoggerSanitizer as w };
493
- export type { AuthStrategy as A, Compressor as C, DirEntry as D, FileSystem as F, HashService as H, InflateStreamResult as I, Logger as L, ProgressReporter as P, RepositoryConfig as R, HookRunner as a, Context as b, FileStat as d, FileHandle as e, Hasher as f, HookName as g, HookResult as h, HookRequest as i, AuthorIdentity as k, CreateContextParts as l, PromisorFetchOutcome as m, PromisorRemote as n, RepositoryLayout as o };
605
+ export { EMPTY_TREE_OID as E, FilePath as F, ObjectId as O, RefName as R, SHA1_CONFIG as S, ZERO_OID as Z, SHA256_CONFIG as r, createContext as s, noopLogger as t, wrapLoggerSanitizer as w };
606
+ export type { AuthStrategy as A, CommandRunner as C, DirEntry as D, HashConfig as H, InflateStreamResult as I, Logger as L, ProgressReporter as P, Compressor as a, AuthorIdentity as b, Context as c, CreateContextParts as d, EnvReader as e, FileStat as f, FileSystem as g, HashService as h, Hasher as i, HookName as j, HookRequest as k, HookResult as l, HookRunner as m, PromisorFetchOutcome as n, PromisorRemote as o, RepositoryConfig as p, RepositoryLayout as q, FileHandle as u, CommandRequest as v, CommandResult as x };
@@ -1,9 +1,11 @@
1
- import { H as HttpTransport } from './http-transport--_NdQOiw.cjs';
1
+ import { b as HttpTransport } from './http-transport-DirKfK2S.cjs';
2
2
 
3
3
  interface HashConfig {
4
4
  readonly digestLength: 20 | 32;
5
5
  readonly hexLength: 40 | 64;
6
6
  }
7
+ declare const SHA1_CONFIG: HashConfig;
8
+ declare const SHA256_CONFIG: HashConfig;
7
9
 
8
10
  type ObjectId = string & {
9
11
  readonly __brand: unique symbol;
@@ -12,6 +14,13 @@ declare const ObjectId: {
12
14
  readonly from: (hex: string) => ObjectId;
13
15
  readonly fromRaw: (bytes: Uint8Array) => ObjectId;
14
16
  };
17
+ declare const ZERO_OID: ObjectId;
18
+ /**
19
+ * SHA-1 of the canonical empty tree object. Used by `merge` for unrelated-history
20
+ * three-way merges where the merge base is undefined — substituted as the
21
+ * "empty base" so mergeTrees produces the union of both sides.
22
+ */
23
+ declare const EMPTY_TREE_OID: ObjectId;
15
24
  type RefName = string & {
16
25
  readonly __brand: unique symbol;
17
26
  };
@@ -36,6 +45,55 @@ interface LruCache<V> {
36
45
  readonly entryCount: number;
37
46
  }
38
47
 
48
+ /**
49
+ * A single shell-command invocation. The port is stateless — every fact the
50
+ * adapter needs to run the command travels in this request.
51
+ */
52
+ interface CommandRequest {
53
+ /** Shell command line, executed through the platform shell (`sh -c` / `cmd /c`). */
54
+ readonly command: string;
55
+ /** Working directory for the spawned process. */
56
+ readonly cwd: string;
57
+ /** Environment additions merged onto the parent environment by the adapter. */
58
+ readonly env: Readonly<Record<string, string>>;
59
+ /** Cancels a running command — the adapter kills the child when it aborts. */
60
+ readonly signal?: AbortSignal;
61
+ /** Bytes fed to the child's stdin (clean/smudge input). When absent, stdin is not written. */
62
+ readonly stdin?: Uint8Array;
63
+ }
64
+ /**
65
+ * Outcome of a command. Two output conventions are carried by one port:
66
+ * - A merge driver communicates its result by overwriting its output file `%A`
67
+ * — only the exit code matters (`0` ⇒ success); `stdout` is ignored.
68
+ * - A textconv or clean/smudge filter driver communicates its result via stdout
69
+ * — the caller reads `result.stdout` for the transformed bytes.
70
+ */
71
+ interface CommandResult {
72
+ readonly exitCode: number;
73
+ /** Bytes captured from the child's stdout (textconv/filter output). Absent when not captured. */
74
+ readonly stdout?: Uint8Array;
75
+ }
76
+ /**
77
+ * Runs an arbitrary shell command line — the custom merge-driver / textconv /
78
+ * clean-smudge filter command. Optional on `Context`: when absent (browser /
79
+ * memory adapters cannot spawn a process), a configured external driver falls
80
+ * back to the built-in behaviour.
81
+ *
82
+ * NEVER rejects for a non-zero exit — interpreting the exit code is the
83
+ * caller's policy.
84
+ *
85
+ * Two output conventions coexist on this single port:
86
+ * - **Merge driver**: communicates via its `%A` output file; the caller
87
+ * ignores `result.stdout`. Pass no `stdin`; `stdout` will be absent.
88
+ * - **Textconv / filter driver**: communicates via stdout; the caller reads
89
+ * `result.stdout`. Pass `stdin` bytes when the driver reads from stdin
90
+ * (clean/smudge); omit `stdin` when the driver reads from a file argument
91
+ * (textconv).
92
+ */
93
+ interface CommandRunner {
94
+ readonly run: (request: CommandRequest) => Promise<CommandResult>;
95
+ }
96
+
39
97
  interface InflateStreamResult {
40
98
  /** The fully-inflated output bytes. */
41
99
  readonly output: Uint8Array;
@@ -43,8 +101,18 @@ interface InflateStreamResult {
43
101
  readonly bytesConsumed: number;
44
102
  }
45
103
  interface Compressor {
46
- /** Deflate (compress) data using zlib deflate format (RFC 1950). */
47
- readonly deflate: (data: Uint8Array) => Promise<Uint8Array>;
104
+ /**
105
+ * Deflate (compress) data using zlib deflate format (RFC 1950).
106
+ * `level` (when given and in zlib's -1..9 domain) tunes the compression
107
+ * level; adapters that cannot set a level accept and ignore it.
108
+ */
109
+ readonly deflate: (data: Uint8Array, level?: number) => Promise<Uint8Array>;
110
+ /**
111
+ * Raw DEFLATE (compress) using bare RFC 1951 bitstream — no zlib (RFC 1950)
112
+ * 2-byte header and no adler32 trailer. `level` semantics match `deflate`.
113
+ * Used by zip archive serializer (method 8). Additive — `deflate` unchanged.
114
+ */
115
+ readonly deflateRaw: (data: Uint8Array, level?: number) => Promise<Uint8Array>;
48
116
  /** Inflate (decompress) zlib-compressed data. */
49
117
  readonly inflate: (data: Uint8Array) => Promise<Uint8Array>;
50
118
  /**
@@ -66,6 +134,11 @@ interface Compressor {
66
134
  readonly createInflateStream: () => TransformStream<Uint8Array, Uint8Array>;
67
135
  }
68
136
 
137
+ interface EnvReader {
138
+ /** A single named environment variable's value, or `undefined` when unset. */
139
+ readonly get: (name: string) => string | undefined;
140
+ }
141
+
69
142
  /** Metadata returned by stat operations. */
70
143
  interface FileStat {
71
144
  readonly ctimeMs: number;
@@ -116,6 +189,8 @@ interface FileSystem {
116
189
  readonly readUtf8: (path: string) => Promise<string>;
117
190
  /** Write bytes to file, creating parent directories as needed. Overwrites if exists. */
118
191
  readonly write: (path: string, data: Uint8Array) => Promise<void>;
192
+ /** Stream bytes to file from an async source, creating parent directories as needed. Overwrites if exists. Writes bytes verbatim. */
193
+ readonly writeStream: (path: string, source: AsyncIterable<Uint8Array>) => Promise<void>;
119
194
  /**
120
195
  * Write bytes to file. Fails with FILE_EXISTS if the file already exists (exclusive create).
121
196
  *
@@ -244,7 +319,7 @@ interface HashService {
244
319
  * `HOOK_FAILED` command error reference it — a port may import domain, but
245
320
  * domain may never import a port.
246
321
  */
247
- type HookName = 'pre-commit' | 'commit-msg' | 'pre-push';
322
+ type HookName = 'pre-commit' | 'prepare-commit-msg' | 'commit-msg' | 'post-commit' | 'post-merge' | 'post-checkout' | 'pre-push' | 'pre-rebase' | 'post-rewrite';
248
323
 
249
324
  /**
250
325
  * A single hook invocation. The port is stateless — every fact the adapter
@@ -383,6 +458,14 @@ interface RepositoryLayout {
383
458
  readonly workDir: string;
384
459
  /** Absolute path to the.git directory (usually `${workDir}/.git`, but may differ for bare repos or worktrees). */
385
460
  readonly gitDir: string;
461
+ /**
462
+ * Absolute path to the shared **common** git dir — objects, `packed-refs`,
463
+ * `config`, and shared refs/reflogs. Absent for a normal repo or the main
464
+ * worktree (it equals `gitDir`); set only for a linked worktree, whose
465
+ * `gitDir` is its own admin dir while shared state lives here. Resolve via
466
+ * `commonGitDir(ctx)` rather than reading this field directly.
467
+ */
468
+ readonly commonDir?: string;
386
469
  /** Whether this is a bare repository. */
387
470
  readonly bare: boolean;
388
471
  /**
@@ -438,6 +521,14 @@ interface RepositoryConfig {
438
521
  */
439
522
  readonly maxObjectsPerPack?: number;
440
523
  readonly detectRenames?: boolean;
524
+ /**
525
+ * Programmatic facade defaults for whitespace-diff modes. These are NOT git's
526
+ * `.git/config` settings and NOT `core.whitespace` — they are library-tier
527
+ * defaults applied by the `diff` command when no per-call option overrides them.
528
+ */
529
+ readonly ignoreWhitespace?: 'all' | 'change' | 'at-eol';
530
+ readonly ignoreCrAtEol?: boolean;
531
+ readonly ignoreBlankLines?: boolean;
441
532
  readonly breakStaleLockMs?: number;
442
533
  readonly dnsResolver?: (host: string) => Promise<ReadonlyArray<string>>;
443
534
  /** Hard cap on `dnsResolver` return-array length to bound resolver-amplification DoS. Default 64. */
@@ -465,11 +556,31 @@ interface Context {
465
556
  readonly signal?: AbortSignal;
466
557
  /** Optional hook runner. Absent ⇒ hooks are inert (browser, or opted out). */
467
558
  readonly hooks?: HookRunner;
559
+ /**
560
+ * Optional shell-command runner. Absent ⇒ a configured external merge driver
561
+ * falls back to the built-in merge (browser / memory adapters cannot spawn a
562
+ * process).
563
+ */
564
+ readonly command?: CommandRunner;
565
+ /**
566
+ * Optional environment-variable reader. Absent ⇒ every variable is unset (browser /
567
+ * memory, where there is no process env). Notes-ref selection reads GIT_NOTES_REF through it.
568
+ */
569
+ readonly env?: EnvReader;
468
570
  /**
469
571
  * Optional promisor-remote capability. Populated by `openRepository`;
470
572
  * `readObject` consults it to lazy-fetch an object a partial clone omitted.
471
573
  */
472
574
  readonly promisor?: PromisorRemote;
575
+ /**
576
+ * Optional facade capability returning a `FileSystem` confined to one or more
577
+ * linked worktree paths AND the common dir (ADR-298). The worktree commands
578
+ * route worktree-directory I/O through it so worktrees outside `workDir` stay
579
+ * faithful without dropping containment (`move` passes both endpoints). Absent
580
+ * on sandboxed adapters (memory/browser), where worktrees are confined under
581
+ * the adapter root.
582
+ */
583
+ readonly worktreeFs?: (worktreePath: string | ReadonlyArray<string>) => FileSystem;
473
584
  }
474
585
  interface CreateContextParts {
475
586
  readonly fs: FileSystem;
@@ -485,9 +596,11 @@ interface CreateContextParts {
485
596
  readonly logger?: Logger;
486
597
  readonly signal?: AbortSignal;
487
598
  readonly hooks?: HookRunner;
599
+ readonly command?: CommandRunner;
600
+ readonly env?: EnvReader;
488
601
  }
489
602
  /** Assemble a frozen Context from its constituent ports + layout. */
490
603
  declare function createContext(parts: CreateContextParts): Context;
491
604
 
492
- export { ObjectId as O, FilePath as c, RefName as j, createContext as p, noopLogger as q, wrapLoggerSanitizer as w };
493
- export type { AuthStrategy as A, Compressor as C, DirEntry as D, FileSystem as F, HashService as H, InflateStreamResult as I, Logger as L, ProgressReporter as P, RepositoryConfig as R, HookRunner as a, Context as b, FileStat as d, FileHandle as e, Hasher as f, HookName as g, HookResult as h, HookRequest as i, AuthorIdentity as k, CreateContextParts as l, PromisorFetchOutcome as m, PromisorRemote as n, RepositoryLayout as o };
605
+ export { EMPTY_TREE_OID as E, FilePath as F, ObjectId as O, RefName as R, SHA1_CONFIG as S, ZERO_OID as Z, SHA256_CONFIG as r, createContext as s, noopLogger as t, wrapLoggerSanitizer as w };
606
+ export type { AuthStrategy as A, CommandRunner as C, DirEntry as D, HashConfig as H, InflateStreamResult as I, Logger as L, ProgressReporter as P, Compressor as a, AuthorIdentity as b, Context as c, CreateContextParts as d, EnvReader as e, FileStat as f, FileSystem as g, HashService as h, Hasher as i, HookName as j, HookRequest as k, HookResult as l, HookRunner as m, PromisorFetchOutcome as n, PromisorRemote as o, RepositoryConfig as p, RepositoryLayout as q, FileHandle as u, CommandRequest as v, CommandResult as x };
@@ -17,4 +17,4 @@ interface HttpTransport {
17
17
  readonly request: (req: HttpRequest) => Promise<HttpResponse>;
18
18
  }
19
19
 
20
- export type { HttpTransport as H, HttpRequest as a, HttpResponse as b };
20
+ export type { HttpRequest as H, HttpResponse as a, HttpTransport as b };
@@ -17,4 +17,4 @@ interface HttpTransport {
17
17
  readonly request: (req: HttpRequest) => Promise<HttpResponse>;
18
18
  }
19
19
 
20
- export type { HttpTransport as H, HttpRequest as a, HttpResponse as b };
20
+ export type { HttpRequest as H, HttpResponse as a, HttpTransport as b };