@portel/photon 1.32.1 → 1.32.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.
- package/README.md +8 -4
- package/dist/auto-ui/beam.d.ts.map +1 -1
- package/dist/auto-ui/beam.js +35 -4
- package/dist/auto-ui/beam.js.map +1 -1
- package/dist/auto-ui/bridge/index.js +1 -1
- package/dist/auto-ui/streamable-http-transport.d.ts +5 -0
- package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
- package/dist/auto-ui/streamable-http-transport.js +402 -171
- package/dist/auto-ui/streamable-http-transport.js.map +1 -1
- package/dist/auto-ui/types.d.ts +34 -0
- package/dist/auto-ui/types.d.ts.map +1 -1
- package/dist/auto-ui/types.js +57 -0
- package/dist/auto-ui/types.js.map +1 -1
- package/dist/beam.bundle.js +2492 -1442
- package/dist/beam.bundle.js.map +4 -4
- package/dist/claude-code-plugin.js +9 -3
- package/dist/claude-code-plugin.js.map +1 -1
- package/dist/cli/commands/beam.d.ts.map +1 -1
- package/dist/cli/commands/beam.js +5 -0
- package/dist/cli/commands/beam.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +12 -6
- package/dist/context.js.map +1 -1
- package/dist/daemon/client.d.ts.map +1 -1
- package/dist/daemon/client.js +165 -478
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/manager.d.ts +1 -1
- package/dist/daemon/manager.d.ts.map +1 -1
- package/dist/daemon/manager.js +18 -19
- package/dist/daemon/manager.js.map +1 -1
- package/dist/daemon/server.js +61 -23
- package/dist/daemon/server.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +19 -8
- package/dist/loader.js.map +1 -1
- package/dist/photons/marketplace.photon.d.ts.map +1 -1
- package/dist/photons/marketplace.photon.js +34 -7
- package/dist/photons/marketplace.photon.js.map +1 -1
- package/dist/photons/marketplace.photon.ts +35 -7
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +40 -6
- package/dist/server.js.map +1 -1
- package/dist/types/server-types.d.ts +2 -0
- package/dist/types/server-types.d.ts.map +1 -1
- package/dist/version-notify.d.ts +5 -0
- package/dist/version-notify.d.ts.map +1 -1
- package/dist/version-notify.js +57 -7
- package/dist/version-notify.js.map +1 -1
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +8 -3
- package/dist/watcher.js.map +1 -1
- package/package.json +89 -73
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.photon.d.ts","sourceRoot":"","sources":["../../src/photons/marketplace.photon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"marketplace.photon.d.ts","sourceRoot":"","sources":["../../src/photons/marketplace.photon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkCH,MAAM,CAAC,OAAO,OAAO,WAAW;gBAClB,WAAW,CAAC,EAAE,MAAM;IAQhC;;;OAGG;WACU,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CACxD,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CACH;IA2CD;;;OAGG;WACW,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,CAAC;QAChE,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAqCF;;;OAGG;WACW,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,CAAC;QAChE,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IA2CF;;;OAGG;WACU,YAAY,IAAI,OAAO,CAClC,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CACH;IAkCD;;;OAGG;WACU,WAAW,IAAI,OAAO,CACjC,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CACH;IAuBD;;;OAGG;WACU,SAAS,CAAC,EACrB,MAAM,GACP,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAc7C;;;OAGG;WACU,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAapF;;OAEG;WACW,IAAI,IAAI,cAAc,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAkCF;;OAEG;WACW,IAAI,IAAI,cAAc,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CAkDH"}
|
|
@@ -6,7 +6,34 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import * as fs from 'fs/promises';
|
|
8
8
|
import * as path from 'path';
|
|
9
|
+
import { pathToFileURL } from 'url';
|
|
9
10
|
import { DEFAULT_PHOTON_DIR } from '@portel/photon-core';
|
|
11
|
+
async function loadMarketplaceManager() {
|
|
12
|
+
const moduleId = '@portel/photon/dist/marketplace-manager.js';
|
|
13
|
+
try {
|
|
14
|
+
return (await import(moduleId));
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Internal photons are cached before execution, so relative imports point at
|
|
18
|
+
// the cache directory. Resolve the manager from the running Photon package.
|
|
19
|
+
const binDir = path.dirname(process.argv[1] || '');
|
|
20
|
+
const candidates = [
|
|
21
|
+
path.resolve(binDir, 'marketplace-manager.js'),
|
|
22
|
+
path.resolve(binDir, '../dist/marketplace-manager.js'),
|
|
23
|
+
path.resolve(process.cwd(), 'dist/marketplace-manager.js'),
|
|
24
|
+
];
|
|
25
|
+
for (const candidate of candidates) {
|
|
26
|
+
try {
|
|
27
|
+
await fs.access(candidate);
|
|
28
|
+
return (await import(pathToFileURL(candidate).href));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Try the next known install layout.
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
throw new Error('Unable to locate Photon marketplace manager module');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
10
37
|
export default class Marketplace {
|
|
11
38
|
constructor(_workingDir) {
|
|
12
39
|
// workingDir reserved for future per-instance scoping
|
|
@@ -19,7 +46,7 @@ export default class Marketplace {
|
|
|
19
46
|
* @param query Search query string
|
|
20
47
|
*/
|
|
21
48
|
static async search({ query }) {
|
|
22
|
-
const { MarketplaceManager } = await
|
|
49
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
23
50
|
const manager = new MarketplaceManager();
|
|
24
51
|
await manager.initialize();
|
|
25
52
|
const results = await manager.search(query);
|
|
@@ -53,7 +80,7 @@ export default class Marketplace {
|
|
|
53
80
|
* @param name Name of the photon to install
|
|
54
81
|
*/
|
|
55
82
|
static async *install({ name }) {
|
|
56
|
-
const { MarketplaceManager } = await
|
|
83
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
57
84
|
const manager = new MarketplaceManager();
|
|
58
85
|
await manager.initialize();
|
|
59
86
|
const workingDir = DEFAULT_PHOTON_DIR;
|
|
@@ -83,7 +110,7 @@ export default class Marketplace {
|
|
|
83
110
|
* @param name Name of the photon to upgrade
|
|
84
111
|
*/
|
|
85
112
|
static async *upgrade({ name }) {
|
|
86
|
-
const { MarketplaceManager, readLocalMetadata } = await
|
|
113
|
+
const { MarketplaceManager, readLocalMetadata } = await loadMarketplaceManager();
|
|
87
114
|
const manager = new MarketplaceManager();
|
|
88
115
|
await manager.initialize();
|
|
89
116
|
yield {
|
|
@@ -121,7 +148,7 @@ export default class Marketplace {
|
|
|
121
148
|
* @autorun
|
|
122
149
|
*/
|
|
123
150
|
static async checkUpdates() {
|
|
124
|
-
const { MarketplaceManager, readLocalMetadata } = await
|
|
151
|
+
const { MarketplaceManager, readLocalMetadata } = await loadMarketplaceManager();
|
|
125
152
|
const manager = new MarketplaceManager();
|
|
126
153
|
await manager.initialize();
|
|
127
154
|
const localMeta = await readLocalMetadata();
|
|
@@ -148,7 +175,7 @@ export default class Marketplace {
|
|
|
148
175
|
* @autorun
|
|
149
176
|
*/
|
|
150
177
|
static async listSources() {
|
|
151
|
-
const { MarketplaceManager } = await
|
|
178
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
152
179
|
const manager = new MarketplaceManager();
|
|
153
180
|
await manager.initialize();
|
|
154
181
|
const sources = manager.getAll();
|
|
@@ -170,7 +197,7 @@ export default class Marketplace {
|
|
|
170
197
|
* @param source Git URL or local path to marketplace
|
|
171
198
|
*/
|
|
172
199
|
static async addSource({ source, }) {
|
|
173
|
-
const { MarketplaceManager } = await
|
|
200
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
174
201
|
const manager = new MarketplaceManager();
|
|
175
202
|
await manager.initialize();
|
|
176
203
|
const result = await manager.add(source);
|
|
@@ -184,7 +211,7 @@ export default class Marketplace {
|
|
|
184
211
|
* @param name Name of the marketplace source to remove
|
|
185
212
|
*/
|
|
186
213
|
static async removeSource({ name }) {
|
|
187
|
-
const { MarketplaceManager } = await
|
|
214
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
188
215
|
const manager = new MarketplaceManager();
|
|
189
216
|
await manager.initialize();
|
|
190
217
|
const removed = await manager.remove(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.photon.js","sourceRoot":"","sources":["../../src/photons/marketplace.photon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,YAAY,WAAoB;QAC9B,sDAAsD;IACxD,CAAC;IAED,+CAA+C;IAC/C,mBAAmB;IACnB,+CAA+C;IAE/C;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAqB;QAW9C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"marketplace.photon.js","sourceRoot":"","sources":["../../src/photons/marketplace.photon.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,36 @@
|
|
|
7
7
|
|
|
8
8
|
import * as fs from 'fs/promises';
|
|
9
9
|
import * as path from 'path';
|
|
10
|
+
import { pathToFileURL } from 'url';
|
|
10
11
|
import { DEFAULT_PHOTON_DIR } from '@portel/photon-core';
|
|
11
12
|
|
|
13
|
+
async function loadMarketplaceManager(): Promise<typeof import('../marketplace-manager.js')> {
|
|
14
|
+
const moduleId = '@portel/photon/dist/marketplace-manager.js';
|
|
15
|
+
try {
|
|
16
|
+
return (await import(moduleId)) as typeof import('../marketplace-manager.js');
|
|
17
|
+
} catch {
|
|
18
|
+
// Internal photons are cached before execution, so relative imports point at
|
|
19
|
+
// the cache directory. Resolve the manager from the running Photon package.
|
|
20
|
+
const binDir = path.dirname(process.argv[1] || '');
|
|
21
|
+
const candidates = [
|
|
22
|
+
path.resolve(binDir, 'marketplace-manager.js'),
|
|
23
|
+
path.resolve(binDir, '../dist/marketplace-manager.js'),
|
|
24
|
+
path.resolve(process.cwd(), 'dist/marketplace-manager.js'),
|
|
25
|
+
];
|
|
26
|
+
for (const candidate of candidates) {
|
|
27
|
+
try {
|
|
28
|
+
await fs.access(candidate);
|
|
29
|
+
return (await import(
|
|
30
|
+
pathToFileURL(candidate).href
|
|
31
|
+
)) as typeof import('../marketplace-manager.js');
|
|
32
|
+
} catch {
|
|
33
|
+
// Try the next known install layout.
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
throw new Error('Unable to locate Photon marketplace manager module');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
12
40
|
export default class Marketplace {
|
|
13
41
|
constructor(_workingDir?: string) {
|
|
14
42
|
// workingDir reserved for future per-instance scoping
|
|
@@ -33,7 +61,7 @@ export default class Marketplace {
|
|
|
33
61
|
installed: boolean;
|
|
34
62
|
}>
|
|
35
63
|
> {
|
|
36
|
-
const { MarketplaceManager } = await
|
|
64
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
37
65
|
const manager = new MarketplaceManager();
|
|
38
66
|
await manager.initialize();
|
|
39
67
|
|
|
@@ -87,7 +115,7 @@ export default class Marketplace {
|
|
|
87
115
|
path?: string;
|
|
88
116
|
version?: string;
|
|
89
117
|
}> {
|
|
90
|
-
const { MarketplaceManager } = await
|
|
118
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
91
119
|
const manager = new MarketplaceManager();
|
|
92
120
|
await manager.initialize();
|
|
93
121
|
|
|
@@ -134,7 +162,7 @@ export default class Marketplace {
|
|
|
134
162
|
currentVersion?: string;
|
|
135
163
|
newVersion?: string;
|
|
136
164
|
}> {
|
|
137
|
-
const { MarketplaceManager, readLocalMetadata } = await
|
|
165
|
+
const { MarketplaceManager, readLocalMetadata } = await loadMarketplaceManager();
|
|
138
166
|
const manager = new MarketplaceManager();
|
|
139
167
|
await manager.initialize();
|
|
140
168
|
|
|
@@ -188,7 +216,7 @@ export default class Marketplace {
|
|
|
188
216
|
marketplace: string;
|
|
189
217
|
}>
|
|
190
218
|
> {
|
|
191
|
-
const { MarketplaceManager, readLocalMetadata } = await
|
|
219
|
+
const { MarketplaceManager, readLocalMetadata } = await loadMarketplaceManager();
|
|
192
220
|
const manager = new MarketplaceManager();
|
|
193
221
|
await manager.initialize();
|
|
194
222
|
|
|
@@ -235,7 +263,7 @@ export default class Marketplace {
|
|
|
235
263
|
photonCount: number;
|
|
236
264
|
}>
|
|
237
265
|
> {
|
|
238
|
-
const { MarketplaceManager } = await
|
|
266
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
239
267
|
const manager = new MarketplaceManager();
|
|
240
268
|
await manager.initialize();
|
|
241
269
|
|
|
@@ -266,7 +294,7 @@ export default class Marketplace {
|
|
|
266
294
|
}: {
|
|
267
295
|
source: string;
|
|
268
296
|
}): Promise<{ name: string; added: boolean }> {
|
|
269
|
-
const { MarketplaceManager } = await
|
|
297
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
270
298
|
const manager = new MarketplaceManager();
|
|
271
299
|
await manager.initialize();
|
|
272
300
|
|
|
@@ -284,7 +312,7 @@ export default class Marketplace {
|
|
|
284
312
|
* @param name Name of the marketplace source to remove
|
|
285
313
|
*/
|
|
286
314
|
static async removeSource({ name }: { name: string }): Promise<{ removed: boolean }> {
|
|
287
|
-
const { MarketplaceManager } = await
|
|
315
|
+
const { MarketplaceManager } = await loadMarketplaceManager();
|
|
288
316
|
const manager = new MarketplaceManager();
|
|
289
317
|
await manager.initialize();
|
|
290
318
|
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA2BnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG5E,OAAO,EAAgB,MAAM,EAAE,aAAa,EAAY,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -21,6 +21,7 @@ import { createLogger } from './shared/logger.js';
|
|
|
21
21
|
import { getErrorMessage, formatToolError } from './shared/error-handler.js';
|
|
22
22
|
import { validateOrThrow, assertString, notEmpty, inRange, oneOf, hasExtension, } from './shared/validation.js';
|
|
23
23
|
import { generatePlaygroundHTML } from './auto-ui/playground-html.js';
|
|
24
|
+
import { PHOTON_RENDER_META_KEY, buildPhotonRenderMeta, buildToolMCPMeta, } from './auto-ui/types.js';
|
|
24
25
|
import { pingDaemon } from './daemon/client.js';
|
|
25
26
|
import { ensureDaemon } from './daemon/manager.js';
|
|
26
27
|
import { ChannelManager, } from './channel-manager.js';
|
|
@@ -184,8 +185,11 @@ class BeamCompatTransport {
|
|
|
184
185
|
'x-photon-has-settings': sub.hasSettings,
|
|
185
186
|
};
|
|
186
187
|
// Add UI linking metadata if this tool has a linked UI
|
|
187
|
-
|
|
188
|
-
|
|
188
|
+
const meta = buildToolMCPMeta(tool, {
|
|
189
|
+
uiResourceUri: tool.linkedUi ? `ui://${sub.name}/${tool.linkedUi}` : undefined,
|
|
190
|
+
});
|
|
191
|
+
if (Object.keys(meta).length > 0) {
|
|
192
|
+
def._meta = { ...def._meta, ...meta };
|
|
189
193
|
}
|
|
190
194
|
return def;
|
|
191
195
|
});
|
|
@@ -909,6 +913,7 @@ export class PhotonServer {
|
|
|
909
913
|
if (!this.mcp) {
|
|
910
914
|
return { tools: [] };
|
|
911
915
|
}
|
|
916
|
+
const mcpName = this.mcp.name;
|
|
912
917
|
const tools = this.mcp.tools.map((tool) => {
|
|
913
918
|
// Append deprecation notice to tool description if tagged
|
|
914
919
|
let description = tool.description;
|
|
@@ -947,8 +952,27 @@ export class PhotonServer {
|
|
|
947
952
|
toolDef.icons = icons;
|
|
948
953
|
}
|
|
949
954
|
const linkedUI = this.mcp?.assets?.ui.find((u) => u.linkedTool === tool.name || u.linkedTools?.includes(tool.name));
|
|
955
|
+
if (schema.outputFormat)
|
|
956
|
+
toolDef['x-output-format'] = schema.outputFormat;
|
|
957
|
+
if (schema.layoutHints)
|
|
958
|
+
toolDef['x-layout-hints'] = schema.layoutHints;
|
|
959
|
+
if (schema.buttonLabel)
|
|
960
|
+
toolDef['x-button-label'] = schema.buttonLabel;
|
|
961
|
+
if (schema.icon)
|
|
962
|
+
toolDef['x-icon'] = schema.icon;
|
|
963
|
+
if (schema.autorun)
|
|
964
|
+
toolDef['x-autorun'] = true;
|
|
965
|
+
const renderMeta = buildPhotonRenderMeta(schema, {
|
|
966
|
+
uiResourceUri: linkedUI ? `ui://${mcpName}/${linkedUI.id}` : undefined,
|
|
967
|
+
});
|
|
968
|
+
if (renderMeta) {
|
|
969
|
+
toolDef._meta = { ...toolDef._meta, [PHOTON_RENDER_META_KEY]: renderMeta };
|
|
970
|
+
}
|
|
950
971
|
if (linkedUI && this.capabilityNegotiator.supportsUI(ctx.server)) {
|
|
951
|
-
toolDef._meta =
|
|
972
|
+
toolDef._meta = {
|
|
973
|
+
...toolDef._meta,
|
|
974
|
+
...this.resourceServer.buildUIToolMeta(this.mcp.name, linkedUI.id),
|
|
975
|
+
};
|
|
952
976
|
}
|
|
953
977
|
return toolDef;
|
|
954
978
|
});
|
|
@@ -1255,17 +1279,27 @@ export class PhotonServer {
|
|
|
1255
1279
|
!Array.isArray(actualResult)) {
|
|
1256
1280
|
response.structuredContent = actualResult;
|
|
1257
1281
|
}
|
|
1258
|
-
|
|
1282
|
+
const linkedUI = this.mcp?.assets?.ui.find((u) => u.linkedTool === toolName || u.linkedTools?.includes(toolName));
|
|
1283
|
+
const supportsLinkedUI = !!linkedUI && this.capabilityNegotiator.supportsUI(ctx.server);
|
|
1284
|
+
// Add x-output-format for legacy format-aware clients
|
|
1259
1285
|
if (outputFormat) {
|
|
1260
1286
|
response['x-output-format'] = outputFormat;
|
|
1261
1287
|
}
|
|
1288
|
+
if (schema?.layoutHints) {
|
|
1289
|
+
response['x-layout-hints'] = schema.layoutHints;
|
|
1290
|
+
}
|
|
1291
|
+
const renderMeta = buildPhotonRenderMeta(schema, {
|
|
1292
|
+
uiResourceUri: supportsLinkedUI ? `ui://${this.mcp.name}/${linkedUI.id}` : undefined,
|
|
1293
|
+
});
|
|
1294
|
+
if (renderMeta) {
|
|
1295
|
+
response._meta = { ...response._meta, [PHOTON_RENDER_META_KEY]: renderMeta };
|
|
1296
|
+
}
|
|
1262
1297
|
// Add stateful workflow metadata (machine-readable _meta)
|
|
1263
1298
|
if (isStateful && result.runId) {
|
|
1264
1299
|
response._meta = { ...response._meta, runId: result.runId, status: result.status };
|
|
1265
1300
|
}
|
|
1266
1301
|
// Enrich response with structuredContent + _meta for tools with linked UIs
|
|
1267
|
-
|
|
1268
|
-
if (linkedUI && this.capabilityNegotiator.supportsUI(ctx.server)) {
|
|
1302
|
+
if (supportsLinkedUI) {
|
|
1269
1303
|
if (actualResult !== undefined && actualResult !== null) {
|
|
1270
1304
|
response.structuredContent =
|
|
1271
1305
|
typeof actualResult === 'string' ? { text: actualResult } : actualResult;
|