@portel/photon-core 2.24.0 → 2.26.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/dist/asset-discovery.d.ts +8 -2
- package/dist/asset-discovery.d.ts.map +1 -1
- package/dist/asset-discovery.js +46 -9
- package/dist/asset-discovery.js.map +1 -1
- package/dist/base.d.ts +126 -0
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +178 -1
- package/dist/base.js.map +1 -1
- package/dist/generator.d.ts +102 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schedule.d.ts +32 -2
- package/dist/schedule.d.ts.map +1 -1
- package/dist/schedule.js +53 -7
- package/dist/schedule.js.map +1 -1
- package/dist/schema-extractor.d.ts +21 -5
- package/dist/schema-extractor.d.ts.map +1 -1
- package/dist/schema-extractor.js +40 -8
- package/dist/schema-extractor.js.map +1 -1
- package/package.json +1 -1
- package/src/asset-discovery.ts +44 -9
- package/src/base.ts +202 -1
- package/src/generator.ts +93 -0
- package/src/index.ts +6 -0
- package/src/schedule.ts +73 -5
- package/src/schema-extractor.ts +53 -9
|
@@ -10,9 +10,15 @@ import type { PhotonAssets } from './types.js';
|
|
|
10
10
|
/**
|
|
11
11
|
* Discover and extract assets from a Photon file
|
|
12
12
|
*
|
|
13
|
-
*
|
|
13
|
+
* Conventions (both supported, dual-layout):
|
|
14
14
|
* - Asset folder: {photon-name}/ next to {photon-name}.photon.ts
|
|
15
|
-
* -
|
|
15
|
+
* - Old layout: subfolders ui/, prompts/, resources/ live directly under {photon-name}/
|
|
16
|
+
* - New layout: subfolders live under {photon-name}/assets/ (canonical bundle root)
|
|
17
|
+
*
|
|
18
|
+
* When {photon-name}/assets/ exists, it becomes the resolution root for
|
|
19
|
+
* explicit @ui declarations and the source for auto-discovery. The plain
|
|
20
|
+
* {photon-name}/ folder remains a fallback so older photons keep working
|
|
21
|
+
* without modification.
|
|
16
22
|
*
|
|
17
23
|
* @param photonPath - Absolute path to the .photon.ts file
|
|
18
24
|
* @param source - Source code content of the Photon file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-discovery.d.ts","sourceRoot":"","sources":["../src/asset-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc/C
|
|
1
|
+
{"version":3,"file":"asset-discovery.d.ts","sourceRoot":"","sources":["../src/asset-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CA2FnC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAuGf"}
|
package/dist/asset-discovery.js
CHANGED
|
@@ -25,9 +25,15 @@ async function fileExists(filePath) {
|
|
|
25
25
|
/**
|
|
26
26
|
* Discover and extract assets from a Photon file
|
|
27
27
|
*
|
|
28
|
-
*
|
|
28
|
+
* Conventions (both supported, dual-layout):
|
|
29
29
|
* - Asset folder: {photon-name}/ next to {photon-name}.photon.ts
|
|
30
|
-
* -
|
|
30
|
+
* - Old layout: subfolders ui/, prompts/, resources/ live directly under {photon-name}/
|
|
31
|
+
* - New layout: subfolders live under {photon-name}/assets/ (canonical bundle root)
|
|
32
|
+
*
|
|
33
|
+
* When {photon-name}/assets/ exists, it becomes the resolution root for
|
|
34
|
+
* explicit @ui declarations and the source for auto-discovery. The plain
|
|
35
|
+
* {photon-name}/ folder remains a fallback so older photons keep working
|
|
36
|
+
* without modification.
|
|
31
37
|
*
|
|
32
38
|
* @param photonPath - Absolute path to the .photon.ts file
|
|
33
39
|
* @param source - Source code content of the Photon file
|
|
@@ -62,8 +68,23 @@ export async function discoverAssets(photonPath, source) {
|
|
|
62
68
|
catch {
|
|
63
69
|
// Folder doesn't exist
|
|
64
70
|
}
|
|
71
|
+
// Dual-layout: prefer {photon}/assets/ as the canonical root when present.
|
|
72
|
+
// Falling back to the plain folder keeps every pre-v1.29 fixture working.
|
|
73
|
+
let assetRoot = assetFolder;
|
|
74
|
+
if (folderExists) {
|
|
75
|
+
const nestedRoot = path.join(assetFolder, 'assets');
|
|
76
|
+
try {
|
|
77
|
+
const nestedStat = await fs.stat(nestedRoot);
|
|
78
|
+
if (nestedStat.isDirectory()) {
|
|
79
|
+
assetRoot = nestedRoot;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// No assets/ subfolder — keep the legacy root.
|
|
84
|
+
}
|
|
85
|
+
}
|
|
65
86
|
// Extract explicit asset declarations from source annotations
|
|
66
|
-
const assets = extractor.extractAssets(source, folderExists ?
|
|
87
|
+
const assets = extractor.extractAssets(source, folderExists ? assetRoot : undefined);
|
|
67
88
|
// If no folder exists and no explicit declarations, skip
|
|
68
89
|
if (!folderExists &&
|
|
69
90
|
assets.ui.length === 0 &&
|
|
@@ -72,18 +93,34 @@ export async function discoverAssets(photonPath, source) {
|
|
|
72
93
|
return undefined;
|
|
73
94
|
}
|
|
74
95
|
if (folderExists) {
|
|
75
|
-
// Resolve paths for explicitly declared assets
|
|
96
|
+
// Resolve paths for explicitly declared assets. Try the canonical root
|
|
97
|
+
// first; if a declaration was written against the legacy root convention
|
|
98
|
+
// (./ui/foo.html with no assets/ wrapper), fall back to assetFolder so
|
|
99
|
+
// the directive keeps resolving without source edits.
|
|
100
|
+
const resolveAssetPath = async (declared) => {
|
|
101
|
+
const cleaned = declared.replace(/^\.\//, '');
|
|
102
|
+
const primary = path.resolve(assetRoot, cleaned);
|
|
103
|
+
if (assetRoot === assetFolder)
|
|
104
|
+
return primary;
|
|
105
|
+
try {
|
|
106
|
+
await fs.access(primary);
|
|
107
|
+
return primary;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return path.resolve(assetFolder, cleaned);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
76
113
|
for (const ui of assets.ui) {
|
|
77
|
-
ui.resolvedPath =
|
|
114
|
+
ui.resolvedPath = await resolveAssetPath(ui.path);
|
|
78
115
|
}
|
|
79
116
|
for (const prompt of assets.prompts) {
|
|
80
|
-
prompt.resolvedPath =
|
|
117
|
+
prompt.resolvedPath = await resolveAssetPath(prompt.path);
|
|
81
118
|
}
|
|
82
119
|
for (const resource of assets.resources) {
|
|
83
|
-
resource.resolvedPath =
|
|
120
|
+
resource.resolvedPath = await resolveAssetPath(resource.path);
|
|
84
121
|
}
|
|
85
|
-
// Auto-discover assets from folder structure
|
|
86
|
-
await autoDiscoverAssets(
|
|
122
|
+
// Auto-discover assets from folder structure (new convention root first).
|
|
123
|
+
await autoDiscoverAssets(assetRoot, assets);
|
|
87
124
|
}
|
|
88
125
|
return assets;
|
|
89
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-discovery.js","sourceRoot":"","sources":["../src/asset-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"asset-discovery.js","sourceRoot":"","sources":["../src/asset-discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/base.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ import { MCPClient, MCPClientFactory } from '@portel/mcp';
|
|
|
42
42
|
import { type CallerInfo } from '@portel/cli';
|
|
43
43
|
import { MemoryProvider } from './memory.js';
|
|
44
44
|
import { ScheduleProvider } from './schedule.js';
|
|
45
|
+
import type { AskYield, SampleParams } from './generator.js';
|
|
45
46
|
/**
|
|
46
47
|
* Simple base class for creating Photons
|
|
47
48
|
*
|
|
@@ -137,6 +138,120 @@ export declare class Photon {
|
|
|
137
138
|
* ```
|
|
138
139
|
*/
|
|
139
140
|
get caller(): CallerInfo;
|
|
141
|
+
/**
|
|
142
|
+
* Ask the caller a yes/no question and await the answer.
|
|
143
|
+
*
|
|
144
|
+
* Imperative sugar over the existing `{ ask: 'confirm' }` yield.
|
|
145
|
+
* Works in any method (generator or plain async), routed through the
|
|
146
|
+
* runtime's elicitation pipeline — returns `true`/`false` based on the
|
|
147
|
+
* user's response in whichever surface the client offers (Beam
|
|
148
|
+
* dialog, Claude confirm prompt, CLI readline, etc.).
|
|
149
|
+
*
|
|
150
|
+
* @throws If no client with elicitation capability is connected.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* if (await this.confirm('Delete all records?')) {
|
|
155
|
+
* await purge();
|
|
156
|
+
* }
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
confirm(question: string): Promise<boolean>;
|
|
160
|
+
/**
|
|
161
|
+
* Pose an arbitrary elicitation request and await the answer.
|
|
162
|
+
*
|
|
163
|
+
* Accepts any `AskYield` (text, password, select, number, form, etc.)
|
|
164
|
+
* and returns the client's response. Prefer `this.confirm()` for
|
|
165
|
+
* yes/no; use `yield { ask: ... }` inside async-generator workflows.
|
|
166
|
+
* `this.elicit()` is the imperative form for plain async methods
|
|
167
|
+
* that need a single input without the generator plumbing.
|
|
168
|
+
*
|
|
169
|
+
* The name matches MCP spec terminology (`elicitation/create`) to
|
|
170
|
+
* avoid ambiguity with the legacy `this.ask(type, message, opts)`
|
|
171
|
+
* factory, which just constructs an `AskYield` object for use with
|
|
172
|
+
* `yield`.
|
|
173
|
+
*
|
|
174
|
+
* @throws If no client with elicitation capability is connected.
|
|
175
|
+
*/
|
|
176
|
+
elicit<T = unknown>(params: AskYield): Promise<T>;
|
|
177
|
+
/**
|
|
178
|
+
* Ask the client's LLM to generate text (MCP `sampling/createMessage`).
|
|
179
|
+
*
|
|
180
|
+
* The caller's agent model generates the completion — no API key
|
|
181
|
+
* needed in the photon, and inference cost is borne by whoever is
|
|
182
|
+
* driving the tool. The client must declare the `sampling`
|
|
183
|
+
* capability during initialize; otherwise this throws.
|
|
184
|
+
*
|
|
185
|
+
* Returns just the generated text for the common case. For
|
|
186
|
+
* multi-block / image / structured responses, access the underlying
|
|
187
|
+
* provider via the runtime.
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* async summarize(params: { text: string }) {
|
|
192
|
+
* return await this.sample({
|
|
193
|
+
* prompt: `Summarize this in one sentence:\n\n${params.text}`,
|
|
194
|
+
* maxTokens: 128,
|
|
195
|
+
* });
|
|
196
|
+
* }
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
sample(params: SampleParams): Promise<string>;
|
|
200
|
+
/**
|
|
201
|
+
* Workspace roots declared by the connected MCP client (per spec
|
|
202
|
+
* `roots/list`). Each entry is a `{ uri, name? }` pair; URIs always start
|
|
203
|
+
* with `file://` per the current spec.
|
|
204
|
+
*
|
|
205
|
+
* Empty when:
|
|
206
|
+
* - the client did not declare the `roots` capability,
|
|
207
|
+
* - the photon is running outside a live MCP session (CLI / unit test),
|
|
208
|
+
* - the client returned an empty list.
|
|
209
|
+
*
|
|
210
|
+
* The runtime fetches `roots/list` once per session and refreshes on
|
|
211
|
+
* `notifications/roots/list_changed`, so reads inside a tool call are
|
|
212
|
+
* synchronous and consistent.
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* ```typescript
|
|
216
|
+
* async listProjectFiles() {
|
|
217
|
+
* const roots = this.roots;
|
|
218
|
+
* if (roots.length === 0) return [];
|
|
219
|
+
* // ...resolve files under each root.uri...
|
|
220
|
+
* }
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
get roots(): Array<{
|
|
224
|
+
uri: string;
|
|
225
|
+
name?: string;
|
|
226
|
+
}>;
|
|
227
|
+
/**
|
|
228
|
+
* Notify subscribed MCP clients that the resource at `uri` has changed.
|
|
229
|
+
* Triggers `notifications/resources/updated` for every client that has
|
|
230
|
+
* issued `resources/subscribe` against this exact URI.
|
|
231
|
+
*
|
|
232
|
+
* Default no-op so calls from CLI execution (no live MCP server) do not
|
|
233
|
+
* throw. The runtime overrides this with a wired version on every
|
|
234
|
+
* instance it constructs; that wired version dispatches into the
|
|
235
|
+
* server's subscription registry.
|
|
236
|
+
*
|
|
237
|
+
* Use it from `@stateful` methods or any code path that mutates the
|
|
238
|
+
* data behind a `@resource <uri-template>` resolver:
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```typescript
|
|
242
|
+
* async upsertPerson(params: { slug: string; ... }) {
|
|
243
|
+
* this.people[params.slug] = ...;
|
|
244
|
+
* this.notifyResourceUpdated(`person://${params.slug}`);
|
|
245
|
+
* }
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
notifyResourceUpdated(_uri: string): void;
|
|
249
|
+
/**
|
|
250
|
+
* Internal: resolve the runtime-supplied input provider, throwing a
|
|
251
|
+
* clear error if none is attached to the current execution context.
|
|
252
|
+
* @internal
|
|
253
|
+
*/
|
|
254
|
+
private _resolveInputProvider;
|
|
140
255
|
/**
|
|
141
256
|
* Scoped key-value storage for photon data
|
|
142
257
|
*
|
|
@@ -192,6 +307,17 @@ export declare class Photon {
|
|
|
192
307
|
* ```
|
|
193
308
|
*/
|
|
194
309
|
get schedule(): ScheduleProvider;
|
|
310
|
+
/**
|
|
311
|
+
* Runtime-injected hook that evicts an in-memory cron registration.
|
|
312
|
+
* The photon runtime (photon-repo loader) attaches a callback that
|
|
313
|
+
* IPCs the daemon's `unschedule` request; photon-core doesn't know
|
|
314
|
+
* about the daemon, so the hook is passed through to ScheduleProvider
|
|
315
|
+
* which calls it after unlinking the disk file. Without the hook,
|
|
316
|
+
* `this.schedule.cancel()` leaves a ghost registration that keeps
|
|
317
|
+
* firing until the next daemon restart.
|
|
318
|
+
* @internal
|
|
319
|
+
*/
|
|
320
|
+
_scheduleUnscheduleHook?: import('./schedule.js').UnscheduleHook;
|
|
195
321
|
/**
|
|
196
322
|
* Get an absolute path to a storage directory for this photon's data.
|
|
197
323
|
*
|
package/dist/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAkB,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
|
package/dist/base.js
CHANGED
|
@@ -141,6 +141,172 @@ export class Photon {
|
|
|
141
141
|
const store = executionContext.getStore();
|
|
142
142
|
return store?.caller ?? { id: 'anonymous', anonymous: true };
|
|
143
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Ask the caller a yes/no question and await the answer.
|
|
146
|
+
*
|
|
147
|
+
* Imperative sugar over the existing `{ ask: 'confirm' }` yield.
|
|
148
|
+
* Works in any method (generator or plain async), routed through the
|
|
149
|
+
* runtime's elicitation pipeline — returns `true`/`false` based on the
|
|
150
|
+
* user's response in whichever surface the client offers (Beam
|
|
151
|
+
* dialog, Claude confirm prompt, CLI readline, etc.).
|
|
152
|
+
*
|
|
153
|
+
* @throws If no client with elicitation capability is connected.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* if (await this.confirm('Delete all records?')) {
|
|
158
|
+
* await purge();
|
|
159
|
+
* }
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
async confirm(question) {
|
|
163
|
+
const provider = this._resolveInputProvider('this.confirm()');
|
|
164
|
+
const result = await provider({ ask: 'confirm', question, message: question });
|
|
165
|
+
return Boolean(result);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Pose an arbitrary elicitation request and await the answer.
|
|
169
|
+
*
|
|
170
|
+
* Accepts any `AskYield` (text, password, select, number, form, etc.)
|
|
171
|
+
* and returns the client's response. Prefer `this.confirm()` for
|
|
172
|
+
* yes/no; use `yield { ask: ... }` inside async-generator workflows.
|
|
173
|
+
* `this.elicit()` is the imperative form for plain async methods
|
|
174
|
+
* that need a single input without the generator plumbing.
|
|
175
|
+
*
|
|
176
|
+
* The name matches MCP spec terminology (`elicitation/create`) to
|
|
177
|
+
* avoid ambiguity with the legacy `this.ask(type, message, opts)`
|
|
178
|
+
* factory, which just constructs an `AskYield` object for use with
|
|
179
|
+
* `yield`.
|
|
180
|
+
*
|
|
181
|
+
* @throws If no client with elicitation capability is connected.
|
|
182
|
+
*/
|
|
183
|
+
async elicit(params) {
|
|
184
|
+
const provider = this._resolveInputProvider('this.elicit()');
|
|
185
|
+
return (await provider(params));
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Ask the client's LLM to generate text (MCP `sampling/createMessage`).
|
|
189
|
+
*
|
|
190
|
+
* The caller's agent model generates the completion — no API key
|
|
191
|
+
* needed in the photon, and inference cost is borne by whoever is
|
|
192
|
+
* driving the tool. The client must declare the `sampling`
|
|
193
|
+
* capability during initialize; otherwise this throws.
|
|
194
|
+
*
|
|
195
|
+
* Returns just the generated text for the common case. For
|
|
196
|
+
* multi-block / image / structured responses, access the underlying
|
|
197
|
+
* provider via the runtime.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* async summarize(params: { text: string }) {
|
|
202
|
+
* return await this.sample({
|
|
203
|
+
* prompt: `Summarize this in one sentence:\n\n${params.text}`,
|
|
204
|
+
* maxTokens: 128,
|
|
205
|
+
* });
|
|
206
|
+
* }
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
async sample(params) {
|
|
210
|
+
const store = executionContext.getStore();
|
|
211
|
+
const provider = store?.samplingProvider;
|
|
212
|
+
if (!provider) {
|
|
213
|
+
throw new Error('this.sample() requires the connected MCP client to declare the ' +
|
|
214
|
+
'`sampling` capability. None is available in this invocation — ' +
|
|
215
|
+
"either the client didn't declare sampling during initialize, or " +
|
|
216
|
+
'this method is being called outside an MCP request context (e.g. ' +
|
|
217
|
+
'from a scheduled task without a live session).');
|
|
218
|
+
}
|
|
219
|
+
if (!params.prompt && !params.messages?.length) {
|
|
220
|
+
throw new Error('this.sample() requires either `prompt` or `messages`.');
|
|
221
|
+
}
|
|
222
|
+
const messages = params.messages ??
|
|
223
|
+
[{ role: 'user', content: { type: 'text', text: params.prompt } }];
|
|
224
|
+
const result = await provider({
|
|
225
|
+
messages,
|
|
226
|
+
systemPrompt: params.systemPrompt,
|
|
227
|
+
maxTokens: params.maxTokens ?? 1024,
|
|
228
|
+
temperature: params.temperature,
|
|
229
|
+
modelPreferences: params.modelPreferences,
|
|
230
|
+
stopSequences: params.stopSequences,
|
|
231
|
+
includeContext: params.includeContext,
|
|
232
|
+
});
|
|
233
|
+
const first = Array.isArray(result.content) ? result.content[0] : result.content;
|
|
234
|
+
if (first && first.type === 'text')
|
|
235
|
+
return first.text;
|
|
236
|
+
// Non-text responses (image-only) — return empty string rather than
|
|
237
|
+
// a JSON-stringified blob so callers can reliably concatenate the
|
|
238
|
+
// result. Users needing image output should hit the provider directly.
|
|
239
|
+
return '';
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Workspace roots declared by the connected MCP client (per spec
|
|
243
|
+
* `roots/list`). Each entry is a `{ uri, name? }` pair; URIs always start
|
|
244
|
+
* with `file://` per the current spec.
|
|
245
|
+
*
|
|
246
|
+
* Empty when:
|
|
247
|
+
* - the client did not declare the `roots` capability,
|
|
248
|
+
* - the photon is running outside a live MCP session (CLI / unit test),
|
|
249
|
+
* - the client returned an empty list.
|
|
250
|
+
*
|
|
251
|
+
* The runtime fetches `roots/list` once per session and refreshes on
|
|
252
|
+
* `notifications/roots/list_changed`, so reads inside a tool call are
|
|
253
|
+
* synchronous and consistent.
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* ```typescript
|
|
257
|
+
* async listProjectFiles() {
|
|
258
|
+
* const roots = this.roots;
|
|
259
|
+
* if (roots.length === 0) return [];
|
|
260
|
+
* // ...resolve files under each root.uri...
|
|
261
|
+
* }
|
|
262
|
+
* ```
|
|
263
|
+
*/
|
|
264
|
+
get roots() {
|
|
265
|
+
const store = executionContext.getStore();
|
|
266
|
+
return store?.roots ?? [];
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Notify subscribed MCP clients that the resource at `uri` has changed.
|
|
270
|
+
* Triggers `notifications/resources/updated` for every client that has
|
|
271
|
+
* issued `resources/subscribe` against this exact URI.
|
|
272
|
+
*
|
|
273
|
+
* Default no-op so calls from CLI execution (no live MCP server) do not
|
|
274
|
+
* throw. The runtime overrides this with a wired version on every
|
|
275
|
+
* instance it constructs; that wired version dispatches into the
|
|
276
|
+
* server's subscription registry.
|
|
277
|
+
*
|
|
278
|
+
* Use it from `@stateful` methods or any code path that mutates the
|
|
279
|
+
* data behind a `@resource <uri-template>` resolver:
|
|
280
|
+
*
|
|
281
|
+
* @example
|
|
282
|
+
* ```typescript
|
|
283
|
+
* async upsertPerson(params: { slug: string; ... }) {
|
|
284
|
+
* this.people[params.slug] = ...;
|
|
285
|
+
* this.notifyResourceUpdated(`person://${params.slug}`);
|
|
286
|
+
* }
|
|
287
|
+
* ```
|
|
288
|
+
*/
|
|
289
|
+
notifyResourceUpdated(_uri) {
|
|
290
|
+
// Runtime injects a wired version on every instance — see
|
|
291
|
+
// photon/src/loader.ts injectResourceNotifier. This default is for
|
|
292
|
+
// standalone use (CLI, unit tests) where no MCP server is attached.
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Internal: resolve the runtime-supplied input provider, throwing a
|
|
296
|
+
* clear error if none is attached to the current execution context.
|
|
297
|
+
* @internal
|
|
298
|
+
*/
|
|
299
|
+
_resolveInputProvider(forMethod) {
|
|
300
|
+
const store = executionContext.getStore();
|
|
301
|
+
const provider = store?.inputProvider;
|
|
302
|
+
if (!provider) {
|
|
303
|
+
throw new Error(`${forMethod} requires a connected MCP client that supports elicitation. ` +
|
|
304
|
+
'The runtime attaches an input provider for every tool invocation; ' +
|
|
305
|
+
"this call is running outside that context (e.g. a background task " +
|
|
306
|
+
'without a session, or a client that declined elicitation).');
|
|
307
|
+
}
|
|
308
|
+
return provider;
|
|
309
|
+
}
|
|
144
310
|
/**
|
|
145
311
|
* Scoped key-value storage for photon data
|
|
146
312
|
*
|
|
@@ -212,10 +378,21 @@ export class Photon {
|
|
|
212
378
|
.replace(/([A-Z])/g, '-$1')
|
|
213
379
|
.toLowerCase()
|
|
214
380
|
.replace(/^-/, '');
|
|
215
|
-
this._schedule = new ScheduleProvider(name, this._baseDir);
|
|
381
|
+
this._schedule = new ScheduleProvider(name, this._baseDir, this._scheduleUnscheduleHook);
|
|
216
382
|
}
|
|
217
383
|
return this._schedule;
|
|
218
384
|
}
|
|
385
|
+
/**
|
|
386
|
+
* Runtime-injected hook that evicts an in-memory cron registration.
|
|
387
|
+
* The photon runtime (photon-repo loader) attaches a callback that
|
|
388
|
+
* IPCs the daemon's `unschedule` request; photon-core doesn't know
|
|
389
|
+
* about the daemon, so the hook is passed through to ScheduleProvider
|
|
390
|
+
* which calls it after unlinking the disk file. Without the hook,
|
|
391
|
+
* `this.schedule.cancel()` leaves a ghost registration that keeps
|
|
392
|
+
* firing until the next daemon restart.
|
|
393
|
+
* @internal
|
|
394
|
+
*/
|
|
395
|
+
_scheduleUnscheduleHook;
|
|
219
396
|
/**
|
|
220
397
|
* Get an absolute path to a storage directory for this photon's data.
|
|
221
398
|
*
|
package/dist/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
|