alpic 0.0.0-staging.2b7ec8b → 0.0.0-staging.2ba052d

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 (265) hide show
  1. package/README.md +40 -0
  2. package/bin/run.js +5 -0
  3. package/dist/__tests__/alpic-command.test.d.ts +1 -0
  4. package/dist/__tests__/alpic-command.test.js +41 -0
  5. package/dist/__tests__/alpic-command.test.js.map +1 -0
  6. package/dist/__tests__/audit.e2e.test.d.ts +1 -0
  7. package/dist/__tests__/audit.e2e.test.js +561 -0
  8. package/dist/__tests__/audit.e2e.test.js.map +1 -0
  9. package/dist/__tests__/auth.e2e.test.js +33 -15
  10. package/dist/__tests__/auth.e2e.test.js.map +1 -1
  11. package/dist/__tests__/deploy-flags.e2e.test.js +153 -12
  12. package/dist/__tests__/deploy-flags.e2e.test.js.map +1 -1
  13. package/dist/__tests__/deploy.e2e.test.js +33 -17
  14. package/dist/__tests__/deploy.e2e.test.js.map +1 -1
  15. package/dist/__tests__/deployment-inspect.e2e.test.d.ts +1 -0
  16. package/dist/__tests__/deployment-inspect.e2e.test.js +119 -0
  17. package/dist/__tests__/deployment-inspect.e2e.test.js.map +1 -0
  18. package/dist/__tests__/deployment-list.e2e.test.d.ts +1 -0
  19. package/dist/__tests__/deployment-list.e2e.test.js +121 -0
  20. package/dist/__tests__/deployment-list.e2e.test.js.map +1 -0
  21. package/dist/__tests__/deployment-logs.e2e.test.d.ts +1 -0
  22. package/dist/__tests__/deployment-logs.e2e.test.js +262 -0
  23. package/dist/__tests__/deployment-logs.e2e.test.js.map +1 -0
  24. package/dist/__tests__/environment-inspect.e2e.test.d.ts +1 -0
  25. package/dist/__tests__/environment-inspect.e2e.test.js +78 -0
  26. package/dist/__tests__/environment-inspect.e2e.test.js.map +1 -0
  27. package/dist/__tests__/environment-list.e2e.test.d.ts +1 -0
  28. package/dist/__tests__/environment-list.e2e.test.js +63 -0
  29. package/dist/__tests__/environment-list.e2e.test.js.map +1 -0
  30. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.d.ts +1 -0
  31. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js +277 -0
  32. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js.map +1 -0
  33. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.d.ts +1 -0
  34. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js +146 -0
  35. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js.map +1 -0
  36. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.d.ts +1 -0
  37. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js +148 -0
  38. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js.map +1 -0
  39. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.d.ts +1 -0
  40. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js +348 -0
  41. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js.map +1 -0
  42. package/dist/__tests__/environment-variable/environment-variable-validation.test.d.ts +1 -0
  43. package/dist/__tests__/environment-variable/environment-variable-validation.test.js +20 -0
  44. package/dist/__tests__/environment-variable/environment-variable-validation.test.js.map +1 -0
  45. package/dist/__tests__/fixtures/demo-project/index.js +1 -1
  46. package/dist/__tests__/fixtures/demo-project/index.js.map +1 -1
  47. package/dist/__tests__/git-flags.e2e.test.js +20 -13
  48. package/dist/__tests__/git-flags.e2e.test.js.map +1 -1
  49. package/dist/__tests__/git.e2e.test.js +14 -9
  50. package/dist/__tests__/git.e2e.test.js.map +1 -1
  51. package/dist/__tests__/link.e2e.test.d.ts +1 -0
  52. package/dist/__tests__/link.e2e.test.js +282 -0
  53. package/dist/__tests__/link.e2e.test.js.map +1 -0
  54. package/dist/__tests__/logs.e2e.test.d.ts +1 -0
  55. package/dist/__tests__/logs.e2e.test.js +230 -0
  56. package/dist/__tests__/logs.e2e.test.js.map +1 -0
  57. package/dist/__tests__/mock-server.d.ts +25 -0
  58. package/dist/__tests__/mock-server.js +386 -23
  59. package/dist/__tests__/mock-server.js.map +1 -1
  60. package/dist/__tests__/playground/playground-configure.e2e.test.d.ts +1 -0
  61. package/dist/__tests__/playground/playground-configure.e2e.test.js +135 -0
  62. package/dist/__tests__/playground/playground-configure.e2e.test.js.map +1 -0
  63. package/dist/__tests__/playground/playground-enable-disable.e2e.test.d.ts +1 -0
  64. package/dist/__tests__/playground/playground-enable-disable.e2e.test.js +104 -0
  65. package/dist/__tests__/playground/playground-enable-disable.e2e.test.js.map +1 -0
  66. package/dist/__tests__/playground/playground-example-prompt.e2e.test.d.ts +1 -0
  67. package/dist/__tests__/playground/playground-example-prompt.e2e.test.js +282 -0
  68. package/dist/__tests__/playground/playground-example-prompt.e2e.test.js.map +1 -0
  69. package/dist/__tests__/playground/playground-headers.e2e.test.d.ts +1 -0
  70. package/dist/__tests__/playground/playground-headers.e2e.test.js +324 -0
  71. package/dist/__tests__/playground/playground-headers.e2e.test.js.map +1 -0
  72. package/dist/__tests__/playground/playground-status.e2e.test.d.ts +1 -0
  73. package/dist/__tests__/playground/playground-status.e2e.test.js +88 -0
  74. package/dist/__tests__/playground/playground-status.e2e.test.js.map +1 -0
  75. package/dist/__tests__/project-inspect.e2e.test.d.ts +1 -0
  76. package/dist/__tests__/project-inspect.e2e.test.js +83 -0
  77. package/dist/__tests__/project-inspect.e2e.test.js.map +1 -0
  78. package/dist/__tests__/project-list.e2e.test.d.ts +1 -0
  79. package/dist/__tests__/project-list.e2e.test.js +95 -0
  80. package/dist/__tests__/project-list.e2e.test.js.map +1 -0
  81. package/dist/__tests__/publish.e2e.test.d.ts +1 -0
  82. package/dist/__tests__/publish.e2e.test.js +575 -0
  83. package/dist/__tests__/publish.e2e.test.js.map +1 -0
  84. package/dist/__tests__/team-inspect.e2e.test.d.ts +1 -0
  85. package/dist/__tests__/team-inspect.e2e.test.js +86 -0
  86. package/dist/__tests__/team-inspect.e2e.test.js.map +1 -0
  87. package/dist/__tests__/team-list.e2e.test.d.ts +1 -0
  88. package/dist/__tests__/team-list.e2e.test.js +58 -0
  89. package/dist/__tests__/team-list.e2e.test.js.map +1 -0
  90. package/dist/__tests__/tunnel.e2e.test.d.ts +1 -0
  91. package/dist/__tests__/tunnel.e2e.test.js +66 -0
  92. package/dist/__tests__/tunnel.e2e.test.js.map +1 -0
  93. package/dist/__tests__/utils.d.ts +9 -3
  94. package/dist/__tests__/utils.js +73 -25
  95. package/dist/__tests__/utils.js.map +1 -1
  96. package/dist/api.d.ts +1 -1
  97. package/dist/api.js +10 -3
  98. package/dist/api.js.map +1 -1
  99. package/dist/commands/audit.d.ts +13 -0
  100. package/dist/commands/audit.js +45 -0
  101. package/dist/commands/audit.js.map +1 -0
  102. package/dist/commands/deploy.d.ts +3 -4
  103. package/dist/commands/deploy.js +52 -38
  104. package/dist/commands/deploy.js.map +1 -1
  105. package/dist/commands/deployment/inspect.d.ts +11 -0
  106. package/dist/commands/deployment/inspect.js +91 -0
  107. package/dist/commands/deployment/inspect.js.map +1 -0
  108. package/dist/commands/deployment/list.d.ts +11 -0
  109. package/dist/commands/deployment/list.js +97 -0
  110. package/dist/commands/deployment/list.js.map +1 -0
  111. package/dist/commands/deployment/logs.d.ts +12 -0
  112. package/dist/commands/deployment/logs.js +50 -0
  113. package/dist/commands/deployment/logs.js.map +1 -0
  114. package/dist/commands/environment/inspect.d.ts +10 -0
  115. package/dist/commands/environment/inspect.js +94 -0
  116. package/dist/commands/environment/inspect.js.map +1 -0
  117. package/dist/commands/environment/list.d.ts +10 -0
  118. package/dist/commands/environment/list.js +79 -0
  119. package/dist/commands/environment/list.js.map +1 -0
  120. package/dist/commands/environment-variable/add.d.ts +13 -0
  121. package/dist/commands/environment-variable/add.js +43 -0
  122. package/dist/commands/environment-variable/add.js.map +1 -0
  123. package/dist/commands/environment-variable/list.d.ts +9 -0
  124. package/dist/commands/environment-variable/list.js +45 -0
  125. package/dist/commands/environment-variable/list.js.map +1 -0
  126. package/dist/commands/environment-variable/remove.d.ts +10 -0
  127. package/dist/commands/environment-variable/remove.js +29 -0
  128. package/dist/commands/environment-variable/remove.js.map +1 -0
  129. package/dist/commands/environment-variable/update.d.ts +12 -0
  130. package/dist/commands/environment-variable/update.js +37 -0
  131. package/dist/commands/environment-variable/update.js.map +1 -0
  132. package/dist/commands/git/connect.d.ts +0 -4
  133. package/dist/commands/git/connect.js +16 -30
  134. package/dist/commands/git/connect.js.map +1 -1
  135. package/dist/commands/git/disconnect.d.ts +0 -6
  136. package/dist/commands/git/disconnect.js +11 -32
  137. package/dist/commands/git/disconnect.js.map +1 -1
  138. package/dist/commands/git.js +2 -2
  139. package/dist/commands/git.js.map +1 -1
  140. package/dist/commands/link.d.ts +16 -0
  141. package/dist/commands/link.js +97 -0
  142. package/dist/commands/link.js.map +1 -0
  143. package/dist/commands/login.js +6 -24
  144. package/dist/commands/login.js.map +1 -1
  145. package/dist/commands/logs.d.ts +16 -0
  146. package/dist/commands/logs.js +96 -0
  147. package/dist/commands/logs.js.map +1 -0
  148. package/dist/commands/playground/configure.d.ts +12 -0
  149. package/dist/commands/playground/configure.js +39 -0
  150. package/dist/commands/playground/configure.js.map +1 -0
  151. package/dist/commands/playground/disable.d.ts +9 -0
  152. package/dist/commands/playground/disable.js +24 -0
  153. package/dist/commands/playground/disable.js.map +1 -0
  154. package/dist/commands/playground/enable.d.ts +9 -0
  155. package/dist/commands/playground/enable.js +24 -0
  156. package/dist/commands/playground/enable.js.map +1 -0
  157. package/dist/commands/playground/example-prompt/add.d.ts +12 -0
  158. package/dist/commands/playground/example-prompt/add.js +39 -0
  159. package/dist/commands/playground/example-prompt/add.js.map +1 -0
  160. package/dist/commands/playground/example-prompt/list.d.ts +9 -0
  161. package/dist/commands/playground/example-prompt/list.js +24 -0
  162. package/dist/commands/playground/example-prompt/list.js.map +1 -0
  163. package/dist/commands/playground/example-prompt/remove.d.ts +11 -0
  164. package/dist/commands/playground/example-prompt/remove.js +34 -0
  165. package/dist/commands/playground/example-prompt/remove.js.map +1 -0
  166. package/dist/commands/playground/headers/add.d.ts +14 -0
  167. package/dist/commands/playground/headers/add.js +49 -0
  168. package/dist/commands/playground/headers/add.js.map +1 -0
  169. package/dist/commands/playground/headers/list.d.ts +9 -0
  170. package/dist/commands/playground/headers/list.js +24 -0
  171. package/dist/commands/playground/headers/list.js.map +1 -0
  172. package/dist/commands/playground/headers/remove.d.ts +11 -0
  173. package/dist/commands/playground/headers/remove.js +34 -0
  174. package/dist/commands/playground/headers/remove.js.map +1 -0
  175. package/dist/commands/playground/status.d.ts +9 -0
  176. package/dist/commands/playground/status.js +24 -0
  177. package/dist/commands/playground/status.js.map +1 -0
  178. package/dist/commands/project/inspect.d.ts +10 -0
  179. package/dist/commands/project/inspect.js +97 -0
  180. package/dist/commands/project/inspect.js.map +1 -0
  181. package/dist/commands/project/list.d.ts +10 -0
  182. package/dist/commands/project/list.js +50 -0
  183. package/dist/commands/project/list.js.map +1 -0
  184. package/dist/commands/publish.d.ts +14 -0
  185. package/dist/commands/publish.js +47 -0
  186. package/dist/commands/publish.js.map +1 -0
  187. package/dist/commands/team/inspect.d.ts +10 -0
  188. package/dist/commands/team/inspect.js +97 -0
  189. package/dist/commands/team/inspect.js.map +1 -0
  190. package/dist/commands/team/list.d.ts +9 -0
  191. package/dist/commands/team/list.js +40 -0
  192. package/dist/commands/team/list.js.map +1 -0
  193. package/dist/commands/tunnel.d.ts +10 -0
  194. package/dist/commands/tunnel.js +132 -0
  195. package/dist/commands/tunnel.js.map +1 -0
  196. package/dist/commands/whoami.js +2 -14
  197. package/dist/commands/whoami.js.map +1 -1
  198. package/dist/lib/alpic-command.d.ts +7 -2
  199. package/dist/lib/alpic-command.js +14 -6
  200. package/dist/lib/alpic-command.js.map +1 -1
  201. package/dist/lib/archive.d.ts +3 -3
  202. package/dist/lib/archive.js +21 -19
  203. package/dist/lib/archive.js.map +1 -1
  204. package/dist/lib/audit.d.ts +16 -0
  205. package/dist/lib/audit.js +258 -0
  206. package/dist/lib/audit.js.map +1 -0
  207. package/dist/lib/auth/auth.d.ts +3 -0
  208. package/dist/lib/auth/auth.js +26 -3
  209. package/dist/lib/auth/auth.js.map +1 -1
  210. package/dist/lib/auth/oauth/client.d.ts +1 -1
  211. package/dist/lib/auth/oauth/client.js +7 -1
  212. package/dist/lib/auth/oauth/client.js.map +1 -1
  213. package/dist/lib/auth/oauth/server/index.d.ts +2 -1
  214. package/dist/lib/auth/oauth/server/index.js +36 -10
  215. package/dist/lib/auth/oauth/server/index.js.map +1 -1
  216. package/dist/lib/auth/whoami.d.ts +1 -28
  217. package/dist/lib/auth/whoami.js +29 -19
  218. package/dist/lib/auth/whoami.js.map +1 -1
  219. package/dist/lib/base-workflow.d.ts +1 -1
  220. package/dist/lib/base-workflow.js +1 -1
  221. package/dist/lib/base-workflow.js.map +1 -1
  222. package/dist/lib/config.d.ts +3 -2
  223. package/dist/lib/config.js +8 -7
  224. package/dist/lib/config.js.map +1 -1
  225. package/dist/lib/deployment.d.ts +69 -2
  226. package/dist/lib/deployment.js +113 -16
  227. package/dist/lib/deployment.js.map +1 -1
  228. package/dist/lib/environment-variable.d.ts +37 -0
  229. package/dist/lib/environment-variable.js +305 -0
  230. package/dist/lib/environment-variable.js.map +1 -0
  231. package/dist/lib/git.d.ts +5 -5
  232. package/dist/lib/git.js +10 -13
  233. package/dist/lib/git.js.map +1 -1
  234. package/dist/lib/global-store.d.ts +1 -1
  235. package/dist/lib/global-store.js +4 -3
  236. package/dist/lib/global-store.js.map +1 -1
  237. package/dist/lib/{project.d.ts → link.d.ts} +31 -14
  238. package/dist/lib/{project.js → link.js} +186 -98
  239. package/dist/lib/link.js.map +1 -0
  240. package/dist/lib/logs.d.ts +20 -0
  241. package/dist/lib/logs.js +87 -0
  242. package/dist/lib/logs.js.map +1 -0
  243. package/dist/lib/playground.d.ts +53 -0
  244. package/dist/lib/playground.js +288 -0
  245. package/dist/lib/playground.js.map +1 -0
  246. package/dist/lib/publish.d.ts +22 -0
  247. package/dist/lib/publish.js +201 -0
  248. package/dist/lib/publish.js.map +1 -0
  249. package/dist/lib/resolve.d.ts +6 -0
  250. package/dist/lib/resolve.js +26 -0
  251. package/dist/lib/resolve.js.map +1 -0
  252. package/dist/lib/table.d.ts +8 -0
  253. package/dist/lib/table.js +27 -0
  254. package/dist/lib/table.js.map +1 -0
  255. package/dist/lib/telemetry.js +1 -1
  256. package/dist/lib/telemetry.js.map +1 -1
  257. package/dist/lib/utils.d.ts +6 -0
  258. package/dist/lib/utils.js +54 -0
  259. package/dist/lib/utils.js.map +1 -0
  260. package/dist/lib/utils.test.d.ts +1 -0
  261. package/dist/lib/utils.test.js +27 -0
  262. package/dist/lib/utils.test.js.map +1 -0
  263. package/dist/types.d.ts +1 -0
  264. package/package.json +28 -21
  265. package/dist/lib/project.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface Config {
12
12
  }
13
13
  export declare class GlobalStore {
14
14
  private readonly configDir;
15
- constructor(configDir?: string);
15
+ constructor();
16
16
  getCredentials(): Credentials | null;
17
17
  saveCredentials(credentials: Credentials): void;
18
18
  clearCredentials(): void;
@@ -1,11 +1,12 @@
1
1
  import crypto from "node:crypto";
2
2
  import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
3
3
  import { join } from "node:path";
4
- import XDGAppPaths from "xdg-app-paths";
4
+ import envPaths from "env-paths";
5
5
  export class GlobalStore {
6
6
  configDir;
7
- constructor(configDir) {
8
- this.configDir = configDir ?? XDGAppPaths({ name: "alpic" }).config();
7
+ constructor() {
8
+ const configDirOverride = process.env.ALPIC_GLOBAL_CONFIG_DIR;
9
+ this.configDir = configDirOverride ?? envPaths("alpic", { suffix: "" }).config;
9
10
  }
10
11
  getCredentials() {
11
12
  const token = this.parseJsonFile(this.getCredentialsFilePath());
@@ -1 +1 @@
1
- {"version":3,"file":"global-store.js","sourceRoot":"","sources":["../../src/lib/global-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-store.js","sourceRoot":"","sources":["../../src/lib/global-store.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,20 @@
1
1
  import type { RouterOutput, Runtime } from "@alpic-ai/api";
2
2
  import type { ProjectConfig } from "../types.js";
3
3
  import { BaseWorkflow } from "./base-workflow.js";
4
- export type ProjectFlags = {
5
- yes?: boolean;
4
+ export declare const RUNTIMES: ("python3.13" | "python3.14" | "node22" | "node24")[];
5
+ export type LinkFlags = {
6
+ "non-interactive"?: boolean;
7
+ teamId?: string;
8
+ projectId?: string;
9
+ environmentId?: string;
6
10
  projectName?: string;
7
11
  runtime?: Runtime;
8
12
  rootDir?: string;
9
13
  };
10
- export declare class ProjectWorkflow extends BaseWorkflow<ProjectFlags> {
11
- selectEnvironmentFromList(environments: RouterOutput["projects"]["get"]["v1"]["environments"]): Promise<(typeof environments)[number] | null>;
14
+ export declare class LinkWorkflow extends BaseWorkflow<LinkFlags> {
15
+ confirmWorkingDirectory(): Promise<boolean | null>;
16
+ confirmLinkExisting(): Promise<boolean | null>;
17
+ confirmLinkToAnotherProject(): Promise<boolean | null>;
12
18
  selectProjectFromList(projects: RouterOutput["projects"]["list"]["v1"]): Promise<{
13
19
  id: string;
14
20
  name: string;
@@ -26,9 +32,14 @@ export declare class ProjectWorkflow extends BaseWorkflow<ProjectFlags> {
26
32
  id: string;
27
33
  name: string;
28
34
  mcpServerUrl: string;
35
+ domains: {
36
+ domain: string;
37
+ status: "failed" | "ongoing" | "deployed";
38
+ createdAt: Date;
39
+ }[];
29
40
  latestDeployment: {
30
41
  id: string;
31
- status: "ongoing" | "deployed" | "failed" | "canceled";
42
+ status: "failed" | "ongoing" | "deployed" | "canceled";
32
43
  sourceCommitId: string | null;
33
44
  sourceCommitMessage: string | null;
34
45
  completedAt: Date | null;
@@ -43,24 +54,30 @@ export declare class ProjectWorkflow extends BaseWorkflow<ProjectFlags> {
43
54
  projectId: string;
44
55
  latestDeployment: {
45
56
  id: string;
46
- status: "ongoing" | "deployed" | "failed" | "canceled";
57
+ status: "failed" | "ongoing" | "deployed" | "canceled";
47
58
  sourceCommitId: string | null;
48
59
  sourceCommitMessage: string | null;
49
60
  completedAt: Date | null;
50
61
  } | null;
51
62
  }[];
52
63
  } | null>;
53
- promptRootDirectory(deployDir: string): Promise<string | null>;
54
- private directoryExists;
55
- private detectRuntime;
64
+ selectEnvironmentFromList(environments: RouterOutput["projects"]["get"]["v1"]["environments"]): Promise<(typeof environments)[number] | null>;
65
+ resolveTeam(): Promise<{
66
+ id: string;
67
+ name: string;
68
+ } | null>;
69
+ promptRootDirectory(): Promise<string | null>;
56
70
  confirmDeployWithExistingConfig(existingConfig: ProjectConfig): Promise<boolean | null>;
57
- confirmDeployDirectory(deployDir: string): Promise<boolean>;
58
- confirmLinkExisting(): Promise<boolean>;
59
- confirmLinkToAnotherProject(): Promise<boolean>;
60
- resolveProjectForDeploy(deployDir: string): Promise<(ProjectConfig & {
71
+ runLinkFlow(): Promise<(ProjectConfig & {
61
72
  environmentId: string;
62
73
  }) | null>;
63
- private resolveEnvironmentForProject;
74
+ resolveEnvironmentForProject(projectId: string): Promise<{
75
+ environmentId: string;
76
+ environmentName: string;
77
+ } | null>;
78
+ private getConfigFromFlags;
79
+ private directoryExists;
80
+ private detectRuntime;
64
81
  private runCreateProjectFlow;
65
82
  private runLinkingFlow;
66
83
  }
@@ -1,11 +1,59 @@
1
- import * as p from "@clack/prompts";
2
- import chalk from "chalk";
3
1
  import { existsSync, readFileSync, statSync } from "node:fs";
4
2
  import { resolve } from "node:path";
3
+ import { runtimeSchema } from "@alpic-ai/api";
4
+ import * as p from "@clack/prompts";
5
+ import chalk from "chalk";
5
6
  import { api } from "../api.js";
6
7
  import { BaseWorkflow } from "./base-workflow.js";
7
8
  import { config } from "./config.js";
8
- export class ProjectWorkflow extends BaseWorkflow {
9
+ export const RUNTIMES = runtimeSchema.options;
10
+ const RUNTIME_LABELS = {
11
+ node24: "Node.js 24",
12
+ node22: "Node.js 22",
13
+ "python3.14": "Python 3.14",
14
+ "python3.13": "Python 3.13",
15
+ };
16
+ export class LinkWorkflow extends BaseWorkflow {
17
+ async confirmWorkingDirectory() {
18
+ const confirmed = await this.confirm({
19
+ message: chalk.bold(`Use the current directory? `) + chalk.cyan(process.cwd()),
20
+ initialValue: true,
21
+ });
22
+ if (p.isCancel(confirmed))
23
+ return null;
24
+ return confirmed === true;
25
+ }
26
+ async confirmLinkExisting() {
27
+ const link = await this.confirm({
28
+ message: chalk.bold("Link to existing project?"),
29
+ initialValue: true,
30
+ }, false);
31
+ if (p.isCancel(link))
32
+ return null;
33
+ return link === true;
34
+ }
35
+ async confirmLinkToAnotherProject() {
36
+ const link = await this.confirm({
37
+ message: chalk.bold("Link to another project?"),
38
+ initialValue: true,
39
+ }, false);
40
+ if (p.isCancel(link))
41
+ return null;
42
+ return link === true;
43
+ }
44
+ async selectProjectFromList(projects) {
45
+ if (projects.length === 0) {
46
+ return null;
47
+ }
48
+ const choice = await p.select({
49
+ message: chalk.bold("Choose a project"),
50
+ options: projects.map((proj) => ({ value: proj.id, label: proj.name })),
51
+ });
52
+ if (p.isCancel(choice))
53
+ return null;
54
+ const project = projects.find((proj) => proj.id === choice);
55
+ return project ?? null;
56
+ }
9
57
  async selectEnvironmentFromList(environments) {
10
58
  if (environments.length === 0) {
11
59
  return null;
@@ -22,28 +70,46 @@ export class ProjectWorkflow extends BaseWorkflow {
22
70
  const environment = environments.find((e) => e.id === choice);
23
71
  return environment ?? null;
24
72
  }
25
- async selectProjectFromList(projects) {
26
- if (projects.length === 0) {
27
- return null;
73
+ async resolveTeam() {
74
+ const teams = await api.teams.list.v1();
75
+ if (teams.length === 0) {
76
+ throw new Error("No teams found. Create a team in the Alpic dashboard first.");
77
+ }
78
+ if (this.flags.teamId) {
79
+ const match = teams.find((t) => t.id === this.flags.teamId);
80
+ if (!match) {
81
+ throw new Error(`Team "${this.flags.teamId}" not found.`);
82
+ }
83
+ return match;
84
+ }
85
+ if (teams.length === 1) {
86
+ const singleTeam = teams[0];
87
+ if (!singleTeam) {
88
+ throw new Error("No teams found.");
89
+ }
90
+ p.log.info(`Using team ${chalk.bold(singleTeam.name)}`);
91
+ return singleTeam;
92
+ }
93
+ if (this.isNonInteractive()) {
94
+ throw new Error("Multiple teams found. Use --team-id to select one.");
28
95
  }
29
96
  const choice = await p.select({
30
- message: chalk.bold("Choose a project"),
31
- options: projects.map((proj) => ({ value: proj.id, label: proj.name })),
97
+ message: chalk.bold("Choose a team"),
98
+ options: teams.map((t) => ({ value: t.id, label: t.name })),
32
99
  });
33
100
  if (p.isCancel(choice))
34
101
  return null;
35
- const project = projects.find((proj) => proj.id === choice);
36
- return project ?? null;
102
+ const selected = teams.find((t) => t.id === choice);
103
+ return selected ?? null;
37
104
  }
38
- async promptRootDirectory(deployDir) {
105
+ async promptRootDirectory() {
39
106
  if (this.isNonInteractive()) {
40
107
  if (this.flags.rootDir) {
41
108
  const trimmed = this.flags.rootDir.trim();
42
109
  if (trimmed === "" || trimmed === ".")
43
110
  return null;
44
- const resolved = resolve(deployDir, trimmed);
45
- if (!this.directoryExists(resolved)) {
46
- throw new Error(`Directory does not exist: ${resolved}`);
111
+ if (!this.directoryExists(trimmed)) {
112
+ throw new Error(`Directory does not exist: ${resolve(trimmed)}`);
47
113
  }
48
114
  return trimmed;
49
115
  }
@@ -65,81 +131,32 @@ export class ProjectWorkflow extends BaseWorkflow {
65
131
  const trimmed = rootDir.trim();
66
132
  if (trimmed === "" || trimmed === ".")
67
133
  return null;
68
- const resolved = resolve(deployDir, trimmed);
69
- if (!this.directoryExists(resolved)) {
70
- p.log.error(`Directory does not exist: ${resolved}`);
134
+ if (!this.directoryExists(trimmed)) {
135
+ p.log.error(`Directory does not exist: ${trimmed}`);
71
136
  continue;
72
137
  }
73
138
  return trimmed;
74
139
  }
75
140
  }
76
- directoryExists(dir) {
77
- return existsSync(dir) && statSync(dir).isDirectory();
78
- }
79
- detectRuntime(dir) {
80
- const has = (file) => existsSync(resolve(dir, file));
81
- const read = (file) => {
82
- try {
83
- return readFileSync(resolve(dir, file), "utf8");
84
- }
85
- catch {
86
- return "";
87
- }
88
- };
89
- if (has("pyproject.toml") || has("requirements.txt") || has("setup.py") || has(".python-version")) {
90
- return "python3.13";
91
- }
92
- if (has("package.json")) {
93
- const nvmrc = has(".nvmrc") ? (read(".nvmrc").trim().split(/\s/)[0] ?? "") : "";
94
- const major = nvmrc.replace(/^v/i, "").match(/^(\d+)/)?.[1];
95
- if (major === "22")
96
- return "node22";
97
- return "node24";
98
- }
99
- return null;
100
- }
101
141
  async confirmDeployWithExistingConfig(existingConfig) {
102
142
  const envLabel = existingConfig.environmentName ? ` to environment "${existingConfig.environmentName}"` : "";
143
+ const teamLabel = existingConfig.teamName ? chalk.dim(` [team: ${existingConfig.teamName}]`) : "";
103
144
  const confirmed = await this.confirm({
104
- message: chalk.bold(`Deploy project "${existingConfig.projectName}"${envLabel}?`),
145
+ message: chalk.bold(`Use project "${existingConfig.projectName}"${envLabel}?`) + teamLabel,
105
146
  initialValue: true,
106
147
  });
107
148
  if (p.isCancel(confirmed))
108
149
  return null;
109
150
  return confirmed === true;
110
151
  }
111
- async confirmDeployDirectory(deployDir) {
112
- const confirmed = await this.confirm({
113
- message: chalk.bold(`Deploy the directory? `) + chalk.cyan(deployDir),
114
- initialValue: true,
115
- });
116
- if (p.isCancel(confirmed))
117
- return false;
118
- return confirmed === true;
119
- }
120
- async confirmLinkExisting() {
121
- const link = await this.confirm({
122
- message: chalk.bold("Link to existing project?"),
123
- initialValue: true,
124
- }, false);
125
- if (p.isCancel(link))
126
- return false;
127
- return link === true;
128
- }
129
- async confirmLinkToAnotherProject() {
130
- const link = await this.confirm({
131
- message: chalk.bold("Link to another project?"),
132
- initialValue: true,
133
- }, false);
134
- if (p.isCancel(link))
135
- return false;
136
- return link === true;
137
- }
138
- async resolveProjectForDeploy(deployDir) {
139
- const ok = await this.confirmDeployDirectory(deployDir);
140
- if (!ok)
152
+ async runLinkFlow() {
153
+ const fromFlags = await this.getConfigFromFlags();
154
+ if (fromFlags)
155
+ return fromFlags;
156
+ const ok = await this.confirmWorkingDirectory();
157
+ if (ok === null || ok === false)
141
158
  return null;
142
- const existingConfig = config.load(deployDir);
159
+ const existingConfig = config.load();
143
160
  if (existingConfig) {
144
161
  let confirmed;
145
162
  while (true) {
@@ -149,20 +166,23 @@ export class ProjectWorkflow extends BaseWorkflow {
149
166
  if (confirmed)
150
167
  break;
151
168
  const linkAnother = await this.confirmLinkToAnotherProject();
152
- if (p.isCancel(linkAnother))
169
+ if (linkAnother === null)
153
170
  return null;
154
171
  if (linkAnother) {
155
172
  const linkExisting = await this.confirmLinkExisting();
173
+ if (linkExisting === null)
174
+ return null;
156
175
  if (!linkExisting) {
157
- return this.runCreateProjectFlow(deployDir);
176
+ return this.runCreateProjectFlow();
158
177
  }
159
- return this.runLinkingFlow(deployDir);
178
+ return this.runLinkingFlow();
160
179
  }
161
180
  }
162
181
  if (existingConfig.environmentId) {
163
182
  return {
164
183
  projectId: existingConfig.projectId,
165
184
  teamId: existingConfig.teamId,
185
+ teamName: existingConfig.teamName,
166
186
  projectName: existingConfig.projectName,
167
187
  environmentId: existingConfig.environmentId,
168
188
  environmentName: existingConfig.environmentName,
@@ -176,17 +196,22 @@ export class ProjectWorkflow extends BaseWorkflow {
176
196
  environmentId: env.environmentId,
177
197
  environmentName: env.environmentName,
178
198
  };
179
- config.save(updatedConfig, deployDir);
199
+ config.save(updatedConfig);
180
200
  p.note(`Environment "${env.environmentName}" will be used for future deploys.`, undefined, {
181
201
  format: (line) => line,
182
202
  });
183
203
  return updatedConfig;
184
204
  }
205
+ const team = await this.resolveTeam();
206
+ if (!team)
207
+ return null;
185
208
  const linkExisting = await this.confirmLinkExisting();
186
- if (!linkExisting) {
187
- return this.runCreateProjectFlow(deployDir);
209
+ if (linkExisting === null)
210
+ return null;
211
+ if (linkExisting) {
212
+ return this.runLinkingFlow(team);
188
213
  }
189
- return this.runLinkingFlow(deployDir);
214
+ return this.runCreateProjectFlow(team);
190
215
  }
191
216
  async resolveEnvironmentForProject(projectId) {
192
217
  const project = await api.projects.get.v1({ projectId });
@@ -199,9 +224,68 @@ export class ProjectWorkflow extends BaseWorkflow {
199
224
  return null;
200
225
  return { environmentId: environment.id, environmentName: environment.name };
201
226
  }
202
- async runCreateProjectFlow(deployDir) {
227
+ async getConfigFromFlags() {
228
+ const { projectId, environmentId } = this.flags;
229
+ if (projectId && !environmentId) {
230
+ throw new Error("--environment-id is required when using --project-id.");
231
+ }
232
+ if (!projectId && environmentId) {
233
+ throw new Error("--project-id is required when using --environment-id.");
234
+ }
235
+ if (projectId && environmentId) {
236
+ const project = await api.projects.get.v1({ projectId });
237
+ const environment = project.environments?.find((env) => env.id === environmentId);
238
+ if (!environment) {
239
+ throw new Error(`Environment "${environmentId}" not found in project "${project.name}".`);
240
+ }
241
+ const teams = await api.teams.list.v1();
242
+ const team = teams.find((t) => t.id === project.teamId);
243
+ const resolvedConfig = {
244
+ projectId,
245
+ teamId: project.teamId,
246
+ teamName: team?.name,
247
+ projectName: project.name,
248
+ environmentId,
249
+ environmentName: environment.name,
250
+ };
251
+ config.save(resolvedConfig);
252
+ return resolvedConfig;
253
+ }
254
+ return null;
255
+ }
256
+ directoryExists(dir) {
257
+ return existsSync(dir) && statSync(dir).isDirectory();
258
+ }
259
+ detectRuntime() {
260
+ const has = (file) => existsSync(file);
261
+ const read = (file) => {
262
+ try {
263
+ return readFileSync(file, "utf8");
264
+ }
265
+ catch {
266
+ return "";
267
+ }
268
+ };
269
+ if (has("pyproject.toml") || has("requirements.txt") || has("setup.py") || has(".python-version")) {
270
+ return "python3.13";
271
+ }
272
+ if (has("package.json")) {
273
+ const nvmrc = has(".nvmrc") ? (read(".nvmrc").trim().split(/\s/)[0] ?? "") : "";
274
+ const major = nvmrc.replace(/^v/i, "").match(/^(\d+)/)?.[1];
275
+ if (major === "22")
276
+ return "node22";
277
+ return "node24";
278
+ }
279
+ return null;
280
+ }
281
+ async runCreateProjectFlow(team) {
282
+ if (!team) {
283
+ team = (await this.resolveTeam()) ?? undefined;
284
+ if (!team)
285
+ return null;
286
+ }
203
287
  if (this.isNonInteractive() && !this.flags.projectName) {
204
- throw new Error("--project-name is required when using --yes");
288
+ throw new Error("--project-name is required when using --non-interactive");
205
289
  }
206
290
  const name = this.flags.projectName ??
207
291
  (await p.text({
@@ -216,34 +300,31 @@ export class ProjectWorkflow extends BaseWorkflow {
216
300
  },
217
301
  }));
218
302
  if (p.isCancel(name)) {
219
- p.cancel("Project name is required.");
220
303
  return null;
221
304
  }
222
- const detectedRuntime = this.detectRuntime(deployDir);
305
+ const detectedRuntime = this.detectRuntime();
223
306
  const defaultRuntime = detectedRuntime ?? "node24";
224
307
  const runtime = this.isNonInteractive()
225
308
  ? (this.flags.runtime ?? defaultRuntime)
226
309
  : await p.select({
227
310
  message: chalk.bold("Runtime"),
228
- options: [
229
- { value: "node24", label: "Node.js 24" },
230
- { value: "node22", label: "Node.js 22" },
231
- { value: "python3.14", label: "Python 3.14" },
232
- { value: "python3.13", label: "Python 3.13" },
233
- ],
311
+ options: RUNTIMES.map((value) => ({
312
+ value,
313
+ label: value === detectedRuntime ? `${RUNTIME_LABELS[value]} (detected)` : RUNTIME_LABELS[value],
314
+ })),
234
315
  initialValue: defaultRuntime,
235
316
  });
236
317
  if (p.isCancel(runtime)) {
237
- p.cancel("Runtime is required.");
238
318
  return null;
239
319
  }
240
- const rootDirectory = await this.promptRootDirectory(deployDir);
320
+ const rootDirectory = await this.promptRootDirectory();
241
321
  const spin = p.spinner();
242
322
  spin.start("Creating project...");
243
323
  try {
244
324
  const projectInput = {
245
325
  name,
246
326
  runtime,
327
+ teamId: team.id,
247
328
  };
248
329
  projectInput.rootDirectory = rootDirectory ?? undefined;
249
330
  const created = await api.projects.create.v1(projectInput);
@@ -255,11 +336,12 @@ export class ProjectWorkflow extends BaseWorkflow {
255
336
  const newConfig = {
256
337
  projectId: created.id,
257
338
  teamId: created.teamId,
339
+ teamName: team.name,
258
340
  projectName: created.name,
259
341
  environmentId: productionEnv.id,
260
342
  environmentName: productionEnv.name,
261
343
  };
262
- config.save(newConfig, deployDir);
344
+ config.save(newConfig);
263
345
  return newConfig;
264
346
  }
265
347
  catch (error) {
@@ -267,8 +349,13 @@ export class ProjectWorkflow extends BaseWorkflow {
267
349
  throw error;
268
350
  }
269
351
  }
270
- async runLinkingFlow(deployDir) {
271
- const projects = await api.projects.list.v1();
352
+ async runLinkingFlow(team) {
353
+ if (!team) {
354
+ team = (await this.resolveTeam()) ?? undefined;
355
+ if (!team)
356
+ return null;
357
+ }
358
+ const projects = await api.projects.list.v1({ teamId: team.id });
272
359
  if (projects.length === 0) {
273
360
  throw new Error("No projects found. Create a project in the Alpic dashboard first.");
274
361
  }
@@ -285,15 +372,16 @@ export class ProjectWorkflow extends BaseWorkflow {
285
372
  const newConfig = {
286
373
  projectId: project.id,
287
374
  teamId: project.teamId,
375
+ teamName: team.name,
288
376
  projectName: project.name,
289
377
  environmentId: environment.id,
290
378
  environmentName: environment.name,
291
379
  };
292
- config.save(newConfig, deployDir);
380
+ config.save(newConfig);
293
381
  p.note(`Linked to project "${project.name}", environment "${environment.name}".`, undefined, {
294
382
  format: (line) => line,
295
383
  });
296
384
  return newConfig;
297
385
  }
298
386
  }
299
- //# sourceMappingURL=project.js.map
387
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/lib/link.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { RouterOutput } from "@alpic-ai/api";
2
+ export type RuntimeLogEntry = RouterOutput["environments"]["getLogs"]["v1"]["logs"][number];
3
+ type LogLevel = "INFO" | "ERROR" | "WARNING" | "DEBUG";
4
+ type FollowEnvironmentLogsParams = {
5
+ environmentId: string;
6
+ limit?: number;
7
+ level?: LogLevel[];
8
+ search?: string;
9
+ nextToken?: string | null;
10
+ initialLogs?: RuntimeLogEntry[];
11
+ pollIntervalMs?: number;
12
+ onLog: (log: RuntimeLogEntry) => void;
13
+ };
14
+ export declare function formatLogTimestamp(timestamp: Date | undefined, noColor: boolean): string;
15
+ export declare function printLog(log: RuntimeLogEntry, { noColor }?: {
16
+ noColor?: boolean;
17
+ }): void;
18
+ export declare function followEnvironmentLogs({ environmentId, limit, level, search, nextToken, initialLogs, pollIntervalMs, onLog, }: FollowEnvironmentLogsParams): Promise<never>;
19
+ export declare function parseLevel(values: string[]): LogLevel[];
20
+ export {};