@kilnai/cli 1.0.4 → 2.0.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 +31 -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 +392 -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 +6 -5
  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
@@ -0,0 +1,287 @@
1
+ import { spawn, spawnSync } from "node:child_process";
2
+ import { existsSync, mkdtempSync, readFileSync, rmSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { tmpdir } from "node:os";
5
+ const WINDOWS_BROWSER_CANDIDATES = [
6
+ {
7
+ id: "edge",
8
+ label: "Microsoft Edge",
9
+ commands: ["msedge", "msedge.exe"],
10
+ absolutePaths: [
11
+ "C:\\Program Files\\Microsoft\\Edge\\Application\\msedge.exe",
12
+ "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe",
13
+ ],
14
+ },
15
+ {
16
+ id: "chrome",
17
+ label: "Google Chrome",
18
+ commands: ["chrome", "chrome.exe"],
19
+ absolutePaths: [
20
+ "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
21
+ "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
22
+ ],
23
+ },
24
+ {
25
+ id: "chromium",
26
+ label: "Chromium",
27
+ commands: ["chromium", "chromium.exe"],
28
+ absolutePaths: [
29
+ "C:\\Program Files\\Chromium\\Application\\chromium.exe",
30
+ "C:\\Program Files (x86)\\Chromium\\Application\\chromium.exe",
31
+ ],
32
+ },
33
+ ];
34
+ const DARWIN_BROWSER_CANDIDATES = [
35
+ {
36
+ id: "edge",
37
+ label: "Microsoft Edge",
38
+ commands: ["microsoft-edge", "msedge"],
39
+ absolutePaths: [
40
+ "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge",
41
+ ],
42
+ },
43
+ {
44
+ id: "chrome",
45
+ label: "Google Chrome",
46
+ commands: ["google-chrome", "chrome"],
47
+ absolutePaths: [
48
+ "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
49
+ ],
50
+ },
51
+ {
52
+ id: "chromium",
53
+ label: "Chromium",
54
+ commands: ["chromium", "chromium-browser"],
55
+ absolutePaths: [
56
+ "/Applications/Chromium.app/Contents/MacOS/Chromium",
57
+ ],
58
+ },
59
+ ];
60
+ const LINUX_BROWSER_CANDIDATES = [
61
+ {
62
+ id: "edge",
63
+ label: "Microsoft Edge",
64
+ commands: ["microsoft-edge", "microsoft-edge-stable", "msedge"],
65
+ absolutePaths: [],
66
+ },
67
+ {
68
+ id: "chrome",
69
+ label: "Google Chrome",
70
+ commands: ["google-chrome", "google-chrome-stable", "chrome"],
71
+ absolutePaths: [],
72
+ },
73
+ {
74
+ id: "chromium",
75
+ label: "Chromium",
76
+ commands: ["chromium", "chromium-browser"],
77
+ absolutePaths: [],
78
+ },
79
+ ];
80
+ function getBrowserCandidates(platform) {
81
+ switch (platform) {
82
+ case "win32":
83
+ return WINDOWS_BROWSER_CANDIDATES;
84
+ case "darwin":
85
+ return DARWIN_BROWSER_CANDIDATES;
86
+ default:
87
+ return LINUX_BROWSER_CANDIDATES;
88
+ }
89
+ }
90
+ function defaultResolveCommand(command, platform) {
91
+ const locator = platform === "win32" ? "where" : "which";
92
+ const result = spawnSync(locator, [command], {
93
+ encoding: "utf8",
94
+ stdio: ["ignore", "pipe", "ignore"],
95
+ windowsHide: true,
96
+ });
97
+ if (result.status !== 0) {
98
+ return null;
99
+ }
100
+ const firstMatch = result.stdout
101
+ .split(/\r?\n/g)
102
+ .map((line) => line.trim())
103
+ .find((line) => line.length > 0);
104
+ return firstMatch ?? null;
105
+ }
106
+ function defaultCreateProfileDir() {
107
+ return mkdtempSync(join(tmpdir(), "kiln-gui-window-"));
108
+ }
109
+ function defaultCleanupProfileDir(path) {
110
+ rmSync(path, { recursive: true, force: true });
111
+ }
112
+ function normalizeManagedGuiUrl(url) {
113
+ return url.replace(/[?#].*$/, "");
114
+ }
115
+ function tryReadDevToolsPort(profileDir) {
116
+ const activePortFile = join(profileDir, "DevToolsActivePort");
117
+ if (!existsSync(activePortFile)) {
118
+ return null;
119
+ }
120
+ try {
121
+ const [portLine] = readFileSync(activePortFile, "utf8").split(/\r?\n/g);
122
+ const port = Number.parseInt((portLine ?? "").trim(), 10);
123
+ return Number.isFinite(port) && port > 0 ? port : null;
124
+ }
125
+ catch {
126
+ return null;
127
+ }
128
+ }
129
+ export function waitForManagedGuiAppWindowClose(url, profileDir, child, options = {}) {
130
+ const fetchImpl = options.fetchImpl ?? fetch;
131
+ const setIntervalImpl = options.setIntervalImpl ?? setInterval;
132
+ const clearIntervalImpl = options.clearIntervalImpl ?? clearInterval;
133
+ const readDevToolsPort = options.readDevToolsPort ?? tryReadDevToolsPort;
134
+ const pollMs = options.pollMs ?? 500;
135
+ const normalizedUrl = normalizeManagedGuiUrl(url);
136
+ return new Promise((resolve) => {
137
+ let settled = false;
138
+ let sawManagedAppTarget = false;
139
+ let intervalHandle = null;
140
+ const finish = () => {
141
+ if (settled) {
142
+ return;
143
+ }
144
+ settled = true;
145
+ if (intervalHandle) {
146
+ clearIntervalImpl(intervalHandle);
147
+ intervalHandle = null;
148
+ }
149
+ resolve();
150
+ };
151
+ const inspectTargets = async () => {
152
+ if (settled || child.exitCode !== null) {
153
+ finish();
154
+ return;
155
+ }
156
+ const port = readDevToolsPort(profileDir);
157
+ if (!port) {
158
+ return;
159
+ }
160
+ try {
161
+ const response = await fetchImpl(`http://127.0.0.1:${port}/json/list`);
162
+ if (!response.ok) {
163
+ return;
164
+ }
165
+ const payload = await response.json();
166
+ if (!Array.isArray(payload)) {
167
+ return;
168
+ }
169
+ const hasManagedAppTarget = payload.some((target) => {
170
+ const summary = target;
171
+ return summary.type === "page"
172
+ && typeof summary.url === "string"
173
+ && normalizeManagedGuiUrl(summary.url) === normalizedUrl;
174
+ });
175
+ if (hasManagedAppTarget) {
176
+ sawManagedAppTarget = true;
177
+ return;
178
+ }
179
+ if (sawManagedAppTarget) {
180
+ finish();
181
+ }
182
+ }
183
+ catch {
184
+ if (sawManagedAppTarget) {
185
+ finish();
186
+ }
187
+ }
188
+ };
189
+ child.once("exit", finish);
190
+ child.once("error", finish);
191
+ intervalHandle = setIntervalImpl(() => {
192
+ void inspectTargets();
193
+ }, pollMs);
194
+ void inspectTargets();
195
+ });
196
+ }
197
+ export function resolveGuiBrowserHost(options = {}) {
198
+ const platform = options.platform ?? process.platform;
199
+ const resolveCommand = options.resolveCommand ?? defaultResolveCommand;
200
+ const pathExists = options.pathExists ?? existsSync;
201
+ for (const candidate of getBrowserCandidates(platform)) {
202
+ for (const command of candidate.commands) {
203
+ const executable = resolveCommand(command, platform);
204
+ if (executable) {
205
+ return {
206
+ id: candidate.id,
207
+ label: candidate.label,
208
+ executable,
209
+ };
210
+ }
211
+ }
212
+ for (const absolutePath of candidate.absolutePaths) {
213
+ if (pathExists(absolutePath)) {
214
+ return {
215
+ id: candidate.id,
216
+ label: candidate.label,
217
+ executable: absolutePath,
218
+ };
219
+ }
220
+ }
221
+ }
222
+ return null;
223
+ }
224
+ export function buildGuiWindowLaunchSpec(host, url, profileDir) {
225
+ return {
226
+ command: host.executable,
227
+ args: [
228
+ `--app=${url}`,
229
+ "--new-window",
230
+ `--user-data-dir=${profileDir}`,
231
+ "--window-size=1440,980",
232
+ "--no-first-run",
233
+ "--no-default-browser-check",
234
+ "--disable-background-mode",
235
+ "--disable-background-networking",
236
+ "--disable-sync",
237
+ "--disable-extensions",
238
+ "--disable-component-update",
239
+ "--disable-default-apps",
240
+ "--no-service-autorun",
241
+ "--disable-features=Translate,MediaRouter",
242
+ "--remote-debugging-port=0",
243
+ ],
244
+ };
245
+ }
246
+ export function launchGuiWindow(url, options = {}) {
247
+ const host = resolveGuiBrowserHost(options);
248
+ if (!host) {
249
+ throw new Error("No supported app-mode browser was found. Install Microsoft Edge, Google Chrome, or Chromium, or rerun with --no-open.");
250
+ }
251
+ const spawnImpl = options.spawnImpl ?? spawn;
252
+ const createProfileDir = options.createProfileDir ?? defaultCreateProfileDir;
253
+ const cleanupProfileDir = options.cleanupProfileDir ?? defaultCleanupProfileDir;
254
+ const profileDir = createProfileDir();
255
+ const launchSpec = buildGuiWindowLaunchSpec(host, url, profileDir);
256
+ const child = spawnImpl(launchSpec.command, [...launchSpec.args], {
257
+ stdio: "ignore",
258
+ windowsHide: false,
259
+ });
260
+ let cleaned = false;
261
+ const cleanup = () => {
262
+ if (cleaned) {
263
+ return;
264
+ }
265
+ cleaned = true;
266
+ try {
267
+ cleanupProfileDir(profileDir);
268
+ }
269
+ catch (error) {
270
+ console.warn(`Could not clean up GUI browser profile at ${profileDir}: ${error instanceof Error ? error.message : String(error)}`);
271
+ }
272
+ };
273
+ child.once("exit", cleanup);
274
+ child.once("error", cleanup);
275
+ const whenClosed = waitForManagedGuiAppWindowClose(url, profileDir, child, options);
276
+ return {
277
+ browserLabel: host.label,
278
+ child,
279
+ whenClosed,
280
+ close() {
281
+ if (child.exitCode === null) {
282
+ child.kill();
283
+ }
284
+ },
285
+ };
286
+ }
287
+ //# sourceMappingURL=gui-window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gui-window.js","sourceRoot":"","sources":["../../src/commands/gui-window.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { OperatorWorkspaceExplorer } from "@kilnai/gateway-contracts";
2
+ export declare function createLocalWorkspaceExplorer(workingDirectory: string): OperatorWorkspaceExplorer;
3
+ //# sourceMappingURL=gui-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gui-workspace.d.ts","sourceRoot":"","sources":["../../src/commands/gui-workspace.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,yBAAyB,EAK1B,MAAM,2BAA2B,CAAC;AAgMnC,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,GAAG,yBAAyB,CAyIhG"}
@@ -0,0 +1,297 @@
1
+ import { execFile } from "node:child_process";
2
+ import { readdir, readFile, stat } from "node:fs/promises";
3
+ import { basename, extname, isAbsolute, join, relative, resolve } from "node:path";
4
+ import { promisify } from "node:util";
5
+ const DIRECTORY_ENTRY_LIMIT = 250;
6
+ const TEXT_PREVIEW_BYTE_LIMIT = 256 * 1024;
7
+ const IMAGE_PREVIEW_BYTE_LIMIT = 1024 * 1024;
8
+ const GIT_STATUS_CACHE_TTL_MS = 2_000;
9
+ const GIT_STATUS_TIMEOUT_MS = 1_200;
10
+ const execFileAsync = promisify(execFile);
11
+ const TEXT_EXTENSIONS = new Set([
12
+ ".c",
13
+ ".cpp",
14
+ ".cs",
15
+ ".css",
16
+ ".go",
17
+ ".h",
18
+ ".html",
19
+ ".java",
20
+ ".js",
21
+ ".jsx",
22
+ ".json",
23
+ ".kt",
24
+ ".md",
25
+ ".mdx",
26
+ ".py",
27
+ ".rs",
28
+ ".sh",
29
+ ".sql",
30
+ ".toml",
31
+ ".ts",
32
+ ".tsx",
33
+ ".txt",
34
+ ".xml",
35
+ ".yaml",
36
+ ".yml",
37
+ ]);
38
+ const IMAGE_MIME_TYPES = new Map([
39
+ [".gif", "image/gif"],
40
+ [".jpg", "image/jpeg"],
41
+ [".jpeg", "image/jpeg"],
42
+ [".png", "image/png"],
43
+ [".svg", "image/svg+xml"],
44
+ [".webp", "image/webp"],
45
+ ]);
46
+ class WorkspacePathError extends Error {
47
+ code;
48
+ path;
49
+ constructor(code, message, path) {
50
+ super(message);
51
+ this.code = code;
52
+ this.path = path;
53
+ }
54
+ }
55
+ function isWithinRoot(rootPath, targetPath) {
56
+ const relativePath = relative(rootPath, targetPath);
57
+ return relativePath === "" || (!relativePath.startsWith("..") && !isAbsolute(relativePath));
58
+ }
59
+ function resolveWorkspacePath(rootPath, candidatePath) {
60
+ const targetPath = candidatePath && candidatePath.trim().length > 0
61
+ ? (isAbsolute(candidatePath) ? resolve(candidatePath) : resolve(rootPath, candidatePath))
62
+ : rootPath;
63
+ if (!isWithinRoot(rootPath, targetPath)) {
64
+ throw new WorkspacePathError("outside_workspace", "Workspace path is outside the active working directory.", targetPath);
65
+ }
66
+ return targetPath;
67
+ }
68
+ function compareEntries(a, b) {
69
+ if (a.kind !== b.kind) {
70
+ return a.kind === "directory" ? -1 : 1;
71
+ }
72
+ return a.name.localeCompare(b.name, "en-US", { sensitivity: "base" });
73
+ }
74
+ function normalizeRelativePath(path) {
75
+ return path.replace(/\\/g, "/").replace(/\/+$/g, "");
76
+ }
77
+ function toWorkspaceVcsState(status) {
78
+ if (status.includes("U") || status === "AA" || status === "DD") {
79
+ return "conflicted";
80
+ }
81
+ if (status === "??") {
82
+ return "untracked";
83
+ }
84
+ if (status === "!!") {
85
+ return "ignored";
86
+ }
87
+ if (status.includes("D")) {
88
+ return "deleted";
89
+ }
90
+ if (status.includes("R") || status.includes("C")) {
91
+ return "renamed";
92
+ }
93
+ if (status.includes("A")) {
94
+ return "added";
95
+ }
96
+ return "modified";
97
+ }
98
+ function statusPriority(state) {
99
+ switch (state) {
100
+ case "conflicted": return 7;
101
+ case "deleted": return 6;
102
+ case "renamed": return 5;
103
+ case "modified": return 4;
104
+ case "added": return 3;
105
+ case "untracked": return 2;
106
+ case "ignored": return 1;
107
+ }
108
+ }
109
+ function mergeVcsStatus(current, next) {
110
+ if (!current || statusPriority(next.state) > statusPriority(current.state)) {
111
+ return next;
112
+ }
113
+ if (statusPriority(next.state) === statusPriority(current.state) && next.staged && !current.staged) {
114
+ return { ...current, staged: true };
115
+ }
116
+ return current;
117
+ }
118
+ function setMergedStatus(statuses, path, status) {
119
+ if (!path) {
120
+ return;
121
+ }
122
+ statuses.set(path, mergeVcsStatus(statuses.get(path), status));
123
+ }
124
+ function addAncestorDirectoryStatuses(statuses, relativePath, status) {
125
+ const segments = relativePath.split("/").filter(Boolean);
126
+ for (let index = 1; index < segments.length; index += 1) {
127
+ setMergedStatus(statuses, segments.slice(0, index).join("/"), status);
128
+ }
129
+ }
130
+ function parseGitStatus(output) {
131
+ const statuses = new Map();
132
+ const records = output.split("\0").filter((record) => record.length > 0);
133
+ for (let index = 0; index < records.length; index += 1) {
134
+ const record = records[index];
135
+ const status = record.slice(0, 2);
136
+ const relativePath = normalizeRelativePath(record.slice(3));
137
+ if (!relativePath) {
138
+ continue;
139
+ }
140
+ const state = toWorkspaceVcsState(status);
141
+ const vcs = {
142
+ provider: "git",
143
+ state,
144
+ ...(status[0] !== " " && status !== "??" && status !== "!!" ? { staged: true } : {}),
145
+ };
146
+ setMergedStatus(statuses, relativePath, vcs);
147
+ addAncestorDirectoryStatuses(statuses, relativePath, vcs);
148
+ if (state === "renamed" && records[index + 1]) {
149
+ index += 1;
150
+ }
151
+ }
152
+ return statuses;
153
+ }
154
+ function vcsStatusForEntry(rootPath, entry, statuses) {
155
+ const relativePath = normalizeRelativePath(relative(rootPath, entry.path));
156
+ return relativePath ? statuses.get(relativePath) : undefined;
157
+ }
158
+ function languageFromExtension(extension) {
159
+ const normalized = extension.replace(/^\./, "");
160
+ return normalized || undefined;
161
+ }
162
+ function looksLikeText(buffer, extension) {
163
+ if (TEXT_EXTENSIONS.has(extension)) {
164
+ return true;
165
+ }
166
+ return !buffer.subarray(0, Math.min(buffer.length, 4096)).includes(0);
167
+ }
168
+ export function createLocalWorkspaceExplorer(workingDirectory) {
169
+ const rootPath = resolve(workingDirectory);
170
+ let gitStatusCache = null;
171
+ let gitStatusInFlight = null;
172
+ const readGitStatus = async () => {
173
+ const now = Date.now();
174
+ if (gitStatusCache && gitStatusCache.expiresAt > now) {
175
+ return gitStatusCache.statuses;
176
+ }
177
+ if (gitStatusInFlight) {
178
+ return gitStatusInFlight;
179
+ }
180
+ gitStatusInFlight = execFileAsync("git", [
181
+ "-C",
182
+ rootPath,
183
+ "status",
184
+ "--porcelain=v1",
185
+ "-z",
186
+ "--untracked-files=all",
187
+ ], {
188
+ encoding: "utf8",
189
+ timeout: GIT_STATUS_TIMEOUT_MS,
190
+ windowsHide: true,
191
+ maxBuffer: 1024 * 1024,
192
+ })
193
+ .then(({ stdout }) => parseGitStatus(stdout))
194
+ .catch(() => new Map())
195
+ .then((statuses) => {
196
+ gitStatusCache = { expiresAt: Date.now() + GIT_STATUS_CACHE_TTL_MS, statuses };
197
+ return statuses;
198
+ })
199
+ .finally(() => {
200
+ gitStatusInFlight = null;
201
+ });
202
+ return gitStatusInFlight;
203
+ };
204
+ return {
205
+ async listDirectory(path) {
206
+ const directoryPath = resolveWorkspacePath(rootPath, path);
207
+ const directoryStat = await stat(directoryPath).catch(() => {
208
+ throw new WorkspacePathError("not_found", "Workspace directory was not found.", directoryPath);
209
+ });
210
+ if (!directoryStat.isDirectory()) {
211
+ throw new WorkspacePathError("not_a_directory", "Workspace path is not a directory.", directoryPath);
212
+ }
213
+ const dirents = await readdir(directoryPath, { withFileTypes: true });
214
+ const gitStatuses = await readGitStatus();
215
+ const entries = await Promise.all(dirents.map(async (entry) => {
216
+ if (!entry.isDirectory() && !entry.isFile()) {
217
+ return null;
218
+ }
219
+ const entryPath = join(directoryPath, entry.name);
220
+ const entryStat = await stat(entryPath).catch(() => null);
221
+ const treeEntry = {
222
+ path: entryPath,
223
+ name: entry.name,
224
+ kind: entry.isDirectory() ? "directory" : "file",
225
+ ...(entryStat ? { sizeBytes: entryStat.size, modifiedAt: entryStat.mtime.toISOString() } : {}),
226
+ };
227
+ const vcs = vcsStatusForEntry(rootPath, treeEntry, gitStatuses);
228
+ return {
229
+ ...treeEntry,
230
+ ...(vcs ? { vcs } : {}),
231
+ };
232
+ }));
233
+ const sortedEntries = entries
234
+ .filter((entry) => entry !== null)
235
+ .sort(compareEntries);
236
+ const truncated = sortedEntries.length > DIRECTORY_ENTRY_LIMIT;
237
+ return {
238
+ rootPath,
239
+ directoryPath,
240
+ ...(directoryPath !== rootPath ? { parentPath: resolve(directoryPath, "..") } : {}),
241
+ entries: truncated ? sortedEntries.slice(0, DIRECTORY_ENTRY_LIMIT) : sortedEntries,
242
+ truncated: truncated || undefined,
243
+ source: "gateway",
244
+ };
245
+ },
246
+ async readFile(path) {
247
+ const filePath = resolveWorkspacePath(rootPath, path);
248
+ const fileStat = await stat(filePath).catch(() => {
249
+ throw new WorkspacePathError("not_found", "Workspace file was not found.", filePath);
250
+ });
251
+ if (!fileStat.isFile()) {
252
+ throw new WorkspacePathError("not_a_file", "Workspace path is not a file.", filePath);
253
+ }
254
+ const extension = extname(filePath).toLocaleLowerCase("en-US");
255
+ const imageMimeType = IMAGE_MIME_TYPES.get(extension);
256
+ const readLimit = imageMimeType ? IMAGE_PREVIEW_BYTE_LIMIT : TEXT_PREVIEW_BYTE_LIMIT;
257
+ const fullBuffer = await readFile(filePath).catch(() => {
258
+ throw new WorkspacePathError("read_failed", "Workspace file could not be read.", filePath);
259
+ });
260
+ const truncated = fullBuffer.length > readLimit;
261
+ const previewBuffer = truncated ? fullBuffer.subarray(0, readLimit) : fullBuffer;
262
+ const base = {
263
+ path: filePath,
264
+ name: basename(filePath),
265
+ sizeBytes: fileStat.size,
266
+ modifiedAt: fileStat.mtime.toISOString(),
267
+ truncated: truncated || undefined,
268
+ source: "gateway",
269
+ };
270
+ if (imageMimeType && fullBuffer.length <= IMAGE_PREVIEW_BYTE_LIMIT) {
271
+ return {
272
+ ...base,
273
+ kind: "image",
274
+ mimeType: imageMimeType,
275
+ encoding: "base64",
276
+ dataUrl: `data:${imageMimeType};base64,${fullBuffer.toString("base64")}`,
277
+ };
278
+ }
279
+ if (looksLikeText(previewBuffer, extension)) {
280
+ return {
281
+ ...base,
282
+ kind: "text",
283
+ mimeType: extension === ".md" || extension === ".mdx" ? "text/markdown" : "text/plain",
284
+ language: languageFromExtension(extension),
285
+ encoding: "utf-8",
286
+ content: previewBuffer.toString("utf-8"),
287
+ };
288
+ }
289
+ return {
290
+ ...base,
291
+ kind: "binary",
292
+ unsupportedReason: "Binary file preview is not supported.",
293
+ };
294
+ },
295
+ };
296
+ }
297
+ //# sourceMappingURL=gui-workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gui-workspace.js","sourceRoot":"","sources":["../../src/commands/gui-workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { KilnAppConfig } from "../config.js";
2
+ export interface GuiFlags {
3
+ readonly port?: number;
4
+ readonly guiPort?: number;
5
+ readonly mode?: "dev" | "prod";
6
+ readonly cwd?: string;
7
+ readonly connect?: string;
8
+ readonly open?: boolean;
9
+ readonly provider?: string;
10
+ readonly theme?: string;
11
+ readonly plan?: boolean;
12
+ }
13
+ export declare function guiCommand(appConfig: KilnAppConfig, flags?: GuiFlags): Promise<void>;
14
+ //# sourceMappingURL=gui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gui.d.ts","sourceRoot":"","sources":["../../src/commands/gui.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA6ClD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,GAAE,QAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmK9F"}