@skaile/workspaces 0.29.1 → 0.30.1

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 (472) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/{asset-feeds-2V7LZIG7.js → asset-feeds-IWOBYROH.js} +14 -13
  3. package/dist/asset-feeds-IWOBYROH.js.map +1 -0
  4. package/dist/asset-manager/index.js +12 -12
  5. package/dist/asset-manager/installer.js +11 -11
  6. package/dist/asset-manager/renderers.js +2 -2
  7. package/dist/asset-manager/src/index.d.ts +27 -0
  8. package/dist/asset-manager/src/index.d.ts.map +1 -1
  9. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  10. package/dist/asset-manager/src/installer.d.ts +1 -2
  11. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  12. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  13. package/dist/bridge/drivers/claude-sdk.js +324 -226
  14. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  15. package/dist/bridge/drivers/codex.js +3 -3
  16. package/dist/bridge/drivers/codex.js.map +1 -1
  17. package/dist/bridge/drivers/continue.js +4 -4
  18. package/dist/bridge/drivers/echo.js +2 -2
  19. package/dist/bridge/drivers/echo.js.map +1 -1
  20. package/dist/bridge/drivers/gemini.js +5 -5
  21. package/dist/bridge/drivers/goose.js +4 -4
  22. package/dist/bridge/drivers/omp.js +3 -3
  23. package/dist/bridge/drivers/opencode.js +4 -4
  24. package/dist/bridge/drivers/qwen.js +5 -5
  25. package/dist/bridge/index.js +4 -4
  26. package/dist/bridge/src/drivers/claude-sdk.d.ts +64 -0
  27. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  28. package/dist/bridge/src/drivers/echo.d.ts +1 -1
  29. package/dist/bridge/src/drivers/echo.d.ts.map +1 -1
  30. package/dist/bridge/src/error-classifier.d.ts.map +1 -1
  31. package/dist/bridge/src/normalizer.d.ts +5 -0
  32. package/dist/bridge/src/normalizer.d.ts.map +1 -1
  33. package/dist/{chunk-LDUNTZB6.js → chunk-26L2B6P6.js} +2 -2
  34. package/dist/{chunk-LDUNTZB6.js.map → chunk-26L2B6P6.js.map} +1 -1
  35. package/dist/{chunk-FWHOU3CX.js → chunk-2VKVWN5E.js} +6 -6
  36. package/dist/{chunk-FWHOU3CX.js.map → chunk-2VKVWN5E.js.map} +1 -1
  37. package/dist/{chunk-2FS4FPZ7.js → chunk-4AGIEU7V.js} +44 -62
  38. package/dist/chunk-4AGIEU7V.js.map +1 -0
  39. package/dist/{chunk-ZONCCO5N.js → chunk-4R6DROGN.js} +30 -32
  40. package/dist/chunk-4R6DROGN.js.map +1 -0
  41. package/dist/{chunk-3QQSSRYN.js → chunk-5DQOZFWJ.js} +416 -345
  42. package/dist/chunk-5DQOZFWJ.js.map +1 -0
  43. package/dist/{chunk-LD4QIVBY.js → chunk-5MJJYIL4.js} +3 -3
  44. package/dist/{chunk-LD4QIVBY.js.map → chunk-5MJJYIL4.js.map} +1 -1
  45. package/dist/{chunk-AKSR434V.js → chunk-5XAQDOMU.js} +79 -56
  46. package/dist/chunk-5XAQDOMU.js.map +1 -0
  47. package/dist/{chunk-MBOR7D65.js → chunk-67MFR5LS.js} +3 -3
  48. package/dist/{chunk-MBOR7D65.js.map → chunk-67MFR5LS.js.map} +1 -1
  49. package/dist/{chunk-7GWYRVAX.js → chunk-6LW7Q53Z.js} +162 -165
  50. package/dist/chunk-6LW7Q53Z.js.map +1 -0
  51. package/dist/{chunk-SF4GWVR5.js → chunk-6TCOYFVJ.js} +86 -55
  52. package/dist/chunk-6TCOYFVJ.js.map +1 -0
  53. package/dist/{chunk-QMONOHXT.js → chunk-74UKG2LA.js} +3 -3
  54. package/dist/{chunk-QMONOHXT.js.map → chunk-74UKG2LA.js.map} +1 -1
  55. package/dist/{chunk-JIQLLZ65.js → chunk-7MANNJ3U.js} +534 -235
  56. package/dist/chunk-7MANNJ3U.js.map +1 -0
  57. package/dist/{chunk-7R6W5EQR.js → chunk-ACXLKNIM.js} +2 -2
  58. package/dist/{chunk-7R6W5EQR.js.map → chunk-ACXLKNIM.js.map} +1 -1
  59. package/dist/{chunk-72IA6BTP.js → chunk-AKYEI3D6.js} +9 -9
  60. package/dist/{chunk-72IA6BTP.js.map → chunk-AKYEI3D6.js.map} +1 -1
  61. package/dist/{chunk-CMG3GJ6B.js → chunk-DAI754GK.js} +4 -4
  62. package/dist/{chunk-CMG3GJ6B.js.map → chunk-DAI754GK.js.map} +1 -1
  63. package/dist/{chunk-OTFG5Q7H.js → chunk-FRRTUVUM.js} +4594 -4480
  64. package/dist/chunk-FRRTUVUM.js.map +1 -0
  65. package/dist/{chunk-TV72ZJYN.js → chunk-GXC3TYMQ.js} +60 -47
  66. package/dist/chunk-GXC3TYMQ.js.map +1 -0
  67. package/dist/{chunk-IERB3UXJ.js → chunk-H5YXL4KI.js} +83 -69
  68. package/dist/chunk-H5YXL4KI.js.map +1 -0
  69. package/dist/{chunk-QDJKE557.js → chunk-HRKB2ATT.js} +64 -64
  70. package/dist/chunk-HRKB2ATT.js.map +1 -0
  71. package/dist/{chunk-ZEKWHJBB.js → chunk-IZIFMNTI.js} +3 -3
  72. package/dist/{chunk-ZEKWHJBB.js.map → chunk-IZIFMNTI.js.map} +1 -1
  73. package/dist/{chunk-24UIWON4.js → chunk-JB35MVBN.js} +167 -156
  74. package/dist/chunk-JB35MVBN.js.map +1 -0
  75. package/dist/{chunk-UIZKIUC6.js → chunk-KHZI44SS.js} +3 -3
  76. package/dist/chunk-KHZI44SS.js.map +1 -0
  77. package/dist/{chunk-5YO3H5Q4.js → chunk-KY5NY7LB.js} +3 -3
  78. package/dist/chunk-KY5NY7LB.js.map +1 -0
  79. package/dist/{chunk-MIH45XPY.js → chunk-LA2YSXEE.js} +1974 -1919
  80. package/dist/chunk-LA2YSXEE.js.map +1 -0
  81. package/dist/{chunk-IEJ5IOC3.js → chunk-LFDZYCEO.js} +4 -2
  82. package/dist/chunk-LFDZYCEO.js.map +1 -0
  83. package/dist/{chunk-2NOE4AGD.js → chunk-LIK75OJ5.js} +3 -3
  84. package/dist/{chunk-2NOE4AGD.js.map → chunk-LIK75OJ5.js.map} +1 -1
  85. package/dist/{chunk-PAYAFNXG.js → chunk-NGJ6E344.js} +104 -74
  86. package/dist/chunk-NGJ6E344.js.map +1 -0
  87. package/dist/{chunk-5V5KZQIC.js → chunk-PVMAIVNL.js} +4 -4
  88. package/dist/{chunk-5V5KZQIC.js.map → chunk-PVMAIVNL.js.map} +1 -1
  89. package/dist/{chunk-HK5FRWG6.js → chunk-R6O6YWU7.js} +2 -2
  90. package/dist/{chunk-HK5FRWG6.js.map → chunk-R6O6YWU7.js.map} +1 -1
  91. package/dist/{chunk-PRLD7EXG.js → chunk-SBGHNXJD.js} +2 -2
  92. package/dist/{chunk-PRLD7EXG.js.map → chunk-SBGHNXJD.js.map} +1 -1
  93. package/dist/{chunk-5RBPPBEK.js → chunk-SCJD3FMO.js} +4 -4
  94. package/dist/{chunk-5RBPPBEK.js.map → chunk-SCJD3FMO.js.map} +1 -1
  95. package/dist/{chunk-BZ2JU7IP.js → chunk-TU4VZULO.js} +5 -5
  96. package/dist/{chunk-BZ2JU7IP.js.map → chunk-TU4VZULO.js.map} +1 -1
  97. package/dist/{chunk-DVMSGGCM.js → chunk-VGFYUD3T.js} +158 -108
  98. package/dist/chunk-VGFYUD3T.js.map +1 -0
  99. package/dist/{chunk-Z3XXKR5E.js → chunk-WDMH4UMD.js} +4 -6
  100. package/dist/chunk-WDMH4UMD.js.map +1 -0
  101. package/dist/{chunk-W7W66MDZ.js → chunk-X46FY45B.js} +44 -42
  102. package/dist/chunk-X46FY45B.js.map +1 -0
  103. package/dist/{chunk-JKNWJ64A.js → chunk-XGCXFX7X.js} +2 -2
  104. package/dist/{chunk-JKNWJ64A.js.map → chunk-XGCXFX7X.js.map} +1 -1
  105. package/dist/{chunk-MLJKA3S6.js → chunk-XOAF5QAE.js} +2094 -1901
  106. package/dist/chunk-XOAF5QAE.js.map +1 -0
  107. package/dist/{chunk-FQHHCICT.js → chunk-XVDXGQ55.js} +226 -226
  108. package/dist/chunk-XVDXGQ55.js.map +1 -0
  109. package/dist/{chunk-M4KLIEIJ.js → chunk-YBJLYT4S.js} +3 -3
  110. package/dist/chunk-YBJLYT4S.js.map +1 -0
  111. package/dist/{chunk-OKRUTSG7.js → chunk-ZDKJHQY2.js} +2 -2
  112. package/dist/{chunk-OKRUTSG7.js.map → chunk-ZDKJHQY2.js.map} +1 -1
  113. package/dist/{chunk-UBCZVONU.js → chunk-ZME3JDA6.js} +3 -3
  114. package/dist/{chunk-UBCZVONU.js.map → chunk-ZME3JDA6.js.map} +1 -1
  115. package/dist/cli/index.js +2811 -2662
  116. package/dist/cli/index.js.map +1 -1
  117. package/dist/cli/src/asset-feeds.d.ts +0 -9
  118. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  119. package/dist/cli/src/commands/catalog-cmd.d.ts.map +1 -1
  120. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  121. package/dist/cli/src/commands/config.d.ts.map +1 -1
  122. package/dist/cli/src/commands/deploy.d.ts.map +1 -1
  123. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  124. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  125. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  126. package/dist/cli/src/commands/preset-cmd.d.ts.map +1 -1
  127. package/dist/cli/src/commands/project.d.ts +1 -1
  128. package/dist/cli/src/commands/project.d.ts.map +1 -1
  129. package/dist/cli/src/commands/show.d.ts.map +1 -1
  130. package/dist/cli/src/commands/source.d.ts.map +1 -1
  131. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  132. package/dist/cli/src/ensure-sources.d.ts.map +1 -1
  133. package/dist/cli/src/flow-discovery.d.ts.map +1 -1
  134. package/dist/cli/src/open-registry.d.ts.map +1 -1
  135. package/dist/cli/src/plugin-store/index.d.ts +4 -6
  136. package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
  137. package/dist/cli/src/plugin-store/paths.d.ts +0 -2
  138. package/dist/cli/src/plugin-store/paths.d.ts.map +1 -1
  139. package/dist/cli/src/setup.d.ts.map +1 -1
  140. package/dist/connectors/config.js +9 -9
  141. package/dist/connectors/index.js +12 -12
  142. package/dist/connectors/rclone.js +2 -2
  143. package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
  144. package/dist/connectors/src/connector-registry.d.ts.map +1 -1
  145. package/dist/connectors/src/connector-types.d.ts +1 -1
  146. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  147. package/dist/connectors/src/index.d.ts +5 -5
  148. package/dist/connectors/src/index.d.ts.map +1 -1
  149. package/dist/connectors/src/managed-gitconfig.d.ts.map +1 -1
  150. package/dist/{connectors-PTCSHCHZ.js → connectors-DY7UBBV5.js} +3 -3
  151. package/dist/{connectors-PTCSHCHZ.js.map → connectors-DY7UBBV5.js.map} +1 -1
  152. package/dist/connectors-shared/src/index.d.ts +1 -1
  153. package/dist/connectors-shared/src/index.d.ts.map +1 -1
  154. package/dist/core/index.js +8 -8
  155. package/dist/core/logging.js +1 -1
  156. package/dist/core/manifest.js +2 -2
  157. package/dist/core/models.js +1 -1
  158. package/dist/core/publish-manifest.js +2 -2
  159. package/dist/core/runtime-assets.js +5 -5
  160. package/dist/core/src/lock.d.ts +0 -9
  161. package/dist/core/src/lock.d.ts.map +1 -1
  162. package/dist/core/src/logging/create-logger.d.ts.map +1 -1
  163. package/dist/core/src/logging/index.d.ts +11 -11
  164. package/dist/core/src/logging/index.d.ts.map +1 -1
  165. package/dist/core/src/logging/log-store.d.ts.map +1 -1
  166. package/dist/core/src/logging/sinks/no-op-sink.d.ts.map +1 -1
  167. package/dist/core/src/logging/sinks/sqlite-sink.d.ts.map +1 -1
  168. package/dist/core/src/manifest.d.ts.map +1 -1
  169. package/dist/core/src/models.d.ts +6 -0
  170. package/dist/core/src/models.d.ts.map +1 -1
  171. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  172. package/dist/core/src/repo-manager.d.ts +0 -12
  173. package/dist/core/src/repo-manager.d.ts.map +1 -1
  174. package/dist/core/src/runtime-assets.d.ts.map +1 -1
  175. package/dist/core/src/store.d.ts +1 -1
  176. package/dist/core/src/store.d.ts.map +1 -1
  177. package/dist/core/src/walker.d.ts.map +1 -1
  178. package/dist/core/src/workspace-config.d.ts +0 -27
  179. package/dist/core/src/workspace-config.d.ts.map +1 -1
  180. package/dist/core/store.js +1 -1
  181. package/dist/core/workspace-config.js +4 -4
  182. package/dist/deploy/index.js +8 -8
  183. package/dist/discovery/index.js +6 -6
  184. package/dist/discovery/src/asset-kind-registry.d.ts +1 -1
  185. package/dist/discovery/src/asset-kind-registry.d.ts.map +1 -1
  186. package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
  187. package/dist/discovery/src/discover-manifest.d.ts +1 -1
  188. package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
  189. package/dist/discovery/src/discover.d.ts +30 -3
  190. package/dist/discovery/src/discover.d.ts.map +1 -1
  191. package/dist/discovery/src/domains.d.ts +144 -0
  192. package/dist/discovery/src/domains.d.ts.map +1 -0
  193. package/dist/discovery/src/index.d.ts +9 -7
  194. package/dist/discovery/src/index.d.ts.map +1 -1
  195. package/dist/discovery/src/source-config.d.ts +1 -1
  196. package/dist/discovery/src/source-config.d.ts.map +1 -1
  197. package/dist/discovery/src/tree-entries.d.ts +13 -1
  198. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  199. package/dist/ensure-sources-6GW6UBXY.js +84 -0
  200. package/dist/ensure-sources-6GW6UBXY.js.map +1 -0
  201. package/dist/factory-assets/connectors/deploy/adapter.d.ts +1 -1
  202. package/dist/factory-assets/connectors/deploy/adapter.d.ts.map +1 -1
  203. package/dist/factory-assets/connectors/deploy.js +12 -12
  204. package/dist/factory-assets/connectors/devserver/adapter.d.ts +1 -1
  205. package/dist/factory-assets/connectors/devserver/adapter.d.ts.map +1 -1
  206. package/dist/factory-assets/connectors/devserver.js +12 -12
  207. package/dist/factory-assets/connectors/flow/adapter.d.ts +16 -2
  208. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  209. package/dist/factory-assets/connectors/flow/adapter.js +12 -12
  210. package/dist/factory-assets/connectors/flow/engine/flow-kind-provider.d.ts.map +1 -1
  211. package/dist/factory-assets/connectors/flow/engine/index.d.ts +3 -3
  212. package/dist/factory-assets/connectors/flow/engine/index.d.ts.map +1 -1
  213. package/dist/factory-assets/connectors/flow/engine.js +9 -9
  214. package/dist/factory-assets/connectors/flow/index.d.ts +1 -1
  215. package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -1
  216. package/dist/factory-assets/connectors/flow/run-flow.js +15 -15
  217. package/dist/factory-assets/connectors/flow.js +12 -12
  218. package/dist/factory-assets/connectors/git/driver.d.ts +32 -0
  219. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  220. package/dist/factory-assets/connectors/git.js +12 -12
  221. package/dist/factory-assets/connectors/gmail/adapter.d.ts +1 -1
  222. package/dist/factory-assets/connectors/gmail/adapter.d.ts.map +1 -1
  223. package/dist/factory-assets/connectors/gmail.js +12 -12
  224. package/dist/factory-assets/connectors/googledrive.js +12 -12
  225. package/dist/factory-assets/connectors/local/driver.d.ts +1 -2
  226. package/dist/factory-assets/connectors/local/driver.d.ts.map +1 -1
  227. package/dist/factory-assets/connectors/local.js +12 -12
  228. package/dist/factory-assets/connectors/mattermost/adapter.d.ts +1 -1
  229. package/dist/factory-assets/connectors/mattermost/adapter.d.ts.map +1 -1
  230. package/dist/factory-assets/connectors/mattermost.js +12 -12
  231. package/dist/factory-assets/connectors/memory/adapter.d.ts.map +1 -1
  232. package/dist/factory-assets/connectors/memory.js +12 -12
  233. package/dist/factory-assets/connectors/minio/adapter.d.ts +1 -1
  234. package/dist/factory-assets/connectors/minio/adapter.d.ts.map +1 -1
  235. package/dist/factory-assets/connectors/minio.js +12 -12
  236. package/dist/factory-assets/connectors/postgres/adapter.d.ts +6 -1
  237. package/dist/factory-assets/connectors/postgres/adapter.d.ts.map +1 -1
  238. package/dist/factory-assets/connectors/postgres.js +12 -12
  239. package/dist/factory-assets/connectors/s3/driver.d.ts.map +1 -1
  240. package/dist/factory-assets/connectors/s3.js +12 -12
  241. package/dist/factory-assets/connectors/sharepoint.js +12 -12
  242. package/dist/factory-assets/connectors/sqlite/adapter.d.ts +1 -1
  243. package/dist/factory-assets/connectors/sqlite/adapter.d.ts.map +1 -1
  244. package/dist/factory-assets/connectors/sqlite.js +12 -12
  245. package/dist/factory-assets/connectors/static-server/adapter.d.ts +6 -1
  246. package/dist/factory-assets/connectors/static-server/adapter.d.ts.map +1 -1
  247. package/dist/factory-assets/connectors/static-server.js +12 -12
  248. package/dist/factory-assets/connectors/tunnel/adapter.d.ts +1 -1
  249. package/dist/factory-assets/connectors/tunnel/adapter.d.ts.map +1 -1
  250. package/dist/factory-assets/connectors/tunnel.js +12 -12
  251. package/dist/factory-assets/connectors/webdav.js +12 -12
  252. package/dist/factory-assets/connectors/xstate/adapter.d.ts +1 -1
  253. package/dist/factory-assets/connectors/xstate/adapter.d.ts.map +1 -1
  254. package/dist/factory-assets/connectors/xstate-store/adapter.d.ts +7 -0
  255. package/dist/factory-assets/connectors/xstate-store/adapter.d.ts.map +1 -1
  256. package/dist/factory-assets/connectors/xstate-store.js +12 -12
  257. package/dist/factory-assets/connectors/xstate.js +12 -12
  258. package/dist/flows-JXO3KGC2.js +7 -0
  259. package/dist/{flows-L3GHQD7F.js.map → flows-JXO3KGC2.js.map} +1 -1
  260. package/dist/library/index.js +13 -13
  261. package/dist/library/install.js +9 -9
  262. package/dist/library/src/config.d.ts.map +1 -1
  263. package/dist/library/src/index.d.ts +27 -27
  264. package/dist/library/src/index.d.ts.map +1 -1
  265. package/dist/library/src/install/index.d.ts +2 -2
  266. package/dist/library/src/install/index.d.ts.map +1 -1
  267. package/dist/library/src/install/install-from-manifest.d.ts +0 -21
  268. package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
  269. package/dist/library/src/knowledge/index.d.ts +2 -2
  270. package/dist/library/src/knowledge/index.d.ts.map +1 -1
  271. package/dist/library/src/knowledge/knowledge-kind-provider.d.ts.map +1 -1
  272. package/dist/library/src/local/library.d.ts +2 -2
  273. package/dist/library/src/local/library.d.ts.map +1 -1
  274. package/dist/library/src/local/store-paths.d.ts.map +1 -1
  275. package/dist/library/src/pin-resolver.d.ts.map +1 -1
  276. package/dist/library/src/preset/apply.d.ts +2 -2
  277. package/dist/library/src/preset/apply.d.ts.map +1 -1
  278. package/dist/library/src/preset/index.d.ts +10 -10
  279. package/dist/library/src/preset/index.d.ts.map +1 -1
  280. package/dist/library/src/preset/parse.d.ts.map +1 -1
  281. package/dist/library/src/preset/resolve-item.d.ts +1 -1
  282. package/dist/library/src/preset/resolve-item.d.ts.map +1 -1
  283. package/dist/library/src/preset/upgrade.d.ts +1 -1
  284. package/dist/library/src/preset/upgrade.d.ts.map +1 -1
  285. package/dist/library/src/remote/index.d.ts +5 -5
  286. package/dist/library/src/remote/index.d.ts.map +1 -1
  287. package/dist/library/src/remote/remote-catalog-source.d.ts +1 -1
  288. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  289. package/dist/library/src/remote/rest-catalog-source.d.ts +1 -1
  290. package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
  291. package/dist/library/src/sync/driver.d.ts +1 -1
  292. package/dist/library/src/sync/driver.d.ts.map +1 -1
  293. package/dist/library/src/sync/git-driver.d.ts +1 -1
  294. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  295. package/dist/library/src/sync/local-driver.d.ts +1 -1
  296. package/dist/library/src/sync/local-driver.d.ts.map +1 -1
  297. package/dist/library/src/workspace-config.d.ts +0 -9
  298. package/dist/library/src/workspace-config.d.ts.map +1 -1
  299. package/dist/open-library-SH6NCJM2.js +23 -0
  300. package/dist/{open-library-3VJY74LQ.js.map → open-library-SH6NCJM2.js.map} +1 -1
  301. package/dist/paths-YSXGJ7TO.js +15 -0
  302. package/dist/{paths-CE66L3AL.js.map → paths-YSXGJ7TO.js.map} +1 -1
  303. package/dist/plugin-registry/src/targets.d.ts +2 -3
  304. package/dist/plugin-registry/src/targets.d.ts.map +1 -1
  305. package/dist/{plugin-store-GL5VKYUA.js → plugin-store-2KMDUF7R.js} +11 -14
  306. package/dist/plugin-store-2KMDUF7R.js.map +1 -0
  307. package/dist/plugins/index.js +1 -1
  308. package/dist/plugins/src/asset-kind-registry.d.ts +1 -1
  309. package/dist/plugins/src/asset-kind-registry.d.ts.map +1 -1
  310. package/dist/plugins/src/catalog-source.d.ts +5 -0
  311. package/dist/plugins/src/catalog-source.d.ts.map +1 -1
  312. package/dist/plugins/src/index.d.ts +5 -5
  313. package/dist/plugins/src/index.d.ts.map +1 -1
  314. package/dist/{provider-GAWKFQ3T.js → provider-ZPT443IX.js} +18 -16
  315. package/dist/provider-ZPT443IX.js.map +1 -0
  316. package/dist/resolver/index.js +1 -1
  317. package/dist/resolver/src/preamble.d.ts.map +1 -1
  318. package/dist/runner/index.js +17 -17
  319. package/dist/runner/src/builtin-capabilities.d.ts +12 -0
  320. package/dist/runner/src/builtin-capabilities.d.ts.map +1 -1
  321. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  322. package/dist/runner/src/compaction/index.d.ts +0 -4
  323. package/dist/runner/src/compaction/index.d.ts.map +1 -1
  324. package/dist/runner/src/compaction/orchestrator.d.ts +23 -2
  325. package/dist/runner/src/compaction/orchestrator.d.ts.map +1 -1
  326. package/dist/runner/src/composition/compile.d.ts.map +1 -1
  327. package/dist/runner/src/composition/index.d.ts +4 -4
  328. package/dist/runner/src/composition/index.d.ts.map +1 -1
  329. package/dist/runner/src/composition/resolve.d.ts.map +1 -1
  330. package/dist/runner/src/composition/types.d.ts +2 -2
  331. package/dist/runner/src/composition/types.d.ts.map +1 -1
  332. package/dist/runner/src/config.d.ts +2 -2
  333. package/dist/runner/src/config.d.ts.map +1 -1
  334. package/dist/runner/src/define-capability.d.ts +1 -1
  335. package/dist/runner/src/define-capability.d.ts.map +1 -1
  336. package/dist/runner/src/external-mcp.d.ts.map +1 -1
  337. package/dist/runner/src/index.d.ts +9 -9
  338. package/dist/runner/src/index.d.ts.map +1 -1
  339. package/dist/runner/src/logging-bootstrap.d.ts +1 -1
  340. package/dist/runner/src/logging-bootstrap.d.ts.map +1 -1
  341. package/dist/runner/src/manifest.d.ts.map +1 -1
  342. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  343. package/dist/runner/src/resources.d.ts.map +1 -1
  344. package/dist/runner/src/runner-capabilities.d.ts +25 -0
  345. package/dist/runner/src/runner-capabilities.d.ts.map +1 -1
  346. package/dist/runner/src/serve.d.ts.map +1 -1
  347. package/dist/runner/src/session-builder.d.ts.map +1 -1
  348. package/dist/sdk/asset-manager.js +12 -12
  349. package/dist/sdk/bridge.js +4 -4
  350. package/dist/sdk/core.js +8 -8
  351. package/dist/sdk/flow.js +9 -9
  352. package/dist/sdk/index.js +92 -76
  353. package/dist/sdk/index.js.map +1 -1
  354. package/dist/sdk/resolver.js +1 -1
  355. package/dist/sdk/runner.js +17 -17
  356. package/dist/sdk/session.js +1 -1
  357. package/dist/sdk/src/agent-session.d.ts +8 -0
  358. package/dist/sdk/src/agent-session.d.ts.map +1 -1
  359. package/dist/sdk/src/factory.d.ts.map +1 -1
  360. package/dist/sdk/src/index.d.ts +2 -2
  361. package/dist/sdk/src/index.d.ts.map +1 -1
  362. package/dist/sdk/store.js +1 -1
  363. package/dist/sdk/telemetry.js +1 -1
  364. package/dist/secrets/index.js +2 -2
  365. package/dist/secrets/src/index.d.ts +8 -8
  366. package/dist/secrets/src/index.d.ts.map +1 -1
  367. package/dist/secrets/src/lifecycle.d.ts +1 -2
  368. package/dist/secrets/src/lifecycle.d.ts.map +1 -1
  369. package/dist/secrets/src/providers/env.d.ts +1 -1
  370. package/dist/secrets/src/providers/env.d.ts.map +1 -1
  371. package/dist/secrets/src/providers/local.d.ts +1 -1
  372. package/dist/secrets/src/providers/local.d.ts.map +1 -1
  373. package/dist/secrets/src/router.d.ts +1 -1
  374. package/dist/secrets/src/router.d.ts.map +1 -1
  375. package/dist/session/index.js +1 -1
  376. package/dist/session/src/mentions.d.ts.map +1 -1
  377. package/dist/{sessions-2IUX4P3P.js → sessions-DICDEONJ.js} +3 -3
  378. package/dist/{sessions-2IUX4P3P.js.map → sessions-DICDEONJ.js.map} +1 -1
  379. package/dist/{setup-4YMN2BDU.js → setup-6MQ6QWML.js} +198 -175
  380. package/dist/setup-6MQ6QWML.js.map +1 -0
  381. package/dist/skills-BMI6H7HI.js +7 -0
  382. package/dist/{skills-6HJ3WINN.js.map → skills-BMI6H7HI.js.map} +1 -1
  383. package/dist/store/index.js +1 -1
  384. package/dist/store/src/index.d.ts +1 -1
  385. package/dist/store/src/index.d.ts.map +1 -1
  386. package/dist/store/src/resource-client.d.ts +1 -1
  387. package/dist/store/src/resource-client.d.ts.map +1 -1
  388. package/dist/store/src/vue.d.ts.map +1 -1
  389. package/dist/store/vue.js.map +1 -1
  390. package/dist/store-client-LDYF4TK4.js +15 -0
  391. package/dist/{store-client-BCP5LCAZ.js.map → store-client-LDYF4TK4.js.map} +1 -1
  392. package/dist/telemetry/index.js +1 -1
  393. package/dist/telemetry/src/context.d.ts.map +1 -1
  394. package/dist/telemetry/src/index.d.ts +3 -3
  395. package/dist/telemetry/src/index.d.ts.map +1 -1
  396. package/dist/telemetry/src/otel/gen-ai.d.ts +1 -1
  397. package/dist/telemetry/src/otel/gen-ai.d.ts.map +1 -1
  398. package/dist/telemetry/src/otel/provider.d.ts.map +1 -1
  399. package/dist/transport/src/index.d.ts +1 -1
  400. package/dist/transport/src/index.d.ts.map +1 -1
  401. package/dist/tui/index.js +251 -218
  402. package/dist/tui/index.js.map +1 -1
  403. package/dist/tui/src/index.d.ts +2 -2
  404. package/dist/tui/src/index.d.ts.map +1 -1
  405. package/dist/tui/src/repl-renderer.d.ts.map +1 -1
  406. package/dist/tui/src/repl-session.d.ts +1 -1
  407. package/dist/tui/src/repl-session.d.ts.map +1 -1
  408. package/dist/tui/src/repl.d.ts.map +1 -1
  409. package/dist/types/manifests.js +1 -1
  410. package/dist/types/src/envelope.d.ts +1 -1
  411. package/dist/types/src/envelope.d.ts.map +1 -1
  412. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  413. package/dist/types/src/manifests/connector.d.ts.map +1 -1
  414. package/dist/types/src/manifests/contract.d.ts.map +1 -1
  415. package/dist/types/src/manifests/index.d.ts +16 -16
  416. package/dist/types/src/manifests/index.d.ts.map +1 -1
  417. package/dist/types/src/manifests/mcp-server.d.ts.map +1 -1
  418. package/dist/types/src/manifests/mount.d.ts.map +1 -1
  419. package/dist/types/src/manifests/persona.d.ts.map +1 -1
  420. package/dist/types/src/manifests/preset.d.ts +0 -18
  421. package/dist/types/src/manifests/preset.d.ts.map +1 -1
  422. package/dist/types/src/manifests/prompt.d.ts.map +1 -1
  423. package/dist/types/src/manifests/ruleset.d.ts.map +1 -1
  424. package/dist/types/src/manifests/skill.d.ts.map +1 -1
  425. package/dist/validator-VF5M764T.js +5 -0
  426. package/dist/{validator-47SQUW3J.js.map → validator-VF5M764T.js.map} +1 -1
  427. package/dist/workspace-plugin/adapters/mcp.js +6 -6
  428. package/dist/workspace-plugin/adapters/omp.js +76 -69
  429. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  430. package/dist/workspace-plugin/index.js +2 -2
  431. package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
  432. package/dist/workspace-plugin/src/tools/connectors.d.ts.map +1 -1
  433. package/dist/workspace-plugin/src/tools/flows.d.ts.map +1 -1
  434. package/dist/workspace-plugin/src/tools/sessions.d.ts.map +1 -1
  435. package/dist/workspace-plugin/src/tools/skills.d.ts.map +1 -1
  436. package/dist/workspace-plugin/src/tools/validator.d.ts.map +1 -1
  437. package/package.json +1 -2
  438. package/dist/asset-feeds-2V7LZIG7.js.map +0 -1
  439. package/dist/chunk-24UIWON4.js.map +0 -1
  440. package/dist/chunk-2FS4FPZ7.js.map +0 -1
  441. package/dist/chunk-3QQSSRYN.js.map +0 -1
  442. package/dist/chunk-5YO3H5Q4.js.map +0 -1
  443. package/dist/chunk-7GWYRVAX.js.map +0 -1
  444. package/dist/chunk-AKSR434V.js.map +0 -1
  445. package/dist/chunk-DVMSGGCM.js.map +0 -1
  446. package/dist/chunk-FQHHCICT.js.map +0 -1
  447. package/dist/chunk-IEJ5IOC3.js.map +0 -1
  448. package/dist/chunk-IERB3UXJ.js.map +0 -1
  449. package/dist/chunk-JIQLLZ65.js.map +0 -1
  450. package/dist/chunk-M4KLIEIJ.js.map +0 -1
  451. package/dist/chunk-MIH45XPY.js.map +0 -1
  452. package/dist/chunk-MLJKA3S6.js.map +0 -1
  453. package/dist/chunk-OTFG5Q7H.js.map +0 -1
  454. package/dist/chunk-PAYAFNXG.js.map +0 -1
  455. package/dist/chunk-QDJKE557.js.map +0 -1
  456. package/dist/chunk-SF4GWVR5.js.map +0 -1
  457. package/dist/chunk-TV72ZJYN.js.map +0 -1
  458. package/dist/chunk-UIZKIUC6.js.map +0 -1
  459. package/dist/chunk-W7W66MDZ.js.map +0 -1
  460. package/dist/chunk-Z3XXKR5E.js.map +0 -1
  461. package/dist/chunk-ZONCCO5N.js.map +0 -1
  462. package/dist/ensure-sources-BNSRO5G7.js +0 -74
  463. package/dist/ensure-sources-BNSRO5G7.js.map +0 -1
  464. package/dist/flows-L3GHQD7F.js +0 -7
  465. package/dist/open-library-3VJY74LQ.js +0 -23
  466. package/dist/paths-CE66L3AL.js +0 -15
  467. package/dist/plugin-store-GL5VKYUA.js.map +0 -1
  468. package/dist/provider-GAWKFQ3T.js.map +0 -1
  469. package/dist/setup-4YMN2BDU.js.map +0 -1
  470. package/dist/skills-6HJ3WINN.js +0 -7
  471. package/dist/store-client-BCP5LCAZ.js +0 -15
  472. package/dist/validator-47SQUW3J.js +0 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../store/src/vue.ts"],"names":[],"mappings":";;;AA4BO,SAAS,cAAc,KAAA,EAAmD;AAC/E,EAAA,MAAM,QAAA,GAAW,UAAA,CAAW,KAAA,CAAM,WAAA,EAAa,CAAA;AAE/C,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,SAAA,CAAU,MAAM;AAClC,IAAA,QAAA,CAAS,KAAA,GAAQ,MAAM,WAAA,EAAY;AAAA,EACrC,CAAC,CAAA;AAED,EAAA,cAAA,CAAe,KAAK,CAAA;AAEpB,EAAA,OAAO,QAAA;AACT;AAwBO,SAAS,kBAAkB,MAAA,EAA4D;AAC5F,EAAA,MAAM,QAAA,GAAW,UAAA,CAAW,MAAA,CAAO,WAAA,EAAa,CAAA;AAEhD,EAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,SAAA,CAAU,MAAM;AACnC,IAAA,QAAA,CAAS,KAAA,GAAQ,OAAO,WAAA,EAAY;AAAA,EACtC,CAAC,CAAA;AAED,EAAA,cAAA,CAAe,KAAK,CAAA;AAEpB,EAAA,OAAO,QAAA;AACT","file":"vue.js","sourcesContent":["import { onScopeDispose, shallowRef, type ShallowRef } from \"vue\";\nimport type { ResourceClient } from \"./resource-client.js\";\nimport type { AgentStore } from \"./store.js\";\nimport type { AgentStoreSnapshot, ResourceClientSnapshot } from \"./types.js\";\n\n/**\n * Subscribe to an {@link AgentStore} and return a reactive snapshot ref.\n *\n * Uses `shallowRef` for fine-grained reactivity — Vue templates and computed\n * properties that read `snapshot.value.messages` etc. will update automatically.\n * The subscription is cleaned up automatically when the owning scope is disposed\n * (e.g. when the component unmounts).\n *\n * @param store - The store to subscribe to.\n * @returns A `ShallowRef` whose `.value` is the current immutable state snapshot.\n *\n * @example\n * ```vue\n * <script setup>\n * import { useAgentStore } from '@skaile/workspace-bridge-vue'\n *\n * const props = defineProps<{ store: AgentStore }>()\n * const snapshot = useAgentStore(props.store)\n * // snapshot.value.messages, snapshot.value.streamingText, etc.\n * </script>\n * ```\n * @docLink packages/store/concepts#vue-composables\n */\nexport function useAgentStore(store: AgentStore): ShallowRef<AgentStoreSnapshot> {\n const snapshot = shallowRef(store.getSnapshot());\n\n const unsub = store.subscribe(() => {\n snapshot.value = store.getSnapshot();\n });\n\n onScopeDispose(unsub);\n\n return snapshot;\n}\n\n/**\n * Subscribe to a {@link ResourceClient} and return a reactive snapshot ref.\n *\n * Re-renders only when the agent emits a `resources_available` event (typically\n * once on connect). The subscription is cleaned up automatically when the owning\n * scope is disposed.\n *\n * @param client - The resource client to subscribe to.\n * @returns A `ShallowRef` whose `.value` is the current resource snapshot.\n *\n * @example\n * ```vue\n * <script setup>\n * import { useResourceClient } from '@skaile/workspace-bridge-vue'\n *\n * const props = defineProps<{ client: ResourceClient }>()\n * const resources = useResourceClient(props.client)\n * // resources.value.mounts, resources.value.connectors\n * </script>\n * ```\n * @docLink packages/store/concepts#vue-composables\n */\nexport function useResourceClient(client: ResourceClient): ShallowRef<ResourceClientSnapshot> {\n const snapshot = shallowRef(client.getSnapshot());\n\n const unsub = client.subscribe(() => {\n snapshot.value = client.getSnapshot();\n });\n\n onScopeDispose(unsub);\n\n return snapshot;\n}\n"]}
1
+ {"version":3,"sources":["../../store/src/vue.ts"],"names":[],"mappings":";;;AA4BO,SAAS,cAAc,KAAA,EAAmD;AAC/E,EAAA,MAAM,QAAA,GAAW,UAAA,CAAW,KAAA,CAAM,WAAA,EAAa,CAAA;AAE/C,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,SAAA,CAAU,MAAM;AAClC,IAAA,QAAA,CAAS,KAAA,GAAQ,MAAM,WAAA,EAAY;AAAA,EACrC,CAAC,CAAA;AAED,EAAA,cAAA,CAAe,KAAK,CAAA;AAEpB,EAAA,OAAO,QAAA;AACT;AAwBO,SAAS,kBAAkB,MAAA,EAA4D;AAC5F,EAAA,MAAM,QAAA,GAAW,UAAA,CAAW,MAAA,CAAO,WAAA,EAAa,CAAA;AAEhD,EAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,SAAA,CAAU,MAAM;AACnC,IAAA,QAAA,CAAS,KAAA,GAAQ,OAAO,WAAA,EAAY;AAAA,EACtC,CAAC,CAAA;AAED,EAAA,cAAA,CAAe,KAAK,CAAA;AAEpB,EAAA,OAAO,QAAA;AACT","file":"vue.js","sourcesContent":["import { onScopeDispose, type ShallowRef, shallowRef } from \"vue\";\nimport type { ResourceClient } from \"./resource-client.js\";\nimport type { AgentStore } from \"./store.js\";\nimport type { AgentStoreSnapshot, ResourceClientSnapshot } from \"./types.js\";\n\n/**\n * Subscribe to an {@link AgentStore} and return a reactive snapshot ref.\n *\n * Uses `shallowRef` for fine-grained reactivity — Vue templates and computed\n * properties that read `snapshot.value.messages` etc. will update automatically.\n * The subscription is cleaned up automatically when the owning scope is disposed\n * (e.g. when the component unmounts).\n *\n * @param store - The store to subscribe to.\n * @returns A `ShallowRef` whose `.value` is the current immutable state snapshot.\n *\n * @example\n * ```vue\n * <script setup>\n * import { useAgentStore } from '@skaile/workspace-bridge-vue'\n *\n * const props = defineProps<{ store: AgentStore }>()\n * const snapshot = useAgentStore(props.store)\n * // snapshot.value.messages, snapshot.value.streamingText, etc.\n * </script>\n * ```\n * @docLink packages/store/concepts#vue-composables\n */\nexport function useAgentStore(store: AgentStore): ShallowRef<AgentStoreSnapshot> {\n const snapshot = shallowRef(store.getSnapshot());\n\n const unsub = store.subscribe(() => {\n snapshot.value = store.getSnapshot();\n });\n\n onScopeDispose(unsub);\n\n return snapshot;\n}\n\n/**\n * Subscribe to a {@link ResourceClient} and return a reactive snapshot ref.\n *\n * Re-renders only when the agent emits a `resources_available` event (typically\n * once on connect). The subscription is cleaned up automatically when the owning\n * scope is disposed.\n *\n * @param client - The resource client to subscribe to.\n * @returns A `ShallowRef` whose `.value` is the current resource snapshot.\n *\n * @example\n * ```vue\n * <script setup>\n * import { useResourceClient } from '@skaile/workspace-bridge-vue'\n *\n * const props = defineProps<{ client: ResourceClient }>()\n * const resources = useResourceClient(props.client)\n * // resources.value.mounts, resources.value.connectors\n * </script>\n * ```\n * @docLink packages/store/concepts#vue-composables\n */\nexport function useResourceClient(client: ResourceClient): ShallowRef<ResourceClientSnapshot> {\n const snapshot = shallowRef(client.getSnapshot());\n\n const unsub = client.subscribe(() => {\n snapshot.value = client.getSnapshot();\n });\n\n onScopeDispose(unsub);\n\n return snapshot;\n}\n"]}
@@ -0,0 +1,15 @@
1
+ export { clearStoreTokens, getStoreConfig, isStoreAuthenticated, saveStoreTokens, storeFetch } from './chunk-LIK75OJ5.js';
2
+ import './chunk-YBJLYT4S.js';
3
+ import './chunk-2VKVWN5E.js';
4
+ import './chunk-5DQOZFWJ.js';
5
+ import './chunk-H5YXL4KI.js';
6
+ import './chunk-4AGIEU7V.js';
7
+ import './chunk-LFDZYCEO.js';
8
+ import './chunk-XGCXFX7X.js';
9
+ import './chunk-O4JH3KUE.js';
10
+ import './chunk-K5GBV4SA.js';
11
+ import './chunk-ZAP2BDHG.js';
12
+ import './chunk-JB35MVBN.js';
13
+ import './chunk-NSBPE2FW.js';
14
+ //# sourceMappingURL=store-client-LDYF4TK4.js.map
15
+ //# sourceMappingURL=store-client-LDYF4TK4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"store-client-BCP5LCAZ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"store-client-LDYF4TK4.js"}
@@ -1,4 +1,4 @@
1
- export { DEFAULT_TELEMETRY_CONFIG, NoopTelemetryProvider, getTelemetry, getTelemetryConfig, initTelemetry, resolveTelemetryConfig } from '../chunk-ZONCCO5N.js';
1
+ export { DEFAULT_TELEMETRY_CONFIG, NoopTelemetryProvider, getTelemetry, getTelemetryConfig, initTelemetry, resolveTelemetryConfig } from '../chunk-4R6DROGN.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../telemetry/src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOrE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAiB5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,iBAAiB,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,SAAS,CAEhE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../telemetry/src/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKrE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAiB5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,iBAAiB,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,SAAS,CAEhE"}
@@ -1,5 +1,5 @@
1
- export type { Attributes, AttributeValue, GenerationEvent, Span, SpanKind, SpanOptions, SpanResult, TelemetryCaptureConfig, TelemetryConfig, TelemetryProvider, Trace, TraceContext, TraceKind, TraceOptions, } from "./types.js";
1
+ export { DEFAULT_TELEMETRY_CONFIG, resolveTelemetryConfig } from "./config.js";
2
+ export { getTelemetry, getTelemetryConfig, initTelemetry } from "./context.js";
2
3
  export { NoopTelemetryProvider } from "./noop.js";
3
- export { resolveTelemetryConfig, DEFAULT_TELEMETRY_CONFIG } from "./config.js";
4
- export { initTelemetry, getTelemetry, getTelemetryConfig } from "./context.js";
4
+ export type { Attributes, AttributeValue, GenerationEvent, Span, SpanKind, SpanOptions, SpanResult, TelemetryCaptureConfig, TelemetryConfig, TelemetryProvider, Trace, TraceContext, TraceKind, TraceOptions, } from "./types.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../telemetry/src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../telemetry/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { GenerationEvent, Attributes } from "../types.js";
1
+ import type { Attributes, GenerationEvent } from "../types.js";
2
2
  /**
3
3
  * Build OTEL span attributes following the GenAI semantic conventions.
4
4
  * Langfuse auto-detects these as LLM generations.
@@ -1 +1 @@
1
- {"version":3,"file":"gen-ai.d.ts","sourceRoot":"","sources":["../../../../telemetry/src/otel/gen-ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,UAAU,CA2BrE"}
1
+ {"version":3,"file":"gen-ai.d.ts","sourceRoot":"","sources":["../../../../telemetry/src/otel/gen-ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,UAAU,CA2BrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../telemetry/src/otel/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,IAAI,EACJ,WAAW,EACX,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,YAAY,EACb,MAAM,aAAa,CAAC;AASrB;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD;;;OAGG;IACH,OAAO;IAKP,kFAAkF;WACrE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsB5E,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK;IAoBrC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAIpD,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IAmCxD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAqB9C,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI;IAK5D,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAS5D,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQhC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../telemetry/src/otel/provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,IAAI,EACJ,WAAW,EACX,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,YAAY,EACb,MAAM,aAAa,CAAC;AAIrB;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD;;;OAGG;IACH,OAAO;IAKP,kFAAkF;WACrE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsB5E,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK;IAoBrC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAIpD,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IAmCxD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAqB9C,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI;IAK5D,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAS5D,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQhC"}
@@ -1,2 +1,2 @@
1
- export { WebSocketClientTransport, type WebSocketClientOptions, WebSocketServerTransport, type WebSocketServerOptions, } from "./ws/index.js";
1
+ export { type WebSocketClientOptions, WebSocketClientTransport, type WebSocketServerOptions, WebSocketServerTransport, } from "./ws/index.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../transport/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,wBAAwB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../transport/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,wBAAwB,GACzB,MAAM,eAAe,CAAC"}
package/dist/tui/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { createAgentSession } from '../chunk-MLJKA3S6.js';
2
- import '../chunk-LD4QIVBY.js';
1
+ import { createAgentSession } from '../chunk-XOAF5QAE.js';
2
+ import '../chunk-5MJJYIL4.js';
3
3
  import '../chunk-X5YPJV4N.js';
4
4
  import '../chunk-O7SG5PC2.js';
5
5
  import '../chunk-7QBNJTTQ.js';
@@ -8,140 +8,38 @@ import '../chunk-WQ7DE5UC.js';
8
8
  import '../chunk-32NA4TVC.js';
9
9
  import '../chunk-W3UDISS2.js';
10
10
  import '../chunk-TDSRLMDB.js';
11
- import '../chunk-AKSR434V.js';
11
+ import '../chunk-5XAQDOMU.js';
12
12
  import '../chunk-RRVQAE5D.js';
13
13
  import '../chunk-BMQKMOQY.js';
14
- import '../chunk-PAYAFNXG.js';
15
- import '../chunk-ZEKWHJBB.js';
14
+ import '../chunk-NGJ6E344.js';
15
+ import '../chunk-IZIFMNTI.js';
16
16
  import '../chunk-LV2HPH3C.js';
17
- import '../chunk-OTFG5Q7H.js';
17
+ import '../chunk-FRRTUVUM.js';
18
18
  import '../chunk-OVRSNIKJ.js';
19
- import { loadConnectorDeclarations } from '../chunk-CMG3GJ6B.js';
20
- import '../chunk-QMONOHXT.js';
19
+ import { loadConnectorDeclarations } from '../chunk-DAI754GK.js';
20
+ import '../chunk-74UKG2LA.js';
21
21
  import '../chunk-6E6PKKAD.js';
22
- import '../chunk-W7W66MDZ.js';
22
+ import '../chunk-X46FY45B.js';
23
23
  import '../chunk-DEYYRFQU.js';
24
24
  import '../chunk-IFGTRL2I.js';
25
- import { resolveSettings } from '../chunk-M4KLIEIJ.js';
26
- import '../chunk-FWHOU3CX.js';
27
- import { resolveAgentDir } from '../chunk-3QQSSRYN.js';
28
- import '../chunk-IERB3UXJ.js';
29
- import '../chunk-2FS4FPZ7.js';
30
- import '../chunk-IEJ5IOC3.js';
31
- import '../chunk-JKNWJ64A.js';
25
+ import { resolveSettings } from '../chunk-YBJLYT4S.js';
26
+ import '../chunk-2VKVWN5E.js';
27
+ import { resolveAgentDir } from '../chunk-5DQOZFWJ.js';
28
+ import '../chunk-H5YXL4KI.js';
29
+ import '../chunk-4AGIEU7V.js';
30
+ import '../chunk-LFDZYCEO.js';
31
+ import '../chunk-XGCXFX7X.js';
32
32
  import '../chunk-O4JH3KUE.js';
33
33
  import '../chunk-K5GBV4SA.js';
34
34
  import '../chunk-ZAP2BDHG.js';
35
- import '../chunk-24UIWON4.js';
35
+ import '../chunk-JB35MVBN.js';
36
36
  import '../chunk-NSBPE2FW.js';
37
- import * as p from '@clack/prompts';
38
- import { resolve, join, basename, parse, dirname } from 'path';
39
37
  import { existsSync, readFileSync, statSync, readdirSync } from 'fs';
38
+ import { resolve, join, basename, parse, dirname } from 'path';
39
+ import * as p from '@clack/prompts';
40
40
  import pc from 'picocolors';
41
41
  import { randomUUID } from 'crypto';
42
42
 
43
- var TuiTelemetryProvider = class {
44
- onEvent;
45
- spans = /* @__PURE__ */ new Map();
46
- traces = /* @__PURE__ */ new Map();
47
- constructor(onEvent) {
48
- this.onEvent = onEvent;
49
- }
50
- startTrace(opts) {
51
- const traceId = randomUUID().replace(/-/g, "");
52
- const rootSpan = { spanId: randomUUID().slice(0, 16), traceId };
53
- this.traces.set(traceId, { name: opts.name, startTime: Date.now() });
54
- this.onEvent({ kind: "trace_start", traceId, name: opts.name, traceKind: opts.kind });
55
- return { traceId, rootSpan };
56
- }
57
- endTrace(trace, result) {
58
- const record = this.traces.get(trace.traceId);
59
- if (record) {
60
- const durationMs = Date.now() - record.startTime;
61
- this.onEvent({
62
- kind: "trace_end",
63
- traceId: trace.traceId,
64
- status: result?.status ?? "ok",
65
- durationMs
66
- });
67
- this.traces.delete(trace.traceId);
68
- }
69
- }
70
- startSpan(parent, opts) {
71
- const spanId = randomUUID().slice(0, 16);
72
- const traceId = parent.traceId;
73
- const span = { spanId, traceId };
74
- this.spans.set(spanId, {
75
- spanId,
76
- traceId,
77
- name: opts.name,
78
- spanKind: opts.kind,
79
- startTime: Date.now()
80
- });
81
- this.onEvent({ kind: "span_start", spanId, name: opts.name, spanKind: opts.kind });
82
- return span;
83
- }
84
- endSpan(span, result) {
85
- const record = this.spans.get(span.spanId);
86
- if (record) {
87
- const durationMs = Date.now() - record.startTime;
88
- this.onEvent({
89
- kind: "span_end",
90
- spanId: span.spanId,
91
- name: record.name,
92
- spanKind: record.spanKind,
93
- status: result?.status ?? "ok",
94
- durationMs
95
- });
96
- this.spans.delete(span.spanId);
97
- }
98
- }
99
- addEvent(_span, _name, _attrs) {
100
- }
101
- logGeneration(_span, generation) {
102
- this.onEvent({
103
- kind: "generation",
104
- model: generation.model,
105
- inputTokens: generation.inputTokens ?? 0,
106
- outputTokens: generation.outputTokens ?? 0,
107
- costUsd: generation.costUsd ?? 0,
108
- durationMs: generation.durationMs
109
- });
110
- }
111
- recordMetric(name, value, _tags) {
112
- this.onEvent({ kind: "metric", name, value });
113
- }
114
- async flush() {
115
- }
116
- async shutdown() {
117
- this.spans.clear();
118
- this.traces.clear();
119
- }
120
- };
121
- function formatTelemetryEntry(entry) {
122
- switch (entry.kind) {
123
- case "generation": {
124
- const tokens = `${entry.inputTokens}\u2191 ${entry.outputTokens}\u2193`;
125
- const cost = entry.costUsd > 0 ? ` $${entry.costUsd.toFixed(4)}` : "";
126
- const dur = entry.durationMs > 0 ? ` ${(entry.durationMs / 1e3).toFixed(1)}s` : "";
127
- return `[gen] ${entry.model} ${tokens}${cost}${dur}`;
128
- }
129
- case "span_end":
130
- if (entry.spanKind === "tool_call") {
131
- return `[tool] ${entry.name} ${entry.status} ${entry.durationMs}ms`;
132
- }
133
- if (entry.spanKind === "agent_turn") {
134
- return `[turn] ${entry.name} ${(entry.durationMs / 1e3).toFixed(1)}s`;
135
- }
136
- return null;
137
- case "trace_start":
138
- return `[trace] ${entry.name} started`;
139
- case "trace_end":
140
- return `[trace] done ${(entry.durationMs / 1e3).toFixed(1)}s`;
141
- default:
142
- return null;
143
- }
144
- }
145
43
  function renderLine(line) {
146
44
  switch (line.type) {
147
45
  case "user":
@@ -208,58 +106,67 @@ function createReplSession(opts) {
208
106
  state = s;
209
107
  onStateChange?.(s);
210
108
  }
109
+ function handleMessageUpdate(event, buffer) {
110
+ const delta = event._textDelta;
111
+ if (!delta) return buffer;
112
+ let next = buffer + delta;
113
+ const lines = next.split("\n");
114
+ if (lines.length > 1) {
115
+ for (let i = 0; i < lines.length - 1; i++) {
116
+ emit({ type: "text", content: lines[i] });
117
+ }
118
+ next = lines[lines.length - 1];
119
+ }
120
+ return next;
121
+ }
122
+ function handleToolCall(event) {
123
+ const name = event.tool?.name ?? event.name ?? "unknown";
124
+ emit({ type: "tool", name });
125
+ }
126
+ function handleError(event) {
127
+ const msg = event.error ?? "Unknown error";
128
+ emit({ type: "error", message: String(msg) });
129
+ if (event.fatal) setState("stopped");
130
+ }
131
+ function handleTurnBoundary(event, buffer) {
132
+ if (buffer.trim()) {
133
+ emit({ type: "text", content: buffer });
134
+ }
135
+ emit({ type: "separator" });
136
+ if (event.type === "agent_end") setState("idle");
137
+ return "";
138
+ }
139
+ function handleSubagent(event) {
140
+ const raw = event;
141
+ if (raw.type !== "subagent") return;
142
+ const status = raw.status === "finished" ? "finished" : "started";
143
+ emit({
144
+ type: "subagent",
145
+ name: raw.name ?? "subagent",
146
+ status,
147
+ description: raw.description ?? ""
148
+ });
149
+ }
211
150
  session.driver.on("agent-event", (event) => {
212
151
  switch (event.type) {
213
- case "message_update": {
214
- const delta = event._textDelta;
215
- if (delta) {
216
- textBuffer += delta;
217
- const lines = textBuffer.split("\n");
218
- if (lines.length > 1) {
219
- for (let i = 0; i < lines.length - 1; i++) {
220
- emit({ type: "text", content: lines[i] });
221
- }
222
- textBuffer = lines[lines.length - 1];
223
- }
224
- }
152
+ case "message_update":
153
+ textBuffer = handleMessageUpdate(event, textBuffer);
225
154
  break;
226
- }
227
- case "tool_call": {
228
- const name = event.tool?.name ?? event.name ?? "unknown";
229
- emit({ type: "tool", name });
155
+ case "tool_call":
156
+ handleToolCall(event);
230
157
  break;
231
- }
232
- case "error": {
233
- const msg = event.error ?? "Unknown error";
234
- emit({ type: "error", message: String(msg) });
235
- if (event.fatal) setState("stopped");
158
+ case "error":
159
+ handleError(event);
236
160
  break;
237
- }
238
161
  case "agent_end":
239
- case "turn_end": {
240
- if (textBuffer.trim()) {
241
- emit({ type: "text", content: textBuffer });
242
- }
243
- textBuffer = "";
244
- emit({ type: "separator" });
245
- if (event.type === "agent_end") setState("idle");
162
+ case "turn_end":
163
+ textBuffer = handleTurnBoundary(event, textBuffer);
246
164
  break;
247
- }
248
165
  case "session_info":
249
166
  break;
250
- default: {
251
- const raw = event;
252
- if (raw.type === "subagent") {
253
- const status = raw.status === "finished" ? "finished" : "started";
254
- emit({
255
- type: "subagent",
256
- name: raw.name ?? "subagent",
257
- status,
258
- description: raw.description ?? ""
259
- });
260
- }
167
+ default:
168
+ handleSubagent(event);
261
169
  break;
262
- }
263
170
  }
264
171
  });
265
172
  return {
@@ -288,6 +195,108 @@ function createTelemetrySink(onLog) {
288
195
  if (text2) onLog(text2);
289
196
  };
290
197
  }
198
+ var TuiTelemetryProvider = class {
199
+ onEvent;
200
+ spans = /* @__PURE__ */ new Map();
201
+ traces = /* @__PURE__ */ new Map();
202
+ constructor(onEvent) {
203
+ this.onEvent = onEvent;
204
+ }
205
+ startTrace(opts) {
206
+ const traceId = randomUUID().replace(/-/g, "");
207
+ const rootSpan = { spanId: randomUUID().slice(0, 16), traceId };
208
+ this.traces.set(traceId, { name: opts.name, startTime: Date.now() });
209
+ this.onEvent({ kind: "trace_start", traceId, name: opts.name, traceKind: opts.kind });
210
+ return { traceId, rootSpan };
211
+ }
212
+ endTrace(trace, result) {
213
+ const record = this.traces.get(trace.traceId);
214
+ if (record) {
215
+ const durationMs = Date.now() - record.startTime;
216
+ this.onEvent({
217
+ kind: "trace_end",
218
+ traceId: trace.traceId,
219
+ status: result?.status ?? "ok",
220
+ durationMs
221
+ });
222
+ this.traces.delete(trace.traceId);
223
+ }
224
+ }
225
+ startSpan(parent, opts) {
226
+ const spanId = randomUUID().slice(0, 16);
227
+ const traceId = parent.traceId;
228
+ const span = { spanId, traceId };
229
+ this.spans.set(spanId, {
230
+ spanId,
231
+ traceId,
232
+ name: opts.name,
233
+ spanKind: opts.kind,
234
+ startTime: Date.now()
235
+ });
236
+ this.onEvent({ kind: "span_start", spanId, name: opts.name, spanKind: opts.kind });
237
+ return span;
238
+ }
239
+ endSpan(span, result) {
240
+ const record = this.spans.get(span.spanId);
241
+ if (record) {
242
+ const durationMs = Date.now() - record.startTime;
243
+ this.onEvent({
244
+ kind: "span_end",
245
+ spanId: span.spanId,
246
+ name: record.name,
247
+ spanKind: record.spanKind,
248
+ status: result?.status ?? "ok",
249
+ durationMs
250
+ });
251
+ this.spans.delete(span.spanId);
252
+ }
253
+ }
254
+ addEvent(_span, _name, _attrs) {
255
+ }
256
+ logGeneration(_span, generation) {
257
+ this.onEvent({
258
+ kind: "generation",
259
+ model: generation.model,
260
+ inputTokens: generation.inputTokens ?? 0,
261
+ outputTokens: generation.outputTokens ?? 0,
262
+ costUsd: generation.costUsd ?? 0,
263
+ durationMs: generation.durationMs
264
+ });
265
+ }
266
+ recordMetric(name, value, _tags) {
267
+ this.onEvent({ kind: "metric", name, value });
268
+ }
269
+ async flush() {
270
+ }
271
+ async shutdown() {
272
+ this.spans.clear();
273
+ this.traces.clear();
274
+ }
275
+ };
276
+ function formatTelemetryEntry(entry) {
277
+ switch (entry.kind) {
278
+ case "generation": {
279
+ const tokens = `${entry.inputTokens}\u2191 ${entry.outputTokens}\u2193`;
280
+ const cost = entry.costUsd > 0 ? ` $${entry.costUsd.toFixed(4)}` : "";
281
+ const dur = entry.durationMs > 0 ? ` ${(entry.durationMs / 1e3).toFixed(1)}s` : "";
282
+ return `[gen] ${entry.model} ${tokens}${cost}${dur}`;
283
+ }
284
+ case "span_end":
285
+ if (entry.spanKind === "tool_call") {
286
+ return `[tool] ${entry.name} ${entry.status} ${entry.durationMs}ms`;
287
+ }
288
+ if (entry.spanKind === "agent_turn") {
289
+ return `[turn] ${entry.name} ${(entry.durationMs / 1e3).toFixed(1)}s`;
290
+ }
291
+ return null;
292
+ case "trace_start":
293
+ return `[trace] ${entry.name} started`;
294
+ case "trace_end":
295
+ return `[trace] done ${(entry.durationMs / 1e3).toFixed(1)}s`;
296
+ default:
297
+ return null;
298
+ }
299
+ }
291
300
 
292
301
  // tui/src/repl.ts
293
302
  function findAiAssetsRoot(startDir) {
@@ -327,36 +336,80 @@ function countSkills(projectDir) {
327
336
  walk(aiAssetsRoot);
328
337
  return count;
329
338
  }
330
- async function startRepl(opts) {
331
- const projectDir = resolve(opts.projectDir);
332
- const agentCwd = opts.cwd ? resolve(opts.cwd) : projectDir;
333
- const settings = await resolveSettings(projectDir, { driver: opts.driver });
334
- const resolvedDriver = settings.driver ?? "omp";
335
- let ompCleanup;
336
- if (resolvedDriver === "omp") {
337
- const fsAsync = await import('fs/promises');
338
- const pathMod = await import('path');
339
- const { WorkspacePlugin } = await import('../workspace-plugin/index.js');
340
- const plugin = new WorkspacePlugin({ projectDir });
341
- const src = await plugin.buildOmpExtensionSource();
342
- const extPath = pathMod.default.join(agentCwd, ".omp", "extensions", "skaile.ts");
343
- await fsAsync.default.mkdir(pathMod.default.dirname(extPath), { recursive: true });
344
- await fsAsync.default.writeFile(extPath, src);
345
- ompCleanup = () => {
346
- fsAsync.default.unlink(extPath).catch(() => {
347
- });
348
- };
349
- }
350
- const SESSION_FILE = join(projectDir, ".skaile", "last_session");
339
+ async function injectOmpExtension(resolvedDriver, projectDir, agentCwd) {
340
+ if (resolvedDriver !== "omp") return void 0;
341
+ const fsAsync = await import('fs/promises');
342
+ const pathMod = await import('path');
343
+ const { WorkspacePlugin } = await import('../workspace-plugin/index.js');
344
+ const plugin = new WorkspacePlugin({ projectDir });
345
+ const src = await plugin.buildOmpExtensionSource();
346
+ const extPath = pathMod.default.join(agentCwd, ".omp", "extensions", "skaile.ts");
347
+ await fsAsync.default.mkdir(pathMod.default.dirname(extPath), { recursive: true });
348
+ await fsAsync.default.writeFile(extPath, src);
349
+ return () => {
350
+ fsAsync.default.unlink(extPath).catch(() => {
351
+ });
352
+ };
353
+ }
354
+ function resolveResumeSessionId(projectDir, opts) {
351
355
  let resumeSessionId = opts.resumeSessionId;
352
356
  if (!resumeSessionId && opts.resume) {
357
+ const sessionFile = join(projectDir, ".skaile", "last_session");
353
358
  try {
354
- if (existsSync(SESSION_FILE)) {
355
- resumeSessionId = readFileSync(SESSION_FILE, "utf-8").trim() || void 0;
359
+ if (existsSync(sessionFile)) {
360
+ resumeSessionId = readFileSync(sessionFile, "utf-8").trim() || void 0;
356
361
  }
357
362
  } catch {
358
363
  }
359
364
  }
365
+ return resumeSessionId;
366
+ }
367
+ function printBanner(args) {
368
+ const { projectDir, displayDriver, displayModel, agentDir, resumeSessionId } = args;
369
+ const skillCount = countSkills(projectDir);
370
+ let connectorCount = 0;
371
+ try {
372
+ connectorCount = loadConnectorDeclarations(projectDir).length;
373
+ } catch {
374
+ }
375
+ const agentName = agentDir ? basename(agentDir) : "(none)";
376
+ p.intro(`${pc.bold("skaile repl")} ${pc.dim(`\u2014 ${displayDriver} / ${displayModel}`)}`);
377
+ p.log.info(pc.dim(`Project: ${projectDir}`));
378
+ p.log.info(pc.dim(`Agent: ${agentName} \xB7 ${skillCount} skills \xB7 ${connectorCount} connectors`));
379
+ if (resumeSessionId) p.log.info(pc.dim(`Resumed: ${resumeSessionId.slice(0, 12)}...`));
380
+ p.log.info(pc.dim("Type /help for commands, Ctrl+C to quit."));
381
+ }
382
+ function handleReplInput(trimmed, showLog, setShowLog) {
383
+ if (!trimmed) return "continue";
384
+ if (trimmed === "/quit" || trimmed === "/q") {
385
+ return "quit";
386
+ }
387
+ if (trimmed === "/help" || trimmed === "/h" || trimmed === "/?") {
388
+ p.log.info(
389
+ [
390
+ " /help, /h \u2014 this help",
391
+ " /log \u2014 toggle verbose log output",
392
+ " /quit, /q \u2014 exit",
393
+ " Ctrl+C \u2014 exit"
394
+ ].join("\n")
395
+ );
396
+ return "continue";
397
+ }
398
+ if (trimmed === "/log") {
399
+ const next = !showLog;
400
+ setShowLog(next);
401
+ p.log.info(`Log output: ${next ? "on" : "off"}`);
402
+ return "continue";
403
+ }
404
+ return "send";
405
+ }
406
+ async function startRepl(opts) {
407
+ const projectDir = resolve(opts.projectDir);
408
+ const agentCwd = opts.cwd ? resolve(opts.cwd) : projectDir;
409
+ const settings = await resolveSettings(projectDir, { driver: opts.driver });
410
+ const resolvedDriver = settings.driver ?? "omp";
411
+ const ompCleanup = await injectOmpExtension(resolvedDriver, projectDir, agentCwd);
412
+ const resumeSessionId = resolveResumeSessionId(projectDir, opts);
360
413
  const telemetryBuffer = [];
361
414
  const telemetry = new TuiTelemetryProvider((entry) => {
362
415
  telemetryBuffer.push(entry);
@@ -397,20 +450,13 @@ async function startRepl(opts) {
397
450
  const sink = createTelemetrySink(writeLog);
398
451
  for (const entry of telemetryBuffer) sink(entry);
399
452
  telemetryBuffer.length = 0;
400
- const displayModel = session.model ?? opts.model ?? "default";
401
- const displayDriver = session.driverType ?? resolvedDriver;
402
- const skillCount = countSkills(projectDir);
403
- let connectorCount = 0;
404
- try {
405
- connectorCount = loadConnectorDeclarations(projectDir).length;
406
- } catch {
407
- }
408
- const agentName = agentDir ? basename(agentDir) : "(none)";
409
- p.intro(`${pc.bold("skaile repl")} ${pc.dim(`\u2014 ${displayDriver} / ${displayModel}`)}`);
410
- p.log.info(pc.dim(`Project: ${projectDir}`));
411
- p.log.info(pc.dim(`Agent: ${agentName} \xB7 ${skillCount} skills \xB7 ${connectorCount} connectors`));
412
- if (resumeSessionId) p.log.info(pc.dim(`Resumed: ${resumeSessionId.slice(0, 12)}...`));
413
- p.log.info(pc.dim("Type /help for commands, Ctrl+C to quit."));
453
+ printBanner({
454
+ projectDir,
455
+ displayDriver: session.driverType ?? resolvedDriver,
456
+ displayModel: session.model ?? opts.model ?? "default",
457
+ agentDir,
458
+ resumeSessionId
459
+ });
414
460
  function shutdown() {
415
461
  replSession.stop();
416
462
  telemetry.endTrace(trace, { status: "ok" });
@@ -431,27 +477,14 @@ async function startRepl(opts) {
431
477
  return;
432
478
  }
433
479
  const trimmed = input.trim();
434
- if (!trimmed) continue;
435
- if (trimmed === "/quit" || trimmed === "/q") {
480
+ const action = handleReplInput(trimmed, showLog, (v) => {
481
+ showLog = v;
482
+ });
483
+ if (action === "quit") {
436
484
  shutdown();
437
485
  return;
438
486
  }
439
- if (trimmed === "/help" || trimmed === "/h" || trimmed === "/?") {
440
- p.log.info(
441
- [
442
- " /help, /h \u2014 this help",
443
- " /log \u2014 toggle verbose log output",
444
- " /quit, /q \u2014 exit",
445
- " Ctrl+C \u2014 exit"
446
- ].join("\n")
447
- );
448
- continue;
449
- }
450
- if (trimmed === "/log") {
451
- showLog = !showLog;
452
- p.log.info(`Log output: ${showLog ? "on" : "off"}`);
453
- continue;
454
- }
487
+ if (action === "continue") continue;
455
488
  const idlePromise = new Promise((resolve2) => {
456
489
  idleResolve = resolve2;
457
490
  });