alchemy 2.0.0-beta.15 → 2.0.0-beta.17

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 (104) hide show
  1. package/bin/alchemy.js +1661 -710
  2. package/bin/alchemy.js.map +1 -1
  3. package/bin/alchemy.ts +2 -0
  4. package/bin/cli.js +9 -7
  5. package/bin/commands/deploy.ts +11 -2
  6. package/bin/commands/login.ts +6 -3
  7. package/bin/commands/profile.ts +106 -0
  8. package/bin/commands/state.ts +91 -1
  9. package/lib/Auth/Credentials.d.ts +6 -0
  10. package/lib/Auth/Credentials.d.ts.map +1 -1
  11. package/lib/Auth/Credentials.js +12 -1
  12. package/lib/Auth/Credentials.js.map +1 -1
  13. package/lib/Auth/Profile.d.ts +5 -0
  14. package/lib/Auth/Profile.d.ts.map +1 -1
  15. package/lib/Auth/Profile.js +11 -0
  16. package/lib/Auth/Profile.js.map +1 -1
  17. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +4 -4
  18. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
  19. package/lib/Cloudflare/ApiToken/AccountApiToken.js +16 -11
  20. package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
  21. package/lib/Cloudflare/ApiToken/Common.d.ts +11 -12
  22. package/lib/Cloudflare/ApiToken/Common.d.ts.map +1 -1
  23. package/lib/Cloudflare/ApiToken/Common.js +4 -14
  24. package/lib/Cloudflare/ApiToken/Common.js.map +1 -1
  25. package/lib/Cloudflare/ApiToken/UserApiToken.d.ts +2 -3
  26. package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -1
  27. package/lib/Cloudflare/ApiToken/UserApiToken.js +4 -4
  28. package/lib/Cloudflare/ApiToken/UserApiToken.js.map +1 -1
  29. package/lib/Cloudflare/Artifacts/Artifacts.d.ts +101 -0
  30. package/lib/Cloudflare/Artifacts/Artifacts.d.ts.map +1 -0
  31. package/lib/Cloudflare/Artifacts/Artifacts.js +92 -0
  32. package/lib/Cloudflare/Artifacts/Artifacts.js.map +1 -0
  33. package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts +83 -0
  34. package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts.map +1 -0
  35. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js +65 -0
  36. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -0
  37. package/lib/Cloudflare/Artifacts/index.d.ts +3 -0
  38. package/lib/Cloudflare/Artifacts/index.d.ts.map +1 -0
  39. package/lib/Cloudflare/Artifacts/index.js +3 -0
  40. package/lib/Cloudflare/Artifacts/index.js.map +1 -0
  41. package/lib/Cloudflare/Container/ContainerBinding.d.ts +1 -1
  42. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  43. package/lib/Cloudflare/Providers.js +3 -1
  44. package/lib/Cloudflare/Providers.js.map +1 -1
  45. package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
  46. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  47. package/lib/Cloudflare/Workers/InferEnv.js +0 -1
  48. package/lib/Cloudflare/Workers/InferEnv.js.map +1 -1
  49. package/lib/Cloudflare/Workers/Worker.d.ts +2 -1
  50. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  51. package/lib/Cloudflare/Workers/Worker.js +25 -18
  52. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  53. package/lib/Cloudflare/index.d.ts +1 -0
  54. package/lib/Cloudflare/index.d.ts.map +1 -1
  55. package/lib/Cloudflare/index.js +1 -0
  56. package/lib/Cloudflare/index.js.map +1 -1
  57. package/lib/GitHub/AuthProvider.d.ts +37 -0
  58. package/lib/GitHub/AuthProvider.d.ts.map +1 -0
  59. package/lib/GitHub/AuthProvider.js +154 -0
  60. package/lib/GitHub/AuthProvider.js.map +1 -0
  61. package/lib/GitHub/Comment.d.ts +2 -1
  62. package/lib/GitHub/Comment.d.ts.map +1 -1
  63. package/lib/GitHub/Comment.js +1 -0
  64. package/lib/GitHub/Comment.js.map +1 -1
  65. package/lib/GitHub/Credentials.d.ts +29 -0
  66. package/lib/GitHub/Credentials.d.ts.map +1 -0
  67. package/lib/GitHub/Credentials.js +54 -0
  68. package/lib/GitHub/Credentials.js.map +1 -0
  69. package/lib/GitHub/Providers.d.ts +12 -1
  70. package/lib/GitHub/Providers.d.ts.map +1 -1
  71. package/lib/GitHub/Providers.js +14 -3
  72. package/lib/GitHub/Providers.js.map +1 -1
  73. package/lib/GitHub/Secret.d.ts +8 -10
  74. package/lib/GitHub/Secret.d.ts.map +1 -1
  75. package/lib/GitHub/Secret.js +16 -14
  76. package/lib/GitHub/Secret.js.map +1 -1
  77. package/lib/GitHub/Variable.d.ts +8 -10
  78. package/lib/GitHub/Variable.d.ts.map +1 -1
  79. package/lib/GitHub/Variable.js +12 -13
  80. package/lib/GitHub/Variable.js.map +1 -1
  81. package/lib/GitHub/index.d.ts +2 -0
  82. package/lib/GitHub/index.d.ts.map +1 -1
  83. package/lib/GitHub/index.js +2 -0
  84. package/lib/GitHub/index.js.map +1 -1
  85. package/package.json +4 -4
  86. package/src/Auth/Credentials.ts +17 -1
  87. package/src/Auth/Profile.ts +15 -0
  88. package/src/Cloudflare/ApiToken/AccountApiToken.ts +25 -14
  89. package/src/Cloudflare/ApiToken/Common.ts +12 -19
  90. package/src/Cloudflare/ApiToken/UserApiToken.ts +6 -8
  91. package/src/Cloudflare/Artifacts/Artifacts.ts +139 -0
  92. package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +188 -0
  93. package/src/Cloudflare/Artifacts/index.ts +2 -0
  94. package/src/Cloudflare/Providers.ts +3 -0
  95. package/src/Cloudflare/Workers/InferEnv.ts +5 -4
  96. package/src/Cloudflare/Workers/Worker.ts +12 -1
  97. package/src/Cloudflare/index.ts +1 -0
  98. package/src/GitHub/AuthProvider.ts +309 -0
  99. package/src/GitHub/Comment.ts +4 -1
  100. package/src/GitHub/Credentials.ts +99 -0
  101. package/src/GitHub/Providers.ts +29 -3
  102. package/src/GitHub/Secret.ts +22 -24
  103. package/src/GitHub/Variable.ts +16 -23
  104. package/src/GitHub/index.ts +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../src/GitHub/AuthProvider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as Provider from "../Provider.ts";
2
2
  import { Resource } from "../Resource.ts";
3
+ import * as GitHub from "./Providers.ts";
3
4
  export interface CommentProps {
4
5
  /**
5
6
  * Repository owner (user or organization).
@@ -47,7 +48,7 @@ export interface Comment extends Resource<"GitHub.Comment", CommentProps, {
47
48
  * ISO-8601 timestamp of the last update.
48
49
  */
49
50
  updatedAt: string;
50
- }> {
51
+ }, never, GitHub.Providers> {
51
52
  }
52
53
  /**
53
54
  * A GitHub issue or pull request comment.
@@ -1 +1 @@
1
- {"version":3,"file":"Comment.d.ts","sourceRoot":"","sources":["../../src/GitHub/Comment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CACvC,gBAAgB,EAChB,YAAY,EACZ;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CACF;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,eAAO,MAAM,OAAO,iDAAsC,CAAC;AAY3D,eAAO,MAAM,eAAe,8EAiExB,CAAC"}
1
+ {"version":3,"file":"Comment.d.ts","sourceRoot":"","sources":["../../src/GitHub/Comment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CACvC,gBAAgB,EAChB,YAAY,EACZ;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,KAAK,EACL,MAAM,CAAC,SAAS,CACjB;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,eAAO,MAAM,OAAO,iDAAsC,CAAC;AAY3D,eAAO,MAAM,eAAe,8EAiExB,CAAC"}
@@ -3,6 +3,7 @@ import * as Effect from "effect/Effect";
3
3
  import * as Provider from "../Provider.js";
4
4
  import { Resource } from "../Resource.js";
5
5
  import { dedent } from "../Util/dedent.js";
6
+ import * as GitHub from "./Providers.js";
6
7
  /**
7
8
  * A GitHub issue or pull request comment.
8
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Comment.js","sourceRoot":"","sources":["../../src/GitHub/Comment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Comment.js","sourceRoot":"","sources":["../../src/GitHub/Comment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Octokit } from "@octokit/rest";
2
+ import * as Context from "effect/Context";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Redacted from "effect/Redacted";
5
+ export interface GitHubCredentialsService {
6
+ readonly token: Redacted.Redacted<string>;
7
+ readonly octokit: () => Octokit;
8
+ }
9
+ declare const GitHubCredentials_base: Context.ServiceClass<GitHubCredentials, "GitHub::Credentials", GitHubCredentialsService>;
10
+ export declare class GitHubCredentials extends GitHubCredentials_base {
11
+ }
12
+ /**
13
+ * Build a `GitHubCredentials` layer from a literal token. Useful for
14
+ * tests or when callers already have a PAT in hand.
15
+ */
16
+ export declare const fromToken: (token: string | Redacted.Redacted<string>) => Layer.Layer<GitHubCredentials, never, never>;
17
+ /**
18
+ * Build a `GitHubCredentials` layer that reads the token from
19
+ * `GITHUB_ACCESS_TOKEN` or `GITHUB_TOKEN` at layer build time.
20
+ */
21
+ export declare const fromEnv: () => Layer.Layer<GitHubCredentials, never, never>;
22
+ /**
23
+ * Build a `GitHubCredentials` layer that resolves a token via the
24
+ * Alchemy AuthProvider for the configured profile (defaults to
25
+ * `default`, overridable with `ALCHEMY_PROFILE`).
26
+ */
27
+ export declare const fromAuthProvider: () => Layer.Layer<GitHubCredentials, never, import("effect/FileSystem").FileSystem | import("../Auth/AuthProvider.ts").AuthProviders>;
28
+ export {};
29
+ //# sourceMappingURL=Credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Credentials.d.ts","sourceRoot":"","sources":["../../src/GitHub/Credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAS5C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;CACjC;;AAED,qBAAa,iBAAkB,SAAQ,sBAGb;CAAG;AAO7B;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,iDAIhE,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,OAAO,oDAsBjB,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,uIA0B1B,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { Octokit } from "@octokit/rest";
2
+ import * as Config from "effect/Config";
3
+ import * as Context from "effect/Context";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import * as Redacted from "effect/Redacted";
7
+ import { AuthError, getAuthProvider } from "../Auth/AuthProvider.js";
8
+ import { ALCHEMY_PROFILE, loadOrConfigure } from "../Auth/Profile.js";
9
+ import { GITHUB_AUTH_PROVIDER_NAME, } from "./AuthProvider.js";
10
+ export class GitHubCredentials extends Context.Service()("GitHub::Credentials") {
11
+ }
12
+ const make = (token) => ({
13
+ token,
14
+ octokit: () => new Octokit({ auth: Redacted.value(token) }),
15
+ });
16
+ /**
17
+ * Build a `GitHubCredentials` layer from a literal token. Useful for
18
+ * tests or when callers already have a PAT in hand.
19
+ */
20
+ export const fromToken = (token) => Layer.succeed(GitHubCredentials, make(typeof token === "string" ? Redacted.make(token) : token));
21
+ /**
22
+ * Build a `GitHubCredentials` layer that reads the token from
23
+ * `GITHUB_ACCESS_TOKEN` or `GITHUB_TOKEN` at layer build time.
24
+ */
25
+ export const fromEnv = () => Layer.effect(GitHubCredentials, Effect.gen(function* () {
26
+ const access = yield* Config.redacted("GITHUB_ACCESS_TOKEN").pipe(Config.option);
27
+ const token = yield* Config.redacted("GITHUB_TOKEN").pipe(Config.option);
28
+ const value = access._tag === "Some"
29
+ ? access.value
30
+ : token._tag === "Some"
31
+ ? token.value
32
+ : undefined;
33
+ if (value == null) {
34
+ return yield* new AuthError({
35
+ message: "GitHub credentials not found. Set GITHUB_ACCESS_TOKEN or GITHUB_TOKEN.",
36
+ });
37
+ }
38
+ return make(value);
39
+ }).pipe(Effect.orDie));
40
+ /**
41
+ * Build a `GitHubCredentials` layer that resolves a token via the
42
+ * Alchemy AuthProvider for the configured profile (defaults to
43
+ * `default`, overridable with `ALCHEMY_PROFILE`).
44
+ */
45
+ export const fromAuthProvider = () => Layer.effect(GitHubCredentials, Effect.gen(function* () {
46
+ const auth = yield* getAuthProvider(GITHUB_AUTH_PROVIDER_NAME);
47
+ const profileName = yield* ALCHEMY_PROFILE;
48
+ const ci = yield* Config.boolean("CI").pipe(Config.withDefault(false));
49
+ const ctx = yield* Effect.context();
50
+ return yield* loadOrConfigure(auth, profileName, { ci }).pipe(Effect.flatMap((config) => auth.read(profileName, config)), Effect.map((creds) => make(creds.token)), Effect.mapError((e) => new AuthError({
51
+ message: `Failed to resolve GitHub credentials for profile '${profileName}': ${e.message ?? String(e)}`,
52
+ })), Effect.provide(ctx));
53
+ }).pipe(Effect.orDie));
54
+ //# sourceMappingURL=Credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Credentials.js","sourceRoot":"","sources":["../../src/GitHub/Credentials.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,14 @@
1
1
  import * as Layer from "effect/Layer";
2
- export declare const providers: () => Layer.Layer<import("../Provider.ts").Provider<import("./Secret.ts").Secret> | import("../Provider.ts").Provider<import("./Variable.ts").Variable>, never, never>;
2
+ import * as Provider from "../Provider.ts";
3
+ import * as Credentials from "./Credentials.ts";
4
+ export { GitHubCredentials } from "./Credentials.ts";
5
+ declare const Providers_base: Provider.ProviderCollection<Providers, "GitHub">;
6
+ export declare class Providers extends Providers_base {
7
+ }
8
+ export type ProviderRequirements = Layer.Services<ReturnType<typeof providers>>;
9
+ /**
10
+ * GitHub providers (Secret, Variable) plus the GitHub AuthProvider that
11
+ * `alchemy login` discovers.
12
+ */
13
+ export declare const providers: () => Layer.Layer<Credentials.GitHubCredentials | Providers, never, import("effect/FileSystem").FileSystem | import("../Auth/AuthProvider.ts").AuthProviders>;
3
14
  //# sourceMappingURL=Providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.d.ts","sourceRoot":"","sources":["../../src/GitHub/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,eAAO,MAAM,SAAS,wKACgC,CAAC"}
1
+ {"version":3,"file":"Providers.d.ts","sourceRoot":"","sources":["../../src/GitHub/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;;AAErD,qBAAa,SAAU,SAAQ,cAE9B;CAAG;AAEJ,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,SAAS,+JAWnB,CAAC"}
@@ -1,5 +1,16 @@
1
1
  import * as Layer from "effect/Layer";
2
- import { SecretProvider } from "./Secret.js";
3
- import { VariableProvider } from "./Variable.js";
4
- export const providers = () => Layer.mergeAll(SecretProvider(), VariableProvider());
2
+ import * as Provider from "../Provider.js";
3
+ import { GitHubAuth } from "./AuthProvider.js";
4
+ import { Comment, CommentProvider } from "./Comment.js";
5
+ import * as Credentials from "./Credentials.js";
6
+ import { Secret, SecretProvider } from "./Secret.js";
7
+ import { Variable, VariableProvider } from "./Variable.js";
8
+ export { GitHubCredentials } from "./Credentials.js";
9
+ export class Providers extends Provider.ProviderCollection()("GitHub") {
10
+ }
11
+ /**
12
+ * GitHub providers (Secret, Variable) plus the GitHub AuthProvider that
13
+ * `alchemy login` discovers.
14
+ */
15
+ export const providers = () => Layer.effect(Providers, Provider.collection([Comment, Secret, Variable])).pipe(Layer.provide(Layer.mergeAll(CommentProvider(), SecretProvider(), VariableProvider())), Layer.provideMerge(Credentials.fromAuthProvider()), Layer.provideMerge(GitHubAuth), Layer.orDie);
5
16
  //# sourceMappingURL=Providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.js","sourceRoot":"","sources":["../../src/GitHub/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"Providers.js","sourceRoot":"","sources":["../../src/GitHub/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,kBAAkB,EAAa,CACrE,QAAQ,CACT;CAAG;AAIJ;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,MAAM,CACV,SAAS,EACT,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CACjD,CAAC,IAAI,CACJ,KAAK,CAAC,OAAO,CACX,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,EAAE,gBAAgB,EAAE,CAAC,CACxE,EACD,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAClD,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAC9B,KAAK,CAAC,KAAK,CACZ,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import * as Redacted from "effect/Redacted";
2
2
  import * as Provider from "../Provider.ts";
3
3
  import { Resource } from "../Resource.ts";
4
+ import { GitHubCredentials } from "./Credentials.ts";
5
+ import type * as GitHub from "./Providers.ts";
4
6
  export interface SecretProps {
5
7
  /**
6
8
  * Repository owner (user or organization).
@@ -24,18 +26,13 @@ export interface SecretProps {
24
26
  * GitHub Actions environment instead of the whole repository.
25
27
  */
26
28
  environment?: string;
27
- /**
28
- * GitHub API token. If not provided, falls back to
29
- * `GITHUB_ACCESS_TOKEN` or `GITHUB_TOKEN` environment variables.
30
- */
31
- token?: string;
32
29
  }
33
30
  export interface Secret extends Resource<"GitHub.Secret", SecretProps, {
34
31
  /**
35
32
  * ISO-8601 timestamp of the last update.
36
33
  */
37
34
  updatedAt: string;
38
- }> {
35
+ }, never, GitHub.Providers> {
39
36
  }
40
37
  /**
41
38
  * A GitHub Actions repository or environment secret.
@@ -45,9 +42,10 @@ export interface Secret extends Resource<"GitHub.Secret", SecretProps, {
45
42
  * key via `libsodium` before being stored. The resource is idempotent —
46
43
  * calling it with the same name will update the secret value in place.
47
44
  *
48
- * Authentication is resolved in order: explicit `token` prop,
49
- * `GITHUB_ACCESS_TOKEN` env var, `GITHUB_TOKEN` env var. The token needs
50
- * `repo` scope for private repositories or `public_repo` for public ones.
45
+ * Authentication is resolved via the `GitHubCredentials` service supplied
46
+ * by `GitHub.providers()` (which uses the Alchemy AuthProvider — env,
47
+ * stored PAT, `gh` CLI, or OAuth). The token needs `repo` scope for
48
+ * private repositories or `public_repo` for public ones.
51
49
  *
52
50
  * @section Repository Secrets
53
51
  * Store secrets accessible to all GitHub Actions workflows in the
@@ -116,5 +114,5 @@ export interface Secret extends Resource<"GitHub.Secret", SecretProps, {
116
114
  * ```
117
115
  */
118
116
  export declare const Secret: import("../Resource.ts").ResourceClass<Secret>;
119
- export declare const SecretProvider: () => import("effect/Layer").Layer<Provider.Provider<Secret>, never, never>;
117
+ export declare const SecretProvider: () => import("effect/Layer").Layer<Provider.Provider<Secret>, never, GitHubCredentials>;
120
118
  //# sourceMappingURL=Secret.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Secret.d.ts","sourceRoot":"","sources":["../../src/GitHub/Secret.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAO,SAAQ,QAAQ,CACtC,eAAe,EACf,WAAW,EACX;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CACF;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,eAAO,MAAM,MAAM,gDAAoC,CAAC;AAwBxD,eAAO,MAAM,cAAc,6EAyBvB,CAAC"}
1
+ {"version":3,"file":"Secret.d.ts","sourceRoot":"","sources":["../../src/GitHub/Secret.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,MAAO,SAAQ,QAAQ,CACtC,eAAe,EACf,WAAW,EACX;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,KAAK,EACL,MAAM,CAAC,SAAS,CACjB;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,eAAO,MAAM,MAAM,gDAAoC,CAAC;AAuBxD,eAAO,MAAM,cAAc,yFAyBvB,CAAC"}
@@ -1,8 +1,8 @@
1
- import { Octokit } from "@octokit/rest";
2
1
  import * as Effect from "effect/Effect";
3
2
  import * as Redacted from "effect/Redacted";
4
3
  import * as Provider from "../Provider.js";
5
4
  import { Resource } from "../Resource.js";
5
+ import { GitHubCredentials } from "./Credentials.js";
6
6
  /**
7
7
  * A GitHub Actions repository or environment secret.
8
8
  *
@@ -11,9 +11,10 @@ import { Resource } from "../Resource.js";
11
11
  * key via `libsodium` before being stored. The resource is idempotent —
12
12
  * calling it with the same name will update the secret value in place.
13
13
  *
14
- * Authentication is resolved in order: explicit `token` prop,
15
- * `GITHUB_ACCESS_TOKEN` env var, `GITHUB_TOKEN` env var. The token needs
16
- * `repo` scope for private repositories or `public_repo` for public ones.
14
+ * Authentication is resolved via the `GitHubCredentials` service supplied
15
+ * by `GitHub.providers()` (which uses the Alchemy AuthProvider — env,
16
+ * stored PAT, `gh` CLI, or OAuth). The token needs `repo` scope for
17
+ * private repositories or `public_repo` for public ones.
17
18
  *
18
19
  * @section Repository Secrets
19
20
  * Store secrets accessible to all GitHub Actions workflows in the
@@ -82,14 +83,15 @@ import { Resource } from "../Resource.js";
82
83
  * ```
83
84
  */
84
85
  export const Secret = Resource("GitHub.Secret");
85
- function resolveToken(props) {
86
- return (props.token ?? process.env.GITHUB_ACCESS_TOKEN ?? process.env.GITHUB_TOKEN);
87
- }
88
- function createClient(props) {
89
- return new Octokit({ auth: resolveToken(props) });
90
- }
86
+ const getOctokit = Effect.gen(function* () {
87
+ const creds = yield* GitHubCredentials;
88
+ return creds.octokit();
89
+ });
91
90
  async function encryptValue(plaintext, publicKey) {
92
- const sodium = await import("libsodium-wrappers");
91
+ const mod = await import("libsodium-wrappers");
92
+ // Bun/ESM interop: the actual sodium API lives on `.default` when the
93
+ // CJS module is wrapped, but is the module itself under other loaders.
94
+ const sodium = mod.default ?? mod;
93
95
  await sodium.ready;
94
96
  const binKey = sodium.from_base64(publicKey, sodium.base64_variants.ORIGINAL);
95
97
  const binMessage = sodium.from_string(plaintext);
@@ -98,12 +100,12 @@ async function encryptValue(plaintext, publicKey) {
98
100
  }
99
101
  export const SecretProvider = () => Provider.succeed(Secret, {
100
102
  create: Effect.fn(function* ({ news }) {
101
- const octokit = createClient(news);
103
+ const octokit = yield* getOctokit;
102
104
  yield* upsertSecret(octokit, news);
103
105
  return { updatedAt: new Date().toISOString() };
104
106
  }),
105
107
  update: Effect.fn(function* ({ news, olds }) {
106
- const octokit = createClient(news);
108
+ const octokit = yield* getOctokit;
107
109
  const wasEnv = !!olds.environment;
108
110
  const isEnv = !!news.environment;
109
111
  if (wasEnv !== isEnv || olds.environment !== news.environment) {
@@ -113,7 +115,7 @@ export const SecretProvider = () => Provider.succeed(Secret, {
113
115
  return { updatedAt: new Date().toISOString() };
114
116
  }),
115
117
  delete: Effect.fn(function* ({ olds }) {
116
- const octokit = createClient(olds);
118
+ const octokit = yield* getOctokit;
117
119
  yield* deleteSecret(octokit, olds);
118
120
  }),
119
121
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Secret.js","sourceRoot":"","sources":["../../src/GitHub/Secret.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Secret.js","sourceRoot":"","sources":["../../src/GitHub/Secret.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import * as Provider from "../Provider.ts";
2
2
  import { Resource } from "../Resource.ts";
3
+ import { GitHubCredentials } from "./Credentials.ts";
4
+ import type * as GitHub from "./Providers.ts";
3
5
  export interface VariableProps {
4
6
  /**
5
7
  * Repository owner (user or organization).
@@ -17,18 +19,13 @@ export interface VariableProps {
17
19
  * Variable value.
18
20
  */
19
21
  value: string;
20
- /**
21
- * GitHub API token. If not provided, falls back to
22
- * `GITHUB_ACCESS_TOKEN` or `GITHUB_TOKEN` environment variables.
23
- */
24
- token?: string;
25
22
  }
26
23
  export interface Variable extends Resource<"GitHub.Variable", VariableProps, {
27
24
  /**
28
25
  * ISO-8601 timestamp of the last update.
29
26
  */
30
27
  updatedAt: string;
31
- }> {
28
+ }, never, GitHub.Providers> {
32
29
  }
33
30
  /**
34
31
  * A GitHub Actions repository variable.
@@ -39,9 +36,10 @@ export interface Variable extends Resource<"GitHub.Variable", VariableProps, {
39
36
  * labels, or feature flags. For sensitive values, use `GitHub.Secret`
40
37
  * instead.
41
38
  *
42
- * Authentication is resolved in order: explicit `token` prop,
43
- * `GITHUB_ACCESS_TOKEN` env var, `GITHUB_TOKEN` env var. The token needs
44
- * `repo` scope for private repositories or `public_repo` for public ones.
39
+ * Authentication is resolved via the `GitHubCredentials` service supplied
40
+ * by `GitHub.providers()` (which uses the Alchemy AuthProvider — env,
41
+ * stored PAT, `gh` CLI, or OAuth). The token needs `repo` scope for
42
+ * private repositories or `public_repo` for public ones.
45
43
  *
46
44
  * @section Repository Variables
47
45
  * Store variables accessible to all GitHub Actions workflows in the
@@ -91,5 +89,5 @@ export interface Variable extends Resource<"GitHub.Variable", VariableProps, {
91
89
  * ```
92
90
  */
93
91
  export declare const Variable: import("../Resource.ts").ResourceClass<Variable>;
94
- export declare const VariableProvider: () => import("effect/Layer").Layer<Provider.Provider<Variable>, never, never>;
92
+ export declare const VariableProvider: () => import("effect/Layer").Layer<Provider.Provider<Variable>, never, GitHubCredentials>;
95
93
  //# sourceMappingURL=Variable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Variable.d.ts","sourceRoot":"","sources":["../../src/GitHub/Variable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ,CACxC,iBAAiB,EACjB,aAAa,EACb;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CACF;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,eAAO,MAAM,QAAQ,kDAAwC,CAAC;AAY9D,eAAO,MAAM,gBAAgB,+EAiDzB,CAAC"}
1
+ {"version":3,"file":"Variable.d.ts","sourceRoot":"","sources":["../../src/GitHub/Variable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ,CACxC,iBAAiB,EACjB,aAAa,EACb;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,KAAK,EACL,MAAM,CAAC,SAAS,CACjB;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,QAAQ,kDAAwC,CAAC;AAO9D,eAAO,MAAM,gBAAgB,2FAiDzB,CAAC"}
@@ -1,7 +1,7 @@
1
- import { Octokit } from "@octokit/rest";
2
1
  import * as Effect from "effect/Effect";
3
2
  import * as Provider from "../Provider.js";
4
3
  import { Resource } from "../Resource.js";
4
+ import { GitHubCredentials } from "./Credentials.js";
5
5
  /**
6
6
  * A GitHub Actions repository variable.
7
7
  *
@@ -11,9 +11,10 @@ import { Resource } from "../Resource.js";
11
11
  * labels, or feature flags. For sensitive values, use `GitHub.Secret`
12
12
  * instead.
13
13
  *
14
- * Authentication is resolved in order: explicit `token` prop,
15
- * `GITHUB_ACCESS_TOKEN` env var, `GITHUB_TOKEN` env var. The token needs
16
- * `repo` scope for private repositories or `public_repo` for public ones.
14
+ * Authentication is resolved via the `GitHubCredentials` service supplied
15
+ * by `GitHub.providers()` (which uses the Alchemy AuthProvider — env,
16
+ * stored PAT, `gh` CLI, or OAuth). The token needs `repo` scope for
17
+ * private repositories or `public_repo` for public ones.
17
18
  *
18
19
  * @section Repository Variables
19
20
  * Store variables accessible to all GitHub Actions workflows in the
@@ -63,15 +64,13 @@ import { Resource } from "../Resource.js";
63
64
  * ```
64
65
  */
65
66
  export const Variable = Resource("GitHub.Variable");
66
- function resolveToken(props) {
67
- return (props.token ?? process.env.GITHUB_ACCESS_TOKEN ?? process.env.GITHUB_TOKEN);
68
- }
69
- function createClient(props) {
70
- return new Octokit({ auth: resolveToken(props) });
71
- }
67
+ const getOctokit = Effect.gen(function* () {
68
+ const creds = yield* GitHubCredentials;
69
+ return creds.octokit();
70
+ });
72
71
  export const VariableProvider = () => Provider.succeed(Variable, {
73
72
  create: Effect.fn(function* ({ news }) {
74
- const octokit = createClient(news);
73
+ const octokit = yield* getOctokit;
75
74
  yield* Effect.tryPromise(() => octokit.rest.actions.createRepoVariable({
76
75
  owner: news.owner,
77
76
  repo: news.repository,
@@ -81,7 +80,7 @@ export const VariableProvider = () => Provider.succeed(Variable, {
81
80
  return { updatedAt: new Date().toISOString() };
82
81
  }),
83
82
  update: Effect.fn(function* ({ news }) {
84
- const octokit = createClient(news);
83
+ const octokit = yield* getOctokit;
85
84
  yield* Effect.tryPromise(() => octokit.rest.actions.updateRepoVariable({
86
85
  owner: news.owner,
87
86
  repo: news.repository,
@@ -91,7 +90,7 @@ export const VariableProvider = () => Provider.succeed(Variable, {
91
90
  return { updatedAt: new Date().toISOString() };
92
91
  }),
93
92
  delete: Effect.fn(function* ({ olds }) {
94
- const octokit = createClient(olds);
93
+ const octokit = yield* getOctokit;
95
94
  yield* Effect.tryPromise(async () => {
96
95
  try {
97
96
  await octokit.rest.actions.deleteRepoVariable({
@@ -1 +1 @@
1
- {"version":3,"file":"Variable.js","sourceRoot":"","sources":["../../src/GitHub/Variable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Variable.js","sourceRoot":"","sources":["../../src/GitHub/Variable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAsCrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAW,iBAAiB,CAAC,CAAC;AAE9D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC;IACvC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;IACzB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;QAElC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CACH,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;QAElC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CACH,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;QAElC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,IAAI,CAAC,UAAU;oBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACzB,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;CACH,CAAC,CAAC"}
@@ -1,4 +1,6 @@
1
+ export * as Auth from "./AuthProvider.ts";
1
2
  export * from "./Comment.ts";
3
+ export { GitHubCredentials, fromEnv, fromToken } from "./Credentials.ts";
2
4
  export * from "./Providers.ts";
3
5
  export * from "./Secret.ts";
4
6
  export * from "./Variable.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/GitHub/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/GitHub/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -1,4 +1,6 @@
1
+ export * as Auth from "./AuthProvider.js";
1
2
  export * from "./Comment.js";
3
+ export { GitHubCredentials, fromEnv, fromToken } from "./Credentials.js";
2
4
  export * from "./Providers.js";
3
5
  export * from "./Secret.js";
4
6
  export * from "./Variable.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/GitHub/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/GitHub/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alchemy",
3
- "version": "2.0.0-beta.15",
3
+ "version": "2.0.0-beta.17",
4
4
  "homepage": "https://alchemy.run",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Sam Goodwin <sam@alchemy.run>",
@@ -231,11 +231,11 @@
231
231
  "@ai-sdk/provider": "^3.0.8",
232
232
  "@aws-sdk/credential-providers": "^3.0.0",
233
233
  "@clack/prompts": "^0.11.0",
234
- "@distilled.cloud/aws": "^0.12.4",
235
- "@distilled.cloud/cloudflare": "^0.12.4",
234
+ "@distilled.cloud/aws": "^0.12.5",
235
+ "@distilled.cloud/cloudflare": "^0.12.5",
236
236
  "@distilled.cloud/cloudflare-rolldown-plugin": "0.3.0",
237
237
  "@distilled.cloud/cloudflare-vite-plugin": "0.2.0",
238
- "@distilled.cloud/core": "^0.12.4",
238
+ "@distilled.cloud/core": "^0.12.5",
239
239
  "@effect/vitest": "4.0.0-beta.48",
240
240
  "@libsql/client": "^0.17.0",
241
241
  "@octokit/rest": "^22.0.1",
@@ -6,8 +6,11 @@ import { rootDir } from "./Profile.ts";
6
6
 
7
7
  const credentialsDirPath = path.join(rootDir, "credentials");
8
8
 
9
+ export const profileCredentialsDirPath = (profile: string) =>
10
+ path.join(credentialsDirPath, profile);
11
+
9
12
  export const credentialsFilePath = (profile: string, provider: string) =>
10
- path.join(credentialsDirPath, profile, `${provider}.json`);
13
+ path.join(profileCredentialsDirPath(profile), `${provider}.json`);
11
14
 
12
15
  export const readCredentials = Effect.fnUntraced(function* <T>(
13
16
  profile: string,
@@ -46,6 +49,19 @@ export const deleteCredentials = Effect.fnUntraced(function* (
46
49
  .pipe(Effect.catch(() => Effect.void));
47
50
  });
48
51
 
52
+ /**
53
+ * Recursively remove the `~/.alchemy/credentials/{profile}` directory
54
+ * containing all per-provider secrets for `profile`. No-op if it doesn't exist.
55
+ */
56
+ export const deleteProfileCredentials = Effect.fnUntraced(function* (
57
+ profile: string,
58
+ ) {
59
+ const fs = yield* FileSystem.FileSystem;
60
+ yield* fs
61
+ .remove(profileCredentialsDirPath(profile), { recursive: true })
62
+ .pipe(Effect.catch(() => Effect.void));
63
+ });
64
+
49
65
  export function displayRedacted(
50
66
  r: Redacted.Redacted<string>,
51
67
  visibleChars = 4,
@@ -91,6 +91,21 @@ export const setProfile = (name: string, profile: AlchemyProfile) =>
91
91
  Effect.flatMap(writeConfig),
92
92
  );
93
93
 
94
+ /**
95
+ * Remove `name` and all its provider credentials from the on-disk config.
96
+ * Returns `true` if the profile existed and was removed, `false` otherwise.
97
+ */
98
+ export const deleteProfile = (name: string) =>
99
+ readConfig.pipe(
100
+ Effect.flatMap((config) => {
101
+ if (!(name in config.profiles)) {
102
+ return Effect.succeed(false);
103
+ }
104
+ delete config.profiles[name];
105
+ return writeConfig(config).pipe(Effect.as(true));
106
+ }),
107
+ );
108
+
94
109
  /**
95
110
  * Returns a `ConfigProvider` that overrides `ALCHEMY_PROFILE` with the
96
111
  * given `profile` (when explicitly passed via the CLI `--profile` flag),