@action-llama/action-llama 0.6.5 → 0.6.7

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 (45) hide show
  1. package/dist/agents/container-entry.js +3 -3
  2. package/dist/agents/container-entry.js.map +1 -1
  3. package/dist/agents/container-runner.d.ts +2 -1
  4. package/dist/agents/container-runner.d.ts.map +1 -1
  5. package/dist/agents/container-runner.js +9 -5
  6. package/dist/agents/container-runner.js.map +1 -1
  7. package/dist/cli/commands/doctor.d.ts.map +1 -1
  8. package/dist/cli/commands/doctor.js +109 -0
  9. package/dist/cli/commands/doctor.js.map +1 -1
  10. package/dist/cli/commands/run.d.ts.map +1 -1
  11. package/dist/cli/commands/run.js +31 -14
  12. package/dist/cli/commands/run.js.map +1 -1
  13. package/dist/docker/aws-shared.d.ts +46 -0
  14. package/dist/docker/aws-shared.d.ts.map +1 -0
  15. package/dist/docker/aws-shared.js +382 -0
  16. package/dist/docker/aws-shared.js.map +1 -0
  17. package/dist/docker/ecs-runtime.d.ts +1 -16
  18. package/dist/docker/ecs-runtime.d.ts.map +1 -1
  19. package/dist/docker/ecs-runtime.js +22 -358
  20. package/dist/docker/ecs-runtime.js.map +1 -1
  21. package/dist/docker/lambda-runtime.d.ts +43 -0
  22. package/dist/docker/lambda-runtime.d.ts.map +1 -0
  23. package/dist/docker/lambda-runtime.js +247 -0
  24. package/dist/docker/lambda-runtime.js.map +1 -0
  25. package/dist/gateway/index.js +2 -2
  26. package/dist/gateway/index.js.map +1 -1
  27. package/dist/gateway/routes/locks.js +3 -3
  28. package/dist/gateway/routes/locks.js.map +1 -1
  29. package/dist/gateway/types.d.ts +2 -0
  30. package/dist/gateway/types.d.ts.map +1 -1
  31. package/dist/scheduler/index.d.ts.map +1 -1
  32. package/dist/scheduler/index.js +31 -2
  33. package/dist/scheduler/index.js.map +1 -1
  34. package/dist/shared/aws-constants.d.ts +10 -0
  35. package/dist/shared/aws-constants.d.ts.map +1 -1
  36. package/dist/shared/aws-constants.js +10 -0
  37. package/dist/shared/aws-constants.js.map +1 -1
  38. package/dist/shared/config.d.ts +4 -0
  39. package/dist/shared/config.d.ts.map +1 -1
  40. package/dist/shared/config.js.map +1 -1
  41. package/dist/shared/credentials.d.ts +10 -0
  42. package/dist/shared/credentials.d.ts.map +1 -1
  43. package/dist/shared/credentials.js +21 -0
  44. package/dist/shared/credentials.js.map +1 -1
  45. package/package.json +2 -1
@@ -1,13 +1,7 @@
1
- import { execFileSync } from "child_process";
2
- import { createReadStream } from "fs";
3
1
  import { ECSClient, RegisterTaskDefinitionCommand, RunTaskCommand, DescribeTasksCommand, StopTaskCommand, ListTasksCommand, } from "@aws-sdk/client-ecs";
4
- import { SecretsManagerClient, ListSecretsCommand, } from "@aws-sdk/client-secrets-manager";
5
- import { CloudWatchLogsClient, GetLogEventsCommand, FilterLogEventsCommand, CreateLogGroupCommand, } from "@aws-sdk/client-cloudwatch-logs";
6
- import { CodeBuildClient, StartBuildCommand, BatchGetBuildsCommand, CreateProjectCommand, } from "@aws-sdk/client-codebuild";
7
- import { S3Client, PutObjectCommand, CreateBucketCommand, HeadBucketCommand, } from "@aws-sdk/client-s3";
8
- import { ECRClient, BatchGetImageCommand, } from "@aws-sdk/client-ecr";
9
- import { parseCredentialRef } from "../shared/credentials.js";
2
+ import { AwsSharedUtils } from "./aws-shared.js";
10
3
  import { AWS_CONSTANTS } from "../shared/aws-constants.js";
4
+ import { sanitizeEnvPart } from "../shared/credentials.js";
11
5
  /**
12
6
  * AWS ECS Fargate runtime.
13
7
  *
@@ -30,39 +24,20 @@ import { AWS_CONSTANTS } from "../shared/aws-constants.js";
30
24
  export class ECSFargateRuntime {
31
25
  needsGateway = false;
32
26
  config;
33
- prefix;
34
27
  ecsClient;
35
- smClient;
36
- logsClient;
37
- cbClient;
38
- s3Client;
39
- ecrClient;
28
+ shared;
40
29
  constructor(config) {
41
30
  this.config = config;
42
- this.prefix = config.secretPrefix || AWS_CONSTANTS.DEFAULT_SECRET_PREFIX;
43
- const clientConfig = { region: config.awsRegion };
44
- this.ecsClient = new ECSClient(clientConfig);
45
- this.smClient = new SecretsManagerClient(clientConfig);
46
- this.logsClient = new CloudWatchLogsClient(clientConfig);
47
- this.cbClient = new CodeBuildClient(clientConfig);
48
- this.s3Client = new S3Client(clientConfig);
49
- this.ecrClient = new ECRClient(clientConfig);
31
+ this.ecsClient = new ECSClient({ region: config.awsRegion });
32
+ this.shared = new AwsSharedUtils({
33
+ awsRegion: config.awsRegion,
34
+ ecrRepository: config.ecrRepository,
35
+ secretPrefix: config.secretPrefix,
36
+ buildBucket: config.buildBucket,
37
+ });
50
38
  }
51
39
  static STARTED_BY_PREFIX = AWS_CONSTANTS.STARTED_BY;
52
40
  static LOG_GROUP = AWS_CONSTANTS.LOG_GROUP;
53
- logGroupCreated = false;
54
- async ensureLogGroup() {
55
- if (this.logGroupCreated)
56
- return;
57
- try {
58
- await this.logsClient.send(new CreateLogGroupCommand({ logGroupName: ECSFargateRuntime.LOG_GROUP }));
59
- }
60
- catch (err) {
61
- if (err.name !== "ResourceAlreadyExistsException")
62
- throw err;
63
- }
64
- this.logGroupCreated = true;
65
- }
66
41
  // --- Agent tracking ---
67
42
  async isAgentRunning(agentName) {
68
43
  const family = AWS_CONSTANTS.agentFamily(agentName);
@@ -97,294 +72,24 @@ export class ECSFargateRuntime {
97
72
  };
98
73
  });
99
74
  }
100
- // --- Credential preparation ---
75
+ // --- Credential preparation (delegates to shared) ---
101
76
  async prepareCredentials(credRefs) {
102
- const mounts = [];
103
- for (const credRef of credRefs) {
104
- const { type, instance } = parseCredentialRef(credRef);
105
- const fields = await this.listSecretFields(type, instance);
106
- for (const field of fields) {
107
- const secretName = this.awsSecretName(type, instance, field);
108
- mounts.push({
109
- secretId: secretName,
110
- mountPath: `/credentials/${type}/${instance}/${field}`,
111
- });
112
- }
113
- }
114
- return { strategy: "secrets-manager", mounts };
77
+ return this.shared.prepareCredentials(credRefs);
115
78
  }
116
79
  cleanupCredentials(_creds) {
117
80
  // No-op
118
81
  }
119
- // --- Image management ---
82
+ // --- Image management (delegates to shared) ---
120
83
  async buildImage(opts) {
121
- return this.buildImageCodeBuild(opts, opts.onProgress);
84
+ return this.shared.buildImageCodeBuild(opts, opts.onProgress);
122
85
  }
123
86
  async pushImage(_localImage) {
124
87
  // CodeBuild handles build + push in one step; the image is already in ECR
125
88
  return `${this.config.ecrRepository}:${_localImage.replace(":", "-")}`;
126
89
  }
127
- async buildImageCodeBuild(opts, onProgress) {
128
- onProgress?.("Preparing build context");
129
- const { join, relative, isAbsolute } = await import("path");
130
- const { readFileSync, writeFileSync } = await import("fs");
131
- const { randomUUID, createHash } = await import("crypto");
132
- // Resolve the Dockerfile path and handle two cases:
133
- // 1. Dockerfile is outside the context dir (agent custom Dockerfiles) — copy it in
134
- // 2. Dockerfile references a local base image — rewrite FROM to use the remote ECR URI
135
- const resolvedDockerfile = isAbsolute(opts.dockerfile)
136
- ? opts.dockerfile
137
- : join(opts.contextDir, opts.dockerfile);
138
- const relPath = relative(opts.contextDir, resolvedDockerfile);
139
- let dockerfileTar;
140
- let tempDockerfile;
141
- const needsCopy = relPath.startsWith("..");
142
- const needsRewrite = !!opts.baseImage;
143
- if (needsCopy || needsRewrite) {
144
- tempDockerfile = join(opts.contextDir, `.Dockerfile.${randomUUID().slice(0, 8)}`);
145
- let content = readFileSync(resolvedDockerfile, "utf-8");
146
- if (needsRewrite && opts.baseImage) {
147
- content = content.replace(/^FROM\s+\S+/m, `FROM ${opts.baseImage}`);
148
- }
149
- writeFileSync(tempDockerfile, content);
150
- dockerfileTar = relative(opts.contextDir, tempDockerfile);
151
- }
152
- else {
153
- dockerfileTar = relPath;
154
- }
155
- // Hash individual file contents (sorted) for a deterministic fingerprint.
156
- const { readdirSync, readFileSync: readFileSyncBuf } = await import("fs");
157
- const hash = createHash("sha256");
158
- const hashFile = (p) => {
159
- hash.update(p);
160
- hash.update(readFileSyncBuf(join(opts.contextDir, p)));
161
- };
162
- const hashDir = (dir) => {
163
- const entries = readdirSync(join(opts.contextDir, dir), { withFileTypes: true })
164
- .sort((a, b) => a.name.localeCompare(b.name));
165
- for (const entry of entries) {
166
- const p = join(dir, entry.name);
167
- if (entry.isDirectory())
168
- hashDir(p);
169
- else
170
- hashFile(p);
171
- }
172
- };
173
- hashFile(dockerfileTar);
174
- hashFile("package.json");
175
- hashDir("dist");
176
- // Clean up temp Dockerfile after hashing but before any early returns
177
- if (tempDockerfile) {
178
- try {
179
- const { rmSync } = await import("fs");
180
- rmSync(tempDockerfile);
181
- }
182
- catch { }
183
- }
184
- const contentHash = hash.digest("hex").slice(0, 16);
185
- const nameTag = opts.tag.replace(":", "-");
186
- const hashTag = `${nameTag}-${contentHash}`;
187
- const remoteTag = `${this.config.ecrRepository}:${hashTag}`;
188
- // Check ECR cache before doing any S3/CodeBuild work
189
- onProgress?.(`Checking cache (${hashTag})`);
190
- const repoName = this.config.ecrRepository.split("/").pop();
191
- const imageExists = await this.ecrImageExists(repoName, hashTag, onProgress);
192
- if (imageExists) {
193
- onProgress?.("Image unchanged — reusing cached build");
194
- return remoteTag;
195
- }
196
- // Cache miss — need to build. Re-create temp Dockerfile for tarball.
197
- if (needsCopy || needsRewrite) {
198
- tempDockerfile = join(opts.contextDir, `.Dockerfile.${randomUUID().slice(0, 8)}`);
199
- let content = readFileSync(resolvedDockerfile, "utf-8");
200
- if (needsRewrite && opts.baseImage) {
201
- content = content.replace(/^FROM\s+\S+/m, `FROM ${opts.baseImage}`);
202
- }
203
- writeFileSync(tempDockerfile, content);
204
- dockerfileTar = relative(opts.contextDir, tempDockerfile);
205
- }
206
- const { tmpdir } = await import("os");
207
- const tarPath = join(tmpdir(), `${AWS_CONSTANTS.BUILD_S3_PREFIX}-${randomUUID().slice(0, 8)}.tar.gz`);
208
- try {
209
- execFileSync("tar", [
210
- "czf", tarPath,
211
- "-C", opts.contextDir,
212
- dockerfileTar, "package.json", "dist",
213
- ], {
214
- encoding: "utf-8",
215
- timeout: 60_000,
216
- env: { ...process.env, COPYFILE_DISABLE: "1" },
217
- });
218
- }
219
- finally {
220
- if (tempDockerfile) {
221
- try {
222
- const { rmSync } = await import("fs");
223
- rmSync(tempDockerfile);
224
- }
225
- catch { }
226
- }
227
- }
228
- // Upload to S3
229
- onProgress?.("Uploading to S3");
230
- const bucket = await this.ensureBuildBucket();
231
- const s3Key = `${AWS_CONSTANTS.BUILD_S3_PREFIX}/${nameTag}-${Date.now()}.tar.gz`;
232
- await this.s3Client.send(new PutObjectCommand({
233
- Bucket: bucket,
234
- Key: s3Key,
235
- Body: createReadStream(tarPath),
236
- }));
237
- // Clean up local tarball
238
- try {
239
- const { rmSync } = await import("fs");
240
- rmSync(tarPath);
241
- }
242
- catch { }
243
- // Ensure CodeBuild project exists
244
- const projectName = AWS_CONSTANTS.CODEBUILD_PROJECT;
245
- await this.ensureCodeBuildProject(projectName, bucket);
246
- const registry = this.config.ecrRepository.split("/")[0];
247
- // Start build
248
- const buildspec = [
249
- "version: 0.2",
250
- "phases:",
251
- " pre_build:",
252
- " commands:",
253
- " - tar xzf *.tar.gz && rm -f *.tar.gz",
254
- " - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $ECR_REGISTRY",
255
- " build:",
256
- " commands:",
257
- " - docker build -t $IMAGE_URI -f $DOCKERFILE .",
258
- " - docker push $IMAGE_URI",
259
- ].join("\n");
260
- const buildRes = await this.cbClient.send(new StartBuildCommand({
261
- projectName,
262
- sourceTypeOverride: "S3",
263
- sourceLocationOverride: `${bucket}/${s3Key}`,
264
- buildspecOverride: buildspec,
265
- environmentVariablesOverride: [
266
- { name: "IMAGE_URI", value: remoteTag },
267
- { name: "ECR_REGISTRY", value: registry },
268
- { name: "DOCKERFILE", value: dockerfileTar },
269
- ],
270
- }));
271
- const buildId = buildRes.build?.id;
272
- if (!buildId)
273
- throw new Error("CodeBuild did not return a build ID");
274
- onProgress?.("Queued — waiting for CodeBuild");
275
- // Poll until complete
276
- while (true) {
277
- await sleep(10_000);
278
- const status = await this.cbClient.send(new BatchGetBuildsCommand({ ids: [buildId] }));
279
- const build = status.builds?.[0];
280
- if (!build)
281
- throw new Error(`CodeBuild build ${buildId} not found`);
282
- if (build.currentPhase) {
283
- const phaseLabels = {
284
- SUBMITTED: "Submitted",
285
- QUEUED: "Queued",
286
- PROVISIONING: "Provisioning build environment",
287
- DOWNLOAD_SOURCE: "Downloading source",
288
- INSTALL: "Installing dependencies",
289
- PRE_BUILD: "Logging in to ECR",
290
- BUILD: "Building and pushing image",
291
- POST_BUILD: "Finalizing",
292
- UPLOAD_ARTIFACTS: "Uploading artifacts",
293
- FINALIZING: "Finalizing",
294
- COMPLETED: "Complete",
295
- };
296
- const label = phaseLabels[build.currentPhase] || build.currentPhase;
297
- onProgress?.(label);
298
- }
299
- if (build.buildComplete) {
300
- if (build.buildStatus !== "SUCCEEDED") {
301
- const logs = build.logs?.deepLink || "";
302
- throw new Error(`CodeBuild build failed (${build.buildStatus}). Logs: ${logs}`);
303
- }
304
- return remoteTag;
305
- }
306
- }
307
- }
308
- async ecrImageExists(repositoryName, imageTag, onProgress) {
309
- try {
310
- const res = await this.ecrClient.send(new BatchGetImageCommand({
311
- repositoryName,
312
- imageIds: [{ imageTag }],
313
- }));
314
- return (res.images?.length ?? 0) > 0;
315
- }
316
- catch (err) {
317
- // ImageNotFoundException is expected when the image doesn't exist
318
- if (err.name === "ImageNotFoundException")
319
- return false;
320
- // Surface unexpected errors (permissions, network) so they're not silently swallowed
321
- onProgress?.(`Cache check failed: ${err.message ?? err}`);
322
- return false;
323
- }
324
- }
325
- async ensureBuildBucket() {
326
- if (this.config.buildBucket) {
327
- return this.config.buildBucket;
328
- }
329
- // Derive bucket name from account ID + region
330
- const accountId = this.getAccountId();
331
- const bucket = AWS_CONSTANTS.buildBucket(accountId, this.config.awsRegion);
332
- try {
333
- await this.s3Client.send(new HeadBucketCommand({ Bucket: bucket }));
334
- }
335
- catch (err) {
336
- if (err.name === "NotFound" || err.$metadata?.httpStatusCode === 404) {
337
- await this.s3Client.send(new CreateBucketCommand({ Bucket: bucket }));
338
- }
339
- else if (err.name !== "Forbidden") {
340
- // Forbidden means bucket exists but we don't own it — try anyway
341
- throw err;
342
- }
343
- }
344
- return bucket;
345
- }
346
- async ensureCodeBuildProject(projectName, bucket) {
347
- const accountId = this.getAccountId();
348
- const region = this.config.awsRegion;
349
- try {
350
- const status = await this.cbClient.send(new BatchGetBuildsCommand({ ids: [`${projectName}:dummy`] }));
351
- // If the project doesn't exist, BatchGetBuilds returns empty — but we need a better check
352
- // Actually, just try to create and handle the conflict
353
- void status;
354
- }
355
- catch { }
356
- const serviceRole = `arn:aws:iam::${accountId}:role/${AWS_CONSTANTS.CODEBUILD_ROLE}`;
357
- try {
358
- await this.cbClient.send(new CreateProjectCommand({
359
- name: projectName,
360
- source: {
361
- type: "S3",
362
- location: `${bucket}/`,
363
- },
364
- artifacts: { type: "NO_ARTIFACTS" },
365
- environment: {
366
- type: "LINUX_CONTAINER",
367
- computeType: "BUILD_GENERAL1_MEDIUM",
368
- image: "aws/codebuild/standard:7.0",
369
- privilegedMode: true,
370
- environmentVariables: [
371
- { name: "IMAGE_URI", value: "placeholder" },
372
- { name: "ECR_REGISTRY", value: "placeholder" },
373
- { name: "DOCKERFILE", value: "Dockerfile" },
374
- ],
375
- },
376
- serviceRole,
377
- }));
378
- }
379
- catch (err) {
380
- if (err.name !== "ResourceAlreadyExistsException") {
381
- throw err;
382
- }
383
- }
384
- }
385
90
  // --- Container lifecycle ---
386
91
  async launch(opts) {
387
- await this.ensureLogGroup();
92
+ await this.shared.ensureLogGroup(ECSFargateRuntime.LOG_GROUP);
388
93
  const family = AWS_CONSTANTS.agentFamily(opts.agentName);
389
94
  const secretMounts = opts.credentials.strategy === "secrets-manager"
390
95
  ? opts.credentials.mounts
@@ -409,7 +114,7 @@ export class ECSFargateRuntime {
409
114
  if (err.message?.includes("Unable to assume the service linked role") ||
410
115
  err.message?.includes("Unable to assume the role")) {
411
116
  const roleName = AWS_CONSTANTS.taskRoleName(opts.agentName);
412
- const accountId = this.getAccountId();
117
+ const accountId = this.shared.getAccountId();
413
118
  const roleArn = `arn:aws:iam::${accountId}:role/${roleName}`;
414
119
  const betterMessage = `❌ Failed to start ECS task for agent "${opts.agentName}"\n\n` +
415
120
  `🔍 Problem: ECS cannot assume the IAM task role "${roleName}"\n` +
@@ -449,7 +154,7 @@ export class ECSFargateRuntime {
449
154
  const logStream = `${family}/agent/${taskId}`;
450
155
  while (!stopped) {
451
156
  try {
452
- const result = await this.getLogEvents(logGroup, logStream, nextToken);
157
+ const result = await this.shared.getLogEvents(logGroup, logStream, nextToken);
453
158
  for (const event of result.events) {
454
159
  onLine(event.message);
455
160
  }
@@ -504,14 +209,7 @@ export class ECSFargateRuntime {
504
209
  // ECS cleans up stopped tasks automatically
505
210
  }
506
211
  async fetchLogs(agentName, limit) {
507
- const res = await this.logsClient.send(new FilterLogEventsCommand({
508
- logGroupName: ECSFargateRuntime.LOG_GROUP,
509
- logStreamNamePrefix: `${AWS_CONSTANTS.agentFamily(agentName)}/`,
510
- limit,
511
- }));
512
- return (res.events ?? [])
513
- .map((e) => e.message?.trimEnd() ?? "")
514
- .filter(Boolean);
212
+ return this.shared.filterLogEvents(ECSFargateRuntime.LOG_GROUP, `${AWS_CONSTANTS.agentFamily(agentName)}/`, limit);
515
213
  }
516
214
  getTaskUrl(taskArn) {
517
215
  // taskArn format: arn:aws:ecs:{region}:{account}:task/{cluster}/{taskId}
@@ -527,33 +225,15 @@ export class ECSFargateRuntime {
527
225
  }
528
226
  return null;
529
227
  }
530
- // --- Internal: Secret naming ---
531
- awsSecretName(type, instance, field) {
532
- return `${this.prefix}/${type}/${instance}/${field}`;
533
- }
534
- async listSecretFields(type, instance) {
535
- const prefix = `${this.prefix}/${type}/${instance}/`;
536
- const res = await this.smClient.send(new ListSecretsCommand({
537
- Filters: [{ Key: "name", Values: [prefix] }],
538
- MaxResults: 100,
539
- }));
540
- const fields = [];
541
- for (const secret of res.SecretList || []) {
542
- if (secret.Name?.startsWith(prefix)) {
543
- fields.push(secret.Name.slice(prefix.length));
544
- }
545
- }
546
- return fields;
547
- }
548
228
  // --- Internal: ECS operations ---
549
229
  async registerTaskDefinition(family, opts) {
550
230
  const environment = Object.entries(opts.env).map(([name, value]) => ({ name, value }));
551
231
  const secrets = opts.secretMounts.map((mount) => {
552
232
  const parts = mount.mountPath.replace("/credentials/", "").split("/");
553
- const envName = `AL_SECRET_${parts.join("__")}`;
233
+ const envName = `AL_SECRET_${parts.map(sanitizeEnvPart).join("__")}`;
554
234
  return {
555
235
  name: envName,
556
- valueFrom: `arn:aws:secretsmanager:${this.config.awsRegion}:${this.getAccountId()}:secret:${mount.secretId}`,
236
+ valueFrom: `arn:aws:secretsmanager:${this.config.awsRegion}:${this.shared.getAccountId()}:secret:${mount.secretId}`,
557
237
  };
558
238
  });
559
239
  const res = await this.ecsClient.send(new RegisterTaskDefinitionCommand({
@@ -613,7 +293,7 @@ export class ECSFargateRuntime {
613
293
  if (reason.includes("Unable to assume the role") ||
614
294
  reason.includes("arn:aws:iam::") && reason.includes("role/al-")) {
615
295
  const roleName = AWS_CONSTANTS.taskRoleName(agentName);
616
- const accountId = this.getAccountId();
296
+ const accountId = this.shared.getAccountId();
617
297
  const roleArn = `arn:aws:iam::${accountId}:role/${roleName}`;
618
298
  throw new Error(`❌ ECS failed to start task for agent "${agentName}"\n\n` +
619
299
  `🔍 Root cause: ECS cannot assume IAM role "${roleName}"\n` +
@@ -636,29 +316,13 @@ export class ECSFargateRuntime {
636
316
  }
637
317
  return tasks[0].taskArn;
638
318
  }
639
- async getLogEvents(logGroup, logStream, nextToken) {
640
- const res = await this.logsClient.send(new GetLogEventsCommand({
641
- logGroupName: logGroup,
642
- logStreamName: logStream,
643
- startFromHead: true,
644
- nextToken,
645
- }));
646
- return {
647
- events: (res.events || []).map((e) => ({ message: e.message?.trimEnd() || "" })),
648
- nextForwardToken: res.nextForwardToken,
649
- };
650
- }
651
319
  // --- Internal: Per-agent task role derivation ---
652
320
  deriveTaskRoleArn(agentName) {
653
- const accountId = this.getAccountId();
321
+ const accountId = this.shared.getAccountId();
654
322
  if (!accountId)
655
323
  return undefined;
656
324
  return `arn:aws:iam::${accountId}:role/${AWS_CONSTANTS.taskRoleName(agentName)}`;
657
325
  }
658
- getAccountId() {
659
- const match = this.config.ecrRepository.match(/^(\d+)\.dkr\.ecr\./);
660
- return match?.[1] || "";
661
- }
662
326
  }
663
327
  function sleep(ms) {
664
328
  return new Promise((r) => setTimeout(r, ms));
@@ -1 +1 @@
1
- {"version":3,"file":"ecs-runtime.js","sourceRoot":"","sources":["../../src/docker/ecs-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecs-runtime.js","sourceRoot":"","sources":["../../src/docker/ecs-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * AWS Lambda runtime.
3
+ *
4
+ * Automatically used for ECS-provider agents with timeout <= 900s (15 min).
5
+ * Uses the same ECR images and Secrets Manager credentials as ECS Fargate,
6
+ * but runs as Lambda functions for faster cold starts and lower cost.
7
+ */
8
+ import type { ContainerRuntime, RuntimeLaunchOpts, RuntimeCredentials, BuildImageOpts, RunningAgent } from "./runtime.js";
9
+ export interface LambdaRuntimeConfig {
10
+ awsRegion: string;
11
+ ecrRepository: string;
12
+ secretPrefix?: string;
13
+ buildBucket?: string;
14
+ lambdaRoleArn?: string;
15
+ lambdaSubnets?: string[];
16
+ lambdaSecurityGroups?: string[];
17
+ }
18
+ export declare class LambdaRuntime implements ContainerRuntime {
19
+ readonly needsGateway = false;
20
+ private config;
21
+ private lambdaClient;
22
+ private shared;
23
+ constructor(config: LambdaRuntimeConfig);
24
+ isAgentRunning(_agentName: string): Promise<boolean>;
25
+ listRunningAgents(): Promise<RunningAgent[]>;
26
+ prepareCredentials(credRefs: string[]): Promise<RuntimeCredentials>;
27
+ cleanupCredentials(_creds: RuntimeCredentials): void;
28
+ buildImage(opts: BuildImageOpts): Promise<string>;
29
+ pushImage(_localImage: string): Promise<string>;
30
+ launch(opts: RuntimeLaunchOpts): Promise<string>;
31
+ streamLogs(containerId: string, onLine: (line: string) => void, onStderr?: (text: string) => void): {
32
+ stop: () => void;
33
+ };
34
+ waitForExit(containerId: string, timeoutSeconds: number): Promise<number>;
35
+ kill(_containerId: string): Promise<void>;
36
+ remove(_containerId: string): Promise<void>;
37
+ fetchLogs(agentName: string, limit: number): Promise<string[]>;
38
+ getTaskUrl(containerId: string): string | null;
39
+ private parseFunctionName;
40
+ private deriveLambdaRoleArn;
41
+ private waitForFunctionReady;
42
+ }
43
+ //# sourceMappingURL=lambda-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/lambda-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI1H,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,YAAY,SAAS;IAE9B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,mBAAmB;IAajC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAO5C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMzE,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAM9C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM/C,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4FtD,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IA6BjB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BzE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMpE,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO9C,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,mBAAmB;YAQb,oBAAoB;CAyBnC"}