stitchkit 0.53.2 → 0.54.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/cli.d.ts +2 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -1
- package/dist/contract/define.d.ts +27 -0
- package/dist/contract/define.d.ts.map +1 -1
- package/dist/contract/index.d.ts +1 -1
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/{index-c78w2y09.js → index-7vb44hy8.js} +394 -70
- package/dist/{index-yydqk4fh.js → index-b15rtha1.js} +30 -1
- package/dist/{index-pdv1mjjr.js → index-z7761jk2.js} +15 -38
- package/dist/node.js +2 -2
- package/dist/observability/event.d.ts +2 -16
- package/dist/observability/event.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/process-signal-common.d.ts +6 -0
- package/dist/server/process-signal-common.d.ts.map +1 -0
- package/dist/server/process-signals.d.ts.map +1 -1
- package/dist/tools/cli-command.d.ts +29 -0
- package/dist/tools/cli-command.d.ts.map +1 -0
- package/dist/tools/cli.d.ts +11 -6
- package/dist/tools/cli.d.ts.map +1 -1
- package/dist/tools/define-download-tool.d.ts +17 -0
- package/dist/tools/define-download-tool.d.ts.map +1 -0
- package/dist/tools/define-upload-tool.d.ts +14 -0
- package/dist/tools/define-upload-tool.d.ts.map +1 -0
- package/dist/tools/define-view-file-tool.d.ts +10 -0
- package/dist/tools/define-view-file-tool.d.ts.map +1 -0
- package/dist/tools/define-wait-tool.d.ts +22 -0
- package/dist/tools/define-wait-tool.d.ts.map +1 -0
- package/dist/tools/download-core.d.ts +25 -0
- package/dist/tools/download-core.d.ts.map +1 -0
- package/dist/tools/execute.d.ts +3 -1
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/mcp-round.d.ts +0 -1
- package/dist/tools/mcp-round.d.ts.map +1 -1
- package/dist/tools/mcp-stdio-signals.d.ts +33 -0
- package/dist/tools/mcp-stdio-signals.d.ts.map +1 -0
- package/dist/tools/mount-download.d.ts +5 -0
- package/dist/tools/mount-download.d.ts.map +1 -1
- package/dist/tools/mount-upload.d.ts.map +1 -1
- package/dist/tools/mount-wait.d.ts.map +1 -1
- package/dist/tools/native-definition.d.ts +15 -0
- package/dist/tools/native-definition.d.ts.map +1 -0
- package/dist/tools/runtime-tool.d.ts +5 -4
- package/dist/tools/runtime-tool.d.ts.map +1 -1
- package/dist/tools/surface.d.ts.map +1 -1
- package/dist/tools/upload-core.d.ts +3 -0
- package/dist/tools/upload-core.d.ts.map +1 -0
- package/dist/tools/view-file.d.ts +80 -20
- package/dist/tools/view-file.d.ts.map +1 -1
- package/dist/tools/wait-core.d.ts +10 -1
- package/dist/tools/wait-core.d.ts.map +1 -1
- package/dist/tools.d.ts +10 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +570 -379
- package/llms-full.txt +312 -35
- package/package.json +1 -1
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
+
DEFAULT_PROCESS_SIGNALS,
|
|
2
3
|
assertCorsConfig,
|
|
3
4
|
corsHeaders,
|
|
4
|
-
corsPreflightResponse
|
|
5
|
-
|
|
5
|
+
corsPreflightResponse,
|
|
6
|
+
defaultSignalSource,
|
|
7
|
+
guardSignalCallback,
|
|
8
|
+
reportSignalError
|
|
9
|
+
} from "./index-b15rtha1.js";
|
|
6
10
|
import {
|
|
7
11
|
AppError,
|
|
8
12
|
badRequest,
|
|
@@ -1606,40 +1610,13 @@ function createServerLifecycle(getAdapter) {
|
|
|
1606
1610
|
}
|
|
1607
1611
|
|
|
1608
1612
|
// src/server/process-signals.ts
|
|
1609
|
-
var DEFAULT_SIGNALS = ["SIGINT", "SIGTERM"];
|
|
1610
|
-
var defaultSignalSource = {
|
|
1611
|
-
on: (signal, handler) => {
|
|
1612
|
-
process.on(signal, handler);
|
|
1613
|
-
},
|
|
1614
|
-
off: (signal, handler) => {
|
|
1615
|
-
process.off(signal, handler);
|
|
1616
|
-
},
|
|
1617
|
-
raiseDefault: (signal) => {
|
|
1618
|
-
if (process.listenerCount(signal) > 0)
|
|
1619
|
-
return false;
|
|
1620
|
-
process.kill(process.pid, signal);
|
|
1621
|
-
return true;
|
|
1622
|
-
}
|
|
1623
|
-
};
|
|
1624
1613
|
var bound = new WeakSet;
|
|
1625
|
-
function reportError(phase, error, onError) {
|
|
1626
|
-
try {
|
|
1627
|
-
onError?.(phase, error);
|
|
1628
|
-
} catch {}
|
|
1629
|
-
}
|
|
1630
|
-
function guard(run, phase, onError) {
|
|
1631
|
-
try {
|
|
1632
|
-
run();
|
|
1633
|
-
} catch (error) {
|
|
1634
|
-
reportError(phase, error, onError);
|
|
1635
|
-
}
|
|
1636
|
-
}
|
|
1637
1614
|
function bindProcessSignals(handle, options = {}) {
|
|
1638
1615
|
if (bound.has(handle)) {
|
|
1639
1616
|
throw new Error("[stitchkit] bindProcessSignals: this server is already bound; close the first binding before creating another");
|
|
1640
1617
|
}
|
|
1641
1618
|
bound.add(handle);
|
|
1642
|
-
const signals = [...new Set(options.signals ??
|
|
1619
|
+
const signals = [...new Set(options.signals ?? DEFAULT_PROCESS_SIGNALS)];
|
|
1643
1620
|
const source = options.signalSource ?? defaultSignalSource;
|
|
1644
1621
|
const budgets = ShutdownOptionsSchema.omit({ signal: true }).parse(options.shutdown ?? {});
|
|
1645
1622
|
const controller = new AbortController;
|
|
@@ -1680,7 +1657,7 @@ function bindProcessSignals(handle, options = {}) {
|
|
|
1680
1657
|
try {
|
|
1681
1658
|
await options.onShutdown?.(signal);
|
|
1682
1659
|
} catch (error) {
|
|
1683
|
-
|
|
1660
|
+
reportSignalError("prepare", error, options.onError);
|
|
1684
1661
|
}
|
|
1685
1662
|
let result;
|
|
1686
1663
|
try {
|
|
@@ -1688,7 +1665,7 @@ function bindProcessSignals(handle, options = {}) {
|
|
|
1688
1665
|
} catch (error) {
|
|
1689
1666
|
settled = true;
|
|
1690
1667
|
rejectChain(error);
|
|
1691
|
-
|
|
1668
|
+
reportSignalError("shutdown", error, options.onError);
|
|
1692
1669
|
removeListeners();
|
|
1693
1670
|
return;
|
|
1694
1671
|
}
|
|
@@ -1697,7 +1674,7 @@ function bindProcessSignals(handle, options = {}) {
|
|
|
1697
1674
|
try {
|
|
1698
1675
|
await options.onComplete?.(result);
|
|
1699
1676
|
} catch (error) {
|
|
1700
|
-
|
|
1677
|
+
reportSignalError("complete", error, options.onError);
|
|
1701
1678
|
} finally {
|
|
1702
1679
|
removeListeners();
|
|
1703
1680
|
}
|
|
@@ -1709,26 +1686,26 @@ function bindProcessSignals(handle, options = {}) {
|
|
|
1709
1686
|
queueMicrotask(() => {
|
|
1710
1687
|
sameTurnAsStart = false;
|
|
1711
1688
|
});
|
|
1712
|
-
run(signal).catch((error) =>
|
|
1689
|
+
run(signal).catch((error) => reportSignalError("shutdown", error, options.onError));
|
|
1713
1690
|
return;
|
|
1714
1691
|
}
|
|
1715
1692
|
if (sameTurnAsStart)
|
|
1716
1693
|
return;
|
|
1717
1694
|
if (!settled && !controller.signal.aborted) {
|
|
1718
1695
|
controller.abort();
|
|
1719
|
-
|
|
1696
|
+
guardSignalCallback(() => options.onRepeatedSignal?.(signal, "force"), "shutdown", options.onError);
|
|
1720
1697
|
return;
|
|
1721
1698
|
}
|
|
1722
1699
|
removeListeners();
|
|
1723
|
-
|
|
1700
|
+
guardSignalCallback(() => options.onRepeatedSignal?.(signal, "escalate"), "shutdown", options.onError);
|
|
1724
1701
|
let restored = false;
|
|
1725
1702
|
try {
|
|
1726
1703
|
restored = source.raiseDefault(signal);
|
|
1727
1704
|
} catch (error) {
|
|
1728
|
-
|
|
1705
|
+
reportSignalError("shutdown", error, options.onError);
|
|
1729
1706
|
}
|
|
1730
1707
|
if (!restored) {
|
|
1731
|
-
|
|
1708
|
+
guardSignalCallback(() => options.onEscalationBlocked?.(signal), "shutdown", options.onError);
|
|
1732
1709
|
}
|
|
1733
1710
|
};
|
|
1734
1711
|
for (const signal of signals) {
|
package/dist/node.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
createHandler,
|
|
9
9
|
createServerLifecycle,
|
|
10
10
|
createSocketIOServer
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-z7761jk2.js";
|
|
12
12
|
import {
|
|
13
13
|
createImplement,
|
|
14
14
|
createImplementRegistry,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
createScopedImplementRegistry,
|
|
18
18
|
implement,
|
|
19
19
|
implementRegistry
|
|
20
|
-
} from "./index-
|
|
20
|
+
} from "./index-b15rtha1.js";
|
|
21
21
|
import {
|
|
22
22
|
AppError,
|
|
23
23
|
appError,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HttpMethod, TransportSource } from '../contract';
|
|
1
|
+
import type { HttpMethod, McpCallContext, TransportSource } from '../contract';
|
|
2
2
|
import type { JsonValue } from './sanitize';
|
|
3
3
|
/**
|
|
4
4
|
* A normalised audit event — one shape for a completed call on any surface
|
|
@@ -39,21 +39,7 @@ export interface RequestEvent {
|
|
|
39
39
|
/** Distinguishes a completed operation from an MRTR input-gating round. */
|
|
40
40
|
toolPhase?: 'operation' | 'input-round';
|
|
41
41
|
/** Validated MCP transport attribution, available only on MCP tool calls. */
|
|
42
|
-
mcp?:
|
|
43
|
-
era: 'modern' | 'legacy';
|
|
44
|
-
protocolVersion?: string;
|
|
45
|
-
/** Self-reported host identity from the validated modern envelope. Never auth. */
|
|
46
|
-
clientInfo?: {
|
|
47
|
-
name: string;
|
|
48
|
-
version: string;
|
|
49
|
-
};
|
|
50
|
-
method: string;
|
|
51
|
-
toolName: string;
|
|
52
|
-
/** Semantic outcome of one MRTR attempt. */
|
|
53
|
-
outcome?: 'input_required' | 'declined' | 'cancelled' | 'invalid' | 'complete';
|
|
54
|
-
/** Zero-based MRTR round for this attempt. */
|
|
55
|
-
round?: number;
|
|
56
|
-
};
|
|
42
|
+
mcp?: McpCallContext;
|
|
57
43
|
/** W3C trace id — correlates every span of one logical request. */
|
|
58
44
|
traceId: string;
|
|
59
45
|
/** W3C span id — unique to this call. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/observability/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/observability/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;IACxC,6EAA6E;IAC7E,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,uEAAuE;IACvE,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,mDAAmD;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,SAAS,EAAE,IAAI,CAAC;CACjB"}
|
package/dist/server/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
parseMultipart,
|
|
13
13
|
socketIoLane,
|
|
14
14
|
webSocketLane
|
|
15
|
-
} from "../index-
|
|
15
|
+
} from "../index-z7761jk2.js";
|
|
16
16
|
import {
|
|
17
17
|
createAuthHook,
|
|
18
18
|
createBearerResolver,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
defineMultipartStream,
|
|
39
39
|
implement,
|
|
40
40
|
implementRegistry
|
|
41
|
-
} from "../index-
|
|
41
|
+
} from "../index-b15rtha1.js";
|
|
42
42
|
import {
|
|
43
43
|
isWithinDir,
|
|
44
44
|
jsonSchemaFields,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProcessSignalName, SignalSource } from './process-signals';
|
|
2
|
+
export declare const DEFAULT_PROCESS_SIGNALS: readonly ProcessSignalName[];
|
|
3
|
+
export declare const defaultSignalSource: SignalSource;
|
|
4
|
+
export declare function reportSignalError<TPhase extends string>(phase: TPhase, error: unknown, onError: ((phase: TPhase, error: unknown) => void) | undefined): void;
|
|
5
|
+
export declare function guardSignalCallback<TPhase extends string>(run: () => void, phase: TPhase, onError: ((phase: TPhase, error: unknown) => void) | undefined): void;
|
|
6
|
+
//# sourceMappingURL=process-signal-common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-signal-common.d.ts","sourceRoot":"","sources":["../../src/server/process-signal-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzE,eAAO,MAAM,uBAAuB,EAAE,SAAS,iBAAiB,EAA0B,CAAC;AAE3F,eAAO,MAAM,mBAAmB,EAAE,YAYjC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,MAAM,EACrD,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7D,IAAI,CAMN;AAED,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,MAAM,EACvD,GAAG,EAAE,MAAM,IAAI,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7D,IAAI,CAMN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-signals.d.ts","sourceRoot":"","sources":["../../src/server/process-signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"process-signals.d.ts","sourceRoot":"","sources":["../../src/server/process-signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGvF;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,CAAC;AAEf,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;AAE5E,gEAAgE;AAChE,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACzD,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC1D;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,kEAAkE;IAClE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpE,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,KAAK,IAAI,CAAC;IACpF;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IACtD,wCAAwC;IACxC,KAAK,IAAI,IAAI,CAAC;CACf;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,qBAA0B,GAClC,qBAAqB,CA0IvB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ZodObject, ZodType, z } from 'zod';
|
|
2
|
+
import type { CliRunOptions } from './cli-args';
|
|
3
|
+
import type { CliWriters } from './cli-format';
|
|
4
|
+
import { type ToolResult } from './execute';
|
|
5
|
+
export interface CliCommandContext<TInput extends ZodObject> extends CliWriters {
|
|
6
|
+
input: z.output<TInput>;
|
|
7
|
+
options: Readonly<CliRunOptions>;
|
|
8
|
+
}
|
|
9
|
+
export interface CliCommandDefinitionBase<TInput extends ZodObject> {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
input: TInput;
|
|
13
|
+
}
|
|
14
|
+
export interface CliCommandDefinitionWithOutput<TInput extends ZodObject, TOutput extends ZodType> extends CliCommandDefinitionBase<TInput> {
|
|
15
|
+
output: TOutput;
|
|
16
|
+
handler: (context: CliCommandContext<TInput>) => z.output<TOutput> | Promise<z.output<TOutput>>;
|
|
17
|
+
}
|
|
18
|
+
export interface CliCommandDefinitionWithoutOutput<TInput extends ZodObject> extends CliCommandDefinitionBase<TInput> {
|
|
19
|
+
output?: never;
|
|
20
|
+
handler: (context: CliCommandContext<TInput>) => void | Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export type CliCommandDefinition = CliCommandDefinitionWithOutput<ZodObject, ZodType> | CliCommandDefinitionWithoutOutput<ZodObject>;
|
|
23
|
+
/** Typed identity helper for one transport-local executable command. */
|
|
24
|
+
export declare function defineCliCommand<TInput extends ZodObject, TOutput extends ZodType>(definition: CliCommandDefinitionWithOutput<TInput, TOutput>): CliCommandDefinitionWithOutput<TInput, TOutput>;
|
|
25
|
+
export declare function defineCliCommand<TInput extends ZodObject>(definition: CliCommandDefinitionWithoutOutput<TInput>): CliCommandDefinitionWithoutOutput<TInput>;
|
|
26
|
+
export declare function cliCommandPresentationSchema(definition: CliCommandDefinition): Record<string, unknown>;
|
|
27
|
+
/** Execute a CLI-only definition without inventing a tool operation identity. */
|
|
28
|
+
export declare function executeCliCommand(definition: CliCommandDefinition, rawArgs: Record<string, unknown>, options: CliRunOptions, writers: CliWriters, coerceJson: boolean): Promise<ToolResult>;
|
|
29
|
+
//# sourceMappingURL=cli-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-command.d.ts","sourceRoot":"","sources":["../../src/tools/cli-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,WAAW,CAAC;AAGjE,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,SAAS,CAAE,SAAQ,UAAU;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB,CAAC,MAAM,SAAS,SAAS;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,8BAA8B,CAC7C,MAAM,SAAS,SAAS,EACxB,OAAO,SAAS,OAAO,CACvB,SAAQ,wBAAwB,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,CACP,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,iCAAiC,CAAC,MAAM,SAAS,SAAS,CACzE,SAAQ,wBAAwB,CAAC,MAAM,CAAC;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,MAAM,MAAM,oBAAoB,GAC5B,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,GAClD,iCAAiC,CAAC,SAAS,CAAC,CAAC;AAEjD,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,SAAS,EAAE,OAAO,SAAS,OAAO,EAChF,UAAU,EAAE,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1D,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnD,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,SAAS,EACvD,UAAU,EAAE,iCAAiC,CAAC,MAAM,CAAC,GACpD,iCAAiC,CAAC,MAAM,CAAC,CAAC;AAK7C,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AAED,iFAAiF;AACjF,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,oBAAoB,EAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,UAAU,CAAC,CAmCrB"}
|
package/dist/tools/cli.d.ts
CHANGED
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
import type { ServiceDef, StitchLogger } from '../server/types';
|
|
2
|
+
import { type CliCommandDefinition } from './cli-command';
|
|
2
3
|
import { type ExitCodeMap } from './cli-format';
|
|
3
4
|
import { type CliWaitConfig } from './cli-wait';
|
|
4
5
|
import { type ErrorHintFn, type ToolCallHooks, type ToolLifecycle } from './execute';
|
|
6
|
+
import type { RuntimeToolDefinition } from './runtime-tool';
|
|
7
|
+
export type CliSurfaceSource<TAuth, TValue> = readonly TValue[] | ((auth: Awaited<TAuth> | undefined) => readonly TValue[]);
|
|
5
8
|
export interface CliConfig<TAuth = unknown, TContext extends Record<string, unknown> = Record<string, unknown>> {
|
|
6
9
|
/** Program name — shown in help and unknown-command messages. */
|
|
7
10
|
name: string;
|
|
8
11
|
/** Program version — printed by `--version`. */
|
|
9
12
|
version: string;
|
|
10
13
|
/** Contract services exposed as commands — may depend on the resolved identity. */
|
|
11
|
-
services
|
|
14
|
+
services?: CliSurfaceSource<TAuth, ServiceDef>;
|
|
15
|
+
/** Pathless managed operations. CLI exposure always requires `transports: ['CLI']`. */
|
|
16
|
+
runtimeTools?: CliSurfaceSource<TAuth, RuntimeToolDefinition>;
|
|
17
|
+
/** CLI-only executable commands, dispatched before auth and managed surface factories. */
|
|
18
|
+
commands?: readonly CliCommandDefinition[];
|
|
12
19
|
/**
|
|
13
20
|
* Identity for the single CLI invocation — resolved ONCE at startup (from an
|
|
14
21
|
* env var / token file), like a stdio MCP server, not per call. A value or a
|
|
15
22
|
* promise of one.
|
|
16
23
|
*/
|
|
17
24
|
auth?: TAuth | Promise<TAuth>;
|
|
25
|
+
/** Lazily resolve identity only when a managed command/surface actually needs it. */
|
|
26
|
+
resolveAuth?: () => TAuth | Promise<TAuth>;
|
|
18
27
|
/**
|
|
19
28
|
* Context merged into every handler. Typed against the app's context shape
|
|
20
29
|
* when the CLI is built via `createToolkit<AppContext>()`.
|
|
@@ -74,10 +83,6 @@ export interface CliConfig<TAuth = unknown, TContext extends Record<string, unkn
|
|
|
74
83
|
/** Read piped stdin — default reads when not a TTY; injectable for tests. */
|
|
75
84
|
stdin?: () => Promise<string | null>;
|
|
76
85
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Build and run a CLI from contract services, then exit. Parses `process.argv`
|
|
79
|
-
* (or `config.argv`), routes to a command, executes it through the shared tool
|
|
80
|
-
* pipeline and writes the result. Resolves identity once up front.
|
|
81
|
-
*/
|
|
86
|
+
/** Build and run one mixed contract/runtime/native CLI surface, then exit. */
|
|
82
87
|
export declare function createCli<TAuth = unknown, TContext extends Record<string, unknown> = Record<string, unknown>>(config: CliConfig<TAuth, TContext>): Promise<void>;
|
|
83
88
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/tools/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/tools/cli.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAsB,KAAK,WAAW,EAAc,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,YAAY,CAAC;AAC/D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAGnB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/tools/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ZodObject, z } from 'zod';
|
|
2
|
+
import { DownloadResultSchema } from './download-core';
|
|
3
|
+
import { type ManagedNativeToolConfig } from './native-definition';
|
|
4
|
+
import { type RuntimeToolDefinitionWithOutput, type RuntimeToolHandlerContext, type RuntimeToolPresenters } from './runtime-tool';
|
|
5
|
+
export interface DefineDownloadToolConfig<TInput extends ZodObject> extends ManagedNativeToolConfig {
|
|
6
|
+
input: TInput;
|
|
7
|
+
resolveUrl: (input: z.output<TInput>, context: RuntimeToolHandlerContext<TInput>) => string | null | Promise<string | null>;
|
|
8
|
+
defaultDir: string;
|
|
9
|
+
dirFromInput?: (input: z.output<TInput>) => string | undefined;
|
|
10
|
+
allowPrivateHosts?: boolean;
|
|
11
|
+
maxBytes?: number;
|
|
12
|
+
timeoutMs?: number;
|
|
13
|
+
present?: RuntimeToolPresenters<z.output<typeof DownloadResultSchema>>;
|
|
14
|
+
}
|
|
15
|
+
/** Define one guarded managed download operation. */
|
|
16
|
+
export declare function defineDownloadTool<TInput extends ZodObject>(config: DefineDownloadToolConfig<TInput>): RuntimeToolDefinitionWithOutput<TInput, typeof DownloadResultSchema>;
|
|
17
|
+
//# sourceMappingURL=define-download-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-download-tool.d.ts","sourceRoot":"","sources":["../../src/tools/define-download-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExC,OAAO,EAEL,oBAAoB,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,wBAAwB,CAAC,MAAM,SAAS,SAAS,CAChE,SAAQ,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,CACV,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EACvB,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,KACvC,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;CACxE;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,SAAS,EACzD,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC,GACvC,+BAA+B,CAAC,MAAM,EAAE,OAAO,oBAAoB,CAAC,CAgCtE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ZodType, z } from 'zod';
|
|
2
|
+
import { type ManagedNativeToolConfig } from './native-definition';
|
|
3
|
+
import { type RuntimeToolDefinitionWithOutput, type RuntimeToolHandlerContext, type RuntimeToolPresenters } from './runtime-tool';
|
|
4
|
+
export declare const UploadToolInputSchema: z.ZodObject<{
|
|
5
|
+
path: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export interface DefineUploadToolConfig<TOutput extends ZodType> extends ManagedNativeToolConfig {
|
|
8
|
+
output: TOutput;
|
|
9
|
+
upload: (path: string, context: RuntimeToolHandlerContext<typeof UploadToolInputSchema>) => z.output<TOutput> | Promise<z.output<TOutput>>;
|
|
10
|
+
present?: RuntimeToolPresenters<z.output<TOutput>>;
|
|
11
|
+
}
|
|
12
|
+
/** Define one managed local-file upload operation. */
|
|
13
|
+
export declare function defineUploadTool<TOutput extends ZodType>(config: DefineUploadToolConfig<TOutput>): RuntimeToolDefinitionWithOutput<typeof UploadToolInputSchema, TOutput>;
|
|
14
|
+
//# sourceMappingURL=define-upload-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-upload-tool.d.ts","sourceRoot":"","sources":["../../src/tools/define-upload-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,MAAM,WAAW,sBAAsB,CAAC,OAAO,SAAS,OAAO,CAC7D,SAAQ,uBAAuB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,yBAAyB,CAAC,OAAO,qBAAqB,CAAC,KAC7D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,OAAO,EACtD,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,+BAA+B,CAAC,OAAO,qBAAqB,EAAE,OAAO,CAAC,CAiBxE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import { type ManagedNativeToolConfig } from './native-definition';
|
|
3
|
+
import { type RuntimeToolDefinitionWithOutput, type RuntimeToolPresenters } from './runtime-tool';
|
|
4
|
+
import { ViewFileInputSchema, type ViewFileOptions, ViewFileOutputSchema } from './view-file';
|
|
5
|
+
export interface DefineViewFileToolConfig extends ManagedNativeToolConfig, ViewFileOptions {
|
|
6
|
+
present?: RuntimeToolPresenters<z.output<typeof ViewFileOutputSchema>>;
|
|
7
|
+
}
|
|
8
|
+
/** Define one protected managed multimodal media-inspection operation. */
|
|
9
|
+
export declare function defineViewFileTool(config: DefineViewFileToolConfig): RuntimeToolDefinitionWithOutput<typeof ViewFileInputSchema, typeof ViewFileOutputSchema>;
|
|
10
|
+
//# sourceMappingURL=define-view-file-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-view-file-tool.d.ts","sourceRoot":"","sources":["../../src/tools/define-view-file-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAIL,KAAK,+BAA+B,EACpC,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,mBAAmB,EACnB,KAAK,eAAe,EACpB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB,EAAE,eAAe;IACxF,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;CACxE;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,wBAAwB,GAC/B,+BAA+B,CAAC,OAAO,mBAAmB,EAAE,OAAO,oBAAoB,CAAC,CAwC1F"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ZodObject, ZodType, z } from 'zod';
|
|
2
|
+
import { type ManagedNativeToolConfig } from './native-definition';
|
|
3
|
+
import { type RuntimeToolDefinitionWithOutput, type RuntimeToolHandlerContext, type RuntimeToolPresenters } from './runtime-tool';
|
|
4
|
+
export interface ManagedWaitRender {
|
|
5
|
+
text: string;
|
|
6
|
+
isError: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface DefineWaitToolConfig<TInput extends ZodObject, TState extends ZodType> extends ManagedNativeToolConfig {
|
|
9
|
+
input: TInput;
|
|
10
|
+
state: TState;
|
|
11
|
+
poll: (input: z.output<TInput>, context: RuntimeToolHandlerContext<TInput>) => z.input<TState> | Promise<z.input<TState>>;
|
|
12
|
+
done: (state: z.output<TState>) => boolean;
|
|
13
|
+
timeoutFromInput?: (input: z.output<TInput>) => number | undefined;
|
|
14
|
+
backoff?: number[];
|
|
15
|
+
defaultTimeout?: number;
|
|
16
|
+
/** Optional pure MCP renderer; `isError` also classifies terminal domain failure. */
|
|
17
|
+
render?: (state: z.output<TState>, timedOut: boolean) => ManagedWaitRender;
|
|
18
|
+
present?: RuntimeToolPresenters<z.output<TState>>;
|
|
19
|
+
}
|
|
20
|
+
/** Define one managed wait operation for `runtimeTools` and/or Agent tools. */
|
|
21
|
+
export declare function defineWaitTool<TInput extends ZodObject, TState extends ZodType>(config: DefineWaitToolConfig<TInput, TState>): RuntimeToolDefinitionWithOutput<TInput, TState>;
|
|
22
|
+
//# sourceMappingURL=define-wait-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-wait-tool.d.ts","sourceRoot":"","sources":["../../src/tools/define-wait-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAEjD,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,SAAS,OAAO,CACpF,SAAQ,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CACJ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EACvB,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,KACvC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACnE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,KAAK,iBAAiB,CAAC;IAC3E,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;CACnD;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,SAAS,OAAO,EAC7E,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3C,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,CAmDjD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Stable neutral result shared by raw MCP and managed runtime downloads. */
|
|
3
|
+
export declare const DownloadResultSchema: z.ZodObject<{
|
|
4
|
+
path: z.ZodString;
|
|
5
|
+
size: z.ZodNumber;
|
|
6
|
+
mimeType: z.ZodString;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export type DownloadResult = z.infer<typeof DownloadResultSchema>;
|
|
9
|
+
/** Expected, caller-safe download failure; unexpected runtime errors still throw raw. */
|
|
10
|
+
export declare class DownloadOperationError extends Error {
|
|
11
|
+
readonly code: 'DOWNLOAD_HTTP_ERROR' | 'DOWNLOAD_TOO_LARGE';
|
|
12
|
+
readonly status: number;
|
|
13
|
+
constructor(code: 'DOWNLOAD_HTTP_ERROR' | 'DOWNLOAD_TOO_LARGE', message: string, status: number);
|
|
14
|
+
}
|
|
15
|
+
export interface DownloadOperationConfig {
|
|
16
|
+
url: string;
|
|
17
|
+
dir: string;
|
|
18
|
+
allowPrivateHosts?: boolean;
|
|
19
|
+
maxBytes?: number;
|
|
20
|
+
timeoutMs?: number;
|
|
21
|
+
signal?: AbortSignal;
|
|
22
|
+
}
|
|
23
|
+
/** Fetch and persist one URL without owning tool registration or presentation. */
|
|
24
|
+
export declare function runDownloadOperation(config: DownloadOperationConfig): Promise<DownloadResult>;
|
|
25
|
+
//# sourceMappingURL=download-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download-core.d.ts","sourceRoot":"","sources":["../../src/tools/download-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,yFAAyF;AACzF,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,IAAI,EAAE,qBAAqB,GAAG,oBAAoB;aAElD,MAAM,EAAE,MAAM;IAHhC,YACkB,IAAI,EAAE,qBAAqB,GAAG,oBAAoB,EAClE,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAI/B;CACF;AAwBD,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAsCzB"}
|
package/dist/tools/execute.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ZodType, z } from 'zod';
|
|
2
|
-
import { AppError, type RuntimeContext, type TransportSource } from '../contract';
|
|
2
|
+
import { AppError, type McpCallContext, type RuntimeContext, type TransportSource } from '../contract';
|
|
3
3
|
import type { OperationIdentity } from '../server/types';
|
|
4
4
|
export type ToolResult = {
|
|
5
5
|
ok: true;
|
|
@@ -15,6 +15,8 @@ type ToolFailure = Extract<ToolResult, {
|
|
|
15
15
|
}>;
|
|
16
16
|
export interface ToolCallContext {
|
|
17
17
|
source: TransportSource;
|
|
18
|
+
/** Validated metadata for an MCP call; absent on every other transport. */
|
|
19
|
+
mcp?: McpCallContext;
|
|
18
20
|
[key: string]: unknown;
|
|
19
21
|
}
|
|
20
22
|
export interface BeforeToolCallOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,6 @@ export interface McpRoundState {
|
|
|
16
16
|
round: number;
|
|
17
17
|
accepted: Record<string, unknown>;
|
|
18
18
|
}
|
|
19
|
-
export type McpRoundOutcome = 'input_required' | 'declined' | 'cancelled' | 'invalid' | 'complete';
|
|
20
19
|
export interface McpRoundRuntime {
|
|
21
20
|
codec: RequestStateCodec<McpRoundState>;
|
|
22
21
|
maxRounds: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-round.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-round.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EAIxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"mcp-round.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-round.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EAIxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,UAAU,GAAG,CAChB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,cAAc,GAAG,mBAAmB,CAAA;CAAE,CAAC;AAsHzE,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD,IAAI,CA6BN;AAsBD,qFAAqF;AACrF,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,cAAc,CAAC;CACvD,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmK9B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ProcessSignalName, SignalSource } from '../server/process-signals';
|
|
2
|
+
import type { McpStdioHandle } from './mcp-stdio';
|
|
3
|
+
export type StdioProcessSignalsErrorPhase = 'prepare' | 'close' | 'complete';
|
|
4
|
+
export interface StdioProcessSignalsOptions {
|
|
5
|
+
/** Defaults to `['SIGINT', 'SIGTERM']`; duplicates are ignored. */
|
|
6
|
+
signals?: readonly ProcessSignalName[];
|
|
7
|
+
signalSource?: SignalSource;
|
|
8
|
+
/** Runs before the transport closes. Failure is reported and close still runs. */
|
|
9
|
+
onClose?: (signal: ProcessSignalName) => void | Promise<void>;
|
|
10
|
+
/** Runs after the official stdio handle has closed. */
|
|
11
|
+
onComplete?: () => void | Promise<void>;
|
|
12
|
+
onError?: (phase: StdioProcessSignalsErrorPhase, error: unknown) => void;
|
|
13
|
+
/** A later signal cannot force stdio close, so it always means escalation. */
|
|
14
|
+
onRepeatedSignal?: (signal: ProcessSignalName) => void;
|
|
15
|
+
/** Called when another listener prevents restoration of the default disposition. */
|
|
16
|
+
onEscalationBlocked?: (signal: ProcessSignalName) => void;
|
|
17
|
+
}
|
|
18
|
+
export interface StdioProcessSignalsBinding {
|
|
19
|
+
/** Resolves after close, or `undefined` when an idle binding is removed. */
|
|
20
|
+
readonly promise: Promise<void>;
|
|
21
|
+
/** Remove listeners. Idempotent; does not cancel an already-running close. */
|
|
22
|
+
close(): void;
|
|
23
|
+
}
|
|
24
|
+
export type StdioCloseTarget = Pick<McpStdioHandle, 'close'>;
|
|
25
|
+
/**
|
|
26
|
+
* Bind process signals to one close-only stdio MCP handle.
|
|
27
|
+
*
|
|
28
|
+
* Unlike managed HTTP shutdown, stdio exposes no deadline or force method. A
|
|
29
|
+
* later signal therefore removes this binding and restores the signal's default
|
|
30
|
+
* disposition instead of pretending an AbortSignal can affect `close()`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function bindStdioProcessSignals(handle: StdioCloseTarget, options?: StdioProcessSignalsOptions): StdioProcessSignalsBinding;
|
|
33
|
+
//# sourceMappingURL=mcp-stdio-signals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-stdio-signals.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-stdio-signals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,6BAA6B,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7E,MAAM,WAAW,0BAA0B;IACzC,mEAAmE;IACnE,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACvD,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,0BAA0B;IACzC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,8EAA8E;IAC9E,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAI7D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,0BAA+B,GACvC,0BAA0B,CAkG5B"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mountDownload` — a generic native MCP tool that saves a result URL to the
|
|
3
|
+
* local filesystem. The app injects how to resolve the URL from the call's
|
|
4
|
+
* args; the fetch / extension / write mechanics live here. → ADR 0019.
|
|
5
|
+
*/
|
|
1
6
|
import type { McpServer } from '@modelcontextprotocol/server';
|
|
2
7
|
import { z } from 'zod';
|
|
3
8
|
export interface DownloadToolConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount-download.d.ts","sourceRoot":"","sources":["../../src/tools/mount-download.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mount-download.d.ts","sourceRoot":"","sources":["../../src/tools/mount-download.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,kFAAkF;IAClF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACtF,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACpE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAiCjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount-upload.d.ts","sourceRoot":"","sources":["../../src/tools/mount-upload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"mount-upload.d.ts","sourceRoot":"","sources":["../../src/tools/mount-upload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAO9D,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA6B7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount-wait.d.ts","sourceRoot":"","sources":["../../src/tools/mount-wait.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,mEAAmE;IACnE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,yCAAyC;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAClC,uDAAuD;IACvD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CACpF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"mount-wait.d.ts","sourceRoot":"","sources":["../../src/tools/mount-wait.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,mEAAmE;IACnE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,yCAAyC;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAClC,uDAAuD;IACvD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CACpF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAgCzE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { EndpointToolAnnotations } from '../contract';
|
|
2
|
+
import type { RuntimeToolIdentity, RuntimeToolTransport } from './runtime-tool';
|
|
3
|
+
/** Pathless operation identity fields whose semantic method is owned by the factory. */
|
|
4
|
+
export type NativeToolIdentity = Pick<RuntimeToolIdentity, 'serviceName' | 'action' | 'scope' | 'meta'>;
|
|
5
|
+
/** Shared declaration fields for framework-managed generic native operations. */
|
|
6
|
+
export interface ManagedNativeToolConfig {
|
|
7
|
+
name?: string;
|
|
8
|
+
description: string;
|
|
9
|
+
identity: NativeToolIdentity;
|
|
10
|
+
/** Default: MCP and AGENT. CLI is always explicit opt-in. */
|
|
11
|
+
transports?: readonly RuntimeToolTransport[];
|
|
12
|
+
annotations?: EndpointToolAnnotations;
|
|
13
|
+
}
|
|
14
|
+
export declare function managedNativeIdentity(identity: NativeToolIdentity, method: RuntimeToolIdentity['method']): RuntimeToolIdentity;
|
|
15
|
+
//# sourceMappingURL=native-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-definition.d.ts","sourceRoot":"","sources":["../../src/tools/native-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEhF,wFAAwF;AACxF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,mBAAmB,EACnB,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAC5C,CAAC;AAEF,iFAAiF;AACjF,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GACpC,mBAAmB,CAErB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { CallToolResult } from '@modelcontextprotocol/server';
|
|
2
2
|
import type { Tool } from 'ai';
|
|
3
3
|
import type { ZodObject, ZodType, z } from 'zod';
|
|
4
|
-
import type { EndpointMcpPolicy, EndpointToolAnnotations, EndpointUiMeta, HttpMethod, RuntimeContext } from '../contract';
|
|
4
|
+
import type { EndpointMcpPolicy, EndpointToolAnnotations, EndpointUiMeta, HttpMethod, McpCallContext, RuntimeContext } from '../contract';
|
|
5
5
|
import type { OperationIdentity } from '../server/types';
|
|
6
6
|
import type { MountableTool } from './mount';
|
|
7
|
-
export type RuntimeToolTransport = 'MCP' | 'AGENT';
|
|
7
|
+
export type RuntimeToolTransport = 'MCP' | 'AGENT' | 'CLI';
|
|
8
8
|
export interface RuntimeToolIdentity {
|
|
9
9
|
serviceName: string;
|
|
10
10
|
action: string;
|
|
@@ -24,9 +24,10 @@ export type RuntimeToolHandlerContext<TInput extends ZodObject, TMcp extends End
|
|
|
24
24
|
} & RuntimeMcpInput<TMcp>;
|
|
25
25
|
export type RuntimeToolOutput<TOutput extends ZodType | undefined> = TOutput extends ZodType ? z.output<TOutput> : undefined;
|
|
26
26
|
/** Parsed application context plus the canonical runtime-tool input fields. */
|
|
27
|
-
export type RuntimeToolFactoryHandlerContext<TContext extends ZodObject, TInput extends ZodObject, TMcp extends EndpointMcpPolicy | undefined = undefined> = Omit<z.output<TContext>, 'input' | 'params'> & {
|
|
27
|
+
export type RuntimeToolFactoryHandlerContext<TContext extends ZodObject, TInput extends ZodObject, TMcp extends EndpointMcpPolicy | undefined = undefined> = Omit<RuntimeContext, 'input' | 'params' | 'mcp'> & Omit<z.output<TContext>, 'input' | 'params' | 'mcp'> & {
|
|
28
28
|
params: undefined;
|
|
29
29
|
input: z.output<TInput>;
|
|
30
|
+
mcp?: McpCallContext;
|
|
30
31
|
} & RuntimeMcpInput<TMcp>;
|
|
31
32
|
/** MCP-owned fields; validation and error state are always supplied by Stitchkit. */
|
|
32
33
|
export type RuntimeMcpPresentation = Omit<CallToolResult, 'structuredContent' | 'isError'> & {
|
|
@@ -43,7 +44,7 @@ export interface RuntimeToolDefinitionBase<TInput extends ZodObject, TMcp extend
|
|
|
43
44
|
description: string;
|
|
44
45
|
identity: RuntimeToolIdentity;
|
|
45
46
|
input: TInput;
|
|
46
|
-
/** Default:
|
|
47
|
+
/** Default: MCP and AGENT. CLI is always explicit opt-in. */
|
|
47
48
|
transports?: readonly RuntimeToolTransport[];
|
|
48
49
|
annotations?: EndpointToolAnnotations;
|
|
49
50
|
ui?: EndpointUiMeta;
|