@portel/photon 1.8.0 → 1.8.2

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.
@@ -82,8 +82,9 @@ export default class Marketplace {
82
82
  * @param name Name of the photon to install
83
83
  */
84
84
  static async *install({ name }: { name: string }): AsyncGenerator<{
85
- step: string;
85
+ emit: string;
86
86
  message?: string;
87
+ value?: any;
87
88
  name?: string;
88
89
  path?: string;
89
90
  version?: string;
@@ -94,21 +95,29 @@ export default class Marketplace {
94
95
 
95
96
  const workingDir = process.env.PHOTON_DIR || path.join(os.homedir(), '.photon');
96
97
 
97
- yield { step: 'searching', message: `Searching for ${name}...` };
98
+ yield { emit: 'status', value: { step: 'searching' }, message: `Searching for ${name}...` };
98
99
 
99
100
  const result = await manager.fetchMCP(name);
100
101
  if (!result) {
101
- yield { step: 'error', message: `Photon '${name}' not found in marketplace` };
102
+ yield {
103
+ emit: 'status',
104
+ value: { step: 'error' },
105
+ message: `Photon '${name}' not found in marketplace`,
106
+ };
102
107
  return;
103
108
  }
104
109
 
105
- yield { step: 'downloading', message: `Downloading ${name}...` };
110
+ yield { emit: 'status', value: { step: 'downloading' }, message: `Downloading ${name}...` };
106
111
 
107
112
  const targetPath = path.join(workingDir, `${name}.photon.ts`);
108
113
  await fs.writeFile(targetPath, result.content, 'utf-8');
109
114
 
110
115
  if (result.metadata) {
111
- yield { step: 'saving-metadata', message: 'Saving installation metadata...' };
116
+ yield {
117
+ emit: 'status',
118
+ value: { step: 'saving-metadata' },
119
+ message: 'Saving installation metadata...',
120
+ };
112
121
  const { calculateHash } = await import('../marketplace-manager.js');
113
122
  const hash = calculateHash(result.content);
114
123
  await manager.savePhotonMetadata(
@@ -120,7 +129,8 @@ export default class Marketplace {
120
129
  }
121
130
 
122
131
  yield {
123
- step: 'done',
132
+ emit: 'status',
133
+ value: { step: 'done' },
124
134
  message: `Installed ${name}`,
125
135
  name,
126
136
  path: targetPath,
@@ -133,8 +143,9 @@ export default class Marketplace {
133
143
  * @param name Name of the photon to upgrade
134
144
  */
135
145
  static async *upgrade({ name }: { name: string }): AsyncGenerator<{
136
- step: string;
146
+ emit: string;
137
147
  message?: string;
148
+ value?: any;
138
149
  currentVersion?: string;
139
150
  newVersion?: string;
140
151
  }> {
@@ -142,25 +153,33 @@ export default class Marketplace {
142
153
  const manager = new MarketplaceManager();
143
154
  await manager.initialize();
144
155
 
145
- yield { step: 'checking', message: `Checking current version of ${name}...` };
156
+ yield {
157
+ emit: 'status',
158
+ value: { step: 'checking' },
159
+ message: `Checking current version of ${name}...`,
160
+ };
146
161
 
147
162
  const localMeta = await readLocalMetadata();
148
163
  const fileName = `${name}.photon.ts`;
149
164
  const currentMeta = localMeta.photons[fileName];
150
165
  const currentVersion = currentMeta?.version || 'unknown';
151
166
 
152
- yield { step: 'fetching', message: `Fetching latest version...` };
167
+ yield { emit: 'status', value: { step: 'fetching' }, message: `Fetching latest version...` };
153
168
 
154
169
  const result = await manager.fetchMCP(name);
155
170
  if (!result) {
156
- yield { step: 'error', message: `Photon '${name}' not found in marketplace` };
171
+ yield {
172
+ emit: 'status',
173
+ value: { step: 'error' },
174
+ message: `Photon '${name}' not found in marketplace`,
175
+ };
157
176
  return;
158
177
  }
159
178
 
160
179
  const workingDir = process.env.PHOTON_DIR || path.join(os.homedir(), '.photon');
161
180
  const targetPath = path.join(workingDir, fileName);
162
181
 
163
- yield { step: 'installing', message: `Upgrading ${name}...` };
182
+ yield { emit: 'status', value: { step: 'installing' }, message: `Upgrading ${name}...` };
164
183
 
165
184
  await fs.writeFile(targetPath, result.content, 'utf-8');
166
185
 
@@ -171,7 +190,8 @@ export default class Marketplace {
171
190
  }
172
191
 
173
192
  yield {
174
- step: 'done',
193
+ emit: 'status',
194
+ value: { step: 'done' },
175
195
  message: `Upgraded ${name} from ${currentVersion} to ${result.metadata?.version || 'latest'}`,
176
196
  currentVersion,
177
197
  newVersion: result.metadata?.version,
@@ -302,46 +322,65 @@ export default class Marketplace {
302
322
  * Synchronize marketplace manifest and documentation
303
323
  */
304
324
  static async *sync(): AsyncGenerator<{
305
- step: string;
325
+ emit: string;
306
326
  message?: string;
307
- photon?: string;
308
- photons?: number;
309
- manifest?: string;
327
+ value?: any;
328
+ [key: string]: any;
310
329
  }> {
311
330
  const workingDir = process.env.PHOTON_DIR || process.cwd();
312
331
 
313
- yield { step: 'scanning', message: 'Scanning for photons...' };
332
+ yield { emit: 'status', message: 'Scanning for photons...' };
314
333
 
315
334
  const files = await fs.readdir(workingDir);
316
335
  const photonFiles = files.filter((f) => f.endsWith('.photon.ts'));
317
336
 
318
337
  yield {
319
- step: 'found',
338
+ emit: 'status',
320
339
  message: `Found ${photonFiles.length} photons`,
321
340
  photons: photonFiles.length,
322
341
  };
323
342
 
324
343
  for (const file of photonFiles) {
325
- yield { step: 'processing', photon: file, message: `Processing ${file}...` };
344
+ yield {
345
+ emit: 'status',
346
+ value: { step: 'processing' },
347
+ photon: file,
348
+ message: `Processing ${file}...`,
349
+ };
326
350
  await new Promise((resolve) => setTimeout(resolve, 100));
327
351
  }
328
352
 
329
353
  const manifest = path.join(workingDir, '.marketplace', 'photons.json');
330
- yield { step: 'done', message: 'Sync complete', photons: photonFiles.length, manifest };
354
+ yield {
355
+ emit: 'status',
356
+ value: { step: 'done' },
357
+ message: 'Sync complete',
358
+ photons: photonFiles.length,
359
+ manifest,
360
+ };
331
361
  }
332
362
 
333
363
  /**
334
364
  * Initialize current directory as a photon marketplace
335
365
  */
336
- static async *init(): AsyncGenerator<{ step: string; message?: string; created?: string }> {
366
+ static async *init(): AsyncGenerator<{
367
+ emit: string;
368
+ message?: string;
369
+ value?: any;
370
+ created?: string;
371
+ }> {
337
372
  const workingDir = process.cwd();
338
373
 
339
- yield { step: 'starting', message: 'Initializing photon marketplace...' };
374
+ yield {
375
+ emit: 'status',
376
+ value: { step: 'starting' },
377
+ message: 'Initializing photon marketplace...',
378
+ };
340
379
 
341
380
  const marketplaceDir = path.join(workingDir, '.marketplace');
342
381
  try {
343
382
  await fs.mkdir(marketplaceDir, { recursive: true });
344
- yield { step: 'created', created: '.marketplace/' };
383
+ yield { emit: 'status', value: { step: 'created' }, created: '.marketplace/' };
345
384
  } catch {
346
385
  // Directory creation failed - continue anyway
347
386
  }
@@ -349,10 +388,14 @@ export default class Marketplace {
349
388
  const manifestPath = path.join(marketplaceDir, 'photons.json');
350
389
  try {
351
390
  await fs.access(manifestPath);
352
- yield { step: 'exists', message: '.marketplace/photons.json already exists' };
391
+ yield {
392
+ emit: 'status',
393
+ value: { step: 'exists' },
394
+ message: '.marketplace/photons.json already exists',
395
+ };
353
396
  } catch {
354
397
  await fs.writeFile(manifestPath, JSON.stringify({ photons: [] }, null, 2));
355
- yield { step: 'created', created: '.marketplace/photons.json' };
398
+ yield { emit: 'status', value: { step: 'created' }, created: '.marketplace/photons.json' };
356
399
  }
357
400
 
358
401
  const gitignorePath = path.join(workingDir, '.gitignore');
@@ -367,12 +410,12 @@ export default class Marketplace {
367
410
  if (!gitignore.includes('node_modules')) {
368
411
  gitignore += '\nnode_modules/\n';
369
412
  await fs.writeFile(gitignorePath, gitignore);
370
- yield { step: 'created', created: '.gitignore (updated)' };
413
+ yield { emit: 'status', value: { step: 'created' }, created: '.gitignore (updated)' };
371
414
  }
372
415
  } catch {
373
416
  // gitignore update failed - non-critical
374
417
  }
375
418
 
376
- yield { step: 'done', message: 'Marketplace initialized' };
419
+ yield { emit: 'status', value: { step: 'done' }, message: 'Marketplace initialized' };
377
420
  }
378
421
  }
@@ -33,7 +33,8 @@ export default class Tunnel {
33
33
  /** Provider: localtunnel, ngrok, or cloudflared */
34
34
  provider?: 'localtunnel' | 'ngrok' | 'cloudflared';
35
35
  }): AsyncGenerator<{
36
- step: string;
36
+ emit: string;
37
+ value?: any;
37
38
  message: string;
38
39
  }, {
39
40
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.photon.d.ts","sourceRoot":"","sources":["../../src/photons/tunnel.photon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;CACjB;AAKD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC;QACtB,SAAS,EAAE,KAAK,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;QACH,aAAa,EAAE,UAAU,EAAE,CAAC;KAC7B,CAAC;IA0BF;;;;OAIG;IACI,KAAK,CAAC,EACX,QAAwB,GACzB,GAAE;QACD,mDAAmD;QACnD,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,aAAa,CAAC;KAC/C,GAAG,cAAc,CACrB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EACjC;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CACF;IAuED;;;;OAIG;IACG,IAAI,CAAC,EACT,IAAI,GACL,EAAE;QACD,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBlD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAc9D;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAUhD,OAAO,CAAC,aAAa;YASP,YAAY;YAqBZ,iBAAiB;YA2CjB,WAAW;YAgCX,iBAAiB;CAgChC"}
1
+ {"version":3,"file":"tunnel.photon.d.ts","sourceRoot":"","sources":["../../src/photons/tunnel.photon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;CACjB;AAKD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC;QACtB,SAAS,EAAE,KAAK,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;QACH,aAAa,EAAE,UAAU,EAAE,CAAC;KAC7B,CAAC;IA0BF;;;;OAIG;IACI,KAAK,CAAC,EACX,QAAwB,GACzB,GAAE;QACD,mDAAmD;QACnD,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,aAAa,CAAC;KAC/C,GAAG,cAAc,CACrB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CACF;IA2ED;;;;OAIG;IACG,IAAI,CAAC,EACT,IAAI,GACL,EAAE;QACD,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBlD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAc9D;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAUhD,OAAO,CAAC,aAAa;YASP,YAAY;YAqBZ,iBAAiB;YA2CjB,WAAW;YAgCX,iBAAiB;CAgChC"}
@@ -55,7 +55,11 @@ export default class Tunnel {
55
55
  port,
56
56
  };
57
57
  }
58
- yield { step: 'starting', message: `Starting ${provider} tunnel for Beam (port ${port})...` };
58
+ yield {
59
+ emit: 'status',
60
+ value: { step: 'starting' },
61
+ message: `Starting ${provider} tunnel for Beam (port ${port})...`,
62
+ };
59
63
  try {
60
64
  let url;
61
65
  let process;
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.photon.js","sourceRoot":"","sources":["../../src/photons/tunnel.photon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel.photon.js","sourceRoot":"","sources":["../../src/photons/tunnel.photon.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ export default class Tunnel {
67
67
  /** Provider: localtunnel, ngrok, or cloudflared */
68
68
  provider?: 'localtunnel' | 'ngrok' | 'cloudflared';
69
69
  } = {}): AsyncGenerator<
70
- { step: string; message: string },
70
+ { emit: string; value?: any; message: string },
71
71
  {
72
72
  message: string;
73
73
  url: string;
@@ -94,7 +94,11 @@ export default class Tunnel {
94
94
  };
95
95
  }
96
96
 
97
- yield { step: 'starting', message: `Starting ${provider} tunnel for Beam (port ${port})...` };
97
+ yield {
98
+ emit: 'status',
99
+ value: { step: 'starting' },
100
+ message: `Starting ${provider} tunnel for Beam (port ${port})...`,
101
+ };
98
102
 
99
103
  try {
100
104
  let url: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portel/photon",
3
- "version": "1.8.0",
3
+ "version": "1.8.2",
4
4
  "description": "You focus on the business logic. We'll enable the rest. Build MCP servers and CLI tools in a single TypeScript file.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -92,7 +92,8 @@
92
92
  "chart.js": "^4.5.1",
93
93
  "chokidar": "^4.0.3",
94
94
  "cli-highlight": "^2.1.11",
95
- "commander": "^12.1.0"
95
+ "commander": "^12.1.0",
96
+ "esbuild": "^0.27.0"
96
97
  },
97
98
  "devDependencies": {
98
99
  "@codemirror/autocomplete": "^6.20.0",
@@ -112,7 +113,6 @@
112
113
  "c8": "^10.1.3",
113
114
  "clinic": "^13.0.0",
114
115
  "codemirror": "^6.0.2",
115
- "esbuild": "^0.27.0",
116
116
  "eslint": "^9.39.2",
117
117
  "eslint-config-prettier": "^10.1.8",
118
118
  "lit": "^3.3.2",