@lannguyensi/harness 0.41.0 → 0.42.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 (103) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +9 -0
  3. package/dist/cli/adopt/derive.d.ts +15 -0
  4. package/dist/cli/adopt/derive.js +34 -7
  5. package/dist/cli/adopt/derive.js.map +1 -1
  6. package/dist/cli/adopt/index.d.ts +30 -0
  7. package/dist/cli/adopt/index.js +23 -3
  8. package/dist/cli/adopt/index.js.map +1 -1
  9. package/dist/cli/apply/generate-settings.d.ts +14 -1
  10. package/dist/cli/apply/generate-settings.js +7 -3
  11. package/dist/cli/apply/generate-settings.js.map +1 -1
  12. package/dist/cli/approve/stdin-report.js +2 -0
  13. package/dist/cli/approve/stdin-report.js.map +1 -1
  14. package/dist/cli/doctor/claude-mcp.d.ts +50 -0
  15. package/dist/cli/doctor/claude-mcp.js +170 -0
  16. package/dist/cli/doctor/claude-mcp.js.map +1 -0
  17. package/dist/cli/doctor/format.js +37 -0
  18. package/dist/cli/doctor/format.js.map +1 -1
  19. package/dist/cli/doctor/index.d.ts +10 -0
  20. package/dist/cli/doctor/index.js +24 -0
  21. package/dist/cli/doctor/index.js.map +1 -1
  22. package/dist/cli/doctor/npm-bin-path.js +42 -0
  23. package/dist/cli/doctor/npm-bin-path.js.map +1 -1
  24. package/dist/cli/doctor/types.d.ts +11 -0
  25. package/dist/cli/doctor/types.js.map +1 -1
  26. package/dist/cli/index.js +253 -5
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/init/agent-tasks-auth.js +32 -0
  29. package/dist/cli/init/agent-tasks-auth.js.map +1 -1
  30. package/dist/cli/init/composer.js +3 -9
  31. package/dist/cli/init/composer.js.map +1 -1
  32. package/dist/cli/init/dependencies.js +21 -0
  33. package/dist/cli/init/dependencies.js.map +1 -1
  34. package/dist/cli/init/detect.d.ts +20 -3
  35. package/dist/cli/init/detect.js +34 -36
  36. package/dist/cli/init/detect.js.map +1 -1
  37. package/dist/cli/init/interactive.d.ts +33 -0
  38. package/dist/cli/init/interactive.js +399 -5
  39. package/dist/cli/init/interactive.js.map +1 -1
  40. package/dist/cli/init/profiles.d.ts +1 -1
  41. package/dist/cli/init/profiles.js +1 -1
  42. package/dist/cli/init/templates.d.ts +1 -1
  43. package/dist/cli/init/templates.js +64 -5
  44. package/dist/cli/init/templates.js.map +1 -1
  45. package/dist/cli/main.js +10 -0
  46. package/dist/cli/main.js.map +1 -1
  47. package/dist/cli/pack/hook-post-merge-gate-record.d.ts +30 -0
  48. package/dist/cli/pack/hook-post-merge-gate-record.js +153 -0
  49. package/dist/cli/pack/hook-post-merge-gate-record.js.map +1 -0
  50. package/dist/cli/pack/hook-post-merge-gate.d.ts +28 -0
  51. package/dist/cli/pack/hook-post-merge-gate.js +244 -0
  52. package/dist/cli/pack/hook-post-merge-gate.js.map +1 -0
  53. package/dist/cli/pack/hook-solution-acceptance-writeguard.js +148 -2
  54. package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +1 -1
  55. package/dist/cli/pack/understanding-report-schema-hint.js +1 -1
  56. package/dist/cli/pack/understanding-report-schema-hint.js.map +1 -1
  57. package/dist/cli/record/index.d.ts +64 -0
  58. package/dist/cli/record/index.js +211 -0
  59. package/dist/cli/record/index.js.map +1 -0
  60. package/dist/cli/session-start/index.d.ts +7 -0
  61. package/dist/cli/session-start/index.js +133 -38
  62. package/dist/cli/session-start/index.js.map +1 -1
  63. package/dist/cli/session-start/toolchain-parity.d.ts +149 -0
  64. package/dist/cli/session-start/toolchain-parity.js +618 -0
  65. package/dist/cli/session-start/toolchain-parity.js.map +1 -0
  66. package/dist/cli/uninstall/index.d.ts +73 -1
  67. package/dist/cli/uninstall/index.js +134 -2
  68. package/dist/cli/uninstall/index.js.map +1 -1
  69. package/dist/io/claude-mcp.d.ts +258 -0
  70. package/dist/io/claude-mcp.js +544 -0
  71. package/dist/io/claude-mcp.js.map +1 -0
  72. package/dist/policies/ledger-client.d.ts +34 -1
  73. package/dist/policies/ledger-client.js +21 -16
  74. package/dist/policies/ledger-client.js.map +1 -1
  75. package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +195 -0
  76. package/dist/policy-packs/builtin/post-merge-gate-runtime.js +290 -0
  77. package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +1 -0
  78. package/dist/policy-packs/builtin/post-merge-gate.d.ts +56 -0
  79. package/dist/policy-packs/builtin/post-merge-gate.js +291 -0
  80. package/dist/policy-packs/builtin/post-merge-gate.js.map +1 -0
  81. package/dist/policy-packs/builtin/solution-acceptance-runtime.js +28 -13
  82. package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +1 -1
  83. package/dist/policy-packs/registry.d.ts +1 -1
  84. package/dist/policy-packs/registry.js +12 -0
  85. package/dist/policy-packs/registry.js.map +1 -1
  86. package/dist/runtime/git-context.d.ts +50 -0
  87. package/dist/runtime/git-context.js +108 -1
  88. package/dist/runtime/git-context.js.map +1 -1
  89. package/dist/runtime/hermetic-spawn-guard.d.ts +25 -0
  90. package/dist/runtime/hermetic-spawn-guard.js +136 -0
  91. package/dist/runtime/hermetic-spawn-guard.js.map +1 -0
  92. package/dist/runtime/ledger-writer.d.ts +27 -0
  93. package/dist/runtime/ledger-writer.js +46 -0
  94. package/dist/runtime/ledger-writer.js.map +1 -0
  95. package/dist/runtime/read-only-bash.js +118 -0
  96. package/dist/runtime/read-only-bash.js.map +1 -1
  97. package/dist/schema/index.d.ts +41 -0
  98. package/dist/schema/index.js +5 -0
  99. package/dist/schema/index.js.map +1 -1
  100. package/dist/schema/toolchain-parity.d.ts +18 -0
  101. package/dist/schema/toolchain-parity.js +35 -0
  102. package/dist/schema/toolchain-parity.js.map +1 -0
  103. package/package.json +4 -2
@@ -173,13 +173,13 @@ function startSubprocess(opts) {
173
173
  child.once("close", done);
174
174
  child.once("error", done);
175
175
  });
176
- function timeoutPromise() {
176
+ function timeoutPromise(ms) {
177
177
  let timer;
178
178
  const promise = new Promise((resolve) => {
179
179
  timer = setTimeout(() => {
180
180
  timers.delete(timer);
181
181
  resolve("timeout");
182
- }, timeoutMs);
182
+ }, ms);
183
183
  timer.unref();
184
184
  timers.add(timer);
185
185
  });
@@ -198,8 +198,8 @@ function startSubprocess(opts) {
198
198
  }
199
199
  });
200
200
  }
201
- async function call(id, method, params) {
202
- const timeout = timeoutPromise();
201
+ async function call(id, method, params, timeoutMsOverride) {
202
+ const timeout = timeoutPromise(timeoutMsOverride ?? timeoutMs);
203
203
  try {
204
204
  return await Promise.race([
205
205
  send(id, method, params),
@@ -332,6 +332,12 @@ export function openLedgerSession(opts) {
332
332
  // giving up on a server that already blew one deadline is the intended
333
333
  // fail-open direction, not a new failure mode.
334
334
  let timedOut = false;
335
+ // The budget actually in effect when the latch tripped (task
336
+ // 2026-07-18 subprocess-test-deflake, T-003): the session default
337
+ // unless a per-call `timeoutMs` override was the one that timed out.
338
+ // Tracked separately so `latchedReason()` reports the real number
339
+ // instead of always the session default.
340
+ let timedOutAtMs = timeoutMs;
335
341
  let nextId = 1;
336
342
  function ensureStarted() {
337
343
  if (ctl !== null || startFailure !== null)
@@ -360,6 +366,7 @@ export function openLedgerSession(opts) {
360
366
  return `grounding-mcp ${exitDiagnostic(c)}`;
361
367
  if (initResult === "timeout") {
362
368
  timedOut = true;
369
+ timedOutAtMs = timeoutMs;
363
370
  return `grounding-mcp timeout after ${timeoutMs}ms`;
364
371
  }
365
372
  if (initResult.error) {
@@ -370,7 +377,7 @@ export function openLedgerSession(opts) {
370
377
  })();
371
378
  return initPromise;
372
379
  }
373
- const latchedReason = () => `grounding-mcp timed out earlier in this session (${timeoutMs}ms); skipping further ledger calls`;
380
+ const latchedReason = () => `grounding-mcp timed out earlier in this session (${timedOutAtMs}ms); skipping further ledger calls`;
374
381
  return {
375
382
  async querySummary(query) {
376
383
  if (timedOut)
@@ -397,10 +404,8 @@ export function openLedgerSession(opts) {
397
404
  supportedArgs.has("contentPrefix")) {
398
405
  callArgs.contentPrefix = query.contentPrefix;
399
406
  }
400
- const callResult = await c.call(nextId++, "tools/call", {
401
- name: "ledger_summary",
402
- arguments: callArgs,
403
- });
407
+ const effectiveTimeoutMs = query.timeoutMs ?? timeoutMs;
408
+ const callResult = await c.call(nextId++, "tools/call", { name: "ledger_summary", arguments: callArgs }, effectiveTimeoutMs);
404
409
  if (callResult === "exit") {
405
410
  return {
406
411
  kind: "degraded",
@@ -409,9 +414,10 @@ export function openLedgerSession(opts) {
409
414
  }
410
415
  if (callResult === "timeout") {
411
416
  timedOut = true;
417
+ timedOutAtMs = effectiveTimeoutMs;
412
418
  return {
413
419
  kind: "degraded",
414
- reason: `grounding-mcp timeout after ${timeoutMs}ms`,
420
+ reason: `grounding-mcp timeout after ${effectiveTimeoutMs}ms`,
415
421
  };
416
422
  }
417
423
  if (callResult.error) {
@@ -436,25 +442,24 @@ export function openLedgerSession(opts) {
436
442
  }
437
443
  return { kind: "ok", entries };
438
444
  },
439
- async callTool(name, args) {
445
+ async callTool(name, args, options) {
440
446
  if (timedOut)
441
447
  return { status: "degraded", reason: latchedReason() };
442
448
  const initError = await ensureInitialized();
443
449
  if (initError !== null)
444
450
  return { status: "degraded", reason: initError };
445
451
  const c = ctl;
446
- const result = await c.call(nextId++, "tools/call", {
447
- name,
448
- arguments: args,
449
- });
452
+ const effectiveTimeoutMs = options?.timeoutMs ?? timeoutMs;
453
+ const result = await c.call(nextId++, "tools/call", { name, arguments: args }, effectiveTimeoutMs);
450
454
  if (result === "exit") {
451
455
  return { status: "degraded", reason: `grounding-mcp ${exitDiagnostic(c)}` };
452
456
  }
453
457
  if (result === "timeout") {
454
458
  timedOut = true;
459
+ timedOutAtMs = effectiveTimeoutMs;
455
460
  return {
456
461
  status: "degraded",
457
- reason: `grounding-mcp timeout after ${timeoutMs}ms`,
462
+ reason: `grounding-mcp timeout after ${effectiveTimeoutMs}ms`,
458
463
  };
459
464
  }
460
465
  if (result.error) {
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-client.js","sourceRoot":"","sources":["../../src/policies/ledger-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger-client.js","sourceRoot":"","sources":["../../src/policies/ledger-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ export declare const PACK_NAME = "post-merge-gate";
2
+ /**
3
+ * Content prefix the producer writes and the blocker substring-matches.
4
+ * The full recorded content is
5
+ * `${MERGED_TAG_PREFIX}:${repo}:${branch}:${sha}[ pr:<n>] at:<iso>`; the
6
+ * blocker only ever tests for the `${MERGED_TAG_PREFIX}:${repo}:${branch}:
7
+ * ${sha}` prefix (an exact 40-hex-char sha), so the trailing `pr:` / `at:`
8
+ * tokens are audit decoration, not part of the match key.
9
+ */
10
+ export declare const MERGED_TAG_PREFIX = "post-merge-gate:merged";
11
+ /** The exact substring the blocker tests ledger entries for. */
12
+ export declare function mergedTagMatchKey(repo: string, branch: string, sha: string): string;
13
+ /** Build the full fact content the producer writes (match key + audit decoration). */
14
+ export declare function buildMergedTagContent(args: {
15
+ repo: string;
16
+ branch: string;
17
+ sha: string;
18
+ pr: string | null;
19
+ whenIso: string;
20
+ }): string;
21
+ /**
22
+ * Producer trigger: does this Bash command look like a `gh pr merge`
23
+ * invocation? Same anchoring convention as `DEFAULT_PUSH_BASH_RE`
24
+ * (solution-acceptance-runtime.ts): tolerates a leading `cd … &&`, inline
25
+ * `VAR=val` assignments, and chaining. Known gap, same class as that
26
+ * regex's own documented residual: a heredoc / `sh -c` / `eval`
27
+ * indirection defeats this match before the producer ever runs — not
28
+ * attempted to close here (the MCP merge path, `pull_requests_merge`, is
29
+ * the other documented gap; see the pack's instructions.md).
30
+ */
31
+ export declare const GH_PR_MERGE_BASH_RE: RegExp;
32
+ /**
33
+ * Blocker deny-scope v1 (03-decisions.md): the curated mutation command
34
+ * list. Deliberately NOT "every Bash command" — read-only git
35
+ * (status/log/diff/branch) and unrelated shell stay unaffected. Same
36
+ * anchoring convention as `GH_PR_MERGE_BASH_RE`.
37
+ */
38
+ export declare const CURATED_MUTATION_BASH_RE: RegExp;
39
+ /**
40
+ * Escape allowlist, git verbs (03-decisions.md): the exact recovery path
41
+ * the deny message recommends, plus read-only stash inspection. Checked
42
+ * BEFORE the curated-mutation match and before any manifest/ledger access
43
+ * — see hook-post-merge-gate.ts for the ordering guarantee.
44
+ */
45
+ export declare const ESCAPE_GIT_BASH_RE: RegExp;
46
+ /**
47
+ * Escape allowlist, harness verbs (03-decisions.md): any invocation of
48
+ * harness's own CLI (recovery commands like `harness session-start
49
+ * branch-check`, diagnostics, a future self-check) always passes,
50
+ * regardless of spelling — mirrors the `npx` / absolute-path /
51
+ * `./node_modules/.bin` robustness the `deny-kill-switch-bash` regex in
52
+ * `src/cli/init/templates.ts` already established for the same class of
53
+ * bypass concern.
54
+ */
55
+ export declare const ESCAPE_HARNESS_BASH_RE: RegExp;
56
+ /** True when `command` matches any escape pattern. Checked first, unconditionally. */
57
+ export declare function isEscapeCommand(command: string): boolean;
58
+ /** True when `command` matches the curated v1 deny-scope. */
59
+ export declare function isCuratedMutationCommand(command: string): boolean;
60
+ /**
61
+ * Defensive `tool_output.exit_code` reader for the PostToolUse Bash
62
+ * payload — Contract A. Returns `null` on ANY shape other than a plain
63
+ * finite number — missing field, a differently-named variant, a string,
64
+ * etc. — so the producer's "no fact on anything but a confirmed success"
65
+ * rule (03-decisions.md) degrades to "no fact" rather than guessing.
66
+ *
67
+ * PAYLOAD REALITY (2026-07, follow-up to 03-decisions.md): live
68
+ * verification against a real Claude Code 2.1.218 native install (a
69
+ * `claude -p --settings` dump-hook capture, 19/19 fired events) found NO
70
+ * `tool_output` field at all — the field is `tool_response`, shaped
71
+ * `{ stdout, stderr, interrupted, isImage, noOutputExpected }` with no
72
+ * exit-code equivalent (see `tests/fixtures/post-merge-gate/
73
+ * real-posttooluse-payload-2.1.218.json`, a verbatim capture). The
74
+ * `tool_output.stdout/stderr/exit_code` shape this function reads
75
+ * evidently describes a DIFFERENT — newer, or differently-shimmed —
76
+ * Claude Code contract than 2.1.218's, not a documentation error to
77
+ * "fix" here: Contract A is left exactly as it was (any install that
78
+ * DOES send `tool_output.exit_code` still works unchanged), and Contract
79
+ * B below is the fallback that makes the producer fire on 2.1.218 at
80
+ * all. See `resolveMergeConfirmation`.
81
+ */
82
+ export declare function extractExitCode(toolOutput: unknown): number | null;
83
+ /** Best-effort PR number extraction from a `gh pr merge` command string. */
84
+ export declare function extractPrNumber(command: string): string | null;
85
+ /**
86
+ * Contract B success-text matcher (2.1.218 payload-reality follow-up).
87
+ * `gh pr merge`'s own past-tense confirmation sentence, verbatim across
88
+ * all three merge methods.
89
+ *
90
+ * SOURCE (verified against the installed `gh` binary, v2.94.0,
91
+ * `pkg/cmd/pr/merge/merge.go` lines 369-376): the success line is built
92
+ * as `infof("%s %s pull request %s#%d (%s)", icon, action,
93
+ * ghrepo.FullName(baseRepo), pr.Number, pr.Title)` — i.e. the repo
94
+ * FULLNAME sits directly between "pull request" and the bare `#<n>`,
95
+ * GLUED to the `#` with no space (`%s#%d`, not `%s #%d`):
96
+ *
97
+ * ✓ Squashed and merged pull request owner/repo#65 (Some title)
98
+ * ✓ Rebased and merged pull request owner/repo#65 (Some title)
99
+ * ✓ Merged pull request owner/repo#65 (Some title)
100
+ *
101
+ * `infof` writes to `gh`'s STDERR (the informational-message channel,
102
+ * distinct from `gh`'s own stdout, which is reserved for machine-
103
+ * consumable output) — another reason this matcher tests the CONCATENATED
104
+ * `stdout`+`stderr`, not stdout alone. `icon` is a bare `✓` (or `!` for
105
+ * warnings) with no ANSI color codes when `gh` detects a non-TTY output
106
+ * stream, which a hook-captured Bash hijacks it into.
107
+ *
108
+ * `[^\s#]*` between "pull request" and `#` accepts BOTH that real
109
+ * `owner/repo#<n>` shape AND a bare `#<n>` (no fullname) — the latter is
110
+ * not `gh`'s actual current wording but is accepted defensively as a
111
+ * documentation-shape / future-`gh`-version tolerance, at zero matching-
112
+ * surface cost (repo fullnames never contain whitespace or `#`, so the
113
+ * character class cannot itself widen what counts as a match beyond
114
+ * "some non-space run immediately before the PR number").
115
+ *
116
+ * Still deliberately narrow overall (conservative — false negatives are
117
+ * the safe direction here, false positives are not):
118
+ * - exact past-tense phrase, not a bare "merged" substring — excludes
119
+ * `gh pr merge --auto`'s pending text (real wording, same source
120
+ * file: "Pull request owner/repo#65 will be automatically merged via
121
+ * squash when all requirements are met" — capitalized standalone
122
+ * "Pull request", no "Squashed/Rebased and merged" or standalone
123
+ * "Merged" immediately precedes it), and excludes the already-merged
124
+ * warning (real wording: "Pull request owner/repo#65 was already
125
+ * merged" — word order is reversed: "Pull request ... was already
126
+ * merged", not "Merged pull request ...").
127
+ * - case-sensitive, matching gh's own capitalization exactly (no `/i`)
128
+ * — narrower matching surface, same conservative direction.
129
+ * - `\b` word boundaries on both ends so a partial-word coincidence
130
+ * (e.g. a hypothetical "ReMerged") cannot match.
131
+ *
132
+ * KNOWN GAP (documented, not attempted to close here): this is coupled
133
+ * to `gh`'s current wording. A future `gh` release that rephrases its
134
+ * success sentence makes this matcher — and therefore the whole
135
+ * Contract-B path — silently, fail-safely inert (no fact written, same
136
+ * as any other unmatched shape; never a false "merged" record). See the
137
+ * pack's instructions.md / docs/policy-packs/post-merge-gate.md "Known
138
+ * gaps" for the operator-facing verification path.
139
+ */
140
+ export declare const GH_MERGE_SUCCESS_RE: RegExp;
141
+ export type GhMergeSuccessMatch = {
142
+ matched: true;
143
+ pr: string | null;
144
+ } | {
145
+ matched: false;
146
+ };
147
+ /**
148
+ * Contract B confirmation: does `toolResponse` carry a real Claude Code
149
+ * 2.1.218-shaped Bash result (`{ stdout, stderr, interrupted, ... }`)
150
+ * whose `stdout`+`stderr` contain a `gh pr merge` success sentence?
151
+ *
152
+ * `interrupted` must be the LITERAL boolean `false` — missing, `true`,
153
+ * or any other value all fail closed (no match), the same fail-safe
154
+ * direction as Contract A's exit_code check. `stdout`/`stderr` default
155
+ * to `""` when absent or non-string (never throws), and are joined with
156
+ * a newline before matching so a phrase cannot accidentally form by
157
+ * concatenating the tail of one stream with the head of the other.
158
+ */
159
+ export declare function matchGhMergeSuccessText(toolResponse: unknown): GhMergeSuccessMatch;
160
+ export interface MergeConfirmation {
161
+ confirmed: boolean;
162
+ /** Which contract produced the verdict; "none" when `confirmed` is false. */
163
+ contract: "exit_code" | "gh_success_text" | "none";
164
+ /** Resolved PR number (command-first; text-fallback only for gh_success_text), or null. */
165
+ pr: string | null;
166
+ /** Human-readable reason, always populated (feeds the producer's stderr diagnostic). */
167
+ reason: string;
168
+ }
169
+ /**
170
+ * Dual-contract merge confirmation (2.1.218 payload-reality follow-up).
171
+ * Tries Contract A (`tool_output.exit_code`, unchanged) first; falls
172
+ * back to Contract B (`tool_response` + a matching `gh` success
173
+ * sentence) only when Contract A yields no verdict at all.
174
+ *
175
+ * BINDING ordering decision — Contract A wins whenever it resolves to
176
+ * ANY definite verdict, success OR failure: a well-formed, non-zero
177
+ * `exit_code` is Contract A's own explicit failure signal and short-
178
+ * circuits WITHOUT consulting Contract B, so a coincidental gh success
179
+ * phrase sitting in a sibling `tool_response` field (the hypothetical
180
+ * "both present" shape) can never override an authoritative failure.
181
+ * Contract B is consulted only when `exit_code` is entirely unresolvable
182
+ * (`extractExitCode` returns `null` — missing field, wrong shape, or the
183
+ * field genuinely absent as on 2.1.218).
184
+ */
185
+ export declare function resolveMergeConfirmation(toolOutput: unknown, toolResponse: unknown, command: string): MergeConfirmation;
186
+ /**
187
+ * Best-effort default-branch name for the deny message's `git switch
188
+ * <default>` line. Offline, reusing the same `origin/HEAD` resolution
189
+ * `harness record review --base` uses (now shared via
190
+ * `runtime/git-context.ts`, see that module's header). Returns `null`
191
+ * when `cwd` is not in a git work tree, or the repo has no resolvable
192
+ * `origin/HEAD` (e.g. no remote) — the caller falls back to a generic
193
+ * placeholder in that case; this is advisory text, never a gate input.
194
+ */
195
+ export declare function resolveDefaultBranchName(cwd: string): string | null;