@portel/photon 1.24.0 → 1.26.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 (38) hide show
  1. package/README.md +1 -1
  2. package/dist/beam-form.bundle.js +11 -1
  3. package/dist/beam-form.bundle.js.map +2 -2
  4. package/dist/beam.bundle.js +80 -55
  5. package/dist/beam.bundle.js.map +4 -4
  6. package/dist/cli/commands/host.d.ts.map +1 -1
  7. package/dist/cli/commands/host.js +2 -0
  8. package/dist/cli/commands/host.js.map +1 -1
  9. package/dist/cli/commands/ps.d.ts.map +1 -1
  10. package/dist/cli/commands/ps.js +15 -0
  11. package/dist/cli/commands/ps.js.map +1 -1
  12. package/dist/daemon/client.d.ts +6 -0
  13. package/dist/daemon/client.d.ts.map +1 -1
  14. package/dist/daemon/client.js.map +1 -1
  15. package/dist/daemon/server.js +57 -1
  16. package/dist/daemon/server.js.map +1 -1
  17. package/dist/deploy/cloudflare.d.ts +7 -0
  18. package/dist/deploy/cloudflare.d.ts.map +1 -1
  19. package/dist/deploy/cloudflare.js +420 -35
  20. package/dist/deploy/cloudflare.js.map +1 -1
  21. package/dist/loader.d.ts +5 -0
  22. package/dist/loader.d.ts.map +1 -1
  23. package/dist/loader.js +122 -28
  24. package/dist/loader.js.map +1 -1
  25. package/dist/photon-cli-runner.d.ts.map +1 -1
  26. package/dist/photon-cli-runner.js +15 -2
  27. package/dist/photon-cli-runner.js.map +1 -1
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js +40 -0
  30. package/dist/server.js.map +1 -1
  31. package/dist/telemetry/context.d.ts +9 -0
  32. package/dist/telemetry/context.d.ts.map +1 -1
  33. package/dist/telemetry/context.js.map +1 -1
  34. package/dist/types/server-types.d.ts +6 -0
  35. package/dist/types/server-types.d.ts.map +1 -1
  36. package/package.json +3 -3
  37. package/templates/cloudflare/worker.ts.template +932 -131
  38. package/templates/cloudflare/wrangler.toml.template +27 -1
@@ -6,6 +6,13 @@ export interface CloudflareDeployOptions {
6
6
  outputDir?: string;
7
7
  devMode?: boolean;
8
8
  dryRun?: boolean;
9
+ /**
10
+ * Enable Cloudflare Workers Logs in the generated `wrangler.toml`.
11
+ * When true, every Worker invocation is captured in the CF dashboard
12
+ * with ~3-day retention. Off by default — Workers Logs is opt-in so
13
+ * deployments stay minimal until the user explicitly wants observability.
14
+ */
15
+ withLogs?: boolean;
9
16
  }
10
17
  export declare function deployToCloudflare(options: CloudflareDeployOptions): Promise<void>;
11
18
  export declare function devCloudflare(options: CloudflareDeployOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/deploy/cloudflare.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsFH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4MxF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BnF"}
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/deploy/cloudflare.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqUH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsaxF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BnF"}
@@ -6,12 +6,236 @@ import * as path from 'path';
6
6
  import { existsSync, readFileSync } from 'fs';
7
7
  import { execSync, spawn } from 'child_process';
8
8
  import { fileURLToPath } from 'url';
9
- import { homedir } from 'node:os';
9
+ import { homedir, tmpdir } from 'node:os';
10
10
  import { detectPM, detectRunner } from '../shared-utils.js';
11
11
  import { SchemaExtractor } from '@portel/photon-core';
12
12
  import { PHOTON_VERSION } from '../version.js';
13
13
  import { logger } from '../shared/logger.js';
14
14
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
15
+ /**
16
+ * NPM packages known to be incompatible with the Cloudflare Workers runtime.
17
+ * Most break because they depend on Node-only built-ins (fs, vm, native
18
+ * bindings) or full DOM polyfills. The deploy aborts with a clear message
19
+ * listing offenders so users redirect to a Workers-friendly alternative
20
+ * before they hit a cryptic bundle error from wrangler.
21
+ *
22
+ * Keep this list conservative — only add packages with no realistic Workers
23
+ * path. Pure-JS libraries (cheerio, linkedom, @extractus/article-extractor,
24
+ * etc.) work fine and must NOT be blocked.
25
+ */
26
+ const WORKERS_INCOMPATIBLE_DEPS = {
27
+ jsdom: 'needs full Node built-ins (fs, vm, Buffer); use linkedom or @extractus/article-extractor',
28
+ 'better-sqlite3': 'native binding; use Cloudflare D1 or DO storage',
29
+ sharp: 'native binding; use Cloudflare Images',
30
+ canvas: 'native binding; not available on Workers',
31
+ puppeteer: 'full Chromium; use Cloudflare Browser Rendering',
32
+ playwright: 'full browsers; use Cloudflare Browser Rendering',
33
+ 'node-fetch': 'unnecessary on Workers — fetch is global',
34
+ };
35
+ /**
36
+ * Extract `@dependencies foo@^1, bar@^2` entries from photon JSDoc blocks.
37
+ * Mirrors the runtime loader's parser so deploy and runtime see the same
38
+ * dependency set. Versionless entries default to "*" (latest).
39
+ */
40
+ function parsePhotonDependencies(source) {
41
+ const deps = [];
42
+ const seen = new Set();
43
+ const jsdocBlocks = source.match(/\/\*\*[\s\S]*?\*\//g) || [];
44
+ const jsdocText = jsdocBlocks.join('\n');
45
+ const regex = /@dependencies\s+([^\r\n]+)/g;
46
+ let match;
47
+ while ((match = regex.exec(jsdocText)) !== null) {
48
+ const entries = match[1]
49
+ .replace(/\*\/$/, '')
50
+ .split(',')
51
+ .map((entry) => entry.trim())
52
+ .filter(Boolean);
53
+ for (const entry of entries) {
54
+ const atIndex = entry.lastIndexOf('@');
55
+ const isScoped = entry.startsWith('@');
56
+ let name;
57
+ let version;
58
+ if (atIndex <= 0 || (isScoped && atIndex === 0)) {
59
+ name = entry.trim();
60
+ version = '*';
61
+ }
62
+ else {
63
+ name = entry.slice(0, atIndex).trim();
64
+ version = entry.slice(atIndex + 1).trim();
65
+ }
66
+ if (version.endsWith('?'))
67
+ version = version.slice(0, -1);
68
+ if (!/^(@[a-z0-9-]+\/)?[a-z0-9._-]+$/.test(name))
69
+ continue;
70
+ if (seen.has(name))
71
+ continue;
72
+ seen.add(name);
73
+ deps.push({ name, version: version || '*' });
74
+ }
75
+ }
76
+ return deps;
77
+ }
78
+ /**
79
+ * Extract `@photons foo, bar` entries from photon JSDoc blocks. These name
80
+ * sibling photon dependencies — the deploy adapter resolves each to a
81
+ * `.photon.ts` file and bundles it as its own Durable Object class so the
82
+ * host photon's `this.call('foo.method', params)` works on Cloudflare.
83
+ */
84
+ function parsePhotonPhotons(source) {
85
+ const seen = new Set();
86
+ const jsdocBlocks = source.match(/\/\*\*[\s\S]*?\*\//g) || [];
87
+ const jsdocText = jsdocBlocks.join('\n');
88
+ const regex = /@photons\s+([^\r\n]+)/g;
89
+ let match;
90
+ while ((match = regex.exec(jsdocText)) !== null) {
91
+ const entries = match[1]
92
+ .replace(/\*\/$/, '')
93
+ .split(',')
94
+ .map((entry) => entry.trim())
95
+ .filter(Boolean);
96
+ for (const entry of entries) {
97
+ if (!/^[a-z0-9_-]+$/i.test(entry))
98
+ continue;
99
+ seen.add(entry);
100
+ }
101
+ }
102
+ return Array.from(seen);
103
+ }
104
+ /**
105
+ * Resolve a sibling photon name to its `.photon.ts` file. Searches alongside
106
+ * the caller first, then PHOTON_DIR / `~/.photon`. Returns null if not
107
+ * found so the caller can fail with an actionable message.
108
+ */
109
+ function resolveSiblingPhoton(name, callerPath) {
110
+ const sibling = path.join(path.dirname(callerPath), `${name}.photon.ts`);
111
+ if (existsSync(sibling))
112
+ return sibling;
113
+ const baseDir = process.env.PHOTON_DIR || path.join(homedir(), '.photon');
114
+ const flat = path.join(baseDir, `${name}.photon.ts`);
115
+ if (existsSync(flat))
116
+ return flat;
117
+ return null;
118
+ }
119
+ /** Convert a photon name to its DO class name (`web-lite` → `WebLitePhotonDO`). */
120
+ function photonNameToDoClass(name) {
121
+ return (name
122
+ .split(/[-_]/)
123
+ .filter(Boolean)
124
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
125
+ .join('') + 'PhotonDO');
126
+ }
127
+ /** Convert a photon name to its env binding name (`web-lite` → `PHOTON_WEB_LITE`). */
128
+ function photonNameToBinding(name) {
129
+ return 'PHOTON_' + name.toUpperCase().replace(/-/g, '_');
130
+ }
131
+ /**
132
+ * Strip Node-only and photon-core-specific bits from a photon source so it
133
+ * can run inside a Worker. Same transformation is applied to the host
134
+ * photon and every `@photons` sibling.
135
+ */
136
+ function transformPhotonSource(source) {
137
+ return (source
138
+ // Remove photon-core import (both Photon and PhotonMCP)
139
+ .replace(/import\s+{\s*(?:Photon|PhotonMCP)\s*}\s+from\s+['"]@portel\/photon-core['"];?\n?/g, '')
140
+ // Remove `extends Photon` / `extends PhotonMCP`
141
+ .replace(/extends\s+(?:Photon|PhotonMCP)\s*{/g, '{')
142
+ // Stub Node-only imports
143
+ .replace(/import\s+\*\s+as\s+fs\s+from\s+['"]fs['"]/g, '// fs not available in Workers')
144
+ .replace(/import\s+\*\s+as\s+path\s+from\s+['"]path['"]/g, '// path not available in Workers')
145
+ .replace(/import\s+{\s*[^}]+\s*}\s+from\s+['"]fs['"]/g, '// fs not available in Workers')
146
+ .replace(/import\s+{\s*[^}]+\s*}\s+from\s+['"]fs\/promises['"]/g, '// fs not available in Workers')
147
+ .replace(/import\s+{\s*[^}]+\s*}\s+from\s+['"]path['"]/g, '// path not available in Workers')
148
+ // Strip the @dependencies docblock line so it doesn't show up in the
149
+ // bundled source — the version is already pinned in package.json.
150
+ .replace(/\s*\*\s*@dependencies[^\n]*/g, ''));
151
+ }
152
+ /**
153
+ * Node built-in modules that wrangler can supply via `nodejs_compat` and
154
+ * therefore don't need a `@dependencies` entry. Includes both bare names
155
+ * (`fs`) and prefixed names (`node:fs`); the prefix form is stripped before
156
+ * the lookup.
157
+ */
158
+ const NODE_BUILTINS = new Set([
159
+ 'assert',
160
+ 'async_hooks',
161
+ 'buffer',
162
+ 'child_process',
163
+ 'cluster',
164
+ 'console',
165
+ 'constants',
166
+ 'crypto',
167
+ 'dgram',
168
+ 'diagnostics_channel',
169
+ 'dns',
170
+ 'domain',
171
+ 'events',
172
+ 'fs',
173
+ 'http',
174
+ 'http2',
175
+ 'https',
176
+ 'inspector',
177
+ 'module',
178
+ 'net',
179
+ 'os',
180
+ 'path',
181
+ 'perf_hooks',
182
+ 'process',
183
+ 'punycode',
184
+ 'querystring',
185
+ 'readline',
186
+ 'repl',
187
+ 'stream',
188
+ 'string_decoder',
189
+ 'sys',
190
+ 'timers',
191
+ 'tls',
192
+ 'trace_events',
193
+ 'tty',
194
+ 'url',
195
+ 'util',
196
+ 'v8',
197
+ 'vm',
198
+ 'wasi',
199
+ 'worker_threads',
200
+ 'zlib',
201
+ ]);
202
+ /**
203
+ * Extract bare-import package names from photon source.
204
+ *
205
+ * - `import x from 'pkg'` → `pkg`
206
+ * - `import x from 'pkg/sub/path'` → `pkg`
207
+ * - `import x from '@scope/pkg/sub'` → `@scope/pkg`
208
+ * - Relative imports (`./`, `../`, `/`) and `node:` builtins are skipped.
209
+ *
210
+ * Used by the deploy pre-flight to flag imports the user forgot to declare
211
+ * in `@dependencies` — wrangler's bundle would fail later with a less
212
+ * actionable error.
213
+ */
214
+ function extractImportedPackages(source) {
215
+ const seen = new Set();
216
+ const importRe = /^\s*(?:import|export)(?:\s[\s\S]*?)?\s+from\s+['"]([^'"]+)['"]/gm;
217
+ const requireRe = /\brequire\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
218
+ const dynamicRe = /\bimport\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
219
+ for (const re of [importRe, requireRe, dynamicRe]) {
220
+ let m;
221
+ while ((m = re.exec(source)) !== null) {
222
+ const spec = m[1];
223
+ if (spec.startsWith('.') || spec.startsWith('/'))
224
+ continue;
225
+ const stripped = spec.startsWith('node:') ? spec.slice(5) : spec;
226
+ const firstSlash = stripped.indexOf('/');
227
+ const pkg = stripped.startsWith('@')
228
+ ? stripped.split('/').slice(0, 2).join('/')
229
+ : firstSlash === -1
230
+ ? stripped
231
+ : stripped.slice(0, firstSlash);
232
+ if (NODE_BUILTINS.has(pkg))
233
+ continue;
234
+ seen.add(pkg);
235
+ }
236
+ }
237
+ return Array.from(seen);
238
+ }
15
239
  // Find package root (where templates folder is)
16
240
  function getPackageRoot() {
17
241
  // When running from dist/, go up to package root
@@ -84,7 +308,7 @@ function wranglerEnv() {
84
308
  return { ...process.env, CLOUDFLARE_API_TOKEN: resolved.token };
85
309
  }
86
310
  export async function deployToCloudflare(options) {
87
- const { photonPath, devMode = false, dryRun = false } = options;
311
+ const { photonPath, devMode = false, dryRun = false, withLogs = false } = options;
88
312
  // Resolve photon file
89
313
  const absolutePath = path.resolve(photonPath);
90
314
  if (!existsSync(absolutePath)) {
@@ -93,58 +317,195 @@ export async function deployToCloudflare(options) {
93
317
  // Extract photon name from filename
94
318
  const filename = path.basename(absolutePath);
95
319
  const photonName = filename.replace(/\.photon\.ts$/, '').replace(/[^a-z0-9-]/gi, '-');
320
+ // Durable Object class name derived from the photon name. Wrangler binds DOs
321
+ // to a JS class identifier, so e.g. `web-lite` → `WebLitePhotonDO`.
322
+ const photonDoClassName = photonName
323
+ .split(/[-_]/)
324
+ .filter(Boolean)
325
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
326
+ .join('') + 'PhotonDO';
96
327
  logger.info(`Preparing ${photonName} for Cloudflare Workers...`);
97
- // Create output directory
98
- const outputDir = options.outputDir || path.join(process.cwd(), `.cf-${photonName}`);
328
+ // Create output directory. When the user passes --output we treat the path
329
+ // as theirs to keep; otherwise the project goes into a per-process scratch
330
+ // dir under the OS tmp dir and gets cleaned up after a successful deploy.
331
+ // (On failure or dry-run we keep it so the user can debug or inspect.)
332
+ const userProvidedOutputDir = Boolean(options.outputDir);
333
+ const outputDir = options.outputDir || path.join(tmpdir(), `photon-cf-${photonName}-${process.pid}`);
99
334
  await fs.mkdir(outputDir, { recursive: true });
100
335
  await fs.mkdir(path.join(outputDir, 'src'), { recursive: true });
101
336
  // Extract tool definitions using SchemaExtractor
102
337
  logger.debug('Extracting tool definitions...');
103
338
  const extractor = new SchemaExtractor();
104
339
  const sourceCode = await fs.readFile(absolutePath, 'utf-8');
105
- const extracted = extractor.extractFromSource(sourceCode);
106
- const toolDefs = extracted.map((tool) => ({
340
+ const metadata = extractor.extractAllFromSource(sourceCode);
341
+ const toolDefs = metadata.tools.map((tool) => ({
107
342
  name: tool.name,
108
343
  description: tool.description,
109
344
  inputSchema: tool.inputSchema,
345
+ ...(tool.simpleParams ? { simpleParams: true } : {}),
110
346
  }));
111
- logger.info(`Found ${toolDefs.length} tools`);
112
- // Read worker template
347
+ const routeDefs = metadata.httpRoutes ?? [];
348
+ const cfAccessEnabled = metadata.auth === 'cf-access';
349
+ logger.info(`Found ${toolDefs.length} tools, ${routeDefs.length} HTTP routes`);
350
+ // Extract `@dependencies` from the photon source. These get bundled into
351
+ // the Worker by wrangler, so they must land in package.json's dependencies
352
+ // (not devDependencies). Fail fast on packages that are known to break on
353
+ // the Workers runtime so users get a clear pointer instead of a cryptic
354
+ // wrangler bundle error.
355
+ const photonDeps = parsePhotonDependencies(sourceCode);
356
+ const blocked = photonDeps.filter((dep) => dep.name in WORKERS_INCOMPATIBLE_DEPS);
357
+ if (blocked.length > 0) {
358
+ const lines = blocked.map((dep) => ` - ${dep.name}: ${WORKERS_INCOMPATIBLE_DEPS[dep.name]}`);
359
+ throw new Error(`${photonName} declares dependencies that do not run on Cloudflare Workers:\n${lines.join('\n')}\n\n` +
360
+ `Replace them with Workers-compatible alternatives, or deploy this photon to a runtime that supports Node built-ins.`);
361
+ }
362
+ if (photonDeps.length > 0) {
363
+ logger.info(`Bundling ${photonDeps.length} dependencies: ${photonDeps.map((d) => d.name).join(', ')}`);
364
+ }
365
+ // Pre-flight: warn about imports that aren't declared in @dependencies.
366
+ // Without a declared version, the generated package.json won't include the
367
+ // package, wrangler's bundle step will fail with a less actionable error,
368
+ // and the deploy will look broken even though the photon source compiles
369
+ // locally (where node_modules already has the package).
370
+ const declaredNames = new Set(photonDeps.map((d) => d.name));
371
+ const importedPkgs = extractImportedPackages(sourceCode);
372
+ const undeclared = importedPkgs.filter((pkg) => !declaredNames.has(pkg));
373
+ if (undeclared.length > 0) {
374
+ logger.warn(`${photonName} imports ${undeclared.length} package(s) not declared in @dependencies: ${undeclared.join(', ')}`);
375
+ logger.warn(` These will not be installed in the deployed Worker and bundling will likely fail.`);
376
+ logger.warn(` Add them to the photon's JSDoc: @dependencies ${undeclared.map((p) => `${p}@^x.y.z`).join(', ')}`);
377
+ }
378
+ // Resolve `@photons` siblings — each becomes its own DO class in the
379
+ // same Worker so the host photon's `this.call('sibling.method', args)`
380
+ // hops via env.PHOTON_<SIBLING>.idFromName(...).fetch(internal-rpc).
381
+ // Single-level resolution for v1 (we don't recursively follow the
382
+ // siblings' own @photons; warn loudly if any are present).
383
+ const siblingNames = parsePhotonPhotons(sourceCode);
384
+ function nameToImportSymbol(n) {
385
+ return (n
386
+ .split(/[-_]/)
387
+ .filter(Boolean)
388
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
389
+ .join('') + 'Photon');
390
+ }
391
+ const transformedHost = transformPhotonSource(sourceCode);
392
+ const photons = [
393
+ {
394
+ name: photonName,
395
+ importName: nameToImportSymbol(photonName),
396
+ importPath: './photon',
397
+ doClass: photonDoClassName,
398
+ binding: 'PHOTON',
399
+ toolDefs,
400
+ routeDefs,
401
+ source: transformedHost,
402
+ sourceFileBase: 'photon.ts',
403
+ isHost: true,
404
+ },
405
+ ];
406
+ for (const sibName of siblingNames) {
407
+ const sibPath = resolveSiblingPhoton(sibName, absolutePath);
408
+ if (!sibPath) {
409
+ throw new Error(`@photons '${sibName}' could not be resolved. Looked next to ${absolutePath} and in PHOTON_DIR.\n` +
410
+ `Make sure ${sibName}.photon.ts exists and is reachable.`);
411
+ }
412
+ const sibSource = await fs.readFile(sibPath, 'utf-8');
413
+ const sibMeta = extractor.extractAllFromSource(sibSource);
414
+ const sibTools = sibMeta.tools.map((tool) => ({
415
+ name: tool.name,
416
+ description: tool.description,
417
+ inputSchema: tool.inputSchema,
418
+ ...(tool.simpleParams ? { simpleParams: true } : {}),
419
+ }));
420
+ const sibRoutes = sibMeta.httpRoutes ?? [];
421
+ // Sibling-level @photons are not recursively bundled in v1 — flag so the
422
+ // user knows their indirect dependency isn't carried along.
423
+ const sibSiblings = parsePhotonPhotons(sibSource);
424
+ if (sibSiblings.length > 0) {
425
+ logger.warn(`@photons sibling '${sibName}' itself declares @photons: ${sibSiblings.join(', ')}. ` +
426
+ `Transitive @photons are not bundled in v1 — declare them on the host photon instead.`);
427
+ }
428
+ // Sibling @dependencies must be bundled too. Merge into runtimeDeps below.
429
+ const sibDeps = parsePhotonDependencies(sibSource);
430
+ photonDeps.push(...sibDeps.filter((d) => !photonDeps.find((existing) => existing.name === d.name)));
431
+ photons.push({
432
+ name: sibName,
433
+ importName: nameToImportSymbol(sibName),
434
+ importPath: `./dep-${sibName}`,
435
+ doClass: photonNameToDoClass(sibName),
436
+ binding: photonNameToBinding(sibName),
437
+ toolDefs: sibTools,
438
+ routeDefs: sibRoutes,
439
+ source: transformPhotonSource(sibSource),
440
+ sourceFileBase: `dep-${sibName}.ts`,
441
+ isHost: false,
442
+ });
443
+ }
444
+ if (photons.length > 1) {
445
+ logger.info(`Bundling ${photons.length - 1} @photons sibling(s): ${photons
446
+ .slice(1)
447
+ .map((p) => p.name)
448
+ .join(', ')}`);
449
+ }
450
+ // Read worker template and substitute multi-photon blocks
113
451
  const packageRoot = getPackageRoot();
114
452
  const templatePath = path.join(packageRoot, 'templates', 'cloudflare', 'worker.ts.template');
115
453
  let workerCode = await fs.readFile(templatePath, 'utf-8');
116
- // Replace placeholders
454
+ const photonImports = photons
455
+ .map((p) => `import ${p.importName} from '${p.importPath}';`)
456
+ .join('\n');
457
+ const photonBindingsMap = JSON.stringify(Object.fromEntries(photons.map((p) => [p.name, p.binding])));
458
+ const photonDoClasses = photons
459
+ .map((p) => `export class ${p.doClass} extends BasePhotonDO {
460
+ protected readonly photonName = ${JSON.stringify(p.name)};
461
+ protected readonly toolDefinitions: any[] = ${JSON.stringify(p.toolDefs, null, 2)};
462
+ protected readonly httpRoutes: any[] = ${JSON.stringify(p.routeDefs, null, 2)};
463
+ protected createPhoton() { return new ${p.importName}(); }
464
+ }`)
465
+ .join('\n\n');
117
466
  workerCode = workerCode
118
- .replace(/__TOOL_DEFINITIONS__/g, JSON.stringify(toolDefs, null, 2))
119
- .replace(/__PHOTON_NAME__/g, photonName)
120
- .replace(/__DEV_MODE__/g, String(devMode));
121
- // Copy photon file and rename import
122
- const photonCode = await fs.readFile(absolutePath, 'utf-8');
123
- // Transform photon code for Workers compatibility
124
- // 1. Remove @portel/photon-core import and Photon/PhotonMCP extension
125
- // 2. Remove Node.js-specific imports
126
- let transformedPhoton = photonCode
127
- // Remove photon-core import (both Photon and PhotonMCP)
128
- .replace(/import\s+{\s*(?:Photon|PhotonMCP)\s*}\s+from\s+['"]@portel\/photon-core['"];?\n?/g, '')
129
- // Remove extends Photon or extends PhotonMCP
130
- .replace(/extends\s+(?:Photon|PhotonMCP)\s*{/g, '{')
131
- // Remove Node.js imports
132
- .replace(/import\s+\*\s+as\s+fs\s+from\s+['"]fs['"]/g, '// fs not available in Workers')
133
- .replace(/import\s+\*\s+as\s+path\s+from\s+['"]path['"]/g, '// path not available in Workers')
134
- .replace(/import\s+{\s*[^}]+\s*}\s+from\s+['"]fs['"]/g, '// fs not available in Workers')
135
- .replace(/import\s+{\s*[^}]+\s*}\s+from\s+['"]fs\/promises['"]/g, '// fs not available in Workers')
136
- .replace(/import\s+{\s*[^}]+\s*}\s+from\s+['"]path['"]/g, '// path not available in Workers')
137
- // Remove @dependencies comment
138
- .replace(/\s*\*\s*@dependencies[^\n]*/g, '');
139
- // Write files
467
+ .replace(/__PHOTON_IMPORTS__/g, photonImports)
468
+ .replace(/__PHOTON_BINDINGS_MAP__/g, photonBindingsMap)
469
+ .replace(/__PHOTON_DO_CLASSES__/g, photonDoClasses)
470
+ .replace(/__HOST_PHOTON_NAME__/g, photonName)
471
+ .replace(/__HOST_BINDING__/g, 'PHOTON')
472
+ .replace(/__DEV_MODE__/g, String(devMode))
473
+ .replace(/__CF_ACCESS_ENABLED__/g, String(cfAccessEnabled));
474
+ // Write photon source files (host + each sibling)
140
475
  await fs.writeFile(path.join(outputDir, 'src', 'worker.ts'), workerCode);
141
- await fs.writeFile(path.join(outputDir, 'src', 'photon.ts'), transformedPhoton);
142
- // Create wrangler.toml
476
+ for (const p of photons) {
477
+ await fs.writeFile(path.join(outputDir, 'src', p.sourceFileBase), p.source);
478
+ }
479
+ // Create wrangler.toml — one binding per photon, all classes in one migration
143
480
  const wranglerTemplatePath = path.join(packageRoot, 'templates', 'cloudflare', 'wrangler.toml.template');
481
+ // `__OBSERVABILITY__` is replaced with a `[observability]` block when the
482
+ // user passes `--logs`, otherwise stripped so the rendered wrangler.toml
483
+ // stays minimal. Workers Logs has a small free tier; opt-in keeps quota
484
+ // usage explicit.
485
+ const observabilityReplacement = withLogs ? '\n[observability]\nenabled = true\n' : '';
486
+ const doBindingsToml = photons
487
+ .map((p) => `[[durable_objects.bindings]]
488
+ name = "${p.binding}"
489
+ class_name = "${p.doClass}"`)
490
+ .join('\n\n');
491
+ const sqliteClassesToml = JSON.stringify(photons.map((p) => p.doClass));
144
492
  let wranglerConfig = await fs.readFile(wranglerTemplatePath, 'utf-8');
145
- wranglerConfig = wranglerConfig.replace(/__PHOTON_NAME__/g, photonName);
493
+ wranglerConfig = wranglerConfig
494
+ .replace(/__PHOTON_NAME__/g, photonName)
495
+ .replace(/__DURABLE_OBJECT_BINDINGS__/g, doBindingsToml)
496
+ .replace(/__SQLITE_CLASSES__/g, sqliteClassesToml)
497
+ .replace(/__OBSERVABILITY__\n?/g, observabilityReplacement);
146
498
  await fs.writeFile(path.join(outputDir, 'wrangler.toml'), wranglerConfig);
147
- // Create package.json
499
+ // Create package.json. Photon-declared dependencies land in `dependencies`
500
+ // so wrangler bundles them into the Worker; build tooling stays in
501
+ // `devDependencies`. The runtime shim's auto-injected deps (cron-parser
502
+ // for `this.schedule`) get merged in here too — pure-JS, work on Workers.
503
+ const runtimeDeps = {
504
+ 'cron-parser': '^5.0.0',
505
+ };
506
+ for (const dep of photonDeps) {
507
+ runtimeDeps[dep.name] = dep.version;
508
+ }
148
509
  const packageJson = {
149
510
  name: photonName,
150
511
  version: PHOTON_VERSION,
@@ -153,6 +514,7 @@ export async function deployToCloudflare(options) {
153
514
  dev: 'wrangler dev',
154
515
  deploy: 'wrangler deploy',
155
516
  },
517
+ dependencies: runtimeDeps,
156
518
  devDependencies: {
157
519
  '@cloudflare/workers-types': '^4.0.0',
158
520
  wrangler: '^4.0.0',
@@ -246,9 +608,32 @@ export async function deployToCloudflare(options) {
246
608
  if (devMode) {
247
609
  logger.info(`\nPlayground: https://${photonName}.<your-subdomain>.workers.dev/playground`);
248
610
  }
611
+ // Clean up the scratch project dir on success, but only if the user
612
+ // didn't ask for a specific --output path. Failures keep the dir so
613
+ // the next-steps block below can point at it. Fire-and-forget — we
614
+ // don't block resolution on rm.
615
+ if (!userProvidedOutputDir) {
616
+ fs.rm(outputDir, { recursive: true, force: true }).catch((err) => {
617
+ const msg = err instanceof Error ? err.message : String(err);
618
+ logger.debug(`Could not clean up scratch dir ${outputDir}: ${msg}`);
619
+ });
620
+ }
249
621
  resolve();
250
622
  }
251
623
  else {
624
+ // Wrangler's stderr already printed above (stdio: 'inherit'). Add a
625
+ // next-steps block so the user knows where to look without searching.
626
+ const runner = detectRunner();
627
+ logger.error(`\nDeployment failed (exit code ${code}).`);
628
+ logger.error(`\nTo debug:`);
629
+ logger.error(` cd ${outputDir}`);
630
+ logger.error(` ${runner} wrangler deploy --verbose # more detail on what failed`);
631
+ logger.error(` ${runner} wrangler whoami # confirm auth + account_id`);
632
+ logger.error(` ${runner} wrangler tail ${photonName} # runtime errors (if a prior deploy exists)`);
633
+ logger.error(`\nCommon causes:`);
634
+ logger.error(` - Auth: run \`${runner} wrangler login\` (or set CLOUDFLARE_API_TOKEN)`);
635
+ logger.error(` - Bundling: an imported package isn't in @dependencies (see warnings above)`);
636
+ logger.error(` - Worker name conflict: \`${photonName}\` already taken by another account`);
252
637
  reject(new Error('Deployment failed'));
253
638
  }
254
639
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../src/deploy/cloudflare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../src/deploy/cloudflare.ts"],"names":[],"mappings":"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"}
package/dist/loader.d.ts CHANGED
@@ -195,6 +195,11 @@ export declare class PhotonLoader {
195
195
  * Strip JSDoc tags from descriptions (e.g., @emits, @internal, @deprecated)
196
196
  */
197
197
  private stripJSDocTags;
198
+ /**
199
+ * Extract @get and @post HTTP route declarations from photon source.
200
+ * Methods tagged with @get or @post are HTTP-only and must NOT appear as MCP tools.
201
+ */
202
+ private extractHttpRoutesFromSource;
198
203
  /**
199
204
  * Extract tools, templates, and statics from a class
200
205
  */
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}