toolcraft 0.0.23 → 0.0.24
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/README.md +2 -2
- package/dist/cli.compile-check.js +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +50 -13
- package/dist/error-report.js +32 -3
- package/dist/human-in-loop/approval-tasks.d.ts +1 -0
- package/dist/human-in-loop/approval-tasks.js +7 -5
- package/dist/human-in-loop/approvals-commands.js +51 -8
- package/dist/human-in-loop/runner.js +24 -19
- package/dist/human-in-loop/state-machine.d.ts +3 -3
- package/dist/human-in-loop/state-machine.js +13 -5
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -1
- package/dist/mcp-proxy.js +85 -19
- package/dist/mcp.compile-check.js +1 -0
- package/dist/mcp.d.ts +1 -0
- package/dist/mcp.js +50 -8
- package/dist/renderer.js +119 -13
- package/dist/sdk.compile-check.js +1 -0
- package/dist/sdk.d.ts +1 -0
- package/dist/sdk.js +56 -11
- package/node_modules/@poe-code/agent-defs/dist/registry.d.ts +1 -1
- package/node_modules/@poe-code/agent-defs/dist/registry.js +22 -11
- package/node_modules/@poe-code/agent-defs/package.json +1 -1
- package/node_modules/@poe-code/agent-human-in-loop/dist/providers/osascript-script.js +5 -1
- package/node_modules/@poe-code/agent-human-in-loop/dist/providers/osascript.js +1 -1
- package/node_modules/@poe-code/agent-human-in-loop/package.json +1 -1
- package/node_modules/@poe-code/agent-mcp-config/dist/apply.d.ts +1 -1
- package/node_modules/@poe-code/agent-mcp-config/dist/apply.js +41 -92
- package/node_modules/@poe-code/agent-mcp-config/dist/configs.js +4 -1
- package/node_modules/@poe-code/agent-mcp-config/dist/shapes.d.ts +14 -2
- package/node_modules/@poe-code/agent-mcp-config/dist/shapes.js +11 -4
- package/node_modules/@poe-code/agent-mcp-config/package.json +1 -1
- package/node_modules/@poe-code/config-mutations/dist/execution/apply-mutation.js +200 -22
- package/node_modules/@poe-code/config-mutations/dist/execution/path-utils.js +7 -1
- package/node_modules/@poe-code/config-mutations/dist/formats/index.js +1 -1
- package/node_modules/@poe-code/config-mutations/dist/formats/json.js +11 -7
- package/node_modules/@poe-code/config-mutations/dist/formats/object.d.ts +4 -0
- package/node_modules/@poe-code/config-mutations/dist/formats/object.js +27 -0
- package/node_modules/@poe-code/config-mutations/dist/formats/toml.js +12 -9
- package/node_modules/@poe-code/config-mutations/dist/formats/yaml.js +12 -9
- package/node_modules/@poe-code/config-mutations/dist/mutations/file-mutation.d.ts +11 -1
- package/node_modules/@poe-code/config-mutations/dist/mutations/file-mutation.js +10 -1
- package/node_modules/@poe-code/config-mutations/dist/testing/mock-fs.js +25 -1
- package/node_modules/@poe-code/config-mutations/dist/types.d.ts +12 -2
- package/node_modules/@poe-code/config-mutations/package.json +1 -1
- package/node_modules/@poe-code/design-system/dist/acp/components.js +3 -1
- package/node_modules/@poe-code/design-system/dist/components/browser.d.ts +1 -1
- package/node_modules/@poe-code/design-system/dist/components/browser.js +6 -1
- package/node_modules/@poe-code/design-system/dist/components/color.js +9 -8
- package/node_modules/@poe-code/design-system/dist/components/command-errors.js +3 -2
- package/node_modules/@poe-code/design-system/dist/components/detail-card.d.ts +22 -0
- package/node_modules/@poe-code/design-system/dist/components/detail-card.js +69 -0
- package/node_modules/@poe-code/design-system/dist/components/help-formatter.js +88 -11
- package/node_modules/@poe-code/design-system/dist/components/index.d.ts +1 -1
- package/node_modules/@poe-code/design-system/dist/components/index.js +1 -1
- package/node_modules/@poe-code/design-system/dist/components/table.d.ts +2 -0
- package/node_modules/@poe-code/design-system/dist/components/table.js +82 -5
- package/node_modules/@poe-code/design-system/dist/components/template.d.ts +4 -0
- package/node_modules/@poe-code/design-system/dist/components/template.js +198 -32
- package/node_modules/@poe-code/design-system/dist/components/text.js +29 -5
- package/node_modules/@poe-code/design-system/dist/dashboard/ansi.d.ts +2 -2
- package/node_modules/@poe-code/design-system/dist/dashboard/ansi.js +77 -32
- package/node_modules/@poe-code/design-system/dist/dashboard/buffer.js +28 -5
- package/node_modules/@poe-code/design-system/dist/dashboard/components/output-pane.js +45 -28
- package/node_modules/@poe-code/design-system/dist/dashboard/terminal-width.d.ts +4 -0
- package/node_modules/@poe-code/design-system/dist/dashboard/terminal-width.js +71 -0
- package/node_modules/@poe-code/design-system/dist/dashboard/types.d.ts +1 -0
- package/node_modules/@poe-code/design-system/dist/explorer/events.d.ts +6 -0
- package/node_modules/@poe-code/design-system/dist/explorer/reducer.js +32 -10
- package/node_modules/@poe-code/design-system/dist/explorer/render/detail.js +3 -0
- package/node_modules/@poe-code/design-system/dist/explorer/runtime.js +57 -6
- package/node_modules/@poe-code/design-system/dist/explorer/state.d.ts +1 -0
- package/node_modules/@poe-code/design-system/dist/explorer/state.js +12 -15
- package/node_modules/@poe-code/design-system/dist/index.d.ts +3 -1
- package/node_modules/@poe-code/design-system/dist/index.js +2 -1
- package/node_modules/@poe-code/design-system/dist/prompts/primitives/intro.js +2 -1
- package/node_modules/@poe-code/design-system/dist/prompts/primitives/log.js +8 -5
- package/node_modules/@poe-code/design-system/dist/prompts/primitives/note.js +1 -1
- package/node_modules/@poe-code/design-system/dist/static/menu.js +8 -2
- package/node_modules/@poe-code/design-system/dist/static/spinner.js +10 -4
- package/node_modules/@poe-code/design-system/dist/terminal-markdown/parser/frontmatter.js +9 -2
- package/node_modules/@poe-code/design-system/dist/terminal-markdown/renderer.js +19 -2
- package/node_modules/@poe-code/design-system/package.json +2 -1
- package/node_modules/@poe-code/process-runner/dist/docker/docker-execution-env.js +244 -110
- package/node_modules/@poe-code/process-runner/dist/docker/docker-runner.js +16 -4
- package/node_modules/@poe-code/process-runner/dist/host/host-execution-env.js +3 -2
- package/node_modules/@poe-code/process-runner/dist/host/host-runner.js +16 -1
- package/node_modules/@poe-code/process-runner/dist/index.d.ts +1 -0
- package/node_modules/@poe-code/process-runner/dist/index.js +1 -0
- package/node_modules/@poe-code/process-runner/dist/testing/mock-runner.js +30 -8
- package/node_modules/@poe-code/process-runner/dist/types.d.ts +3 -0
- package/node_modules/@poe-code/process-runner/dist/workspace-transfer.d.ts +57 -0
- package/node_modules/@poe-code/process-runner/dist/workspace-transfer.js +484 -0
- package/node_modules/@poe-code/process-runner/package.json +1 -1
- package/node_modules/@poe-code/task-list/README.md +0 -2
- package/node_modules/@poe-code/task-list/dist/backends/gh-issues-client.js +3 -0
- package/node_modules/@poe-code/task-list/dist/backends/gh-issues-sync.js +89 -59
- package/node_modules/@poe-code/task-list/dist/backends/gh-issues.d.ts +9 -3
- package/node_modules/@poe-code/task-list/dist/backends/gh-issues.js +460 -99
- package/node_modules/@poe-code/task-list/dist/backends/markdown-dir.js +156 -154
- package/node_modules/@poe-code/task-list/dist/backends/utils.d.ts +2 -0
- package/node_modules/@poe-code/task-list/dist/backends/utils.js +79 -0
- package/node_modules/@poe-code/task-list/dist/backends/yaml-file.js +120 -132
- package/node_modules/@poe-code/task-list/dist/index.d.ts +3 -1
- package/node_modules/@poe-code/task-list/dist/index.js +2 -0
- package/node_modules/@poe-code/task-list/dist/move.d.ts +2 -0
- package/node_modules/@poe-code/task-list/dist/move.js +215 -0
- package/node_modules/@poe-code/task-list/dist/open.js +3 -4
- package/node_modules/@poe-code/task-list/dist/state-machine.js +3 -1
- package/node_modules/@poe-code/task-list/dist/state.js +9 -0
- package/node_modules/@poe-code/task-list/dist/types.d.ts +48 -13
- package/node_modules/@poe-code/task-list/package.json +1 -2
- package/node_modules/auth-store/dist/create-secret-store.js +4 -1
- package/node_modules/auth-store/dist/encrypted-file-store.d.ts +7 -0
- package/node_modules/auth-store/dist/encrypted-file-store.js +69 -7
- package/node_modules/auth-store/dist/index.d.ts +1 -1
- package/node_modules/auth-store/dist/keychain-store.d.ts +4 -1
- package/node_modules/auth-store/dist/keychain-store.js +18 -16
- package/node_modules/auth-store/dist/provider-store.d.ts +5 -1
- package/node_modules/auth-store/dist/provider-store.js +55 -7
- package/node_modules/auth-store/dist/types.d.ts +3 -1
- package/node_modules/auth-store/package.json +2 -1
- package/node_modules/mcp-oauth/dist/client/default-oauth-client-provider.js +46 -15
- package/node_modules/mcp-oauth/dist/client/loopback-authorization.js +49 -12
- package/node_modules/mcp-oauth/dist/client/token-endpoint.js +6 -1
- package/node_modules/mcp-oauth/dist/server/jwks-token-verifier.js +1 -1
- package/node_modules/mcp-oauth/package.json +1 -0
- package/node_modules/tiny-mcp-client/.turbo/turbo-build.log +1 -1
- package/node_modules/tiny-mcp-client/dist/internal.d.ts +8 -4
- package/node_modules/tiny-mcp-client/dist/internal.js +237 -67
- package/node_modules/tiny-mcp-client/dist/oauth-discovery.d.ts +1 -1
- package/node_modules/tiny-mcp-client/dist/oauth-discovery.js +4 -7
- package/node_modules/tiny-mcp-client/package.json +2 -1
- package/node_modules/tiny-mcp-client/src/http-oauth.integration.test.ts +1 -1
- package/node_modules/tiny-mcp-client/src/http-oauth.test.ts +46 -0
- package/node_modules/tiny-mcp-client/src/internal.ts +279 -77
- package/node_modules/tiny-mcp-client/src/mcp-client-tiny-stdio-test-server-tools.test.ts +1 -1
- package/node_modules/tiny-mcp-client/src/oauth-discovery.ts +5 -10
- package/node_modules/tiny-mcp-client/src/transports.test.ts +588 -6
- package/package.json +10 -12
- package/node_modules/@poe-code/file-lock/README.md +0 -52
- package/node_modules/@poe-code/file-lock/dist/index.d.ts +0 -1
- package/node_modules/@poe-code/file-lock/dist/index.js +0 -1
- package/node_modules/@poe-code/file-lock/dist/lock.d.ts +0 -27
- package/node_modules/@poe-code/file-lock/dist/lock.js +0 -203
- package/node_modules/@poe-code/file-lock/package.json +0 -23
|
@@ -31,12 +31,13 @@ export const hostExecutionEnvFactory = {
|
|
|
31
31
|
return createHostRunner().exec({
|
|
32
32
|
command: shellSpec?.command ?? openSpec.env.SHELL ?? process.env.SHELL ?? "sh",
|
|
33
33
|
...(shellSpec?.args ? { args: shellSpec.args } : {}),
|
|
34
|
-
cwd: openSpec.cwd,
|
|
34
|
+
cwd: shellSpec?.cwd ?? openSpec.cwd,
|
|
35
35
|
env: shellSpec && "env" in shellSpec ? shellSpec.env : openSpec.env,
|
|
36
36
|
stdin: "inherit",
|
|
37
37
|
stdout: "inherit",
|
|
38
38
|
stderr: "inherit",
|
|
39
|
-
tty: true
|
|
39
|
+
tty: true,
|
|
40
|
+
signal: shellSpec?.signal
|
|
40
41
|
});
|
|
41
42
|
},
|
|
42
43
|
async close() { }
|
|
@@ -4,6 +4,16 @@ export function createHostRunner(options = {}) {
|
|
|
4
4
|
return {
|
|
5
5
|
name: "host",
|
|
6
6
|
exec(spec) {
|
|
7
|
+
if (spec.signal?.aborted === true) {
|
|
8
|
+
return {
|
|
9
|
+
pid: null,
|
|
10
|
+
stdin: null,
|
|
11
|
+
stdout: null,
|
|
12
|
+
stderr: null,
|
|
13
|
+
result: Promise.resolve({ exitCode: 1 }),
|
|
14
|
+
kill() { }
|
|
15
|
+
};
|
|
16
|
+
}
|
|
7
17
|
const stdinMode = spec.stdin ?? "ignore";
|
|
8
18
|
const stdoutMode = spec.stdout ?? "pipe";
|
|
9
19
|
const stderrMode = spec.stderr ?? "pipe";
|
|
@@ -32,7 +42,12 @@ export function createHostRunner(options = {}) {
|
|
|
32
42
|
resolveResult = resolve;
|
|
33
43
|
});
|
|
34
44
|
const cleanupAbort = bindAbortSignal(spec.signal, () => {
|
|
35
|
-
|
|
45
|
+
try {
|
|
46
|
+
kill("SIGTERM");
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
36
51
|
});
|
|
37
52
|
child.once("close", (code) => {
|
|
38
53
|
if (settled)
|
|
@@ -5,4 +5,5 @@ export { buildDockerRuntimeTemplate, dockerExecutionEnvFactory } from "./docker/
|
|
|
5
5
|
export { hostExecutionEnvFactory } from "./host/host-execution-env.js";
|
|
6
6
|
export { createHostRunner } from "./host/host-runner.js";
|
|
7
7
|
export { createMockRunner, createMockRunnerByCommand } from "./testing/index.js";
|
|
8
|
+
export { downloadWorkspace, uploadWorkspace, type WorkspaceDownloadOptions, type WorkspaceTransferDirent, type WorkspaceTransferEnv, type WorkspaceTransferFileSystem, type WorkspaceTransferOptions, type WorkspaceTransferRunnerOptions, type WorkspaceTransferStats } from "./workspace-transfer.js";
|
|
8
9
|
export type { DownloadResult, DockerMount, DockerPortMapping, DockerRunArgs, DockerRunnerOptions, Engine, ExecutionState, ExecutionEnvFactory, ExecutionEnvType, HostRunnerOptions, JobHandle, JobStatus, LogChunk, MockRunBehavior, OpenedEnv, OpenSpec, RunHandle, RunResult, Runner, RunSpec, TemplateEntry, UploadResult } from "./types.js";
|
|
@@ -5,3 +5,4 @@ export { buildDockerRuntimeTemplate, dockerExecutionEnvFactory } from "./docker/
|
|
|
5
5
|
export { hostExecutionEnvFactory } from "./host/host-execution-env.js";
|
|
6
6
|
export { createHostRunner } from "./host/host-runner.js";
|
|
7
7
|
export { createMockRunner, createMockRunnerByCommand } from "./testing/index.js";
|
|
8
|
+
export { downloadWorkspace, uploadWorkspace } from "./workspace-transfer.js";
|
|
@@ -16,7 +16,9 @@ export function createMockRunnerByCommand(behaviorsByCommand) {
|
|
|
16
16
|
return {
|
|
17
17
|
name: "mock",
|
|
18
18
|
exec(spec) {
|
|
19
|
-
const behavior = behaviorsByCommand
|
|
19
|
+
const behavior = Object.prototype.hasOwnProperty.call(behaviorsByCommand, spec.command)
|
|
20
|
+
? behaviorsByCommand[spec.command]
|
|
21
|
+
: undefined;
|
|
20
22
|
if (behavior === undefined) {
|
|
21
23
|
throw new Error(`No mock run behavior found for command "${spec.command}"`);
|
|
22
24
|
}
|
|
@@ -29,12 +31,19 @@ function createRunHandle(spec, behavior) {
|
|
|
29
31
|
const stderrMode = spec.stderr ?? "pipe";
|
|
30
32
|
const stdinMode = spec.stdin ?? "ignore";
|
|
31
33
|
const interval = behavior.stdoutInterval ?? 10;
|
|
34
|
+
if (behavior.exitAfterMs !== undefined && (!Number.isFinite(behavior.exitAfterMs) || behavior.exitAfterMs < 0)) {
|
|
35
|
+
throw new Error("Mock run exitAfterMs must be a finite non-negative number.");
|
|
36
|
+
}
|
|
32
37
|
const stdoutController = stdoutMode === "pipe" && behavior.stdout !== undefined
|
|
33
38
|
? createReadableStream(behavior.stdout, interval)
|
|
34
39
|
: null;
|
|
35
40
|
const stderrController = stderrMode === "pipe" && behavior.stderr !== undefined
|
|
36
41
|
? createReadableStream(behavior.stderr, interval)
|
|
37
42
|
: null;
|
|
43
|
+
const outputDone = Promise.all([
|
|
44
|
+
...(stdoutController === null ? [] : [stdoutController.done]),
|
|
45
|
+
...(stderrController === null ? [] : [stderrController.done])
|
|
46
|
+
]);
|
|
38
47
|
let resolveResult = null;
|
|
39
48
|
const result = new Promise((resolve) => {
|
|
40
49
|
resolveResult = resolve;
|
|
@@ -51,10 +60,18 @@ function createRunHandle(spec, behavior) {
|
|
|
51
60
|
stdoutController?.stop();
|
|
52
61
|
stderrController?.stop();
|
|
53
62
|
};
|
|
54
|
-
const exitAfterMs = behavior.exitAfterMs
|
|
55
|
-
const exitTimer = exitAfterMs
|
|
56
|
-
?
|
|
57
|
-
:
|
|
63
|
+
const exitAfterMs = behavior.exitAfterMs;
|
|
64
|
+
const exitTimer = exitAfterMs === undefined
|
|
65
|
+
? undefined
|
|
66
|
+
: exitAfterMs > 0
|
|
67
|
+
? setTimeout(complete, exitAfterMs)
|
|
68
|
+
: undefined;
|
|
69
|
+
if (exitAfterMs === undefined) {
|
|
70
|
+
void outputDone.then(complete);
|
|
71
|
+
}
|
|
72
|
+
else if (exitAfterMs === 0) {
|
|
73
|
+
queueMicrotask(complete);
|
|
74
|
+
}
|
|
58
75
|
return {
|
|
59
76
|
pid: behavior.pid ?? null,
|
|
60
77
|
stdout: stdoutController?.stream ?? null,
|
|
@@ -62,7 +79,7 @@ function createRunHandle(spec, behavior) {
|
|
|
62
79
|
stdin: stdinMode === "pipe" ? createWritableStream() : null,
|
|
63
80
|
result,
|
|
64
81
|
kill() {
|
|
65
|
-
if (
|
|
82
|
+
if (exitTimer !== undefined) {
|
|
66
83
|
clearTimeout(exitTimer);
|
|
67
84
|
}
|
|
68
85
|
stopStreams();
|
|
@@ -76,6 +93,10 @@ function createReadableStream(lines, interval) {
|
|
|
76
93
|
});
|
|
77
94
|
const timers = new Set();
|
|
78
95
|
let stopped = false;
|
|
96
|
+
let resolveDone;
|
|
97
|
+
const done = new Promise((resolve) => {
|
|
98
|
+
resolveDone = resolve;
|
|
99
|
+
});
|
|
79
100
|
const stop = () => {
|
|
80
101
|
if (stopped) {
|
|
81
102
|
return;
|
|
@@ -86,10 +107,11 @@ function createReadableStream(lines, interval) {
|
|
|
86
107
|
}
|
|
87
108
|
timers.clear();
|
|
88
109
|
stream.push(null);
|
|
110
|
+
resolveDone?.();
|
|
89
111
|
};
|
|
90
112
|
if (lines.length === 0) {
|
|
91
113
|
queueMicrotask(stop);
|
|
92
|
-
return { stream, stop };
|
|
114
|
+
return { done, stream, stop };
|
|
93
115
|
}
|
|
94
116
|
for (const [index, line] of lines.entries()) {
|
|
95
117
|
const timer = setTimeout(() => {
|
|
@@ -104,7 +126,7 @@ function createReadableStream(lines, interval) {
|
|
|
104
126
|
}, interval * (index + 1));
|
|
105
127
|
timers.add(timer);
|
|
106
128
|
}
|
|
107
|
-
return { stream, stop };
|
|
129
|
+
return { done, stream, stop };
|
|
108
130
|
}
|
|
109
131
|
function createWritableStream() {
|
|
110
132
|
return new Writable({
|
|
@@ -103,10 +103,12 @@ export interface AttachedJobContext {
|
|
|
103
103
|
tool: string;
|
|
104
104
|
argv: string[];
|
|
105
105
|
cwd: string;
|
|
106
|
+
reattachContext?: Record<string, unknown>;
|
|
106
107
|
}
|
|
107
108
|
export interface OpenedEnv {
|
|
108
109
|
readonly id: string;
|
|
109
110
|
readonly job: JobHandle | null;
|
|
111
|
+
readonly reattachContext?: Record<string, unknown>;
|
|
110
112
|
uploadWorkspace(): Promise<UploadResult>;
|
|
111
113
|
downloadWorkspace(opts: {
|
|
112
114
|
conflictPolicy: "refuse" | "overwrite";
|
|
@@ -125,6 +127,7 @@ export interface JobHandle {
|
|
|
125
127
|
stream(opts?: {
|
|
126
128
|
sinceByte?: number;
|
|
127
129
|
since?: Date;
|
|
130
|
+
follow?: boolean;
|
|
128
131
|
}): AsyncIterable<LogChunk>;
|
|
129
132
|
wait(): Promise<{
|
|
130
133
|
exitCode: number;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { DownloadResult, UploadResult } from "./types.js";
|
|
2
|
+
export type { DownloadResult, UploadResult } from "./types.js";
|
|
3
|
+
export interface WorkspaceTransferDirent {
|
|
4
|
+
name: string;
|
|
5
|
+
isFile(): boolean;
|
|
6
|
+
isDirectory(): boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface WorkspaceTransferStats {
|
|
9
|
+
isFile(): boolean;
|
|
10
|
+
isDirectory(): boolean;
|
|
11
|
+
isSymbolicLink?(): boolean;
|
|
12
|
+
size: number;
|
|
13
|
+
}
|
|
14
|
+
export interface WorkspaceTransferFileSystem {
|
|
15
|
+
mkdir(path: string, options?: {
|
|
16
|
+
recursive?: boolean;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
readdir(path: string, options: {
|
|
19
|
+
withFileTypes: true;
|
|
20
|
+
}): Promise<WorkspaceTransferDirent[]>;
|
|
21
|
+
readFile(path: string): Promise<Buffer>;
|
|
22
|
+
readFile(path: string, encoding: BufferEncoding): Promise<string>;
|
|
23
|
+
writeFile(path: string, data: string | Buffer): Promise<void>;
|
|
24
|
+
stat(path: string): Promise<WorkspaceTransferStats>;
|
|
25
|
+
lstat?(path: string): Promise<WorkspaceTransferStats>;
|
|
26
|
+
rename?(oldPath: string, newPath: string): Promise<void>;
|
|
27
|
+
rm?(path: string, options?: {
|
|
28
|
+
recursive?: boolean;
|
|
29
|
+
force?: boolean;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
unlink?(path: string): Promise<void>;
|
|
32
|
+
rmdir?(path: string): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
export interface WorkspaceTransferEnv {
|
|
35
|
+
cwd: string;
|
|
36
|
+
uploadDir: string;
|
|
37
|
+
workspaceDir?: string;
|
|
38
|
+
fs?: WorkspaceTransferFileSystem;
|
|
39
|
+
remoteFs?: WorkspaceTransferFileSystem;
|
|
40
|
+
}
|
|
41
|
+
export interface WorkspaceTransferOptions {
|
|
42
|
+
runner?: WorkspaceTransferRunnerOptions;
|
|
43
|
+
uploadMaxFileMb?: number;
|
|
44
|
+
workspaceExclude?: string[];
|
|
45
|
+
warn?: (message: string) => void;
|
|
46
|
+
}
|
|
47
|
+
export interface WorkspaceTransferRunnerOptions {
|
|
48
|
+
upload_max_file_mb?: number;
|
|
49
|
+
workspace?: {
|
|
50
|
+
exclude?: string[];
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface WorkspaceDownloadOptions {
|
|
54
|
+
conflictPolicy: "refuse" | "overwrite";
|
|
55
|
+
}
|
|
56
|
+
export declare function uploadWorkspace(env: WorkspaceTransferEnv, opts: WorkspaceTransferOptions): Promise<UploadResult>;
|
|
57
|
+
export declare function downloadWorkspace(env: WorkspaceTransferEnv, opts: WorkspaceDownloadOptions): Promise<DownloadResult>;
|