@action-llama/action-llama 0.10.1 → 0.11.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 (313) hide show
  1. package/AGENTS.md +17 -6
  2. package/README.md +8 -4
  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 +7 -16
  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 +47 -17
  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 +5 -47
  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 -858
  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/creds.d.ts.map +1 -1
  32. package/dist/cli/commands/creds.js +2 -4
  33. package/dist/cli/commands/creds.js.map +1 -1
  34. package/dist/cli/commands/doctor.d.ts +0 -3
  35. package/dist/cli/commands/doctor.d.ts.map +1 -1
  36. package/dist/cli/commands/doctor.js +76 -646
  37. package/dist/cli/commands/doctor.js.map +1 -1
  38. package/dist/cli/commands/kill.d.ts +1 -1
  39. package/dist/cli/commands/kill.d.ts.map +1 -1
  40. package/dist/cli/commands/kill.js +26 -18
  41. package/dist/cli/commands/kill.js.map +1 -1
  42. package/dist/cli/commands/logs.d.ts.map +1 -1
  43. package/dist/cli/commands/logs.js +104 -58
  44. package/dist/cli/commands/logs.js.map +1 -1
  45. package/dist/cli/commands/pause.d.ts +1 -1
  46. package/dist/cli/commands/pause.d.ts.map +1 -1
  47. package/dist/cli/commands/pause.js +19 -19
  48. package/dist/cli/commands/pause.js.map +1 -1
  49. package/dist/cli/commands/resume.d.ts +1 -1
  50. package/dist/cli/commands/resume.d.ts.map +1 -1
  51. package/dist/cli/commands/resume.js +19 -19
  52. package/dist/cli/commands/resume.js.map +1 -1
  53. package/dist/cli/commands/run.d.ts.map +1 -1
  54. package/dist/cli/commands/run.js +12 -54
  55. package/dist/cli/commands/run.js.map +1 -1
  56. package/dist/cli/commands/status.d.ts.map +1 -1
  57. package/dist/cli/commands/status.js +22 -39
  58. package/dist/cli/commands/status.js.map +1 -1
  59. package/dist/cli/gateway-client.d.ts +12 -0
  60. package/dist/cli/gateway-client.d.ts.map +1 -0
  61. package/dist/cli/gateway-client.js +27 -0
  62. package/dist/cli/gateway-client.js.map +1 -0
  63. package/dist/cli/main.js +79 -42
  64. package/dist/cli/main.js.map +1 -1
  65. package/dist/cli/with-command.d.ts +13 -0
  66. package/dist/cli/with-command.d.ts.map +1 -0
  67. package/dist/cli/with-command.js +45 -0
  68. package/dist/cli/with-command.js.map +1 -0
  69. package/dist/{shared/aws-constants.d.ts → cloud/aws/constants.d.ts} +3 -34
  70. package/dist/cloud/aws/constants.d.ts.map +1 -0
  71. package/dist/{shared/aws-constants.js → cloud/aws/constants.js} +3 -34
  72. package/dist/cloud/aws/constants.js.map +1 -0
  73. package/dist/cloud/{deploy-apprunner.d.ts → aws/deploy.d.ts} +6 -6
  74. package/dist/cloud/aws/deploy.d.ts.map +1 -0
  75. package/dist/cloud/{deploy-apprunner.js → aws/deploy.js} +2 -2
  76. package/dist/cloud/aws/deploy.js.map +1 -0
  77. package/dist/cloud/aws/iam.d.ts +37 -0
  78. package/dist/cloud/aws/iam.d.ts.map +1 -0
  79. package/dist/cloud/aws/iam.js +442 -0
  80. package/dist/cloud/aws/iam.js.map +1 -0
  81. package/dist/cloud/aws/provider.d.ts +69 -0
  82. package/dist/cloud/aws/provider.d.ts.map +1 -0
  83. package/dist/cloud/aws/provider.js +173 -0
  84. package/dist/cloud/aws/provider.js.map +1 -0
  85. package/dist/cloud/aws/provision.d.ts +9 -0
  86. package/dist/cloud/aws/provision.d.ts.map +1 -0
  87. package/dist/cloud/aws/provision.js +698 -0
  88. package/dist/cloud/aws/provision.js.map +1 -0
  89. package/dist/cloud/aws/teardown.d.ts +15 -0
  90. package/dist/cloud/aws/teardown.d.ts.map +1 -0
  91. package/dist/cloud/aws/teardown.js +74 -0
  92. package/dist/cloud/aws/teardown.js.map +1 -0
  93. package/dist/cloud/gcp/constants.d.ts +16 -0
  94. package/dist/cloud/gcp/constants.d.ts.map +1 -0
  95. package/dist/cloud/gcp/constants.js +16 -0
  96. package/dist/cloud/gcp/constants.js.map +1 -0
  97. package/dist/cloud/{deploy-cloudrun.d.ts → gcp/deploy.d.ts} +6 -6
  98. package/dist/cloud/gcp/deploy.d.ts.map +1 -0
  99. package/dist/cloud/{deploy-cloudrun.js → gcp/deploy.js} +7 -7
  100. package/dist/cloud/gcp/deploy.js.map +1 -0
  101. package/dist/cloud/gcp/iam.d.ts +20 -0
  102. package/dist/cloud/gcp/iam.d.ts.map +1 -0
  103. package/dist/cloud/gcp/iam.js +179 -0
  104. package/dist/cloud/gcp/iam.js.map +1 -0
  105. package/dist/cloud/gcp/provider.d.ts +28 -0
  106. package/dist/cloud/gcp/provider.d.ts.map +1 -0
  107. package/dist/cloud/gcp/provider.js +84 -0
  108. package/dist/cloud/gcp/provider.js.map +1 -0
  109. package/dist/cloud/gcp/provision.d.ts +14 -0
  110. package/dist/cloud/gcp/provision.d.ts.map +1 -0
  111. package/dist/cloud/gcp/provision.js +37 -0
  112. package/dist/cloud/gcp/provision.js.map +1 -0
  113. package/dist/cloud/gcp/teardown.d.ts +12 -0
  114. package/dist/cloud/gcp/teardown.d.ts.map +1 -0
  115. package/dist/cloud/gcp/teardown.js +67 -0
  116. package/dist/cloud/gcp/teardown.js.map +1 -0
  117. package/dist/cloud/image-builder.d.ts.map +1 -1
  118. package/dist/cloud/image-builder.js +115 -18
  119. package/dist/cloud/image-builder.js.map +1 -1
  120. package/dist/cloud/provider.d.ts +57 -0
  121. package/dist/cloud/provider.d.ts.map +1 -0
  122. package/dist/cloud/provider.js +21 -0
  123. package/dist/cloud/provider.js.map +1 -0
  124. package/dist/cloud/scheduler-image.d.ts.map +1 -1
  125. package/dist/cloud/scheduler-image.js +16 -3
  126. package/dist/cloud/scheduler-image.js.map +1 -1
  127. package/dist/cloud/state.d.ts +17 -0
  128. package/dist/cloud/state.d.ts.map +1 -0
  129. package/dist/cloud/state.js +48 -0
  130. package/dist/cloud/state.js.map +1 -0
  131. package/dist/docker/aws-shared.d.ts +6 -4
  132. package/dist/docker/aws-shared.d.ts.map +1 -1
  133. package/dist/docker/aws-shared.js +405 -23
  134. package/dist/docker/aws-shared.js.map +1 -1
  135. package/dist/docker/cloud-run-runtime.d.ts.map +1 -1
  136. package/dist/docker/cloud-run-runtime.js +10 -9
  137. package/dist/docker/cloud-run-runtime.js.map +1 -1
  138. package/dist/docker/ecs-runtime.d.ts +3 -1
  139. package/dist/docker/ecs-runtime.d.ts.map +1 -1
  140. package/dist/docker/ecs-runtime.js +78 -29
  141. package/dist/docker/ecs-runtime.js.map +1 -1
  142. package/dist/docker/image.d.ts +7 -0
  143. package/dist/docker/image.d.ts.map +1 -1
  144. package/dist/docker/image.js +31 -4
  145. package/dist/docker/image.js.map +1 -1
  146. package/dist/docker/lambda-runtime.js +1 -1
  147. package/dist/docker/lambda-runtime.js.map +1 -1
  148. package/dist/docker/local-runtime.js +4 -4
  149. package/dist/docker/local-runtime.js.map +1 -1
  150. package/dist/docker/network.d.ts.map +1 -1
  151. package/dist/docker/network.js +2 -2
  152. package/dist/docker/network.js.map +1 -1
  153. package/dist/docker/runtime.d.ts +23 -0
  154. package/dist/docker/runtime.d.ts.map +1 -1
  155. package/dist/gateway/api-key.d.ts +10 -0
  156. package/dist/gateway/api-key.d.ts.map +1 -0
  157. package/dist/gateway/api-key.js +19 -0
  158. package/dist/gateway/api-key.js.map +1 -0
  159. package/dist/gateway/auth.d.ts +16 -0
  160. package/dist/gateway/auth.d.ts.map +1 -0
  161. package/dist/gateway/auth.js +60 -0
  162. package/dist/gateway/auth.js.map +1 -0
  163. package/dist/gateway/index.d.ts +2 -0
  164. package/dist/gateway/index.d.ts.map +1 -1
  165. package/dist/gateway/index.js +38 -4
  166. package/dist/gateway/index.js.map +1 -1
  167. package/dist/gateway/rate-limiter.d.ts +16 -0
  168. package/dist/gateway/rate-limiter.d.ts.map +1 -0
  169. package/dist/gateway/rate-limiter.js +38 -0
  170. package/dist/gateway/rate-limiter.js.map +1 -0
  171. package/dist/gateway/routes/control.d.ts +6 -0
  172. package/dist/gateway/routes/control.d.ts.map +1 -1
  173. package/dist/gateway/routes/control.js +117 -0
  174. package/dist/gateway/routes/control.js.map +1 -1
  175. package/dist/gateway/routes/dashboard.d.ts +1 -1
  176. package/dist/gateway/routes/dashboard.d.ts.map +1 -1
  177. package/dist/gateway/routes/dashboard.js +148 -49
  178. package/dist/gateway/routes/dashboard.js.map +1 -1
  179. package/dist/gateway/routes/locks.d.ts +3 -1
  180. package/dist/gateway/routes/locks.d.ts.map +1 -1
  181. package/dist/gateway/routes/locks.js +18 -13
  182. package/dist/gateway/routes/locks.js.map +1 -1
  183. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  184. package/dist/gateway/routes/webhooks.js +14 -0
  185. package/dist/gateway/routes/webhooks.js.map +1 -1
  186. package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
  187. package/dist/gateway/views/dashboard-page.js +93 -20
  188. package/dist/gateway/views/dashboard-page.js.map +1 -1
  189. package/dist/gateway/views/login-page.d.ts +2 -0
  190. package/dist/gateway/views/login-page.d.ts.map +1 -0
  191. package/dist/gateway/views/login-page.js +54 -0
  192. package/dist/gateway/views/login-page.js.map +1 -0
  193. package/dist/scheduler/index.d.ts +1 -2
  194. package/dist/scheduler/index.d.ts.map +1 -1
  195. package/dist/scheduler/index.js +176 -216
  196. package/dist/scheduler/index.js.map +1 -1
  197. package/dist/scheduler/runner-pool.d.ts +5 -0
  198. package/dist/scheduler/runner-pool.d.ts.map +1 -1
  199. package/dist/scheduler/runner-pool.js +14 -0
  200. package/dist/scheduler/runner-pool.js.map +1 -1
  201. package/dist/scheduler/runtime-factory.d.ts +26 -4
  202. package/dist/scheduler/runtime-factory.d.ts.map +1 -1
  203. package/dist/scheduler/runtime-factory.js +43 -77
  204. package/dist/scheduler/runtime-factory.js.map +1 -1
  205. package/dist/scheduler/webhook-setup.d.ts +11 -20
  206. package/dist/scheduler/webhook-setup.d.ts.map +1 -1
  207. package/dist/scheduler/webhook-setup.js +22 -68
  208. package/dist/scheduler/webhook-setup.js.map +1 -1
  209. package/dist/setup/scaffold.d.ts.map +1 -1
  210. package/dist/setup/scaffold.js +25 -0
  211. package/dist/setup/scaffold.js.map +1 -1
  212. package/dist/shared/asm-backend.d.ts.map +1 -1
  213. package/dist/shared/asm-backend.js +2 -2
  214. package/dist/shared/asm-backend.js.map +1 -1
  215. package/dist/shared/config.d.ts +29 -13
  216. package/dist/shared/config.d.ts.map +1 -1
  217. package/dist/shared/config.js +53 -6
  218. package/dist/shared/config.js.map +1 -1
  219. package/dist/shared/constants.d.ts +34 -0
  220. package/dist/shared/constants.d.ts.map +1 -0
  221. package/dist/shared/constants.js +34 -0
  222. package/dist/shared/constants.js.map +1 -0
  223. package/dist/shared/credential-backend.d.ts +1 -1
  224. package/dist/shared/credentials.d.ts.map +1 -1
  225. package/dist/shared/credentials.js +2 -1
  226. package/dist/shared/credentials.js.map +1 -1
  227. package/dist/shared/errors.d.ts +34 -0
  228. package/dist/shared/errors.d.ts.map +1 -0
  229. package/dist/shared/errors.js +47 -0
  230. package/dist/shared/errors.js.map +1 -0
  231. package/dist/shared/filesystem-backend.d.ts +1 -1
  232. package/dist/shared/filesystem-backend.js +1 -1
  233. package/dist/shared/git.d.ts.map +1 -1
  234. package/dist/shared/git.js +3 -2
  235. package/dist/shared/git.js.map +1 -1
  236. package/dist/shared/gsm-backend.d.ts.map +1 -1
  237. package/dist/shared/gsm-backend.js +2 -2
  238. package/dist/shared/gsm-backend.js.map +1 -1
  239. package/dist/shared/paths.d.ts +2 -0
  240. package/dist/shared/paths.d.ts.map +1 -1
  241. package/dist/shared/paths.js +3 -1
  242. package/dist/shared/paths.js.map +1 -1
  243. package/dist/shared/remote.d.ts +1 -0
  244. package/dist/shared/remote.d.ts.map +1 -1
  245. package/dist/shared/remote.js +4 -16
  246. package/dist/shared/remote.js.map +1 -1
  247. package/dist/shared/usage.d.ts +22 -0
  248. package/dist/shared/usage.d.ts.map +1 -0
  249. package/dist/shared/usage.js +43 -0
  250. package/dist/shared/usage.js.map +1 -0
  251. package/dist/telemetry/index.d.ts +57 -0
  252. package/dist/telemetry/index.d.ts.map +1 -0
  253. package/dist/telemetry/index.js +189 -0
  254. package/dist/telemetry/index.js.map +1 -0
  255. package/dist/telemetry/providers/otel.d.ts +15 -0
  256. package/dist/telemetry/providers/otel.d.ts.map +1 -0
  257. package/dist/telemetry/providers/otel.js +77 -0
  258. package/dist/telemetry/providers/otel.js.map +1 -0
  259. package/dist/telemetry/providers/xray.d.ts +13 -0
  260. package/dist/telemetry/providers/xray.d.ts.map +1 -0
  261. package/dist/telemetry/providers/xray.js +33 -0
  262. package/dist/telemetry/providers/xray.js.map +1 -0
  263. package/dist/telemetry/types.d.ts +59 -0
  264. package/dist/telemetry/types.d.ts.map +1 -0
  265. package/dist/telemetry/types.js +2 -0
  266. package/dist/telemetry/types.js.map +1 -0
  267. package/dist/tui/App.d.ts.map +1 -1
  268. package/dist/tui/App.js +2 -0
  269. package/dist/tui/App.js.map +1 -1
  270. package/dist/tui/plain-logger.d.ts.map +1 -1
  271. package/dist/tui/plain-logger.js +8 -2
  272. package/dist/tui/plain-logger.js.map +1 -1
  273. package/dist/tui/status-tracker.d.ts +4 -1
  274. package/dist/tui/status-tracker.d.ts.map +1 -1
  275. package/dist/tui/status-tracker.js +11 -1
  276. package/dist/tui/status-tracker.js.map +1 -1
  277. package/dist/webhooks/providers/github.d.ts.map +1 -1
  278. package/dist/webhooks/providers/github.js +2 -21
  279. package/dist/webhooks/providers/github.js.map +1 -1
  280. package/dist/webhooks/providers/linear.d.ts.map +1 -1
  281. package/dist/webhooks/providers/linear.js +2 -21
  282. package/dist/webhooks/providers/linear.js.map +1 -1
  283. package/dist/webhooks/providers/sentry.d.ts.map +1 -1
  284. package/dist/webhooks/providers/sentry.js +2 -20
  285. package/dist/webhooks/providers/sentry.js.map +1 -1
  286. package/dist/webhooks/validation.d.ts +17 -0
  287. package/dist/webhooks/validation.d.ts.map +1 -0
  288. package/dist/webhooks/validation.js +37 -0
  289. package/dist/webhooks/validation.js.map +1 -0
  290. package/docker/adot-collector-config.yaml +57 -0
  291. package/package.json +9 -1
  292. package/dist/cloud/deploy-apprunner.d.ts.map +0 -1
  293. package/dist/cloud/deploy-apprunner.js.map +0 -1
  294. package/dist/cloud/deploy-cloudrun.d.ts.map +0 -1
  295. package/dist/cloud/deploy-cloudrun.js.map +0 -1
  296. package/dist/scheduler/config-validator.d.ts +0 -18
  297. package/dist/scheduler/config-validator.d.ts.map +0 -1
  298. package/dist/scheduler/config-validator.js +0 -53
  299. package/dist/scheduler/config-validator.js.map +0 -1
  300. package/dist/scheduler/cron-manager.d.ts +0 -14
  301. package/dist/scheduler/cron-manager.d.ts.map +0 -1
  302. package/dist/scheduler/cron-manager.js +0 -75
  303. package/dist/scheduler/cron-manager.js.map +0 -1
  304. package/dist/scheduler/shutdown-handler.d.ts +0 -16
  305. package/dist/scheduler/shutdown-handler.d.ts.map +0 -1
  306. package/dist/scheduler/shutdown-handler.js +0 -44
  307. package/dist/scheduler/shutdown-handler.js.map +0 -1
  308. package/dist/scheduler/trigger-dispatcher.d.ts +0 -12
  309. package/dist/scheduler/trigger-dispatcher.d.ts.map +0 -1
  310. package/dist/scheduler/trigger-dispatcher.js +0 -46
  311. package/dist/scheduler/trigger-dispatcher.js.map +0 -1
  312. package/dist/shared/aws-constants.d.ts.map +0 -1
  313. package/dist/shared/aws-constants.js.map +0 -1
@@ -12,19 +12,14 @@ export interface LocalConfig {
12
12
  cpus?: number;
13
13
  timeout?: number;
14
14
  }
15
- export interface CloudConfig {
16
- provider: "cloud-run" | "ecs";
17
- gcpProject?: string;
18
- region?: string;
19
- artifactRegistry?: string;
20
- serviceAccount?: string;
21
- secretPrefix?: string;
22
- awsRegion?: string;
23
- ecsCluster?: string;
24
- ecrRepository?: string;
25
- executionRoleArn?: string;
26
- taskRoleArn?: string;
27
- subnets?: string[];
15
+ export interface EcsCloudConfig {
16
+ provider: "ecs";
17
+ awsRegion: string;
18
+ ecsCluster: string;
19
+ ecrRepository: string;
20
+ executionRoleArn: string;
21
+ taskRoleArn: string;
22
+ subnets: string[];
28
23
  securityGroups?: string[];
29
24
  awsSecretPrefix?: string;
30
25
  buildBucket?: string;
@@ -36,6 +31,17 @@ export interface CloudConfig {
36
31
  appRunnerInstanceRoleArn?: string;
37
32
  appRunnerAccessRoleArn?: string;
38
33
  }
34
+ export interface CloudRunCloudConfig {
35
+ provider: "cloud-run";
36
+ gcpProject: string;
37
+ region: string;
38
+ artifactRegistry: string;
39
+ serviceAccount: string;
40
+ secretPrefix?: string;
41
+ schedulerCpu?: string;
42
+ schedulerMemory?: string;
43
+ }
44
+ export type CloudConfig = EcsCloudConfig | CloudRunCloudConfig;
39
45
  export interface GatewayConfig {
40
46
  port?: number;
41
47
  lockTimeout?: number;
@@ -45,12 +51,21 @@ export interface WebhookSourceConfig {
45
51
  type: string;
46
52
  credential?: string;
47
53
  }
54
+ export interface TelemetryConfig {
55
+ enabled: boolean;
56
+ provider: "otel" | "xray" | "none";
57
+ endpoint?: string;
58
+ serviceName?: string;
59
+ headers?: Record<string, string>;
60
+ samplingRate?: number;
61
+ }
48
62
  export interface GlobalConfig {
49
63
  model?: ModelConfig;
50
64
  local?: LocalConfig;
51
65
  cloud?: CloudConfig;
52
66
  gateway?: GatewayConfig;
53
67
  webhooks?: Record<string, WebhookSourceConfig>;
68
+ telemetry?: TelemetryConfig;
54
69
  maxReruns?: number;
55
70
  maxCallDepth?: number;
56
71
  /** @deprecated Use maxCallDepth instead */
@@ -71,6 +86,7 @@ export interface AgentConfig {
71
86
  }
72
87
  export declare function loadGlobalConfig(projectPath: string): GlobalConfig;
73
88
  export declare function loadAgentConfig(projectPath: string, agentName: string): AgentConfig;
89
+ export declare function validateAgentName(name: string): void;
74
90
  export declare function validateAgentConfig(config: AgentConfig): void;
75
91
  export declare function discoverAgents(projectPath: string): string[];
76
92
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,57 @@
1
1
  import { readFileSync, existsSync, readdirSync, statSync } from "fs";
2
2
  import { resolve } from "path";
3
3
  import { parse as parseTOML } from "smol-toml";
4
+ import { ConfigError } from "./errors.js";
4
5
  // --- Loaders ---
5
6
  export function loadGlobalConfig(projectPath) {
6
7
  const configPath = resolve(projectPath, "config.toml");
7
- if (!existsSync(configPath)) {
8
- return {};
8
+ let config = {};
9
+ if (existsSync(configPath)) {
10
+ const raw = readFileSync(configPath, "utf-8");
11
+ config = parseTOML(raw);
9
12
  }
10
- const raw = readFileSync(configPath, "utf-8");
11
- return parseTOML(raw);
13
+ // Set default telemetry config if not provided
14
+ if (!config.telemetry) {
15
+ config.telemetry = {
16
+ enabled: false,
17
+ provider: "none",
18
+ };
19
+ }
20
+ // Validate cloud config if present
21
+ if (config.cloud) {
22
+ config.cloud = validateCloudConfig(config.cloud);
23
+ }
24
+ return config;
25
+ }
26
+ function validateCloudConfig(raw) {
27
+ if (!raw.provider) {
28
+ throw new ConfigError("cloud.provider is required in config.toml");
29
+ }
30
+ if (raw.provider === "ecs") {
31
+ const required = ["awsRegion", "ecsCluster", "ecrRepository", "executionRoleArn", "taskRoleArn", "subnets"];
32
+ const missing = required.filter((k) => !raw[k] || (Array.isArray(raw[k]) && raw[k].length === 0));
33
+ if (missing.length > 0) {
34
+ throw new ConfigError(`ECS cloud config is missing required fields: ${missing.map((k) => `cloud.${k}`).join(", ")}. ` +
35
+ `Run 'al cloud setup' to configure.`);
36
+ }
37
+ return raw;
38
+ }
39
+ if (raw.provider === "cloud-run") {
40
+ const required = ["gcpProject", "region", "artifactRegistry", "serviceAccount"];
41
+ const missing = required.filter((k) => !raw[k]);
42
+ if (missing.length > 0) {
43
+ throw new ConfigError(`Cloud Run config is missing required fields: ${missing.map((k) => `cloud.${k}`).join(", ")}. ` +
44
+ `Run 'al cloud setup' to configure.`);
45
+ }
46
+ return raw;
47
+ }
48
+ throw new ConfigError(`Unknown cloud provider: "${raw.provider}". Supported: ecs, cloud-run`);
12
49
  }
13
50
  export function loadAgentConfig(projectPath, agentName) {
14
51
  const agentDir = resolve(projectPath, agentName);
15
52
  const tomlPath = resolve(agentDir, "agent-config.toml");
16
53
  if (!existsSync(tomlPath)) {
17
- throw new Error(`Agent config not found at ${tomlPath}.`);
54
+ throw new ConfigError(`Agent config not found at ${tomlPath}.`);
18
55
  }
19
56
  const raw = readFileSync(tomlPath, "utf-8");
20
57
  const parsed = parseTOML(raw);
@@ -28,12 +65,22 @@ export function loadAgentConfig(projectPath, agentName) {
28
65
  }
29
66
  return parsed;
30
67
  }
68
+ const AGENT_NAME_PATTERN = /^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/;
69
+ export function validateAgentName(name) {
70
+ if (!name || name.length > 63) {
71
+ throw new ConfigError(`Agent name "${name}" is invalid: must be 1-63 characters.`);
72
+ }
73
+ if (!AGENT_NAME_PATTERN.test(name)) {
74
+ throw new ConfigError(`Agent name "${name}" is invalid: must contain only lowercase letters, numbers, and hyphens (cannot start or end with a hyphen).`);
75
+ }
76
+ }
31
77
  export function validateAgentConfig(config) {
78
+ validateAgentName(config.name);
32
79
  // scale = 0 disables the agent — skip schedule/webhook requirement
33
80
  if (config.scale === 0)
34
81
  return;
35
82
  if (!config.schedule && (!config.webhooks || config.webhooks.length === 0)) {
36
- throw new Error(`Agent "${config.name}" must have a schedule, webhooks, or both.`);
83
+ throw new ConfigError(`Agent "${config.name}" must have a schedule, webhooks, or both.`);
37
84
  }
38
85
  }
39
86
  export function discoverAgents(projectPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Provider-agnostic constants shared across local and cloud runtimes.
3
+ *
4
+ * Provider-specific constants live in:
5
+ * - src/cloud/aws/constants.ts (AWS_CONSTANTS)
6
+ * - src/cloud/gcp/constants.ts (GCP_CONSTANTS)
7
+ */
8
+ export declare const CONSTANTS: {
9
+ /** Default prefix for secret names across all providers */
10
+ DEFAULT_SECRET_PREFIX: string;
11
+ /** Marker tag for filtering our tasks/containers */
12
+ STARTED_BY: string;
13
+ /** ECS task family / Cloud Run job name / Lambda function name for an agent */
14
+ agentFamily: (agentName: string) => string;
15
+ /** Strip the `al-` prefix to recover the agent name */
16
+ agentNameFromFamily: (family: string) => string;
17
+ /** Docker container name for a local agent run */
18
+ containerName: (agentName: string, runId: string) => string;
19
+ /** Docker container name filter prefix */
20
+ CONTAINER_FILTER: string;
21
+ /** Docker network name */
22
+ NETWORK_NAME: string;
23
+ /** Default base Docker image */
24
+ DEFAULT_IMAGE: string;
25
+ /** Project-level base image (extends DEFAULT_IMAGE with user customizations) */
26
+ PROJECT_BASE_IMAGE: string;
27
+ /** Agent-specific Docker image tag */
28
+ agentImage: (agentName: string) => string;
29
+ /** Temp directory prefix for credential staging */
30
+ CREDS_TEMP_PREFIX: string;
31
+ /** Scheduler Docker image tag */
32
+ SCHEDULER_IMAGE: string;
33
+ };
34
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,SAAS;IACpB,2DAA2D;;IAG3D,oDAAoD;;IAGpD,+EAA+E;6BACtD,MAAM;IAE/B,uDAAuD;kCACzB,MAAM;IAEpC,kDAAkD;+BACvB,MAAM,SAAS,MAAM;IAEhD,0CAA0C;;IAG1C,0BAA0B;;IAG1B,gCAAgC;;IAGhC,gFAAgF;;IAGhF,sCAAsC;4BACd,MAAM;IAE9B,mDAAmD;;IAGnD,iCAAiC;;CAE8B,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Provider-agnostic constants shared across local and cloud runtimes.
3
+ *
4
+ * Provider-specific constants live in:
5
+ * - src/cloud/aws/constants.ts (AWS_CONSTANTS)
6
+ * - src/cloud/gcp/constants.ts (GCP_CONSTANTS)
7
+ */
8
+ export const CONSTANTS = {
9
+ /** Default prefix for secret names across all providers */
10
+ DEFAULT_SECRET_PREFIX: "action-llama",
11
+ /** Marker tag for filtering our tasks/containers */
12
+ STARTED_BY: "action-llama",
13
+ /** ECS task family / Cloud Run job name / Lambda function name for an agent */
14
+ agentFamily: (agentName) => `al-${agentName}`,
15
+ /** Strip the `al-` prefix to recover the agent name */
16
+ agentNameFromFamily: (family) => family.startsWith("al-") ? family.slice(3) : family,
17
+ /** Docker container name for a local agent run */
18
+ containerName: (agentName, runId) => `al-${agentName}-${runId}`,
19
+ /** Docker container name filter prefix */
20
+ CONTAINER_FILTER: "al-",
21
+ /** Docker network name */
22
+ NETWORK_NAME: "al-net",
23
+ /** Default base Docker image */
24
+ DEFAULT_IMAGE: "al-agent:latest",
25
+ /** Project-level base image (extends DEFAULT_IMAGE with user customizations) */
26
+ PROJECT_BASE_IMAGE: "al-project-base:latest",
27
+ /** Agent-specific Docker image tag */
28
+ agentImage: (agentName) => `al-${agentName}:latest`,
29
+ /** Temp directory prefix for credential staging */
30
+ CREDS_TEMP_PREFIX: "al-creds-",
31
+ /** Scheduler Docker image tag */
32
+ SCHEDULER_IMAGE: "al-scheduler:latest",
33
+ };
34
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,2DAA2D;IAC3D,qBAAqB,EAAE,cAAc;IAErC,oDAAoD;IACpD,UAAU,EAAE,cAAc;IAE1B,+EAA+E;IAC/E,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,EAAE;IAErD,uDAAuD;IACvD,mBAAmB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;IAE5F,kDAAkD;IAClD,aAAa,EAAE,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,MAAM,SAAS,IAAI,KAAK,EAAE;IAE/E,0CAA0C;IAC1C,gBAAgB,EAAE,KAAK;IAEvB,0BAA0B;IAC1B,YAAY,EAAE,QAAQ;IAEtB,gCAAgC;IAChC,aAAa,EAAE,iBAAiB;IAEhC,gFAAgF;IAChF,kBAAkB,EAAE,wBAAwB;IAE5C,sCAAsC;IACtC,UAAU,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,SAAS;IAE3D,mDAAmD;IACnD,iBAAiB,EAAE,WAAW;IAE9B,iCAAiC;IACjC,eAAe,EAAE,qBAAqB;CACyB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Abstract credential backend interface.
3
3
  * Implementations provide read/write/list/exists for credential storage.
4
- * The filesystem backend wraps the existing ~/.action-llama-credentials/ layout.
4
+ * The filesystem backend wraps the ~/.action-llama/credentials/ layout.
5
5
  * Remote backends (e.g. Google Secret Manager) implement the same interface.
6
6
  */
7
7
  export interface CredentialBackend {
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/shared/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAMjE;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAIlF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAKD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEpH;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAEtH;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtH;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzH;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvF;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrE;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIzD"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/shared/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAOjE;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAIlF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAKD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEpH;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAEtH;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtH;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzH;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvF;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrE;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIzD"}
@@ -1,6 +1,7 @@
1
1
  import { resolve } from "path";
2
2
  import { CREDENTIALS_DIR } from "./paths.js";
3
3
  import { FilesystemBackend } from "./filesystem-backend.js";
4
+ import { CredentialError } from "./errors.js";
4
5
  // Default backend instance (local filesystem)
5
6
  let _defaultBackend = new FilesystemBackend();
6
7
  /**
@@ -84,7 +85,7 @@ export async function requireCredentialRef(ref) {
84
85
  const { type, instance } = parseCredentialRef(ref);
85
86
  const exists = await _defaultBackend.exists(type, instance);
86
87
  if (!exists) {
87
- throw new Error(`Credential "${ref}" not found. Run 'al doctor' to configure it.`);
88
+ throw new CredentialError(`Credential "${ref}" not found. Run 'al doctor' to configure it.`);
88
89
  }
89
90
  }
90
91
  // --- Env-var-safe encoding for credential parts ---
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/shared/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/shared/credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Custom error classes for Action Llama.
3
+ *
4
+ * Using typed errors instead of generic Error enables the CLI wrapper
5
+ * to provide context-aware error messages and recovery hints.
6
+ */
7
+ export declare class ConfigError extends Error {
8
+ name: string;
9
+ constructor(message: string, options?: {
10
+ cause?: unknown;
11
+ });
12
+ }
13
+ export declare class CredentialError extends Error {
14
+ name: string;
15
+ constructor(message: string, options?: {
16
+ cause?: unknown;
17
+ });
18
+ }
19
+ export declare class CloudProviderError extends Error {
20
+ name: string;
21
+ constructor(message: string, options?: {
22
+ cause?: unknown;
23
+ });
24
+ }
25
+ export declare class AgentError extends Error {
26
+ name: string;
27
+ constructor(message: string, options?: {
28
+ cause?: unknown;
29
+ });
30
+ }
31
+ export declare const UNRECOVERABLE_PATTERNS: string[];
32
+ export declare function isUnrecoverableError(text: string): boolean;
33
+ export declare const UNRECOVERABLE_THRESHOLD = 3;
34
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAa,WAAY,SAAQ,KAAK;IAC3B,IAAI,SAAiB;gBAElB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAG3D;AAED,qBAAa,eAAgB,SAAQ,KAAK;IAC/B,IAAI,SAAqB;gBAEtB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAG3D;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAClC,IAAI,SAAwB;gBAEzB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAG3D;AAED,qBAAa,UAAW,SAAQ,KAAK;IAC1B,IAAI,SAAgB;gBAEjB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAG3D;AAKD,eAAO,MAAM,sBAAsB,UAQlC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Custom error classes for Action Llama.
3
+ *
4
+ * Using typed errors instead of generic Error enables the CLI wrapper
5
+ * to provide context-aware error messages and recovery hints.
6
+ */
7
+ export class ConfigError extends Error {
8
+ name = "ConfigError";
9
+ constructor(message, options) {
10
+ super(message, options);
11
+ }
12
+ }
13
+ export class CredentialError extends Error {
14
+ name = "CredentialError";
15
+ constructor(message, options) {
16
+ super(message, options);
17
+ }
18
+ }
19
+ export class CloudProviderError extends Error {
20
+ name = "CloudProviderError";
21
+ constructor(message, options) {
22
+ super(message, options);
23
+ }
24
+ }
25
+ export class AgentError extends Error {
26
+ name = "AgentError";
27
+ constructor(message, options) {
28
+ super(message, options);
29
+ }
30
+ }
31
+ // --- Unrecoverable error detection ---
32
+ // Consolidated from agents/runner.ts and agents/execution-engine.ts.
33
+ export const UNRECOVERABLE_PATTERNS = [
34
+ "permission denied",
35
+ "could not read from remote repository",
36
+ "resource not accessible by personal access token",
37
+ "bad credentials",
38
+ "authentication failed",
39
+ "the requested url returned error: 403",
40
+ "denied to ",
41
+ ];
42
+ export function isUnrecoverableError(text) {
43
+ const lower = text.toLowerCase();
44
+ return UNRECOVERABLE_PATTERNS.some((p) => lower.includes(p));
45
+ }
46
+ export const UNRECOVERABLE_THRESHOLD = 3;
47
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,GAAG,aAAa,CAAC;IAE9B,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,GAAG,iBAAiB,CAAC;IAElC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,IAAI,GAAG,oBAAoB,CAAC;IAErC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,GAAG,YAAY,CAAC;IAE7B,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,wCAAwC;AACxC,qEAAqE;AAErE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,mBAAmB;IACnB,uCAAuC;IACvC,kDAAkD;IAClD,iBAAiB;IACjB,uBAAuB;IACvB,uCAAuC;IACvC,YAAY;CACb,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { CredentialBackend, CredentialEntry } from "./credential-backend.js";
2
2
  /**
3
3
  * Filesystem credential backend.
4
- * Stores credentials at ~/.action-llama-credentials/<type>/<instance>/<field>.
4
+ * Stores credentials at ~/.action-llama/credentials/<type>/<instance>/<field>.
5
5
  * This is the default local-first backend.
6
6
  */
7
7
  export declare class FilesystemBackend implements CredentialBackend {
@@ -3,7 +3,7 @@ import { resolve } from "path";
3
3
  import { CREDENTIALS_DIR } from "./paths.js";
4
4
  /**
5
5
  * Filesystem credential backend.
6
- * Stores credentials at ~/.action-llama-credentials/<type>/<instance>/<field>.
6
+ * Stores credentials at ~/.action-llama/credentials/<type>/<instance>/<field>.
7
7
  * This is the default local-first backend.
8
8
  */
9
9
  export class FilesystemBackend {
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/shared/git.ts"],"names":[],"mappings":"AAOA,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAUD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAOzD"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/shared/git.ts"],"names":[],"mappings":"AAOA,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAUD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAQzD"}
@@ -1,4 +1,4 @@
1
- import { execSync } from "child_process";
1
+ import { execFileSync } from "child_process";
2
2
  import { existsSync } from "fs";
3
3
  import { resolve } from "path";
4
4
  import { CREDENTIALS_DIR } from "./paths.js";
@@ -14,7 +14,8 @@ function gitSshEnv() {
14
14
  return env;
15
15
  }
16
16
  export function gitExec(cmd, cwd) {
17
- return execSync(cmd, {
17
+ const args = cmd.split(/\s+/);
18
+ return execFileSync(args[0], args.slice(1), {
18
19
  cwd,
19
20
  encoding: "utf-8",
20
21
  timeout: 120000,
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/shared/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAE9E,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,IAAY;IAChD,OAAO,kBAAkB,KAAK,IAAI,IAAI,MAAM,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,GAAG,GAA2B,EAAE,GAAG,OAAO,CAAC,GAAG,EAA4B,CAAC;IACjF,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,eAAe,GAAG,WAAW,YAAY,6DAA6D,CAAC;IAC7G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,GAAY;IAC/C,OAAO,QAAQ,CAAC,GAAG,EAAE;QACnB,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,SAAS,EAAE;KACjB,CAAC,CAAC,IAAI,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/shared/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAE9E,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,IAAY;IAChD,OAAO,kBAAkB,KAAK,IAAI,IAAI,MAAM,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,GAAG,GAA2B,EAAE,GAAG,OAAO,CAAC,GAAG,EAA4B,CAAC;IACjF,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,eAAe,GAAG,WAAW,YAAY,6DAA6D,CAAC;IAC7G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,GAAY;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC1C,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,SAAS,EAAE;KACjB,CAAC,CAAC,IAAI,EAAE,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gsm-backend.d.ts","sourceRoot":"","sources":["../../src/shared/gsm-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF;;;;;;;;;;;;GAYG;AACH,qBAAa,0BAA2B,YAAW,iBAAiB;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAAK;gBAEZ,UAAU,EAAE,MAAM,EAAE,YAAY,SAAsC;IAKlF,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,eAAe;YAMT,cAAc;YAkBd,6BAA6B;YAwC7B,kBAAkB;YAsBlB,UAAU;IAclB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAahF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlF,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAmClC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAapF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvF,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAQrD"}
1
+ {"version":3,"file":"gsm-backend.d.ts","sourceRoot":"","sources":["../../src/shared/gsm-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF;;;;;;;;;;;;GAYG;AACH,qBAAa,0BAA2B,YAAW,iBAAiB;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAAK;gBAEZ,UAAU,EAAE,MAAM,EAAE,YAAY,SAAkC;IAK9E,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,eAAe;YAMT,cAAc;YAkBd,6BAA6B;YAwC7B,kBAAkB;YAsBlB,UAAU;IAclB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAahF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlF,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAmClC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAapF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvF,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAQrD"}
@@ -1,4 +1,4 @@
1
- import { AWS_CONSTANTS } from "./aws-constants.js";
1
+ import { CONSTANTS } from "./constants.js";
2
2
  /**
3
3
  * Google Secret Manager credential backend.
4
4
  * Maps type/instance/field → secret name: <prefix>/<type>/<instance>/<field>
@@ -17,7 +17,7 @@ export class GoogleSecretManagerBackend {
17
17
  prefix;
18
18
  accessToken;
19
19
  tokenExpiry = 0;
20
- constructor(gcpProject, secretPrefix = AWS_CONSTANTS.DEFAULT_SECRET_PREFIX) {
20
+ constructor(gcpProject, secretPrefix = CONSTANTS.DEFAULT_SECRET_PREFIX) {
21
21
  this.gcpProject = gcpProject;
22
22
  this.prefix = secretPrefix;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gsm-backend.js","sourceRoot":"","sources":["../../src/shared/gsm-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gsm-backend.js","sourceRoot":"","sources":["../../src/shared/gsm-backend.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export declare const AL_HOME: string;
2
+ export declare const AL_HOME_DIR: string;
2
3
  export declare const CREDENTIALS_DIR: string;
4
+ export declare const STATE_DIR: string;
3
5
  export declare function projectDir(projectPath: string): string;
4
6
  export declare function logsDir(projectPath: string): string;
5
7
  export declare function eventsDir(projectPath: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,QAA4B,CAAC;AACjD,eAAO,MAAM,eAAe,QAAkD,CAAC;AAE/E,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvE"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,QAA4B,CAAC;AACjD,eAAO,MAAM,WAAW,QAAsC,CAAC;AAC/D,eAAO,MAAM,eAAe,QAAsC,CAAC;AACnE,eAAO,MAAM,SAAS,QAAgC,CAAC;AAEvD,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvE"}
@@ -1,7 +1,9 @@
1
1
  import { resolve } from "path";
2
2
  import { homedir } from "os";
3
3
  export const AL_HOME = resolve(homedir(), ".al");
4
- export const CREDENTIALS_DIR = resolve(homedir(), ".action-llama-credentials");
4
+ export const AL_HOME_DIR = resolve(homedir(), ".action-llama");
5
+ export const CREDENTIALS_DIR = resolve(AL_HOME_DIR, "credentials");
6
+ export const STATE_DIR = resolve(AL_HOME_DIR, "state");
5
7
  export function projectDir(projectPath) {
6
8
  return resolve(projectPath);
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,2BAA2B,CAAC,CAAC;AAE/E,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAmB;IACzC,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,WAAmB,EAAE,SAAiB;IAC7D,OAAO,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAmB;IACzC,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,WAAmB,EAAE,SAAiB;IAC7D,OAAO,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -2,6 +2,7 @@ import type { CloudConfig } from "./config.js";
2
2
  import type { CredentialBackend } from "./credential-backend.js";
3
3
  /**
4
4
  * Create a credential backend from the [cloud] config section.
5
+ * Delegates to the appropriate CloudProvider implementation.
5
6
  */
6
7
  export declare function createBackendFromCloudConfig(cloud: CloudConfig): Promise<CredentialBackend>;
7
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/shared/remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIjE;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkBjG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CAEtD"}
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/shared/remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAIjG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CAEtD"}
@@ -1,24 +1,12 @@
1
1
  import { FilesystemBackend } from "./filesystem-backend.js";
2
- import { AWS_CONSTANTS } from "./aws-constants.js";
3
2
  /**
4
3
  * Create a credential backend from the [cloud] config section.
4
+ * Delegates to the appropriate CloudProvider implementation.
5
5
  */
6
6
  export async function createBackendFromCloudConfig(cloud) {
7
- if (cloud.provider === "cloud-run") {
8
- if (!cloud.gcpProject) {
9
- throw new Error("Cloud provider 'cloud-run' requires 'gcpProject' in [cloud] config.");
10
- }
11
- const { GoogleSecretManagerBackend } = await import("./gsm-backend.js");
12
- return new GoogleSecretManagerBackend(cloud.gcpProject, cloud.secretPrefix || AWS_CONSTANTS.DEFAULT_SECRET_PREFIX);
13
- }
14
- if (cloud.provider === "ecs") {
15
- if (!cloud.awsRegion) {
16
- throw new Error("Cloud provider 'ecs' requires 'awsRegion' in [cloud] config.");
17
- }
18
- const { AwsSecretsManagerBackend } = await import("./asm-backend.js");
19
- return new AwsSecretsManagerBackend(cloud.awsRegion, cloud.awsSecretPrefix || AWS_CONSTANTS.DEFAULT_SECRET_PREFIX);
20
- }
21
- throw new Error(`Unknown cloud provider: "${cloud.provider}". Supported providers: cloud-run, ecs`);
7
+ const { createCloudProvider } = await import("../cloud/provider.js");
8
+ const provider = await createCloudProvider(cloud);
9
+ return provider.createCredentialBackend();
22
10
  }
23
11
  /**
24
12
  * Create the local filesystem backend.