alchemy 0.29.1 → 0.29.3

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 (41) hide show
  1. package/lib/cloudflare/bindings.d.ts +16 -3
  2. package/lib/cloudflare/bindings.d.ts.map +1 -1
  3. package/lib/cloudflare/bound.d.ts +3 -7
  4. package/lib/cloudflare/bound.d.ts.map +1 -1
  5. package/lib/cloudflare/secret.d.ts +4 -0
  6. package/lib/cloudflare/secret.d.ts.map +1 -1
  7. package/lib/cloudflare/secret.js +46 -7
  8. package/lib/cloudflare/secret.js.map +1 -1
  9. package/lib/cloudflare/secrets-store.d.ts +1 -7
  10. package/lib/cloudflare/secrets-store.d.ts.map +1 -1
  11. package/lib/cloudflare/secrets-store.js +2 -9
  12. package/lib/cloudflare/secrets-store.js.map +1 -1
  13. package/lib/cloudflare/worker-metadata.js +4 -4
  14. package/lib/cloudflare/worker-metadata.js.map +1 -1
  15. package/lib/cloudflare/wrangler.json.js +6 -10
  16. package/lib/cloudflare/wrangler.json.js.map +1 -1
  17. package/lib/destroy.d.ts.map +1 -1
  18. package/lib/destroy.js +2 -2
  19. package/lib/destroy.js.map +1 -1
  20. package/lib/scope.d.ts +5 -0
  21. package/lib/scope.d.ts.map +1 -1
  22. package/lib/scope.js +6 -1
  23. package/lib/scope.js.map +1 -1
  24. package/lib/secret.d.ts +8 -0
  25. package/lib/secret.d.ts.map +1 -1
  26. package/lib/secret.js +4 -2
  27. package/lib/secret.js.map +1 -1
  28. package/lib/serde.d.ts.map +1 -1
  29. package/lib/serde.js +5 -5
  30. package/lib/serde.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/cloudflare/bindings.ts +17 -2
  33. package/src/cloudflare/bound.ts +15 -23
  34. package/src/cloudflare/secret.ts +87 -7
  35. package/src/cloudflare/secrets-store.ts +3 -20
  36. package/src/cloudflare/worker-metadata.ts +4 -4
  37. package/src/cloudflare/wrangler.json.ts +6 -10
  38. package/src/destroy.ts +2 -2
  39. package/src/scope.ts +10 -1
  40. package/src/secret.ts +12 -2
  41. package/src/serde.ts +5 -5
package/lib/scope.js CHANGED
@@ -5,11 +5,16 @@ import { ResourceID } from "./resource.js";
5
5
  import { createDummyLogger, createLoggerInstance, } from "./util/cli.js";
6
6
  // TODO: support browser
7
7
  const DEFAULT_STAGE = process.env.ALCHEMY_STAGE ?? process.env.USER ?? "dev";
8
+ const ScopeSymbol = Symbol.for("alchemy::Scope");
9
+ export function isScope(value) {
10
+ return value instanceof Scope || value?.[ScopeSymbol] === true;
11
+ }
8
12
  export class Scope {
13
+ [ScopeSymbol] = true;
9
14
  static KIND = "alchemy::Scope";
10
15
  static storage = (globalThis.__ALCHEMY_STORAGE__ ??=
11
16
  new AsyncLocalStorage());
12
- static globals = [];
17
+ static globals = (globalThis.__ALCHEMY_GLOBALS__ ??= []);
13
18
  static get() {
14
19
  const scope = Scope.storage.getStore();
15
20
  if (!scope) {
package/lib/scope.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
package/lib/secret.d.ts CHANGED
@@ -1,3 +1,9 @@
1
+ declare global {
2
+ var __ALCHEMY_SECRETS__: {
3
+ [name: string]: Secret;
4
+ };
5
+ }
6
+ declare const SecretSymbol: unique symbol;
1
7
  /**
2
8
  * Internal wrapper for sensitive values like API keys and credentials.
3
9
  * When stored in alchemy state files, the value is automatically encrypted
@@ -36,6 +42,7 @@
36
42
  export declare class Secret {
37
43
  readonly unencrypted: string;
38
44
  readonly name: string;
45
+ [SecretSymbol]: boolean;
39
46
  /**
40
47
  * @internal
41
48
  */
@@ -84,4 +91,5 @@ export declare namespace secret {
84
91
  }
85
92
  const env: Env;
86
93
  }
94
+ export {};
87
95
  //# sourceMappingURL=secret.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,MAAM;IAUf,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAVvB;;OAEG;WACW,GAAG,IAAI,MAAM,EAAE;IAI7B,SAAgB,IAAI,YAAY;gBAErB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,MAAmB;CAIrC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,MAAM,CAKxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACjD,WAAW,EAAE,CAAC,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,yBAAiB,MAAM,CAAC;IACtB,UAAiB,GAAG;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACjE;IAEM,MAAM,GAAG,EAGV,GAAG,CAAC;CAaX"}
1
+ {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,mBAAmB,EAAE;QACvB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,CAAC;CACH;AAYD,QAAA,MAAM,YAAY,eAAgC,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,MAAM;IAYf,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAZvB,CAAC,YAAY,CAAC,UAAQ;IAEtB;;OAEG;WACW,GAAG,IAAI,MAAM,EAAE;IAI7B,SAAgB,IAAI,YAAY;gBAErB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,MAAmB;CAIrC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,MAAM,CAKxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACjD,WAAW,EAAE,CAAC,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,yBAAiB,MAAM,CAAC;IACtB,UAAiB,GAAG;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACjE;IAEM,MAAM,GAAG,EAGV,GAAG,CAAC;CAaX"}
package/lib/secret.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { alchemy } from "./alchemy.js";
2
2
  // a global registry of all secrets that we will use when serializing an application
3
- const globalSecrets = {};
3
+ const globalSecrets = (globalThis.__ALCHEMY_SECRETS__ ??= {});
4
4
  let i = 0;
5
5
  function nextName() {
6
6
  return `alchemy:anonymous-secret-${i++}`;
7
7
  }
8
+ const SecretSymbol = Symbol.for("alchemy::Secret");
8
9
  /**
9
10
  * Internal wrapper for sensitive values like API keys and credentials.
10
11
  * When stored in alchemy state files, the value is automatically encrypted
@@ -43,6 +44,7 @@ function nextName() {
43
44
  export class Secret {
44
45
  unencrypted;
45
46
  name;
47
+ [SecretSymbol] = true;
46
48
  /**
47
49
  * @internal
48
50
  */
@@ -61,7 +63,7 @@ export class Secret {
61
63
  */
62
64
  export function isSecret(binding) {
63
65
  return (binding instanceof Secret ||
64
- (typeof binding === "object" && binding.type === "secret_text"));
66
+ (typeof binding === "object" && binding?.type === "secret"));
65
67
  }
66
68
  /**
67
69
  * Wraps a sensitive value so it will be encrypted when stored in state files.
package/lib/secret.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"secret.js","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,oFAAoF;AACpF,MAAM,aAAa,GAEf,EAAE,CAAC;AAEP,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,SAAS,QAAQ;IACf,OAAO,4BAA4B,CAAC,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,OAAO,MAAM;IAUN;IACA;IAVX;;OAEG;IACI,MAAM,CAAC,GAAG;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAEe,IAAI,GAAG,QAAQ,CAAC;IAChC,YACW,WAAmB,EACnB,OAAe,QAAQ,EAAE;QADzB,gBAAW,GAAX,WAAW,CAAQ;QACnB,SAAI,GAAJ,IAAI,CAAqB;QAElC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAY;IACnC,OAAO,CACL,OAAO,YAAY,MAAM;QACzB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAChE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,MAAM,CACpB,WAAc,EACd,IAAa;IAEb,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,WAAiB,MAAM;IAMR,UAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;QACjC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC/D,CAAQ,CAAC;IAEV,KAAK,UAAU,IAAI,CACjB,IAAY,EACZ,KAAc,EACd,KAAc;QAEd,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,kBAAkB,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,EAtBgB,MAAM,KAAN,MAAM,QAsBtB"}
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQvC,oFAAoF;AACpF,MAAM,aAAa,GAEf,CAAC,UAAU,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;AAE5C,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,SAAS,QAAQ;IACf,OAAO,4BAA4B,CAAC,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,OAAO,MAAM;IAYN;IACA;IAZX,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACI,MAAM,CAAC,GAAG;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAEe,IAAI,GAAG,QAAQ,CAAC;IAChC,YACW,WAAmB,EACnB,OAAe,QAAQ,EAAE;QADzB,gBAAW,GAAX,WAAW,CAAQ;QACnB,SAAI,GAAJ,IAAI,CAAqB;QAElC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAY;IACnC,OAAO,CACL,OAAO,YAAY,MAAM;QACzB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,MAAM,CACpB,WAAc,EACd,IAAa;IAEb,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,WAAiB,MAAM;IAMR,UAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;QACjC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC/D,CAAQ,CAAC;IAEV,KAAK,UAAU,IAAI,CACjB,IAAY,EACZ,KAAc,EACd,KAAc;QAEd,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,kBAAkB,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,EAtBgB,MAAM,KAAN,MAAM,QAsBtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"serde.d.ts","sourceRoot":"","sources":["../src/serde.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EAEX,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAWpC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SACzB,SAAS,GACT,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,CAAC,GACD,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GACtB;IACE,SAAS,EAAE,MAAM,CAAC;CACnB,GACD,CAAC,SAAS,MAAM,GACd;IACE,SAAS,EAAE,MAAM,CAAC;CACnB,GACD,CAAC,SAAS,IAAI,GACZ;IACE,OAAO,EAAE,MAAM,CAAC;CACjB,GACD,CAAC,SAAS,MAAM,GACd;IACE,SAAS,EAAE,MAAM,CAAC;CACnB,GACD,CAAC,SAAS,KAAK,GACb;IACE,QAAQ,EAAE,IAAI,CAAC;CAChB,GACD,CAAC,SAAS,QAAQ,GAChB,SAAS,GACT,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GACpB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,GAC7B,MAAM,GACN,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACzB,GACD,CAAC,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC1C,CAAC;AAEF,wBAAsB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAgC3E;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CACjC,GACA,OAAO,CAAC,GAAG,CAAC,CAiEd;AAYD,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KACnB,SAAS,GACT;QACE,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;CACP,GACA,OAAO,CAAC,GAAG,CAAC,CAwCd"}
1
+ {"version":3,"file":"serde.d.ts","sourceRoot":"","sources":["../src/serde.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EAEX,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAW,KAAK,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAY,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAWpC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SACzB,SAAS,GACT,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,CAAC,GACD,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GACtB;IACE,SAAS,EAAE,MAAM,CAAC;CACnB,GACD,CAAC,SAAS,MAAM,GACd;IACE,SAAS,EAAE,MAAM,CAAC;CACnB,GACD,CAAC,SAAS,IAAI,GACZ;IACE,OAAO,EAAE,MAAM,CAAC;CACjB,GACD,CAAC,SAAS,MAAM,GACd;IACE,SAAS,EAAE,MAAM,CAAC;CACnB,GACD,CAAC,SAAS,KAAK,GACb;IACE,QAAQ,EAAE,IAAI,CAAC;CAChB,GACD,CAAC,SAAS,QAAQ,GAChB,SAAS,GACT,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GACpB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,GAC7B,MAAM,GACN,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACzB,GACD,CAAC,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC1C,CAAC;AAEF,wBAAsB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAgC3E;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CACjC,GACA,OAAO,CAAC,GAAG,CAAC,CAiEd;AAYD,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KACnB,SAAS,GACT;QACE,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;CACP,GACA,OAAO,CAAC,GAAG,CAAC,CAwCd"}
package/lib/serde.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { decryptWithKey, encrypt } from "./encrypt.js";
2
2
  import { InnerResourceScope, ResourceFQN, ResourceKind, } from "./resource.js";
3
- import { Scope } from "./scope.js";
4
- import { Secret } from "./secret.js";
3
+ import { isScope, Scope } from "./scope.js";
4
+ import { isSecret, Secret } from "./secret.js";
5
5
  // zero-dependency type guard for ArkType
6
6
  function isType(value) {
7
7
  return (value &&
@@ -18,7 +18,7 @@ export async function serializeScope(scope) {
18
18
  }
19
19
  map[resource[ResourceFQN]] = await serialize(scope, await resource, {
20
20
  transform: (value) => {
21
- if (value instanceof Secret) {
21
+ if (isSecret(value)) {
22
22
  return {
23
23
  "@secret-env": value.name,
24
24
  };
@@ -42,7 +42,7 @@ export async function serialize(scope, value, options) {
42
42
  if (Array.isArray(value)) {
43
43
  return Promise.all(value.map((value) => serialize(scope, value, options)));
44
44
  }
45
- else if (value instanceof Secret) {
45
+ else if (isSecret(value)) {
46
46
  if (!scope.password) {
47
47
  throw new Error("Cannot serialize secret without password, did you forget to set password when initializing your alchemy app?\n" +
48
48
  "See: https://alchemy.run/docs/concepts/secret.html#encryption-password");
@@ -69,7 +69,7 @@ export async function serialize(scope, value, options) {
69
69
  "@symbol": value.toString(),
70
70
  };
71
71
  }
72
- else if (value instanceof Scope) {
72
+ else if (isScope(value)) {
73
73
  return {
74
74
  "@scope": null,
75
75
  };
package/lib/serde.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"serde.js","sourceRoot":"","sources":["../src/serde.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serde.js","sourceRoot":"","sources":["../src/serde.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alchemy",
3
- "version": "0.29.1",
3
+ "version": "0.29.3",
4
4
  "type": "module",
5
5
  "module": "./lib/index.js",
6
6
  "license": "Apache-2.0",
@@ -18,13 +18,13 @@ import type { HyperdriveResource } from "./hyperdrive.ts";
18
18
  import type { KVNamespaceResource } from "./kv-namespace.ts";
19
19
  import type { PipelineResource } from "./pipeline.ts";
20
20
  import type { QueueResource } from "./queue.ts";
21
- import type { SecretsStore } from "./secrets-store.ts";
22
21
  import type { VectorizeIndexResource } from "./vectorize-index.ts";
23
22
  import type { VersionMetadata } from "./version-metadata.ts";
24
23
  import type { WorkerStub } from "./worker-stub.ts";
25
24
  import type { Worker, WorkerRef } from "./worker.ts";
26
25
  import type { Workflow } from "./workflow.ts";
27
26
  import type { Images } from "./images.ts";
27
+ import type { Secret as CloudflareSecret } from "./secret.ts";
28
28
 
29
29
  export type Bindings = {
30
30
  [bindingName: string]: Binding;
@@ -43,6 +43,7 @@ export type Binding =
43
43
  | Ai
44
44
  | AiGatewayResource
45
45
  | Assets
46
+ | CloudflareSecret
46
47
  | D1DatabaseResource
47
48
  | DispatchNamespaceResource
48
49
  | AnalyticsEngineDataset
@@ -53,7 +54,6 @@ export type Binding =
53
54
  | PipelineResource
54
55
  | QueueResource
55
56
  | R2BucketResource
56
- | SecretsStore<any>
57
57
  | {
58
58
  type: "kv_namespace";
59
59
  id: string;
@@ -107,6 +107,7 @@ export type WorkerBindingSpec =
107
107
  | WorkerBindingR2Bucket
108
108
  | WorkerBindingSecretText
109
109
  | WorkerBindingSecretsStore
110
+ | WorkerBindingSecretsStoreSecret
110
111
  | WorkerBindingService
111
112
  | WorkerBindingStaticContent
112
113
  | WorkerBindingTailConsumer
@@ -313,6 +314,20 @@ export interface WorkerBindingSecretsStore {
313
314
  secret_name: string;
314
315
  }
315
316
 
317
+ /**
318
+ * Secrets Store Secret binding type for individual secrets
319
+ */
320
+ export interface WorkerBindingSecretsStoreSecret {
321
+ /** The name of the binding */
322
+ name: string;
323
+ /** Type identifier for Secrets Store Secret binding */
324
+ type: "secrets_store_secret";
325
+ /** Store ID */
326
+ store_id: string;
327
+ /** Secret name */
328
+ secret_name: string;
329
+ }
330
+
316
331
  /**
317
332
  * Service binding type
318
333
  */
@@ -1,5 +1,6 @@
1
1
  import type { Pipeline } from "cloudflare:pipelines";
2
2
  import type { Secret } from "../secret.ts";
3
+ import type { Secret as CloudflareSecret } from "./secret.ts";
3
4
  import type { AiGatewayResource as _AiGateway } from "./ai-gateway.ts";
4
5
  import type { Ai as _Ai } from "./ai.ts";
5
6
  import type { AnalyticsEngineDataset as _AnalyticsEngineDataset } from "./analytics-engine.ts";
@@ -14,7 +15,6 @@ import type { HyperdriveResource as _Hyperdrive } from "./hyperdrive.ts";
14
15
  import type { Images as _Images } from "./images.ts";
15
16
  import type { PipelineResource as _Pipeline } from "./pipeline.ts";
16
17
  import type { QueueResource as _Queue } from "./queue.ts";
17
- import type { SecretsStore as _SecretsStore } from "./secrets-store.ts";
18
18
  import type { VectorizeIndexResource as _VectorizeIndex } from "./vectorize-index.ts";
19
19
  import type { VersionMetadata as _VersionMetadata } from "./version-metadata.ts";
20
20
  import type { Worker as _Worker, WorkerRef } from "./worker.ts";
@@ -45,20 +45,20 @@ export type Bound<T extends Binding> = T extends _DurableObjectNamespace<
45
45
  ? Hyperdrive
46
46
  : T extends Secret
47
47
  ? string
48
- : T extends Assets
49
- ? Service
50
- : T extends _Workflow<infer P>
51
- ? Workflow<P>
52
- : T extends D1DatabaseResource
53
- ? D1Database
54
- : T extends DispatchNamespaceResource
55
- ? { get(name: string): Fetcher }
56
- : T extends _VectorizeIndex
57
- ? VectorizeIndex
58
- : T extends _Queue<infer Body>
59
- ? Queue<Body>
60
- : T extends _SecretsStore<infer S>
61
- ? SecretsStoreBinding<S>
48
+ : T extends CloudflareSecret
49
+ ? string
50
+ : T extends Assets
51
+ ? Service
52
+ : T extends _Workflow<infer P>
53
+ ? Workflow<P>
54
+ : T extends D1DatabaseResource
55
+ ? D1Database
56
+ : T extends DispatchNamespaceResource
57
+ ? { get(name: string): Fetcher }
58
+ : T extends _VectorizeIndex
59
+ ? VectorizeIndex
60
+ : T extends _Queue<infer Body>
61
+ ? Queue<Body>
62
62
  : T extends _AnalyticsEngineDataset
63
63
  ? AnalyticsEngineDataset
64
64
  : T extends _Pipeline<infer R>
@@ -78,11 +78,3 @@ export type Bound<T extends Binding> = T extends _DurableObjectNamespace<
78
78
  : T extends Json<infer T>
79
79
  ? T
80
80
  : Service;
81
-
82
- interface SecretsStoreBinding<
83
- S extends Record<string, Secret> | undefined = undefined,
84
- > {
85
- get(
86
- key: (S extends Record<string, any> ? keyof S : never) | (string & {}),
87
- ): Promise<string>;
88
- }
@@ -74,6 +74,11 @@ export function isSecret(resource: Resource): resource is Secret {
74
74
  export interface Secret
75
75
  extends Resource<"cloudflare::Secret">,
76
76
  Omit<_SecretProps, "delete"> {
77
+ /**
78
+ * The binding type for Cloudflare Workers
79
+ */
80
+ type: "secrets_store_secret";
81
+
77
82
  /**
78
83
  * The name of the secret
79
84
  */
@@ -190,6 +195,7 @@ const _Secret = Resource(
190
195
  await insertSecret(api, props.store.id, name, props.value);
191
196
 
192
197
  return this({
198
+ type: "secrets_store_secret",
193
199
  name,
194
200
  storeId: props.store.id,
195
201
  store: props.store,
@@ -209,24 +215,98 @@ export async function insertSecret(
209
215
  secretName: string,
210
216
  secretValue: AlchemySecret,
211
217
  ): Promise<void> {
212
- const response = await api.post(
218
+ // First try to create the secret
219
+ const createResponse = await api.post(
213
220
  `/accounts/${api.accountId}/secrets_store/stores/${storeId}/secrets`,
214
221
  [
215
222
  {
216
223
  name: secretName,
217
224
  value: secretValue.unencrypted,
218
- scopes: [],
225
+ scopes: ["workers"],
219
226
  },
220
227
  ],
221
228
  );
222
229
 
230
+ if (createResponse.ok) {
231
+ return; // Secret created successfully
232
+ }
233
+
234
+ // If creation failed, check if it's because the secret already exists
235
+ const createErrorData: any = await createResponse.json().catch(() => ({
236
+ errors: [{ message: createResponse.statusText }],
237
+ }));
238
+
239
+ const isAlreadyExists = createErrorData.errors?.some(
240
+ (error: any) =>
241
+ error.code === 10021 ||
242
+ error.message?.includes("secret_name_already_exists"),
243
+ );
244
+
245
+ if (isAlreadyExists) {
246
+ // Secret already exists, find its ID and update it
247
+ const secretId = await getSecretId(api, storeId, secretName);
248
+ if (!secretId) {
249
+ throw new Error(`Secret '${secretName}' not found in store`);
250
+ }
251
+
252
+ const updateResponse = await api.patch(
253
+ `/accounts/${api.accountId}/secrets_store/stores/${storeId}/secrets/${secretId}`,
254
+ {
255
+ value: secretValue.unencrypted,
256
+ scopes: ["workers"],
257
+ },
258
+ );
259
+
260
+ if (!updateResponse.ok) {
261
+ const updateErrorData: any = await updateResponse.json().catch(() => ({
262
+ errors: [{ message: updateResponse.statusText }],
263
+ }));
264
+ const updateErrorMessage =
265
+ updateErrorData.errors?.[0]?.message || updateResponse.statusText;
266
+ throw new Error(
267
+ `Error updating secret '${secretName}': ${updateErrorMessage}`,
268
+ );
269
+ }
270
+ } else {
271
+ // Some other error occurred during creation
272
+ const createErrorMessage =
273
+ createErrorData.errors?.[0]?.message || createResponse.statusText;
274
+ throw new Error(
275
+ `Error creating secret '${secretName}': ${createErrorMessage}`,
276
+ );
277
+ }
278
+ }
279
+
280
+ /**
281
+ * Get the ID of a secret by its name
282
+ */
283
+ async function getSecretId(
284
+ api: CloudflareApi,
285
+ storeId: string,
286
+ secretName: string,
287
+ ): Promise<string | null> {
288
+ const response = await api.get(
289
+ `/accounts/${api.accountId}/secrets_store/stores/${storeId}/secrets`,
290
+ );
291
+
223
292
  if (!response.ok) {
224
- const errorData: any = await response.json().catch(() => ({
225
- errors: [{ message: response.statusText }],
226
- }));
227
- const errorMessage = errorData.errors?.[0]?.message || response.statusText;
228
- throw new Error(`Error creating secret '${secretName}': ${errorMessage}`);
293
+ return null;
229
294
  }
295
+
296
+ const data = (await response.json()) as {
297
+ result: Array<{
298
+ id: string;
299
+ name: string;
300
+ created: string;
301
+ modified: string;
302
+ status: string;
303
+ }>;
304
+ success: boolean;
305
+ errors: any[];
306
+ };
307
+
308
+ const secret = data.result.find((s) => s.name === secretName);
309
+ return secret?.id || null;
230
310
  }
231
311
 
232
312
  /**
@@ -1,6 +1,5 @@
1
1
  import type { Context } from "../context.ts";
2
2
  import { Resource, ResourceKind } from "../resource.ts";
3
- import { bind } from "../runtime/bind.ts";
4
3
  import { secret, type Secret } from "../secret.ts";
5
4
  import { handleApiError } from "./api-error.ts";
6
5
  import {
@@ -8,7 +7,6 @@ import {
8
7
  type CloudflareApi,
9
8
  type CloudflareApiOptions,
10
9
  } from "./api.ts";
11
- import type { Bound } from "./bound.ts";
12
10
 
13
11
  /**
14
12
  * Properties for creating or updating a Secrets Store
@@ -66,11 +64,6 @@ export interface SecretsStore<
66
64
  S extends Record<string, Secret> | undefined = undefined,
67
65
  > extends Resource<"cloudflare::SecretsStore">,
68
66
  Omit<SecretsStoreProps<S>, "delete"> {
69
- /**
70
- * The binding type for Cloudflare Workers
71
- */
72
- type: "secrets_store";
73
-
74
67
  /**
75
68
  * The unique identifier of the secrets store
76
69
  */
@@ -98,10 +91,6 @@ export interface SecretsStore<
98
91
  modifiedAt: number;
99
92
  }
100
93
 
101
- export type SecretsStoreWithBinding<
102
- S extends Record<string, Secret> | undefined = undefined,
103
- > = SecretsStore<S> & Bound<SecretsStore<S>>;
104
-
105
94
  /**
106
95
  * A Cloudflare Secrets Store is a secure, centralized location for storing account-level secrets.
107
96
  *
@@ -162,7 +151,7 @@ export async function SecretsStore<
162
151
  >(
163
152
  name: string,
164
153
  props: SecretsStoreProps<S> = {} as SecretsStoreProps<S>,
165
- ): Promise<SecretsStoreWithBinding<S>> {
154
+ ): Promise<SecretsStore<S>> {
166
155
  // Convert string values to Secret instances
167
156
  const normalizedProps: SecretsStoreProps<S> = {
168
157
  ...props,
@@ -176,12 +165,7 @@ export async function SecretsStore<
176
165
  : undefined,
177
166
  };
178
167
 
179
- const store = await _SecretsStore(name, normalizedProps);
180
- const binding = await bind(store);
181
- return {
182
- ...store,
183
- get: binding.get,
184
- } as SecretsStoreWithBinding<S>;
168
+ return _SecretsStore(name, normalizedProps);
185
169
  }
186
170
 
187
171
  const _SecretsStore = Resource("cloudflare::SecretsStore", async function <
@@ -254,7 +238,6 @@ const _SecretsStore = Resource("cloudflare::SecretsStore", async function <
254
238
  }
255
239
 
256
240
  return this({
257
- type: "secrets_store",
258
241
  id: storeId,
259
242
  name: name,
260
243
  secrets: props.secrets as S,
@@ -345,7 +328,7 @@ export async function insertSecrets<
345
328
  const bulkPayload = batch.map(([name, secretValue]) => ({
346
329
  name,
347
330
  value: (secretValue as Secret).unencrypted,
348
- scopes: [],
331
+ scopes: ["workers"],
349
332
  }));
350
333
 
351
334
  const bulkResponse = await api.post(
@@ -387,12 +387,12 @@ export async function prepareWorkerMetadata<B extends Bindings>(
387
387
  name: bindingName,
388
388
  bucket_name: binding.name,
389
389
  });
390
- } else if (binding.type === "secrets_store") {
390
+ } else if (binding.type === "secrets_store_secret") {
391
391
  meta.bindings.push({
392
- type: "secrets_store",
392
+ type: "secrets_store_secret",
393
393
  name: bindingName,
394
- store_id: binding.id,
395
- secret_name: bindingName,
394
+ store_id: binding.storeId,
395
+ secret_name: binding.name,
396
396
  });
397
397
  } else if (binding.type === "assets") {
398
398
  meta.bindings.push({
@@ -596,16 +596,12 @@ function processBindings(
596
596
  });
597
597
  } else if (binding.type === "json") {
598
598
  // TODO(sam): anything to do here? not sure wrangler.json supports this
599
- } else if (binding.type === "secrets_store") {
600
- if (binding.secrets) {
601
- for (const [secretName, _secret] of Object.entries(binding.secrets)) {
602
- secretsStoreSecrets.push({
603
- binding: bindingName,
604
- store_id: binding.id,
605
- secret_name: secretName,
606
- });
607
- }
608
- }
599
+ } else if (binding.type === "secrets_store_secret") {
600
+ secretsStoreSecrets.push({
601
+ binding: bindingName,
602
+ store_id: binding.storeId,
603
+ secret_name: binding.name,
604
+ });
609
605
  } else if (binding.type === "dispatch_namespace") {
610
606
  dispatchNamespaces.push({
611
607
  binding: bindingName,
package/src/destroy.ts CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  ResourceScope,
10
10
  ResourceSeq,
11
11
  } from "./resource.ts";
12
- import { Scope } from "./scope.ts";
12
+ import { isScope, Scope } from "./scope.ts";
13
13
  import { formatFQN } from "./util/cli.ts";
14
14
  import { logger } from "./util/logger.ts";
15
15
 
@@ -21,7 +21,7 @@ export interface DestroyOptions {
21
21
  }
22
22
 
23
23
  function isScopeArgs(a: any): a is [scope: Scope, options?: DestroyOptions] {
24
- return a[0] instanceof Scope;
24
+ return isScope(a[0]);
25
25
  }
26
26
 
27
27
  /**
package/src/scope.ts CHANGED
@@ -29,14 +29,23 @@ const DEFAULT_STAGE = process.env.ALCHEMY_STAGE ?? process.env.USER ?? "dev";
29
29
 
30
30
  declare global {
31
31
  var __ALCHEMY_STORAGE__: AsyncLocalStorage<Scope>;
32
+ var __ALCHEMY_GLOBALS__: Scope[];
33
+ }
34
+
35
+ const ScopeSymbol = Symbol.for("alchemy::Scope");
36
+
37
+ export function isScope(value: any): value is Scope {
38
+ return value instanceof Scope || value?.[ScopeSymbol] === true;
32
39
  }
33
40
 
34
41
  export class Scope {
42
+ readonly [ScopeSymbol] = true;
43
+
35
44
  public static readonly KIND = "alchemy::Scope" as const;
36
45
 
37
46
  public static storage = (globalThis.__ALCHEMY_STORAGE__ ??=
38
47
  new AsyncLocalStorage<Scope>());
39
- public static globals: Scope[] = [];
48
+ public static globals: Scope[] = (globalThis.__ALCHEMY_GLOBALS__ ??= []);
40
49
 
41
50
  public static get(): Scope | undefined {
42
51
  const scope = Scope.storage.getStore();