alpic 0.0.0-dev.f74887d → 0.0.0-dev.f779063

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 (147) hide show
  1. package/bin/run.js +5 -0
  2. package/dist/__tests__/auth.e2e.test.js +18 -3
  3. package/dist/__tests__/auth.e2e.test.js.map +1 -1
  4. package/dist/__tests__/deploy-flags.e2e.test.js +92 -5
  5. package/dist/__tests__/deploy-flags.e2e.test.js.map +1 -1
  6. package/dist/__tests__/deploy.e2e.test.js +22 -10
  7. package/dist/__tests__/deploy.e2e.test.js.map +1 -1
  8. package/dist/__tests__/deployment-inspect.e2e.test.d.ts +1 -0
  9. package/dist/__tests__/deployment-inspect.e2e.test.js +114 -0
  10. package/dist/__tests__/deployment-inspect.e2e.test.js.map +1 -0
  11. package/dist/__tests__/deployment-list.e2e.test.d.ts +1 -0
  12. package/dist/__tests__/deployment-list.e2e.test.js +116 -0
  13. package/dist/__tests__/deployment-list.e2e.test.js.map +1 -0
  14. package/dist/__tests__/deployment-logs.e2e.test.d.ts +1 -0
  15. package/dist/__tests__/deployment-logs.e2e.test.js +255 -0
  16. package/dist/__tests__/deployment-logs.e2e.test.js.map +1 -0
  17. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.d.ts +1 -0
  18. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js +259 -0
  19. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js.map +1 -0
  20. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.d.ts +1 -0
  21. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js +139 -0
  22. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js.map +1 -0
  23. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.d.ts +1 -0
  24. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js +150 -0
  25. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js.map +1 -0
  26. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.d.ts +1 -0
  27. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js +342 -0
  28. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js.map +1 -0
  29. package/dist/__tests__/environment-variable/environment-variable-validation.test.d.ts +1 -0
  30. package/dist/__tests__/environment-variable/environment-variable-validation.test.js +20 -0
  31. package/dist/__tests__/environment-variable/environment-variable-validation.test.js.map +1 -0
  32. package/dist/__tests__/git-flags.e2e.test.js +6 -6
  33. package/dist/__tests__/git-flags.e2e.test.js.map +1 -1
  34. package/dist/__tests__/git.e2e.test.js +2 -2
  35. package/dist/__tests__/link.e2e.test.d.ts +1 -0
  36. package/dist/__tests__/link.e2e.test.js +279 -0
  37. package/dist/__tests__/link.e2e.test.js.map +1 -0
  38. package/dist/__tests__/logs.e2e.test.d.ts +1 -0
  39. package/dist/__tests__/logs.e2e.test.js +227 -0
  40. package/dist/__tests__/logs.e2e.test.js.map +1 -0
  41. package/dist/__tests__/mock-server.d.ts +20 -0
  42. package/dist/__tests__/mock-server.js +266 -20
  43. package/dist/__tests__/mock-server.js.map +1 -1
  44. package/dist/__tests__/publish.e2e.test.d.ts +1 -0
  45. package/dist/__tests__/publish.e2e.test.js +505 -0
  46. package/dist/__tests__/publish.e2e.test.js.map +1 -0
  47. package/dist/__tests__/tunnel.e2e.test.d.ts +1 -0
  48. package/dist/__tests__/tunnel.e2e.test.js +61 -0
  49. package/dist/__tests__/tunnel.e2e.test.js.map +1 -0
  50. package/dist/__tests__/utils.d.ts +8 -2
  51. package/dist/__tests__/utils.js +55 -20
  52. package/dist/__tests__/utils.js.map +1 -1
  53. package/dist/api.d.ts +1 -1
  54. package/dist/api.js +10 -3
  55. package/dist/api.js.map +1 -1
  56. package/dist/commands/deploy.d.ts +4 -1
  57. package/dist/commands/deploy.js +37 -18
  58. package/dist/commands/deploy.js.map +1 -1
  59. package/dist/commands/deployment/inspect.d.ts +11 -0
  60. package/dist/commands/deployment/inspect.js +91 -0
  61. package/dist/commands/deployment/inspect.js.map +1 -0
  62. package/dist/commands/deployment/list.d.ts +11 -0
  63. package/dist/commands/deployment/list.js +97 -0
  64. package/dist/commands/deployment/list.js.map +1 -0
  65. package/dist/commands/deployment/logs.d.ts +12 -0
  66. package/dist/commands/deployment/logs.js +50 -0
  67. package/dist/commands/deployment/logs.js.map +1 -0
  68. package/dist/commands/environment-variable/add.d.ts +14 -0
  69. package/dist/commands/environment-variable/add.js +47 -0
  70. package/dist/commands/environment-variable/add.js.map +1 -0
  71. package/dist/commands/environment-variable/list.d.ts +9 -0
  72. package/dist/commands/environment-variable/list.js +45 -0
  73. package/dist/commands/environment-variable/list.js.map +1 -0
  74. package/dist/commands/environment-variable/remove.d.ts +11 -0
  75. package/dist/commands/environment-variable/remove.js +33 -0
  76. package/dist/commands/environment-variable/remove.js.map +1 -0
  77. package/dist/commands/environment-variable/update.d.ts +13 -0
  78. package/dist/commands/environment-variable/update.js +41 -0
  79. package/dist/commands/environment-variable/update.js.map +1 -0
  80. package/dist/commands/git/connect.d.ts +1 -1
  81. package/dist/commands/git/connect.js +11 -12
  82. package/dist/commands/git/connect.js.map +1 -1
  83. package/dist/commands/git/disconnect.d.ts +1 -1
  84. package/dist/commands/git/disconnect.js +11 -11
  85. package/dist/commands/git/disconnect.js.map +1 -1
  86. package/dist/commands/link.d.ts +17 -0
  87. package/dist/commands/link.js +101 -0
  88. package/dist/commands/link.js.map +1 -0
  89. package/dist/commands/login.js +2 -13
  90. package/dist/commands/login.js.map +1 -1
  91. package/dist/commands/logs.d.ts +16 -0
  92. package/dist/commands/logs.js +96 -0
  93. package/dist/commands/logs.js.map +1 -0
  94. package/dist/commands/publish.d.ts +15 -0
  95. package/dist/commands/publish.js +51 -0
  96. package/dist/commands/publish.js.map +1 -0
  97. package/dist/commands/tunnel.d.ts +9 -0
  98. package/dist/commands/tunnel.js +96 -0
  99. package/dist/commands/tunnel.js.map +1 -0
  100. package/dist/lib/auth/auth.d.ts +1 -0
  101. package/dist/lib/auth/auth.js +18 -0
  102. package/dist/lib/auth/auth.js.map +1 -1
  103. package/dist/lib/auth/oauth/server/index.js +5 -2
  104. package/dist/lib/auth/oauth/server/index.js.map +1 -1
  105. package/dist/lib/base-workflow.d.ts +1 -1
  106. package/dist/lib/base-workflow.js +1 -1
  107. package/dist/lib/base-workflow.js.map +1 -1
  108. package/dist/lib/config.d.ts +1 -0
  109. package/dist/lib/config.js +1 -0
  110. package/dist/lib/config.js.map +1 -1
  111. package/dist/lib/deployment.d.ts +68 -0
  112. package/dist/lib/deployment.js +111 -3
  113. package/dist/lib/deployment.js.map +1 -1
  114. package/dist/lib/environment-variable.d.ts +37 -0
  115. package/dist/lib/environment-variable.js +299 -0
  116. package/dist/lib/environment-variable.js.map +1 -0
  117. package/dist/lib/git.d.ts +3 -3
  118. package/dist/lib/git.js +5 -7
  119. package/dist/lib/git.js.map +1 -1
  120. package/dist/lib/global-store.js +2 -2
  121. package/dist/lib/global-store.js.map +1 -1
  122. package/dist/lib/{project.d.ts → link.d.ts} +23 -11
  123. package/dist/lib/{project.js → link.js} +173 -83
  124. package/dist/lib/link.js.map +1 -0
  125. package/dist/lib/logs.d.ts +20 -0
  126. package/dist/lib/logs.js +86 -0
  127. package/dist/lib/logs.js.map +1 -0
  128. package/dist/lib/publish.d.ts +22 -0
  129. package/dist/lib/publish.js +185 -0
  130. package/dist/lib/publish.js.map +1 -0
  131. package/dist/lib/resolve.d.ts +6 -0
  132. package/dist/lib/resolve.js +26 -0
  133. package/dist/lib/resolve.js.map +1 -0
  134. package/dist/lib/table.d.ts +8 -0
  135. package/dist/lib/table.js +27 -0
  136. package/dist/lib/table.js.map +1 -0
  137. package/dist/lib/telemetry.js +1 -1
  138. package/dist/lib/telemetry.js.map +1 -1
  139. package/dist/lib/utils.d.ts +4 -0
  140. package/dist/lib/utils.js +45 -0
  141. package/dist/lib/utils.js.map +1 -0
  142. package/dist/lib/utils.test.d.ts +1 -0
  143. package/dist/lib/utils.test.js +27 -0
  144. package/dist/lib/utils.test.js.map +1 -0
  145. package/dist/types.d.ts +1 -0
  146. package/package.json +25 -19
  147. package/dist/lib/project.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,OAAO,KAAM,SAAQ,YAAY;IACrC,MAAM,CAAU,WAAW,GAAG,gDAAgD,CAAC;IAE/E,MAAM,CAAU,QAAQ,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAExB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE,CAAC;QAE5F,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC;YAC9C,KAAK;YACL,KAAK;YACL,YAAY;YACZ,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;SACtC,CAAC,CAAC;QAEH,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEzC,CAAC,CAAC,KAAK,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC;IACxC,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,OAAO,KAAM,SAAQ,YAAY;IACrC,MAAM,CAAU,WAAW,GAAG,gDAAgD,CAAC;IAE/E,MAAM,CAAU,QAAQ,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAExB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,UAAU,EAAE,CAAC;QAEnB,CAAC,CAAC,KAAK,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC;IACxC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AlpicCommand } from "../lib/alpic-command.js";
2
+ export declare class Logs extends AlpicCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ "environment-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ since: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ until: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ limit: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ follow: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ level: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ search: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ "no-color": import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,96 @@
1
+ import { Flags } from "@oclif/core";
2
+ import { api } from "../api.js";
3
+ import { AlpicCommand } from "../lib/alpic-command.js";
4
+ import { followEnvironmentLogs, parseLevel, printLog } from "../lib/logs.js";
5
+ import { resolveEnvironmentId } from "../lib/resolve.js";
6
+ export class Logs extends AlpicCommand {
7
+ static description = "Stream runtime logs for an environment";
8
+ static examples = [
9
+ "<%= config.bin %> logs --environment-id <environmentId>",
10
+ "<%= config.bin %> logs --environment-id <environmentId> --since 1h",
11
+ "<%= config.bin %> logs --environment-id <environmentId> --follow",
12
+ "<%= config.bin %> logs --environment-id <environmentId> --level ERROR --level WARNING",
13
+ "<%= config.bin %> logs --environment-id <environmentId> --search 'timeout' --limit 50",
14
+ "<%= config.bin %> logs --environment-id <environmentId> --no-color",
15
+ ];
16
+ static flags = {
17
+ "environment-id": Flags.string({
18
+ description: "The ID of the environment",
19
+ required: false,
20
+ }),
21
+ since: Flags.string({
22
+ description: "Show logs after this time (e.g. 1h, 30m, 2024-01-01T00:00:00Z)",
23
+ required: false,
24
+ }),
25
+ until: Flags.string({
26
+ description: "Show logs before this time (e.g. 1h, 30m, 2024-01-01T00:00:00Z). Cannot be used with --follow",
27
+ required: false,
28
+ }),
29
+ limit: Flags.integer({
30
+ char: "n",
31
+ description: "Maximum number of log entries to fetch. Cannot be used with --follow",
32
+ required: false,
33
+ min: 1,
34
+ max: 1000,
35
+ }),
36
+ follow: Flags.boolean({
37
+ char: "f",
38
+ description: "Poll for new logs continuously",
39
+ required: false,
40
+ default: false,
41
+ }),
42
+ level: Flags.string({
43
+ description: "Filter by log level (INFO, ERROR, WARNING, DEBUG)",
44
+ required: false,
45
+ multiple: true,
46
+ }),
47
+ search: Flags.string({
48
+ description: "Filter logs. Accepts a regex-style pattern or plain text",
49
+ required: false,
50
+ }),
51
+ "no-color": Flags.boolean({
52
+ description: "Disable colorized output and show log levels as text",
53
+ required: false,
54
+ default: false,
55
+ }),
56
+ };
57
+ async run() {
58
+ const { flags } = await this.parse(Logs);
59
+ await this.ensureAuthenticated();
60
+ const environmentId = resolveEnvironmentId(flags);
61
+ const level = flags.level !== undefined ? parseLevel(flags.level) : undefined;
62
+ if (flags.follow && flags.until !== undefined) {
63
+ throw new Error("--until cannot be used with --follow");
64
+ }
65
+ if (flags.follow && flags.limit !== undefined) {
66
+ throw new Error("--limit cannot be used with --follow");
67
+ }
68
+ const options = {
69
+ environmentId,
70
+ since: flags.since ?? (flags.follow ? "10m" : undefined),
71
+ until: flags.until,
72
+ limit: flags.limit,
73
+ level,
74
+ search: flags.search,
75
+ };
76
+ const { logs, nextToken } = await api.environments.getLogs.v1(options);
77
+ const onLog = (log) => {
78
+ printLog(log, { noColor: flags["no-color"] });
79
+ };
80
+ for (const log of logs) {
81
+ onLog(log);
82
+ }
83
+ if (!flags.follow)
84
+ return;
85
+ await followEnvironmentLogs({
86
+ environmentId,
87
+ limit: flags.limit,
88
+ level,
89
+ search: flags.search,
90
+ nextToken,
91
+ initialLogs: logs,
92
+ onLog,
93
+ });
94
+ }
95
+ }
96
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { AlpicCommand } from "../lib/alpic-command.js";
2
+ export declare class Publish extends AlpicCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ "non-interactive": import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ title: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ "website-url": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ "icon-src": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ "project-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,51 @@
1
+ import * as p from "@clack/prompts";
2
+ import { Flags } from "@oclif/core";
3
+ import { AlpicCommand } from "../lib/alpic-command.js";
4
+ import { PublishWorkflow } from "../lib/publish.js";
5
+ import { resolveProjectId } from "../lib/resolve.js";
6
+ export class Publish extends AlpicCommand {
7
+ static description = "Publish your MCP server to the MCP registry";
8
+ static examples = [
9
+ "<%= config.bin %> publish",
10
+ "<%= config.bin %> publish --non-interactive --domain my.domain.com --title 'My Server' --description 'Does things'",
11
+ ];
12
+ static flags = {
13
+ "non-interactive": Flags.boolean({
14
+ description: "Skip all prompts",
15
+ required: false,
16
+ }),
17
+ domain: Flags.string({
18
+ description: "Domain to publish for",
19
+ required: false,
20
+ }),
21
+ title: Flags.string({
22
+ description: "Server title (1-100 chars)",
23
+ required: false,
24
+ }),
25
+ description: Flags.string({
26
+ description: "Server description (1-100 chars)",
27
+ required: false,
28
+ }),
29
+ "website-url": Flags.string({
30
+ description: "Website URL",
31
+ required: false,
32
+ }),
33
+ "icon-src": Flags.string({
34
+ description: "Icon URL",
35
+ required: false,
36
+ }),
37
+ "project-id": Flags.string({
38
+ description: "Project ID",
39
+ required: false,
40
+ }),
41
+ };
42
+ async run() {
43
+ const { flags } = await this.parse(Publish);
44
+ p.intro("Publishing to MCP Registry");
45
+ await this.ensureAuthenticated();
46
+ const projectId = resolveProjectId(flags);
47
+ const workflow = new PublishWorkflow(flags);
48
+ await workflow.publish(projectId);
49
+ }
50
+ }
51
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,OAAO,OAAQ,SAAQ,YAAY;IACvC,MAAM,CAAU,WAAW,GAAG,6CAA6C,CAAC;IAE5E,MAAM,CAAU,QAAQ,GAAG;QACzB,2BAA2B;QAC3B,oHAAoH;KACrH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5C,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { AlpicCommand } from "../lib/alpic-command.js";
2
+ export declare class Tunnel extends AlpicCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ port: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,96 @@
1
+ import * as p from "@clack/prompts";
2
+ import { Flags } from "@oclif/core";
3
+ import { pipenet } from "pipenet";
4
+ import { api } from "../api.js";
5
+ import { AlpicCommand } from "../lib/alpic-command.js";
6
+ import { oauthLogin } from "../lib/auth/auth.js";
7
+ import { oAuthClient } from "../lib/auth/oauth/client.js";
8
+ export class Tunnel extends AlpicCommand {
9
+ static description = "Expose a local server to the internet through an Alpic tunnel";
10
+ static examples = ["<%= config.bin %> tunnel --port 3000"];
11
+ static flags = {
12
+ port: Flags.integer({
13
+ description: "Local port to tunnel",
14
+ required: true,
15
+ }),
16
+ };
17
+ async run() {
18
+ const { flags } = await this.parse(Tunnel);
19
+ let token = await oAuthClient.getValidAccessToken();
20
+ if (!token) {
21
+ p.log.step("You need to be logged in to use the Alpic tunnel");
22
+ await oauthLogin();
23
+ token = await oAuthClient.getValidAccessToken();
24
+ }
25
+ if (!token) {
26
+ throw new Error("Cannot get valid access token");
27
+ }
28
+ const spinner = p.spinner();
29
+ spinner.start("Opening tunnel...");
30
+ const { ticket, tunnelHost, subdomain } = await api.tunnels.getTicket.v1(undefined, {
31
+ context: {
32
+ request: {
33
+ headers: {
34
+ Authorization: `Bearer ${token?.access_token}`,
35
+ },
36
+ },
37
+ },
38
+ });
39
+ // terrible ux but pipenet client retries forever on error
40
+ // I'll probably open an issue/pr on their repo once I'm sure about the fix
41
+ const tunnel = await Promise.race([
42
+ pipenet({
43
+ port: flags.port,
44
+ host: `https://${tunnelHost}`,
45
+ subdomain: subdomain,
46
+ headers: { Authorization: `Bearer ${ticket}` },
47
+ }),
48
+ new Promise((_, reject) => {
49
+ const id = setTimeout(() => reject(new Error("Failed to connect to tunnel server")), 10_000);
50
+ id.unref?.(); // don't keep the event loop alive just for this timer
51
+ }),
52
+ ]);
53
+ spinner.stop(`Forwarding: https://${subdomain}.${tunnelHost} -> http://localhost:${flags.port}`);
54
+ p.log.info("Press Ctrl+C to close the tunnel");
55
+ let activities = [];
56
+ let cursor = 0;
57
+ const pushActivity = (message) => {
58
+ const d = new Date();
59
+ const now = `${String(d.getHours()).padStart(2, "0")}:${String(d.getMinutes()).padStart(2, "0")}:${String(d.getSeconds()).padStart(2, "0")}.${String(d.getMilliseconds()).padStart(3, "0")}`;
60
+ const activity = `${now} ${message}`;
61
+ activities = [activity, ...activities].slice(0, 5);
62
+ if (process.stdout.isTTY) {
63
+ // Move cursor up and clear previous note box so the next one renders in place
64
+ if (cursor > 0) {
65
+ process.stdout.write(`\x1b[${cursor}A\x1b[J`);
66
+ }
67
+ p.note(activities.join("\n"), "Tunnel activity:");
68
+ // p.note renders 5 extra lines: leading bar, title bar, padding top, padding bottom, bottom bar
69
+ cursor = activities.length + 5;
70
+ }
71
+ else {
72
+ p.log.info(activity);
73
+ }
74
+ };
75
+ // Keep the process alive until Ctrl+C
76
+ await new Promise((resolve) => {
77
+ process.once("SIGINT", () => {
78
+ tunnel.close();
79
+ resolve();
80
+ });
81
+ process.once("SIGTERM", () => {
82
+ tunnel.close();
83
+ resolve();
84
+ });
85
+ tunnel.on("request", (req) => {
86
+ pushActivity(`${req.method} ${req.path}`);
87
+ });
88
+ tunnel.on("error", (err) => {
89
+ pushActivity(`⚠ ${err.message}`);
90
+ });
91
+ tunnel.on("close", resolve);
92
+ });
93
+ p.outro("Tunnel closed");
94
+ }
95
+ }
96
+ //# sourceMappingURL=tunnel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../src/commands/tunnel.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export declare function getApiToken(): Promise<string | undefined>;
2
2
  export declare function isAuthenticated(): Promise<boolean>;
3
+ export declare function oauthLogin(): Promise<void>;
@@ -1,4 +1,9 @@
1
+ import * as p from "@clack/prompts";
2
+ import chalk from "chalk";
3
+ import open from "open";
4
+ import { globalStore } from "../global-store.js";
1
5
  import { oAuthClient } from "./oauth/client.js";
6
+ import { getLoginPageUrl, listenToOAuthCallback } from "./oauth/server/index.js";
2
7
  export async function getApiToken() {
3
8
  const token = process.env.ALPIC_API_KEY ?? (await oAuthClient.getValidAccessToken())?.access_token;
4
9
  return token;
@@ -18,4 +23,17 @@ function hasApiKey() {
18
23
  async function hasValidAccessToken() {
19
24
  return (await oAuthClient.getValidAccessToken()) !== null;
20
25
  }
26
+ export async function oauthLogin() {
27
+ const { authorizeUrl, state, nonce, codeVerifier } = await oAuthClient.prepareOAuthConfig();
28
+ const loginUrl = getLoginPageUrl();
29
+ p.log.message(`Opening browser to log in…\n\nIf the browser does not open, copy this URL: ${chalk.cyan(loginUrl)}`);
30
+ await open(loginUrl);
31
+ const storedToken = await listenToOAuthCallback({
32
+ state,
33
+ nonce,
34
+ codeVerifier,
35
+ authorizeUrl: authorizeUrl.toString(),
36
+ });
37
+ globalStore.saveCredentials(storedToken);
38
+ }
21
39
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC,EAAE,YAAY,CAAC;IAEnG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,wBAAwB,GAAG,SAAS,EAAE,CAAC;IAC7C,IAAI,wBAAwB;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,uBAAuB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC5D,IAAI,uBAAuB;QAAE,OAAO,IAAI,CAAC;IAEzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,OAAO,CAAC,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC,KAAK,IAAI,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC,EAAE,YAAY,CAAC;IAEnG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,wBAAwB,GAAG,SAAS,EAAE,CAAC;IAC7C,IAAI,wBAAwB;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,uBAAuB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC5D,IAAI,uBAAuB;QAAE,OAAO,IAAI,CAAC;IAEzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,OAAO,CAAC,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC,KAAK,IAAI,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAE5F,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,8EAA8E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpH,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC;QAC9C,KAAK;QACL,KAAK;QACL,YAAY;QACZ,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAC;IAEH,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,8 +1,8 @@
1
- import * as p from "@clack/prompts";
2
1
  import { readFile } from "node:fs/promises";
3
2
  import { createServer } from "node:http";
4
3
  import path from "node:path";
5
4
  import { fileURLToPath } from "node:url";
5
+ import * as p from "@clack/prompts";
6
6
  import { oAuthClient } from "../client.js";
7
7
  import { LOOPBACK_HOST, LOOPBACK_PORT } from "../constants.js";
8
8
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -17,7 +17,10 @@ const createCallbackServer = ({ state, nonce, codeVerifier, authorizeUrl, onSucc
17
17
  if (authorizeUrl) {
18
18
  html = html.replace(/%AUTH_BASE_URL%/g, authorizeUrl);
19
19
  }
20
- res.writeHead(200, { "Content-Type": "text/html", Connection: "close" });
20
+ res.writeHead(200, {
21
+ "Content-Type": "text/html",
22
+ Connection: "close",
23
+ });
21
24
  res.end(html);
22
25
  return;
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/auth/oauth/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/auth/oauth/server/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as p from "@clack/prompts";
2
2
  export type Flags = {
3
- yes?: boolean;
3
+ "non-interactive"?: boolean;
4
4
  };
5
5
  export declare abstract class BaseWorkflow<F extends Flags = Flags> {
6
6
  readonly flags: F;
@@ -12,7 +12,7 @@ export class BaseWorkflow {
12
12
  return p.confirm(options);
13
13
  }
14
14
  isNonInteractive() {
15
- if (this.flags.yes)
15
+ if (this.flags["non-interactive"])
16
16
  return true;
17
17
  if (process.env.VITEST)
18
18
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"base-workflow.js","sourceRoot":"","sources":["../../src/lib/base-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAM9B,MAAM,OAAgB,YAAY;IACJ;IAA5B,YAA4B,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAE9B,OAAO,CAAC,OAAyB,EAAE,eAAwB,IAAI;QACvE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAES,gBAAgB;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACrC,OAAO,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"base-workflow.js","sourceRoot":"","sources":["../../src/lib/base-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAM9B,MAAM,OAAgB,YAAY;IACJ;IAA5B,YAA4B,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAE9B,OAAO,CAAC,OAAyB,EAAE,eAAwB,IAAI;QACvE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAES,gBAAgB;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAErC,OAAO,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC;IAC1B,CAAC;CACF"}
@@ -3,6 +3,7 @@ export declare const config: {
3
3
  load: () => {
4
4
  projectId: string;
5
5
  teamId: string;
6
+ teamName: string | undefined;
6
7
  projectName: string;
7
8
  environmentId: string | undefined;
8
9
  environmentName: string | undefined;
@@ -17,6 +17,7 @@ export const config = {
17
17
  return {
18
18
  projectId: raw.projectId,
19
19
  teamId: raw.teamId,
20
+ teamName: raw.teamName,
20
21
  projectName: raw.projectName ?? raw.projectId,
21
22
  environmentId: raw.environmentId,
22
23
  environmentName: raw.environmentName,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,GAAG,EAAE;QACT,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAmE,CAAC;QACxE,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAG1C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAmC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS;YAC7C,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,eAAe,EAAE,GAAG,CAAC,eAAe;SACrC,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,aAA4B,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,GAAG,EAAE;QACT,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAmE,CAAC;QACxE,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAG1C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAmC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS;YAC7C,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,eAAe,EAAE,GAAG,CAAC,eAAe;SACrC,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,aAA4B,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC"}
@@ -1,5 +1,69 @@
1
1
  import type { RouterOutput } from "@alpic-ai/api";
2
+ export declare const colorizeDeploymentStatus: (text: string) => import("chalk").ChalkInstance | ((value: string) => string);
2
3
  export declare function formatElapsed(ms: number): string;
4
+ export declare function calculateDeploymentDuration(deployment: {
5
+ startedAt?: Date | null;
6
+ completedAt?: Date | null;
7
+ }): number | null;
8
+ export declare function fetchDeployment(deploymentId: string): Promise<{
9
+ id: string;
10
+ status: "ongoing" | "deployed" | "failed" | "canceled";
11
+ sourceRef: string | null;
12
+ sourceCommitId: string | null;
13
+ sourceCommitMessage: string | null;
14
+ authorUsername: string | null;
15
+ authorAvatarUrl: string | null;
16
+ startedAt: Date | null;
17
+ completedAt: Date | null;
18
+ environmentId: string;
19
+ environmentName: string;
20
+ isCurrent: boolean;
21
+ deploymentPageUrl: string | null;
22
+ }>;
23
+ export declare function fetchLatestDeploymentForEnvironment(environmentId: string): Promise<{
24
+ id: string;
25
+ status: "ongoing" | "deployed" | "failed" | "canceled";
26
+ sourceRef: string | null;
27
+ sourceCommitId: string | null;
28
+ sourceCommitMessage: string | null;
29
+ authorUsername: string | null;
30
+ authorAvatarUrl: string | null;
31
+ startedAt: Date | null;
32
+ completedAt: Date | null;
33
+ environmentId: string;
34
+ environmentName: string;
35
+ isCurrent: boolean;
36
+ deploymentPageUrl: string | null;
37
+ }>;
38
+ export declare function resolveDeploymentId(flags: {
39
+ "deployment-id"?: string;
40
+ "environment-id"?: string;
41
+ }): Promise<string>;
42
+ export declare function waitForDeployment(deployment: RouterOutput["deployments"]["get"]["v1"]): Promise<{
43
+ id: string;
44
+ status: "ongoing" | "deployed" | "failed" | "canceled";
45
+ sourceRef: string | null;
46
+ sourceCommitId: string | null;
47
+ sourceCommitMessage: string | null;
48
+ authorUsername: string | null;
49
+ authorAvatarUrl: string | null;
50
+ startedAt: Date | null;
51
+ completedAt: Date | null;
52
+ environmentId: string;
53
+ environmentName: string;
54
+ isCurrent: boolean;
55
+ deploymentPageUrl: string | null;
56
+ }>;
57
+ type DeploymentLogEntry = {
58
+ timestamp?: Date;
59
+ content?: string;
60
+ };
61
+ export declare function printDeploymentLog(log: DeploymentLogEntry, { noColor }?: {
62
+ noColor?: boolean;
63
+ }): void;
64
+ export declare function followDeploymentLogs(deploymentId: string, initialLogs: DeploymentLogEntry[], { noColor }?: {
65
+ noColor?: boolean;
66
+ }): Promise<void>;
3
67
  export declare function deployAndWait({ initial, startedAt, }: {
4
68
  initial: RouterOutput["deployments"]["get"]["v1"];
5
69
  startedAt: number;
@@ -14,7 +78,11 @@ export declare function deployAndWait({ initial, startedAt, }: {
14
78
  authorAvatarUrl: string | null;
15
79
  startedAt: Date | null;
16
80
  completedAt: Date | null;
81
+ environmentId: string;
82
+ environmentName: string;
83
+ isCurrent: boolean;
17
84
  deploymentPageUrl: string | null;
18
85
  };
19
86
  elapsedMs: number;
20
87
  }>;
88
+ export {};