alpic 0.0.0-dev.6fbb4e5 → 0.0.0-dev.6fe75df
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.
- package/dist/__tests__/auth.e2e.test.d.ts +1 -0
- package/dist/__tests__/auth.e2e.test.js +142 -0
- package/dist/__tests__/auth.e2e.test.js.map +1 -0
- package/dist/__tests__/deploy-flags.e2e.test.d.ts +1 -0
- package/dist/__tests__/deploy-flags.e2e.test.js +87 -0
- package/dist/__tests__/deploy-flags.e2e.test.js.map +1 -0
- package/dist/__tests__/deploy.e2e.test.d.ts +1 -0
- package/dist/__tests__/deploy.e2e.test.js +168 -0
- package/dist/__tests__/deploy.e2e.test.js.map +1 -0
- package/dist/__tests__/fixtures/demo-project/index.d.ts +1 -0
- package/dist/__tests__/fixtures/demo-project/index.js +4 -0
- package/dist/__tests__/fixtures/demo-project/index.js.map +1 -0
- package/dist/__tests__/git.e2e.test.d.ts +1 -0
- package/dist/__tests__/git.e2e.test.js +218 -0
- package/dist/__tests__/git.e2e.test.js.map +1 -0
- package/dist/__tests__/mock-server.d.ts +22 -0
- package/dist/__tests__/mock-server.js +492 -0
- package/dist/__tests__/mock-server.js.map +1 -0
- package/dist/__tests__/utils.d.ts +69 -0
- package/dist/__tests__/utils.js +243 -0
- package/dist/__tests__/utils.js.map +1 -0
- package/dist/api.d.ts +3 -17
- package/dist/api.js +14 -68
- package/dist/api.js.map +1 -1
- package/dist/commands/deploy.d.ts +8 -2
- package/dist/commands/deploy.js +47 -19
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/git/connect.d.ts +9 -0
- package/dist/commands/git/connect.js +59 -0
- package/dist/commands/git/connect.js.map +1 -0
- package/dist/commands/git/disconnect.d.ts +9 -0
- package/dist/commands/git/disconnect.js +51 -0
- package/dist/commands/git/disconnect.js.map +1 -0
- package/dist/commands/git.d.ts +6 -0
- package/dist/commands/git.js +17 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/login.d.ts +6 -0
- package/dist/commands/login.js +39 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +6 -0
- package/dist/commands/logout.js +20 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/telemetry/disable.d.ts +5 -0
- package/dist/commands/telemetry/disable.js +14 -0
- package/dist/commands/telemetry/disable.js.map +1 -0
- package/dist/commands/telemetry/enable.d.ts +5 -0
- package/dist/commands/telemetry/enable.js +13 -0
- package/dist/commands/telemetry/enable.js.map +1 -0
- package/dist/commands/telemetry/status.d.ts +5 -0
- package/dist/commands/telemetry/status.js +19 -0
- package/dist/commands/telemetry/status.js.map +1 -0
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.js +25 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/env.d.ts +4 -0
- package/dist/env.js +10 -0
- package/dist/env.js.map +1 -0
- package/dist/lib/alpic-command.d.ts +4 -0
- package/dist/lib/alpic-command.js +17 -0
- package/dist/lib/alpic-command.js.map +1 -0
- package/dist/lib/auth/auth.d.ts +2 -0
- package/dist/lib/auth/auth.js +21 -0
- package/dist/lib/auth/auth.js.map +1 -0
- package/dist/lib/auth/oauth/client.d.ts +28 -0
- package/dist/lib/auth/oauth/client.js +110 -0
- package/dist/lib/auth/oauth/client.js.map +1 -0
- package/dist/lib/auth/oauth/constants.d.ts +2 -0
- package/dist/lib/auth/oauth/constants.js +3 -0
- package/dist/lib/auth/oauth/constants.js.map +1 -0
- package/dist/lib/auth/oauth/server/assets/alpic-mountain.png +0 -0
- package/dist/lib/auth/oauth/server/assets/authorize.html +195 -0
- package/dist/lib/auth/oauth/server/assets/callback.html +88 -0
- package/dist/lib/auth/oauth/server/index.d.ts +8 -0
- package/dist/lib/auth/oauth/server/index.js +102 -0
- package/dist/lib/auth/oauth/server/index.js.map +1 -0
- package/dist/lib/auth/whoami.d.ts +28 -0
- package/dist/lib/auth/whoami.js +35 -0
- package/dist/lib/auth/whoami.js.map +1 -0
- package/dist/lib/base-workflow.d.ts +10 -0
- package/dist/lib/base-workflow.js +22 -0
- package/dist/lib/base-workflow.js.map +1 -0
- package/dist/lib/deployment.d.ts +16 -6
- package/dist/lib/deployment.js +25 -9
- package/dist/lib/deployment.js.map +1 -1
- package/dist/lib/git.d.ts +14 -0
- package/dist/lib/git.js +105 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/global-store.d.ts +28 -0
- package/dist/lib/global-store.js +75 -0
- package/dist/lib/global-store.js.map +1 -0
- package/dist/lib/project.d.ts +66 -12
- package/dist/lib/project.js +268 -252
- package/dist/lib/project.js.map +1 -1
- package/dist/lib/telemetry.d.ts +7 -0
- package/dist/lib/telemetry.js +66 -0
- package/dist/lib/telemetry.js.map +1 -0
- package/dist/posthog.d.ts +3 -0
- package/dist/posthog.js +10 -0
- package/dist/posthog.js.map +1 -0
- package/dist/types.d.ts +0 -54
- package/package.json +32 -10
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import ci from "ci-info";
|
|
2
|
+
import crypto from "node:crypto";
|
|
3
|
+
import posthog from "../posthog.js";
|
|
4
|
+
import { globalStore } from "./global-store.js";
|
|
5
|
+
const ENV_TELEMETRY_DISABLED = "ALPIC_TELEMETRY_DISABLED";
|
|
6
|
+
const ENV_TELEMETRY_DEBUG = "ALPIC_TELEMETRY_DEBUG";
|
|
7
|
+
const ENV_DO_NOT_TRACK = "DO_NOT_TRACK";
|
|
8
|
+
export function isEnabled() {
|
|
9
|
+
if (process.env[ENV_TELEMETRY_DISABLED] === "1" || process.env[ENV_TELEMETRY_DISABLED]?.toLowerCase() === "true") {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
if (process.env[ENV_DO_NOT_TRACK] === "1" || process.env[ENV_DO_NOT_TRACK]?.toLowerCase() === "true") {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (ci.isCI) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
const config = globalStore.getConfig();
|
|
19
|
+
return config.telemetry.enabled;
|
|
20
|
+
}
|
|
21
|
+
export function isDebugMode() {
|
|
22
|
+
return process.env[ENV_TELEMETRY_DEBUG] === "1" || process.env[ENV_TELEMETRY_DEBUG]?.toLowerCase() === "true";
|
|
23
|
+
}
|
|
24
|
+
export function setEnabled(enabled) {
|
|
25
|
+
const config = globalStore.getConfig();
|
|
26
|
+
config.telemetry.enabled = enabled;
|
|
27
|
+
globalStore.saveConfig(config);
|
|
28
|
+
}
|
|
29
|
+
export function getMachineId() {
|
|
30
|
+
if (ci.isCI) {
|
|
31
|
+
return ci.name ?? "unknown-ci";
|
|
32
|
+
}
|
|
33
|
+
return globalStore.getConfig().machineId;
|
|
34
|
+
}
|
|
35
|
+
const hook = async ({ id: command, config: { version }, error, }) => {
|
|
36
|
+
if (!isEnabled()) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const event = {
|
|
40
|
+
command,
|
|
41
|
+
version,
|
|
42
|
+
machineId: getMachineId(),
|
|
43
|
+
sessionId: crypto.randomUUID(),
|
|
44
|
+
isCI: ci.isCI,
|
|
45
|
+
nodeVersion: process.version,
|
|
46
|
+
platform: process.platform,
|
|
47
|
+
outcome: error ? "failure" : "success",
|
|
48
|
+
error: error?.message,
|
|
49
|
+
};
|
|
50
|
+
if (isDebugMode()) {
|
|
51
|
+
console.error("[Telemetry Debug] Would send event:", JSON.stringify(event, null, 2));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
posthog.capture({
|
|
56
|
+
distinctId: event.machineId,
|
|
57
|
+
event: command,
|
|
58
|
+
properties: event,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Silently ignore telemetry errors - never block CLI operation
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
export default hook;
|
|
66
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/lib/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/posthog.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PostHog } from "posthog-node";
|
|
2
|
+
const POSTHOG_API_KEY = "phc_ksTmveDgBWGdJb7tlb8Vz6eeKsOl0UkdpCqUaSU2ypg";
|
|
3
|
+
const POSTHOG_HOST = "https://us.i.posthog.com";
|
|
4
|
+
const posthog = new PostHog(POSTHOG_API_KEY, {
|
|
5
|
+
host: POSTHOG_HOST,
|
|
6
|
+
flushAt: 1,
|
|
7
|
+
flushInterval: 0,
|
|
8
|
+
});
|
|
9
|
+
export default posthog;
|
|
10
|
+
//# sourceMappingURL=posthog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posthog.js","sourceRoot":"","sources":["../src/posthog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,eAAe,GAAG,iDAAiD,CAAC;AAC1E,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,EAAE;IAC3C,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;CACjB,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,27 +1,3 @@
|
|
|
1
|
-
export type ApiProject = {
|
|
2
|
-
id: string;
|
|
3
|
-
teamId: string;
|
|
4
|
-
name: string;
|
|
5
|
-
productionEnvironment?: {
|
|
6
|
-
id: string;
|
|
7
|
-
name: string;
|
|
8
|
-
mcpServerUrl: string;
|
|
9
|
-
} | null;
|
|
10
|
-
environments?: ApiEnvironment[];
|
|
11
|
-
};
|
|
12
|
-
export type PresignedUploadResponse = {
|
|
13
|
-
uploadUrl: string;
|
|
14
|
-
token: string;
|
|
15
|
-
expiresAt: string;
|
|
16
|
-
};
|
|
17
|
-
export type ApiEnvironment = {
|
|
18
|
-
id: string;
|
|
19
|
-
name: string;
|
|
20
|
-
sourceBranch: string;
|
|
21
|
-
mcpServerUrl: string;
|
|
22
|
-
projectId: string;
|
|
23
|
-
domains: string[];
|
|
24
|
-
};
|
|
25
1
|
export type ProjectConfig = {
|
|
26
2
|
projectId: string;
|
|
27
3
|
teamId: string;
|
|
@@ -29,33 +5,3 @@ export type ProjectConfig = {
|
|
|
29
5
|
environmentId?: string;
|
|
30
6
|
environmentName?: string;
|
|
31
7
|
};
|
|
32
|
-
export type ApiDeployment = {
|
|
33
|
-
id: string;
|
|
34
|
-
status: "ongoing" | "deployed" | "failed" | "canceled";
|
|
35
|
-
sourceRef: string;
|
|
36
|
-
sourceCommitId?: string;
|
|
37
|
-
sourceCommitMessage?: string;
|
|
38
|
-
authorUsername: string | null;
|
|
39
|
-
authorAvatarUrl: string | null;
|
|
40
|
-
startedAt: string | null;
|
|
41
|
-
completedAt: string | null;
|
|
42
|
-
};
|
|
43
|
-
export type Runtime = "node22" | "node24" | "python3.13";
|
|
44
|
-
export type CreateProjectInput = {
|
|
45
|
-
name: string;
|
|
46
|
-
runtime: Runtime;
|
|
47
|
-
rootDirectory?: string;
|
|
48
|
-
};
|
|
49
|
-
export type ApiCreateProjectOutput = {
|
|
50
|
-
id: string;
|
|
51
|
-
name: string;
|
|
52
|
-
teamId: string;
|
|
53
|
-
productionEnvironment: {
|
|
54
|
-
id: string;
|
|
55
|
-
name: string;
|
|
56
|
-
} | null;
|
|
57
|
-
environments: {
|
|
58
|
-
id: string;
|
|
59
|
-
name: string;
|
|
60
|
-
}[];
|
|
61
|
-
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alpic",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.6fe75df",
|
|
4
4
|
"description": "The command-line interface for Alpic",
|
|
5
5
|
"homepage": "https://alpic.ai",
|
|
6
6
|
"preferGlobal": true,
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"engines": {
|
|
17
|
-
"node": ">= 18"
|
|
17
|
+
"node": ">= 18.20.8"
|
|
18
18
|
},
|
|
19
19
|
"keywords": [
|
|
20
20
|
"chatgpt",
|
|
@@ -25,16 +25,34 @@
|
|
|
25
25
|
"author": "Alpic",
|
|
26
26
|
"license": "ISC",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@clack/prompts": "^1.0.
|
|
29
|
-
"@oclif/core": "^4.8.
|
|
28
|
+
"@clack/prompts": "^1.0.1",
|
|
29
|
+
"@oclif/core": "^4.8.1",
|
|
30
|
+
"@orpc/client": "^1.13.5",
|
|
31
|
+
"@orpc/contract": "^1.13.5",
|
|
32
|
+
"@orpc/openapi-client": "^1.13.5",
|
|
33
|
+
"@t3-oss/env-core": "^0.13.10",
|
|
30
34
|
"chalk": "^5.6.2",
|
|
31
|
-
"
|
|
35
|
+
"ci-info": "^4.4.0",
|
|
36
|
+
"jwt-decode": "^4.0.0",
|
|
37
|
+
"open": "^11.0.0",
|
|
38
|
+
"openid-client": "^6.8.2",
|
|
39
|
+
"posthog-node": "^5.24.17",
|
|
40
|
+
"tar": "^7.5.9",
|
|
41
|
+
"xdg-app-paths": "^8.3.0",
|
|
42
|
+
"zod": "^4.3.6",
|
|
43
|
+
"@alpic-ai/api": "0.0.0-dev.6fe75df"
|
|
32
44
|
},
|
|
33
45
|
"devDependencies": {
|
|
46
|
+
"@orpc/openapi": "^1.13.5",
|
|
47
|
+
"@orpc/server": "^1.13.5",
|
|
48
|
+
"@orpc/zod": "^1.13.5",
|
|
34
49
|
"@total-typescript/tsconfig": "^1.0.4",
|
|
35
|
-
"@types/
|
|
36
|
-
"
|
|
37
|
-
"
|
|
50
|
+
"@types/express": "^5.0.6",
|
|
51
|
+
"@types/node": "^25.3.0",
|
|
52
|
+
"express": "^5.2.1",
|
|
53
|
+
"jsdom": "^28.1.0",
|
|
54
|
+
"node-pty": "1.1.0",
|
|
55
|
+
"selfsigned": "^5.5.0",
|
|
38
56
|
"shx": "^0.4.0",
|
|
39
57
|
"ts-node": "^10.9.2",
|
|
40
58
|
"typescript": "^5.9.3",
|
|
@@ -47,10 +65,14 @@
|
|
|
47
65
|
"bin": "alpic",
|
|
48
66
|
"commands": "./dist/commands",
|
|
49
67
|
"dirname": "alpic",
|
|
50
|
-
"topicSeparator": " "
|
|
68
|
+
"topicSeparator": " ",
|
|
69
|
+
"hooks": {
|
|
70
|
+
"finally": "./dist/lib/telemetry.js"
|
|
71
|
+
}
|
|
51
72
|
},
|
|
52
73
|
"scripts": {
|
|
53
|
-
"build": "shx rm -rf dist && tsc",
|
|
74
|
+
"build": "shx rm -rf dist && tsc && pnpm run build:assets",
|
|
75
|
+
"build:assets": "shx cp -r src/lib/auth/oauth/server/assets dist/lib/auth/oauth/server/",
|
|
54
76
|
"format": "biome check --write --error-on-warnings",
|
|
55
77
|
"test": "pnpm run test:unit && pnpm run test:type && pnpm run test:format",
|
|
56
78
|
"test:unit": "vitest run",
|