stitchkit 0.49.2 → 0.51.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.js +3 -3
- package/dist/contract/errors-factory.d.ts +27 -6
- package/dist/contract/errors-factory.d.ts.map +1 -1
- package/dist/contract/factory.d.ts +15 -2
- package/dist/contract/factory.d.ts.map +1 -1
- package/dist/contract/index.d.ts +1 -1
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +1 -1
- package/dist/{index-z992nfbx.js → index-8mt47qk7.js} +127 -123
- package/dist/{index-jewp9r0a.js → index-8qghvg18.js} +1 -1
- package/dist/{index-h05ygjqx.js → index-bmnhqtya.js} +4 -1
- package/dist/{index-p9d4cxt5.js → index-gff2mxzk.js} +1 -1
- package/dist/{index-0hj37z43.js → index-h55e1wyq.js} +2 -2
- package/dist/{index-v58mwa19.js → index-psrxjvbw.js} +2 -2
- package/dist/{index-45dz4m51.js → index-trz4ate5.js} +6 -2
- package/dist/{index-03j2t778.js → index-tw7mhqgy.js} +15 -4
- package/dist/index-ynts85ew.js +246 -0
- package/dist/index.js +1 -1
- package/dist/node.d.ts +3 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +15 -6
- package/dist/observability/index.js +3 -3
- package/dist/server/implement.d.ts +101 -8
- package/dist/server/implement.d.ts.map +1 -1
- package/dist/server/index.d.ts +4 -3
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +19 -11
- package/dist/server/middleware/auth.d.ts +63 -3
- package/dist/server/middleware/auth.d.ts.map +1 -1
- package/dist/server/process-signals.d.ts +117 -0
- package/dist/server/process-signals.d.ts.map +1 -0
- package/dist/server/types.d.ts +38 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/testing.js +2 -2
- package/dist/tools/list-names.d.ts +13 -1
- package/dist/tools/list-names.d.ts.map +1 -1
- package/dist/tools.d.ts +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +13 -8
- package/llms-full.txt +404 -39
- package/package.json +1 -1
- package/dist/index-r1qp4rve.js +0 -57
package/dist/server/index.js
CHANGED
|
@@ -3,20 +3,16 @@ import {
|
|
|
3
3
|
ShutdownResultSchema,
|
|
4
4
|
ShutdownStateSchema,
|
|
5
5
|
ShutdownStatusSchema,
|
|
6
|
+
bindProcessSignals,
|
|
6
7
|
bindRealtimeServer,
|
|
7
8
|
composeWebSocketHandlers,
|
|
8
9
|
createHandler,
|
|
9
|
-
createImplement,
|
|
10
|
-
createImplementRegistry,
|
|
11
10
|
createServerLifecycle,
|
|
12
11
|
createSocketIOServer,
|
|
13
|
-
defineMultipartStream,
|
|
14
|
-
implement,
|
|
15
|
-
implementRegistry,
|
|
16
12
|
parseMultipart,
|
|
17
13
|
socketIoLane,
|
|
18
14
|
webSocketLane
|
|
19
|
-
} from "../index-
|
|
15
|
+
} from "../index-8mt47qk7.js";
|
|
20
16
|
import {
|
|
21
17
|
createAuthHook,
|
|
22
18
|
createBearerResolver,
|
|
@@ -28,13 +24,21 @@ import {
|
|
|
28
24
|
signJwt,
|
|
29
25
|
verifyJwt,
|
|
30
26
|
verifyPkce
|
|
31
|
-
} from "../index-
|
|
27
|
+
} from "../index-tw7mhqgy.js";
|
|
32
28
|
import {
|
|
33
29
|
DEFAULT_CORS_ALLOW_HEADERS,
|
|
34
30
|
DEFAULT_CORS_EXPOSE_HEADERS,
|
|
35
31
|
corsHeaders,
|
|
36
|
-
corsPreflightResponse
|
|
37
|
-
|
|
32
|
+
corsPreflightResponse,
|
|
33
|
+
createImplement,
|
|
34
|
+
createImplementRegistry,
|
|
35
|
+
createMultipartStream,
|
|
36
|
+
createScopedImplement,
|
|
37
|
+
createScopedImplementRegistry,
|
|
38
|
+
defineMultipartStream,
|
|
39
|
+
implement,
|
|
40
|
+
implementRegistry
|
|
41
|
+
} from "../index-ynts85ew.js";
|
|
38
42
|
import {
|
|
39
43
|
isWithinDir,
|
|
40
44
|
jsonSchemaFields,
|
|
@@ -65,11 +69,11 @@ import {
|
|
|
65
69
|
resolveTraceId,
|
|
66
70
|
unauthorized,
|
|
67
71
|
zodIssues
|
|
68
|
-
} from "../index-
|
|
72
|
+
} from "../index-8qghvg18.js";
|
|
69
73
|
import {
|
|
70
74
|
isRecord,
|
|
71
75
|
parseTrailingWildcard
|
|
72
|
-
} from "../index-
|
|
76
|
+
} from "../index-bmnhqtya.js";
|
|
73
77
|
// src/server/bun.ts
|
|
74
78
|
function createServer(config) {
|
|
75
79
|
const {
|
|
@@ -943,7 +947,10 @@ export {
|
|
|
943
947
|
defineCookie,
|
|
944
948
|
createSocketIOServer,
|
|
945
949
|
createServer,
|
|
950
|
+
createScopedImplementRegistry,
|
|
951
|
+
createScopedImplement,
|
|
946
952
|
createRateLimiter,
|
|
953
|
+
createMultipartStream,
|
|
947
954
|
createImplementRegistry,
|
|
948
955
|
createImplement,
|
|
949
956
|
createHandler,
|
|
@@ -958,6 +965,7 @@ export {
|
|
|
958
965
|
composeWebSocketHandlers,
|
|
959
966
|
cacheHeaders,
|
|
960
967
|
bindRealtimeServer,
|
|
968
|
+
bindProcessSignals,
|
|
961
969
|
badRequest,
|
|
962
970
|
appError,
|
|
963
971
|
ShutdownStatusSchema,
|
|
@@ -40,7 +40,48 @@ export declare function extractToken(req: Request, cookieName?: string): string
|
|
|
40
40
|
* async — resource-scoped checks usually need a DB lookup.
|
|
41
41
|
*/
|
|
42
42
|
export type AuthRule<TIdentity> = 'public' | 'authenticated' | ((identity: Awaited<TIdentity>, ctx: RuntimeContext) => boolean | Promise<boolean>);
|
|
43
|
-
|
|
43
|
+
/**
|
|
44
|
+
* A rule that also DECLARES this scope's contribution to the handler context —
|
|
45
|
+
* by doing it. `inject` runs whenever an identity resolved (on `'public'` too:
|
|
46
|
+
* that rule admits the anonymous, it does not refuse to know the logged-in),
|
|
47
|
+
* and its returned fields are merged into the context.
|
|
48
|
+
*
|
|
49
|
+
* The return type is the point: {@link AuthScopes} derives the scope→context
|
|
50
|
+
* map from it, so `createScopedImplement<AuthScopes<typeof hook>>()` types
|
|
51
|
+
* handlers from the same declaration that fills the context. One source of
|
|
52
|
+
* truth instead of a hand-written map drifting beside the hook. → ADR 0078
|
|
53
|
+
*
|
|
54
|
+
* `inject` must be **synchronous** — the type forbids a thenable and the
|
|
55
|
+
* runtime throws on one, because `Object.assign(ctx, promise)` would merge
|
|
56
|
+
* nothing, silently. It also runs before the rule check (and so for an
|
|
57
|
+
* identity the rule may still reject), so keep it pure: derive fields, cause
|
|
58
|
+
* nothing.
|
|
59
|
+
*/
|
|
60
|
+
export interface ScopedAuthRule<TIdentity, TFields extends object = object> {
|
|
61
|
+
rule: AuthRule<TIdentity>;
|
|
62
|
+
/** Fields this scope guarantees. Runs after the shared `inject`, only with an identity. */
|
|
63
|
+
inject?: (identity: Awaited<TIdentity>, ctx: RuntimeContext) => TFields & {
|
|
64
|
+
then?: never;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** The `rules` map: a bare rule, or a rule carrying its context contribution. */
|
|
68
|
+
export type AuthRules<TIdentity> = Record<string, AuthRule<TIdentity> | ScopedAuthRule<TIdentity, object>>;
|
|
69
|
+
/**
|
|
70
|
+
* The scope→context map derived from a `rules` object. A rule whose TYPE can
|
|
71
|
+
* be `'public'` yields optional fields — public still resolves and injects for
|
|
72
|
+
* a logged-in caller, it just never rejects the anonymous one — so its
|
|
73
|
+
* handlers see `field?: T`, not a promise the runtime may break. The test is
|
|
74
|
+
* membership, not the exact literal: a union such as
|
|
75
|
+
* `flag ? 'public' : 'authenticated'` may skip the inject at runtime, so its
|
|
76
|
+
* fields must be optional too.
|
|
77
|
+
*/
|
|
78
|
+
export type RuleScopes<TRules> = {
|
|
79
|
+
[K in keyof TRules & string]: TRules[K] extends {
|
|
80
|
+
rule: infer TRule;
|
|
81
|
+
inject: (...args: never[]) => infer TFields extends object;
|
|
82
|
+
} ? 'public' extends Extract<TRule, string> ? Partial<TFields> : TFields : object;
|
|
83
|
+
};
|
|
84
|
+
export interface AuthHookConfig<TIdentity, TRules extends AuthRules<TIdentity> = AuthRules<TIdentity>> {
|
|
44
85
|
/** Resolve the request identity — cookie / bearer + DB lookup. */
|
|
45
86
|
resolve: (ctx: RuntimeContext) => Promise<TIdentity | null>;
|
|
46
87
|
/**
|
|
@@ -52,7 +93,7 @@ export interface AuthHookConfig<TIdentity> {
|
|
|
52
93
|
*/
|
|
53
94
|
resolveFromContext?: (ctx: RuntimeContext) => TIdentity | null | Promise<TIdentity | null>;
|
|
54
95
|
/** Access rule per scope; `endpoint.scope` is the key. */
|
|
55
|
-
rules:
|
|
96
|
+
rules: TRules;
|
|
56
97
|
/** Scope applied when an endpoint declares none. */
|
|
57
98
|
defaultScope?: string;
|
|
58
99
|
/** Write the resolved identity onto the context for handlers. */
|
|
@@ -66,6 +107,25 @@ export interface AuthHook {
|
|
|
66
107
|
(ctx: AuthorizationContext, endpoint: OperationIdentity): Promise<void>;
|
|
67
108
|
(ctx: RuntimeContext, endpoint: OperationIdentity): Promise<void>;
|
|
68
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* An auth hook that carries its derived scope→context map at the type level.
|
|
112
|
+
* The marker property never exists at runtime; it only lets {@link AuthScopes}
|
|
113
|
+
* recover the map.
|
|
114
|
+
*/
|
|
115
|
+
export interface ScopedAuthHook<TScopes extends Record<string, object>> extends AuthHook {
|
|
116
|
+
/** Type-only carrier for {@link AuthScopes}; never present at runtime. */
|
|
117
|
+
readonly '~scopes'?: TScopes;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The scope→context map a hook derived from its rules — feed it straight to
|
|
121
|
+
* `createScopedImplement`:
|
|
122
|
+
*
|
|
123
|
+
* ```ts
|
|
124
|
+
* const hook = createAuthHook({ resolve, rules })
|
|
125
|
+
* export const implementFor = createScopedImplement<AuthScopes<typeof hook>>()
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export type AuthScopes<THook extends ScopedAuthHook<Record<string, object>>> = THook extends ScopedAuthHook<infer TScopes> ? TScopes : never;
|
|
69
129
|
/**
|
|
70
130
|
* Build a scope authorization hook.
|
|
71
131
|
*
|
|
@@ -79,7 +139,7 @@ export interface AuthHook {
|
|
|
79
139
|
* `req` — it uses `resolveFromContext`. If `resolveFromContext` is omitted, a
|
|
80
140
|
* scoped tool call has no identity and **fails closed** (never silently passes).
|
|
81
141
|
*/
|
|
82
|
-
export declare function createAuthHook<TIdentity>(config: AuthHookConfig<TIdentity>):
|
|
142
|
+
export declare function createAuthHook<TIdentity, const TRules extends AuthRules<TIdentity> = AuthRules<TIdentity>>(config: AuthHookConfig<TIdentity, TRules>): ScopedAuthHook<RuleScopes<TRules>>;
|
|
83
143
|
/**
|
|
84
144
|
* Bearer-token identity resolver — the MCP / API-key counterpart of the
|
|
85
145
|
* cookie session hook. Strips `Authorization: Bearer <token>` and hands the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGxE,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,8BAA8B;AAC9B,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,CAgErB;AAED,4BAA4B;AAC5B,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU7E;AAUD;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,CAAC,SAAS,IAC1B,QAAQ,GACR,eAAe,GACf,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAExF,MAAM,WAAW,cAAc,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bind process signals to one managed server's shutdown.
|
|
3
|
+
*
|
|
4
|
+
* The framework still registers no listener on its own (→ ADR 0074): binding is
|
|
5
|
+
* an explicit call the application makes, and `close()` takes it back. What this
|
|
6
|
+
* removes is the state machine every application otherwise rewrites — and the
|
|
7
|
+
* states hand-written versions miss: a signal arriving while asynchronous
|
|
8
|
+
* preparation runs, a failing preparation, a rejected shutdown, a callback that
|
|
9
|
+
* throws, and a third signal on a process whose default disposition the first
|
|
10
|
+
* `process.on` already suppressed. → ADR 0076
|
|
11
|
+
*/
|
|
12
|
+
import type { ManagedServerHandle, ShutdownOptions, ShutdownResult } from './shutdown';
|
|
13
|
+
/**
|
|
14
|
+
* Signal names this binding can listen for.
|
|
15
|
+
*
|
|
16
|
+
* Spelled out rather than reusing `NodeJS.Signals`: that namespace comes from
|
|
17
|
+
* `@types/node`, which a browser-safe consumer of the published declarations
|
|
18
|
+
* does not install — the consumer lane rejects an unresolvable name in the
|
|
19
|
+
* shipped `.d.ts`. The set covers the termination signals a supervisor sends;
|
|
20
|
+
* `SIGBREAK` is the Windows console equivalent of `SIGINT`, and Node on Windows
|
|
21
|
+
* cannot listen for `SIGTERM` at all.
|
|
22
|
+
*/
|
|
23
|
+
export type ProcessSignalName = 'SIGINT' | 'SIGTERM' | 'SIGHUP' | 'SIGQUIT' | 'SIGUSR2' | 'SIGBREAK';
|
|
24
|
+
/** The part of a managed handle this binding uses. */
|
|
25
|
+
export type ShutdownTarget = Pick<ManagedServerHandle<unknown>, 'shutdown'>;
|
|
26
|
+
/** Which phase failed, so one `onError` can tell them apart. */
|
|
27
|
+
export type ProcessSignalsErrorPhase = 'prepare' | 'shutdown' | 'complete';
|
|
28
|
+
/**
|
|
29
|
+
* Where signals come from. `process` by default; a test passes its own so the
|
|
30
|
+
* machine can be exercised without touching global state.
|
|
31
|
+
*/
|
|
32
|
+
export interface SignalSource {
|
|
33
|
+
on(signal: ProcessSignalName, handler: () => void): void;
|
|
34
|
+
off(signal: ProcessSignalName, handler: () => void): void;
|
|
35
|
+
/**
|
|
36
|
+
* Re-deliver the signal after this binding removed its own listeners, so the
|
|
37
|
+
* process meets the signal's default disposition. Called only for an
|
|
38
|
+
* escalation signal — one arriving when the shutdown is already forced or
|
|
39
|
+
* finished, i.e. the operator asking for the process to die now.
|
|
40
|
+
*
|
|
41
|
+
* Returns `false` when the default could not be restored because something
|
|
42
|
+
* else in the process still listens for that signal.
|
|
43
|
+
*/
|
|
44
|
+
raiseDefault(signal: ProcessSignalName): boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface ProcessSignalsOptions {
|
|
47
|
+
/**
|
|
48
|
+
* Defaults to `['SIGINT', 'SIGTERM']`. Duplicates are ignored. Node on Windows
|
|
49
|
+
* cannot listen for `SIGTERM`.
|
|
50
|
+
*/
|
|
51
|
+
signals?: readonly ProcessSignalName[];
|
|
52
|
+
/**
|
|
53
|
+
* Budgets forwarded to `shutdown()`. `signal` is owned by this binding — it is
|
|
54
|
+
* how a second signal forces the running chain — so it cannot be supplied
|
|
55
|
+
* here. The type rejects it; at runtime the schema strips an extra key.
|
|
56
|
+
*/
|
|
57
|
+
shutdown?: Omit<ShutdownOptions, 'signal'>;
|
|
58
|
+
signalSource?: SignalSource;
|
|
59
|
+
/**
|
|
60
|
+
* Runs before `shutdown()`, on the first signal. Stop schedulers and workers
|
|
61
|
+
* here. The server is still accepting requests during this phase — the
|
|
62
|
+
* admission gate closes when `shutdown()` starts — so keep it short, or do the
|
|
63
|
+
* work in `onComplete` instead.
|
|
64
|
+
*
|
|
65
|
+
* If it throws, the error is reported through `onError('prepare', …)` and the
|
|
66
|
+
* shutdown **still runs**: a failed preparation must not leave the server
|
|
67
|
+
* listening with nobody draining it.
|
|
68
|
+
*/
|
|
69
|
+
onShutdown?: (signal: ProcessSignalName) => void | Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Runs after a successful shutdown. Close the database and set an exit code
|
|
72
|
+
* here. If it throws, `promise` stays resolved — the transport really did shut
|
|
73
|
+
* down — and the failure is reported through `onError('complete', …)`.
|
|
74
|
+
*/
|
|
75
|
+
onComplete?: (result: ShutdownResult) => void | Promise<void>;
|
|
76
|
+
/** Reports any phase failure, with the phase that produced it. */
|
|
77
|
+
onError?: (phase: ProcessSignalsErrorPhase, error: unknown) => void;
|
|
78
|
+
/** Runs for every counted signal after the first: one forces, later ones escalate. */
|
|
79
|
+
onRepeatedSignal?: (signal: ProcessSignalName, phase: 'force' | 'escalate') => void;
|
|
80
|
+
/**
|
|
81
|
+
* Runs when an escalation signal could not restore the default disposition
|
|
82
|
+
* because another listener in the process still handles it. The framework will
|
|
83
|
+
* not call `process.exit` on its own; this is where an application decides
|
|
84
|
+
* whether to.
|
|
85
|
+
*/
|
|
86
|
+
onEscalationBlocked?: (signal: ProcessSignalName) => void;
|
|
87
|
+
}
|
|
88
|
+
export interface ProcessSignalsBinding {
|
|
89
|
+
/**
|
|
90
|
+
* Resolves with the shutdown result, or with `undefined` when the binding was
|
|
91
|
+
* closed before any signal arrived. Rejects only when the shutdown itself
|
|
92
|
+
* failed. Already handled internally, so ignoring it never raises
|
|
93
|
+
* `unhandledRejection`.
|
|
94
|
+
*/
|
|
95
|
+
readonly promise: Promise<ShutdownResult | undefined>;
|
|
96
|
+
/** Remove the listeners. Idempotent. */
|
|
97
|
+
close(): void;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Bind `signals` to `handle.shutdown()`.
|
|
101
|
+
*
|
|
102
|
+
* - The first signal runs `onShutdown`, then one `shutdown()`.
|
|
103
|
+
* - A later signal aborts that chain's signal, forcing it — the same chain,
|
|
104
|
+
* never a second one. Signals delivered in the same turn as the first (a
|
|
105
|
+
* supervisor sending `SIGINT` and `SIGTERM` together) are not that second
|
|
106
|
+
* press, so the declared grace period is not collapsed to zero.
|
|
107
|
+
* - Any signal after the force, or one arriving while `onComplete` still runs,
|
|
108
|
+
* removes the listeners and re-delivers the signal so its default disposition
|
|
109
|
+
* applies. That works only while nothing else in the process listens for it;
|
|
110
|
+
* otherwise `onEscalationBlocked` fires.
|
|
111
|
+
*
|
|
112
|
+
* The framework never calls `process.exit` and never chooses an exit code — that
|
|
113
|
+
* is supervisor policy (→ ADR 0074). Set `process.exitCode` in `onComplete` /
|
|
114
|
+
* `onError`.
|
|
115
|
+
*/
|
|
116
|
+
export declare function bindProcessSignals(handle: ShutdownTarget, options?: ProcessSignalsOptions): ProcessSignalsBinding;
|
|
117
|
+
//# sourceMappingURL=process-signals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-signals.d.ts","sourceRoot":"","sources":["../../src/server/process-signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,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;AAuDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,qBAA0B,GAClC,qBAAqB,CA8HvB"}
|
package/dist/server/types.d.ts
CHANGED
|
@@ -69,6 +69,44 @@ export type Handlers<C extends Record<string, EndpointDef>, TCtx extends Runtime
|
|
|
69
69
|
};
|
|
70
70
|
} ? StreamingMultipartImplementation : (ctx: EndpointHandlerContext<C[K], TCtx>) => HandlerReturn<C[K]>;
|
|
71
71
|
};
|
|
72
|
+
/**
|
|
73
|
+
* The scope a single endpoint actually runs under — its own `scope` when it
|
|
74
|
+
* declares one, otherwise the contract's group scope. Mirrors the runtime
|
|
75
|
+
* resolution in `bindContract` (`endpoint.scope ?? groupScope`).
|
|
76
|
+
*
|
|
77
|
+
* The test is on the KEY, not on the property being required: an endpoint built
|
|
78
|
+
* with a conditional spread has `scope?: 'public'`, meaning it may or may not
|
|
79
|
+
* carry that scope at runtime. Such an endpoint resolves to BOTH scopes, so its
|
|
80
|
+
* handler is typed against what the two guarantee in common — never against the
|
|
81
|
+
* group scope alone, which is what a required-property test would silently do.
|
|
82
|
+
*
|
|
83
|
+
* An endpoint that widens `scope` to `string` (a hoisted variable, an
|
|
84
|
+
* `EndpointDef` annotation) is no key of any scope map, so `ScopedHandlers`
|
|
85
|
+
* reports it instead of falling back.
|
|
86
|
+
*/
|
|
87
|
+
export type EffectiveScope<E extends EndpointDef, TContractScope extends string> = 'scope' extends keyof E ? Extract<E['scope'], string> | (undefined extends E['scope'] ? TContractScope : never) : TContractScope;
|
|
88
|
+
/** A scope map: each scope key to the extra context fields it guarantees. */
|
|
89
|
+
export type ScopeContexts = Record<string, object>;
|
|
90
|
+
/**
|
|
91
|
+
* Handlers typed per endpoint by that endpoint's effective scope, instead of one
|
|
92
|
+
* superset context for the whole contract.
|
|
93
|
+
*
|
|
94
|
+
* The guard (`extends keyof TScopes ? … : …`) is load-bearing twice: it keeps
|
|
95
|
+
* `TScopes[…]` a legal index inside the library, and it puts the failure in the
|
|
96
|
+
* handler map's VALUE position, so TypeScript reports
|
|
97
|
+
* `Types of property "x" are incompatible` against a message that names the
|
|
98
|
+
* offending scope — not `not assignable to type never`.
|
|
99
|
+
*
|
|
100
|
+
* Streaming multipart endpoints keep today's shape: `defineMultipartStream`
|
|
101
|
+
* pins its own context, so scope fields do not reach them here either.
|
|
102
|
+
*/
|
|
103
|
+
export type ScopedHandlers<C extends Record<string, EndpointDef>, TContractScope extends string, TScopes extends ScopeContexts> = {
|
|
104
|
+
[K in keyof C]: C[K] extends {
|
|
105
|
+
multipart: {
|
|
106
|
+
delivery: 'stream';
|
|
107
|
+
};
|
|
108
|
+
} ? StreamingMultipartImplementation : EffectiveScope<C[K], TContractScope> extends keyof TScopes ? (ctx: EndpointHandlerContext<C[K], RuntimeContext & TScopes[EffectiveScope<C[K], TContractScope> & keyof TScopes]>) => HandlerReturn<C[K]> : `stitchkit: endpoint scope "${EffectiveScope<C[K], TContractScope> & string}" is not declared in createScopedImplement`;
|
|
109
|
+
};
|
|
72
110
|
export interface MultipartFileMetadata {
|
|
73
111
|
field: string;
|
|
74
112
|
filename: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
|
package/dist/testing.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createClient,
|
|
3
3
|
createClients
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-gff2mxzk.js";
|
|
5
5
|
import"./index-48ffdxgk.js";
|
|
6
|
-
import"./index-
|
|
6
|
+
import"./index-bmnhqtya.js";
|
|
7
7
|
|
|
8
8
|
// src/testing.ts
|
|
9
9
|
function resolveTestBaseUrl(origin, pathPrefix) {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Built on the mixed-surface collector used by the mounts — the listing cannot
|
|
11
11
|
* drift when pathless runtime tools sit beside contract operations.
|
|
12
12
|
*/
|
|
13
|
-
import type { Transport } from '../contract';
|
|
13
|
+
import type { ContractDef, Transport } from '../contract';
|
|
14
14
|
import { type ToolSurfaceDefinition } from './surface';
|
|
15
15
|
/** One mounted tool name and where it comes from. */
|
|
16
16
|
export interface ToolNameEntry {
|
|
@@ -33,4 +33,16 @@ export interface ToolNameEntry {
|
|
|
33
33
|
* mirroring the real mounts.
|
|
34
34
|
*/
|
|
35
35
|
export declare function listToolNames(surface: ToolSurfaceDefinition): ToolNameEntry[];
|
|
36
|
+
/**
|
|
37
|
+
* The same listing straight from contracts — no handlers required. Names, kinds
|
|
38
|
+
* and exposure are deterministic contract facts, so a surface snapshot should
|
|
39
|
+
* not force the caller to build (or stub) services; a stub factory left lying
|
|
40
|
+
* around is an untyped door out of `createScopedImplement`.
|
|
41
|
+
*
|
|
42
|
+
* Each contract runs through the real `implement` binding internally, so this
|
|
43
|
+
* produces exactly the entries `listToolNames` yields for the implemented
|
|
44
|
+
* services — structurally guaranteed (both read only the mounted method
|
|
45
|
+
* definitions) and pinned by a deep-equality test.
|
|
46
|
+
*/
|
|
47
|
+
export declare function listContractToolNames(contracts: readonly ContractDef[]): ToolNameEntry[];
|
|
36
48
|
//# sourceMappingURL=list-names.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-names.d.ts","sourceRoot":"","sources":["../../src/tools/list-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"list-names.d.ts","sourceRoot":"","sources":["../../src/tools/list-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,WAAW,CAAC;AAEnB,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,EAAE,CA6B7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,WAAW,EAAE,GAAG,aAAa,EAAE,CAExF"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { coerceJsonArgs } from './tools/coerce';
|
|
|
8
8
|
export type { AfterToolCallOptions, BeforeToolCallOptions, ErrorHintFn, ToolCallContext, ToolCallHooks, ToolErrorOptions, ToolLifecycle, ToolOperation, ToolResult, } from './tools/execute';
|
|
9
9
|
export { flattenToolJsonSchema, type ToolPresentationSchema, } from './tools/flatten';
|
|
10
10
|
export { createToolInvoker, type ToolInvocationOptions, type ToolInvoker, type ToolInvokerConfig, type ToolInvokerTransport, } from './tools/invoker';
|
|
11
|
-
export { listToolNames, type ToolNameEntry } from './tools/list-names';
|
|
11
|
+
export { listContractToolNames, listToolNames, type ToolNameEntry, } from './tools/list-names';
|
|
12
12
|
export { buildToolManifest, type ToolManifestConfig, type ToolManifestEntry, } from './tools/manifest';
|
|
13
13
|
export { buildMcpServer, type DirectMcpSurfaceConfig, type FiniteMcpSurfaceConfig, type McpMountConfig, type McpServerBuildConfig, type McpServerSharedConfig, mountMcp, mountMcpResource, validateMcpSchemas, } from './tools/mcp';
|
|
14
14
|
export { EXT_APPS_BUNDLE_PLACEHOLDER, inlineMcpAppBundle, type McpAppCsp, type McpAppResourceMeta, type McpResourceDef, RESOURCE_MIME_TYPE, } from './tools/mcp-app';
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,KAAK,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
signJwt,
|
|
3
3
|
verifyPkce
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-tw7mhqgy.js";
|
|
5
5
|
import {
|
|
6
|
-
DEFAULT_CORS_ALLOW_HEADERS
|
|
7
|
-
|
|
6
|
+
DEFAULT_CORS_ALLOW_HEADERS,
|
|
7
|
+
contractOnlyService
|
|
8
|
+
} from "./index-ynts85ew.js";
|
|
8
9
|
import {
|
|
9
10
|
assertToolName,
|
|
10
11
|
assertUniqueToolName,
|
|
@@ -25,7 +26,7 @@ import {
|
|
|
25
26
|
toolErrorFromResult,
|
|
26
27
|
toolResultFromError,
|
|
27
28
|
writeDownload
|
|
28
|
-
} from "./index-
|
|
29
|
+
} from "./index-h55e1wyq.js";
|
|
29
30
|
import {
|
|
30
31
|
isWithinDir,
|
|
31
32
|
realPathWithinDir,
|
|
@@ -34,22 +35,22 @@ import {
|
|
|
34
35
|
import {
|
|
35
36
|
ApiError,
|
|
36
37
|
createClient
|
|
37
|
-
} from "./index-
|
|
38
|
+
} from "./index-gff2mxzk.js";
|
|
38
39
|
import"./index-48ffdxgk.js";
|
|
39
40
|
import {
|
|
40
41
|
redact
|
|
41
|
-
} from "./index-
|
|
42
|
+
} from "./index-psrxjvbw.js";
|
|
42
43
|
import {
|
|
43
44
|
AppError,
|
|
44
45
|
getRequestContext,
|
|
45
46
|
getTraceId,
|
|
46
47
|
mergeMeta,
|
|
47
48
|
runWithRequestContext
|
|
48
|
-
} from "./index-
|
|
49
|
+
} from "./index-8qghvg18.js";
|
|
49
50
|
import {
|
|
50
51
|
isRecord,
|
|
51
52
|
resolvePropagationContext
|
|
52
|
-
} from "./index-
|
|
53
|
+
} from "./index-bmnhqtya.js";
|
|
53
54
|
|
|
54
55
|
// src/tools/agent.ts
|
|
55
56
|
import { jsonSchema, tool } from "ai";
|
|
@@ -336,6 +337,9 @@ function listToolNames(surface) {
|
|
|
336
337
|
}
|
|
337
338
|
return [...entries.values()].sort((a, b) => a.name.localeCompare(b.name) || a.service.localeCompare(b.service));
|
|
338
339
|
}
|
|
340
|
+
function listContractToolNames(contracts) {
|
|
341
|
+
return listToolNames({ services: contracts.map(contractOnlyService) });
|
|
342
|
+
}
|
|
339
343
|
// src/tools/manifest.ts
|
|
340
344
|
function buildToolManifest(config) {
|
|
341
345
|
return collectToolSurface({
|
|
@@ -2506,6 +2510,7 @@ export {
|
|
|
2506
2510
|
mountDownload,
|
|
2507
2511
|
mountAgent,
|
|
2508
2512
|
listToolNames,
|
|
2513
|
+
listContractToolNames,
|
|
2509
2514
|
inlineMcpAppBundle,
|
|
2510
2515
|
implementRemote,
|
|
2511
2516
|
flattenToolJsonSchema,
|