@action-llama/action-llama 0.3.0 → 0.4.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 (212) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -102
  3. package/dist/agents/container-entry.js +123 -17
  4. package/dist/agents/container-entry.js.map +1 -1
  5. package/dist/agents/container-runner.d.ts +10 -4
  6. package/dist/agents/container-runner.d.ts.map +1 -1
  7. package/dist/agents/container-runner.js +83 -105
  8. package/dist/agents/container-runner.js.map +1 -1
  9. package/dist/agents/prompt.d.ts +2 -0
  10. package/dist/agents/prompt.d.ts.map +1 -1
  11. package/dist/agents/prompt.js +12 -4
  12. package/dist/agents/prompt.js.map +1 -1
  13. package/dist/agents/runner.d.ts +10 -1
  14. package/dist/agents/runner.d.ts.map +1 -1
  15. package/dist/agents/runner.js +60 -8
  16. package/dist/agents/runner.js.map +1 -1
  17. package/dist/cli/commands/{setup.d.ts → cloud-setup.d.ts} +1 -1
  18. package/dist/cli/commands/cloud-setup.d.ts.map +1 -0
  19. package/dist/cli/commands/cloud-setup.js +565 -0
  20. package/dist/cli/commands/cloud-setup.js.map +1 -0
  21. package/dist/cli/commands/cloud-teardown.d.ts +6 -0
  22. package/dist/cli/commands/cloud-teardown.d.ts.map +1 -0
  23. package/dist/cli/commands/cloud-teardown.js +152 -0
  24. package/dist/cli/commands/cloud-teardown.js.map +1 -0
  25. package/dist/cli/commands/console.d.ts.map +1 -1
  26. package/dist/cli/commands/console.js +108 -8
  27. package/dist/cli/commands/console.js.map +1 -1
  28. package/dist/cli/commands/creds.d.ts +2 -0
  29. package/dist/cli/commands/creds.d.ts.map +1 -0
  30. package/dist/cli/commands/creds.js +62 -0
  31. package/dist/cli/commands/creds.js.map +1 -0
  32. package/dist/cli/commands/doctor.d.ts +7 -0
  33. package/dist/cli/commands/doctor.d.ts.map +1 -0
  34. package/dist/cli/commands/doctor.js +405 -0
  35. package/dist/cli/commands/doctor.js.map +1 -0
  36. package/dist/cli/commands/logs.d.ts +1 -0
  37. package/dist/cli/commands/logs.d.ts.map +1 -1
  38. package/dist/cli/commands/logs.js +67 -0
  39. package/dist/cli/commands/logs.js.map +1 -1
  40. package/dist/cli/commands/new.d.ts.map +1 -1
  41. package/dist/cli/commands/new.js +9 -2
  42. package/dist/cli/commands/new.js.map +1 -1
  43. package/dist/cli/commands/run.d.ts +6 -0
  44. package/dist/cli/commands/run.d.ts.map +1 -0
  45. package/dist/cli/commands/run.js +121 -0
  46. package/dist/cli/commands/run.js.map +1 -0
  47. package/dist/cli/commands/start.d.ts +3 -1
  48. package/dist/cli/commands/start.d.ts.map +1 -1
  49. package/dist/cli/commands/start.js +52 -16
  50. package/dist/cli/commands/start.js.map +1 -1
  51. package/dist/cli/commands/status.d.ts +1 -0
  52. package/dist/cli/commands/status.d.ts.map +1 -1
  53. package/dist/cli/commands/status.js +39 -2
  54. package/dist/cli/commands/status.js.map +1 -1
  55. package/dist/cli/main.js +58 -16
  56. package/dist/cli/main.js.map +1 -1
  57. package/dist/credentials/builtins/aws.d.ts +4 -0
  58. package/dist/credentials/builtins/aws.d.ts.map +1 -0
  59. package/dist/credentials/builtins/aws.js +33 -0
  60. package/dist/credentials/builtins/aws.js.map +1 -0
  61. package/dist/credentials/builtins/bugsnag-token.d.ts +4 -0
  62. package/dist/credentials/builtins/bugsnag-token.d.ts.map +1 -0
  63. package/dist/credentials/builtins/bugsnag-token.js +18 -0
  64. package/dist/credentials/builtins/bugsnag-token.js.map +1 -0
  65. package/dist/credentials/builtins/github-webhook-secret.d.ts.map +1 -1
  66. package/dist/credentials/builtins/github-webhook-secret.js +2 -1
  67. package/dist/credentials/builtins/github-webhook-secret.js.map +1 -1
  68. package/dist/credentials/builtins/index.d.ts.map +1 -1
  69. package/dist/credentials/builtins/index.js +10 -0
  70. package/dist/credentials/builtins/index.js.map +1 -1
  71. package/dist/credentials/builtins/netlify-token.d.ts +4 -0
  72. package/dist/credentials/builtins/netlify-token.d.ts.map +1 -0
  73. package/dist/credentials/builtins/netlify-token.js +18 -0
  74. package/dist/credentials/builtins/netlify-token.js.map +1 -0
  75. package/dist/credentials/builtins/openai-key.d.ts +4 -0
  76. package/dist/credentials/builtins/openai-key.d.ts.map +1 -0
  77. package/dist/credentials/builtins/openai-key.js +38 -0
  78. package/dist/credentials/builtins/openai-key.js.map +1 -0
  79. package/dist/credentials/builtins/x-twitter-api.d.ts +4 -0
  80. package/dist/credentials/builtins/x-twitter-api.d.ts.map +1 -0
  81. package/dist/credentials/builtins/x-twitter-api.js +28 -0
  82. package/dist/credentials/builtins/x-twitter-api.js.map +1 -0
  83. package/dist/credentials/prompter.d.ts.map +1 -1
  84. package/dist/credentials/prompter.js +8 -5
  85. package/dist/credentials/prompter.js.map +1 -1
  86. package/dist/docker/cloud-run-runtime.d.ts +61 -0
  87. package/dist/docker/cloud-run-runtime.d.ts.map +1 -0
  88. package/dist/docker/cloud-run-runtime.js +510 -0
  89. package/dist/docker/cloud-run-runtime.js.map +1 -0
  90. package/dist/docker/ecs-runtime.d.ts +73 -0
  91. package/dist/docker/ecs-runtime.d.ts.map +1 -0
  92. package/dist/docker/ecs-runtime.js +596 -0
  93. package/dist/docker/ecs-runtime.js.map +1 -0
  94. package/dist/docker/image.d.ts.map +1 -1
  95. package/dist/docker/image.js +3 -2
  96. package/dist/docker/image.js.map +1 -1
  97. package/dist/docker/local-runtime.d.ts +19 -0
  98. package/dist/docker/local-runtime.d.ts.map +1 -0
  99. package/dist/docker/local-runtime.js +209 -0
  100. package/dist/docker/local-runtime.js.map +1 -0
  101. package/dist/docker/network.d.ts +1 -1
  102. package/dist/docker/network.d.ts.map +1 -1
  103. package/dist/docker/network.js +2 -1
  104. package/dist/docker/network.js.map +1 -1
  105. package/dist/docker/runtime.d.ts +90 -0
  106. package/dist/docker/runtime.d.ts.map +1 -0
  107. package/dist/docker/runtime.js +2 -0
  108. package/dist/docker/runtime.js.map +1 -0
  109. package/dist/gateway/index.d.ts +8 -2
  110. package/dist/gateway/index.d.ts.map +1 -1
  111. package/dist/gateway/index.js +16 -8
  112. package/dist/gateway/index.js.map +1 -1
  113. package/dist/gateway/routes/credentials.d.ts +5 -0
  114. package/dist/gateway/routes/credentials.d.ts.map +1 -0
  115. package/dist/gateway/routes/credentials.js +17 -0
  116. package/dist/gateway/routes/credentials.js.map +1 -0
  117. package/dist/gateway/routes/logs.d.ts +5 -0
  118. package/dist/gateway/routes/logs.d.ts.map +1 -0
  119. package/dist/gateway/routes/logs.js +31 -0
  120. package/dist/gateway/routes/logs.js.map +1 -0
  121. package/dist/gateway/routes/shutdown.d.ts +2 -1
  122. package/dist/gateway/routes/shutdown.d.ts.map +1 -1
  123. package/dist/gateway/routes/shutdown.js +7 -16
  124. package/dist/gateway/routes/shutdown.js.map +1 -1
  125. package/dist/gateway/routes/webhooks.d.ts +2 -1
  126. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  127. package/dist/gateway/routes/webhooks.js +11 -4
  128. package/dist/gateway/routes/webhooks.js.map +1 -1
  129. package/dist/gateway/types.d.ts +6 -0
  130. package/dist/gateway/types.d.ts.map +1 -0
  131. package/dist/gateway/types.js +2 -0
  132. package/dist/gateway/types.js.map +1 -0
  133. package/dist/scheduler/index.d.ts +3 -2
  134. package/dist/scheduler/index.d.ts.map +1 -1
  135. package/dist/scheduler/index.js +286 -67
  136. package/dist/scheduler/index.js.map +1 -1
  137. package/dist/setup/scaffold.d.ts.map +1 -1
  138. package/dist/setup/scaffold.js +110 -50
  139. package/dist/setup/scaffold.js.map +1 -1
  140. package/dist/setup/validators.d.ts +14 -0
  141. package/dist/setup/validators.d.ts.map +1 -1
  142. package/dist/setup/validators.js +53 -0
  143. package/dist/setup/validators.js.map +1 -1
  144. package/dist/shared/asm-backend.d.ts +25 -0
  145. package/dist/shared/asm-backend.d.ts.map +1 -0
  146. package/dist/shared/asm-backend.js +107 -0
  147. package/dist/shared/asm-backend.js.map +1 -0
  148. package/dist/shared/aws-constants.d.ts +55 -0
  149. package/dist/shared/aws-constants.d.ts.map +1 -0
  150. package/dist/shared/aws-constants.js +55 -0
  151. package/dist/shared/aws-constants.js.map +1 -0
  152. package/dist/shared/config.d.ts +25 -5
  153. package/dist/shared/config.d.ts.map +1 -1
  154. package/dist/shared/config.js +15 -22
  155. package/dist/shared/config.js.map +1 -1
  156. package/dist/shared/credential-backend.d.ts +28 -0
  157. package/dist/shared/credential-backend.d.ts.map +1 -0
  158. package/dist/shared/credential-backend.js +2 -0
  159. package/dist/shared/credential-backend.js.map +1 -0
  160. package/dist/shared/credentials.d.ts +42 -4
  161. package/dist/shared/credentials.d.ts.map +1 -1
  162. package/dist/shared/credentials.js +83 -6
  163. package/dist/shared/credentials.js.map +1 -1
  164. package/dist/shared/filesystem-backend.d.ts +18 -0
  165. package/dist/shared/filesystem-backend.d.ts.map +1 -0
  166. package/dist/shared/filesystem-backend.js +86 -0
  167. package/dist/shared/filesystem-backend.js.map +1 -0
  168. package/dist/shared/gsm-backend.d.ts +35 -0
  169. package/dist/shared/gsm-backend.d.ts.map +1 -0
  170. package/dist/shared/gsm-backend.js +208 -0
  171. package/dist/shared/gsm-backend.js.map +1 -0
  172. package/dist/shared/remote.d.ts +11 -0
  173. package/dist/shared/remote.d.ts.map +1 -0
  174. package/dist/shared/remote.js +29 -0
  175. package/dist/shared/remote.js.map +1 -0
  176. package/dist/tui/App.d.ts.map +1 -1
  177. package/dist/tui/App.js +13 -4
  178. package/dist/tui/App.js.map +1 -1
  179. package/dist/tui/plain-logger.d.ts +5 -0
  180. package/dist/tui/plain-logger.d.ts.map +1 -0
  181. package/dist/tui/plain-logger.js +80 -0
  182. package/dist/tui/plain-logger.js.map +1 -0
  183. package/dist/tui/status-tracker.d.ts +3 -2
  184. package/dist/tui/status-tracker.d.ts.map +1 -1
  185. package/dist/tui/status-tracker.js.map +1 -1
  186. package/dist/webhooks/definitions/github.js +1 -1
  187. package/dist/webhooks/definitions/github.js.map +1 -1
  188. package/dist/webhooks/definitions/sentry.js +1 -1
  189. package/dist/webhooks/definitions/sentry.js.map +1 -1
  190. package/dist/webhooks/providers/github.d.ts +1 -1
  191. package/dist/webhooks/providers/github.d.ts.map +1 -1
  192. package/dist/webhooks/providers/github.js +13 -9
  193. package/dist/webhooks/providers/github.js.map +1 -1
  194. package/dist/webhooks/providers/sentry.d.ts +1 -1
  195. package/dist/webhooks/providers/sentry.d.ts.map +1 -1
  196. package/dist/webhooks/providers/sentry.js +12 -9
  197. package/dist/webhooks/providers/sentry.js.map +1 -1
  198. package/dist/webhooks/registry.d.ts +1 -1
  199. package/dist/webhooks/registry.d.ts.map +1 -1
  200. package/dist/webhooks/registry.js +20 -13
  201. package/dist/webhooks/registry.js.map +1 -1
  202. package/dist/webhooks/types.d.ts +16 -6
  203. package/dist/webhooks/types.d.ts.map +1 -1
  204. package/docker/Dockerfile +4 -1
  205. package/package.json +10 -1
  206. package/dist/cli/commands/setup.d.ts.map +0 -1
  207. package/dist/cli/commands/setup.js +0 -50
  208. package/dist/cli/commands/setup.js.map +0 -1
  209. package/dist/docker/container.d.ts +0 -19
  210. package/dist/docker/container.d.ts.map +0 -1
  211. package/dist/docker/container.js +0 -73
  212. package/dist/docker/container.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/credentials/builtins/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAyC;IACtE,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,YAAY;IAC7B,cAAc,EAAE,WAAW;IAC3B,SAAS,EAAE,MAAM;IACjB,uBAAuB,EAAE,mBAAmB;IAC5C,sBAAsB,EAAE,kBAAkB;CAC3C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/credentials/builtins/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAyC;IACtE,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,YAAY;IAC7B,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,WAAW;IAC3B,SAAS,EAAE,MAAM;IACjB,uBAAuB,EAAE,mBAAmB;IAC5C,sBAAsB,EAAE,kBAAkB;IAC1C,eAAe,EAAE,YAAY;IAC7B,eAAe,EAAE,WAAW;IAC5B,KAAK,EAAE,GAAG;IACV,eAAe,EAAE,YAAY;CAC9B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const netlifyToken: CredentialDefinition;
3
+ export default netlifyToken;
4
+ //# sourceMappingURL=netlify-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netlify-token.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/netlify-token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGzD,QAAA,MAAM,YAAY,EAAE,oBAenB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { validateNetlifyToken } from "../../setup/validators.js";
2
+ const netlifyToken = {
3
+ id: "netlify_token",
4
+ label: "Netlify Personal Access Token",
5
+ description: "For managing Netlify sites and deployments",
6
+ helpUrl: "https://app.netlify.com/user/applications#personal-access-tokens",
7
+ fields: [
8
+ { name: "token", label: "Access Token", description: "Netlify PAT", secret: true },
9
+ ],
10
+ envVars: { token: "NETLIFY_AUTH_TOKEN" },
11
+ agentContext: "`NETLIFY_AUTH_TOKEN` — use for Netlify API requests",
12
+ async validate(values) {
13
+ await validateNetlifyToken(values.token);
14
+ return true;
15
+ },
16
+ };
17
+ export default netlifyToken;
18
+ //# sourceMappingURL=netlify-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netlify-token.js","sourceRoot":"","sources":["../../../src/credentials/builtins/netlify-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,YAAY,GAAyB;IACzC,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,+BAA+B;IACtC,WAAW,EAAE,4CAA4C;IACzD,OAAO,EAAE,kEAAkE;IAC3E,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE;KACnF;IACD,OAAO,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACxC,YAAY,EAAE,qDAAqD;IAEnE,KAAK,CAAC,QAAQ,CAAC,MAAM;QACnB,MAAM,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const openaiKey: CredentialDefinition;
3
+ export default openaiKey;
4
+ //# sourceMappingURL=openai-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-key.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/openai-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,QAAA,MAAM,SAAS,EAAE,oBAkChB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { input, confirm } from "@inquirer/prompts";
2
+ import { CREDENTIALS_DIR } from "../../shared/paths.js";
3
+ const openaiKey = {
4
+ id: "openai_key",
5
+ label: "OpenAI API Credential",
6
+ description: "API key for OpenAI GPT models (including Codex)",
7
+ fields: [
8
+ { name: "token", label: "API Key", description: "OpenAI API key (sk-...)", secret: true },
9
+ ],
10
+ // No envVars — openai_key is read directly by the agent runner
11
+ async prompt(existing) {
12
+ if (existing?.token) {
13
+ const reuse = await confirm({
14
+ message: `Found existing OpenAI credential in ${CREDENTIALS_DIR}/openai_key/. Use it?`,
15
+ default: true,
16
+ });
17
+ if (reuse) {
18
+ console.log(`Using existing OpenAI API key.\n`);
19
+ return { values: existing, params: { authType: "api_key" } };
20
+ }
21
+ }
22
+ const token = (await input({
23
+ message: "OpenAI API key:",
24
+ validate: (v) => {
25
+ v = v.trim();
26
+ if (v.length === 0)
27
+ return "API key is required";
28
+ if (!v.startsWith("sk-"))
29
+ return "API key should start with 'sk-'";
30
+ return true;
31
+ },
32
+ })).trim();
33
+ console.log("OpenAI API key saved. It will be verified on first agent run.\n");
34
+ return { values: { token }, params: { authType: "api_key" } };
35
+ },
36
+ };
37
+ export default openaiKey;
38
+ //# sourceMappingURL=openai-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-key.js","sourceRoot":"","sources":["../../../src/credentials/builtins/openai-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,SAAS,GAAyB;IACtC,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,iDAAiD;IAC9D,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,EAAE,IAAI,EAAE;KAC1F;IACD,+DAA+D;IAE/D,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;gBAC1B,OAAO,EAAE,uCAAuC,eAAe,uBAAuB;gBACtF,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,iBAAiB;YAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,qBAAqB,CAAC;gBACjD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;oBAAE,OAAO,iCAAiC,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const xTwitterApi: CredentialDefinition;
3
+ export default xTwitterApi;
4
+ //# sourceMappingURL=x-twitter-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-twitter-api.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/x-twitter-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGzD,QAAA,MAAM,WAAW,EAAE,oBAyBlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { validateXTwitterToken } from "../../setup/validators.js";
2
+ const xTwitterApi = {
3
+ id: "x_twitter_api",
4
+ label: "X (Twitter) API Credentials",
5
+ description: "API credentials for X (formerly Twitter) platform",
6
+ helpUrl: "https://developer.x.com/en/portal/dashboard",
7
+ fields: [
8
+ { name: "api_key", label: "API Key", description: "Consumer Key from X Developer Portal", secret: true },
9
+ { name: "api_secret", label: "API Secret", description: "Consumer Secret from X Developer Portal", secret: true },
10
+ { name: "bearer_token", label: "Bearer Token", description: "Bearer Token for app-only authentication", secret: true },
11
+ { name: "access_token", label: "Access Token", description: "User Access Token (optional, for user authentication)", secret: true },
12
+ { name: "access_token_secret", label: "Access Token Secret", description: "User Access Token Secret (optional, for user authentication)", secret: true },
13
+ ],
14
+ envVars: {
15
+ api_key: "X_API_KEY",
16
+ api_secret: "X_API_SECRET",
17
+ bearer_token: "X_BEARER_TOKEN",
18
+ access_token: "X_ACCESS_TOKEN",
19
+ access_token_secret: "X_ACCESS_TOKEN_SECRET"
20
+ },
21
+ agentContext: "`X_API_KEY`, `X_API_SECRET`, `X_BEARER_TOKEN`, `X_ACCESS_TOKEN`, `X_ACCESS_TOKEN_SECRET` — use X API v2 directly",
22
+ async validate(values) {
23
+ await validateXTwitterToken(values.bearer_token);
24
+ return true;
25
+ },
26
+ };
27
+ export default xTwitterApi;
28
+ //# sourceMappingURL=x-twitter-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-twitter-api.js","sourceRoot":"","sources":["../../../src/credentials/builtins/x-twitter-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,WAAW,GAAyB;IACxC,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,6BAA6B;IACpC,WAAW,EAAE,mDAAmD;IAChE,OAAO,EAAE,6CAA6C;IACtD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,sCAAsC,EAAE,MAAM,EAAE,IAAI,EAAE;QACxG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,yCAAyC,EAAE,MAAM,EAAE,IAAI,EAAE;QACjH,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,0CAA0C,EAAE,MAAM,EAAE,IAAI,EAAE;QACtH,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,uDAAuD,EAAE,MAAM,EAAE,IAAI,EAAE;QACnI,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,8DAA8D,EAAE,MAAM,EAAE,IAAI,EAAE;KACzJ;IACD,OAAO,EAAE;QACP,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,cAAc;QAC1B,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,gBAAgB;QAC9B,mBAAmB,EAAE,uBAAuB;KAC7C;IACD,YAAY,EAAE,kHAAkH;IAEhI,KAAK,CAAC,QAAQ,CAAC,MAAM;QACnB,MAAM,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../../src/credentials/prompter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAUhF;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,oBAAoB,EACzB,QAAQ,GAAE,MAAkB,GAC3B,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAwC7C"}
1
+ {"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../../src/credentials/prompter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAUhF;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,oBAAoB,EACzB,QAAQ,GAAE,MAAkB,GAC3B,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CA2C7C"}
@@ -1,4 +1,4 @@
1
- import { input, confirm } from "@inquirer/prompts";
1
+ import { input, password, confirm } from "@inquirer/prompts";
2
2
  import { loadCredentialFields } from "../shared/credentials.js";
3
3
  /**
4
4
  * Load existing credential values from disk.
@@ -33,14 +33,17 @@ export async function promptCredential(def, instance = "default") {
33
33
  return { values: existing };
34
34
  }
35
35
  // Show context
36
+ console.log(`\n ${def.label}: ${def.description}`);
36
37
  if (def.helpUrl) {
37
- console.log(`${def.label}: ${def.description}`);
38
- console.log(` → ${def.helpUrl}\n`);
38
+ console.log(` → ${def.helpUrl}`);
39
39
  }
40
+ console.log();
40
41
  const values = {};
41
42
  for (const field of def.fields) {
42
- const value = await input({
43
- message: `${field.label}:`,
43
+ const prompt = field.secret ? password : input;
44
+ const value = await prompt({
45
+ message: `${def.label} — ${field.label}:`,
46
+ mask: field.secret ? "*" : undefined,
44
47
  validate: (v) => (v.trim().length > 0 ? true : `${field.label} is required`),
45
48
  });
46
49
  values[field.name] = value.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"prompter.js","sourceRoot":"","sources":["../../src/credentials/prompter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;GAEG;AACH,SAAS,kBAAkB,CAAC,GAAyB,EAAE,QAAgB;IACrE,OAAO,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAyB,EACzB,WAAmB,SAAS;IAE5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEnD,6CAA6C;IAC7C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,mCAAmC;IACnC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,OAAO,EAAE,kBAAkB,GAAG,CAAC,KAAK,WAAW;YAC/C,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,KAAK;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,eAAe;IACf,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC;YACxB,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG;YAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,cAAc,CAAC;SAC7E,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,mCAAmC;IACnC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"prompter.js","sourceRoot":"","sources":["../../src/credentials/prompter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;GAEG;AACH,SAAS,kBAAkB,CAAC,GAAyB,EAAE,QAAgB;IACrE,OAAO,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAyB,EACzB,WAAmB,SAAS;IAE5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEnD,6CAA6C;IAC7C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,mCAAmC;IACnC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,OAAO,EAAE,kBAAkB,GAAG,CAAC,KAAK,WAAW;YAC/C,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,KAAK;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;YACzB,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,MAAM,KAAK,CAAC,KAAK,GAAG;YACzC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACpC,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,cAAc,CAAC;SAC9E,CAAC,CAAC;QACV,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,mCAAmC;IACnC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type { ContainerRuntime, RuntimeLaunchOpts, RuntimeCredentials, BuildImageOpts, RunningAgent } from "./runtime.js";
2
+ export interface CloudRunJobConfig {
3
+ gcpProject: string;
4
+ region: string;
5
+ artifactRegistry: string;
6
+ serviceAccount: string;
7
+ secretPrefix?: string;
8
+ }
9
+ /**
10
+ * GCP Cloud Run Jobs runtime.
11
+ *
12
+ * Launches agents as Cloud Run job executions with GSM secrets mounted
13
+ * as files at /credentials/<type>/<instance>/<field>.
14
+ *
15
+ * Auth resolution order (same as GoogleSecretManagerBackend):
16
+ * 1. GCP_SERVICE_ACCOUNT_KEY env var (JSON key — CI/Railway)
17
+ * 2. GOOGLE_APPLICATION_CREDENTIALS env var (file path)
18
+ * 3. gcloud auth application-default login (local dev)
19
+ *
20
+ * The runtime SA (your machine) needs:
21
+ * - run.jobs.create, run.jobs.run, run.jobs.get
22
+ * - run.executions.get, run.executions.cancel
23
+ * - artifactregistry.repositories.uploadArtifacts (for pushImage)
24
+ *
25
+ * The job SA (container) needs per-agent:
26
+ * - secretmanager.secretAccessor on its specific secrets
27
+ */
28
+ export declare class CloudRunJobRuntime implements ContainerRuntime {
29
+ readonly needsGateway = false;
30
+ private config;
31
+ private prefix;
32
+ private accessToken;
33
+ private tokenExpiry;
34
+ constructor(config: CloudRunJobConfig);
35
+ isAgentRunning(agentName: string): Promise<boolean>;
36
+ listRunningAgents(): Promise<RunningAgent[]>;
37
+ prepareCredentials(credRefs: string[]): Promise<RuntimeCredentials>;
38
+ cleanupCredentials(_creds: RuntimeCredentials): void;
39
+ buildImage(opts: BuildImageOpts): Promise<string>;
40
+ pushImage(localImage: string): Promise<string>;
41
+ launch(opts: RuntimeLaunchOpts): Promise<string>;
42
+ streamLogs(executionName: string, onLine: (line: string) => void, onStderr?: (text: string) => void): {
43
+ stop: () => void;
44
+ };
45
+ waitForExit(executionName: string, timeoutSeconds: number): Promise<number>;
46
+ kill(executionName: string): Promise<void>;
47
+ remove(_executionName: string): Promise<void>;
48
+ fetchLogs(agentName: string, limit: number): Promise<string[]>;
49
+ private gsmSecretName;
50
+ private listSecretFields;
51
+ private createOrUpdateJob;
52
+ private executeJob;
53
+ private getExecutionStatus;
54
+ private readLogs;
55
+ private getAccessToken;
56
+ private getTokenFromServiceAccountKey;
57
+ private getTokenFromGcloud;
58
+ private gcpRequest;
59
+ private dockerExec;
60
+ }
61
+ //# sourceMappingURL=cloud-run-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-run-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/cloud-run-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAe,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIvI,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,QAAQ,CAAC,YAAY,SAAS;IAE9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAAK;gBAEZ,MAAM,EAAE,iBAAiB;IAO/B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBnD,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiD5C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqBzE,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAM9C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBjD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY9C,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BtD,UAAU,CACR,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IAiCjB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkB3E,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1C,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmCpE,OAAO,CAAC,aAAa;YAIP,gBAAgB;YA4BhB,iBAAiB;YAsHjB,UAAU;YAoBV,kBAAkB;YAsClB,QAAQ;YAgDR,cAAc;YAed,6BAA6B;YAuC7B,kBAAkB;YAoBlB,UAAU;IAYxB,OAAO,CAAC,UAAU;CAMnB"}