kernl 0.2.1 → 0.6.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 (267) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-check-types.log +4 -0
  3. package/CHANGELOG.md +138 -0
  4. package/LICENSE +1 -1
  5. package/dist/agent/__tests__/concurrency.test.d.ts +2 -0
  6. package/dist/agent/__tests__/concurrency.test.d.ts.map +1 -0
  7. package/dist/agent/__tests__/concurrency.test.js +152 -0
  8. package/dist/agent/__tests__/run.test.d.ts +2 -0
  9. package/dist/agent/__tests__/run.test.d.ts.map +1 -0
  10. package/dist/agent/__tests__/run.test.js +357 -0
  11. package/dist/agent/index.d.ts +1 -0
  12. package/dist/agent/index.d.ts.map +1 -0
  13. package/dist/agent.d.ts +32 -9
  14. package/dist/agent.d.ts.map +1 -1
  15. package/dist/agent.js +101 -14
  16. package/dist/api/__tests__/cursor-page.test.d.ts +2 -0
  17. package/dist/api/__tests__/cursor-page.test.d.ts.map +1 -0
  18. package/dist/api/__tests__/cursor-page.test.js +414 -0
  19. package/dist/api/__tests__/offset-page.test.d.ts +2 -0
  20. package/dist/api/__tests__/offset-page.test.d.ts.map +1 -0
  21. package/dist/api/__tests__/offset-page.test.js +510 -0
  22. package/dist/api/__tests__/threads.test.d.ts +2 -0
  23. package/dist/api/__tests__/threads.test.d.ts.map +1 -0
  24. package/dist/api/__tests__/threads.test.js +338 -0
  25. package/dist/api/models/index.d.ts +2 -0
  26. package/dist/api/models/index.d.ts.map +1 -0
  27. package/dist/api/models/thread.d.ts +120 -0
  28. package/dist/api/models/thread.d.ts.map +1 -0
  29. package/dist/api/pagination/base.d.ts +48 -0
  30. package/dist/api/pagination/base.d.ts.map +1 -0
  31. package/dist/api/pagination/base.js +45 -0
  32. package/dist/api/pagination/cursor.d.ts +44 -0
  33. package/dist/api/pagination/cursor.d.ts.map +1 -0
  34. package/dist/api/pagination/cursor.js +52 -0
  35. package/dist/api/pagination/offset.d.ts +42 -0
  36. package/dist/api/pagination/offset.d.ts.map +1 -0
  37. package/dist/api/pagination/offset.js +55 -0
  38. package/dist/api/resources/threads/events.d.ts +21 -0
  39. package/dist/api/resources/threads/events.d.ts.map +1 -0
  40. package/dist/api/resources/threads/events.js +24 -0
  41. package/dist/api/resources/threads/index.d.ts +4 -0
  42. package/dist/api/resources/threads/index.d.ts.map +1 -0
  43. package/dist/api/resources/threads/index.js +2 -0
  44. package/dist/api/resources/threads/threads.d.ts +57 -0
  45. package/dist/api/resources/threads/threads.d.ts.map +1 -0
  46. package/dist/api/resources/threads/threads.js +199 -0
  47. package/dist/api/resources/threads/types.d.ts +123 -0
  48. package/dist/api/resources/threads/types.d.ts.map +1 -0
  49. package/dist/api/resources/threads/utils.d.ts +18 -0
  50. package/dist/api/resources/threads/utils.d.ts.map +1 -0
  51. package/dist/api/resources/threads/utils.js +78 -0
  52. package/dist/context.d.ts +5 -1
  53. package/dist/context.d.ts.map +1 -1
  54. package/dist/context.js +6 -1
  55. package/dist/index.d.ts +9 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +7 -0
  58. package/dist/internal.d.ts +4 -0
  59. package/dist/internal.d.ts.map +1 -0
  60. package/dist/internal.js +2 -0
  61. package/dist/kernl/index.d.ts +3 -0
  62. package/dist/kernl/index.d.ts.map +1 -0
  63. package/dist/kernl/index.js +2 -0
  64. package/dist/kernl/kernl.d.ts +64 -0
  65. package/dist/kernl/kernl.d.ts.map +1 -0
  66. package/dist/kernl/kernl.js +116 -0
  67. package/dist/kernl/threads.d.ts +110 -0
  68. package/dist/kernl/threads.d.ts.map +1 -0
  69. package/dist/kernl/threads.js +126 -0
  70. package/dist/kernl.d.ts +22 -6
  71. package/dist/kernl.d.ts.map +1 -1
  72. package/dist/kernl.js +73 -10
  73. package/dist/lib/env.d.ts +3 -3
  74. package/dist/lib/env.js +1 -1
  75. package/dist/mcp/__tests__/integration.test.js +8 -8
  76. package/dist/mcp/__tests__/utils.test.js +6 -6
  77. package/dist/mcp/http.d.ts +1 -1
  78. package/dist/mcp/http.d.ts.map +1 -1
  79. package/dist/mcp/http.js +9 -9
  80. package/dist/mcp/sse.d.ts +1 -1
  81. package/dist/mcp/sse.d.ts.map +1 -1
  82. package/dist/mcp/sse.js +7 -7
  83. package/dist/mcp/utils.d.ts +1 -1
  84. package/dist/mcp/utils.d.ts.map +1 -1
  85. package/dist/mcp/utils.js +4 -5
  86. package/dist/storage/__tests__/in-memory.test.d.ts +2 -0
  87. package/dist/storage/__tests__/in-memory.test.d.ts.map +1 -0
  88. package/dist/storage/__tests__/in-memory.test.js +455 -0
  89. package/dist/storage/base.d.ts +64 -0
  90. package/dist/storage/base.d.ts.map +1 -0
  91. package/dist/storage/base.js +4 -0
  92. package/dist/storage/in-memory.d.ts +62 -0
  93. package/dist/storage/in-memory.d.ts.map +1 -0
  94. package/dist/storage/in-memory.js +283 -0
  95. package/dist/storage/index.d.ts +10 -0
  96. package/dist/storage/index.d.ts.map +1 -0
  97. package/dist/storage/index.js +7 -0
  98. package/dist/storage/thread.d.ts +123 -0
  99. package/dist/storage/thread.d.ts.map +1 -0
  100. package/dist/storage/thread.js +4 -0
  101. package/dist/task.d.ts +5 -3
  102. package/dist/task.d.ts.map +1 -1
  103. package/dist/task.js +10 -8
  104. package/dist/thread/__tests__/fixtures/mock-model.d.ts +1 -2
  105. package/dist/thread/__tests__/fixtures/mock-model.d.ts.map +1 -1
  106. package/dist/thread/__tests__/integration.test.js +6 -6
  107. package/dist/thread/__tests__/namespace.test.d.ts +2 -0
  108. package/dist/thread/__tests__/namespace.test.d.ts.map +1 -0
  109. package/dist/thread/__tests__/namespace.test.js +131 -0
  110. package/dist/thread/__tests__/thread-persistence.test.d.ts +2 -0
  111. package/dist/thread/__tests__/thread-persistence.test.d.ts.map +1 -0
  112. package/dist/thread/__tests__/thread-persistence.test.js +351 -0
  113. package/dist/thread/__tests__/thread.test.js +49 -51
  114. package/dist/thread/thread.d.ts +70 -18
  115. package/dist/thread/thread.d.ts.map +1 -1
  116. package/dist/thread/thread.js +211 -73
  117. package/dist/thread/utils.d.ts +36 -8
  118. package/dist/thread/utils.d.ts.map +1 -1
  119. package/dist/thread/utils.js +52 -8
  120. package/dist/tool/__tests__/fixtures.js +1 -1
  121. package/dist/tool/__tests__/toolkit.test.js +15 -12
  122. package/dist/tool/tool.js +3 -3
  123. package/dist/types/kernl.d.ts +42 -0
  124. package/dist/types/kernl.d.ts.map +1 -0
  125. package/dist/types/thread.d.ts +108 -22
  126. package/dist/types/thread.d.ts.map +1 -1
  127. package/dist/types/thread.js +12 -0
  128. package/package.json +11 -7
  129. package/src/agent/__tests__/concurrency.test.ts +194 -0
  130. package/src/agent/__tests__/run.test.ts +441 -0
  131. package/src/agent/index.ts +0 -0
  132. package/src/agent.ts +139 -24
  133. package/src/api/__tests__/cursor-page.test.ts +512 -0
  134. package/src/api/__tests__/offset-page.test.ts +624 -0
  135. package/src/api/__tests__/threads.test.ts +415 -0
  136. package/src/api/models/index.ts +6 -0
  137. package/src/api/models/thread.ts +138 -0
  138. package/src/api/pagination/base.ts +79 -0
  139. package/src/api/pagination/cursor.ts +86 -0
  140. package/src/api/pagination/offset.ts +89 -0
  141. package/src/api/resources/threads/events.ts +26 -0
  142. package/src/api/resources/threads/index.ts +9 -0
  143. package/src/api/resources/threads/threads.ts +256 -0
  144. package/src/api/resources/threads/types.ts +143 -0
  145. package/src/api/resources/threads/utils.ts +104 -0
  146. package/src/context.ts +10 -1
  147. package/src/index.ts +49 -1
  148. package/src/internal.ts +15 -0
  149. package/src/kernl.ts +86 -17
  150. package/src/mcp/__tests__/integration.test.ts +8 -9
  151. package/src/mcp/__tests__/utils.test.ts +6 -6
  152. package/src/mcp/http.ts +9 -9
  153. package/src/mcp/sse.ts +7 -7
  154. package/src/mcp/utils.ts +6 -5
  155. package/src/storage/__tests__/in-memory.test.ts +534 -0
  156. package/src/storage/base.ts +77 -0
  157. package/src/storage/in-memory.ts +372 -0
  158. package/src/storage/index.ts +21 -0
  159. package/src/storage/thread.ts +141 -0
  160. package/src/task.ts +12 -10
  161. package/src/thread/__tests__/fixtures/mock-model.ts +2 -4
  162. package/src/thread/__tests__/integration.test.ts +13 -12
  163. package/src/thread/__tests__/namespace.test.ts +158 -0
  164. package/src/thread/__tests__/thread-persistence.test.ts +367 -0
  165. package/src/thread/__tests__/thread.test.ts +52 -54
  166. package/src/thread/thread.ts +247 -96
  167. package/src/thread/utils.ts +76 -13
  168. package/src/tool/__tests__/fixtures.ts +1 -1
  169. package/src/tool/__tests__/toolkit.test.ts +15 -12
  170. package/src/tool/tool.ts +3 -3
  171. package/src/types/kernl.ts +51 -0
  172. package/src/types/thread.ts +139 -25
  173. package/vitest.config.ts +1 -0
  174. package/dist/env.d.ts +0 -45
  175. package/dist/env.d.ts.map +0 -1
  176. package/dist/env.js +0 -31
  177. package/dist/error.d.ts +0 -1
  178. package/dist/error.d.ts.map +0 -1
  179. package/dist/kernel.d.ts +0 -7
  180. package/dist/kernel.d.ts.map +0 -1
  181. package/dist/kernel.js +0 -7
  182. package/dist/lib/serde/__tests__/codec.test.d.ts +0 -2
  183. package/dist/lib/serde/__tests__/codec.test.d.ts.map +0 -1
  184. package/dist/lib/serde/__tests__/codec.test.js +0 -75
  185. package/dist/lib/serde/codec.d.ts +0 -12
  186. package/dist/lib/serde/codec.d.ts.map +0 -1
  187. package/dist/lib/serde/codec.js +0 -54
  188. package/dist/lib/serde/thread.d.ts +0 -1
  189. package/dist/lib/serde/thread.d.ts.map +0 -1
  190. package/dist/lib/serde/thread.js +0 -172
  191. package/dist/lib/serde/tool.d.ts +0 -36
  192. package/dist/lib/serde/tool.d.ts.map +0 -1
  193. package/dist/lib/utils.d.ts +0 -19
  194. package/dist/lib/utils.d.ts.map +0 -1
  195. package/dist/lib/utils.js +0 -41
  196. package/dist/logger.d.ts +0 -36
  197. package/dist/logger.d.ts.map +0 -1
  198. package/dist/logger.js +0 -43
  199. package/dist/mcp/__tests__/fixtures/echo-server.d.ts +0 -3
  200. package/dist/mcp/__tests__/fixtures/echo-server.d.ts.map +0 -1
  201. package/dist/mcp/__tests__/fixtures/echo-server.js +0 -92
  202. package/dist/mcp/__tests__/fixtures/math-server.d.ts +0 -3
  203. package/dist/mcp/__tests__/fixtures/math-server.d.ts.map +0 -1
  204. package/dist/mcp/__tests__/fixtures/math-server.js +0 -98
  205. package/dist/mcp/__tests__/fixtures/test-server.d.ts +0 -3
  206. package/dist/mcp/__tests__/fixtures/test-server.d.ts.map +0 -1
  207. package/dist/mcp/__tests__/fixtures/test-server.js +0 -163
  208. package/dist/mcp/__tests__/test-utils.d.ts +0 -17
  209. package/dist/mcp/__tests__/test-utils.d.ts.map +0 -1
  210. package/dist/mcp/__tests__/test-utils.js +0 -42
  211. package/dist/mcp/node.d.ts +0 -60
  212. package/dist/mcp/node.d.ts.map +0 -1
  213. package/dist/mcp/node.js +0 -297
  214. package/dist/model.d.ts +0 -175
  215. package/dist/model.d.ts.map +0 -1
  216. package/dist/providers/ai.d.ts +0 -1
  217. package/dist/providers/ai.d.ts.map +0 -1
  218. package/dist/providers/ai.js +0 -1
  219. package/dist/providers/default.d.ts +0 -16
  220. package/dist/providers/default.d.ts.map +0 -1
  221. package/dist/providers/default.js +0 -17
  222. package/dist/providers/registry.d.ts +0 -1
  223. package/dist/providers/registry.d.ts.map +0 -1
  224. package/dist/providers/registry.js +0 -1
  225. package/dist/sched/scheduler.d.ts +0 -20
  226. package/dist/sched/scheduler.d.ts.map +0 -1
  227. package/dist/sched/task.d.ts +0 -92
  228. package/dist/sched/task.d.ts.map +0 -1
  229. package/dist/sched/task.js +0 -102
  230. package/dist/serde/__tests__/codec.test.d.ts +0 -2
  231. package/dist/serde/__tests__/codec.test.d.ts.map +0 -1
  232. package/dist/serde/__tests__/codec.test.js +0 -75
  233. package/dist/serde/codec.d.ts +0 -12
  234. package/dist/serde/codec.d.ts.map +0 -1
  235. package/dist/serde/codec.js +0 -54
  236. package/dist/serde/json.d.ts +0 -8
  237. package/dist/serde/json.d.ts.map +0 -1
  238. package/dist/serde/json.js +0 -13
  239. package/dist/serde/thread.d.ts +0 -687
  240. package/dist/serde/thread.d.ts.map +0 -1
  241. package/dist/serde/thread.js +0 -158
  242. package/dist/serde/tool.d.ts +0 -36
  243. package/dist/serde/tool.d.ts.map +0 -1
  244. package/dist/session.d.ts +0 -1
  245. package/dist/session.d.ts.map +0 -1
  246. package/dist/session.js +0 -1
  247. package/dist/thread/__tests__/stream.test.d.ts +0 -2
  248. package/dist/thread/__tests__/stream.test.d.ts.map +0 -1
  249. package/dist/thread/__tests__/stream.test.js +0 -244
  250. package/dist/tool/mcp.d.ts +0 -75
  251. package/dist/tool/mcp.d.ts.map +0 -1
  252. package/dist/tool/mcp.js +0 -111
  253. package/dist/tools.d.ts +0 -362
  254. package/dist/tools.d.ts.map +0 -1
  255. package/dist/tools.js +0 -220
  256. package/dist/types/proto.d.ts +0 -1551
  257. package/dist/types/proto.d.ts.map +0 -1
  258. package/dist/types/proto.js +0 -531
  259. package/dist/usage.d.ts +0 -43
  260. package/dist/usage.d.ts.map +0 -1
  261. package/dist/usage.js +0 -61
  262. package/src/lib/serde/thread.ts +0 -188
  263. /package/dist/{error.js → agent/index.js} +0 -0
  264. /package/dist/{lib/serde/tool.js → api/models/index.js} +0 -0
  265. /package/dist/{model.js → api/models/thread.js} +0 -0
  266. /package/dist/{sched/scheduler.js → api/resources/threads/types.js} +0 -0
  267. /package/dist/{serde/tool.js → types/kernl.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjE;;;GAGG;AACH,qBAAa,OAAO,CAAC,QAAQ,GAAG,cAAc;IAC5C;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC;IAMlB;;;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,OAAO,GAAE,QAAyB;IAQ9C;;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;CAsIF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjE;;;GAGG;AACH,qBAAa,OAAO,CAAC,QAAQ,GAAG,cAAc;IAC5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC;IAMlB;;;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;gBAyB1B,SAAS,GAAE,MAAgB,EAC3B,OAAO,GAAE,QAAyB;IAUpC;;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;CAsIF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC"}
package/dist/context.js CHANGED
@@ -3,6 +3,10 @@
3
3
  * execution units.
4
4
  */
5
5
  export class Context {
6
+ /**
7
+ * The namespace that this context belongs to.
8
+ */
9
+ namespace;
6
10
  /**
7
11
  * The inner context object.
8
12
  */
@@ -45,7 +49,8 @@ export class Context {
45
49
  // * A map of tool names to whether they have been approved.
46
50
  // */
47
51
  // #approvals: Map<string, ApprovalRecord>;
48
- constructor(context = {}) {
52
+ constructor(namespace = "kernl", context = {}) {
53
+ this.namespace = namespace;
49
54
  this.context = context;
50
55
  this.approvals = new Map();
51
56
  // this.format = format; // (TODO): configure()
package/dist/index.d.ts CHANGED
@@ -1,5 +1,13 @@
1
1
  export { Kernl } from "./kernl";
2
+ export type { KernlOptions, StorageOptions, AgentRegistry, ModelRegistry, } from "./types/kernl";
2
3
  export { Agent } from "./agent";
3
- export type { Context } from "./context";
4
+ export { Context } from "./context";
4
5
  export { tool, Toolkit, FunctionToolkit, MCPToolkit } from "./tool";
6
+ export { MCPServerSSE } from "./mcp/sse";
7
+ export { MCPServerStdio } from "./mcp/stdio";
8
+ export { MCPServerStreamableHttp } from "./mcp/http";
9
+ export type { MThread as Thread, MThreadEvent as ThreadEvent, MThreadEventBase as ThreadEventBase, } from "./api/models";
10
+ export type { RThreadsListParams as ThreadsListParams, RThreadGetOptions as ThreadGetOptions, RThreadHistoryParams as ThreadHistoryParams, RThreadCreateParams as ThreadCreateParams, RThreadUpdateParams as ThreadUpdateParams, } from "./api/resources/threads";
11
+ export { THREAD_STATES, type ThreadState, type PublicThreadEvent, } from "./types/thread";
12
+ export type { ThreadStore, NewThread, ThreadUpdate, ThreadFilter, ThreadHistoryOptions, ThreadInclude, ThreadListOptions, SortOrder, KernlStorage, Transaction, } from "./storage";
5
13
  //# sourceMappingURL=index.d.ts.map
@@ -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,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,QAAQ,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,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,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;AAGrD,YAAY,EACV,OAAO,IAAI,MAAM,EACjB,YAAY,IAAI,WAAW,EAC3B,gBAAgB,IAAI,eAAe,GACpC,MAAM,cAAc,CAAC;AAGtB,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;AAGjC,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,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"}
package/dist/index.js CHANGED
@@ -1,3 +1,10 @@
1
1
  export { Kernl } from "./kernl";
2
2
  export { Agent } from "./agent";
3
+ export { Context } from "./context";
4
+ // --- tools --
3
5
  export { tool, Toolkit, FunctionToolkit, MCPToolkit } from "./tool";
6
+ export { MCPServerSSE } from "./mcp/sse";
7
+ export { MCPServerStdio } from "./mcp/stdio";
8
+ export { MCPServerStreamableHttp } from "./mcp/http";
9
+ // --- thread state enums ---
10
+ export { THREAD_STATES, } from "./types/thread";
@@ -0,0 +1,4 @@
1
+ export { Thread } from "./thread/thread";
2
+ export type { IThread, ThreadEvent, ThreadEventBase, ThreadEventInner, ThreadSystemEvent, ThreadState, PublicThreadEvent, } from "./types/thread";
3
+ export { THREAD_STATES } from "./types/thread";
4
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,YAAY,EACV,OAAO,EACP,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Thread } from "./thread/thread";
2
+ export { THREAD_STATES } from "./types/thread";
@@ -0,0 +1,3 @@
1
+ export { Kernl } from "./kernl";
2
+ export { ThreadsResource, type ThreadsListParams, type ThreadGetOptions } from "./threads";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Kernl } from "./kernl";
2
+ export { ThreadsResource } from "./threads";
@@ -0,0 +1,64 @@
1
+ import { Agent } from "../agent";
2
+ import { UnknownContext } from "../context";
3
+ import { KernlHooks } from "../lifecycle";
4
+ import type { Thread } from "../thread";
5
+ import type { ResolvedAgentResponse } from "../guardrail";
6
+ import { type KernlStorage } from "../storage";
7
+ import type { KernlOptions } from "../types/kernl";
8
+ import type { ThreadExecuteResult, ThreadStreamEvent } from "../types/thread";
9
+ import type { AgentResponseType } from "../types/agent";
10
+ import { ThreadsResource } from "./threads";
11
+ /**
12
+ * The kernl - manages agent processes, scheduling, and task lifecycle.
13
+ *
14
+ * Orchestrates agent execution, including guardrails, tool calls, session persistence, and
15
+ * tracing.
16
+ */
17
+ export declare class Kernl extends KernlHooks<UnknownContext, AgentResponseType> {
18
+ private agents;
19
+ private models;
20
+ readonly storage: KernlStorage;
21
+ athreads: Map<string, Thread<any, any>>;
22
+ private initPromise;
23
+ /**
24
+ * Thread management API.
25
+ * Provides methods to get, list, and delete threads.
26
+ */
27
+ readonly threads: ThreadsResource;
28
+ constructor(options?: KernlOptions);
29
+ /**
30
+ * Registers a new agent with the kernl instance.
31
+ */
32
+ register(agent: Agent): void;
33
+ /**
34
+ * Spawn a new thread - blocking execution
35
+ */
36
+ spawn<TContext, TResponse extends AgentResponseType>(thread: Thread<TContext, TResponse>): Promise<ThreadExecuteResult<ResolvedAgentResponse<TResponse>>>;
37
+ /**
38
+ * Schedule an existing thread - blocking execution
39
+ *
40
+ * NOTE: just blocks for now
41
+ */
42
+ schedule<TContext, TResponse extends AgentResponseType>(thread: Thread<TContext, TResponse>): Promise<ThreadExecuteResult<ResolvedAgentResponse<TResponse>>>;
43
+ /**
44
+ * (TMP) - won't make sense in async scheduling contexts
45
+ *
46
+ * Spawn a new thread - streaming execution
47
+ */
48
+ spawnStream<TContext, TResponse extends AgentResponseType>(thread: Thread<TContext, TResponse>): AsyncIterable<ThreadStreamEvent>;
49
+ /**
50
+ * (TMP) - won't make sense with async scheduling contexts
51
+ *
52
+ * Schedule an existing thread - streaming execution
53
+ */
54
+ scheduleStream<TContext, TResponse extends AgentResponseType>(thread: Thread<TContext, TResponse>): AsyncIterable<ThreadStreamEvent>;
55
+ /**
56
+ * Ensure the underlying storage backend has been initialized.
57
+ *
58
+ * This is called lazily on first use so that callers do not need to worry
59
+ * about calling storage.init() themselves. Safe and idempotent to call
60
+ * multiple times; concurrent calls share the same initialization promise.
61
+ */
62
+ private ensureInitialized;
63
+ }
64
+ //# sourceMappingURL=kernl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernl.d.ts","sourceRoot":"","sources":["../../src/kernl/kernl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,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;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACtE,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,MAAM,CAAyC;IAEvD,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,WAAW,CAA8B;IAEjD;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;gBAEtB,OAAO,GAAE,YAAiB;IAOtC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAa5B;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EACvD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;IAUjE;;;;OAIG;IACG,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EAC1D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;IAUjE;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EAC9D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,aAAa,CAAC,iBAAiB,CAAC;IAUnC;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EACjE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,aAAa,CAAC,iBAAiB,CAAC;IAUnC;;;;;;OAMG;YACW,iBAAiB;CAWhC"}
@@ -0,0 +1,116 @@
1
+ import { KernlHooks } from "../lifecycle";
2
+ import { InMemoryStorage } from "../storage";
3
+ import { ThreadsResource } from "./threads";
4
+ /**
5
+ * The kernl - manages agent processes, scheduling, and task lifecycle.
6
+ *
7
+ * Orchestrates agent execution, including guardrails, tool calls, session persistence, and
8
+ * tracing.
9
+ */
10
+ export class Kernl extends KernlHooks {
11
+ agents = new Map();
12
+ models = new Map();
13
+ storage;
14
+ athreads = new Map(); /* active threads */
15
+ initPromise = null;
16
+ /**
17
+ * Thread management API.
18
+ * Provides methods to get, list, and delete threads.
19
+ */
20
+ threads;
21
+ constructor(options = {}) {
22
+ super();
23
+ this.storage = options.storage?.db ?? new InMemoryStorage();
24
+ this.storage.bind({ agents: this.agents, models: this.models });
25
+ this.threads = new ThreadsResource(this.storage.threads);
26
+ }
27
+ /**
28
+ * Registers a new agent with the kernl instance.
29
+ */
30
+ register(agent) {
31
+ this.agents.set(agent.id, agent);
32
+ agent.bind(this);
33
+ // (TODO): implement exhaustive model registry in protocol/ package
34
+ //
35
+ // auto-populate model registry for storage hydration
36
+ const key = `${agent.model.provider}/${agent.model.modelId}`;
37
+ if (!this.models.has(key)) {
38
+ this.models.set(key, agent.model);
39
+ }
40
+ }
41
+ /**
42
+ * Spawn a new thread - blocking execution
43
+ */
44
+ async spawn(thread) {
45
+ await this.ensureInitialized();
46
+ this.athreads.set(thread.tid, thread);
47
+ try {
48
+ return await thread.execute();
49
+ }
50
+ finally {
51
+ this.athreads.delete(thread.tid);
52
+ }
53
+ }
54
+ /**
55
+ * Schedule an existing thread - blocking execution
56
+ *
57
+ * NOTE: just blocks for now
58
+ */
59
+ async schedule(thread) {
60
+ await this.ensureInitialized();
61
+ this.athreads.set(thread.tid, thread);
62
+ try {
63
+ return await thread.execute();
64
+ }
65
+ finally {
66
+ this.athreads.delete(thread.tid);
67
+ }
68
+ }
69
+ /**
70
+ * (TMP) - won't make sense in async scheduling contexts
71
+ *
72
+ * Spawn a new thread - streaming execution
73
+ */
74
+ async *spawnStream(thread) {
75
+ await this.ensureInitialized();
76
+ this.athreads.set(thread.tid, thread);
77
+ try {
78
+ yield* thread.stream();
79
+ }
80
+ finally {
81
+ this.athreads.delete(thread.tid);
82
+ }
83
+ }
84
+ /**
85
+ * (TMP) - won't make sense with async scheduling contexts
86
+ *
87
+ * Schedule an existing thread - streaming execution
88
+ */
89
+ async *scheduleStream(thread) {
90
+ await this.ensureInitialized();
91
+ this.athreads.set(thread.tid, thread);
92
+ try {
93
+ yield* thread.stream();
94
+ }
95
+ finally {
96
+ this.athreads.delete(thread.tid);
97
+ }
98
+ }
99
+ /**
100
+ * Ensure the underlying storage backend has been initialized.
101
+ *
102
+ * This is called lazily on first use so that callers do not need to worry
103
+ * about calling storage.init() themselves. Safe and idempotent to call
104
+ * multiple times; concurrent calls share the same initialization promise.
105
+ */
106
+ async ensureInitialized() {
107
+ if (!this.initPromise) {
108
+ this.initPromise = this.storage.init().catch((error) => {
109
+ // Allow a retry if initialization fails.
110
+ this.initPromise = null;
111
+ throw error;
112
+ });
113
+ }
114
+ await this.initPromise;
115
+ }
116
+ }
@@ -0,0 +1,110 @@
1
+ import type { ThreadStore } from "../storage";
2
+ import type { ThreadResource, PublicThreadEvent } from "../types/thread";
3
+ /**
4
+ * Threads resource - provides a clean API for managing threads.
5
+ *
6
+ * Returns public ThreadResource types, not internal Thread class instances.
7
+ */
8
+ export declare class ThreadsResource {
9
+ private store;
10
+ constructor(store: ThreadStore);
11
+ /**
12
+ * Get a thread by ID.
13
+ *
14
+ * @param id - Thread ID
15
+ * @param options - Include options (history included by default)
16
+ * @returns Thread resource, or null if not found
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * // With history (default)
21
+ * const thread = await kernl.threads.get("thread_123");
22
+ * console.log(thread?.history); // Array of ThreadEvents
23
+ *
24
+ * // Without history
25
+ * const thread = await kernl.threads.get("thread_123", { includeHistory: false });
26
+ * ```
27
+ */
28
+ get(id: string, options?: ThreadGetOptions): Promise<ThreadResource | null>;
29
+ /**
30
+ * List threads with optional filtering and pagination.
31
+ *
32
+ * Returns thread metadata only (no event history).
33
+ * Use get() with includeHistory to retrieve full thread details.
34
+ *
35
+ * @param params - List parameters
36
+ * @returns Array of thread resources (metadata only)
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * // List recent threads for a specific agent
41
+ * const threads = await kernl.threads.list({
42
+ * agentId: "jarvis",
43
+ * limit: 20
44
+ * });
45
+ * ```
46
+ */
47
+ list(params?: ThreadsListParams): Promise<ThreadResource[]>;
48
+ /**
49
+ * Delete a thread and all its events.
50
+ *
51
+ * @param id - Thread ID
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * await kernl.threads.delete("thread_123");
56
+ * ```
57
+ */
58
+ delete(id: string): Promise<void>;
59
+ /**
60
+ * Get the event history for a thread.
61
+ *
62
+ * Returns only public/client-facing events (excludes internal system events).
63
+ *
64
+ * @param id - Thread ID
65
+ * @returns Array of public thread events
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * const events = await kernl.threads.history("thread_123");
70
+ * console.log(events.length); // Number of events in thread
71
+ * ```
72
+ */
73
+ history(id: string): Promise<PublicThreadEvent[]>;
74
+ }
75
+ /**
76
+ * Parameters for listing threads.
77
+ */
78
+ export interface ThreadsListParams {
79
+ /**
80
+ * Maximum number of threads to return.
81
+ */
82
+ limit?: number;
83
+ /**
84
+ * Return threads created before this cursor.
85
+ */
86
+ before?: string;
87
+ /**
88
+ * Return threads created after this cursor.
89
+ */
90
+ after?: string;
91
+ /**
92
+ * Filter by namespace.
93
+ */
94
+ namespace?: string;
95
+ /**
96
+ * Filter by agent ID.
97
+ */
98
+ agentId?: string;
99
+ }
100
+ /**
101
+ * Options for getting a thread.
102
+ */
103
+ export interface ThreadGetOptions {
104
+ /**
105
+ * Include full event history in the response.
106
+ * @default true
107
+ */
108
+ includeHistory?: boolean;
109
+ }
110
+ //# sourceMappingURL=threads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../src/kernl/threads.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAEV,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAGxB;;;;GAIG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,WAAW;IAEtC;;;;;;;;;;;;;;;;OAgBG;IACG,GAAG,CACP,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAYjC;;;;;;;;;;;;;;;;;OAiBG;IACG,IAAI,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAerE;;;;;;;;;OASG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAIxD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
@@ -0,0 +1,126 @@
1
+ import { isPublicEvent } from "../thread/utils";
2
+ /**
3
+ * Threads resource - provides a clean API for managing threads.
4
+ *
5
+ * Returns public ThreadResource types, not internal Thread class instances.
6
+ */
7
+ export class ThreadsResource {
8
+ store;
9
+ constructor(store) {
10
+ this.store = store;
11
+ }
12
+ /**
13
+ * Get a thread by ID.
14
+ *
15
+ * @param id - Thread ID
16
+ * @param options - Include options (history included by default)
17
+ * @returns Thread resource, or null if not found
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * // With history (default)
22
+ * const thread = await kernl.threads.get("thread_123");
23
+ * console.log(thread?.history); // Array of ThreadEvents
24
+ *
25
+ * // Without history
26
+ * const thread = await kernl.threads.get("thread_123", { includeHistory: false });
27
+ * ```
28
+ */
29
+ async get(id, options) {
30
+ const includeHistory = options?.includeHistory ?? true; // include history by default
31
+ const thread = await this.store.get(id, { history: includeHistory });
32
+ if (!thread) {
33
+ return null;
34
+ }
35
+ const history = includeHistory ? await this.store.history(id) : undefined;
36
+ return ThreadResourceCodec.decode(thread, history);
37
+ }
38
+ /**
39
+ * List threads with optional filtering and pagination.
40
+ *
41
+ * Returns thread metadata only (no event history).
42
+ * Use get() with includeHistory to retrieve full thread details.
43
+ *
44
+ * @param params - List parameters
45
+ * @returns Array of thread resources (metadata only)
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * // List recent threads for a specific agent
50
+ * const threads = await kernl.threads.list({
51
+ * agentId: "jarvis",
52
+ * limit: 20
53
+ * });
54
+ * ```
55
+ */
56
+ async list(params = {}) {
57
+ const options = {
58
+ limit: params.limit,
59
+ filter: {
60
+ agentId: params.agentId,
61
+ namespace: params.namespace,
62
+ },
63
+ order: { createdAt: "desc" },
64
+ };
65
+ // TODO: Implement cursor-based pagination with before/after
66
+ const threads = await this.store.list(options);
67
+ return threads.map((t) => ThreadResourceCodec.decode(t));
68
+ }
69
+ /**
70
+ * Delete a thread and all its events.
71
+ *
72
+ * @param id - Thread ID
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * await kernl.threads.delete("thread_123");
77
+ * ```
78
+ */
79
+ async delete(id) {
80
+ return this.store.delete(id);
81
+ }
82
+ /**
83
+ * Get the event history for a thread.
84
+ *
85
+ * Returns only public/client-facing events (excludes internal system events).
86
+ *
87
+ * @param id - Thread ID
88
+ * @returns Array of public thread events
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * const events = await kernl.threads.history("thread_123");
93
+ * console.log(events.length); // Number of events in thread
94
+ * ```
95
+ */
96
+ async history(id) {
97
+ const events = await this.store.history(id);
98
+ return events.filter(isPublicEvent);
99
+ }
100
+ }
101
+ /**
102
+ * Codec: Convert internal Thread instance to public ThreadResource.
103
+ */
104
+ const ThreadResourceCodec = {
105
+ decode(thread, history) {
106
+ const resource = {
107
+ tid: thread.tid,
108
+ namespace: thread.namespace,
109
+ agentId: thread.agent.id,
110
+ model: {
111
+ provider: thread.model.provider,
112
+ modelId: thread.model.modelId,
113
+ },
114
+ context: thread.context.context,
115
+ parentTaskId: thread.parent?.id ?? null,
116
+ state: thread.state,
117
+ createdAt: thread.createdAt,
118
+ updatedAt: thread.updatedAt,
119
+ };
120
+ if (history !== undefined) {
121
+ // Filter to only public events (exclude internal system events)
122
+ resource.history = history.filter(isPublicEvent);
123
+ }
124
+ return resource;
125
+ },
126
+ };
package/dist/kernl.d.ts CHANGED
@@ -2,18 +2,26 @@ import { Agent } from "./agent";
2
2
  import { UnknownContext } from "./context";
3
3
  import { KernlHooks } from "./lifecycle";
4
4
  import type { Thread } from "./thread";
5
- import type { AgentResponseType } from "./types/agent";
6
- import type { ThreadExecuteResult, ThreadStreamEvent } from "./types/thread";
7
5
  import type { ResolvedAgentResponse } from "./guardrail";
6
+ import { type KernlStorage } from "./storage";
7
+ import { RThreads } from "./api/resources/threads";
8
+ import type { KernlOptions } from "./types/kernl";
9
+ import type { ThreadExecuteResult, ThreadStreamEvent } from "./types/thread";
10
+ import type { AgentResponseType } from "./types/agent";
8
11
  /**
9
- * The kernl - manages agent processes, scheduling, and task lifecycle
12
+ * The kernl - manages agent processes, scheduling, and task lifecycle.
10
13
  *
11
14
  * Orchestrates agent execution, including guardrails, tool calls, session persistence, and
12
15
  * tracing.
13
16
  */
14
17
  export declare class Kernl extends KernlHooks<UnknownContext, AgentResponseType> {
15
18
  private agents;
16
- threads: Map<string, Thread<any, any>>;
19
+ private models;
20
+ readonly storage: KernlStorage;
21
+ athreads: Map<string, Thread<any, any>>;
22
+ private initPromise;
23
+ readonly threads: RThreads;
24
+ constructor(options?: KernlOptions);
17
25
  /**
18
26
  * Registers a new agent with the kernl instance.
19
27
  */
@@ -29,16 +37,24 @@ export declare class Kernl extends KernlHooks<UnknownContext, AgentResponseType>
29
37
  */
30
38
  schedule<TContext, TResponse extends AgentResponseType>(thread: Thread<TContext, TResponse>): Promise<ThreadExecuteResult<ResolvedAgentResponse<TResponse>>>;
31
39
  /**
32
- * (TMP) - probably won't make sense with assync scheduling contexts
40
+ * (TMP) - won't make sense in async scheduling contexts
33
41
  *
34
42
  * Spawn a new thread - streaming execution
35
43
  */
36
44
  spawnStream<TContext, TResponse extends AgentResponseType>(thread: Thread<TContext, TResponse>): AsyncIterable<ThreadStreamEvent>;
37
45
  /**
38
- * (TMP) - probably won't make sense with assync scheduling contexts
46
+ * (TMP) - won't make sense with async scheduling contexts
39
47
  *
40
48
  * Schedule an existing thread - streaming execution
41
49
  */
42
50
  scheduleStream<TContext, TResponse extends AgentResponseType>(thread: Thread<TContext, TResponse>): AsyncIterable<ThreadStreamEvent>;
51
+ /**
52
+ * Ensure the underlying storage backend has been initialized.
53
+ *
54
+ * This is called lazily on first use so that callers do not need to worry
55
+ * about calling storage.init() themselves. Safe and idempotent to call
56
+ * multiple times; concurrent calls share the same initialization promise.
57
+ */
58
+ private ensureInitialized;
43
59
  }
44
60
  //# sourceMappingURL=kernl.d.ts.map
@@ -1 +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;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACtE,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAa;IAEnD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK5B;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EACvD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;IAKjE;;;;OAIG;IACG,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EAC1D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;IAIjE;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EAC9D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,aAAa,CAAC,iBAAiB,CAAC;IAKnC;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EACjE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,aAAa,CAAC,iBAAiB,CAAC;CAGpC"}
1
+ {"version":3,"file":"kernl.d.ts","sourceRoot":"","sources":["../src/kernl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,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;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,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;IAC/C,OAAO,CAAC,MAAM,CAAyC;IAEvD,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,WAAW,CAA8B;IAGjD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAEf,OAAO,GAAE,YAAiB;IAOtC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAa5B;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EACvD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;IAUjE;;;;OAIG;IACG,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EAC1D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;IAUjE;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EAC9D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,aAAa,CAAC,iBAAiB,CAAC;IAUnC;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,SAAS,SAAS,iBAAiB,EACjE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAClC,aAAa,CAAC,iBAAiB,CAAC;IAUnC;;;;;;OAMG;YACW,iBAAiB;CAWhC"}