@every-app/sdk 0.3.0-rc.2 → 0.3.0-rc.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 (73) hide show
  1. package/dist/cloudflare/index.d.ts +2 -2
  2. package/dist/cloudflare/index.d.ts.map +1 -1
  3. package/dist/cloudflare/index.js +1 -1
  4. package/dist/cloudflare/sentinel.d.ts +39 -1
  5. package/dist/cloudflare/sentinel.d.ts.map +1 -1
  6. package/dist/cloudflare/sentinel.js +22 -1
  7. package/dist/cloudflare/worker.d.ts +119 -2
  8. package/dist/cloudflare/worker.d.ts.map +1 -1
  9. package/dist/cloudflare/worker.js +90 -6
  10. package/dist/internal/aiDefault.d.ts +141 -0
  11. package/dist/internal/aiDefault.d.ts.map +1 -0
  12. package/dist/internal/aiDefault.js +204 -0
  13. package/dist/internal/aiProviders.d.ts +4 -1
  14. package/dist/internal/aiProviders.d.ts.map +1 -1
  15. package/dist/internal/aiProviders.js +5 -1
  16. package/dist/internal/appSettings.d.ts +20 -2
  17. package/dist/internal/appSettings.d.ts.map +1 -1
  18. package/dist/internal/appSettings.js +53 -7
  19. package/dist/internal/audit.d.ts +108 -0
  20. package/dist/internal/audit.d.ts.map +1 -0
  21. package/dist/internal/audit.js +235 -0
  22. package/dist/internal/capabilities.d.ts +275 -6
  23. package/dist/internal/capabilities.d.ts.map +1 -1
  24. package/dist/internal/capabilities.js +111 -0
  25. package/dist/internal/catalog/index.d.ts +38 -1
  26. package/dist/internal/catalog/index.d.ts.map +1 -1
  27. package/dist/internal/catalog/inference.d.ts +38 -1
  28. package/dist/internal/catalog/inference.d.ts.map +1 -1
  29. package/dist/internal/catalog/inference.js +33 -1
  30. package/dist/internal/devProviders.d.ts +2 -2
  31. package/dist/internal/devProviders.d.ts.map +1 -1
  32. package/dist/internal/devProviders.js +19 -1
  33. package/dist/internal/events.d.ts +13 -2
  34. package/dist/internal/events.d.ts.map +1 -1
  35. package/dist/internal/events.js +19 -3
  36. package/dist/internal/index.d.ts +4 -0
  37. package/dist/internal/index.d.ts.map +1 -1
  38. package/dist/internal/index.js +4 -0
  39. package/dist/internal/oauthPresets.d.ts +29 -0
  40. package/dist/internal/oauthPresets.d.ts.map +1 -0
  41. package/dist/internal/oauthPresets.js +534 -0
  42. package/dist/internal/oauthScopes.d.ts +56 -1
  43. package/dist/internal/oauthScopes.d.ts.map +1 -1
  44. package/dist/internal/oauthScopes.js +98 -4
  45. package/dist/internal/oauthSpec.d.ts +59 -0
  46. package/dist/internal/oauthSpec.d.ts.map +1 -0
  47. package/dist/internal/oauthSpec.js +676 -0
  48. package/dist/internal/protocol.d.ts +11 -0
  49. package/dist/internal/protocol.d.ts.map +1 -1
  50. package/dist/internal/protocol.js +9 -0
  51. package/dist/internal/providerRegistry.d.ts +17 -6
  52. package/dist/internal/providerRegistry.d.ts.map +1 -1
  53. package/dist/internal/providerRegistry.js +47 -2
  54. package/dist/internal/providerSpec.d.ts +11 -7
  55. package/dist/internal/providerSpec.d.ts.map +1 -1
  56. package/dist/internal/providerSpec.js +134 -37
  57. package/dist/internal/signInProviders.d.ts.map +1 -1
  58. package/dist/internal/signInProviders.js +11 -4
  59. package/dist/server/ai.d.ts +45 -0
  60. package/dist/server/ai.d.ts.map +1 -0
  61. package/dist/server/ai.js +40 -0
  62. package/dist/server/connectUrl.d.ts +21 -0
  63. package/dist/server/connectUrl.d.ts.map +1 -0
  64. package/dist/server/connectUrl.js +37 -0
  65. package/dist/server/gatewayFetch.d.ts.map +1 -1
  66. package/dist/server/gatewayFetch.js +72 -8
  67. package/dist/server/index.d.ts +4 -2
  68. package/dist/server/index.d.ts.map +1 -1
  69. package/dist/server/index.js +3 -1
  70. package/dist/server/integrationFetch.d.ts +39 -2
  71. package/dist/server/integrationFetch.d.ts.map +1 -1
  72. package/dist/server/integrationFetch.js +177 -13
  73. package/package.json +1 -1
@@ -17,6 +17,6 @@
17
17
  * `/internal` would break `cf dev` wherever the SDK is linked from source.
18
18
  * (The dev keypair it hands the dev Worker is a leaf the Worker never loads.)
19
19
  */
20
- export { EVERYAPP_OBSERVABILITY, everyAppAuxiliaryWorker, everyAppWorker, helperWorkerName, localD1Id, localD1Path, workflowNameFor, type AiBinding, type D1Binding, type DurableObjectBinding, type DurableObjectExport, type EveryAppAuxiliaryWorkerConfig, type EveryAppAuxiliaryWorkerOptions, type EveryAppBinding, type EveryAppConfigContext, type EveryAppDeployEnv, type EveryAppDevEnv, type EveryAppExports, type EveryAppObservability, type EveryAppPlacement, type EveryAppWorkerConfig, type EveryAppWorkerManifest, type EveryAppWorkerOptions, type EveryAppWorkerReference, type GatewayBinding, type HyperdriveBinding, type KvBinding, type SecretBinding, type ServiceBinding, type TextBinding, type VersionMetadataBinding, type WorkflowBinding, type WorkflowExport, } from "./worker.js";
21
- export { BUILD_SENTINEL, resourceSentinel, sentinelDeployTarget, type EveryAppDeployTarget, } from "./sentinel.js";
20
+ export { EVERYAPP_OBSERVABILITY, everyAppAuxiliaryWorker, everyAppWorker, helperWorkerName, localD1Id, localD1Path, workflowNameFor, type AiBinding, type BrowserBinding, type AiGatewayBinding, type D1Binding, type DurableObjectBinding, type DurableObjectExport, type EveryAppAuxiliaryWorkerConfig, type EveryAppAuxiliaryWorkerOptions, type EveryAppBinding, type EveryAppConfigContext, type EveryAppDeployEnv, type EveryAppDevEnv, type EveryAppExports, type EveryAppObservability, type EveryAppPlacement, type EveryAppWorkerConfig, type EveryAppWorkerManifest, type EveryAppWorkerOptions, type EveryAppWorkerReference, type GatewayBinding, type HyperdriveBinding, type ImagesBinding, type JsonBinding, type KvBinding, type SecretBinding, type ServiceBinding, type TextBinding, type VectorizeBinding, type VersionMetadataBinding, type WorkflowBinding, type WorkflowExport, } from "./worker.js";
21
+ export { aiGatewayUrl, BUILD_SENTINEL, resourceSentinel, sentinelDeployTarget, type AiGatewayValue, type EveryAppDeployTarget, } from "./sentinel.js";
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,eAAe,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,eAAe,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC"}
@@ -18,4 +18,4 @@
18
18
  * (The dev keypair it hands the dev Worker is a leaf the Worker never loads.)
19
19
  */
20
20
  export { EVERYAPP_OBSERVABILITY, everyAppAuxiliaryWorker, everyAppWorker, helperWorkerName, localD1Id, localD1Path, workflowNameFor, } from "./worker.js";
21
- export { BUILD_SENTINEL, resourceSentinel, sentinelDeployTarget, } from "./sentinel.js";
21
+ export { aiGatewayUrl, BUILD_SENTINEL, resourceSentinel, sentinelDeployTarget, } from "./sentinel.js";
@@ -14,14 +14,24 @@
14
14
  export declare const BUILD_SENTINEL: Readonly<{
15
15
  workerName: "every-hosted--sentinel";
16
16
  organizationId: "everyapp-hosted-deploy-sentinel";
17
+ /**
18
+ * The Cloudflare account the app is installed in (an AI Gateway's URL
19
+ * holds it). Starts with the Worker name's placeholder, so an install
20
+ * rewrites it before that one.
21
+ */
22
+ accountId: "every-hosted--sentinel-account";
17
23
  /** The gateway's URL, and so the identity issuer. */
18
24
  gatewayUrl: "https://every-hosted--sentinel.invalid";
19
25
  publicKey: "-----BEGIN PUBLIC KEY-----\nEVERYAPPHOSTEDDEPLOYSENTINEL\n-----END PUBLIC KEY-----\n";
20
26
  }>;
21
27
  /**
22
28
  * A manifest binding's placeholder: a D1 database's name and id, an R2
23
- * bucket's name, a KV namespace's or Hyperdrive config's id. The installer
29
+ * bucket's or Vectorize index's name, a KV namespace's or Hyperdrive
30
+ * config's id. The installer
24
31
  * rewrites each by its binding name; the value only has to be recognizable.
32
+ * bucket's name, a KV namespace's, Hyperdrive config's or AI Gateway's id.
33
+ * The installer rewrites each by its binding name; the value only has to
34
+ * be recognizable.
25
35
  */
26
36
  export declare function resourceSentinel(binding: string): string;
27
37
  /** The fields of the manifest a build's placeholders are made for. */
@@ -33,14 +43,36 @@ interface SentinelManifest {
33
43
  hyperdrive?: readonly {
34
44
  readonly name: string;
35
45
  }[];
46
+ vectorize?: readonly {
47
+ readonly name: string;
48
+ }[];
49
+ aiGateway?: readonly {
50
+ readonly name: string;
51
+ }[];
36
52
  };
37
53
  }
54
+ /** Where an AI Gateway takes requests: `https://gateway.ai.cloudflare.com/v1/<account>/<id>`. */
55
+ export declare function aiGatewayUrl(accountId: string, id: string): string;
56
+ /**
57
+ * What an AI Gateway binding holds (a `json` binding): the gateway's id,
58
+ * its account, and its URL, under which each provider has a path
59
+ * (`<url>/openai`, `<url>/anthropic`, `<url>/workers-ai`, `<url>/compat`).
60
+ * In development `accountId` and `url` are empty: there is no gateway, so
61
+ * an app calls the provider directly.
62
+ */
63
+ export type AiGatewayValue = {
64
+ id: string;
65
+ accountId: string;
66
+ url: string;
67
+ };
38
68
  /** Everything install-specific a Worker is built from, by binding. */
39
69
  export interface EveryAppDeployTarget {
40
70
  /** The Worker name the gateway registry assigned to this app. */
41
71
  workerName: string;
42
72
  /** The organization that owns the app; scopes the AppGateway binding. */
43
73
  organizationId: string;
74
+ /** The Cloudflare account the app is installed in. */
75
+ accountId: string;
44
76
  /** The gateway's URL, which is also the identity tokens' issuer. */
45
77
  gatewayUrl: string;
46
78
  /** SPKI PEM public keys (current + next) that verify identity tokens. */
@@ -61,6 +93,12 @@ export interface EveryAppDeployTarget {
61
93
  r2?: Record<string, {
62
94
  name: string;
63
95
  }>;
96
+ /** Vectorize indexes by binding, under the names the deploy provisioned. */
97
+ vectorize?: Record<string, {
98
+ name: string;
99
+ }>;
100
+ /** AI Gateways by binding: each binding's whole value. */
101
+ aiGateway?: Record<string, AiGatewayValue>;
64
102
  };
65
103
  }
66
104
  /** The target every production build is made for: placeholders throughout. */
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel.d.ts","sourceRoot":"","sources":["../../src/cloudflare/sentinel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,cAAc;;;IAKzB,qDAAqD;;;EAIrD,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,sEAAsE;AACtE,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE;QACV,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvB,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvB,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACnD,CAAC;CACH;AAED,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,SAAS,EAAE;QACT,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClD,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC5C,oEAAoE;QACpE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACvC,CAAC;CACH;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,gBAAgB,GACzB,oBAAoB,CA2BtB"}
1
+ {"version":3,"file":"sentinel.d.ts","sourceRoot":"","sources":["../../src/cloudflare/sentinel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,cAAc;;;IAKzB;;;;OAIG;;IAEH,qDAAqD;;;EAIrD,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,sEAAsE;AACtE,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE;QACV,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvB,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvB,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAClD,SAAS,CAAC,EAAE,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACjD,SAAS,CAAC,EAAE,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAClD,CAAC;CACH;AAED,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,SAAS,EAAE;QACT,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClD,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC5C,oEAAoE;QACpE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACtC,4EAA4E;QAC5E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC7C,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;KAC5C,CAAC;CACH;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,gBAAgB,GACzB,oBAAoB,CAwCtB"}
@@ -16,18 +16,32 @@ export const BUILD_SENTINEL = Object.freeze({
16
16
  // and a string rewrite of it can't hit anything else.
17
17
  workerName: "every-hosted--sentinel",
18
18
  organizationId: "everyapp-hosted-deploy-sentinel",
19
+ /**
20
+ * The Cloudflare account the app is installed in (an AI Gateway's URL
21
+ * holds it). Starts with the Worker name's placeholder, so an install
22
+ * rewrites it before that one.
23
+ */
24
+ accountId: "every-hosted--sentinel-account",
19
25
  /** The gateway's URL, and so the identity issuer. */
20
26
  gatewayUrl: "https://every-hosted--sentinel.invalid",
21
27
  publicKey: "-----BEGIN PUBLIC KEY-----\nEVERYAPPHOSTEDDEPLOYSENTINEL\n-----END PUBLIC KEY-----\n",
22
28
  });
23
29
  /**
24
30
  * A manifest binding's placeholder: a D1 database's name and id, an R2
25
- * bucket's name, a KV namespace's or Hyperdrive config's id. The installer
31
+ * bucket's or Vectorize index's name, a KV namespace's or Hyperdrive
32
+ * config's id. The installer
26
33
  * rewrites each by its binding name; the value only has to be recognizable.
34
+ * bucket's name, a KV namespace's, Hyperdrive config's or AI Gateway's id.
35
+ * The installer rewrites each by its binding name; the value only has to
36
+ * be recognizable.
27
37
  */
28
38
  export function resourceSentinel(binding) {
29
39
  return `${BUILD_SENTINEL.workerName}--${binding}`;
30
40
  }
41
+ /** Where an AI Gateway takes requests: `https://gateway.ai.cloudflare.com/v1/<account>/<id>`. */
42
+ export function aiGatewayUrl(accountId, id) {
43
+ return `https://gateway.ai.cloudflare.com/v1/${accountId}/${id}`;
44
+ }
31
45
  /** The target every production build is made for: placeholders throughout. */
32
46
  export function sentinelDeployTarget(manifest) {
33
47
  const byBinding = (bindings, value) => Object.fromEntries((bindings ?? []).map((binding) => [
@@ -38,6 +52,7 @@ export function sentinelDeployTarget(manifest) {
38
52
  return {
39
53
  workerName: BUILD_SENTINEL.workerName,
40
54
  organizationId: BUILD_SENTINEL.organizationId,
55
+ accountId: BUILD_SENTINEL.accountId,
41
56
  gatewayUrl: BUILD_SENTINEL.gatewayUrl,
42
57
  identityPublicKeys: [BUILD_SENTINEL.publicKey],
43
58
  resources: {
@@ -45,6 +60,12 @@ export function sentinelDeployTarget(manifest) {
45
60
  kv: byBinding(resources?.kv, (id) => ({ id })),
46
61
  hyperdrive: byBinding(resources?.hyperdrive?.map((config) => config.name), (id) => ({ id })),
47
62
  r2: byBinding(resources?.r2, (name) => ({ name })),
63
+ vectorize: byBinding(resources?.vectorize?.map((index) => index.name), (name) => ({ name })),
64
+ aiGateway: byBinding(resources?.aiGateway?.map((gateway) => gateway.name), (id) => ({
65
+ id,
66
+ accountId: BUILD_SENTINEL.accountId,
67
+ url: aiGatewayUrl(BUILD_SENTINEL.accountId, id),
68
+ })),
48
69
  },
49
70
  };
50
71
  }
@@ -1,3 +1,4 @@
1
+ import { type AiGatewayValue } from "./sentinel.js";
1
2
  /** A Durable Object or Workflow class, and the helper Worker defining it. */
2
3
  interface ClassResource {
3
4
  readonly name: string;
@@ -13,6 +14,24 @@ interface HyperdriveResource {
13
14
  /** Whether Hyperdrive caches its reads (the deploy's concern; "off" by default). */
14
15
  readonly caching?: "off" | "default";
15
16
  }
17
+ /**
18
+ * A Vectorize index: `dimensions` and `metric`, or a `preset` (the
19
+ * deploy's concern; the Worker only binds it by name).
20
+ */
21
+ interface VectorizeResource {
22
+ readonly name: string;
23
+ readonly dimensions?: number;
24
+ readonly metric?: string;
25
+ readonly preset?: string;
26
+ }
27
+ /** An AI Gateway of the app's own, which every one of its Workers binds. */
28
+ interface AiGatewayResource {
29
+ readonly name: string;
30
+ /** Whether the gateway logs each request (the deploy's concern; on by default). */
31
+ readonly collectLogs?: boolean;
32
+ /** How long the gateway caches a response, in seconds (the deploy's concern; 0 by default). */
33
+ readonly cacheTtl?: number;
34
+ }
16
35
  /** Cloudflare's limits for one of the app's Workers. */
17
36
  interface WorkerLimits {
18
37
  readonly cpuMs?: number;
@@ -40,6 +59,30 @@ export interface EveryAppWorkerManifest {
40
59
  * turns `remoteBindings` on (see {@link AiBinding}).
41
60
  */
42
61
  ai?: readonly string[];
62
+ /**
63
+ * Browser Rendering, by binding (`["BROWSER"]`), which every one of the
64
+ * app's Workers binds: nothing to create (Workers Paid). Local in
65
+ * development (see {@link BrowserBinding}).
66
+ */
67
+ browser?: readonly string[];
68
+ /**
69
+ * Cloudflare Images, by binding (`["IMAGES"]`), which every one of the
70
+ * app's Workers binds: nothing to create. Local in development (see
71
+ * {@link ImagesBinding}).
72
+ */
73
+ images?: readonly string[];
74
+ /**
75
+ * Vectorize indexes every one of the app's Workers binds, named
76
+ * `<app worker>--<binding>`. Cloudflare has no local Vectorize: in
77
+ * development each binding reaches the account's index (`dev.remote`),
78
+ * once the Vite plugin's `remoteBindings` is on and `cf auth login` ran.
79
+ */
80
+ vectorize?: readonly VectorizeResource[];
81
+ /**
82
+ * AI Gateways of the app's own, each `<app worker>-<binding>` in the
83
+ * account, bound on every Worker as `{ id, accountId, url }`.
84
+ */
85
+ aiGateway?: readonly AiGatewayResource[];
43
86
  };
44
87
  /**
45
88
  * Helper Workers deployed beside the app's Worker as
@@ -148,6 +191,16 @@ export interface HyperdriveBinding {
148
191
  connectionString?: string;
149
192
  };
150
193
  }
194
+ /** A JSON value the Worker reads as it is: `env.<NAME>` is `value`. */
195
+ export interface JsonBinding<T = unknown> {
196
+ type: "json";
197
+ value: T;
198
+ }
199
+ /**
200
+ * An AI Gateway of the app's own (`resources.aiGateway`): its id, account
201
+ * and URL, which the Worker reads as `env.<NAME>.id` and `env.<NAME>.url`.
202
+ */
203
+ export type AiGatewayBinding = JsonBinding<AiGatewayValue>;
151
204
  /**
152
205
  * Workers AI (`env.AI.run()`), which cf types as `Ai`. Deployed, it calls
153
206
  * the account's Workers AI. Miniflare has none locally: in development the
@@ -162,6 +215,37 @@ export interface AiBinding {
162
215
  remote?: boolean;
163
216
  };
164
217
  }
218
+ /**
219
+ * Browser Rendering (`env.BROWSER`, for `@cloudflare/puppeteer` or
220
+ * `@cloudflare/playwright`), which cf types as `BrowserRun`. Deployed, it
221
+ * drives a headless Chrome on Cloudflare (Workers Paid). In development
222
+ * the same binding reaches Miniflare's local stand-in: the first session
223
+ * downloads a Chrome into the global `.wrangler` cache and starts it.
224
+ */
225
+ export interface BrowserBinding {
226
+ type: "browser";
227
+ }
228
+ /**
229
+ * Cloudflare Images (`env.IMAGES.input(stream).transform(…).output(…)`,
230
+ * `env.IMAGES.info(stream)`), which cf types as the runtime's
231
+ * `ImagesBinding`. Deployed, it runs on Cloudflare and bills the account's
232
+ * Images transformations. In development Miniflare answers it locally with
233
+ * sharp, which ships with it.
234
+ */
235
+ export interface ImagesBinding {
236
+ type: "images";
237
+ }
238
+ /**
239
+ * A Vectorize index, by name. `dev.remote` sends development calls to the
240
+ * account's index: Cloudflare has no local Vectorize.
241
+ */
242
+ export interface VectorizeBinding {
243
+ type: "vectorize";
244
+ name: string;
245
+ dev?: {
246
+ remote?: boolean;
247
+ };
248
+ }
165
249
  /**
166
250
  * The app's own Worker, as the bindings of the Durable Objects it defines
167
251
  * name it when its entrypoint is a `cf-worker` module import. cf reads each
@@ -205,7 +289,7 @@ export interface ServiceBinding {
205
289
  export interface VersionMetadataBinding {
206
290
  type: "version-metadata";
207
291
  }
208
- export type EveryAppBinding = TextBinding | SecretBinding | D1Binding | KvBinding | R2Binding | HyperdriveBinding | AiBinding | DurableObjectBinding<string | EveryAppWorkerReference<object>> | WorkflowBinding | GatewayBinding | ServiceBinding | VersionMetadataBinding;
292
+ export type EveryAppBinding = TextBinding | SecretBinding | D1Binding | KvBinding | R2Binding | HyperdriveBinding | AiBinding | BrowserBinding | ImagesBinding | VectorizeBinding | AiGatewayBinding | DurableObjectBinding<string | EveryAppWorkerReference<object>> | WorkflowBinding | GatewayBinding | ServiceBinding | VersionMetadataBinding;
209
293
  export interface DurableObjectExport {
210
294
  type: "durable-object";
211
295
  storage: "sqlite";
@@ -234,6 +318,30 @@ type AiNames<M> = M extends {
234
318
  ai: readonly (infer B)[];
235
319
  };
236
320
  } ? B & string : never;
321
+ type BrowserNames<M> = M extends {
322
+ resources: {
323
+ browser: readonly (infer B)[];
324
+ };
325
+ } ? B & string : never;
326
+ type ImagesNames<M> = M extends {
327
+ resources: {
328
+ images: readonly (infer B)[];
329
+ };
330
+ } ? B & string : never;
331
+ type VectorizeNames<M> = M extends {
332
+ resources: {
333
+ vectorize: readonly (infer V)[];
334
+ };
335
+ } ? V extends {
336
+ name: infer N extends string;
337
+ } ? N : never : never;
338
+ type AiGatewayNames<M> = M extends {
339
+ resources: {
340
+ aiGateway: readonly (infer G)[];
341
+ };
342
+ } ? G extends {
343
+ name: infer N extends string;
344
+ } ? N : never : never;
237
345
  type DurableObjects<M> = M extends {
238
346
  resources: {
239
347
  durableObjects: readonly (infer D)[];
@@ -382,6 +490,14 @@ type ResourceEnv<M, TEntrypoint> = {
382
490
  [B in R2Names<M>]: R2Binding;
383
491
  } & {
384
492
  [B in AiNames<M>]: AiBinding;
493
+ } & {
494
+ [B in BrowserNames<M>]: BrowserBinding;
495
+ } & {
496
+ [B in ImagesNames<M>]: ImagesBinding;
497
+ } & {
498
+ [B in VectorizeNames<M>]: VectorizeBinding;
499
+ } & {
500
+ [B in AiGatewayNames<M>]: AiGatewayBinding;
385
501
  } & {
386
502
  [D in DurableObjects<M> as D extends {
387
503
  name: infer N extends string;
@@ -550,7 +666,8 @@ export interface EveryAppAuxiliaryWorkerConfig<TEntrypoint> {
550
666
  * Build the definition of one of the app's helper Workers (the manifest's
551
667
  * `workers`), e.g. one that runs a memory-hungry job away from the app's
552
668
  * Worker. It is named `<app worker>--<worker>`, is private like the app, and
553
- * binds the app's D1 databases, KV namespaces, R2 buckets and Workers AI, the classes it defines, and
669
+ * binds the app's D1 databases, KV namespaces, R2 buckets, Workers AI, Browser Rendering and Images, the classes it defines, and
670
+ * binds the app's D1 databases, KV namespaces, R2 buckets, Workers AI, Browser Rendering and Vectorize indexes, the classes it defines, and
554
671
  * the gateway (with the app's identity, for capabilities). Only the app's
555
672
  * Worker reaches it. Pass it to the Vite plugin:
556
673
  *
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { parseEnv } from "node:util";
5
5
  import { DEV_ISSUER, DEV_PUBLIC_KEY_PEM } from "../dev/keypair.js";
6
- import { sentinelDeployTarget } from "./sentinel.js";
6
+ import { sentinelDeployTarget, } from "./sentinel.js";
7
7
  /** The names of the manifest's `secrets`, whichever form each took. */
8
8
  function manifestSecretNames(manifest) {
9
9
  return (manifest.secrets ?? []).map((entry) => typeof entry === "string" ? entry : entry.name);
@@ -29,6 +29,8 @@ const DEV_GATEWAY_KEYS = {
29
29
  openai: ["OPENAI_API_KEY"],
30
30
  openrouter: ["OPENROUTER_API_KEY"],
31
31
  "workers-ai": ["WORKERS_AI_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID"],
32
+ // Not Cloudflare AI Gateway (the proxy entry): dev goes to the
33
+ // providers directly, so its settings are the Gateway's alone.
32
34
  // The AI providers of ../internal/catalog/inference.ts.
33
35
  anthropic: ["ANTHROPIC_API_KEY"],
34
36
  gemini: ["GEMINI_API_KEY"],
@@ -254,6 +256,8 @@ function devProviderKeys(manifest, root) {
254
256
  }
255
257
  /** Cloudflare's limit on a Workflow's name. */
256
258
  const MAX_WORKFLOW_NAME_LENGTH = 64;
259
+ /** Cloudflare's limit on a Vectorize index's name. */
260
+ const MAX_VECTORIZE_NAME_LENGTH = 64;
257
261
  /** Cloudflare's limit on a Worker's name. */
258
262
  const MAX_WORKER_NAME_LENGTH = 63;
259
263
  /**
@@ -312,6 +316,9 @@ export function everyAppWorker(options) {
312
316
  }
313
317
  Object.assign(env, storageBindings(manifest, name, deploy));
314
318
  addAiBindings(env, manifest, deploy);
319
+ addBrowserBindings(env, manifest);
320
+ addImagesBindings(env, manifest);
321
+ addAiGatewayBindings(env, manifest, name, deploy);
315
322
  addDatabaseBindings(env, options, name, undefined, deploy);
316
323
  // The app binds every class, a helper Worker's in that Worker, and
317
324
  // exports only its own.
@@ -370,7 +377,8 @@ export function everyAppWorker(options) {
370
377
  * Build the definition of one of the app's helper Workers (the manifest's
371
378
  * `workers`), e.g. one that runs a memory-hungry job away from the app's
372
379
  * Worker. It is named `<app worker>--<worker>`, is private like the app, and
373
- * binds the app's D1 databases, KV namespaces, R2 buckets and Workers AI, the classes it defines, and
380
+ * binds the app's D1 databases, KV namespaces, R2 buckets, Workers AI, Browser Rendering and Images, the classes it defines, and
381
+ * binds the app's D1 databases, KV namespaces, R2 buckets, Workers AI, Browser Rendering and Vectorize indexes, the classes it defines, and
374
382
  * the gateway (with the app's identity, for capabilities). Only the app's
375
383
  * Worker reaches it. Pass it to the Vite plugin:
376
384
  *
@@ -406,6 +414,9 @@ export function everyAppAuxiliaryWorker(options) {
406
414
  addDevProviders(env, options.root);
407
415
  }
408
416
  addAiBindings(env, manifest, deploy);
417
+ addBrowserBindings(env, manifest);
418
+ addImagesBindings(env, manifest);
419
+ addAiGatewayBindings(env, manifest, appWorker, deploy);
409
420
  addDatabaseBindings(env, options, appWorker, worker, deploy);
410
421
  const { bindings, exports } = classBindings(manifest, appWorker, worker, env);
411
422
  Object.assign(env, bindings);
@@ -472,8 +483,8 @@ function gatewayBinding(deploy, appId, appWorker) {
472
483
  };
473
484
  }
474
485
  /**
475
- * The app's D1 databases, KV namespaces and R2 buckets, which all its
476
- * Workers share.
486
+ * The app's D1 databases, KV namespaces, R2 buckets and Vectorize indexes,
487
+ * which all its Workers share.
477
488
  */
478
489
  function storageBindings(manifest, appWorker, deploy) {
479
490
  const env = {};
@@ -523,6 +534,27 @@ function storageBindings(manifest, appWorker, deploy) {
523
534
  env[binding] = { type: "r2", name: bucketNameFor(appWorker, binding) };
524
535
  }
525
536
  }
537
+ // Deployed, the index the deploy provisioned (a placeholder until
538
+ // installed); in development the account's index of the dev Worker's
539
+ // name, reached remotely: Cloudflare has no local Vectorize, so calls
540
+ // throw until the Vite plugin's remoteBindings is on.
541
+ for (const { name: binding } of manifest.resources?.vectorize ?? []) {
542
+ if (env[binding]) {
543
+ throw new Error(`vectorize: ${binding} reuses a binding name the Worker already has.`);
544
+ }
545
+ if (deploy) {
546
+ env[binding] = {
547
+ type: "vectorize",
548
+ name: provisioned(deploy.resources.vectorize, binding).name,
549
+ };
550
+ continue;
551
+ }
552
+ const index = suffixedName(appWorker, binding);
553
+ if (index.length > MAX_VECTORIZE_NAME_LENGTH) {
554
+ throw new Error(`vectorize: ${binding} would be the Vectorize index "${index}", longer than Cloudflare's ${MAX_VECTORIZE_NAME_LENGTH} characters; shorten the binding name.`);
555
+ }
556
+ env[binding] = { type: "vectorize", name: index, dev: { remote: true } };
557
+ }
526
558
  return env;
527
559
  }
528
560
  /**
@@ -542,6 +574,50 @@ function addAiBindings(env, manifest, deploy) {
542
574
  : { type: "ai", dev: { remote: true } };
543
575
  }
544
576
  }
577
+ /**
578
+ * The manifest's Browser Rendering bindings, which every one of the app's
579
+ * Workers gets: `{ type: "browser" }` in both modes (account-wide,
580
+ * nothing to provision; Miniflare serves a local browser in development).
581
+ */
582
+ function addBrowserBindings(env, manifest) {
583
+ for (const binding of manifest.resources?.browser ?? []) {
584
+ if (env[binding]) {
585
+ throw new Error(`browser: ${binding} reuses a binding name the Worker already has.`);
586
+ }
587
+ env[binding] = { type: "browser" };
588
+ }
589
+ }
590
+ /**
591
+ * The manifest's Images bindings, which every one of the app's Workers
592
+ * gets: `{ type: "images" }` in both modes (account-wide, nothing to
593
+ * provision; Miniflare answers it locally in development).
594
+ */
595
+ function addImagesBindings(env, manifest) {
596
+ for (const binding of manifest.resources?.images ?? []) {
597
+ if (env[binding]) {
598
+ throw new Error(`images: ${binding} reuses a binding name the Worker already has.`);
599
+ }
600
+ env[binding] = { type: "images" };
601
+ }
602
+ }
603
+ /**
604
+ * The app's AI Gateways, which all its Workers share, each a `json`
605
+ * binding of `{ id, accountId, url }`. Deployed, the gateway the deploy
606
+ * provisioned (a placeholder until installed); in development the id the
607
+ * deploy's rule gives, with an empty account and URL: there is no gateway,
608
+ * so the app calls the provider directly.
609
+ */
610
+ function addAiGatewayBindings(env, manifest, appWorker, deploy) {
611
+ for (const { name: binding } of manifest.resources?.aiGateway ?? []) {
612
+ if (env[binding]) {
613
+ throw new Error(`aiGateway: ${binding} reuses a binding name the Worker already has.`);
614
+ }
615
+ const value = deploy
616
+ ? { ...provisioned(deploy.resources.aiGateway, binding) }
617
+ : { id: aiGatewayIdFor(appWorker, binding), accountId: "", url: "" };
618
+ env[binding] = { type: "json", value };
619
+ }
620
+ }
545
621
  /**
546
622
  * DATABASE_PROVIDER and the Hyperdrive configs one of the app's Workers
547
623
  * binds: each config every Worker shares, and those a helper (`forWorker`)
@@ -788,8 +864,9 @@ function workerNameFor(appId) {
788
864
  }
789
865
  /**
790
866
  * Copies of the gateway's naming rules (@every-app/perimeter/manifest's
791
- * resourceNameFor and bucketNameFor): `DB` and `KV` (`R2` for a bucket) take
792
- * the Worker's name, any other binding `<worker>--<binding>`.
867
+ * resourceNameFor, bucketNameFor and vectorizeNameFor): `DB` and `KV` (`R2`
868
+ * for a bucket) take the Worker's name, any other binding (and every
869
+ * Vectorize index) `<worker>--<binding>`.
793
870
  */
794
871
  function resourceNameFor(workerName, binding) {
795
872
  return binding === "DB" || binding === "KV"
@@ -802,6 +879,13 @@ function bucketNameFor(workerName, binding) {
802
879
  function suffixedName(workerName, binding) {
803
880
  return `${workerName}--${binding.toLowerCase().replaceAll("_", "-")}`;
804
881
  }
882
+ /**
883
+ * A copy of the gateway's aiGatewayIdFor: one hyphen, since an AI
884
+ * Gateway's id may not hold `--`.
885
+ */
886
+ function aiGatewayIdFor(workerName, binding) {
887
+ return `${workerName}-${binding.toLowerCase().replaceAll("_", "-")}`;
888
+ }
805
889
  function assertAppId(id) {
806
890
  if (typeof id !== "string" || !/^[a-z]([a-z0-9-]*[a-z0-9])?$/.test(id)) {
807
891
  throw new Error(`everyapp.config.ts id must be kebab-case (lowercase letters, digits, hyphens); got ${JSON.stringify(id)}.`);