@portel/photon 1.28.1 → 1.29.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.
Files changed (81) hide show
  1. package/README.md +1 -0
  2. package/dist/auto-ui/beam.d.ts.map +1 -1
  3. package/dist/auto-ui/beam.js +94 -47
  4. package/dist/auto-ui/beam.js.map +1 -1
  5. package/dist/auto-ui/streamable-http-transport.d.ts +7 -0
  6. package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
  7. package/dist/auto-ui/streamable-http-transport.js +228 -29
  8. package/dist/auto-ui/streamable-http-transport.js.map +1 -1
  9. package/dist/auto-ui/types.d.ts +9 -1
  10. package/dist/auto-ui/types.d.ts.map +1 -1
  11. package/dist/auto-ui/types.js.map +1 -1
  12. package/dist/beam.bundle.js +32 -2
  13. package/dist/beam.bundle.js.map +2 -2
  14. package/dist/cli/commands/build.d.ts.map +1 -1
  15. package/dist/cli/commands/build.js +123 -15
  16. package/dist/cli/commands/build.js.map +1 -1
  17. package/dist/daemon/manager.d.ts.map +1 -1
  18. package/dist/daemon/manager.js +45 -11
  19. package/dist/daemon/manager.js.map +1 -1
  20. package/dist/daemon/server.js +80 -0
  21. package/dist/daemon/server.js.map +1 -1
  22. package/dist/deploy/cloudflare.d.ts.map +1 -1
  23. package/dist/deploy/cloudflare.js +82 -2
  24. package/dist/deploy/cloudflare.js.map +1 -1
  25. package/dist/editor-support/docblock-tag-catalog.d.ts.map +1 -1
  26. package/dist/editor-support/docblock-tag-catalog.js +32 -2
  27. package/dist/editor-support/docblock-tag-catalog.js.map +1 -1
  28. package/dist/format/registry.d.ts +83 -0
  29. package/dist/format/registry.d.ts.map +1 -0
  30. package/dist/format/registry.js +139 -0
  31. package/dist/format/registry.js.map +1 -0
  32. package/dist/format/seed.d.ts +18 -0
  33. package/dist/format/seed.d.ts.map +1 -0
  34. package/dist/format/seed.js +246 -0
  35. package/dist/format/seed.js.map +1 -0
  36. package/dist/loader.d.ts +18 -0
  37. package/dist/loader.d.ts.map +1 -1
  38. package/dist/loader.js +130 -22
  39. package/dist/loader.js.map +1 -1
  40. package/dist/photons/maker.photon.d.ts +2 -2
  41. package/dist/photons/maker.photon.d.ts.map +1 -1
  42. package/dist/photons/maker.photon.js +5 -6
  43. package/dist/photons/maker.photon.js.map +1 -1
  44. package/dist/photons/maker.photon.ts +5 -6
  45. package/dist/resource-server.d.ts +52 -12
  46. package/dist/resource-server.d.ts.map +1 -1
  47. package/dist/resource-server.js +205 -50
  48. package/dist/resource-server.js.map +1 -1
  49. package/dist/server.d.ts +75 -0
  50. package/dist/server.d.ts.map +1 -1
  51. package/dist/server.js +515 -53
  52. package/dist/server.js.map +1 -1
  53. package/dist/shared/asset-encoding.d.ts +30 -0
  54. package/dist/shared/asset-encoding.d.ts.map +1 -0
  55. package/dist/shared/asset-encoding.js +0 -0
  56. package/dist/shared/asset-encoding.js.map +1 -0
  57. package/dist/shared/cross-origin-headers.d.ts +47 -0
  58. package/dist/shared/cross-origin-headers.d.ts.map +1 -0
  59. package/dist/shared/cross-origin-headers.js +61 -0
  60. package/dist/shared/cross-origin-headers.js.map +1 -0
  61. package/dist/shared/expose-route-extractor.d.ts +36 -0
  62. package/dist/shared/expose-route-extractor.d.ts.map +1 -0
  63. package/dist/shared/expose-route-extractor.js +64 -0
  64. package/dist/shared/expose-route-extractor.js.map +1 -0
  65. package/dist/shared/extract-claims.d.ts +33 -0
  66. package/dist/shared/extract-claims.d.ts.map +1 -0
  67. package/dist/shared/extract-claims.js +60 -0
  68. package/dist/shared/extract-claims.js.map +1 -0
  69. package/dist/shared/http-route-extractor.d.ts +6 -0
  70. package/dist/shared/http-route-extractor.d.ts.map +1 -1
  71. package/dist/shared/http-route-extractor.js +29 -5
  72. package/dist/shared/http-route-extractor.js.map +1 -1
  73. package/dist/shared/instance-binding.d.ts +53 -0
  74. package/dist/shared/instance-binding.d.ts.map +1 -0
  75. package/dist/shared/instance-binding.js +85 -0
  76. package/dist/shared/instance-binding.js.map +1 -0
  77. package/dist/types/server-types.d.ts +1 -0
  78. package/dist/types/server-types.d.ts.map +1 -1
  79. package/package.json +6 -3
  80. package/templates/cloudflare/worker.ts.template +90 -3
  81. package/templates/cloudflare/wrangler.toml.template +1 -1
@@ -34,8 +34,8 @@
34
34
  *
35
35
  * - `@internal` - Bundled with runtime, special UI treatment
36
36
  * - `@wizard` - Renders as multi-step wizard instead of form
37
- * - `@template` - Returns a prompt string (for MCP prompts)
38
- * - `@resource` - Exposes as MCP resource with URI
37
+ * - `@prompt` - Method-level: registers as MCP prompt template (legacy: @template)
38
+ * - `@resource <uri>` - Method-level: registers as MCP resource resolver (legacy: @Static)
39
39
  */
40
40
  /** Wizard step types using standard ask/emit protocol */
41
41
  type WizardStep = {
@@ -1 +1 @@
1
- {"version":3,"file":"maker.photon.d.ts","sourceRoot":"","sources":["../../src/photons/maker.photon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maker.photon.d.ts","sourceRoot":"","sources":["../../src/photons/maker.photon.ts"],"names":[],"mappings":"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"}
@@ -34,8 +34,8 @@
34
34
  *
35
35
  * - `@internal` - Bundled with runtime, special UI treatment
36
36
  * - `@wizard` - Renders as multi-step wizard instead of form
37
- * - `@template` - Returns a prompt string (for MCP prompts)
38
- * - `@resource` - Exposes as MCP resource with URI
37
+ * - `@prompt` - Method-level: registers as MCP prompt template (legacy: @template)
38
+ * - `@resource <uri>` - Method-level: registers as MCP resource resolver (legacy: @Static)
39
39
  */
40
40
  import * as fs from 'fs/promises';
41
41
  import * as path from 'path';
@@ -515,7 +515,7 @@ ${allStubs.join('\n\n')}
515
515
  if (type === 'prompt' || type === 'prompts') {
516
516
  return `${indent}/**
517
517
  ${indent} * ${name}
518
- ${indent} * @template
518
+ ${indent} * @prompt
519
519
  ${indent} */
520
520
  ${indent}async ${name}({
521
521
  ${indent} topic
@@ -529,9 +529,8 @@ ${indent}}`;
529
529
  if (type === 'resource') {
530
530
  return `${indent}/**
531
531
  ${indent} * ${name}
532
- ${indent} * @resource
533
- ${indent} * @uri ${name}://default
534
- ${indent} * @mimetype text/plain
532
+ ${indent} * @resource ${name}://default
533
+ ${indent} * @mimeType text/plain
535
534
  ${indent} */
536
535
  ${indent}async ${name}(): Promise<string> {
537
536
  ${indent} // Replace with your resource content
@@ -1 +1 @@
1
- {"version":3,"file":"maker.photon.js","sourceRoot":"","sources":["../../src/photons/maker.photon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maker.photon.js","sourceRoot":"","sources":["../../src/photons/maker.photon.ts"],"names":[],"mappings":"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"}
@@ -34,8 +34,8 @@
34
34
  *
35
35
  * - `@internal` - Bundled with runtime, special UI treatment
36
36
  * - `@wizard` - Renders as multi-step wizard instead of form
37
- * - `@template` - Returns a prompt string (for MCP prompts)
38
- * - `@resource` - Exposes as MCP resource with URI
37
+ * - `@prompt` - Method-level: registers as MCP prompt template (legacy: @template)
38
+ * - `@resource <uri>` - Method-level: registers as MCP resource resolver (legacy: @Static)
39
39
  */
40
40
 
41
41
  import * as fs from 'fs/promises';
@@ -659,7 +659,7 @@ ${allStubs.join('\n\n')}
659
659
  if (type === 'prompt' || type === 'prompts') {
660
660
  return `${indent}/**
661
661
  ${indent} * ${name}
662
- ${indent} * @template
662
+ ${indent} * @prompt
663
663
  ${indent} */
664
664
  ${indent}async ${name}({
665
665
  ${indent} topic
@@ -674,9 +674,8 @@ ${indent}}`;
674
674
  if (type === 'resource') {
675
675
  return `${indent}/**
676
676
  ${indent} * ${name}
677
- ${indent} * @resource
678
- ${indent} * @uri ${name}://default
679
- ${indent} * @mimetype text/plain
677
+ ${indent} * @resource ${name}://default
678
+ ${indent} * @mimeType text/plain
680
679
  ${indent} */
681
680
  ${indent}async ${name}(): Promise<string> {
682
681
  ${indent} // Replace with your resource content
@@ -24,6 +24,58 @@ export interface ResourceServerOptions {
24
24
  bundleJs: string;
25
25
  };
26
26
  embeddedUITemplates?: Record<string, Record<string, string>>;
27
+ /**
28
+ * Embedded `<photon>/<name>/assets/**` tree for v1.29 directory-style
29
+ * serving in standalone binaries. Populated by `photon build` when the
30
+ * companion `assets/` folder exists. Consumed by the directory-style
31
+ * GET handler so SPA chunks resolve without filesystem access.
32
+ * Shape: photonName → { relativePath → utf-8 content }.
33
+ */
34
+ embeddedAssetTree?: Record<string, Record<string, string>>;
35
+ }
36
+ /**
37
+ * Check if a URI contains template parameters, e.g. `person://{slug}`.
38
+ * Exported so both STDIO (ResourceServer) and the streamable-HTTP
39
+ * transport can split static vs templated URIs the same way.
40
+ */
41
+ export declare function isUriTemplate(uri: string): boolean;
42
+ /**
43
+ * Test whether `uri` matches the template `pattern`.
44
+ * Example: `matchUriTemplate('person://{slug}', 'person://alice')` → true.
45
+ */
46
+ export declare function matchUriTemplate(pattern: string, uri: string): boolean;
47
+ /**
48
+ * Extract template parameter values from a URI given its template pattern.
49
+ * Example: `parseUriTemplateParams('person://{slug}', 'person://alice')`
50
+ * → `{ slug: 'alice' }`. Returns an empty object on mismatch.
51
+ */
52
+ export declare function parseUriTemplateParams(pattern: string, uri: string): Record<string, string>;
53
+ /**
54
+ * Sink that delivers a `notifications/resources/updated` event to a single
55
+ * client (one MCP server connection — STDIO or one SSE session).
56
+ */
57
+ export type ResourceUpdateSink = (uri: string) => void | Promise<void>;
58
+ /**
59
+ * Server-wide registry of `resources/subscribe` state. One instance lives on
60
+ * `PhotonServer`; both the STDIO server and every SSE session register their
61
+ * sinks with it.
62
+ *
63
+ * - Subscriptions are keyed by *exact* URI (per MCP spec — clients subscribe
64
+ * to `person://alice`, never to the template `person://{slug}`).
65
+ * - On session disconnect, call `disconnect(sink)` to purge all that session's
66
+ * subscriptions in one go.
67
+ * - `notify(uri)` fans out to every subscribed sink, isolating delivery
68
+ * failures so one dead transport does not block others.
69
+ */
70
+ export declare class SubscriptionRegistry {
71
+ private bySink;
72
+ private byUri;
73
+ subscribe(sink: ResourceUpdateSink, uri: string): void;
74
+ unsubscribe(sink: ResourceUpdateSink, uri: string): void;
75
+ disconnect(sink: ResourceUpdateSink): void;
76
+ notify(uri: string): Promise<void>;
77
+ /** True if any sink is subscribed to `uri`. Used by tests. */
78
+ hasSubscribers(uri: string): boolean;
27
79
  }
28
80
  export declare class ResourceServer {
29
81
  private toolExecutor;
@@ -58,20 +110,8 @@ export declare class ResourceServer {
58
110
  sizes?: string;
59
111
  theme?: string;
60
112
  }>;
61
- /**
62
- * Check if a URI is a template (contains {parameters})
63
- */
64
113
  isUriTemplate(uri: string): boolean;
65
- /**
66
- * Match URI pattern with actual URI
67
- * Example: github://repos/{owner}/{repo} matches github://repos/foo/bar
68
- */
69
114
  private matchUriPattern;
70
- /**
71
- * Parse parameters from URI based on pattern
72
- * Example: pattern="github://repos/{owner}/{repo}", uri="github://repos/foo/bar"
73
- * Returns: { owner: "foo", repo: "bar" }
74
- */
75
115
  private parseUriParams;
76
116
  handleListResources(mcp: PhotonClassExtended | null): {
77
117
  resources: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"resource-server.d.ts","sourceRoot":"","sources":["../src/resource-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,WAAW,CACT,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,GAAG,CAAC,CAAC;IAChB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACtD;AAED,sDAAsD;AACtD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9D;AAED,qBAAa,cAAc;IAkBvB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,OAAO;IAlBjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAQrC;IAEF,0CAA0C;IAC1C,OAAO,CAAC,kBAAkB,CAGtB;gBAGM,YAAY,EAAE,oBAAoB,EAClC,OAAO,EAAE,qBAAqB;IAKxC;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI5D;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAK1E;;OAEG;IACH,aAAa,IAAI,MAAM;IAMvB;;;OAGG;IACH,iBAAiB,CACf,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAClE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoC5E;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAyBtB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,GAAG;QAAE,SAAS,EAAE,GAAG,EAAE,CAAA;KAAE;IA2E1E,2BAA2B,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,GAAG;QAAE,iBAAiB,EAAE,GAAG,EAAE,CAAA;KAAE;IAiBpF,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,mBAAmB,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CrF;;OAEG;YACW,iBAAiB;IAqD/B;;OAEG;YACW,eAAe;IA+C7B;;OAEG;YACW,gBAAgB;IAW9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,GAAG,MAAM;CA4W/D"}
1
+ {"version":3,"file":"resource-server.d.ts","sourceRoot":"","sources":["../src/resource-server.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,120 @@
13
13
  import { readFileSync } from 'node:fs';
14
14
  import * as path from 'node:path';
15
15
  import { readText } from './shared/io.js';
16
+ /**
17
+ * Check if a URI contains template parameters, e.g. `person://{slug}`.
18
+ * Exported so both STDIO (ResourceServer) and the streamable-HTTP
19
+ * transport can split static vs templated URIs the same way.
20
+ */
21
+ export function isUriTemplate(uri) {
22
+ return /\{[^}]+\}/.test(uri);
23
+ }
24
+ /**
25
+ * Test whether `uri` matches the template `pattern`.
26
+ * Example: `matchUriTemplate('person://{slug}', 'person://alice')` → true.
27
+ */
28
+ export function matchUriTemplate(pattern, uri) {
29
+ const regexPattern = pattern.replace(/\{[^}]+\}/g, '([^/]+)');
30
+ return new RegExp(`^${regexPattern}$`).test(uri);
31
+ }
32
+ /**
33
+ * Extract template parameter values from a URI given its template pattern.
34
+ * Example: `parseUriTemplateParams('person://{slug}', 'person://alice')`
35
+ * → `{ slug: 'alice' }`. Returns an empty object on mismatch.
36
+ */
37
+ export function parseUriTemplateParams(pattern, uri) {
38
+ const paramNames = [];
39
+ const paramRegex = /\{([^}]+)\}/g;
40
+ let match;
41
+ while ((match = paramRegex.exec(pattern)) !== null) {
42
+ paramNames.push(match[1]);
43
+ }
44
+ const regexPattern = pattern.replace(/\{[^}]+\}/g, '([^/]+)');
45
+ const values = uri.match(new RegExp(`^${regexPattern}$`));
46
+ if (!values)
47
+ return {};
48
+ const params = {};
49
+ for (let i = 0; i < paramNames.length; i++) {
50
+ params[paramNames[i]] = values[i + 1];
51
+ }
52
+ return params;
53
+ }
54
+ /**
55
+ * Server-wide registry of `resources/subscribe` state. One instance lives on
56
+ * `PhotonServer`; both the STDIO server and every SSE session register their
57
+ * sinks with it.
58
+ *
59
+ * - Subscriptions are keyed by *exact* URI (per MCP spec — clients subscribe
60
+ * to `person://alice`, never to the template `person://{slug}`).
61
+ * - On session disconnect, call `disconnect(sink)` to purge all that session's
62
+ * subscriptions in one go.
63
+ * - `notify(uri)` fans out to every subscribed sink, isolating delivery
64
+ * failures so one dead transport does not block others.
65
+ */
66
+ export class SubscriptionRegistry {
67
+ bySink = new Map();
68
+ byUri = new Map();
69
+ subscribe(sink, uri) {
70
+ let uris = this.bySink.get(sink);
71
+ if (!uris) {
72
+ uris = new Set();
73
+ this.bySink.set(sink, uris);
74
+ }
75
+ uris.add(uri);
76
+ let sinks = this.byUri.get(uri);
77
+ if (!sinks) {
78
+ sinks = new Set();
79
+ this.byUri.set(uri, sinks);
80
+ }
81
+ sinks.add(sink);
82
+ }
83
+ unsubscribe(sink, uri) {
84
+ const uris = this.bySink.get(sink);
85
+ if (uris) {
86
+ uris.delete(uri);
87
+ if (uris.size === 0)
88
+ this.bySink.delete(sink);
89
+ }
90
+ const sinks = this.byUri.get(uri);
91
+ if (sinks) {
92
+ sinks.delete(sink);
93
+ if (sinks.size === 0)
94
+ this.byUri.delete(uri);
95
+ }
96
+ }
97
+ disconnect(sink) {
98
+ const uris = this.bySink.get(sink);
99
+ if (!uris)
100
+ return;
101
+ for (const uri of uris) {
102
+ const sinks = this.byUri.get(uri);
103
+ if (sinks) {
104
+ sinks.delete(sink);
105
+ if (sinks.size === 0)
106
+ this.byUri.delete(uri);
107
+ }
108
+ }
109
+ this.bySink.delete(sink);
110
+ }
111
+ async notify(uri) {
112
+ const sinks = this.byUri.get(uri);
113
+ if (!sinks || sinks.size === 0)
114
+ return;
115
+ await Promise.all(Array.from(sinks).map(async (sink) => {
116
+ try {
117
+ await sink(uri);
118
+ }
119
+ catch {
120
+ // Failed delivery on one transport must not block others.
121
+ }
122
+ }));
123
+ }
124
+ /** True if any sink is subscribed to `uri`. Used by tests. */
125
+ hasSubscribers(uri) {
126
+ const sinks = this.byUri.get(uri);
127
+ return !!sinks && sinks.size > 0;
128
+ }
129
+ }
16
130
  export class ResourceServer {
17
131
  toolExecutor;
18
132
  options;
@@ -89,44 +203,15 @@ export class ResourceServer {
89
203
  this.resolvedIconsCache.set(cacheKey, icons);
90
204
  return icons;
91
205
  }
92
- // ─── URI template helpers ───────────────────────────────────────────
93
- /**
94
- * Check if a URI is a template (contains {parameters})
95
- */
206
+ // ─── URI template helpers (delegate to module-level functions) ──────
96
207
  isUriTemplate(uri) {
97
- return /\{[^}]+\}/.test(uri);
208
+ return isUriTemplate(uri);
98
209
  }
99
- /**
100
- * Match URI pattern with actual URI
101
- * Example: github://repos/{owner}/{repo} matches github://repos/foo/bar
102
- */
103
210
  matchUriPattern(pattern, uri) {
104
- const regexPattern = pattern.replace(/\{[^}]+\}/g, '([^/]+)');
105
- const regex = new RegExp(`^${regexPattern}$`);
106
- return regex.test(uri);
211
+ return matchUriTemplate(pattern, uri);
107
212
  }
108
- /**
109
- * Parse parameters from URI based on pattern
110
- * Example: pattern="github://repos/{owner}/{repo}", uri="github://repos/foo/bar"
111
- * Returns: { owner: "foo", repo: "bar" }
112
- */
113
213
  parseUriParams(pattern, uri) {
114
- const params = {};
115
- const paramNames = [];
116
- const paramRegex = /\{([^}]+)\}/g;
117
- let match;
118
- while ((match = paramRegex.exec(pattern)) !== null) {
119
- paramNames.push(match[1]);
120
- }
121
- const regexPattern = pattern.replace(/\{[^}]+\}/g, '([^/]+)');
122
- const regex = new RegExp(`^${regexPattern}$`);
123
- const values = uri.match(regex);
124
- if (values) {
125
- for (let i = 0; i < paramNames.length; i++) {
126
- params[paramNames[i]] = values[i + 1];
127
- }
128
- }
129
- return params;
214
+ return parseUriTemplateParams(pattern, uri);
130
215
  }
131
216
  // ─── MCP request handlers ──────────────────────────────────────────
132
217
  handleListResources(mcp) {
@@ -380,19 +465,81 @@ export class ResourceServer {
380
465
  var currentTheme = 'dark';
381
466
  var injectedPhotons = ${JSON.stringify(injectedPhotons)};
382
467
 
468
+ // Transport discriminator (Track D1). The bridge runs in three contexts:
469
+ // 1. Inside a host iframe that speaks postMessage (Beam, Claude Apps).
470
+ // 2. Standalone browser tab (no host) — needs to use fetch.
471
+ // 3. Iframe inside a host that ignores us — also fetch.
472
+ // window.parent === window only catches the second case; (1) and (3) both
473
+ // have a parent, so we ping it with a hello and wait 200ms for an ack
474
+ // before committing to fetch. Hosts that want postMessage must reply
475
+ // with { type: 'photon:ack', id } within that window.
476
+ var transport = 'pending';
477
+ var resolveTransport;
478
+ var transportReady = new Promise(function(resolve) { resolveTransport = resolve; });
479
+ function settleTransport(t) {
480
+ if (transport === 'pending') {
481
+ transport = t;
482
+ resolveTransport(t);
483
+ }
484
+ }
485
+
383
486
  function generateCallId() {
384
487
  return 'call_' + (++callIdCounter) + '_' + Math.random().toString(36).slice(2);
385
488
  }
386
489
 
387
490
  function postToHost(msg) {
388
- window.parent.postMessage(msg, '*');
491
+ try { window.parent.postMessage(msg, '*'); } catch (e) { /* hostless */ }
389
492
  }
390
493
 
494
+ function methodToKebab(s) {
495
+ return s
496
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
497
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')
498
+ .toLowerCase();
499
+ }
500
+
501
+ function fetchToolCall(name, args, opts) {
502
+ var a = args || {};
503
+ if (opts && opts.instance !== undefined) {
504
+ a = Object.assign({}, a, { _targetInstance: opts.instance });
505
+ }
506
+ return fetch('/api/' + methodToKebab(name), {
507
+ method: 'POST',
508
+ credentials: 'same-origin',
509
+ headers: {
510
+ 'Content-Type': 'application/json',
511
+ 'Accept': 'application/json'
512
+ },
513
+ body: JSON.stringify(a)
514
+ }).then(function(r) {
515
+ if (!r.ok) {
516
+ return r.text().then(function(text) {
517
+ throw new Error(text || ('HTTP ' + r.status));
518
+ });
519
+ }
520
+ var ct = r.headers.get('content-type') || '';
521
+ return ct.indexOf('application/json') >= 0 ? r.json() : r.text();
522
+ });
523
+ }
524
+
525
+ // Hello handshake. Standalone tabs (no host) silently drop the message;
526
+ // the timeout below guarantees we still flip to fetch.
527
+ postToHost({ type: 'photon:hello', id: 'init-' + Math.random().toString(36).slice(2) });
528
+ setTimeout(function() { settleTransport('fetch'); }, 200);
529
+
391
530
  // Listen for messages from host
392
531
  window.addEventListener('message', function(e) {
393
532
  var m = e.data;
394
533
  if (!m || typeof m !== 'object') return;
395
534
 
535
+ // Track D1 ack — host confirms postMessage transport. Accept the
536
+ // signal at any time (even after the 200ms window) so a slow but
537
+ // present host still wins over fetch on subsequent calls.
538
+ if (m.type === 'photon:ack') {
539
+ settleTransport('postmessage');
540
+ return;
541
+ }
542
+
396
543
  // Handle JSON-RPC messages
397
544
  if (m.jsonrpc === '2.0') {
398
545
  // Response to our request (has id, no method)
@@ -510,23 +657,31 @@ export class ResourceServer {
510
657
  };
511
658
  },
512
659
  callTool: function(name, args, opts) {
513
- var callId = generateCallId();
514
- return new Promise(function(resolve, reject) {
515
- pendingCalls[callId] = { resolve: resolve, reject: reject };
516
- var a = args || {};
517
- if (opts && opts.instance !== undefined) { a = Object.assign({}, a, { _targetInstance: opts.instance }); }
518
- postToHost({
519
- jsonrpc: '2.0',
520
- id: callId,
521
- method: 'tools/call',
522
- params: { name: name, arguments: a }
523
- });
524
- setTimeout(function() {
525
- if (pendingCalls[callId]) {
526
- delete pendingCalls[callId];
527
- reject(new Error('Tool call timeout'));
660
+ // Wait for the handshake to settle so the very first call routes
661
+ // correctly. Subsequent calls hit the resolved transport without
662
+ // an extra microtask.
663
+ return transportReady.then(function(t) {
664
+ if (t === 'fetch') return fetchToolCall(name, args, opts);
665
+ var callId = generateCallId();
666
+ return new Promise(function(resolve, reject) {
667
+ pendingCalls[callId] = { resolve: resolve, reject: reject };
668
+ var a = args || {};
669
+ if (opts && opts.instance !== undefined) {
670
+ a = Object.assign({}, a, { _targetInstance: opts.instance });
528
671
  }
529
- }, 30000);
672
+ postToHost({
673
+ jsonrpc: '2.0',
674
+ id: callId,
675
+ method: 'tools/call',
676
+ params: { name: name, arguments: a }
677
+ });
678
+ setTimeout(function() {
679
+ if (pendingCalls[callId]) {
680
+ delete pendingCalls[callId];
681
+ reject(new Error('Tool call timeout'));
682
+ }
683
+ }, 30000);
684
+ });
530
685
  });
531
686
  },
532
687
  invoke: function(name, args, opts) { return window.photon.callTool(name, args, opts); },
@@ -1 +1 @@
1
- {"version":3,"file":"resource-server.js","sourceRoot":"","sources":["../src/resource-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-server.js","sourceRoot":"","sources":["../src/resource-server.ts"],"names":[],"mappings":"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"}