@portel/photon 1.33.1 → 1.33.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +74 -19
  2. package/dist/auto-ui/frontend/pure-view.html +5 -2
  3. package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
  4. package/dist/auto-ui/streamable-http-transport.js +62 -11
  5. package/dist/auto-ui/streamable-http-transport.js.map +1 -1
  6. package/dist/beam.bundle.js +19 -17
  7. package/dist/beam.bundle.js.map +2 -2
  8. package/dist/capability-negotiator.d.ts +11 -0
  9. package/dist/capability-negotiator.d.ts.map +1 -1
  10. package/dist/capability-negotiator.js +20 -0
  11. package/dist/capability-negotiator.js.map +1 -1
  12. package/dist/cli/commands/maker.d.ts.map +1 -1
  13. package/dist/cli/commands/maker.js +159 -27
  14. package/dist/cli/commands/maker.js.map +1 -1
  15. package/dist/daemon/worker-dep-proxy.d.ts +17 -0
  16. package/dist/daemon/worker-dep-proxy.d.ts.map +1 -0
  17. package/dist/daemon/worker-dep-proxy.js +92 -0
  18. package/dist/daemon/worker-dep-proxy.js.map +1 -0
  19. package/dist/daemon/worker-host.js +8 -28
  20. package/dist/daemon/worker-host.js.map +1 -1
  21. package/dist/deploy/cloudflare.d.ts.map +1 -1
  22. package/dist/deploy/cloudflare.js +15 -0
  23. package/dist/deploy/cloudflare.js.map +1 -1
  24. package/dist/photon-doc-extractor.d.ts +10 -0
  25. package/dist/photon-doc-extractor.d.ts.map +1 -1
  26. package/dist/photon-doc-extractor.js +26 -2
  27. package/dist/photon-doc-extractor.js.map +1 -1
  28. package/dist/resource-server.d.ts +15 -0
  29. package/dist/resource-server.d.ts.map +1 -1
  30. package/dist/resource-server.js +86 -5
  31. package/dist/resource-server.js.map +1 -1
  32. package/dist/server.d.ts.map +1 -1
  33. package/dist/server.js +20 -10
  34. package/dist/server.js.map +1 -1
  35. package/dist/template-manager.js +14 -14
  36. package/dist/version.d.ts +7 -0
  37. package/dist/version.d.ts.map +1 -1
  38. package/dist/version.js +8 -1
  39. package/dist/version.js.map +1 -1
  40. package/package.json +1 -1
  41. package/templates/cloudflare/worker.ts.template +26 -8
@@ -81,6 +81,17 @@ export declare class CapabilityNegotiator {
81
81
  * capability is implicit.
82
82
  */
83
83
  supportsUI(server: Server): boolean;
84
+ /**
85
+ * ChatGPT's Apps connector currently identifies as OpenAI-owned clients such
86
+ * as `openai-mcp` in live traffic. Treat those as UI-capable even when the
87
+ * SDK-normalized capabilities object does not retain the app extension.
88
+ */
89
+ /**
90
+ * ChatGPT/OpenAI app hosts need a couple of compatibility shims beyond plain
91
+ * UI support, notably slashless tool names for the app connector layer.
92
+ */
93
+ isOpenAIAppHost(server: Server): boolean;
94
+ private isOpenAIClientName;
84
95
  /**
85
96
  * Check if client supports elicitation
86
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"capability-negotiator.d.ts","sourceRoot":"","sources":["../src/capability-negotiator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,qBAAa,oBAAoB;IAC/B;;;;;;;;;;;OAWG;IACH;;;;OAIG;IACH,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAA8C;IAEnE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI3E;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAqBnC;;;;;OAKG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAW5C;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMzC;;;;;;;;;OASG;IACH,oCAAoC,CAClC,SAAS,EAAE;QAAE,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;KAAE,EACnD,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GACjC,IAAI;CAcR"}
1
+ {"version":3,"file":"capability-negotiator.d.ts","sourceRoot":"","sources":["../src/capability-negotiator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,qBAAa,oBAAoB;IAC/B;;;;;;;;;;;OAWG;IACH;;;;OAIG;IACH,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAA8C;IAEnE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI3E;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAsBnC;;;;OAIG;IACH;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,OAAO,CAAC,kBAAkB;IAM1B;;;;;OAKG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAW5C;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMzC;;;;;;;;;OASG;IACH,oCAAoC,CAClC,SAAS,EAAE;QAAE,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;KAAE,EACnD,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GACjC,IAAI;CAcR"}
@@ -65,8 +65,28 @@ export class CapabilityNegotiator {
65
65
  const clientInfo = server.getClientVersion();
66
66
  if (clientInfo?.name === 'beam')
67
67
  return true;
68
+ if (this.isOpenAIAppHost(server))
69
+ return true;
68
70
  return false;
69
71
  }
72
+ /**
73
+ * ChatGPT's Apps connector currently identifies as OpenAI-owned clients such
74
+ * as `openai-mcp` in live traffic. Treat those as UI-capable even when the
75
+ * SDK-normalized capabilities object does not retain the app extension.
76
+ */
77
+ /**
78
+ * ChatGPT/OpenAI app hosts need a couple of compatibility shims beyond plain
79
+ * UI support, notably slashless tool names for the app connector layer.
80
+ */
81
+ isOpenAIAppHost(server) {
82
+ return this.isOpenAIClientName(server.getClientVersion()?.name);
83
+ }
84
+ isOpenAIClientName(name) {
85
+ if (!name)
86
+ return false;
87
+ const normalized = name.toLowerCase();
88
+ return normalized === 'chatgpt' || normalized.includes('openai');
89
+ }
70
90
  /**
71
91
  * Check if client supports elicitation
72
92
  *
@@ -1 +1 @@
1
- {"version":3,"file":"capability-negotiator.js","sourceRoot":"","sources":["../src/capability-negotiator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAEvD,MAAM,OAAO,oBAAoB;IAC/B;;;;;;;;;;;OAWG;IACH;;;;OAIG;IACH,qBAAqB,GAAG,IAAI,OAAO,EAA+B,CAAC;IAEnE;;;OAGG;IACH,kBAAkB,CAAC,MAAc,EAAE,YAAiC;QAClE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,MAAc;QACvB,sFAAsF;QACtF,MAAM,YAAY,GAAG,MAAM,CAAC,qBAAqB,EAAyB,CAAC;QAC3E,IAAI,YAAY,EAAE,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8EAA8E;QAC9E,iFAAiF;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,GAAG,EAAE,UAAU,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qDAAqD;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7C,IAAI,UAAU,EAAE,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAE7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,MAAc;QAChC,MAAM,YAAY,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sDAAsD;QACtD,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAc;QAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACpD,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACH,oCAAoC,CAClC,SAAmD,EACnD,YAAoB,EACpB,SAAkC;QAElC,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC;QAC1C,SAAS,CAAC,SAAS,GAAG,CAAC,OAAY,EAAE,KAAW,EAAE,EAAE;YAClD,mDAAmD;YACnD,IAAI,OAAO,EAAE,MAAM,KAAK,YAAY,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACxD,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBAChC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YACD,0CAA0C;YAC1C,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YACrB,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"capability-negotiator.js","sourceRoot":"","sources":["../src/capability-negotiator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"maker.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/maker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2iBzC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiBzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoN5D"}
1
+ {"version":3,"file":"maker.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/maker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4vBzC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiBzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoN5D"}
@@ -13,12 +13,104 @@ import { getErrorMessage, ExitCode, exitWithError } from '../../shared/error-han
13
13
  import { logger } from '../../shared/logger.js';
14
14
  import { resolvePhotonPath, ensureWorkingDir } from '../../path-resolver.js';
15
15
  import { getDefaultContext } from '../../context.js';
16
- import { PHOTON_VERSION } from '../../version.js';
16
+ import { PHOTON_PACKAGE_VERSION } from '../../version.js';
17
17
  import { isNodeError } from '../../shared/error-handler.js';
18
18
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
19
- // ══════════════════════════════════════════════════════════════════════════════
20
- // PRIVATE HELPERS
21
- // ══════════════════════════════════════════════════════════════════════════════
19
+ async function loadMarketplaceCatalog(workingDir) {
20
+ const catalogPath = path.join(workingDir, '.marketplace', 'catalog.json');
21
+ if (!existsSync(catalogPath)) {
22
+ return undefined;
23
+ }
24
+ try {
25
+ return JSON.parse(await fs.readFile(catalogPath, 'utf-8'));
26
+ }
27
+ catch (error) {
28
+ exitWithError(`Could not read .marketplace/catalog.json: ${getErrorMessage(error)}`, {
29
+ exitCode: ExitCode.CONFIG_ERROR,
30
+ suggestion: 'Fix the JSON syntax or remove the catalog file',
31
+ });
32
+ }
33
+ }
34
+ function normalizeList(values) {
35
+ return Array.from(new Set((values || []).map((value) => value.trim()).filter(Boolean)));
36
+ }
37
+ function applyCatalogOverride(item, override) {
38
+ if (!override)
39
+ return item;
40
+ return {
41
+ ...item,
42
+ label: override.label ?? item.label,
43
+ description: override.description ?? item.description,
44
+ summary: override.summary ?? item.summary,
45
+ category: override.category ?? item.category,
46
+ tags: override.tags ?? item.tags,
47
+ };
48
+ }
49
+ function selectCatalogEntries(entries, catalog) {
50
+ if (!catalog)
51
+ return entries;
52
+ const sectionNames = normalizeList(catalog.sections?.flatMap((section) => section.photons));
53
+ const includeNames = normalizeList(catalog.include);
54
+ const excludeNames = new Set(normalizeList(catalog.exclude));
55
+ const selectedNames = sectionNames.length > 0 ? sectionNames : includeNames;
56
+ const entryByName = new Map(entries.map((entry) => [entry.metadata.name, entry]));
57
+ const orderedEntries = selectedNames.length > 0
58
+ ? selectedNames
59
+ .map((name) => {
60
+ const entry = entryByName.get(name);
61
+ if (!entry) {
62
+ console.error(` ⚠ Catalog references missing photon: ${name}`);
63
+ }
64
+ return entry;
65
+ })
66
+ .filter((entry) => Boolean(entry))
67
+ : entries;
68
+ return orderedEntries
69
+ .filter((entry) => !excludeNames.has(entry.metadata.name))
70
+ .map((entry) => {
71
+ const override = catalog.overrides?.[entry.metadata.name];
72
+ return {
73
+ ...entry,
74
+ metadata: applyCatalogOverride(entry.metadata, override),
75
+ manifest: applyCatalogOverride(entry.manifest, override),
76
+ };
77
+ });
78
+ }
79
+ function buildCatalogSections(photons, catalog) {
80
+ if (!catalog?.sections?.length) {
81
+ return [
82
+ {
83
+ title: catalog?.kind === 'examples' ? 'Examples' : 'Photons',
84
+ description: '',
85
+ photons,
86
+ },
87
+ ];
88
+ }
89
+ const byName = new Map(photons.map((photon) => [photon.name, photon]));
90
+ return catalog.sections
91
+ .map((section) => ({
92
+ title: section.title,
93
+ description: section.description || '',
94
+ photons: section.photons.map((name) => byName.get(name)).filter(Boolean),
95
+ }))
96
+ .filter((section) => section.photons.length > 0);
97
+ }
98
+ async function removeExcludedPhotonDocs(workingDir, allEntries, selectedEntries, catalog) {
99
+ if (!catalog?.removeExcludedDocs)
100
+ return 0;
101
+ const selectedNames = new Set(selectedEntries.map((entry) => entry.metadata.name));
102
+ let removed = 0;
103
+ for (const entry of allEntries) {
104
+ if (selectedNames.has(entry.metadata.name))
105
+ continue;
106
+ const docPath = path.join(workingDir, `${entry.metadata.name}.md`);
107
+ if (existsSync(docPath)) {
108
+ await fs.rm(docPath);
109
+ removed++;
110
+ }
111
+ }
112
+ return removed;
113
+ }
22
114
  /**
23
115
  * Ensure .gitignore includes marketplace template directory
24
116
  */
@@ -126,7 +218,8 @@ async function performMarketplaceSync(dirPath, options) {
126
218
  console.error('📄 Extracting documentation...');
127
219
  const { calculateFileHash, calculatePhotonHash } = await import('../../marketplace-manager.js');
128
220
  const { PhotonDocExtractor } = await import('../../photon-doc-extractor.js');
129
- const photons = [];
221
+ const catalog = await loadMarketplaceCatalog(resolvedPath);
222
+ const allEntries = [];
130
223
  for (const file of photonFiles.sort()) {
131
224
  const filePath = path.join(resolvedPath, file);
132
225
  // Extract full metadata
@@ -140,28 +233,44 @@ async function performMarketplaceSync(dirPath, options) {
140
233
  : contentHash;
141
234
  console.error(` ✓ ${metadata.name} (${metadata.tools?.length || 0} tools)`);
142
235
  // Build manifest entry
143
- photons.push({
144
- name: metadata.name,
145
- version: metadata.version,
146
- description: metadata.description,
147
- author: metadata.author || options.owner || 'Unknown',
148
- license: metadata.license || 'MIT',
149
- repository: metadata.repository,
150
- homepage: metadata.homepage,
151
- icon: metadata.icon || null,
152
- source: `../${file}`,
153
- hash,
154
- contentHash,
155
- tools: metadata.tools?.map((t) => t.name),
156
- assets: metadata.assets,
157
- photonType: metadata.photonType,
158
- features: metadata.features,
236
+ allEntries.push({
237
+ file,
238
+ metadata,
239
+ manifest: {
240
+ name: metadata.name,
241
+ version: metadata.version,
242
+ description: metadata.description,
243
+ author: metadata.author || options.owner || 'Unknown',
244
+ license: metadata.license || 'MIT',
245
+ repository: metadata.repository,
246
+ homepage: metadata.homepage,
247
+ icon: metadata.icon || null,
248
+ tags: metadata.tags,
249
+ category: metadata.category,
250
+ source: `../${file}`,
251
+ hash,
252
+ contentHash,
253
+ tools: metadata.tools?.map((t) => t.name),
254
+ assets: metadata.assets,
255
+ photonType: metadata.photonType,
256
+ features: metadata.features,
257
+ },
159
258
  });
160
- // Generate individual photon documentation
161
- const photonMarkdown = await templateMgr.renderTemplate('photon.md', metadata);
162
- const docPath = path.join(resolvedPath, `${metadata.name}.md`);
259
+ }
260
+ const selectedEntries = selectCatalogEntries(allEntries, catalog);
261
+ const photons = selectedEntries.map((entry) => entry.manifest);
262
+ if (catalog) {
263
+ console.error(` Catalog selected ${selectedEntries.length} of ${allEntries.length} photons from .marketplace/catalog.json`);
264
+ }
265
+ for (const entry of selectedEntries) {
266
+ const photonMarkdown = await templateMgr.renderTemplate('photon.md', entry.metadata);
267
+ const docPath = path.join(resolvedPath, `${entry.metadata.name}.md`);
163
268
  await fs.writeFile(docPath, photonMarkdown, 'utf-8');
164
269
  }
270
+ const removedDocs = await removeExcludedPhotonDocs(resolvedPath, allEntries, selectedEntries, catalog);
271
+ if (removedDocs > 0) {
272
+ console.error(` Removed ${removedDocs} generated docs for excluded photons`);
273
+ }
165
274
  // Create manifest
166
275
  console.error('\n📋 Updating manifest...');
167
276
  const baseName = path.basename(resolvedPath);
@@ -200,8 +309,8 @@ async function performMarketplaceSync(dirPath, options) {
200
309
  }
201
310
  const manifest = {
202
311
  name: options.name || baseName,
203
- version: PHOTON_VERSION,
204
- description: options.description || undefined,
312
+ version: PHOTON_PACKAGE_VERSION,
313
+ description: catalog?.description || options.description || undefined,
205
314
  owner: options.owner
206
315
  ? {
207
316
  name: options.owner,
@@ -218,17 +327,40 @@ async function performMarketplaceSync(dirPath, options) {
218
327
  const syncer = new ReadmeSyncer(readmePath);
219
328
  // Render README section from template
220
329
  const readmeContent = await templateMgr.renderTemplate('readme.md', {
221
- marketplaceName: manifest.name,
330
+ marketplaceName: catalog?.title || manifest.name,
222
331
  marketplaceDescription: manifest.description || '',
332
+ marketplaceKind: catalog?.kind || 'mixed',
333
+ quickStart: {
334
+ photon: catalog?.quickStart?.photon || photons[0]?.name || '<name>',
335
+ command: catalog?.quickStart?.command ||
336
+ `photon info ${catalog?.quickStart?.photon || photons[0]?.name || '<name>'} --mcp`,
337
+ },
223
338
  photons: photons.map((p) => ({
339
+ label: p.label,
224
340
  name: p.name,
225
341
  description: p.description,
342
+ summary: p.summary,
226
343
  version: p.version,
227
344
  license: p.license,
228
345
  tools: p.tools || [],
229
346
  photonType: p.photonType || 'api',
230
347
  features: p.features || [],
348
+ category: p.category,
349
+ tags: p.tags || [],
231
350
  })),
351
+ sections: buildCatalogSections(photons.map((p) => ({
352
+ label: p.label,
353
+ name: p.name,
354
+ description: p.description,
355
+ summary: p.summary,
356
+ version: p.version,
357
+ license: p.license,
358
+ tools: p.tools || [],
359
+ photonType: p.photonType || 'api',
360
+ features: p.features || [],
361
+ category: p.category,
362
+ tags: p.tags || [],
363
+ })), catalog),
232
364
  });
233
365
  const isUpdate = await syncer.sync(readmeContent);
234
366
  if (isUpdate) {
@@ -1 +1 @@
1
- {"version":3,"file":"maker.js","sourceRoot":"","sources":["../../../src/cli/commands/maker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maker.js","sourceRoot":"","sources":["../../../src/cli/commands/maker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ChannelBroker } from '@portel/photon-core';
2
+ import type { WorkerToMainMessage } from './worker-protocol.js';
3
+ export type PendingDepCall = {
4
+ resolve: (value: unknown) => void;
5
+ reject: (error: Error) => void;
6
+ };
7
+ export interface WorkerDepProxyOptions {
8
+ depName: string;
9
+ remoteToolNames: string[];
10
+ broker: Pick<ChannelBroker, 'publish' | 'subscribe'>;
11
+ send: (msg: WorkerToMainMessage) => void;
12
+ genId: () => string;
13
+ pendingDepCalls: Map<string, PendingDepCall>;
14
+ timeoutMs?: number;
15
+ }
16
+ export declare function createWorkerDepProxy({ depName, remoteToolNames, broker, send, genId, pendingDepCalls, timeoutMs, }: WorkerDepProxyOptions): any;
17
+ //# sourceMappingURL=worker-dep-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-dep-proxy.d.ts","sourceRoot":"","sources":["../../src/daemon/worker-dep-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;IACrD,IAAI,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,eAAe,EACf,MAAM,EACN,IAAI,EACJ,KAAK,EACL,eAAe,EACf,SAAmB,GACpB,EAAE,qBAAqB,GAAG,GAAG,CAoF7B"}
@@ -0,0 +1,92 @@
1
+ function depEventChannel(depName, event) {
2
+ return `${depName}:${event}`;
3
+ }
4
+ function eventNameFromOnProperty(prop) {
5
+ if (!prop.startsWith('on') || prop.length <= 2)
6
+ return null;
7
+ return prop.charAt(2).toLowerCase() + prop.slice(3);
8
+ }
9
+ function eventPayload(message) {
10
+ if (message && typeof message === 'object' && 'data' in message) {
11
+ return message.data;
12
+ }
13
+ return message;
14
+ }
15
+ export function createWorkerDepProxy({ depName, remoteToolNames, broker, send, genId, pendingDepCalls, timeoutMs = 120_000, }) {
16
+ const toolSet = new Set(remoteToolNames);
17
+ const subscriptions = new Map();
18
+ const subscribe = (event, handler) => {
19
+ const channel = depEventChannel(depName, event);
20
+ const wrapped = (message) => handler(eventPayload(message));
21
+ const subscription = broker.subscribe(channel, wrapped);
22
+ const handlerKey = handler;
23
+ let eventSubscriptions = subscriptions.get(event);
24
+ if (!eventSubscriptions) {
25
+ eventSubscriptions = new Map();
26
+ subscriptions.set(event, eventSubscriptions);
27
+ }
28
+ eventSubscriptions.set(handlerKey, subscription);
29
+ return () => {
30
+ eventSubscriptions.delete(handlerKey);
31
+ if (eventSubscriptions.size === 0) {
32
+ subscriptions.delete(event);
33
+ }
34
+ void subscription.then((sub) => sub.unsubscribe());
35
+ };
36
+ };
37
+ const unsubscribe = (event, handler) => {
38
+ const eventSubscriptions = subscriptions.get(event);
39
+ if (!eventSubscriptions)
40
+ return;
41
+ const subscription = eventSubscriptions.get(handler);
42
+ if (!subscription)
43
+ return;
44
+ eventSubscriptions.delete(handler);
45
+ if (eventSubscriptions.size === 0) {
46
+ subscriptions.delete(event);
47
+ }
48
+ void subscription.then((sub) => sub.unsubscribe());
49
+ };
50
+ return new Proxy({}, {
51
+ get(_target, prop) {
52
+ if (typeof prop !== 'string')
53
+ return undefined;
54
+ if (prop === 'on') {
55
+ return subscribe;
56
+ }
57
+ if (prop === 'off') {
58
+ return (event, handler) => unsubscribe(event, handler);
59
+ }
60
+ if (prop === 'emit') {
61
+ return (event, data) => broker.publish({
62
+ channel: depEventChannel(depName, event),
63
+ event,
64
+ data,
65
+ timestamp: Date.now(),
66
+ source: depName,
67
+ });
68
+ }
69
+ if (toolSet.has(prop)) {
70
+ return async (args = {}) => {
71
+ const id = genId();
72
+ return new Promise((resolve, reject) => {
73
+ pendingDepCalls.set(id, { resolve, reject });
74
+ send({ type: 'dep_call', id, depName, method: prop, args });
75
+ setTimeout(() => {
76
+ if (pendingDepCalls.has(id)) {
77
+ pendingDepCalls.delete(id);
78
+ reject(new Error(`Dependency call ${depName}.${prop} timed out`));
79
+ }
80
+ }, timeoutMs);
81
+ });
82
+ };
83
+ }
84
+ const eventName = eventNameFromOnProperty(prop);
85
+ if (eventName) {
86
+ return (handler) => subscribe(eventName, handler);
87
+ }
88
+ return undefined;
89
+ },
90
+ });
91
+ }
92
+ //# sourceMappingURL=worker-dep-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-dep-proxy.js","sourceRoot":"","sources":["../../src/daemon/worker-dep-proxy.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { PhotonLoader } from '../loader.js';
9
9
  import { createLogger } from '../shared/logger.js';
10
10
  import { getErrorMessage } from '../shared/error-handler.js';
11
11
  import { setBroker } from '@portel/photon-core';
12
+ import { createWorkerDepProxy } from './worker-dep-proxy.js';
12
13
  if (!parentPort) {
13
14
  throw new Error('worker-host must run inside a worker thread');
14
15
  }
@@ -101,34 +102,13 @@ function genId() {
101
102
  }
102
103
  // ─── @photon Dependency Resolution (cross-worker RPC) ────────────────────────
103
104
  function createDepProxy(depName, remoteToolNames) {
104
- const toolSet = new Set(remoteToolNames);
105
- return new Proxy({}, {
106
- get(_target, prop) {
107
- if (typeof prop !== 'string')
108
- return undefined;
109
- // .on, .off, .emit — use broker-based events (channel: dep:${depName})
110
- if (prop === 'on' || prop === 'off' || prop === 'emit') {
111
- // TODO: bridge event subscriptions for dependencies
112
- return () => { };
113
- }
114
- if (toolSet.has(prop)) {
115
- return async (args = {}) => {
116
- const id = genId();
117
- return new Promise((resolve, reject) => {
118
- pendingDepCalls.set(id, { resolve, reject });
119
- send({ type: 'dep_call', id, depName, method: prop, args });
120
- // Timeout after 120s
121
- setTimeout(() => {
122
- if (pendingDepCalls.has(id)) {
123
- pendingDepCalls.delete(id);
124
- reject(new Error(`Dependency call ${depName}.${prop} timed out`));
125
- }
126
- }, 120_000);
127
- });
128
- };
129
- }
130
- return undefined;
131
- },
105
+ return createWorkerDepProxy({
106
+ depName,
107
+ remoteToolNames,
108
+ broker,
109
+ send,
110
+ genId,
111
+ pendingDepCalls,
132
112
  });
133
113
  }
134
114
  // ─── Initialization ──────────────────────────────────────────────────────────