@zapier/kitcore 0.5.1 → 0.7.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/CHANGELOG.md +20 -0
- package/README.md +7 -2
- package/dist/index.cjs +200 -115
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +154 -39
- package/dist/index.d.ts +154 -39
- package/dist/index.mjs +200 -115
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -134,15 +134,17 @@ type ListPromptConfig = PromptConfig & {
|
|
|
134
134
|
};
|
|
135
135
|
/**
|
|
136
136
|
* The prompt config the NEW-model resolvers (`defineResolver`) return. It omits
|
|
137
|
-
*
|
|
137
|
+
* four fields the resolution controller does not honor, so authors can't
|
|
138
138
|
* supply a silent no-op:
|
|
139
|
-
* - `name`
|
|
140
|
-
* - `default
|
|
141
|
-
* - `filter`
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
|
|
145
|
-
|
|
139
|
+
* - `name` — the framework supplies the answer key (always was overwritten).
|
|
140
|
+
* - `default` — no resolver uses it; the controller has no preselect concept.
|
|
141
|
+
* - `filter` — no resolver uses it; transform values in `listItems` instead.
|
|
142
|
+
* - `validate`— validation is the resolver's top-level `validate`, which
|
|
143
|
+
* never routes through rendering (and gets `imports`).
|
|
144
|
+
* (The legacy `SchemaParameterResolver` still honors `default`/`filter`/
|
|
145
|
+
* `validate`, so the full `PromptConfig` stays for that path.)
|
|
146
|
+
*/
|
|
147
|
+
type ResolverPromptConfig = Omit<PromptConfig, "name" | "default" | "filter" | "validate">;
|
|
146
148
|
interface Resolver$1 {
|
|
147
149
|
type: string;
|
|
148
150
|
depends?: readonly string[] | string[];
|
|
@@ -571,11 +573,27 @@ interface DynamicResolver extends ResolverBase {
|
|
|
571
573
|
cursor?: string;
|
|
572
574
|
}) => ListItemsResult<unknown>;
|
|
573
575
|
prompt?: (bag: {
|
|
576
|
+
/** The CURRENT page's items only — the engine windows the listing one
|
|
577
|
+
* page at a time (an accumulating host may be showing more). Rendering
|
|
578
|
+
* input only; validation is the top-level `validate`. */
|
|
574
579
|
items: unknown[];
|
|
575
580
|
input: Record<string, unknown>;
|
|
576
581
|
/** The value `getContext` returned, if any. */
|
|
577
582
|
context?: unknown;
|
|
578
583
|
}) => ResolverPromptConfig;
|
|
584
|
+
/** Check a chosen/typed value before the engine accepts it. Async with
|
|
585
|
+
* `imports` so it can verify against the source (`tryResolveFromSearch`'s
|
|
586
|
+
* sibling for picks) — never against a loaded page: pagination means the
|
|
587
|
+
* pick can come from a page the engine no longer holds. Return true to
|
|
588
|
+
* accept or a message to re-ask with. A throw is a lookup failure (the
|
|
589
|
+
* host gets retry/cancel), not a rejection. */
|
|
590
|
+
validate?: (bag: {
|
|
591
|
+
imports: Record<string, unknown>;
|
|
592
|
+
value: unknown;
|
|
593
|
+
input: Record<string, unknown>;
|
|
594
|
+
/** The value `getContext` returned, if any. */
|
|
595
|
+
context?: unknown;
|
|
596
|
+
}) => Promise<true | string> | true | string;
|
|
579
597
|
/** Resolve with no user input at all (e.g. a configured default), skipping the
|
|
580
598
|
* prompt. Runs before prompting; used always in non-interactive mode and as a
|
|
581
599
|
* "can we skip asking?" check otherwise. Returns null to fall through to a prompt. */
|
|
@@ -726,6 +744,11 @@ interface BoundDynamicResolver extends BoundResolverBase {
|
|
|
726
744
|
input: Record<string, unknown>;
|
|
727
745
|
context?: unknown;
|
|
728
746
|
}) => ResolverPromptConfig;
|
|
747
|
+
validate?: (bag: {
|
|
748
|
+
value: unknown;
|
|
749
|
+
input: Record<string, unknown>;
|
|
750
|
+
context?: unknown;
|
|
751
|
+
}) => Promise<true | string> | true | string;
|
|
729
752
|
tryResolveWithoutPrompt?: (bag: {
|
|
730
753
|
input: Record<string, unknown>;
|
|
731
754
|
}) => Promise<{
|
|
@@ -897,6 +920,21 @@ type StrictPage$1<TResponse> = SdkPage<unknown> & {
|
|
|
897
920
|
type ItemOf$1<TResponse> = TResponse extends SdkPage<infer TItem> ? TItem : TResponse extends {
|
|
898
921
|
data: readonly (infer TItem)[];
|
|
899
922
|
} ? TItem : never;
|
|
923
|
+
/**
|
|
924
|
+
* A response whose only own key is `data`. Gates the item overload of
|
|
925
|
+
* `defineMethod` the way `StrictPage` gates list-standard: `run` returns the
|
|
926
|
+
* `{ data }` envelope itself, and an envelope with extra keys is rejected (a
|
|
927
|
+
* future variant may accept metadata alongside `data`).
|
|
928
|
+
*/
|
|
929
|
+
type StrictItem<TResponse> = {
|
|
930
|
+
data: unknown;
|
|
931
|
+
} & {
|
|
932
|
+
[K in Exclude<keyof TResponse, "data">]?: never;
|
|
933
|
+
};
|
|
934
|
+
/** Data type sourced from an item envelope. */
|
|
935
|
+
type DataOf<TResponse> = TResponse extends {
|
|
936
|
+
data: infer TData;
|
|
937
|
+
} ? TData : never;
|
|
900
938
|
/**
|
|
901
939
|
* A leaf plugin that is a single value (not a function). `value` is a static
|
|
902
940
|
* constant; `get({ imports })` computes the value from imports. Like a
|
|
@@ -1928,8 +1966,8 @@ declare function createPluginStack<TRequires = object>(): PluginStack<TRequires,
|
|
|
1928
1966
|
*
|
|
1929
1967
|
* The `output` mode shapes `run`'s result into the public surface and drives
|
|
1930
1968
|
* the overload that types the call: raw (default, passthrough), `item`
|
|
1931
|
-
* (`run` returns `T`, surfaced as `Promise<{ data: T }>`), or `list`
|
|
1932
|
-
* returns one `SdkPage`, surfaced as `PaginatedSdkResult`). See Output.
|
|
1969
|
+
* (`run` returns `{ data: T }`, surfaced as `Promise<{ data: T }>`), or `list`
|
|
1970
|
+
* (`run` returns one `SdkPage`, surfaced as `PaginatedSdkResult`). See Output.
|
|
1933
1971
|
*/
|
|
1934
1972
|
declare function defineMethod<const TName extends string, TInput, TOutput, const TPositional extends readonly (keyof TInput & string)[] = readonly [], const TImports extends ImportsInput = readonly [], const TNamespace extends string = "", TState = undefined>(config: {
|
|
1935
1973
|
name: TName;
|
|
@@ -1958,7 +1996,7 @@ declare function defineMethod<const TName extends string, TInput, TOutput, const
|
|
|
1958
1996
|
}) => void | Promise<void>;
|
|
1959
1997
|
run: (bag: MethodRunBag<ImportsOf<TImports>, TInput, TState>) => TOutput;
|
|
1960
1998
|
} & LeafMetaFields): MethodPlugin<TName, TInput, TOutput, TPositional> & LeafSummary<TNamespace, TName, TImports>;
|
|
1961
|
-
declare function defineMethod<const TName extends string, TInput, TData
|
|
1999
|
+
declare function defineMethod<const TName extends string, TInput, TResponse extends StrictItem<TResponse>, TData = DataOf<TResponse>, const TImports extends ImportsInput = readonly [], const TNamespace extends string = "", TState = undefined>(config: {
|
|
1962
2000
|
name: TName;
|
|
1963
2001
|
namespace?: TNamespace;
|
|
1964
2002
|
imports?: TImports & StaticList<TImports>;
|
|
@@ -1976,9 +2014,9 @@ declare function defineMethod<const TName extends string, TInput, TData, const T
|
|
|
1976
2014
|
state: TState;
|
|
1977
2015
|
input?: unknown;
|
|
1978
2016
|
}) => void | Promise<void>;
|
|
1979
|
-
run: (bag: MethodRunBag<ImportsOf<TImports>, TInput, TState>) =>
|
|
2017
|
+
run: (bag: MethodRunBag<ImportsOf<TImports>, TInput, TState>) => TResponse | Promise<TResponse>;
|
|
1980
2018
|
} & LeafMetaFields): MethodPlugin<TName, TInput, Promise<{
|
|
1981
|
-
data:
|
|
2019
|
+
data: TData;
|
|
1982
2020
|
}>> & LeafSummary<TNamespace, TName, TImports>;
|
|
1983
2021
|
declare function defineMethod<const TName extends string, TInput, TResponse extends StrictPage$1<TResponse>, TItem = ItemOf$1<TResponse>, const TImports extends ImportsInput = readonly [], const TNamespace extends string = "", TState = undefined>(config: {
|
|
1984
2022
|
name: TName;
|
|
@@ -2093,6 +2131,18 @@ declare function defineResolver<const TImports extends ImportsInput = readonly [
|
|
|
2093
2131
|
/** The value `getContext` returned, if any. */
|
|
2094
2132
|
context?: TContext;
|
|
2095
2133
|
}) => ResolverPromptConfig;
|
|
2134
|
+
/** Check a chosen/typed value before the engine accepts it. Async with
|
|
2135
|
+
* `imports` so it can verify against the source — never against a loaded
|
|
2136
|
+
* page (the pick can come from a page the engine no longer holds). Return
|
|
2137
|
+
* true to accept or a message to re-ask with; a throw is a lookup failure
|
|
2138
|
+
* (retry/cancel), not a rejection. */
|
|
2139
|
+
validate?: (bag: {
|
|
2140
|
+
imports: ImportsOf<TImports>;
|
|
2141
|
+
value: unknown;
|
|
2142
|
+
input: TInput;
|
|
2143
|
+
/** The value `getContext` returned, if any. */
|
|
2144
|
+
context?: TContext;
|
|
2145
|
+
}) => Promise<true | string> | true | string;
|
|
2096
2146
|
/** Resolve with no user input (e.g. a configured default), skipping the prompt. */
|
|
2097
2147
|
tryResolveWithoutPrompt?: (bag: {
|
|
2098
2148
|
imports: ImportsOf<TImports>;
|
|
@@ -2726,12 +2776,14 @@ interface ControllerAffordance {
|
|
|
2726
2776
|
/** A question the host renders. Discriminated on `type`; the available moves are
|
|
2727
2777
|
* the self-describing `actions` list (single source of truth, no flags).
|
|
2728
2778
|
* `actions` is emitted in recommended presentation order — answer directly
|
|
2729
|
-
* (`choose`/`custom`/`add`), refine (`search`), paginate
|
|
2730
|
-
* (`skip`/`done`), and failure
|
|
2731
|
-
*
|
|
2732
|
-
* widgets (windowed lists,
|
|
2779
|
+
* (`choose`/`custom`/`add`), refine (`search`), paginate
|
|
2780
|
+
* (`next_page`/`previous_page`), decline (`skip`/`done`), and failure
|
|
2781
|
+
* questions offer `retry` then `cancel` — so a minimal host can render the
|
|
2782
|
+
* list verbatim, top to bottom. Hosts with richer widgets (windowed lists,
|
|
2783
|
+
* filter state) may reorder. */
|
|
2733
2784
|
type ControllerQuestion = {
|
|
2734
2785
|
type: "select";
|
|
2786
|
+
path: ControllerPath;
|
|
2735
2787
|
message: string;
|
|
2736
2788
|
/** What this field is, for an agent that lacks the schema. */
|
|
2737
2789
|
description?: string;
|
|
@@ -2754,8 +2806,18 @@ type ControllerQuestion = {
|
|
|
2754
2806
|
* in its lead-with-term prompt (e.g. "Enter or search app (e.g. 'slack')").
|
|
2755
2807
|
* Only meaningful before a search has run. */
|
|
2756
2808
|
placeholder?: string;
|
|
2809
|
+
/** Where these `choices` sit in the paginated listing. `choices` is ONE
|
|
2810
|
+
* page (payloads stay O(page); the engine never re-sends earlier pages).
|
|
2811
|
+
* A window host renders the page and pages with
|
|
2812
|
+
* `next_page`/`previous_page`; an accumulating host appends pages
|
|
2813
|
+
* client-side: same `path` + same `generation` +
|
|
2814
|
+
* advancing `index` means "extend what you showed", and a `generation`
|
|
2815
|
+
* change (a search ran) means "start over". Absent on unpaginated
|
|
2816
|
+
* selects (static enums). */
|
|
2817
|
+
page?: ControllerSelectPage;
|
|
2757
2818
|
} | {
|
|
2758
2819
|
type: "input";
|
|
2820
|
+
path: ControllerPath;
|
|
2759
2821
|
message: string;
|
|
2760
2822
|
description?: string;
|
|
2761
2823
|
inputType: "text" | "password" | "email";
|
|
@@ -2763,6 +2825,7 @@ type ControllerQuestion = {
|
|
|
2763
2825
|
actions: ControllerAffordance[];
|
|
2764
2826
|
} | {
|
|
2765
2827
|
type: "collection";
|
|
2828
|
+
path: ControllerPath;
|
|
2766
2829
|
message: string;
|
|
2767
2830
|
description?: string;
|
|
2768
2831
|
/** Which container kind this decision gates. `array` is the add-another
|
|
@@ -2791,6 +2854,15 @@ type ControllerQuestion = {
|
|
|
2791
2854
|
max?: number;
|
|
2792
2855
|
actions: ControllerAffordance[];
|
|
2793
2856
|
};
|
|
2857
|
+
/** A select question's position in its paginated listing. */
|
|
2858
|
+
interface ControllerSelectPage {
|
|
2859
|
+
/** Increments whenever the listing restarts (a `search` ran, even with the
|
|
2860
|
+
* same term). An accumulating host discards what it has on a new
|
|
2861
|
+
* generation. */
|
|
2862
|
+
generation: number;
|
|
2863
|
+
/** Zero-based page number within this generation. */
|
|
2864
|
+
index: number;
|
|
2865
|
+
}
|
|
2794
2866
|
/** The host's response to a question. The wire shape is frozen: a fuller
|
|
2795
2867
|
* HATEOAS affordance schema would still produce exactly these. */
|
|
2796
2868
|
type ControllerAction = {
|
|
@@ -2800,7 +2872,9 @@ type ControllerAction = {
|
|
|
2800
2872
|
type: "search";
|
|
2801
2873
|
term: string;
|
|
2802
2874
|
} | {
|
|
2803
|
-
type: "
|
|
2875
|
+
type: "next_page";
|
|
2876
|
+
} | {
|
|
2877
|
+
type: "previous_page";
|
|
2804
2878
|
} | {
|
|
2805
2879
|
type: "custom";
|
|
2806
2880
|
value: string;
|
|
@@ -2821,7 +2895,7 @@ type ControllerAction = {
|
|
|
2821
2895
|
type ControllerResult = {
|
|
2822
2896
|
status: "ask";
|
|
2823
2897
|
question: ControllerQuestion;
|
|
2824
|
-
/** The prior answer's validation failure (`
|
|
2898
|
+
/** The prior answer's validation failure (the resolver's `validate`), when
|
|
2825
2899
|
* this is a re-ask. About the last transition, not the question itself. */
|
|
2826
2900
|
error?: string;
|
|
2827
2901
|
} | {
|
|
@@ -2874,9 +2948,10 @@ interface ControllerState {
|
|
|
2874
2948
|
* add/done handling never infers the decision from value presence or
|
|
2875
2949
|
* resolver shape. Absent when `current` is a plain leaf question. */
|
|
2876
2950
|
gate?: "array" | "entry" | "optionals";
|
|
2877
|
-
/**
|
|
2878
|
-
* cursor, never
|
|
2879
|
-
|
|
2951
|
+
/** Where pagination stands for the current dynamic leaf: coordinates only
|
|
2952
|
+
* (cursor trail, generation), never items or live iterators — the page's
|
|
2953
|
+
* items ride the ask's question. */
|
|
2954
|
+
pagination?: ControllerPagination;
|
|
2880
2955
|
/** Whether the host will prompt. Interactive (the default) always asks;
|
|
2881
2956
|
* non-interactive runs `tryResolveWithoutPrompt` to auto-fill what it can
|
|
2882
2957
|
* (e.g. configured defaults) before asking for the rest. */
|
|
@@ -2885,14 +2960,42 @@ interface ControllerState {
|
|
|
2885
2960
|
/** A location in the input tree: top-level `["app"]`, a nested object field
|
|
2886
2961
|
* `["inputs", "channel"]`, or (later) an array item `["records", 0, "id"]`. */
|
|
2887
2962
|
type ControllerPath = (string | number)[];
|
|
2888
|
-
/**
|
|
2889
|
-
*
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2963
|
+
/** Where a listing currently stands: the coordinates that make one page of a
|
|
2964
|
+
* dynamic parameter's candidates fetchable — and re-fetchable — with no
|
|
2965
|
+
* shared in-memory state. `previous_page` and `retry` work by re-issuing a
|
|
2966
|
+
* recorded position. */
|
|
2967
|
+
interface ControllerListingPosition {
|
|
2968
|
+
/** The active search term, when the resolver is search-mode. */
|
|
2893
2969
|
search?: string;
|
|
2894
|
-
/**
|
|
2895
|
-
|
|
2970
|
+
/** Cursor that fetched the current page; `null` is the first page. */
|
|
2971
|
+
pageCursor: string | null;
|
|
2972
|
+
/** Cursors of the pages before this one, oldest first (each entry fetches
|
|
2973
|
+
* that page; `null` is the first page). `previous_page` pops the last. */
|
|
2974
|
+
previousCursors: (string | null)[];
|
|
2975
|
+
/** Increments on every listing restart (each `search`). Surfaced to hosts
|
|
2976
|
+
* via {@link ControllerSelectPage} so accumulators know when to reset. */
|
|
2977
|
+
generation: number;
|
|
2978
|
+
}
|
|
2979
|
+
/** The enumeration in progress for the current dynamic parameter:
|
|
2980
|
+
* coordinates only. The fetched items ride the ask's `question.choices`; the
|
|
2981
|
+
* host carries back these cursors between steps, never the items it was just
|
|
2982
|
+
* shown. Anything the engine needs to redraw (a validate-rejection re-ask) it
|
|
2983
|
+
* re-fetches statelessly from `position`. */
|
|
2984
|
+
interface ControllerPagination {
|
|
2985
|
+
position: ControllerListingPosition;
|
|
2986
|
+
/** Resume point for `next_page`; absent on the last page. */
|
|
2987
|
+
nextCursor?: string;
|
|
2988
|
+
/** The position whose fetch failed, kept so `retry` replays exactly it.
|
|
2989
|
+
* Absent when the page loaded. */
|
|
2990
|
+
retryPosition?: ControllerListingPosition;
|
|
2991
|
+
}
|
|
2992
|
+
/** One fetched page of a listing: the position it was fetched at plus what
|
|
2993
|
+
* came back. Never stored: `toPagination` strips it to the coordinates the
|
|
2994
|
+
* state keeps. */
|
|
2995
|
+
interface ControllerListingPage {
|
|
2996
|
+
position: ControllerListingPosition;
|
|
2997
|
+
items: unknown[];
|
|
2998
|
+
nextCursor?: string;
|
|
2896
2999
|
}
|
|
2897
3000
|
/**
|
|
2898
3001
|
* The one pluggable seam for the in-process `resolve` sugar. It receives the
|
|
@@ -3272,25 +3375,37 @@ interface PaginatedResult<TItem> {
|
|
|
3272
3375
|
data: TItem[];
|
|
3273
3376
|
nextCursor?: string;
|
|
3274
3377
|
}
|
|
3275
|
-
type PaginatedSource<TItem> = () => PromiseLike<PaginatedResult<TItem>> & AsyncIterable<PaginatedResult<TItem>>;
|
|
3276
3378
|
/**
|
|
3277
|
-
*
|
|
3278
|
-
*
|
|
3279
|
-
*
|
|
3379
|
+
* One page-at-a-time source for `concatPaginated`: called with that source's
|
|
3380
|
+
* own cursor, resolves one page. An SDK paginated method fits directly
|
|
3381
|
+
* (`({ cursor }) => sdk.listThings({ cursor })` — awaiting a paginated
|
|
3382
|
+
* result yields the requested page).
|
|
3383
|
+
*/
|
|
3384
|
+
type PaginatedSource<TItem> = (options: {
|
|
3385
|
+
cursor?: string;
|
|
3386
|
+
}) => PromiseLike<PaginatedResult<TItem>>;
|
|
3387
|
+
/**
|
|
3388
|
+
* Concatenate multiple paginated sources into a single paginated stream.
|
|
3389
|
+
* Sources are drained in order, one page per underlying call.
|
|
3280
3390
|
*
|
|
3281
|
-
*
|
|
3282
|
-
*
|
|
3391
|
+
* Pagination is stateless: every outgoing cursor encodes which source to
|
|
3392
|
+
* resume plus that source's own cursor, so a fresh `concatPaginated` call
|
|
3393
|
+
* with `cursor` continues exactly where the previous page left off. Sources
|
|
3394
|
+
* must therefore produce disjoint items themselves; there is no cross-source
|
|
3395
|
+
* dedupe (an in-memory seen-set could not survive the cursor round-trip).
|
|
3283
3396
|
*
|
|
3284
3397
|
* Uses paginateBuffered internally to normalize page sizes across source
|
|
3285
3398
|
* boundaries — e.g. if the first source only has 2 items, they'll be
|
|
3286
3399
|
* buffered with items from the next source into a full page.
|
|
3287
3400
|
*
|
|
3288
|
-
*
|
|
3401
|
+
* The result is a thenable for the first page that also async-iterates
|
|
3402
|
+
* pages in-process.
|
|
3289
3403
|
*/
|
|
3290
|
-
declare function concatPaginated<TItem>({ sources,
|
|
3404
|
+
declare function concatPaginated<TItem>({ sources, pageSize, cursor, }: {
|
|
3291
3405
|
sources: PaginatedSource<TItem>[];
|
|
3292
|
-
dedupe?: (item: TItem) => string;
|
|
3293
3406
|
pageSize?: number;
|
|
3407
|
+
/** Cursor from a previous `concatPaginated` page; resumes the stream. */
|
|
3408
|
+
cursor?: string;
|
|
3294
3409
|
}): PromiseLike<PaginatedResult<TItem>> & AsyncIterable<PaginatedResult<TItem>>;
|
|
3295
3410
|
/**
|
|
3296
3411
|
* Strip the PromiseLike from an async iterable, returning a plain
|
|
@@ -3380,4 +3495,4 @@ declare class CoreCancelledSignal extends CoreSignal {
|
|
|
3380
3495
|
constructor(message?: string);
|
|
3381
3496
|
}
|
|
3382
3497
|
|
|
3383
|
-
export { type AdaptError, type AdaptErrorOptions, type AdaptPage, type AggregatePlugin, type ArrayResolver$1 as ArrayResolver, type AsyncContext, type BoundFormatter, type BoundResolver, CONTEXT, CORE_ERROR_SYMBOL, CORE_OPTIONS_ID, CORE_SIGNAL_SYMBOL, type CategoryDefinition, type ConstantResolver$1 as ConstantResolver, type Controller, type ControllerAction, type ControllerAffordance, type ControllerAnswerFn, type ControllerChoice, type ControllerError, type ControllerIssue, type
|
|
3498
|
+
export { type AdaptError, type AdaptErrorOptions, type AdaptPage, type AggregatePlugin, type ArrayResolver$1 as ArrayResolver, type AsyncContext, type BoundFormatter, type BoundResolver, CONTEXT, CORE_ERROR_SYMBOL, CORE_OPTIONS_ID, CORE_SIGNAL_SYMBOL, type CategoryDefinition, type ConstantResolver$1 as ConstantResolver, type Controller, type ControllerAction, type ControllerAffordance, type ControllerAnswerFn, type ControllerChoice, type ControllerError, type ControllerIssue, type ControllerListingPage, type ControllerListingPosition, type ControllerMethodDescription, type ControllerMethodSummary, type ControllerPagination, type ControllerParameterDescription, type ControllerPath, type ControllerQuestion, type ControllerResult, type ControllerSdk, type ControllerSelectPage, type ControllerState, type CoreApiError, CoreCancelledSignal, CoreDisposeError, CoreError, CoreErrorCode, type CoreErrorOptions, type CoreOptions, CoreSignal, type CreateSdkOptions, type DeprecatedPromptConfigChoice, type DeprecationLogger, type DeprecationWarning, type DisposeFn, type DynamicListResolver, type DynamicMember, type DynamicResolver$1 as DynamicResolver, type DynamicSearchResolver, type FieldsResolver, type FormattedItem, type Formatter, type FunctionDeprecation, type FunctionRegistryEntry, type HookPlugin, type LeafMeta, type LeafSummary, type LegacyMergePlugin, type LegacyPlugin, type ListItemsResult, type ListPromptConfig, type MethodAttachment, type MethodHooks, type MethodOverridePlugin, type MethodPlugin, type MethodScope, type Resolver as ModelResolver, type OnMethodEnd, type OnMethodEndContext, type OnMethodStart, type OnMethodStartContext, type OutputFormatter, type PaginatedSdkFunction, type PaginatedSdkResult, type Plugin, type PluginMeta, type PluginProvides, type PluginStack, type PluginSummary, type PluginSurface, type PositionalMetadata, type PromptConfig, type PromptConfigChoice, type PropertyPlugin, type RegistryResult, type RequiredSdkOf, type Resolver$1 as Resolver, type ResolverConfig, type ResolverFieldItem, type ResolverMetadata, type ResolverPromptConfig, type ResolverType, type Sdk, type SdkContext, type SdkPage, type StaticResolver$1 as StaticResolver, type ValidResolvers, addPlugin, composePlugins, concatPaginated, coreOptionsPluginRef, createAsyncContext, createController, createCoreError, createCorePlugin, createDeprecationLogger, createFunction, createPaginatedFunction, createPaginatedPluginMethod, createPluginMethod, createPluginStack, createPrefixedCursor, createSdk, createValidator, dangerousContextPlugin, declareMethod, declareOptionalProperty, declarePlugin, declareProperty, decodeIncomingCursor, defaultLogDeprecation, defineFormatter, defineHook, defineLegacyMerge, defineMethod, defineMethodOverride, definePlugin, defineProperty, defineResolver, disposeSdk, fromFunctionPlugin, getContext, getCoreErrorCause, getCoreErrorCode, getCurrentDepth, getCurrentScope, getFieldDescriptions, getOutputSchema, getRegistryPlugin, getSchemaDescription, isCoreError, isCoreSignal, isNestedMethodCall, isPositional, isTelemetryNested, omitExports, openEnum, paginate, paginateBuffered, paginateMaxItems, resolvePlugin, runInMethodScope, runWithTelemetryContext, selectExports, splitPrefixedCursor, toIterable, toSnakeCase, toTitleCase, validateOptions, withOutputSchema, withPositional, withResolver };
|