@e2b/n8n-nodes-e2b 0.1.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 (44) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -0
  3. package/dist/credentials/E2BApi.credentials.d.ts +13 -0
  4. package/dist/credentials/E2BApi.credentials.js +58 -0
  5. package/dist/credentials/E2BApi.credentials.js.map +1 -0
  6. package/dist/credentials/e2b.dark.svg +1 -0
  7. package/dist/credentials/e2b.svg +1 -0
  8. package/dist/nodes/E2B/E2b.node.d.ts +5 -0
  9. package/dist/nodes/E2B/E2b.node.js +2901 -0
  10. package/dist/nodes/E2B/E2b.node.js.map +7 -0
  11. package/dist/nodes/E2B/E2b.node.json +20 -0
  12. package/dist/nodes/E2B/actions/code.operations.d.ts +8 -0
  13. package/dist/nodes/E2B/actions/code.operations.js +67 -0
  14. package/dist/nodes/E2B/actions/code.operations.js.map +1 -0
  15. package/dist/nodes/E2B/actions/file.operations.d.ts +95 -0
  16. package/dist/nodes/E2B/actions/file.operations.js +183 -0
  17. package/dist/nodes/E2B/actions/file.operations.js.map +1 -0
  18. package/dist/nodes/E2B/actions/git.operations.d.ts +48 -0
  19. package/dist/nodes/E2B/actions/git.operations.js +554 -0
  20. package/dist/nodes/E2B/actions/git.operations.js.map +1 -0
  21. package/dist/nodes/E2B/actions/index.d.ts +2 -0
  22. package/dist/nodes/E2B/actions/index.js +95 -0
  23. package/dist/nodes/E2B/actions/index.js.map +1 -0
  24. package/dist/nodes/E2B/actions/sandbox.operations.d.ts +48 -0
  25. package/dist/nodes/E2B/actions/sandbox.operations.js +93 -0
  26. package/dist/nodes/E2B/actions/sandbox.operations.js.map +1 -0
  27. package/dist/nodes/E2B/actions/snapshot.operations.d.ts +22 -0
  28. package/dist/nodes/E2B/actions/snapshot.operations.js +46 -0
  29. package/dist/nodes/E2B/actions/snapshot.operations.js.map +1 -0
  30. package/dist/nodes/E2B/actions/volume.operations.d.ts +28 -0
  31. package/dist/nodes/E2B/actions/volume.operations.js +57 -0
  32. package/dist/nodes/E2B/actions/volume.operations.js.map +1 -0
  33. package/dist/nodes/E2B/client.d.ts +97 -0
  34. package/dist/nodes/E2B/client.js +546 -0
  35. package/dist/nodes/E2B/client.js.map +1 -0
  36. package/dist/nodes/E2B/e2b.dark.svg +1 -0
  37. package/dist/nodes/E2B/e2b.svg +1 -0
  38. package/dist/nodes/E2B/helpers.d.ts +22 -0
  39. package/dist/nodes/E2B/helpers.js +224 -0
  40. package/dist/nodes/E2B/helpers.js.map +1 -0
  41. package/dist/nodes/E2B/types.d.ts +21 -0
  42. package/dist/nodes/E2B/types.js +21 -0
  43. package/dist/nodes/E2B/types.js.map +1 -0
  44. package/package.json +70 -0
@@ -0,0 +1,554 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.status = status;
4
+ exports.add = add;
5
+ exports.checkout = checkout;
6
+ exports.clone = clone;
7
+ exports.commit = commit;
8
+ exports.pull = pull;
9
+ exports.push = push;
10
+ const n8n_workflow_1 = require("n8n-workflow");
11
+ const client_1 = require("../client");
12
+ const helpers_1 = require("../helpers");
13
+ const DEFAULT_GIT_ENV = {
14
+ GIT_TERMINAL_PROMPT: '0',
15
+ };
16
+ function parseAheadBehind(segment) {
17
+ if (!segment)
18
+ return { ahead: 0, behind: 0 };
19
+ let ahead = 0;
20
+ let behind = 0;
21
+ if (segment.includes('ahead')) {
22
+ const value = Number.parseInt(segment.split('ahead')[1].split(',')[0].trim(), 10);
23
+ ahead = Number.isFinite(value) ? value : 0;
24
+ }
25
+ if (segment.includes('behind')) {
26
+ const value = Number.parseInt(segment.split('behind')[1].split(',')[0].trim(), 10);
27
+ behind = Number.isFinite(value) ? value : 0;
28
+ }
29
+ return { ahead, behind };
30
+ }
31
+ function normalizeBranchName(name) {
32
+ if (name.startsWith('HEAD (detached at ')) {
33
+ return name.replace('HEAD (detached at ', '').replace(/\)$/, '');
34
+ }
35
+ return name
36
+ .replace('HEAD (no branch)', 'HEAD')
37
+ .replace('No commits yet on ', '')
38
+ .replace('Initial commit on ', '');
39
+ }
40
+ function deriveStatus(indexStatus, workingStatus) {
41
+ const statuses = new Set([indexStatus, workingStatus]);
42
+ if (statuses.has('U'))
43
+ return 'conflict';
44
+ if (statuses.has('R'))
45
+ return 'renamed';
46
+ if (statuses.has('C'))
47
+ return 'copied';
48
+ if (statuses.has('D'))
49
+ return 'deleted';
50
+ if (statuses.has('A'))
51
+ return 'added';
52
+ if (statuses.has('M'))
53
+ return 'modified';
54
+ if (statuses.has('T'))
55
+ return 'typechange';
56
+ if (statuses.has('?'))
57
+ return 'untracked';
58
+ return 'unknown';
59
+ }
60
+ function parseGitStatus(output) {
61
+ const lines = output
62
+ .split('\n')
63
+ .map((line) => line.replace(/\r$/, ''))
64
+ .filter((line) => line.trim().length > 0);
65
+ let currentBranch;
66
+ let upstream;
67
+ let ahead = 0;
68
+ let behind = 0;
69
+ let detached = false;
70
+ const fileStatus = [];
71
+ if (lines.length === 0) {
72
+ return {
73
+ currentBranch,
74
+ upstream,
75
+ ahead,
76
+ behind,
77
+ detached,
78
+ fileStatus,
79
+ isClean: true,
80
+ hasChanges: false,
81
+ hasStaged: false,
82
+ hasUntracked: false,
83
+ hasConflicts: false,
84
+ totalCount: 0,
85
+ stagedCount: 0,
86
+ unstagedCount: 0,
87
+ untrackedCount: 0,
88
+ conflictCount: 0,
89
+ };
90
+ }
91
+ const branchLine = lines[0];
92
+ if (branchLine.startsWith('## ')) {
93
+ const branchInfo = branchLine.slice(3);
94
+ const aheadStart = branchInfo.indexOf(' [');
95
+ const branchPart = aheadStart === -1 ? branchInfo : branchInfo.slice(0, aheadStart);
96
+ const aheadPart = aheadStart === -1 ? undefined : branchInfo.slice(aheadStart + 2, -1);
97
+ const normalizedBranch = normalizeBranchName(branchPart);
98
+ const isDetached = branchPart.startsWith('HEAD (detached at ') || branchPart.includes('detached');
99
+ if (isDetached || normalizedBranch.startsWith('HEAD')) {
100
+ detached = true;
101
+ }
102
+ else if (normalizedBranch.includes('...')) {
103
+ const [branch, upstreamBranch] = normalizedBranch.split('...');
104
+ currentBranch = branch || undefined;
105
+ upstream = upstreamBranch || undefined;
106
+ }
107
+ else {
108
+ currentBranch = normalizedBranch || undefined;
109
+ }
110
+ const aheadBehind = parseAheadBehind(aheadPart);
111
+ ahead = aheadBehind.ahead;
112
+ behind = aheadBehind.behind;
113
+ }
114
+ for (const line of lines.slice(1)) {
115
+ if (line.startsWith('?? ')) {
116
+ const name = line.slice(3);
117
+ fileStatus.push({
118
+ name,
119
+ status: 'untracked',
120
+ indexStatus: '?',
121
+ workingTreeStatus: '?',
122
+ staged: false,
123
+ });
124
+ continue;
125
+ }
126
+ if (line.length < 3)
127
+ continue;
128
+ const indexStatus = line[0];
129
+ const workingTreeStatus = line[1];
130
+ const path = line.slice(3);
131
+ let renamedFrom;
132
+ let name = path;
133
+ if (path.includes(' -> ')) {
134
+ const parts = path.split(' -> ');
135
+ renamedFrom = parts[0];
136
+ name = parts.slice(1).join(' -> ');
137
+ }
138
+ fileStatus.push({
139
+ name,
140
+ status: deriveStatus(indexStatus, workingTreeStatus),
141
+ indexStatus,
142
+ workingTreeStatus,
143
+ staged: indexStatus !== ' ' && indexStatus !== '?',
144
+ ...(renamedFrom ? { renamedFrom } : {}),
145
+ });
146
+ }
147
+ const totalCount = fileStatus.length;
148
+ const stagedCount = fileStatus.filter((item) => item.staged).length;
149
+ const untrackedCount = fileStatus.filter((item) => item.status === 'untracked').length;
150
+ const conflictCount = fileStatus.filter((item) => item.status === 'conflict').length;
151
+ const unstagedCount = totalCount - stagedCount;
152
+ return {
153
+ currentBranch,
154
+ upstream,
155
+ ahead,
156
+ behind,
157
+ detached,
158
+ fileStatus,
159
+ isClean: totalCount === 0,
160
+ hasChanges: totalCount > 0,
161
+ hasStaged: stagedCount > 0,
162
+ hasUntracked: untrackedCount > 0,
163
+ hasConflicts: conflictCount > 0,
164
+ totalCount,
165
+ stagedCount,
166
+ unstagedCount,
167
+ untrackedCount,
168
+ conflictCount,
169
+ };
170
+ }
171
+ function buildGitCommand(args, repoPath) {
172
+ const parts = ['git'];
173
+ if (repoPath)
174
+ parts.push('-C', repoPath);
175
+ parts.push(...args);
176
+ return parts.map(helpers_1.quoteShellArg).join(' ');
177
+ }
178
+ function resultMessage(result) {
179
+ const details = [result.error, result.stderr.trim(), result.stdout.trim()]
180
+ .filter((entry) => entry && entry.length > 0)
181
+ .join('; ');
182
+ return details || `Git command exited with code ${result.exitCode}`;
183
+ }
184
+ function commandText(result) {
185
+ return `${result.stderr}\n${result.stdout}`.toLowerCase();
186
+ }
187
+ function isAuthFailure(result) {
188
+ if (result.exitCode === 0)
189
+ return false;
190
+ const message = commandText(result);
191
+ const authSnippets = [
192
+ 'authentication failed',
193
+ 'terminal prompts disabled',
194
+ 'could not read username',
195
+ 'invalid username or password',
196
+ 'access denied',
197
+ 'permission denied',
198
+ 'not authorized',
199
+ ];
200
+ return authSnippets.some((snippet) => message.includes(snippet));
201
+ }
202
+ function isMissingUpstream(result) {
203
+ if (result.exitCode === 0)
204
+ return false;
205
+ const message = commandText(result);
206
+ const upstreamSnippets = [
207
+ 'has no upstream branch',
208
+ 'no upstream branch',
209
+ 'no upstream configured',
210
+ 'no tracking information for the current branch',
211
+ 'no tracking information',
212
+ 'set the remote as upstream',
213
+ 'set the upstream branch',
214
+ 'please specify which branch you want to merge with',
215
+ ];
216
+ return upstreamSnippets.some((snippet) => message.includes(snippet));
217
+ }
218
+ function buildAuthErrorMessage(action, missingPassword) {
219
+ if (missingPassword) {
220
+ return `Git ${action} requires a password/token for private repositories.`;
221
+ }
222
+ return `Git ${action} requires credentials for private repositories.`;
223
+ }
224
+ function buildUpstreamErrorMessage(action) {
225
+ if (action === 'push') {
226
+ return ('Git push failed because no upstream branch is configured. ' +
227
+ 'Set upstream once with the Set Upstream option, or pass remote and branch explicitly.');
228
+ }
229
+ return ('Git pull failed because no upstream branch is configured. ' +
230
+ 'Pass remote and branch explicitly, or set upstream once before pulling.');
231
+ }
232
+ function throwGitError(context, message) {
233
+ throw new n8n_workflow_1.NodeOperationError(context.executeFunctions.getNode(), message, {
234
+ itemIndex: context.itemIndex,
235
+ });
236
+ }
237
+ function addCredentialsToUrl(context, url, username, password) {
238
+ let parsed;
239
+ try {
240
+ parsed = new URL(url);
241
+ }
242
+ catch {
243
+ throwGitError(context, `Invalid Git URL: ${url}`);
244
+ }
245
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
246
+ throwGitError(context, 'Only http(s) Git URLs support username/password credentials.');
247
+ }
248
+ parsed.username = username;
249
+ parsed.password = password;
250
+ return parsed.toString();
251
+ }
252
+ function stripCredentials(url) {
253
+ let parsed;
254
+ try {
255
+ parsed = new URL(url);
256
+ }
257
+ catch {
258
+ return url;
259
+ }
260
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
261
+ return url;
262
+ if (!parsed.username && !parsed.password)
263
+ return url;
264
+ parsed.username = '';
265
+ parsed.password = '';
266
+ return parsed.toString();
267
+ }
268
+ function buildPushArgs(remote, branch, setUpstream) {
269
+ const args = ['push'];
270
+ if (setUpstream && remote)
271
+ args.push('--set-upstream');
272
+ if (remote)
273
+ args.push(remote);
274
+ if (branch)
275
+ args.push(branch);
276
+ return args;
277
+ }
278
+ async function getGitContext(context) {
279
+ const { executeFunctions, credentials, itemIndex, timeoutMs } = context;
280
+ const connection = { executeFunctions, credentials, timeoutMs };
281
+ const sandboxId = (0, helpers_1.getRequiredStringParameter)(executeFunctions, 'sandboxId', 'Sandbox ID', itemIndex);
282
+ const repositoryPath = (0, helpers_1.getRequiredStringParameter)(executeFunctions, 'repositoryPath', 'Repository Path', itemIndex);
283
+ const sandbox = await (0, client_1.connectSandbox)(connection, sandboxId);
284
+ const startedAt = Date.now();
285
+ return { ...context, connection, sandbox, sandboxId, repositoryPath, startedAt };
286
+ }
287
+ async function runGit(context, args, repoPath = context.repositoryPath, envs) {
288
+ const targetRepoPath = repoPath === null ? undefined : repoPath;
289
+ return await (0, client_1.runSandboxCommand)(context.connection, context.sandbox, buildGitCommand(args, targetRepoPath), {
290
+ envs: { ...DEFAULT_GIT_ENV, ...(envs ?? {}) },
291
+ });
292
+ }
293
+ function assertSuccessfulGitResult(context, result) {
294
+ if (result.exitCode === 0)
295
+ return;
296
+ throwGitError(context, resultMessage(result));
297
+ }
298
+ async function getRemoteUrl(context, remote) {
299
+ const result = await runGit(context, ['remote', 'get-url', remote]);
300
+ assertSuccessfulGitResult(context, result);
301
+ const url = result.stdout.trim();
302
+ if (!url)
303
+ throwGitError(context, `Remote "${remote}" URL not found in repository.`);
304
+ return url;
305
+ }
306
+ async function resolveRemoteName(context, remote) {
307
+ if (remote)
308
+ return remote;
309
+ const result = await runGit(context, ['remote']);
310
+ assertSuccessfulGitResult(context, result);
311
+ const remotes = result.stdout
312
+ .split('\n')
313
+ .map((line) => line.trim())
314
+ .filter(Boolean);
315
+ if (remotes.length === 1)
316
+ return remotes[0];
317
+ throwGitError(context, 'Remote is required when using username/password and the repository has multiple remotes.');
318
+ }
319
+ async function withRemoteCredentials(context, remote, username, password, operation) {
320
+ const originalUrl = await getRemoteUrl(context, remote);
321
+ const credentialUrl = addCredentialsToUrl(context, originalUrl, username, password);
322
+ assertSuccessfulGitResult(context, await runGit(context, ['remote', 'set-url', remote, credentialUrl]));
323
+ let operationResult;
324
+ let operationError;
325
+ try {
326
+ operationResult = await operation();
327
+ }
328
+ catch (error) {
329
+ operationError = error;
330
+ }
331
+ let restoreError;
332
+ try {
333
+ assertSuccessfulGitResult(context, await runGit(context, ['remote', 'set-url', remote, originalUrl]));
334
+ }
335
+ catch (error) {
336
+ restoreError = error;
337
+ }
338
+ if (operationError)
339
+ throw operationError;
340
+ if (restoreError)
341
+ throw restoreError;
342
+ if (!operationResult)
343
+ throwGitError(context, 'Git operation did not return a result.');
344
+ return operationResult;
345
+ }
346
+ function handleAuthOrUpstreamError(context, result, action, missingPassword) {
347
+ if (isAuthFailure(result))
348
+ throwGitError(context, buildAuthErrorMessage(action, missingPassword));
349
+ if ((action === 'push' || action === 'pull') && isMissingUpstream(result)) {
350
+ throwGitError(context, buildUpstreamErrorMessage(action));
351
+ }
352
+ }
353
+ async function status(context) {
354
+ const gitContext = await getGitContext(context);
355
+ const result = await runGit(gitContext, ['status', '--porcelain=1', '-b']);
356
+ assertSuccessfulGitResult(gitContext, result);
357
+ const statusData = parseGitStatus(result.stdout);
358
+ return [
359
+ {
360
+ json: {
361
+ sandboxId: gitContext.sandboxId,
362
+ repositoryPath: gitContext.repositoryPath,
363
+ status: statusData,
364
+ },
365
+ pairedItem: { item: context.itemIndex },
366
+ },
367
+ ];
368
+ }
369
+ async function add(context) {
370
+ const gitContext = await getGitContext(context);
371
+ const filesRaw = (0, helpers_1.asNonEmptyString)(context.executeFunctions.getNodeParameter('files', context.itemIndex, '.'));
372
+ const files = (0, helpers_1.splitCommaSeparated)(filesRaw);
373
+ const addAll = !files || (files.length === 1 && files[0] === '.');
374
+ const result = await runGit(gitContext, addAll ? ['add', '-A'] : ['add', '--', ...(files ?? [])]);
375
+ return [
376
+ {
377
+ json: (0, helpers_1.toOperationCommandResultData)(result, gitContext.sandboxId, 'git.add', gitContext.startedAt, {
378
+ repositoryPath: gitContext.repositoryPath,
379
+ files: addAll ? ['.'] : files,
380
+ }),
381
+ pairedItem: { item: context.itemIndex },
382
+ },
383
+ ];
384
+ }
385
+ async function checkout(context) {
386
+ const gitContext = await getGitContext(context);
387
+ const gitRef = (0, helpers_1.getRequiredStringParameter)(context.executeFunctions, 'gitRef', 'Git Ref', context.itemIndex);
388
+ const result = await runGit(gitContext, ['checkout', gitRef]);
389
+ return [
390
+ {
391
+ json: (0, helpers_1.toOperationCommandResultData)(result, gitContext.sandboxId, 'git.checkout', gitContext.startedAt, {
392
+ repositoryPath: gitContext.repositoryPath,
393
+ gitRef,
394
+ }),
395
+ pairedItem: { item: context.itemIndex },
396
+ },
397
+ ];
398
+ }
399
+ async function clone(context) {
400
+ const gitContext = await getGitContext(context);
401
+ const repositoryUrl = (0, helpers_1.getRequiredStringParameter)(context.executeFunctions, 'repositoryUrl', 'Repository URL', context.itemIndex);
402
+ const cloneOptions = (0, helpers_1.getCollectionParameter)(context.executeFunctions, 'cloneOptions', context.itemIndex);
403
+ const branch = (0, helpers_1.getRecordString)(cloneOptions, 'branch');
404
+ const commitId = (0, helpers_1.getRecordString)(cloneOptions, 'commitId');
405
+ const depth = (0, helpers_1.getRecordNumber)(cloneOptions, 'depth');
406
+ const username = (0, helpers_1.getRecordString)(cloneOptions, 'username');
407
+ const password = (0, helpers_1.getRecordString)(cloneOptions, 'password');
408
+ const dangerouslyStoreCredentials = (0, helpers_1.getRecordBoolean)(cloneOptions, 'dangerouslyStoreCredentials') === true;
409
+ if (password && !username) {
410
+ throwGitError(context, 'Username is required when using a password or token for git clone.');
411
+ }
412
+ const urlWithCreds = username && password ? addCredentialsToUrl(context, repositoryUrl, username, password) : repositoryUrl;
413
+ const sanitizedUrl = stripCredentials(urlWithCreds);
414
+ const shouldStripInlineCreds = !dangerouslyStoreCredentials && sanitizedUrl !== urlWithCreds;
415
+ const args = ['clone', urlWithCreds];
416
+ if (branch)
417
+ args.push('--branch', branch, '--single-branch');
418
+ if (depth)
419
+ args.push('--depth', depth.toString());
420
+ args.push(gitContext.repositoryPath);
421
+ const result = await runGit(gitContext, args, null);
422
+ handleAuthOrUpstreamError(gitContext, result, 'clone', Boolean(username) && !password);
423
+ if (shouldStripInlineCreds && result.exitCode === 0) {
424
+ assertSuccessfulGitResult(gitContext, await runGit(gitContext, ['remote', 'set-url', 'origin', sanitizedUrl]));
425
+ }
426
+ const resultData = (0, helpers_1.toOperationCommandResultData)(result, gitContext.sandboxId, 'git.clone', gitContext.startedAt, {
427
+ repositoryPath: gitContext.repositoryPath,
428
+ repositoryUrl,
429
+ branch,
430
+ depth,
431
+ });
432
+ if (commitId) {
433
+ const checkoutResult = await runGit(gitContext, ['checkout', commitId]);
434
+ resultData.checkout = {
435
+ success: checkoutResult.exitCode === 0,
436
+ exitCode: checkoutResult.exitCode,
437
+ stdout: checkoutResult.stdout,
438
+ stderr: checkoutResult.stderr,
439
+ error: checkoutResult.error,
440
+ commitId,
441
+ };
442
+ resultData.success = result.exitCode === 0 && checkoutResult.exitCode === 0;
443
+ }
444
+ return [
445
+ {
446
+ json: resultData,
447
+ pairedItem: { item: context.itemIndex },
448
+ },
449
+ ];
450
+ }
451
+ async function commit(context) {
452
+ const gitContext = await getGitContext(context);
453
+ const message = (0, helpers_1.getRequiredStringParameter)(context.executeFunctions, 'message', 'Message', context.itemIndex);
454
+ const commitOptions = (0, helpers_1.getCollectionParameter)(context.executeFunctions, 'commitOptions', context.itemIndex);
455
+ const authorName = (0, helpers_1.asNonEmptyString)(context.executeFunctions.getNodeParameter('authorName', context.itemIndex, ''));
456
+ const authorEmail = (0, helpers_1.asNonEmptyString)(context.executeFunctions.getNodeParameter('authorEmail', context.itemIndex, ''));
457
+ const allowEmpty = (0, helpers_1.getRecordBoolean)(commitOptions, 'allowEmpty') === true;
458
+ const args = ['commit', '-m', message];
459
+ if (allowEmpty)
460
+ args.push('--allow-empty');
461
+ const authorArgs = [];
462
+ if (authorName)
463
+ authorArgs.push('-c', `user.name=${authorName}`);
464
+ if (authorEmail)
465
+ authorArgs.push('-c', `user.email=${authorEmail}`);
466
+ const result = await runGit(gitContext, [...authorArgs, ...args]);
467
+ return [
468
+ {
469
+ json: (0, helpers_1.toOperationCommandResultData)(result, gitContext.sandboxId, 'git.commit', gitContext.startedAt, {
470
+ repositoryPath: gitContext.repositoryPath,
471
+ message,
472
+ authorName,
473
+ authorEmail,
474
+ allowEmpty,
475
+ }),
476
+ pairedItem: { item: context.itemIndex },
477
+ },
478
+ ];
479
+ }
480
+ async function pull(context) {
481
+ const gitContext = await getGitContext(context);
482
+ const remoteOptions = (0, helpers_1.getCollectionParameter)(context.executeFunctions, 'remoteOptions', context.itemIndex);
483
+ const remote = (0, helpers_1.getRecordString)(remoteOptions, 'remote');
484
+ const branch = (0, helpers_1.getRecordString)(remoteOptions, 'branch');
485
+ const username = (0, helpers_1.getRecordString)(remoteOptions, 'username');
486
+ const password = (0, helpers_1.getRecordString)(remoteOptions, 'password');
487
+ if (password && !username) {
488
+ throwGitError(context, 'Username is required when using a password or token for git pull.');
489
+ }
490
+ if (!remote && !branch) {
491
+ const hasUpstream = await runGit(gitContext, [
492
+ 'rev-parse',
493
+ '--abbrev-ref',
494
+ '--symbolic-full-name',
495
+ '@{u}',
496
+ ]);
497
+ if (hasUpstream.exitCode !== 0 || hasUpstream.stdout.trim().length === 0) {
498
+ throwGitError(gitContext, buildUpstreamErrorMessage('pull'));
499
+ }
500
+ }
501
+ const args = ['pull'];
502
+ if (remote)
503
+ args.push(remote);
504
+ if (branch)
505
+ args.push(branch);
506
+ const result = username && password
507
+ ? await withRemoteCredentials(gitContext, await resolveRemoteName(gitContext, remote), username, password, async () => await runGit(gitContext, args))
508
+ : await runGit(gitContext, args);
509
+ handleAuthOrUpstreamError(gitContext, result, 'pull', Boolean(username) && !password);
510
+ return [
511
+ {
512
+ json: (0, helpers_1.toOperationCommandResultData)(result, gitContext.sandboxId, 'git.pull', gitContext.startedAt, {
513
+ repositoryPath: gitContext.repositoryPath,
514
+ remote,
515
+ branch,
516
+ }),
517
+ pairedItem: { item: context.itemIndex },
518
+ },
519
+ ];
520
+ }
521
+ async function push(context) {
522
+ const gitContext = await getGitContext(context);
523
+ const remoteOptions = (0, helpers_1.getCollectionParameter)(context.executeFunctions, 'remoteOptions', context.itemIndex);
524
+ const remote = (0, helpers_1.getRecordString)(remoteOptions, 'remote');
525
+ const branch = (0, helpers_1.getRecordString)(remoteOptions, 'branch');
526
+ const setUpstream = (0, helpers_1.getRecordBoolean)(remoteOptions, 'setUpstream') === true;
527
+ const username = (0, helpers_1.getRecordString)(remoteOptions, 'username');
528
+ const password = (0, helpers_1.getRecordString)(remoteOptions, 'password');
529
+ if (password && !username) {
530
+ throwGitError(context, 'Username is required when using a password or token for git push.');
531
+ }
532
+ const args = buildPushArgs(remote, branch, setUpstream);
533
+ let result;
534
+ if (username && password) {
535
+ const remoteName = await resolveRemoteName(gitContext, remote);
536
+ result = await withRemoteCredentials(gitContext, remoteName, username, password, async () => await runGit(gitContext, buildPushArgs(remoteName, branch, setUpstream)));
537
+ }
538
+ else {
539
+ result = await runGit(gitContext, args);
540
+ }
541
+ handleAuthOrUpstreamError(gitContext, result, 'push', Boolean(username) && !password);
542
+ return [
543
+ {
544
+ json: (0, helpers_1.toOperationCommandResultData)(result, gitContext.sandboxId, 'git.push', gitContext.startedAt, {
545
+ repositoryPath: gitContext.repositoryPath,
546
+ remote,
547
+ branch,
548
+ setUpstream,
549
+ }),
550
+ pairedItem: { item: context.itemIndex },
551
+ },
552
+ ];
553
+ }
554
+ //# sourceMappingURL=git.operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.operations.js","sourceRoot":"","sources":["../../../../nodes/E2B/actions/git.operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { E2BOperationHandler, Operation, Resource } from '../types';
2
+ export declare function getOperationHandler(resource: Resource, operation: Operation): E2BOperationHandler;