@alpic-ai/sdk 0.0.0-dev.ge4c0895 → 0.0.0-dev.ge4f76e7
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/api/auth-scope.d.ts +2 -0
- package/dist/api/auth-scope.js +7 -0
- package/dist/api/auth-scope.js.map +1 -0
- package/dist/api/client.d.ts +5 -1
- package/dist/api/client.js +11 -8
- package/dist/api/client.js.map +1 -1
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.js +14 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/oauth-client.d.ts +1 -1
- package/dist/auth/oauth-client.js +3 -3
- package/dist/auth/oauth-client.js.map +1 -1
- package/dist/auth/server/index.js +1 -1
- package/dist/auth/server/index.js.map +1 -1
- package/dist/client.d.ts +7 -1
- package/dist/client.js +13 -6
- package/dist/client.js.map +1 -1
- package/dist/deploy/archive.d.ts +7 -0
- package/dist/deploy/archive.js +54 -0
- package/dist/deploy/archive.js.map +1 -0
- package/dist/deploy/deployments.d.ts +43 -0
- package/dist/deploy/deployments.js +89 -0
- package/dist/deploy/deployments.js.map +1 -0
- package/dist/deploy/poll.d.ts +2 -0
- package/dist/deploy/poll.js +10 -0
- package/dist/deploy/poll.js.map +1 -0
- package/dist/deploy/upload.d.ts +1 -0
- package/dist/deploy/upload.js +13 -0
- package/dist/deploy/upload.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/project/config.d.ts +10 -0
- package/dist/project/config.js +29 -0
- package/dist/project/config.js.map +1 -0
- package/dist/project/detect-runtime.d.ts +2 -0
- package/dist/project/detect-runtime.js +25 -0
- package/dist/project/detect-runtime.js.map +1 -0
- package/dist/project/projects.d.ts +21 -0
- package/dist/project/projects.js +52 -0
- package/dist/project/projects.js.map +1 -0
- package/dist/tunnel/tunnel.d.ts +0 -1
- package/dist/tunnel/tunnel.js +1 -10
- package/dist/tunnel/tunnel.js.map +1 -1
- package/dist/vendor/pipenet.js +47 -41
- package/dist/vendor/pipenet.js.map +4 -4
- package/dist/whoami.d.ts +15 -0
- package/dist/whoami.js +12 -0
- package/dist/whoami.js.map +1 -0
- package/package.json +6 -5
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AUTH_SCOPE_ANY, contract } from "@alpic-ai/api";
|
|
2
|
+
import { getContractRouter } from "@orpc/contract";
|
|
3
|
+
export function getAuthScopeForPath(path) {
|
|
4
|
+
const procedure = getContractRouter(contract, path);
|
|
5
|
+
return procedure?.["~orpc"]?.meta?.authScope ?? AUTH_SCOPE_ANY;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=auth-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-scope.js","sourceRoot":"","sources":["../../src/api/auth-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAQnD,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,OAAQ,SAA2C,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,IAAI,cAAc,CAAC;AACpG,CAAC"}
|
package/dist/api/client.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { contract } from "@alpic-ai/api";
|
|
2
2
|
import type { ContractRouterClient } from "@orpc/contract";
|
|
3
3
|
export type AlpicApi = ContractRouterClient<typeof contract>;
|
|
4
|
+
export type ApiAuth = {
|
|
5
|
+
getToken: () => Promise<string | undefined>;
|
|
6
|
+
getUserAccessToken: () => Promise<string | undefined>;
|
|
7
|
+
};
|
|
4
8
|
export declare function createApiClient(opts: {
|
|
5
9
|
apiBaseUrl: string;
|
|
6
|
-
|
|
10
|
+
auth: ApiAuth;
|
|
7
11
|
}): AlpicApi;
|
package/dist/api/client.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import { contract } from "@alpic-ai/api";
|
|
1
|
+
import { AUTH_SCOPE_USER, contract } from "@alpic-ai/api";
|
|
2
2
|
import { createORPCClient } from "@orpc/client";
|
|
3
3
|
import { ResponseValidationPlugin } from "@orpc/contract/plugins";
|
|
4
4
|
import { OpenAPILink } from "@orpc/openapi-client/fetch";
|
|
5
|
+
import { getAuthScopeForPath } from "./auth-scope.js";
|
|
5
6
|
export function createApiClient(opts) {
|
|
6
7
|
const link = new OpenAPILink(contract, {
|
|
7
8
|
url: opts.apiBaseUrl,
|
|
8
|
-
headers: async (
|
|
9
|
-
const headers = context
|
|
10
|
-
if (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
headers: async (options, path) => {
|
|
10
|
+
const headers = options.context?.request?.headers ?? {};
|
|
11
|
+
if (headers.Authorization) {
|
|
12
|
+
return headers;
|
|
13
|
+
}
|
|
14
|
+
const scope = getAuthScopeForPath(path);
|
|
15
|
+
const token = scope === AUTH_SCOPE_USER ? await opts.auth.getUserAccessToken() : await opts.auth.getToken();
|
|
16
|
+
if (token) {
|
|
17
|
+
headers.Authorization = `Bearer ${token}`;
|
|
15
18
|
}
|
|
16
19
|
return headers;
|
|
17
20
|
},
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAStD,MAAM,UAAU,eAAe,CAAC,IAA2C;IACzE,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE;QACrC,GAAG,EAAE,IAAI,CAAC,UAAU;QACpB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YACxD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE5G,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;YAC5C,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;KAClD,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -13,6 +13,11 @@ export declare class AlpicAuth {
|
|
|
13
13
|
getValidAccessToken(): Promise<Credentials | null>;
|
|
14
14
|
isAuthenticated(): Promise<boolean>;
|
|
15
15
|
getToken(): Promise<string | undefined>;
|
|
16
|
+
getUserAccessToken(): Promise<string | undefined>;
|
|
17
|
+
getUserInfo(): Promise<{
|
|
18
|
+
email: string | undefined;
|
|
19
|
+
name: string | undefined;
|
|
20
|
+
} | null>;
|
|
16
21
|
login(opts?: LoginOptions): Promise<{
|
|
17
22
|
sub: string;
|
|
18
23
|
}>;
|
package/dist/auth/index.js
CHANGED
|
@@ -19,6 +19,20 @@ export class AlpicAuth {
|
|
|
19
19
|
async getToken() {
|
|
20
20
|
return process.env.ALPIC_API_KEY ?? (await getOAuthClient().getValidAccessToken())?.access_token;
|
|
21
21
|
}
|
|
22
|
+
async getUserAccessToken() {
|
|
23
|
+
return (await getOAuthClient().getValidAccessToken())?.access_token;
|
|
24
|
+
}
|
|
25
|
+
async getUserInfo() {
|
|
26
|
+
const credentials = await getOAuthClient().getValidAccessToken();
|
|
27
|
+
if (!credentials) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const userInfo = await getOAuthClient().fetchUserInfo(credentials);
|
|
31
|
+
if (!userInfo) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return { email: userInfo.email, name: userInfo.name };
|
|
35
|
+
}
|
|
22
36
|
async login(opts) {
|
|
23
37
|
const result = await oauthLogin(opts);
|
|
24
38
|
this.events.emit("authenticated", { sub: result.sub });
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ3D,MAAM,OAAO,SAAS;IACH,MAAM,GAAG,IAAI,iBAAiB,EAAc,CAAC;IAE9D,EAAE,CAA6B,KAAQ,EAAE,QAA0C;QACjF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,GAAG,CAA6B,KAAQ,EAAE,QAA0C;QAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,cAAc,EAAE,CAAC,mBAAmB,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,cAAc,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,YAAY,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAmB;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ3D,MAAM,OAAO,SAAS;IACH,MAAM,GAAG,IAAI,iBAAiB,EAAc,CAAC;IAE9D,EAAE,CAA6B,KAAQ,EAAE,QAA0C;QACjF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,GAAG,CAA6B,KAAQ,EAAE,QAA0C;QAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,cAAc,EAAE,CAAC,mBAAmB,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,cAAc,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,YAAY,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,CAAC,MAAM,cAAc,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,YAAY,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC,mBAAmB,EAAE,CAAC;QACjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAmB;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -19,7 +19,7 @@ export declare class OAuthClient {
|
|
|
19
19
|
state: string;
|
|
20
20
|
nonce: string;
|
|
21
21
|
}): Promise<openid.TokenEndpointResponse & openid.TokenEndpointResponseHelpers>;
|
|
22
|
-
getExpiresAt(
|
|
22
|
+
getExpiresAt(expiresInSeconds: number | undefined): number;
|
|
23
23
|
private loadConfig;
|
|
24
24
|
private fetchOAuthProtectedResourceConfig;
|
|
25
25
|
private getConfig;
|
|
@@ -36,7 +36,7 @@ export class OAuthClient {
|
|
|
36
36
|
const refreshed = {
|
|
37
37
|
access_token: response.access_token,
|
|
38
38
|
refresh_token: response.refresh_token ?? credentials.refresh_token,
|
|
39
|
-
expires_at: this.getExpiresAt(response.expires_in
|
|
39
|
+
expires_at: this.getExpiresAt(response.expires_in),
|
|
40
40
|
sub: credentials.sub,
|
|
41
41
|
};
|
|
42
42
|
globalStore.saveCredentials(refreshed);
|
|
@@ -69,8 +69,8 @@ export class OAuthClient {
|
|
|
69
69
|
expectedNonce: nonce,
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
-
getExpiresAt(
|
|
73
|
-
return
|
|
72
|
+
getExpiresAt(expiresInSeconds) {
|
|
73
|
+
return Math.floor(Date.now() / 1000) + (expiresInSeconds ?? 3600);
|
|
74
74
|
}
|
|
75
75
|
async loadConfig() {
|
|
76
76
|
const protectedResourceConfig = await this.fetchOAuthProtectedResourceConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client.js","sourceRoot":"","sources":["../../src/auth/oauth-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAU9C,MAAM,OAAO,WAAW;IACd,MAAM,GAAgC,IAAI,CAAC;IACnD,UAAU,CAAgB;IAE1B;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC;QACtB,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAwB;QAC1C,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAwB;QAC/C,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QAEnG,MAAM,SAAS,GAAgB;YAC7B,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa;YAClE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"oauth-client.js","sourceRoot":"","sources":["../../src/auth/oauth-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ const createCallbackServer = ({ state, nonce, codeVerifier, authorizeUrl, onSucc
|
|
|
56
56
|
const stored = {
|
|
57
57
|
access_token: tokens.access_token,
|
|
58
58
|
refresh_token: tokens.refresh_token,
|
|
59
|
-
expires_at: getOAuthClient().getExpiresAt(tokens.expires_in
|
|
59
|
+
expires_at: getOAuthClient().getExpiresAt(tokens.expires_in),
|
|
60
60
|
sub,
|
|
61
61
|
};
|
|
62
62
|
const msg = "Authentication successful";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/server/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { type AlpicApi } from "./api/client.js";
|
|
2
2
|
import { AlpicAuth } from "./auth/index.js";
|
|
3
|
+
import { Deployments } from "./deploy/deployments.js";
|
|
4
|
+
import { Projects } from "./project/projects.js";
|
|
3
5
|
import { Tunnel } from "./tunnel/tunnel.js";
|
|
4
|
-
|
|
6
|
+
import { type WhoamiInfo } from "./whoami.js";
|
|
7
|
+
export declare class Alpic {
|
|
5
8
|
readonly auth: AlpicAuth;
|
|
6
9
|
readonly api: AlpicApi;
|
|
7
10
|
readonly tunnel: Tunnel;
|
|
11
|
+
readonly deployments: Deployments;
|
|
12
|
+
readonly projects: Projects;
|
|
8
13
|
constructor();
|
|
14
|
+
whoami(): Promise<WhoamiInfo>;
|
|
9
15
|
}
|
package/dist/client.js
CHANGED
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
import { createApiClient } from "./api/client.js";
|
|
2
2
|
import { AlpicAuth } from "./auth/index.js";
|
|
3
|
+
import { Deployments } from "./deploy/deployments.js";
|
|
3
4
|
import { env } from "./env.js";
|
|
5
|
+
import { Projects } from "./project/projects.js";
|
|
4
6
|
import { Tunnel } from "./tunnel/tunnel.js";
|
|
5
|
-
|
|
7
|
+
import { whoami } from "./whoami.js";
|
|
8
|
+
export class Alpic {
|
|
6
9
|
auth;
|
|
7
10
|
api;
|
|
8
11
|
tunnel;
|
|
12
|
+
deployments;
|
|
13
|
+
projects;
|
|
9
14
|
constructor() {
|
|
10
15
|
this.auth = new AlpicAuth();
|
|
11
16
|
this.api = createApiClient({
|
|
12
17
|
apiBaseUrl: env.ALPIC_API_BASE_URL,
|
|
13
|
-
|
|
14
|
-
});
|
|
15
|
-
this.tunnel = new Tunnel({
|
|
16
|
-
api: this.api,
|
|
17
|
-
getAccessToken: async () => (await this.auth.getValidAccessToken())?.access_token,
|
|
18
|
+
auth: this.auth,
|
|
18
19
|
});
|
|
20
|
+
this.tunnel = new Tunnel({ api: this.api });
|
|
21
|
+
this.deployments = new Deployments({ api: this.api });
|
|
22
|
+
this.projects = new Projects({ api: this.api });
|
|
23
|
+
}
|
|
24
|
+
whoami() {
|
|
25
|
+
return whoami(this.auth, this.api);
|
|
19
26
|
}
|
|
20
27
|
}
|
|
21
28
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAmB,MAAM,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,OAAO,KAAK;IACP,IAAI,CAAY;IAChB,GAAG,CAAW;IACd,MAAM,CAAS;IACf,WAAW,CAAc;IACzB,QAAQ,CAAW;IAE5B;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC;YACzB,UAAU,EAAE,GAAG,CAAC,kBAAkB;YAClC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function ensureGitAvailable(): void;
|
|
2
|
+
export declare function getGitFiles(): string[];
|
|
3
|
+
export declare function getFilesToPack(): string[];
|
|
4
|
+
export declare function createTarArchive(files: string[]): Promise<{
|
|
5
|
+
tmpDir: string;
|
|
6
|
+
archivePath: string;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { execSync } from "node:child_process";
|
|
2
|
+
import { existsSync, mkdtempSync, rmSync } from "node:fs";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { create as tarCreate } from "tar";
|
|
6
|
+
const GIT_FILES_MAX_BUFFER = 10 * 1024 * 1024;
|
|
7
|
+
function isGitRepository() {
|
|
8
|
+
return existsSync(join(process.cwd(), ".git"));
|
|
9
|
+
}
|
|
10
|
+
export function ensureGitAvailable() {
|
|
11
|
+
try {
|
|
12
|
+
execSync("git --version", { stdio: "ignore" });
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
throw new Error("Git is required to deploy. Please install git and ensure it is available in your PATH.");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function getGitFiles() {
|
|
19
|
+
const output = execSync("git ls-files -z --cached --others --exclude-standard -- .", {
|
|
20
|
+
encoding: "utf8",
|
|
21
|
+
maxBuffer: GIT_FILES_MAX_BUFFER,
|
|
22
|
+
});
|
|
23
|
+
const files = output.split("\0").filter(Boolean);
|
|
24
|
+
if (files.length === 0) {
|
|
25
|
+
throw new Error("No tracked or untracked files found. Ensure you are in a git repository with files to deploy.");
|
|
26
|
+
}
|
|
27
|
+
return files;
|
|
28
|
+
}
|
|
29
|
+
export function getFilesToPack() {
|
|
30
|
+
if (isGitRepository()) {
|
|
31
|
+
return getGitFiles();
|
|
32
|
+
}
|
|
33
|
+
ensureGitAvailable();
|
|
34
|
+
execSync("git init", { stdio: "ignore" });
|
|
35
|
+
try {
|
|
36
|
+
return getGitFiles();
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
rmSync(join(process.cwd(), ".git"), { recursive: true, force: true });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export async function createTarArchive(files) {
|
|
43
|
+
const tmpDir = mkdtempSync(join(tmpdir(), "alpic-deploy-"));
|
|
44
|
+
const archivePath = join(tmpDir, "source.tar.gz");
|
|
45
|
+
try {
|
|
46
|
+
await tarCreate({ gzip: true, file: archivePath }, files);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
rmSync(tmpDir, { recursive: true, force: true });
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
return { tmpDir, archivePath };
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/deploy/archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,KAAK,CAAC;AAE1C,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,SAAS,eAAe;IACtB,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,2DAA2D,EAAE;QACnF,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,oBAAoB;KAChC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;IACnH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IACD,kBAAkB,EAAE,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAe;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { RouterOutput } from "@alpic-ai/api";
|
|
2
|
+
import type { AlpicApi } from "../api/client.js";
|
|
3
|
+
export type Deployment = RouterOutput["deployments"]["get"]["v1"];
|
|
4
|
+
export type DeploymentStatus = Deployment["status"];
|
|
5
|
+
export type DeployOptions = {
|
|
6
|
+
environmentId: string;
|
|
7
|
+
teamId: string;
|
|
8
|
+
onProgress?: (event: DeployEvent) => void;
|
|
9
|
+
};
|
|
10
|
+
export type DeployResult = {
|
|
11
|
+
deploymentId: string;
|
|
12
|
+
status: DeploymentStatus;
|
|
13
|
+
mcpServerUrl: string;
|
|
14
|
+
domains: string[];
|
|
15
|
+
deploymentPageUrl: string | null;
|
|
16
|
+
elapsedMs: number;
|
|
17
|
+
};
|
|
18
|
+
export type DeployEvent = {
|
|
19
|
+
type: "collecting";
|
|
20
|
+
} | {
|
|
21
|
+
type: "collected";
|
|
22
|
+
fileCount: number;
|
|
23
|
+
} | {
|
|
24
|
+
type: "uploading";
|
|
25
|
+
} | {
|
|
26
|
+
type: "triggering";
|
|
27
|
+
} | {
|
|
28
|
+
type: "deploying";
|
|
29
|
+
status: DeploymentStatus;
|
|
30
|
+
elapsedMs: number;
|
|
31
|
+
deploymentPageUrl: string | null;
|
|
32
|
+
};
|
|
33
|
+
export type DeploymentsDeps = {
|
|
34
|
+
api: AlpicApi;
|
|
35
|
+
};
|
|
36
|
+
export declare class Deployments {
|
|
37
|
+
private readonly api;
|
|
38
|
+
constructor(deps: DeploymentsDeps);
|
|
39
|
+
getLatestForEnvironment(environmentId: string): Promise<Deployment>;
|
|
40
|
+
watch(deploymentId: string): Promise<Deployment>;
|
|
41
|
+
private pollUntilFinal;
|
|
42
|
+
deploy({ environmentId, teamId, onProgress }: DeployOptions): Promise<DeployResult>;
|
|
43
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { readFileSync, rmSync } from "node:fs";
|
|
2
|
+
import { createTarArchive, getFilesToPack } from "./archive.js";
|
|
3
|
+
import { pollIntervalMs, sleep } from "./poll.js";
|
|
4
|
+
import { uploadToPresignedUrl } from "./upload.js";
|
|
5
|
+
const FINAL_STATUSES = new Set(["deployed", "failed", "canceled"]);
|
|
6
|
+
const TIMEOUT_MS = 15 * 60 * 1000;
|
|
7
|
+
const DEPLOY_POLL_MS = 10_000;
|
|
8
|
+
const WATCH_POLL_MS = 3_000;
|
|
9
|
+
export class Deployments {
|
|
10
|
+
api;
|
|
11
|
+
constructor(deps) {
|
|
12
|
+
this.api = deps.api;
|
|
13
|
+
}
|
|
14
|
+
async getLatestForEnvironment(environmentId) {
|
|
15
|
+
const environment = await this.api.environments.get.v1({ environmentId });
|
|
16
|
+
const deployments = await this.api.deployments.list.v1({
|
|
17
|
+
projectId: environment.projectId,
|
|
18
|
+
environmentId,
|
|
19
|
+
});
|
|
20
|
+
const latest = deployments[0];
|
|
21
|
+
if (!latest) {
|
|
22
|
+
throw new Error(`No deployments found for environment ${environmentId}.`);
|
|
23
|
+
}
|
|
24
|
+
return latest;
|
|
25
|
+
}
|
|
26
|
+
watch(deploymentId) {
|
|
27
|
+
return this.pollUntilFinal(deploymentId, WATCH_POLL_MS);
|
|
28
|
+
}
|
|
29
|
+
async pollUntilFinal(deploymentId, intervalMs) {
|
|
30
|
+
const startedAt = Date.now();
|
|
31
|
+
let current = await this.api.deployments.get.v1({ deploymentId });
|
|
32
|
+
while (!FINAL_STATUSES.has(current.status)) {
|
|
33
|
+
if (Date.now() - startedAt >= TIMEOUT_MS) {
|
|
34
|
+
throw new Error("Deployment did not reach a final state within 15 minutes.");
|
|
35
|
+
}
|
|
36
|
+
await sleep(pollIntervalMs(intervalMs));
|
|
37
|
+
current = await this.api.deployments.get.v1({ deploymentId });
|
|
38
|
+
}
|
|
39
|
+
return current;
|
|
40
|
+
}
|
|
41
|
+
async deploy({ environmentId, teamId, onProgress }) {
|
|
42
|
+
const emit = onProgress ?? (() => { });
|
|
43
|
+
let tmpDir;
|
|
44
|
+
const startedAt = Date.now();
|
|
45
|
+
try {
|
|
46
|
+
emit({ type: "collecting" });
|
|
47
|
+
const files = getFilesToPack();
|
|
48
|
+
emit({ type: "collected", fileCount: files.length });
|
|
49
|
+
const archive = await createTarArchive(files);
|
|
50
|
+
tmpDir = archive.tmpDir;
|
|
51
|
+
const { uploadUrl, token } = await this.api.deployments.uploadArtifact.v1({ teamId });
|
|
52
|
+
emit({ type: "uploading" });
|
|
53
|
+
await uploadToPresignedUrl(uploadUrl, readFileSync(archive.archivePath));
|
|
54
|
+
emit({ type: "triggering" });
|
|
55
|
+
const initial = await this.api.environments.deploy.v1({ environmentId, token });
|
|
56
|
+
let deployment = initial;
|
|
57
|
+
const deploymentPageUrl = deployment.deploymentPageUrl ?? null;
|
|
58
|
+
const emitDeploying = () => emit({ type: "deploying", status: deployment.status, elapsedMs: Date.now() - startedAt, deploymentPageUrl });
|
|
59
|
+
emitDeploying();
|
|
60
|
+
while (deployment.status === "ongoing") {
|
|
61
|
+
if (Date.now() - startedAt >= TIMEOUT_MS) {
|
|
62
|
+
throw new Error(deploymentPageUrl
|
|
63
|
+
? `Deployment aborted after 15 minutes. View status: ${deploymentPageUrl}`
|
|
64
|
+
: "Deployment aborted after 15 minutes.");
|
|
65
|
+
}
|
|
66
|
+
deployment = await this.api.deployments.get.v1({ deploymentId: deployment.id });
|
|
67
|
+
emitDeploying();
|
|
68
|
+
if (deployment.status === "ongoing") {
|
|
69
|
+
await sleep(pollIntervalMs(DEPLOY_POLL_MS));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const environment = await this.api.environments.get.v1({ environmentId });
|
|
73
|
+
return {
|
|
74
|
+
deploymentId: deployment.id,
|
|
75
|
+
status: deployment.status,
|
|
76
|
+
mcpServerUrl: environment.mcpServerUrl,
|
|
77
|
+
domains: environment.domains,
|
|
78
|
+
deploymentPageUrl: deployment.deploymentPageUrl ?? null,
|
|
79
|
+
elapsedMs: Date.now() - startedAt,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
if (tmpDir) {
|
|
84
|
+
rmSync(tmpDir, { recursive: true, force: true });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=deployments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/deploy/deployments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function pollIntervalMs(defaultMs) {
|
|
2
|
+
const override = process.env.ALPIC_POLL_INTERVAL_MS;
|
|
3
|
+
if (override !== undefined) {
|
|
4
|
+
const parsed = Number.parseInt(override, 10);
|
|
5
|
+
return Number.isNaN(parsed) ? defaultMs : parsed;
|
|
6
|
+
}
|
|
7
|
+
return defaultMs;
|
|
8
|
+
}
|
|
9
|
+
export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
10
|
+
//# sourceMappingURL=poll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/deploy/poll.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function uploadToPresignedUrl(uploadUrl: string, buffer: Buffer): Promise<void>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export async function uploadToPresignedUrl(uploadUrl, buffer) {
|
|
2
|
+
const res = await fetch(uploadUrl, {
|
|
3
|
+
method: "PUT",
|
|
4
|
+
headers: {
|
|
5
|
+
"Content-Type": "application/gzip",
|
|
6
|
+
},
|
|
7
|
+
body: new Uint8Array(buffer),
|
|
8
|
+
});
|
|
9
|
+
if (!res.ok) {
|
|
10
|
+
throw new Error(`Upload failed: ${res.status} ${res.statusText}`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/deploy/upload.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,MAAc;IAC1E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;QACjC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,9 @@ export type { AuthEvents, Credentials, LoginOptions } from "./auth/index.js";
|
|
|
3
3
|
export { AlpicAuth } from "./auth/index.js";
|
|
4
4
|
export { getOAuthClient } from "./auth/oauth-client.js";
|
|
5
5
|
export { GlobalStore, globalStore } from "./auth/store.js";
|
|
6
|
-
export {
|
|
6
|
+
export { Alpic } from "./client.js";
|
|
7
|
+
export type { DeployEvent, Deployment, DeploymentStatus, DeployOptions, DeployResult } from "./deploy/deployments.js";
|
|
8
|
+
export type { ProjectConfig } from "./project/config.js";
|
|
9
|
+
export type { CreateLinkedProjectOptions, LinkedProjectConfig } from "./project/projects.js";
|
|
7
10
|
export type { OpenTunnelOptions, TunnelCloseInfo, TunnelHandle, TunnelRequest } from "./tunnel/tunnel.js";
|
|
11
|
+
export type { Team, WhoamiInfo } from "./whoami.js";
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { AlpicAuth } from "./auth/index.js";
|
|
2
2
|
export { getOAuthClient } from "./auth/oauth-client.js";
|
|
3
3
|
export { GlobalStore, globalStore } from "./auth/store.js";
|
|
4
|
-
export {
|
|
4
|
+
export { Alpic } from "./client.js";
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type ProjectConfig = {
|
|
2
|
+
projectId: string;
|
|
3
|
+
teamId: string;
|
|
4
|
+
teamName?: string;
|
|
5
|
+
projectName: string;
|
|
6
|
+
environmentId?: string;
|
|
7
|
+
environmentName?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function loadProjectConfig(): ProjectConfig | null;
|
|
10
|
+
export declare function saveProjectConfig(projectConfig: ProjectConfig): void;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
const getProjectJsonPath = () => join(process.cwd(), ".alpic", "project.json");
|
|
4
|
+
export function loadProjectConfig() {
|
|
5
|
+
const path = getProjectJsonPath();
|
|
6
|
+
if (!existsSync(path)) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
let raw;
|
|
10
|
+
try {
|
|
11
|
+
raw = JSON.parse(readFileSync(path, "utf8"));
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
throw new Error(`Failed to load project config: ${error.message}`);
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
projectId: raw.projectId,
|
|
18
|
+
teamId: raw.teamId,
|
|
19
|
+
teamName: raw.teamName,
|
|
20
|
+
projectName: raw.projectName ?? raw.projectId,
|
|
21
|
+
environmentId: raw.environmentId,
|
|
22
|
+
environmentName: raw.environmentName,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function saveProjectConfig(projectConfig) {
|
|
26
|
+
mkdirSync(join(process.cwd(), ".alpic"), { recursive: true });
|
|
27
|
+
writeFileSync(getProjectJsonPath(), JSON.stringify(projectConfig, null, 2));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/project/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;AAWjC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAE/E,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAmE,CAAC;IACxE,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAG1C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAmC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS;QAC7C,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,eAAe,EAAE,GAAG,CAAC,eAAe;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,aAA4B;IAC5D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,aAAa,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
export function detectRuntime() {
|
|
3
|
+
const has = (file) => existsSync(file);
|
|
4
|
+
const read = (file) => {
|
|
5
|
+
try {
|
|
6
|
+
return readFileSync(file, "utf8");
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return "";
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
if (has("pyproject.toml") || has("requirements.txt") || has("setup.py") || has(".python-version")) {
|
|
13
|
+
return "python3.13";
|
|
14
|
+
}
|
|
15
|
+
if (has("package.json")) {
|
|
16
|
+
const nvmrc = has(".nvmrc") ? (read(".nvmrc").trim().split(/\s/)[0] ?? "") : "";
|
|
17
|
+
const major = nvmrc.replace(/^v/i, "").match(/^(\d+)/)?.[1];
|
|
18
|
+
if (major === "22") {
|
|
19
|
+
return "node22";
|
|
20
|
+
}
|
|
21
|
+
return "node24";
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=detect-runtime.js.map
|