@theokit/sdk 1.6.2 → 1.8.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 (371) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/bin/init-claude.mjs +34 -0
  3. package/claude-template/AGENTS.md +139 -0
  4. package/claude-template/CLAUDE.md +51 -0
  5. package/claude-template/dot-claude/rules/theokit-conventions.md +33 -0
  6. package/claude-template/dot-claude/settings.json +16 -0
  7. package/claude-template/dot-claude/skills/theokit-agent-core/SKILL.md +209 -0
  8. package/claude-template/dot-claude/skills/theokit-budget/SKILL.md +176 -0
  9. package/claude-template/dot-claude/skills/theokit-config/SKILL.md +139 -0
  10. package/claude-template/dot-claude/skills/theokit-cron/SKILL.md +148 -0
  11. package/claude-template/dot-claude/skills/theokit-di/SKILL.md +233 -0
  12. package/claude-template/dot-claude/skills/theokit-di-agent/SKILL.md +294 -0
  13. package/claude-template/dot-claude/skills/theokit-errors/SKILL.md +172 -0
  14. package/claude-template/dot-claude/skills/theokit-eval/SKILL.md +144 -0
  15. package/claude-template/dot-claude/skills/theokit-gateways/SKILL.md +209 -0
  16. package/claude-template/dot-claude/skills/theokit-memory/SKILL.md +176 -0
  17. package/claude-template/dot-claude/skills/theokit-rag/SKILL.md +226 -0
  18. package/claude-template/dot-claude/skills/theokit-streaming/SKILL.md +156 -0
  19. package/claude-template/dot-claude/skills/theokit-subscriptions/SKILL.md +148 -0
  20. package/claude-template/dot-claude/skills/theokit-tools/SKILL.md +170 -0
  21. package/claude-template/dot-claude/skills/theokit-workflows/SKILL.md +218 -0
  22. package/dist/a2a/agent-mailbox.d.cts +27 -0
  23. package/dist/a2a/agent-mailbox.d.ts +27 -0
  24. package/dist/a2a/index.cjs +16850 -0
  25. package/dist/a2a/index.cjs.map +1 -0
  26. package/dist/a2a/index.d.cts +9 -0
  27. package/dist/a2a/index.d.ts +9 -0
  28. package/dist/a2a/index.js +16844 -0
  29. package/dist/a2a/index.js.map +1 -0
  30. package/dist/a2a/message-bus.d.cts +27 -0
  31. package/dist/a2a/message-bus.d.ts +27 -0
  32. package/dist/a2a/subagent.d.cts +25 -0
  33. package/dist/a2a/subagent.d.ts +25 -0
  34. package/dist/a2a/types.d.cts +12 -0
  35. package/dist/a2a/types.d.ts +12 -0
  36. package/dist/agent.d.ts +1 -1
  37. package/dist/client/index.cjs +73 -0
  38. package/dist/client/index.cjs.map +1 -0
  39. package/dist/client/index.d.cts +7 -0
  40. package/dist/client/index.d.ts +7 -0
  41. package/dist/client/index.js +71 -0
  42. package/dist/client/index.js.map +1 -0
  43. package/dist/client/theokit-client.d.cts +18 -0
  44. package/dist/client/theokit-client.d.ts +18 -0
  45. package/dist/client/types.d.cts +19 -0
  46. package/dist/client/types.d.ts +19 -0
  47. package/dist/{run-DkCD5DeO.d.cts → cron-BnywDYLq.d.cts} +496 -910
  48. package/dist/{run-DkCD5DeO.d.ts → cron-CtZvJD9J.d.ts} +496 -910
  49. package/dist/cron.cjs +4285 -2893
  50. package/dist/cron.cjs.map +1 -1
  51. package/dist/cron.d.cts +2 -3
  52. package/dist/cron.d.ts +2 -71
  53. package/dist/cron.js +4289 -2897
  54. package/dist/cron.js.map +1 -1
  55. package/dist/{errors-CvAeEWgE.d.ts → errors-ChqOmFH1.d.cts} +52 -6
  56. package/dist/{errors-CK8brCJ1.d.cts → errors-DV9e0rcp.d.ts} +52 -6
  57. package/dist/errors.cjs +218 -3
  58. package/dist/errors.cjs.map +1 -1
  59. package/dist/errors.d.cts +2 -3
  60. package/dist/errors.d.ts +50 -4
  61. package/dist/errors.js +217 -4
  62. package/dist/errors.js.map +1 -1
  63. package/dist/eval.cjs +4285 -2893
  64. package/dist/eval.cjs.map +1 -1
  65. package/dist/eval.d.cts +35 -0
  66. package/dist/eval.js +4289 -2897
  67. package/dist/eval.js.map +1 -1
  68. package/dist/event-bus.d.ts +23 -0
  69. package/dist/index.cjs +5132 -4200
  70. package/dist/index.cjs.map +1 -1
  71. package/dist/index.d.cts +298 -278
  72. package/dist/index.d.ts +1898 -24
  73. package/dist/index.js +6441 -5509
  74. package/dist/index.js.map +1 -1
  75. package/dist/internal/agent-loop/loop-context-init.d.ts +2 -0
  76. package/dist/internal/agent-loop/tool-dispatch.d.ts +22 -1
  77. package/dist/internal/auth/api-key-validator.d.ts +46 -0
  78. package/dist/internal/llm/anthropic-shared.d.ts +8 -1
  79. package/dist/internal/llm/retry.d.ts +22 -0
  80. package/dist/internal/llm/types.d.ts +47 -1
  81. package/dist/internal/memory/active-memory-cache.d.ts +3 -3
  82. package/dist/internal/memory/active-memory-types.d.ts +8 -0
  83. package/dist/internal/memory/active-memory.d.ts +24 -20
  84. package/dist/internal/memory/adapters/azure-openai-embedding.d.ts +2 -0
  85. package/dist/internal/memory/adapters/cohere-embedding.d.ts +2 -0
  86. package/dist/internal/memory/adapters/gemini-embedding.d.ts +2 -0
  87. package/dist/internal/memory/adapters/jina-embedding.d.ts +2 -0
  88. package/dist/internal/memory/index-manager-contract.d.ts +26 -0
  89. package/dist/internal/memory/index-manager-dispatch.d.ts +1 -1
  90. package/dist/internal/memory/index-manager.d.ts +8 -26
  91. package/dist/internal/memory/{chunk-markdown.d.ts → storage/chunk-markdown.d.ts} +1 -1
  92. package/dist/internal/memory/{markdown-store.d.ts → storage/markdown-store.d.ts} +1 -1
  93. package/dist/internal/memory/{reader.d.ts → storage/reader.d.ts} +1 -1
  94. package/dist/internal/observability/context.d.cts +23 -0
  95. package/dist/internal/observability/context.d.ts +23 -0
  96. package/dist/internal/observability/index.cjs +38 -0
  97. package/dist/internal/observability/index.cjs.map +1 -0
  98. package/dist/internal/observability/index.d.cts +8 -0
  99. package/dist/internal/observability/index.d.ts +8 -0
  100. package/dist/internal/observability/index.js +33 -0
  101. package/dist/internal/observability/index.js.map +1 -0
  102. package/dist/internal/observability/tracer-loader.d.cts +20 -0
  103. package/dist/internal/persistence/conversation-storage-fs.d.cts +37 -0
  104. package/dist/internal/persistence/conversation-storage-memory.d.cts +24 -0
  105. package/dist/internal/persistence/credential-pool-store.d.cts +32 -0
  106. package/dist/internal/persistence/credential-pool-store.d.ts +32 -0
  107. package/dist/internal/persistence/cwd-mutex.d.cts +1 -0
  108. package/dist/internal/persistence/exclusive-create.d.cts +22 -0
  109. package/dist/internal/persistence/exclusive-create.d.ts +22 -0
  110. package/dist/internal/persistence/file-lock.d.cts +14 -0
  111. package/dist/internal/persistence/fts5-sanitize.d.cts +16 -0
  112. package/dist/internal/persistence/index.cjs +359 -0
  113. package/dist/internal/persistence/index.cjs.map +1 -0
  114. package/dist/internal/persistence/index.d.cts +20 -0
  115. package/dist/internal/persistence/index.d.ts +20 -0
  116. package/dist/internal/persistence/index.js +341 -0
  117. package/dist/internal/persistence/index.js.map +1 -0
  118. package/dist/internal/persistence/markdown-config-loader.d.cts +35 -0
  119. package/dist/internal/persistence/paths.d.cts +19 -0
  120. package/dist/internal/persistence/persistence-schema.d.cts +21 -0
  121. package/dist/internal/persistence/persistence-schema.d.ts +4 -0
  122. package/dist/internal/persistence/schema-version.d.cts +13 -0
  123. package/dist/internal/persistence/sqlite-cas.d.cts +25 -0
  124. package/dist/internal/persistence/sqlite-cas.d.ts +25 -0
  125. package/dist/internal/persistence/sqlite-wal.d.cts +10 -0
  126. package/dist/internal/plugins/context.d.cts +31 -0
  127. package/dist/internal/plugins/index.cjs +228 -0
  128. package/dist/internal/plugins/index.cjs.map +1 -0
  129. package/dist/internal/plugins/index.d.cts +8 -0
  130. package/dist/internal/plugins/index.d.ts +8 -0
  131. package/dist/internal/plugins/index.js +222 -0
  132. package/dist/internal/plugins/index.js.map +1 -0
  133. package/dist/internal/plugins/lifecycle.d.cts +14 -0
  134. package/dist/internal/plugins/lifecycle.d.ts +14 -0
  135. package/dist/internal/plugins/manager.d.cts +37 -0
  136. package/dist/internal/plugins/types.d.cts +102 -0
  137. package/dist/internal/providers/catalog-loader.d.ts +39 -0
  138. package/dist/internal/runtime/agent-session-store.d.ts +1 -1
  139. package/dist/internal/runtime/agent-session.d.ts +1 -0
  140. package/dist/internal/runtime/budget-tracker.d.ts +73 -0
  141. package/dist/internal/runtime/{context-manager.d.ts → context/context-manager.d.ts} +1 -1
  142. package/dist/internal/runtime/{fixture-events.d.ts → fixtures/fixture-events.d.ts} +1 -1
  143. package/dist/internal/runtime/{fixture-run-base.d.ts → fixtures/fixture-run-base.d.ts} +4 -4
  144. package/dist/internal/runtime/{fixture-scripts.d.ts → fixtures/fixture-scripts.d.ts} +1 -1
  145. package/dist/internal/runtime/local-agent-bootstrap.d.ts +2 -2
  146. package/dist/internal/runtime/local-agent-memory-provider.d.ts +57 -0
  147. package/dist/internal/runtime/memory-path-selector.d.ts +73 -0
  148. package/dist/internal/runtime/memory-provider.d.ts +165 -0
  149. package/dist/internal/runtime/{agent-registry.d.ts → registry/agent-registry-contract.d.ts} +15 -9
  150. package/dist/internal/runtime/registry/agent-registry.d.ts +7 -0
  151. package/dist/internal/runtime/{live-agent-registry.d.ts → registry/live-agent-registry.d.ts} +1 -1
  152. package/dist/internal/runtime/{run-registry.d.ts → registry/run-registry.d.ts} +1 -1
  153. package/dist/internal/runtime/session-types.d.ts +35 -0
  154. package/dist/internal/runtime/system-prompt/sources/skills-provider.d.ts +1 -0
  155. package/dist/internal/runtime/validate-response.d.ts +18 -0
  156. package/dist/internal/security/index.cjs +361 -0
  157. package/dist/internal/security/index.cjs.map +1 -0
  158. package/dist/internal/security/index.d.cts +11 -0
  159. package/dist/internal/security/index.js +350 -0
  160. package/dist/internal/security/index.js.map +1 -0
  161. package/dist/internal/security/path-guard.d.cts +59 -0
  162. package/dist/internal/security/path-guard.d.ts +3 -0
  163. package/dist/internal/security/redact.d.cts +21 -0
  164. package/dist/internal/security/secret-redactor.d.cts +1 -0
  165. package/dist/internal/security/secret-redactor.d.ts +1 -0
  166. package/dist/internal/security/test-reset.d.cts +10 -0
  167. package/dist/internal/security/test-reset.d.ts +10 -0
  168. package/dist/internal/telemetry/adapters/arize.d.ts +2 -0
  169. package/dist/internal/telemetry/adapters/braintrust.d.ts +2 -0
  170. package/dist/internal/telemetry/adapters/datadog.d.ts +2 -0
  171. package/dist/internal/telemetry/adapters/langsmith.d.ts +2 -0
  172. package/dist/internal/telemetry/span-names.d.ts +6 -0
  173. package/dist/internal/telemetry/tracer.d.ts +1 -0
  174. package/dist/internal/workflow/evented-executor.d.ts +42 -0
  175. package/dist/internal/workflow/scheduler.d.ts +23 -0
  176. package/dist/internal/zod/to-json-schema.d.ts +5 -15
  177. package/dist/job-queue.d.ts +28 -0
  178. package/dist/path-safety.cjs +67 -6
  179. package/dist/path-safety.cjs.map +1 -1
  180. package/dist/path-safety.d.cts +15 -0
  181. package/dist/path-safety.d.ts +1 -1
  182. package/dist/path-safety.js +67 -7
  183. package/dist/path-safety.js.map +1 -1
  184. package/dist/permission-engine.d.ts +21 -0
  185. package/dist/provider-catalog.json +702 -0
  186. package/dist/rag/index.cjs +136 -0
  187. package/dist/rag/index.cjs.map +1 -0
  188. package/dist/rag/index.d.cts +11 -0
  189. package/dist/rag/index.d.ts +11 -0
  190. package/dist/rag/index.js +129 -0
  191. package/dist/rag/index.js.map +1 -0
  192. package/dist/rag/reranker.d.cts +26 -0
  193. package/dist/rag/reranker.d.ts +26 -0
  194. package/dist/rag/retriever.d.cts +25 -0
  195. package/dist/rag/retriever.d.ts +25 -0
  196. package/dist/rag/text-splitter.d.cts +12 -0
  197. package/dist/rag/text-splitter.d.ts +12 -0
  198. package/dist/rag/types.d.cts +37 -0
  199. package/dist/rag/types.d.ts +37 -0
  200. package/dist/run-DrwUpFxZ.d.cts +823 -0
  201. package/dist/run-DrwUpFxZ.d.ts +823 -0
  202. package/dist/sandbox/index.cjs +133 -0
  203. package/dist/sandbox/index.cjs.map +1 -0
  204. package/dist/sandbox/index.d.cts +2 -0
  205. package/dist/sandbox/index.d.ts +2 -0
  206. package/dist/sandbox/index.js +128 -0
  207. package/dist/sandbox/index.js.map +1 -0
  208. package/dist/sandbox/local-sandbox.d.cts +17 -0
  209. package/dist/sandbox/local-sandbox.d.ts +17 -0
  210. package/dist/sandbox/types.d.cts +44 -0
  211. package/dist/sandbox/types.d.ts +44 -0
  212. package/dist/server/adapter/express.d.cts +9 -0
  213. package/dist/server/adapter/express.d.ts +9 -0
  214. package/dist/server/adapter/fastify.d.cts +9 -0
  215. package/dist/server/adapter/fastify.d.ts +9 -0
  216. package/dist/server/adapter/hono.d.cts +9 -0
  217. package/dist/server/adapter/hono.d.ts +9 -0
  218. package/dist/server/adapter/index.d.cts +8 -0
  219. package/dist/server/adapter/index.d.ts +8 -0
  220. package/dist/server/adapter/shared-handler.d.cts +9 -0
  221. package/dist/server/adapter/shared-handler.d.ts +9 -0
  222. package/dist/server/adapter/types.d.cts +33 -0
  223. package/dist/server/adapter/types.d.ts +33 -0
  224. package/dist/server/auth/errors.d.cts +53 -0
  225. package/dist/server/auth/errors.d.ts +53 -0
  226. package/dist/server/auth/index.cjs +38 -41
  227. package/dist/server/auth/index.cjs.map +1 -1
  228. package/dist/server/auth/index.d.cts +11 -172
  229. package/dist/server/auth/index.d.ts +11 -172
  230. package/dist/server/auth/index.js +39 -42
  231. package/dist/server/auth/index.js.map +1 -1
  232. package/dist/server/auth/oauth-transaction-store.d.cts +39 -0
  233. package/dist/server/auth/oauth-transaction-store.d.ts +39 -0
  234. package/dist/server/auth/orchestrator.d.cts +8 -0
  235. package/dist/server/auth/orchestrator.d.ts +8 -0
  236. package/dist/server/auth/types.d.cts +91 -0
  237. package/dist/server/auth/types.d.ts +91 -0
  238. package/dist/server/auth/validate-return-to.d.cts +17 -0
  239. package/dist/server/auth/validate-return-to.d.ts +17 -0
  240. package/dist/server/errors-envelope.cjs +409 -0
  241. package/dist/server/errors-envelope.cjs.map +1 -0
  242. package/dist/server/errors-envelope.d.cts +61 -0
  243. package/dist/server/errors-envelope.d.ts +61 -0
  244. package/dist/server/errors-envelope.js +405 -0
  245. package/dist/server/errors-envelope.js.map +1 -0
  246. package/dist/subscription/define-subscription.d.cts +63 -0
  247. package/dist/subscription/define-subscription.d.ts +63 -0
  248. package/dist/subscription/index.cjs +402 -0
  249. package/dist/subscription/index.cjs.map +1 -0
  250. package/dist/subscription/index.d.cts +18 -0
  251. package/dist/subscription/index.d.ts +18 -0
  252. package/dist/subscription/index.js +394 -0
  253. package/dist/subscription/index.js.map +1 -0
  254. package/dist/subscription/internal/adapter-types.d.cts +11 -0
  255. package/dist/subscription/internal/adapter-types.d.ts +11 -0
  256. package/dist/subscription/internal/backpressure.d.cts +24 -0
  257. package/dist/subscription/internal/backpressure.d.ts +24 -0
  258. package/dist/subscription/internal/server-integration.d.cts +17 -0
  259. package/dist/subscription/internal/server-integration.d.ts +17 -0
  260. package/dist/subscription/internal/sse-encoder.d.cts +13 -0
  261. package/dist/subscription/internal/sse-encoder.d.ts +13 -0
  262. package/dist/subscription/internal/sse-parser.d.cts +15 -0
  263. package/dist/subscription/internal/sse-parser.d.ts +15 -0
  264. package/dist/subscription/internal/subscription-runtime.d.cts +9 -0
  265. package/dist/subscription/internal/subscription-runtime.d.ts +9 -0
  266. package/dist/subscription/internal/ws-adapter-node.d.cts +10 -0
  267. package/dist/subscription/internal/ws-adapter-node.d.ts +10 -0
  268. package/dist/subscription/theokit-subscribe.d.cts +41 -0
  269. package/dist/subscription/theokit-subscribe.d.ts +41 -0
  270. package/dist/subscription/types.d.cts +140 -0
  271. package/dist/subscription/types.d.ts +140 -0
  272. package/dist/task-store.cjs +30 -2
  273. package/dist/task-store.cjs.map +1 -1
  274. package/dist/task-store.d.cts +8 -0
  275. package/dist/task-store.js +31 -3
  276. package/dist/task-store.js.map +1 -1
  277. package/dist/types/agent-prims.d.ts +61 -0
  278. package/dist/types/agent.d.ts +48 -53
  279. package/dist/types/conversation.d.ts +20 -8
  280. package/dist/types/index.d.ts +0 -2
  281. package/dist/types/messages-base.d.ts +20 -0
  282. package/dist/types/messages.d.ts +1 -1
  283. package/dist/types/run.d.ts +1 -1
  284. package/dist/types/updates.d.ts +1 -1
  285. package/dist/voice/index.d.ts +7 -0
  286. package/dist/voice/openai-realtime.d.ts +21 -0
  287. package/dist/voice/types.d.ts +35 -0
  288. package/dist/workflow.cjs +179 -88
  289. package/dist/workflow.cjs.map +1 -1
  290. package/dist/workflow.d.cts +97 -0
  291. package/dist/workflow.js +180 -89
  292. package/dist/workflow.js.map +1 -1
  293. package/package.json +128 -25
  294. package/dist/budget.d.ts +0 -48
  295. package/dist/cache.d.ts +0 -74
  296. package/dist/cron-1yxL3K2S.d.cts +0 -221
  297. package/dist/cron-BYVdYzob.d.ts +0 -221
  298. package/dist/handoff.d.ts +0 -55
  299. package/dist/internal/budget/calendar-window.d.ts +0 -19
  300. package/dist/internal/budget/enforcement.d.ts +0 -32
  301. package/dist/internal/budget/ledger.d.ts +0 -25
  302. package/dist/internal/budget/normalize-usage.d.ts +0 -27
  303. package/dist/internal/budget/registry.d.ts +0 -16
  304. package/dist/internal/cache/cosine.d.ts +0 -14
  305. package/dist/internal/cache/embed-helper.d.ts +0 -15
  306. package/dist/internal/cache/key.d.ts +0 -15
  307. package/dist/internal/cache/lookup.d.ts +0 -28
  308. package/dist/internal/cache/store-handler.d.ts +0 -24
  309. package/dist/internal/cache/store-json.d.ts +0 -48
  310. package/dist/internal/cache/store.d.ts +0 -54
  311. package/dist/internal/cache/telemetry.d.ts +0 -20
  312. package/dist/internal/cache/ttl.d.ts +0 -11
  313. package/dist/internal/catalog/fixtures.d.ts +0 -16
  314. package/dist/internal/catalog/local-models.d.ts +0 -24
  315. package/dist/internal/handoff/dispatcher.d.ts +0 -29
  316. package/dist/internal/handoff/registry.d.ts +0 -23
  317. package/dist/internal/handoff/telemetry.d.ts +0 -18
  318. package/dist/internal/handoff/tool-injector.d.ts +0 -34
  319. package/dist/internal/memory/atomic-write.d.ts +0 -7
  320. package/dist/internal/memory/dreaming/diary.d.ts +0 -4
  321. package/dist/internal/memory/dreaming/phases.d.ts +0 -15
  322. package/dist/internal/memory/dreaming/run.d.ts +0 -10
  323. package/dist/internal/memory/migrate-sqlite-to-lance.d.ts +0 -15
  324. package/dist/memory-adapter-helpers.d.ts +0 -28
  325. package/dist/memory.d.ts +0 -123
  326. package/dist/migrate.d.ts +0 -33
  327. package/dist/security.d.ts +0 -67
  328. package/dist/task.d.ts +0 -87
  329. package/dist/theokit.d.ts +0 -84
  330. package/dist/tools/_path-scope.d.ts +0 -8
  331. package/dist/tools/_subprocess.d.ts +0 -28
  332. package/dist/tools/git-diff.d.ts +0 -22
  333. package/dist/tools/index.d.ts +0 -29
  334. package/dist/tools/list-dir.d.ts +0 -26
  335. package/dist/tools/read-file.d.ts +0 -31
  336. package/dist/tools/run-vitest.d.ts +0 -46
  337. package/dist/tools/search-text.d.ts +0 -32
  338. package/dist/tools.cjs +0 -690
  339. package/dist/tools.cjs.map +0 -1
  340. package/dist/tools.js +0 -683
  341. package/dist/tools.js.map +0 -1
  342. package/dist/trajectory-helpers.d.ts +0 -31
  343. package/dist/types/cache.d.ts +0 -76
  344. package/dist/types/handoff.d.ts +0 -135
  345. /package/dist/{internal/cron/run-job.d.ts → agent-helpers.d.ts} +0 -0
  346. /package/dist/internal/{cron/scheduler.d.ts → agent-loop/loop-llm-stream.d.ts} +0 -0
  347. /package/dist/internal/{cron/store.d.ts → agent-loop/tool-executors.d.ts} +0 -0
  348. /package/dist/internal/{cron/validate.d.ts → memory/index-manager-helpers.d.ts} +0 -0
  349. /package/dist/internal/memory/{session-loader.d.ts → storage/session-loader.d.ts} +0 -0
  350. /package/dist/internal/memory/{session-summary-writer.d.ts → storage/session-summary-writer.d.ts} +0 -0
  351. /package/dist/internal/memory/{transcript-store.d.ts → storage/transcript-store.d.ts} +0 -0
  352. /package/dist/internal/memory/{wiki-loader.d.ts → storage/wiki-loader.d.ts} +0 -0
  353. /package/dist/internal/{memory/cwd-mutex.d.ts → persistence/atomic-write.d.cts} +0 -0
  354. /package/dist/internal/runtime/{context-aggregator.d.ts → context/context-aggregator.d.ts} +0 -0
  355. /package/dist/internal/runtime/{context-discovery-runner.d.ts → context/context-discovery-runner.d.ts} +0 -0
  356. /package/dist/internal/runtime/{context-discovery.d.ts → context/context-discovery.d.ts} +0 -0
  357. /package/dist/internal/runtime/{context-frontmatter.d.ts → context/context-frontmatter.d.ts} +0 -0
  358. /package/dist/internal/runtime/{context-import-resolver.d.ts → context/context-import-resolver.d.ts} +0 -0
  359. /package/dist/internal/runtime/{context-loaders.d.ts → context/context-loaders.d.ts} +0 -0
  360. /package/dist/internal/runtime/{context-mdc-parser.d.ts → context/context-mdc-parser.d.ts} +0 -0
  361. /package/dist/internal/runtime/{fixture-responder.d.ts → fixtures/fixture-responder.d.ts} +0 -0
  362. /package/dist/internal/runtime/{fixture-types.d.ts → fixtures/fixture-types.d.ts} +0 -0
  363. /package/dist/internal/runtime/{plugins-manager.d.ts → local-agent-send.d.ts} +0 -0
  364. /package/dist/internal/runtime/{plugin-frontmatter.d.ts → plugins/plugin-frontmatter.d.ts} +0 -0
  365. /package/dist/internal/runtime/{system-prompt/providers/active-memory-provider.d.ts → plugins/plugins-manager.d.ts} +0 -0
  366. /package/dist/internal/runtime/{agent-factory-registry.d.ts → registry/agent-factory-registry.d.ts} +0 -0
  367. /package/dist/internal/runtime/{agent-registry-store.d.ts → registry/agent-registry-store.d.ts} +0 -0
  368. /package/dist/internal/runtime/system-prompt/{providers/base-provider.d.ts → sources/active-memory-provider.d.ts} +0 -0
  369. /package/dist/internal/runtime/system-prompt/{providers/context-provider.d.ts → sources/base-provider.d.ts} +0 -0
  370. /package/dist/internal/runtime/system-prompt/{providers/memory-provider.d.ts → sources/context-provider.d.ts} +0 -0
  371. /package/dist/internal/runtime/system-prompt/{providers/skills-provider.d.ts → sources/memory-provider.d.ts} +0 -0
@@ -0,0 +1,27 @@
1
+ /**
2
+ * MessageBus — in-process typed message router for A2A (T20.1, ADR D453).
3
+ *
4
+ * Routes messages between agents by ID. Supports fire-and-forget (send)
5
+ * and request/response (request with timeout).
6
+ *
7
+ * @public
8
+ */
9
+ import type { MessageHandler } from "./types.js";
10
+ export interface RequestOptions {
11
+ timeoutMs?: number;
12
+ }
13
+ export declare class MessageBus {
14
+ private readonly _handlers;
15
+ register(agentId: string, handler: MessageHandler): void;
16
+ unregister(agentId: string): void;
17
+ send(from: string, to: string, partial: {
18
+ type: string;
19
+ payload: unknown;
20
+ }): Promise<void>;
21
+ request(from: string, to: string, partial: {
22
+ type: string;
23
+ payload: unknown;
24
+ }, opts?: RequestOptions): Promise<unknown>;
25
+ has(agentId: string): boolean;
26
+ listAgents(): string[];
27
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * MessageBus — in-process typed message router for A2A (T20.1, ADR D453).
3
+ *
4
+ * Routes messages between agents by ID. Supports fire-and-forget (send)
5
+ * and request/response (request with timeout).
6
+ *
7
+ * @public
8
+ */
9
+ import type { MessageHandler } from "./types.js";
10
+ export interface RequestOptions {
11
+ timeoutMs?: number;
12
+ }
13
+ export declare class MessageBus {
14
+ private readonly _handlers;
15
+ register(agentId: string, handler: MessageHandler): void;
16
+ unregister(agentId: string): void;
17
+ send(from: string, to: string, partial: {
18
+ type: string;
19
+ payload: unknown;
20
+ }): Promise<void>;
21
+ request(from: string, to: string, partial: {
22
+ type: string;
23
+ payload: unknown;
24
+ }, opts?: RequestOptions): Promise<unknown>;
25
+ has(agentId: string): boolean;
26
+ listAgents(): string[];
27
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Subagent delegation — declarative child agent invocable as a tool.
3
+ *
4
+ * Per ADR D2: `defineSubAgent(spec)` returns a `CustomTool` that, when
5
+ * invoked by the LLM, creates a child agent and sends the input as a
6
+ * message. EC-2: delegation depth tracked to prevent infinite recursion.
7
+ *
8
+ * @public
9
+ */
10
+ import type { CustomTool } from "../types/agent.js";
11
+ export interface SubAgentSpec {
12
+ name: string;
13
+ description: string;
14
+ instructions: string;
15
+ model?: string;
16
+ tools?: CustomTool[];
17
+ maxDelegationDepth?: number;
18
+ }
19
+ export declare class MaxDelegationDepthError extends Error {
20
+ readonly currentDepth: number;
21
+ readonly maxDepth: number;
22
+ readonly code: "max_delegation_depth";
23
+ constructor(currentDepth: number, maxDepth: number);
24
+ }
25
+ export declare function defineSubAgent(spec: SubAgentSpec, _parentDepth?: number): CustomTool;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Subagent delegation — declarative child agent invocable as a tool.
3
+ *
4
+ * Per ADR D2: `defineSubAgent(spec)` returns a `CustomTool` that, when
5
+ * invoked by the LLM, creates a child agent and sends the input as a
6
+ * message. EC-2: delegation depth tracked to prevent infinite recursion.
7
+ *
8
+ * @public
9
+ */
10
+ import type { CustomTool } from "../types/agent.js";
11
+ export interface SubAgentSpec {
12
+ name: string;
13
+ description: string;
14
+ instructions: string;
15
+ model?: string;
16
+ tools?: CustomTool[];
17
+ maxDelegationDepth?: number;
18
+ }
19
+ export declare class MaxDelegationDepthError extends Error {
20
+ readonly currentDepth: number;
21
+ readonly maxDepth: number;
22
+ readonly code: "max_delegation_depth";
23
+ constructor(currentDepth: number, maxDepth: number);
24
+ }
25
+ export declare function defineSubAgent(spec: SubAgentSpec, _parentDepth?: number): CustomTool;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * A2A (Agent-to-Agent) communication types (T20.1, ADR D453).
3
+ * @public
4
+ */
5
+ export interface A2AMessage<T = unknown> {
6
+ type: string;
7
+ payload: T;
8
+ from: string;
9
+ to: string;
10
+ timestamp: number;
11
+ }
12
+ export type MessageHandler<T = unknown> = (message: A2AMessage<T>) => undefined | unknown | Promise<undefined | unknown>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * A2A (Agent-to-Agent) communication types (T20.1, ADR D453).
3
+ * @public
4
+ */
5
+ export interface A2AMessage<T = unknown> {
6
+ type: string;
7
+ payload: T;
8
+ from: string;
9
+ to: string;
10
+ timestamp: number;
11
+ }
12
+ export type MessageHandler<T = unknown> = (message: A2AMessage<T>) => undefined | unknown | Promise<undefined | unknown>;
package/dist/agent.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AgentBuilder } from "./agent-builder.js";
2
- import { type LiveAgentRegistry } from "./internal/runtime/live-agent-registry.js";
2
+ import { type LiveAgentRegistry } from "./internal/runtime/registry/live-agent-registry.js";
3
3
  import type { AgentOperationOptions, AgentOptions, GetAgentOptions, GetRunOptions, ListAgentsOptions, ListResult, ListRunsOptions, SDKAgent, SDKAgentInfo } from "./types/agent.js";
4
4
  import type { Run, RunResult } from "./types/run.js";
5
5
  /**
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ // src/client/theokit-client.ts
4
+ var TheoKitClient = class {
5
+ _baseUrl;
6
+ _basePath;
7
+ _headers;
8
+ constructor(opts) {
9
+ this._baseUrl = opts.baseUrl.replace(/\/$/, "");
10
+ this._basePath = opts.basePath ?? "/agent";
11
+ this._headers = opts.headers ?? {};
12
+ }
13
+ async send(input) {
14
+ const url = `${this._baseUrl}${this._basePath}/send`;
15
+ const response = await fetch(url, {
16
+ method: "POST",
17
+ headers: {
18
+ "Content-Type": "application/json",
19
+ ...this._headers
20
+ },
21
+ body: JSON.stringify({ input })
22
+ });
23
+ if (!response.ok) {
24
+ throw new Error(`TheoKitClient: send failed with status ${response.status}`);
25
+ }
26
+ return await response.json();
27
+ }
28
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: SSE stream parsing with fetch + ReadableStream reader requires sequential control flow
29
+ async *stream(input) {
30
+ const url = `${this._baseUrl}${this._basePath}/stream?input=${encodeURIComponent(input)}`;
31
+ const response = await fetch(url, {
32
+ headers: {
33
+ Accept: "text/event-stream",
34
+ ...this._headers
35
+ }
36
+ });
37
+ if (!response.ok) {
38
+ throw new Error(`TheoKitClient: stream failed with status ${response.status}`);
39
+ }
40
+ const reader = response.body?.getReader();
41
+ if (!reader) {
42
+ throw new Error("TheoKitClient: response body is not readable");
43
+ }
44
+ const decoder = new TextDecoder();
45
+ let buffer = "";
46
+ try {
47
+ while (true) {
48
+ const { done, value } = await reader.read();
49
+ if (done) break;
50
+ buffer += decoder.decode(value, { stream: true });
51
+ const lines = buffer.split("\n");
52
+ buffer = lines.pop() ?? "";
53
+ for (const line of lines) {
54
+ const trimmed = line.trim();
55
+ if (trimmed.startsWith("data: ")) {
56
+ const data = trimmed.slice(6);
57
+ if (data === "[DONE]") return;
58
+ try {
59
+ yield JSON.parse(data);
60
+ } catch {
61
+ }
62
+ }
63
+ }
64
+ }
65
+ } finally {
66
+ reader.releaseLock();
67
+ }
68
+ }
69
+ };
70
+
71
+ exports.TheoKitClient = TheoKitClient;
72
+ //# sourceMappingURL=index.cjs.map
73
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/theokit-client.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * TheoKitClient — browser-safe client for consuming server adapter endpoints\n * (T20.2, ADR D454).\n *\n * Zero Node dependencies. Uses native fetch + manual SSE parsing.\n * Consumes the same HTTP contract as server adapters (POST /send, GET /stream).\n *\n * @public\n */\n\nimport type { ClientOptions, SendResponse, StreamEvent } from \"./types.js\";\n\nexport class TheoKitClient {\n private readonly _baseUrl: string;\n private readonly _basePath: string;\n private readonly _headers: Record<string, string>;\n\n constructor(opts: ClientOptions) {\n this._baseUrl = opts.baseUrl.replace(/\\/$/, \"\");\n this._basePath = opts.basePath ?? \"/agent\";\n this._headers = opts.headers ?? {};\n }\n\n async send(input: string): Promise<SendResponse> {\n const url = `${this._baseUrl}${this._basePath}/send`;\n const response = await fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...this._headers,\n },\n body: JSON.stringify({ input }),\n });\n\n if (!response.ok) {\n throw new Error(`TheoKitClient: send failed with status ${response.status}`);\n }\n\n return (await response.json()) as SendResponse;\n }\n\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: SSE stream parsing with fetch + ReadableStream reader requires sequential control flow\n async *stream(input: string): AsyncGenerator<StreamEvent, void, void> {\n const url = `${this._baseUrl}${this._basePath}/stream?input=${encodeURIComponent(input)}`;\n const response = await fetch(url, {\n headers: {\n Accept: \"text/event-stream\",\n ...this._headers,\n },\n });\n\n if (!response.ok) {\n throw new Error(`TheoKitClient: stream failed with status ${response.status}`);\n }\n\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error(\"TheoKitClient: response body is not readable\");\n }\n\n const decoder = new TextDecoder();\n let buffer = \"\";\n\n try {\n // jscpd:ignore-start — SSE stream buffer pattern (different protocol from NDJSON in ollama-native)\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n // jscpd:ignore-end\n\n for (const line of lines) {\n const trimmed = line.trim();\n if (trimmed.startsWith(\"data: \")) {\n const data = trimmed.slice(6);\n if (data === \"[DONE]\") return;\n try {\n yield JSON.parse(data) as StreamEvent;\n } catch {\n // Skip malformed SSE data lines\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Client sub-path barrel (T20.2, ADR D454).
3
+ * Exported via `@theokit/sdk/client`.
4
+ * @public
5
+ */
6
+ export { TheoKitClient } from "./theokit-client.js";
7
+ export type { ClientOptions, SendResponse, StreamEvent } from "./types.js";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Client sub-path barrel (T20.2, ADR D454).
3
+ * Exported via `@theokit/sdk/client`.
4
+ * @public
5
+ */
6
+ export { TheoKitClient } from "./theokit-client.js";
7
+ export type { ClientOptions, SendResponse, StreamEvent } from "./types.js";
@@ -0,0 +1,71 @@
1
+ // src/client/theokit-client.ts
2
+ var TheoKitClient = class {
3
+ _baseUrl;
4
+ _basePath;
5
+ _headers;
6
+ constructor(opts) {
7
+ this._baseUrl = opts.baseUrl.replace(/\/$/, "");
8
+ this._basePath = opts.basePath ?? "/agent";
9
+ this._headers = opts.headers ?? {};
10
+ }
11
+ async send(input) {
12
+ const url = `${this._baseUrl}${this._basePath}/send`;
13
+ const response = await fetch(url, {
14
+ method: "POST",
15
+ headers: {
16
+ "Content-Type": "application/json",
17
+ ...this._headers
18
+ },
19
+ body: JSON.stringify({ input })
20
+ });
21
+ if (!response.ok) {
22
+ throw new Error(`TheoKitClient: send failed with status ${response.status}`);
23
+ }
24
+ return await response.json();
25
+ }
26
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: SSE stream parsing with fetch + ReadableStream reader requires sequential control flow
27
+ async *stream(input) {
28
+ const url = `${this._baseUrl}${this._basePath}/stream?input=${encodeURIComponent(input)}`;
29
+ const response = await fetch(url, {
30
+ headers: {
31
+ Accept: "text/event-stream",
32
+ ...this._headers
33
+ }
34
+ });
35
+ if (!response.ok) {
36
+ throw new Error(`TheoKitClient: stream failed with status ${response.status}`);
37
+ }
38
+ const reader = response.body?.getReader();
39
+ if (!reader) {
40
+ throw new Error("TheoKitClient: response body is not readable");
41
+ }
42
+ const decoder = new TextDecoder();
43
+ let buffer = "";
44
+ try {
45
+ while (true) {
46
+ const { done, value } = await reader.read();
47
+ if (done) break;
48
+ buffer += decoder.decode(value, { stream: true });
49
+ const lines = buffer.split("\n");
50
+ buffer = lines.pop() ?? "";
51
+ for (const line of lines) {
52
+ const trimmed = line.trim();
53
+ if (trimmed.startsWith("data: ")) {
54
+ const data = trimmed.slice(6);
55
+ if (data === "[DONE]") return;
56
+ try {
57
+ yield JSON.parse(data);
58
+ } catch {
59
+ }
60
+ }
61
+ }
62
+ }
63
+ } finally {
64
+ reader.releaseLock();
65
+ }
66
+ }
67
+ };
68
+
69
+ export { TheoKitClient };
70
+ //# sourceMappingURL=index.js.map
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/theokit-client.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * TheoKitClient — browser-safe client for consuming server adapter endpoints\n * (T20.2, ADR D454).\n *\n * Zero Node dependencies. Uses native fetch + manual SSE parsing.\n * Consumes the same HTTP contract as server adapters (POST /send, GET /stream).\n *\n * @public\n */\n\nimport type { ClientOptions, SendResponse, StreamEvent } from \"./types.js\";\n\nexport class TheoKitClient {\n private readonly _baseUrl: string;\n private readonly _basePath: string;\n private readonly _headers: Record<string, string>;\n\n constructor(opts: ClientOptions) {\n this._baseUrl = opts.baseUrl.replace(/\\/$/, \"\");\n this._basePath = opts.basePath ?? \"/agent\";\n this._headers = opts.headers ?? {};\n }\n\n async send(input: string): Promise<SendResponse> {\n const url = `${this._baseUrl}${this._basePath}/send`;\n const response = await fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...this._headers,\n },\n body: JSON.stringify({ input }),\n });\n\n if (!response.ok) {\n throw new Error(`TheoKitClient: send failed with status ${response.status}`);\n }\n\n return (await response.json()) as SendResponse;\n }\n\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: SSE stream parsing with fetch + ReadableStream reader requires sequential control flow\n async *stream(input: string): AsyncGenerator<StreamEvent, void, void> {\n const url = `${this._baseUrl}${this._basePath}/stream?input=${encodeURIComponent(input)}`;\n const response = await fetch(url, {\n headers: {\n Accept: \"text/event-stream\",\n ...this._headers,\n },\n });\n\n if (!response.ok) {\n throw new Error(`TheoKitClient: stream failed with status ${response.status}`);\n }\n\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error(\"TheoKitClient: response body is not readable\");\n }\n\n const decoder = new TextDecoder();\n let buffer = \"\";\n\n try {\n // jscpd:ignore-start — SSE stream buffer pattern (different protocol from NDJSON in ollama-native)\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n // jscpd:ignore-end\n\n for (const line of lines) {\n const trimmed = line.trim();\n if (trimmed.startsWith(\"data: \")) {\n const data = trimmed.slice(6);\n if (data === \"[DONE]\") return;\n try {\n yield JSON.parse(data) as StreamEvent;\n } catch {\n // Skip malformed SSE data lines\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * TheoKitClient — browser-safe client for consuming server adapter endpoints
3
+ * (T20.2, ADR D454).
4
+ *
5
+ * Zero Node dependencies. Uses native fetch + manual SSE parsing.
6
+ * Consumes the same HTTP contract as server adapters (POST /send, GET /stream).
7
+ *
8
+ * @public
9
+ */
10
+ import type { ClientOptions, SendResponse, StreamEvent } from "./types.js";
11
+ export declare class TheoKitClient {
12
+ private readonly _baseUrl;
13
+ private readonly _basePath;
14
+ private readonly _headers;
15
+ constructor(opts: ClientOptions);
16
+ send(input: string): Promise<SendResponse>;
17
+ stream(input: string): AsyncGenerator<StreamEvent, void, void>;
18
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * TheoKitClient — browser-safe client for consuming server adapter endpoints
3
+ * (T20.2, ADR D454).
4
+ *
5
+ * Zero Node dependencies. Uses native fetch + manual SSE parsing.
6
+ * Consumes the same HTTP contract as server adapters (POST /send, GET /stream).
7
+ *
8
+ * @public
9
+ */
10
+ import type { ClientOptions, SendResponse, StreamEvent } from "./types.js";
11
+ export declare class TheoKitClient {
12
+ private readonly _baseUrl;
13
+ private readonly _basePath;
14
+ private readonly _headers;
15
+ constructor(opts: ClientOptions);
16
+ send(input: string): Promise<SendResponse>;
17
+ stream(input: string): AsyncGenerator<StreamEvent, void, void>;
18
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Client SDK types (T20.2, ADR D454).
3
+ * @public
4
+ */
5
+ export interface ClientOptions {
6
+ baseUrl: string;
7
+ basePath?: string;
8
+ headers?: Record<string, string>;
9
+ }
10
+ export interface SendResponse {
11
+ status: string;
12
+ output?: unknown;
13
+ error?: string;
14
+ }
15
+ export interface StreamEvent {
16
+ type: string;
17
+ text?: string;
18
+ [key: string]: unknown;
19
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Client SDK types (T20.2, ADR D454).
3
+ * @public
4
+ */
5
+ export interface ClientOptions {
6
+ baseUrl: string;
7
+ basePath?: string;
8
+ headers?: Record<string, string>;
9
+ }
10
+ export interface SendResponse {
11
+ status: string;
12
+ output?: unknown;
13
+ error?: string;
14
+ }
15
+ export interface StreamEvent {
16
+ type: string;
17
+ text?: string;
18
+ [key: string]: unknown;
19
+ }