@portel/photon 1.28.2 → 1.31.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.
- package/README.md +42 -11
- package/dist/asset-resolver.d.ts +44 -0
- package/dist/asset-resolver.d.ts.map +1 -0
- package/dist/asset-resolver.js +105 -0
- package/dist/asset-resolver.js.map +1 -0
- package/dist/auto-ui/beam/external-mcp-manager.d.ts +73 -0
- package/dist/auto-ui/beam/external-mcp-manager.d.ts.map +1 -0
- package/dist/auto-ui/beam/external-mcp-manager.js +65 -0
- package/dist/auto-ui/beam/external-mcp-manager.js.map +1 -0
- package/dist/auto-ui/beam/external-mcp.d.ts.map +1 -1
- package/dist/auto-ui/beam/external-mcp.js +25 -1
- package/dist/auto-ui/beam/external-mcp.js.map +1 -1
- package/dist/auto-ui/beam/photon-management.d.ts.map +1 -1
- package/dist/auto-ui/beam/photon-management.js +11 -8
- package/dist/auto-ui/beam/photon-management.js.map +1 -1
- package/dist/auto-ui/beam/routes/api-browse.d.ts.map +1 -1
- package/dist/auto-ui/beam/routes/api-browse.js +7 -4
- package/dist/auto-ui/beam/routes/api-browse.js.map +1 -1
- package/dist/auto-ui/beam/routes/api-config.d.ts.map +1 -1
- package/dist/auto-ui/beam/routes/api-config.js +3 -2
- package/dist/auto-ui/beam/routes/api-config.js.map +1 -1
- package/dist/auto-ui/beam/routes/api-marketplace.d.ts.map +1 -1
- package/dist/auto-ui/beam/routes/api-marketplace.js +6 -2
- package/dist/auto-ui/beam/routes/api-marketplace.js.map +1 -1
- package/dist/auto-ui/beam/startup.js.map +1 -1
- package/dist/auto-ui/beam/types.d.ts +5 -2
- package/dist/auto-ui/beam/types.d.ts.map +1 -1
- package/dist/auto-ui/beam.d.ts.map +1 -1
- package/dist/auto-ui/beam.js +239 -88
- package/dist/auto-ui/beam.js.map +1 -1
- package/dist/auto-ui/bridge/index.d.ts.map +1 -1
- package/dist/auto-ui/bridge/index.js +11 -0
- package/dist/auto-ui/bridge/index.js.map +1 -1
- package/dist/auto-ui/bridge/types.d.ts +2 -0
- package/dist/auto-ui/bridge/types.d.ts.map +1 -1
- package/dist/auto-ui/openapi-generator.js +1 -4
- package/dist/auto-ui/openapi-generator.js.map +1 -1
- package/dist/auto-ui/photon-bridge.d.ts +4 -0
- package/dist/auto-ui/photon-bridge.d.ts.map +1 -1
- package/dist/auto-ui/photon-bridge.js.map +1 -1
- package/dist/auto-ui/photon-host.js.map +1 -1
- package/dist/auto-ui/streamable-http-transport.d.ts +7 -0
- package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
- package/dist/auto-ui/streamable-http-transport.js +252 -43
- package/dist/auto-ui/streamable-http-transport.js.map +1 -1
- package/dist/auto-ui/types.d.ts +24 -2
- package/dist/auto-ui/types.d.ts.map +1 -1
- package/dist/auto-ui/types.js.map +1 -1
- package/dist/beam.bundle.js +202 -24
- package/dist/beam.bundle.js.map +3 -3
- package/dist/capability-negotiator.d.ts +39 -1
- package/dist/capability-negotiator.d.ts.map +1 -1
- package/dist/capability-negotiator.js +5 -0
- package/dist/capability-negotiator.js.map +1 -1
- package/dist/cf-bindings-parser.d.ts +15 -0
- package/dist/cf-bindings-parser.d.ts.map +1 -0
- package/dist/cf-bindings-parser.js +98 -0
- package/dist/cf-bindings-parser.js.map +1 -0
- package/dist/cf-usage-scanner.d.ts +76 -0
- package/dist/cf-usage-scanner.d.ts.map +1 -0
- package/dist/cf-usage-scanner.js +179 -0
- package/dist/cf-usage-scanner.js.map +1 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +124 -16
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/cf.d.ts +18 -0
- package/dist/cli/commands/cf.d.ts.map +1 -0
- package/dist/cli/commands/cf.js +207 -0
- package/dist/cli/commands/cf.js.map +1 -0
- package/dist/cli/commands/info.js +1 -1
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +59 -46
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +3 -0
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +43 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/daemon/client.d.ts.map +1 -1
- package/dist/daemon/client.js +40 -33
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/manager.d.ts +6 -2
- package/dist/daemon/manager.d.ts.map +1 -1
- package/dist/daemon/manager.js +75 -20
- package/dist/daemon/manager.js.map +1 -1
- package/dist/daemon/server.js +69 -11
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/worker-host.js.map +1 -1
- package/dist/deploy/cloudflare.d.ts +27 -0
- package/dist/deploy/cloudflare.d.ts.map +1 -1
- package/dist/deploy/cloudflare.js +210 -3
- package/dist/deploy/cloudflare.js.map +1 -1
- package/dist/editor-support/docblock-tag-catalog.d.ts.map +1 -1
- package/dist/editor-support/docblock-tag-catalog.js +32 -2
- package/dist/editor-support/docblock-tag-catalog.js.map +1 -1
- package/dist/embedded-runtime.js.map +1 -1
- package/dist/format/registry.d.ts +83 -0
- package/dist/format/registry.d.ts.map +1 -0
- package/dist/format/registry.js +139 -0
- package/dist/format/registry.js.map +1 -0
- package/dist/format/seed.d.ts +18 -0
- package/dist/format/seed.d.ts.map +1 -0
- package/dist/format/seed.js +246 -0
- package/dist/format/seed.js.map +1 -0
- package/dist/loader.d.ts +61 -66
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +315 -327
- package/dist/loader.js.map +1 -1
- package/dist/photon-cli-runner.d.ts.map +1 -1
- package/dist/photon-cli-runner.js +20 -11
- package/dist/photon-cli-runner.js.map +1 -1
- package/dist/photons/maker.photon.d.ts +2 -2
- package/dist/photons/maker.photon.d.ts.map +1 -1
- package/dist/photons/maker.photon.js +5 -6
- package/dist/photons/maker.photon.js.map +1 -1
- package/dist/photons/maker.photon.ts +5 -6
- package/dist/resource-server.d.ts +55 -15
- package/dist/resource-server.d.ts.map +1 -1
- package/dist/resource-server.js +205 -50
- package/dist/resource-server.js.map +1 -1
- package/dist/runtime/cf-local.d.ts +157 -0
- package/dist/runtime/cf-local.d.ts.map +1 -0
- package/dist/runtime/cf-local.js +406 -0
- package/dist/runtime/cf-local.js.map +1 -0
- package/dist/server.d.ts +117 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +681 -67
- package/dist/server.js.map +1 -1
- package/dist/settings-persistence.d.ts +50 -0
- package/dist/settings-persistence.d.ts.map +1 -0
- package/dist/settings-persistence.js +188 -0
- package/dist/settings-persistence.js.map +1 -0
- package/dist/shared/asset-encoding.d.ts +30 -0
- package/dist/shared/asset-encoding.d.ts.map +1 -0
- package/dist/shared/asset-encoding.js +0 -0
- package/dist/shared/asset-encoding.js.map +1 -0
- package/dist/shared/audit-sqlite.d.ts.map +1 -1
- package/dist/shared/audit-sqlite.js +0 -1
- package/dist/shared/audit-sqlite.js.map +1 -1
- package/dist/shared/cross-origin-headers.d.ts +47 -0
- package/dist/shared/cross-origin-headers.d.ts.map +1 -0
- package/dist/shared/cross-origin-headers.js +61 -0
- package/dist/shared/cross-origin-headers.js.map +1 -0
- package/dist/shared/error-handler.d.ts.map +1 -1
- package/dist/shared/error-handler.js +3 -1
- package/dist/shared/error-handler.js.map +1 -1
- package/dist/shared/expose-route-extractor.d.ts +36 -0
- package/dist/shared/expose-route-extractor.d.ts.map +1 -0
- package/dist/shared/expose-route-extractor.js +64 -0
- package/dist/shared/expose-route-extractor.js.map +1 -0
- package/dist/shared/extract-claims.d.ts +33 -0
- package/dist/shared/extract-claims.d.ts.map +1 -0
- package/dist/shared/extract-claims.js +60 -0
- package/dist/shared/extract-claims.js.map +1 -0
- package/dist/shared/http-route-extractor.d.ts +6 -0
- package/dist/shared/http-route-extractor.d.ts.map +1 -1
- package/dist/shared/http-route-extractor.js +29 -5
- package/dist/shared/http-route-extractor.js.map +1 -1
- package/dist/shared/instance-binding.d.ts +53 -0
- package/dist/shared/instance-binding.d.ts.map +1 -0
- package/dist/shared/instance-binding.js +85 -0
- package/dist/shared/instance-binding.js.map +1 -0
- package/dist/shared/io.d.ts.map +1 -1
- package/dist/shared/io.js +5 -2
- package/dist/shared/io.js.map +1 -1
- package/dist/shared/logger.js.map +1 -1
- package/dist/shared/sqlite-runtime.d.ts.map +1 -1
- package/dist/shared/sqlite-runtime.js +0 -1
- package/dist/shared/sqlite-runtime.js.map +1 -1
- package/dist/task-executor.js.map +1 -1
- package/dist/telemetry/sdk.d.ts.map +1 -1
- package/dist/telemetry/sdk.js +0 -1
- package/dist/telemetry/sdk.js.map +1 -1
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js.map +1 -1
- package/dist/types/server-types.d.ts +16 -7
- package/dist/types/server-types.d.ts.map +1 -1
- package/package.json +14 -4
- package/templates/cloudflare/worker.ts.template +428 -14
- package/templates/cloudflare/wrangler.toml.template +2 -7
- package/templates/photon.template.ts +13 -0
package/README.md
CHANGED
|
@@ -91,6 +91,8 @@ npx @portel/photon mcp install my-tool
|
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
> Requires [Node.js 20+](https://nodejs.org). TypeScript is compiled internally; no `tsconfig.json` needed.
|
|
94
|
+
>
|
|
95
|
+
> **Where do photon files live?** `./` (a project directory you cd into) or `~/.photon/` (global, auto-discovered). User settings persist under `~/.photon/state/<photon>/`. See [Where things live](docs/getting-started.md#where-things-live).
|
|
94
96
|
|
|
95
97
|
<div align="center">
|
|
96
98
|
|
|
@@ -117,11 +119,15 @@ The more you express, the more Photon derives:
|
|
|
117
119
|
| Method signatures | Tool definitions: names, inputs, outputs |
|
|
118
120
|
| Type annotations | Input validation rules, UI field types |
|
|
119
121
|
| JSDoc comments | Documentation for AI clients and human users |
|
|
120
|
-
| Constructor parameters | Config UI, environment variable mapping |
|
|
122
|
+
| Constructor parameters | Config UI, environment variable mapping, runtime injection (`Photon`, `Cloudflare`, `CloudflareEnv`) |
|
|
121
123
|
| `@tags` | Validation, formatting, scheduling, webhooks |
|
|
122
124
|
|
|
123
125
|
When you add a `@param city {@pattern ^[a-zA-Z\s]+$}` annotation, Beam validates it in the form, the CLI validates it before running, and the MCP schema enforces it for the AI. One annotation. Three consumers.
|
|
124
126
|
|
|
127
|
+
### Three ways to author
|
|
128
|
+
|
|
129
|
+
`extends Photon` is one shape. You can also inject `Photon` as a constructor parameter when you already extend something else, or compose without inheritance — same API either way. CF resources reach the photon through a separate `Cloudflare` injection so portable photons stay portable. See [docs/guides/PHOTON-INJECTION.md](docs/guides/PHOTON-INJECTION.md).
|
|
130
|
+
|
|
125
131
|
---
|
|
126
132
|
|
|
127
133
|
## Beam: Human Exploration
|
|
@@ -134,10 +140,12 @@ Beam is the web dashboard. Every photon becomes an interactive form automaticall
|
|
|
134
140
|
|
|
135
141
|
The UI is **fully auto-generated** from your method signatures: field types, validation, defaults, layouts. You never write frontend code. When you add a `{@choice a,b,c}` tag to a parameter, Beam renders a dropdown. When you mark a string as `{@format email}`, the field validates email format. The UI evolves as your code does.
|
|
136
142
|
|
|
137
|
-
When forms aren't the right interface for what you're building, you can replace Beam's auto-generated view with your own HTML. A global named after your photon is auto-injected (e.g., `analytics.onResult(data => ...)`) — no framework required.
|
|
143
|
+
When forms aren't the right interface for what you're building, you can replace Beam's auto-generated view with your own HTML. A global named after your photon is auto-injected (e.g., `analytics.onResult(data => ...)`) — no framework required. `window.photon.url` is also injected and resolves to the Beam base URL so your HTML can construct fetch paths correctly whether running locally or behind a reverse proxy.
|
|
138
144
|
|
|
139
145
|
> Custom UIs follow the [MCP Apps Extension (SEP-1865)](https://github.com/nicolo-ribaudo/modelcontextprotocol/blob/nicolo/sep-1865/docs/specification/draft/extensions/apps.mdx) standard and work across compatible hosts. See the [Custom UI Guide](./docs/guides/CUSTOM-UI.md).
|
|
140
146
|
|
|
147
|
+
Photons that declare `@get` or `@post` HTTP routes are shown in Beam as web apps. Beam proxies requests to those routes and injects an `x-photon-base-path` header so the app can construct correct absolute paths regardless of where Beam is hosted.
|
|
148
|
+
|
|
141
149
|
---
|
|
142
150
|
|
|
143
151
|
## AI Agents: Machine Invocation
|
|
@@ -196,23 +204,36 @@ The class description becomes how AI clients introduce the tool to users. The `@
|
|
|
196
204
|
<img src="https://raw.githubusercontent.com/portel-dev/photon/main/assets/readme-step-2.png" alt="Step 2" width="100%">
|
|
197
205
|
</div>
|
|
198
206
|
|
|
199
|
-
###
|
|
207
|
+
### Declare configuration: a settings tool appears
|
|
200
208
|
|
|
201
209
|
```typescript
|
|
202
210
|
export default class Weather {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
211
|
+
/** User-tunable knobs. Photon auto-generates a `settings` tool from this. */
|
|
212
|
+
protected settings = {
|
|
213
|
+
/** Units for forecast values */
|
|
214
|
+
units: 'metric',
|
|
215
|
+
/** Polling interval in seconds */
|
|
216
|
+
pollIntervalSec: 300,
|
|
217
|
+
};
|
|
207
218
|
|
|
208
219
|
async forecast(params: { city: string }) {
|
|
209
|
-
const res = await fetch(`...?
|
|
220
|
+
const res = await fetch(`...?units=${this.settings.units}`);
|
|
210
221
|
return await res.json();
|
|
211
222
|
}
|
|
212
223
|
}
|
|
213
224
|
```
|
|
214
225
|
|
|
215
|
-
`
|
|
226
|
+
`protected settings` is the canonical way to expose runtime knobs. Photon reads the JSDoc on each property, generates an MCP `settings` tool with typed inputs, and persists user changes to `~/.photon/state/<photon>/<instance>-settings.json`. Inside methods, `this.settings` is a read-only Proxy. To change a value, the user (or AI) calls the auto-generated `settings` tool.
|
|
227
|
+
|
|
228
|
+
For **secrets** that should never be persisted in a settings file (API keys, tokens), use a constructor parameter instead. Photon maps the parameter name to an env var:
|
|
229
|
+
|
|
230
|
+
```typescript
|
|
231
|
+
export default class Weather {
|
|
232
|
+
constructor(private apiKey: string) {} // → WEATHER_API_KEY
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
The constructor pattern is for primitives that come from `.env`. The `protected settings` pattern is for everything else, including any knob the user should be able to change at runtime without restarting. **When in doubt, reach for `settings`.**
|
|
216
237
|
|
|
217
238
|
<div align="center">
|
|
218
239
|
<img src="https://raw.githubusercontent.com/portel-dev/photon/main/assets/readme-step-3.png" alt="Step 3" width="100%">
|
|
@@ -278,6 +299,7 @@ Things you don't build because Photon handles them:
|
|
|
278
299
|
| **Daemon ops** | `photon ps` lists and controls scheduled jobs, webhooks, and live sessions |
|
|
279
300
|
| **Distributed locks** | `@locked` serializes access: one caller at a time, across processes |
|
|
280
301
|
| **Cross-photon calls** | `this.call()` invokes another photon's methods |
|
|
302
|
+
| **Cloudflare runtime** | `this.cf.r2('blobs')`, `this.cf.d1('app')`, `this.cf.kv('cache')` — same shape locally (miniflare) and deployed (real bindings). See [CF-BINDINGS.md](docs/guides/CF-BINDINGS.md) |
|
|
281
303
|
| **Real-time events** | `this.emit()` fires named events to the browser UI with zero wiring |
|
|
282
304
|
| **Live rendering** | `this.render()` pushes formatted output to CLI and Beam in real time |
|
|
283
305
|
| **Delegated LLM** | `this.sample()` asks the driving agent's model to generate text — no API key, agent pays |
|
|
@@ -364,7 +386,9 @@ export default class Editor {
|
|
|
364
386
|
| `await this.sample({ prompt })` | Delegates LLM generation to the caller's model via MCP sampling |
|
|
365
387
|
| `await this.confirm(question)` | Yes/no prompt — returns `boolean` |
|
|
366
388
|
| `await this.elicit(params)` | Arbitrary input (text, select, form, file, etc.) |
|
|
367
|
-
| `this.status(msg)` / `this.progress(v)` | Live feedback during long work |
|
|
389
|
+
| `this.status(msg)` / `this.progress(v)` | Live feedback during long work; routes to SSE stream in Beam |
|
|
390
|
+
| `this.roots` | MCP workspace roots declared by the connected client (`roots/list`) |
|
|
391
|
+
| `this.notifyResourceUpdated(uri)` | Push `notifications/resources/updated` to subscribed clients |
|
|
368
392
|
|
|
369
393
|
Full reference: [`docs/reference/MCP-PRIMITIVES.md`](docs/reference/MCP-PRIMITIVES.md).
|
|
370
394
|
|
|
@@ -522,6 +546,11 @@ Uses Bun's compiler under the hood. The binary bundles the photon, its `@depende
|
|
|
522
546
|
| `@param ... {@format email}` | Param | Input validation and field type |
|
|
523
547
|
| `@param ... {@min N} {@max N}` | Param | Numeric range constraints |
|
|
524
548
|
| `@ui` | Class/Method | Link a custom HTML template |
|
|
549
|
+
| `@expose` | Method | Auto-bind to `POST /api/<kebab>` for SPA fetch (`public` skips the SameSite gate) |
|
|
550
|
+
| `@get /path` | Method | HTTP-only GET route; shown as a web app in Beam, not an MCP tool |
|
|
551
|
+
| `@post /path` | Method | HTTP-only POST route; shown as a web app in Beam, not an MCP tool |
|
|
552
|
+
| `@resource <uri>` | Method | Dynamic MCP resource resolver (canonical form; replaces `@Static`) |
|
|
553
|
+
| `@prompt` | Method | MCP prompt template (canonical form; replaces `@Template`) |
|
|
525
554
|
| `@webhook` | Method | Expose as HTTP endpoint |
|
|
526
555
|
| `@scheduled` | Method | Run on a cron schedule |
|
|
527
556
|
| `@locked` | Method | Distributed lock across processes |
|
|
@@ -540,8 +569,9 @@ Uses Bun's compiler under the hood. The binary bundles the photon, its `@depende
|
|
|
540
569
|
| Guide | |
|
|
541
570
|
|---|---|
|
|
542
571
|
| [Getting Started](./docs/getting-started.md) | Install, build, and run your first photon in 5 minutes |
|
|
543
|
-
| [Core Concepts](./docs/concepts.md) | The
|
|
572
|
+
| [Core Concepts](./docs/concepts.md) | The 6 ideas behind Photon |
|
|
544
573
|
| [Output Formats](./docs/formats.md) | Visual gallery of every `@format` type |
|
|
574
|
+
| [Settings](./docs/GUIDE.md#settings-user-configurable-knobs) | Declare runtime knobs with `protected settings` (the canonical config pattern) |
|
|
545
575
|
| [Troubleshooting](./docs/TROUBLESHOOTING.md) | Common issues and solutions |
|
|
546
576
|
|
|
547
577
|
**Go deeper:**
|
|
@@ -557,6 +587,7 @@ Uses Bun's compiler under the hood. The binary bundles the photon, its `@depende
|
|
|
557
587
|
| [Webhooks](./docs/reference/WEBHOOKS.md) | HTTP endpoints for external services |
|
|
558
588
|
| [Locks](./docs/reference/LOCKS.md) | Distributed locks for exclusive access |
|
|
559
589
|
| [Advanced Patterns](./docs/guides/ADVANCED.md) | Lifecycle hooks, dependency injection, interactive workflows |
|
|
590
|
+
| [Marketplace Configuration](./docs/guides/MARKETPLACE-CONFIG.md) | Sharing settings across related photons in one marketplace |
|
|
560
591
|
| [Deployment](./docs/guides/DEPLOYMENT.md) | Docker, Cloudflare Workers, AWS Lambda, Systemd |
|
|
561
592
|
|
|
562
593
|
**Operate:**
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset discovery + binding for Photon instances.
|
|
3
|
+
*
|
|
4
|
+
* Wraps `discoverAssets` from photon-core with the runtime-specific bits:
|
|
5
|
+
* method-level `@ui` linking, `ui://` URI generation for the MCP Apps
|
|
6
|
+
* extension, and exposing the metadata on `this.assets` without breaking
|
|
7
|
+
* the inherited `assets(subpath)` callable on Photon subclasses.
|
|
8
|
+
*
|
|
9
|
+
* Extracted from PhotonLoader so the loader doesn't need to know how
|
|
10
|
+
* UI assets get woven onto an instance.
|
|
11
|
+
*/
|
|
12
|
+
import { type PhotonAssets } from '@portel/photon-core';
|
|
13
|
+
type LogFn = (message: string, meta?: Record<string, any>) => void;
|
|
14
|
+
export declare class AssetResolver {
|
|
15
|
+
private readonly log;
|
|
16
|
+
constructor(log: LogFn);
|
|
17
|
+
/**
|
|
18
|
+
* Discover assets from a photon source. Delegates to photon-core for the
|
|
19
|
+
* filesystem walk, then layers in method-level `@ui` links and `ui://` URIs.
|
|
20
|
+
*/
|
|
21
|
+
discover(photonPath: string, source: string): Promise<PhotonAssets | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Expose discovered asset metadata on the instance without breaking
|
|
24
|
+
* `Photon.assets(subpath)`.
|
|
25
|
+
*
|
|
26
|
+
* Photon subclasses inherit a callable `assets(subpath)` method. We bind
|
|
27
|
+
* it to the instance and decorate the function object with metadata so
|
|
28
|
+
* both `this.assets('templates')` and `this.assets.ui` work. Plain
|
|
29
|
+
* classes with no inherited method receive the metadata object directly.
|
|
30
|
+
*/
|
|
31
|
+
attachToInstance(instance: Record<string, unknown>, assets: PhotonAssets | undefined): void;
|
|
32
|
+
/**
|
|
33
|
+
* Generate ui:// URIs for all UI assets (MCP Apps Extension, SEP-1865).
|
|
34
|
+
* URI format: ui://<photon-name>/<asset-id>
|
|
35
|
+
*/
|
|
36
|
+
private generateAssetURIs;
|
|
37
|
+
/**
|
|
38
|
+
* Apply method-level `@ui` annotations to link UI assets to tools.
|
|
39
|
+
* Called after auto-discovery so all UI assets are available to look up.
|
|
40
|
+
*/
|
|
41
|
+
private applyMethodUILinks;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=asset-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-resolver.d.ts","sourceRoot":"","sources":["../src/asset-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEhG,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;AAEnE,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,KAAK;IAEvC;;;OAGG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAcrF;;;;;;;;OAQG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IA2B3F;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAwB3B"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset discovery + binding for Photon instances.
|
|
3
|
+
*
|
|
4
|
+
* Wraps `discoverAssets` from photon-core with the runtime-specific bits:
|
|
5
|
+
* method-level `@ui` linking, `ui://` URI generation for the MCP Apps
|
|
6
|
+
* extension, and exposing the metadata on `this.assets` without breaking
|
|
7
|
+
* the inherited `assets(subpath)` callable on Photon subclasses.
|
|
8
|
+
*
|
|
9
|
+
* Extracted from PhotonLoader so the loader doesn't need to know how
|
|
10
|
+
* UI assets get woven onto an instance.
|
|
11
|
+
*/
|
|
12
|
+
import * as path from 'path';
|
|
13
|
+
import { discoverAssets as sharedDiscoverAssets } from '@portel/photon-core';
|
|
14
|
+
export class AssetResolver {
|
|
15
|
+
log;
|
|
16
|
+
constructor(log) {
|
|
17
|
+
this.log = log;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Discover assets from a photon source. Delegates to photon-core for the
|
|
21
|
+
* filesystem walk, then layers in method-level `@ui` links and `ui://` URIs.
|
|
22
|
+
*/
|
|
23
|
+
async discover(photonPath, source) {
|
|
24
|
+
const basename = path.basename(photonPath, '.photon.ts');
|
|
25
|
+
const assets = await sharedDiscoverAssets(photonPath, source);
|
|
26
|
+
if (!assets) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
this.applyMethodUILinks(source, assets);
|
|
30
|
+
this.generateAssetURIs(basename, assets);
|
|
31
|
+
return assets;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Expose discovered asset metadata on the instance without breaking
|
|
35
|
+
* `Photon.assets(subpath)`.
|
|
36
|
+
*
|
|
37
|
+
* Photon subclasses inherit a callable `assets(subpath)` method. We bind
|
|
38
|
+
* it to the instance and decorate the function object with metadata so
|
|
39
|
+
* both `this.assets('templates')` and `this.assets.ui` work. Plain
|
|
40
|
+
* classes with no inherited method receive the metadata object directly.
|
|
41
|
+
*/
|
|
42
|
+
attachToInstance(instance, assets) {
|
|
43
|
+
if (!assets) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const existingAssets = instance.assets;
|
|
47
|
+
if (typeof existingAssets === 'function') {
|
|
48
|
+
const boundAssets = existingAssets.bind(instance);
|
|
49
|
+
Object.assign(boundAssets, assets);
|
|
50
|
+
Object.defineProperty(instance, 'assets', {
|
|
51
|
+
value: boundAssets,
|
|
52
|
+
configurable: true,
|
|
53
|
+
enumerable: false,
|
|
54
|
+
writable: false,
|
|
55
|
+
});
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
Object.defineProperty(instance, 'assets', {
|
|
59
|
+
value: assets,
|
|
60
|
+
configurable: true,
|
|
61
|
+
enumerable: false,
|
|
62
|
+
writable: false,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Generate ui:// URIs for all UI assets (MCP Apps Extension, SEP-1865).
|
|
67
|
+
* URI format: ui://<photon-name>/<asset-id>
|
|
68
|
+
*/
|
|
69
|
+
generateAssetURIs(photonName, assets) {
|
|
70
|
+
for (const ui of assets.ui) {
|
|
71
|
+
ui.uri = `ui://${photonName}/${ui.id}`;
|
|
72
|
+
this.log(` 🔗 URI: ${ui.uri}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Apply method-level `@ui` annotations to link UI assets to tools.
|
|
77
|
+
* Called after auto-discovery so all UI assets are available to look up.
|
|
78
|
+
*/
|
|
79
|
+
applyMethodUILinks(source, assets) {
|
|
80
|
+
const methodUiRegex = /\/\*\*[\s\S]*?@ui\s+(\w[\w-]*)[\s\S]*?\*\/\s*(?:async\s+)?\*?\s*(\w+)/g;
|
|
81
|
+
let match;
|
|
82
|
+
while ((match = methodUiRegex.exec(source)) !== null) {
|
|
83
|
+
const [, uiId, methodName] = match;
|
|
84
|
+
const asset = assets.ui.find((u) => u.id === uiId);
|
|
85
|
+
if (asset) {
|
|
86
|
+
if (!asset.linkedTool) {
|
|
87
|
+
asset.linkedTool = methodName;
|
|
88
|
+
this.log(` 🔗 UI ${uiId} → ${methodName}`);
|
|
89
|
+
}
|
|
90
|
+
if (!asset.linkedTools)
|
|
91
|
+
asset.linkedTools = [];
|
|
92
|
+
if (!asset.linkedTools.includes(methodName)) {
|
|
93
|
+
asset.linkedTools.push(methodName);
|
|
94
|
+
if (asset.linkedTools.length > 1) {
|
|
95
|
+
this.log(` 🔗 UI ${uiId} → ${methodName} (shared)`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.log(` ⚠️ @ui ${uiId} on ${methodName}: asset not found (check file exists)`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=asset-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-resolver.js","sourceRoot":"","sources":["../src/asset-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External MCP lifecycle manager.
|
|
3
|
+
*
|
|
4
|
+
* Owns the three coupled containers (`externalMCPs`, `externalMCPClients`,
|
|
5
|
+
* `externalMCPSDKClients`) that beam.ts previously held as separate fields
|
|
6
|
+
* on BeamContext, plus the cohesive add/remove/close operations that
|
|
7
|
+
* touch all three together.
|
|
8
|
+
*
|
|
9
|
+
* Implements `ExternalMCPState` so existing helpers in `external-mcp.ts`
|
|
10
|
+
* (which read the maps directly) continue to work unchanged.
|
|
11
|
+
*/
|
|
12
|
+
import type { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
13
|
+
import type { ExternalMCPInfo } from '../types.js';
|
|
14
|
+
import type { ExternalMCPState } from './external-mcp.js';
|
|
15
|
+
export declare class ExternalMCPManager implements ExternalMCPState {
|
|
16
|
+
/** External MCP server metadata (name, methods, connected, etc.). */
|
|
17
|
+
readonly externalMCPs: ExternalMCPInfo[];
|
|
18
|
+
/** Transport-level clients (raw, used by the streamable-HTTP path). */
|
|
19
|
+
readonly externalMCPClients: Map<string, any>;
|
|
20
|
+
/** SDK Client instances (used for tool calls that need structuredContent). */
|
|
21
|
+
readonly externalMCPSDKClients: Map<string, Client<{
|
|
22
|
+
method: string;
|
|
23
|
+
params?: {
|
|
24
|
+
[x: string]: unknown;
|
|
25
|
+
_meta?: {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
progressToken?: string | number | undefined;
|
|
28
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
29
|
+
taskId: string;
|
|
30
|
+
} | undefined;
|
|
31
|
+
} | undefined;
|
|
32
|
+
} | undefined;
|
|
33
|
+
}, {
|
|
34
|
+
method: string;
|
|
35
|
+
params?: {
|
|
36
|
+
[x: string]: unknown;
|
|
37
|
+
_meta?: {
|
|
38
|
+
[x: string]: unknown;
|
|
39
|
+
progressToken?: string | number | undefined;
|
|
40
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
41
|
+
taskId: string;
|
|
42
|
+
} | undefined;
|
|
43
|
+
} | undefined;
|
|
44
|
+
} | undefined;
|
|
45
|
+
}, {
|
|
46
|
+
[x: string]: unknown;
|
|
47
|
+
_meta?: {
|
|
48
|
+
[x: string]: unknown;
|
|
49
|
+
progressToken?: string | number | undefined;
|
|
50
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
51
|
+
taskId: string;
|
|
52
|
+
} | undefined;
|
|
53
|
+
} | undefined;
|
|
54
|
+
}>>;
|
|
55
|
+
/** Append-many. Used after `loadExternalMCPs(...)` returns a list. */
|
|
56
|
+
addAll(mcps: ExternalMCPInfo[]): void;
|
|
57
|
+
/**
|
|
58
|
+
* Remove an MCP by name from all three containers in one atomic-from-JS step.
|
|
59
|
+
* Returns the SDK client (if any) so the caller can close it asynchronously
|
|
60
|
+
* after all map mutations are done — matches the existing two-phase pattern
|
|
61
|
+
* in beam.ts where Maps are made consistent first, then close is awaited.
|
|
62
|
+
*/
|
|
63
|
+
removeByName(name: string): {
|
|
64
|
+
sdkClient?: Client;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Gracefully close every SDK client and clear the two client maps.
|
|
68
|
+
* Used on Beam shutdown. Logs at debug — close errors during shutdown
|
|
69
|
+
* are expected, not actionable.
|
|
70
|
+
*/
|
|
71
|
+
closeAllSDKClients(): Promise<void>;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=external-mcp-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-mcp-manager.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/beam/external-mcp-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,CAAM;IAC9C,uEAAuE;IACvE,QAAQ,CAAC,kBAAkB,mBAA0B;IACrD,8EAA8E;IAC9E,QAAQ,CAAC,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA6B;IAE3D,sEAAsE;IACtE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,IAAI;IAIrC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAWlD;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAwB1C"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External MCP lifecycle manager.
|
|
3
|
+
*
|
|
4
|
+
* Owns the three coupled containers (`externalMCPs`, `externalMCPClients`,
|
|
5
|
+
* `externalMCPSDKClients`) that beam.ts previously held as separate fields
|
|
6
|
+
* on BeamContext, plus the cohesive add/remove/close operations that
|
|
7
|
+
* touch all three together.
|
|
8
|
+
*
|
|
9
|
+
* Implements `ExternalMCPState` so existing helpers in `external-mcp.ts`
|
|
10
|
+
* (which read the maps directly) continue to work unchanged.
|
|
11
|
+
*/
|
|
12
|
+
import { logger } from '../../shared/logger.js';
|
|
13
|
+
import { withTimeout } from '../../async/index.js';
|
|
14
|
+
import { getErrorMessage } from '../../shared/error-handler.js';
|
|
15
|
+
/** Default ms to wait for graceful client close on shutdown. */
|
|
16
|
+
const SHUTDOWN_TIMEOUT_MS = 1000;
|
|
17
|
+
export class ExternalMCPManager {
|
|
18
|
+
/** External MCP server metadata (name, methods, connected, etc.). */
|
|
19
|
+
externalMCPs = [];
|
|
20
|
+
/** Transport-level clients (raw, used by the streamable-HTTP path). */
|
|
21
|
+
externalMCPClients = new Map();
|
|
22
|
+
/** SDK Client instances (used for tool calls that need structuredContent). */
|
|
23
|
+
externalMCPSDKClients = new Map();
|
|
24
|
+
/** Append-many. Used after `loadExternalMCPs(...)` returns a list. */
|
|
25
|
+
addAll(mcps) {
|
|
26
|
+
this.externalMCPs.push(...mcps);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Remove an MCP by name from all three containers in one atomic-from-JS step.
|
|
30
|
+
* Returns the SDK client (if any) so the caller can close it asynchronously
|
|
31
|
+
* after all map mutations are done — matches the existing two-phase pattern
|
|
32
|
+
* in beam.ts where Maps are made consistent first, then close is awaited.
|
|
33
|
+
*/
|
|
34
|
+
removeByName(name) {
|
|
35
|
+
const idx = this.externalMCPs.findIndex((m) => m.name === name);
|
|
36
|
+
if (idx !== -1) {
|
|
37
|
+
this.externalMCPs.splice(idx, 1);
|
|
38
|
+
}
|
|
39
|
+
const sdkClient = this.externalMCPSDKClients.get(name);
|
|
40
|
+
this.externalMCPSDKClients.delete(name);
|
|
41
|
+
this.externalMCPClients.delete(name);
|
|
42
|
+
return sdkClient ? { sdkClient } : {};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Gracefully close every SDK client and clear the two client maps.
|
|
46
|
+
* Used on Beam shutdown. Logs at debug — close errors during shutdown
|
|
47
|
+
* are expected, not actionable.
|
|
48
|
+
*/
|
|
49
|
+
async closeAllSDKClients() {
|
|
50
|
+
const closePromises = [];
|
|
51
|
+
for (const [name, client] of this.externalMCPSDKClients) {
|
|
52
|
+
closePromises.push(client.close().catch((err) => {
|
|
53
|
+
logger.debug(`External MCP close failed for ${name}: ${getErrorMessage(err)}`);
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
if (closePromises.length > 0) {
|
|
57
|
+
await withTimeout(Promise.all(closePromises), SHUTDOWN_TIMEOUT_MS, 'MCP client close timeout').catch((err) => {
|
|
58
|
+
logger.debug(`External MCP shutdown timeout: ${getErrorMessage(err)}`);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
this.externalMCPSDKClients.clear();
|
|
62
|
+
this.externalMCPClients.clear();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=external-mcp-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-mcp-manager.js","sourceRoot":"","sources":["../../../src/auto-ui/beam/external-mcp-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIhE,gEAAgE;AAChE,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,MAAM,OAAO,kBAAkB;IAC7B,qEAAqE;IAC5D,YAAY,GAAsB,EAAE,CAAC;IAC9C,uEAAuE;IAC9D,kBAAkB,GAAG,IAAI,GAAG,EAAe,CAAC;IACrD,8EAA8E;IACrE,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D,sEAAsE;IACtE,MAAM,CAAC,IAAuB;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAY;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChE,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,aAAa,GAAoB,EAAE,CAAC;QAE1C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACxD,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,WAAW,CACf,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAC1B,mBAAmB,EACnB,0BAA0B,CAC3B,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACd,MAAM,CAAC,KAAK,CAAC,kCAAkC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-mcp.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/beam/external-mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAUnE,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;
|
|
1
|
+
{"version":3,"file":"external-mcp.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/beam/external-mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAUnE,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAwID;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAmI5B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0F/C"}
|
|
@@ -35,6 +35,9 @@ async function connectHTTPClient(url, mcpName) {
|
|
|
35
35
|
},
|
|
36
36
|
});
|
|
37
37
|
sdkClient.setRequestHandler(ElicitRequestSchema, async (request) => {
|
|
38
|
+
// ElicitRequest has typed message + requestedSchema; mode/url/elicitationId
|
|
39
|
+
// are Photon-specific extension fields the schema doesn't enumerate.
|
|
40
|
+
// Read as a wider any-indexed shape so we don't have to narrow at every site.
|
|
38
41
|
const params = request.params;
|
|
39
42
|
const result = await requestExternalElicitation(mcpName, {
|
|
40
43
|
mode: params.mode,
|
|
@@ -64,6 +67,9 @@ async function connectHTTPClient(url, mcpName) {
|
|
|
64
67
|
},
|
|
65
68
|
});
|
|
66
69
|
sseClient.setRequestHandler(ElicitRequestSchema, async (request) => {
|
|
70
|
+
// ElicitRequest has typed message + requestedSchema; mode/url/elicitationId
|
|
71
|
+
// are Photon-specific extension fields the schema doesn't enumerate.
|
|
72
|
+
// Read as a wider any-indexed shape so we don't have to narrow at every site.
|
|
67
73
|
const params = request.params;
|
|
68
74
|
const result = await requestExternalElicitation(mcpName, {
|
|
69
75
|
mode: params.mode,
|
|
@@ -91,6 +97,17 @@ function toolsToMethods(tools) {
|
|
|
91
97
|
visibility: tool._meta?.ui?.visibility,
|
|
92
98
|
}));
|
|
93
99
|
}
|
|
100
|
+
/** Detect web capability from an SDK client (capabilities.web extension) */
|
|
101
|
+
function detectWebCapability(sdkClient, mcpInfo) {
|
|
102
|
+
const caps = sdkClient.getServerCapabilities?.();
|
|
103
|
+
const web = caps?.web;
|
|
104
|
+
if (web?.url) {
|
|
105
|
+
mcpInfo.hasWebApp = true;
|
|
106
|
+
mcpInfo.webUrl = web.url;
|
|
107
|
+
mcpInfo.webDescription = web.description;
|
|
108
|
+
logger.info(`🌐 Web UI detected: ${mcpInfo.name} (${web.url})`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
94
111
|
/** Detect MCP App resources from an SDK client */
|
|
95
112
|
async function detectMCPApps(sdkClient, methods, mcpInfo, name) {
|
|
96
113
|
try {
|
|
@@ -143,6 +160,7 @@ export async function loadExternalMCPs(config, state) {
|
|
|
143
160
|
const toolsResult = await sdkClient.listTools();
|
|
144
161
|
methods = toolsToMethods(toolsResult.tools || []);
|
|
145
162
|
await detectMCPApps(sdkClient, methods, mcpInfo, name);
|
|
163
|
+
detectWebCapability(sdkClient, mcpInfo);
|
|
146
164
|
mcpInfo.connected = true;
|
|
147
165
|
mcpInfo.methods = methods;
|
|
148
166
|
}
|
|
@@ -167,6 +185,9 @@ export async function loadExternalMCPs(config, state) {
|
|
|
167
185
|
},
|
|
168
186
|
});
|
|
169
187
|
sdkClient.setRequestHandler(ElicitRequestSchema, async (request) => {
|
|
188
|
+
// ElicitRequest has typed message + requestedSchema; mode/url/elicitationId
|
|
189
|
+
// are Photon-specific extension fields the schema doesn't enumerate.
|
|
190
|
+
// Read as a wider any-indexed shape so we don't have to narrow at every site.
|
|
170
191
|
const params = request.params;
|
|
171
192
|
const result = await requestExternalElicitation(name, {
|
|
172
193
|
mode: params.mode,
|
|
@@ -182,6 +203,7 @@ export async function loadExternalMCPs(config, state) {
|
|
|
182
203
|
const toolsResult = await sdkClient.listTools();
|
|
183
204
|
methods = toolsToMethods(toolsResult.tools || []);
|
|
184
205
|
await detectMCPApps(sdkClient, methods, mcpInfo, name);
|
|
206
|
+
detectWebCapability(sdkClient, mcpInfo);
|
|
185
207
|
mcpInfo.connected = true;
|
|
186
208
|
mcpInfo.methods = methods;
|
|
187
209
|
}
|
|
@@ -270,12 +292,14 @@ export async function reconnectExternalMCP(name, state) {
|
|
|
270
292
|
const stdioConfig = { mcpServers: { [name]: mcpConfig } };
|
|
271
293
|
const factory = new SDKMCPClientFactory(stdioConfig, false);
|
|
272
294
|
const client = factory.create(name);
|
|
273
|
-
const tools =
|
|
295
|
+
const tools = await withTimeout(client.list(), 10000, 'Connection timeout (10s)');
|
|
274
296
|
methods = (tools || []).map((tool) => ({
|
|
275
297
|
name: tool.name,
|
|
276
298
|
description: tool.description || '',
|
|
277
299
|
params: tool.inputSchema || { type: 'object', properties: {} },
|
|
278
300
|
returns: { type: 'object' },
|
|
301
|
+
// x-icon is a Photon extension on MCPToolInfo (not part of @portel/mcp's
|
|
302
|
+
// public type) — cast structurally at the read site.
|
|
279
303
|
icon: tool['x-icon'],
|
|
280
304
|
}));
|
|
281
305
|
state.externalMCPClients.set(name, client);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-mcp.js","sourceRoot":"","sources":["../../../src/auto-ui/beam/external-mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"external-mcp.js","sourceRoot":"","sources":["../../../src/auto-ui/beam/external-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"photon-management.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/beam/photon-management.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAY/C,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"photon-management.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/beam/photon-management.ts"],"names":[],"mappings":"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"}
|