@portel/photon-core 2.12.0 → 2.14.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.
@@ -0,0 +1,436 @@
1
+ /**
2
+ * Photon Loader Lite — Direct TypeScript API
3
+ *
4
+ * Load a .photon.ts file and get a fully-enhanced instance with all
5
+ * runtime features: middleware, memory, scheduling, events, __meta.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { photon } from '@portel/photon-core';
10
+ *
11
+ * const todo = await photon('./todo.photon.ts');
12
+ * await todo.add({ title: 'Buy milk' });
13
+ * // ✅ @cached, @throttled, @retry all work
14
+ * // ✅ this.memory, this.schedule work
15
+ * // ✅ @stateful events emitted, __meta attached
16
+ * // ✅ @photon dependencies recursively loaded
17
+ * ```
18
+ */
19
+ import * as fs from 'fs/promises';
20
+ import * as path from 'path';
21
+ import { pathToFileURL } from 'url';
22
+ import { compilePhotonTS } from './compiler.js';
23
+ import { findPhotonClass } from './class-detection.js';
24
+ import { SchemaExtractor } from './schema-extractor.js';
25
+ import { buildMiddlewareChain, builtinRegistry, MiddlewareRegistry, } from './middleware.js';
26
+ import { withPhotonCapabilities } from './mixins.js';
27
+ import { toEnvVarName, parseEnvValue } from './env-utils.js';
28
+ // ═══════════════════════════════════════════════════════════════════
29
+ // Loading state (cycle detection, caching)
30
+ // ═══════════════════════════════════════════════════════════════════
31
+ /** Currently-loading photon paths for cycle detection */
32
+ const loadingPaths = new Set();
33
+ /** Cache of loaded photon instances (keyed by absolutePath::instanceName) */
34
+ const instanceCache = new Map();
35
+ /** Dedup concurrent loads */
36
+ const loadPromises = new Map();
37
+ // ═══════════════════════════════════════════════════════════════════
38
+ // Main API
39
+ // ═══════════════════════════════════════════════════════════════════
40
+ /**
41
+ * Load a .photon.ts file and return a fully-enhanced instance.
42
+ *
43
+ * The returned object has all methods working with middleware (@cached, @retry, etc.),
44
+ * memory, scheduling, @stateful event emission, and cross-photon calls.
45
+ *
46
+ * @param filePath Path to the .photon.ts file (absolute or relative to cwd)
47
+ * @param options Optional configuration
48
+ * @returns Enhanced photon instance with all runtime features
49
+ */
50
+ export async function photon(filePath, options = {}) {
51
+ // Resolve to absolute path
52
+ const absolutePath = path.isAbsolute(filePath)
53
+ ? filePath
54
+ : path.resolve(process.cwd(), filePath);
55
+ const instanceName = options.instanceName || '';
56
+ const cacheKey = instanceName ? `${absolutePath}::${instanceName}` : absolutePath;
57
+ // Cycle detection (must come before dedup check to avoid deadlock)
58
+ if (loadingPaths.has(absolutePath)) {
59
+ const chain = Array.from(loadingPaths).concat(absolutePath).join(' → ');
60
+ throw new Error(`Circular @photon dependency: ${chain}`);
61
+ }
62
+ // Return cached instance
63
+ if (instanceCache.has(cacheKey)) {
64
+ return instanceCache.get(cacheKey);
65
+ }
66
+ // Dedup concurrent loads
67
+ if (loadPromises.has(cacheKey)) {
68
+ return loadPromises.get(cacheKey);
69
+ }
70
+ const promise = loadPhotonInternal(absolutePath, cacheKey, options);
71
+ loadPromises.set(cacheKey, promise);
72
+ try {
73
+ const result = await promise;
74
+ instanceCache.set(cacheKey, result);
75
+ return result;
76
+ }
77
+ finally {
78
+ loadPromises.delete(cacheKey);
79
+ }
80
+ }
81
+ /**
82
+ * Clear the photon instance cache. Useful for testing.
83
+ */
84
+ export function clearPhotonCache() {
85
+ instanceCache.clear();
86
+ }
87
+ // ═══════════════════════════════════════════════════════════════════
88
+ // Internal pipeline
89
+ // ═══════════════════════════════════════════════════════════════════
90
+ async function loadPhotonInternal(absolutePath, cacheKey, options) {
91
+ loadingPaths.add(absolutePath);
92
+ try {
93
+ // 1. Read source
94
+ const source = await fs.readFile(absolutePath, 'utf-8');
95
+ // 2. Compile TypeScript → JavaScript
96
+ const homeDir = process.env.HOME || process.env.USERPROFILE || '';
97
+ const cacheDir = path.join(homeDir, '.photon', 'cache');
98
+ const compiledPath = await compilePhotonTS(absolutePath, { cacheDir });
99
+ // 3. Import compiled module
100
+ const moduleUrl = pathToFileURL(compiledPath).href;
101
+ const module = await import(moduleUrl);
102
+ // 4. Find the Photon class
103
+ const PhotonClass = findPhotonClass(module);
104
+ if (!PhotonClass) {
105
+ throw new Error(`No Photon class found in ${absolutePath}`);
106
+ }
107
+ // 5. Derive photon name from file path
108
+ const photonName = derivePhotonName(absolutePath);
109
+ // 6. Extract schema for middleware and metadata
110
+ const extractor = new SchemaExtractor();
111
+ const metadata = extractor.extractAllFromSource(source);
112
+ const toolSchemas = metadata.tools;
113
+ // 7. Resolve constructor injections
114
+ const injections = extractor.resolveInjections(source, photonName);
115
+ const constructorArgs = await resolveConstructorArgs(injections, photonName, absolutePath, options);
116
+ // 8. Enhance class with capabilities (for plain classes)
117
+ const EnhancedClass = withPhotonCapabilities(PhotonClass);
118
+ // 9. Instantiate
119
+ const instance = new EnhancedClass(...constructorArgs);
120
+ // 10. Set photon identity
121
+ instance._photonName = photonName;
122
+ if (options.instanceName) {
123
+ instance.instanceName = options.instanceName;
124
+ }
125
+ if (options.sessionId) {
126
+ instance._sessionId = options.sessionId;
127
+ }
128
+ // 11. Wire reactive collections
129
+ wireReactiveCollections(instance);
130
+ // 12. Wrap @stateful methods (event emission + __meta)
131
+ wrapStatefulMethods(instance, source, options.onEvent);
132
+ // 13. Inject MCP factory if provided
133
+ if (options.mcpFactory && typeof instance.setMCPFactory === 'function') {
134
+ instance.setMCPFactory(options.mcpFactory);
135
+ }
136
+ // 14. Inject cross-photon call handler (in-process resolution)
137
+ instance._callHandler = async (targetPhotonName, method, params) => {
138
+ const targetPath = resolvePhotonPath(targetPhotonName, absolutePath);
139
+ const target = await photon(targetPath, {
140
+ baseDir: options.baseDir,
141
+ mcpFactory: options.mcpFactory,
142
+ sessionId: options.sessionId,
143
+ });
144
+ return target[method](params);
145
+ };
146
+ // 15. Call onInitialize lifecycle hook
147
+ if (typeof instance.onInitialize === 'function') {
148
+ await instance.onInitialize();
149
+ }
150
+ // 16. Build middleware proxy
151
+ const proxy = buildMiddlewareProxy(instance, photonName, toolSchemas, options);
152
+ return proxy;
153
+ }
154
+ finally {
155
+ loadingPaths.delete(absolutePath);
156
+ }
157
+ }
158
+ // ═══════════════════════════════════════════════════════════════════
159
+ // Constructor injection
160
+ // ═══════════════════════════════════════════════════════════════════
161
+ async function resolveConstructorArgs(injections, photonName, currentPath, options) {
162
+ const values = [];
163
+ const missing = [];
164
+ for (const injection of injections) {
165
+ const { param, injectionType } = injection;
166
+ switch (injectionType) {
167
+ case 'photon': {
168
+ // Recursive photon loading
169
+ const dep = injection.photonDependency;
170
+ const depPath = resolvePhotonDepPath(dep.source, dep.sourceType, currentPath);
171
+ const depInstance = await photon(depPath, {
172
+ baseDir: options.baseDir,
173
+ mcpFactory: options.mcpFactory,
174
+ instanceName: dep.instanceName,
175
+ sessionId: options.sessionId,
176
+ });
177
+ values.push(depInstance);
178
+ break;
179
+ }
180
+ case 'mcp': {
181
+ // MCP dependencies require a factory
182
+ if (!options.mcpFactory) {
183
+ throw new Error(`Photon "${photonName}" requires MCP dependency "${param.name}" but no mcpFactory was provided. ` +
184
+ `Pass { mcpFactory } in the options to photon().`);
185
+ }
186
+ // Will be resolved by the instance's mcp() method at call time
187
+ values.push(undefined);
188
+ break;
189
+ }
190
+ case 'env': {
191
+ const envVarName = injection.envVarName || toEnvVarName(photonName, param.name);
192
+ const envValue = process.env[envVarName];
193
+ if (envValue !== undefined) {
194
+ values.push(parseEnvValue(envValue, param.type));
195
+ }
196
+ else if (param.hasDefault || param.isOptional) {
197
+ values.push(undefined);
198
+ }
199
+ else {
200
+ missing.push({ paramName: param.name, envVarName, type: param.type });
201
+ values.push(undefined);
202
+ }
203
+ break;
204
+ }
205
+ case 'state': {
206
+ // State injection — use default value (state is loaded by the class itself)
207
+ values.push(undefined);
208
+ break;
209
+ }
210
+ default:
211
+ values.push(undefined);
212
+ }
213
+ }
214
+ if (missing.length > 0) {
215
+ const envList = missing.map(m => ` ${m.envVarName} (${m.paramName}: ${m.type})`).join('\n');
216
+ console.warn(`⚠️ ${photonName}: Missing environment variables:\n${envList}\n` +
217
+ `Some methods may fail until these are set.`);
218
+ }
219
+ return values;
220
+ }
221
+ // ═══════════════════════════════════════════════════════════════════
222
+ // Reactive collection wiring
223
+ // ═══════════════════════════════════════════════════════════════════
224
+ function wireReactiveCollections(instance) {
225
+ const emit = typeof instance.emit === 'function'
226
+ ? instance.emit.bind(instance)
227
+ : null;
228
+ if (!emit)
229
+ return;
230
+ for (const key of Object.keys(instance)) {
231
+ const value = instance[key];
232
+ if (!value || typeof value !== 'object')
233
+ continue;
234
+ const ctorName = value.constructor?.name;
235
+ if (ctorName === 'ReactiveArray' ||
236
+ ctorName === 'ReactiveMap' ||
237
+ ctorName === 'ReactiveSet' ||
238
+ ctorName === 'Collection') {
239
+ value._propertyName = key;
240
+ value._emitter = emit;
241
+ }
242
+ }
243
+ }
244
+ // ═══════════════════════════════════════════════════════════════════
245
+ // @stateful method wrapping
246
+ // ═══════════════════════════════════════════════════════════════════
247
+ function wrapStatefulMethods(instance, source, onEvent) {
248
+ if (!/@stateful\b/i.test(source))
249
+ return;
250
+ // Skip framework-injected methods from withPhotonCapabilities
251
+ const frameworkMethods = new Set([
252
+ 'emit', 'call', 'mcp', 'setMCPFactory', 'onInitialize', 'onShutdown',
253
+ ]);
254
+ // Walk the prototype chain to find all public methods
255
+ // (withPhotonCapabilities creates a subclass, so methods may be on grandparent prototype)
256
+ const methodNames = [];
257
+ const seen = new Set();
258
+ let proto = Object.getPrototypeOf(instance);
259
+ while (proto && proto !== Object.prototype) {
260
+ for (const name of Object.getOwnPropertyNames(proto)) {
261
+ if (seen.has(name) || name === 'constructor' || name.startsWith('_'))
262
+ continue;
263
+ if (frameworkMethods.has(name))
264
+ continue;
265
+ seen.add(name);
266
+ const descriptor = Object.getOwnPropertyDescriptor(proto, name);
267
+ if (descriptor && typeof descriptor.value === 'function') {
268
+ methodNames.push(name);
269
+ }
270
+ }
271
+ proto = Object.getPrototypeOf(proto);
272
+ }
273
+ if (methodNames.length === 0)
274
+ return;
275
+ for (const methodName of methodNames) {
276
+ const original = instance[methodName];
277
+ if (typeof original !== 'function')
278
+ continue;
279
+ instance[methodName] = function (...args) {
280
+ const paramNames = extractParamNames(original);
281
+ const params = Object.fromEntries(paramNames.map((name, i) => [name, args[i]]));
282
+ const result = original.apply(this, args);
283
+ // Handle both sync and async results
284
+ const attachMeta = (res) => {
285
+ if (res && typeof res === 'object' && !Array.isArray(res) && !res.__meta) {
286
+ const timestamp = new Date().toISOString();
287
+ Object.defineProperty(res, '__meta', {
288
+ value: {
289
+ createdAt: timestamp,
290
+ createdBy: methodName,
291
+ modifiedAt: null,
292
+ modifiedBy: null,
293
+ modifications: [],
294
+ },
295
+ enumerable: false,
296
+ writable: true,
297
+ configurable: true,
298
+ });
299
+ }
300
+ // Emit event
301
+ if (onEvent) {
302
+ const event = {
303
+ method: methodName,
304
+ params,
305
+ result: res,
306
+ timestamp: new Date().toISOString(),
307
+ };
308
+ if (this.instanceName) {
309
+ event.instance = this.instanceName;
310
+ }
311
+ onEvent(event);
312
+ }
313
+ return res;
314
+ };
315
+ // Support async methods (most common case)
316
+ if (result && typeof result.then === 'function') {
317
+ return result.then(attachMeta);
318
+ }
319
+ return attachMeta(result);
320
+ };
321
+ }
322
+ }
323
+ /**
324
+ * Extract parameter names from a function signature string
325
+ */
326
+ function extractParamNames(fn) {
327
+ const fnStr = fn.toString();
328
+ const match = fnStr.match(/\(([^)]*)\)/);
329
+ if (!match?.[1])
330
+ return [];
331
+ return match[1]
332
+ .split(',')
333
+ .map(param => {
334
+ const cleaned = param
335
+ .trim()
336
+ .split('=')[0] // Remove default value
337
+ .split(':')[0] // Remove type annotations
338
+ .trim();
339
+ return cleaned;
340
+ })
341
+ .filter(name => name && name !== 'this');
342
+ }
343
+ // ═══════════════════════════════════════════════════════════════════
344
+ // Middleware proxy
345
+ // ═══════════════════════════════════════════════════════════════════
346
+ function buildMiddlewareProxy(instance, photonName, toolSchemas, options) {
347
+ // Build tool lookup: method name → schema
348
+ const toolMap = new Map();
349
+ for (const schema of toolSchemas) {
350
+ toolMap.set(schema.name, schema);
351
+ }
352
+ // Middleware state stores (shared across calls)
353
+ const stateStores = new Map();
354
+ // Build combined registry (builtins only for now; custom middleware can be added later)
355
+ const registry = new MiddlewareRegistry();
356
+ for (const name of builtinRegistry.names()) {
357
+ registry.register(builtinRegistry.get(name));
358
+ }
359
+ return new Proxy(instance, {
360
+ get(target, prop, receiver) {
361
+ const value = Reflect.get(target, prop, receiver);
362
+ if (typeof value !== 'function')
363
+ return value;
364
+ if (typeof prop !== 'string')
365
+ return value;
366
+ // Skip internal/private methods
367
+ if (prop.startsWith('_') || prop === 'constructor') {
368
+ return value.bind(target);
369
+ }
370
+ const schema = toolMap.get(prop);
371
+ const declarations = schema?.middleware || [];
372
+ // No middleware — return bound method directly
373
+ if (declarations.length === 0) {
374
+ return value.bind(target);
375
+ }
376
+ // Return a function that applies middleware on each call
377
+ return (...args) => {
378
+ const ctx = {
379
+ photon: photonName,
380
+ tool: prop,
381
+ instance: options.instanceName || 'default',
382
+ params: args[0] ?? {},
383
+ };
384
+ const execute = () => value.apply(target, args);
385
+ const chain = buildMiddlewareChain(execute, declarations, registry, stateStores, ctx);
386
+ return chain();
387
+ };
388
+ },
389
+ });
390
+ }
391
+ // ═══════════════════════════════════════════════════════════════════
392
+ // Path utilities
393
+ // ═══════════════════════════════════════════════════════════════════
394
+ /**
395
+ * Derive a photon name from a file path.
396
+ * e.g., '/path/to/todo.photon.ts' → 'todo'
397
+ */
398
+ function derivePhotonName(filePath) {
399
+ const basename = path.basename(filePath);
400
+ return basename
401
+ .replace(/\.photon\.(ts|js|mjs)$/, '')
402
+ .replace(/\.(ts|js|mjs)$/, '');
403
+ }
404
+ /**
405
+ * Resolve a photon dependency source to an absolute path.
406
+ */
407
+ function resolvePhotonDepPath(source, sourceType, currentPhotonPath) {
408
+ if (sourceType === 'local') {
409
+ if (source.startsWith('./') || source.startsWith('../')) {
410
+ return path.resolve(path.dirname(currentPhotonPath), source);
411
+ }
412
+ return source;
413
+ }
414
+ // For marketplace photons, look in ~/.photon/photons/<name>/
415
+ if (sourceType === 'marketplace') {
416
+ const homeDir = process.env.HOME || process.env.USERPROFILE || '';
417
+ return path.join(homeDir, '.photon', 'photons', source, `${source}.photon.ts`);
418
+ }
419
+ // npm and github sources — for now, throw a helpful error
420
+ throw new Error(`Cannot resolve ${sourceType} photon dependency "${source}" in lite loader. ` +
421
+ `Only local paths and marketplace photons are supported. ` +
422
+ `Use the full runtime for npm/github dependencies.`);
423
+ }
424
+ /**
425
+ * Resolve a photon name to a path for cross-photon calls.
426
+ * Searches: sibling files, then ~/.photon/photons/
427
+ */
428
+ function resolvePhotonPath(photonName, callerPath) {
429
+ // Try sibling file first
430
+ const dir = path.dirname(callerPath);
431
+ const siblingPath = path.join(dir, `${photonName}.photon.ts`);
432
+ // We can't do sync fs.existsSync in an async context cleanly,
433
+ // so just return the sibling path — the load will fail with a clear error if not found
434
+ return siblingPath;
435
+ }
436
+ //# sourceMappingURL=photon-loader-lite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photon-loader-lite.js","sourceRoot":"","sources":["../src/photon-loader-lite.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * - Visualization: chart, chart:<type>, metric, gauge, timeline, dashboard, cart
9
9
  * - Container: panels, tabs, accordion, stack, columns
10
10
  */
11
- export type OutputFormat = 'primitive' | 'table' | 'tree' | 'list' | 'none' | 'json' | 'markdown' | 'yaml' | 'xml' | 'html' | 'mermaid' | 'card' | 'grid' | 'chips' | 'kv' | 'chart' | `chart:${string}` | 'metric' | 'gauge' | 'timeline' | 'dashboard' | 'cart' | 'panels' | 'tabs' | 'accordion' | 'stack' | 'columns' | `code` | `code:${string}`;
11
+ export type OutputFormat = 'primitive' | 'table' | 'tree' | 'list' | 'none' | 'json' | 'markdown' | 'yaml' | 'xml' | 'html' | 'mermaid' | 'card' | 'grid' | 'chips' | 'kv' | 'qr' | 'chart' | `chart:${string}` | 'metric' | 'gauge' | 'timeline' | 'dashboard' | 'cart' | 'panels' | 'tabs' | 'accordion' | 'stack' | 'columns' | `code` | `code:${string}`;
12
12
  export interface PhotonTool {
13
13
  name: string;
14
14
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portel/photon-core",
3
- "version": "2.12.0",
3
+ "version": "2.14.0",
4
4
  "description": "Core library for parsing, loading, and managing .photon.ts files - runtime-agnostic foundation for building custom Photon runtimes",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/src/auto-ui.ts CHANGED
@@ -137,7 +137,7 @@ export function generateUIComponent(
137
137
  }
138
138
 
139
139
  // Auto-detect component from data structure
140
- const format = config.format || detectFormat(data);
140
+ const format = config.format || detectFormat(data) as OutputFormat;
141
141
  const component = formatToComponent(format, data);
142
142
 
143
143
  return {
@@ -377,7 +377,7 @@ export function suggestComponents(data: any): UIComponentType[] {
377
377
  const suggestions: UIComponentType[] = [];
378
378
 
379
379
  // Always suggest the default component
380
- const format = detectFormat(data);
380
+ const format = detectFormat(data) as OutputFormat;
381
381
  suggestions.push(formatToComponent(format, data));
382
382
 
383
383
  // Suggest alternatives based on data
package/src/base.ts CHANGED
@@ -169,12 +169,12 @@ export class Photon {
169
169
  * // Simple emit (local only)
170
170
  * this.emit({ status: 'processing', progress: 50 });
171
171
  *
172
- * // Emit with channel (broadcasts to subscribers)
173
- * this.emit({
174
- * channel: 'board:my-board',
175
- * event: 'task-moved',
176
- * data: { taskId: '123', newColumn: 'Done' }
177
- * });
172
+ * // Emit with channel (auto-prefixed with photon name)
173
+ * // In a WhatsApp photon, this publishes to 'whatsapp:messages'
174
+ * this.emit({ channel: 'messages', type: 'message', data: msg });
175
+ *
176
+ * // Explicit namespace (colon present = no auto-prefix)
177
+ * this.emit({ channel: 'board:updates', event: 'task-moved', data: { taskId: '123' } });
178
178
  * ```
179
179
  */
180
180
  protected emit(data: any): void {
@@ -190,15 +190,23 @@ export class Photon {
190
190
  store.outputHandler(emitData);
191
191
  }
192
192
 
193
- // If channel is specified, also publish to broker for cross-process notification
193
+ // If channel is specified, also publish to broker for cross-process notification.
194
+ // Auto-prefix channel with photon name if not already namespaced:
195
+ // this.emit({ channel: 'messages', ... }) → publishes to 'whatsapp:messages'
196
+ // this.emit({ channel: 'board:updates', ... }) → publishes as-is (already has colon)
194
197
  if (data && typeof data.channel === 'string') {
198
+ const rawChannel = data.channel;
199
+ const channel = this._photonName && !rawChannel.includes(':')
200
+ ? `${this._photonName}:${rawChannel}`
201
+ : rawChannel;
202
+
195
203
  const broker = getBroker();
196
204
  broker.publish({
197
- channel: data.channel,
205
+ channel,
198
206
  event: data.event || 'message',
199
207
  data: data.data !== undefined ? data.data : data,
200
208
  timestamp: Date.now(),
201
- source: this.constructor.name,
209
+ source: this._photonName || this.constructor.name,
202
210
  }).catch((err) => {
203
211
  // Silent fail - channel pub is best-effort
204
212
  // Log only in debug mode
@@ -340,8 +348,16 @@ export class Photon {
340
348
  /**
341
349
  * Optional lifecycle hooks
342
350
  */
343
- async onInitialize?(): Promise<void>;
344
- async onShutdown?(): Promise<void>;
351
+ /**
352
+ * Called once after the photon is loaded and wired.
353
+ * During hot-reload, receives context with the old instance for resource transfer.
354
+ */
355
+ async onInitialize?(ctx?: { reason?: string; oldInstance?: any }): Promise<void>;
356
+ /**
357
+ * Called before the photon is unloaded.
358
+ * During hot-reload, receives context so you can skip resource cleanup.
359
+ */
360
+ async onShutdown?(ctx?: { reason?: string }): Promise<void>;
345
361
 
346
362
  /**
347
363
  * Get an MCP client for calling external MCP servers
package/src/generator.ts CHANGED
@@ -718,6 +718,18 @@ export interface EmitUI {
718
718
  /**
719
719
  * Union of all emit (output) yield types
720
720
  */
721
+ /**
722
+ * QR code emit — rendered as a scannable QR code in both CLI and Beam.
723
+ * The `value` field contains the raw data to encode (e.g. a WhatsApp pairing string).
724
+ */
725
+ export interface EmitQR {
726
+ emit: 'qr';
727
+ /** Instruction text shown above the QR code */
728
+ message?: string;
729
+ /** Raw data to encode as QR */
730
+ value: string;
731
+ }
732
+
721
733
  export type EmitYield =
722
734
  | EmitStatus
723
735
  | EmitProgress
@@ -726,7 +738,8 @@ export type EmitYield =
726
738
  | EmitToast
727
739
  | EmitThinking
728
740
  | EmitArtifact
729
- | EmitUI;
741
+ | EmitUI
742
+ | EmitQR;
730
743
 
731
744
  // ══════════════════════════════════════════════════════════════════════════════
732
745
  // COMBINED TYPES