@solarisdk/e2b-compat 0.0.0-stage → 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ import { Image } from "@solarisdk/core";
2
+ import { type Conn, type ConnectionOpts } from "./config.js";
3
+ export type PathLike = string | URL;
4
+ export type LogEntryLevel = "debug" | "info" | "warn" | "error";
5
+ export declare class LogEntry {
6
+ readonly timestamp: Date;
7
+ readonly level: LogEntryLevel;
8
+ readonly message: string;
9
+ constructor(timestamp: Date, level: LogEntryLevel, message: string);
10
+ toString(): string;
11
+ }
12
+ export declare class LogEntryStart extends LogEntry {
13
+ constructor(timestamp: Date, message: string);
14
+ }
15
+ export declare class LogEntryEnd extends LogEntry {
16
+ constructor(timestamp: Date, message: string);
17
+ }
18
+ export declare function defaultBuildLogger(options?: {
19
+ minLevel?: LogEntryLevel;
20
+ }): (logEntry: LogEntry) => void;
21
+ export declare class ReadyCmd {
22
+ private readonly cmd;
23
+ constructor(cmd: string);
24
+ getCmd(): string;
25
+ }
26
+ export declare const waitForPort: (port: number) => ReadyCmd;
27
+ export declare const waitForURL: (url: string, statusCode?: number) => ReadyCmd;
28
+ export declare const waitForProcess: (processName: string) => ReadyCmd;
29
+ export declare const waitForFile: (filename: string) => ReadyCmd;
30
+ export declare const waitForTimeout: (timeout: number) => ReadyCmd;
31
+ export type TemplateOptions = {
32
+ fileContextPath?: PathLike;
33
+ fileIgnorePatterns?: string[];
34
+ };
35
+ export type BasicBuildOptions = {
36
+ alias: string;
37
+ tags?: string[];
38
+ cpuCount?: number;
39
+ memoryMB?: number;
40
+ minFreeDiskMb?: number;
41
+ skipCache?: boolean;
42
+ onBuildLogs?: (logEntry: LogEntry) => void;
43
+ };
44
+ export type BuildOptions = ConnectionOpts & BasicBuildOptions;
45
+ export type BuildInfo = {
46
+ alias: string;
47
+ name: string;
48
+ tags: string[];
49
+ templateId: string;
50
+ buildId: string;
51
+ };
52
+ export type TemplateBuildStatus = "building" | "waiting" | "ready" | "error";
53
+ export type TemplateBuildStatusResponse = {
54
+ buildID: string;
55
+ templateID: string;
56
+ status: TemplateBuildStatus;
57
+ logEntries: LogEntry[];
58
+ logs: string[];
59
+ reason?: {
60
+ message: string;
61
+ logEntries: LogEntry[];
62
+ };
63
+ };
64
+ export type CopyItem = {
65
+ src: PathLike | PathLike[];
66
+ dest: PathLike;
67
+ forceUpload?: true;
68
+ user?: string;
69
+ mode?: number;
70
+ resolveSymlinks?: boolean;
71
+ gzip?: boolean;
72
+ };
73
+ export declare class TemplateBase {
74
+ private image;
75
+ private readonly ctx;
76
+ private final;
77
+ constructor(options?: TemplateOptions);
78
+ private base;
79
+ private run;
80
+ /** @internal */
81
+ _image(): Image;
82
+ fromDebianImage(v?: string): this;
83
+ fromUbuntuImage(v?: string): this;
84
+ fromFedoraImage(v?: string): this;
85
+ fromAlpineImage(v?: string): this;
86
+ fromArchImage(v?: string): this;
87
+ fromPythonImage(v?: string): this;
88
+ fromNodeImage(v?: string): this;
89
+ fromBunImage(v?: string): this;
90
+ /** Solari's own base sandbox image. */
91
+ fromBaseImage(): this;
92
+ fromImage(baseImage: string, credentials?: {
93
+ username: string;
94
+ password: string;
95
+ }): this;
96
+ fromTemplate(template: string): this;
97
+ fromDockerfile(_dockerfileContentOrPath: string): this;
98
+ fromAWSRegistry(_image: string, _credentials: unknown): this;
99
+ fromGCPRegistry(_image: string, _credentials: unknown): this;
100
+ copy(src: PathLike | PathLike[], dest: PathLike, options?: {
101
+ forceUpload?: true;
102
+ user?: string;
103
+ mode?: number;
104
+ resolveSymlinks?: boolean;
105
+ gzip?: boolean;
106
+ }): this;
107
+ copyItems(items: CopyItem[]): this;
108
+ remove(path: PathLike | PathLike[], options?: {
109
+ force?: boolean;
110
+ recursive?: boolean;
111
+ user?: string;
112
+ }): this;
113
+ rename(src: PathLike, dest: PathLike, options?: {
114
+ force?: boolean;
115
+ user?: string;
116
+ }): this;
117
+ makeDir(path: PathLike | PathLike[], options?: {
118
+ mode?: number;
119
+ user?: string;
120
+ }): this;
121
+ makeSymlink(src: PathLike, dest: PathLike, options?: {
122
+ user?: string;
123
+ force?: boolean;
124
+ }): this;
125
+ runCmd(commandOrCommands: string | string[], options?: {
126
+ user?: string;
127
+ }): this;
128
+ setWorkdir(workdir: PathLike): this;
129
+ setUser(_user: string): this;
130
+ pipInstall(packages?: string | string[], options?: {
131
+ g?: boolean;
132
+ }): this;
133
+ npmInstall(packages?: string | string[], options?: {
134
+ g?: boolean;
135
+ dev?: boolean;
136
+ }): this;
137
+ bunInstall(packages?: string | string[], options?: {
138
+ g?: boolean;
139
+ dev?: boolean;
140
+ }): this;
141
+ aptInstall(packages: string | string[], options?: {
142
+ noInstallRecommends?: boolean;
143
+ fixMissing?: boolean;
144
+ }): this;
145
+ gitClone(url: string, path?: PathLike, options?: {
146
+ branch?: string;
147
+ depth?: number;
148
+ user?: string;
149
+ }): this;
150
+ setEnvs(envs: Record<string, string>): this;
151
+ skipCache(): this;
152
+ addMcpServer(_servers: unknown): this;
153
+ betaDevContainerPrebuild(_dir: string): this;
154
+ betaSetDevContainerStart(_dir: string): this;
155
+ setStartCmd(_startCommand: string, _readyCommand: string | ReadyCmd): this;
156
+ setReadyCmd(_readyCommand: string | ReadyCmd): this;
157
+ static toJSON(_template: TemplateBase, _computeHashes?: boolean): Promise<string>;
158
+ static toDockerfile(_template: TemplateBase): string;
159
+ static build(template: TemplateBase, name: string, options?: Omit<BuildOptions, "alias">): Promise<BuildInfo>;
160
+ static build(template: TemplateBase, options: BuildOptions): Promise<BuildInfo>;
161
+ static buildInBackground(template: TemplateBase, name: string, options?: Omit<BuildOptions, "alias">): Promise<BuildInfo>;
162
+ static buildInBackground(template: TemplateBase, options: BuildOptions): Promise<BuildInfo>;
163
+ static getBuildStatus(data: Pick<BuildInfo, "templateId" | "buildId">, options?: ConnectionOpts & {
164
+ logsOffset?: number;
165
+ }): Promise<TemplateBuildStatusResponse>;
166
+ static exists(name: string, options?: ConnectionOpts): Promise<boolean>;
167
+ static aliasExists(alias: string, options?: ConnectionOpts): Promise<boolean>;
168
+ static assignTags(_target: string, _tags: string | string[], _o?: ConnectionOpts): Promise<never>;
169
+ static removeTags(_name: string, _tags: string | string[], _o?: ConnectionOpts): Promise<void>;
170
+ static getTags(_templateId: string, _o?: ConnectionOpts): Promise<never>;
171
+ }
172
+ /** Resolve an E2B template name (or a `tpl_` id) to a Solari template id. `base` is Solari's built-in base image. */
173
+ export declare function resolveTemplateId(conn: Conn, template: string): Promise<string>;
174
+ /** E2B's `Template` is both a factory (`Template().fromImage(...)`) and a holder of statics (`Template.build(...)`). */
175
+ export declare const Template: ((options?: TemplateOptions) => TemplateBase) & {
176
+ build: typeof TemplateBase.build;
177
+ buildInBackground: typeof TemplateBase.buildInBackground;
178
+ getBuildStatus: typeof TemplateBase.getBuildStatus;
179
+ exists: typeof TemplateBase.exists;
180
+ aliasExists: typeof TemplateBase.aliasExists;
181
+ assignTags: typeof TemplateBase.assignTags;
182
+ removeTags: typeof TemplateBase.removeTags;
183
+ getTags: typeof TemplateBase.getTags;
184
+ toJSON: typeof TemplateBase.toJSON;
185
+ toDockerfile: typeof TemplateBase.toDockerfile;
186
+ };
187
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,360 @@
1
+ // E2B `Template` builder, compiled onto Solari's Image/TemplateClient. Template names resolve to Solari template ids.
2
+ // Not supported (throws): start/ready commands, setUser, tags, private-registry bases, Dockerfile input (see COMPAT.md).
3
+ import { statSync } from "node:fs";
4
+ import { resolve as resolvePath } from "node:path";
5
+ import { Image, TemplateClient } from "@solarisdk/core";
6
+ import { resolveConn } from "./config.js";
7
+ import { InvalidArgumentError, SolariCompatUnsupported, TemplateError, BuildError, translateError } from "./errors.js";
8
+ export class LogEntry {
9
+ timestamp;
10
+ level;
11
+ message;
12
+ constructor(timestamp, level, message) {
13
+ this.timestamp = timestamp;
14
+ this.level = level;
15
+ this.message = message;
16
+ }
17
+ toString() {
18
+ return `[${this.timestamp.toISOString()}] [${this.level}] ${this.message}`;
19
+ }
20
+ }
21
+ export class LogEntryStart extends LogEntry {
22
+ constructor(timestamp, message) {
23
+ super(timestamp, "debug", message);
24
+ }
25
+ }
26
+ export class LogEntryEnd extends LogEntry {
27
+ constructor(timestamp, message) {
28
+ super(timestamp, "debug", message);
29
+ }
30
+ }
31
+ export function defaultBuildLogger(options) {
32
+ const order = ["debug", "info", "warn", "error"];
33
+ const min = order.indexOf(options?.minLevel ?? "info");
34
+ return (e) => {
35
+ if (order.indexOf(e.level) >= min)
36
+ console.log(e.toString());
37
+ };
38
+ }
39
+ export class ReadyCmd {
40
+ cmd;
41
+ constructor(cmd) {
42
+ this.cmd = cmd;
43
+ }
44
+ getCmd() {
45
+ return this.cmd;
46
+ }
47
+ }
48
+ export const waitForPort = (port) => new ReadyCmd(`ss -tuln | grep :${port}`);
49
+ export const waitForURL = (url, statusCode = 200) => new ReadyCmd(`curl -s -o /dev/null -w "%{http_code}" ${url} | grep -q "${statusCode}"`);
50
+ export const waitForProcess = (processName) => new ReadyCmd(`pgrep ${processName} > /dev/null`);
51
+ export const waitForFile = (filename) => new ReadyCmd(`[ -f ${filename} ]`);
52
+ export const waitForTimeout = (timeout) => new ReadyCmd(`sleep ${Math.max(1, Math.floor(timeout / 1000))}`);
53
+ const str = (p) => (p instanceof URL ? p.pathname : p);
54
+ const arr = (v) => (Array.isArray(v) ? v : [v]);
55
+ const q = (s) => `'${s.replace(/'/g, `'\\''`)}'`;
56
+ const IMAGES = {
57
+ fromDebianImage: (v) => `debian:${v ?? "stable"}`,
58
+ fromUbuntuImage: (v) => `ubuntu:${v ?? "latest"}`,
59
+ fromFedoraImage: (v) => `fedora:${v ?? "44"}`,
60
+ fromAlpineImage: (v) => `alpine:${v ?? "3.24"}`,
61
+ fromArchImage: (v) => `archlinux:${v ?? "latest"}`,
62
+ fromPythonImage: (v) => `python:${v ?? "3"}`,
63
+ fromNodeImage: (v) => `node:${v ?? "lts"}`,
64
+ fromBunImage: (v) => `oven/bun:${v ?? "latest"}`,
65
+ };
66
+ /** Split `name:tag`. Solari templates are not versioned, so only the default tags are accepted. */
67
+ function splitName(raw) {
68
+ const i = raw.lastIndexOf(":");
69
+ if (i < 0)
70
+ return raw;
71
+ const tag = raw.slice(i + 1);
72
+ if (tag === "latest" || tag === "default")
73
+ return raw.slice(0, i);
74
+ throw new SolariCompatUnsupported(`template tag "${tag}"`, "Solari templates are not versioned; build under a different name instead");
75
+ }
76
+ export class TemplateBase {
77
+ image;
78
+ ctx;
79
+ final = false;
80
+ constructor(options = {}) {
81
+ this.ctx = options.fileContextPath ? resolvePath(str(options.fileContextPath)) : process.cwd();
82
+ }
83
+ base() {
84
+ if (!this.image)
85
+ throw new InvalidArgumentError("Choose a base image first (fromImage, fromTemplate, fromBaseImage, …)");
86
+ return this.image;
87
+ }
88
+ run(...cmds) {
89
+ this.base().runCommands(...cmds);
90
+ return this;
91
+ }
92
+ /** @internal */
93
+ _image() {
94
+ return this.base();
95
+ }
96
+ // --- base images --------------------------------------------------------------------------------------------
97
+ fromDebianImage(v) { return this.fromImage(IMAGES.fromDebianImage(v)); }
98
+ fromUbuntuImage(v) { return this.fromImage(IMAGES.fromUbuntuImage(v)); }
99
+ fromFedoraImage(v) { return this.fromImage(IMAGES.fromFedoraImage(v)); }
100
+ fromAlpineImage(v) { return this.fromImage(IMAGES.fromAlpineImage(v)); }
101
+ fromArchImage(v) { return this.fromImage(IMAGES.fromArchImage(v)); }
102
+ fromPythonImage(v) { return this.fromImage(IMAGES.fromPythonImage(v)); }
103
+ fromNodeImage(v) { return this.fromImage(IMAGES.fromNodeImage(v)); }
104
+ fromBunImage(v) { return this.fromImage(IMAGES.fromBunImage(v)); }
105
+ /** Solari's own base sandbox image. */
106
+ fromBaseImage() {
107
+ this.image = Image.fromTemplate("base");
108
+ return this;
109
+ }
110
+ fromImage(baseImage, credentials) {
111
+ if (credentials)
112
+ throw new SolariCompatUnsupported("fromImage credentials", "only public registry images can be used as a base");
113
+ this.image = Image.fromImage(baseImage);
114
+ return this;
115
+ }
116
+ fromTemplate(template) {
117
+ this.image = Image.fromTemplate(splitName(template));
118
+ return this;
119
+ }
120
+ fromDockerfile(_dockerfileContentOrPath) {
121
+ throw new SolariCompatUnsupported("fromDockerfile", "use fromImage(...) plus the builder steps");
122
+ }
123
+ fromAWSRegistry(_image, _credentials) {
124
+ throw new SolariCompatUnsupported("fromAWSRegistry", "only public registry images can be used as a base");
125
+ }
126
+ fromGCPRegistry(_image, _credentials) {
127
+ throw new SolariCompatUnsupported("fromGCPRegistry", "only public registry images can be used as a base");
128
+ }
129
+ // --- steps -------------------------------------------------------------------------------------------------
130
+ copy(src, dest, options) {
131
+ if (options?.user)
132
+ throw new SolariCompatUnsupported("copy user");
133
+ const img = this.base();
134
+ const srcs = arr(src);
135
+ for (const s of srcs) {
136
+ const abs = resolvePath(this.ctx, str(s));
137
+ let isDir = false;
138
+ try {
139
+ isDir = statSync(abs).isDirectory();
140
+ }
141
+ catch {
142
+ throw new InvalidArgumentError(`copy: ${abs} does not exist`);
143
+ }
144
+ const target = srcs.length > 1 ? `${str(dest).replace(/\/+$/, "")}/${str(s).split("/").pop()}` : str(dest);
145
+ if (isDir)
146
+ img.addLocalDir(abs, target);
147
+ else
148
+ img.addLocalFile(abs, target);
149
+ if (options?.mode !== undefined)
150
+ img.runCommands(`chmod -R ${options.mode.toString(8)} ${q(target)}`);
151
+ }
152
+ return this;
153
+ }
154
+ copyItems(items) {
155
+ for (const i of items)
156
+ this.copy(i.src, i.dest, i);
157
+ return this;
158
+ }
159
+ remove(path, options) {
160
+ if (options?.user)
161
+ throw new SolariCompatUnsupported("remove user");
162
+ const flags = `${options?.recursive ? "r" : ""}${options?.force ? "f" : ""}`;
163
+ return this.run(`rm ${flags ? `-${flags} ` : ""}${arr(path).map((p) => q(str(p))).join(" ")}`);
164
+ }
165
+ rename(src, dest, options) {
166
+ if (options?.user)
167
+ throw new SolariCompatUnsupported("rename user");
168
+ return this.run(`mv ${options?.force ? "-f " : ""}${q(str(src))} ${q(str(dest))}`);
169
+ }
170
+ makeDir(path, options) {
171
+ if (options?.user)
172
+ throw new SolariCompatUnsupported("makeDir user");
173
+ return this.run(`mkdir -p ${options?.mode !== undefined ? `-m ${options.mode.toString(8)} ` : ""}${arr(path).map((p) => q(str(p))).join(" ")}`);
174
+ }
175
+ makeSymlink(src, dest, options) {
176
+ if (options?.user)
177
+ throw new SolariCompatUnsupported("makeSymlink user");
178
+ return this.run(`ln -s ${options?.force ? "-f " : ""}${q(str(src))} ${q(str(dest))}`);
179
+ }
180
+ runCmd(commandOrCommands, options) {
181
+ if (options?.user && options.user !== "root")
182
+ throw new SolariCompatUnsupported("runCmd user", "build steps run as root");
183
+ return this.run(...arr(commandOrCommands));
184
+ }
185
+ setWorkdir(workdir) {
186
+ this.base().workdir(str(workdir));
187
+ return this;
188
+ }
189
+ setUser(_user) {
190
+ throw new SolariCompatUnsupported("setUser", "Solari sandboxes run as a single user");
191
+ }
192
+ pipInstall(packages, options) {
193
+ const pkgs = packages === undefined ? [] : arr(packages);
194
+ if (pkgs.length === 0)
195
+ return this.run(`pip install ${options?.g === false ? "--user " : ""}.`);
196
+ if (options?.g === false)
197
+ return this.run(`pip install --user ${pkgs.map(q).join(" ")}`);
198
+ this.base().pipInstall(pkgs);
199
+ return this;
200
+ }
201
+ npmInstall(packages, options) {
202
+ const pkgs = packages === undefined ? [] : arr(packages);
203
+ return this.run(`npm install ${options?.g ? "-g " : ""}${options?.dev ? "--save-dev " : ""}${pkgs.map(q).join(" ")}`.trimEnd());
204
+ }
205
+ bunInstall(packages, options) {
206
+ const pkgs = packages === undefined ? [] : arr(packages);
207
+ return this.run(`bun install ${options?.g ? "-g " : ""}${options?.dev ? "--dev " : ""}${pkgs.map(q).join(" ")}`.trimEnd());
208
+ }
209
+ aptInstall(packages, options) {
210
+ const pkgs = arr(packages).map(q).join(" ");
211
+ return this.run(`apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y ${options?.noInstallRecommends ? "--no-install-recommends " : ""}${options?.fixMissing ? "--fix-missing " : ""}${pkgs}`);
212
+ }
213
+ gitClone(url, path, options) {
214
+ if (options?.user)
215
+ throw new SolariCompatUnsupported("gitClone user");
216
+ return this.run(`git clone ${options?.branch ? `--branch ${q(options.branch)} ` : ""}${options?.depth ? `--depth ${options.depth} ` : ""}${q(url)}${path ? ` ${q(str(path))}` : ""}`);
217
+ }
218
+ setEnvs(envs) {
219
+ this.base().env(envs);
220
+ return this;
221
+ }
222
+ skipCache() {
223
+ return this;
224
+ }
225
+ addMcpServer(_servers) {
226
+ throw new SolariCompatUnsupported("addMcpServer", "the E2B MCP gateway has no Solari equivalent");
227
+ }
228
+ betaDevContainerPrebuild(_dir) {
229
+ throw new SolariCompatUnsupported("betaDevContainerPrebuild");
230
+ }
231
+ betaSetDevContainerStart(_dir) {
232
+ throw new SolariCompatUnsupported("betaSetDevContainerStart");
233
+ }
234
+ setStartCmd(_startCommand, _readyCommand) {
235
+ throw new SolariCompatUnsupported("setStartCmd", "Solari templates do not run a start command; start the process after Sandbox.create with commands.run({ background: true })");
236
+ }
237
+ setReadyCmd(_readyCommand) {
238
+ throw new SolariCompatUnsupported("setReadyCmd", "Solari templates have no ready command");
239
+ }
240
+ // --- static API ----------------------------------------------------------------------------------------------
241
+ static async toJSON(_template, _computeHashes) {
242
+ throw new SolariCompatUnsupported("Template.toJSON");
243
+ }
244
+ static toDockerfile(_template) {
245
+ throw new SolariCompatUnsupported("Template.toDockerfile");
246
+ }
247
+ static async build(template, a, b) {
248
+ const { name, opts } = unpack(a, b);
249
+ const conn = resolveConn(opts);
250
+ const client = tplClient(conn);
251
+ const log = opts.onBuildLogs;
252
+ log?.(new LogEntryStart(new Date(), `Building template ${name}`));
253
+ try {
254
+ const view = await client.build(template._image(), buildOpts(name, opts));
255
+ log?.(new LogEntryEnd(new Date(), `Template ${name} is ${view.status}`));
256
+ return info(name, view.templateId);
257
+ }
258
+ catch (e) {
259
+ throw buildError(e);
260
+ }
261
+ }
262
+ static async buildInBackground(template, a, b) {
263
+ const { name, opts } = unpack(a, b);
264
+ const client = tplClient(resolveConn(opts));
265
+ try {
266
+ const r = await client.buildRaw(template._image().compile(), buildOpts(name, opts));
267
+ return info(name, r.templateId);
268
+ }
269
+ catch (e) {
270
+ throw buildError(e);
271
+ }
272
+ }
273
+ static async getBuildStatus(data, options = {}) {
274
+ try {
275
+ const v = await tplClient(resolveConn(options)).get(data.templateId);
276
+ const status = v.status === "ready" ? "ready" : v.status === "failed" ? "error" : "building";
277
+ return { buildID: data.buildId, templateID: data.templateId, status, logEntries: [], logs: [], ...(v.error ? { reason: { message: v.error, logEntries: [] } } : {}) };
278
+ }
279
+ catch (e) {
280
+ throw translateError(e);
281
+ }
282
+ }
283
+ static async exists(name, options = {}) {
284
+ const conn = resolveConn(options);
285
+ return (await findTemplate(conn, splitName(name))) !== undefined;
286
+ }
287
+ static aliasExists(alias, options = {}) {
288
+ return TemplateBase.exists(alias, options);
289
+ }
290
+ static async assignTags(_target, _tags, _o) {
291
+ throw new SolariCompatUnsupported("Template.assignTags", "Solari templates are not versioned");
292
+ }
293
+ static async removeTags(_name, _tags, _o) {
294
+ throw new SolariCompatUnsupported("Template.removeTags", "Solari templates are not versioned");
295
+ }
296
+ static async getTags(_templateId, _o) {
297
+ throw new SolariCompatUnsupported("Template.getTags", "Solari templates are not versioned");
298
+ }
299
+ }
300
+ function unpack(a, b) {
301
+ const opts = (typeof a === "string" ? { ...(b ?? {}), alias: a } : a);
302
+ if (opts.tags && opts.tags.length > 0)
303
+ throw new SolariCompatUnsupported("build tags", "Solari templates are not versioned");
304
+ return { name: splitName(opts.alias), opts };
305
+ }
306
+ function buildOpts(name, o) {
307
+ return {
308
+ name,
309
+ ...(o.cpuCount ? { cpu: o.cpuCount } : {}),
310
+ ...(o.memoryMB ? { memMb: o.memoryMB } : {}),
311
+ ...(o.onBuildLogs ? { onLog: (line) => o.onBuildLogs(new LogEntry(new Date(), "info", line)) } : {}),
312
+ };
313
+ }
314
+ function info(name, templateId) {
315
+ return { alias: name, name, tags: [], templateId, buildId: templateId };
316
+ }
317
+ function buildError(e) {
318
+ const t = translateError(e);
319
+ return t instanceof Error && !(t instanceof SolariCompatUnsupported) ? new BuildError(t.message, { cause: e }) : t;
320
+ }
321
+ function tplClient(conn) {
322
+ return new TemplateClient({ apiKey: conn.apiKey, baseUrl: conn.baseUrl });
323
+ }
324
+ async function findTemplate(conn, name) {
325
+ const list = await tplClient(conn).list();
326
+ const matches = list.filter((t) => t.name === name && t.kind === "sandbox");
327
+ return matches.find((t) => t.status === "ready") ?? matches[0];
328
+ }
329
+ /** Resolve an E2B template name (or a `tpl_` id) to a Solari template id. `base` is Solari's built-in base image. */
330
+ export async function resolveTemplateId(conn, template) {
331
+ const name = splitName(template);
332
+ if (name === "base" || name.startsWith("tpl_"))
333
+ return name;
334
+ let found;
335
+ try {
336
+ found = await findTemplate(conn, name);
337
+ }
338
+ catch (e) {
339
+ throw translateError(e);
340
+ }
341
+ if (!found)
342
+ throw new TemplateError(`Template "${name}" not found. Build it with Template.build(...) first.`);
343
+ if (found.status !== "ready")
344
+ throw new TemplateError(`Template "${name}" is ${found.status}${found.error ? `: ${found.error}` : ""}`);
345
+ return found.templateId;
346
+ }
347
+ /** E2B's `Template` is both a factory (`Template().fromImage(...)`) and a holder of statics (`Template.build(...)`). */
348
+ export const Template = Object.assign((options) => new TemplateBase(options), {
349
+ build: TemplateBase.build.bind(TemplateBase),
350
+ buildInBackground: TemplateBase.buildInBackground.bind(TemplateBase),
351
+ getBuildStatus: TemplateBase.getBuildStatus.bind(TemplateBase),
352
+ exists: TemplateBase.exists.bind(TemplateBase),
353
+ aliasExists: TemplateBase.aliasExists.bind(TemplateBase),
354
+ assignTags: TemplateBase.assignTags.bind(TemplateBase),
355
+ removeTags: TemplateBase.removeTags.bind(TemplateBase),
356
+ getTags: TemplateBase.getTags.bind(TemplateBase),
357
+ toJSON: TemplateBase.toJSON.bind(TemplateBase),
358
+ toDockerfile: TemplateBase.toDockerfile.bind(TemplateBase),
359
+ });
360
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}