kernl 0.9.1 → 0.11.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.
Files changed (64) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +34 -0
  3. package/dist/agent/base.d.ts +5 -1
  4. package/dist/agent/base.d.ts.map +1 -1
  5. package/dist/agent/base.js +8 -0
  6. package/dist/agent.d.ts +1 -1
  7. package/dist/agent.d.ts.map +1 -1
  8. package/dist/agent.js +15 -2
  9. package/dist/context.d.ts +2 -0
  10. package/dist/context.d.ts.map +1 -1
  11. package/dist/context.js +2 -0
  12. package/dist/index.d.ts +2 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -1
  15. package/dist/kernl/kernl.d.ts +1 -2
  16. package/dist/kernl/kernl.d.ts.map +1 -1
  17. package/dist/kernl/kernl.js +61 -1
  18. package/dist/lib/env.d.ts.map +1 -1
  19. package/dist/lib/env.js +1 -1
  20. package/dist/lifecycle/__tests__/hooks.test.d.ts +2 -0
  21. package/dist/lifecycle/__tests__/hooks.test.d.ts.map +1 -0
  22. package/dist/lifecycle/__tests__/hooks.test.js +553 -0
  23. package/dist/lifecycle.d.ts +222 -120
  24. package/dist/lifecycle.d.ts.map +1 -1
  25. package/dist/lifecycle.js +5 -23
  26. package/dist/memory/memory.js +1 -1
  27. package/dist/realtime/index.d.ts +1 -1
  28. package/dist/realtime/index.d.ts.map +1 -1
  29. package/dist/realtime/index.js +1 -1
  30. package/dist/realtime/session.d.ts +31 -22
  31. package/dist/realtime/session.d.ts.map +1 -1
  32. package/dist/realtime/session.js +64 -55
  33. package/dist/realtime/transport.d.ts +45 -0
  34. package/dist/realtime/transport.d.ts.map +1 -0
  35. package/dist/realtime/transport.js +32 -0
  36. package/dist/realtime/types.d.ts +8 -2
  37. package/dist/realtime/types.d.ts.map +1 -1
  38. package/dist/thread/__tests__/thread.test.js +2 -2
  39. package/dist/thread/thread.d.ts +2 -2
  40. package/dist/thread/thread.d.ts.map +1 -1
  41. package/dist/thread/thread.js +75 -8
  42. package/dist/thread/types.d.ts +1 -1
  43. package/dist/thread/types.d.ts.map +1 -1
  44. package/package.json +4 -4
  45. package/src/agent/base.ts +13 -1
  46. package/src/agent.ts +17 -3
  47. package/src/context.ts +2 -0
  48. package/src/index.ts +10 -1
  49. package/src/kernl/kernl.ts +67 -3
  50. package/src/lib/env.ts +3 -1
  51. package/src/lifecycle/__tests__/hooks.test.ts +668 -0
  52. package/src/lifecycle.ts +289 -163
  53. package/src/memory/memory.ts +1 -1
  54. package/src/realtime/index.ts +1 -1
  55. package/src/realtime/session.ts +88 -64
  56. package/src/realtime/transport.ts +64 -0
  57. package/src/realtime/types.ts +10 -2
  58. package/src/thread/__tests__/thread.test.ts +2 -2
  59. package/src/thread/thread.ts +88 -10
  60. package/src/thread/types.ts +1 -1
  61. package/dist/realtime/channel.d.ts +0 -30
  62. package/dist/realtime/channel.d.ts.map +0 -1
  63. package/dist/realtime/channel.js +0 -1
  64. package/src/realtime/channel.ts +0 -32
@@ -1,4 +1,4 @@
1
1
 
2
- > kernl@0.9.1 build /home/runner/work/kernl/kernl/packages/kernl
2
+ > kernl@0.11.0 build /home/runner/work/kernl/kernl/packages/kernl
3
3
  > tsc && tsc-alias --resolve-full-paths
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @kernl/core
2
2
 
3
+ ## 0.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - bb6ac60: Add lifecycle hooks for observing agent execution
8
+ - New events: `thread.start`, `thread.stop`, `model.call.start`, `model.call.end`, `tool.call.start`, `tool.call.end`
9
+ - Subscribe via `agent.on()` or `kernl.on()` for global hooks
10
+ - Fixed error propagation in thread execution
11
+ - Normalized `ErrorEvent.error` to always be an `Error` instance
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [bb6ac60]
16
+ - @kernl-sdk/protocol@0.4.1
17
+ - @kernl-sdk/retrieval@0.1.7
18
+
19
+ ## 0.10.0
20
+
21
+ ### Minor Changes
22
+
23
+ - f593374: Add realtime voice agents with multi-provider support.
24
+ - `RealtimeAgent` and `RealtimeSession` for voice-enabled AI agents
25
+ - OpenAI GPT-4o realtime with WebSocket streaming
26
+ - xAI Grok realtime with OpenAI-compatible protocol
27
+ - React hooks: `useRealtime`, `useBrowserAudio`, `LiveWaveform`
28
+ - Ephemeral credential pattern for secure browser connections
29
+ - Tool execution with client-side context support
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies [f593374]
34
+ - @kernl-sdk/protocol@0.4.0
35
+ - @kernl-sdk/retrieval@0.1.6
36
+
3
37
  ## 0.9.1
4
38
 
5
39
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  import type { Context, UnknownContext } from "../context.js";
2
2
  import type { Tool, BaseToolkit } from "../tool/index.js";
3
- import { AgentHooks } from "../lifecycle.js";
3
+ import { AgentHooks, type AgentHookEvents } from "../lifecycle.js";
4
4
  import type { Kernl } from "../kernl/index.js";
5
5
  import type { AgentMemoryCreate, AgentMemoryUpdate, MemoryListOptions, MemorySearchQuery } from "../memory/index.js";
6
6
  import type { AgentKind, AgentMemoryConfig, AgentOutputType } from "./types.js";
@@ -45,6 +45,10 @@ export declare abstract class BaseAgent<TContext = UnknownContext, TOutput exten
45
45
  * Bind this agent to a kernl instance. Called by kernl.register().
46
46
  */
47
47
  bind(kernl: Kernl): void;
48
+ /**
49
+ * Emit a lifecycle event to agent and kernl listeners.
50
+ */
51
+ emit<K extends keyof AgentHookEvents<TContext, TOutput>>(event: K, ...args: AgentHookEvents<TContext, TOutput>[K]): boolean;
48
52
  /**
49
53
  * Get a specific tool by ID from systools and toolkits.
50
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agent/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agent/base.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,14 @@ export class BaseAgent extends AgentHooks {
49
49
  toolkit.bind(this);
50
50
  }
51
51
  }
52
+ /**
53
+ * Emit a lifecycle event to agent and kernl listeners.
54
+ */
55
+ emit(event, ...args) {
56
+ const result = super.emit(event, ...args);
57
+ this.kernl?.emit(event, ...args);
58
+ return result;
59
+ }
52
60
  /**
53
61
  * Get a specific tool by ID from systools and toolkits.
54
62
  */
package/dist/agent.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { LanguageModel, LanguageModelItem, LanguageModelRequestSettings } from "@kernl-sdk/protocol";
2
2
  import type { RThreadsListParams, RThreadCreateParams, RThreadGetOptions, RThreadHistoryParams, RThreadUpdateParams } from "./api/resources/threads/types.js";
3
- import type { UnknownContext } from "./context.js";
3
+ import { type UnknownContext } from "./context.js";
4
4
  import { InputGuardrail, OutputGuardrail, type ResolvedAgentResponse } from "./guardrail.js";
5
5
  import { BaseAgent } from "./agent/base.js";
6
6
  import type { AgentConfig, AgentOutputType } from "./agent/types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EACL,cAAc,EACd,eAAe,EACf,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,KAAK,CACd,QAAQ,GAAG,cAAc,EACzB,OAAO,SAAS,eAAe,GAAG,UAAU,CAE9C,SAAQ,SAAS,CAAC,QAAQ,EAAE,OAAO,CACnC,YAAW,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAEzC,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;IAErD,QAAQ,CAAC,UAAU,EAAE;QACnB,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC;KAC5C,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAqB;IAC7C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;gBAEtB,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAYlD;;;;;OAKG;IACG,GAAG,CACP,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,EACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAkD/D;;;;;;;OAOG;IACI,MAAM,CACX,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,EACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACvC,aAAa,CAAC,iBAAiB,CAAC;IAmDnC;;;;OAIG;IACH,IAAI,OAAO;mBAWI,MAAM,YAAY,iBAAiB;wBAE/B,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;sBAEpC,MAAM;uBACL,MAAM,WAAW,oBAAoB;yBAEnC,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,OAAO,CAAC;sBASjD,MAAM,SAAS,mBAAmB;MAGnD;CACF"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EACL,cAAc,EACd,eAAe,EACf,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,KAAK,CACd,QAAQ,GAAG,cAAc,EACzB,OAAO,SAAS,eAAe,GAAG,UAAU,CAE9C,SAAQ,SAAS,CAAC,QAAQ,EAAE,OAAO,CACnC,YAAW,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAEzC,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;IAErD,QAAQ,CAAC,UAAU,EAAE;QACnB,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC;KAC5C,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAqB;IAC7C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;gBAEtB,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAYlD;;;;;OAKG;IACG,GAAG,CACP,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,EACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAyD/D;;;;;;;OAOG;IACI,MAAM,CACX,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,EACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACvC,aAAa,CAAC,iBAAiB,CAAC;IA0DnC;;;;OAIG;IACH,IAAI,OAAO;mBAWI,MAAM,YAAY,iBAAiB;wBAE/B,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;sBAEpC,MAAM;uBACL,MAAM,WAAW,oBAAoB;yBAEnC,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,OAAO,CAAC;sBASjD,MAAM,SAAS,mBAAmB;MAGnD;CACF"}
package/dist/agent.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { message, } from "@kernl-sdk/protocol";
2
2
  import { Thread } from "./thread/index.js";
3
+ import { Context } from "./context.js";
3
4
  import { BaseAgent } from "./agent/base.js";
4
5
  import { MisconfiguredError, RuntimeError } from "./lib/error.js";
5
6
  export class Agent extends BaseAgent {
@@ -49,10 +50,13 @@ export class Agent extends BaseAgent {
49
50
  }
50
51
  // create new thread if not found in storage or no tid provided
51
52
  if (!thread) {
53
+ const ctx = options?.context
54
+ ? new Context(options?.namespace ?? "kernl", options.context)
55
+ : undefined;
52
56
  thread = new Thread({
53
57
  agent: this,
54
58
  input: items,
55
- context: options?.context,
59
+ context: ctx,
56
60
  model: options?.model,
57
61
  task: options?.task,
58
62
  tid: options?.threadId,
@@ -62,6 +66,9 @@ export class Agent extends BaseAgent {
62
66
  return this.kernl.spawn(thread);
63
67
  }
64
68
  // resume existing thread from storage
69
+ if (options?.context) {
70
+ thread.context.context = options.context;
71
+ }
65
72
  thread.append(...items);
66
73
  return this.kernl.schedule(thread);
67
74
  }
@@ -97,10 +104,13 @@ export class Agent extends BaseAgent {
97
104
  }
98
105
  // create new thread if not found in storage or no tid provided
99
106
  if (!thread) {
107
+ const ctx = options?.context
108
+ ? new Context(options?.namespace ?? "kernl", options.context)
109
+ : undefined;
100
110
  thread = new Thread({
101
111
  agent: this,
102
112
  input: items,
103
- context: options?.context,
113
+ context: ctx,
104
114
  model: options?.model,
105
115
  task: options?.task,
106
116
  tid: options?.threadId,
@@ -111,6 +121,9 @@ export class Agent extends BaseAgent {
111
121
  return;
112
122
  }
113
123
  // resume existing thread from storage
124
+ if (options?.context) {
125
+ thread.context.context = options.context;
126
+ }
114
127
  thread.append(...items);
115
128
  yield* this.kernl.scheduleStream(thread);
116
129
  }
package/dist/context.d.ts CHANGED
@@ -19,6 +19,8 @@ export declare class Context<TContext = UnknownContext> {
19
19
  /**
20
20
  * The agent executing this context.
21
21
  * Set by the thread during execution.
22
+ *
23
+ * NOTE: Primarily used by system tools (e.g., memory) that need agent access.
22
24
  */
23
25
  agent?: Agent<TContext, any>;
24
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;AAErC;;;GAGG;AACH,qBAAa,OAAO,CAAC,QAAQ,GAAG,cAAc;IAC5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAM7B;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEvC;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI7B;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;gBAwBhB,SAAS,GAAE,MAAgB,EAAE,OAAO,GAAE,QAAyB;IAS3E;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM;IAevC;;;;;;;;;;;;;;OAcG;IACH,EAAE,IAAI,MAAM;IAIZ;;;;;;;;;;OAUG;IACH,IAAI,IAAI,MAAM;IAId,MAAM,IAAI;QACR,OAAO,EAAE,GAAG,CAAC;KAGd;CAOF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;AAErC;;;GAGG;AACH,qBAAa,OAAO,CAAC,QAAQ,GAAG,cAAc;IAC5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC;IAElB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAM7B;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEvC;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI7B;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;gBAwBhB,SAAS,GAAE,MAAgB,EAAE,OAAO,GAAE,QAAyB;IAS3E;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM;IAevC;;;;;;;;;;;;;;OAcG;IACH,EAAE,IAAI,MAAM;IAIZ;;;;;;;;;;OAUG;IACH,IAAI,IAAI,MAAM;IAId,MAAM,IAAI;QACR,OAAO,EAAE,GAAG,CAAC;KAGd;CAOF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC"}
package/dist/context.js CHANGED
@@ -14,6 +14,8 @@ export class Context {
14
14
  /**
15
15
  * The agent executing this context.
16
16
  * Set by the thread during execution.
17
+ *
18
+ * NOTE: Primarily used by system tools (e.g., memory) that need agent access.
17
19
  */
18
20
  agent;
19
21
  // ----------------------
package/dist/index.d.ts CHANGED
@@ -2,9 +2,10 @@ export { Kernl } from "./kernl/index.js";
2
2
  export type { KernlOptions, StorageOptions, AgentRegistry, ModelRegistry, } from "./kernl/index.js";
3
3
  export { Agent } from "./agent.js";
4
4
  export { Context } from "./context.js";
5
+ export { RealtimeAgent, RealtimeSession, WebSocketTransport } from "./realtime/index.js";
6
+ export type { RealtimeAgentConfig, RealtimeAgentVoiceConfig, RealtimeSessionOptions, WebSocketTransportOptions, } from "./realtime/index.js";
5
7
  export { tool, Toolkit, FunctionToolkit, MCPToolkit } from "./tool/index.js";
6
8
  export { MCPServerSSE } from "./mcp/sse.js";
7
- export { MCPServerStdio } from "./mcp/stdio.js";
8
9
  export { MCPServerStreamableHttp } from "./mcp/http.js";
9
10
  export type { MThread as Thread, MThreadEvent as ThreadEvent, MThreadEventBase as ThreadEventBase, } from "./api/models/index.js";
10
11
  export type { RThreadsListParams as ThreadsListParams, RThreadGetOptions as ThreadGetOptions, RThreadHistoryParams as ThreadHistoryParams, RThreadCreateParams as ThreadCreateParams, RThreadUpdateParams as ThreadUpdateParams, } from "./api/resources/threads/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAIrD,YAAY,EACV,OAAO,IAAI,MAAM,EACjB,YAAY,IAAI,WAAW,EAC3B,gBAAgB,IAAI,eAAe,GACpC,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,kBAAkB,IAAI,iBAAiB,EACvC,iBAAiB,IAAI,gBAAgB,EACrC,oBAAoB,IAAI,mBAAmB,EAC3C,mBAAmB,IAAI,kBAAkB,EACzC,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAIxB,YAAY,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChF,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAIrD,YAAY,EACV,OAAO,IAAI,MAAM,EACjB,YAAY,IAAI,WAAW,EAC3B,gBAAgB,IAAI,eAAe,GACpC,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,kBAAkB,IAAI,iBAAiB,EACvC,iBAAiB,IAAI,gBAAgB,EACrC,oBAAoB,IAAI,mBAAmB,EAC3C,mBAAmB,IAAI,kBAAkB,EACzC,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAIxB,YAAY,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  export { Kernl } from "./kernl/index.js";
2
2
  export { Agent } from "./agent.js";
3
3
  export { Context } from "./context.js";
4
+ // --- realtime ---
5
+ export { RealtimeAgent, RealtimeSession, WebSocketTransport } from "./realtime/index.js";
4
6
  // --- tools --
5
7
  export { tool, Toolkit, FunctionToolkit, MCPToolkit } from "./tool/index.js";
6
8
  export { MCPServerSSE } from "./mcp/sse.js";
7
- export { MCPServerStdio } from "./mcp/stdio.js";
8
9
  export { MCPServerStreamableHttp } from "./mcp/http.js";
9
10
  export { THREAD_STATES, } from "./thread/types.js";
10
11
  // --- memory ---
@@ -1,5 +1,4 @@
1
1
  import { BaseAgent } from "../agent/base.js";
2
- import { UnknownContext } from "../context.js";
3
2
  import { KernlHooks } from "../lifecycle.js";
4
3
  import type { Thread } from "../thread/index.js";
5
4
  import type { ResolvedAgentResponse } from "../guardrail.js";
@@ -16,7 +15,7 @@ import type { KernlOptions } from "./types.js";
16
15
  * Orchestrates agent execution, including guardrails, tool calls, session persistence, and
17
16
  * tracing.
18
17
  */
19
- export declare class Kernl extends KernlHooks<UnknownContext, AgentOutputType> {
18
+ export declare class Kernl extends KernlHooks {
20
19
  private readonly _agents;
21
20
  private readonly _models;
22
21
  readonly storage: KernlStorage;
@@ -1 +1 @@
1
- {"version":3,"file":"kernl.d.ts","sourceRoot":"","sources":["../../src/kernl/kernl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EACL,MAAM,EAIP,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,SAAS,CAAC;AAE3E;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,UAAU,CAAC,cAAc,EAAE,eAAe,CAAC;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IAEjE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAa;IAEpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAEvD,OAAO,CAAC,QAAQ,CAGd;IAGF,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,GAAE,YAAiB;IAatC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAgChC;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,OAAO,SAAS,eAAe,EACnD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAS/D;;;;OAIG;IACG,QAAQ,CAAC,QAAQ,EAAE,OAAO,SAAS,eAAe,EACtD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAS/D;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,OAAO,SAAS,eAAe,EAC1D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAChC,aAAa,CAAC,iBAAiB,CAAC;IASnC;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,OAAO,SAAS,eAAe,EAC7D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAChC,aAAa,CAAC,iBAAiB,CAAC;IAWnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CA6BzB"}
1
+ {"version":3,"file":"kernl.d.ts","sourceRoot":"","sources":["../../src/kernl/kernl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EACL,MAAM,EAIP,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,SAAS,CAAC;AAE3E;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,UAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IAEjE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAa;IAEpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAEvD,OAAO,CAAC,QAAQ,CAGd;IAGF,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,GAAE,YAAiB;IAatC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAgChC;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,OAAO,SAAS,eAAe,EACnD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IA2C/D;;;;OAIG;IACG,QAAQ,CAAC,QAAQ,EAAE,OAAO,SAAS,eAAe,EACtD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAS/D;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,OAAO,SAAS,eAAe,EAC1D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAChC,aAAa,CAAC,iBAAiB,CAAC;IAwCnC;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,OAAO,SAAS,eAAe,EAC7D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAChC,aAAa,CAAC,iBAAiB,CAAC;IAWnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CA6BzB"}
@@ -68,8 +68,39 @@ export class Kernl extends KernlHooks {
68
68
  */
69
69
  async spawn(thread) {
70
70
  this.athreads.set(thread.tid, thread);
71
+ this.emit("thread.start", {
72
+ kind: "thread.start",
73
+ threadId: thread.tid,
74
+ agentId: thread.agent.id,
75
+ namespace: thread.namespace,
76
+ context: thread.context,
77
+ });
71
78
  try {
72
- return await thread.execute();
79
+ const result = await thread.execute();
80
+ this.emit("thread.stop", {
81
+ kind: "thread.stop",
82
+ threadId: thread.tid,
83
+ agentId: thread.agent.id,
84
+ namespace: thread.namespace,
85
+ context: thread.context,
86
+ state: thread.state,
87
+ outcome: "success",
88
+ result: result.response,
89
+ });
90
+ return result;
91
+ }
92
+ catch (err) {
93
+ this.emit("thread.stop", {
94
+ kind: "thread.stop",
95
+ threadId: thread.tid,
96
+ agentId: thread.agent.id,
97
+ namespace: thread.namespace,
98
+ context: thread.context,
99
+ state: thread.state,
100
+ outcome: "error",
101
+ error: err instanceof Error ? err.message : String(err),
102
+ });
103
+ throw err;
73
104
  }
74
105
  finally {
75
106
  this.athreads.delete(thread.tid);
@@ -96,8 +127,37 @@ export class Kernl extends KernlHooks {
96
127
  */
97
128
  async *spawnStream(thread) {
98
129
  this.athreads.set(thread.tid, thread);
130
+ this.emit("thread.start", {
131
+ kind: "thread.start",
132
+ threadId: thread.tid,
133
+ agentId: thread.agent.id,
134
+ namespace: thread.namespace,
135
+ context: thread.context,
136
+ });
99
137
  try {
100
138
  yield* thread.stream();
139
+ this.emit("thread.stop", {
140
+ kind: "thread.stop",
141
+ threadId: thread.tid,
142
+ agentId: thread.agent.id,
143
+ namespace: thread.namespace,
144
+ context: thread.context,
145
+ state: thread.state,
146
+ outcome: "success",
147
+ });
148
+ }
149
+ catch (err) {
150
+ this.emit("thread.stop", {
151
+ kind: "thread.stop",
152
+ threadId: thread.tid,
153
+ agentId: thread.agent.id,
154
+ namespace: thread.namespace,
155
+ context: thread.context,
156
+ state: thread.state,
157
+ outcome: "error",
158
+ error: err instanceof Error ? err.message : String(err),
159
+ });
160
+ throw err;
101
161
  }
102
162
  finally {
103
163
  this.athreads.delete(thread.tid);
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;iBAab,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,GAAG;;;;CAA+B,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;iBAab,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,GAAG;;;;CAEf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
package/dist/lib/env.js CHANGED
@@ -26,4 +26,4 @@ const envSchema = z.object({
26
26
  * import { env } from '@/env';
27
27
  * console.log(env.LOG_LEVEL);
28
28
  */
29
- export const env = envSchema.parse(process.env);
29
+ export const env = envSchema.parse(typeof process !== "undefined" ? process.env : {});
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hooks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.test.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/__tests__/hooks.test.ts"],"names":[],"mappings":""}