@theokit/agents 0.44.4 → 0.45.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.
@@ -587,17 +587,8 @@ interface DefineAgentConfig<TInput extends z.ZodType = z.ZodType> {
587
587
  * + execution (G2 / ADR-0040); theokit only wires this into `Agent.create({ local.settingSources })`.
588
588
  */
589
589
  settingSources?: readonly SettingSource[];
590
- /**
591
- * Code `Plugin` objects forwarded to `Agent.create({ plugins })` — EXTENSION units (tools,
592
- * commands, model providers, memory adapters). For lifecycle interception use {@link hooks}.
593
- */
590
+ /** Code `Plugin` objects forwarded to `Agent.create({ plugins })` (lifecycle-hook seam). */
594
591
  plugins?: readonly unknown[];
595
- /**
596
- * Lifecycle hooks keyed by `HookName` (`pre_tool_call` may veto via `{ block, message }`). Set by
597
- * the builder's `hooks()`; converted into a code plugin at `build()` and never reaching the SDK
598
- * under this name — the plugin is the TRANSPORT, this is the contract callers write against.
599
- */
600
- hooks?: Readonly<Record<string, unknown>>;
601
592
  /**
602
593
  * MCP servers available to the agent — the builder-chain equivalent of the `@MCP` class
603
594
  * decorator. Each key is a server name; the value is the server configuration. Forwarded
@@ -940,32 +931,12 @@ interface AgentBuilder<TInput extends z.ZodType | UnsetMarker = UnsetMarker, TMo
940
931
  * shell-executing hooks from `.theokit/hooks.json` — opt-in because `.theokit/` is your own repo.
941
932
  */
942
933
  settingSources(sources: readonly SettingSource[]): AgentBuilder<TInput, TModel, TContext, TTools>;
943
- /**
944
- * Attach LIFECYCLE HOOKS in code, keyed by `HookName` — the builder-chain seam for intercepting
945
- * the agent loop. `pre_tool_call` may VETO a tool by returning `{ block: true, message }` before
946
- * it runs; the other events are observational.
947
- *
948
- * ```ts
949
- * agent().hooks({
950
- * pre_tool_call: (c) => guard(c.name) ? undefined : { block: true, message: 'not allowed' },
951
- * on_session_start: () => log('session up'),
952
- * })
953
- * ```
954
- *
955
- * A hook is delivered internally as a code plugin, but that is TRANSPORT, not the contract — use
956
- * this instead of hand-wrapping a plugin, so the caller expresses interception rather than
957
- * assembling plumbing. Call once — a later call replaces the map. Composes with
958
- * {@link AgentBuilder.plugins}: hooks and plugins are additive, not exclusive.
959
- */
960
- hooks(map: Readonly<Record<string, unknown>>): AgentBuilder<TInput, TModel, TContext, TTools>;
961
934
  /**
962
935
  * Register code `Plugin` objects for this agent — the builder-chain equivalent of
963
- * `Agent.create({ plugins })`. A plugin is an EXTENSION UNIT: it can register tools and commands,
964
- * or supply a model provider / memory adapter (`kind: 'general' | 'model-provider' | 'memory'`).
965
- *
966
- * For lifecycle interception prefer {@link AgentBuilder.hooks} a hook needs a plugin only as its
967
- * transport, and `plugins()` makes the caller assemble that transport by hand. Reach for this when
968
- * you genuinely have a plugin (a provider, a memory adapter, a tool-registering extension).
936
+ * `Agent.create({ plugins })`. This is how a fluent-built agent gets LIFECYCLE HOOKS in code:
937
+ * `plugins([createToolHooksPlugin({ beforeToolCall, afterToolCall })])` lets `beforeToolCall`
938
+ * VETO a tool call (`{ block, message }`) before it runs. Without this the fluent builder had no
939
+ * way to reach the SDK's plugin seam (file-based `.theokit/hooks.json` is the other path).
969
940
  */
970
941
  plugins(list: readonly unknown[]): AgentBuilder<TInput, TModel, TContext, TTools>;
971
942
  /**
package/dist/bridge.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { c as AGENT_BRAND, d as AfterToolCallContext, e as AgentBuilder, f as AgentDefinition, g as AgentDefinitionError, h as AgentExecutionContext, i as AgentManifest, A as AgentManifestEntry, j as AgentManifestTool, k as AgentRoute, l as AgentRouteContext, m as AgentRunInfo, n as AgentStreamEvent, o as AgentTurnMetadata, p as AgentWalkResult, q as AgentWarningCode, r as AgentsPluginOptions, s as ApiErrorContext, t as ApiErrorDecision, u as ApiErrorPolicy, v as ApprovalRequiredEvent, w as ArtifactChunkEvent, x as ArtifactStartEvent, B as BackgroundDelegation, y as BeforeToolCallContext, z as BudgetExceededError, E as CheckpointSavedEvent, C as CompiledAgentOptions, F as CompiledContextWindow, a as CompiledTool, G as ContextualTool, I as DefineAgentConfig, J as DelegateFn, K as DelegateOptions, M as DelegationError, D as DelegationResult, N as DoneEvent, O as ErrorEvent, P as FileEditEvent, T as InferAgentInput, U as InferAgentToolNames, V as IterationEvent, W as LLMCallContext, _ as McpApprovalSpec, $ as McpRegistryConfig, a0 as McpRequestContext, a1 as McpSelection, a2 as PartialToolCallEvent, a3 as ProcessInputContext, a7 as RunStartedEvent, a8 as ScoreVerdict, a9 as ScoredDelegation, aa as Scorer, ab as SdkAgentHandle, ac as SdkMessage, ad as Segment, ag as StateUpdateEvent, S as StreamEvent, ah as TextDeltaEvent, ai as ThinkingEvent, aj as ToolCallEvent, ak as ToolCallVeto, al as ToolHooks, am as ToolHooksPlugin, an as ToolResultEvent, ao as ToolWalkResult, ap as ToolboxWalkResult, aq as agent, ar as agentsPlugin, as as buildModelSelection, at as compileAgent, au as compileAgentDefinition, av as compileAgentModule, aw as compileContextWindow, ax as compileProjectContext, ay as compileSkills, az as compileTools, aA as contextualTool, aB as createAgentExecutionContext, aC as createApiErrorHandler, aD as createSdkAgentStream, aE as createThinkTagExtractor, aF as createToolHooksPlugin, aG as delegate, aH as delegateBackground, aI as delegateWithScoring, aJ as extractThinkTagStream, aK as generateAgentManifest, aL as generateAgentRoutes, aM as isAgentContext, aN as isAgentDefinition, aO as isApprovalRequired, aP as isDone, aQ as isError, aR as isPartialToolCall, aS as isTextDelta, aT as isToolCall, aU as isToolResult, aX as mcpRegistry, aY as mcpToolApprovals, a_ as projectContextMetadataOnlyKnobs, b2 as resolveMcpServers, b3 as runWithApiErrorHandling, b4 as streamAgentResponse, b5 as streamAgentUIMessages, b6 as toAgentFactory, b7 as translateSdkEvent, b8 as translateToUIMessageStream, b9 as validateUniqueRoutes, ba as walkAgentMetadata } from './bridge-entry-BtFJdaCe.js';
1
+ export { c as AGENT_BRAND, d as AfterToolCallContext, e as AgentBuilder, f as AgentDefinition, g as AgentDefinitionError, h as AgentExecutionContext, i as AgentManifest, A as AgentManifestEntry, j as AgentManifestTool, k as AgentRoute, l as AgentRouteContext, m as AgentRunInfo, n as AgentStreamEvent, o as AgentTurnMetadata, p as AgentWalkResult, q as AgentWarningCode, r as AgentsPluginOptions, s as ApiErrorContext, t as ApiErrorDecision, u as ApiErrorPolicy, v as ApprovalRequiredEvent, w as ArtifactChunkEvent, x as ArtifactStartEvent, B as BackgroundDelegation, y as BeforeToolCallContext, z as BudgetExceededError, E as CheckpointSavedEvent, C as CompiledAgentOptions, F as CompiledContextWindow, a as CompiledTool, G as ContextualTool, I as DefineAgentConfig, J as DelegateFn, K as DelegateOptions, M as DelegationError, D as DelegationResult, N as DoneEvent, O as ErrorEvent, P as FileEditEvent, T as InferAgentInput, U as InferAgentToolNames, V as IterationEvent, W as LLMCallContext, _ as McpApprovalSpec, $ as McpRegistryConfig, a0 as McpRequestContext, a1 as McpSelection, a2 as PartialToolCallEvent, a3 as ProcessInputContext, a7 as RunStartedEvent, a8 as ScoreVerdict, a9 as ScoredDelegation, aa as Scorer, ab as SdkAgentHandle, ac as SdkMessage, ad as Segment, ag as StateUpdateEvent, S as StreamEvent, ah as TextDeltaEvent, ai as ThinkingEvent, aj as ToolCallEvent, ak as ToolCallVeto, al as ToolHooks, am as ToolHooksPlugin, an as ToolResultEvent, ao as ToolWalkResult, ap as ToolboxWalkResult, aq as agent, ar as agentsPlugin, as as buildModelSelection, at as compileAgent, au as compileAgentDefinition, av as compileAgentModule, aw as compileContextWindow, ax as compileProjectContext, ay as compileSkills, az as compileTools, aA as contextualTool, aB as createAgentExecutionContext, aC as createApiErrorHandler, aD as createSdkAgentStream, aE as createThinkTagExtractor, aF as createToolHooksPlugin, aG as delegate, aH as delegateBackground, aI as delegateWithScoring, aJ as extractThinkTagStream, aK as generateAgentManifest, aL as generateAgentRoutes, aM as isAgentContext, aN as isAgentDefinition, aO as isApprovalRequired, aP as isDone, aQ as isError, aR as isPartialToolCall, aS as isTextDelta, aT as isToolCall, aU as isToolResult, aX as mcpRegistry, aY as mcpToolApprovals, a_ as projectContextMetadataOnlyKnobs, b2 as resolveMcpServers, b3 as runWithApiErrorHandling, b4 as streamAgentResponse, b5 as streamAgentUIMessages, b6 as toAgentFactory, b7 as translateSdkEvent, b8 as translateToUIMessageStream, b9 as validateUniqueRoutes, ba as walkAgentMetadata } from './bridge-entry-DQJMvdRy.js';
2
2
  import '@theokit/http';
3
3
  import './types-DVA4LQsA.js';
4
4
  import '@theokit/sdk';
package/dist/bridge.js CHANGED
@@ -47,7 +47,7 @@ import {
47
47
  translateToUIMessageStream,
48
48
  validateUniqueRoutes,
49
49
  walkAgentMetadata
50
- } from "./chunk-TFGN3AJV.js";
50
+ } from "./chunk-XRPFOFYF.js";
51
51
  import "./chunk-NERDIS45.js";
52
52
  import "./chunk-7QVYU63E.js";
53
53
  export {
@@ -562,10 +562,9 @@ function compileAgentDefinition(def) {
562
562
  ...def.settingSources !== void 0 ? {
563
563
  settingSources: def.settingSources
564
564
  } : {},
565
- // Hooks are converted here — the layer EVERY path converges on — rather than on the builder, so
566
- // `defineAgent({ hooks })` cannot type-check and silently no-op. A lifecycle hook that is
567
- // declared but never registered is a security gate that does not gate.
568
- ...compileHooksAndPlugins(def),
565
+ ...def.plugins !== void 0 ? {
566
+ plugins: def.plugins
567
+ } : {},
569
568
  // MCP — builder/`defineAgent` servers converge on the same `mcpServers` field the `@MCP`
570
569
  // decorator path populates; the SDK adapter forwards it to `Agent.create({ mcpServers })`.
571
570
  ...def.mcpServers !== void 0 ? {
@@ -574,33 +573,6 @@ function compileAgentDefinition(def) {
574
573
  };
575
574
  }
576
575
  __name(compileAgentDefinition, "compileAgentDefinition");
577
- function compileHooksAndPlugins(def) {
578
- const map = def.hooks;
579
- const entries = Object.entries(map ?? {}).filter(([, h]) => typeof h === "function");
580
- const explicit = def.plugins ?? [];
581
- if (entries.length === 0) {
582
- return def.plugins !== void 0 ? {
583
- plugins: def.plugins
584
- } : {};
585
- }
586
- const plugin = {
587
- name: "theokit-builder-hooks",
588
- version: "1.0.0",
589
- kind: "general",
590
- register(ctx) {
591
- for (const [hookName, handler] of entries) {
592
- ctx.on(hookName, handler);
593
- }
594
- }
595
- };
596
- return {
597
- plugins: [
598
- ...explicit,
599
- plugin
600
- ]
601
- };
602
- }
603
- __name(compileHooksAndPlugins, "compileHooksAndPlugins");
604
576
  function compileSkillsSelection(skills) {
605
577
  if (skills === void 0) return {};
606
578
  if (typeof skills === "function") return {
@@ -1729,10 +1701,6 @@ function makeBuilder(config) {
1729
1701
  ...config,
1730
1702
  settingSources: sources
1731
1703
  }), "settingSources"),
1732
- hooks: /* @__PURE__ */ __name((map) => makeBuilder({
1733
- ...config,
1734
- hooks: map
1735
- }), "hooks"),
1736
1704
  plugins: /* @__PURE__ */ __name((list) => makeBuilder({
1737
1705
  ...config,
1738
1706
  plugins: list
@@ -3117,4 +3085,4 @@ export {
3117
3085
  generateAgentManifest,
3118
3086
  agentsPlugin
3119
3087
  };
3120
- //# sourceMappingURL=chunk-TFGN3AJV.js.map
3088
+ //# sourceMappingURL=chunk-XRPFOFYF.js.map