kernl 0.1.1

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 (257) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/CHANGELOG.md +53 -0
  3. package/LICENSE +201 -0
  4. package/dist/agent.d.ts +43 -0
  5. package/dist/agent.d.ts.map +1 -0
  6. package/dist/agent.js +130 -0
  7. package/dist/context.d.ts +70 -0
  8. package/dist/context.d.ts.map +1 -0
  9. package/dist/context.js +111 -0
  10. package/dist/env.d.ts +45 -0
  11. package/dist/env.d.ts.map +1 -0
  12. package/dist/env.js +31 -0
  13. package/dist/error.d.ts +1 -0
  14. package/dist/error.d.ts.map +1 -0
  15. package/dist/error.js +1 -0
  16. package/dist/guardrail.d.ts +178 -0
  17. package/dist/guardrail.d.ts.map +1 -0
  18. package/dist/guardrail.js +34 -0
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +2 -0
  22. package/dist/kernel.d.ts +7 -0
  23. package/dist/kernel.d.ts.map +1 -0
  24. package/dist/kernel.js +7 -0
  25. package/dist/kernl.d.ts +18 -0
  26. package/dist/kernl.d.ts.map +1 -0
  27. package/dist/kernl.js +16 -0
  28. package/dist/lib/env.d.ts +43 -0
  29. package/dist/lib/env.d.ts.map +1 -0
  30. package/dist/lib/env.js +29 -0
  31. package/dist/lib/error.d.ts +88 -0
  32. package/dist/lib/error.d.ts.map +1 -0
  33. package/dist/lib/error.js +117 -0
  34. package/dist/lib/logger.d.ts +36 -0
  35. package/dist/lib/logger.d.ts.map +1 -0
  36. package/dist/lib/logger.js +43 -0
  37. package/dist/lib/serde/__tests__/codec.test.d.ts +2 -0
  38. package/dist/lib/serde/__tests__/codec.test.d.ts.map +1 -0
  39. package/dist/lib/serde/__tests__/codec.test.js +75 -0
  40. package/dist/lib/serde/codec.d.ts +12 -0
  41. package/dist/lib/serde/codec.d.ts.map +1 -0
  42. package/dist/lib/serde/codec.js +54 -0
  43. package/dist/lib/serde/json.d.ts +8 -0
  44. package/dist/lib/serde/json.d.ts.map +1 -0
  45. package/dist/lib/serde/json.js +13 -0
  46. package/dist/lib/serde/thread.d.ts +1 -0
  47. package/dist/lib/serde/thread.d.ts.map +1 -0
  48. package/dist/lib/serde/thread.js +172 -0
  49. package/dist/lib/serde/tool.d.ts +36 -0
  50. package/dist/lib/serde/tool.d.ts.map +1 -0
  51. package/dist/lib/serde/tool.js +1 -0
  52. package/dist/lib/utils.d.ts +19 -0
  53. package/dist/lib/utils.d.ts.map +1 -0
  54. package/dist/lib/utils.js +41 -0
  55. package/dist/lifecycle.d.ts +133 -0
  56. package/dist/lifecycle.d.ts.map +1 -0
  57. package/dist/lifecycle.js +29 -0
  58. package/dist/logger.d.ts +36 -0
  59. package/dist/logger.d.ts.map +1 -0
  60. package/dist/logger.js +43 -0
  61. package/dist/mcp/__tests__/base.test.d.ts +2 -0
  62. package/dist/mcp/__tests__/base.test.d.ts.map +1 -0
  63. package/dist/mcp/__tests__/base.test.js +268 -0
  64. package/dist/mcp/__tests__/fixtures/echo-server.d.ts +3 -0
  65. package/dist/mcp/__tests__/fixtures/echo-server.d.ts.map +1 -0
  66. package/dist/mcp/__tests__/fixtures/echo-server.js +92 -0
  67. package/dist/mcp/__tests__/fixtures/math-server.d.ts +3 -0
  68. package/dist/mcp/__tests__/fixtures/math-server.d.ts.map +1 -0
  69. package/dist/mcp/__tests__/fixtures/math-server.js +98 -0
  70. package/dist/mcp/__tests__/fixtures/server.d.ts +3 -0
  71. package/dist/mcp/__tests__/fixtures/server.d.ts.map +1 -0
  72. package/dist/mcp/__tests__/fixtures/server.js +162 -0
  73. package/dist/mcp/__tests__/fixtures/test-server.d.ts +3 -0
  74. package/dist/mcp/__tests__/fixtures/test-server.d.ts.map +1 -0
  75. package/dist/mcp/__tests__/fixtures/test-server.js +163 -0
  76. package/dist/mcp/__tests__/fixtures/utils.d.ts +17 -0
  77. package/dist/mcp/__tests__/fixtures/utils.d.ts.map +1 -0
  78. package/dist/mcp/__tests__/fixtures/utils.js +42 -0
  79. package/dist/mcp/__tests__/integration.test.d.ts +2 -0
  80. package/dist/mcp/__tests__/integration.test.d.ts.map +1 -0
  81. package/dist/mcp/__tests__/integration.test.js +360 -0
  82. package/dist/mcp/__tests__/stdio.test.d.ts +2 -0
  83. package/dist/mcp/__tests__/stdio.test.d.ts.map +1 -0
  84. package/dist/mcp/__tests__/stdio.test.js +180 -0
  85. package/dist/mcp/__tests__/test-utils.d.ts +17 -0
  86. package/dist/mcp/__tests__/test-utils.d.ts.map +1 -0
  87. package/dist/mcp/__tests__/test-utils.js +42 -0
  88. package/dist/mcp/__tests__/utils.test.d.ts +2 -0
  89. package/dist/mcp/__tests__/utils.test.d.ts.map +1 -0
  90. package/dist/mcp/__tests__/utils.test.js +300 -0
  91. package/dist/mcp/base.d.ts +88 -0
  92. package/dist/mcp/base.d.ts.map +1 -0
  93. package/dist/mcp/base.js +68 -0
  94. package/dist/mcp/http.d.ts +34 -0
  95. package/dist/mcp/http.d.ts.map +1 -0
  96. package/dist/mcp/http.js +100 -0
  97. package/dist/mcp/node.d.ts +60 -0
  98. package/dist/mcp/node.d.ts.map +1 -0
  99. package/dist/mcp/node.js +297 -0
  100. package/dist/mcp/sse.d.ts +34 -0
  101. package/dist/mcp/sse.d.ts.map +1 -0
  102. package/dist/mcp/sse.js +97 -0
  103. package/dist/mcp/stdio.d.ts +32 -0
  104. package/dist/mcp/stdio.d.ts.map +1 -0
  105. package/dist/mcp/stdio.js +96 -0
  106. package/dist/mcp/types.d.ts +172 -0
  107. package/dist/mcp/types.d.ts.map +1 -0
  108. package/dist/mcp/types.js +16 -0
  109. package/dist/mcp/utils.d.ts +23 -0
  110. package/dist/mcp/utils.d.ts.map +1 -0
  111. package/dist/mcp/utils.js +44 -0
  112. package/dist/model.d.ts +175 -0
  113. package/dist/model.d.ts.map +1 -0
  114. package/dist/model.js +1 -0
  115. package/dist/providers/ai.d.ts +1 -0
  116. package/dist/providers/ai.d.ts.map +1 -0
  117. package/dist/providers/ai.js +1 -0
  118. package/dist/providers/default.d.ts +16 -0
  119. package/dist/providers/default.d.ts.map +1 -0
  120. package/dist/providers/default.js +17 -0
  121. package/dist/providers/registry.d.ts +1 -0
  122. package/dist/providers/registry.d.ts.map +1 -0
  123. package/dist/providers/registry.js +1 -0
  124. package/dist/sched/scheduler.d.ts +20 -0
  125. package/dist/sched/scheduler.d.ts.map +1 -0
  126. package/dist/sched/scheduler.js +1 -0
  127. package/dist/sched/task.d.ts +92 -0
  128. package/dist/sched/task.d.ts.map +1 -0
  129. package/dist/sched/task.js +102 -0
  130. package/dist/serde/__tests__/codec.test.d.ts +2 -0
  131. package/dist/serde/__tests__/codec.test.d.ts.map +1 -0
  132. package/dist/serde/__tests__/codec.test.js +75 -0
  133. package/dist/serde/codec.d.ts +12 -0
  134. package/dist/serde/codec.d.ts.map +1 -0
  135. package/dist/serde/codec.js +54 -0
  136. package/dist/serde/json.d.ts +8 -0
  137. package/dist/serde/json.d.ts.map +1 -0
  138. package/dist/serde/json.js +13 -0
  139. package/dist/serde/thread.d.ts +687 -0
  140. package/dist/serde/thread.d.ts.map +1 -0
  141. package/dist/serde/thread.js +158 -0
  142. package/dist/serde/tool.d.ts +36 -0
  143. package/dist/serde/tool.d.ts.map +1 -0
  144. package/dist/serde/tool.js +1 -0
  145. package/dist/session.d.ts +1 -0
  146. package/dist/session.d.ts.map +1 -0
  147. package/dist/session.js +1 -0
  148. package/dist/task.d.ts +87 -0
  149. package/dist/task.d.ts.map +1 -0
  150. package/dist/task.js +97 -0
  151. package/dist/thread/__tests__/mock.d.ts +28 -0
  152. package/dist/thread/__tests__/mock.d.ts.map +1 -0
  153. package/dist/thread/__tests__/mock.js +74 -0
  154. package/dist/thread/__tests__/thread.test.d.ts +2 -0
  155. package/dist/thread/__tests__/thread.test.d.ts.map +1 -0
  156. package/dist/thread/__tests__/thread.test.js +1412 -0
  157. package/dist/thread/index.d.ts +2 -0
  158. package/dist/thread/index.d.ts.map +1 -0
  159. package/dist/thread/index.js +1 -0
  160. package/dist/thread/thread.d.ts +66 -0
  161. package/dist/thread/thread.d.ts.map +1 -0
  162. package/dist/thread/thread.js +472 -0
  163. package/dist/thread/utils.d.ts +19 -0
  164. package/dist/thread/utils.d.ts.map +1 -0
  165. package/dist/thread/utils.js +50 -0
  166. package/dist/tool/__tests__/fixtures.d.ts +45 -0
  167. package/dist/tool/__tests__/fixtures.d.ts.map +1 -0
  168. package/dist/tool/__tests__/fixtures.js +97 -0
  169. package/dist/tool/__tests__/tool.test.d.ts +2 -0
  170. package/dist/tool/__tests__/tool.test.d.ts.map +1 -0
  171. package/dist/tool/__tests__/tool.test.js +172 -0
  172. package/dist/tool/__tests__/toolkit.test.d.ts +2 -0
  173. package/dist/tool/__tests__/toolkit.test.d.ts.map +1 -0
  174. package/dist/tool/__tests__/toolkit.test.js +134 -0
  175. package/dist/tool/index.d.ts +4 -0
  176. package/dist/tool/index.d.ts.map +1 -0
  177. package/dist/tool/index.js +2 -0
  178. package/dist/tool/mcp.d.ts +75 -0
  179. package/dist/tool/mcp.d.ts.map +1 -0
  180. package/dist/tool/mcp.js +111 -0
  181. package/dist/tool/tool.d.ts +95 -0
  182. package/dist/tool/tool.d.ts.map +1 -0
  183. package/dist/tool/tool.js +176 -0
  184. package/dist/tool/toolkit.d.ts +121 -0
  185. package/dist/tool/toolkit.d.ts.map +1 -0
  186. package/dist/tool/toolkit.js +180 -0
  187. package/dist/tool/types.d.ts +187 -0
  188. package/dist/tool/types.d.ts.map +1 -0
  189. package/dist/tool/types.js +1 -0
  190. package/dist/tools.d.ts +362 -0
  191. package/dist/tools.d.ts.map +1 -0
  192. package/dist/tools.js +220 -0
  193. package/dist/trace/processor.d.ts +1 -0
  194. package/dist/trace/processor.d.ts.map +1 -0
  195. package/dist/trace/processor.js +1 -0
  196. package/dist/trace/traces.d.ts +1 -0
  197. package/dist/trace/traces.d.ts.map +1 -0
  198. package/dist/trace/traces.js +73 -0
  199. package/dist/trace/utils.d.ts +22 -0
  200. package/dist/trace/utils.d.ts.map +1 -0
  201. package/dist/trace/utils.js +30 -0
  202. package/dist/types/agent.d.ts +91 -0
  203. package/dist/types/agent.d.ts.map +1 -0
  204. package/dist/types/agent.js +1 -0
  205. package/dist/types/proto.d.ts +1551 -0
  206. package/dist/types/proto.d.ts.map +1 -0
  207. package/dist/types/proto.js +531 -0
  208. package/dist/types/thread.d.ts +71 -0
  209. package/dist/types/thread.d.ts.map +1 -0
  210. package/dist/types/thread.js +5 -0
  211. package/dist/usage.d.ts +43 -0
  212. package/dist/usage.d.ts.map +1 -0
  213. package/dist/usage.js +61 -0
  214. package/package.json +52 -0
  215. package/src/agent.ts +203 -0
  216. package/src/context.ts +265 -0
  217. package/src/guardrail.ts +277 -0
  218. package/src/index.ts +3 -0
  219. package/src/kernl.ts +22 -0
  220. package/src/lib/env.ts +36 -0
  221. package/src/lib/error.ts +158 -0
  222. package/src/lib/logger.ts +78 -0
  223. package/src/lib/serde/json.ts +18 -0
  224. package/src/lib/serde/thread.ts +188 -0
  225. package/src/lifecycle.ts +181 -0
  226. package/src/mcp/__tests__/base.test.ts +344 -0
  227. package/src/mcp/__tests__/fixtures/server.ts +179 -0
  228. package/src/mcp/__tests__/fixtures/utils.ts +58 -0
  229. package/src/mcp/__tests__/integration.test.ts +447 -0
  230. package/src/mcp/__tests__/stdio.test.ts +236 -0
  231. package/src/mcp/__tests__/utils.test.ts +360 -0
  232. package/src/mcp/base.ts +162 -0
  233. package/src/mcp/http.ts +147 -0
  234. package/src/mcp/sse.ts +137 -0
  235. package/src/mcp/stdio.ts +136 -0
  236. package/src/mcp/types.ts +202 -0
  237. package/src/mcp/utils.ts +62 -0
  238. package/src/task.ts +119 -0
  239. package/src/thread/__tests__/mock.ts +95 -0
  240. package/src/thread/__tests__/thread.test.ts +1574 -0
  241. package/src/thread/index.ts +1 -0
  242. package/src/thread/thread.ts +611 -0
  243. package/src/thread/utils.ts +67 -0
  244. package/src/tool/__tests__/fixtures.ts +106 -0
  245. package/src/tool/__tests__/tool.test.ts +235 -0
  246. package/src/tool/__tests__/toolkit.test.ts +174 -0
  247. package/src/tool/index.ts +10 -0
  248. package/src/tool/tool.ts +264 -0
  249. package/src/tool/toolkit.ts +234 -0
  250. package/src/tool/types.ts +243 -0
  251. package/src/trace/processor.ts +0 -0
  252. package/src/trace/traces.ts +86 -0
  253. package/src/trace/utils.ts +38 -0
  254. package/src/types/agent.ts +145 -0
  255. package/src/types/thread.ts +86 -0
  256. package/tsconfig.json +13 -0
  257. package/vitest.config.ts +14 -0
package/dist/env.js ADDED
@@ -0,0 +1,31 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Environment variable validation schema
4
+ *
5
+ * This ensures all environment variables are valid at startup.
6
+ * All variables are optional with sensible defaults.
7
+ */
8
+ const envSchema = z.object({
9
+ // --- Logging ---
10
+ LOG_LEVEL: z
11
+ .enum(["trace", "debug", "info", "warn", "error", "fatal"])
12
+ .default("info"),
13
+ KERNL_LOG_MODEL_DATA: z
14
+ .enum(["true", "false"])
15
+ .optional()
16
+ .transform((val) => val === "true"),
17
+ KERNL_LOG_TOOL_DATA: z
18
+ .enum(["true", "false"])
19
+ .optional()
20
+ .transform((val) => val === "true"),
21
+ });
22
+ /**
23
+ * Validated and type-safe environment variables
24
+ *
25
+ * Use this throughout the library instead of process.env directly.
26
+ *
27
+ * @example
28
+ * import { env } from './env';
29
+ * console.log(env.LOG_LEVEL);
30
+ */
31
+ export const env = envSchema.parse(process.env);
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":""}
package/dist/error.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,178 @@
1
+ import { z, type ZodType } from "zod";
2
+ import { LanguageModelResponse } from "@kernl/protocol";
3
+ import { Agent } from "./agent";
4
+ import { Context, UnknownContext } from "./context";
5
+ import type { AgentResponseType } from "./types/agent";
6
+ import type { TextResponse, ThreadEvent } from "./types/thread";
7
+ /**
8
+ * Resolves the agent output type based on the response type.
9
+ * - If TResponse is "text" → output is string
10
+ * - If TResponse is a ZodType → output is the inferred type from that schema
11
+ */
12
+ export type ResolvedAgentResponse<TResponse extends AgentResponseType> = TResponse extends TextResponse ? string : TResponse extends ZodType ? z.infer<TResponse> : never;
13
+ /**
14
+ * The output of a guardrail function.
15
+ */
16
+ export interface GuardrailFunctionOutput {
17
+ /**
18
+ * Whether the tripwire was triggered. If triggered, the agent's execution will be halted.
19
+ */
20
+ tripwireTriggered: boolean;
21
+ /**
22
+ * Optional information about the guardrail's output.
23
+ * For example, the guardrail could include information about the checks it performed and granular results.
24
+ */
25
+ outputInfo: any;
26
+ }
27
+ /**
28
+ * A guardrail that checks the input to the agent.
29
+ */
30
+ export interface InputGuardrail {
31
+ /**
32
+ * The name of the guardrail.
33
+ */
34
+ name: string;
35
+ /**
36
+ * The function that performs the guardrail check
37
+ */
38
+ execute: InputGuardrailFunction;
39
+ }
40
+ /**
41
+ * The result of an input guardrail execution.
42
+ */
43
+ export interface InputGuardrailResult {
44
+ /**
45
+ * The metadata of the guardrail.
46
+ */
47
+ guardrail: InputGuardrailMetadata;
48
+ /**
49
+ * The output of the guardrail.
50
+ */
51
+ output: GuardrailFunctionOutput;
52
+ }
53
+ /**
54
+ * Arguments for an input guardrail function.
55
+ */
56
+ export interface InputGuardrailFunctionArgs<TContext = UnknownContext> {
57
+ /**
58
+ * The agent that is being run.
59
+ */
60
+ agent: Agent<any, any>;
61
+ /**
62
+ * The input to the agent.
63
+ */
64
+ input: string | ThreadEvent[];
65
+ /**
66
+ * The context of the agent run.
67
+ */
68
+ context: Context<TContext>;
69
+ }
70
+ /**
71
+ * The function that performs the actual input guardrail check and returns the decision on whether
72
+ * a guardrail was triggered.
73
+ */
74
+ export type InputGuardrailFunction = (args: InputGuardrailFunctionArgs) => Promise<GuardrailFunctionOutput>;
75
+ /**
76
+ * Metadata for an input guardrail.
77
+ */
78
+ export interface InputGuardrailMetadata {
79
+ type: "input";
80
+ name: string;
81
+ }
82
+ /**
83
+ * Definition of an input guardrail. SDK users usually do not need to create this.
84
+ */
85
+ export interface InputGuardrailDefinition extends InputGuardrailMetadata {
86
+ guardrailFunction: InputGuardrailFunction;
87
+ run(args: InputGuardrailFunctionArgs): Promise<InputGuardrailResult>;
88
+ }
89
+ /**
90
+ * Arguments for defining an input guardrail definition.
91
+ */
92
+ export interface DefineInputGuardrailArgs {
93
+ name: string;
94
+ execute: InputGuardrailFunction;
95
+ }
96
+ /**
97
+ * Defines an input guardrail definition.
98
+ */
99
+ export declare function defineInputGuardrail({ name, execute, }: DefineInputGuardrailArgs): InputGuardrailDefinition;
100
+ /**
101
+ * Arguments for an output guardrail function.
102
+ */
103
+ export interface OutputGuardrailFunctionArgs<TContext = UnknownContext, TResponse extends AgentResponseType = TextResponse> {
104
+ agent: Agent<any, any>;
105
+ agentOutput: ResolvedAgentResponse<TResponse>;
106
+ context: Context<TContext>;
107
+ /**
108
+ * Additional details about the agent output.
109
+ */
110
+ details?: {
111
+ /** Model response associated with the output if available. */
112
+ modelResponse?: LanguageModelResponse;
113
+ };
114
+ }
115
+ /**
116
+ * A function that takes an output guardrail function arguments and returns a `GuardrailFunctionOutput`.
117
+ */
118
+ export type OutputGuardrailFunction<TResponse extends AgentResponseType = TextResponse> = (args: OutputGuardrailFunctionArgs<UnknownContext, TResponse>) => Promise<GuardrailFunctionOutput>;
119
+ /**
120
+ * A guardrail that checks the output of the agent.
121
+ */
122
+ export interface OutputGuardrail<TResponse extends AgentResponseType = TextResponse> {
123
+ /**
124
+ * The name of the guardrail.
125
+ */
126
+ name: string;
127
+ /**
128
+ * The function that performs the guardrail check.
129
+ */
130
+ execute: OutputGuardrailFunction<TResponse>;
131
+ }
132
+ /**
133
+ * Metadata for an output guardrail.
134
+ */
135
+ export interface OutputGuardrailMetadata {
136
+ type: "output";
137
+ name: string;
138
+ }
139
+ /**
140
+ * The result of an output guardrail execution.
141
+ */
142
+ export interface OutputGuardrailResult<TMeta = OutputGuardrailMetadata, TResponse extends AgentResponseType = TextResponse> {
143
+ /**
144
+ * The metadata of the guardrail.
145
+ */
146
+ guardrail: TMeta;
147
+ /**
148
+ * The output of the agent that ran.
149
+ */
150
+ agentOutput: ResolvedAgentResponse<TResponse>;
151
+ /**
152
+ * The agent that ran.
153
+ */
154
+ agent: Agent<UnknownContext, TResponse>;
155
+ /**
156
+ * The output of the guardrail.
157
+ */
158
+ output: GuardrailFunctionOutput;
159
+ }
160
+ /**
161
+ * Definition of an output guardrail.
162
+ */
163
+ export interface OutputGuardrailDefinition<TMeta = OutputGuardrailMetadata, TResponse extends AgentResponseType = TextResponse> extends OutputGuardrailMetadata {
164
+ guardrailFunction: OutputGuardrailFunction<TResponse>;
165
+ run(args: OutputGuardrailFunctionArgs<UnknownContext, TResponse>): Promise<OutputGuardrailResult<TMeta, TResponse>>;
166
+ }
167
+ /**
168
+ * Arguments for defining an output guardrail definition.
169
+ */
170
+ export interface DefineOutputGuardrailArgs<TResponse extends AgentResponseType = TextResponse> {
171
+ name: string;
172
+ execute: OutputGuardrailFunction<TResponse>;
173
+ }
174
+ /**
175
+ * Creates an output guardrail definition.
176
+ */
177
+ export declare function defineOutputGuardrail<TResponse extends AgentResponseType = TextResponse>({ name, execute, }: DefineOutputGuardrailArgs<TResponse>): OutputGuardrailDefinition<OutputGuardrailMetadata, TResponse>;
178
+ //# sourceMappingURL=guardrail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrail.d.ts","sourceRoot":"","sources":["../src/guardrail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Defines an input guardrail definition.
3
+ */
4
+ export function defineInputGuardrail({ name, execute, }) {
5
+ return {
6
+ type: "input",
7
+ name,
8
+ guardrailFunction: execute,
9
+ async run(args) {
10
+ return {
11
+ guardrail: { type: "input", name },
12
+ output: await execute(args),
13
+ };
14
+ },
15
+ };
16
+ }
17
+ /**
18
+ * Creates an output guardrail definition.
19
+ */
20
+ export function defineOutputGuardrail({ name, execute, }) {
21
+ return {
22
+ type: "output",
23
+ name,
24
+ guardrailFunction: execute,
25
+ async run(args) {
26
+ return {
27
+ guardrail: { type: "output", name },
28
+ agent: args.agent,
29
+ agentOutput: args.agentOutput,
30
+ output: await execute(args),
31
+ };
32
+ },
33
+ };
34
+ }
@@ -0,0 +1,4 @@
1
+ export { Kernl } from "./kernl";
2
+ export { Agent } from "./agent";
3
+ export type { Context } from "./context";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { Kernl } from "./kernl";
2
+ export { Agent } from "./agent";
@@ -0,0 +1,7 @@
1
+ import type { Agent } from './agent';
2
+ export declare class Kernel {
3
+ private agents;
4
+ constructor();
5
+ register(agent: Agent): void;
6
+ }
7
+ //# sourceMappingURL=kernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAiC;;IAI/C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAG7B"}
package/dist/kernel.js ADDED
@@ -0,0 +1,7 @@
1
+ export class Kernel {
2
+ agents = new Map();
3
+ constructor() { }
4
+ register(agent) {
5
+ // TODO: Implement agent registration
6
+ }
7
+ }
@@ -0,0 +1,18 @@
1
+ import { Agent } from "./agent";
2
+ import { UnknownContext } from "./context";
3
+ import { KernlHooks } from "./lifecycle";
4
+ import type { AgentResponseType } from "./types/agent";
5
+ /**
6
+ * Central coordinator for the entire application.
7
+ *
8
+ * Orchestrates agent execution, including guardrails, tool calls, session persistence, and
9
+ * tracing.
10
+ */
11
+ export declare class Kernl extends KernlHooks<UnknownContext, AgentResponseType> {
12
+ private agents;
13
+ /**
14
+ * Registers a new agent with the kernl instance.
15
+ */
16
+ register(agent: Agent): void;
17
+ }
18
+ //# sourceMappingURL=kernl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernl.d.ts","sourceRoot":"","sources":["../src/kernl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACtE,OAAO,CAAC,MAAM,CAAiC;IAE/C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAG7B"}
package/dist/kernl.js ADDED
@@ -0,0 +1,16 @@
1
+ import { KernlHooks } from "./lifecycle";
2
+ /**
3
+ * Central coordinator for the entire application.
4
+ *
5
+ * Orchestrates agent execution, including guardrails, tool calls, session persistence, and
6
+ * tracing.
7
+ */
8
+ export class Kernl extends KernlHooks {
9
+ agents = new Map();
10
+ /**
11
+ * Registers a new agent with the kernl instance.
12
+ */
13
+ register(agent) {
14
+ // TODO: Implement agent registration
15
+ }
16
+ }
@@ -0,0 +1,43 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Environment variable validation schema
4
+ *
5
+ * This ensures all environment variables are valid at startup.
6
+ * All variables are optional with sensible defaults.
7
+ */
8
+ declare const envSchema: z.ZodObject<{
9
+ LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
10
+ error: "error";
11
+ trace: "trace";
12
+ debug: "debug";
13
+ info: "info";
14
+ warn: "warn";
15
+ fatal: "fatal";
16
+ }>>;
17
+ KERNL_LOG_MODEL_DATA: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
18
+ true: "true";
19
+ false: "false";
20
+ }>>, z.ZodTransform<boolean, "true" | "false" | undefined>>;
21
+ KERNL_LOG_TOOL_DATA: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
22
+ true: "true";
23
+ false: "false";
24
+ }>>, z.ZodTransform<boolean, "true" | "false" | undefined>>;
25
+ }, z.core.$strip>;
26
+ /**
27
+ * Validated and type-safe environment variables
28
+ *
29
+ * @example
30
+ * import { env } from '../env';
31
+ * console.log(env.LOG_LEVEL);
32
+ */
33
+ export declare const env: {
34
+ LOG_LEVEL: "error" | "trace" | "debug" | "info" | "warn" | "fatal";
35
+ KERNL_LOG_MODEL_DATA: boolean;
36
+ KERNL_LOG_TOOL_DATA: boolean;
37
+ };
38
+ /**
39
+ * Type of the validated environment variables
40
+ */
41
+ export type Env = z.infer<typeof envSchema>;
42
+ export {};
43
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,29 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Environment variable validation schema
4
+ *
5
+ * This ensures all environment variables are valid at startup.
6
+ * All variables are optional with sensible defaults.
7
+ */
8
+ const envSchema = z.object({
9
+ // --- Logging ---
10
+ LOG_LEVEL: z
11
+ .enum(["trace", "debug", "info", "warn", "error", "fatal"])
12
+ .default("info"),
13
+ KERNL_LOG_MODEL_DATA: z
14
+ .enum(["true", "false"])
15
+ .optional()
16
+ .transform((val) => val === "true"),
17
+ KERNL_LOG_TOOL_DATA: z
18
+ .enum(["true", "false"])
19
+ .optional()
20
+ .transform((val) => val === "true"),
21
+ });
22
+ /**
23
+ * Validated and type-safe environment variables
24
+ *
25
+ * @example
26
+ * import { env } from '../env';
27
+ * console.log(env.LOG_LEVEL);
28
+ */
29
+ export const env = envSchema.parse(process.env);
@@ -0,0 +1,88 @@
1
+ import { InputGuardrailResult, OutputGuardrailMetadata, OutputGuardrailResult } from "../guardrail";
2
+ type SerializedThread = any;
3
+ import { AgentResponseType } from "../types/agent";
4
+ import { TextResponse } from "../types/thread";
5
+ /**
6
+ * Abstract base class for all `kernl` errors
7
+ * Requires subclasses to implement JSON serialization
8
+ */
9
+ export declare abstract class BaseError extends Error {
10
+ constructor(message: string);
11
+ /**
12
+ * Convert error to JSON representation
13
+ * Must be implemented by subclasses
14
+ */
15
+ abstract toJSON(): Record<string, any>;
16
+ }
17
+ /**
18
+ * Runtime error with trace ID for debugging
19
+ */
20
+ export declare class RuntimeError extends BaseError {
21
+ readonly traceId: string;
22
+ constructor(message: string, traceId?: string);
23
+ toJSON(): Record<string, any>;
24
+ }
25
+ /**
26
+ * Base class for all errors thrown by the library.
27
+ */
28
+ export declare abstract class AgentError extends RuntimeError {
29
+ thread?: SerializedThread;
30
+ constructor(message: string, state?: SerializedThread, traceId?: string);
31
+ toJSON(): Record<string, any>;
32
+ }
33
+ /**
34
+ * System error thrown when the library encounters an error that is not caused by the user's
35
+ * misconfiguration.
36
+ */
37
+ export declare class SystemError extends RuntimeError {
38
+ }
39
+ /**
40
+ * Thrown due to user misconfiguration
41
+ *
42
+ * This error indicates that the library was not configured correctly by the user.
43
+ * Common causes include invalid configuration options, missing required fields,
44
+ * or incompatible configuration combinations.
45
+ */
46
+ export declare class MisconfiguredError extends BaseError {
47
+ toJSON(): Record<string, any>;
48
+ }
49
+ /**
50
+ * Error thrown when the maximum number of turns is exceeded.
51
+ */
52
+ export declare class MaxTurnsExceededError extends AgentError {
53
+ }
54
+ /**
55
+ * Error thrown when a model behavior is unexpected.
56
+ */
57
+ export declare class ModelBehaviorError extends AgentError {
58
+ }
59
+ /**
60
+ * Error thrown when a guardrail execution fails.
61
+ */
62
+ export declare class GuardrailExecutionError extends AgentError {
63
+ error: Error;
64
+ constructor(message: string, error: Error, thread?: SerializedThread);
65
+ }
66
+ /**
67
+ * Error thrown when a tool call fails.
68
+ */
69
+ export declare class ToolCallError extends AgentError {
70
+ error: Error;
71
+ constructor(message: string, error: Error, thread?: SerializedThread);
72
+ }
73
+ /**
74
+ * Error thrown when an input guardrail tripwire is triggered.
75
+ */
76
+ export declare class InputGuardrailTripwireTriggered extends AgentError {
77
+ result: InputGuardrailResult;
78
+ constructor(message: string, result: InputGuardrailResult, thread?: SerializedThread);
79
+ }
80
+ /**
81
+ * Error thrown when an output guardrail tripwire is triggered.
82
+ */
83
+ export declare class OutputGuardrailTripwireTriggered<TMeta extends OutputGuardrailMetadata, TOutputType extends AgentResponseType = TextResponse> extends AgentError {
84
+ result: OutputGuardrailResult<TMeta, TOutputType>;
85
+ constructor(message: string, result: OutputGuardrailResult<TMeta, TOutputType>, thread?: SerializedThread);
86
+ }
87
+ export {};
88
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/lib/error.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAKrB,KAAK,gBAAgB,GAAG,GAAG,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH,8BAAsB,SAAU,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;IAK3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAK7C,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B;AAED;;GAEG;AACH,8BAAsB,UAAW,SAAQ,YAAY;IACnD,MAAM,CAAC,EAAE,gBAAgB,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM;IAK9D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAMvC;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;CAAG;AAEhD;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAO9B;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;CAAG;AAExD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,KAAK,EAAE,KAAK,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,gBAAgB;CAIrE;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C,KAAK,EAAE,KAAK,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,gBAAgB;CAIrE;AAED;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,UAAU;IAC7D,MAAM,EAAE,oBAAoB,CAAC;gBAE3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,oBAAoB,EAC5B,MAAM,CAAC,EAAE,gBAAgB;CAK5B;AAED;;GAEG;AACH,qBAAa,gCAAgC,CAC3C,KAAK,SAAS,uBAAuB,EACrC,WAAW,SAAS,iBAAiB,GAAG,YAAY,CACpD,SAAQ,UAAU;IAClB,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAEhD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,EACjD,MAAM,CAAC,EAAE,gBAAgB;CAK5B"}
@@ -0,0 +1,117 @@
1
+ import { randomID } from "@kernl/shared/lib";
2
+ /**
3
+ * Abstract base class for all `kernl` errors
4
+ * Requires subclasses to implement JSON serialization
5
+ */
6
+ export class BaseError extends Error {
7
+ constructor(message) {
8
+ super(message);
9
+ this.name = this.constructor.name;
10
+ }
11
+ }
12
+ /**
13
+ * Runtime error with trace ID for debugging
14
+ */
15
+ export class RuntimeError extends BaseError {
16
+ traceId;
17
+ constructor(message, traceId) {
18
+ super(message);
19
+ this.traceId = traceId || randomID();
20
+ }
21
+ toJSON() {
22
+ return {
23
+ name: this.name,
24
+ message: this.message,
25
+ traceId: this.traceId,
26
+ stack: this.stack,
27
+ };
28
+ }
29
+ }
30
+ /**
31
+ * Base class for all errors thrown by the library.
32
+ */
33
+ export class AgentError extends RuntimeError {
34
+ thread;
35
+ constructor(message, state, traceId) {
36
+ super(message, traceId);
37
+ this.thread = state;
38
+ }
39
+ toJSON() {
40
+ return {
41
+ ...super.toJSON(),
42
+ thread: this.thread,
43
+ };
44
+ }
45
+ }
46
+ /**
47
+ * System error thrown when the library encounters an error that is not caused by the user's
48
+ * misconfiguration.
49
+ */
50
+ export class SystemError extends RuntimeError {
51
+ }
52
+ /**
53
+ * Thrown due to user misconfiguration
54
+ *
55
+ * This error indicates that the library was not configured correctly by the user.
56
+ * Common causes include invalid configuration options, missing required fields,
57
+ * or incompatible configuration combinations.
58
+ */
59
+ export class MisconfiguredError extends BaseError {
60
+ toJSON() {
61
+ return {
62
+ name: this.name,
63
+ message: this.message,
64
+ stack: this.stack,
65
+ };
66
+ }
67
+ }
68
+ /**
69
+ * Error thrown when the maximum number of turns is exceeded.
70
+ */
71
+ export class MaxTurnsExceededError extends AgentError {
72
+ }
73
+ /**
74
+ * Error thrown when a model behavior is unexpected.
75
+ */
76
+ export class ModelBehaviorError extends AgentError {
77
+ }
78
+ /**
79
+ * Error thrown when a guardrail execution fails.
80
+ */
81
+ export class GuardrailExecutionError extends AgentError {
82
+ error;
83
+ constructor(message, error, thread) {
84
+ super(message, thread);
85
+ this.error = error;
86
+ }
87
+ }
88
+ /**
89
+ * Error thrown when a tool call fails.
90
+ */
91
+ export class ToolCallError extends AgentError {
92
+ error;
93
+ constructor(message, error, thread) {
94
+ super(message, thread);
95
+ this.error = error;
96
+ }
97
+ }
98
+ /**
99
+ * Error thrown when an input guardrail tripwire is triggered.
100
+ */
101
+ export class InputGuardrailTripwireTriggered extends AgentError {
102
+ result;
103
+ constructor(message, result, thread) {
104
+ super(message, thread);
105
+ this.result = result;
106
+ }
107
+ }
108
+ /**
109
+ * Error thrown when an output guardrail tripwire is triggered.
110
+ */
111
+ export class OutputGuardrailTripwireTriggered extends AgentError {
112
+ result;
113
+ constructor(message, result, thread) {
114
+ super(message, thread);
115
+ this.result = result;
116
+ }
117
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * A logger instance with namespace support and sensitive data flags.
3
+ */
4
+ export type Logger = {
5
+ /**
6
+ * The namespace used for the logger.
7
+ */
8
+ namespace: string;
9
+ trace: (message: any, ...args: any[]) => void;
10
+ debug: (message: any, ...args: any[]) => void;
11
+ info: (message: any, ...args: any[]) => void;
12
+ warn: (message: any, ...args: any[]) => void;
13
+ error: (message: any, ...args: any[]) => void;
14
+ fatal: (message: any, ...args: any[]) => void;
15
+ /**
16
+ * Whether to log model data.
17
+ */
18
+ dontLogModelData: boolean;
19
+ /**
20
+ * Whether to log tool data.
21
+ */
22
+ dontLogToolData: boolean;
23
+ };
24
+ /**
25
+ * Get a logger for a given namespace.
26
+ *
27
+ * @param namespace - the namespace to use for the logger (e.g., 'kernl:core', 'kernl:agent').
28
+ * @returns A logger object with all pino log levels and sensitive data flags.
29
+ */
30
+ export declare function getLogger(namespace?: string): Logger;
31
+ /**
32
+ * Default logger instance for the core library.
33
+ */
34
+ export declare const logger: Logger;
35
+ export default logger;
36
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,GAAE,MAAgB,GAAG,MAAM,CAc7D;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAqB,CAAC;AAEzC,eAAe,MAAM,CAAC"}