alpic 0.0.0-dev.f2a3434 → 0.0.0-dev.f334f41

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 (146) hide show
  1. package/dist/__tests__/auth.e2e.test.d.ts +1 -0
  2. package/dist/__tests__/auth.e2e.test.js +158 -0
  3. package/dist/__tests__/auth.e2e.test.js.map +1 -0
  4. package/dist/__tests__/deploy-flags.e2e.test.d.ts +1 -0
  5. package/dist/__tests__/deploy-flags.e2e.test.js +111 -0
  6. package/dist/__tests__/deploy-flags.e2e.test.js.map +1 -0
  7. package/dist/__tests__/deploy.e2e.test.js +37 -54
  8. package/dist/__tests__/deploy.e2e.test.js.map +1 -1
  9. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.d.ts +1 -0
  10. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js +250 -0
  11. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js.map +1 -0
  12. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.d.ts +1 -0
  13. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js +122 -0
  14. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js.map +1 -0
  15. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.d.ts +1 -0
  16. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js +139 -0
  17. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js.map +1 -0
  18. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.d.ts +1 -0
  19. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js +319 -0
  20. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js.map +1 -0
  21. package/dist/__tests__/environment-variable/environment-variable-validation.test.d.ts +1 -0
  22. package/dist/__tests__/environment-variable/environment-variable-validation.test.js +20 -0
  23. package/dist/__tests__/environment-variable/environment-variable-validation.test.js.map +1 -0
  24. package/dist/__tests__/fixtures/demo-project/index.js +1 -1
  25. package/dist/__tests__/fixtures/demo-project/index.js.map +1 -1
  26. package/dist/__tests__/git-flags.e2e.test.d.ts +1 -0
  27. package/dist/__tests__/git-flags.e2e.test.js +124 -0
  28. package/dist/__tests__/git-flags.e2e.test.js.map +1 -0
  29. package/dist/__tests__/git.e2e.test.js +57 -16
  30. package/dist/__tests__/git.e2e.test.js.map +1 -1
  31. package/dist/__tests__/logs.e2e.test.d.ts +1 -0
  32. package/dist/__tests__/logs.e2e.test.js +197 -0
  33. package/dist/__tests__/logs.e2e.test.js.map +1 -0
  34. package/dist/__tests__/mock-server.d.ts +4 -0
  35. package/dist/__tests__/mock-server.js +176 -5
  36. package/dist/__tests__/mock-server.js.map +1 -1
  37. package/dist/__tests__/utils.d.ts +16 -4
  38. package/dist/__tests__/utils.js +95 -14
  39. package/dist/__tests__/utils.js.map +1 -1
  40. package/dist/api.d.ts +0 -1
  41. package/dist/api.js +5 -9
  42. package/dist/api.js.map +1 -1
  43. package/dist/commands/deploy.d.ts +5 -2
  44. package/dist/commands/deploy.js +37 -23
  45. package/dist/commands/deploy.js.map +1 -1
  46. package/dist/commands/environment-variable/add.d.ts +14 -0
  47. package/dist/commands/environment-variable/add.js +46 -0
  48. package/dist/commands/environment-variable/add.js.map +1 -0
  49. package/dist/commands/environment-variable/list.d.ts +9 -0
  50. package/dist/commands/environment-variable/list.js +44 -0
  51. package/dist/commands/environment-variable/list.js.map +1 -0
  52. package/dist/commands/environment-variable/remove.d.ts +11 -0
  53. package/dist/commands/environment-variable/remove.js +32 -0
  54. package/dist/commands/environment-variable/remove.js.map +1 -0
  55. package/dist/commands/environment-variable/update.d.ts +13 -0
  56. package/dist/commands/environment-variable/update.js +40 -0
  57. package/dist/commands/environment-variable/update.js.map +1 -0
  58. package/dist/commands/git/connect.d.ts +3 -2
  59. package/dist/commands/git/connect.js +26 -33
  60. package/dist/commands/git/connect.js.map +1 -1
  61. package/dist/commands/git/disconnect.d.ts +2 -2
  62. package/dist/commands/git/disconnect.js +16 -30
  63. package/dist/commands/git/disconnect.js.map +1 -1
  64. package/dist/commands/git.js +3 -3
  65. package/dist/commands/git.js.map +1 -1
  66. package/dist/commands/login.d.ts +6 -0
  67. package/dist/commands/login.js +34 -0
  68. package/dist/commands/login.js.map +1 -0
  69. package/dist/commands/logout.d.ts +6 -0
  70. package/dist/commands/logout.js +20 -0
  71. package/dist/commands/logout.js.map +1 -0
  72. package/dist/commands/logs.d.ts +16 -0
  73. package/dist/commands/logs.js +96 -0
  74. package/dist/commands/logs.js.map +1 -0
  75. package/dist/commands/whoami.d.ts +6 -0
  76. package/dist/commands/whoami.js +13 -0
  77. package/dist/commands/whoami.js.map +1 -0
  78. package/dist/env.d.ts +4 -0
  79. package/dist/env.js +10 -0
  80. package/dist/env.js.map +1 -0
  81. package/dist/lib/alpic-command.d.ts +2 -0
  82. package/dist/lib/alpic-command.js +12 -5
  83. package/dist/lib/alpic-command.js.map +1 -1
  84. package/dist/lib/archive.d.ts +3 -3
  85. package/dist/lib/archive.js +11 -15
  86. package/dist/lib/archive.js.map +1 -1
  87. package/dist/lib/auth/auth.d.ts +2 -0
  88. package/dist/lib/auth/auth.js +21 -0
  89. package/dist/lib/auth/auth.js.map +1 -0
  90. package/dist/lib/auth/oauth/client.d.ts +28 -0
  91. package/dist/lib/auth/oauth/client.js +110 -0
  92. package/dist/lib/auth/oauth/client.js.map +1 -0
  93. package/dist/lib/auth/oauth/constants.d.ts +2 -0
  94. package/dist/lib/auth/oauth/constants.js +3 -0
  95. package/dist/lib/auth/oauth/constants.js.map +1 -0
  96. package/dist/lib/auth/oauth/server/assets/alpic-mountain.png +0 -0
  97. package/dist/lib/auth/oauth/server/assets/authorize.html +195 -0
  98. package/dist/lib/auth/oauth/server/assets/callback.html +88 -0
  99. package/dist/lib/auth/oauth/server/index.d.ts +8 -0
  100. package/dist/lib/auth/oauth/server/index.js +102 -0
  101. package/dist/lib/auth/oauth/server/index.js.map +1 -0
  102. package/dist/lib/auth/whoami.d.ts +1 -0
  103. package/dist/lib/auth/whoami.js +41 -0
  104. package/dist/lib/auth/whoami.js.map +1 -0
  105. package/dist/lib/base-workflow.d.ts +10 -0
  106. package/dist/lib/base-workflow.js +22 -0
  107. package/dist/lib/base-workflow.js.map +1 -0
  108. package/dist/lib/config.d.ts +2 -2
  109. package/dist/lib/config.js +7 -7
  110. package/dist/lib/config.js.map +1 -1
  111. package/dist/lib/deployment.d.ts +2 -3
  112. package/dist/lib/deployment.js +12 -8
  113. package/dist/lib/deployment.js.map +1 -1
  114. package/dist/lib/environment-variable.d.ts +41 -0
  115. package/dist/lib/environment-variable.js +304 -0
  116. package/dist/lib/environment-variable.js.map +1 -0
  117. package/dist/lib/git.d.ts +12 -4
  118. package/dist/lib/git.js +51 -26
  119. package/dist/lib/git.js.map +1 -1
  120. package/dist/lib/global-store.d.ts +28 -0
  121. package/dist/lib/global-store.js +76 -0
  122. package/dist/lib/global-store.js.map +1 -0
  123. package/dist/lib/logs.d.ts +19 -0
  124. package/dist/lib/logs.js +83 -0
  125. package/dist/lib/logs.js.map +1 -0
  126. package/dist/lib/project.d.ts +65 -61
  127. package/dist/lib/project.js +264 -254
  128. package/dist/lib/project.js.map +1 -1
  129. package/dist/lib/table.d.ts +8 -0
  130. package/dist/lib/table.js +27 -0
  131. package/dist/lib/table.js.map +1 -0
  132. package/dist/lib/telemetry.js +6 -6
  133. package/dist/lib/telemetry.js.map +1 -1
  134. package/dist/lib/utils.d.ts +1 -0
  135. package/dist/lib/utils.js +17 -0
  136. package/dist/lib/utils.js.map +1 -0
  137. package/dist/lib/utils.test.d.ts +1 -0
  138. package/dist/lib/utils.test.js +14 -0
  139. package/dist/lib/utils.test.js.map +1 -0
  140. package/package.json +29 -19
  141. package/dist/lib/auth.d.ts +0 -1
  142. package/dist/lib/auth.js +0 -10
  143. package/dist/lib/auth.js.map +0 -1
  144. package/dist/lib/global-config.d.ts +0 -9
  145. package/dist/lib/global-config.js +0 -48
  146. package/dist/lib/global-config.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import ci from "ci-info";
2
2
  import crypto from "node:crypto";
3
3
  import posthog from "../posthog.js";
4
- import { getGlobalConfig, saveGlobalConfig } from "./global-config.js";
4
+ import { globalStore } from "./global-store.js";
5
5
  const ENV_TELEMETRY_DISABLED = "ALPIC_TELEMETRY_DISABLED";
6
6
  const ENV_TELEMETRY_DEBUG = "ALPIC_TELEMETRY_DEBUG";
7
7
  const ENV_DO_NOT_TRACK = "DO_NOT_TRACK";
@@ -15,22 +15,22 @@ export function isEnabled() {
15
15
  if (ci.isCI) {
16
16
  return true;
17
17
  }
18
- const config = getGlobalConfig();
18
+ const config = globalStore.getConfig();
19
19
  return config.telemetry.enabled;
20
20
  }
21
21
  export function isDebugMode() {
22
22
  return process.env[ENV_TELEMETRY_DEBUG] === "1" || process.env[ENV_TELEMETRY_DEBUG]?.toLowerCase() === "true";
23
23
  }
24
24
  export function setEnabled(enabled) {
25
- const config = getGlobalConfig();
25
+ const config = globalStore.getConfig();
26
26
  config.telemetry.enabled = enabled;
27
- saveGlobalConfig(config);
27
+ globalStore.saveConfig(config);
28
28
  }
29
29
  export function getMachineId() {
30
30
  if (ci.isCI) {
31
31
  return ci.name ?? "unknown-ci";
32
32
  }
33
- return getGlobalConfig().machineId;
33
+ return globalStore.getConfig().machineId;
34
34
  }
35
35
  const hook = async ({ id: command, config: { version }, error, }) => {
36
36
  if (!isEnabled()) {
@@ -58,7 +58,7 @@ const hook = async ({ id: command, config: { version }, error, }) => {
58
58
  properties: event,
59
59
  });
60
60
  }
61
- catch (e) {
61
+ catch {
62
62
  // Silently ignore telemetry errors - never block CLI operation
63
63
  }
64
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/lib/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/lib/telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const formatAgo: (date: Date, now?: Date) => string;
@@ -0,0 +1,17 @@
1
+ export const formatAgo = (date, now = new Date()) => {
2
+ const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
3
+ const diffInSeconds = Math.round((date.getTime() - now.getTime()) / 1000);
4
+ const absSeconds = Math.abs(diffInSeconds);
5
+ if (absSeconds < 60)
6
+ return rtf.format(diffInSeconds, "second");
7
+ if (absSeconds < 3600)
8
+ return rtf.format(Math.round(diffInSeconds / 60), "minute");
9
+ if (absSeconds < 86400)
10
+ return rtf.format(Math.round(diffInSeconds / 3600), "hour");
11
+ if (absSeconds < 2592000)
12
+ return rtf.format(Math.round(diffInSeconds / 86400), "day");
13
+ if (absSeconds < 31536000)
14
+ return rtf.format(Math.round(diffInSeconds / 2592000), "month");
15
+ return rtf.format(Math.round(diffInSeconds / 31536000), "year");
16
+ };
17
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE;IACxD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE3C,IAAI,UAAU,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,UAAU,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnF,IAAI,UAAU,GAAG,KAAK;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACpF,IAAI,UAAU,GAAG,OAAO;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACtF,IAAI,UAAU,GAAG,QAAQ;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3F,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;AAClE,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { formatAgo } from "./utils.js";
3
+ describe("formatAgo", () => {
4
+ const now = new Date("2026-01-01T00:00:00.000Z");
5
+ it("formats past dates", () => {
6
+ expect(formatAgo(new Date(now.getTime() - 30_000), now)).toBe("30 seconds ago");
7
+ expect(formatAgo(new Date(now.getTime() - 2 * 60_000), now)).toBe("2 minutes ago");
8
+ expect(formatAgo(new Date(now.getTime() - 3 * 3_600_000), now)).toBe("3 hours ago");
9
+ expect(formatAgo(new Date(now.getTime() - 5 * 86_400_000), now)).toBe("5 days ago");
10
+ expect(formatAgo(new Date(now.getTime() - 2 * 2_592_000_000), now)).toBe("2 months ago");
11
+ expect(formatAgo(new Date(now.getTime() - 2 * 31_536_000_000), now)).toBe("2 years ago");
12
+ });
13
+ });
14
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/lib/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAEjD,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChF,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnF,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpF,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzF,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alpic",
3
- "version": "0.0.0-dev.f2a3434",
3
+ "version": "0.0.0-dev.f334f41",
4
4
  "description": "The command-line interface for Alpic",
5
5
  "homepage": "https://alpic.ai",
6
6
  "preferGlobal": true,
@@ -25,32 +25,39 @@
25
25
  "author": "Alpic",
26
26
  "license": "ISC",
27
27
  "dependencies": {
28
- "@clack/prompts": "^1.0.0",
29
- "@oclif/core": "^4.8.0",
30
- "@orpc/client": "^1.13.4",
31
- "@orpc/contract": "^1.13.4",
32
- "@orpc/openapi-client": "^1.13.4",
28
+ "@clack/prompts": "^1.1.0",
29
+ "@oclif/core": "^4.9.0",
30
+ "@orpc/client": "^1.13.7",
31
+ "@orpc/contract": "^1.13.7",
32
+ "@orpc/openapi-client": "^1.13.7",
33
+ "@t3-oss/env-core": "^0.13.10",
33
34
  "chalk": "^5.6.2",
34
35
  "ci-info": "^4.4.0",
35
- "posthog-node": "^5.24.11",
36
- "tar": "^7.4.0",
37
- "@alpic-ai/api": "0.0.0-dev.f2a3434"
36
+ "envfile": "^7.1.0",
37
+ "jwt-decode": "^4.0.0",
38
+ "open": "^11.0.0",
39
+ "openid-client": "^6.8.2",
40
+ "posthog-node": "^5.28.2",
41
+ "tar": "^7.5.11",
42
+ "env-paths": "^4.0.0",
43
+ "zod": "^4.3.6",
44
+ "@alpic-ai/api": "0.0.0-dev.f334f41"
38
45
  },
39
46
  "devDependencies": {
40
- "@orpc/openapi": "^1.13.4",
41
- "@orpc/server": "^1.13.4",
42
- "@orpc/zod": "^1.13.4",
47
+ "@orpc/openapi": "^1.13.7",
48
+ "@orpc/server": "^1.13.7",
49
+ "@orpc/zod": "^1.13.7",
43
50
  "@total-typescript/tsconfig": "^1.0.4",
44
- "@types/node": "^25.2.2",
45
51
  "@types/express": "^5.0.6",
46
- "biome": "^0.3.3",
52
+ "@types/node": "^25.5.0",
47
53
  "express": "^5.2.1",
48
- "jsdom": "^28.0.0",
49
- "node-pty": "1.0.0",
54
+ "jsdom": "^29.0.0",
55
+ "node-pty": "1.1.0",
56
+ "selfsigned": "^5.5.0",
50
57
  "shx": "^0.4.0",
51
58
  "ts-node": "^10.9.2",
52
59
  "typescript": "^5.9.3",
53
- "vitest": "^4.0.18"
60
+ "vitest": "^4.1.0"
54
61
  },
55
62
  "bin": {
56
63
  "alpic": "bin/run.js"
@@ -65,11 +72,14 @@
65
72
  }
66
73
  },
67
74
  "scripts": {
68
- "build": "shx rm -rf dist && tsc",
75
+ "build": "shx rm -rf dist && tsc && pnpm run build:assets",
76
+ "build:assets": "shx cp -r src/lib/auth/oauth/server/assets dist/lib/auth/oauth/server/",
69
77
  "format": "biome check --write --error-on-warnings",
70
78
  "test": "pnpm run test:unit && pnpm run test:type && pnpm run test:format",
71
79
  "test:unit": "vitest run",
72
80
  "test:format": "prettier --check .",
73
- "test:type": "tsc --noEmit"
81
+ "test:type": "tsc --noEmit",
82
+ "update:docs": "claude --add-dir ../../docs --permission-mode acceptEdits -p \"/update-cli-docs\" 2>&1 && prettier --write \"../../docs/cli/**/*.mdx\"",
83
+ "publish:npm": "pnpm publish --tag \"${NPM_TAG}\" --access public --no-git-checks"
74
84
  }
75
85
  }
@@ -1 +0,0 @@
1
- export declare function ensureApiKey(): boolean;
package/dist/lib/auth.js DELETED
@@ -1,10 +0,0 @@
1
- import * as p from "@clack/prompts";
2
- export function ensureApiKey() {
3
- const apiKey = process.env.ALPIC_API_KEY;
4
- if (!apiKey) {
5
- p.cancel("ALPIC_API_KEY environment variable is required. Get your API key from Team settings in the Alpic dashboard.");
6
- return false;
7
- }
8
- return true;
9
- }
10
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,CAAC,CAAC,MAAM,CACN,6GAA6G,CAC9G,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,9 +0,0 @@
1
- export declare const GLOBAL_CONFIG_FILE: string;
2
- export interface GlobalConfig {
3
- machineId: string;
4
- telemetry: {
5
- enabled: boolean;
6
- };
7
- }
8
- export declare function getGlobalConfig(): GlobalConfig;
9
- export declare function saveGlobalConfig(config: GlobalConfig): void;
@@ -1,48 +0,0 @@
1
- import crypto from "node:crypto";
2
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
- import { homedir } from "node:os";
4
- import { join } from "node:path";
5
- const GLOBAL_CONFIG_DIR = join(homedir(), ".alpic");
6
- export const GLOBAL_CONFIG_FILE = join(GLOBAL_CONFIG_DIR, "config.json");
7
- function readJsonFile(filePath) {
8
- try {
9
- if (existsSync(filePath)) {
10
- const content = readFileSync(filePath, "utf-8");
11
- return JSON.parse(content);
12
- }
13
- }
14
- catch {
15
- // Ignore errors reading config
16
- }
17
- return null;
18
- }
19
- function writeJsonFile(filePath, data) {
20
- try {
21
- const dir = join(filePath, "..");
22
- if (!existsSync(dir)) {
23
- mkdirSync(dir, { recursive: true });
24
- }
25
- writeFileSync(filePath, JSON.stringify(data, null, 2), "utf-8");
26
- }
27
- catch {
28
- // Ignore errors writing config
29
- }
30
- }
31
- export function getGlobalConfig() {
32
- const existing = readJsonFile(GLOBAL_CONFIG_FILE);
33
- if (existing?.machineId && existing?.telemetry !== undefined) {
34
- return existing;
35
- }
36
- const config = {
37
- machineId: existing?.machineId ?? crypto.randomUUID(),
38
- telemetry: {
39
- enabled: existing?.telemetry?.enabled ?? true,
40
- },
41
- };
42
- writeJsonFile(GLOBAL_CONFIG_FILE, config);
43
- return config;
44
- }
45
- export function saveGlobalConfig(config) {
46
- writeJsonFile(GLOBAL_CONFIG_FILE, config);
47
- }
48
- //# sourceMappingURL=global-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/lib/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AASzE,SAAS,YAAY,CAAI,QAAgB;IACvC,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAClC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAa;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG,YAAY,CAAe,kBAAkB,CAAC,CAAC;IAChE,IAAI,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAiB;QAC3B,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE;QACrD,SAAS,EAAE;YACT,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,IAAI,IAAI;SAC9C;KACF,CAAC;IACF,aAAa,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,aAAa,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC"}