@infinityi/engine-lib 1.0.0 → 1.4.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 (405) hide show
  1. package/README.md +81 -445
  2. package/dist/agent/index.js +14 -8
  3. package/dist/context/index.d.ts +1 -1
  4. package/dist/context/index.js +8 -5
  5. package/dist/context/providers.d.ts +3 -3
  6. package/dist/context/types.d.ts +16 -1
  7. package/dist/errors.d.ts +18 -0
  8. package/dist/errors.js +6 -1
  9. package/dist/events/index.js +2 -1
  10. package/dist/execution/index.js +9 -4
  11. package/dist/execution/types.d.ts +14 -0
  12. package/dist/index-37x76zdn.js +4 -0
  13. package/dist/index-4c15ysa8.js +84 -0
  14. package/dist/{index-pwr8179t.js → index-7nb9qwa1.js} +23 -14
  15. package/dist/{index-jxgj4z08.js → index-9egrqxkf.js} +4 -0
  16. package/dist/index-9rr5dkzh.js +0 -0
  17. package/dist/{index-w34cbktd.js → index-a67ej96j.js} +1 -0
  18. package/dist/{index-64tt9696.js → index-aed6fe4z.js} +3 -3
  19. package/dist/{index-7690reng.js → index-ajr3nk10.js} +15 -1
  20. package/dist/index-c6kgts41.js +0 -0
  21. package/dist/{index-xsv43c5j.js → index-e14g2e48.js} +2 -2
  22. package/dist/index-k0q7x4mz.js +54 -0
  23. package/dist/index-mnx5mqbs.js +102 -0
  24. package/dist/index-mr1hs98z.js +661 -0
  25. package/dist/{index-yrqrxwjt.js → index-nvdsr51v.js} +4 -38
  26. package/dist/{index-jp2b31xs.js → index-vwcyawfk.js} +4 -4
  27. package/dist/index-ycjsqfpq.js +39 -0
  28. package/dist/{index-bqg01r42.js → index-zdggff0y.js} +183 -180
  29. package/dist/index.d.ts +2 -2
  30. package/dist/index.js +49 -38
  31. package/dist/lifecycle/index.js +2 -0
  32. package/dist/messages/index.js +1 -0
  33. package/dist/providers/index.js +5 -4
  34. package/dist/retrieval/chunking.d.ts +8 -0
  35. package/dist/retrieval/context.d.ts +4 -0
  36. package/dist/retrieval/index.d.ts +19 -0
  37. package/dist/retrieval/index.js +747 -0
  38. package/dist/retrieval/loaders.d.ts +8 -0
  39. package/dist/retrieval/memory.d.ts +29 -0
  40. package/dist/retrieval/retriever.d.ts +8 -0
  41. package/dist/retrieval/types.d.ts +253 -0
  42. package/dist/retrieval/utils.d.ts +11 -0
  43. package/dist/retrieval/vector-store.d.ts +13 -0
  44. package/dist/runtime/index.js +2 -1
  45. package/dist/schema/index.js +10 -4
  46. package/dist/session/index.js +1 -0
  47. package/dist/session-stores/codec.d.ts +8 -0
  48. package/dist/session-stores/forge-data.d.ts +43 -0
  49. package/dist/session-stores/hooks.d.ts +4 -0
  50. package/dist/session-stores/ids.d.ts +3 -0
  51. package/dist/session-stores/index.d.ts +20 -0
  52. package/dist/session-stores/index.js +1382 -0
  53. package/dist/session-stores/jsonl.d.ts +26 -0
  54. package/dist/session-stores/redis.d.ts +45 -0
  55. package/dist/session-stores/types.d.ts +45 -0
  56. package/dist/session-stores/versioning.d.ts +6 -0
  57. package/dist/testing/conformance.js +5 -4
  58. package/dist/testing/index.js +1 -0
  59. package/dist/tools/index.js +5 -3
  60. package/dist/tools-fs/define.d.ts +2 -0
  61. package/dist/tools-fs/files.d.ts +40 -0
  62. package/dist/tools-fs/git.d.ts +14 -0
  63. package/dist/tools-fs/index.d.ts +19 -0
  64. package/dist/tools-fs/index.js +1695 -0
  65. package/dist/tools-fs/policy.d.ts +32 -0
  66. package/dist/tools-fs/schemas.d.ts +31 -0
  67. package/dist/tools-fs/search.d.ts +45 -0
  68. package/dist/tools-fs/symbols.d.ts +12 -0
  69. package/dist/tools-fs/types.d.ts +151 -0
  70. package/dist/tools-http/client.d.ts +12 -0
  71. package/dist/tools-http/define.d.ts +12 -0
  72. package/dist/tools-http/events.d.ts +22 -0
  73. package/dist/tools-http/index.d.ts +24 -0
  74. package/dist/tools-http/index.js +18 -0
  75. package/dist/tools-http/policy.d.ts +52 -0
  76. package/dist/tools-http/types.d.ts +116 -0
  77. package/dist/tools-shell/define.d.ts +23 -0
  78. package/dist/tools-shell/events.d.ts +38 -0
  79. package/dist/tools-shell/exec.d.ts +37 -0
  80. package/dist/tools-shell/index.d.ts +30 -0
  81. package/dist/tools-shell/index.js +327 -0
  82. package/dist/tools-shell/policy.d.ts +42 -0
  83. package/dist/tools-shell/types.d.ts +121 -0
  84. package/dist/tools-web/define.d.ts +11 -0
  85. package/dist/tools-web/html.d.ts +22 -0
  86. package/dist/tools-web/index.d.ts +21 -0
  87. package/dist/tools-web/index.js +472 -0
  88. package/dist/tools-web/types.d.ts +81 -0
  89. package/docs/README.md +58 -10
  90. package/docs/api/.nojekyll +1 -0
  91. package/docs/api/assets/hierarchy.js +1 -0
  92. package/docs/api/assets/highlight.css +99 -0
  93. package/docs/api/assets/icons.js +18 -0
  94. package/docs/api/assets/icons.svg +1 -0
  95. package/docs/api/assets/main.js +60 -0
  96. package/docs/api/assets/navigation.js +1 -0
  97. package/docs/api/assets/search.js +1 -0
  98. package/docs/api/assets/style.css +1633 -0
  99. package/docs/api/classes/errors.AgentError.html +47 -0
  100. package/docs/api/classes/errors.CancelledError.html +46 -0
  101. package/docs/api/classes/errors.ContextWindowError.html +48 -0
  102. package/docs/api/classes/errors.ExecutionError.html +46 -0
  103. package/docs/api/classes/errors.FilesystemPolicyError.html +48 -0
  104. package/docs/api/classes/errors.MaxHandoffsExceededError.html +47 -0
  105. package/docs/api/classes/errors.MaxStepsExceededError.html +47 -0
  106. package/docs/api/classes/errors.ProviderError.html +47 -0
  107. package/docs/api/classes/errors.SchemaValidationError.html +47 -0
  108. package/docs/api/classes/errors.ShellPolicyError.html +50 -0
  109. package/docs/api/classes/errors.ToolError.html +47 -0
  110. package/docs/api/classes/errors.ToolValidationError.html +48 -0
  111. package/docs/api/classes/index.InMemorySessionStore.html +11 -0
  112. package/docs/api/classes/index.Secret.html +20 -0
  113. package/docs/api/classes/providers.StreamAccumulator.html +8 -0
  114. package/docs/api/classes/session-stores.FilesystemJsonlSessionStore.html +13 -0
  115. package/docs/api/classes/session-stores.ForgeDataSessionStore.html +14 -0
  116. package/docs/api/classes/session-stores.RedisSessionStore.html +12 -0
  117. package/docs/api/classes/tools-http.HttpPolicyError.html +41 -0
  118. package/docs/api/functions/agent.createToolRegistry.html +3 -0
  119. package/docs/api/functions/agent.handoffProviderTools.html +3 -0
  120. package/docs/api/functions/agent.handoffToolName.html +2 -0
  121. package/docs/api/functions/agent.resolveHandoffTargets.html +8 -0
  122. package/docs/api/functions/context.applyContextWindow.html +5 -0
  123. package/docs/api/functions/context.estimateTokens.html +3 -0
  124. package/docs/api/functions/context.resolveContext.html +5 -0
  125. package/docs/api/functions/events.createRunTelemetry.html +3 -0
  126. package/docs/api/functions/events.eventFields.html +4 -0
  127. package/docs/api/functions/events.eventPayload.html +5 -0
  128. package/docs/api/functions/execution.addUsage.html +2 -0
  129. package/docs/api/functions/execution.emptyUsage.html +2 -0
  130. package/docs/api/functions/index.asSchema.html +4 -0
  131. package/docs/api/functions/index.asTool.html +8 -0
  132. package/docs/api/functions/index.assistant.html +2 -0
  133. package/docs/api/functions/index.createAgentRegistry.html +5 -0
  134. package/docs/api/functions/index.createAnthropic.html +5 -0
  135. package/docs/api/functions/index.createEventHub.html +2 -0
  136. package/docs/api/functions/index.createGoogle.html +5 -0
  137. package/docs/api/functions/index.createOpenAI.html +5 -0
  138. package/docs/api/functions/index.createOpenAICompatible.html +7 -0
  139. package/docs/api/functions/index.createSession.html +3 -0
  140. package/docs/api/functions/index.defineAgent.html +7 -0
  141. package/docs/api/functions/index.defineTool.html +7 -0
  142. package/docs/api/functions/index.dynamicContext.html +2 -0
  143. package/docs/api/functions/index.fromJsonSchema.html +3 -0
  144. package/docs/api/functions/index.isSecret.html +4 -0
  145. package/docs/api/functions/index.loggingSubscriber.html +4 -0
  146. package/docs/api/functions/index.messageBusSubscriber.html +6 -0
  147. package/docs/api/functions/index.normalizeContent.html +2 -0
  148. package/docs/api/functions/index.resolveSecret.html +4 -0
  149. package/docs/api/functions/index.runAgent.html +19 -0
  150. package/docs/api/functions/index.staticContext.html +3 -0
  151. package/docs/api/functions/index.summarizeOldest.html +4 -0
  152. package/docs/api/functions/index.system.html +2 -0
  153. package/docs/api/functions/index.text.html +2 -0
  154. package/docs/api/functions/index.toJsonSchema.html +2 -0
  155. package/docs/api/functions/index.toolResult.html +2 -0
  156. package/docs/api/functions/index.truncateOldest.html +5 -0
  157. package/docs/api/functions/index.user.html +2 -0
  158. package/docs/api/functions/index.validateJsonSchema.html +3 -0
  159. package/docs/api/functions/lifecycle.agentRuntimeComponent.html +5 -0
  160. package/docs/api/functions/providers.collectStream.html +2 -0
  161. package/docs/api/functions/providers.createProvider.html +4 -0
  162. package/docs/api/functions/providers.createProviderHttp.html +3 -0
  163. package/docs/api/functions/providers.defaultProviderResilience.html +3 -0
  164. package/docs/api/functions/providers.openSseStream.html +6 -0
  165. package/docs/api/functions/providers.parseSse.html +2 -0
  166. package/docs/api/functions/providers.toProviderError.html +2 -0
  167. package/docs/api/functions/session-stores.createPostgresSessionStore.html +1 -0
  168. package/docs/api/functions/session-stores.createSqliteSessionStore.html +1 -0
  169. package/docs/api/functions/session-stores.isCloseableSessionStore.html +1 -0
  170. package/docs/api/functions/session-stores.isVersionedSessionStore.html +1 -0
  171. package/docs/api/functions/session-stores.migrateSessionStore.html +1 -0
  172. package/docs/api/functions/session-stores.withSessionStoreHooks.html +2 -0
  173. package/docs/api/functions/testing.byteStreamOf.html +2 -0
  174. package/docs/api/functions/testing.collectProviderStream.html +2 -0
  175. package/docs/api/functions/testing.conversation.html +2 -0
  176. package/docs/api/functions/testing.expectValid.html +3 -0
  177. package/docs/api/functions/testing.inMemorySessionStore.html +2 -0
  178. package/docs/api/functions/testing.jsonFetch.html +3 -0
  179. package/docs/api/functions/testing.mockProvider.html +3 -0
  180. package/docs/api/functions/testing.scriptedProvider.html +4 -0
  181. package/docs/api/functions/testing.sseFetch.html +3 -0
  182. package/docs/api/functions/testing.textResult.html +3 -0
  183. package/docs/api/functions/testing.toolCallResult.html +3 -0
  184. package/docs/api/functions/testing_conformance.runProviderConformance.html +3 -0
  185. package/docs/api/functions/tools-fs.filesystemTools.html +1 -0
  186. package/docs/api/functions/tools-http.createHttpToolClient.html +2 -0
  187. package/docs/api/functions/tools-http.httpTools.html +2 -0
  188. package/docs/api/functions/tools-shell.shellTools.html +4 -0
  189. package/docs/api/functions/tools-web.webTools.html +2 -0
  190. package/docs/api/functions/tools.renderToolContent.html +6 -0
  191. package/docs/api/functions/tools.toProviderTool.html +3 -0
  192. package/docs/api/functions/tools.toToolResultMessage.html +4 -0
  193. package/docs/api/hierarchy.html +1 -0
  194. package/docs/api/index.html +1 -0
  195. package/docs/api/interfaces/agent.ToolRegistry.html +8 -0
  196. package/docs/api/interfaces/errors.SchemaIssue.html +4 -0
  197. package/docs/api/interfaces/events.RunTelemetry.html +10 -0
  198. package/docs/api/interfaces/events.SpanHandle.html +6 -0
  199. package/docs/api/interfaces/index.AgentDefinition.html +16 -0
  200. package/docs/api/interfaces/index.AgentHooks.html +21 -0
  201. package/docs/api/interfaces/index.AgentRegistry.html +16 -0
  202. package/docs/api/interfaces/index.AnthropicOptions.html +13 -0
  203. package/docs/api/interfaces/index.AsToolOptions.html +13 -0
  204. package/docs/api/interfaces/index.CompletionRequest.html +30 -0
  205. package/docs/api/interfaces/index.CompletionResult.html +14 -0
  206. package/docs/api/interfaces/index.ContextItem.html +6 -0
  207. package/docs/api/interfaces/index.ContextProvider.html +5 -0
  208. package/docs/api/interfaces/index.ContextStrategy.html +8 -0
  209. package/docs/api/interfaces/index.ContextStrategyContext.html +8 -0
  210. package/docs/api/interfaces/index.ContextWindowOptions.html +8 -0
  211. package/docs/api/interfaces/index.CreateSessionOptions.html +10 -0
  212. package/docs/api/interfaces/index.EngineContext.html +10 -0
  213. package/docs/api/interfaces/index.EventHub.html +4 -0
  214. package/docs/api/interfaces/index.EventHubOptions.html +8 -0
  215. package/docs/api/interfaces/index.GenerationSettings.html +12 -0
  216. package/docs/api/interfaces/index.GoogleOptions.html +11 -0
  217. package/docs/api/interfaces/index.ImagePart.html +5 -0
  218. package/docs/api/interfaces/index.InstructionContext.html +9 -0
  219. package/docs/api/interfaces/index.JsonSchema.html +18 -0
  220. package/docs/api/interfaces/index.LoggingSubscriberOptions.html +4 -0
  221. package/docs/api/interfaces/index.Message.html +8 -0
  222. package/docs/api/interfaces/index.MessageBusSubscriberOptions.html +4 -0
  223. package/docs/api/interfaces/index.OpenAICompatibleOptions.html +16 -0
  224. package/docs/api/interfaces/index.OpenAIOptions.html +16 -0
  225. package/docs/api/interfaces/index.Provider.html +11 -0
  226. package/docs/api/interfaces/index.ProviderCapabilities.html +9 -0
  227. package/docs/api/interfaces/index.ProviderTool.html +6 -0
  228. package/docs/api/interfaces/index.ResponseSchema.html +6 -0
  229. package/docs/api/interfaces/index.RunBridge.html +10 -0
  230. package/docs/api/interfaces/index.RunOptions.html +39 -0
  231. package/docs/api/interfaces/index.RunResult.html +20 -0
  232. package/docs/api/interfaces/index.Schema.html +13 -0
  233. package/docs/api/interfaces/index.Session.html +13 -0
  234. package/docs/api/interfaces/index.SessionState.html +5 -0
  235. package/docs/api/interfaces/index.SessionStore.html +15 -0
  236. package/docs/api/interfaces/index.TextPart.html +4 -0
  237. package/docs/api/interfaces/index.ToolCall.html +9 -0
  238. package/docs/api/interfaces/index.ToolCallPart.html +6 -0
  239. package/docs/api/interfaces/index.ToolContext.html +21 -0
  240. package/docs/api/interfaces/index.ToolDefinition.html +14 -0
  241. package/docs/api/interfaces/index.ToolFailure.html +9 -0
  242. package/docs/api/interfaces/index.ToolResultPart.html +8 -0
  243. package/docs/api/interfaces/index.ToolSpec.html +6 -0
  244. package/docs/api/interfaces/index.ToolSuccess.html +6 -0
  245. package/docs/api/interfaces/index.Usage.html +9 -0
  246. package/docs/api/interfaces/lifecycle.AgentRuntimeOptions.html +17 -0
  247. package/docs/api/interfaces/providers.AdapterSpec.html +17 -0
  248. package/docs/api/interfaces/providers.ProviderHttpOptions.html +14 -0
  249. package/docs/api/interfaces/providers.SseMessage.html +6 -0
  250. package/docs/api/interfaces/providers.SseRequest.html +8 -0
  251. package/docs/api/interfaces/runtime.Logger.html +22 -0
  252. package/docs/api/interfaces/runtime.Telemetry.html +9 -0
  253. package/docs/api/interfaces/schema.OptionalSchema.html +13 -0
  254. package/docs/api/interfaces/session-stores.CloseableSessionStore.html +11 -0
  255. package/docs/api/interfaces/session-stores.CreatePostgresSessionStoreOptions.html +6 -0
  256. package/docs/api/interfaces/session-stores.CreateSqliteSessionStoreOptions.html +7 -0
  257. package/docs/api/interfaces/session-stores.FilesystemJsonlSessionStoreOptions.html +3 -0
  258. package/docs/api/interfaces/session-stores.ForgeDataSessionStoreOptions.html +5 -0
  259. package/docs/api/interfaces/session-stores.RedisSessionStoreClient.html +9 -0
  260. package/docs/api/interfaces/session-stores.RedisSessionStoreOptions.html +4 -0
  261. package/docs/api/interfaces/session-stores.RedisSessionStoreTransaction.html +6 -0
  262. package/docs/api/interfaces/session-stores.SessionArchiveRecord.html +7 -0
  263. package/docs/api/interfaces/session-stores.SessionArchiver.html +2 -0
  264. package/docs/api/interfaces/session-stores.SessionCompactionResult.html +3 -0
  265. package/docs/api/interfaces/session-stores.SessionCompactor.html +3 -0
  266. package/docs/api/interfaces/session-stores.SessionStoreCodec.html +6 -0
  267. package/docs/api/interfaces/session-stores.SessionStoreHookContext.html +3 -0
  268. package/docs/api/interfaces/session-stores.SessionStoreHooks.html +3 -0
  269. package/docs/api/interfaces/session-stores.VersionedSessionStore.html +11 -0
  270. package/docs/api/interfaces/testing.MockProviderOptions.html +12 -0
  271. package/docs/api/interfaces/testing.RecordedCall.html +4 -0
  272. package/docs/api/interfaces/testing.RecordingFetch.html +4 -0
  273. package/docs/api/interfaces/testing_conformance.ConformanceFixtures.html +12 -0
  274. package/docs/api/interfaces/testing_conformance.ConformanceOptions.html +10 -0
  275. package/docs/api/interfaces/testing_conformance.ConformanceTestApi.html +4 -0
  276. package/docs/api/interfaces/testing_conformance.ProviderIO.html +7 -0
  277. package/docs/api/interfaces/tools-fs.ApplyPatchArgs.html +6 -0
  278. package/docs/api/interfaces/tools-fs.DiffStatusArgs.html +5 -0
  279. package/docs/api/interfaces/tools-fs.EditRangeArgs.html +7 -0
  280. package/docs/api/interfaces/tools-fs.EditReplaceArgs.html +7 -0
  281. package/docs/api/interfaces/tools-fs.FilesystemTools.html +13 -0
  282. package/docs/api/interfaces/tools-fs.FilesystemToolsConfig.html +12 -0
  283. package/docs/api/interfaces/tools-fs.FindFilesArgs.html +7 -0
  284. package/docs/api/interfaces/tools-fs.OpenWindowArgs.html +5 -0
  285. package/docs/api/interfaces/tools-fs.ReadArgs.html +9 -0
  286. package/docs/api/interfaces/tools-fs.RepoMapArgs.html +7 -0
  287. package/docs/api/interfaces/tools-fs.SearchSemanticArgs.html +8 -0
  288. package/docs/api/interfaces/tools-fs.SearchTextArgs.html +11 -0
  289. package/docs/api/interfaces/tools-fs.SymbolInfo.html +7 -0
  290. package/docs/api/interfaces/tools-fs.SymbolsArgs.html +5 -0
  291. package/docs/api/interfaces/tools-fs.ValidationCommandRequest.html +4 -0
  292. package/docs/api/interfaces/tools-fs.ValidationCommandResult.html +6 -0
  293. package/docs/api/interfaces/tools-fs.ValidationOptions.html +4 -0
  294. package/docs/api/interfaces/tools-fs.WriteFileArgs.html +6 -0
  295. package/docs/api/interfaces/tools-http.HeaderEntry.html +4 -0
  296. package/docs/api/interfaces/tools-http.HttpClientRequest.html +11 -0
  297. package/docs/api/interfaces/tools-http.HttpPolicy.html +13 -0
  298. package/docs/api/interfaces/tools-http.HttpRequestResult.html +17 -0
  299. package/docs/api/interfaces/tools-http.HttpRetryOptions.html +10 -0
  300. package/docs/api/interfaces/tools-http.HttpToolClient.html +5 -0
  301. package/docs/api/interfaces/tools-http.HttpTools.html +4 -0
  302. package/docs/api/interfaces/tools-http.HttpToolsConfig.html +38 -0
  303. package/docs/api/interfaces/tools-shell.ApprovalDecision.html +5 -0
  304. package/docs/api/interfaces/tools-shell.CommandRequest.html +14 -0
  305. package/docs/api/interfaces/tools-shell.CommandResult.html +21 -0
  306. package/docs/api/interfaces/tools-shell.EnvPolicy.html +9 -0
  307. package/docs/api/interfaces/tools-shell.ShellPolicy.html +7 -0
  308. package/docs/api/interfaces/tools-shell.ShellTools.html +6 -0
  309. package/docs/api/interfaces/tools-shell.ShellToolsConfig.html +26 -0
  310. package/docs/api/interfaces/tools-web.Citation.html +6 -0
  311. package/docs/api/interfaces/tools-web.SearchProvider.html +3 -0
  312. package/docs/api/interfaces/tools-web.SearchRequest.html +4 -0
  313. package/docs/api/interfaces/tools-web.SearchResult.html +7 -0
  314. package/docs/api/interfaces/tools-web.SourceMetadata.html +10 -0
  315. package/docs/api/interfaces/tools-web.WebTools.html +6 -0
  316. package/docs/api/interfaces/tools-web.WebToolsConfig.html +56 -0
  317. package/docs/api/modules/agent.html +5 -0
  318. package/docs/api/modules/context.html +5 -0
  319. package/docs/api/modules/errors.html +8 -0
  320. package/docs/api/modules/events.html +16 -0
  321. package/docs/api/modules/execution.html +4 -0
  322. package/docs/api/modules/index.html +16 -0
  323. package/docs/api/modules/lifecycle.html +6 -0
  324. package/docs/api/modules/messages.html +3 -0
  325. package/docs/api/modules/providers.html +10 -0
  326. package/docs/api/modules/runtime.html +4 -0
  327. package/docs/api/modules/schema.html +5 -0
  328. package/docs/api/modules/session-stores.html +6 -0
  329. package/docs/api/modules/session.html +4 -0
  330. package/docs/api/modules/testing.html +4 -0
  331. package/docs/api/modules/testing_conformance.html +21 -0
  332. package/docs/api/modules/tools-fs.html +9 -0
  333. package/docs/api/modules/tools-http.html +8 -0
  334. package/docs/api/modules/tools-shell.html +12 -0
  335. package/docs/api/modules/tools-web.html +7 -0
  336. package/docs/api/modules/tools.html +4 -0
  337. package/docs/api/types/events.Attrs.html +2 -0
  338. package/docs/api/types/index.AnyRunOptions.html +3 -0
  339. package/docs/api/types/index.BufferedRunOptions.html +2 -0
  340. package/docs/api/types/index.ContentPart.html +2 -0
  341. package/docs/api/types/index.FinishReason.html +2 -0
  342. package/docs/api/types/index.Infer.html +2 -0
  343. package/docs/api/types/index.Instructions.html +5 -0
  344. package/docs/api/types/index.LogLevel.html +2 -0
  345. package/docs/api/types/index.Role.html +2 -0
  346. package/docs/api/types/index.RunEvent.html +30 -0
  347. package/docs/api/types/index.RunHandle.html +7 -0
  348. package/docs/api/types/index.RunInput.html +2 -0
  349. package/docs/api/types/index.RunSubscriber.html +4 -0
  350. package/docs/api/types/index.SafeParseResult.html +2 -0
  351. package/docs/api/types/index.StreamEvent.html +8 -0
  352. package/docs/api/types/index.StreamingRunOptions.html +2 -0
  353. package/docs/api/types/index.TelemetryHandle.html +2 -0
  354. package/docs/api/types/index.TokenCounter.html +2 -0
  355. package/docs/api/types/index.ToolChoice.html +2 -0
  356. package/docs/api/types/index.ToolResult.html +2 -0
  357. package/docs/api/types/lifecycle.ProviderProbe.html +2 -0
  358. package/docs/api/types/session-stores.SessionStoreHookOperation.html +1 -0
  359. package/docs/api/types/testing_conformance.MakeProvider.html +2 -0
  360. package/docs/api/types/tools-fs.SymbolKind.html +1 -0
  361. package/docs/api/types/tools-http.HostPattern.html +2 -0
  362. package/docs/api/types/tools-shell.CommandPattern.html +2 -0
  363. package/docs/api/types/tools-web.RobotsPolicy.html +2 -0
  364. package/docs/api/variables/events.SPAN_PROVIDER.html +2 -0
  365. package/docs/api/variables/events.SPAN_RUN.html +2 -0
  366. package/docs/api/variables/events.SPAN_TOOL.html +2 -0
  367. package/docs/api/variables/execution.DEFAULT_MAX_HANDOFFS.html +2 -0
  368. package/docs/api/variables/execution.DEFAULT_MAX_STEPS.html +2 -0
  369. package/docs/api/variables/index.s.html +11 -0
  370. package/docs/api/variables/providers.DEFAULT_TIMEOUT_MS.html +2 -0
  371. package/docs/api/variables/session-stores.SESSION_STORE_SCHEMA_VERSION.html +1 -0
  372. package/docs/api/variables/session-stores.jsonSessionStoreCodec.html +2 -0
  373. package/docs/api/variables/tools-http.HTTP_EVENT.html +2 -0
  374. package/docs/api/variables/tools-shell.SHELL_EVENT.html +2 -0
  375. package/docs/events-and-telemetry.md +68 -0
  376. package/docs/execution.md +63 -0
  377. package/docs/getting-started.md +73 -0
  378. package/docs/multi-agent.md +52 -0
  379. package/docs/optional-tool-packs.md +93 -0
  380. package/docs/providers.md +68 -0
  381. package/docs/retrieval.md +83 -0
  382. package/docs/sessions-and-context.md +82 -0
  383. package/docs/testing-and-lifecycle.md +60 -0
  384. package/docs/tools.md +69 -0
  385. package/examples/01-minimal-agent.ts +19 -0
  386. package/examples/02-custom-tool.ts +32 -0
  387. package/examples/03-streaming.ts +46 -0
  388. package/examples/04-sessions-context.ts +40 -0
  389. package/examples/05-events-subscribers.ts +35 -0
  390. package/examples/06-multi-agent-handoff.ts +27 -0
  391. package/examples/07-sub-agent-tool.ts +26 -0
  392. package/examples/08-testing-agent.ts +31 -0
  393. package/examples/09-tools-filesystem.ts +49 -0
  394. package/examples/10-tools-http-web.ts +74 -0
  395. package/examples/11-shell-tools.ts +39 -0
  396. package/examples/12-provider-openai.ts +24 -0
  397. package/examples/13-lifecycle.ts +37 -0
  398. package/examples/14-retrieval.ts +65 -0
  399. package/examples/incident-analysis.ts +39 -87
  400. package/package.json +78 -4
  401. package/dist/index-02s1fjxr.js +0 -226
  402. package/examples/README.md +0 -24
  403. package/examples/lifecycle.ts +0 -53
  404. package/examples/multi-agent.ts +0 -93
  405. package/examples/terminal-coder.ts +0 -80
@@ -0,0 +1,8 @@
1
+ import type { EngineContext } from "../runtime/types";
2
+ import type { DocumentLoader, DocumentLoaderOutput, LoadDocumentsResult, LoadedDocument } from "./types";
3
+ /** Build a document loader from a host-supplied load function. */
4
+ export declare function createDocumentLoader(name: string, load: (ctx?: EngineContext) => DocumentLoaderOutput | Promise<DocumentLoaderOutput>): DocumentLoader;
5
+ /** A deterministic in-memory loader useful for examples and tests. */
6
+ export declare function staticDocumentLoader(documents: readonly LoadedDocument[], name?: string): DocumentLoader;
7
+ /** Load and normalize documents from all loaders in declaration order. */
8
+ export declare function loadDocuments(loaders: readonly DocumentLoader[], ctx?: EngineContext): Promise<LoadDocumentsResult>;
@@ -0,0 +1,29 @@
1
+ import type { EngineContext } from "../runtime/types";
2
+ import type { VectorQuery, VectorRecord, VectorSearchResult, VectorStore, VectorStoreStats } from "./types";
3
+ import { type VectorSimilarity } from "./vector-store";
4
+ /** Options for {@link InMemoryVectorStore}. */
5
+ export interface InMemoryVectorStoreOptions {
6
+ readonly name?: string;
7
+ readonly dimensions?: number;
8
+ readonly similarity?: VectorSimilarity;
9
+ }
10
+ /**
11
+ * Network-free vector store for tests, examples, and small in-memory corpora.
12
+ * Queries linearly scan every record, so use a dedicated vector database for
13
+ * large or latency-sensitive corpora.
14
+ */
15
+ export declare class InMemoryVectorStore implements VectorStore {
16
+ readonly name: string;
17
+ private readonly records;
18
+ private readonly similarity;
19
+ private recordDimensions;
20
+ constructor(options?: InMemoryVectorStoreOptions);
21
+ get dimensions(): number | undefined;
22
+ private ensureDimensions;
23
+ private ensureQueryDimensions;
24
+ upsert(records: readonly VectorRecord[], ctx?: EngineContext): Promise<void>;
25
+ query(query: VectorQuery, ctx?: EngineContext): Promise<readonly VectorSearchResult[]>;
26
+ delete(ids: readonly string[], ctx?: EngineContext): Promise<void>;
27
+ clear(ctx?: EngineContext): Promise<void>;
28
+ stats(ctx?: EngineContext): Promise<VectorStoreStats>;
29
+ }
@@ -0,0 +1,8 @@
1
+ import type { EngineContext } from "../runtime/types";
2
+ import type { HybridRetrievalOptions, IndexDocumentsOptions, IndexDocumentsResult, KeywordRetrievalResult, RetrievalResult, Retriever, VectorRetrieverOptions } from "./types";
3
+ /** Merge vector and keyword retrieval hits with score normalization and de-duplication. */
4
+ export declare function mergeHybridResults(vectorResults: readonly RetrievalResult[], keywordResults: readonly KeywordRetrievalResult[], options?: HybridRetrievalOptions): RetrievalResult[];
5
+ /** Load, chunk, embed, and upsert documents into a vector store. */
6
+ export declare function indexDocuments(options: IndexDocumentsOptions, ctx?: EngineContext): Promise<IndexDocumentsResult>;
7
+ /** Create a retriever that embeds the query and searches a vector store. */
8
+ export declare function createVectorRetriever(options: VectorRetrieverOptions): Retriever;
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Public contracts for document loading, chunking, embeddings, vector storage,
3
+ * retrievers, and context-provider integration.
4
+ *
5
+ * @module
6
+ */
7
+ import type { ContextResolveContext, ContextProvider, TokenCounter } from "../context/types";
8
+ import type { EngineContext } from "../runtime/types";
9
+ /** Location of a document or chunk inside its source. */
10
+ export interface SourceLocation {
11
+ readonly startOffset?: number;
12
+ readonly endOffset?: number;
13
+ readonly startLine?: number;
14
+ readonly endLine?: number;
15
+ }
16
+ /** Source metadata carried through chunks, vector records, and retrieval hits. */
17
+ export interface SourceAttribution {
18
+ readonly id?: string;
19
+ readonly uri?: string;
20
+ readonly title?: string;
21
+ readonly mimeType?: string;
22
+ readonly location?: SourceLocation;
23
+ readonly metadata?: Readonly<Record<string, unknown>>;
24
+ }
25
+ /** A source document before chunking. */
26
+ export interface LoadedDocument {
27
+ readonly id?: string;
28
+ readonly content: string;
29
+ readonly source?: SourceAttribution;
30
+ readonly metadata?: Readonly<Record<string, unknown>>;
31
+ }
32
+ /** The values a document loader may return. */
33
+ export type DocumentLoaderOutput = Iterable<LoadedDocument> | AsyncIterable<LoadedDocument>;
34
+ /** Loads source documents from a host-owned corpus. */
35
+ export interface DocumentLoader {
36
+ readonly name: string;
37
+ load(ctx?: EngineContext): DocumentLoaderOutput | Promise<DocumentLoaderOutput>;
38
+ }
39
+ /** Result summary for loading documents from one or more loaders. */
40
+ export interface LoadDocumentsResult {
41
+ readonly documents: readonly LoadedDocument[];
42
+ readonly loaders: number;
43
+ }
44
+ /** A source document unit after chunking. */
45
+ export interface RetrievalChunk {
46
+ readonly id: string;
47
+ readonly text: string;
48
+ readonly source?: SourceAttribution;
49
+ readonly metadata?: Readonly<Record<string, unknown>>;
50
+ }
51
+ /** Context passed to chunkers while indexing documents. */
52
+ export interface ChunkerContext {
53
+ readonly documentIndex: number;
54
+ readonly engine?: EngineContext;
55
+ }
56
+ /** Splits a loaded document into retrieval chunks. */
57
+ export interface Chunker {
58
+ readonly name: string;
59
+ chunk(document: LoadedDocument, ctx?: ChunkerContext): readonly RetrievalChunk[] | Promise<readonly RetrievalChunk[]>;
60
+ }
61
+ /** Options for the built-in plain-text chunker. */
62
+ export interface TextChunkerOptions {
63
+ readonly maxChars: number;
64
+ readonly overlapChars?: number;
65
+ readonly separators?: readonly string[];
66
+ }
67
+ /** Embedding vector. */
68
+ export type EmbeddingVector = readonly number[];
69
+ /**
70
+ * Request to an embedding provider.
71
+ *
72
+ * Providers should validate their own maximum batch size and throw a clear
73
+ * provider-specific error when `input.length` exceeds what the backing service
74
+ * can accept. `indexDocuments` batches calls with `batchSize` to help callers
75
+ * stay within those limits.
76
+ */
77
+ export interface EmbeddingRequest {
78
+ readonly input: readonly string[];
79
+ readonly model?: string;
80
+ readonly metadata?: Readonly<Record<string, string>>;
81
+ }
82
+ /** Optional embedding token accounting. */
83
+ export interface EmbeddingUsage {
84
+ readonly inputTokens?: number;
85
+ readonly totalTokens?: number;
86
+ }
87
+ /** Embedding provider response. */
88
+ export interface EmbeddingResult {
89
+ readonly model: string;
90
+ readonly vectors: readonly EmbeddingVector[];
91
+ readonly dimensions?: number;
92
+ readonly usage?: EmbeddingUsage;
93
+ readonly raw?: unknown;
94
+ }
95
+ /**
96
+ * Host-supplied embedding provider contract.
97
+ *
98
+ * Implementations should document their maximum `input` batch size. Callers can
99
+ * tune `IndexDocumentsOptions.batchSize` for indexing, while query retrieval
100
+ * sends one input per embedding call.
101
+ */
102
+ export interface EmbeddingProvider {
103
+ readonly name: string;
104
+ readonly defaultModel?: string;
105
+ readonly dimensions?: number;
106
+ embed(req: EmbeddingRequest, ctx?: EngineContext): Promise<EmbeddingResult>;
107
+ }
108
+ /** A vector-store record. */
109
+ export interface VectorRecord {
110
+ readonly id: string;
111
+ readonly vector: EmbeddingVector;
112
+ readonly text: string;
113
+ readonly source?: SourceAttribution;
114
+ readonly metadata?: Readonly<Record<string, unknown>>;
115
+ }
116
+ /** Host-supplied vector record filter. */
117
+ export type VectorRecordFilter = (record: VectorRecord) => boolean;
118
+ /** Query against a vector store. */
119
+ export interface VectorQuery {
120
+ readonly vector: EmbeddingVector;
121
+ readonly topK?: number;
122
+ readonly filter?: VectorRecordFilter;
123
+ readonly minScore?: number;
124
+ readonly includeVectors?: boolean;
125
+ }
126
+ /** A vector-store search hit. */
127
+ export interface VectorSearchResult {
128
+ readonly id: string;
129
+ readonly score: number;
130
+ readonly text: string;
131
+ readonly source?: SourceAttribution;
132
+ readonly metadata?: Readonly<Record<string, unknown>>;
133
+ readonly vector?: EmbeddingVector;
134
+ }
135
+ /** Vector-store statistics. */
136
+ export interface VectorStoreStats {
137
+ readonly records: number;
138
+ readonly dimensions?: number;
139
+ }
140
+ /** Minimal vector-store contract. */
141
+ export interface VectorStore {
142
+ readonly name: string;
143
+ readonly dimensions?: number;
144
+ upsert(records: readonly VectorRecord[], ctx?: EngineContext): Promise<void>;
145
+ query(query: VectorQuery, ctx?: EngineContext): Promise<readonly VectorSearchResult[]>;
146
+ delete?(ids: readonly string[], ctx?: EngineContext): Promise<void>;
147
+ clear?(ctx?: EngineContext): Promise<void>;
148
+ stats?(ctx?: EngineContext): Promise<VectorStoreStats>;
149
+ }
150
+ /** Query passed to retrievers. */
151
+ export interface RetrievalQuery {
152
+ readonly query: string;
153
+ readonly topK?: number;
154
+ readonly filter?: VectorRecordFilter;
155
+ readonly minScore?: number;
156
+ readonly metadata?: Readonly<Record<string, unknown>>;
157
+ }
158
+ /** Per-channel retrieval scores. */
159
+ export interface RetrievalScores {
160
+ readonly vector?: number;
161
+ readonly keyword?: number;
162
+ readonly combined?: number;
163
+ }
164
+ /** A retriever result ready for context rendering. */
165
+ export interface RetrievalResult {
166
+ readonly id: string;
167
+ readonly rank: number;
168
+ readonly score: number;
169
+ readonly scores?: RetrievalScores;
170
+ readonly text: string;
171
+ readonly source?: SourceAttribution;
172
+ readonly metadata?: Readonly<Record<string, unknown>>;
173
+ }
174
+ /** Main retrieval contract. */
175
+ export interface Retriever {
176
+ readonly name: string;
177
+ retrieve(query: RetrievalQuery, ctx?: EngineContext): Promise<readonly RetrievalResult[]>;
178
+ }
179
+ /** Keyword retrieval hit used for hybrid merging. */
180
+ export interface KeywordRetrievalResult {
181
+ readonly id: string;
182
+ readonly score: number;
183
+ readonly text: string;
184
+ readonly source?: SourceAttribution;
185
+ readonly metadata?: Readonly<Record<string, unknown>>;
186
+ }
187
+ /** Optional keyword retriever hook. */
188
+ export interface KeywordRetriever {
189
+ readonly name?: string;
190
+ retrieve(query: RetrievalQuery, ctx?: EngineContext): Promise<readonly KeywordRetrievalResult[]>;
191
+ }
192
+ /** Hybrid merge settings for vector and keyword retrieval results. */
193
+ export interface HybridRetrievalOptions {
194
+ readonly topK?: number;
195
+ readonly minScore?: number;
196
+ readonly vectorWeight?: number;
197
+ readonly keywordWeight?: number;
198
+ }
199
+ /** Options for constructing a vector retriever. */
200
+ export interface VectorRetrieverOptions {
201
+ readonly name?: string;
202
+ readonly embeddings: EmbeddingProvider;
203
+ readonly store: VectorStore;
204
+ readonly model?: string;
205
+ readonly topK?: number;
206
+ readonly minScore?: number;
207
+ readonly filter?: VectorRecordFilter;
208
+ readonly keyword?: KeywordRetriever;
209
+ readonly hybrid?: HybridRetrievalOptions;
210
+ }
211
+ /** Options for indexing loaded documents into a vector store. */
212
+ export interface IndexDocumentsOptions {
213
+ readonly loaders: readonly DocumentLoader[];
214
+ readonly chunker: Chunker;
215
+ readonly embeddings: EmbeddingProvider;
216
+ readonly store: VectorStore;
217
+ /** Number of chunks to embed per provider call. Defaults to 64; tune to provider limits. */
218
+ readonly batchSize?: number;
219
+ readonly embeddingModel?: string;
220
+ }
221
+ /** Summary returned by document indexing. */
222
+ export interface IndexDocumentsResult {
223
+ readonly documents: number;
224
+ readonly chunks: number;
225
+ readonly records: number;
226
+ readonly model?: string;
227
+ readonly dimensions?: number;
228
+ }
229
+ /** Options that control retriever context budget selection. */
230
+ export interface RetrieverContextBudgetOptions {
231
+ readonly maxContextTokens?: number;
232
+ readonly reserveTokens?: number;
233
+ /**
234
+ * Counts rendered context tokens for budget checks. Keep this local and
235
+ * synchronous; truncating an oversized retrieval result may call it multiple
236
+ * times to find the largest exact fit.
237
+ */
238
+ readonly countTokens?: TokenCounter;
239
+ }
240
+ /** Options for converting a retriever into a context provider. */
241
+ export interface RetrieverContextOptions extends RetrieverContextBudgetOptions {
242
+ readonly retriever: Retriever;
243
+ readonly name?: string;
244
+ readonly title?: string;
245
+ readonly query?: string | ((ctx: EngineContext, run?: ContextResolveContext) => string | undefined | Promise<string | undefined>);
246
+ readonly topK?: number;
247
+ readonly minScore?: number;
248
+ /** Include numeric retrieval scores in rendered context. Defaults to false. */
249
+ readonly includeScores?: boolean;
250
+ readonly onResults?: (results: readonly RetrievalResult[], query: string, ctx: EngineContext, run?: ContextResolveContext) => void | Promise<void>;
251
+ }
252
+ /** Semantic marker for the `ContextProvider` returned by {@link retrieverContext}. */
253
+ export type RetrieverContextProvider = ContextProvider;
@@ -0,0 +1,11 @@
1
+ import type { EngineContext } from "../runtime/types";
2
+ interface EngineContextHolder {
3
+ readonly engine?: EngineContext;
4
+ }
5
+ /** Throw when retrieval work should stop because the caller aborted the run. */
6
+ export declare function throwIfAborted(ctx?: EngineContext | EngineContextHolder): void;
7
+ /** Assert that an optional numeric option is a positive integer when present. */
8
+ export declare function assertPositiveInteger(name: string, value: number | undefined): void;
9
+ /** Assert that a numeric option is a non-negative integer. */
10
+ export declare function assertNonNegativeInteger(name: string, value: number): void;
11
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { EmbeddingVector } from "./types";
2
+ /** Similarity modes supported by the in-memory vector store. */
3
+ export type VectorSimilarity = "cosine" | "dot" | "euclidean";
4
+ /** Validate that a value is a finite, non-empty vector. */
5
+ export declare function assertVector(vector: EmbeddingVector, label?: string): void;
6
+ /** Dot product for equal-length vectors. */
7
+ export declare function dotProduct(a: EmbeddingVector, b: EmbeddingVector): number;
8
+ /** Cosine similarity for equal-length vectors. */
9
+ export declare function cosineSimilarity(a: EmbeddingVector, b: EmbeddingVector): number;
10
+ /** Convert Euclidean distance to a descending similarity score. */
11
+ export declare function euclideanSimilarity(a: EmbeddingVector, b: EmbeddingVector): number;
12
+ /** Score two vectors with the requested similarity mode. */
13
+ export declare function scoreVectors(a: EmbeddingVector, b: EmbeddingVector, similarity: VectorSimilarity): number;
@@ -3,7 +3,8 @@ import {
3
3
  Secret,
4
4
  isSecret,
5
5
  resolveSecret
6
- } from "../index-xsv43c5j.js";
6
+ } from "../index-e14g2e48.js";
7
+ import"../index-37x76zdn.js";
7
8
  export {
8
9
  resolveSecret,
9
10
  isSecret,
@@ -1,11 +1,17 @@
1
+ import"../index-c6kgts41.js";
1
2
  import {
2
3
  asSchema,
3
4
  fromJsonSchema,
4
- s,
5
- toJsonSchema,
5
+ toJsonSchema
6
+ } from "../index-k0q7x4mz.js";
7
+ import {
8
+ s
9
+ } from "../index-mnx5mqbs.js";
10
+ import {
6
11
  validateJsonSchema
7
- } from "../index-02s1fjxr.js";
8
- import"../index-7690reng.js";
12
+ } from "../index-4c15ysa8.js";
13
+ import"../index-ajr3nk10.js";
14
+ import"../index-37x76zdn.js";
9
15
  export {
10
16
  validateJsonSchema,
11
17
  toJsonSchema,
@@ -2,6 +2,7 @@ import {
2
2
  InMemorySessionStore,
3
3
  createSession
4
4
  } from "../index-vnby35rm.js";
5
+ import"../index-37x76zdn.js";
5
6
  export {
6
7
  createSession,
7
8
  InMemorySessionStore
@@ -0,0 +1,8 @@
1
+ import type { Message } from "../messages/types";
2
+ import type { SessionStoreCodec } from "./types";
3
+ /** Default JSON codec used by all built-in durable stores. */
4
+ export declare const jsonSessionStoreCodec: SessionStoreCodec;
5
+ export declare function encodeMetadata(codec: SessionStoreCodec, metadata: Readonly<Record<string, unknown>> | undefined): Promise<string | undefined>;
6
+ export declare function decodeMetadata(codec: SessionStoreCodec, payload: string | null | undefined): Promise<Readonly<Record<string, unknown>> | undefined>;
7
+ export declare function encodeMessages(codec: SessionStoreCodec, messages: readonly Message[]): Promise<string[]>;
8
+ export declare function decodeMessages(codec: SessionStoreCodec, payloads: readonly string[]): Promise<Message[]>;
@@ -0,0 +1,43 @@
1
+ import type { DatabaseSchema, Db } from "@infinityi/forge/data";
2
+ import type { PostgresClientLike } from "@infinityi/forge/data/dialects/postgres";
3
+ import type { SqliteDriverOptions } from "@infinityi/forge/data/dialects/sqlite";
4
+ import type { Message } from "../messages/types";
5
+ import type { SessionState, SessionStore } from "../session/types";
6
+ import type { SessionStoreCodec } from "./types";
7
+ export interface ForgeDataSessionStoreOptions {
8
+ readonly db: Db<DatabaseSchema>;
9
+ readonly tablePrefix?: string;
10
+ readonly codec?: SessionStoreCodec;
11
+ readonly closeDbOnClose?: boolean;
12
+ }
13
+ export interface CreateSqliteSessionStoreOptions extends Pick<SqliteDriverOptions, "database" | "filename" | "create"> {
14
+ readonly tablePrefix?: string;
15
+ readonly codec?: SessionStoreCodec;
16
+ readonly migrate?: boolean;
17
+ }
18
+ export interface CreatePostgresSessionStoreOptions {
19
+ readonly client: PostgresClientLike;
20
+ readonly closeOnShutdown?: boolean;
21
+ readonly tablePrefix?: string;
22
+ readonly codec?: SessionStoreCodec;
23
+ readonly migrate?: boolean;
24
+ }
25
+ /** SQL-backed {@link SessionStore} implemented over a Forge `Db`. */
26
+ export declare class ForgeDataSessionStore implements SessionStore {
27
+ private readonly db;
28
+ private readonly codec;
29
+ private readonly tables;
30
+ private readonly closeDbOnClose;
31
+ private writeQueue;
32
+ constructor(options: ForgeDataSessionStoreOptions);
33
+ migrate(): Promise<void>;
34
+ schemaVersion(): Promise<number | undefined>;
35
+ load(id: string): Promise<SessionState | undefined>;
36
+ append(id: string, messages: readonly Message[]): Promise<void>;
37
+ save(state: SessionState): Promise<void>;
38
+ delete(id: string): Promise<void>;
39
+ close(): Promise<void>;
40
+ private enqueueWrite;
41
+ }
42
+ export declare function createSqliteSessionStore(options?: CreateSqliteSessionStoreOptions): Promise<ForgeDataSessionStore>;
43
+ export declare function createPostgresSessionStore(options: CreatePostgresSessionStoreOptions): Promise<ForgeDataSessionStore>;
@@ -0,0 +1,4 @@
1
+ import type { SessionStore } from "../session/types";
2
+ import type { CloseableSessionStore, SessionStoreHooks, VersionedSessionStore } from "./types";
3
+ /** Decorate a store with host-owned compaction and archival hooks. */
4
+ export declare function withSessionStoreHooks<T extends SessionStore>(store: T, hooks: SessionStoreHooks): T & Partial<VersionedSessionStore & CloseableSessionStore>;
@@ -0,0 +1,3 @@
1
+ export declare function assertTablePrefix(prefix: string): string;
2
+ export declare function safeSessionKey(id: string): string;
3
+ export declare function sessionFileName(id: string): string;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * `@infinityi/engine-lib/session-stores` — optional durable implementations of
3
+ * the stable {@link SessionStore} contract.
4
+ *
5
+ * These adapters are opt-in so the root package stays lightweight. Built-ins
6
+ * include Forge SQL/SQLite/PostgreSQL, Redis, and filesystem JSONL stores, plus
7
+ * common codec, migration, compaction, and archival helpers.
8
+ *
9
+ * @module
10
+ */
11
+ export { jsonSessionStoreCodec } from "./codec";
12
+ export { ForgeDataSessionStore, createPostgresSessionStore, createSqliteSessionStore } from "./forge-data";
13
+ export { withSessionStoreHooks } from "./hooks";
14
+ export { FilesystemJsonlSessionStore } from "./jsonl";
15
+ export { RedisSessionStore } from "./redis";
16
+ export { SESSION_STORE_SCHEMA_VERSION, isCloseableSessionStore, isVersionedSessionStore, migrateSessionStore } from "./versioning";
17
+ export type { CreatePostgresSessionStoreOptions, CreateSqliteSessionStoreOptions, ForgeDataSessionStoreOptions, } from "./forge-data";
18
+ export type { FilesystemJsonlSessionStoreOptions } from "./jsonl";
19
+ export type { RedisSessionStoreClient, RedisSessionStoreOptions, RedisSessionStoreTransaction } from "./redis";
20
+ export type { CloseableSessionStore, SessionArchiveRecord, SessionArchiver, SessionCompactionResult, SessionCompactor, SessionStoreCodec, SessionStoreHookContext, SessionStoreHookOperation, SessionStoreHooks, VersionedSessionStore, } from "./types";