@portel/photon-core 2.26.0 → 2.27.0

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 (50) hide show
  1. package/README.md +121 -0
  2. package/dist/base.d.ts +27 -0
  3. package/dist/base.d.ts.map +1 -1
  4. package/dist/base.js +27 -0
  5. package/dist/base.js.map +1 -1
  6. package/dist/cf.d.ts +121 -0
  7. package/dist/cf.d.ts.map +1 -0
  8. package/dist/cf.js +65 -0
  9. package/dist/cf.js.map +1 -0
  10. package/dist/cloudflare.d.ts +110 -0
  11. package/dist/cloudflare.d.ts.map +1 -0
  12. package/dist/cloudflare.js +138 -0
  13. package/dist/cloudflare.js.map +1 -0
  14. package/dist/collections/Collection.d.ts +12 -0
  15. package/dist/collections/Collection.d.ts.map +1 -1
  16. package/dist/collections/Collection.js +19 -0
  17. package/dist/collections/Collection.js.map +1 -1
  18. package/dist/env.d.ts +29 -0
  19. package/dist/env.d.ts.map +1 -0
  20. package/dist/env.js +2 -0
  21. package/dist/env.js.map +1 -0
  22. package/dist/index.d.ts +3 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/mixins.d.ts.map +1 -1
  27. package/dist/mixins.js +10 -0
  28. package/dist/mixins.js.map +1 -1
  29. package/dist/photon-loader-lite.d.ts +17 -0
  30. package/dist/photon-loader-lite.d.ts.map +1 -1
  31. package/dist/photon-loader-lite.js +150 -1
  32. package/dist/photon-loader-lite.js.map +1 -1
  33. package/dist/schema-extractor.d.ts +4 -1
  34. package/dist/schema-extractor.d.ts.map +1 -1
  35. package/dist/schema-extractor.js +54 -0
  36. package/dist/schema-extractor.js.map +1 -1
  37. package/dist/types.d.ts +1 -1
  38. package/dist/types.d.ts.map +1 -1
  39. package/dist/types.js.map +1 -1
  40. package/package.json +3 -2
  41. package/src/base.ts +29 -0
  42. package/src/cf.ts +165 -0
  43. package/src/cloudflare.ts +198 -0
  44. package/src/collections/Collection.ts +19 -0
  45. package/src/env.ts +28 -0
  46. package/src/index.ts +27 -0
  47. package/src/mixins.ts +12 -0
  48. package/src/photon-loader-lite.ts +185 -0
  49. package/src/schema-extractor.ts +74 -1
  50. package/src/types.ts +16 -1
package/README.md CHANGED
@@ -175,6 +175,12 @@ export default class MyPhoton extends Photon {
175
175
  - `getLock(name)` - Query who holds a lock
176
176
  - `withLock(name, fn, timeout?)` - Execute function with a binary mutex lock
177
177
 
178
+ **MCP workspace roots** (v2.26.0+):
179
+ - `this.roots` - `Array<{ uri: string; name?: string }>` of roots declared by the connected client (`roots/list`). Empty when running outside a live MCP session.
180
+
181
+ **Resource subscriptions** (v2.26.0+):
182
+ - `notifyResourceUpdated(uri)` - Trigger `notifications/resources/updated` for every client subscribed to `uri`. No-op in CLI/test context; runtime wires it automatically.
183
+
178
184
  **Lifecycle hooks:**
179
185
  - `onInitialize()` - Called when photon is initialized
180
186
  - `onShutdown()` - Called when photon is shut down
@@ -341,6 +347,37 @@ interface ExtractedSchema {
341
347
  */
342
348
  ```
343
349
 
350
+ **Method-level role tags (v2.26.0+):**
351
+
352
+ | Tag | Meaning |
353
+ |-----|---------|
354
+ | `@resource <uri-template>` | Dynamic MCP resource resolver (canonical; replaces legacy `@Static`) |
355
+ | `@prompt` | MCP prompt template (canonical; replaces legacy `@Template`) |
356
+ | `@get /path` | HTTP-only GET route, not exposed as an MCP tool |
357
+ | `@post /path` | HTTP-only POST route, not exposed as an MCP tool |
358
+ | `@auth cf-access` | Authenticate caller via Cloudflare Access JWT |
359
+
360
+ ```typescript
361
+ export default class MyPhoton extends Photon {
362
+ /**
363
+ * @resource person://{slug}
364
+ */
365
+ async getPerson(params: { slug: string }) { ... }
366
+
367
+ /**
368
+ * @prompt
369
+ */
370
+ async summaryPrompt(params: { topic: string }) { ... }
371
+
372
+ /**
373
+ * @get /health
374
+ */
375
+ async healthCheck() { return { ok: true }; }
376
+ }
377
+ ```
378
+
379
+ `@get` and `@post` routes appear in `ExtractedMetadata.httpRoutes` as `{ method, path, handler }` and are not included in the MCP tool list.
380
+
344
381
  ---
345
382
 
346
383
  ### Generator Support (Ask/Emit Pattern)
@@ -428,6 +465,7 @@ export default class Chess extends Photon {
428
465
  | `@auth required` | All methods require a valid JWT. Anonymous callers get 401. |
429
466
  | `@auth optional` | Caller populated if token present, anonymous allowed. |
430
467
  | `@auth https://accounts.google.com` | Specifies the OIDC provider URL (implies required). |
468
+ | `@auth cf-access` | Validate Cloudflare Access JWT (for photons deployed to Workers). |
431
469
 
432
470
  **`this.caller` properties:**
433
471
 
@@ -443,6 +481,89 @@ The MCP transport handles the OAuth 2.1 flow per the [MCP authorization spec](ht
443
481
 
444
482
  ---
445
483
 
484
+ ### Cloudflare Injection (v2.27.0+)
485
+
486
+ Photons deployed to Cloudflare Workers get first-class access to platform bindings through constructor injection. The import line is the deployment-target signal - it documents the dependency and lets the loader wire the correct backend.
487
+
488
+ **Three injectable types:**
489
+
490
+ ```typescript
491
+ import { Photon, Cloudflare, CloudflareEnv } from '@portel/photon-core';
492
+
493
+ export default class MyPhoton {
494
+ constructor(
495
+ private photon: Photon, // Runtime capabilities (memory, emit, schedule...)
496
+ private cf: Cloudflare, // CF bindings (KV, R2, D1, AI...)
497
+ private env: CloudflareEnv<Env>, // Raw Worker env for the escape hatch
498
+ ) {}
499
+ }
500
+ ```
501
+
502
+ All three are optional and combinable. Photons that `extends Photon` can still add `Cloudflare` or `CloudflareEnv` constructor parameters.
503
+
504
+ **`Cloudflare` binding methods:**
505
+
506
+ | Method | CF Binding | Auto-name |
507
+ |--------|-----------|-----------|
508
+ | `cf.kv(qualifier?)` | KVNamespace | `{photon}_kv` / `{photon}_{qualifier}_kv` |
509
+ | `cf.r2(qualifier?)` | R2Bucket | `{photon}_r2` / `{photon}_{qualifier}_r2` |
510
+ | `cf.d1(qualifier?)` | D1Database | `{photon}_d1` / `{photon}_{qualifier}_d1` |
511
+ | `cf.queue(qualifier?)` | Queue | `{photon}_queue` / `{photon}_{qualifier}_queue` |
512
+ | `cf.ai()` | AI gateway | `AI` (canonical, shared) |
513
+ | `cf.images()` | Images binding | `IMAGES` (canonical, shared) |
514
+ | `cf.browser()` | Browser rendering | `BROWSER` (canonical, shared) |
515
+
516
+ Photon names with hyphens normalize to underscores in binding names (`my-shop` -> `my_shop_kv`).
517
+
518
+ ```typescript
519
+ import { Cloudflare } from '@portel/photon-core';
520
+
521
+ export default class ShopPhoton {
522
+ constructor(private cf: Cloudflare) {}
523
+
524
+ async getProduct(params: { id: string }) {
525
+ const kv = this.cf.kv(); // SHOP_KV binding
526
+ return await kv.get(params.id, 'json');
527
+ }
528
+
529
+ async getCachedAsset(params: { key: string }) {
530
+ const cache = this.cf.kv('cache'); // SHOP_CACHE_KV binding
531
+ return await cache.get(params.key);
532
+ }
533
+ }
534
+ ```
535
+
536
+ **`Photon` injection mode** (for photons that already extend another base class):
537
+
538
+ ```typescript
539
+ import { Photon } from '@portel/photon-core';
540
+
541
+ export default class MyPhoton extends SomeOtherBase {
542
+ constructor(private photon: Photon) {}
543
+
544
+ async save(params: { key: string; value: string }) {
545
+ await this.photon.memory.set(params.key, params.value);
546
+ // Same memory store as if the class had `extends Photon`
547
+ }
548
+ }
549
+ ```
550
+
551
+ **Forgiving auto-inject** - plain classes that reference `this.cf.*` without declaring the constructor parameter still get the field populated after construction, matching the existing behavior for `this.memory` and `this.emit`.
552
+
553
+ **Host utilities:**
554
+
555
+ ```typescript
556
+ import { createCloudflareFromEnv } from '@portel/photon-core';
557
+
558
+ // In a deployed Worker or test harness:
559
+ const cf = createCloudflareFromEnv(env, 'my-photon');
560
+ // Constructs a Cloudflare surface backed by real CF bindings using the auto-naming convention.
561
+ ```
562
+
563
+ Outside Cloudflare, the loader injects a throwing Proxy whose error message names the imported symbol, so the failure is clear at the call site.
564
+
565
+ ---
566
+
446
567
  ### Stateful Workflows (Checkpoint Pattern)
447
568
 
448
569
  For long-running workflows that need to survive interruptions, use checkpoint yields:
package/dist/base.d.ts CHANGED
@@ -120,6 +120,33 @@ export declare class Photon {
120
120
  * @internal
121
121
  */
122
122
  _sessionId?: string;
123
+ /**
124
+ * Cloudflare Worker env, present only when the photon runs on a
125
+ * deployed CF Worker. Carries bindings (KV, R2, secrets, custom env
126
+ * vars) that aren't part of the typed `this.cf.*` namespace. Undefined
127
+ * on the local CLI / Beam daemon.
128
+ *
129
+ * Typed loosely so photon-core stays free of `@cloudflare/workers-types`.
130
+ * Photons that need exact binding shapes can re-declare the property
131
+ * with a stricter type.
132
+ */
133
+ readonly env?: Record<string, unknown>;
134
+ /**
135
+ * True when the active `/mcp` request passed the `PHOTON_MCP_BEARER`
136
+ * Worker secret check. False/undefined when:
137
+ * - no secret is configured (the bearer gate is off),
138
+ * - the photon is running locally (CLI / Beam),
139
+ * - the call arrived via `/api/*`, `__call`, or any path other than
140
+ * a transport-authed `tools/call`.
141
+ *
142
+ * User code can guard sensitive methods with:
143
+ * ```typescript
144
+ * if (!this.mcpAuthed) throw new Error('unauthorized');
145
+ * ```
146
+ * Backed by AsyncLocalStorage on the deployed Worker so concurrent
147
+ * tool calls each see their own value.
148
+ */
149
+ readonly mcpAuthed?: boolean;
123
150
  /**
124
151
  * Authenticated caller identity
125
152
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
package/dist/base.js CHANGED
@@ -120,6 +120,33 @@ export class Photon {
120
120
  * @internal
121
121
  */
122
122
  _sessionId;
123
+ /**
124
+ * Cloudflare Worker env, present only when the photon runs on a
125
+ * deployed CF Worker. Carries bindings (KV, R2, secrets, custom env
126
+ * vars) that aren't part of the typed `this.cf.*` namespace. Undefined
127
+ * on the local CLI / Beam daemon.
128
+ *
129
+ * Typed loosely so photon-core stays free of `@cloudflare/workers-types`.
130
+ * Photons that need exact binding shapes can re-declare the property
131
+ * with a stricter type.
132
+ */
133
+ env;
134
+ /**
135
+ * True when the active `/mcp` request passed the `PHOTON_MCP_BEARER`
136
+ * Worker secret check. False/undefined when:
137
+ * - no secret is configured (the bearer gate is off),
138
+ * - the photon is running locally (CLI / Beam),
139
+ * - the call arrived via `/api/*`, `__call`, or any path other than
140
+ * a transport-authed `tools/call`.
141
+ *
142
+ * User code can guard sensitive methods with:
143
+ * ```typescript
144
+ * if (!this.mcpAuthed) throw new Error('unauthorized');
145
+ * ```
146
+ * Backed by AsyncLocalStorage on the deployed Worker so concurrent
147
+ * tool calls each see their own value.
148
+ */
149
+ mcpAuthed;
123
150
  /**
124
151
  * Authenticated caller identity
125
152
  *
package/dist/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
package/dist/cf.d.ts ADDED
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Cloudflare capability surface — `this.cf.*`
3
+ *
4
+ * Photons reach into Cloudflare features (R2, KV, D1, Workers AI, Queues,
5
+ * Vectorize, Images, Browser Rendering, Durable Objects) through one
6
+ * namespace. The runtime adapter that wraps a photon decides what backs
7
+ * each binding:
8
+ *
9
+ * - Local: `miniflare` provides an in-process sandbox seeded from the
10
+ * photon's `protected cfBindings = { ... }` config.
11
+ * - Deployed Worker: the real `env` is proxied through.
12
+ *
13
+ * Both paths satisfy the same shape, so the photon source is unchanged.
14
+ *
15
+ * Typing: we publish minimal structural shapes here rather than re-exporting
16
+ * `@cloudflare/workers-types`. The cost of importing the full workers-types
17
+ * tree (~6k lines of declarations) into every photon's transform pipeline
18
+ * showed up as flaky `EPIPE` errors under tsx. Photons that already use
19
+ * workers-types get exact compatibility through structural typing — assign
20
+ * a `R2Bucket` from workers-types into our `R2BucketLike` and TS accepts
21
+ * it. Photons that don't use workers-types still see typed methods on
22
+ * the namespace and full autocomplete on the runtime methods we expose
23
+ * here.
24
+ */
25
+ /**
26
+ * Minimal R2 bucket surface — covers the methods photons actually call.
27
+ * Structurally compatible with `@cloudflare/workers-types` `R2Bucket`.
28
+ */
29
+ export interface R2BucketLike {
30
+ head(key: string): Promise<unknown>;
31
+ get(key: string, options?: unknown): Promise<unknown>;
32
+ put(key: string, value: unknown, options?: unknown): Promise<unknown>;
33
+ delete(keys: string | string[]): Promise<void>;
34
+ list(options?: unknown): Promise<unknown>;
35
+ }
36
+ /** Minimal KV namespace surface. */
37
+ export interface KVNamespaceLike {
38
+ get(key: string, options?: unknown): Promise<unknown>;
39
+ put(key: string, value: string | ArrayBuffer | ArrayBufferView | ReadableStream, options?: unknown): Promise<void>;
40
+ delete(key: string): Promise<void>;
41
+ list(options?: unknown): Promise<unknown>;
42
+ }
43
+ /** Minimal D1 database surface. */
44
+ export interface D1DatabaseLike {
45
+ prepare(query: string): D1PreparedStatementLike;
46
+ batch<T = unknown>(statements: D1PreparedStatementLike[]): Promise<T[]>;
47
+ exec(query: string): Promise<unknown>;
48
+ dump(): Promise<ArrayBuffer>;
49
+ }
50
+ /** Minimal D1 prepared statement surface. */
51
+ export interface D1PreparedStatementLike {
52
+ bind(...values: unknown[]): D1PreparedStatementLike;
53
+ first<T = unknown>(colName?: string): Promise<T | null>;
54
+ run<T = unknown>(): Promise<T>;
55
+ all<T = unknown>(): Promise<T>;
56
+ raw<T = unknown>(): Promise<T[]>;
57
+ }
58
+ /** Minimal queue surface. */
59
+ export interface QueueLike<Body = unknown> {
60
+ send(message: Body, options?: unknown): Promise<void>;
61
+ sendBatch(messages: {
62
+ body: Body;
63
+ }[], options?: unknown): Promise<void>;
64
+ }
65
+ /** Minimal vectorize surface. */
66
+ export interface VectorizeIndexLike {
67
+ insert(vectors: unknown[]): Promise<unknown>;
68
+ upsert(vectors: unknown[]): Promise<unknown>;
69
+ query(vector: number[], options?: unknown): Promise<unknown>;
70
+ getByIds(ids: string[]): Promise<unknown>;
71
+ deleteByIds(ids: string[]): Promise<unknown>;
72
+ }
73
+ /** Minimal Workers AI surface. */
74
+ export interface AiLike {
75
+ run(model: string, inputs: unknown, options?: unknown): Promise<unknown>;
76
+ }
77
+ /** Minimal Cloudflare Images binding surface. */
78
+ export interface ImagesBindingLike {
79
+ info(stream: ReadableStream): Promise<unknown>;
80
+ input(stream: ReadableStream): unknown;
81
+ }
82
+ /** Minimal Fetcher surface (Service binding / Browser Rendering). */
83
+ export interface FetcherLike {
84
+ fetch(input: string, init?: unknown): Promise<unknown>;
85
+ }
86
+ /** Minimal Durable Object namespace surface. */
87
+ export interface DurableObjectNamespaceLike {
88
+ idFromName(name: string): unknown;
89
+ idFromString(id: string): unknown;
90
+ newUniqueId(): unknown;
91
+ get(id: unknown): {
92
+ fetch(input: string, init?: unknown): Promise<unknown>;
93
+ };
94
+ }
95
+ /**
96
+ * Cloudflare runtime surface as exposed via `this.cf`.
97
+ *
98
+ * Each subnamespace returns either an upstream Cloudflare type or a
99
+ * runtime-supplied proxy with the same shape. Backends:
100
+ * - Local: miniflare instance configured from `protected cfBindings`.
101
+ * - Deployed Worker: real `env.<binding>` passed through.
102
+ */
103
+ export interface CFRuntime {
104
+ r2(name: string): R2BucketLike;
105
+ kv(name: string): KVNamespaceLike;
106
+ d1(name: string): D1DatabaseLike;
107
+ queue<Body = unknown>(name: string): QueueLike<Body>;
108
+ vectorize(name: string): VectorizeIndexLike;
109
+ ai: AiLike;
110
+ images: ImagesBindingLike;
111
+ browser: FetcherLike;
112
+ fetch(input: string, init?: unknown): Promise<unknown>;
113
+ }
114
+ /**
115
+ * Returns a stub `CFRuntime` whose subnamespaces throw a helpful error
116
+ * when used. Callers should hold one instance per photon (mirrors the
117
+ * `_memory` and `_schedule` lazy-init pattern) so identity-sensitive
118
+ * checks remain consistent across reads of `this.cf`.
119
+ */
120
+ export declare function notConfiguredCF(): CFRuntime;
121
+ //# sourceMappingURL=cf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf.d.ts","sourceRoot":"","sources":["../src/cf.ts"],"names":[],"mappings":"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"}
package/dist/cf.js ADDED
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Cloudflare capability surface — `this.cf.*`
3
+ *
4
+ * Photons reach into Cloudflare features (R2, KV, D1, Workers AI, Queues,
5
+ * Vectorize, Images, Browser Rendering, Durable Objects) through one
6
+ * namespace. The runtime adapter that wraps a photon decides what backs
7
+ * each binding:
8
+ *
9
+ * - Local: `miniflare` provides an in-process sandbox seeded from the
10
+ * photon's `protected cfBindings = { ... }` config.
11
+ * - Deployed Worker: the real `env` is proxied through.
12
+ *
13
+ * Both paths satisfy the same shape, so the photon source is unchanged.
14
+ *
15
+ * Typing: we publish minimal structural shapes here rather than re-exporting
16
+ * `@cloudflare/workers-types`. The cost of importing the full workers-types
17
+ * tree (~6k lines of declarations) into every photon's transform pipeline
18
+ * showed up as flaky `EPIPE` errors under tsx. Photons that already use
19
+ * workers-types get exact compatibility through structural typing — assign
20
+ * a `R2Bucket` from workers-types into our `R2BucketLike` and TS accepts
21
+ * it. Photons that don't use workers-types still see typed methods on
22
+ * the namespace and full autocomplete on the runtime methods we expose
23
+ * here.
24
+ */
25
+ const HINT = 'No Cloudflare runtime is configured. Either run this photon under a ' +
26
+ 'CF-aware host (local Beam with miniflare, or deployed to Cloudflare ' +
27
+ 'Workers), declare `protected cfBindings = { ... }` on the class, or ' +
28
+ 'remove the `this.cf` usage.';
29
+ function throwingFn(category) {
30
+ return (..._args) => {
31
+ throw new Error(`this.cf.${category}() called but ${HINT}`);
32
+ };
33
+ }
34
+ function throwingProperty(category) {
35
+ return new Proxy(Object.create(null), {
36
+ get(_target, prop) {
37
+ if (prop === Symbol.toPrimitive || prop === 'toString') {
38
+ return () => `[unconfigured this.cf.${category}]`;
39
+ }
40
+ throw new Error(`this.cf.${category}.${String(prop)} accessed but ${HINT}`);
41
+ },
42
+ });
43
+ }
44
+ /**
45
+ * Returns a stub `CFRuntime` whose subnamespaces throw a helpful error
46
+ * when used. Callers should hold one instance per photon (mirrors the
47
+ * `_memory` and `_schedule` lazy-init pattern) so identity-sensitive
48
+ * checks remain consistent across reads of `this.cf`.
49
+ */
50
+ export function notConfiguredCF() {
51
+ return {
52
+ r2: throwingFn('r2'),
53
+ kv: throwingFn('kv'),
54
+ d1: throwingFn('d1'),
55
+ queue: throwingFn('queue'),
56
+ vectorize: throwingFn('vectorize'),
57
+ ai: throwingProperty('ai'),
58
+ images: throwingProperty('images'),
59
+ browser: throwingProperty('browser'),
60
+ fetch: ((_input, _init) => {
61
+ throw new Error(`this.cf.fetch() called but ${HINT}`);
62
+ }),
63
+ };
64
+ }
65
+ //# sourceMappingURL=cf.js.map
package/dist/cf.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf.js","sourceRoot":"","sources":["../src/cf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAkGH,MAAM,IAAI,GACR,sEAAsE;IACtE,sEAAsE;IACtE,sEAAsE;IACtE,6BAA6B,CAAC;AAEhC,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,CAAC,GAAG,KAAgB,EAAE,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACpC,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC,yBAAyB,QAAQ,GAAG,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;KACF,CAAU,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,IAAI,CAAoB;QACvC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAoB;QACvC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAoB;QACvC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAuB;QAChD,SAAS,EAAE,UAAU,CAAC,WAAW,CAA2B;QAC5D,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAsB;QAC/C,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAiC;QAClE,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAA2B;QAC9D,KAAK,EAAE,CAAC,CAAC,MAAc,EAAE,KAAe,EAAE,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC,CAAuB;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Cloudflare — wrapped, auto-named CF surface injected via constructor.
3
+ *
4
+ * Where `CloudflareEnv<T>` exposes the raw Worker `env` (escape hatch for
5
+ * service bindings, exotic features, anything we don't wrap), `Cloudflare`
6
+ * is the ergonomic 95% path: photons call `cf.kv()` / `cf.r2()` / etc.
7
+ * with optional qualifier strings, and the runtime resolves bindings by
8
+ * the **photon name + suffix** convention — so authors never pick names
9
+ * that could collide across photons.
10
+ *
11
+ * Importing `Cloudflare` (or `CloudflareEnv`) into a photon's source is
12
+ * the explicit signal that the photon depends on a Cloudflare deploy
13
+ * target. Outside of CF (or its local miniflare mirror), the loader
14
+ * injects a throwing Proxy and the message names the imported symbol so
15
+ * the diagnostic is unambiguous.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * import type { Photon, Cloudflare } from "@portel/photon";
20
+ *
21
+ * export class Gallery {
22
+ * constructor(
23
+ * private photon: Photon,
24
+ * private cf: Cloudflare,
25
+ * ) {}
26
+ * async upload(name: string, blob: Blob) {
27
+ * await this.cf.r2().put(name, blob); // gallery_r2
28
+ * await this.cf.d1().prepare("...").bind(name).run(); // gallery_d1
29
+ * await this.photon.memory.set(name, Date.now());
30
+ * }
31
+ * }
32
+ * ```
33
+ *
34
+ * Multi-resource case — qualifier namespaces under the photon:
35
+ * ```ts
36
+ * this.cf.kv() // gallery_kv (default for this photon)
37
+ * this.cf.kv("cache") // gallery_cache_kv
38
+ * this.cf.kv("sessions") // gallery_sessions_kv
39
+ * ```
40
+ *
41
+ * Override path stays in `protected cfBindings = { ... }` — present only
42
+ * when an author needs to point a named binding at a pre-existing CF
43
+ * resource owned outside the photon.
44
+ */
45
+ import { type R2BucketLike, type KVNamespaceLike, type D1DatabaseLike, type QueueLike, type VectorizeIndexLike, type AiLike, type ImagesBindingLike, type FetcherLike } from './cf.js';
46
+ /**
47
+ * The wrapped Cloudflare surface. Methods that take a resource type
48
+ * (kv, r2, d1, queue, vectorize) accept an **optional** qualifier — when
49
+ * omitted, the runtime resolves the photon's default binding for that
50
+ * category. AI / images / browser are single shared bindings per Worker
51
+ * and have no qualifier.
52
+ */
53
+ export interface Cloudflare {
54
+ /** Resolves to `<photonName>_kv` (default) or `<photonName>_<qualifier>_kv`. */
55
+ kv(qualifier?: string): KVNamespaceLike;
56
+ /** Resolves to `<photonName>_r2` (default) or `<photonName>_<qualifier>_r2`. */
57
+ r2(qualifier?: string): R2BucketLike;
58
+ /** Resolves to `<photonName>_d1` (default) or `<photonName>_<qualifier>_d1`. */
59
+ d1(qualifier?: string): D1DatabaseLike;
60
+ /** Resolves to `<photonName>_queue` (default) or `<photonName>_<qualifier>_queue`. */
61
+ queue<Body = unknown>(qualifier?: string): QueueLike<Body>;
62
+ /** Resolves to `<photonName>_vectorize` (default) or `<photonName>_<qualifier>_vectorize`. */
63
+ vectorize(qualifier?: string): VectorizeIndexLike;
64
+ /** Workers AI — shared `AI` binding. */
65
+ readonly ai: AiLike;
66
+ /** Cloudflare Images — shared `IMAGES` binding. */
67
+ readonly images: ImagesBindingLike;
68
+ /** Browser Rendering — shared `BROWSER` binding. */
69
+ readonly browser: FetcherLike;
70
+ /** Top-level fetch (with optional service-binding routing). */
71
+ fetch(input: string, init?: unknown): Promise<unknown>;
72
+ }
73
+ /**
74
+ * Categories that are scoped per-photon and use the auto-naming
75
+ * convention. Shared categories (ai, images, browser) live outside this
76
+ * list and resolve to fixed binding names.
77
+ */
78
+ export type ScopedBindingCategory = 'kv' | 'r2' | 'd1' | 'queue' | 'vectorize';
79
+ /**
80
+ * Build the env binding name for a scoped category on a given photon.
81
+ * Default (no qualifier): `<photon>_<category>` (e.g. `gallery_kv`).
82
+ * With qualifier: `<photon>_<qualifier>_<category>` (e.g. `gallery_cache_kv`).
83
+ *
84
+ * The helper is exported so deploy-side codegen (wrangler.toml emission)
85
+ * uses the same naming rule the runtime resolves with.
86
+ */
87
+ export declare function bindingNameFor(photonName: string, category: ScopedBindingCategory, qualifier?: string): string;
88
+ /** Fixed binding name for a shared category. */
89
+ export declare const SHARED_AI_BINDING = "AI";
90
+ export declare const SHARED_IMAGES_BINDING = "IMAGES";
91
+ export declare const SHARED_BROWSER_BINDING = "BROWSER";
92
+ /**
93
+ * Throwing-Proxy fallback. Used by the loader when a photon's
94
+ * constructor types a `Cloudflare` parameter but no CF runtime was
95
+ * provided (e.g. unit tests that didn't pass a stub, or local hosts
96
+ * without miniflare configured).
97
+ */
98
+ export declare function notConfiguredCloudflare(): Cloudflare;
99
+ /**
100
+ * Build a `Cloudflare` surface backed directly by a Worker `env` (the
101
+ * deployed-CF case). Resolves auto-named bindings via the convention in
102
+ * `bindingNameFor`. Local hosts use the miniflare-backed factory in the
103
+ * photon repo's `runtime/cf-local.ts` instead.
104
+ *
105
+ * `env` is typed loosely so this module stays free of
106
+ * `@cloudflare/workers-types`. The deployed Worker template passes the
107
+ * real `env` straight through.
108
+ */
109
+ export declare function createCloudflareFromEnv(env: Record<string, unknown>, photonName: string): Cloudflare;
110
+ //# sourceMappingURL=cloudflare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AAEjB;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,gFAAgF;IAChF,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IACxC,gFAAgF;IAChF,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACrC,gFAAgF;IAChF,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACvC,sFAAsF;IACtF,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,8FAA8F;IAC9F,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAClD,wCAAwC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,+DAA+D;IAC/D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC;AAE/E;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,qBAAqB,EAC/B,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAOR;AAED,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAQhD;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,UAAU,CAwBpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,UAAU,EAAE,MAAM,GACjB,UAAU,CA6BZ"}