alpic 0.0.0-dev.f91105e → 0.0.0-dev.f957517

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 (134) hide show
  1. package/dist/__tests__/auth.e2e.test.js +27 -16
  2. package/dist/__tests__/auth.e2e.test.js.map +1 -1
  3. package/dist/__tests__/deploy-flags.e2e.test.d.ts +1 -0
  4. package/dist/__tests__/deploy-flags.e2e.test.js +111 -0
  5. package/dist/__tests__/deploy-flags.e2e.test.js.map +1 -0
  6. package/dist/__tests__/deploy.e2e.test.js +2 -54
  7. package/dist/__tests__/deploy.e2e.test.js.map +1 -1
  8. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.d.ts +1 -0
  9. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js +250 -0
  10. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js.map +1 -0
  11. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.d.ts +1 -0
  12. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js +122 -0
  13. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js.map +1 -0
  14. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.d.ts +1 -0
  15. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js +139 -0
  16. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js.map +1 -0
  17. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.d.ts +1 -0
  18. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js +319 -0
  19. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js.map +1 -0
  20. package/dist/__tests__/environment-variable/environment-variable-validation.test.d.ts +1 -0
  21. package/dist/__tests__/environment-variable/environment-variable-validation.test.js +20 -0
  22. package/dist/__tests__/environment-variable/environment-variable-validation.test.js.map +1 -0
  23. package/dist/__tests__/fixtures/demo-project/index.js +1 -1
  24. package/dist/__tests__/fixtures/demo-project/index.js.map +1 -1
  25. package/dist/__tests__/git-flags.e2e.test.d.ts +1 -0
  26. package/dist/__tests__/git-flags.e2e.test.js +124 -0
  27. package/dist/__tests__/git-flags.e2e.test.js.map +1 -0
  28. package/dist/__tests__/git.e2e.test.js +15 -19
  29. package/dist/__tests__/git.e2e.test.js.map +1 -1
  30. package/dist/__tests__/logs.e2e.test.d.ts +1 -0
  31. package/dist/__tests__/logs.e2e.test.js +197 -0
  32. package/dist/__tests__/logs.e2e.test.js.map +1 -0
  33. package/dist/__tests__/mock-server.d.ts +4 -0
  34. package/dist/__tests__/mock-server.js +131 -5
  35. package/dist/__tests__/mock-server.js.map +1 -1
  36. package/dist/__tests__/utils.d.ts +10 -4
  37. package/dist/__tests__/utils.js +75 -18
  38. package/dist/__tests__/utils.js.map +1 -1
  39. package/dist/api.js +1 -1
  40. package/dist/api.js.map +1 -1
  41. package/dist/commands/deploy.d.ts +5 -2
  42. package/dist/commands/deploy.js +37 -21
  43. package/dist/commands/deploy.js.map +1 -1
  44. package/dist/commands/environment-variable/add.d.ts +14 -0
  45. package/dist/commands/environment-variable/add.js +46 -0
  46. package/dist/commands/environment-variable/add.js.map +1 -0
  47. package/dist/commands/environment-variable/list.d.ts +9 -0
  48. package/dist/commands/environment-variable/list.js +44 -0
  49. package/dist/commands/environment-variable/list.js.map +1 -0
  50. package/dist/commands/environment-variable/remove.d.ts +11 -0
  51. package/dist/commands/environment-variable/remove.js +32 -0
  52. package/dist/commands/environment-variable/remove.js.map +1 -0
  53. package/dist/commands/environment-variable/update.d.ts +13 -0
  54. package/dist/commands/environment-variable/update.js +40 -0
  55. package/dist/commands/environment-variable/update.js.map +1 -0
  56. package/dist/commands/git/connect.d.ts +3 -2
  57. package/dist/commands/git/connect.js +26 -27
  58. package/dist/commands/git/connect.js.map +1 -1
  59. package/dist/commands/git/disconnect.d.ts +2 -2
  60. package/dist/commands/git/disconnect.js +16 -26
  61. package/dist/commands/git/disconnect.js.map +1 -1
  62. package/dist/commands/git.js +2 -2
  63. package/dist/commands/git.js.map +1 -1
  64. package/dist/commands/login.js +10 -15
  65. package/dist/commands/login.js.map +1 -1
  66. package/dist/commands/logs.d.ts +16 -0
  67. package/dist/commands/logs.js +96 -0
  68. package/dist/commands/logs.js.map +1 -0
  69. package/dist/commands/whoami.js +2 -14
  70. package/dist/commands/whoami.js.map +1 -1
  71. package/dist/env.d.ts +0 -1
  72. package/dist/env.js +1 -2
  73. package/dist/env.js.map +1 -1
  74. package/dist/lib/alpic-command.d.ts +2 -0
  75. package/dist/lib/alpic-command.js +13 -3
  76. package/dist/lib/alpic-command.js.map +1 -1
  77. package/dist/lib/archive.d.ts +3 -3
  78. package/dist/lib/archive.js +11 -15
  79. package/dist/lib/archive.js.map +1 -1
  80. package/dist/lib/auth/auth.d.ts +1 -1
  81. package/dist/lib/auth/auth.js +4 -3
  82. package/dist/lib/auth/auth.js.map +1 -1
  83. package/dist/lib/auth/oauth/client.d.ts +26 -10
  84. package/dist/lib/auth/oauth/client.js +97 -53
  85. package/dist/lib/auth/oauth/client.js.map +1 -1
  86. package/dist/lib/auth/oauth/server/assets/alpic-mountain.png +0 -0
  87. package/dist/lib/auth/oauth/server/assets/authorize.html +195 -0
  88. package/dist/lib/auth/oauth/server/assets/callback.html +88 -0
  89. package/dist/lib/auth/oauth/server/index.d.ts +8 -0
  90. package/dist/lib/auth/oauth/server/index.js +102 -0
  91. package/dist/lib/auth/oauth/server/index.js.map +1 -0
  92. package/dist/lib/auth/whoami.d.ts +1 -28
  93. package/dist/lib/auth/whoami.js +26 -20
  94. package/dist/lib/auth/whoami.js.map +1 -1
  95. package/dist/lib/base-workflow.d.ts +10 -0
  96. package/dist/lib/base-workflow.js +22 -0
  97. package/dist/lib/base-workflow.js.map +1 -0
  98. package/dist/lib/config.d.ts +2 -2
  99. package/dist/lib/config.js +7 -7
  100. package/dist/lib/config.js.map +1 -1
  101. package/dist/lib/deployment.d.ts +2 -3
  102. package/dist/lib/deployment.js +11 -8
  103. package/dist/lib/deployment.js.map +1 -1
  104. package/dist/lib/environment-variable.d.ts +41 -0
  105. package/dist/lib/environment-variable.js +304 -0
  106. package/dist/lib/environment-variable.js.map +1 -0
  107. package/dist/lib/git.d.ts +12 -4
  108. package/dist/lib/git.js +51 -25
  109. package/dist/lib/git.js.map +1 -1
  110. package/dist/lib/global-store.d.ts +1 -1
  111. package/dist/lib/global-store.js +4 -3
  112. package/dist/lib/global-store.js.map +1 -1
  113. package/dist/lib/logs.d.ts +19 -0
  114. package/dist/lib/logs.js +83 -0
  115. package/dist/lib/logs.js.map +1 -0
  116. package/dist/lib/project.d.ts +65 -61
  117. package/dist/lib/project.js +264 -254
  118. package/dist/lib/project.js.map +1 -1
  119. package/dist/lib/table.d.ts +8 -0
  120. package/dist/lib/table.js +27 -0
  121. package/dist/lib/table.js.map +1 -0
  122. package/dist/lib/utils.d.ts +1 -0
  123. package/dist/lib/utils.js +17 -0
  124. package/dist/lib/utils.js.map +1 -0
  125. package/dist/lib/utils.test.d.ts +1 -0
  126. package/dist/lib/utils.test.js +14 -0
  127. package/dist/lib/utils.test.js.map +1 -0
  128. package/package.json +22 -19
  129. package/dist/lib/auth/oauth/config.d.ts +0 -12
  130. package/dist/lib/auth/oauth/config.js +0 -39
  131. package/dist/lib/auth/oauth/config.js.map +0 -1
  132. package/dist/lib/auth/oauth/server.d.ts +0 -8
  133. package/dist/lib/auth/oauth/server.js +0 -90
  134. package/dist/lib/auth/oauth/server.js.map +0 -1
@@ -0,0 +1,83 @@
1
+ import chalk from "chalk";
2
+ import { api } from "../api.js";
3
+ const LOG_TYPE_COLORS = {
4
+ ERROR: chalk.red,
5
+ WARNING: chalk.yellow,
6
+ DEBUG: chalk.gray,
7
+ INFO: chalk.white,
8
+ START: chalk.dim,
9
+ END: chalk.dim,
10
+ };
11
+ const LOG_TYPE_LABELS = {
12
+ START: "START",
13
+ END: "END",
14
+ INFO: "INFO",
15
+ ERROR: "ERROR",
16
+ WARNING: "WARN",
17
+ DEBUG: "DEBUG",
18
+ };
19
+ const LOG_LEVEL_WIDTH = 5;
20
+ function formatTimestamp(date) {
21
+ return date.toISOString().replace("T", " ").slice(0, 23);
22
+ }
23
+ export function printLog(log, { noColor = false } = {}) {
24
+ const colorize = noColor ? (s) => s : (LOG_TYPE_COLORS[log.type] ?? chalk.white);
25
+ const ts = noColor ? formatTimestamp(log.timestamp) : chalk.gray(formatTimestamp(log.timestamp));
26
+ const shortRequestId = log.requestId.split("-")[0] ?? log.requestId;
27
+ const levelPrefix = `${LOG_TYPE_LABELS[log.type].padEnd(LOG_LEVEL_WIDTH, " ")} `;
28
+ let message;
29
+ if (log.type === "START") {
30
+ const methodPrefix = log.method ? `method: ${log.method}, ` : "";
31
+ const startMessage = `--- MCP REQUEST START --- (${methodPrefix}requestId: ${shortRequestId})`;
32
+ message = noColor ? startMessage : chalk.dim(startMessage);
33
+ process.stdout.write(`${ts} ${levelPrefix}${message}\n`);
34
+ return;
35
+ }
36
+ else if (log.type === "END") {
37
+ const durationSuffix = log.durationInMs !== undefined ? ` (duration: ${log.durationInMs}ms)` : "";
38
+ const endMessage = `--- MCP REQUEST END -----${durationSuffix}`;
39
+ message = noColor ? endMessage : chalk.dim(endMessage);
40
+ process.stdout.write(`${ts} ${levelPrefix}${message}\n`);
41
+ return;
42
+ }
43
+ else {
44
+ message = colorize(log.content ?? "");
45
+ }
46
+ process.stdout.write(`${ts} ${levelPrefix}${message}\n`);
47
+ }
48
+ export async function followEnvironmentLogs({ environmentId, limit, level, search, nextToken, initialLogs = [], pollIntervalMs = 3_000, onLog, }) {
49
+ const lastInitialLog = initialLogs.at(-1);
50
+ let lastTimestamp = lastInitialLog === undefined
51
+ ? new Date().toISOString()
52
+ : new Date(lastInitialLog.timestamp.getTime() + 1).toISOString();
53
+ let cursor = nextToken ?? null;
54
+ while (true) {
55
+ const options = {
56
+ environmentId,
57
+ since: lastTimestamp,
58
+ limit,
59
+ level,
60
+ search,
61
+ nextToken: cursor ?? undefined,
62
+ };
63
+ const response = await api.environments.getLogs.v1(options);
64
+ for (const log of response.logs) {
65
+ onLog(log);
66
+ lastTimestamp = new Date(log.timestamp.getTime() + 1).toISOString();
67
+ }
68
+ cursor = response.nextToken;
69
+ if (cursor === null) {
70
+ await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
71
+ }
72
+ }
73
+ }
74
+ export function parseLevel(values) {
75
+ return values.map((value) => {
76
+ const normalized = value.toUpperCase();
77
+ if (!["INFO", "ERROR", "WARNING", "DEBUG"].includes(normalized)) {
78
+ throw new Error(`Invalid log level: "${value}". Valid values: info, error, warning, debug`);
79
+ }
80
+ return normalized;
81
+ });
82
+ }
83
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/lib/logs.ts"],"names":[],"mappings":"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"}
@@ -1,67 +1,71 @@
1
- import type { RouterOutput } from "@alpic-ai/api";
1
+ import type { RouterOutput, Runtime } from "@alpic-ai/api";
2
2
  import type { ProjectConfig } from "../types.js";
3
- export declare function resolveDeployDir(raw: string | undefined): string;
4
- export declare function confirmDeployWithExistingConfig(existingConfig: ProjectConfig): Promise<boolean | null>;
5
- export declare function selectEnvironmentFromList(environments: RouterOutput["projects"]["get"]["v1"]["environments"]): Promise<{
6
- id: string;
7
- name: string;
8
- sourceBranch: string | null;
9
- mcpServerUrl: string;
10
- createdAt: Date;
11
- projectId: string;
12
- latestDeployment: {
13
- id: string;
14
- status: "ongoing" | "deployed" | "failed" | "canceled";
15
- sourceCommitId: string | null;
16
- sourceCommitMessage: string | null;
17
- completedAt: Date | null;
18
- } | null;
19
- } | null>;
20
- export declare function confirmDeployDirectory(deployDir: string): Promise<boolean>;
21
- export declare function confirmLinkExisting(): Promise<boolean>;
22
- export declare function confirmLinkToAnotherProject(): Promise<boolean>;
23
- export declare function selectProjectFromList(projects: RouterOutput["projects"]["list"]["v1"]): Promise<{
24
- id: string;
25
- name: string;
26
- teamId: string;
27
- sourceRepository: string | null;
28
- runtime: "python3.13" | "python3.14" | "node22" | "node24";
29
- transport: "stdio" | "sse" | "streamablehttp" | null;
30
- rootDirectory: string | null;
31
- buildCommand: string | null;
32
- buildOutputDir: string | null;
33
- installCommand: string | null;
34
- startCommand: string | null;
35
- createdAt: Date;
36
- productionEnvironment: {
37
- id: string;
38
- name: string;
39
- mcpServerUrl: string;
40
- latestDeployment: {
41
- id: string;
42
- status: "ongoing" | "deployed" | "failed" | "canceled";
43
- sourceCommitId: string | null;
44
- sourceCommitMessage: string | null;
45
- completedAt: Date | null;
46
- } | null;
47
- } | null;
48
- environments: {
3
+ import { BaseWorkflow } from "./base-workflow.js";
4
+ export type ProjectFlags = {
5
+ "non-interactive"?: boolean;
6
+ projectName?: string;
7
+ runtime?: Runtime;
8
+ rootDir?: string;
9
+ };
10
+ export declare class ProjectWorkflow extends BaseWorkflow<ProjectFlags> {
11
+ selectEnvironmentFromList(environments: RouterOutput["projects"]["get"]["v1"]["environments"]): Promise<(typeof environments)[number] | null>;
12
+ selectProjectFromList(projects: RouterOutput["projects"]["list"]["v1"]): Promise<{
49
13
  id: string;
50
14
  name: string;
51
- sourceBranch: string | null;
52
- mcpServerUrl: string;
15
+ teamId: string;
16
+ sourceRepository: string | null;
17
+ runtime: "python3.13" | "python3.14" | "node22" | "node24";
18
+ transport: "stdio" | "sse" | "streamablehttp" | null;
19
+ rootDirectory: string | null;
20
+ buildCommand: string | null;
21
+ buildOutputDir: string | null;
22
+ installCommand: string | null;
23
+ startCommand: string | null;
53
24
  createdAt: Date;
54
- projectId: string;
55
- latestDeployment: {
25
+ productionEnvironment: {
56
26
  id: string;
57
- status: "ongoing" | "deployed" | "failed" | "canceled";
58
- sourceCommitId: string | null;
59
- sourceCommitMessage: string | null;
60
- completedAt: Date | null;
27
+ name: string;
28
+ mcpServerUrl: string;
29
+ domains: {
30
+ domain: string;
31
+ status: "ongoing" | "deployed" | "failed";
32
+ createdAt: Date;
33
+ }[];
34
+ latestDeployment: {
35
+ id: string;
36
+ status: "ongoing" | "deployed" | "failed" | "canceled";
37
+ sourceCommitId: string | null;
38
+ sourceCommitMessage: string | null;
39
+ completedAt: Date | null;
40
+ } | null;
61
41
  } | null;
62
- }[];
63
- } | null>;
64
- export declare function promptRootDirectory(deployDir: string): Promise<string | null | undefined>;
65
- export declare function resolveProjectForDeploy(deployDir: string): Promise<(ProjectConfig & {
66
- environmentId: string;
67
- }) | null>;
42
+ environments: {
43
+ id: string;
44
+ name: string;
45
+ sourceBranch: string | null;
46
+ mcpServerUrl: string;
47
+ createdAt: Date;
48
+ projectId: string;
49
+ latestDeployment: {
50
+ id: string;
51
+ status: "ongoing" | "deployed" | "failed" | "canceled";
52
+ sourceCommitId: string | null;
53
+ sourceCommitMessage: string | null;
54
+ completedAt: Date | null;
55
+ } | null;
56
+ }[];
57
+ } | null>;
58
+ promptRootDirectory(): Promise<string | null>;
59
+ private directoryExists;
60
+ private detectRuntime;
61
+ confirmDeployWithExistingConfig(existingConfig: ProjectConfig): Promise<boolean | null>;
62
+ confirmDeployDirectory(): Promise<boolean>;
63
+ confirmLinkExisting(): Promise<boolean>;
64
+ confirmLinkToAnotherProject(): Promise<boolean>;
65
+ resolveProjectForDeploy(): Promise<(ProjectConfig & {
66
+ environmentId: string;
67
+ }) | null>;
68
+ private resolveEnvironmentForProject;
69
+ private runCreateProjectFlow;
70
+ private runLinkingFlow;
71
+ }