@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
package/dist/workflow.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ var crypto = require('crypto');
3
4
  var promises = require('fs/promises');
4
5
  var path = require('path');
5
6
  var module$1 = require('module');
6
7
  var fs = require('fs');
7
8
  var async_hooks = require('async_hooks');
8
- var crypto = require('crypto');
9
9
  var zod = require('zod');
10
10
 
11
11
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -19,6 +19,136 @@ var __export = (target, all) => {
19
19
  __defProp(target, name, { get: all[name], enumerable: true });
20
20
  };
21
21
 
22
+ // src/internal/security/redact.ts
23
+ function readEnvOnce() {
24
+ const raw = process.env.THEOKIT_REDACT_SECRETS;
25
+ if (raw === void 0) return true;
26
+ return ["1", "true", "yes", "on"].includes(raw.toLowerCase());
27
+ }
28
+ function maskToken(token) {
29
+ if (token.length < 18) return "***";
30
+ return `${token.slice(0, 6)}...${token.slice(-4)}`;
31
+ }
32
+ function coerceToString(value) {
33
+ if (typeof value === "string") return value;
34
+ if (value === null || value === void 0) return null;
35
+ if (typeof value === "object") {
36
+ try {
37
+ const s = JSON.stringify(value);
38
+ return s === void 0 ? null : s;
39
+ } catch {
40
+ return "[unredactable: circular]";
41
+ }
42
+ }
43
+ return String(value);
44
+ }
45
+ function redactSecrets(text, opts) {
46
+ const coerced = coerceToString(text);
47
+ if (coerced === null) return "";
48
+ if (!REDACT_ENABLED) return coerced;
49
+ let s = coerced;
50
+ for (const re of BUILTIN_PATTERNS) {
51
+ s = s.replace(re, (m) => maskToken(m));
52
+ }
53
+ for (const re of _extraPatterns) {
54
+ s = s.replace(re, (m) => maskToken(m));
55
+ }
56
+ {
57
+ s = s.replace(BEARER_PATTERN, (_, prefix) => `${prefix}***`);
58
+ s = s.replace(PARAM_PATTERN, (whole, prefix, value) => {
59
+ if (value.includes("...")) return whole;
60
+ return `${prefix}***`;
61
+ });
62
+ }
63
+ return s;
64
+ }
65
+ var REDACT_ENABLED, warnedOptOut, BUILTIN_PATTERNS, BEARER_PATTERN, PARAM_PATTERN, _extraPatterns;
66
+ var init_redact = __esm({
67
+ "src/internal/security/redact.ts"() {
68
+ REDACT_ENABLED = readEnvOnce();
69
+ warnedOptOut = false;
70
+ if (!REDACT_ENABLED && !warnedOptOut) {
71
+ process.stderr.write(
72
+ "[theokit-sdk] Secret redaction is DISABLED via THEOKIT_REDACT_SECRETS. Credentials may leak into errors, telemetry, logs, transcripts.\n"
73
+ );
74
+ warnedOptOut = true;
75
+ }
76
+ BUILTIN_PATTERNS = [
77
+ // T5.4: 30+ vendor prefixes (was 12 pre-T5.4). Order matters — more
78
+ // specific prefixes precede generic ones (e.g., sk-ant-admin01 before
79
+ // sk-ant-, sk-proj- before sk-). PEM block deliberately first so its
80
+ // multi-line span runs before any per-line patterns can fire.
81
+ /-----BEGIN[ ]+(?:RSA |EC |DSA |OPENSSH |ENCRYPTED |)PRIVATE KEY-----[\s\S]+?-----END[ ]+(?:RSA |EC |DSA |OPENSSH |ENCRYPTED |)PRIVATE KEY-----/g,
82
+ // JWT — exact 3-segment base64url. Dotted; the body floor of 4 chars per
83
+ // segment matches the minimum legal payload while skipping `a.b.c` noise.
84
+ /eyJ[A-Za-z0-9_-]{4,}\.eyJ[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}/g,
85
+ // Azure Storage SAS — match the sig= component (URL-encoded base64).
86
+ /(?<=[?&]sig=)[A-Za-z0-9%+/]{20,}/g,
87
+ // Anthropic
88
+ /sk-ant-admin01-[A-Za-z0-9_-]{10,}/g,
89
+ // Anthropic admin keys (must precede sk-ant-)
90
+ /sk-ant-[A-Za-z0-9_-]{10,}/g,
91
+ // Anthropic regular
92
+ // OpenAI family + clones (sk- generic must come AFTER all sk-foo- variants)
93
+ /sk-proj-[A-Za-z0-9_-]{10,}/g,
94
+ // OpenAI project key (must precede sk- generic)
95
+ /sk-[A-Za-z0-9_-]{10,}/g,
96
+ // OpenAI / OpenRouter / DeepInfra / Together / DeepSeek
97
+ // Provider prefixes (alphabetized for maintainability)
98
+ /AIza[A-Za-z0-9_-]{35}/g,
99
+ // Google API key
100
+ /AKIA[A-Z0-9]{16}/g,
101
+ // AWS access key
102
+ /fw_[A-Za-z0-9]{20,}/g,
103
+ // Fireworks
104
+ /glpat-[A-Za-z0-9_-]{20}/g,
105
+ // GitLab PAT
106
+ /ghp_[A-Za-z0-9]{36}/g,
107
+ // GitHub PAT classic
108
+ /github_pat_[A-Za-z0-9_]{82}/g,
109
+ // GitHub PAT fine-grained
110
+ /gsk_[A-Za-z0-9]{20,}/g,
111
+ // Groq
112
+ /hf_[A-Za-z0-9]{20,}/g,
113
+ // HuggingFace
114
+ /\bpa-[A-Za-z0-9_-]{20,}/g,
115
+ // Voyage AI (word-boundary to skip CSS / kebab IDs)
116
+ /pcsk_[A-Za-z0-9_-]{20,}/g,
117
+ // Pinecone
118
+ /pplx-[A-Za-z0-9_-]{20,}/g,
119
+ // Perplexity
120
+ /r8_[A-Za-z0-9_-]{20,}/g,
121
+ // Replicate
122
+ /rk_live_[A-Za-z0-9]{20,}/g,
123
+ // Stripe restricted
124
+ /sk_live_[A-Za-z0-9]{20,}/g,
125
+ // Stripe secret
126
+ /sntrys_[A-Za-z0-9]{40,}/g,
127
+ // Sentry user auth
128
+ /xai-[A-Za-z0-9_-]{20,}/g,
129
+ // xAI (Grok)
130
+ /xox[bpasr]-[A-Za-z0-9-]{10,}/g,
131
+ //Slack tokens
132
+ // Additional unique-prefix tokens with low false-positive risk
133
+ /npm_[A-Za-z0-9]{36}/g,
134
+ // npm access token
135
+ /SG\.[A-Za-z0-9_-]{22}\.[A-Za-z0-9_-]{43}/g,
136
+ // SendGrid
137
+ /\bSK[A-Za-z0-9]{32}\b/g,
138
+ // Twilio API SID (word-boundary to skip CSS class noise)
139
+ /\bkey-[a-f0-9]{32}\b/g,
140
+ // Mailgun (hex-only narrows false positives)
141
+ /MT[A-Za-z0-9_-]{23}\.[A-Za-z0-9_-]{6}\.[A-Za-z0-9_-]{27}/g,
142
+ // Discord bot
143
+ /\b(?:sdk|mob)-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\b/g
144
+ // LaunchDarkly
145
+ ];
146
+ BEARER_PATTERN = /\b(Bearer\s+)([A-Za-z0-9_\-.+/=]{8,})/g;
147
+ PARAM_PATTERN = /(\b(?:access_token|api_key|api-key|client_secret|credential|credentials|id_token|jwt|password|private_key|refresh_token|secret|service_account|session_token|token|x-api-key)\b["']?\s*[:=]\s*["']?)([A-Za-z0-9_\-.+/]+)/gi;
148
+ _extraPatterns = [];
149
+ }
150
+ });
151
+
22
152
  // src/errors.ts
23
153
  var TheokitAgentError, ConfigurationError, UnsupportedRunOperationError, InvalidTaskIdError, TaskNotFoundError;
24
154
  var init_errors = __esm({
@@ -166,9 +296,29 @@ var init_workflow = __esm({
166
296
  };
167
297
  }
168
298
  });
299
+ function detectNetworkFsName(typeMagic) {
300
+ return NETWORK_FS_MAGIC.get(typeMagic) ?? null;
301
+ }
302
+ async function warnOnNetworkFsOnce(dirPath, label) {
303
+ const key2 = `${dirPath}\0${label}`;
304
+ if (warnedNfsDirs.has(key2)) return;
305
+ warnedNfsDirs.add(key2);
306
+ try {
307
+ const info = await promises.statfs(dirPath);
308
+ const fsName = detectNetworkFsName(info.type);
309
+ if (fsName === null) return;
310
+ process.stderr.write(
311
+ `[theokit-sdk] ${label}: detected network fs (${fsName}) at ${dirPath} \u2014 rename() atomicity guarantees may be weaker than expected.
312
+ `
313
+ );
314
+ } catch {
315
+ }
316
+ }
169
317
  async function replaceFileAtomic(filePath, content) {
170
- const tmp = `${filePath}.${process.pid}.${Math.random().toString(36).slice(2, 10)}.tmp`;
171
- const handle = await promises.open(tmp, "w");
318
+ await warnOnNetworkFsOnce(path.dirname(filePath), "atomic-write");
319
+ const suffix = crypto.randomBytes(8).toString("hex");
320
+ const tmp = `${filePath}.${process.pid}.${suffix}.tmp`;
321
+ const handle = await promises.open(tmp, "w", 384);
172
322
  try {
173
323
  await handle.writeFile(content, "utf8");
174
324
  await handle.sync();
@@ -186,8 +336,16 @@ async function atomicWriteText(filePath, content) {
186
336
  await promises.mkdir(path.dirname(filePath), { recursive: true });
187
337
  await replaceFileAtomic(filePath, content);
188
338
  }
339
+ var NETWORK_FS_MAGIC, warnedNfsDirs;
189
340
  var init_atomic_write = __esm({
190
341
  "src/internal/persistence/atomic-write.ts"() {
342
+ NETWORK_FS_MAGIC = /* @__PURE__ */ new Map([
343
+ [26985, "nfs"],
344
+ [20859, "smb"],
345
+ [4283649346, "cifs"],
346
+ [1702057286, "fuse"]
347
+ ]);
348
+ warnedNfsDirs = /* @__PURE__ */ new Set();
191
349
  }
192
350
  });
193
351
  function getSnapshotStoreFor(options) {
@@ -564,91 +722,6 @@ var init_step_agent = __esm({
564
722
  }
565
723
  });
566
724
 
567
- // src/internal/security/redact.ts
568
- function readEnvOnce() {
569
- const raw = process.env.THEOKIT_REDACT_SECRETS;
570
- if (raw === void 0) return true;
571
- return ["1", "true", "yes", "on"].includes(raw.toLowerCase());
572
- }
573
- function maskToken(token) {
574
- if (token.length < 18) return "***";
575
- return `${token.slice(0, 6)}...${token.slice(-4)}`;
576
- }
577
- function coerceToString(value) {
578
- if (typeof value === "string") return value;
579
- if (value === null || value === void 0) return null;
580
- if (typeof value === "object") {
581
- try {
582
- const s = JSON.stringify(value);
583
- return s === void 0 ? null : s;
584
- } catch {
585
- return "[unredactable: circular]";
586
- }
587
- }
588
- return String(value);
589
- }
590
- function redactSecrets(text, opts) {
591
- const coerced = coerceToString(text);
592
- if (coerced === null) return "";
593
- if (!REDACT_ENABLED) return coerced;
594
- let s = coerced;
595
- for (const re of BUILTIN_PATTERNS) {
596
- s = s.replace(re, (m) => maskToken(m));
597
- }
598
- for (const re of _extraPatterns) {
599
- s = s.replace(re, (m) => maskToken(m));
600
- }
601
- {
602
- s = s.replace(BEARER_PATTERN, (_, prefix) => `${prefix}***`);
603
- s = s.replace(PARAM_PATTERN, (_, prefix) => `${prefix}***`);
604
- }
605
- return s;
606
- }
607
- var REDACT_ENABLED, warnedOptOut, BUILTIN_PATTERNS, BEARER_PATTERN, PARAM_PATTERN, _extraPatterns;
608
- var init_redact = __esm({
609
- "src/internal/security/redact.ts"() {
610
- REDACT_ENABLED = readEnvOnce();
611
- warnedOptOut = false;
612
- if (!REDACT_ENABLED && !warnedOptOut) {
613
- process.stderr.write(
614
- "[theokit-sdk] Secret redaction is DISABLED via THEOKIT_REDACT_SECRETS. Credentials may leak into errors, telemetry, logs, transcripts.\n"
615
- );
616
- warnedOptOut = true;
617
- }
618
- BUILTIN_PATTERNS = [
619
- /sk-ant-[A-Za-z0-9_-]{10,}/g,
620
- // Anthropic
621
- /sk-proj-[A-Za-z0-9_-]{10,}/g,
622
- // OpenAI project key (must precede sk- generic)
623
- /sk-[A-Za-z0-9_-]{10,}/g,
624
- // OpenAI / OpenRouter / DeepInfra. {10,} body floor —
625
- // real keys are 40+ chars; 10-char floor still skips `sk-test` (4) and
626
- // `sk-test-key` (8). codeFile mode protects placeholders/examples.
627
- /ghp_[A-Za-z0-9]{36}/g,
628
- // GitHub PAT classic (exact length)
629
- /github_pat_[A-Za-z0-9_]{82}/g,
630
- // GitHub PAT fine-grained
631
- /glpat-[A-Za-z0-9_-]{20}/g,
632
- // GitLab PAT
633
- /AKIA[A-Z0-9]{16}/g,
634
- // AWS access key
635
- /AIza[A-Za-z0-9_-]{35}/g,
636
- // Google API key
637
- /xox[bpasr]-[A-Za-z0-9-]{10,}/g,
638
- //Slack tokens
639
- /sntrys_[A-Za-z0-9]{40,}/g,
640
- // Sentry user auth
641
- /sk_live_[A-Za-z0-9]{20,}/g,
642
- // Stripe secret
643
- /rk_live_[A-Za-z0-9]{20,}/g
644
- // Stripe restricted
645
- ];
646
- BEARER_PATTERN = /\b(Bearer\s+)([A-Za-z0-9_\-.+/=]{8,})/g;
647
- PARAM_PATTERN = /(\b(?:access_token|api_key|api-key|password|secret|x-api-key)\b["']?\s*[:=]\s*["']?)([A-Za-z0-9_\-.+/]+)/gi;
648
- _extraPatterns = [];
649
- }
650
- });
651
-
652
725
  // src/internal/workflow/step-branch.ts
653
726
  async function runBranchStep(step, input, ctx, options, prevStepResults, dispatch) {
654
727
  const startedAt = Date.now();
@@ -2132,6 +2205,23 @@ var PersistenceSchema = zod.z.object({
2132
2205
 
2133
2206
  // src/internal/security/path-guard.ts
2134
2207
  init_errors();
2208
+ var PathTraversalError = class extends ConfigurationError {
2209
+ name = "PathTraversalError";
2210
+ constructor(input, resolvedPath) {
2211
+ super(`Path traversal attempt: ${input} \u2192 ${resolvedPath}`, {
2212
+ code: "path_traversal"
2213
+ });
2214
+ }
2215
+ };
2216
+ function rejectNulAndControlChars(input, role) {
2217
+ for (let i = 0; i < input.length; i++) {
2218
+ const code = input.charCodeAt(i);
2219
+ if (code === 0 || code >= 1 && code <= 31 || code === 127) {
2220
+ const label = code === 0 ? "<nul-byte>" : `<control-char-0x${code.toString(16)}>`;
2221
+ throw new PathTraversalError(`${role}: ${input}`, label);
2222
+ }
2223
+ }
2224
+ }
2135
2225
  var IDENTIFIER_PATTERN = /^[a-z0-9][a-z0-9\-_]*$/i;
2136
2226
  function sanitizeIdentifier(input, options) {
2137
2227
  const maxLen = options?.maxLen;
@@ -2140,6 +2230,7 @@ function sanitizeIdentifier(input, options) {
2140
2230
  code: "invalid_identifier"
2141
2231
  });
2142
2232
  }
2233
+ rejectNulAndControlChars(input, "identifier");
2143
2234
  if (!IDENTIFIER_PATTERN.test(input)) {
2144
2235
  throw new ConfigurationError(`Identifier contains invalid characters: "${input}"`, {
2145
2236
  code: "invalid_identifier"