@fabric-harness/connectors 0.14.1 → 0.16.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/vercel.d.ts +74 -0
- package/dist/vercel.d.ts.map +1 -0
- package/dist/vercel.js +111 -0
- package/dist/vercel.js.map +1 -0
- package/package.json +10 -2
package/dist/vercel.d.ts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { SandboxEnv, SandboxFactory } from '@fabric-harness/sdk';
|
|
2
|
+
import type { RemoteAdapterOptions } from './index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Structural shape of `@vercel/sandbox`'s `Sandbox` instance, kept narrow so
|
|
5
|
+
* this package doesn't peer-dep on `@vercel/sandbox` directly. Pass any
|
|
6
|
+
* object satisfying this contract — the real `Sandbox` from
|
|
7
|
+
* `@vercel/sandbox` does.
|
|
8
|
+
*
|
|
9
|
+
* See https://vercel.com/docs/vercel-sandbox/sdk-reference for the upstream
|
|
10
|
+
* API. This adapter targets the post-GA shape (`runCommand`, `fs.*`).
|
|
11
|
+
*/
|
|
12
|
+
export interface VercelSandboxLike {
|
|
13
|
+
runCommand(input: {
|
|
14
|
+
cmd: string;
|
|
15
|
+
cwd?: string;
|
|
16
|
+
env?: Record<string, string>;
|
|
17
|
+
timeout?: number;
|
|
18
|
+
}): Promise<{
|
|
19
|
+
stdout?: string;
|
|
20
|
+
stderr?: string;
|
|
21
|
+
exitCode?: number;
|
|
22
|
+
status?: string;
|
|
23
|
+
}>;
|
|
24
|
+
fs: {
|
|
25
|
+
readFile(path: string, encoding?: 'utf8'): Promise<string>;
|
|
26
|
+
readFile(path: string): Promise<Uint8Array | Buffer>;
|
|
27
|
+
writeFile(path: string, content: string | Uint8Array): Promise<void>;
|
|
28
|
+
stat(path: string): Promise<{
|
|
29
|
+
isDirectory?: boolean;
|
|
30
|
+
size?: number;
|
|
31
|
+
mtime?: Date;
|
|
32
|
+
}>;
|
|
33
|
+
readdir(path: string): Promise<string[]>;
|
|
34
|
+
mkdir(path: string, options?: {
|
|
35
|
+
recursive?: boolean;
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
rm(path: string, options?: {
|
|
38
|
+
recursive?: boolean;
|
|
39
|
+
force?: boolean;
|
|
40
|
+
}): Promise<void>;
|
|
41
|
+
};
|
|
42
|
+
/** Optional: stop and tear down the sandbox. */
|
|
43
|
+
stop?(): Promise<void> | void;
|
|
44
|
+
/** Optional: extend the lifetime of the sandbox before its idle timeout. */
|
|
45
|
+
extendTimeout?(durationMs: number): Promise<void> | void;
|
|
46
|
+
}
|
|
47
|
+
export interface VercelSandboxOptions extends RemoteAdapterOptions {
|
|
48
|
+
/** Defaults to Vercel's container default `/vercel/sandbox`. */
|
|
49
|
+
cwd?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Wrap a Vercel Sandbox instance as a Fabric Harness `SandboxEnv`. The
|
|
53
|
+
* sandbox's filesystem and shell exec are mapped to the fabric contract;
|
|
54
|
+
* `cleanup: true` calls `sandbox.stop()` when the Fabric session tears down.
|
|
55
|
+
*
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { Sandbox } from '@vercel/sandbox';
|
|
58
|
+
* import { vercelSandbox } from '@fabric-harness/connectors/vercel';
|
|
59
|
+
*
|
|
60
|
+
* const remote = await Sandbox.create({ runtime: 'node24' });
|
|
61
|
+
* const fabric = await init({ sandbox: vercelSandbox(remote, { cleanup: true }) });
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* Vercel's `runCommand` accepts a single command string with optional
|
|
65
|
+
* `cwd`/`env`/`timeout`; we pass each through and surface stdout/stderr/exit.
|
|
66
|
+
*/
|
|
67
|
+
export declare function vercelSandbox(sandbox: VercelSandboxLike, options?: VercelSandboxOptions): SandboxEnv;
|
|
68
|
+
/**
|
|
69
|
+
* Convenience factory that returns a `SandboxFactory`, suitable for
|
|
70
|
+
* `init({ sandbox: vercelSandboxFactory(...) })`. Provisions a fresh sandbox
|
|
71
|
+
* on first use via the supplied `create()` callback.
|
|
72
|
+
*/
|
|
73
|
+
export declare function vercelSandboxFactory(create: () => Promise<VercelSandboxLike> | VercelSandboxLike, options?: VercelSandboxOptions): SandboxFactory;
|
|
74
|
+
//# sourceMappingURL=vercel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../src/vercel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,UAAU,EACV,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,KAAK,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF,EAAE,EAAE;QACF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;QACrD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,WAAW,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACtE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACrF,CAAC;IACF,gDAAgD;IAChD,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,aAAa,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,oBAAyB,GACjC,UAAU,CA4EZ;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,EAC5D,OAAO,GAAE,oBAAyB,GACjC,cAAc,CAKhB"}
|
package/dist/vercel.js
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { createRemoteSandboxEnv } from '@fabric-harness/sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Wrap a Vercel Sandbox instance as a Fabric Harness `SandboxEnv`. The
|
|
4
|
+
* sandbox's filesystem and shell exec are mapped to the fabric contract;
|
|
5
|
+
* `cleanup: true` calls `sandbox.stop()` when the Fabric session tears down.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { Sandbox } from '@vercel/sandbox';
|
|
9
|
+
* import { vercelSandbox } from '@fabric-harness/connectors/vercel';
|
|
10
|
+
*
|
|
11
|
+
* const remote = await Sandbox.create({ runtime: 'node24' });
|
|
12
|
+
* const fabric = await init({ sandbox: vercelSandbox(remote, { cleanup: true }) });
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* Vercel's `runCommand` accepts a single command string with optional
|
|
16
|
+
* `cwd`/`env`/`timeout`; we pass each through and surface stdout/stderr/exit.
|
|
17
|
+
*/
|
|
18
|
+
export function vercelSandbox(sandbox, options = {}) {
|
|
19
|
+
const api = {
|
|
20
|
+
async exec(command, execOptions) {
|
|
21
|
+
const input = {
|
|
22
|
+
cmd: command,
|
|
23
|
+
};
|
|
24
|
+
if (execOptions?.cwd !== undefined)
|
|
25
|
+
input.cwd = execOptions.cwd;
|
|
26
|
+
if (execOptions?.env !== undefined)
|
|
27
|
+
input.env = execOptions.env;
|
|
28
|
+
if (execOptions?.timeout !== undefined)
|
|
29
|
+
input.timeout = execOptions.timeout;
|
|
30
|
+
const result = await sandbox.runCommand(input);
|
|
31
|
+
return {
|
|
32
|
+
command,
|
|
33
|
+
exitCode: result.exitCode ?? (result.status === 'success' ? 0 : 1),
|
|
34
|
+
stdout: result.stdout ?? '',
|
|
35
|
+
stderr: result.stderr ?? '',
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
async readFile(path) {
|
|
39
|
+
const content = await sandbox.fs.readFile(path, 'utf8');
|
|
40
|
+
return content;
|
|
41
|
+
},
|
|
42
|
+
async readFileBuffer(path) {
|
|
43
|
+
// Vercel's fs.readFile is overloaded; calling without an encoding may
|
|
44
|
+
// return a Buffer (Node) or Uint8Array depending on runtime.
|
|
45
|
+
const data = (await sandbox.fs.readFile(path));
|
|
46
|
+
if (data instanceof Uint8Array)
|
|
47
|
+
return data;
|
|
48
|
+
if (typeof data === 'string')
|
|
49
|
+
return new TextEncoder().encode(data);
|
|
50
|
+
return new Uint8Array(data);
|
|
51
|
+
},
|
|
52
|
+
async writeFile(path, content) {
|
|
53
|
+
await sandbox.fs.writeFile(path, content);
|
|
54
|
+
},
|
|
55
|
+
async stat(path) {
|
|
56
|
+
const info = await sandbox.fs.stat(path);
|
|
57
|
+
return {
|
|
58
|
+
type: info.isDirectory ? 'directory' : 'file',
|
|
59
|
+
size: info.size ?? 0,
|
|
60
|
+
...(info.mtime ? { mtime: info.mtime } : {}),
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
async readdir(path) {
|
|
64
|
+
return sandbox.fs.readdir(path);
|
|
65
|
+
},
|
|
66
|
+
async exists(path) {
|
|
67
|
+
try {
|
|
68
|
+
await sandbox.fs.stat(path);
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
async mkdir(path, mkdirOptions) {
|
|
76
|
+
await sandbox.fs.mkdir(path, mkdirOptions);
|
|
77
|
+
},
|
|
78
|
+
async rm(path, rmOptions) {
|
|
79
|
+
await sandbox.fs.rm(path, rmOptions);
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
const cleanup = options.cleanup === true && sandbox.stop
|
|
83
|
+
? async () => {
|
|
84
|
+
const stop = sandbox.stop;
|
|
85
|
+
if (stop)
|
|
86
|
+
await stop.call(sandbox);
|
|
87
|
+
}
|
|
88
|
+
: typeof options.cleanup === 'function'
|
|
89
|
+
? async () => {
|
|
90
|
+
await options.cleanup();
|
|
91
|
+
}
|
|
92
|
+
: undefined;
|
|
93
|
+
return createRemoteSandboxEnv(api, {
|
|
94
|
+
cwd: options.cwd ?? '/vercel/sandbox',
|
|
95
|
+
...(options.capabilities ? { capabilities: options.capabilities } : {}),
|
|
96
|
+
...(cleanup ? { cleanup } : {}),
|
|
97
|
+
...(options.encodeRef ? { encodeRef: options.encodeRef } : {}),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Convenience factory that returns a `SandboxFactory`, suitable for
|
|
102
|
+
* `init({ sandbox: vercelSandboxFactory(...) })`. Provisions a fresh sandbox
|
|
103
|
+
* on first use via the supplied `create()` callback.
|
|
104
|
+
*/
|
|
105
|
+
export function vercelSandboxFactory(create, options = {}) {
|
|
106
|
+
return async () => {
|
|
107
|
+
const sandbox = await create();
|
|
108
|
+
return vercelSandbox(sandbox, options);
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=vercel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../src/vercel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fabric-harness/connectors",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.1",
|
|
4
4
|
"description": "Connector recipes (sandbox, mcp, data) for Fabric Harness — markdown-based provider integrations.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Fabric",
|
|
@@ -60,6 +60,10 @@
|
|
|
60
60
|
"types": "./dist/k8s.d.ts",
|
|
61
61
|
"import": "./dist/k8s.js"
|
|
62
62
|
},
|
|
63
|
+
"./vercel": {
|
|
64
|
+
"types": "./dist/vercel.d.ts",
|
|
65
|
+
"import": "./dist/vercel.js"
|
|
66
|
+
},
|
|
63
67
|
"./sandbox-refs": {
|
|
64
68
|
"types": "./dist/sandbox-refs.d.ts",
|
|
65
69
|
"import": "./dist/sandbox-refs.js"
|
|
@@ -71,13 +75,14 @@
|
|
|
71
75
|
"LICENSE"
|
|
72
76
|
],
|
|
73
77
|
"dependencies": {
|
|
74
|
-
"@fabric-harness/sdk": "1.
|
|
78
|
+
"@fabric-harness/sdk": "^1.12.1"
|
|
75
79
|
},
|
|
76
80
|
"peerDependencies": {
|
|
77
81
|
"@aws-sdk/client-s3": "^3.0.0",
|
|
78
82
|
"@azure/storage-blob": "^12.0.0",
|
|
79
83
|
"@google-cloud/storage": "^7.0.0",
|
|
80
84
|
"@kubernetes/client-node": "^0.21.0",
|
|
85
|
+
"@vercel/sandbox": "*",
|
|
81
86
|
"octokit": "^4.0.0"
|
|
82
87
|
},
|
|
83
88
|
"peerDependenciesMeta": {
|
|
@@ -93,6 +98,9 @@
|
|
|
93
98
|
"@kubernetes/client-node": {
|
|
94
99
|
"optional": true
|
|
95
100
|
},
|
|
101
|
+
"@vercel/sandbox": {
|
|
102
|
+
"optional": true
|
|
103
|
+
},
|
|
96
104
|
"octokit": {
|
|
97
105
|
"optional": true
|
|
98
106
|
}
|