@ailog/cli 0.2.2 → 0.2.6

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 (313) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +12 -0
  3. package/README.md +117 -18
  4. package/bin/cli.js +9 -0
  5. package/dist/client/assets/index-BMqO0rJT.js +190 -0
  6. package/dist/client/assets/index-CdQ1JjwT.css +1 -0
  7. package/dist/client/index.html +19 -0
  8. package/dist/index.d.ts +144 -0
  9. package/dist/index.js +609 -0
  10. package/dist/viewer/server.js +360 -0
  11. package/package.json +65 -45
  12. package/dist/bin/cli.js +0 -1980
  13. package/dist/standalone/.next/BUILD_ID +0 -1
  14. package/dist/standalone/.next/app-path-routes-manifest.json +0 -10
  15. package/dist/standalone/.next/build-manifest.json +0 -21
  16. package/dist/standalone/.next/package.json +0 -1
  17. package/dist/standalone/.next/prerender-manifest.json +0 -118
  18. package/dist/standalone/.next/required-server-files.json +0 -333
  19. package/dist/standalone/.next/routes-manifest.json +0 -102
  20. package/dist/standalone/.next/server/app/_global-error/page/app-paths-manifest.json +0 -3
  21. package/dist/standalone/.next/server/app/_global-error/page/build-manifest.json +0 -18
  22. package/dist/standalone/.next/server/app/_global-error/page/next-font-manifest.json +0 -6
  23. package/dist/standalone/.next/server/app/_global-error/page/react-loadable-manifest.json +0 -1
  24. package/dist/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +0 -4
  25. package/dist/standalone/.next/server/app/_global-error/page.js +0 -11
  26. package/dist/standalone/.next/server/app/_global-error/page.js.map +0 -5
  27. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +0 -1
  28. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +0 -2
  29. package/dist/standalone/.next/server/app/_global-error.html +0 -2
  30. package/dist/standalone/.next/server/app/_global-error.meta +0 -15
  31. package/dist/standalone/.next/server/app/_global-error.rsc +0 -13
  32. package/dist/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +0 -5
  33. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +0 -13
  34. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +0 -8
  35. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +0 -4
  36. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -1
  37. package/dist/standalone/.next/server/app/_not-found/page/app-paths-manifest.json +0 -3
  38. package/dist/standalone/.next/server/app/_not-found/page/build-manifest.json +0 -18
  39. package/dist/standalone/.next/server/app/_not-found/page/next-font-manifest.json +0 -12
  40. package/dist/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +0 -1
  41. package/dist/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +0 -4
  42. package/dist/standalone/.next/server/app/_not-found/page.js +0 -14
  43. package/dist/standalone/.next/server/app/_not-found/page.js.map +0 -5
  44. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +0 -1
  45. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +0 -2
  46. package/dist/standalone/.next/server/app/_not-found.html +0 -1
  47. package/dist/standalone/.next/server/app/_not-found.meta +0 -16
  48. package/dist/standalone/.next/server/app/_not-found.rsc +0 -19
  49. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +0 -19
  50. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +0 -8
  51. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +0 -10
  52. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
  53. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -4
  54. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -2
  55. package/dist/standalone/.next/server/app/api/[[...route]]/route/app-paths-manifest.json +0 -3
  56. package/dist/standalone/.next/server/app/api/[[...route]]/route/build-manifest.json +0 -11
  57. package/dist/standalone/.next/server/app/api/[[...route]]/route/server-reference-manifest.json +0 -4
  58. package/dist/standalone/.next/server/app/api/[[...route]]/route.js +0 -7
  59. package/dist/standalone/.next/server/app/api/[[...route]]/route.js.map +0 -5
  60. package/dist/standalone/.next/server/app/api/[[...route]]/route.js.nft.json +0 -1
  61. package/dist/standalone/.next/server/app/api/[[...route]]/route_client-reference-manifest.js +0 -2
  62. package/dist/standalone/.next/server/app/apps/[appId]/page/app-paths-manifest.json +0 -3
  63. package/dist/standalone/.next/server/app/apps/[appId]/page/build-manifest.json +0 -18
  64. package/dist/standalone/.next/server/app/apps/[appId]/page/next-font-manifest.json +0 -12
  65. package/dist/standalone/.next/server/app/apps/[appId]/page/react-loadable-manifest.json +0 -1
  66. package/dist/standalone/.next/server/app/apps/[appId]/page/server-reference-manifest.json +0 -4
  67. package/dist/standalone/.next/server/app/apps/[appId]/page.js +0 -17
  68. package/dist/standalone/.next/server/app/apps/[appId]/page.js.map +0 -5
  69. package/dist/standalone/.next/server/app/apps/[appId]/page.js.nft.json +0 -1
  70. package/dist/standalone/.next/server/app/apps/[appId]/page_client-reference-manifest.js +0 -2
  71. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/app-paths-manifest.json +0 -3
  72. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/build-manifest.json +0 -18
  73. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/next-font-manifest.json +0 -12
  74. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/react-loadable-manifest.json +0 -1
  75. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/server-reference-manifest.json +0 -4
  76. package/dist/standalone/.next/server/app/apps/[appId]/settings/page.js +0 -17
  77. package/dist/standalone/.next/server/app/apps/[appId]/settings/page.js.map +0 -5
  78. package/dist/standalone/.next/server/app/apps/[appId]/settings/page.js.nft.json +0 -1
  79. package/dist/standalone/.next/server/app/apps/[appId]/settings/page_client-reference-manifest.js +0 -2
  80. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/app-paths-manifest.json +0 -3
  81. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/build-manifest.json +0 -18
  82. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/next-font-manifest.json +0 -12
  83. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/react-loadable-manifest.json +0 -1
  84. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/server-reference-manifest.json +0 -4
  85. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page.js +0 -17
  86. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page.js.map +0 -5
  87. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page.js.nft.json +0 -1
  88. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page_client-reference-manifest.js +0 -2
  89. package/dist/standalone/.next/server/app/favicon.ico/route/app-paths-manifest.json +0 -3
  90. package/dist/standalone/.next/server/app/favicon.ico/route/build-manifest.json +0 -11
  91. package/dist/standalone/.next/server/app/favicon.ico/route.js +0 -7
  92. package/dist/standalone/.next/server/app/favicon.ico/route.js.map +0 -5
  93. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  94. package/dist/standalone/.next/server/app/favicon.ico.body +0 -0
  95. package/dist/standalone/.next/server/app/favicon.ico.meta +0 -1
  96. package/dist/standalone/.next/server/app/index.html +0 -1
  97. package/dist/standalone/.next/server/app/index.meta +0 -14
  98. package/dist/standalone/.next/server/app/index.rsc +0 -26
  99. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -9
  100. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +0 -26
  101. package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +0 -8
  102. package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +0 -10
  103. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +0 -5
  104. package/dist/standalone/.next/server/app/page/app-paths-manifest.json +0 -3
  105. package/dist/standalone/.next/server/app/page/build-manifest.json +0 -18
  106. package/dist/standalone/.next/server/app/page/next-font-manifest.json +0 -12
  107. package/dist/standalone/.next/server/app/page/react-loadable-manifest.json +0 -1
  108. package/dist/standalone/.next/server/app/page/server-reference-manifest.json +0 -4
  109. package/dist/standalone/.next/server/app/page.js +0 -16
  110. package/dist/standalone/.next/server/app/page.js.map +0 -5
  111. package/dist/standalone/.next/server/app/page.js.nft.json +0 -1
  112. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +0 -2
  113. package/dist/standalone/.next/server/app-paths-manifest.json +0 -10
  114. package/dist/standalone/.next/server/chunks/32a5c_next_0375a1f1._.js +0 -17
  115. package/dist/standalone/.next/server/chunks/[root-of-the-server]__5f8f2b74._.js +0 -3
  116. package/dist/standalone/.next/server/chunks/[root-of-the-server]__7970807c._.js +0 -7
  117. package/dist/standalone/.next/server/chunks/[root-of-the-server]__a0f47697._.js +0 -28
  118. package/dist/standalone/.next/server/chunks/[root-of-the-server]__b89b5a39._.js +0 -3
  119. package/dist/standalone/.next/server/chunks/[turbopack]_runtime.js +0 -770
  120. package/dist/standalone/.next/server/chunks/apps_web__next-internal_server_app_api_[[___route]]_route_actions_ad756856.js +0 -3
  121. package/dist/standalone/.next/server/chunks/apps_web__next-internal_server_app_favicon_ico_route_actions_63c3b0d9.js +0 -3
  122. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_c1a879d9._.js +0 -4
  123. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_c1fdfc17._.js +0 -3
  124. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_client_components_9085e245._.js +0 -3
  125. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_client_components_builtin_forbidden_3bc2a141.js +0 -3
  126. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_client_components_builtin_global-error_4bb26d7f.js +0 -3
  127. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_client_components_builtin_unauthorized_5c95c9e3.js +0 -3
  128. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_esm_af731943._.js +0 -6
  129. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_esm_build_templates_app-page_5d311e9f.js +0 -4
  130. package/dist/standalone/.next/server/chunks/ssr/37f04__next-internal_server_app_apps_[appId]_threads_[threadId]_page_actions_0a164142.js +0 -3
  131. package/dist/standalone/.next/server/chunks/ssr/8eb43_sonner_dist_index_mjs_a249e53a._.js +0 -3
  132. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__15021a09._.js +0 -3
  133. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__1764fab0._.js +0 -3
  134. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__1d8f92d3._.js +0 -3
  135. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__277f3037._.js +0 -3
  136. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__379bd934._.js +0 -3
  137. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__42df4b63._.js +0 -3
  138. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__5064350d._.js +0 -3
  139. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__659dbfe7._.js +0 -4
  140. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__80ea63f6._.js +0 -4
  141. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__9f3ff72e._.js +0 -3
  142. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__b6cee269._.js +0 -3
  143. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__e55c02ca._.js +0 -3
  144. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__f7807403._.js +0 -3
  145. package/dist/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -770
  146. package/dist/standalone/.next/server/chunks/ssr/_1db4c18c._.js +0 -4
  147. package/dist/standalone/.next/server/chunks/ssr/_203f0b29._.js +0 -7
  148. package/dist/standalone/.next/server/chunks/ssr/_289820d0._.js +0 -3
  149. package/dist/standalone/.next/server/chunks/ssr/_442031f8._.js +0 -7
  150. package/dist/standalone/.next/server/chunks/ssr/_4b4df737._.js +0 -4
  151. package/dist/standalone/.next/server/chunks/ssr/_5066b883._.js +0 -4
  152. package/dist/standalone/.next/server/chunks/ssr/_70dfbe56._.js +0 -3
  153. package/dist/standalone/.next/server/chunks/ssr/_8c0bfb07._.js +0 -3
  154. package/dist/standalone/.next/server/chunks/ssr/_b00f40b3._.js +0 -3
  155. package/dist/standalone/.next/server/chunks/ssr/_d81226f8._.js +0 -4
  156. package/dist/standalone/.next/server/chunks/ssr/_e5c457a7._.js +0 -3
  157. package/dist/standalone/.next/server/chunks/ssr/_fce9eb14._.js +0 -6
  158. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app__global-error_page_actions_e7650f86.js +0 -3
  159. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app__not-found_page_actions_3df07a96.js +0 -3
  160. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app_apps_[appId]_page_actions_3e495976.js +0 -3
  161. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app_apps_[appId]_settings_page_actions_e98061b7.js +0 -3
  162. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app_page_actions_a0623280.js +0 -3
  163. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_apps_[appId]_layout_tsx_4c06ec7f._.js +0 -3
  164. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_apps_[appId]_page_tsx_15e4fa55._.js +0 -3
  165. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_apps_[appId]_settings_page_tsx_c072e295._.js +0 -3
  166. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_apps_[appId]_threads_[threadId]_page_tsx_7dd7d764._.js +0 -39
  167. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_e92ffe16._.js +0 -3
  168. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_page_tsx_66bf978b._.js +0 -3
  169. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_9822aec4._.js +0 -3
  170. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_alert-dialog_tsx_9188904e._.js +0 -9
  171. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_c8132c43._.js +0 -9
  172. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_card_tsx_2c0359d4._.js +0 -3
  173. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_cbe5b2b9._.js +0 -3
  174. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_cc5b288d._.js +0 -3
  175. package/dist/standalone/.next/server/chunks/ssr/node_modules__bun_2e4b1ed0._.js +0 -3
  176. package/dist/standalone/.next/server/chunks/ssr/node_modules__bun_4bd60410._.js +0 -6
  177. package/dist/standalone/.next/server/chunks/ssr/node_modules__bun_930fb349._.js +0 -3
  178. package/dist/standalone/.next/server/chunks/ssr/node_modules__bun_d2520564._.js +0 -3
  179. package/dist/standalone/.next/server/functions-config-manifest.json +0 -4
  180. package/dist/standalone/.next/server/middleware-build-manifest.js +0 -22
  181. package/dist/standalone/.next/server/middleware-manifest.json +0 -6
  182. package/dist/standalone/.next/server/next-font-manifest.js +0 -1
  183. package/dist/standalone/.next/server/next-font-manifest.json +0 -32
  184. package/dist/standalone/.next/server/pages/404.html +0 -1
  185. package/dist/standalone/.next/server/pages/500.html +0 -2
  186. package/dist/standalone/.next/server/pages-manifest.json +0 -4
  187. package/dist/standalone/.next/server/server-reference-manifest.js +0 -1
  188. package/dist/standalone/.next/server/server-reference-manifest.json +0 -5
  189. package/dist/standalone/.next/static/XXfaoTsbOv2IAuUUXz1R4/_buildManifest.js +0 -11
  190. package/dist/standalone/.next/static/XXfaoTsbOv2IAuUUXz1R4/_clientMiddlewareManifest.json +0 -1
  191. package/dist/standalone/.next/static/XXfaoTsbOv2IAuUUXz1R4/_ssgManifest.js +0 -1
  192. package/dist/standalone/.next/static/chunks/001d990e82d317e7.js +0 -1
  193. package/dist/standalone/.next/static/chunks/26aa014f0977bc3a.js +0 -4
  194. package/dist/standalone/.next/static/chunks/3468e573c929d9d3.js +0 -1
  195. package/dist/standalone/.next/static/chunks/3815bbfffdbb534d.js +0 -1
  196. package/dist/standalone/.next/static/chunks/3c1f17874396f056.js +0 -1
  197. package/dist/standalone/.next/static/chunks/5521918d58602ba4.css +0 -4
  198. package/dist/standalone/.next/static/chunks/61ce30fe62669a20.js +0 -1
  199. package/dist/standalone/.next/static/chunks/6a4ccd90d00f8188.js +0 -2
  200. package/dist/standalone/.next/static/chunks/6de1dc14b2653311.js +0 -2
  201. package/dist/standalone/.next/static/chunks/6ee1158d12a0c765.js +0 -1
  202. package/dist/standalone/.next/static/chunks/8bd29684c211a1e1.js +0 -37
  203. package/dist/standalone/.next/static/chunks/8eae4355671b488f.js +0 -1
  204. package/dist/standalone/.next/static/chunks/8ef339e3fd7a82de.js +0 -1
  205. package/dist/standalone/.next/static/chunks/a6dad97d9634a72d.js +0 -1
  206. package/dist/standalone/.next/static/chunks/ab703521ea4f2141.js +0 -1
  207. package/dist/standalone/.next/static/chunks/b337946fdc3c17b3.js +0 -1
  208. package/dist/standalone/.next/static/chunks/b46c6c394477214a.js +0 -1
  209. package/dist/standalone/.next/static/chunks/b8bc41a0b408222e.js +0 -5
  210. package/dist/standalone/.next/static/chunks/bbf59b867827b224.js +0 -7
  211. package/dist/standalone/.next/static/chunks/c416de6f3efbbe15.js +0 -7
  212. package/dist/standalone/.next/static/chunks/d70eda393c3966c3.js +0 -1
  213. package/dist/standalone/.next/static/chunks/f8e57df1af00077e.js +0 -5
  214. package/dist/standalone/.next/static/chunks/turbopack-e09224df42d3769a.js +0 -3
  215. package/dist/standalone/.next/static/media/13bf9871fe164e7f-s.f2220059.woff2 +0 -0
  216. package/dist/standalone/.next/static/media/3fe682a82f50d426-s.23358719.woff2 +0 -0
  217. package/dist/standalone/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  218. package/dist/standalone/.next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2 +0 -0
  219. package/dist/standalone/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  220. package/dist/standalone/.next/static/media/71b036adf157cdcf-s.bd5f4d11.woff2 +0 -0
  221. package/dist/standalone/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  222. package/dist/standalone/.next/static/media/89b21bb081cb7469-s.51c18f09.woff2 +0 -0
  223. package/dist/standalone/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  224. package/dist/standalone/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  225. package/dist/standalone/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  226. package/dist/standalone/.next/static/media/cc545e633e20c56d-s.f6f1950f.woff2 +0 -0
  227. package/dist/standalone/.next/static/media/favicon.0b3bf435.ico +0 -0
  228. package/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  229. package/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  230. package/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  231. package/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  232. package/dist/standalone/components/apps-table.tsx +0 -274
  233. package/dist/standalone/components.json +0 -24
  234. package/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  235. package/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  236. package/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  237. package/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  238. package/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  239. package/dist/standalone/dist/standalone/components.json +0 -24
  240. package/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  241. package/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  242. package/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  243. package/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  244. package/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  245. package/dist/standalone/dist/standalone/dist/standalone/components.json +0 -24
  246. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  247. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  248. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  249. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  250. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  251. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -24
  252. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  253. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  254. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  255. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  256. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  257. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -24
  258. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  259. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  260. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  261. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  262. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  263. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -24
  264. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  265. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  266. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  267. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  268. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  269. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -24
  270. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  271. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  272. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  273. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  274. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  275. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -24
  276. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  277. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  278. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  279. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  280. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  281. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -24
  282. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +0 -3
  283. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +0 -238
  284. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +0 -224
  285. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +0 -283
  286. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +0 -274
  287. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -24
  288. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -66
  289. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  290. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -65
  291. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  292. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -65
  293. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  294. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -65
  295. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  296. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -65
  297. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  298. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -66
  299. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  300. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -66
  301. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  302. package/dist/standalone/dist/standalone/dist/standalone/package.json +0 -66
  303. package/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  304. package/dist/standalone/dist/standalone/package.json +0 -66
  305. package/dist/standalone/dist/standalone/tsconfig.json +0 -34
  306. package/dist/standalone/package.json +0 -66
  307. package/dist/standalone/public/file.svg +0 -1
  308. package/dist/standalone/public/globe.svg +0 -1
  309. package/dist/standalone/public/next.svg +0 -1
  310. package/dist/standalone/public/vercel.svg +0 -1
  311. package/dist/standalone/public/window.svg +0 -1
  312. package/dist/standalone/server.js +0 -44
  313. package/dist/standalone/tsconfig.json +0 -34
@@ -0,0 +1,360 @@
1
+ // src/viewer/server.ts
2
+ import { serve } from "@hono/node-server";
3
+ import { serveStatic } from "@hono/node-server/serve-static";
4
+ import { Hono } from "hono";
5
+ import { cors } from "hono/cors";
6
+ import { streamSSE } from "hono/streaming";
7
+ import path2 from "path";
8
+ import fs2 from "fs";
9
+ import { fileURLToPath } from "url";
10
+
11
+ // src/db.ts
12
+ import path from "path";
13
+ import fs from "fs";
14
+ var DB_DIR = path.join(process.cwd(), ".ailog");
15
+ var INDEX_PATH = path.join(DB_DIR, "index.json");
16
+ var RUNS_DIR = path.join(DB_DIR, "runs");
17
+ var BLOBS_DIR = path.join(DB_DIR, "blobs");
18
+ var AILOG_PORT = process.env.AILOG_PORT ? parseInt(process.env.AILOG_PORT) : 4985;
19
+ var BLOB_THRESHOLD = 16 * 1024;
20
+ var notifyServer = (event, runId) => {
21
+ notifyServerAsync(event, runId);
22
+ };
23
+ var notifyServerAsync = async (event, runId) => {
24
+ try {
25
+ await fetch(`http://localhost:${AILOG_PORT}/api/notify`, {
26
+ method: "POST",
27
+ headers: { "Content-Type": "application/json" },
28
+ body: JSON.stringify({
29
+ event,
30
+ timestamp: Date.now(),
31
+ dbPath: INDEX_PATH,
32
+ runId: runId ?? null
33
+ })
34
+ });
35
+ } catch {
36
+ }
37
+ };
38
+ var EMPTY_INDEX = () => ({
39
+ version: 1,
40
+ runs: [],
41
+ threads: []
42
+ });
43
+ var normalizeIndex = (raw) => ({
44
+ version: 1,
45
+ runs: raw.runs ?? [],
46
+ threads: raw.threads ?? []
47
+ });
48
+ var ensureGitignore = () => {
49
+ const gitignorePath = path.join(process.cwd(), ".gitignore");
50
+ if (!fs.existsSync(gitignorePath)) return;
51
+ const content = fs.readFileSync(gitignorePath, "utf-8");
52
+ const alreadyIgnored = content.split("\n").some((line) => line.trim() === ".ailog" || line.trim() === ".ailog/");
53
+ if (!alreadyIgnored) {
54
+ const next = content.endsWith("\n") ? `${content}.ailog
55
+ ` : `${content}
56
+ .ailog
57
+ `;
58
+ fs.writeFileSync(gitignorePath, next);
59
+ }
60
+ };
61
+ var ensureLayout = () => {
62
+ const isFirstRun = !fs.existsSync(DB_DIR);
63
+ fs.mkdirSync(RUNS_DIR, { recursive: true });
64
+ fs.mkdirSync(BLOBS_DIR, { recursive: true });
65
+ if (isFirstRun) ensureGitignore();
66
+ };
67
+ var atomicWrite = (filePath, data) => {
68
+ ensureLayout();
69
+ const tmp = `${filePath}.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2, 6)}.tmp`;
70
+ fs.writeFileSync(tmp, data);
71
+ fs.renameSync(tmp, filePath);
72
+ };
73
+ var safeReadJson = (filePath, fallback) => {
74
+ try {
75
+ if (!fs.existsSync(filePath)) return fallback;
76
+ return JSON.parse(fs.readFileSync(filePath, "utf-8"));
77
+ } catch {
78
+ return fallback;
79
+ }
80
+ };
81
+ var readBlobIfPresent = (relPath) => {
82
+ const absolute = path.join(currentDbDir(), relPath);
83
+ try {
84
+ if (!fs.existsSync(absolute)) return null;
85
+ return fs.readFileSync(absolute, "utf-8");
86
+ } catch {
87
+ return null;
88
+ }
89
+ };
90
+ var isBlobRef = (v) => !!v && typeof v === "object" && "$blob" in v;
91
+ var hydrate = (v) => {
92
+ if (v === null) return null;
93
+ if (typeof v === "string") return v;
94
+ if (isBlobRef(v)) return readBlobIfPresent(v.$blob);
95
+ return null;
96
+ };
97
+ var indexCache = null;
98
+ var runCache = /* @__PURE__ */ new Map();
99
+ var remoteDbDir = null;
100
+ var currentDbDir = () => remoteDbDir ?? DB_DIR;
101
+ var currentIndexPath = () => path.join(currentDbDir(), "index.json");
102
+ var currentRunPath = (runId) => path.join(currentDbDir(), "runs", `${runId}.json`);
103
+ var loadIndex = () => {
104
+ if (indexCache) return indexCache;
105
+ indexCache = normalizeIndex(
106
+ safeReadJson(currentIndexPath(), EMPTY_INDEX())
107
+ );
108
+ return indexCache;
109
+ };
110
+ var loadRunFile = (runId) => {
111
+ const cached = runCache.get(runId);
112
+ if (cached) return cached;
113
+ const file = safeReadJson(currentRunPath(runId), null);
114
+ if (!file) return null;
115
+ runCache.set(runId, file);
116
+ return file;
117
+ };
118
+ var reloadDb = async (remoteIndexPath, runId) => {
119
+ if (remoteIndexPath) {
120
+ remoteDbDir = path.dirname(remoteIndexPath);
121
+ }
122
+ indexCache = null;
123
+ if (runId) {
124
+ runCache.delete(runId);
125
+ } else {
126
+ runCache.clear();
127
+ }
128
+ loadIndex();
129
+ };
130
+ var hydrateStep = (s) => ({
131
+ ...s,
132
+ output: hydrate(s.output),
133
+ raw_request: hydrate(s.raw_request),
134
+ raw_response: hydrate(s.raw_response),
135
+ raw_chunks: hydrate(s.raw_chunks)
136
+ });
137
+ var getRunSummaries = async () => {
138
+ const index = loadIndex();
139
+ return [...index.runs].sort(
140
+ (a, b) => new Date(b.started_at).getTime() - new Date(a.started_at).getTime()
141
+ );
142
+ };
143
+ var getRunWithSteps = async (runId) => {
144
+ const file = loadRunFile(runId);
145
+ if (!file) return null;
146
+ return {
147
+ run: file.run,
148
+ steps: [...file.steps].sort((a, b) => a.step_number - b.step_number).map(hydrateStep)
149
+ };
150
+ };
151
+ var clearDatabase = async () => {
152
+ ensureLayout();
153
+ fs.rmSync(RUNS_DIR, { recursive: true, force: true });
154
+ fs.rmSync(BLOBS_DIR, { recursive: true, force: true });
155
+ fs.mkdirSync(RUNS_DIR, { recursive: true });
156
+ fs.mkdirSync(BLOBS_DIR, { recursive: true });
157
+ runCache.clear();
158
+ indexCache = EMPTY_INDEX();
159
+ atomicWrite(INDEX_PATH, JSON.stringify(indexCache, null, 2));
160
+ notifyServer("clear");
161
+ };
162
+
163
+ // src/viewer/server.ts
164
+ var sseClients = /* @__PURE__ */ new Set();
165
+ var broadcastToClients = (event, data) => {
166
+ const message = `event: ${event}
167
+ data: ${JSON.stringify(data)}
168
+
169
+ `;
170
+ for (const client of sseClients) {
171
+ try {
172
+ client.controller.enqueue(message);
173
+ } catch {
174
+ sseClients.delete(client);
175
+ }
176
+ }
177
+ };
178
+ var __dirname = path2.dirname(fileURLToPath(import.meta.url));
179
+ var devEnv = process.env.AILOG_DEV;
180
+ var isDevMode = devEnv !== void 0 && devEnv !== "false" && devEnv !== "0";
181
+ var projectRoot = path2.resolve(__dirname, "../..");
182
+ var clientDir = path2.join(projectRoot, "dist/client");
183
+ var remoteDbPath;
184
+ var app = new Hono();
185
+ app.use("/*", cors());
186
+ app.get("/api/runs", async (c) => {
187
+ await reloadDb(remoteDbPath);
188
+ const summaries = await getRunSummaries();
189
+ const runs = summaries.map((r) => ({
190
+ id: r.id,
191
+ started_at: r.started_at,
192
+ function_id: r.function_id,
193
+ metadata: r.metadata,
194
+ thread_id: r.thread_id,
195
+ stepCount: r.step_count,
196
+ firstMessage: r.first_message ?? "No user message",
197
+ hasError: r.has_error,
198
+ isInProgress: r.is_in_progress,
199
+ type: r.type ?? void 0
200
+ }));
201
+ return c.json(runs);
202
+ });
203
+ app.get("/api/runs/:id", async (c) => {
204
+ const runId = c.req.param("id");
205
+ await reloadDb(remoteDbPath, runId);
206
+ const data = await getRunWithSteps(runId);
207
+ if (!data) {
208
+ return c.json({ error: "Run not found" }, 404);
209
+ }
210
+ const isInProgress = data.steps.some((s) => s.duration_ms === null && !s.error);
211
+ return c.json({
212
+ run: { ...data.run, isInProgress },
213
+ steps: data.steps
214
+ });
215
+ });
216
+ app.post("/api/clear", async (c) => {
217
+ await clearDatabase();
218
+ return c.json({ success: true });
219
+ });
220
+ app.get("/api/events", (c) => {
221
+ return streamSSE(c, async (stream) => {
222
+ const clientId = crypto.randomUUID();
223
+ const client = {
224
+ id: clientId,
225
+ controller: null
226
+ };
227
+ await stream.writeSSE({
228
+ event: "connected",
229
+ data: JSON.stringify({ clientId })
230
+ });
231
+ const originalWrite = stream.writeSSE.bind(stream);
232
+ client.controller = {
233
+ enqueue: (message) => {
234
+ const lines = message.split("\n");
235
+ let event = "message";
236
+ let data = "";
237
+ for (const line of lines) {
238
+ if (line.startsWith("event: ")) {
239
+ event = line.slice(7);
240
+ } else if (line.startsWith("data: ")) {
241
+ data = line.slice(6);
242
+ }
243
+ }
244
+ originalWrite({ event, data }).catch(() => {
245
+ });
246
+ }
247
+ };
248
+ sseClients.add(client);
249
+ const heartbeat = setInterval(async () => {
250
+ try {
251
+ await stream.writeSSE({
252
+ event: "heartbeat",
253
+ data: JSON.stringify({ time: Date.now() })
254
+ });
255
+ } catch {
256
+ clearInterval(heartbeat);
257
+ }
258
+ }, 3e4);
259
+ try {
260
+ while (true) {
261
+ await stream.sleep(1e3);
262
+ }
263
+ } finally {
264
+ clearInterval(heartbeat);
265
+ sseClients.delete(client);
266
+ }
267
+ });
268
+ });
269
+ app.post("/api/notify", async (c) => {
270
+ const body = await c.req.json();
271
+ if (body.dbPath) {
272
+ remoteDbPath = body.dbPath;
273
+ }
274
+ await reloadDb(remoteDbPath, body.runId ?? void 0);
275
+ broadcastToClients("update", body);
276
+ return c.json({ success: true });
277
+ });
278
+ app.use(
279
+ "/assets/*",
280
+ serveStatic({
281
+ root: clientDir.replace(/\/+$/, "")
282
+ })
283
+ );
284
+ app.get("*", async (c) => {
285
+ if (isDevMode) {
286
+ return c.html(`
287
+ <!DOCTYPE html>
288
+ <html>
289
+ <head>
290
+ <meta charset="UTF-8">
291
+ <title>ailog</title>
292
+ <style>
293
+ body { font-family: system-ui, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #0a0a0a; color: #fafafa; }
294
+ .container { text-align: center; }
295
+ a { color: #3b82f6; text-decoration: none; font-size: 1.25rem; }
296
+ a:hover { text-decoration: underline; }
297
+ p { color: #737373; margin-top: 1rem; }
298
+ </style>
299
+ </head>
300
+ <body>
301
+ <div class="container">
302
+ <h2>Development Mode</h2>
303
+ <a href="http://localhost:5173">Open ailog UI \u2192</a>
304
+ <p>This port (4985) only serves the API in dev mode.</p>
305
+ </div>
306
+ </body>
307
+ </html>
308
+ `);
309
+ }
310
+ const indexPath = path2.join(clientDir, "index.html");
311
+ try {
312
+ const html = fs2.readFileSync(indexPath, "utf-8");
313
+ return c.html(html);
314
+ } catch {
315
+ return c.text("ailog client not built. Run `bun run build` first.", 500);
316
+ }
317
+ });
318
+ var startViewer = (port = 4985) => {
319
+ const server = serve(
320
+ {
321
+ fetch: app.fetch,
322
+ port
323
+ },
324
+ () => {
325
+ if (isDevMode) {
326
+ console.log(`\u{1F50D} ailog API running on port ${port}`);
327
+ console.log(` Open http://localhost:5173 for the dev UI`);
328
+ } else {
329
+ console.log(`\u{1F50D} ailog running at http://localhost:${port}`);
330
+ }
331
+ }
332
+ );
333
+ server.on("error", (err) => {
334
+ if (err.code === "EADDRINUSE") {
335
+ console.error(`
336
+ \u274C Port ${port} is already in use.`);
337
+ console.error(
338
+ `
339
+ This likely means ailog is already running.`
340
+ );
341
+ console.error(` Open http://localhost:${port} in your browser.
342
+ `);
343
+ console.error(` To use a different port, set AILOG_PORT:
344
+ `);
345
+ console.error(` AILOG_PORT=4986 npx ailog
346
+ `);
347
+ process.exit(1);
348
+ }
349
+ throw err;
350
+ });
351
+ };
352
+ var currentFile = fileURLToPath(import.meta.url);
353
+ var isDirectRun = process.argv[1] === currentFile || process.argv[1]?.endsWith("/server.ts") || process.argv[1]?.endsWith("/server.js");
354
+ if (isDirectRun) {
355
+ const port = process.env.AILOG_PORT ? parseInt(process.env.AILOG_PORT) : 4985;
356
+ startViewer(port);
357
+ }
358
+ export {
359
+ startViewer
360
+ };
package/package.json CHANGED
@@ -1,66 +1,86 @@
1
1
  {
2
2
  "name": "@ailog/cli",
3
- "version": "0.2.2",
3
+ "version": "0.2.6",
4
4
  "description": "CLI to run the ailog LLM logging dashboard",
5
- "private": false,
6
5
  "type": "module",
6
+ "private": false,
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "module": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js",
17
+ "default": "./dist/index.js"
18
+ }
19
+ },
7
20
  "bin": {
8
- "ailog": "./dist/bin/cli.js"
21
+ "ailog": "./bin/cli.js"
9
22
  },
10
23
  "files": [
11
- "dist"
24
+ "dist",
25
+ "bin",
26
+ "NOTICE"
12
27
  ],
13
28
  "scripts": {
14
- "dev": "next dev --port 9000",
15
- "build": "next build",
16
- "build:cli": "next build && bun scripts/build-cli.ts",
17
- "start": "next start",
18
- "start:cli": "node dist/bin/cli.js start",
19
- "prepublishOnly": "bun run build:cli",
20
- "lint": "eslint --max-warnings=0 .",
21
- "lint:fix": "eslint --fix ."
29
+ "dev": "concurrently -k \"bun run dev:api\" \"bun run dev:client\"",
30
+ "dev:api": "AILOG_DEV=true tsx src/viewer/server.ts",
31
+ "dev:client": "vite",
32
+ "start": "node dist/viewer/server.js",
33
+ "build": "bun run build:client && bun run build:server",
34
+ "build:client": "vite build",
35
+ "build:server": "tsup --tsconfig tsconfig.build.json",
36
+ "test": "vitest --config vitest.node.config.js --run",
37
+ "test:watch": "vitest --config vitest.node.config.js",
38
+ "check-types": "tsc --noEmit",
39
+ "prepublishOnly": "bun run build"
22
40
  },
23
- "dependencies": {
24
- "@swc/helpers": "^0.5.15",
25
- "client-only": "^0.0.1",
26
- "commander": "^12.0.0",
27
- "next": "16.0.10",
28
- "pg": "^8.16.3",
29
- "react": "19.2.1",
30
- "react-dom": "19.2.1",
31
- "styled-jsx": "^5.1.6",
32
- "zod": "^4.3.0"
41
+ "peerDependencies": {
42
+ "ai": ">=7.0.0-beta"
43
+ },
44
+ "peerDependenciesMeta": {
45
+ "ai": {
46
+ "optional": true
47
+ }
33
48
  },
34
- "optionalDependencies": {
35
- "sharp": "^0.34.5"
49
+ "dependencies": {
50
+ "@ai-sdk/provider": "4.0.0-beta.14",
51
+ "@hono/node-server": "^1.13.7",
52
+ "hono": "^4.6.14"
36
53
  },
37
54
  "devDependencies": {
38
- "@ailog/server": "*",
39
- "@base-ui/react": "^1.0.0",
40
- "@hugeicons/core-free-icons": "^2.0.0",
41
- "@hugeicons/react": "^1.1.1",
42
- "@tailwindcss/postcss": "^4",
43
- "@tanstack/react-table": "^8.21.3",
44
- "@types/bun": "^1.3.5",
45
- "@types/node": "^20",
46
- "@types/react": "^19",
47
- "@types/react-dom": "^19",
55
+ "@radix-ui/react-collapsible": "^1.1.12",
56
+ "@radix-ui/react-scroll-area": "^1.2.10",
57
+ "@radix-ui/react-slot": "^1.2.4",
58
+ "@radix-ui/react-tooltip": "^1.2.8",
59
+ "@tailwindcss/vite": "^4.1.17",
60
+ "@types/node": "^20.17.24",
61
+ "@types/react": "^18",
62
+ "@types/react-dom": "^18",
63
+ "@vitejs/plugin-react": "^4.3.4",
48
64
  "class-variance-authority": "^0.7.1",
49
65
  "clsx": "^2.1.1",
50
- "eslint": "^9",
51
- "eslint-config-next": "16.0.10",
52
- "hono": "^4.11.0",
53
- "next-themes": "^0.4.6",
54
- "nuqs": "^2.8.5",
55
- "radix-ui": "^1.4.3",
56
- "shadcn": "^3.6.1",
57
- "sonner": "^2.0.7",
66
+ "concurrently": "^9.1.0",
67
+ "lucide-react": "^0.556.0",
68
+ "react": "^18 || ^19",
69
+ "react-dom": "^18 || ^19",
58
70
  "tailwind-merge": "^3.4.0",
59
- "tailwindcss": "^4",
71
+ "tailwindcss": "^4.1.17",
72
+ "tsup": "^8",
73
+ "tsx": "^4.19.2",
60
74
  "tw-animate-css": "^1.4.0",
61
- "typescript": "^5"
75
+ "typescript": "5.8.3",
76
+ "vaul": "^1.1.2",
77
+ "vite": "^6.0.3",
78
+ "vitest": "^4.1.5",
79
+ "zod": "^3.25.0"
62
80
  },
63
81
  "engines": {
64
82
  "node": ">=18"
65
- }
83
+ },
84
+ "sideEffects": false,
85
+ "license": "Apache-2.0"
66
86
  }