@action-llama/action-llama 0.10.2 → 0.11.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.
Files changed (259) hide show
  1. package/AGENTS.md +17 -6
  2. package/README.md +31 -20
  3. package/dist/agents/container-entry.d.ts.map +1 -1
  4. package/dist/agents/container-entry.js +37 -0
  5. package/dist/agents/container-entry.js.map +1 -1
  6. package/dist/agents/container-runner.d.ts +4 -0
  7. package/dist/agents/container-runner.d.ts.map +1 -1
  8. package/dist/agents/container-runner.js +82 -5
  9. package/dist/agents/container-runner.js.map +1 -1
  10. package/dist/agents/execution-engine.d.ts +2 -0
  11. package/dist/agents/execution-engine.d.ts.map +1 -1
  12. package/dist/agents/execution-engine.js +5 -1
  13. package/dist/agents/execution-engine.js.map +1 -1
  14. package/dist/agents/runner.d.ts +3 -0
  15. package/dist/agents/runner.d.ts.map +1 -1
  16. package/dist/agents/runner.js +45 -2
  17. package/dist/agents/runner.js.map +1 -1
  18. package/dist/cli/commands/chat.d.ts +5 -2
  19. package/dist/cli/commands/chat.d.ts.map +1 -1
  20. package/dist/cli/commands/chat.js +240 -23
  21. package/dist/cli/commands/chat.js.map +1 -1
  22. package/dist/cli/commands/cloud-deploy.d.ts.map +1 -1
  23. package/dist/cli/commands/cloud-deploy.js +6 -48
  24. package/dist/cli/commands/cloud-deploy.js.map +1 -1
  25. package/dist/cli/commands/cloud-setup.d.ts.map +1 -1
  26. package/dist/cli/commands/cloud-setup.js +20 -33
  27. package/dist/cli/commands/cloud-setup.js.map +1 -1
  28. package/dist/cli/commands/cloud-teardown.d.ts.map +1 -1
  29. package/dist/cli/commands/cloud-teardown.js +6 -126
  30. package/dist/cli/commands/cloud-teardown.js.map +1 -1
  31. package/dist/cli/commands/doctor.d.ts +0 -1
  32. package/dist/cli/commands/doctor.d.ts.map +1 -1
  33. package/dist/cli/commands/doctor.js +21 -16
  34. package/dist/cli/commands/doctor.js.map +1 -1
  35. package/dist/cli/commands/kill.d.ts +1 -1
  36. package/dist/cli/commands/kill.d.ts.map +1 -1
  37. package/dist/cli/commands/kill.js +17 -6
  38. package/dist/cli/commands/kill.js.map +1 -1
  39. package/dist/cli/commands/logs.d.ts.map +1 -1
  40. package/dist/cli/commands/logs.js +105 -59
  41. package/dist/cli/commands/logs.js.map +1 -1
  42. package/dist/cli/commands/pause.d.ts +1 -1
  43. package/dist/cli/commands/pause.d.ts.map +1 -1
  44. package/dist/cli/commands/pause.js +9 -6
  45. package/dist/cli/commands/pause.js.map +1 -1
  46. package/dist/cli/commands/resume.d.ts +1 -1
  47. package/dist/cli/commands/resume.d.ts.map +1 -1
  48. package/dist/cli/commands/resume.js +9 -6
  49. package/dist/cli/commands/resume.js.map +1 -1
  50. package/dist/cli/commands/run.d.ts.map +1 -1
  51. package/dist/cli/commands/run.js +13 -55
  52. package/dist/cli/commands/run.js.map +1 -1
  53. package/dist/cli/commands/start.js +3 -3
  54. package/dist/cli/commands/start.js.map +1 -1
  55. package/dist/cli/commands/status.d.ts.map +1 -1
  56. package/dist/cli/commands/status.js +23 -40
  57. package/dist/cli/commands/status.js.map +1 -1
  58. package/dist/cli/gateway-client.d.ts +12 -0
  59. package/dist/cli/gateway-client.d.ts.map +1 -0
  60. package/dist/cli/gateway-client.js +27 -0
  61. package/dist/cli/gateway-client.js.map +1 -0
  62. package/dist/cli/main.js +70 -27
  63. package/dist/cli/main.js.map +1 -1
  64. package/dist/{shared/aws-constants.d.ts → cloud/aws/constants.d.ts} +3 -34
  65. package/dist/cloud/aws/constants.d.ts.map +1 -0
  66. package/dist/{shared/aws-constants.js → cloud/aws/constants.js} +3 -34
  67. package/dist/cloud/aws/constants.js.map +1 -0
  68. package/dist/cloud/{deploy-apprunner.d.ts → aws/deploy.d.ts} +6 -6
  69. package/dist/cloud/aws/deploy.d.ts.map +1 -0
  70. package/dist/cloud/{deploy-apprunner.js → aws/deploy.js} +2 -2
  71. package/dist/cloud/aws/deploy.js.map +1 -0
  72. package/dist/cloud/aws/iam.d.ts +37 -0
  73. package/dist/cloud/aws/iam.d.ts.map +1 -0
  74. package/dist/{cli/commands/cloud-iam.js → cloud/aws/iam.js} +31 -180
  75. package/dist/cloud/aws/iam.js.map +1 -0
  76. package/dist/cloud/aws/provider.d.ts +69 -0
  77. package/dist/cloud/aws/provider.d.ts.map +1 -0
  78. package/dist/cloud/aws/provider.js +173 -0
  79. package/dist/cloud/aws/provider.js.map +1 -0
  80. package/dist/cloud/aws/provision.d.ts +9 -0
  81. package/dist/cloud/aws/provision.d.ts.map +1 -0
  82. package/dist/{cli/commands/cloud-setup-ecs.js → cloud/aws/provision.js} +11 -10
  83. package/dist/cloud/aws/provision.js.map +1 -0
  84. package/dist/cloud/aws/teardown.d.ts +15 -0
  85. package/dist/cloud/aws/teardown.d.ts.map +1 -0
  86. package/dist/cloud/aws/teardown.js +74 -0
  87. package/dist/cloud/aws/teardown.js.map +1 -0
  88. package/dist/cloud/gcp/constants.d.ts +16 -0
  89. package/dist/cloud/gcp/constants.d.ts.map +1 -0
  90. package/dist/cloud/gcp/constants.js +16 -0
  91. package/dist/cloud/gcp/constants.js.map +1 -0
  92. package/dist/cloud/{deploy-cloudrun.d.ts → gcp/deploy.d.ts} +6 -6
  93. package/dist/cloud/gcp/deploy.d.ts.map +1 -0
  94. package/dist/cloud/{deploy-cloudrun.js → gcp/deploy.js} +7 -7
  95. package/dist/cloud/gcp/deploy.js.map +1 -0
  96. package/dist/cloud/gcp/iam.d.ts +20 -0
  97. package/dist/cloud/gcp/iam.d.ts.map +1 -0
  98. package/dist/cloud/gcp/iam.js +179 -0
  99. package/dist/cloud/gcp/iam.js.map +1 -0
  100. package/dist/cloud/gcp/provider.d.ts +28 -0
  101. package/dist/cloud/gcp/provider.d.ts.map +1 -0
  102. package/dist/cloud/gcp/provider.js +84 -0
  103. package/dist/cloud/gcp/provider.js.map +1 -0
  104. package/dist/cloud/gcp/provision.d.ts +14 -0
  105. package/dist/cloud/gcp/provision.d.ts.map +1 -0
  106. package/dist/cloud/gcp/provision.js +37 -0
  107. package/dist/cloud/gcp/provision.js.map +1 -0
  108. package/dist/cloud/gcp/teardown.d.ts +12 -0
  109. package/dist/cloud/gcp/teardown.d.ts.map +1 -0
  110. package/dist/cloud/gcp/teardown.js +67 -0
  111. package/dist/cloud/gcp/teardown.js.map +1 -0
  112. package/dist/cloud/image-builder.d.ts.map +1 -1
  113. package/dist/cloud/image-builder.js +115 -18
  114. package/dist/cloud/image-builder.js.map +1 -1
  115. package/dist/cloud/provider.d.ts +57 -0
  116. package/dist/cloud/provider.d.ts.map +1 -0
  117. package/dist/cloud/provider.js +21 -0
  118. package/dist/cloud/provider.js.map +1 -0
  119. package/dist/cloud/scheduler-image.d.ts.map +1 -1
  120. package/dist/cloud/scheduler-image.js +17 -4
  121. package/dist/cloud/scheduler-image.js.map +1 -1
  122. package/dist/cloud/state.d.ts +17 -0
  123. package/dist/cloud/state.d.ts.map +1 -0
  124. package/dist/cloud/state.js +48 -0
  125. package/dist/cloud/state.js.map +1 -0
  126. package/dist/docker/aws-shared.d.ts +6 -4
  127. package/dist/docker/aws-shared.d.ts.map +1 -1
  128. package/dist/docker/aws-shared.js +405 -23
  129. package/dist/docker/aws-shared.js.map +1 -1
  130. package/dist/docker/cloud-run-runtime.d.ts.map +1 -1
  131. package/dist/docker/cloud-run-runtime.js +10 -9
  132. package/dist/docker/cloud-run-runtime.js.map +1 -1
  133. package/dist/docker/ecs-runtime.d.ts +3 -1
  134. package/dist/docker/ecs-runtime.d.ts.map +1 -1
  135. package/dist/docker/ecs-runtime.js +78 -29
  136. package/dist/docker/ecs-runtime.js.map +1 -1
  137. package/dist/docker/image.d.ts +7 -0
  138. package/dist/docker/image.d.ts.map +1 -1
  139. package/dist/docker/image.js +31 -4
  140. package/dist/docker/image.js.map +1 -1
  141. package/dist/docker/lambda-runtime.js +1 -1
  142. package/dist/docker/lambda-runtime.js.map +1 -1
  143. package/dist/docker/local-runtime.js +4 -4
  144. package/dist/docker/local-runtime.js.map +1 -1
  145. package/dist/docker/network.d.ts.map +1 -1
  146. package/dist/docker/network.js +2 -2
  147. package/dist/docker/network.js.map +1 -1
  148. package/dist/docker/runtime.d.ts +23 -0
  149. package/dist/docker/runtime.d.ts.map +1 -1
  150. package/dist/gateway/api-key.d.ts +10 -0
  151. package/dist/gateway/api-key.d.ts.map +1 -0
  152. package/dist/gateway/api-key.js +19 -0
  153. package/dist/gateway/api-key.js.map +1 -0
  154. package/dist/gateway/auth.d.ts +16 -0
  155. package/dist/gateway/auth.d.ts.map +1 -0
  156. package/dist/gateway/auth.js +60 -0
  157. package/dist/gateway/auth.js.map +1 -0
  158. package/dist/gateway/index.d.ts +1 -0
  159. package/dist/gateway/index.d.ts.map +1 -1
  160. package/dist/gateway/index.js +33 -2
  161. package/dist/gateway/index.js.map +1 -1
  162. package/dist/gateway/routes/control.d.ts +6 -0
  163. package/dist/gateway/routes/control.d.ts.map +1 -1
  164. package/dist/gateway/routes/control.js +117 -0
  165. package/dist/gateway/routes/control.js.map +1 -1
  166. package/dist/gateway/routes/dashboard.d.ts +1 -1
  167. package/dist/gateway/routes/dashboard.d.ts.map +1 -1
  168. package/dist/gateway/routes/dashboard.js +144 -53
  169. package/dist/gateway/routes/dashboard.js.map +1 -1
  170. package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
  171. package/dist/gateway/views/dashboard-page.js +93 -20
  172. package/dist/gateway/views/dashboard-page.js.map +1 -1
  173. package/dist/gateway/views/login-page.d.ts +2 -0
  174. package/dist/gateway/views/login-page.d.ts.map +1 -0
  175. package/dist/gateway/views/login-page.js +54 -0
  176. package/dist/gateway/views/login-page.js.map +1 -0
  177. package/dist/scheduler/index.d.ts.map +1 -1
  178. package/dist/scheduler/index.js +154 -36
  179. package/dist/scheduler/index.js.map +1 -1
  180. package/dist/scheduler/runner-pool.d.ts +5 -0
  181. package/dist/scheduler/runner-pool.d.ts.map +1 -1
  182. package/dist/scheduler/runner-pool.js +14 -0
  183. package/dist/scheduler/runner-pool.js.map +1 -1
  184. package/dist/scheduler/runtime-factory.d.ts +2 -0
  185. package/dist/scheduler/runtime-factory.d.ts.map +1 -1
  186. package/dist/scheduler/runtime-factory.js +35 -65
  187. package/dist/scheduler/runtime-factory.js.map +1 -1
  188. package/dist/setup/scaffold.d.ts.map +1 -1
  189. package/dist/setup/scaffold.js +25 -0
  190. package/dist/setup/scaffold.js.map +1 -1
  191. package/dist/shared/asm-backend.d.ts.map +1 -1
  192. package/dist/shared/asm-backend.js +2 -2
  193. package/dist/shared/asm-backend.js.map +1 -1
  194. package/dist/shared/config.d.ts +28 -13
  195. package/dist/shared/config.d.ts.map +1 -1
  196. package/dist/shared/config.js +40 -4
  197. package/dist/shared/config.js.map +1 -1
  198. package/dist/shared/constants.d.ts +34 -0
  199. package/dist/shared/constants.d.ts.map +1 -0
  200. package/dist/shared/constants.js +34 -0
  201. package/dist/shared/constants.js.map +1 -0
  202. package/dist/shared/credential-backend.d.ts +1 -1
  203. package/dist/shared/filesystem-backend.d.ts +1 -1
  204. package/dist/shared/filesystem-backend.js +1 -1
  205. package/dist/shared/gsm-backend.d.ts.map +1 -1
  206. package/dist/shared/gsm-backend.js +2 -2
  207. package/dist/shared/gsm-backend.js.map +1 -1
  208. package/dist/shared/paths.d.ts +2 -0
  209. package/dist/shared/paths.d.ts.map +1 -1
  210. package/dist/shared/paths.js +3 -1
  211. package/dist/shared/paths.js.map +1 -1
  212. package/dist/shared/remote.d.ts +1 -0
  213. package/dist/shared/remote.d.ts.map +1 -1
  214. package/dist/shared/remote.js +4 -16
  215. package/dist/shared/remote.js.map +1 -1
  216. package/dist/shared/usage.d.ts +22 -0
  217. package/dist/shared/usage.d.ts.map +1 -0
  218. package/dist/shared/usage.js +43 -0
  219. package/dist/shared/usage.js.map +1 -0
  220. package/dist/telemetry/index.d.ts +57 -0
  221. package/dist/telemetry/index.d.ts.map +1 -0
  222. package/dist/telemetry/index.js +189 -0
  223. package/dist/telemetry/index.js.map +1 -0
  224. package/dist/telemetry/providers/otel.d.ts +15 -0
  225. package/dist/telemetry/providers/otel.d.ts.map +1 -0
  226. package/dist/telemetry/providers/otel.js +77 -0
  227. package/dist/telemetry/providers/otel.js.map +1 -0
  228. package/dist/telemetry/providers/xray.d.ts +13 -0
  229. package/dist/telemetry/providers/xray.d.ts.map +1 -0
  230. package/dist/telemetry/providers/xray.js +33 -0
  231. package/dist/telemetry/providers/xray.js.map +1 -0
  232. package/dist/telemetry/types.d.ts +59 -0
  233. package/dist/telemetry/types.d.ts.map +1 -0
  234. package/dist/telemetry/types.js +2 -0
  235. package/dist/telemetry/types.js.map +1 -0
  236. package/dist/tui/App.d.ts.map +1 -1
  237. package/dist/tui/App.js +2 -0
  238. package/dist/tui/App.js.map +1 -1
  239. package/dist/tui/plain-logger.d.ts.map +1 -1
  240. package/dist/tui/plain-logger.js +8 -2
  241. package/dist/tui/plain-logger.js.map +1 -1
  242. package/dist/tui/status-tracker.d.ts +4 -1
  243. package/dist/tui/status-tracker.d.ts.map +1 -1
  244. package/dist/tui/status-tracker.js +11 -1
  245. package/dist/tui/status-tracker.js.map +1 -1
  246. package/docker/adot-collector-config.yaml +57 -0
  247. package/package.json +9 -1
  248. package/dist/cli/commands/cloud-iam.d.ts +0 -17
  249. package/dist/cli/commands/cloud-iam.d.ts.map +0 -1
  250. package/dist/cli/commands/cloud-iam.js.map +0 -1
  251. package/dist/cli/commands/cloud-setup-ecs.d.ts +0 -9
  252. package/dist/cli/commands/cloud-setup-ecs.d.ts.map +0 -1
  253. package/dist/cli/commands/cloud-setup-ecs.js.map +0 -1
  254. package/dist/cloud/deploy-apprunner.d.ts.map +0 -1
  255. package/dist/cloud/deploy-apprunner.js.map +0 -1
  256. package/dist/cloud/deploy-cloudrun.d.ts.map +0 -1
  257. package/dist/cloud/deploy-cloudrun.js.map +0 -1
  258. package/dist/shared/aws-constants.d.ts.map +0 -1
  259. package/dist/shared/aws-constants.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
- * ECS-specific cloud setup logic.
2
+ * ECS-specific cloud provisioning logic.
3
3
  *
4
- * Extracted from cloud-setup.ts to keep the main orchestrator slim.
4
+ * Extracted from cli/commands/cloud-setup-ecs.ts into the cloud provider module.
5
5
  * Contains all AWS resource creation/discovery for ECS Fargate setup.
6
6
  */
7
7
  import { select, input, confirm } from "@inquirer/prompts";
@@ -11,7 +11,8 @@ import { ECSClient, ListClustersCommand, DescribeClustersCommand, CreateClusterC
11
11
  import { IAMClient, ListRolesCommand, CreateRoleCommand, GetRoleCommand, AttachRolePolicyCommand, PutRolePolicyCommand, PutUserPolicyCommand, CreateServiceLinkedRoleCommand, } from "@aws-sdk/client-iam";
12
12
  import { EC2Client, DescribeVpcsCommand, DescribeSubnetsCommand, DescribeSecurityGroupsCommand, } from "@aws-sdk/client-ec2";
13
13
  import { CloudWatchLogsClient, CreateLogGroupCommand, } from "@aws-sdk/client-cloudwatch-logs";
14
- import { AWS_CONSTANTS } from "../../shared/aws-constants.js";
14
+ import { AWS_CONSTANTS } from "./constants.js";
15
+ import { CONSTANTS } from "../../shared/constants.js";
15
16
  const CREATE_NEW = "__create_new__";
16
17
  const MANUAL_INPUT = "__manual_input__";
17
18
  export async function setupEcsCloud(cloud) {
@@ -27,7 +28,7 @@ export async function setupEcsCloud(cloud) {
27
28
  console.log(" 1. Install the AWS CLI:");
28
29
  console.log(" https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html\n");
29
30
  console.log(" 2. Run: aws configure\n");
30
- console.log(" 3. Then re-run: al cloud setup\n");
31
+ console.log(" 3. Then re-run: al setup cloud\n");
31
32
  console.log(" Alternatively, set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.\n");
32
33
  return false;
33
34
  }
@@ -51,7 +52,7 @@ export async function setupEcsCloud(cloud) {
51
52
  cloud.taskRoleArn = await pickOrCreateEcsRole(iamClient, "Default task role (Secrets Manager access)", AWS_CONSTANTS.DEFAULT_TASK_ROLE, [], [cloud.executionRoleArn]);
52
53
  // Add Secrets Manager + CloudWatch Logs inline policy to execution role
53
54
  const executionRoleName = cloud.executionRoleArn.split("/").pop();
54
- const secretPrefix = AWS_CONSTANTS.DEFAULT_SECRET_PREFIX;
55
+ const secretPrefix = CONSTANTS.DEFAULT_SECRET_PREFIX;
55
56
  try {
56
57
  await iamClient.send(new PutRolePolicyCommand({
57
58
  RoleName: executionRoleName,
@@ -103,8 +104,8 @@ export async function setupEcsCloud(cloud) {
103
104
  const sgs = await pickSecurityGroups(ec2Client, result.vpcId);
104
105
  if (sgs.length > 0)
105
106
  cloud.securityGroups = sgs;
106
- const prefix = await input({ message: "Secret prefix:", default: AWS_CONSTANTS.DEFAULT_SECRET_PREFIX });
107
- if (prefix !== AWS_CONSTANTS.DEFAULT_SECRET_PREFIX)
107
+ const prefix = await input({ message: "Secret prefix:", default: CONSTANTS.DEFAULT_SECRET_PREFIX });
108
+ if (prefix !== CONSTANTS.DEFAULT_SECRET_PREFIX)
108
109
  cloud.awsSecretPrefix = prefix;
109
110
  // Grant iam:PassRole, logs read, and iam:PutUserPolicy to the calling
110
111
  // IAM user so that al start/run can assign roles, al logs can read
@@ -648,8 +649,8 @@ async function ensureAppRunnerInstanceRole(iamClient, accountId, region, ecrRepo
648
649
  { Sid: "PassRole", Effect: "Allow", Action: "iam:PassRole", Resource: `arn:aws:iam::${accountId}:role/al-*`, Condition: { StringEquals: { "iam:PassedToService": ["ecs-tasks.amazonaws.com", "codebuild.amazonaws.com", "lambda.amazonaws.com", "apprunner.amazonaws.com"] } } },
649
650
  { Sid: "IAMAgentRoles", Effect: "Allow", Action: ["iam:CreateRole", "iam:GetRole", "iam:GetRolePolicy", "iam:PutRolePolicy", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:AttachRolePolicy"], Resource: `arn:aws:iam::${accountId}:role/al-*` },
650
651
  { Sid: "IAMListRoles", Effect: "Allow", Action: "iam:ListRoles", Resource: "*" },
651
- { Sid: "ECR", Effect: "Allow", Action: ["ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability", "ecr:GetAuthorizationToken", "ecr:SetRepositoryPolicy"], Resource: "*" },
652
- { Sid: "CodeBuild", Effect: "Allow", Action: ["codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:CreateProject"], Resource: `arn:aws:codebuild:${region}:${accountId}:project/al-image-builder` },
652
+ { Sid: "ECR", Effect: "Allow", Action: ["ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability", "ecr:GetAuthorizationToken", "ecr:SetRepositoryPolicy", "ecr:PutImage", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload"], Resource: "*" },
653
+ { Sid: "CodeBuild", Effect: "Allow", Action: ["codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:CreateProject", "codebuild:UpdateProject"], Resource: `arn:aws:codebuild:${region}:${accountId}:project/al-image-builder` },
653
654
  { Sid: "Lambda", Effect: "Allow", Action: ["lambda:GetFunction", "lambda:CreateFunction", "lambda:UpdateFunctionCode", "lambda:UpdateFunctionConfiguration", "lambda:PutFunctionEventInvokeConfig", "lambda:InvokeFunction"], Resource: `arn:aws:lambda:${region}:${accountId}:function:al-*` },
654
655
  { Sid: "S3", Effect: "Allow", Action: ["s3:CreateBucket", "s3:PutObject", "s3:GetObject", "s3:ListBucket"], Resource: [`arn:aws:s3:::${bucketName}`, `arn:aws:s3:::${bucketName}/*`] },
655
656
  { Sid: "AppRunner", Effect: "Allow", Action: ["apprunner:CreateService", "apprunner:UpdateService", "apprunner:DescribeService", "apprunner:DeleteService"], Resource: `arn:aws:apprunner:${region}:${accountId}:service/al-scheduler/*` },
@@ -694,4 +695,4 @@ async function pickSecurityGroups(ec2Client, vpcId) {
694
695
  const raw = await input({ message: "Security group IDs (comma-separated, optional):" });
695
696
  return raw.trim() ? raw.split(",").map(s => s.trim()).filter(Boolean) : [];
696
697
  }
697
- //# sourceMappingURL=cloud-setup-ecs.js.map
698
+ //# sourceMappingURL=provision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision.js","sourceRoot":"","sources":["../../../src/cloud/aws/provision.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * AWS teardown logic for ECS cloud resources.
3
+ *
4
+ * Extracted from cli/commands/cloud-teardown.ts into the cloud provider module.
5
+ * Tears down App Runner scheduler service and per-agent IAM task roles.
6
+ */
7
+ import type { EcsCloudConfig } from "../../shared/config.js";
8
+ /**
9
+ * Tear down all AWS ECS cloud resources for a project.
10
+ *
11
+ * Removes the App Runner scheduler service and deletes per-agent
12
+ * IAM task roles (with their inline policies).
13
+ */
14
+ export declare function teardownAws(projectPath: string, cloud: EcsCloudConfig): Promise<void>;
15
+ //# sourceMappingURL=teardown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/teardown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D3F"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * AWS teardown logic for ECS cloud resources.
3
+ *
4
+ * Extracted from cli/commands/cloud-teardown.ts into the cloud provider module.
5
+ * Tears down App Runner scheduler service and per-agent IAM task roles.
6
+ */
7
+ import { STSClient, GetCallerIdentityCommand } from "@aws-sdk/client-sts";
8
+ import { IAMClient, DeleteRolePolicyCommand, DeleteRoleCommand } from "@aws-sdk/client-iam";
9
+ import { discoverAgents } from "../../shared/config.js";
10
+ import { AWS_CONSTANTS } from "./constants.js";
11
+ import { teardownAppRunner } from "./deploy.js";
12
+ /**
13
+ * Tear down all AWS ECS cloud resources for a project.
14
+ *
15
+ * Removes the App Runner scheduler service and deletes per-agent
16
+ * IAM task roles (with their inline policies).
17
+ */
18
+ export async function teardownAws(projectPath, cloud) {
19
+ const { awsRegion } = cloud;
20
+ if (!awsRegion) {
21
+ console.log("Incomplete AWS config (no region). Skipping IAM teardown.");
22
+ return;
23
+ }
24
+ const stsClient = new STSClient({ region: awsRegion });
25
+ const iamClient = new IAMClient({ region: awsRegion });
26
+ try {
27
+ await stsClient.send(new GetCallerIdentityCommand({}));
28
+ }
29
+ catch (err) {
30
+ throw new Error("AWS CLI is not authenticated. Run 'aws configure' or set AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY.\n" +
31
+ `Original error: ${err.message}`);
32
+ }
33
+ const agents = discoverAgents(projectPath);
34
+ if (agents.length === 0) {
35
+ console.log("No agents found. Skipping IAM teardown.");
36
+ return;
37
+ }
38
+ // Tear down scheduler App Runner service
39
+ console.log("Removing App Runner scheduler service...");
40
+ await teardownAppRunner(cloud);
41
+ console.log("");
42
+ console.log(`Removing ECS task roles for ${agents.length} agent(s)...\n`);
43
+ for (const name of agents) {
44
+ const roleName = AWS_CONSTANTS.taskRoleName(name);
45
+ console.log(` Agent: ${name}`);
46
+ console.log(` Deleting role: ${roleName}`);
47
+ // Must delete inline policies before deleting the role
48
+ try {
49
+ await iamClient.send(new DeleteRolePolicyCommand({
50
+ RoleName: roleName,
51
+ PolicyName: "SecretsAccess",
52
+ }));
53
+ }
54
+ catch {
55
+ // Policy may not exist
56
+ }
57
+ try {
58
+ await iamClient.send(new DeleteRoleCommand({
59
+ RoleName: roleName,
60
+ }));
61
+ console.log(` Deleted`);
62
+ }
63
+ catch (err) {
64
+ if (err.name === "NoSuchEntityException") {
65
+ console.log(` Not found (already deleted)`);
66
+ }
67
+ else {
68
+ console.log(` Warning: ${err.message}`);
69
+ }
70
+ }
71
+ console.log("");
72
+ }
73
+ }
74
+ //# sourceMappingURL=teardown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teardown.js","sourceRoot":"","sources":["../../../src/cloud/aws/teardown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB,EAAE,KAAqB;IAC1E,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,qGAAqG;YACrG,mBAAmB,GAAG,CAAC,OAAO,EAAE,CACjC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,yCAAyC;IACzC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAE1E,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QAE9C,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC;gBAC/C,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC;gBACzC,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * GCP-specific resource naming constants.
3
+ *
4
+ * For provider-agnostic constants, see src/shared/constants.ts.
5
+ */
6
+ export declare const GCP_CONSTANTS: {
7
+ /** Per-agent GCP service account name */
8
+ serviceAccountName: (agentName: string) => string;
9
+ /** Per-agent GCP service account email */
10
+ serviceAccountEmail: (agentName: string, gcpProject: string) => string;
11
+ /** Default GCP Cloud Run service account */
12
+ defaultGcpRunner: (gcpProject: string) => string;
13
+ /** GCP Cloud Run service name for the cloud scheduler */
14
+ SCHEDULER_CLOUD_RUN_SERVICE: string;
15
+ };
16
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cloud/gcp/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa;IACxB,yCAAyC;oCACT,MAAM;IAEtC,0CAA0C;qCACT,MAAM,cAAc,MAAM;IAG3D,4CAA4C;mCACb,MAAM;IAErC,yDAAyD;;CAEM,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * GCP-specific resource naming constants.
3
+ *
4
+ * For provider-agnostic constants, see src/shared/constants.ts.
5
+ */
6
+ export const GCP_CONSTANTS = {
7
+ /** Per-agent GCP service account name */
8
+ serviceAccountName: (agentName) => `al-${agentName}`,
9
+ /** Per-agent GCP service account email */
10
+ serviceAccountEmail: (agentName, gcpProject) => `al-${agentName}@${gcpProject}.iam.gserviceaccount.com`,
11
+ /** Default GCP Cloud Run service account */
12
+ defaultGcpRunner: (gcpProject) => `al-runner@${gcpProject}.iam.gserviceaccount.com`,
13
+ /** GCP Cloud Run service name for the cloud scheduler */
14
+ SCHEDULER_CLOUD_RUN_SERVICE: "al-scheduler",
15
+ };
16
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cloud/gcp/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,yCAAyC;IACzC,kBAAkB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,EAAE;IAE5D,0CAA0C;IAC1C,mBAAmB,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE,CAC7D,MAAM,SAAS,IAAI,UAAU,0BAA0B;IAEzD,4CAA4C;IAC5C,gBAAgB,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,aAAa,UAAU,0BAA0B;IAE3F,yDAAyD;IACzD,2BAA2B,EAAE,cAAc;CACoB,CAAC"}
@@ -4,10 +4,10 @@
4
4
  * Creates or updates a Cloud Run service that runs the scheduler as a
5
5
  * long-running container with an HTTPS endpoint for webhooks.
6
6
  */
7
- import type { CloudConfig } from "../shared/config.js";
7
+ import type { CloudRunCloudConfig } from "../../shared/config.js";
8
8
  export interface CloudRunDeployOpts {
9
9
  imageUri: string;
10
- cloudConfig: CloudConfig;
10
+ cloudConfig: CloudRunCloudConfig;
11
11
  port?: number;
12
12
  envVars?: Record<string, string>;
13
13
  }
@@ -24,13 +24,13 @@ export declare function deployCloudRun(opts: CloudRunDeployOpts): Promise<CloudR
24
24
  /**
25
25
  * Get the current status of the scheduler Cloud Run service.
26
26
  */
27
- export declare function getCloudRunStatus(cloudConfig: CloudConfig): Promise<CloudRunServiceInfo | null>;
27
+ export declare function getCloudRunStatus(cloudConfig: CloudRunCloudConfig): Promise<CloudRunServiceInfo | null>;
28
28
  /**
29
29
  * Fetch recent scheduler logs from Cloud Logging.
30
30
  */
31
- export declare function getCloudRunLogs(cloudConfig: CloudConfig, limit: number): Promise<string[]>;
31
+ export declare function getCloudRunLogs(cloudConfig: CloudRunCloudConfig, limit: number): Promise<string[]>;
32
32
  /**
33
33
  * Delete the scheduler Cloud Run service.
34
34
  */
35
- export declare function teardownCloudRunService(cloudConfig: CloudConfig): Promise<void>;
36
- //# sourceMappingURL=deploy-cloudrun.d.ts.map
35
+ export declare function teardownCloudRunService(cloudConfig: CloudRunCloudConfig): Promise<void>;
36
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cloud/gcp/deploy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyD3F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiC7G;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBxG;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7F"}
@@ -5,7 +5,7 @@
5
5
  * long-running container with an HTTPS endpoint for webhooks.
6
6
  */
7
7
  import { execFileSync } from "child_process";
8
- import { AWS_CONSTANTS } from "../shared/aws-constants.js";
8
+ import { GCP_CONSTANTS } from "./constants.js";
9
9
  /**
10
10
  * Deploy (create or update) the scheduler as a Cloud Run service.
11
11
  */
@@ -15,7 +15,7 @@ export async function deployCloudRun(opts) {
15
15
  if (!gcpProject || !region) {
16
16
  throw new Error("cloud.gcpProject and cloud.region are required for Cloud Run deployment.");
17
17
  }
18
- const serviceName = AWS_CONSTANTS.SCHEDULER_CLOUD_RUN_SERVICE;
18
+ const serviceName = GCP_CONSTANTS.SCHEDULER_CLOUD_RUN_SERVICE;
19
19
  const cpu = cloudConfig.schedulerCpu || "1";
20
20
  const memory = cloudConfig.schedulerMemory || "512Mi";
21
21
  // Build env var flags
@@ -55,7 +55,7 @@ export async function deployCloudRun(opts) {
55
55
  serviceName,
56
56
  serviceUrl: url,
57
57
  status: "RUNNING",
58
- region: region,
58
+ region,
59
59
  };
60
60
  }
61
61
  /**
@@ -65,7 +65,7 @@ export async function getCloudRunStatus(cloudConfig) {
65
65
  const { gcpProject, region } = cloudConfig;
66
66
  if (!gcpProject || !region)
67
67
  return null;
68
- const serviceName = AWS_CONSTANTS.SCHEDULER_CLOUD_RUN_SERVICE;
68
+ const serviceName = GCP_CONSTANTS.SCHEDULER_CLOUD_RUN_SERVICE;
69
69
  try {
70
70
  const url = gcloud([
71
71
  "run", "services", "describe", serviceName,
@@ -100,7 +100,7 @@ export async function getCloudRunLogs(cloudConfig, limit) {
100
100
  const { gcpProject, region } = cloudConfig;
101
101
  if (!gcpProject || !region)
102
102
  return [];
103
- const serviceName = AWS_CONSTANTS.SCHEDULER_CLOUD_RUN_SERVICE;
103
+ const serviceName = GCP_CONSTANTS.SCHEDULER_CLOUD_RUN_SERVICE;
104
104
  try {
105
105
  const output = gcloud([
106
106
  "logging", "read",
@@ -125,7 +125,7 @@ export async function teardownCloudRunService(cloudConfig) {
125
125
  console.log(" Incomplete GCP config. Skipping Cloud Run service teardown.");
126
126
  return;
127
127
  }
128
- const serviceName = AWS_CONSTANTS.SCHEDULER_CLOUD_RUN_SERVICE;
128
+ const serviceName = GCP_CONSTANTS.SCHEDULER_CLOUD_RUN_SERVICE;
129
129
  try {
130
130
  gcloud([
131
131
  "run", "services", "delete", serviceName,
@@ -151,4 +151,4 @@ function gcloud(args) {
151
151
  stdio: ["pipe", "pipe", "pipe"],
152
152
  }).trim();
153
153
  }
154
- //# sourceMappingURL=deploy-cloudrun.js.map
154
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cloud/gcp/deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * GCP IAM reconciliation for per-agent service accounts and secret bindings.
3
+ *
4
+ * Extracted from cli/commands/cloud-iam.ts — handles the GCP-specific
5
+ * service account creation and GSM secret binding logic.
6
+ */
7
+ import type { CloudRunCloudConfig } from "../../shared/config.js";
8
+ /**
9
+ * Reconcile per-agent GCP service accounts and GSM secret bindings.
10
+ *
11
+ * For each discovered agent:
12
+ * 1. Creates a dedicated GCP service account (idempotent)
13
+ * 2. Binds secretmanager.secretAccessor on each secret the agent declares
14
+ * 3. Grants iam.serviceAccountUser so the SA can run Cloud Run jobs
15
+ */
16
+ export declare function reconcileGcpAgents(projectPath: string, cloud: CloudRunCloudConfig): Promise<void>;
17
+ export declare function gcloud(args: string[], _project: string): string;
18
+ export declare function listGsmSecretCount(gcpProject: string, prefix: string): number;
19
+ export declare function listGsmFields(gcpProject: string, prefix: string, type: string, instance: string): string[];
20
+ //# sourceMappingURL=iam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../src/cloud/gcp/iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAMlE;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHvG;AAID,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAa7E;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAwBV"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * GCP IAM reconciliation for per-agent service accounts and secret bindings.
3
+ *
4
+ * Extracted from cli/commands/cloud-iam.ts — handles the GCP-specific
5
+ * service account creation and GSM secret binding logic.
6
+ */
7
+ import { execFileSync } from "child_process";
8
+ import { confirm } from "@inquirer/prompts";
9
+ import { discoverAgents, loadAgentConfig } from "../../shared/config.js";
10
+ import { parseCredentialRef } from "../../shared/credentials.js";
11
+ import { GCP_CONSTANTS } from "./constants.js";
12
+ import { CONSTANTS } from "../../shared/constants.js";
13
+ import { ConfigError, CloudProviderError } from "../../shared/errors.js";
14
+ /**
15
+ * Reconcile per-agent GCP service accounts and GSM secret bindings.
16
+ *
17
+ * For each discovered agent:
18
+ * 1. Creates a dedicated GCP service account (idempotent)
19
+ * 2. Binds secretmanager.secretAccessor on each secret the agent declares
20
+ * 3. Grants iam.serviceAccountUser so the SA can run Cloud Run jobs
21
+ */
22
+ export async function reconcileGcpAgents(projectPath, cloud) {
23
+ const { gcpProject, secretPrefix: configPrefix } = cloud;
24
+ if (!gcpProject) {
25
+ throw new ConfigError("cloud.gcpProject is required in config.toml");
26
+ }
27
+ const secretPrefix = configPrefix || CONSTANTS.DEFAULT_SECRET_PREFIX;
28
+ // Verify gcloud is available and authenticated
29
+ try {
30
+ gcloud(["auth", "print-access-token"], gcpProject);
31
+ }
32
+ catch (err) {
33
+ throw new CloudProviderError("gcloud CLI is not authenticated. Run 'gcloud auth login' first.\n" +
34
+ `Original error: ${err.message}`);
35
+ }
36
+ const agents = discoverAgents(projectPath);
37
+ if (agents.length === 0) {
38
+ console.log("No agents found. Create agents first.");
39
+ return;
40
+ }
41
+ // Pre-flight: check if any secrets exist in GSM with this prefix
42
+ const preflight = listGsmSecretCount(gcpProject, secretPrefix);
43
+ if (preflight === 0) {
44
+ console.log(`\nWarning: No secrets found in GSM with prefix "${secretPrefix}".\n` +
45
+ `IAM bindings are created against existing secrets, so you should push credentials first.\n`);
46
+ const proceed = await confirm({
47
+ message: "Continue anyway? (Service accounts will be created but no secrets will be bound)",
48
+ default: false,
49
+ });
50
+ if (!proceed) {
51
+ console.log("Aborted. Push credentials first, then re-run.");
52
+ return;
53
+ }
54
+ }
55
+ console.log(`\nSetting up Cloud Run service accounts for ${agents.length} agent(s)...\n`);
56
+ for (const name of agents) {
57
+ const config = loadAgentConfig(projectPath, name);
58
+ const saName = GCP_CONSTANTS.serviceAccountName(name);
59
+ const saEmail = GCP_CONSTANTS.serviceAccountEmail(name, gcpProject);
60
+ console.log(` Agent: ${name}`);
61
+ console.log(` SA: ${saEmail}`);
62
+ // 1. Create service account (idempotent)
63
+ try {
64
+ gcloud([
65
+ "iam", "service-accounts", "create", saName,
66
+ "--display-name", `Action Llama agent: ${name}`,
67
+ "--project", gcpProject,
68
+ ], gcpProject);
69
+ console.log(` Created service account`);
70
+ }
71
+ catch (err) {
72
+ if (err.message?.includes("already exists")) {
73
+ console.log(` Service account already exists`);
74
+ }
75
+ else {
76
+ throw err;
77
+ }
78
+ }
79
+ // 2. Collect all secret names this agent needs
80
+ const credRefs = [...new Set(config.credentials)];
81
+ if (config.model.authType !== "pi_auth" && !credRefs.includes("anthropic_key:default")) {
82
+ credRefs.push("anthropic_key:default");
83
+ }
84
+ const secretNames = [];
85
+ for (const ref of credRefs) {
86
+ const { type, instance } = parseCredentialRef(ref);
87
+ const fields = listGsmFields(gcpProject, secretPrefix, type, instance);
88
+ for (const field of fields) {
89
+ secretNames.push(`${secretPrefix}--${type}--${instance}--${field}`);
90
+ }
91
+ }
92
+ // 3. Grant secretmanager.secretAccessor on each secret
93
+ let boundCount = 0;
94
+ for (const secretName of secretNames) {
95
+ try {
96
+ gcloud([
97
+ "secrets", "add-iam-policy-binding", secretName,
98
+ "--member", `serviceAccount:${saEmail}`,
99
+ "--role", "roles/secretmanager.secretAccessor",
100
+ "--project", gcpProject,
101
+ ], gcpProject);
102
+ boundCount++;
103
+ }
104
+ catch (err) {
105
+ if (err.message?.includes("already exists") || err.message?.includes("already has")) {
106
+ boundCount++;
107
+ }
108
+ else {
109
+ console.log(` Warning: failed to bind ${secretName}: ${err.message}`);
110
+ }
111
+ }
112
+ }
113
+ console.log(` Bound ${boundCount} secret(s)`);
114
+ // 4. Grant the SA permission to act as itself (for Cloud Run job execution)
115
+ try {
116
+ gcloud([
117
+ "iam", "service-accounts", "add-iam-policy-binding", saEmail,
118
+ "--member", `serviceAccount:${saEmail}`,
119
+ "--role", "roles/iam.serviceAccountUser",
120
+ "--project", gcpProject,
121
+ ], gcpProject);
122
+ }
123
+ catch {
124
+ // May already be bound
125
+ }
126
+ console.log("");
127
+ }
128
+ console.log("Done. Each agent now has an isolated service account with access to only its declared secrets.");
129
+ }
130
+ // --- Helpers ---
131
+ export function gcloud(args, _project) {
132
+ return execFileSync("gcloud", args, {
133
+ encoding: "utf-8",
134
+ timeout: 30_000,
135
+ stdio: ["pipe", "pipe", "pipe"],
136
+ }).trim();
137
+ }
138
+ export function listGsmSecretCount(gcpProject, prefix) {
139
+ try {
140
+ const output = gcloud([
141
+ "secrets", "list",
142
+ "--filter", `name:${prefix}--`,
143
+ "--format", "value(name)",
144
+ "--project", gcpProject,
145
+ ], gcpProject);
146
+ if (!output.trim())
147
+ return 0;
148
+ return output.trim().split("\n").length;
149
+ }
150
+ catch {
151
+ return 0;
152
+ }
153
+ }
154
+ export function listGsmFields(gcpProject, prefix, type, instance) {
155
+ const filter = `name:${prefix}--${type}--${instance}--`;
156
+ try {
157
+ const output = gcloud([
158
+ "secrets", "list",
159
+ "--filter", filter,
160
+ "--format", "value(name)",
161
+ "--project", gcpProject,
162
+ ], gcpProject);
163
+ if (!output.trim())
164
+ return [];
165
+ const fields = [];
166
+ for (const line of output.split("\n")) {
167
+ const secretId = line.trim().split("/").pop();
168
+ const parts = secretId.split("--");
169
+ if (parts.length === 4 && parts[0] === prefix && parts[1] === type && parts[2] === instance) {
170
+ fields.push(parts[3]);
171
+ }
172
+ }
173
+ return fields;
174
+ }
175
+ catch {
176
+ return [];
177
+ }
178
+ }
179
+ //# sourceMappingURL=iam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.js","sourceRoot":"","sources":["../../../src/cloud/gcp/iam.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * GcpCloudProvider — CloudProvider implementation for GCP Cloud Run.
3
+ *
4
+ * Wraps CloudRunCloudConfig and delegates to the extracted GCP modules
5
+ * (iam, provision, teardown, deploy) and the CloudRunJobRuntime.
6
+ */
7
+ import type { CloudProvider, SchedulerServiceInfo, RuntimeResult } from "../provider.js";
8
+ import type { ContainerRuntime } from "../../docker/runtime.js";
9
+ import type { CredentialBackend } from "../../shared/credential-backend.js";
10
+ import type { AgentConfig, CloudRunCloudConfig, GlobalConfig } from "../../shared/config.js";
11
+ export declare class GcpCloudProvider implements CloudProvider {
12
+ readonly providerName: "cloud-run";
13
+ private config;
14
+ constructor(config: CloudRunCloudConfig);
15
+ provision(): Promise<Record<string, unknown> | null>;
16
+ teardown(projectPath: string): Promise<void>;
17
+ reconcileAgents(projectPath: string): Promise<void>;
18
+ validateRoles(_projectPath: string): Promise<void>;
19
+ createRuntime(): ContainerRuntime;
20
+ createAgentRuntime(_agentConfig: AgentConfig, _globalConfig: GlobalConfig): ContainerRuntime;
21
+ createRuntimes(_activeAgentConfigs: AgentConfig[], _globalConfig: GlobalConfig): RuntimeResult;
22
+ createCredentialBackend(): Promise<CredentialBackend>;
23
+ deployScheduler(imageUri: string): Promise<SchedulerServiceInfo>;
24
+ getSchedulerStatus(): Promise<SchedulerServiceInfo | null>;
25
+ getSchedulerLogs(limit: number): Promise<string[]>;
26
+ teardownScheduler(): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/cloud/gcp/provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI7F,qBAAa,gBAAiB,YAAW,aAAa;IACpD,QAAQ,CAAC,YAAY,EAAG,WAAW,CAAU;IAE7C,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB;IAIjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAKpD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,aAAa,IAAI,gBAAgB;IAUjC,kBAAkB,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,GAAG,gBAAgB;IAK5F,cAAc,CAAC,mBAAmB,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,YAAY,GAAG,aAAa;IAOxF,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAQrD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAYhE,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAU1D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKlD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAIzC"}