@syrin/cli 1.3.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 (438) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +302 -0
  3. package/dist/cli/commands/analyse.d.ts +16 -0
  4. package/dist/cli/commands/analyse.js +61 -0
  5. package/dist/cli/commands/dev.d.ts +23 -0
  6. package/dist/cli/commands/dev.js +419 -0
  7. package/dist/cli/commands/doctor.d.ts +10 -0
  8. package/dist/cli/commands/doctor.js +195 -0
  9. package/dist/cli/commands/index.d.ts +12 -0
  10. package/dist/cli/commands/index.js +12 -0
  11. package/dist/cli/commands/init.d.ts +16 -0
  12. package/dist/cli/commands/init.js +90 -0
  13. package/dist/cli/commands/list.d.ts +15 -0
  14. package/dist/cli/commands/list.js +50 -0
  15. package/dist/cli/commands/rollback.d.ts +12 -0
  16. package/dist/cli/commands/rollback.js +101 -0
  17. package/dist/cli/commands/test.d.ts +31 -0
  18. package/dist/cli/commands/test.js +88 -0
  19. package/dist/cli/commands/update.d.ts +9 -0
  20. package/dist/cli/commands/update.js +76 -0
  21. package/dist/cli/index.d.ts +13 -0
  22. package/dist/cli/index.js +342 -0
  23. package/dist/cli/prompts/index.d.ts +5 -0
  24. package/dist/cli/prompts/index.js +5 -0
  25. package/dist/cli/prompts/init-prompt.d.ts +17 -0
  26. package/dist/cli/prompts/init-prompt.js +263 -0
  27. package/dist/cli/utils/command-error-handler.d.ts +14 -0
  28. package/dist/cli/utils/command-error-handler.js +35 -0
  29. package/dist/cli/utils/common-types.d.ts +24 -0
  30. package/dist/cli/utils/common-types.js +6 -0
  31. package/dist/cli/utils/connection-handler.d.ts +37 -0
  32. package/dist/cli/utils/connection-handler.js +90 -0
  33. package/dist/cli/utils/index.d.ts +11 -0
  34. package/dist/cli/utils/index.js +11 -0
  35. package/dist/cli/utils/option-parsers.d.ts +41 -0
  36. package/dist/cli/utils/option-parsers.js +92 -0
  37. package/dist/cli/utils/output-utils.d.ts +12 -0
  38. package/dist/cli/utils/output-utils.js +21 -0
  39. package/dist/cli/utils/transport-resolver.d.ts +33 -0
  40. package/dist/cli/utils/transport-resolver.js +82 -0
  41. package/dist/cli/utils/version-banner.d.ts +10 -0
  42. package/dist/cli/utils/version-banner.js +26 -0
  43. package/dist/config/env-checker.d.ts +37 -0
  44. package/dist/config/env-checker.js +136 -0
  45. package/dist/config/generator.d.ts +19 -0
  46. package/dist/config/generator.js +196 -0
  47. package/dist/config/index.d.ts +9 -0
  48. package/dist/config/index.js +9 -0
  49. package/dist/config/loader.d.ts +19 -0
  50. package/dist/config/loader.js +57 -0
  51. package/dist/config/schema.d.ts +42 -0
  52. package/dist/config/schema.js +181 -0
  53. package/dist/config/syrin.template.yaml +127 -0
  54. package/dist/config/types.d.ts +87 -0
  55. package/dist/config/types.js +6 -0
  56. package/dist/constants/app.d.ts +9 -0
  57. package/dist/constants/app.js +9 -0
  58. package/dist/constants/commands.d.ts +43 -0
  59. package/dist/constants/commands.js +43 -0
  60. package/dist/constants/defaults.d.ts +18 -0
  61. package/dist/constants/defaults.js +18 -0
  62. package/dist/constants/env-vars.d.ts +11 -0
  63. package/dist/constants/env-vars.js +11 -0
  64. package/dist/constants/icons.d.ts +23 -0
  65. package/dist/constants/icons.js +23 -0
  66. package/dist/constants/index.d.ts +17 -0
  67. package/dist/constants/index.js +17 -0
  68. package/dist/constants/labels.d.ts +38 -0
  69. package/dist/constants/labels.js +42 -0
  70. package/dist/constants/links.d.ts +10 -0
  71. package/dist/constants/links.js +11 -0
  72. package/dist/constants/list.d.ts +10 -0
  73. package/dist/constants/list.js +9 -0
  74. package/dist/constants/llm.d.ts +26 -0
  75. package/dist/constants/llm.js +25 -0
  76. package/dist/constants/messages.d.ts +107 -0
  77. package/dist/constants/messages.js +138 -0
  78. package/dist/constants/paths.d.ts +29 -0
  79. package/dist/constants/paths.js +29 -0
  80. package/dist/constants/transport.d.ts +9 -0
  81. package/dist/constants/transport.js +8 -0
  82. package/dist/events/emitter.d.ts +64 -0
  83. package/dist/events/emitter.js +142 -0
  84. package/dist/events/event-type.d.ts +66 -0
  85. package/dist/events/event-type.js +81 -0
  86. package/dist/events/payloads/diagnostics.d.ts +24 -0
  87. package/dist/events/payloads/diagnostics.js +5 -0
  88. package/dist/events/payloads/index.d.ts +15 -0
  89. package/dist/events/payloads/index.js +6 -0
  90. package/dist/events/payloads/llm.d.ts +58 -0
  91. package/dist/events/payloads/llm.js +6 -0
  92. package/dist/events/payloads/registry.d.ts +28 -0
  93. package/dist/events/payloads/registry.js +5 -0
  94. package/dist/events/payloads/session.d.ts +32 -0
  95. package/dist/events/payloads/session.js +5 -0
  96. package/dist/events/payloads/testing.d.ts +17 -0
  97. package/dist/events/payloads/testing.js +5 -0
  98. package/dist/events/payloads/tool.d.ts +29 -0
  99. package/dist/events/payloads/tool.js +5 -0
  100. package/dist/events/payloads/transport.d.ts +30 -0
  101. package/dist/events/payloads/transport.js +5 -0
  102. package/dist/events/payloads/validation.d.ts +37 -0
  103. package/dist/events/payloads/validation.js +5 -0
  104. package/dist/events/payloads/workflow.d.ts +45 -0
  105. package/dist/events/payloads/workflow.js +5 -0
  106. package/dist/events/store/file-store.d.ts +37 -0
  107. package/dist/events/store/file-store.js +113 -0
  108. package/dist/events/store/index.d.ts +7 -0
  109. package/dist/events/store/index.js +6 -0
  110. package/dist/events/store/memory-store.d.ts +26 -0
  111. package/dist/events/store/memory-store.js +39 -0
  112. package/dist/events/store.d.ts +11 -0
  113. package/dist/events/store.js +2 -0
  114. package/dist/events/types.d.ts +14 -0
  115. package/dist/events/types.js +2 -0
  116. package/dist/index.d.ts +8 -0
  117. package/dist/index.js +30 -0
  118. package/dist/presentation/analysis-ui.d.ts +24 -0
  119. package/dist/presentation/analysis-ui.js +158 -0
  120. package/dist/presentation/dev/chat-ui-types.d.ts +68 -0
  121. package/dist/presentation/dev/chat-ui-types.js +5 -0
  122. package/dist/presentation/dev/chat-ui.d.ts +61 -0
  123. package/dist/presentation/dev/chat-ui.js +714 -0
  124. package/dist/presentation/dev/components/assistant-message.d.ts +19 -0
  125. package/dist/presentation/dev/components/assistant-message.js +36 -0
  126. package/dist/presentation/dev/components/header.d.ts +16 -0
  127. package/dist/presentation/dev/components/header.js +22 -0
  128. package/dist/presentation/dev/components/index.d.ts +13 -0
  129. package/dist/presentation/dev/components/index.js +13 -0
  130. package/dist/presentation/dev/components/input-panel.d.ts +22 -0
  131. package/dist/presentation/dev/components/input-panel.js +43 -0
  132. package/dist/presentation/dev/components/message-component.d.ts +16 -0
  133. package/dist/presentation/dev/components/message-component.js +51 -0
  134. package/dist/presentation/dev/components/messages-list.d.ts +24 -0
  135. package/dist/presentation/dev/components/messages-list.js +48 -0
  136. package/dist/presentation/dev/components/system-message.d.ts +16 -0
  137. package/dist/presentation/dev/components/system-message.js +26 -0
  138. package/dist/presentation/dev/components/user-message.d.ts +21 -0
  139. package/dist/presentation/dev/components/user-message.js +35 -0
  140. package/dist/presentation/dev/components/welcome-banner.d.ts +24 -0
  141. package/dist/presentation/dev/components/welcome-banner.js +146 -0
  142. package/dist/presentation/dev/goodbye-messages.d.ts +31 -0
  143. package/dist/presentation/dev/goodbye-messages.js +100 -0
  144. package/dist/presentation/dev/index.d.ts +5 -0
  145. package/dist/presentation/dev/index.js +5 -0
  146. package/dist/presentation/dev/text-wrapper.d.ts +30 -0
  147. package/dist/presentation/dev/text-wrapper.js +74 -0
  148. package/dist/presentation/dev-ui.d.ts +33 -0
  149. package/dist/presentation/dev-ui.js +246 -0
  150. package/dist/presentation/doctor-ui.d.ts +40 -0
  151. package/dist/presentation/doctor-ui.js +157 -0
  152. package/dist/presentation/init-ui.d.ts +14 -0
  153. package/dist/presentation/init-ui.js +41 -0
  154. package/dist/presentation/list-ui.d.ts +44 -0
  155. package/dist/presentation/list-ui.js +139 -0
  156. package/dist/presentation/test-ui.d.ts +49 -0
  157. package/dist/presentation/test-ui.js +358 -0
  158. package/dist/runtime/analysis/analyser.d.ts +14 -0
  159. package/dist/runtime/analysis/analyser.js +88 -0
  160. package/dist/runtime/analysis/dependencies.d.ts +10 -0
  161. package/dist/runtime/analysis/dependencies.js +140 -0
  162. package/dist/runtime/analysis/index.d.ts +10 -0
  163. package/dist/runtime/analysis/index.js +10 -0
  164. package/dist/runtime/analysis/indexer.d.ts +10 -0
  165. package/dist/runtime/analysis/indexer.js +62 -0
  166. package/dist/runtime/analysis/loader.d.ts +15 -0
  167. package/dist/runtime/analysis/loader.js +47 -0
  168. package/dist/runtime/analysis/normalizer.d.ts +14 -0
  169. package/dist/runtime/analysis/normalizer.js +184 -0
  170. package/dist/runtime/analysis/rules/__test-helpers__.d.ts +18 -0
  171. package/dist/runtime/analysis/rules/__test-helpers__.js +40 -0
  172. package/dist/runtime/analysis/rules/base.d.ts +38 -0
  173. package/dist/runtime/analysis/rules/base.js +23 -0
  174. package/dist/runtime/analysis/rules/error-codes.d.ts +64 -0
  175. package/dist/runtime/analysis/rules/error-codes.js +73 -0
  176. package/dist/runtime/analysis/rules/errors/e000-tool-not-found.d.ts +35 -0
  177. package/dist/runtime/analysis/rules/errors/e000-tool-not-found.js +32 -0
  178. package/dist/runtime/analysis/rules/errors/e001-missing-output-schema.d.ts +22 -0
  179. package/dist/runtime/analysis/rules/errors/e001-missing-output-schema.js +30 -0
  180. package/dist/runtime/analysis/rules/errors/e002-underspecified-input.d.ts +24 -0
  181. package/dist/runtime/analysis/rules/errors/e002-underspecified-input.js +52 -0
  182. package/dist/runtime/analysis/rules/errors/e003-type-mismatch.d.ts +23 -0
  183. package/dist/runtime/analysis/rules/errors/e003-type-mismatch.js +73 -0
  184. package/dist/runtime/analysis/rules/errors/e004-free-text-propagation.d.ts +23 -0
  185. package/dist/runtime/analysis/rules/errors/e004-free-text-propagation.js +47 -0
  186. package/dist/runtime/analysis/rules/errors/e005-tool-ambiguity.d.ts +25 -0
  187. package/dist/runtime/analysis/rules/errors/e005-tool-ambiguity.js +73 -0
  188. package/dist/runtime/analysis/rules/errors/e006-param-not-in-description.d.ts +22 -0
  189. package/dist/runtime/analysis/rules/errors/e006-param-not-in-description.js +57 -0
  190. package/dist/runtime/analysis/rules/errors/e007-output-not-guaranteed.d.ts +23 -0
  191. package/dist/runtime/analysis/rules/errors/e007-output-not-guaranteed.js +56 -0
  192. package/dist/runtime/analysis/rules/errors/e008-circular-dependency.d.ts +22 -0
  193. package/dist/runtime/analysis/rules/errors/e008-circular-dependency.js +84 -0
  194. package/dist/runtime/analysis/rules/errors/e009-implicit-user-input.d.ts +23 -0
  195. package/dist/runtime/analysis/rules/errors/e009-implicit-user-input.js +89 -0
  196. package/dist/runtime/analysis/rules/errors/e010-non-serializable.d.ts +25 -0
  197. package/dist/runtime/analysis/rules/errors/e010-non-serializable.js +46 -0
  198. package/dist/runtime/analysis/rules/errors/e011-missing-tool-description.d.ts +24 -0
  199. package/dist/runtime/analysis/rules/errors/e011-missing-tool-description.js +33 -0
  200. package/dist/runtime/analysis/rules/errors/e012-side-effect-detected.d.ts +39 -0
  201. package/dist/runtime/analysis/rules/errors/e012-side-effect-detected.js +40 -0
  202. package/dist/runtime/analysis/rules/errors/e013-non-deterministic-output.d.ts +37 -0
  203. package/dist/runtime/analysis/rules/errors/e013-non-deterministic-output.js +34 -0
  204. package/dist/runtime/analysis/rules/errors/e013-output-explosion.d.ts +39 -0
  205. package/dist/runtime/analysis/rules/errors/e013-output-explosion.js +36 -0
  206. package/dist/runtime/analysis/rules/errors/e014-hidden-dependency.d.ts +42 -0
  207. package/dist/runtime/analysis/rules/errors/e014-hidden-dependency.js +46 -0
  208. package/dist/runtime/analysis/rules/errors/e014-output-explosion.d.ts +39 -0
  209. package/dist/runtime/analysis/rules/errors/e014-output-explosion.js +36 -0
  210. package/dist/runtime/analysis/rules/errors/e015-hidden-dependency.d.ts +42 -0
  211. package/dist/runtime/analysis/rules/errors/e015-hidden-dependency.js +46 -0
  212. package/dist/runtime/analysis/rules/errors/e015-unbounded-execution.d.ts +44 -0
  213. package/dist/runtime/analysis/rules/errors/e015-unbounded-execution.js +66 -0
  214. package/dist/runtime/analysis/rules/errors/e016-output-validation-failed.d.ts +43 -0
  215. package/dist/runtime/analysis/rules/errors/e016-output-validation-failed.js +42 -0
  216. package/dist/runtime/analysis/rules/errors/e016-unbounded-execution.d.ts +44 -0
  217. package/dist/runtime/analysis/rules/errors/e016-unbounded-execution.js +66 -0
  218. package/dist/runtime/analysis/rules/errors/e017-input-validation-failed.d.ts +57 -0
  219. package/dist/runtime/analysis/rules/errors/e017-input-validation-failed.js +80 -0
  220. package/dist/runtime/analysis/rules/errors/e017-output-validation-failed.d.ts +43 -0
  221. package/dist/runtime/analysis/rules/errors/e017-output-validation-failed.js +42 -0
  222. package/dist/runtime/analysis/rules/errors/e018-input-validation-failed.d.ts +57 -0
  223. package/dist/runtime/analysis/rules/errors/e018-input-validation-failed.js +80 -0
  224. package/dist/runtime/analysis/rules/errors/e018-tool-execution-failed.d.ts +38 -0
  225. package/dist/runtime/analysis/rules/errors/e018-tool-execution-failed.js +37 -0
  226. package/dist/runtime/analysis/rules/errors/e019-tool-execution-failed.d.ts +38 -0
  227. package/dist/runtime/analysis/rules/errors/e019-tool-execution-failed.js +37 -0
  228. package/dist/runtime/analysis/rules/errors/e019-unexpected-test-result.d.ts +65 -0
  229. package/dist/runtime/analysis/rules/errors/e019-unexpected-test-result.js +109 -0
  230. package/dist/runtime/analysis/rules/errors/e020-unexpected-test-result.d.ts +65 -0
  231. package/dist/runtime/analysis/rules/errors/e020-unexpected-test-result.js +109 -0
  232. package/dist/runtime/analysis/rules/errors/e100-missing-output-schema.d.ts +22 -0
  233. package/dist/runtime/analysis/rules/errors/e100-missing-output-schema.js +30 -0
  234. package/dist/runtime/analysis/rules/errors/e101-missing-tool-description.d.ts +24 -0
  235. package/dist/runtime/analysis/rules/errors/e101-missing-tool-description.js +33 -0
  236. package/dist/runtime/analysis/rules/errors/e102-underspecified-input.d.ts +24 -0
  237. package/dist/runtime/analysis/rules/errors/e102-underspecified-input.js +52 -0
  238. package/dist/runtime/analysis/rules/errors/e103-type-mismatch.d.ts +23 -0
  239. package/dist/runtime/analysis/rules/errors/e103-type-mismatch.js +72 -0
  240. package/dist/runtime/analysis/rules/errors/e104-param-not-in-description.d.ts +22 -0
  241. package/dist/runtime/analysis/rules/errors/e104-param-not-in-description.js +57 -0
  242. package/dist/runtime/analysis/rules/errors/e105-free-text-propagation.d.ts +23 -0
  243. package/dist/runtime/analysis/rules/errors/e105-free-text-propagation.js +47 -0
  244. package/dist/runtime/analysis/rules/errors/e106-output-not-guaranteed.d.ts +23 -0
  245. package/dist/runtime/analysis/rules/errors/e106-output-not-guaranteed.js +58 -0
  246. package/dist/runtime/analysis/rules/errors/e107-circular-dependency.d.ts +22 -0
  247. package/dist/runtime/analysis/rules/errors/e107-circular-dependency.js +84 -0
  248. package/dist/runtime/analysis/rules/errors/e108-implicit-user-input.d.ts +23 -0
  249. package/dist/runtime/analysis/rules/errors/e108-implicit-user-input.js +94 -0
  250. package/dist/runtime/analysis/rules/errors/e109-non-serializable.d.ts +25 -0
  251. package/dist/runtime/analysis/rules/errors/e109-non-serializable.js +44 -0
  252. package/dist/runtime/analysis/rules/errors/e110-tool-ambiguity.d.ts +25 -0
  253. package/dist/runtime/analysis/rules/errors/e110-tool-ambiguity.js +73 -0
  254. package/dist/runtime/analysis/rules/errors/e200-input-validation-failed.d.ts +57 -0
  255. package/dist/runtime/analysis/rules/errors/e200-input-validation-failed.js +71 -0
  256. package/dist/runtime/analysis/rules/errors/e300-output-validation-failed.d.ts +43 -0
  257. package/dist/runtime/analysis/rules/errors/e300-output-validation-failed.js +44 -0
  258. package/dist/runtime/analysis/rules/errors/e301-output-explosion.d.ts +39 -0
  259. package/dist/runtime/analysis/rules/errors/e301-output-explosion.js +36 -0
  260. package/dist/runtime/analysis/rules/errors/e400-tool-execution-failed.d.ts +38 -0
  261. package/dist/runtime/analysis/rules/errors/e400-tool-execution-failed.js +37 -0
  262. package/dist/runtime/analysis/rules/errors/e403-unbounded-execution.d.ts +44 -0
  263. package/dist/runtime/analysis/rules/errors/e403-unbounded-execution.js +66 -0
  264. package/dist/runtime/analysis/rules/errors/e500-side-effect-detected.d.ts +39 -0
  265. package/dist/runtime/analysis/rules/errors/e500-side-effect-detected.js +40 -0
  266. package/dist/runtime/analysis/rules/errors/e501-hidden-dependency.d.ts +47 -0
  267. package/dist/runtime/analysis/rules/errors/e501-hidden-dependency.js +46 -0
  268. package/dist/runtime/analysis/rules/errors/e600-unexpected-test-result.d.ts +65 -0
  269. package/dist/runtime/analysis/rules/errors/e600-unexpected-test-result.js +109 -0
  270. package/dist/runtime/analysis/rules/index.d.ts +18 -0
  271. package/dist/runtime/analysis/rules/index.js +94 -0
  272. package/dist/runtime/analysis/rules/warnings/w001-implicit-dependency.d.ts +22 -0
  273. package/dist/runtime/analysis/rules/warnings/w001-implicit-dependency.js +39 -0
  274. package/dist/runtime/analysis/rules/warnings/w002-free-text-without-normalization.d.ts +24 -0
  275. package/dist/runtime/analysis/rules/warnings/w002-free-text-without-normalization.js +40 -0
  276. package/dist/runtime/analysis/rules/warnings/w003-missing-examples.d.ts +22 -0
  277. package/dist/runtime/analysis/rules/warnings/w003-missing-examples.js +84 -0
  278. package/dist/runtime/analysis/rules/warnings/w004-overloaded-responsibility.d.ts +23 -0
  279. package/dist/runtime/analysis/rules/warnings/w004-overloaded-responsibility.js +96 -0
  280. package/dist/runtime/analysis/rules/warnings/w005-generic-description.d.ts +53 -0
  281. package/dist/runtime/analysis/rules/warnings/w005-generic-description.js +108 -0
  282. package/dist/runtime/analysis/rules/warnings/w006-optional-as-required.d.ts +22 -0
  283. package/dist/runtime/analysis/rules/warnings/w006-optional-as-required.js +44 -0
  284. package/dist/runtime/analysis/rules/warnings/w007-broad-output-schema.d.ts +23 -0
  285. package/dist/runtime/analysis/rules/warnings/w007-broad-output-schema.js +37 -0
  286. package/dist/runtime/analysis/rules/warnings/w008-multiple-entry-points.d.ts +22 -0
  287. package/dist/runtime/analysis/rules/warnings/w008-multiple-entry-points.js +97 -0
  288. package/dist/runtime/analysis/rules/warnings/w009-hidden-side-effects.d.ts +23 -0
  289. package/dist/runtime/analysis/rules/warnings/w009-hidden-side-effects.js +88 -0
  290. package/dist/runtime/analysis/rules/warnings/w010-output-not-reusable.d.ts +22 -0
  291. package/dist/runtime/analysis/rules/warnings/w010-output-not-reusable.js +81 -0
  292. package/dist/runtime/analysis/rules/warnings/w021-weak-schema.d.ts +40 -0
  293. package/dist/runtime/analysis/rules/warnings/w021-weak-schema.js +32 -0
  294. package/dist/runtime/analysis/rules/warnings/w022-high-entropy-output.d.ts +39 -0
  295. package/dist/runtime/analysis/rules/warnings/w022-high-entropy-output.js +36 -0
  296. package/dist/runtime/analysis/rules/warnings/w023-unstable-defaults.d.ts +38 -0
  297. package/dist/runtime/analysis/rules/warnings/w023-unstable-defaults.js +36 -0
  298. package/dist/runtime/analysis/rules/warnings/w100-implicit-dependency.d.ts +22 -0
  299. package/dist/runtime/analysis/rules/warnings/w100-implicit-dependency.js +89 -0
  300. package/dist/runtime/analysis/rules/warnings/w101-free-text-without-normalization.d.ts +24 -0
  301. package/dist/runtime/analysis/rules/warnings/w101-free-text-without-normalization.js +40 -0
  302. package/dist/runtime/analysis/rules/warnings/w102-missing-examples.d.ts +22 -0
  303. package/dist/runtime/analysis/rules/warnings/w102-missing-examples.js +76 -0
  304. package/dist/runtime/analysis/rules/warnings/w103-overloaded-responsibility.d.ts +23 -0
  305. package/dist/runtime/analysis/rules/warnings/w103-overloaded-responsibility.js +91 -0
  306. package/dist/runtime/analysis/rules/warnings/w104-generic-description.d.ts +53 -0
  307. package/dist/runtime/analysis/rules/warnings/w104-generic-description.js +108 -0
  308. package/dist/runtime/analysis/rules/warnings/w105-optional-as-required.d.ts +22 -0
  309. package/dist/runtime/analysis/rules/warnings/w105-optional-as-required.js +45 -0
  310. package/dist/runtime/analysis/rules/warnings/w106-broad-output-schema.d.ts +23 -0
  311. package/dist/runtime/analysis/rules/warnings/w106-broad-output-schema.js +37 -0
  312. package/dist/runtime/analysis/rules/warnings/w107-multiple-entry-points.d.ts +22 -0
  313. package/dist/runtime/analysis/rules/warnings/w107-multiple-entry-points.js +97 -0
  314. package/dist/runtime/analysis/rules/warnings/w108-hidden-side-effects.d.ts +23 -0
  315. package/dist/runtime/analysis/rules/warnings/w108-hidden-side-effects.js +94 -0
  316. package/dist/runtime/analysis/rules/warnings/w109-output-not-reusable.d.ts +22 -0
  317. package/dist/runtime/analysis/rules/warnings/w109-output-not-reusable.js +63 -0
  318. package/dist/runtime/analysis/rules/warnings/w110-weak-schema.d.ts +40 -0
  319. package/dist/runtime/analysis/rules/warnings/w110-weak-schema.js +32 -0
  320. package/dist/runtime/analysis/rules/warnings/w300-high-entropy-output.d.ts +39 -0
  321. package/dist/runtime/analysis/rules/warnings/w300-high-entropy-output.js +47 -0
  322. package/dist/runtime/analysis/rules/warnings/w301-unstable-defaults.d.ts +38 -0
  323. package/dist/runtime/analysis/rules/warnings/w301-unstable-defaults.js +36 -0
  324. package/dist/runtime/analysis/strict-mode.d.ts +21 -0
  325. package/dist/runtime/analysis/strict-mode.js +44 -0
  326. package/dist/runtime/analysis/types.d.ts +133 -0
  327. package/dist/runtime/analysis/types.js +6 -0
  328. package/dist/runtime/analysis/utils.d.ts +19 -0
  329. package/dist/runtime/analysis/utils.js +21 -0
  330. package/dist/runtime/dev/data-manager.d.ts +55 -0
  331. package/dist/runtime/dev/data-manager.js +87 -0
  332. package/dist/runtime/dev/event-mapper.d.ts +100 -0
  333. package/dist/runtime/dev/event-mapper.js +400 -0
  334. package/dist/runtime/dev/formatter.d.ts +94 -0
  335. package/dist/runtime/dev/formatter.js +236 -0
  336. package/dist/runtime/dev/index.d.ts +9 -0
  337. package/dist/runtime/dev/index.js +9 -0
  338. package/dist/runtime/dev/repl.d.ts +114 -0
  339. package/dist/runtime/dev/repl.js +310 -0
  340. package/dist/runtime/dev/session.d.ts +86 -0
  341. package/dist/runtime/dev/session.js +447 -0
  342. package/dist/runtime/dev/stack-trace.d.ts +77 -0
  343. package/dist/runtime/dev/stack-trace.js +286 -0
  344. package/dist/runtime/dev/types.d.ts +54 -0
  345. package/dist/runtime/dev/types.js +5 -0
  346. package/dist/runtime/llm/claude.d.ts +27 -0
  347. package/dist/runtime/llm/claude.js +150 -0
  348. package/dist/runtime/llm/factory.d.ts +30 -0
  349. package/dist/runtime/llm/factory.js +78 -0
  350. package/dist/runtime/llm/index.d.ts +10 -0
  351. package/dist/runtime/llm/index.js +10 -0
  352. package/dist/runtime/llm/ollama.d.ts +45 -0
  353. package/dist/runtime/llm/ollama.js +449 -0
  354. package/dist/runtime/llm/openai.d.ts +27 -0
  355. package/dist/runtime/llm/openai.js +170 -0
  356. package/dist/runtime/llm/provider.d.ts +32 -0
  357. package/dist/runtime/llm/provider.js +6 -0
  358. package/dist/runtime/llm/types.d.ts +55 -0
  359. package/dist/runtime/llm/types.js +6 -0
  360. package/dist/runtime/mcp/client/base.d.ts +40 -0
  361. package/dist/runtime/mcp/client/base.js +157 -0
  362. package/dist/runtime/mcp/client/manager.d.ts +91 -0
  363. package/dist/runtime/mcp/client/manager.js +248 -0
  364. package/dist/runtime/mcp/client/process.d.ts +31 -0
  365. package/dist/runtime/mcp/client/process.js +82 -0
  366. package/dist/runtime/mcp/connection.d.ts +63 -0
  367. package/dist/runtime/mcp/connection.js +449 -0
  368. package/dist/runtime/mcp/index.d.ts +9 -0
  369. package/dist/runtime/mcp/index.js +9 -0
  370. package/dist/runtime/mcp/list.d.ts +50 -0
  371. package/dist/runtime/mcp/list.js +65 -0
  372. package/dist/runtime/mcp/stdio-transport.d.ts +23 -0
  373. package/dist/runtime/mcp/stdio-transport.js +71 -0
  374. package/dist/runtime/mcp/types.d.ts +85 -0
  375. package/dist/runtime/mcp/types.js +6 -0
  376. package/dist/runtime/sandbox/executor.d.ts +102 -0
  377. package/dist/runtime/sandbox/executor.js +537 -0
  378. package/dist/runtime/sandbox/index.d.ts +9 -0
  379. package/dist/runtime/sandbox/index.js +9 -0
  380. package/dist/runtime/sandbox/io-monitor.d.ts +78 -0
  381. package/dist/runtime/sandbox/io-monitor.js +98 -0
  382. package/dist/runtime/sandbox/time-parser.d.ts +19 -0
  383. package/dist/runtime/sandbox/time-parser.js +67 -0
  384. package/dist/runtime/sandbox/types.d.ts +58 -0
  385. package/dist/runtime/sandbox/types.js +23 -0
  386. package/dist/runtime/test/behavior-observer.d.ts +61 -0
  387. package/dist/runtime/test/behavior-observer.js +140 -0
  388. package/dist/runtime/test/contract-loader.d.ts +41 -0
  389. package/dist/runtime/test/contract-loader.js +158 -0
  390. package/dist/runtime/test/contract-schema.d.ts +46 -0
  391. package/dist/runtime/test/contract-schema.js +107 -0
  392. package/dist/runtime/test/contract-types.d.ts +106 -0
  393. package/dist/runtime/test/contract-types.js +6 -0
  394. package/dist/runtime/test/dependency-tracker.d.ts +66 -0
  395. package/dist/runtime/test/dependency-tracker.js +80 -0
  396. package/dist/runtime/test/formatters.d.ts +18 -0
  397. package/dist/runtime/test/formatters.js +172 -0
  398. package/dist/runtime/test/index.d.ts +12 -0
  399. package/dist/runtime/test/index.js +13 -0
  400. package/dist/runtime/test/input-generator.d.ts +33 -0
  401. package/dist/runtime/test/input-generator.js +498 -0
  402. package/dist/runtime/test/mcp-root-detector.d.ts +31 -0
  403. package/dist/runtime/test/mcp-root-detector.js +105 -0
  404. package/dist/runtime/test/orchestrator.d.ts +131 -0
  405. package/dist/runtime/test/orchestrator.js +738 -0
  406. package/dist/runtime/test/output-validator.d.ts +44 -0
  407. package/dist/runtime/test/output-validator.js +262 -0
  408. package/dist/runtime/test/retry-tester.d.ts +44 -0
  409. package/dist/runtime/test/retry-tester.js +103 -0
  410. package/dist/runtime/test/runner.d.ts +28 -0
  411. package/dist/runtime/test/runner.js +55 -0
  412. package/dist/runtime/test/synthetic-input-generator.d.ts +11 -0
  413. package/dist/runtime/test/synthetic-input-generator.js +154 -0
  414. package/dist/runtime/test/test-runner.d.ts +28 -0
  415. package/dist/runtime/test/test-runner.js +55 -0
  416. package/dist/types/factories.d.ts +16 -0
  417. package/dist/types/factories.js +43 -0
  418. package/dist/types/ids.d.ts +16 -0
  419. package/dist/types/ids.js +2 -0
  420. package/dist/types/opaque.d.ts +4 -0
  421. package/dist/types/opaque.js +2 -0
  422. package/dist/utils/errors.d.ts +92 -0
  423. package/dist/utils/errors.js +97 -0
  424. package/dist/utils/gitignore.d.ts +11 -0
  425. package/dist/utils/gitignore.js +59 -0
  426. package/dist/utils/json-file-saver.d.ts +17 -0
  427. package/dist/utils/json-file-saver.js +81 -0
  428. package/dist/utils/json-formatter.d.ts +63 -0
  429. package/dist/utils/json-formatter.js +344 -0
  430. package/dist/utils/logger.d.ts +184 -0
  431. package/dist/utils/logger.js +330 -0
  432. package/dist/utils/package-manager.d.ts +30 -0
  433. package/dist/utils/package-manager.js +157 -0
  434. package/dist/utils/version-checker.d.ts +47 -0
  435. package/dist/utils/version-checker.js +167 -0
  436. package/dist/utils/version-display.d.ts +10 -0
  437. package/dist/utils/version-display.js +20 -0
  438. package/package.json +106 -0
@@ -0,0 +1,26 @@
1
+ import type { EventEnvelope } from '../../events/types.js';
2
+ import type { EventStore } from '../../events/store.js';
3
+ import type { SessionID } from '../../types/ids.js';
4
+ /**
5
+ * In-memory event store implementation.
6
+ * Suitable for testing and development.
7
+ * Events are lost when the process exits.
8
+ */
9
+ export declare class MemoryEventStore implements EventStore {
10
+ private events;
11
+ append(event: EventEnvelope): void;
12
+ load(sessionId: SessionID): EventEnvelope[];
13
+ /**
14
+ * Get all events across all sessions (useful for testing/debugging).
15
+ */
16
+ getAllEvents(): EventEnvelope[];
17
+ /**
18
+ * Clear all events (useful for testing).
19
+ */
20
+ clear(): void;
21
+ /**
22
+ * Get all session IDs that have events.
23
+ */
24
+ getSessionIds(): SessionID[];
25
+ }
26
+ //# sourceMappingURL=memory-store.d.ts.map
@@ -0,0 +1,39 @@
1
+ /**
2
+ * In-memory event store implementation.
3
+ * Suitable for testing and development.
4
+ * Events are lost when the process exits.
5
+ */
6
+ export class MemoryEventStore {
7
+ events = new Map();
8
+ append(event) {
9
+ const sessionEvents = this.events.get(event.session_id) || [];
10
+ sessionEvents.push(event);
11
+ this.events.set(event.session_id, sessionEvents);
12
+ }
13
+ load(sessionId) {
14
+ return this.events.get(sessionId) || [];
15
+ }
16
+ /**
17
+ * Get all events across all sessions (useful for testing/debugging).
18
+ */
19
+ getAllEvents() {
20
+ const allEvents = [];
21
+ for (const events of this.events.values()) {
22
+ allEvents.push(...events);
23
+ }
24
+ return allEvents.sort((a, b) => a.sequence - b.sequence);
25
+ }
26
+ /**
27
+ * Clear all events (useful for testing).
28
+ */
29
+ clear() {
30
+ this.events.clear();
31
+ }
32
+ /**
33
+ * Get all session IDs that have events.
34
+ */
35
+ getSessionIds() {
36
+ return Array.from(this.events.keys());
37
+ }
38
+ }
39
+ //# sourceMappingURL=memory-store.js.map
@@ -0,0 +1,11 @@
1
+ import type { EventEnvelope } from '../events/types.js';
2
+ import type { SessionID } from '../types/ids.js';
3
+ /**
4
+ * Event store interface.
5
+ * Implementations can be synchronous (MemoryStore) or asynchronous (FileStore).
6
+ */
7
+ export interface EventStore {
8
+ append(event: EventEnvelope): void | Promise<void>;
9
+ load(sessionId: SessionID): EventEnvelope[] | Promise<EventEnvelope[]>;
10
+ }
11
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1,14 @@
1
+ import type { SessionID, EventID, WorkflowID, PromptID, ISO8601Timestamp } from '../types/ids.js';
2
+ import type { EventType } from './event-type.js';
3
+ export interface EventEnvelope<TPayload = unknown> {
4
+ readonly event_id: EventID;
5
+ readonly event_type: EventType;
6
+ readonly session_id: SessionID;
7
+ readonly workflow_id: WorkflowID | null;
8
+ readonly prompt_id: PromptID | null;
9
+ readonly timestamp: ISO8601Timestamp;
10
+ readonly sequence: number;
11
+ readonly source: 'runtime';
12
+ readonly payload: TPayload;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Syrin main entry point.
4
+ * Exports the CLI runner.
5
+ */
6
+ export { run } from './cli/index.js';
7
+ export * from './cli/index.js';
8
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Syrin main entry point.
4
+ * Exports the CLI runner.
5
+ */
6
+ import { run } from './cli/index.js';
7
+ import { pathToFileURL } from 'node:url';
8
+ import { realpathSync } from 'node:fs';
9
+ // Run CLI when this file is executed directly
10
+ // ESM equivalent of require.main === module
11
+ const isMainModule = (() => {
12
+ try {
13
+ if (!process.argv[1]) {
14
+ return false;
15
+ }
16
+ // Resolve symlinks to get the actual file path
17
+ // This is necessary when running via npm global bin symlinks
18
+ const resolvedPath = realpathSync(process.argv[1]);
19
+ return import.meta.url === pathToFileURL(resolvedPath).href;
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ })();
25
+ if (isMainModule) {
26
+ run();
27
+ }
28
+ export { run } from './cli/index.js';
29
+ export * from './cli/index.js';
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Analysis output presentation.
3
+ * Handles formatting of analysis results for CLI, JSON, and CI modes.
4
+ */
5
+ import type { AnalysisResult } from '../runtime/analysis/types.js';
6
+ export interface AnalysisOutputOptions {
7
+ ci?: boolean;
8
+ json?: boolean;
9
+ graph?: boolean;
10
+ }
11
+ /**
12
+ * Display CLI output.
13
+ */
14
+ export declare function displayCLIOutput(result: AnalysisResult, options: AnalysisOutputOptions): void;
15
+ export declare function generateJSONOutput(result: AnalysisResult, _options: AnalysisOutputOptions): string;
16
+ /**
17
+ * Display CI output (minimal).
18
+ */
19
+ export declare function displayCIOutput(result: AnalysisResult, options: AnalysisOutputOptions): void;
20
+ /**
21
+ * Main entry point for displaying analysis results.
22
+ */
23
+ export declare function displayAnalysisResult(result: AnalysisResult, options: AnalysisOutputOptions): void;
24
+ //# sourceMappingURL=analysis-ui.d.ts.map
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Analysis output presentation.
3
+ * Handles formatting of analysis results for CLI, JSON, and CI modes.
4
+ */
5
+ import { log } from '../utils/logger.js';
6
+ import { Messages } from '../constants/index.js';
7
+ /**
8
+ * Format dependency graph as text.
9
+ */
10
+ function formatDependencyGraph(dependencies) {
11
+ if (dependencies.length === 0) {
12
+ return 'No dependencies detected.';
13
+ }
14
+ const lines = [];
15
+ lines.push(`\nDependency Graph (${dependencies.length} edges):`);
16
+ lines.push('');
17
+ // Group by confidence levels
18
+ const highConf = dependencies.filter(d => d.confidence >= 0.8);
19
+ const mediumConf = dependencies.filter(d => d.confidence >= 0.6 && d.confidence < 0.8);
20
+ if (highConf.length > 0) {
21
+ lines.push('High Confidence (≥0.8):');
22
+ for (const dep of highConf) {
23
+ lines.push(` ${dep.fromTool}.${dep.fromField} → ${dep.toTool}.${dep.toField} (${dep.confidence.toFixed(2)})`);
24
+ }
25
+ lines.push('');
26
+ }
27
+ if (mediumConf.length > 0) {
28
+ lines.push('Medium Confidence (0.6-0.8):');
29
+ for (const dep of mediumConf) {
30
+ lines.push(` ${dep.fromTool}.${dep.fromField} → ${dep.toTool}.${dep.toField} (${dep.confidence.toFixed(2)})`);
31
+ }
32
+ lines.push('');
33
+ }
34
+ return lines.join('\n');
35
+ }
36
+ /**
37
+ * Format diagnostic for CLI output.
38
+ */
39
+ function formatDiagnostic(diagnostic) {
40
+ const icon = diagnostic.severity === 'error' ? '❌' : '⚠️';
41
+ const severity = diagnostic.severity === 'error' ? 'ERROR' : 'WARNING';
42
+ let message = `${icon} ${severity}: ${diagnostic.message}`;
43
+ if (diagnostic.tool) {
44
+ message += `\n Tool: ${diagnostic.tool}`;
45
+ }
46
+ if (diagnostic.field) {
47
+ message += `\n Field: ${diagnostic.field}`;
48
+ }
49
+ if (diagnostic.suggestion) {
50
+ message += `\n\n Suggestion:\n ${diagnostic.suggestion}`;
51
+ }
52
+ return message;
53
+ }
54
+ /**
55
+ * Display CLI output.
56
+ */
57
+ export function displayCLIOutput(result, options) {
58
+ // Verdict
59
+ if (result.errors.length > 0) {
60
+ log.error(Messages.ANALYSE_VERDICT_FAIL(result.errors.length, result.warnings.length));
61
+ }
62
+ else if (result.warnings.length > 0) {
63
+ log.warning(Messages.ANALYSE_VERDICT_PASS_WARNINGS(result.warnings.length));
64
+ }
65
+ else {
66
+ log.success(Messages.ANALYSE_VERDICT_PASS);
67
+ }
68
+ log.blank();
69
+ // Errors
70
+ if (result.errors.length > 0) {
71
+ log.plain(Messages.ANALYSE_ERRORS_HEADER);
72
+ log.blank();
73
+ for (const error of result.errors) {
74
+ log.plain(formatDiagnostic(error));
75
+ log.blank();
76
+ }
77
+ }
78
+ // Warnings
79
+ if (result.warnings.length > 0) {
80
+ log.plain(Messages.ANALYSE_WARNINGS_HEADER);
81
+ log.blank();
82
+ for (const warning of result.warnings) {
83
+ log.plain(formatDiagnostic(warning));
84
+ log.blank();
85
+ }
86
+ }
87
+ // Graph (if requested)
88
+ if (options.graph) {
89
+ log.plain(formatDependencyGraph(result.dependencies));
90
+ log.blank();
91
+ }
92
+ // Summary
93
+ log.plain(`Analyzed ${result.toolCount} tool${result.toolCount !== 1 ? 's' : ''}.`);
94
+ }
95
+ export function generateJSONOutput(result, _options) {
96
+ const output = {
97
+ verdict: result.verdict,
98
+ toolCount: result.toolCount,
99
+ errors: result.errors.length,
100
+ warnings: result.warnings.length,
101
+ diagnostics: result.diagnostics.map(d => ({
102
+ code: d.code,
103
+ severity: d.severity,
104
+ message: d.message,
105
+ tool: d.tool,
106
+ field: d.field,
107
+ suggestion: d.suggestion,
108
+ context: d.context,
109
+ })),
110
+ };
111
+ // Always include dependencies in JSON output (not just when --graph is set)
112
+ output.dependencies = result.dependencies.map(d => ({
113
+ fromTool: d.fromTool,
114
+ fromField: d.fromField,
115
+ toTool: d.toTool,
116
+ toField: d.toField,
117
+ confidence: d.confidence,
118
+ }));
119
+ return JSON.stringify(output, null, 2);
120
+ }
121
+ /**
122
+ * Display CI output (minimal).
123
+ */
124
+ export function displayCIOutput(result, options) {
125
+ // CI mode: minimal output, exit codes handled by caller
126
+ if (result.errors.length > 0) {
127
+ console.log(`✗ Analysis failed: ${result.errors.length} error(s), ${result.warnings.length} warning(s)`);
128
+ // Print errors only (no warnings in CI)
129
+ for (const error of result.errors) {
130
+ console.log(`${error.code}: ${error.message}`);
131
+ }
132
+ }
133
+ else {
134
+ console.log(`✓ Analysis passed: ${result.toolCount} tool(s) analyzed`);
135
+ if (result.warnings.length > 0) {
136
+ console.log(` ${result.warnings.length} warning(s) (non-blocking)`);
137
+ }
138
+ }
139
+ // Show graph if requested
140
+ if (options.graph) {
141
+ console.log(formatDependencyGraph(result.dependencies));
142
+ }
143
+ }
144
+ /**
145
+ * Main entry point for displaying analysis results.
146
+ */
147
+ export function displayAnalysisResult(result, options) {
148
+ if (options.json) {
149
+ console.log(generateJSONOutput(result, options));
150
+ return;
151
+ }
152
+ if (options.ci) {
153
+ displayCIOutput(result, options);
154
+ return;
155
+ }
156
+ displayCLIOutput(result, options);
157
+ }
158
+ //# sourceMappingURL=analysis-ui.js.map
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Type definitions for Chat UI components.
3
+ */
4
+ export interface ChatMessage {
5
+ role: 'user' | 'assistant' | 'system';
6
+ content: string;
7
+ timestamp?: Date;
8
+ largeData?: {
9
+ type: 'json';
10
+ rawData: string;
11
+ size: number;
12
+ summary?: string;
13
+ };
14
+ }
15
+ export interface WelcomeBannerInfo {
16
+ versionDisplay: string;
17
+ llmProvider: string;
18
+ toolCount: number;
19
+ transport: string;
20
+ mcpUrl?: string;
21
+ command?: string;
22
+ }
23
+ export interface ChatUIOptions {
24
+ /** Agent name for the prompt */
25
+ agentName?: string;
26
+ /** LLM provider name (e.g., "OpenAI", "Claude", "Ollama") */
27
+ llmProviderName?: string;
28
+ /** Whether to show timestamps in messages */
29
+ showTimestamps?: boolean;
30
+ /** Initial messages to display */
31
+ initialMessages?: Array<{
32
+ role: 'user' | 'assistant' | 'system';
33
+ content: string;
34
+ }>;
35
+ /** Welcome banner information (persistent, not cleared by /clear) */
36
+ welcomeBanner?: WelcomeBannerInfo;
37
+ /** Callback when user submits a message */
38
+ onMessage?: (message: string) => Promise<void>;
39
+ /** Callback when user exits */
40
+ onExit?: () => Promise<void>;
41
+ /** Callback to get session state for goodbye messages */
42
+ getSessionState?: () => {
43
+ totalToolCalls: number;
44
+ toolCalls: Array<{
45
+ name: string;
46
+ timestamp: Date;
47
+ }>;
48
+ startTime: Date;
49
+ };
50
+ /** LLM provider for generating goodbye messages */
51
+ llmProvider?: {
52
+ chat: (request: {
53
+ messages: Array<{
54
+ role: string;
55
+ content: string;
56
+ }>;
57
+ temperature?: number;
58
+ maxTokens?: number;
59
+ }) => Promise<{
60
+ content: string;
61
+ }>;
62
+ } | null;
63
+ /** History file path for persisting command history */
64
+ historyFile?: string;
65
+ /** Maximum number of history entries to keep */
66
+ maxHistorySize?: number;
67
+ }
68
+ //# sourceMappingURL=chat-ui-types.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions for Chat UI components.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=chat-ui-types.js.map
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Chat UI for Dev Mode using Ink (React for terminal UIs).
3
+ * Provides a ChatGPT-like terminal interface with message history and input panel.
4
+ *
5
+ * Note: React and Ink are dynamically imported to avoid ESM/CommonJS issues.
6
+ * The component is created inline using React.createElement to avoid separate module imports.
7
+ *
8
+ * ESLint warnings for dynamic imports and React.createElement are disabled as they are
9
+ * necessary for this approach to work with ESM modules in a CommonJS context.
10
+ */
11
+ import type { ChatMessage, ChatUIOptions } from './chat-ui-types.js';
12
+ export type { ChatMessage, ChatUIOptions } from './chat-ui-types.js';
13
+ export declare class ChatUI {
14
+ private options;
15
+ private instance;
16
+ private addMessageRef;
17
+ private updateLastAssistantMessageRef;
18
+ private updateLastSystemMessageRef;
19
+ private getMessagesRef;
20
+ private clearMessagesRef;
21
+ private getLastLargeDataMessageRef;
22
+ constructor(options: ChatUIOptions);
23
+ start(): Promise<void>;
24
+ /**
25
+ * Add a message to the chat.
26
+ */
27
+ addMessage(role: 'user' | 'assistant' | 'system', content: string): void;
28
+ /**
29
+ * Add a message with large data reference.
30
+ */
31
+ addMessageWithData(role: 'user' | 'assistant' | 'system', content: string, largeData: ChatMessage['largeData']): void;
32
+ /**
33
+ * Get the last message with large data.
34
+ */
35
+ getLastLargeDataMessage(): ChatMessage | null;
36
+ /**
37
+ * Update the last assistant message (for streaming).
38
+ */
39
+ updateLastAssistantMessage(content: string): void;
40
+ /**
41
+ * Update the last system message (for live updates like waiting indicators).
42
+ */
43
+ updateLastSystemMessage(content: string): void;
44
+ /**
45
+ * Get all messages.
46
+ */
47
+ getMessages(): ChatMessage[];
48
+ /**
49
+ * Clear all messages.
50
+ */
51
+ clearMessages(): void;
52
+ /**
53
+ * Stop the chat UI (same as exit).
54
+ */
55
+ stop(): void;
56
+ /**
57
+ * Exit the chat UI.
58
+ */
59
+ exit(): void;
60
+ }
61
+ //# sourceMappingURL=chat-ui.d.ts.map