@kilnai/cli 1.0.7 → 2.1.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 (546) hide show
  1. package/README.md +34 -8
  2. package/dist/application/__tests__/session-report.test.d.ts +2 -0
  3. package/dist/application/__tests__/session-report.test.d.ts.map +1 -0
  4. package/dist/application/__tests__/session-report.test.js +100 -0
  5. package/dist/application/__tests__/session-report.test.js.map +1 -0
  6. package/dist/application/agent-loader.d.ts +30 -2
  7. package/dist/application/agent-loader.d.ts.map +1 -1
  8. package/dist/application/agent-loader.js +99 -3
  9. package/dist/application/agent-loader.js.map +1 -1
  10. package/dist/application/agent-loader.test.js +112 -18
  11. package/dist/application/agent-loader.test.js.map +1 -1
  12. package/dist/application/agent-skill-context.d.ts +12 -0
  13. package/dist/application/agent-skill-context.d.ts.map +1 -0
  14. package/dist/application/agent-skill-context.js +32 -0
  15. package/dist/application/agent-skill-context.js.map +1 -0
  16. package/dist/application/agent-skill-context.test.d.ts +2 -0
  17. package/dist/application/agent-skill-context.test.d.ts.map +1 -0
  18. package/dist/application/agent-skill-context.test.js +156 -0
  19. package/dist/application/agent-skill-context.test.js.map +1 -0
  20. package/dist/application/benchmark-session-executor.d.ts +14 -0
  21. package/dist/application/benchmark-session-executor.d.ts.map +1 -0
  22. package/dist/application/benchmark-session-executor.js +210 -0
  23. package/dist/application/benchmark-session-executor.js.map +1 -0
  24. package/dist/application/config-apply-tool.d.ts +30 -0
  25. package/dist/application/config-apply-tool.d.ts.map +1 -0
  26. package/dist/application/config-apply-tool.js +68 -0
  27. package/dist/application/config-apply-tool.js.map +1 -0
  28. package/dist/application/config-apply.d.ts +9 -0
  29. package/dist/application/config-apply.d.ts.map +1 -0
  30. package/dist/application/config-apply.js +146 -0
  31. package/dist/application/config-apply.js.map +1 -0
  32. package/dist/application/config-approval.d.ts +10 -0
  33. package/dist/application/config-approval.d.ts.map +1 -0
  34. package/dist/application/config-approval.js +30 -0
  35. package/dist/application/config-approval.js.map +1 -0
  36. package/dist/application/config-mutation-store.d.ts +25 -0
  37. package/dist/application/config-mutation-store.d.ts.map +1 -0
  38. package/dist/application/config-mutation-store.js +59 -0
  39. package/dist/application/config-mutation-store.js.map +1 -0
  40. package/dist/application/config-proposal.d.ts +22 -0
  41. package/dist/application/config-proposal.d.ts.map +1 -0
  42. package/dist/application/config-proposal.js +395 -0
  43. package/dist/application/config-proposal.js.map +1 -0
  44. package/dist/application/config-propose-tool.d.ts +30 -0
  45. package/dist/application/config-propose-tool.d.ts.map +1 -0
  46. package/dist/application/config-propose-tool.js +63 -0
  47. package/dist/application/config-propose-tool.js.map +1 -0
  48. package/dist/application/config-read-tool.d.ts +26 -0
  49. package/dist/application/config-read-tool.d.ts.map +1 -0
  50. package/dist/application/config-read-tool.js +51 -0
  51. package/dist/application/config-read-tool.js.map +1 -0
  52. package/dist/application/config-status.d.ts +9 -0
  53. package/dist/application/config-status.d.ts.map +1 -0
  54. package/dist/application/config-status.js +361 -0
  55. package/dist/application/config-status.js.map +1 -0
  56. package/dist/application/config-tools.d.ts +3 -0
  57. package/dist/application/config-tools.d.ts.map +1 -0
  58. package/dist/application/config-tools.js +11 -0
  59. package/dist/application/config-tools.js.map +1 -0
  60. package/dist/application/context-types.d.ts +4 -17
  61. package/dist/application/context-types.d.ts.map +1 -1
  62. package/dist/application/context-types.js.map +1 -1
  63. package/dist/application/first-party-agent-defaults.d.ts +3 -0
  64. package/dist/application/first-party-agent-defaults.d.ts.map +1 -0
  65. package/dist/application/first-party-agent-defaults.js +135 -0
  66. package/dist/application/first-party-agent-defaults.js.map +1 -0
  67. package/dist/application/instruction-profile-context.d.ts +15 -0
  68. package/dist/application/instruction-profile-context.d.ts.map +1 -0
  69. package/dist/application/instruction-profile-context.js +80 -0
  70. package/dist/application/instruction-profile-context.js.map +1 -0
  71. package/dist/application/instruction-profile-loader.d.ts +20 -0
  72. package/dist/application/instruction-profile-loader.d.ts.map +1 -0
  73. package/dist/application/instruction-profile-loader.js +132 -0
  74. package/dist/application/instruction-profile-loader.js.map +1 -0
  75. package/dist/application/instruction-profile-loader.test.d.ts +2 -0
  76. package/dist/application/instruction-profile-loader.test.d.ts.map +1 -0
  77. package/dist/application/instruction-profile-loader.test.js +100 -0
  78. package/dist/application/instruction-profile-loader.test.js.map +1 -0
  79. package/dist/application/operator-theme-preferences.d.ts +11 -0
  80. package/dist/application/operator-theme-preferences.d.ts.map +1 -0
  81. package/dist/application/operator-theme-preferences.js +49 -0
  82. package/dist/application/operator-theme-preferences.js.map +1 -0
  83. package/dist/application/project-context.d.ts +22 -0
  84. package/dist/application/project-context.d.ts.map +1 -0
  85. package/dist/application/project-context.js +139 -0
  86. package/dist/application/project-context.js.map +1 -0
  87. package/dist/application/project-root-resolver.d.ts +14 -0
  88. package/dist/application/project-root-resolver.d.ts.map +1 -0
  89. package/dist/application/project-root-resolver.js +71 -0
  90. package/dist/application/project-root-resolver.js.map +1 -0
  91. package/dist/application/repo-shim-projection.d.ts +48 -0
  92. package/dist/application/repo-shim-projection.d.ts.map +1 -0
  93. package/dist/application/repo-shim-projection.js +536 -0
  94. package/dist/application/repo-shim-projection.js.map +1 -0
  95. package/dist/application/resume-sidebar-info.d.ts +9 -0
  96. package/dist/application/resume-sidebar-info.d.ts.map +1 -0
  97. package/dist/application/resume-sidebar-info.js +40 -0
  98. package/dist/application/resume-sidebar-info.js.map +1 -0
  99. package/dist/application/resume-strategy-feedback.d.ts.map +1 -1
  100. package/dist/application/resume-strategy-feedback.js +2 -1
  101. package/dist/application/resume-strategy-feedback.js.map +1 -1
  102. package/dist/application/run-session.d.ts +15 -0
  103. package/dist/application/run-session.d.ts.map +1 -1
  104. package/dist/application/run-session.js +110 -19
  105. package/dist/application/run-session.js.map +1 -1
  106. package/dist/application/runtime-session-rehydration.d.ts +9 -0
  107. package/dist/application/runtime-session-rehydration.d.ts.map +1 -0
  108. package/dist/application/runtime-session-rehydration.js +115 -0
  109. package/dist/application/runtime-session-rehydration.js.map +1 -0
  110. package/dist/application/session-context-artifacts.d.ts +19 -0
  111. package/dist/application/session-context-artifacts.d.ts.map +1 -0
  112. package/dist/application/session-context-artifacts.js +60 -0
  113. package/dist/application/session-context-artifacts.js.map +1 -0
  114. package/dist/application/session-metadata.d.ts +35 -0
  115. package/dist/application/session-metadata.d.ts.map +1 -0
  116. package/dist/application/session-metadata.js +157 -0
  117. package/dist/application/session-metadata.js.map +1 -0
  118. package/dist/application/session-report.d.ts.map +1 -1
  119. package/dist/application/session-report.js +8 -0
  120. package/dist/application/session-report.js.map +1 -1
  121. package/dist/application/session-resume.d.ts +1 -1
  122. package/dist/application/session-resume.d.ts.map +1 -1
  123. package/dist/application/session-resume.js +4 -4
  124. package/dist/application/session-resume.js.map +1 -1
  125. package/dist/application/work-governance-context.d.ts +7 -0
  126. package/dist/application/work-governance-context.d.ts.map +1 -0
  127. package/dist/application/work-governance-context.js +64 -0
  128. package/dist/application/work-governance-context.js.map +1 -0
  129. package/dist/application/work-governance-context.test.d.ts +2 -0
  130. package/dist/application/work-governance-context.test.d.ts.map +1 -0
  131. package/dist/application/work-governance-context.test.js +55 -0
  132. package/dist/application/work-governance-context.test.js.map +1 -0
  133. package/dist/application/work-governance-policy.d.ts +15 -0
  134. package/dist/application/work-governance-policy.d.ts.map +1 -0
  135. package/dist/application/work-governance-policy.js +53 -0
  136. package/dist/application/work-governance-policy.js.map +1 -0
  137. package/dist/application/work-governance-tool.d.ts +421 -0
  138. package/dist/application/work-governance-tool.d.ts.map +1 -0
  139. package/dist/application/work-governance-tool.js +937 -0
  140. package/dist/application/work-governance-tool.js.map +1 -0
  141. package/dist/application/work-governance-tool.test.d.ts +2 -0
  142. package/dist/application/work-governance-tool.test.d.ts.map +1 -0
  143. package/dist/application/work-governance-tool.test.js +935 -0
  144. package/dist/application/work-governance-tool.test.js.map +1 -0
  145. package/dist/application/work-governance-workflows.d.ts +23 -0
  146. package/dist/application/work-governance-workflows.d.ts.map +1 -0
  147. package/dist/application/work-governance-workflows.js +177 -0
  148. package/dist/application/work-governance-workflows.js.map +1 -0
  149. package/dist/application/workflow-snapshot-export.d.ts +81 -0
  150. package/dist/application/workflow-snapshot-export.d.ts.map +1 -0
  151. package/dist/application/workflow-snapshot-export.js +141 -0
  152. package/dist/application/workflow-snapshot-export.js.map +1 -0
  153. package/dist/commands/auth.d.ts.map +1 -1
  154. package/dist/commands/auth.js +242 -24
  155. package/dist/commands/auth.js.map +1 -1
  156. package/dist/commands/benchmark.d.ts +8 -0
  157. package/dist/commands/benchmark.d.ts.map +1 -0
  158. package/dist/commands/benchmark.js +287 -0
  159. package/dist/commands/benchmark.js.map +1 -0
  160. package/dist/commands/config.d.ts +1 -1
  161. package/dist/commands/config.d.ts.map +1 -1
  162. package/dist/commands/config.js +369 -39
  163. package/dist/commands/config.js.map +1 -1
  164. package/dist/commands/config.test.d.ts +2 -0
  165. package/dist/commands/config.test.d.ts.map +1 -0
  166. package/dist/commands/config.test.js +86 -0
  167. package/dist/commands/config.test.js.map +1 -0
  168. package/dist/commands/goal.d.ts +12 -0
  169. package/dist/commands/goal.d.ts.map +1 -0
  170. package/dist/commands/goal.js +469 -0
  171. package/dist/commands/goal.js.map +1 -0
  172. package/dist/commands/goal.test.d.ts +2 -0
  173. package/dist/commands/goal.test.d.ts.map +1 -0
  174. package/dist/commands/goal.test.js +317 -0
  175. package/dist/commands/goal.test.js.map +1 -0
  176. package/dist/commands/gui-options.d.ts +5 -0
  177. package/dist/commands/gui-options.d.ts.map +1 -0
  178. package/dist/commands/gui-options.js +18 -0
  179. package/dist/commands/gui-options.js.map +1 -0
  180. package/dist/commands/gui-session-detail.d.ts +4 -0
  181. package/dist/commands/gui-session-detail.d.ts.map +1 -0
  182. package/dist/commands/gui-session-detail.js +32 -0
  183. package/dist/commands/gui-session-detail.js.map +1 -0
  184. package/dist/commands/gui-session-summaries.d.ts +5 -0
  185. package/dist/commands/gui-session-summaries.d.ts.map +1 -0
  186. package/dist/commands/gui-session-summaries.js +62 -0
  187. package/dist/commands/gui-session-summaries.js.map +1 -0
  188. package/dist/commands/gui-shutdown-monitor.d.ts +8 -0
  189. package/dist/commands/gui-shutdown-monitor.d.ts.map +1 -0
  190. package/dist/commands/gui-shutdown-monitor.js +50 -0
  191. package/dist/commands/gui-shutdown-monitor.js.map +1 -0
  192. package/dist/commands/gui-window.d.ts +42 -0
  193. package/dist/commands/gui-window.d.ts.map +1 -0
  194. package/dist/commands/gui-window.js +287 -0
  195. package/dist/commands/gui-window.js.map +1 -0
  196. package/dist/commands/gui-workspace.d.ts +3 -0
  197. package/dist/commands/gui-workspace.d.ts.map +1 -0
  198. package/dist/commands/gui-workspace.js +297 -0
  199. package/dist/commands/gui-workspace.js.map +1 -0
  200. package/dist/commands/gui.d.ts +14 -0
  201. package/dist/commands/gui.d.ts.map +1 -0
  202. package/dist/commands/gui.js +391 -0
  203. package/dist/commands/gui.js.map +1 -0
  204. package/dist/commands/import-native.d.ts +34 -0
  205. package/dist/commands/import-native.d.ts.map +1 -0
  206. package/dist/commands/import-native.js +302 -0
  207. package/dist/commands/import-native.js.map +1 -0
  208. package/dist/commands/init-templates.d.ts.map +1 -1
  209. package/dist/commands/init-templates.js +13 -12
  210. package/dist/commands/init-templates.js.map +1 -1
  211. package/dist/commands/init.js +1 -1
  212. package/dist/commands/init.js.map +1 -1
  213. package/dist/commands/mcp-config.d.ts.map +1 -1
  214. package/dist/commands/mcp-config.js +6 -3
  215. package/dist/commands/mcp-config.js.map +1 -1
  216. package/dist/commands/memory.d.ts +1 -1
  217. package/dist/commands/memory.d.ts.map +1 -1
  218. package/dist/commands/memory.js +188 -39
  219. package/dist/commands/memory.js.map +1 -1
  220. package/dist/commands/project.d.ts +3 -0
  221. package/dist/commands/project.d.ts.map +1 -0
  222. package/dist/commands/project.js +64 -0
  223. package/dist/commands/project.js.map +1 -0
  224. package/dist/commands/route.d.ts +3 -0
  225. package/dist/commands/route.d.ts.map +1 -0
  226. package/dist/commands/route.js +19 -0
  227. package/dist/commands/route.js.map +1 -0
  228. package/dist/commands/run.d.ts +23 -1
  229. package/dist/commands/run.d.ts.map +1 -1
  230. package/dist/commands/run.js +416 -81
  231. package/dist/commands/run.js.map +1 -1
  232. package/dist/commands/skill-capture.js +34 -14
  233. package/dist/commands/skill-capture.js.map +1 -1
  234. package/dist/commands/skill.d.ts.map +1 -1
  235. package/dist/commands/skill.js +10 -9
  236. package/dist/commands/skill.js.map +1 -1
  237. package/dist/commands/status.d.ts +5 -1
  238. package/dist/commands/status.d.ts.map +1 -1
  239. package/dist/commands/status.js +134 -5
  240. package/dist/commands/status.js.map +1 -1
  241. package/dist/commands/sync.d.ts +8 -6
  242. package/dist/commands/sync.d.ts.map +1 -1
  243. package/dist/commands/sync.js +173 -48
  244. package/dist/commands/sync.js.map +1 -1
  245. package/dist/commands/tools.d.ts +2 -0
  246. package/dist/commands/tools.d.ts.map +1 -1
  247. package/dist/commands/tools.js +34 -15
  248. package/dist/commands/tools.js.map +1 -1
  249. package/dist/commands/tui.d.ts +6 -4
  250. package/dist/commands/tui.d.ts.map +1 -1
  251. package/dist/commands/tui.js +594 -94
  252. package/dist/commands/tui.js.map +1 -1
  253. package/dist/commands/uninstall.d.ts +13 -0
  254. package/dist/commands/uninstall.d.ts.map +1 -0
  255. package/dist/commands/uninstall.js +111 -0
  256. package/dist/commands/uninstall.js.map +1 -0
  257. package/dist/config/builtin-tool-surface-config.d.ts +6 -0
  258. package/dist/config/builtin-tool-surface-config.d.ts.map +1 -0
  259. package/dist/config/builtin-tool-surface-config.js +27 -0
  260. package/dist/config/builtin-tool-surface-config.js.map +1 -0
  261. package/dist/config/config-merger.d.ts +1 -1
  262. package/dist/config/config-merger.d.ts.map +1 -1
  263. package/dist/config/config-merger.js +21 -4
  264. package/dist/config/config-merger.js.map +1 -1
  265. package/dist/config/config-merger.test.js +202 -7
  266. package/dist/config/config-merger.test.js.map +1 -1
  267. package/dist/config/global-config.d.ts +59 -13
  268. package/dist/config/global-config.d.ts.map +1 -1
  269. package/dist/config/global-config.js +580 -5
  270. package/dist/config/global-config.js.map +1 -1
  271. package/dist/config/global-config.test.js +481 -8
  272. package/dist/config/global-config.test.js.map +1 -1
  273. package/dist/config/harness-integration-capabilities.d.ts +27 -0
  274. package/dist/config/harness-integration-capabilities.d.ts.map +1 -0
  275. package/dist/config/harness-integration-capabilities.js +64 -0
  276. package/dist/config/harness-integration-capabilities.js.map +1 -0
  277. package/dist/config/interactive-use-config.d.ts +25 -0
  278. package/dist/config/interactive-use-config.d.ts.map +1 -0
  279. package/dist/config/interactive-use-config.js +210 -0
  280. package/dist/config/interactive-use-config.js.map +1 -0
  281. package/dist/config/json-comments.d.ts +2 -0
  282. package/dist/config/json-comments.d.ts.map +1 -0
  283. package/dist/config/json-comments.js +21 -0
  284. package/dist/config/json-comments.js.map +1 -0
  285. package/dist/config/managed-agent-direct-adapters.d.ts +15 -0
  286. package/dist/config/managed-agent-direct-adapters.d.ts.map +1 -0
  287. package/dist/config/managed-agent-direct-adapters.js +54 -0
  288. package/dist/config/managed-agent-direct-adapters.js.map +1 -0
  289. package/dist/config/managed-agent-provider-models.d.ts +3 -0
  290. package/dist/config/managed-agent-provider-models.d.ts.map +1 -0
  291. package/dist/config/managed-agent-provider-models.js +12 -0
  292. package/dist/config/managed-agent-provider-models.js.map +1 -0
  293. package/dist/config/managed-agent-routes.d.ts +49 -0
  294. package/dist/config/managed-agent-routes.d.ts.map +1 -0
  295. package/dist/config/managed-agent-routes.js +578 -0
  296. package/dist/config/managed-agent-routes.js.map +1 -0
  297. package/dist/config/managed-invocation-context-resolver.d.ts +10 -0
  298. package/dist/config/managed-invocation-context-resolver.d.ts.map +1 -0
  299. package/dist/config/managed-invocation-context-resolver.js +98 -0
  300. package/dist/config/managed-invocation-context-resolver.js.map +1 -0
  301. package/dist/config/managed-invocation-context-resolver.test.d.ts +2 -0
  302. package/dist/config/managed-invocation-context-resolver.test.d.ts.map +1 -0
  303. package/dist/config/managed-invocation-context-resolver.test.js +133 -0
  304. package/dist/config/managed-invocation-context-resolver.test.js.map +1 -0
  305. package/dist/config/model-task-suitability.d.ts +9 -0
  306. package/dist/config/model-task-suitability.d.ts.map +1 -0
  307. package/dist/config/model-task-suitability.js +40 -0
  308. package/dist/config/model-task-suitability.js.map +1 -0
  309. package/dist/config/native-agent-projection.d.ts +16 -0
  310. package/dist/config/native-agent-projection.d.ts.map +1 -0
  311. package/dist/config/native-agent-projection.js +242 -0
  312. package/dist/config/native-agent-projection.js.map +1 -0
  313. package/dist/config/native-hook-projection.d.ts +11 -0
  314. package/dist/config/native-hook-projection.d.ts.map +1 -0
  315. package/dist/config/native-hook-projection.js +180 -0
  316. package/dist/config/native-hook-projection.js.map +1 -0
  317. package/dist/config/native-permission-projection.d.ts +12 -0
  318. package/dist/config/native-permission-projection.d.ts.map +1 -0
  319. package/dist/config/native-permission-projection.js +162 -0
  320. package/dist/config/native-permission-projection.js.map +1 -0
  321. package/dist/config/native-projection-backup.d.ts +8 -0
  322. package/dist/config/native-projection-backup.d.ts.map +1 -0
  323. package/dist/config/native-projection-backup.js +19 -0
  324. package/dist/config/native-projection-backup.js.map +1 -0
  325. package/dist/config/native-projection-policy.d.ts +10 -0
  326. package/dist/config/native-projection-policy.d.ts.map +1 -0
  327. package/dist/config/native-projection-policy.js +9 -0
  328. package/dist/config/native-projection-policy.js.map +1 -0
  329. package/dist/config/native-projection-state.d.ts +57 -0
  330. package/dist/config/native-projection-state.d.ts.map +1 -0
  331. package/dist/config/native-projection-state.js +199 -0
  332. package/dist/config/native-projection-state.js.map +1 -0
  333. package/dist/config/native-skill-projection.d.ts +24 -0
  334. package/dist/config/native-skill-projection.d.ts.map +1 -0
  335. package/dist/config/native-skill-projection.js +170 -0
  336. package/dist/config/native-skill-projection.js.map +1 -0
  337. package/dist/config/operator-identity-context.d.ts +7 -0
  338. package/dist/config/operator-identity-context.d.ts.map +1 -0
  339. package/dist/config/operator-identity-context.js +46 -0
  340. package/dist/config/operator-identity-context.js.map +1 -0
  341. package/dist/config/operator-identity-context.test.d.ts +2 -0
  342. package/dist/config/operator-identity-context.test.d.ts.map +1 -0
  343. package/dist/config/operator-identity-context.test.js +61 -0
  344. package/dist/config/operator-identity-context.test.js.map +1 -0
  345. package/dist/config/operator-voice.d.ts +10 -0
  346. package/dist/config/operator-voice.d.ts.map +1 -0
  347. package/dist/config/operator-voice.js +29 -0
  348. package/dist/config/operator-voice.js.map +1 -0
  349. package/dist/config/provider-route-candidates.d.ts +20 -0
  350. package/dist/config/provider-route-candidates.d.ts.map +1 -0
  351. package/dist/config/provider-route-candidates.js +211 -0
  352. package/dist/config/provider-route-candidates.js.map +1 -0
  353. package/dist/config/provider-route-candidates.test.d.ts +2 -0
  354. package/dist/config/provider-route-candidates.test.d.ts.map +1 -0
  355. package/dist/config/provider-route-candidates.test.js +150 -0
  356. package/dist/config/provider-route-candidates.test.js.map +1 -0
  357. package/dist/config/skill-registry.d.ts +9 -0
  358. package/dist/config/skill-registry.d.ts.map +1 -0
  359. package/dist/config/skill-registry.js +13 -0
  360. package/dist/config/skill-registry.js.map +1 -0
  361. package/dist/config/skill-registry.test.d.ts +2 -0
  362. package/dist/config/skill-registry.test.d.ts.map +1 -0
  363. package/dist/config/skill-registry.test.js +64 -0
  364. package/dist/config/skill-registry.test.js.map +1 -0
  365. package/dist/config/task-skill-selection.d.ts +24 -0
  366. package/dist/config/task-skill-selection.d.ts.map +1 -0
  367. package/dist/config/task-skill-selection.js +79 -0
  368. package/dist/config/task-skill-selection.js.map +1 -0
  369. package/dist/config/translators/claude-translator.d.ts +7 -0
  370. package/dist/config/translators/claude-translator.d.ts.map +1 -0
  371. package/dist/config/translators/claude-translator.js +30 -0
  372. package/dist/config/translators/claude-translator.js.map +1 -0
  373. package/dist/config/translators/codex-translator.d.ts +7 -0
  374. package/dist/config/translators/codex-translator.d.ts.map +1 -0
  375. package/dist/config/translators/codex-translator.js +20 -0
  376. package/dist/config/translators/codex-translator.js.map +1 -0
  377. package/dist/config/translators/opencode-translator.d.ts +7 -0
  378. package/dist/config/translators/opencode-translator.d.ts.map +1 -0
  379. package/dist/config/translators/opencode-translator.js +19 -0
  380. package/dist/config/translators/opencode-translator.js.map +1 -0
  381. package/dist/config/translators/permission-projection.d.ts +26 -0
  382. package/dist/config/translators/permission-projection.d.ts.map +1 -0
  383. package/dist/config/translators/permission-projection.js +22 -0
  384. package/dist/config/translators/permission-projection.js.map +1 -0
  385. package/dist/config/web-tools-config.d.ts +45 -0
  386. package/dist/config/web-tools-config.d.ts.map +1 -0
  387. package/dist/config/web-tools-config.js +846 -0
  388. package/dist/config/web-tools-config.js.map +1 -0
  389. package/dist/config.d.ts +4 -0
  390. package/dist/config.d.ts.map +1 -1
  391. package/dist/config.js.map +1 -1
  392. package/dist/engines/engine-registry.d.ts +45 -0
  393. package/dist/engines/engine-registry.d.ts.map +1 -0
  394. package/dist/engines/engine-registry.js +125 -0
  395. package/dist/engines/engine-registry.js.map +1 -0
  396. package/dist/index.d.ts +2 -2
  397. package/dist/index.d.ts.map +1 -1
  398. package/dist/index.js +141 -18
  399. package/dist/index.js.map +1 -1
  400. package/dist/kiln-yaml-types.d.ts +207 -1
  401. package/dist/kiln-yaml-types.d.ts.map +1 -1
  402. package/dist/kiln-yaml-types.js +29 -0
  403. package/dist/kiln-yaml-types.js.map +1 -1
  404. package/dist/kiln-yaml.d.ts +1 -1
  405. package/dist/kiln-yaml.d.ts.map +1 -1
  406. package/dist/kiln-yaml.js +93 -0
  407. package/dist/kiln-yaml.js.map +1 -1
  408. package/dist/mcp/config-generator.d.ts.map +1 -1
  409. package/dist/mcp/config-generator.js +8 -7
  410. package/dist/mcp/config-generator.js.map +1 -1
  411. package/dist/mcp/index.d.ts +2 -25
  412. package/dist/mcp/index.d.ts.map +1 -1
  413. package/dist/mcp/index.js +1 -103
  414. package/dist/mcp/index.js.map +1 -1
  415. package/dist/wrapper/__tests__/session-manager-context-governor.test.d.ts +2 -0
  416. package/dist/wrapper/__tests__/session-manager-context-governor.test.d.ts.map +1 -0
  417. package/dist/wrapper/__tests__/session-manager-context-governor.test.js +210 -0
  418. package/dist/wrapper/__tests__/session-manager-context-governor.test.js.map +1 -0
  419. package/dist/wrapper/claude-code-process.d.ts +1 -0
  420. package/dist/wrapper/claude-code-process.d.ts.map +1 -1
  421. package/dist/wrapper/claude-code-process.js +32 -19
  422. package/dist/wrapper/claude-code-process.js.map +1 -1
  423. package/dist/wrapper/cleanup-registry.d.ts.map +1 -1
  424. package/dist/wrapper/cleanup-registry.js +3 -1
  425. package/dist/wrapper/cleanup-registry.js.map +1 -1
  426. package/dist/wrapper/codex-session.d.ts +3 -0
  427. package/dist/wrapper/codex-session.d.ts.map +1 -1
  428. package/dist/wrapper/codex-session.js +193 -85
  429. package/dist/wrapper/codex-session.js.map +1 -1
  430. package/dist/wrapper/debug.d.ts.map +1 -1
  431. package/dist/wrapper/debug.js +2 -0
  432. package/dist/wrapper/debug.js.map +1 -1
  433. package/dist/wrapper/direct-provider-adapter-factory.d.ts +12 -0
  434. package/dist/wrapper/direct-provider-adapter-factory.d.ts.map +1 -0
  435. package/dist/wrapper/direct-provider-adapter-factory.js +99 -0
  436. package/dist/wrapper/direct-provider-adapter-factory.js.map +1 -0
  437. package/dist/wrapper/index.d.ts +0 -2
  438. package/dist/wrapper/index.d.ts.map +1 -1
  439. package/dist/wrapper/index.js +0 -1
  440. package/dist/wrapper/index.js.map +1 -1
  441. package/dist/wrapper/opencode-session.d.ts +4 -0
  442. package/dist/wrapper/opencode-session.d.ts.map +1 -1
  443. package/dist/wrapper/opencode-session.js +245 -38
  444. package/dist/wrapper/opencode-session.js.map +1 -1
  445. package/dist/wrapper/permission-evaluator.d.ts +2 -1
  446. package/dist/wrapper/permission-evaluator.d.ts.map +1 -1
  447. package/dist/wrapper/permission-evaluator.js +54 -0
  448. package/dist/wrapper/permission-evaluator.js.map +1 -1
  449. package/dist/wrapper/permission-normalizer.d.ts +5 -1
  450. package/dist/wrapper/permission-normalizer.d.ts.map +1 -1
  451. package/dist/wrapper/permission-normalizer.js +17 -0
  452. package/dist/wrapper/permission-normalizer.js.map +1 -1
  453. package/dist/wrapper/permission-policy-authorizer.d.ts +1 -1
  454. package/dist/wrapper/permission-policy-authorizer.js +1 -1
  455. package/dist/wrapper/pooled-harness-session.d.ts +24 -0
  456. package/dist/wrapper/pooled-harness-session.d.ts.map +1 -0
  457. package/dist/wrapper/pooled-harness-session.js +123 -0
  458. package/dist/wrapper/pooled-harness-session.js.map +1 -0
  459. package/dist/wrapper/preamble-builder.d.ts +4 -1
  460. package/dist/wrapper/preamble-builder.d.ts.map +1 -1
  461. package/dist/wrapper/preamble-builder.js +48 -20
  462. package/dist/wrapper/preamble-builder.js.map +1 -1
  463. package/dist/wrapper/provider-session.d.ts +25 -5
  464. package/dist/wrapper/provider-session.d.ts.map +1 -1
  465. package/dist/wrapper/provider-session.js +562 -138
  466. package/dist/wrapper/provider-session.js.map +1 -1
  467. package/dist/wrapper/session-manager.d.ts.map +1 -1
  468. package/dist/wrapper/session-manager.js +16 -5
  469. package/dist/wrapper/session-manager.js.map +1 -1
  470. package/dist/wrapper/session-registry.d.ts +11 -1
  471. package/dist/wrapper/session-registry.d.ts.map +1 -1
  472. package/dist/wrapper/session-registry.js +167 -259
  473. package/dist/wrapper/session-registry.js.map +1 -1
  474. package/dist/wrapper/session-store.d.ts +33 -10
  475. package/dist/wrapper/session-store.d.ts.map +1 -1
  476. package/dist/wrapper/session-store.js +327 -84
  477. package/dist/wrapper/session-store.js.map +1 -1
  478. package/dist/wrapper/session.d.ts +55 -2
  479. package/dist/wrapper/session.d.ts.map +1 -1
  480. package/dist/wrapper/session.js +11 -2
  481. package/dist/wrapper/session.js.map +1 -1
  482. package/package.json +8 -8
  483. package/dist/application/__tests__/plan-exit-tool.test.d.ts +0 -2
  484. package/dist/application/__tests__/plan-exit-tool.test.d.ts.map +0 -1
  485. package/dist/application/__tests__/plan-exit-tool.test.js +0 -12
  486. package/dist/application/__tests__/plan-exit-tool.test.js.map +0 -1
  487. package/dist/application/context-governor.d.ts +0 -26
  488. package/dist/application/context-governor.d.ts.map +0 -1
  489. package/dist/application/context-governor.js +0 -164
  490. package/dist/application/context-governor.js.map +0 -1
  491. package/dist/application/plan-exit-tool.d.ts +0 -19
  492. package/dist/application/plan-exit-tool.d.ts.map +0 -1
  493. package/dist/application/plan-exit-tool.js +0 -13
  494. package/dist/application/plan-exit-tool.js.map +0 -1
  495. package/dist/commands/serve.d.ts +0 -7
  496. package/dist/commands/serve.d.ts.map +0 -1
  497. package/dist/commands/serve.js +0 -24
  498. package/dist/commands/serve.js.map +0 -1
  499. package/dist/mcp/server.d.ts +0 -36
  500. package/dist/mcp/server.d.ts.map +0 -1
  501. package/dist/mcp/server.js +0 -156
  502. package/dist/mcp/server.js.map +0 -1
  503. package/dist/mcp/transports.d.ts +0 -28
  504. package/dist/mcp/transports.d.ts.map +0 -1
  505. package/dist/mcp/transports.js +0 -108
  506. package/dist/mcp/transports.js.map +0 -1
  507. package/dist/mcp-entry.d.ts +0 -3
  508. package/dist/mcp-entry.d.ts.map +0 -1
  509. package/dist/mcp-entry.js +0 -19
  510. package/dist/mcp-entry.js.map +0 -1
  511. package/dist/sync/agent-sync.d.ts +0 -13
  512. package/dist/sync/agent-sync.d.ts.map +0 -1
  513. package/dist/sync/agent-sync.js +0 -130
  514. package/dist/sync/agent-sync.js.map +0 -1
  515. package/dist/sync/agent-sync.test.d.ts +0 -2
  516. package/dist/sync/agent-sync.test.d.ts.map +0 -1
  517. package/dist/sync/agent-sync.test.js +0 -130
  518. package/dist/sync/agent-sync.test.js.map +0 -1
  519. package/dist/sync/agents-md-sync.d.ts +0 -7
  520. package/dist/sync/agents-md-sync.d.ts.map +0 -1
  521. package/dist/sync/agents-md-sync.js +0 -44
  522. package/dist/sync/agents-md-sync.js.map +0 -1
  523. package/dist/sync/agents-md-sync.test.d.ts +0 -2
  524. package/dist/sync/agents-md-sync.test.d.ts.map +0 -1
  525. package/dist/sync/agents-md-sync.test.js +0 -154
  526. package/dist/sync/agents-md-sync.test.js.map +0 -1
  527. package/dist/sync/hook-sync.d.ts +0 -8
  528. package/dist/sync/hook-sync.d.ts.map +0 -1
  529. package/dist/sync/hook-sync.js +0 -90
  530. package/dist/sync/hook-sync.js.map +0 -1
  531. package/dist/sync/security-sync.d.ts +0 -9
  532. package/dist/sync/security-sync.d.ts.map +0 -1
  533. package/dist/sync/security-sync.js +0 -161
  534. package/dist/sync/security-sync.js.map +0 -1
  535. package/dist/sync/skill-sync.d.ts +0 -10
  536. package/dist/sync/skill-sync.d.ts.map +0 -1
  537. package/dist/sync/skill-sync.js +0 -87
  538. package/dist/sync/skill-sync.js.map +0 -1
  539. package/dist/sync/skill-sync.test.d.ts +0 -2
  540. package/dist/sync/skill-sync.test.d.ts.map +0 -1
  541. package/dist/sync/skill-sync.test.js +0 -163
  542. package/dist/sync/skill-sync.test.js.map +0 -1
  543. package/dist/wrapper/executable-provider-session.d.ts +0 -26
  544. package/dist/wrapper/executable-provider-session.d.ts.map +0 -1
  545. package/dist/wrapper/executable-provider-session.js +0 -214
  546. package/dist/wrapper/executable-provider-session.js.map +0 -1
@@ -1,33 +1,56 @@
1
1
  import type { ResumeFeedback, ResumeOutcome, ResumeStrategy } from './index.js';
2
+ import type { CanonicalSessionEventKind, SessionEventEnvelope } from '@kilnai/core';
3
+ export interface ProviderThreadMeta {
4
+ provider: string;
5
+ nativeSessionId: string;
6
+ }
2
7
  export interface SessionRecord {
3
8
  sessionId: string;
4
9
  provider: string;
5
10
  task: string;
11
+ canonicalTitle?: string;
12
+ title?: string;
13
+ summary?: string;
14
+ tags?: readonly string[];
15
+ providersUsed?: readonly string[];
6
16
  completedAt: string;
7
17
  cost: number;
8
18
  projectPath: string;
9
- providerSessionId?: string;
19
+ providerThread?: ProviderThreadMeta;
10
20
  resumeStrategy?: ResumeStrategy;
11
21
  }
12
22
  export declare class SessionStore {
13
23
  private readonly filePath;
24
+ private readonly resumeTargetsPath;
14
25
  constructor(projectPath: string);
15
26
  append(record: SessionRecord): Promise<void>;
27
+ private writeRecords;
28
+ private readRecords;
16
29
  last(provider?: string): Promise<SessionRecord | null>;
17
- clearLast(provider?: string): Promise<void>;
30
+ private readResumeTargets;
31
+ private writeResumeTargets;
32
+ getResumeTarget(provider?: string): Promise<SessionRecord | null>;
33
+ setResumeTarget(record: SessionRecord): Promise<void>;
34
+ clearResumeTarget(provider?: string): Promise<void>;
18
35
  find(sessionId: string): Promise<SessionRecord | null>;
36
+ findProviderThread(sessionId: string, provider: string): Promise<ProviderThreadMeta | undefined>;
19
37
  list(): Promise<SessionRecord[]>;
20
38
  }
21
39
  export interface PersistedSessionMeta {
22
40
  kilnSessionId: string;
23
41
  provider: string;
42
+ canonicalTitle?: string;
43
+ title?: string;
44
+ summary?: string;
45
+ tags?: readonly string[];
46
+ providersUsed?: readonly string[];
24
47
  task: string;
25
48
  startedAt: string;
26
49
  completedAt?: string;
27
50
  costUsd?: number;
28
51
  toolCount?: number;
29
52
  turnDepth?: number;
30
- providerSessionId?: string;
53
+ providerThread?: ProviderThreadMeta;
31
54
  resumeStrategy?: ResumeStrategy;
32
55
  resumeFeedback?: ResumeFeedback;
33
56
  resumeOutcome?: ResumeOutcome;
@@ -43,21 +66,21 @@ export interface PersistedSessionMeta {
43
66
  };
44
67
  exactArtifacts?: string[];
45
68
  }
46
- export interface PersistedTranscriptLine {
47
- seq: number;
48
- ts: string;
49
- type: string;
50
- data: Record<string, unknown>;
69
+ type PersistedTranscriptEnvelopeBase = Omit<SessionEventEnvelope<CanonicalSessionEventKind>, 'timestamp'>;
70
+ export interface PersistedTranscriptEvent extends PersistedTranscriptEnvelopeBase {
71
+ timestamp: string;
72
+ payload: Record<string, unknown>;
51
73
  }
52
74
  export declare class TranscriptStore {
53
75
  private readonly baseDir;
54
76
  constructor(projectPath: string);
55
77
  sessionDir(sessionId: string): string;
56
78
  init(sessionId: string, meta: PersistedSessionMeta): Promise<void>;
57
- append(sessionId: string, line: PersistedTranscriptLine): Promise<void>;
79
+ append(sessionId: string, event: PersistedTranscriptEvent): Promise<void>;
58
80
  finalize(sessionId: string, updates: Partial<PersistedSessionMeta>): Promise<void>;
59
81
  readMeta(sessionId: string): Promise<PersistedSessionMeta | null>;
60
- readTranscript(sessionId: string): Promise<PersistedTranscriptLine[]>;
82
+ readTranscript(sessionId: string): Promise<PersistedTranscriptEvent[]>;
61
83
  listSessions(): Promise<string[]>;
62
84
  }
85
+ export {};
63
86
  //# sourceMappingURL=session-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/wrapper/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/wrapper/session-store.ts"],"names":[],"mappings":"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"}
@@ -1,88 +1,231 @@
1
- import { mkdir } from 'node:fs/promises';
2
1
  import { join } from 'node:path';
3
- import { appendFile, readFile, writeFile, readdir } from 'node:fs/promises';
2
+ import { appendFile, mkdir, readFile, writeFile, readdir } from 'node:fs/promises';
3
+ function parseOptionalString(value) {
4
+ if (typeof value !== 'string') {
5
+ return undefined;
6
+ }
7
+ const trimmed = value.trim();
8
+ return trimmed.length > 0 ? trimmed : undefined;
9
+ }
10
+ function parseOptionalStringArray(value) {
11
+ if (!Array.isArray(value)) {
12
+ return undefined;
13
+ }
14
+ const normalized = value
15
+ .flatMap((entry) => typeof entry === 'string' ? [entry.trim()] : [])
16
+ .filter((entry) => entry.length > 0);
17
+ if (normalized.length === 0) {
18
+ return undefined;
19
+ }
20
+ return [...new Set(normalized)];
21
+ }
22
+ function serializeSessionRecord(record) {
23
+ return JSON.stringify(record);
24
+ }
25
+ function parseSessionRecord(line) {
26
+ try {
27
+ const parsed = JSON.parse(line);
28
+ if (typeof parsed.sessionId !== 'string'
29
+ || typeof parsed.provider !== 'string'
30
+ || typeof parsed.task !== 'string'
31
+ || typeof parsed.completedAt !== 'string'
32
+ || typeof parsed.cost !== 'number'
33
+ || typeof parsed.projectPath !== 'string') {
34
+ return null;
35
+ }
36
+ return {
37
+ sessionId: parsed.sessionId,
38
+ provider: parsed.provider,
39
+ task: parsed.task,
40
+ canonicalTitle: parseOptionalString(parsed.canonicalTitle) ?? parseOptionalString(parsed.title),
41
+ title: parseOptionalString(parsed.title),
42
+ summary: parseOptionalString(parsed.summary),
43
+ tags: parseOptionalStringArray(parsed.tags),
44
+ providersUsed: parseOptionalStringArray(parsed.providersUsed),
45
+ completedAt: parsed.completedAt,
46
+ cost: parsed.cost,
47
+ projectPath: parsed.projectPath,
48
+ providerThread: parsed.providerThread,
49
+ resumeStrategy: parsed.resumeStrategy,
50
+ };
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ function latestRecordsBySessionId(records) {
57
+ const bySessionId = new Map();
58
+ for (const record of records) {
59
+ bySessionId.delete(record.sessionId);
60
+ bySessionId.set(record.sessionId, record);
61
+ }
62
+ return [...bySessionId.values()];
63
+ }
64
+ function mergeProviderIds(existing, incoming) {
65
+ const seen = new Set();
66
+ const merged = [];
67
+ for (const value of [...(existing ?? []), ...incoming]) {
68
+ const normalized = value?.trim();
69
+ if (!normalized || seen.has(normalized)) {
70
+ continue;
71
+ }
72
+ seen.add(normalized);
73
+ merged.push(normalized);
74
+ }
75
+ return merged.length > 0 ? merged : undefined;
76
+ }
77
+ function mergeRepeatedSessionRecord(previous, next) {
78
+ if (!previous) {
79
+ return next;
80
+ }
81
+ const cost = previous.completedAt === next.completedAt
82
+ ? next.cost
83
+ : previous.cost + next.cost;
84
+ return {
85
+ ...next,
86
+ cost,
87
+ providersUsed: mergeProviderIds(next.providersUsed, [
88
+ next.provider,
89
+ ...(previous.providersUsed ?? []),
90
+ previous.provider,
91
+ ]),
92
+ tags: parseOptionalStringArray([...(previous.tags ?? []), ...(next.tags ?? [])]),
93
+ };
94
+ }
4
95
  export class SessionStore {
5
96
  filePath;
97
+ resumeTargetsPath;
6
98
  constructor(projectPath) {
7
99
  this.filePath = join(projectPath, '.kiln', 'sessions.jsonl');
100
+ this.resumeTargetsPath = join(projectPath, '.kiln', 'resume-targets.json');
8
101
  }
9
102
  async append(record) {
10
103
  try {
11
104
  const dir = join(this.filePath, '..');
12
105
  await mkdir(dir, { recursive: true });
13
- const line = JSON.stringify(record) + '\n';
14
- await appendFile(this.filePath, line, 'utf-8');
106
+ const currentRecords = await this.readRecords();
107
+ const previous = currentRecords.findLast((entry) => entry.sessionId === record.sessionId);
108
+ const records = currentRecords.filter((entry) => entry.sessionId !== record.sessionId);
109
+ records.push(mergeRepeatedSessionRecord(previous, record));
110
+ await this.writeRecords(records);
111
+ await this.setResumeTarget(record);
15
112
  }
16
113
  catch (err) {
17
114
  console.error('[SessionStore] Failed to append session record:', err);
18
115
  }
19
116
  }
20
- async last(provider) {
117
+ async writeRecords(records) {
118
+ const dir = join(this.filePath, '..');
119
+ await mkdir(dir, { recursive: true });
120
+ const content = records.map(serializeSessionRecord).join('\n');
121
+ await writeFile(this.filePath, content ? `${content}\n` : '', 'utf-8');
122
+ }
123
+ async readRecords() {
21
124
  try {
22
125
  const content = await readFile(this.filePath, 'utf-8');
23
- const lines = content.split('\n').filter((line) => line.trim() !== '');
126
+ return content
127
+ .split('\n')
128
+ .filter((line) => line.trim() !== '')
129
+ .flatMap((line) => {
130
+ const parsed = parseSessionRecord(line);
131
+ return parsed ? [parsed] : [];
132
+ });
133
+ }
134
+ catch {
135
+ return [];
136
+ }
137
+ }
138
+ async last(provider) {
139
+ try {
140
+ const records = await this.readRecords();
24
141
  const filtered = provider !== undefined
25
- ? lines.filter((line) => {
26
- try {
27
- const record = JSON.parse(line);
28
- return record.provider === provider;
29
- }
30
- catch {
31
- return false;
32
- }
33
- })
34
- : lines;
142
+ ? records.filter((record) => record.provider === provider)
143
+ : records;
35
144
  if (filtered.length === 0) {
36
145
  return null;
37
146
  }
38
- const lastLine = filtered[filtered.length - 1];
39
- return JSON.parse(lastLine);
147
+ return filtered[filtered.length - 1];
40
148
  }
41
149
  catch {
42
150
  return null;
43
151
  }
44
152
  }
45
- async clearLast(provider) {
153
+ async readResumeTargets() {
46
154
  try {
47
- const content = await readFile(this.filePath, 'utf-8');
48
- const lines = content.split('\n').filter((line) => line.trim() !== '');
49
- // Find index of the last record matching provider (or any if undefined)
50
- let lastMatchIndex = -1;
51
- for (let i = 0; i < lines.length; i++) {
52
- try {
53
- const record = JSON.parse(lines[i]);
54
- if (provider === undefined || record.provider === provider) {
55
- lastMatchIndex = i;
56
- }
57
- }
58
- catch {
59
- // Skip malformed lines
60
- }
61
- }
62
- if (lastMatchIndex === -1)
155
+ const parsed = JSON.parse(await readFile(this.resumeTargetsPath, 'utf-8'));
156
+ const defaultSessionId = parseOptionalString(parsed.defaultSessionId);
157
+ const providerSessionIds = parsed.providerSessionIds && typeof parsed.providerSessionIds === 'object'
158
+ ? Object.fromEntries(Object.entries(parsed.providerSessionIds)
159
+ .flatMap(([provider, sessionId]) => {
160
+ const normalizedProvider = parseOptionalString(provider);
161
+ const normalizedSessionId = parseOptionalString(sessionId);
162
+ return normalizedProvider && normalizedSessionId
163
+ ? [[normalizedProvider, normalizedSessionId]]
164
+ : [];
165
+ }))
166
+ : undefined;
167
+ return {
168
+ ...(defaultSessionId ? { defaultSessionId } : {}),
169
+ ...(providerSessionIds && Object.keys(providerSessionIds).length > 0 ? { providerSessionIds } : {}),
170
+ };
171
+ }
172
+ catch {
173
+ return {};
174
+ }
175
+ }
176
+ async writeResumeTargets(targets) {
177
+ const dir = join(this.resumeTargetsPath, '..');
178
+ await mkdir(dir, { recursive: true });
179
+ await writeFile(this.resumeTargetsPath, JSON.stringify(targets, null, 2), 'utf-8');
180
+ }
181
+ async getResumeTarget(provider) {
182
+ const targets = await this.readResumeTargets();
183
+ const sessionId = provider ? targets.providerSessionIds?.[provider] : targets.defaultSessionId;
184
+ return sessionId ? this.find(sessionId) : null;
185
+ }
186
+ async setResumeTarget(record) {
187
+ try {
188
+ const current = await this.readResumeTargets();
189
+ await this.writeResumeTargets({
190
+ defaultSessionId: record.sessionId,
191
+ providerSessionIds: {
192
+ ...(current.providerSessionIds ?? {}),
193
+ [record.provider]: record.sessionId,
194
+ },
195
+ });
196
+ }
197
+ catch (err) {
198
+ console.error('[SessionStore] Failed to set resume target:', err);
199
+ }
200
+ }
201
+ async clearResumeTarget(provider) {
202
+ try {
203
+ if (provider === undefined) {
204
+ await this.writeResumeTargets({});
63
205
  return;
64
- const remaining = lines.filter((_, i) => i !== lastMatchIndex);
65
- const dir = join(this.filePath, '..');
66
- await mkdir(dir, { recursive: true });
67
- await writeFile(this.filePath, remaining.map((l) => l + '\n').join(''), 'utf-8');
206
+ }
207
+ const current = await this.readResumeTargets();
208
+ const providerSessionIds = { ...(current.providerSessionIds ?? {}) };
209
+ delete providerSessionIds[provider];
210
+ const nextDefault = current.defaultSessionId && current.defaultSessionId === current.providerSessionIds?.[provider]
211
+ ? undefined
212
+ : current.defaultSessionId;
213
+ await this.writeResumeTargets({
214
+ ...(nextDefault ? { defaultSessionId: nextDefault } : {}),
215
+ ...(Object.keys(providerSessionIds).length > 0 ? { providerSessionIds } : {}),
216
+ });
68
217
  }
69
218
  catch (err) {
70
- console.error('[SessionStore] Failed to clearLast:', err);
219
+ console.error('[SessionStore] Failed to clear resume target:', err);
71
220
  }
72
221
  }
73
222
  async find(sessionId) {
74
223
  try {
75
- const content = await readFile(this.filePath, 'utf-8');
76
- const lines = content.split('\n').filter((line) => line.trim() !== '');
77
- for (const line of lines) {
78
- try {
79
- const record = JSON.parse(line);
80
- if (record.sessionId === sessionId) {
81
- return record;
82
- }
83
- }
84
- catch {
85
- continue;
224
+ const records = await this.readRecords();
225
+ for (let i = records.length - 1; i >= 0; i -= 1) {
226
+ const record = records[i];
227
+ if (record?.sessionId === sessionId) {
228
+ return record;
86
229
  }
87
230
  }
88
231
  return null;
@@ -91,19 +234,27 @@ export class SessionStore {
91
234
  return null;
92
235
  }
93
236
  }
94
- async list() {
237
+ async findProviderThread(sessionId, provider) {
95
238
  try {
96
- const content = await readFile(this.filePath, 'utf-8');
97
- const lines = content.split('\n').filter((line) => line.trim() !== '');
98
- const records = [];
99
- for (const line of lines) {
100
- try {
101
- records.push(JSON.parse(line));
102
- }
103
- catch {
239
+ const records = await this.readRecords();
240
+ for (let i = records.length - 1; i >= 0; i -= 1) {
241
+ const record = records[i];
242
+ if (record?.sessionId !== sessionId) {
104
243
  continue;
105
244
  }
245
+ if (record.providerThread?.provider === provider) {
246
+ return record.providerThread;
247
+ }
106
248
  }
249
+ return undefined;
250
+ }
251
+ catch {
252
+ return undefined;
253
+ }
254
+ }
255
+ async list() {
256
+ try {
257
+ const records = latestRecordsBySessionId(await this.readRecords());
107
258
  return records.reverse();
108
259
  }
109
260
  catch {
@@ -111,29 +262,125 @@ export class SessionStore {
111
262
  }
112
263
  }
113
264
  }
265
+ function serializePersistedMeta(meta) {
266
+ return JSON.stringify(meta, null, 2);
267
+ }
268
+ function encodeSessionPathSegment(sessionId) {
269
+ return encodeURIComponent(sessionId);
270
+ }
271
+ const CANONICAL_SESSION_EVENT_KINDS = new Set([
272
+ 'turn_started',
273
+ 'user_message',
274
+ 'assistant_message',
275
+ 'assistant_delta',
276
+ 'specification_submitted',
277
+ 'clarification_recorded',
278
+ 'plan_submitted',
279
+ 'plan_analysis_reported',
280
+ 'plan_approved',
281
+ 'goal.created',
282
+ 'goal.updated',
283
+ 'goal.completed',
284
+ 'goal.failed',
285
+ 'goal.cancelled',
286
+ 'work_items.materialized',
287
+ 'provider_routed',
288
+ 'tool_call_started',
289
+ 'tool_call_completed',
290
+ 'approval_requested',
291
+ 'approval_resolved',
292
+ 'config_change_proposed',
293
+ 'config_change_approved',
294
+ 'config_change_applied',
295
+ 'config_change_failed',
296
+ 'file_changed',
297
+ 'cost_updated',
298
+ 'agent_invocation_requested',
299
+ 'agent_invocation_started',
300
+ 'agent_invocation_completed',
301
+ 'agent_invocation_failed',
302
+ 'agent_invocation_cancelled',
303
+ 'continuity_decided',
304
+ 'error_recorded',
305
+ 'turn_completed',
306
+ 'work_item_updated',
307
+ 'work_item_execution_started',
308
+ 'work_item_execution_finished',
309
+ ]);
310
+ const SESSION_EVENT_ACTORS = new Set(['user', 'assistant', 'system', 'tool', 'runtime']);
311
+ const SESSION_EVENT_SURFACES = new Set(['cli', 'tui', 'gui', 'ide', 'gateway', 'runtime']);
312
+ function isObjectRecord(value) {
313
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
314
+ }
315
+ function isSessionEventSource(value) {
316
+ if (!isObjectRecord(value)) {
317
+ return false;
318
+ }
319
+ if (!SESSION_EVENT_ACTORS.has(String(value.actor))) {
320
+ return false;
321
+ }
322
+ if (!SESSION_EVENT_SURFACES.has(String(value.surface))) {
323
+ return false;
324
+ }
325
+ return value.component === undefined || typeof value.component === 'string';
326
+ }
327
+ function isPersistedTranscriptEvent(value) {
328
+ if (!isObjectRecord(value)) {
329
+ return false;
330
+ }
331
+ if (typeof value.eventId !== 'string' || value.eventId.trim().length === 0) {
332
+ return false;
333
+ }
334
+ if (typeof value.kilnSessionId !== 'string' || value.kilnSessionId.trim().length === 0) {
335
+ return false;
336
+ }
337
+ if (!Number.isInteger(value.sequence) || value.sequence < 1) {
338
+ return false;
339
+ }
340
+ if (typeof value.timestamp !== 'string' || value.timestamp.trim().length === 0) {
341
+ return false;
342
+ }
343
+ if (typeof value.kind !== 'string'
344
+ || !CANONICAL_SESSION_EVENT_KINDS.has(value.kind)) {
345
+ return false;
346
+ }
347
+ if (!isObjectRecord(value.payload)) {
348
+ return false;
349
+ }
350
+ if (value.turnId !== undefined && typeof value.turnId !== 'string') {
351
+ return false;
352
+ }
353
+ if (value.parentEventId !== undefined && typeof value.parentEventId !== 'string') {
354
+ return false;
355
+ }
356
+ if (value.source !== undefined && !isSessionEventSource(value.source)) {
357
+ return false;
358
+ }
359
+ return true;
360
+ }
114
361
  export class TranscriptStore {
115
362
  baseDir;
116
363
  constructor(projectPath) {
117
364
  this.baseDir = join(projectPath, '.kiln', 'sessions');
118
365
  }
119
366
  sessionDir(sessionId) {
120
- return join(this.baseDir, sessionId);
367
+ return join(this.baseDir, encodeSessionPathSegment(sessionId));
121
368
  }
122
369
  async init(sessionId, meta) {
123
370
  try {
124
371
  const dir = this.sessionDir(sessionId);
125
372
  await mkdir(dir, { recursive: true });
126
- await writeFile(join(dir, 'meta.json'), JSON.stringify(meta, null, 2), 'utf-8');
373
+ await writeFile(join(dir, 'meta.json'), serializePersistedMeta(meta), 'utf-8');
127
374
  }
128
375
  catch {
129
376
  // fail-open
130
377
  }
131
378
  }
132
- async append(sessionId, line) {
379
+ async append(sessionId, event) {
133
380
  try {
134
381
  const dir = this.sessionDir(sessionId);
135
382
  await mkdir(dir, { recursive: true });
136
- await appendFile(join(dir, 'transcript.jsonl'), JSON.stringify(line) + '\n', 'utf-8');
383
+ await appendFile(join(dir, 'transcript.jsonl'), JSON.stringify(event) + '\n', 'utf-8');
137
384
  }
138
385
  catch {
139
386
  // fail-open
@@ -147,7 +394,10 @@ export class TranscriptStore {
147
394
  if (!existing) {
148
395
  return;
149
396
  }
150
- await writeFile(filePath, JSON.stringify({ ...existing, ...updates }, null, 2), 'utf-8');
397
+ await writeFile(filePath, serializePersistedMeta({
398
+ ...existing,
399
+ ...updates,
400
+ }), 'utf-8');
151
401
  }
152
402
  catch {
153
403
  // fail-open
@@ -171,26 +421,9 @@ export class TranscriptStore {
171
421
  .flatMap((line) => {
172
422
  try {
173
423
  const parsed = JSON.parse(line);
174
- if (typeof parsed === 'object'
175
- && parsed !== null
176
- && 'type' in parsed
177
- && 'data' in parsed) {
424
+ if (isPersistedTranscriptEvent(parsed)) {
178
425
  return [parsed];
179
426
  }
180
- if (typeof parsed === 'object'
181
- && parsed !== null
182
- && 'event' in parsed
183
- && typeof parsed.event === 'object'
184
- && parsed.event !== null
185
- && 'type' in parsed.event) {
186
- const { type, ...data } = parsed.event;
187
- return [{
188
- seq: parsed.seq,
189
- ts: parsed.ts,
190
- type,
191
- data,
192
- }];
193
- }
194
427
  return [];
195
428
  }
196
429
  catch {
@@ -205,11 +438,21 @@ export class TranscriptStore {
205
438
  async listSessions() {
206
439
  try {
207
440
  const entries = await readdir(this.baseDir, { withFileTypes: true });
208
- return entries.filter((entry) => entry.isDirectory()).map((entry) => entry.name);
441
+ return entries
442
+ .filter((entry) => entry.isDirectory())
443
+ .map((entry) => decodeSessionPathSegment(entry.name));
209
444
  }
210
445
  catch {
211
446
  return [];
212
447
  }
213
448
  }
214
449
  }
450
+ function decodeSessionPathSegment(segment) {
451
+ try {
452
+ return decodeURIComponent(segment);
453
+ }
454
+ catch {
455
+ return segment;
456
+ }
457
+ }
215
458
  //# sourceMappingURL=session-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/wrapper/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/wrapper/session-store.ts"],"names":[],"mappings":"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"}