@vellumai/plugin-api 0.10.5 → 0.10.6-dev.202607062043.72bc40b
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/index.d.ts +186 -44
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -533,6 +533,30 @@ declare interface BaseAssistantEvent<TMessage = unknown> {
|
|
|
533
533
|
message: TMessage;
|
|
534
534
|
}
|
|
535
535
|
|
|
536
|
+
/**
|
|
537
|
+
* Capabilities shared by every chain-hook context (`user-prompt-submit`,
|
|
538
|
+
* `post-compact`, `post-tool-use`, `stop`, `pre-model-call`,
|
|
539
|
+
* `post-model-call`).
|
|
540
|
+
*
|
|
541
|
+
* Both are stamped onto each hook's draft by the pipeline (`runHook`) before
|
|
542
|
+
* the hook runs, bound to that hook's identity — dispatching call sites
|
|
543
|
+
* construct the `XInputContext` shapes and never supply these.
|
|
544
|
+
*/
|
|
545
|
+
declare interface BaseHookContext {
|
|
546
|
+
/**
|
|
547
|
+
* Logger bound to the emitting hook — pre-tagged with the hook name and
|
|
548
|
+
* owning plugin (plus `conversationId` / `requestId` when the dispatching
|
|
549
|
+
* context carries them), so hook log lines are attributed without manual
|
|
550
|
+
* tagging.
|
|
551
|
+
*/
|
|
552
|
+
readonly logger: PluginLogger;
|
|
553
|
+
/**
|
|
554
|
+
* Per-hook `hook_event` emitter, bound to this hook's owner — see
|
|
555
|
+
* {@link HookBroadcast}.
|
|
556
|
+
*/
|
|
557
|
+
readonly broadcast: HookBroadcast;
|
|
558
|
+
}
|
|
559
|
+
|
|
536
560
|
declare interface BaseSubscriberEntry {
|
|
537
561
|
filter: AssistantEventFilter;
|
|
538
562
|
callback: AssistantEventCallback;
|
|
@@ -987,6 +1011,33 @@ declare interface ContextCompacted {
|
|
|
987
1011
|
summaryHadMemoryEcho?: boolean;
|
|
988
1012
|
}
|
|
989
1013
|
|
|
1014
|
+
/**
|
|
1015
|
+
* The full `conversation-deleted` context a hook receives — the dispatching
|
|
1016
|
+
* call site's {@link ConversationDeletedInputContext} plus the
|
|
1017
|
+
* pipeline-stamped {@link BaseHookContext} capabilities.
|
|
1018
|
+
*/
|
|
1019
|
+
export declare interface ConversationDeletedContext extends ConversationDeletedInputContext, BaseHookContext {
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
/**
|
|
1023
|
+
* Context passed to the `conversation-deleted` hook. Fires once per deleted
|
|
1024
|
+
* conversation — from the shared delete primitives, so every delete caller
|
|
1025
|
+
* (route, retrospective cleanup, GC) dispatches it — after the conversation's
|
|
1026
|
+
* rows are removed.
|
|
1027
|
+
*
|
|
1028
|
+
* The dispatch is fire-and-forget: the delete primitives are synchronous and
|
|
1029
|
+
* do not wait for the chain, so hooks run concurrently with whatever the
|
|
1030
|
+
* caller does after the delete and must not assume any ordering relative to
|
|
1031
|
+
* it. By the time a hook runs, the conversation's rows (messages, segments,
|
|
1032
|
+
* attachments, the conversation itself) are gone — a hook can only key its
|
|
1033
|
+
* cleanup on the id. The default memory plugin contributes a hook here that
|
|
1034
|
+
* fails its own still-pending background jobs referencing the conversation.
|
|
1035
|
+
*/
|
|
1036
|
+
declare interface ConversationDeletedInputContext {
|
|
1037
|
+
/** ID of the conversation that was deleted. */
|
|
1038
|
+
readonly conversationId: string;
|
|
1039
|
+
}
|
|
1040
|
+
|
|
990
1041
|
declare type ConversationErrorEvent = z.infer<typeof ConversationErrorEventSchema>;
|
|
991
1042
|
|
|
992
1043
|
declare const ConversationErrorEventSchema: z.ZodObject<{
|
|
@@ -1827,6 +1878,36 @@ declare const HomeFeedUpdatedEventSchema: z.ZodObject<{
|
|
|
1827
1878
|
|
|
1828
1879
|
declare type _HomeServerMessages = RelationshipStateUpdatedEvent | HomeFeedUpdatedEvent;
|
|
1829
1880
|
|
|
1881
|
+
/**
|
|
1882
|
+
* Emit a `hook_event` to any UI watching the conversation the hook runs in —
|
|
1883
|
+
* e.g. progress while the hook does work the user can feel (memory
|
|
1884
|
+
* selection). The daemon stamps the conversation, the hook name, and the
|
|
1885
|
+
* emitting hook's owner; the hook supplies only `detail`, an arbitrary
|
|
1886
|
+
* JSON-serializable record whose shape it and its client renderer agree on.
|
|
1887
|
+
*
|
|
1888
|
+
* Best-effort and fire-and-forget: it never blocks or fails the turn, and
|
|
1889
|
+
* cannot emit any other event type or target another conversation — the emit
|
|
1890
|
+
* surface is bound to the turn. Contexts without a `conversationId` emit an
|
|
1891
|
+
* unscoped `hook_event`.
|
|
1892
|
+
*/
|
|
1893
|
+
export declare type HookBroadcast = (detail: Record<string, unknown>) => void;
|
|
1894
|
+
|
|
1895
|
+
declare type HookEvent = z.infer<typeof HookEventSchema>;
|
|
1896
|
+
|
|
1897
|
+
declare const HookEventSchema: z.ZodObject<{
|
|
1898
|
+
type: z.ZodLiteral<"hook_event">;
|
|
1899
|
+
conversationId: z.ZodOptional<z.ZodString>;
|
|
1900
|
+
hookName: z.ZodString;
|
|
1901
|
+
owner: z.ZodObject<{
|
|
1902
|
+
kind: z.ZodEnum<{
|
|
1903
|
+
plugin: "plugin";
|
|
1904
|
+
workspace: "workspace";
|
|
1905
|
+
}>;
|
|
1906
|
+
id: z.ZodString;
|
|
1907
|
+
}, z.core.$strip>;
|
|
1908
|
+
detail: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1909
|
+
}, z.core.$strip>;
|
|
1910
|
+
|
|
1830
1911
|
/**
|
|
1831
1912
|
* A plugin lifecycle hook. Receives a per-lifecycle context shape and may
|
|
1832
1913
|
* either mutate `ctx` in place (returning `void`) or return a *partial*
|
|
@@ -1846,10 +1927,12 @@ declare type _HomeServerMessages = RelationshipStateUpdatedEvent | HomeFeedUpdat
|
|
|
1846
1927
|
* - `init` — {@link InitContext}
|
|
1847
1928
|
* - `shutdown` — {@link ShutdownContext}
|
|
1848
1929
|
* - `user-prompt-submit` — {@link UserPromptSubmitContext}
|
|
1930
|
+
* - `post-compact` — {@link PostCompactContext}
|
|
1849
1931
|
* - `pre-model-call` — {@link PreModelCallContext}
|
|
1850
1932
|
* - `post-tool-use` — {@link PostToolUseContext}
|
|
1851
1933
|
* - `stop` — {@link StopContext}
|
|
1852
1934
|
* - `post-model-call` — {@link PostModelCallContext}
|
|
1935
|
+
* - `conversation-deleted` — {@link ConversationDeletedContext}
|
|
1853
1936
|
*/
|
|
1854
1937
|
export declare type HookFunction<TCtx = unknown> = (ctx: TCtx) => Promise<Partial<TCtx> | void>;
|
|
1855
1938
|
|
|
@@ -1887,6 +1970,8 @@ export declare const HOOKS: {
|
|
|
1887
1970
|
readonly POST_MODEL_CALL: "post-model-call";
|
|
1888
1971
|
/** Fires after the loop successfully compacts a conversation mid-turn. */
|
|
1889
1972
|
readonly POST_COMPACT: "post-compact";
|
|
1973
|
+
/** Fires once per deleted conversation, after its rows are removed. Fire-and-forget cleanup signal — hooks run async with no ordering guarantee relative to the caller. */
|
|
1974
|
+
readonly CONVERSATION_DELETED: "conversation-deleted";
|
|
1890
1975
|
};
|
|
1891
1976
|
|
|
1892
1977
|
declare interface HostAppControlCancel {
|
|
@@ -2666,6 +2751,7 @@ declare const OpenPanelEventSchema: z.ZodObject<{
|
|
|
2666
2751
|
panelType: z.ZodString;
|
|
2667
2752
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2668
2753
|
conversationId: z.ZodOptional<z.ZodString>;
|
|
2754
|
+
surfaceId: z.ZodOptional<z.ZodString>;
|
|
2669
2755
|
}, z.core.$strip>;
|
|
2670
2756
|
|
|
2671
2757
|
declare type OpenUrlEvent = z.infer<typeof OpenUrlEventSchema>;
|
|
@@ -2739,6 +2825,14 @@ declare interface PongMessage {
|
|
|
2739
2825
|
type: "pong";
|
|
2740
2826
|
}
|
|
2741
2827
|
|
|
2828
|
+
/**
|
|
2829
|
+
* The full `post-compact` context a hook receives — the dispatching call
|
|
2830
|
+
* site's {@link PostCompactInputContext} plus the pipeline-stamped
|
|
2831
|
+
* {@link BaseHookContext} capabilities.
|
|
2832
|
+
*/
|
|
2833
|
+
export declare interface PostCompactContext extends PostCompactInputContext, BaseHookContext {
|
|
2834
|
+
}
|
|
2835
|
+
|
|
2742
2836
|
/**
|
|
2743
2837
|
* Context passed to the `post-compact` hook. Fires after the agent loop
|
|
2744
2838
|
* compacts a conversation mid-turn — once the running history has been
|
|
@@ -2753,12 +2847,12 @@ declare interface PongMessage {
|
|
|
2753
2847
|
* their own injected context the same way.
|
|
2754
2848
|
*
|
|
2755
2849
|
* The hook re-injects by mutating `history` in place (or returning a new
|
|
2756
|
-
* context with a replacement `history`) — see
|
|
2850
|
+
* context with a replacement `history`) — see `HookFunction`'s
|
|
2757
2851
|
* polymorphic return shape. The agent loop reads the settled `history` back off
|
|
2758
2852
|
* the context and resumes the turn from it. Multiple plugins' hooks chain in
|
|
2759
2853
|
* registration order, each seeing the previous plugin's edits.
|
|
2760
2854
|
*/
|
|
2761
|
-
|
|
2855
|
+
declare interface PostCompactInputContext {
|
|
2762
2856
|
/**
|
|
2763
2857
|
* The compacted message history to re-inject onto. Hooks mutate this in
|
|
2764
2858
|
* place (or return a new context with a replacement) to re-apply context
|
|
@@ -2797,6 +2891,28 @@ export declare interface PostCompactContext {
|
|
|
2797
2891
|
readonly injectionMode?: "full" | "minimal";
|
|
2798
2892
|
}
|
|
2799
2893
|
|
|
2894
|
+
/**
|
|
2895
|
+
* The full `post-model-call` context a hook receives — the dispatching call
|
|
2896
|
+
* site's {@link PostModelCallInputContext} plus the pipeline-stamped
|
|
2897
|
+
* {@link BaseHookContext} capabilities.
|
|
2898
|
+
*/
|
|
2899
|
+
export declare interface PostModelCallContext extends PostModelCallInputContext, BaseHookContext {
|
|
2900
|
+
}
|
|
2901
|
+
|
|
2902
|
+
/**
|
|
2903
|
+
* Binary outcome of the `post-model-call` hook. The agent loop seeds it to
|
|
2904
|
+
* `"stop"` and acts on the value the chain settles on:
|
|
2905
|
+
*
|
|
2906
|
+
* - `"stop"` — accept the model-call outcome. On a finalized reply the loop
|
|
2907
|
+
* keeps the (possibly transformed) message; on a rejection it
|
|
2908
|
+
* surfaces the error. This is the default.
|
|
2909
|
+
* - `"continue"` — re-query the model. The hook is responsible for leaving
|
|
2910
|
+
* {@link PostModelCallContext.messages} as the history the next
|
|
2911
|
+
* iteration should send (append a follow-up turn, or replace
|
|
2912
|
+
* the array with a repaired one).
|
|
2913
|
+
*/
|
|
2914
|
+
export declare type PostModelCallDecision = "continue" | "stop";
|
|
2915
|
+
|
|
2800
2916
|
/**
|
|
2801
2917
|
* Context passed to the `post-model-call` hook. Fires at every model-call
|
|
2802
2918
|
* outcome — the seam where the loop reacts to what the provider returned:
|
|
@@ -2828,7 +2944,7 @@ export declare interface PostCompactContext {
|
|
|
2828
2944
|
* the outcome is treated as `"stop"`). Multiple plugins' hooks chain in
|
|
2829
2945
|
* registration order — each sees the previous hook's `decision` and mutations.
|
|
2830
2946
|
*/
|
|
2831
|
-
|
|
2947
|
+
declare interface PostModelCallInputContext {
|
|
2832
2948
|
/** Conversation ID the message belongs to. */
|
|
2833
2949
|
readonly conversationId: string;
|
|
2834
2950
|
/** The call site this message serves — `"mainAgent"` for the user-facing reply; `null` when untagged. */
|
|
@@ -2871,23 +2987,15 @@ export declare interface PostModelCallContext {
|
|
|
2871
2987
|
* actionable outcomes (see the interface docstring).
|
|
2872
2988
|
*/
|
|
2873
2989
|
decision: PostModelCallDecision;
|
|
2874
|
-
/** Logger scoped to the current turn (tag structured fields with `{ plugin }`). */
|
|
2875
|
-
readonly logger: PluginLogger;
|
|
2876
2990
|
}
|
|
2877
2991
|
|
|
2878
2992
|
/**
|
|
2879
|
-
*
|
|
2880
|
-
*
|
|
2881
|
-
*
|
|
2882
|
-
* - `"stop"` — accept the model-call outcome. On a finalized reply the loop
|
|
2883
|
-
* keeps the (possibly transformed) message; on a rejection it
|
|
2884
|
-
* surfaces the error. This is the default.
|
|
2885
|
-
* - `"continue"` — re-query the model. The hook is responsible for leaving
|
|
2886
|
-
* {@link PostModelCallContext.messages} as the history the next
|
|
2887
|
-
* iteration should send (append a follow-up turn, or replace
|
|
2888
|
-
* the array with a repaired one).
|
|
2993
|
+
* The full `post-tool-use` context a hook receives — the dispatching call
|
|
2994
|
+
* site's {@link PostToolUseInputContext} plus the pipeline-stamped
|
|
2995
|
+
* {@link BaseHookContext} capabilities.
|
|
2889
2996
|
*/
|
|
2890
|
-
export declare
|
|
2997
|
+
export declare interface PostToolUseContext extends PostToolUseInputContext, BaseHookContext {
|
|
2998
|
+
}
|
|
2891
2999
|
|
|
2892
3000
|
/**
|
|
2893
3001
|
* Context passed to the `post-tool-use` hook. Fires once per tool result —
|
|
@@ -2897,7 +3005,7 @@ export declare type PostModelCallDecision = "continue" | "stop";
|
|
|
2897
3005
|
*
|
|
2898
3006
|
* The hook may transform the result either by mutating `toolResponse` in
|
|
2899
3007
|
* place (e.g. reassigning `toolResponse.content`) or by returning a new
|
|
2900
|
-
* context with a fresh `toolResponse` — see
|
|
3008
|
+
* context with a fresh `toolResponse` — see `HookFunction`'s
|
|
2901
3009
|
* polymorphic return shape. The daemon threads the final `toolResponse`
|
|
2902
3010
|
* into the provider-bound history.
|
|
2903
3011
|
*
|
|
@@ -2909,7 +3017,7 @@ export declare type PostModelCallDecision = "continue" | "stop";
|
|
|
2909
3017
|
* can swap in a smarter strategy (e.g. a summarizer) or observe results for
|
|
2910
3018
|
* side effects.
|
|
2911
3019
|
*/
|
|
2912
|
-
|
|
3020
|
+
declare interface PostToolUseInputContext {
|
|
2913
3021
|
/** Conversation ID the tool ran on. */
|
|
2914
3022
|
readonly conversationId: string;
|
|
2915
3023
|
/**
|
|
@@ -2969,12 +3077,14 @@ export declare interface PostToolUseContext {
|
|
|
2969
3077
|
* receiving a precomputed limit.
|
|
2970
3078
|
*/
|
|
2971
3079
|
readonly maxInputTokens: number;
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
3080
|
+
}
|
|
3081
|
+
|
|
3082
|
+
/**
|
|
3083
|
+
* The full `pre-model-call` context a hook receives — the dispatching call
|
|
3084
|
+
* site's {@link PreModelCallInputContext} plus the pipeline-stamped
|
|
3085
|
+
* {@link BaseHookContext} capabilities.
|
|
3086
|
+
*/
|
|
3087
|
+
export declare interface PreModelCallContext extends PreModelCallInputContext, BaseHookContext {
|
|
2978
3088
|
}
|
|
2979
3089
|
|
|
2980
3090
|
/**
|
|
@@ -2990,7 +3100,7 @@ export declare interface PostToolUseContext {
|
|
|
2990
3100
|
* Mutate the context in place or return a new one; throwing is contained by the
|
|
2991
3101
|
* loop (the call proceeds with the original request).
|
|
2992
3102
|
*/
|
|
2993
|
-
|
|
3103
|
+
declare interface PreModelCallInputContext {
|
|
2994
3104
|
/** Conversation ID the call belongs to. */
|
|
2995
3105
|
readonly conversationId: string;
|
|
2996
3106
|
/**
|
|
@@ -3029,8 +3139,6 @@ export declare interface PreModelCallContext {
|
|
|
3029
3139
|
* redaction that needs the full message — instead of leaking the raw stream.
|
|
3030
3140
|
*/
|
|
3031
3141
|
deferAssistantOutput: boolean;
|
|
3032
|
-
/** Logger scoped to the current turn (tag structured fields with `{ plugin }`). */
|
|
3033
|
-
readonly logger: PluginLogger;
|
|
3034
3142
|
}
|
|
3035
3143
|
|
|
3036
3144
|
declare interface ProcessEntry extends BaseSubscriberEntry {
|
|
@@ -3334,6 +3442,14 @@ declare interface SecretPromptResult {
|
|
|
3334
3442
|
delivery: SecretDelivery;
|
|
3335
3443
|
/** When set, the prompt could not be delivered and the value is null due to a delivery failure (not user cancellation). */
|
|
3336
3444
|
error?: "unsupported_channel";
|
|
3445
|
+
/**
|
|
3446
|
+
* Why `value` is null. `"cancelled"` = the user explicitly dismissed the
|
|
3447
|
+
* prompt (a valid flow, not a failure); `"timed_out"` = no response within
|
|
3448
|
+
* the permission-timeout window. Only meaningful when `value` is null and
|
|
3449
|
+
* `error` is unset. Lets callers distinguish a deliberate cancel from a
|
|
3450
|
+
* genuine failure instead of treating both as an error.
|
|
3451
|
+
*/
|
|
3452
|
+
reason?: "cancelled" | "timed_out";
|
|
3337
3453
|
}
|
|
3338
3454
|
|
|
3339
3455
|
declare type SecretRequestEvent = z.infer<typeof SecretRequestEventSchema>;
|
|
@@ -3451,7 +3567,7 @@ declare interface SensitiveOutputBinding {
|
|
|
3451
3567
|
|
|
3452
3568
|
declare type SensitiveOutputKind = "invite_code";
|
|
3453
3569
|
|
|
3454
|
-
declare type ServerMessage = _ConversationsServerMessages | _MessagesServerMessages | _SurfacesServerMessages | _SkillsServerMessages | _AppsServerMessages | _IntegrationsServerMessages | _ComputerUseServerMessages | _ContactsServerMessages | _WorkItemsServerMessages | _SubagentsServerMessages | _DocumentsServerMessages | _DocumentCommentsServerMessages | _GuardianActionsServerMessages | _SyncInvalidationServerMessages | _HomeServerMessages | _HostAppControlServerMessages | _HostBashServerMessages | _HostBrowserServerMessages | _HostCuServerMessages | _HostFileServerMessages | _HostTransferServerMessages | _MemoryServerMessages | _WorkspaceServerMessages | _SchedulesServerMessages | _SettingsServerMessages | _DiagnosticsServerMessages | _InboxServerMessages | _NotificationsServerMessages | _UpgradesServerMessages | _AcpServerMessages | _BackgroundToolsServerMessages | _BookmarksServerMessages | _WorkflowsServerMessages | DiskPressureStatusChangedEvent | SubagentEvent;
|
|
3570
|
+
declare type ServerMessage = _ConversationsServerMessages | _MessagesServerMessages | _SurfacesServerMessages | _SkillsServerMessages | _AppsServerMessages | _IntegrationsServerMessages | _ComputerUseServerMessages | _ContactsServerMessages | _WorkItemsServerMessages | _SubagentsServerMessages | _DocumentsServerMessages | _DocumentCommentsServerMessages | _GuardianActionsServerMessages | _SyncInvalidationServerMessages | _HomeServerMessages | _HostAppControlServerMessages | _HostBashServerMessages | _HostBrowserServerMessages | _HostCuServerMessages | _HostFileServerMessages | _HostTransferServerMessages | _MemoryServerMessages | _WorkspaceServerMessages | _SchedulesServerMessages | _SettingsServerMessages | _DiagnosticsServerMessages | _InboxServerMessages | _NotificationsServerMessages | _UpgradesServerMessages | _AcpServerMessages | _BackgroundToolsServerMessages | _BookmarksServerMessages | _WorkflowsServerMessages | DiskPressureStatusChangedEvent | HookEvent | SubagentEvent;
|
|
3455
3571
|
|
|
3456
3572
|
export declare interface ServerToolUseContent {
|
|
3457
3573
|
type: "server_tool_use";
|
|
@@ -3551,8 +3667,11 @@ export declare interface ShutdownContext {
|
|
|
3551
3667
|
* - `uninstall` — the plugin's directory was removed at runtime.
|
|
3552
3668
|
* - `disable` — the plugin was disabled at runtime (e.g. a `.disabled`
|
|
3553
3669
|
* sentinel was added, or a feature flag turned it off).
|
|
3670
|
+
* - `reload` — a source file inside the plugin directory changed and the
|
|
3671
|
+
* plugin is being redeployed in place; the old version's `shutdown` runs
|
|
3672
|
+
* before the new version is imported and its `init` fires.
|
|
3554
3673
|
*/
|
|
3555
|
-
declare type ShutdownReason = "shutdown" | "uninstall" | "disable";
|
|
3674
|
+
declare type ShutdownReason = "shutdown" | "uninstall" | "disable" | "reload";
|
|
3556
3675
|
|
|
3557
3676
|
declare interface SignBundlePayloadRequest {
|
|
3558
3677
|
type: "sign_bundle_payload";
|
|
@@ -3672,6 +3791,14 @@ declare interface SoundsConfigUpdated {
|
|
|
3672
3791
|
type: "sounds_config_updated";
|
|
3673
3792
|
}
|
|
3674
3793
|
|
|
3794
|
+
/**
|
|
3795
|
+
* The full `stop` context a hook receives — the dispatching call site's
|
|
3796
|
+
* {@link StopInputContext} plus the pipeline-stamped {@link BaseHookContext}
|
|
3797
|
+
* capabilities.
|
|
3798
|
+
*/
|
|
3799
|
+
export declare interface StopContext extends StopInputContext, BaseHookContext {
|
|
3800
|
+
}
|
|
3801
|
+
|
|
3675
3802
|
/**
|
|
3676
3803
|
* Context passed to the `stop` hook — the loop's definitive terminal hook.
|
|
3677
3804
|
*
|
|
@@ -3692,7 +3819,7 @@ declare interface SoundsConfigUpdated {
|
|
|
3692
3819
|
*
|
|
3693
3820
|
* Multiple plugins' hooks chain in registration order over the same context.
|
|
3694
3821
|
*/
|
|
3695
|
-
|
|
3822
|
+
declare interface StopInputContext {
|
|
3696
3823
|
/** Conversation ID the run belongs to. */
|
|
3697
3824
|
readonly conversationId: string;
|
|
3698
3825
|
/**
|
|
@@ -3715,12 +3842,6 @@ export declare interface StopContext {
|
|
|
3715
3842
|
* control transfer that re-enters the loop and so never reaches this hook.
|
|
3716
3843
|
*/
|
|
3717
3844
|
readonly exitReason: AgentLoopExitReason;
|
|
3718
|
-
/**
|
|
3719
|
-
* Logger scoped to the current turn. The same instance is shared by
|
|
3720
|
-
* every hook in the chain, so plugins should tag their structured log
|
|
3721
|
-
* fields (e.g. `{ plugin: "<name>" }`) for attribution.
|
|
3722
|
-
*/
|
|
3723
|
-
readonly logger: PluginLogger;
|
|
3724
3845
|
}
|
|
3725
3846
|
|
|
3726
3847
|
declare interface SubagentDetailResponse {
|
|
@@ -3943,6 +4064,13 @@ export declare interface ToolContext {
|
|
|
3943
4064
|
* @legacy
|
|
3944
4065
|
*/
|
|
3945
4066
|
allowedToolNames?: Set<string>;
|
|
4067
|
+
/**
|
|
4068
|
+
* When the conversation runs as a subagent, the parent-imposed tool
|
|
4069
|
+
* allowlist (see `SubagentRoleConfig.allowedTools`). Carried so
|
|
4070
|
+
* availability errors can name the allowlist as the gate instead of
|
|
4071
|
+
* suggesting a skill load that cannot widen it.
|
|
4072
|
+
*/
|
|
4073
|
+
subagentAllowedTools?: ReadonlySet<string>;
|
|
3946
4074
|
/**
|
|
3947
4075
|
* True when this turn is restricted to storage cleanup-safe tools.
|
|
3948
4076
|
* @legacy
|
|
@@ -4827,6 +4955,14 @@ declare const UserMessageEchoEventSchema: z.ZodObject<{
|
|
|
4827
4955
|
clientMessageId: z.ZodOptional<z.ZodString>;
|
|
4828
4956
|
}, z.core.$strict>;
|
|
4829
4957
|
|
|
4958
|
+
/**
|
|
4959
|
+
* The full `user-prompt-submit` context a hook receives — the dispatching
|
|
4960
|
+
* call site's {@link UserPromptSubmitInputContext} plus the pipeline-stamped
|
|
4961
|
+
* {@link BaseHookContext} capabilities.
|
|
4962
|
+
*/
|
|
4963
|
+
export declare interface UserPromptSubmitContext extends UserPromptSubmitInputContext, BaseHookContext {
|
|
4964
|
+
}
|
|
4965
|
+
|
|
4830
4966
|
/**
|
|
4831
4967
|
* Context passed to the `user-prompt-submit` hook. Fires once per user
|
|
4832
4968
|
* turn, after the agent loop has prepared the message list (PKB / NOW /
|
|
@@ -4836,7 +4972,7 @@ declare const UserMessageEchoEventSchema: z.ZodObject<{
|
|
|
4836
4972
|
*
|
|
4837
4973
|
* The hook may transform `latestMessages` either by mutating it in place
|
|
4838
4974
|
* (`push` / `splice` / `length = 0`) or by returning a new context with
|
|
4839
|
-
* a fresh `latestMessages` array — see
|
|
4975
|
+
* a fresh `latestMessages` array — see `HookFunction`'s polymorphic
|
|
4840
4976
|
* return shape. The daemon threads the final `latestMessages` value into
|
|
4841
4977
|
* `agentLoop.run()` as the run-messages argument.
|
|
4842
4978
|
*
|
|
@@ -4849,7 +4985,7 @@ declare const UserMessageEchoEventSchema: z.ZodObject<{
|
|
|
4849
4985
|
* hook sees the previous plugin's mutations (whether by reassignment or
|
|
4850
4986
|
* in-place mutation).
|
|
4851
4987
|
*/
|
|
4852
|
-
|
|
4988
|
+
declare interface UserPromptSubmitInputContext {
|
|
4853
4989
|
/** Conversation ID the user prompt was submitted on. */
|
|
4854
4990
|
readonly conversationId: string;
|
|
4855
4991
|
/**
|
|
@@ -4857,6 +4993,14 @@ export declare interface UserPromptSubmitContext {
|
|
|
4857
4993
|
* attach turn-scoped metadata to the originating message (e.g. recording an
|
|
4858
4994
|
* injected memory block so it survives a conversation reload) key off this
|
|
4859
4995
|
* row id rather than the in-memory message arrays, whose entries carry no id.
|
|
4996
|
+
*
|
|
4997
|
+
* @deprecated This field is always identical to {@link requestId}; use
|
|
4998
|
+
* `requestId` instead. Every path that starts an agent loop persists the
|
|
4999
|
+
* triggering user message under the turn's request ID before running, so
|
|
5000
|
+
* the message row id and the request's correlation ID are the same UUID.
|
|
5001
|
+
* This holds for the standard submit, queue-drain, subagent, voice, wake,
|
|
5002
|
+
* and conversation-analysis paths alike. This field will be removed in a
|
|
5003
|
+
* future API version.
|
|
4860
5004
|
*/
|
|
4861
5005
|
readonly userMessageId: string;
|
|
4862
5006
|
/**
|
|
@@ -4864,6 +5008,10 @@ export declare interface UserPromptSubmitContext {
|
|
|
4864
5008
|
* runtime injection forward it onto the injector turn context so the
|
|
4865
5009
|
* assembled blocks are attributed to the originating request; it is fixed
|
|
4866
5010
|
* for the turn and cannot be recovered from the message arrays.
|
|
5011
|
+
*
|
|
5012
|
+
* As of the requestId/userMessageId merge, this value is also the
|
|
5013
|
+
* persisted row ID of the user message, so hooks that previously
|
|
5014
|
+
* keyed off {@link userMessageId} can use `requestId` directly.
|
|
4867
5015
|
*/
|
|
4868
5016
|
readonly requestId: string;
|
|
4869
5017
|
/**
|
|
@@ -4911,12 +5059,6 @@ export declare interface UserPromptSubmitContext {
|
|
|
4911
5059
|
* may mutate this in place or replace it by returning a new context.
|
|
4912
5060
|
*/
|
|
4913
5061
|
latestMessages: Message[];
|
|
4914
|
-
/**
|
|
4915
|
-
* Logger scoped to the current turn. The same instance is shared by
|
|
4916
|
-
* every hook in the chain, so plugins should tag their structured log
|
|
4917
|
-
* fields (e.g. `{ plugin: "<name>" }`) for attribution.
|
|
4918
|
-
*/
|
|
4919
|
-
readonly logger: PluginLogger;
|
|
4920
5062
|
}
|
|
4921
5063
|
|
|
4922
5064
|
declare interface VellumSlimSkill extends SlimSkillBase {
|