@portel/photon 1.4.1 → 1.6.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 (395) hide show
  1. package/README.md +326 -1177
  2. package/dist/auto-ui/beam.d.ts +14 -0
  3. package/dist/auto-ui/beam.d.ts.map +1 -0
  4. package/dist/auto-ui/beam.js +3057 -0
  5. package/dist/auto-ui/beam.js.map +1 -0
  6. package/dist/auto-ui/bridge/index.d.ts +37 -0
  7. package/dist/auto-ui/bridge/index.d.ts.map +1 -0
  8. package/dist/auto-ui/bridge/index.js +555 -0
  9. package/dist/auto-ui/bridge/index.js.map +1 -0
  10. package/dist/auto-ui/bridge/openai-shim.d.ts +20 -0
  11. package/dist/auto-ui/bridge/openai-shim.d.ts.map +1 -0
  12. package/dist/auto-ui/bridge/openai-shim.js +231 -0
  13. package/dist/auto-ui/bridge/openai-shim.js.map +1 -0
  14. package/dist/auto-ui/bridge/photon-app.d.ts +162 -0
  15. package/dist/auto-ui/bridge/photon-app.d.ts.map +1 -0
  16. package/dist/auto-ui/bridge/photon-app.js +460 -0
  17. package/dist/auto-ui/bridge/photon-app.js.map +1 -0
  18. package/dist/auto-ui/bridge/types.d.ts +128 -0
  19. package/dist/auto-ui/bridge/types.d.ts.map +1 -0
  20. package/dist/auto-ui/bridge/types.js +7 -0
  21. package/dist/auto-ui/bridge/types.js.map +1 -0
  22. package/dist/auto-ui/components/card.d.ts +13 -0
  23. package/dist/auto-ui/components/card.d.ts.map +1 -0
  24. package/dist/auto-ui/components/card.js +64 -0
  25. package/dist/auto-ui/components/card.js.map +1 -0
  26. package/dist/auto-ui/components/form.d.ts +15 -0
  27. package/dist/auto-ui/components/form.d.ts.map +1 -0
  28. package/dist/auto-ui/components/form.js +72 -0
  29. package/dist/auto-ui/components/form.js.map +1 -0
  30. package/dist/auto-ui/components/list.d.ts +13 -0
  31. package/dist/auto-ui/components/list.d.ts.map +1 -0
  32. package/dist/auto-ui/components/list.js +58 -0
  33. package/dist/auto-ui/components/list.js.map +1 -0
  34. package/dist/auto-ui/components/progress.d.ts +18 -0
  35. package/dist/auto-ui/components/progress.d.ts.map +1 -0
  36. package/dist/auto-ui/components/progress.js +125 -0
  37. package/dist/auto-ui/components/progress.js.map +1 -0
  38. package/dist/auto-ui/components/table.d.ts +13 -0
  39. package/dist/auto-ui/components/table.d.ts.map +1 -0
  40. package/dist/auto-ui/components/table.js +82 -0
  41. package/dist/auto-ui/components/table.js.map +1 -0
  42. package/dist/auto-ui/components/tree.d.ts +13 -0
  43. package/dist/auto-ui/components/tree.d.ts.map +1 -0
  44. package/dist/auto-ui/components/tree.js +61 -0
  45. package/dist/auto-ui/components/tree.js.map +1 -0
  46. package/dist/auto-ui/daemon-tools.d.ts +45 -0
  47. package/dist/auto-ui/daemon-tools.d.ts.map +1 -0
  48. package/dist/auto-ui/daemon-tools.js +580 -0
  49. package/dist/auto-ui/daemon-tools.js.map +1 -0
  50. package/dist/auto-ui/design-system/index.d.ts +21 -0
  51. package/dist/auto-ui/design-system/index.d.ts.map +1 -0
  52. package/dist/auto-ui/design-system/index.js +27 -0
  53. package/dist/auto-ui/design-system/index.js.map +1 -0
  54. package/dist/auto-ui/design-system/tokens.d.ts +9 -0
  55. package/dist/auto-ui/design-system/tokens.d.ts.map +1 -0
  56. package/dist/auto-ui/design-system/tokens.js +27 -0
  57. package/dist/auto-ui/design-system/tokens.js.map +1 -0
  58. package/dist/auto-ui/design-system/transaction-ui.d.ts +70 -0
  59. package/dist/auto-ui/design-system/transaction-ui.d.ts.map +1 -0
  60. package/dist/auto-ui/design-system/transaction-ui.js +982 -0
  61. package/dist/auto-ui/design-system/transaction-ui.js.map +1 -0
  62. package/dist/auto-ui/frontend/index.html +84 -0
  63. package/dist/auto-ui/index.d.ts +23 -0
  64. package/dist/auto-ui/index.d.ts.map +1 -0
  65. package/dist/auto-ui/index.js +28 -0
  66. package/dist/auto-ui/index.js.map +1 -0
  67. package/dist/auto-ui/openapi-generator.d.ts +71 -0
  68. package/dist/auto-ui/openapi-generator.d.ts.map +1 -0
  69. package/dist/auto-ui/openapi-generator.js +223 -0
  70. package/dist/auto-ui/openapi-generator.js.map +1 -0
  71. package/dist/auto-ui/photon-bridge.d.ts +159 -0
  72. package/dist/auto-ui/photon-bridge.d.ts.map +1 -0
  73. package/dist/auto-ui/photon-bridge.js +262 -0
  74. package/dist/auto-ui/photon-bridge.js.map +1 -0
  75. package/dist/auto-ui/photon-host.d.ts +113 -0
  76. package/dist/auto-ui/photon-host.d.ts.map +1 -0
  77. package/dist/auto-ui/photon-host.js +284 -0
  78. package/dist/auto-ui/photon-host.js.map +1 -0
  79. package/dist/auto-ui/platform-compat.d.ts +71 -0
  80. package/dist/auto-ui/platform-compat.d.ts.map +1 -0
  81. package/dist/auto-ui/platform-compat.js +628 -0
  82. package/dist/auto-ui/platform-compat.js.map +1 -0
  83. package/dist/auto-ui/playground-html.d.ts +15 -0
  84. package/dist/auto-ui/playground-html.d.ts.map +1 -0
  85. package/dist/auto-ui/playground-html.js +1113 -0
  86. package/dist/auto-ui/playground-html.js.map +1 -0
  87. package/dist/auto-ui/playground-server.d.ts +7 -0
  88. package/dist/auto-ui/playground-server.d.ts.map +1 -0
  89. package/dist/auto-ui/playground-server.js +840 -0
  90. package/dist/auto-ui/playground-server.js.map +1 -0
  91. package/dist/auto-ui/registry.d.ts +13 -0
  92. package/dist/auto-ui/registry.d.ts.map +1 -0
  93. package/dist/auto-ui/registry.js +62 -0
  94. package/dist/auto-ui/registry.js.map +1 -0
  95. package/dist/auto-ui/renderer.d.ts +14 -0
  96. package/dist/auto-ui/renderer.d.ts.map +1 -0
  97. package/dist/auto-ui/renderer.js +88 -0
  98. package/dist/auto-ui/renderer.js.map +1 -0
  99. package/dist/auto-ui/rendering/components.d.ts +29 -0
  100. package/dist/auto-ui/rendering/components.d.ts.map +1 -0
  101. package/dist/auto-ui/rendering/components.js +773 -0
  102. package/dist/auto-ui/rendering/components.js.map +1 -0
  103. package/dist/auto-ui/rendering/field-analyzer.d.ts +48 -0
  104. package/dist/auto-ui/rendering/field-analyzer.d.ts.map +1 -0
  105. package/dist/auto-ui/rendering/field-analyzer.js +270 -0
  106. package/dist/auto-ui/rendering/field-analyzer.js.map +1 -0
  107. package/dist/auto-ui/rendering/field-renderers.d.ts +64 -0
  108. package/dist/auto-ui/rendering/field-renderers.d.ts.map +1 -0
  109. package/dist/auto-ui/rendering/field-renderers.js +317 -0
  110. package/dist/auto-ui/rendering/field-renderers.js.map +1 -0
  111. package/dist/auto-ui/rendering/index.d.ts +28 -0
  112. package/dist/auto-ui/rendering/index.d.ts.map +1 -0
  113. package/dist/auto-ui/rendering/index.js +60 -0
  114. package/dist/auto-ui/rendering/index.js.map +1 -0
  115. package/dist/auto-ui/rendering/layout-selector.d.ts +48 -0
  116. package/dist/auto-ui/rendering/layout-selector.d.ts.map +1 -0
  117. package/dist/auto-ui/rendering/layout-selector.js +352 -0
  118. package/dist/auto-ui/rendering/layout-selector.js.map +1 -0
  119. package/dist/auto-ui/rendering/template-engine.d.ts +41 -0
  120. package/dist/auto-ui/rendering/template-engine.d.ts.map +1 -0
  121. package/dist/auto-ui/rendering/template-engine.js +238 -0
  122. package/dist/auto-ui/rendering/template-engine.js.map +1 -0
  123. package/dist/auto-ui/streamable-http-transport.d.ts +103 -0
  124. package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -0
  125. package/dist/auto-ui/streamable-http-transport.js +1875 -0
  126. package/dist/auto-ui/streamable-http-transport.js.map +1 -0
  127. package/dist/auto-ui/types.d.ts +384 -0
  128. package/dist/auto-ui/types.d.ts.map +1 -0
  129. package/dist/auto-ui/types.js +92 -0
  130. package/dist/auto-ui/types.js.map +1 -0
  131. package/dist/beam.bundle.js +63137 -0
  132. package/dist/beam.bundle.js.map +7 -0
  133. package/dist/claude-code-plugin.d.ts.map +1 -1
  134. package/dist/claude-code-plugin.js +30 -30
  135. package/dist/claude-code-plugin.js.map +1 -1
  136. package/dist/cli/commands/info.d.ts +11 -0
  137. package/dist/cli/commands/info.d.ts.map +1 -0
  138. package/dist/cli/commands/info.js +313 -0
  139. package/dist/cli/commands/info.js.map +1 -0
  140. package/dist/cli/commands/marketplace.d.ts +11 -0
  141. package/dist/cli/commands/marketplace.d.ts.map +1 -0
  142. package/dist/cli/commands/marketplace.js +198 -0
  143. package/dist/cli/commands/marketplace.js.map +1 -0
  144. package/dist/cli/commands/package-app.d.ts +9 -0
  145. package/dist/cli/commands/package-app.d.ts.map +1 -0
  146. package/dist/cli/commands/package-app.js +191 -0
  147. package/dist/cli/commands/package-app.js.map +1 -0
  148. package/dist/cli/commands/package.d.ts +11 -0
  149. package/dist/cli/commands/package.d.ts.map +1 -0
  150. package/dist/cli/commands/package.js +573 -0
  151. package/dist/cli/commands/package.js.map +1 -0
  152. package/dist/cli-alias.d.ts.map +1 -1
  153. package/dist/cli-alias.js +30 -28
  154. package/dist/cli-alias.js.map +1 -1
  155. package/dist/cli-formatter.d.ts +8 -24
  156. package/dist/cli-formatter.d.ts.map +1 -1
  157. package/dist/cli-formatter.js +8 -325
  158. package/dist/cli-formatter.js.map +1 -1
  159. package/dist/cli.d.ts +15 -1
  160. package/dist/cli.d.ts.map +1 -1
  161. package/dist/cli.js +1166 -1131
  162. package/dist/cli.js.map +1 -1
  163. package/dist/daemon/client.d.ts +84 -3
  164. package/dist/daemon/client.d.ts.map +1 -1
  165. package/dist/daemon/client.js +561 -11
  166. package/dist/daemon/client.js.map +1 -1
  167. package/dist/daemon/manager.d.ts +51 -12
  168. package/dist/daemon/manager.d.ts.map +1 -1
  169. package/dist/daemon/manager.js +122 -61
  170. package/dist/daemon/manager.js.map +1 -1
  171. package/dist/daemon/protocol.d.ts +62 -6
  172. package/dist/daemon/protocol.d.ts.map +1 -1
  173. package/dist/daemon/protocol.js +76 -1
  174. package/dist/daemon/protocol.js.map +1 -1
  175. package/dist/daemon/server.d.ts +6 -6
  176. package/dist/daemon/server.js +743 -133
  177. package/dist/daemon/server.js.map +1 -1
  178. package/dist/daemon/session-manager.d.ts +8 -1
  179. package/dist/daemon/session-manager.d.ts.map +1 -1
  180. package/dist/daemon/session-manager.js +32 -9
  181. package/dist/daemon/session-manager.js.map +1 -1
  182. package/dist/deploy/cloudflare.d.ts +12 -0
  183. package/dist/deploy/cloudflare.d.ts.map +1 -0
  184. package/dist/deploy/cloudflare.js +216 -0
  185. package/dist/deploy/cloudflare.js.map +1 -0
  186. package/dist/index.d.ts +1 -0
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +3 -0
  189. package/dist/index.js.map +1 -1
  190. package/dist/loader.d.ts +191 -21
  191. package/dist/loader.d.ts.map +1 -1
  192. package/dist/loader.js +1186 -319
  193. package/dist/loader.js.map +1 -1
  194. package/dist/markdown-utils.d.ts +8 -0
  195. package/dist/markdown-utils.d.ts.map +1 -0
  196. package/dist/markdown-utils.js +63 -0
  197. package/dist/markdown-utils.js.map +1 -0
  198. package/dist/marketplace-manager.d.ts +10 -0
  199. package/dist/marketplace-manager.d.ts.map +1 -1
  200. package/dist/marketplace-manager.js +112 -28
  201. package/dist/marketplace-manager.js.map +1 -1
  202. package/dist/mcp-client.d.ts +9 -0
  203. package/dist/mcp-client.d.ts.map +1 -0
  204. package/dist/mcp-client.js +11 -0
  205. package/dist/mcp-client.js.map +1 -0
  206. package/dist/mcp-elicitation.d.ts +32 -0
  207. package/dist/mcp-elicitation.d.ts.map +1 -0
  208. package/dist/mcp-elicitation.js +26 -0
  209. package/dist/mcp-elicitation.js.map +1 -0
  210. package/dist/path-resolver.d.ts +9 -12
  211. package/dist/path-resolver.d.ts.map +1 -1
  212. package/dist/path-resolver.js +13 -43
  213. package/dist/path-resolver.js.map +1 -1
  214. package/dist/photon-cli-runner.d.ts.map +1 -1
  215. package/dist/photon-cli-runner.js +204 -77
  216. package/dist/photon-cli-runner.js.map +1 -1
  217. package/dist/photon-doc-extractor.d.ts +89 -0
  218. package/dist/photon-doc-extractor.d.ts.map +1 -1
  219. package/dist/photon-doc-extractor.js +560 -32
  220. package/dist/photon-doc-extractor.js.map +1 -1
  221. package/dist/photons/maker.photon.d.ts +182 -0
  222. package/dist/photons/maker.photon.d.ts.map +1 -0
  223. package/dist/photons/maker.photon.js +504 -0
  224. package/dist/photons/maker.photon.js.map +1 -0
  225. package/dist/photons/maker.photon.ts +626 -0
  226. package/dist/photons/marketplace.photon.d.ts +110 -0
  227. package/dist/photons/marketplace.photon.d.ts.map +1 -0
  228. package/dist/photons/marketplace.photon.js +260 -0
  229. package/dist/photons/marketplace.photon.js.map +1 -0
  230. package/dist/photons/marketplace.photon.ts +378 -0
  231. package/dist/photons/tunnel.photon.d.ts +80 -0
  232. package/dist/photons/tunnel.photon.d.ts.map +1 -0
  233. package/dist/photons/tunnel.photon.js +269 -0
  234. package/dist/photons/tunnel.photon.js.map +1 -0
  235. package/dist/photons/tunnel.photon.ts +345 -0
  236. package/dist/security-scanner.d.ts.map +1 -1
  237. package/dist/security-scanner.js +18 -15
  238. package/dist/security-scanner.js.map +1 -1
  239. package/dist/serv/auth/jwt.d.ts +89 -0
  240. package/dist/serv/auth/jwt.d.ts.map +1 -0
  241. package/dist/serv/auth/jwt.js +239 -0
  242. package/dist/serv/auth/jwt.js.map +1 -0
  243. package/dist/serv/auth/oauth.d.ts +117 -0
  244. package/dist/serv/auth/oauth.d.ts.map +1 -0
  245. package/dist/serv/auth/oauth.js +395 -0
  246. package/dist/serv/auth/oauth.js.map +1 -0
  247. package/dist/serv/auth/well-known.d.ts +60 -0
  248. package/dist/serv/auth/well-known.d.ts.map +1 -0
  249. package/dist/serv/auth/well-known.js +154 -0
  250. package/dist/serv/auth/well-known.js.map +1 -0
  251. package/dist/serv/db/d1-client.d.ts +65 -0
  252. package/dist/serv/db/d1-client.d.ts.map +1 -0
  253. package/dist/serv/db/d1-client.js +137 -0
  254. package/dist/serv/db/d1-client.js.map +1 -0
  255. package/dist/serv/db/d1-stores.d.ts +62 -0
  256. package/dist/serv/db/d1-stores.d.ts.map +1 -0
  257. package/dist/serv/db/d1-stores.js +307 -0
  258. package/dist/serv/db/d1-stores.js.map +1 -0
  259. package/dist/serv/index.d.ts +114 -0
  260. package/dist/serv/index.d.ts.map +1 -0
  261. package/dist/serv/index.js +172 -0
  262. package/dist/serv/index.js.map +1 -0
  263. package/dist/serv/local.d.ts +118 -0
  264. package/dist/serv/local.d.ts.map +1 -0
  265. package/dist/serv/local.js +392 -0
  266. package/dist/serv/local.js.map +1 -0
  267. package/dist/serv/middleware/auth.d.ts +66 -0
  268. package/dist/serv/middleware/auth.d.ts.map +1 -0
  269. package/dist/serv/middleware/auth.js +178 -0
  270. package/dist/serv/middleware/auth.js.map +1 -0
  271. package/dist/serv/middleware/tenant.d.ts +94 -0
  272. package/dist/serv/middleware/tenant.d.ts.map +1 -0
  273. package/dist/serv/middleware/tenant.js +152 -0
  274. package/dist/serv/middleware/tenant.js.map +1 -0
  275. package/dist/serv/runtime/executor.d.ts +76 -0
  276. package/dist/serv/runtime/executor.d.ts.map +1 -0
  277. package/dist/serv/runtime/executor.js +105 -0
  278. package/dist/serv/runtime/executor.js.map +1 -0
  279. package/dist/serv/runtime/index.d.ts +8 -0
  280. package/dist/serv/runtime/index.d.ts.map +1 -0
  281. package/dist/serv/runtime/index.js +10 -0
  282. package/dist/serv/runtime/index.js.map +1 -0
  283. package/dist/serv/runtime/oauth-context.d.ts +121 -0
  284. package/dist/serv/runtime/oauth-context.d.ts.map +1 -0
  285. package/dist/serv/runtime/oauth-context.js +153 -0
  286. package/dist/serv/runtime/oauth-context.js.map +1 -0
  287. package/dist/serv/session/kv-store.d.ts +54 -0
  288. package/dist/serv/session/kv-store.d.ts.map +1 -0
  289. package/dist/serv/session/kv-store.js +149 -0
  290. package/dist/serv/session/kv-store.js.map +1 -0
  291. package/dist/serv/session/store.d.ts +113 -0
  292. package/dist/serv/session/store.d.ts.map +1 -0
  293. package/dist/serv/session/store.js +284 -0
  294. package/dist/serv/session/store.js.map +1 -0
  295. package/dist/serv/types/index.d.ts +147 -0
  296. package/dist/serv/types/index.d.ts.map +1 -0
  297. package/dist/serv/types/index.js +8 -0
  298. package/dist/serv/types/index.js.map +1 -0
  299. package/dist/serv/vault/token-vault.d.ts +102 -0
  300. package/dist/serv/vault/token-vault.d.ts.map +1 -0
  301. package/dist/serv/vault/token-vault.js +177 -0
  302. package/dist/serv/vault/token-vault.js.map +1 -0
  303. package/dist/server.d.ts +184 -0
  304. package/dist/server.d.ts.map +1 -1
  305. package/dist/server.js +1995 -86
  306. package/dist/server.js.map +1 -1
  307. package/dist/shared/cli-sections.d.ts +6 -0
  308. package/dist/shared/cli-sections.d.ts.map +1 -0
  309. package/dist/shared/cli-sections.js +16 -0
  310. package/dist/shared/cli-sections.js.map +1 -0
  311. package/dist/shared/cli-utils.d.ts +81 -0
  312. package/dist/shared/cli-utils.d.ts.map +1 -0
  313. package/dist/shared/cli-utils.js +174 -0
  314. package/dist/shared/cli-utils.js.map +1 -0
  315. package/dist/shared/config-docs.d.ts +6 -0
  316. package/dist/shared/config-docs.d.ts.map +1 -0
  317. package/dist/shared/config-docs.js +6 -0
  318. package/dist/shared/config-docs.js.map +1 -0
  319. package/dist/shared/error-handler.d.ts +128 -0
  320. package/dist/shared/error-handler.d.ts.map +1 -0
  321. package/dist/shared/error-handler.js +342 -0
  322. package/dist/shared/error-handler.js.map +1 -0
  323. package/dist/shared/logger.d.ts +42 -0
  324. package/dist/shared/logger.d.ts.map +1 -0
  325. package/dist/shared/logger.js +123 -0
  326. package/dist/shared/logger.js.map +1 -0
  327. package/dist/shared/performance.d.ts +65 -0
  328. package/dist/shared/performance.d.ts.map +1 -0
  329. package/dist/shared/performance.js +136 -0
  330. package/dist/shared/performance.js.map +1 -0
  331. package/dist/shared/task-runner.d.ts +2 -0
  332. package/dist/shared/task-runner.d.ts.map +1 -0
  333. package/dist/shared/task-runner.js +16 -0
  334. package/dist/shared/task-runner.js.map +1 -0
  335. package/dist/shared/validation.d.ts +6 -0
  336. package/dist/shared/validation.d.ts.map +1 -0
  337. package/dist/shared/validation.js +6 -0
  338. package/dist/shared/validation.js.map +1 -0
  339. package/dist/shared-utils.d.ts +63 -0
  340. package/dist/shared-utils.d.ts.map +1 -0
  341. package/dist/shared-utils.js +123 -0
  342. package/dist/shared-utils.js.map +1 -0
  343. package/dist/template-manager.d.ts +23 -2
  344. package/dist/template-manager.d.ts.map +1 -1
  345. package/dist/template-manager.js +176 -87
  346. package/dist/template-manager.js.map +1 -1
  347. package/dist/test-client.d.ts.map +1 -1
  348. package/dist/test-client.js +10 -8
  349. package/dist/test-client.js.map +1 -1
  350. package/dist/test-runner.d.ts +52 -0
  351. package/dist/test-runner.d.ts.map +1 -0
  352. package/dist/test-runner.js +785 -0
  353. package/dist/test-runner.js.map +1 -0
  354. package/dist/testing.d.ts +103 -0
  355. package/dist/testing.d.ts.map +1 -0
  356. package/dist/testing.js +163 -0
  357. package/dist/testing.js.map +1 -0
  358. package/dist/version-checker.d.ts.map +1 -1
  359. package/dist/version-checker.js +2 -2
  360. package/dist/version-checker.js.map +1 -1
  361. package/dist/version.d.ts +10 -0
  362. package/dist/version.d.ts.map +1 -0
  363. package/dist/version.js +21 -0
  364. package/dist/version.js.map +1 -0
  365. package/dist/watcher.d.ts +6 -3
  366. package/dist/watcher.d.ts.map +1 -1
  367. package/dist/watcher.js +49 -10
  368. package/dist/watcher.js.map +1 -1
  369. package/package.json +57 -7
  370. package/templates/cloudflare/worker.ts.template +381 -0
  371. package/templates/cloudflare/wrangler.toml.template +9 -0
  372. package/dist/base.d.ts +0 -58
  373. package/dist/base.d.ts.map +0 -1
  374. package/dist/base.js +0 -92
  375. package/dist/base.js.map +0 -1
  376. package/dist/dependency-manager.d.ts +0 -49
  377. package/dist/dependency-manager.d.ts.map +0 -1
  378. package/dist/dependency-manager.js +0 -165
  379. package/dist/dependency-manager.js.map +0 -1
  380. package/dist/registry-manager.d.ts +0 -76
  381. package/dist/registry-manager.d.ts.map +0 -1
  382. package/dist/registry-manager.js +0 -220
  383. package/dist/registry-manager.js.map +0 -1
  384. package/dist/schema-extractor.d.ts +0 -110
  385. package/dist/schema-extractor.d.ts.map +0 -1
  386. package/dist/schema-extractor.js +0 -727
  387. package/dist/schema-extractor.js.map +0 -1
  388. package/dist/test-marketplace-sources.d.ts +0 -5
  389. package/dist/test-marketplace-sources.d.ts.map +0 -1
  390. package/dist/test-marketplace-sources.js +0 -53
  391. package/dist/test-marketplace-sources.js.map +0 -1
  392. package/dist/types.d.ts +0 -109
  393. package/dist/types.d.ts.map +0 -1
  394. package/dist/types.js +0 -12
  395. package/dist/types.js.map +0 -1
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Card Component
3
+ * Renders data as cards with key-value pairs
4
+ */
5
+ import chalk from 'chalk';
6
+ import boxen from 'boxen';
7
+ export class CardComponent {
8
+ supportsFormat(format) {
9
+ return true;
10
+ }
11
+ render(props) {
12
+ const { data, metadata, context } = props;
13
+ if (context.format === 'cli') {
14
+ return this.renderCLI(data, metadata);
15
+ }
16
+ else if (context.format === 'mcp') {
17
+ return this.renderMCP(data, metadata);
18
+ }
19
+ else {
20
+ return this.renderWeb(data, metadata);
21
+ }
22
+ }
23
+ renderCLI(data, metadata) {
24
+ if (typeof data !== 'object' || data === null) {
25
+ return String(data);
26
+ }
27
+ const lines = [];
28
+ if (metadata.title) {
29
+ lines.push(chalk.bold(metadata.title));
30
+ lines.push('');
31
+ }
32
+ Object.entries(data).forEach(([key, value]) => {
33
+ const formattedKey = chalk.cyan(key + ':');
34
+ const formattedValue = typeof value === 'object' ? JSON.stringify(value, null, 2) : String(value);
35
+ lines.push(`${formattedKey} ${formattedValue}`);
36
+ });
37
+ return boxen(lines.join('\n'), {
38
+ padding: 1,
39
+ borderStyle: 'round',
40
+ borderColor: 'gray',
41
+ });
42
+ }
43
+ renderMCP(data, metadata) {
44
+ return {
45
+ type: 'card',
46
+ data,
47
+ metadata: {
48
+ title: metadata.title,
49
+ description: metadata.description,
50
+ },
51
+ };
52
+ }
53
+ renderWeb(data, metadata) {
54
+ return {
55
+ component: 'Card',
56
+ props: {
57
+ data,
58
+ title: metadata.title,
59
+ description: metadata.description,
60
+ },
61
+ };
62
+ }
63
+ }
64
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/auto-ui/components/card.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,OAAO,aAAa;IACxB,cAAc,CAAC,MAA6B;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAqB;QAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,IAAS,EAAE,QAAa;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC3C,MAAM,cAAc,GAClB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,IAAI,cAAc,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,IAAS,EAAE,QAAa;QACxC,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC;SACF,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,IAAS,EAAE,QAAa;QACxC,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE;gBACL,IAAI;gBACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Form Component
3
+ * Renders interactive forms for input collection
4
+ */
5
+ import { UIComponent, ComponentProps } from '../types';
6
+ export declare class FormComponent implements UIComponent {
7
+ supportsFormat(format: 'cli' | 'mcp' | 'web'): boolean;
8
+ render(props: ComponentProps): string | object;
9
+ private renderCLI;
10
+ collectInput(schema: any): Promise<any>;
11
+ private getInputType;
12
+ private renderMCP;
13
+ private renderWeb;
14
+ }
15
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/components/form.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGvD,qBAAa,aAAc,YAAW,WAAW;IAC/C,cAAc,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO;IAItD,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAY9C,OAAO,CAAC,SAAS;IAIX,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAgB7C,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;CAUlB"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Form Component
3
+ * Renders interactive forms for input collection
4
+ */
5
+ import inquirer from 'inquirer';
6
+ export class FormComponent {
7
+ supportsFormat(format) {
8
+ return true;
9
+ }
10
+ render(props) {
11
+ const { data, metadata, context } = props;
12
+ if (context.format === 'cli') {
13
+ return this.renderCLI(data, metadata);
14
+ }
15
+ else if (context.format === 'mcp') {
16
+ return this.renderMCP(data, metadata);
17
+ }
18
+ else {
19
+ return this.renderWeb(data, metadata);
20
+ }
21
+ }
22
+ renderCLI(schema, metadata) {
23
+ return JSON.stringify(schema, null, 2);
24
+ }
25
+ async collectInput(schema) {
26
+ const questions = schema.properties
27
+ ? Object.entries(schema.properties).map(([key, prop]) => ({
28
+ type: this.getInputType(prop.type),
29
+ name: key,
30
+ message: prop.description || key,
31
+ default: prop.default,
32
+ validate: prop.required
33
+ ? (input) => (input ? true : `${key} is required`)
34
+ : undefined,
35
+ }))
36
+ : [];
37
+ return inquirer.prompt(questions);
38
+ }
39
+ getInputType(type) {
40
+ switch (type) {
41
+ case 'boolean':
42
+ return 'confirm';
43
+ case 'number':
44
+ return 'number';
45
+ case 'array':
46
+ return 'checkbox';
47
+ default:
48
+ return 'input';
49
+ }
50
+ }
51
+ renderMCP(schema, metadata) {
52
+ return {
53
+ type: 'form',
54
+ schema,
55
+ metadata: {
56
+ title: metadata.title,
57
+ description: metadata.description,
58
+ },
59
+ };
60
+ }
61
+ renderWeb(schema, metadata) {
62
+ return {
63
+ component: 'Form',
64
+ props: {
65
+ schema,
66
+ title: metadata.title,
67
+ description: metadata.description,
68
+ },
69
+ };
70
+ }
71
+ }
72
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../src/auto-ui/components/form.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,aAAa;IACxB,cAAc,CAAC,MAA6B;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAqB;QAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,MAAW,EAAE,QAAa;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAW;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU;YACjC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAgB,EAAE,EAAE,CAAC,CAAC;gBACrE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClC,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,GAAG;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACrB,CAAC,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC;oBACvD,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,UAAU,CAAC;YACpB;gBACE,OAAO,OAAO,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,MAAW,EAAE,QAAa;QAC1C,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM;YACN,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC;SACF,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,MAAW,EAAE,QAAa;QAC1C,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE;gBACL,MAAM;gBACN,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * List Component
3
+ * Renders lists with various formatting options
4
+ */
5
+ import { UIComponent, ComponentProps } from '../types';
6
+ export declare class ListComponent implements UIComponent {
7
+ supportsFormat(format: 'cli' | 'mcp' | 'web'): boolean;
8
+ render(props: ComponentProps): string | object;
9
+ private renderCLI;
10
+ private renderMCP;
11
+ private renderWeb;
12
+ }
13
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/components/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGvD,qBAAa,aAAc,YAAW,WAAW;IAC/C,cAAc,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO;IAItD,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAY9C,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;CAUlB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * List Component
3
+ * Renders lists with various formatting options
4
+ */
5
+ import chalk from 'chalk';
6
+ export class ListComponent {
7
+ supportsFormat(format) {
8
+ return true;
9
+ }
10
+ render(props) {
11
+ const { data, metadata, context } = props;
12
+ if (context.format === 'cli') {
13
+ return this.renderCLI(data, metadata);
14
+ }
15
+ else if (context.format === 'mcp') {
16
+ return this.renderMCP(data, metadata);
17
+ }
18
+ else {
19
+ return this.renderWeb(data, metadata);
20
+ }
21
+ }
22
+ renderCLI(data, metadata) {
23
+ if (!Array.isArray(data) || data.length === 0) {
24
+ return chalk.gray('(empty list)');
25
+ }
26
+ const lines = data.map((item, index) => {
27
+ const bullet = metadata.numbered ? `${index + 1}.` : '•';
28
+ const content = typeof item === 'object' ? JSON.stringify(item) : String(item);
29
+ return `${chalk.dim(bullet)} ${content}`;
30
+ });
31
+ if (metadata.title) {
32
+ lines.unshift(chalk.bold(metadata.title));
33
+ lines.unshift('');
34
+ }
35
+ return lines.join('\n');
36
+ }
37
+ renderMCP(data, metadata) {
38
+ return {
39
+ type: 'list',
40
+ items: data,
41
+ metadata: {
42
+ ordered: metadata.numbered ?? false,
43
+ title: metadata.title,
44
+ },
45
+ };
46
+ }
47
+ renderWeb(data, metadata) {
48
+ return {
49
+ component: 'List',
50
+ props: {
51
+ items: data,
52
+ title: metadata.title,
53
+ ordered: metadata.numbered ?? false,
54
+ },
55
+ };
56
+ }
57
+ }
58
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/auto-ui/components/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,OAAO,aAAa;IACxB,cAAc,CAAC,MAA6B;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAqB;QAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,IAAW,EAAE,QAAa;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACzD,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/E,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,SAAS,CAAC,IAAW,EAAE,QAAa;QAC1C,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE;gBACR,OAAO,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;gBACnC,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;SACF,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,IAAW,EAAE,QAAa;QAC1C,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;aACpC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Progress Indicator Component
3
+ * Supports spinner, percentage, and step-based progress
4
+ */
5
+ import { UIComponent, ComponentProps } from '../types';
6
+ export declare class ProgressIndicator implements UIComponent {
7
+ private spinner?;
8
+ private lastMessage?;
9
+ supportsFormat(format: 'cli' | 'mcp' | 'web'): boolean;
10
+ render(props: ComponentProps): string | object;
11
+ private renderCLI;
12
+ private renderMCP;
13
+ private renderWeb;
14
+ private createProgressBar;
15
+ complete(message?: string): void;
16
+ fail(message?: string): void;
17
+ }
18
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/components/progress.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAiB,MAAM,UAAU,CAAC;AAGtE,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAE7B,cAAc,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO;IAItD,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAa9C,OAAO,CAAC,SAAS;IAwDjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,iBAAiB;IAMzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAWhC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;CAU7B"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Progress Indicator Component
3
+ * Supports spinner, percentage, and step-based progress
4
+ */
5
+ import ora from 'ora';
6
+ export class ProgressIndicator {
7
+ spinner;
8
+ lastMessage;
9
+ supportsFormat(format) {
10
+ return true;
11
+ }
12
+ render(props) {
13
+ const { data, context } = props;
14
+ const progress = data;
15
+ if (context.format === 'cli') {
16
+ return this.renderCLI(progress);
17
+ }
18
+ else if (context.format === 'mcp') {
19
+ return this.renderMCP(progress);
20
+ }
21
+ else {
22
+ return this.renderWeb(progress);
23
+ }
24
+ }
25
+ renderCLI(progress) {
26
+ if (progress.type === 'spinner') {
27
+ if (!this.spinner) {
28
+ this.spinner = ora({
29
+ text: progress.message || 'Processing...',
30
+ stream: process.stdout,
31
+ hideCursor: true,
32
+ }).start();
33
+ }
34
+ else if (progress.message !== this.lastMessage) {
35
+ this.spinner.text = progress.message || 'Processing...';
36
+ }
37
+ this.lastMessage = progress.message;
38
+ return '';
39
+ }
40
+ if (progress.type === 'percentage' &&
41
+ progress.current !== undefined &&
42
+ progress.total !== undefined) {
43
+ const percent = Math.round((progress.current / progress.total) * 100);
44
+ const bar = this.createProgressBar(percent);
45
+ const message = progress.message || 'Progress';
46
+ if (!this.spinner) {
47
+ this.spinner = ora().start();
48
+ }
49
+ this.spinner.text = `${message} ${bar} ${percent}%`;
50
+ if (percent >= 100) {
51
+ this.spinner.succeed(`${message} Complete`);
52
+ this.spinner = undefined;
53
+ }
54
+ return '';
55
+ }
56
+ if (progress.type === 'steps') {
57
+ const step = progress.step || 0;
58
+ const total = progress.totalSteps || 0;
59
+ const message = progress.message || 'Step';
60
+ if (!this.spinner) {
61
+ this.spinner = ora().start();
62
+ }
63
+ this.spinner.text = `${message} (${step}/${total})`;
64
+ if (step >= total) {
65
+ this.spinner.succeed(`All steps complete`);
66
+ this.spinner = undefined;
67
+ }
68
+ return '';
69
+ }
70
+ return '';
71
+ }
72
+ renderMCP(progress) {
73
+ return {
74
+ type: 'progress',
75
+ progressType: progress.type,
76
+ current: progress.current,
77
+ total: progress.total,
78
+ message: progress.message,
79
+ step: progress.step,
80
+ totalSteps: progress.totalSteps,
81
+ };
82
+ }
83
+ renderWeb(progress) {
84
+ return {
85
+ component: 'Progress',
86
+ props: {
87
+ type: progress.type,
88
+ value: progress.type === 'percentage' && progress.current && progress.total
89
+ ? (progress.current / progress.total) * 100
90
+ : undefined,
91
+ message: progress.message,
92
+ step: progress.step,
93
+ totalSteps: progress.totalSteps,
94
+ },
95
+ };
96
+ }
97
+ createProgressBar(percent, width = 20) {
98
+ const filled = Math.round((percent / 100) * width);
99
+ const empty = width - filled;
100
+ return `[${'█'.repeat(filled)}${' '.repeat(empty)}]`;
101
+ }
102
+ complete(message) {
103
+ if (this.spinner) {
104
+ if (message) {
105
+ this.spinner.succeed(message);
106
+ }
107
+ else {
108
+ this.spinner.stop();
109
+ }
110
+ this.spinner = undefined;
111
+ }
112
+ }
113
+ fail(message) {
114
+ if (this.spinner) {
115
+ if (message) {
116
+ this.spinner.fail(message);
117
+ }
118
+ else {
119
+ this.spinner.stop();
120
+ }
121
+ this.spinner = undefined;
122
+ }
123
+ }
124
+ }
125
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/auto-ui/components/progress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Table Component
3
+ * Renders tabular data with support for sorting, filtering, and pagination
4
+ */
5
+ import { UIComponent, ComponentProps } from '../types';
6
+ export declare class TableComponent implements UIComponent {
7
+ supportsFormat(format: 'cli' | 'mcp' | 'web'): boolean;
8
+ render(props: ComponentProps): string | object;
9
+ private renderCLI;
10
+ private renderMCP;
11
+ private renderWeb;
12
+ }
13
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/components/table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAIvD,qBAAa,cAAe,YAAW,WAAW;IAChD,cAAc,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO;IAItD,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAY9C,OAAO,CAAC,SAAS;IAgCjB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;CAkBlB"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Table Component
3
+ * Renders tabular data with support for sorting, filtering, and pagination
4
+ */
5
+ import Table from 'cli-table3';
6
+ import chalk from 'chalk';
7
+ export class TableComponent {
8
+ supportsFormat(format) {
9
+ return true;
10
+ }
11
+ render(props) {
12
+ const { data, metadata, context } = props;
13
+ if (context.format === 'cli') {
14
+ return this.renderCLI(data, metadata);
15
+ }
16
+ else if (context.format === 'mcp') {
17
+ return this.renderMCP(data, metadata);
18
+ }
19
+ else {
20
+ return this.renderWeb(data, metadata);
21
+ }
22
+ }
23
+ renderCLI(data, metadata) {
24
+ if (!Array.isArray(data) || data.length === 0) {
25
+ return chalk.gray('(no data)');
26
+ }
27
+ const columns = metadata.columns || Object.keys(data[0]);
28
+ const table = new Table({
29
+ head: columns.map((col) => chalk.cyan(col)),
30
+ style: {
31
+ head: [],
32
+ border: [],
33
+ },
34
+ });
35
+ data.forEach((row) => {
36
+ const values = columns.map((col) => {
37
+ const value = row[col];
38
+ if (value === null || value === undefined) {
39
+ return chalk.gray('-');
40
+ }
41
+ if (typeof value === 'object') {
42
+ return chalk.gray(JSON.stringify(value));
43
+ }
44
+ return String(value);
45
+ });
46
+ table.push(values);
47
+ });
48
+ return table.toString();
49
+ }
50
+ renderMCP(data, metadata) {
51
+ const columns = metadata.columns || (data.length > 0 ? Object.keys(data[0]) : []);
52
+ return {
53
+ type: 'table',
54
+ columns,
55
+ rows: data,
56
+ metadata: {
57
+ sortable: metadata.sortable ?? false,
58
+ filterable: metadata.filterable ?? false,
59
+ paginated: metadata.paginated ?? false,
60
+ title: metadata.title,
61
+ },
62
+ };
63
+ }
64
+ renderWeb(data, metadata) {
65
+ const columns = metadata.columns || (data.length > 0 ? Object.keys(data[0]) : []);
66
+ return {
67
+ component: 'Table',
68
+ props: {
69
+ columns: columns.map((col) => ({
70
+ key: col,
71
+ label: col,
72
+ sortable: metadata.sortable ?? true,
73
+ })),
74
+ data,
75
+ title: metadata.title,
76
+ filterable: metadata.filterable ?? true,
77
+ paginated: metadata.paginated ?? true,
78
+ },
79
+ };
80
+ }
81
+ }
82
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/auto-ui/components/table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Tree Component
3
+ * Renders hierarchical data as a tree structure
4
+ */
5
+ import { UIComponent, ComponentProps } from '../types';
6
+ export declare class TreeComponent implements UIComponent {
7
+ supportsFormat(format: 'cli' | 'mcp' | 'web'): boolean;
8
+ render(props: ComponentProps): string | object;
9
+ private renderCLI;
10
+ private renderMCP;
11
+ private renderWeb;
12
+ }
13
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/components/tree.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGvD,qBAAa,aAAc,YAAW,WAAW;IAC/C,cAAc,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO;IAItD,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAY9C,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;CAWlB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Tree Component
3
+ * Renders hierarchical data as a tree structure
4
+ */
5
+ import chalk from 'chalk';
6
+ export class TreeComponent {
7
+ supportsFormat(format) {
8
+ return true;
9
+ }
10
+ render(props) {
11
+ const { data, metadata, context } = props;
12
+ if (context.format === 'cli') {
13
+ return this.renderCLI(data, metadata);
14
+ }
15
+ else if (context.format === 'mcp') {
16
+ return this.renderMCP(data, metadata);
17
+ }
18
+ else {
19
+ return this.renderWeb(data, metadata);
20
+ }
21
+ }
22
+ renderCLI(node, metadata, prefix = '', isLast = true) {
23
+ if (!node)
24
+ return '';
25
+ const lines = [];
26
+ const connector = isLast ? '└── ' : '├── ';
27
+ const extension = isLast ? ' ' : '│ ';
28
+ const label = node.label || node.name || String(node);
29
+ lines.push(prefix + connector + chalk.cyan(label));
30
+ const children = node.children || [];
31
+ if (Array.isArray(children)) {
32
+ children.forEach((child, index) => {
33
+ const isLastChild = index === children.length - 1;
34
+ lines.push(this.renderCLI(child, metadata, prefix + extension, isLastChild));
35
+ });
36
+ }
37
+ return lines.join('\n');
38
+ }
39
+ renderMCP(data, metadata) {
40
+ return {
41
+ type: 'tree',
42
+ root: data,
43
+ metadata: {
44
+ expandable: metadata.expandable ?? true,
45
+ title: metadata.title,
46
+ },
47
+ };
48
+ }
49
+ renderWeb(data, metadata) {
50
+ return {
51
+ component: 'Tree',
52
+ props: {
53
+ data,
54
+ title: metadata.title,
55
+ expandable: metadata.expandable ?? true,
56
+ defaultExpanded: true,
57
+ },
58
+ };
59
+ }
60
+ }
61
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/auto-ui/components/tree.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,OAAO,aAAa;IACxB,cAAc,CAAC,MAA6B;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAqB;QAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,IAAS,EAAE,QAAa,EAAE,SAAiB,EAAE,EAAE,SAAkB,IAAI;QACrF,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAChC,MAAM,WAAW,GAAG,KAAK,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,SAAS,CAAC,IAAS,EAAE,QAAa;QACxC,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE;gBACR,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI;gBACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;SACF,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,IAAS,EAAE,QAAa;QACxC,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE;gBACL,IAAI;gBACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI;gBACvC,eAAe,EAAE,IAAI;aACtB;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Daemon Tools for MCP
3
+ *
4
+ * Exposes Photon daemon features (pub/sub, locks, scheduled jobs) as MCP tools.
5
+ * Beam acts as a bridge between MCP clients and the daemon IPC protocol.
6
+ *
7
+ * Architecture:
8
+ * MCP Client (Claude) ←→ Beam (MCP Server) ←→ Daemon (IPC)
9
+ */
10
+ /**
11
+ * Tool definitions for MCP tools/list
12
+ */
13
+ export interface DaemonToolDefinition {
14
+ name: string;
15
+ description: string;
16
+ inputSchema: {
17
+ type: 'object';
18
+ properties: Record<string, unknown>;
19
+ required?: string[];
20
+ };
21
+ }
22
+ export declare const DAEMON_TOOLS: DaemonToolDefinition[];
23
+ /**
24
+ * Handle daemon tool calls
25
+ */
26
+ export declare function handleDaemonTool(toolName: string, args: Record<string, unknown>, sessionId: string, sendNotification: (method: string, params: unknown) => void): Promise<{
27
+ content: Array<{
28
+ type: string;
29
+ text: string;
30
+ }>;
31
+ isError?: boolean;
32
+ }>;
33
+ /**
34
+ * Check if a tool name is a daemon tool
35
+ */
36
+ export declare function isDaemonTool(toolName: string): boolean;
37
+ /**
38
+ * Clean up subscriptions when MCP session ends
39
+ */
40
+ export declare function cleanupDaemonSession(sessionId: string): void;
41
+ /**
42
+ * Get all daemon tool definitions
43
+ */
44
+ export declare function getDaemonTools(): DaemonToolDefinition[];
45
+ //# sourceMappingURL=daemon-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-tools.d.ts","sourceRoot":"","sources":["../../src/auto-ui/daemon-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsBH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAcD,eAAO,MAAM,YAAY,EAAE,oBAAoB,EAwM9C,CAAC;AAkJF;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAC1D,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA+ShF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAG5D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,oBAAoB,EAAE,CAEvD"}