@portel/photon 1.4.0 → 1.5.1
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 +287 -1160
- package/dist/auto-ui/beam.d.ts +9 -0
- package/dist/auto-ui/beam.d.ts.map +1 -0
- package/dist/auto-ui/beam.js +2381 -0
- package/dist/auto-ui/beam.js.map +1 -0
- package/dist/auto-ui/components/card.d.ts +13 -0
- package/dist/auto-ui/components/card.d.ts.map +1 -0
- package/dist/auto-ui/components/card.js +64 -0
- package/dist/auto-ui/components/card.js.map +1 -0
- package/dist/auto-ui/components/form.d.ts +15 -0
- package/dist/auto-ui/components/form.d.ts.map +1 -0
- package/dist/auto-ui/components/form.js +72 -0
- package/dist/auto-ui/components/form.js.map +1 -0
- package/dist/auto-ui/components/list.d.ts +13 -0
- package/dist/auto-ui/components/list.d.ts.map +1 -0
- package/dist/auto-ui/components/list.js +58 -0
- package/dist/auto-ui/components/list.js.map +1 -0
- package/dist/auto-ui/components/progress.d.ts +18 -0
- package/dist/auto-ui/components/progress.d.ts.map +1 -0
- package/dist/auto-ui/components/progress.js +125 -0
- package/dist/auto-ui/components/progress.js.map +1 -0
- package/dist/auto-ui/components/table.d.ts +13 -0
- package/dist/auto-ui/components/table.d.ts.map +1 -0
- package/dist/auto-ui/components/table.js +82 -0
- package/dist/auto-ui/components/table.js.map +1 -0
- package/dist/auto-ui/components/tree.d.ts +13 -0
- package/dist/auto-ui/components/tree.d.ts.map +1 -0
- package/dist/auto-ui/components/tree.js +61 -0
- package/dist/auto-ui/components/tree.js.map +1 -0
- package/dist/auto-ui/daemon-tools.d.ts +45 -0
- package/dist/auto-ui/daemon-tools.d.ts.map +1 -0
- package/dist/auto-ui/daemon-tools.js +580 -0
- package/dist/auto-ui/daemon-tools.js.map +1 -0
- package/dist/auto-ui/design-system/index.d.ts +21 -0
- package/dist/auto-ui/design-system/index.d.ts.map +1 -0
- package/dist/auto-ui/design-system/index.js +27 -0
- package/dist/auto-ui/design-system/index.js.map +1 -0
- package/dist/auto-ui/design-system/tokens.d.ts +9 -0
- package/dist/auto-ui/design-system/tokens.d.ts.map +1 -0
- package/dist/auto-ui/design-system/tokens.js +27 -0
- package/dist/auto-ui/design-system/tokens.js.map +1 -0
- package/dist/auto-ui/design-system/transaction-ui.d.ts +70 -0
- package/dist/auto-ui/design-system/transaction-ui.d.ts.map +1 -0
- package/dist/auto-ui/design-system/transaction-ui.js +982 -0
- package/dist/auto-ui/design-system/transaction-ui.js.map +1 -0
- package/dist/auto-ui/frontend/index.html +84 -0
- package/dist/auto-ui/index.d.ts +21 -0
- package/dist/auto-ui/index.d.ts.map +1 -0
- package/dist/auto-ui/index.js +25 -0
- package/dist/auto-ui/index.js.map +1 -0
- package/dist/auto-ui/openapi-generator.d.ts +71 -0
- package/dist/auto-ui/openapi-generator.d.ts.map +1 -0
- package/dist/auto-ui/openapi-generator.js +223 -0
- package/dist/auto-ui/openapi-generator.js.map +1 -0
- package/dist/auto-ui/photon-bridge.d.ts +159 -0
- package/dist/auto-ui/photon-bridge.d.ts.map +1 -0
- package/dist/auto-ui/photon-bridge.js +262 -0
- package/dist/auto-ui/photon-bridge.js.map +1 -0
- package/dist/auto-ui/photon-host.d.ts +113 -0
- package/dist/auto-ui/photon-host.d.ts.map +1 -0
- package/dist/auto-ui/photon-host.js +284 -0
- package/dist/auto-ui/photon-host.js.map +1 -0
- package/dist/auto-ui/platform-compat.d.ts +71 -0
- package/dist/auto-ui/platform-compat.d.ts.map +1 -0
- package/dist/auto-ui/platform-compat.js +574 -0
- package/dist/auto-ui/platform-compat.js.map +1 -0
- package/dist/auto-ui/playground-html.d.ts +15 -0
- package/dist/auto-ui/playground-html.d.ts.map +1 -0
- package/dist/auto-ui/playground-html.js +1113 -0
- package/dist/auto-ui/playground-html.js.map +1 -0
- package/dist/auto-ui/playground-server.d.ts +7 -0
- package/dist/auto-ui/playground-server.d.ts.map +1 -0
- package/dist/auto-ui/playground-server.js +840 -0
- package/dist/auto-ui/playground-server.js.map +1 -0
- package/dist/auto-ui/registry.d.ts +13 -0
- package/dist/auto-ui/registry.d.ts.map +1 -0
- package/dist/auto-ui/registry.js +62 -0
- package/dist/auto-ui/registry.js.map +1 -0
- package/dist/auto-ui/renderer.d.ts +14 -0
- package/dist/auto-ui/renderer.d.ts.map +1 -0
- package/dist/auto-ui/renderer.js +88 -0
- package/dist/auto-ui/renderer.js.map +1 -0
- package/dist/auto-ui/rendering/components.d.ts +29 -0
- package/dist/auto-ui/rendering/components.d.ts.map +1 -0
- package/dist/auto-ui/rendering/components.js +773 -0
- package/dist/auto-ui/rendering/components.js.map +1 -0
- package/dist/auto-ui/rendering/field-analyzer.d.ts +48 -0
- package/dist/auto-ui/rendering/field-analyzer.d.ts.map +1 -0
- package/dist/auto-ui/rendering/field-analyzer.js +270 -0
- package/dist/auto-ui/rendering/field-analyzer.js.map +1 -0
- package/dist/auto-ui/rendering/field-renderers.d.ts +64 -0
- package/dist/auto-ui/rendering/field-renderers.d.ts.map +1 -0
- package/dist/auto-ui/rendering/field-renderers.js +317 -0
- package/dist/auto-ui/rendering/field-renderers.js.map +1 -0
- package/dist/auto-ui/rendering/index.d.ts +28 -0
- package/dist/auto-ui/rendering/index.d.ts.map +1 -0
- package/dist/auto-ui/rendering/index.js +60 -0
- package/dist/auto-ui/rendering/index.js.map +1 -0
- package/dist/auto-ui/rendering/layout-selector.d.ts +48 -0
- package/dist/auto-ui/rendering/layout-selector.d.ts.map +1 -0
- package/dist/auto-ui/rendering/layout-selector.js +352 -0
- package/dist/auto-ui/rendering/layout-selector.js.map +1 -0
- package/dist/auto-ui/rendering/template-engine.d.ts +41 -0
- package/dist/auto-ui/rendering/template-engine.d.ts.map +1 -0
- package/dist/auto-ui/rendering/template-engine.js +238 -0
- package/dist/auto-ui/rendering/template-engine.js.map +1 -0
- package/dist/auto-ui/streamable-http-transport.d.ts +79 -0
- package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -0
- package/dist/auto-ui/streamable-http-transport.js +1314 -0
- package/dist/auto-ui/streamable-http-transport.js.map +1 -0
- package/dist/auto-ui/types.d.ts +310 -0
- package/dist/auto-ui/types.d.ts.map +1 -0
- package/dist/auto-ui/types.js +71 -0
- package/dist/auto-ui/types.js.map +1 -0
- package/dist/beam.bundle.js +13506 -0
- package/dist/beam.bundle.js.map +7 -0
- package/dist/claude-code-plugin.d.ts.map +1 -1
- package/dist/claude-code-plugin.js +30 -30
- package/dist/claude-code-plugin.js.map +1 -1
- package/dist/cli/commands/info.d.ts +11 -0
- package/dist/cli/commands/info.d.ts.map +1 -0
- package/dist/cli/commands/info.js +313 -0
- package/dist/cli/commands/info.js.map +1 -0
- package/dist/cli/commands/marketplace.d.ts +11 -0
- package/dist/cli/commands/marketplace.d.ts.map +1 -0
- package/dist/cli/commands/marketplace.js +198 -0
- package/dist/cli/commands/marketplace.js.map +1 -0
- package/dist/cli/commands/package-app.d.ts +9 -0
- package/dist/cli/commands/package-app.d.ts.map +1 -0
- package/dist/cli/commands/package-app.js +191 -0
- package/dist/cli/commands/package-app.js.map +1 -0
- package/dist/cli/commands/package.d.ts +11 -0
- package/dist/cli/commands/package.d.ts.map +1 -0
- package/dist/cli/commands/package.js +573 -0
- package/dist/cli/commands/package.js.map +1 -0
- package/dist/cli-alias.d.ts.map +1 -1
- package/dist/cli-alias.js +30 -28
- package/dist/cli-alias.js.map +1 -1
- package/dist/cli-formatter.d.ts +8 -24
- package/dist/cli-formatter.d.ts.map +1 -1
- package/dist/cli-formatter.js +8 -325
- package/dist/cli-formatter.js.map +1 -1
- package/dist/cli.d.ts +15 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1157 -1132
- package/dist/cli.js.map +1 -1
- package/dist/daemon/client.d.ts +81 -0
- package/dist/daemon/client.d.ts.map +1 -1
- package/dist/daemon/client.js +583 -13
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/manager.d.ts +46 -12
- package/dist/daemon/manager.d.ts.map +1 -1
- package/dist/daemon/manager.js +102 -61
- package/dist/daemon/manager.js.map +1 -1
- package/dist/daemon/protocol.d.ts +74 -6
- package/dist/daemon/protocol.d.ts.map +1 -1
- package/dist/daemon/protocol.js +76 -1
- package/dist/daemon/protocol.js.map +1 -1
- package/dist/daemon/server.d.ts +6 -6
- package/dist/daemon/server.js +778 -117
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/session-manager.d.ts +8 -1
- package/dist/daemon/session-manager.d.ts.map +1 -1
- package/dist/daemon/session-manager.js +32 -9
- package/dist/daemon/session-manager.js.map +1 -1
- package/dist/deploy/cloudflare.d.ts +12 -0
- package/dist/deploy/cloudflare.d.ts.map +1 -0
- package/dist/deploy/cloudflare.js +216 -0
- package/dist/deploy/cloudflare.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +172 -15
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +1132 -267
- package/dist/loader.js.map +1 -1
- package/dist/markdown-utils.d.ts +8 -0
- package/dist/markdown-utils.d.ts.map +1 -0
- package/dist/markdown-utils.js +63 -0
- package/dist/markdown-utils.js.map +1 -0
- package/dist/marketplace-manager.d.ts +10 -0
- package/dist/marketplace-manager.d.ts.map +1 -1
- package/dist/marketplace-manager.js +112 -28
- package/dist/marketplace-manager.js.map +1 -1
- package/dist/mcp-client.d.ts +9 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +11 -0
- package/dist/mcp-client.js.map +1 -0
- package/dist/mcp-elicitation.d.ts +32 -0
- package/dist/mcp-elicitation.d.ts.map +1 -0
- package/dist/mcp-elicitation.js +26 -0
- package/dist/mcp-elicitation.js.map +1 -0
- package/dist/path-resolver.d.ts +9 -12
- package/dist/path-resolver.d.ts.map +1 -1
- package/dist/path-resolver.js +13 -43
- package/dist/path-resolver.js.map +1 -1
- package/dist/photon-cli-runner.d.ts.map +1 -1
- package/dist/photon-cli-runner.js +216 -73
- package/dist/photon-cli-runner.js.map +1 -1
- package/dist/photon-doc-extractor.d.ts +88 -0
- package/dist/photon-doc-extractor.d.ts.map +1 -1
- package/dist/photon-doc-extractor.js +536 -27
- package/dist/photon-doc-extractor.js.map +1 -1
- package/dist/photons/maker.photon.d.ts +182 -0
- package/dist/photons/maker.photon.d.ts.map +1 -0
- package/dist/photons/maker.photon.js +504 -0
- package/dist/photons/maker.photon.js.map +1 -0
- package/dist/photons/maker.photon.ts +626 -0
- package/dist/photons/marketplace.photon.d.ts +110 -0
- package/dist/photons/marketplace.photon.d.ts.map +1 -0
- package/dist/photons/marketplace.photon.js +260 -0
- package/dist/photons/marketplace.photon.js.map +1 -0
- package/dist/photons/marketplace.photon.ts +378 -0
- package/dist/photons/tunnel.photon.d.ts +80 -0
- package/dist/photons/tunnel.photon.d.ts.map +1 -0
- package/dist/photons/tunnel.photon.js +269 -0
- package/dist/photons/tunnel.photon.js.map +1 -0
- package/dist/photons/tunnel.photon.ts +345 -0
- package/dist/security-scanner.d.ts.map +1 -1
- package/dist/security-scanner.js +18 -15
- package/dist/security-scanner.js.map +1 -1
- package/dist/serv/auth/jwt.d.ts +89 -0
- package/dist/serv/auth/jwt.d.ts.map +1 -0
- package/dist/serv/auth/jwt.js +239 -0
- package/dist/serv/auth/jwt.js.map +1 -0
- package/dist/serv/auth/oauth.d.ts +117 -0
- package/dist/serv/auth/oauth.d.ts.map +1 -0
- package/dist/serv/auth/oauth.js +395 -0
- package/dist/serv/auth/oauth.js.map +1 -0
- package/dist/serv/auth/well-known.d.ts +60 -0
- package/dist/serv/auth/well-known.d.ts.map +1 -0
- package/dist/serv/auth/well-known.js +154 -0
- package/dist/serv/auth/well-known.js.map +1 -0
- package/dist/serv/db/d1-client.d.ts +65 -0
- package/dist/serv/db/d1-client.d.ts.map +1 -0
- package/dist/serv/db/d1-client.js +137 -0
- package/dist/serv/db/d1-client.js.map +1 -0
- package/dist/serv/db/d1-stores.d.ts +62 -0
- package/dist/serv/db/d1-stores.d.ts.map +1 -0
- package/dist/serv/db/d1-stores.js +307 -0
- package/dist/serv/db/d1-stores.js.map +1 -0
- package/dist/serv/index.d.ts +114 -0
- package/dist/serv/index.d.ts.map +1 -0
- package/dist/serv/index.js +172 -0
- package/dist/serv/index.js.map +1 -0
- package/dist/serv/local.d.ts +118 -0
- package/dist/serv/local.d.ts.map +1 -0
- package/dist/serv/local.js +392 -0
- package/dist/serv/local.js.map +1 -0
- package/dist/serv/middleware/auth.d.ts +66 -0
- package/dist/serv/middleware/auth.d.ts.map +1 -0
- package/dist/serv/middleware/auth.js +178 -0
- package/dist/serv/middleware/auth.js.map +1 -0
- package/dist/serv/middleware/tenant.d.ts +94 -0
- package/dist/serv/middleware/tenant.d.ts.map +1 -0
- package/dist/serv/middleware/tenant.js +152 -0
- package/dist/serv/middleware/tenant.js.map +1 -0
- package/dist/serv/runtime/executor.d.ts +76 -0
- package/dist/serv/runtime/executor.d.ts.map +1 -0
- package/dist/serv/runtime/executor.js +105 -0
- package/dist/serv/runtime/executor.js.map +1 -0
- package/dist/serv/runtime/index.d.ts +8 -0
- package/dist/serv/runtime/index.d.ts.map +1 -0
- package/dist/serv/runtime/index.js +10 -0
- package/dist/serv/runtime/index.js.map +1 -0
- package/dist/serv/runtime/oauth-context.d.ts +121 -0
- package/dist/serv/runtime/oauth-context.d.ts.map +1 -0
- package/dist/serv/runtime/oauth-context.js +153 -0
- package/dist/serv/runtime/oauth-context.js.map +1 -0
- package/dist/serv/session/kv-store.d.ts +54 -0
- package/dist/serv/session/kv-store.d.ts.map +1 -0
- package/dist/serv/session/kv-store.js +149 -0
- package/dist/serv/session/kv-store.js.map +1 -0
- package/dist/serv/session/store.d.ts +113 -0
- package/dist/serv/session/store.d.ts.map +1 -0
- package/dist/serv/session/store.js +284 -0
- package/dist/serv/session/store.js.map +1 -0
- package/dist/serv/types/index.d.ts +147 -0
- package/dist/serv/types/index.d.ts.map +1 -0
- package/dist/serv/types/index.js +8 -0
- package/dist/serv/types/index.js.map +1 -0
- package/dist/serv/vault/token-vault.d.ts +102 -0
- package/dist/serv/vault/token-vault.d.ts.map +1 -0
- package/dist/serv/vault/token-vault.js +177 -0
- package/dist/serv/vault/token-vault.js.map +1 -0
- package/dist/server.d.ts +173 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1622 -86
- package/dist/server.js.map +1 -1
- package/dist/shared/cli-sections.d.ts +6 -0
- package/dist/shared/cli-sections.d.ts.map +1 -0
- package/dist/shared/cli-sections.js +16 -0
- package/dist/shared/cli-sections.js.map +1 -0
- package/dist/shared/cli-utils.d.ts +81 -0
- package/dist/shared/cli-utils.d.ts.map +1 -0
- package/dist/shared/cli-utils.js +174 -0
- package/dist/shared/cli-utils.js.map +1 -0
- package/dist/shared/config-docs.d.ts +6 -0
- package/dist/shared/config-docs.d.ts.map +1 -0
- package/dist/shared/config-docs.js +6 -0
- package/dist/shared/config-docs.js.map +1 -0
- package/dist/shared/error-handler.d.ts +128 -0
- package/dist/shared/error-handler.d.ts.map +1 -0
- package/dist/shared/error-handler.js +342 -0
- package/dist/shared/error-handler.js.map +1 -0
- package/dist/shared/logger.d.ts +42 -0
- package/dist/shared/logger.d.ts.map +1 -0
- package/dist/shared/logger.js +123 -0
- package/dist/shared/logger.js.map +1 -0
- package/dist/shared/performance.d.ts +65 -0
- package/dist/shared/performance.d.ts.map +1 -0
- package/dist/shared/performance.js +136 -0
- package/dist/shared/performance.js.map +1 -0
- package/dist/shared/task-runner.d.ts +2 -0
- package/dist/shared/task-runner.d.ts.map +1 -0
- package/dist/shared/task-runner.js +16 -0
- package/dist/shared/task-runner.js.map +1 -0
- package/dist/shared/validation.d.ts +6 -0
- package/dist/shared/validation.d.ts.map +1 -0
- package/dist/shared/validation.js +6 -0
- package/dist/shared/validation.js.map +1 -0
- package/dist/shared-utils.d.ts +63 -0
- package/dist/shared-utils.d.ts.map +1 -0
- package/dist/shared-utils.js +123 -0
- package/dist/shared-utils.js.map +1 -0
- package/dist/template-manager.d.ts +23 -2
- package/dist/template-manager.d.ts.map +1 -1
- package/dist/template-manager.js +177 -88
- package/dist/template-manager.js.map +1 -1
- package/dist/test-client.d.ts.map +1 -1
- package/dist/test-client.js +10 -8
- package/dist/test-client.js.map +1 -1
- package/dist/test-runner.d.ts +52 -0
- package/dist/test-runner.d.ts.map +1 -0
- package/dist/test-runner.js +785 -0
- package/dist/test-runner.js.map +1 -0
- package/dist/testing.d.ts +103 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +163 -0
- package/dist/testing.js.map +1 -0
- package/dist/version-checker.d.ts.map +1 -1
- package/dist/version-checker.js +2 -2
- package/dist/version-checker.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/dist/watcher.d.ts +6 -3
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +49 -10
- package/dist/watcher.js.map +1 -1
- package/package.json +47 -7
- package/templates/cloudflare/worker.ts.template +381 -0
- package/templates/cloudflare/wrangler.toml.template +9 -0
- package/dist/base.d.ts +0 -58
- package/dist/base.d.ts.map +0 -1
- package/dist/base.js +0 -92
- package/dist/base.js.map +0 -1
- package/dist/dependency-manager.d.ts +0 -49
- package/dist/dependency-manager.d.ts.map +0 -1
- package/dist/dependency-manager.js +0 -165
- package/dist/dependency-manager.js.map +0 -1
- package/dist/registry-manager.d.ts +0 -76
- package/dist/registry-manager.d.ts.map +0 -1
- package/dist/registry-manager.js +0 -220
- package/dist/registry-manager.js.map +0 -1
- package/dist/schema-extractor.d.ts +0 -110
- package/dist/schema-extractor.d.ts.map +0 -1
- package/dist/schema-extractor.js +0 -727
- package/dist/schema-extractor.js.map +0 -1
- package/dist/test-marketplace-sources.d.ts +0 -5
- package/dist/test-marketplace-sources.d.ts.map +0 -1
- package/dist/test-marketplace-sources.js +0 -53
- package/dist/test-marketplace-sources.js.map +0 -1
- package/dist/types.d.ts +0 -109
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -12
- package/dist/types.js.map +0 -1
package/dist/loader.d.ts
CHANGED
|
@@ -3,24 +3,63 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Loads a single .photon.ts file and extracts tools
|
|
5
5
|
*/
|
|
6
|
-
import { PhotonMCPClass, PhotonMCPClassExtended } from '@portel/photon-core';
|
|
6
|
+
import { ConstructorParam, PhotonMCPClass, PhotonMCPClassExtended, type InputProvider, type OutputHandler, type MCPClientFactory } from '@portel/photon-core';
|
|
7
|
+
import { Logger } from './shared/logger.js';
|
|
7
8
|
export declare class PhotonLoader {
|
|
8
9
|
private dependencyManager;
|
|
9
10
|
private verbose;
|
|
10
|
-
|
|
11
|
+
private mcpClientFactory?;
|
|
12
|
+
/** Cache of loaded Photon instances by source path */
|
|
13
|
+
private loadedPhotons;
|
|
14
|
+
/** MCP clients cache - reuse connections */
|
|
15
|
+
private mcpClients;
|
|
16
|
+
/** SDK factory for MCP connections */
|
|
17
|
+
private sdkFactory?;
|
|
18
|
+
/** Cached MCP config from ~/.photon/config.json */
|
|
19
|
+
private mcpConfig?;
|
|
20
|
+
/** Progress renderer for inline CLI animation */
|
|
21
|
+
private progressRenderer;
|
|
22
|
+
/** Marketplace manager for resolving remote Photons */
|
|
23
|
+
private marketplaceManager?;
|
|
24
|
+
private marketplaceManagerPromise?;
|
|
25
|
+
private logger;
|
|
26
|
+
constructor(verbose?: boolean, logger?: Logger);
|
|
27
|
+
/**
|
|
28
|
+
* Load MCP configuration from ~/.photon/config.json
|
|
29
|
+
* Called lazily on first MCP injection
|
|
30
|
+
*/
|
|
31
|
+
private ensureMCPConfig;
|
|
32
|
+
private getMarketplaceManager;
|
|
33
|
+
/**
|
|
34
|
+
* Set MCP client factory for enabling this.mcp() in Photons
|
|
35
|
+
*/
|
|
36
|
+
setMCPClientFactory(factory: MCPClientFactory): void;
|
|
11
37
|
/**
|
|
12
38
|
* Log message only if verbose mode is enabled
|
|
13
39
|
*/
|
|
14
40
|
private log;
|
|
41
|
+
/**
|
|
42
|
+
* Generate deterministic cache key for an MCP + photon path
|
|
43
|
+
*/
|
|
44
|
+
private getCacheKey;
|
|
45
|
+
private getPhotonCacheDir;
|
|
46
|
+
private sanitizeCacheLabel;
|
|
47
|
+
private writePhotonCacheFile;
|
|
48
|
+
private runCommand;
|
|
15
49
|
/**
|
|
16
50
|
* Directory where MCP-specific dependencies are cached
|
|
17
51
|
*/
|
|
18
52
|
private getDependencyCacheDir;
|
|
53
|
+
private getBuildCacheDir;
|
|
54
|
+
private clearBuildCache;
|
|
55
|
+
private clearDependencyCache;
|
|
56
|
+
private clearAllCaches;
|
|
19
57
|
/**
|
|
20
58
|
* Path to metadata file describing installed dependencies
|
|
21
59
|
*/
|
|
22
60
|
private getDependencyMetadataPath;
|
|
23
61
|
private readDependencyMetadata;
|
|
62
|
+
private pathExists;
|
|
24
63
|
private dependenciesEqual;
|
|
25
64
|
private writeDependencyMetadata;
|
|
26
65
|
private ensureDependenciesWithHash;
|
|
@@ -37,19 +76,22 @@ export declare class PhotonLoader {
|
|
|
37
76
|
reloadFile(filePath: string): Promise<PhotonMCPClassExtended>;
|
|
38
77
|
/**
|
|
39
78
|
* Compile TypeScript file to JavaScript and cache it
|
|
79
|
+
* Delegates to shared compilePhotonTS from photon-core
|
|
40
80
|
*/
|
|
41
81
|
private compileTypeScript;
|
|
42
82
|
/**
|
|
43
83
|
* Find the MCP class in a module
|
|
44
|
-
*
|
|
84
|
+
* Delegates to shared findPhotonClass from photon-core
|
|
45
85
|
*/
|
|
46
86
|
private findMCPClass;
|
|
47
87
|
/**
|
|
48
88
|
* Check if a function is a class constructor
|
|
89
|
+
* Delegates to shared isClass from photon-core
|
|
49
90
|
*/
|
|
50
91
|
private isClass;
|
|
51
92
|
/**
|
|
52
93
|
* Check if a class has async methods
|
|
94
|
+
* Delegates to shared hasAsyncMethods from photon-core
|
|
53
95
|
*/
|
|
54
96
|
private hasAsyncMethods;
|
|
55
97
|
/**
|
|
@@ -67,18 +109,54 @@ export declare class PhotonLoader {
|
|
|
67
109
|
/**
|
|
68
110
|
* Extract constructor parameters from source file
|
|
69
111
|
*/
|
|
70
|
-
|
|
112
|
+
extractConstructorParams(filePath: string): Promise<ConstructorParam[]>;
|
|
71
113
|
/**
|
|
72
|
-
* Resolve constructor
|
|
114
|
+
* Resolve all constructor injections using type-based detection
|
|
115
|
+
* - Primitives (string, number, boolean) → env var
|
|
116
|
+
* - Non-primitives matching @mcp → MCP client
|
|
117
|
+
* - Non-primitives matching @photon → Photon instance
|
|
118
|
+
*
|
|
119
|
+
* Throws MCPConfigurationError if MCP dependencies are missing
|
|
73
120
|
*/
|
|
74
|
-
private
|
|
121
|
+
private resolveAllInjections;
|
|
75
122
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
123
|
+
* Get or create an MCP client for a dependency
|
|
124
|
+
*
|
|
125
|
+
* Resolution order:
|
|
126
|
+
* 1. Check ~/.photon/config.json for configured server
|
|
127
|
+
* 2. Fall back to resolving from @mcp declaration source
|
|
128
|
+
*
|
|
129
|
+
* Validates connection on first use - throws MCPConfigurationError if connection fails
|
|
78
130
|
*/
|
|
79
|
-
private
|
|
131
|
+
private getMCPClient;
|
|
132
|
+
/**
|
|
133
|
+
* Get or load a Photon instance for a dependency
|
|
134
|
+
*/
|
|
135
|
+
private getPhotonInstance;
|
|
136
|
+
/**
|
|
137
|
+
* Resolve Photon dependency path based on source type
|
|
138
|
+
*/
|
|
139
|
+
private resolvePhotonPath;
|
|
140
|
+
private resolveMarketplacePhoton;
|
|
141
|
+
private normalizeMarketplaceSource;
|
|
142
|
+
private fetchPhotonFromMarketplace;
|
|
143
|
+
private fetchPhotonFromSpecificMarketplace;
|
|
144
|
+
private fetchGithubPhoton;
|
|
145
|
+
private parseGithubSource;
|
|
146
|
+
private resolveNpmPhoton;
|
|
147
|
+
private parseNpmSource;
|
|
148
|
+
private extractPackageName;
|
|
149
|
+
private getPackageInstallPath;
|
|
150
|
+
private ensureNpmPackageInstalled;
|
|
151
|
+
private findPhotonFile;
|
|
152
|
+
/**
|
|
153
|
+
* Resolve constructor arguments from environment variables
|
|
154
|
+
* @deprecated Use resolveAllInjections instead
|
|
155
|
+
*/
|
|
156
|
+
private resolveConstructorArgs;
|
|
80
157
|
/**
|
|
81
158
|
* Parse environment variable value based on TypeScript type
|
|
159
|
+
* Delegates to shared parseEnvValue from photon-core
|
|
82
160
|
*/
|
|
83
161
|
private parseEnvValue;
|
|
84
162
|
/**
|
|
@@ -86,16 +164,95 @@ export declare class PhotonLoader {
|
|
|
86
164
|
*/
|
|
87
165
|
private enhanceConstructorError;
|
|
88
166
|
/**
|
|
89
|
-
*
|
|
167
|
+
* Execute a tool on the loaded MCP instance
|
|
168
|
+
* Handles both regular async methods and async generators
|
|
169
|
+
*
|
|
170
|
+
* For generators with checkpoint yields, automatically uses stateful execution
|
|
171
|
+
* with JSONL persistence. The run ID is returned in the result for stateful workflows.
|
|
172
|
+
*
|
|
173
|
+
* @param mcp - The loaded Photon MCP
|
|
174
|
+
* @param toolName - Name of the tool to execute
|
|
175
|
+
* @param parameters - Input parameters for the tool
|
|
176
|
+
* @param options - Optional execution options
|
|
177
|
+
* @returns Tool result, or wrapped result with runId for stateful workflows
|
|
178
|
+
*/
|
|
179
|
+
executeTool(mcp: PhotonMCPClass, toolName: string, parameters: any, options?: {
|
|
180
|
+
resumeRunId?: string;
|
|
181
|
+
outputHandler?: OutputHandler;
|
|
182
|
+
inputProvider?: InputProvider;
|
|
183
|
+
}): Promise<any>;
|
|
184
|
+
/**
|
|
185
|
+
* Create an input provider for generator ask yields
|
|
186
|
+
* Supports the new ask/emit pattern from photon-core 1.2.0
|
|
90
187
|
*/
|
|
91
|
-
private
|
|
188
|
+
private createInputProvider;
|
|
92
189
|
/**
|
|
93
|
-
*
|
|
190
|
+
* Create an output handler for generator emit yields
|
|
191
|
+
* Supports the new ask/emit pattern from photon-core 1.2.0
|
|
192
|
+
* Uses inline progress animation for CLI
|
|
94
193
|
*/
|
|
95
|
-
private
|
|
194
|
+
private createOutputHandler;
|
|
96
195
|
/**
|
|
97
|
-
*
|
|
196
|
+
* Extract @mcp dependencies from source and inject them as instance properties
|
|
197
|
+
*
|
|
198
|
+
* This enables the pattern:
|
|
199
|
+
* ```typescript
|
|
200
|
+
* /**
|
|
201
|
+
* * @mcp github anthropics/mcp-server-github
|
|
202
|
+
* *\/
|
|
203
|
+
* export default class MyPhoton extends PhotonMCP {
|
|
204
|
+
* async doSomething() {
|
|
205
|
+
* const issues = await this.github.list_issues({ repo: 'owner/repo' });
|
|
206
|
+
* }
|
|
207
|
+
* }
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
private injectMCPDependencies;
|
|
211
|
+
/**
|
|
212
|
+
* Check CLI dependencies declared via @cli tags
|
|
213
|
+
*
|
|
214
|
+
* Validates that required command-line tools are available on the system.
|
|
215
|
+
* Throws a helpful error with install URLs if any are missing.
|
|
216
|
+
*
|
|
217
|
+
* Format: @cli <name> - <install_url>
|
|
218
|
+
*
|
|
219
|
+
* Example:
|
|
220
|
+
* ```typescript
|
|
221
|
+
* /**
|
|
222
|
+
* * @cli git - https://git-scm.com/downloads
|
|
223
|
+
* * @cli ffmpeg - https://ffmpeg.org/download.html
|
|
224
|
+
* *\/
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
private checkCLIDependencies;
|
|
228
|
+
/**
|
|
229
|
+
* Check if a CLI command exists on the system
|
|
230
|
+
*/
|
|
231
|
+
private checkCLIExists;
|
|
232
|
+
/**
|
|
233
|
+
* Discover and extract assets from a Photon file
|
|
234
|
+
* Uses shared discoverAssets from photon-core for core logic,
|
|
235
|
+
* then applies photon-specific extensions (method UI links, URI generation).
|
|
236
|
+
*/
|
|
237
|
+
private discoverAssets;
|
|
238
|
+
/**
|
|
239
|
+
* Generate ui:// URIs for all UI assets (MCP Apps Extension support)
|
|
240
|
+
* URI format: ui://<photon-name>/<asset-id>
|
|
241
|
+
*/
|
|
242
|
+
private generateAssetURIs;
|
|
243
|
+
/**
|
|
244
|
+
* Apply method-level @ui annotations to link UI assets to tools
|
|
245
|
+
* Called after auto-discovery so all UI assets are available
|
|
246
|
+
*/
|
|
247
|
+
private applyMethodUILinks;
|
|
248
|
+
/**
|
|
249
|
+
* Check if a file exists
|
|
250
|
+
*/
|
|
251
|
+
private fileExists;
|
|
252
|
+
/**
|
|
253
|
+
* Get MIME type from file extension
|
|
254
|
+
* Delegates to shared getMimeType from photon-core
|
|
98
255
|
*/
|
|
99
|
-
|
|
256
|
+
private getMimeType;
|
|
100
257
|
}
|
|
101
258
|
//# sourceMappingURL=loader.d.ts.map
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|