@tokenfactory/acc-runner 0.27.0 → 0.27.1
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.
- package/dist/anthropic-auth.d.ts +53 -0
- package/dist/anthropic-auth.d.ts.map +1 -0
- package/dist/anthropic-auth.js +89 -0
- package/dist/anthropic-auth.js.map +1 -0
- package/dist/bin-resolve.d.ts +16 -0
- package/dist/bin-resolve.d.ts.map +1 -0
- package/dist/bin-resolve.js +35 -0
- package/dist/bin-resolve.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +128 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +121 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +396 -0
- package/dist/config.js.map +1 -0
- package/dist/cost-pricing.d.ts +130 -0
- package/dist/cost-pricing.d.ts.map +1 -0
- package/dist/cost-pricing.js +191 -0
- package/dist/cost-pricing.js.map +1 -0
- package/dist/doctor.d.ts +49 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +776 -0
- package/dist/doctor.js.map +1 -0
- package/dist/failure-classifier.d.ts +112 -0
- package/dist/failure-classifier.d.ts.map +1 -0
- package/dist/failure-classifier.js +353 -0
- package/dist/failure-classifier.js.map +1 -0
- package/dist/gh.d.ts +22 -0
- package/dist/gh.d.ts.map +1 -0
- package/dist/gh.js +48 -0
- package/dist/gh.js.map +1 -0
- package/dist/git.d.ts +50 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +127 -0
- package/dist/git.js.map +1 -0
- package/dist/github-client.d.ts +133 -0
- package/dist/github-client.d.ts.map +1 -0
- package/dist/github-client.js +234 -0
- package/dist/github-client.js.map +1 -0
- package/dist/keychain.d.ts +21 -0
- package/dist/keychain.d.ts.map +1 -0
- package/dist/keychain.js +45 -0
- package/dist/keychain.js.map +1 -0
- package/dist/login.d.ts +12 -0
- package/dist/login.d.ts.map +1 -0
- package/dist/login.js +133 -0
- package/dist/login.js.map +1 -0
- package/dist/logout.d.ts +2 -0
- package/dist/logout.d.ts.map +1 -0
- package/dist/logout.js +31 -0
- package/dist/logout.js.map +1 -0
- package/dist/mcp-spawn.d.ts +30 -0
- package/dist/mcp-spawn.d.ts.map +1 -0
- package/dist/mcp-spawn.js +145 -0
- package/dist/mcp-spawn.js.map +1 -0
- package/dist/messaging.d.ts +49 -0
- package/dist/messaging.d.ts.map +1 -0
- package/dist/messaging.js +36 -0
- package/dist/messaging.js.map +1 -0
- package/dist/pkg-version.d.ts +3 -0
- package/dist/pkg-version.d.ts.map +1 -0
- package/dist/pkg-version.js +20 -0
- package/dist/pkg-version.js.map +1 -0
- package/dist/profiles/designer-prompt.d.ts +18 -0
- package/dist/profiles/designer-prompt.d.ts.map +1 -0
- package/dist/profiles/designer-prompt.js +172 -0
- package/dist/profiles/designer-prompt.js.map +1 -0
- package/dist/profiles/developer-prompt.d.ts +24 -0
- package/dist/profiles/developer-prompt.d.ts.map +1 -0
- package/dist/profiles/developer-prompt.js +24 -0
- package/dist/profiles/developer-prompt.js.map +1 -0
- package/dist/profiles/manager-prompt.d.ts +34 -0
- package/dist/profiles/manager-prompt.d.ts.map +1 -0
- package/dist/profiles/manager-prompt.js +93 -0
- package/dist/profiles/manager-prompt.js.map +1 -0
- package/dist/profiles/tester-prompt.d.ts +28 -0
- package/dist/profiles/tester-prompt.d.ts.map +1 -0
- package/dist/profiles/tester-prompt.js +165 -0
- package/dist/profiles/tester-prompt.js.map +1 -0
- package/dist/prompt.d.ts +38 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +78 -0
- package/dist/prompt.js.map +1 -0
- package/dist/runtime/cache-dir.d.ts +10 -0
- package/dist/runtime/cache-dir.d.ts.map +1 -0
- package/dist/runtime/cache-dir.js +42 -0
- package/dist/runtime/cache-dir.js.map +1 -0
- package/dist/runtime/conflict-resolver.d.ts +65 -0
- package/dist/runtime/conflict-resolver.d.ts.map +1 -0
- package/dist/runtime/conflict-resolver.js +477 -0
- package/dist/runtime/conflict-resolver.js.map +1 -0
- package/dist/runtime/expand-args.d.ts +28 -0
- package/dist/runtime/expand-args.d.ts.map +1 -0
- package/dist/runtime/expand-args.js +50 -0
- package/dist/runtime/expand-args.js.map +1 -0
- package/dist/runtime/locks.d.ts +21 -0
- package/dist/runtime/locks.d.ts.map +1 -0
- package/dist/runtime/locks.js +103 -0
- package/dist/runtime/locks.js.map +1 -0
- package/dist/runtime/provision-mutex.d.ts +37 -0
- package/dist/runtime/provision-mutex.d.ts.map +1 -0
- package/dist/runtime/provision-mutex.js +67 -0
- package/dist/runtime/provision-mutex.js.map +1 -0
- package/dist/runtime/quarantine.d.ts +30 -0
- package/dist/runtime/quarantine.d.ts.map +1 -0
- package/dist/runtime/quarantine.js +53 -0
- package/dist/runtime/quarantine.js.map +1 -0
- package/dist/runtime/resolution-integrity.d.ts +86 -0
- package/dist/runtime/resolution-integrity.d.ts.map +1 -0
- package/dist/runtime/resolution-integrity.js +248 -0
- package/dist/runtime/resolution-integrity.js.map +1 -0
- package/dist/runtime/reviewer.d.ts +81 -0
- package/dist/runtime/reviewer.d.ts.map +1 -0
- package/dist/runtime/reviewer.js +374 -0
- package/dist/runtime/reviewer.js.map +1 -0
- package/dist/runtime/rework.d.ts +48 -0
- package/dist/runtime/rework.d.ts.map +1 -0
- package/dist/runtime/rework.js +136 -0
- package/dist/runtime/rework.js.map +1 -0
- package/dist/runtime/singleton.d.ts +66 -0
- package/dist/runtime/singleton.d.ts.map +1 -0
- package/dist/runtime/singleton.js +227 -0
- package/dist/runtime/singleton.js.map +1 -0
- package/dist/runtime/version-drift.d.ts +31 -0
- package/dist/runtime/version-drift.d.ts.map +1 -0
- package/dist/runtime/version-drift.js +114 -0
- package/dist/runtime/version-drift.js.map +1 -0
- package/dist/runtime/worktree.d.ts +74 -0
- package/dist/runtime/worktree.d.ts.map +1 -0
- package/dist/runtime/worktree.js +211 -0
- package/dist/runtime/worktree.js.map +1 -0
- package/dist/secrets/inject.d.ts +70 -0
- package/dist/secrets/inject.d.ts.map +1 -0
- package/dist/secrets/inject.js +102 -0
- package/dist/secrets/inject.js.map +1 -0
- package/dist/supabase.d.ts +4 -0
- package/dist/supabase.d.ts.map +1 -0
- package/dist/supabase.js +36 -0
- package/dist/supabase.js.map +1 -0
- package/dist/task-runner.d.ts +313 -0
- package/dist/task-runner.d.ts.map +1 -0
- package/dist/task-runner.js +1766 -0
- package/dist/task-runner.js.map +1 -0
- package/dist/token-provider.d.ts +50 -0
- package/dist/token-provider.d.ts.map +1 -0
- package/dist/token-provider.js +177 -0
- package/dist/token-provider.js.map +1 -0
- package/dist/types.d.ts +120 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/dist/version-check.d.ts +17 -0
- package/dist/version-check.d.ts.map +1 -0
- package/dist/version-check.js +56 -0
- package/dist/version-check.js.map +1 -0
- package/dist/watch.d.ts +296 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +1570 -0
- package/dist/watch.js.map +1 -0
- package/package.json +1 -1
package/dist/prompt.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* renderTaskPrompt — duplicated slim copy of src/lib/promptTemplate.ts.
|
|
3
|
+
*
|
|
4
|
+
* Adds the two RUNNER_PROTOCOL §3.2 mandatory header lines (Branch + PR
|
|
5
|
+
* title + base branch) so the agent emits a PR ACC can match by webhook.
|
|
6
|
+
*
|
|
7
|
+
* v0.3 dedupes via a shared workspace package; for now we keep the small
|
|
8
|
+
* function here so the CLI stays a single-package install.
|
|
9
|
+
*/
|
|
10
|
+
function slug(title) {
|
|
11
|
+
return title
|
|
12
|
+
.toLowerCase()
|
|
13
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
14
|
+
.replace(/^-+|-+$/g, "")
|
|
15
|
+
.slice(0, 40) || "task";
|
|
16
|
+
}
|
|
17
|
+
export function branchForTask(taskId, title, branch) {
|
|
18
|
+
if (branch && branch.trim())
|
|
19
|
+
return branch.trim();
|
|
20
|
+
return `acc/${taskId}-${slug(title)}`;
|
|
21
|
+
}
|
|
22
|
+
export function prTitleForTask(taskId, title) {
|
|
23
|
+
return `[${taskId}] ${title}`;
|
|
24
|
+
}
|
|
25
|
+
export function renderTaskPrompt(input) {
|
|
26
|
+
const { task, agent, model } = input;
|
|
27
|
+
const integrationBranch = input.integrationBranch ?? "acc/integration";
|
|
28
|
+
const targetRepo = input.targetRepo ?? "tokenfactory-pvt-ltd/TechArch";
|
|
29
|
+
const branch = branchForTask(task.id, task.title, task.branch);
|
|
30
|
+
const prTitle = prTitleForTask(task.id, task.title);
|
|
31
|
+
const lines = [];
|
|
32
|
+
// Mandatory protocol header — RUNNER_PROTOCOL §3.2.
|
|
33
|
+
lines.push(`**Branch:** ${branch}`);
|
|
34
|
+
lines.push(`**PR title:** ${prTitle}`);
|
|
35
|
+
lines.push(`**Open the PR against:** ${integrationBranch} on ${targetRepo}.`);
|
|
36
|
+
lines.push("");
|
|
37
|
+
lines.push(`# Task ${task.id}: ${task.title}`);
|
|
38
|
+
lines.push("");
|
|
39
|
+
if (agent?.name || model?.name) {
|
|
40
|
+
lines.push(`You are ${agent?.name ?? "an AI agent"}. You will be running this task on ${model?.name ?? "a model"}.`);
|
|
41
|
+
lines.push("");
|
|
42
|
+
}
|
|
43
|
+
if (task.description) {
|
|
44
|
+
lines.push("## Description");
|
|
45
|
+
lines.push(task.description);
|
|
46
|
+
lines.push("");
|
|
47
|
+
}
|
|
48
|
+
lines.push("## Allowed file scope");
|
|
49
|
+
lines.push(...(task.allowed.length ? task.allowed.map((f) => `- ${f}`) : ["- (no scope restrictions)"]));
|
|
50
|
+
lines.push("");
|
|
51
|
+
lines.push("## Forbidden files (DO NOT TOUCH)");
|
|
52
|
+
lines.push(...(task.forbidden.length ? task.forbidden.map((f) => `- ${f}`) : ["- (none)"]));
|
|
53
|
+
lines.push("");
|
|
54
|
+
if (input.contracts?.length) {
|
|
55
|
+
lines.push("## Contracts in force");
|
|
56
|
+
lines.push(...input.contracts.map((c) => `- ${c.name}${c.version ? ` ${c.version}` : ""}${c.status ? ` (${c.status})` : ""}`));
|
|
57
|
+
lines.push("");
|
|
58
|
+
}
|
|
59
|
+
lines.push("## Acceptance criteria");
|
|
60
|
+
lines.push(...(task.acceptance.length ? task.acceptance.map((a) => `- ${a}`) : ["- (none)"]));
|
|
61
|
+
lines.push("");
|
|
62
|
+
lines.push("## Required report format (PR body)");
|
|
63
|
+
lines.push("- Summary (3 sentences)");
|
|
64
|
+
lines.push("- Files changed (path, +added/-removed)");
|
|
65
|
+
lines.push("- Implemented");
|
|
66
|
+
lines.push("- Not implemented");
|
|
67
|
+
lines.push("- Risks");
|
|
68
|
+
lines.push("- Follow-ups");
|
|
69
|
+
lines.push("- Verification (typecheck/lint/build/test/manual)");
|
|
70
|
+
lines.push("");
|
|
71
|
+
if (task.typecheck_cmd) {
|
|
72
|
+
lines.push("## Typecheck");
|
|
73
|
+
lines.push(`Run \`${task.typecheck_cmd}\` after edits and include the result in the report.`);
|
|
74
|
+
lines.push("");
|
|
75
|
+
}
|
|
76
|
+
return lines.join("\n");
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The filesystem-safe slug that namespaces the default cache root. Returns
|
|
3
|
+
* the sanitised ACC_RUNNER_ID when set, else "" (no namespacing). A minted
|
|
4
|
+
* acc-eph id is never read here — only the operator/orchestrator-assigned
|
|
5
|
+
* ACC_RUNNER_ID namespaces the cache, so an un-identified desktop runner
|
|
6
|
+
* stays on the historic shared default.
|
|
7
|
+
*/
|
|
8
|
+
export declare function cacheNamespace(env?: NodeJS.ProcessEnv): string;
|
|
9
|
+
export declare function cacheDir(): string;
|
|
10
|
+
//# sourceMappingURL=cache-dir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-dir.d.ts","sourceRoot":"","sources":["../../src/runtime/cache-dir.ts"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM3E;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAMjC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v0.14.0 (T-54-2): single source of truth for the runner cache root.
|
|
3
|
+
*
|
|
4
|
+
* `quarantine.ts` already honoured ACC_RUNNER_CACHE_DIR inline; the
|
|
5
|
+
* singleton-lock and last-task-env modules added in this release reuse the
|
|
6
|
+
* same resolution so tests can point all cache state at a tmpdir with one
|
|
7
|
+
* env var. Defaults to ~/.cache/acc-runner (unchanged from prior releases).
|
|
8
|
+
*
|
|
9
|
+
* v1.02-A: when ACC_RUNNER_CACHE_DIR is NOT set but ACC_RUNNER_ID is, the
|
|
10
|
+
* default root is namespaced per identity (`~/.cache/acc-runner/runners/<id>`)
|
|
11
|
+
* so two distinct runner identities on one host get fully isolated locks,
|
|
12
|
+
* worktrees, quarantine state, and singleton lock WITHOUT the operator having
|
|
13
|
+
* to hand-assign a distinct ACC_RUNNER_CACHE_DIR to each. An explicit
|
|
14
|
+
* ACC_RUNNER_CACHE_DIR still wins verbatim (operator owns isolation), and a
|
|
15
|
+
* runner with no ACC_RUNNER_ID keeps the bare `~/.cache/acc-runner` default.
|
|
16
|
+
*/
|
|
17
|
+
import os from "node:os";
|
|
18
|
+
import path from "node:path";
|
|
19
|
+
/**
|
|
20
|
+
* The filesystem-safe slug that namespaces the default cache root. Returns
|
|
21
|
+
* the sanitised ACC_RUNNER_ID when set, else "" (no namespacing). A minted
|
|
22
|
+
* acc-eph id is never read here — only the operator/orchestrator-assigned
|
|
23
|
+
* ACC_RUNNER_ID namespaces the cache, so an un-identified desktop runner
|
|
24
|
+
* stays on the historic shared default.
|
|
25
|
+
*/
|
|
26
|
+
export function cacheNamespace(env = process.env) {
|
|
27
|
+
const id = env.ACC_RUNNER_ID?.trim();
|
|
28
|
+
if (!id)
|
|
29
|
+
return "";
|
|
30
|
+
// Keep the id readable on disk but strip anything that could escape the
|
|
31
|
+
// directory or trip a shell (/, .., spaces, etc.).
|
|
32
|
+
return id.replace(/[^A-Za-z0-9._-]/g, "_");
|
|
33
|
+
}
|
|
34
|
+
export function cacheDir() {
|
|
35
|
+
const override = process.env.ACC_RUNNER_CACHE_DIR?.trim();
|
|
36
|
+
if (override)
|
|
37
|
+
return override;
|
|
38
|
+
const base = path.join(os.homedir(), ".cache", "acc-runner");
|
|
39
|
+
const ns = cacheNamespace();
|
|
40
|
+
return ns ? path.join(base, "runners", ns) : base;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=cache-dir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-dir.js","sourceRoot":"","sources":["../../src/runtime/cache-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB,OAAO,CAAC,GAAG;IACjE,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,wEAAwE;IACxE,mDAAmD;IACnD,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { RunnerSupabaseClient } from "../supabase.js";
|
|
2
|
+
export interface ConflictMeta {
|
|
3
|
+
pr_number: number;
|
|
4
|
+
repo: string;
|
|
5
|
+
head_ref: string;
|
|
6
|
+
base_ref: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ConflictResolutionOutcome {
|
|
9
|
+
action: "resolved" | "unresolvable" | "policy_disabled" | "escalated";
|
|
10
|
+
reason?: string;
|
|
11
|
+
files_resolved?: string[];
|
|
12
|
+
files_skipped?: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface ConflictResolutionDeps {
|
|
15
|
+
supabase: RunnerSupabaseClient;
|
|
16
|
+
/** Override for tests — defaults to using gh CLI. */
|
|
17
|
+
ghApi?: <T>(endpoint: string, opts?: GhApiOptions) => Promise<T>;
|
|
18
|
+
/** Override for tests — defaults to querying acc.tasks directly. */
|
|
19
|
+
countPriorAttempts?: (prNumber: number) => Promise<number>;
|
|
20
|
+
/** Override for tests — defaults to org_settings query. */
|
|
21
|
+
loadConflictPolicy?: () => Promise<{
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
export interface GhApiOptions {
|
|
26
|
+
method?: "GET" | "PUT" | "POST";
|
|
27
|
+
fields?: Record<string, string>;
|
|
28
|
+
jq?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const MAX_CONFLICT_ATTEMPTS = 3;
|
|
31
|
+
export type FileClass = "vercel.json" | "planning" | "current-cycle" | "min-version" | "package-version";
|
|
32
|
+
/**
|
|
33
|
+
* Extract conflict metadata from the task description.
|
|
34
|
+
* Sweep C embeds: <!-- acc-conflict: {"pr_number":N,"repo":"owner/repo","head_ref":"...","base_ref":"..."} -->
|
|
35
|
+
*
|
|
36
|
+
* Fallback: accept a plain JSON description (used in tests and by early
|
|
37
|
+
* versions of Sweep C that didn't wrap in an HTML comment).
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseConflictMeta(description: string | null | undefined, fallback?: {
|
|
40
|
+
pr_number?: number | null;
|
|
41
|
+
repo?: string | null;
|
|
42
|
+
integration_branch?: string | null;
|
|
43
|
+
}): ConflictMeta | null;
|
|
44
|
+
export declare function classifyFile(filename: string): FileClass | null;
|
|
45
|
+
export declare function hasConflictMarkers(...sides: string[]): boolean;
|
|
46
|
+
export declare function mergeVercelCrons(baseStr: string, headStr: string): string | null;
|
|
47
|
+
export declare function resolvePlanning(base: string | null, head: string | null): {
|
|
48
|
+
write: boolean;
|
|
49
|
+
content: string;
|
|
50
|
+
} | null;
|
|
51
|
+
export declare function mergeCurrentCycle(baseStr: string, headStr: string): string | null;
|
|
52
|
+
export declare function mergeMinVersion(baseStr: string, headStr: string): string | null;
|
|
53
|
+
export declare function mergePackageVersion(baseStr: string, headStr: string): string | null;
|
|
54
|
+
declare function defaultGhApi<T>(endpoint: string, opts?: GhApiOptions): Promise<T>;
|
|
55
|
+
/** Two-call base∩head intersection: files changed on BOTH sides since the merge base. */
|
|
56
|
+
export declare function computeConflictSet(repo: string, baseRef: string, headRef: string, ghApi: typeof defaultGhApi): Promise<string[]>;
|
|
57
|
+
/**
|
|
58
|
+
* Attempt to resolve conflicts for the PR referenced in `meta`.
|
|
59
|
+
*
|
|
60
|
+
* Returns a structured outcome that task-runner.ts uses to decide the
|
|
61
|
+
* final task transition (done / failed / escalated).
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveConflict(meta: ConflictMeta, deps: ConflictResolutionDeps): Promise<ConflictResolutionOutcome>;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=conflict-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflict-resolver.d.ts","sourceRoot":"","sources":["../../src/runtime/conflict-resolver.ts"],"names":[],"mappings":"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"}
|