@portel/photon 1.19.0 → 1.20.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/dist/auto-ui/beam/routes/api-browse.d.ts.map +1 -1
- package/dist/auto-ui/beam/routes/api-browse.js +16 -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 +165 -24
- 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 +14 -1
- package/dist/auto-ui/beam/routes/api-marketplace.js.map +1 -1
- package/dist/auto-ui/beam.d.ts.map +1 -1
- package/dist/auto-ui/beam.js +187 -77
- 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 +17 -0
- package/dist/auto-ui/bridge/index.js.map +1 -1
- package/dist/auto-ui/bridge/renderers.d.ts.map +1 -1
- package/dist/auto-ui/bridge/renderers.js +12 -4
- package/dist/auto-ui/bridge/renderers.js.map +1 -1
- package/dist/auto-ui/streamable-http-transport.d.ts +1 -0
- package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
- package/dist/auto-ui/streamable-http-transport.js +179 -44
- package/dist/auto-ui/streamable-http-transport.js.map +1 -1
- package/dist/auto-ui/types.d.ts +12 -0
- package/dist/auto-ui/types.d.ts.map +1 -1
- package/dist/auto-ui/types.js.map +1 -1
- package/dist/beam-form.bundle.js +63 -185
- package/dist/beam-form.bundle.js.map +4 -4
- package/dist/beam.bundle.js +2115 -761
- package/dist/beam.bundle.js.map +4 -4
- package/dist/capability-negotiator.d.ts +67 -0
- package/dist/capability-negotiator.d.ts.map +1 -0
- package/dist/capability-negotiator.js +104 -0
- package/dist/capability-negotiator.js.map +1 -0
- package/dist/channel-manager.d.ts +122 -0
- package/dist/channel-manager.d.ts.map +1 -0
- package/dist/channel-manager.js +266 -0
- package/dist/channel-manager.js.map +1 -0
- package/dist/cli/commands/beam.d.ts.map +1 -1
- package/dist/cli/commands/beam.js +47 -30
- package/dist/cli/commands/beam.js.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +27 -2
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +12 -6
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +18 -6
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/package.d.ts.map +1 -1
- package/dist/cli/commands/package.js +25 -7
- package/dist/cli/commands/package.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +14 -2
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli-alias.d.ts.map +1 -1
- package/dist/cli-alias.js +2 -3
- package/dist/cli-alias.js.map +1 -1
- package/dist/context-store.d.ts +4 -4
- package/dist/context-store.d.ts.map +1 -1
- package/dist/context-store.js +18 -15
- package/dist/context-store.js.map +1 -1
- package/dist/context.d.ts +25 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +69 -4
- package/dist/context.js.map +1 -1
- package/dist/daemon/client.d.ts.map +1 -1
- package/dist/daemon/client.js +16 -1
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/manager.d.ts +2 -0
- package/dist/daemon/manager.d.ts.map +1 -1
- package/dist/daemon/manager.js +40 -8
- package/dist/daemon/manager.js.map +1 -1
- package/dist/daemon/server.js +89 -64
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/worker-host.js +7 -0
- package/dist/daemon/worker-host.js.map +1 -1
- package/dist/daemon/worker-manager.d.ts.map +1 -1
- package/dist/daemon/worker-manager.js +79 -17
- package/dist/daemon/worker-manager.js.map +1 -1
- package/dist/daemon/worker-protocol.d.ts +3 -0
- package/dist/daemon/worker-protocol.d.ts.map +1 -1
- package/dist/deploy/cloudflare.d.ts.map +1 -1
- package/dist/deploy/cloudflare.js +2 -4
- package/dist/deploy/cloudflare.js.map +1 -1
- package/dist/loader.d.ts +11 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +129 -13
- package/dist/loader.js.map +1 -1
- package/dist/marketplace-manager.d.ts +7 -1
- package/dist/marketplace-manager.d.ts.map +1 -1
- package/dist/marketplace-manager.js +165 -61
- package/dist/marketplace-manager.js.map +1 -1
- package/dist/namespace-migration.d.ts +1 -0
- package/dist/namespace-migration.d.ts.map +1 -1
- package/dist/namespace-migration.js +86 -0
- package/dist/namespace-migration.js.map +1 -1
- package/dist/photon-cli-runner.d.ts.map +1 -1
- package/dist/photon-cli-runner.js +40 -21
- package/dist/photon-cli-runner.js.map +1 -1
- package/dist/photon-doc-extractor.d.ts.map +1 -1
- package/dist/photon-doc-extractor.js +59 -15
- package/dist/photon-doc-extractor.js.map +1 -1
- package/dist/resource-server.d.ts +105 -0
- package/dist/resource-server.d.ts.map +1 -0
- package/dist/resource-server.js +723 -0
- package/dist/resource-server.js.map +1 -0
- package/dist/serv/auth/jwt.d.ts +2 -0
- package/dist/serv/auth/jwt.d.ts.map +1 -1
- package/dist/serv/auth/jwt.js +11 -5
- package/dist/serv/auth/jwt.js.map +1 -1
- package/dist/serv/vault/token-vault.d.ts +2 -0
- package/dist/serv/vault/token-vault.d.ts.map +1 -1
- package/dist/serv/vault/token-vault.js +6 -0
- package/dist/serv/vault/token-vault.js.map +1 -1
- package/dist/server.d.ts +20 -149
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +246 -1233
- package/dist/server.js.map +1 -1
- package/dist/shared/audit.d.ts.map +1 -1
- package/dist/shared/audit.js +7 -0
- package/dist/shared/audit.js.map +1 -1
- package/dist/shared/security.d.ts +10 -0
- package/dist/shared/security.d.ts.map +1 -1
- package/dist/shared/security.js +27 -0
- package/dist/shared/security.js.map +1 -1
- package/dist/shared-utils.d.ts +4 -0
- package/dist/shared-utils.d.ts.map +1 -1
- package/dist/shared-utils.js +22 -0
- package/dist/shared-utils.js.map +1 -1
- package/dist/task-executor.d.ts +69 -0
- package/dist/task-executor.d.ts.map +1 -0
- package/dist/task-executor.js +182 -0
- package/dist/task-executor.js.map +1 -0
- package/dist/template-manager.d.ts.map +1 -1
- package/dist/template-manager.js +56 -234
- package/dist/template-manager.js.map +1 -1
- package/dist/types/photon-instance.d.ts +50 -0
- package/dist/types/photon-instance.d.ts.map +1 -0
- package/dist/types/photon-instance.js +9 -0
- package/dist/types/photon-instance.js.map +1 -0
- package/dist/types/server-types.d.ts +61 -0
- package/dist/types/server-types.d.ts.map +1 -0
- package/dist/types/server-types.js +8 -0
- package/dist/types/server-types.js.map +1 -0
- package/package.json +3 -3
package/dist/shared-utils.js
CHANGED
|
@@ -89,6 +89,28 @@ export function detectPM() {
|
|
|
89
89
|
export function detectRunner() {
|
|
90
90
|
return detectPM() === 'bun' ? 'bunx' : 'npx';
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Build the MCP server command+args for a photon.
|
|
94
|
+
* Prefers `photon` if globally installed (shorter, no registry fetch),
|
|
95
|
+
* otherwise falls back to npx/bunx.
|
|
96
|
+
*/
|
|
97
|
+
let _photonOnPath = null;
|
|
98
|
+
export function mcpCommand(photonName) {
|
|
99
|
+
if (_photonOnPath === null) {
|
|
100
|
+
try {
|
|
101
|
+
execSync('photon --version', { stdio: 'ignore' });
|
|
102
|
+
_photonOnPath = true;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
_photonOnPath = false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (_photonOnPath) {
|
|
109
|
+
return { command: 'photon', args: ['mcp', photonName] };
|
|
110
|
+
}
|
|
111
|
+
const runner = detectRunner();
|
|
112
|
+
return { command: runner, args: ['-y', '@portel/photon', 'mcp', photonName] };
|
|
113
|
+
}
|
|
92
114
|
/**
|
|
93
115
|
* Get the install command for a global package.
|
|
94
116
|
*/
|
package/dist/shared-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-utils.js","sourceRoot":"","sources":["../src/shared-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared-utils.js","sourceRoot":"","sources":["../src/shared-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TaskExecutor — extracted from PhotonServer
|
|
3
|
+
*
|
|
4
|
+
* Encapsulates all MCP Tasks protocol handling (spec v2025-11-25):
|
|
5
|
+
* - Task creation from tool calls (task mode)
|
|
6
|
+
* - GetTask, ListTasks, CancelTask, GetTaskPayload handlers
|
|
7
|
+
* - Input resolution via elicitation
|
|
8
|
+
*
|
|
9
|
+
* Dependency direction: PhotonServer → TaskExecutor (never the reverse).
|
|
10
|
+
*/
|
|
11
|
+
import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
12
|
+
import type { LogLevel } from './shared/logger.js';
|
|
13
|
+
/** Minimal interface for executing a tool — avoids importing PhotonLoader */
|
|
14
|
+
export interface ToolExecutor {
|
|
15
|
+
executeTool(photon: {
|
|
16
|
+
name: string;
|
|
17
|
+
}, toolName: string, args: Record<string, unknown>, options: {
|
|
18
|
+
outputHandler?: (data: any) => void;
|
|
19
|
+
inputProvider?: (ask: any) => Promise<any>;
|
|
20
|
+
}): Promise<any>;
|
|
21
|
+
}
|
|
22
|
+
/** Minimal interface for creating an input provider via MCP elicitation */
|
|
23
|
+
export interface InputProviderFactory {
|
|
24
|
+
createMCPInputProvider(server?: Server): (ask: any) => Promise<any>;
|
|
25
|
+
}
|
|
26
|
+
/** Logger callback matching PhotonServer's log() signature */
|
|
27
|
+
export type TaskLog = (level: LogLevel, message: string, meta?: Record<string, any>) => void;
|
|
28
|
+
export declare class TaskExecutor {
|
|
29
|
+
private log;
|
|
30
|
+
private toolExecutor;
|
|
31
|
+
private inputProviderFactory;
|
|
32
|
+
constructor(log: TaskLog, toolExecutor: ToolExecutor, inputProviderFactory: InputProviderFactory);
|
|
33
|
+
/**
|
|
34
|
+
* Handle task-mode tool call: when request params contain a `task` field,
|
|
35
|
+
* run the tool asynchronously and return a task reference.
|
|
36
|
+
*
|
|
37
|
+
* Returns the MCP response if task mode applies, or null if it doesn't.
|
|
38
|
+
*/
|
|
39
|
+
handleTaskModeCall(photonName: string, toolName: string, args: Record<string, unknown>, taskField: {
|
|
40
|
+
ttl?: number;
|
|
41
|
+
}): {
|
|
42
|
+
content: Array<{
|
|
43
|
+
type: string;
|
|
44
|
+
text: string;
|
|
45
|
+
}>;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Handle tasks/get — returns wire-format task status.
|
|
49
|
+
*/
|
|
50
|
+
handleGetTask(taskId: string): any;
|
|
51
|
+
/**
|
|
52
|
+
* Handle tasks/list — returns paginated task list.
|
|
53
|
+
*/
|
|
54
|
+
handleListTasks(cursor?: string): any;
|
|
55
|
+
/**
|
|
56
|
+
* Handle tasks/cancel — aborts the task and returns updated status.
|
|
57
|
+
*/
|
|
58
|
+
handleCancelTask(taskId: string): any;
|
|
59
|
+
/**
|
|
60
|
+
* Handle tasks/get_result — blocks until task completes or times out.
|
|
61
|
+
* Handles input_required states via elicitation.
|
|
62
|
+
*/
|
|
63
|
+
handleGetTaskPayload(taskId: string, server: Server): Promise<any>;
|
|
64
|
+
/**
|
|
65
|
+
* Format a terminal task result for MCP response.
|
|
66
|
+
*/
|
|
67
|
+
private formatTaskResult;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=task-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../src/task-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAaxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,WAAW,CACT,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,GAC3F,OAAO,CAAC,GAAG,CAAC,CAAC;CACjB;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACrE;AAED,8DAA8D;AAC9D,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;AAE7F,qBAAa,YAAY;IAErB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,oBAAoB;gBAFpB,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB;IAGpD;;;;;OAKG;IACH,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE;IAuBrD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAMlC;;OAEG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG;IAYrC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAgBrC;;;OAGG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAwDxE;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA2BzB"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TaskExecutor — extracted from PhotonServer
|
|
3
|
+
*
|
|
4
|
+
* Encapsulates all MCP Tasks protocol handling (spec v2025-11-25):
|
|
5
|
+
* - Task creation from tool calls (task mode)
|
|
6
|
+
* - GetTask, ListTasks, CancelTask, GetTaskPayload handlers
|
|
7
|
+
* - Input resolution via elicitation
|
|
8
|
+
*
|
|
9
|
+
* Dependency direction: PhotonServer → TaskExecutor (never the reverse).
|
|
10
|
+
*/
|
|
11
|
+
import { createTask, getTask, updateTask, listTasks, registerController, getController, unregisterController, } from './tasks/store.js';
|
|
12
|
+
import { toWireFormat, relatedTaskMeta, TERMINAL_STATES } from './tasks/types.js';
|
|
13
|
+
import { runTaskExecution, resolveTaskInput, waitForTerminalOrInput } from './tasks/executor.js';
|
|
14
|
+
export class TaskExecutor {
|
|
15
|
+
log;
|
|
16
|
+
toolExecutor;
|
|
17
|
+
inputProviderFactory;
|
|
18
|
+
constructor(log, toolExecutor, inputProviderFactory) {
|
|
19
|
+
this.log = log;
|
|
20
|
+
this.toolExecutor = toolExecutor;
|
|
21
|
+
this.inputProviderFactory = inputProviderFactory;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Handle task-mode tool call: when request params contain a `task` field,
|
|
25
|
+
* run the tool asynchronously and return a task reference.
|
|
26
|
+
*
|
|
27
|
+
* Returns the MCP response if task mode applies, or null if it doesn't.
|
|
28
|
+
*/
|
|
29
|
+
handleTaskModeCall(photonName, toolName, args, taskField) {
|
|
30
|
+
const ttl = typeof taskField.ttl === 'number' ? taskField.ttl : undefined;
|
|
31
|
+
this.log('info', 'Starting background task', { photon: photonName, tool: toolName });
|
|
32
|
+
const task = createTask(photonName, toolName, args, ttl);
|
|
33
|
+
const controller = new AbortController();
|
|
34
|
+
registerController(task.id, controller);
|
|
35
|
+
const executeFn = async (taskInputProvider, outputHandler) => {
|
|
36
|
+
return this.toolExecutor.executeTool({ name: photonName }, toolName, args, {
|
|
37
|
+
outputHandler,
|
|
38
|
+
inputProvider: taskInputProvider,
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
runTaskExecution(task.id, executeFn, {
|
|
42
|
+
signal: controller.signal,
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
content: [{ type: 'text', text: JSON.stringify({ task: toWireFormat(task) }, null, 2) }],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Handle tasks/get — returns wire-format task status.
|
|
50
|
+
*/
|
|
51
|
+
handleGetTask(taskId) {
|
|
52
|
+
const task = getTask(taskId);
|
|
53
|
+
if (!task)
|
|
54
|
+
throw new Error(`Task not found: ${taskId}`);
|
|
55
|
+
return toWireFormat(task);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Handle tasks/list — returns paginated task list.
|
|
59
|
+
*/
|
|
60
|
+
handleListTasks(cursor) {
|
|
61
|
+
const allTasks = listTasks();
|
|
62
|
+
const offset = cursor ? parseInt(cursor, 10) || 0 : 0;
|
|
63
|
+
const pageSize = 50;
|
|
64
|
+
const page = allTasks.slice(offset, offset + pageSize);
|
|
65
|
+
const nextCursor = offset + pageSize < allTasks.length ? String(offset + pageSize) : undefined;
|
|
66
|
+
return {
|
|
67
|
+
tasks: page.map(toWireFormat),
|
|
68
|
+
...(nextCursor && { nextCursor }),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Handle tasks/cancel — aborts the task and returns updated status.
|
|
73
|
+
*/
|
|
74
|
+
handleCancelTask(taskId) {
|
|
75
|
+
const task = getTask(taskId);
|
|
76
|
+
if (!task)
|
|
77
|
+
throw new Error(`Task not found: ${taskId}`);
|
|
78
|
+
if (TERMINAL_STATES.includes(task.state)) {
|
|
79
|
+
throw new Error(`Cannot cancel task in terminal state: ${task.state}`);
|
|
80
|
+
}
|
|
81
|
+
const controller = getController(taskId);
|
|
82
|
+
if (controller)
|
|
83
|
+
controller.abort();
|
|
84
|
+
const updated = updateTask(taskId, {
|
|
85
|
+
state: 'cancelled',
|
|
86
|
+
statusMessage: 'The task was cancelled by request.',
|
|
87
|
+
});
|
|
88
|
+
unregisterController(taskId);
|
|
89
|
+
return toWireFormat(updated);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Handle tasks/get_result — blocks until task completes or times out.
|
|
93
|
+
* Handles input_required states via elicitation.
|
|
94
|
+
*/
|
|
95
|
+
async handleGetTaskPayload(taskId, server) {
|
|
96
|
+
const task = getTask(taskId);
|
|
97
|
+
if (!task)
|
|
98
|
+
throw new Error(`Task not found: ${taskId}`);
|
|
99
|
+
// Already terminal — return immediately
|
|
100
|
+
if (TERMINAL_STATES.includes(task.state)) {
|
|
101
|
+
return this.formatTaskResult(task, taskId);
|
|
102
|
+
}
|
|
103
|
+
// If input_required, try to get input via elicitation
|
|
104
|
+
if (task.state === 'input_required' && task.input) {
|
|
105
|
+
const inputProvider = this.inputProviderFactory.createMCPInputProvider(server);
|
|
106
|
+
try {
|
|
107
|
+
const value = await inputProvider(task.input);
|
|
108
|
+
resolveTaskInput(taskId, value);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
resolveTaskInput(taskId, null);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Block until terminal (max 5 min per call)
|
|
115
|
+
try {
|
|
116
|
+
const abortController = new AbortController();
|
|
117
|
+
const timeout = setTimeout(() => abortController.abort(), 300000);
|
|
118
|
+
try {
|
|
119
|
+
while (true) {
|
|
120
|
+
const current = await waitForTerminalOrInput(taskId, abortController.signal);
|
|
121
|
+
if (TERMINAL_STATES.includes(current.state)) {
|
|
122
|
+
return this.formatTaskResult(current, taskId);
|
|
123
|
+
}
|
|
124
|
+
if (current.state === 'input_required' && current.input) {
|
|
125
|
+
const inputProvider = this.inputProviderFactory.createMCPInputProvider(server);
|
|
126
|
+
try {
|
|
127
|
+
const value = await inputProvider(current.input);
|
|
128
|
+
resolveTaskInput(taskId, value);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
resolveTaskInput(taskId, null);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
clearTimeout(timeout);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
const current = getTask(taskId);
|
|
142
|
+
if (current && TERMINAL_STATES.includes(current.state)) {
|
|
143
|
+
return this.formatTaskResult(current, taskId);
|
|
144
|
+
}
|
|
145
|
+
return {
|
|
146
|
+
content: [{ type: 'text', text: `Task ${taskId} is still running.` }],
|
|
147
|
+
isError: false,
|
|
148
|
+
_meta: relatedTaskMeta(taskId),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Format a terminal task result for MCP response.
|
|
154
|
+
*/
|
|
155
|
+
formatTaskResult(task, taskId) {
|
|
156
|
+
if (task.state === 'failed') {
|
|
157
|
+
return {
|
|
158
|
+
content: [{ type: 'text', text: task.error || 'Task failed' }],
|
|
159
|
+
isError: true,
|
|
160
|
+
_meta: relatedTaskMeta(taskId),
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
if (task.state === 'cancelled') {
|
|
164
|
+
return {
|
|
165
|
+
content: [{ type: 'text', text: 'Task was cancelled.' }],
|
|
166
|
+
isError: false,
|
|
167
|
+
_meta: relatedTaskMeta(taskId),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
// Completed
|
|
171
|
+
if (task.result && typeof task.result === 'object' && 'content' in task.result) {
|
|
172
|
+
return { ...task.result, _meta: relatedTaskMeta(taskId) };
|
|
173
|
+
}
|
|
174
|
+
const text = typeof task.result === 'string' ? task.result : JSON.stringify(task.result ?? null);
|
|
175
|
+
return {
|
|
176
|
+
content: [{ type: 'text', text }],
|
|
177
|
+
isError: false,
|
|
178
|
+
_meta: relatedTaskMeta(taskId),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=task-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../src/task-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-manager.d.ts","sourceRoot":"","sources":["../src/template-manager.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAW;gBAEvC,UAAU,EAAE,MAAM;IAM9B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAetC;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE;;OAEG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtE;;;;;;OAMG;IACH,OAAO,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"template-manager.d.ts","sourceRoot":"","sources":["../src/template-manager.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAW;gBAEvC,UAAU,EAAE,MAAM;IAM9B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAetC;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE;;OAEG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtE;;;;;;OAMG;IACH,OAAO,CAAC,MAAM;IAuDd;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8CxB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;YACW,cAAc;IAqE5B;;OAEG;YACW,UAAU;IAaxB;;OAEG;YACW,UAAU;IAIxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsDhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;CA4FjC"}
|