@portel/photon 1.4.1 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/README.md +287 -1160
  2. package/dist/auto-ui/beam.d.ts +9 -0
  3. package/dist/auto-ui/beam.d.ts.map +1 -0
  4. package/dist/auto-ui/beam.js +2381 -0
  5. package/dist/auto-ui/beam.js.map +1 -0
  6. package/dist/auto-ui/components/card.d.ts +13 -0
  7. package/dist/auto-ui/components/card.d.ts.map +1 -0
  8. package/dist/auto-ui/components/card.js +64 -0
  9. package/dist/auto-ui/components/card.js.map +1 -0
  10. package/dist/auto-ui/components/form.d.ts +15 -0
  11. package/dist/auto-ui/components/form.d.ts.map +1 -0
  12. package/dist/auto-ui/components/form.js +72 -0
  13. package/dist/auto-ui/components/form.js.map +1 -0
  14. package/dist/auto-ui/components/list.d.ts +13 -0
  15. package/dist/auto-ui/components/list.d.ts.map +1 -0
  16. package/dist/auto-ui/components/list.js +58 -0
  17. package/dist/auto-ui/components/list.js.map +1 -0
  18. package/dist/auto-ui/components/progress.d.ts +18 -0
  19. package/dist/auto-ui/components/progress.d.ts.map +1 -0
  20. package/dist/auto-ui/components/progress.js +125 -0
  21. package/dist/auto-ui/components/progress.js.map +1 -0
  22. package/dist/auto-ui/components/table.d.ts +13 -0
  23. package/dist/auto-ui/components/table.d.ts.map +1 -0
  24. package/dist/auto-ui/components/table.js +82 -0
  25. package/dist/auto-ui/components/table.js.map +1 -0
  26. package/dist/auto-ui/components/tree.d.ts +13 -0
  27. package/dist/auto-ui/components/tree.d.ts.map +1 -0
  28. package/dist/auto-ui/components/tree.js +61 -0
  29. package/dist/auto-ui/components/tree.js.map +1 -0
  30. package/dist/auto-ui/daemon-tools.d.ts +45 -0
  31. package/dist/auto-ui/daemon-tools.d.ts.map +1 -0
  32. package/dist/auto-ui/daemon-tools.js +580 -0
  33. package/dist/auto-ui/daemon-tools.js.map +1 -0
  34. package/dist/auto-ui/design-system/index.d.ts +21 -0
  35. package/dist/auto-ui/design-system/index.d.ts.map +1 -0
  36. package/dist/auto-ui/design-system/index.js +27 -0
  37. package/dist/auto-ui/design-system/index.js.map +1 -0
  38. package/dist/auto-ui/design-system/tokens.d.ts +9 -0
  39. package/dist/auto-ui/design-system/tokens.d.ts.map +1 -0
  40. package/dist/auto-ui/design-system/tokens.js +27 -0
  41. package/dist/auto-ui/design-system/tokens.js.map +1 -0
  42. package/dist/auto-ui/design-system/transaction-ui.d.ts +70 -0
  43. package/dist/auto-ui/design-system/transaction-ui.d.ts.map +1 -0
  44. package/dist/auto-ui/design-system/transaction-ui.js +982 -0
  45. package/dist/auto-ui/design-system/transaction-ui.js.map +1 -0
  46. package/dist/auto-ui/frontend/index.html +84 -0
  47. package/dist/auto-ui/index.d.ts +21 -0
  48. package/dist/auto-ui/index.d.ts.map +1 -0
  49. package/dist/auto-ui/index.js +25 -0
  50. package/dist/auto-ui/index.js.map +1 -0
  51. package/dist/auto-ui/openapi-generator.d.ts +71 -0
  52. package/dist/auto-ui/openapi-generator.d.ts.map +1 -0
  53. package/dist/auto-ui/openapi-generator.js +223 -0
  54. package/dist/auto-ui/openapi-generator.js.map +1 -0
  55. package/dist/auto-ui/photon-bridge.d.ts +159 -0
  56. package/dist/auto-ui/photon-bridge.d.ts.map +1 -0
  57. package/dist/auto-ui/photon-bridge.js +262 -0
  58. package/dist/auto-ui/photon-bridge.js.map +1 -0
  59. package/dist/auto-ui/photon-host.d.ts +113 -0
  60. package/dist/auto-ui/photon-host.d.ts.map +1 -0
  61. package/dist/auto-ui/photon-host.js +284 -0
  62. package/dist/auto-ui/photon-host.js.map +1 -0
  63. package/dist/auto-ui/platform-compat.d.ts +71 -0
  64. package/dist/auto-ui/platform-compat.d.ts.map +1 -0
  65. package/dist/auto-ui/platform-compat.js +574 -0
  66. package/dist/auto-ui/platform-compat.js.map +1 -0
  67. package/dist/auto-ui/playground-html.d.ts +15 -0
  68. package/dist/auto-ui/playground-html.d.ts.map +1 -0
  69. package/dist/auto-ui/playground-html.js +1113 -0
  70. package/dist/auto-ui/playground-html.js.map +1 -0
  71. package/dist/auto-ui/playground-server.d.ts +7 -0
  72. package/dist/auto-ui/playground-server.d.ts.map +1 -0
  73. package/dist/auto-ui/playground-server.js +840 -0
  74. package/dist/auto-ui/playground-server.js.map +1 -0
  75. package/dist/auto-ui/registry.d.ts +13 -0
  76. package/dist/auto-ui/registry.d.ts.map +1 -0
  77. package/dist/auto-ui/registry.js +62 -0
  78. package/dist/auto-ui/registry.js.map +1 -0
  79. package/dist/auto-ui/renderer.d.ts +14 -0
  80. package/dist/auto-ui/renderer.d.ts.map +1 -0
  81. package/dist/auto-ui/renderer.js +88 -0
  82. package/dist/auto-ui/renderer.js.map +1 -0
  83. package/dist/auto-ui/rendering/components.d.ts +29 -0
  84. package/dist/auto-ui/rendering/components.d.ts.map +1 -0
  85. package/dist/auto-ui/rendering/components.js +773 -0
  86. package/dist/auto-ui/rendering/components.js.map +1 -0
  87. package/dist/auto-ui/rendering/field-analyzer.d.ts +48 -0
  88. package/dist/auto-ui/rendering/field-analyzer.d.ts.map +1 -0
  89. package/dist/auto-ui/rendering/field-analyzer.js +270 -0
  90. package/dist/auto-ui/rendering/field-analyzer.js.map +1 -0
  91. package/dist/auto-ui/rendering/field-renderers.d.ts +64 -0
  92. package/dist/auto-ui/rendering/field-renderers.d.ts.map +1 -0
  93. package/dist/auto-ui/rendering/field-renderers.js +317 -0
  94. package/dist/auto-ui/rendering/field-renderers.js.map +1 -0
  95. package/dist/auto-ui/rendering/index.d.ts +28 -0
  96. package/dist/auto-ui/rendering/index.d.ts.map +1 -0
  97. package/dist/auto-ui/rendering/index.js +60 -0
  98. package/dist/auto-ui/rendering/index.js.map +1 -0
  99. package/dist/auto-ui/rendering/layout-selector.d.ts +48 -0
  100. package/dist/auto-ui/rendering/layout-selector.d.ts.map +1 -0
  101. package/dist/auto-ui/rendering/layout-selector.js +352 -0
  102. package/dist/auto-ui/rendering/layout-selector.js.map +1 -0
  103. package/dist/auto-ui/rendering/template-engine.d.ts +41 -0
  104. package/dist/auto-ui/rendering/template-engine.d.ts.map +1 -0
  105. package/dist/auto-ui/rendering/template-engine.js +238 -0
  106. package/dist/auto-ui/rendering/template-engine.js.map +1 -0
  107. package/dist/auto-ui/streamable-http-transport.d.ts +79 -0
  108. package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -0
  109. package/dist/auto-ui/streamable-http-transport.js +1314 -0
  110. package/dist/auto-ui/streamable-http-transport.js.map +1 -0
  111. package/dist/auto-ui/types.d.ts +310 -0
  112. package/dist/auto-ui/types.d.ts.map +1 -0
  113. package/dist/auto-ui/types.js +71 -0
  114. package/dist/auto-ui/types.js.map +1 -0
  115. package/dist/beam.bundle.js +13506 -0
  116. package/dist/beam.bundle.js.map +7 -0
  117. package/dist/claude-code-plugin.d.ts.map +1 -1
  118. package/dist/claude-code-plugin.js +30 -30
  119. package/dist/claude-code-plugin.js.map +1 -1
  120. package/dist/cli/commands/info.d.ts +11 -0
  121. package/dist/cli/commands/info.d.ts.map +1 -0
  122. package/dist/cli/commands/info.js +313 -0
  123. package/dist/cli/commands/info.js.map +1 -0
  124. package/dist/cli/commands/marketplace.d.ts +11 -0
  125. package/dist/cli/commands/marketplace.d.ts.map +1 -0
  126. package/dist/cli/commands/marketplace.js +198 -0
  127. package/dist/cli/commands/marketplace.js.map +1 -0
  128. package/dist/cli/commands/package-app.d.ts +9 -0
  129. package/dist/cli/commands/package-app.d.ts.map +1 -0
  130. package/dist/cli/commands/package-app.js +191 -0
  131. package/dist/cli/commands/package-app.js.map +1 -0
  132. package/dist/cli/commands/package.d.ts +11 -0
  133. package/dist/cli/commands/package.d.ts.map +1 -0
  134. package/dist/cli/commands/package.js +573 -0
  135. package/dist/cli/commands/package.js.map +1 -0
  136. package/dist/cli-alias.d.ts.map +1 -1
  137. package/dist/cli-alias.js +30 -28
  138. package/dist/cli-alias.js.map +1 -1
  139. package/dist/cli-formatter.d.ts +8 -24
  140. package/dist/cli-formatter.d.ts.map +1 -1
  141. package/dist/cli-formatter.js +8 -325
  142. package/dist/cli-formatter.js.map +1 -1
  143. package/dist/cli.d.ts +15 -1
  144. package/dist/cli.d.ts.map +1 -1
  145. package/dist/cli.js +1157 -1132
  146. package/dist/cli.js.map +1 -1
  147. package/dist/daemon/client.d.ts +79 -0
  148. package/dist/daemon/client.d.ts.map +1 -1
  149. package/dist/daemon/client.js +532 -8
  150. package/dist/daemon/client.js.map +1 -1
  151. package/dist/daemon/manager.d.ts +46 -12
  152. package/dist/daemon/manager.d.ts.map +1 -1
  153. package/dist/daemon/manager.js +102 -61
  154. package/dist/daemon/manager.js.map +1 -1
  155. package/dist/daemon/protocol.d.ts +62 -6
  156. package/dist/daemon/protocol.d.ts.map +1 -1
  157. package/dist/daemon/protocol.js +76 -1
  158. package/dist/daemon/protocol.js.map +1 -1
  159. package/dist/daemon/server.d.ts +6 -6
  160. package/dist/daemon/server.js +743 -133
  161. package/dist/daemon/server.js.map +1 -1
  162. package/dist/daemon/session-manager.d.ts +8 -1
  163. package/dist/daemon/session-manager.d.ts.map +1 -1
  164. package/dist/daemon/session-manager.js +32 -9
  165. package/dist/daemon/session-manager.js.map +1 -1
  166. package/dist/deploy/cloudflare.d.ts +12 -0
  167. package/dist/deploy/cloudflare.d.ts.map +1 -0
  168. package/dist/deploy/cloudflare.js +216 -0
  169. package/dist/deploy/cloudflare.js.map +1 -0
  170. package/dist/index.d.ts +1 -0
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +3 -0
  173. package/dist/index.js.map +1 -1
  174. package/dist/loader.d.ts +168 -21
  175. package/dist/loader.d.ts.map +1 -1
  176. package/dist/loader.js +1120 -318
  177. package/dist/loader.js.map +1 -1
  178. package/dist/markdown-utils.d.ts +8 -0
  179. package/dist/markdown-utils.d.ts.map +1 -0
  180. package/dist/markdown-utils.js +63 -0
  181. package/dist/markdown-utils.js.map +1 -0
  182. package/dist/marketplace-manager.d.ts +10 -0
  183. package/dist/marketplace-manager.d.ts.map +1 -1
  184. package/dist/marketplace-manager.js +112 -28
  185. package/dist/marketplace-manager.js.map +1 -1
  186. package/dist/mcp-client.d.ts +9 -0
  187. package/dist/mcp-client.d.ts.map +1 -0
  188. package/dist/mcp-client.js +11 -0
  189. package/dist/mcp-client.js.map +1 -0
  190. package/dist/mcp-elicitation.d.ts +32 -0
  191. package/dist/mcp-elicitation.d.ts.map +1 -0
  192. package/dist/mcp-elicitation.js +26 -0
  193. package/dist/mcp-elicitation.js.map +1 -0
  194. package/dist/path-resolver.d.ts +9 -12
  195. package/dist/path-resolver.d.ts.map +1 -1
  196. package/dist/path-resolver.js +13 -43
  197. package/dist/path-resolver.js.map +1 -1
  198. package/dist/photon-cli-runner.d.ts.map +1 -1
  199. package/dist/photon-cli-runner.js +202 -77
  200. package/dist/photon-cli-runner.js.map +1 -1
  201. package/dist/photon-doc-extractor.d.ts +88 -0
  202. package/dist/photon-doc-extractor.d.ts.map +1 -1
  203. package/dist/photon-doc-extractor.js +536 -27
  204. package/dist/photon-doc-extractor.js.map +1 -1
  205. package/dist/photons/maker.photon.d.ts +182 -0
  206. package/dist/photons/maker.photon.d.ts.map +1 -0
  207. package/dist/photons/maker.photon.js +504 -0
  208. package/dist/photons/maker.photon.js.map +1 -0
  209. package/dist/photons/maker.photon.ts +626 -0
  210. package/dist/photons/marketplace.photon.d.ts +110 -0
  211. package/dist/photons/marketplace.photon.d.ts.map +1 -0
  212. package/dist/photons/marketplace.photon.js +260 -0
  213. package/dist/photons/marketplace.photon.js.map +1 -0
  214. package/dist/photons/marketplace.photon.ts +378 -0
  215. package/dist/photons/tunnel.photon.d.ts +80 -0
  216. package/dist/photons/tunnel.photon.d.ts.map +1 -0
  217. package/dist/photons/tunnel.photon.js +269 -0
  218. package/dist/photons/tunnel.photon.js.map +1 -0
  219. package/dist/photons/tunnel.photon.ts +345 -0
  220. package/dist/security-scanner.d.ts.map +1 -1
  221. package/dist/security-scanner.js +18 -15
  222. package/dist/security-scanner.js.map +1 -1
  223. package/dist/serv/auth/jwt.d.ts +89 -0
  224. package/dist/serv/auth/jwt.d.ts.map +1 -0
  225. package/dist/serv/auth/jwt.js +239 -0
  226. package/dist/serv/auth/jwt.js.map +1 -0
  227. package/dist/serv/auth/oauth.d.ts +117 -0
  228. package/dist/serv/auth/oauth.d.ts.map +1 -0
  229. package/dist/serv/auth/oauth.js +395 -0
  230. package/dist/serv/auth/oauth.js.map +1 -0
  231. package/dist/serv/auth/well-known.d.ts +60 -0
  232. package/dist/serv/auth/well-known.d.ts.map +1 -0
  233. package/dist/serv/auth/well-known.js +154 -0
  234. package/dist/serv/auth/well-known.js.map +1 -0
  235. package/dist/serv/db/d1-client.d.ts +65 -0
  236. package/dist/serv/db/d1-client.d.ts.map +1 -0
  237. package/dist/serv/db/d1-client.js +137 -0
  238. package/dist/serv/db/d1-client.js.map +1 -0
  239. package/dist/serv/db/d1-stores.d.ts +62 -0
  240. package/dist/serv/db/d1-stores.d.ts.map +1 -0
  241. package/dist/serv/db/d1-stores.js +307 -0
  242. package/dist/serv/db/d1-stores.js.map +1 -0
  243. package/dist/serv/index.d.ts +114 -0
  244. package/dist/serv/index.d.ts.map +1 -0
  245. package/dist/serv/index.js +172 -0
  246. package/dist/serv/index.js.map +1 -0
  247. package/dist/serv/local.d.ts +118 -0
  248. package/dist/serv/local.d.ts.map +1 -0
  249. package/dist/serv/local.js +392 -0
  250. package/dist/serv/local.js.map +1 -0
  251. package/dist/serv/middleware/auth.d.ts +66 -0
  252. package/dist/serv/middleware/auth.d.ts.map +1 -0
  253. package/dist/serv/middleware/auth.js +178 -0
  254. package/dist/serv/middleware/auth.js.map +1 -0
  255. package/dist/serv/middleware/tenant.d.ts +94 -0
  256. package/dist/serv/middleware/tenant.d.ts.map +1 -0
  257. package/dist/serv/middleware/tenant.js +152 -0
  258. package/dist/serv/middleware/tenant.js.map +1 -0
  259. package/dist/serv/runtime/executor.d.ts +76 -0
  260. package/dist/serv/runtime/executor.d.ts.map +1 -0
  261. package/dist/serv/runtime/executor.js +105 -0
  262. package/dist/serv/runtime/executor.js.map +1 -0
  263. package/dist/serv/runtime/index.d.ts +8 -0
  264. package/dist/serv/runtime/index.d.ts.map +1 -0
  265. package/dist/serv/runtime/index.js +10 -0
  266. package/dist/serv/runtime/index.js.map +1 -0
  267. package/dist/serv/runtime/oauth-context.d.ts +121 -0
  268. package/dist/serv/runtime/oauth-context.d.ts.map +1 -0
  269. package/dist/serv/runtime/oauth-context.js +153 -0
  270. package/dist/serv/runtime/oauth-context.js.map +1 -0
  271. package/dist/serv/session/kv-store.d.ts +54 -0
  272. package/dist/serv/session/kv-store.d.ts.map +1 -0
  273. package/dist/serv/session/kv-store.js +149 -0
  274. package/dist/serv/session/kv-store.js.map +1 -0
  275. package/dist/serv/session/store.d.ts +113 -0
  276. package/dist/serv/session/store.d.ts.map +1 -0
  277. package/dist/serv/session/store.js +284 -0
  278. package/dist/serv/session/store.js.map +1 -0
  279. package/dist/serv/types/index.d.ts +147 -0
  280. package/dist/serv/types/index.d.ts.map +1 -0
  281. package/dist/serv/types/index.js +8 -0
  282. package/dist/serv/types/index.js.map +1 -0
  283. package/dist/serv/vault/token-vault.d.ts +102 -0
  284. package/dist/serv/vault/token-vault.d.ts.map +1 -0
  285. package/dist/serv/vault/token-vault.js +177 -0
  286. package/dist/serv/vault/token-vault.js.map +1 -0
  287. package/dist/server.d.ts +173 -0
  288. package/dist/server.d.ts.map +1 -1
  289. package/dist/server.js +1622 -86
  290. package/dist/server.js.map +1 -1
  291. package/dist/shared/cli-sections.d.ts +6 -0
  292. package/dist/shared/cli-sections.d.ts.map +1 -0
  293. package/dist/shared/cli-sections.js +16 -0
  294. package/dist/shared/cli-sections.js.map +1 -0
  295. package/dist/shared/cli-utils.d.ts +81 -0
  296. package/dist/shared/cli-utils.d.ts.map +1 -0
  297. package/dist/shared/cli-utils.js +174 -0
  298. package/dist/shared/cli-utils.js.map +1 -0
  299. package/dist/shared/config-docs.d.ts +6 -0
  300. package/dist/shared/config-docs.d.ts.map +1 -0
  301. package/dist/shared/config-docs.js +6 -0
  302. package/dist/shared/config-docs.js.map +1 -0
  303. package/dist/shared/error-handler.d.ts +128 -0
  304. package/dist/shared/error-handler.d.ts.map +1 -0
  305. package/dist/shared/error-handler.js +342 -0
  306. package/dist/shared/error-handler.js.map +1 -0
  307. package/dist/shared/logger.d.ts +42 -0
  308. package/dist/shared/logger.d.ts.map +1 -0
  309. package/dist/shared/logger.js +123 -0
  310. package/dist/shared/logger.js.map +1 -0
  311. package/dist/shared/performance.d.ts +65 -0
  312. package/dist/shared/performance.d.ts.map +1 -0
  313. package/dist/shared/performance.js +136 -0
  314. package/dist/shared/performance.js.map +1 -0
  315. package/dist/shared/task-runner.d.ts +2 -0
  316. package/dist/shared/task-runner.d.ts.map +1 -0
  317. package/dist/shared/task-runner.js +16 -0
  318. package/dist/shared/task-runner.js.map +1 -0
  319. package/dist/shared/validation.d.ts +6 -0
  320. package/dist/shared/validation.d.ts.map +1 -0
  321. package/dist/shared/validation.js +6 -0
  322. package/dist/shared/validation.js.map +1 -0
  323. package/dist/shared-utils.d.ts +63 -0
  324. package/dist/shared-utils.d.ts.map +1 -0
  325. package/dist/shared-utils.js +123 -0
  326. package/dist/shared-utils.js.map +1 -0
  327. package/dist/template-manager.d.ts +23 -2
  328. package/dist/template-manager.d.ts.map +1 -1
  329. package/dist/template-manager.js +175 -86
  330. package/dist/template-manager.js.map +1 -1
  331. package/dist/test-client.d.ts.map +1 -1
  332. package/dist/test-client.js +10 -8
  333. package/dist/test-client.js.map +1 -1
  334. package/dist/test-runner.d.ts +52 -0
  335. package/dist/test-runner.d.ts.map +1 -0
  336. package/dist/test-runner.js +785 -0
  337. package/dist/test-runner.js.map +1 -0
  338. package/dist/testing.d.ts +103 -0
  339. package/dist/testing.d.ts.map +1 -0
  340. package/dist/testing.js +163 -0
  341. package/dist/testing.js.map +1 -0
  342. package/dist/version-checker.d.ts.map +1 -1
  343. package/dist/version-checker.js +2 -2
  344. package/dist/version-checker.js.map +1 -1
  345. package/dist/version.d.ts +2 -0
  346. package/dist/version.d.ts.map +1 -0
  347. package/dist/version.js +5 -0
  348. package/dist/version.js.map +1 -0
  349. package/dist/watcher.d.ts +6 -3
  350. package/dist/watcher.d.ts.map +1 -1
  351. package/dist/watcher.js +49 -10
  352. package/dist/watcher.js.map +1 -1
  353. package/package.json +47 -7
  354. package/templates/cloudflare/worker.ts.template +381 -0
  355. package/templates/cloudflare/wrangler.toml.template +9 -0
  356. package/dist/base.d.ts +0 -58
  357. package/dist/base.d.ts.map +0 -1
  358. package/dist/base.js +0 -92
  359. package/dist/base.js.map +0 -1
  360. package/dist/dependency-manager.d.ts +0 -49
  361. package/dist/dependency-manager.d.ts.map +0 -1
  362. package/dist/dependency-manager.js +0 -165
  363. package/dist/dependency-manager.js.map +0 -1
  364. package/dist/registry-manager.d.ts +0 -76
  365. package/dist/registry-manager.d.ts.map +0 -1
  366. package/dist/registry-manager.js +0 -220
  367. package/dist/registry-manager.js.map +0 -1
  368. package/dist/schema-extractor.d.ts +0 -110
  369. package/dist/schema-extractor.d.ts.map +0 -1
  370. package/dist/schema-extractor.js +0 -727
  371. package/dist/schema-extractor.js.map +0 -1
  372. package/dist/test-marketplace-sources.d.ts +0 -5
  373. package/dist/test-marketplace-sources.d.ts.map +0 -1
  374. package/dist/test-marketplace-sources.js +0 -53
  375. package/dist/test-marketplace-sources.js.map +0 -1
  376. package/dist/types.d.ts +0 -109
  377. package/dist/types.d.ts.map +0 -1
  378. package/dist/types.js +0 -12
  379. package/dist/types.js.map +0 -1
@@ -0,0 +1,580 @@
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
+ import { subscribeChannel, publishToChannel, acquireLock, releaseLock, listLocks, scheduleJob, unscheduleJob, listJobs, pingDaemon, } from '../daemon/client.js';
11
+ import { createLogger } from '../shared/logger.js';
12
+ const logger = createLogger({ component: 'daemon-tools' });
13
+ // ════════════════════════════════════════════════════════════════════════════════
14
+ // TOOL DEFINITIONS
15
+ // ════════════════════════════════════════════════════════════════════════════════
16
+ export const DAEMON_TOOLS = [
17
+ // Pub/Sub Tools
18
+ {
19
+ name: 'beam/daemon/subscribe',
20
+ description: 'Subscribe to daemon event channels. Receive notifications when messages are published to matching channels.',
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ photon: {
25
+ type: 'string',
26
+ description: 'Photon name to subscribe to',
27
+ },
28
+ patterns: {
29
+ type: 'array',
30
+ items: { type: 'string' },
31
+ description: 'Channel patterns to subscribe to (e.g., "kanban:*", "jobs:completed")',
32
+ },
33
+ },
34
+ required: ['photon', 'patterns'],
35
+ },
36
+ },
37
+ {
38
+ name: 'beam/daemon/unsubscribe',
39
+ description: 'Unsubscribe from daemon event channels.',
40
+ inputSchema: {
41
+ type: 'object',
42
+ properties: {
43
+ photon: {
44
+ type: 'string',
45
+ description: 'Photon name to unsubscribe from',
46
+ },
47
+ patterns: {
48
+ type: 'array',
49
+ items: { type: 'string' },
50
+ description: 'Channel patterns to unsubscribe from',
51
+ },
52
+ },
53
+ required: ['photon', 'patterns'],
54
+ },
55
+ },
56
+ {
57
+ name: 'beam/daemon/publish',
58
+ description: 'Publish a message to a daemon channel. All subscribers will receive the message.',
59
+ inputSchema: {
60
+ type: 'object',
61
+ properties: {
62
+ photon: {
63
+ type: 'string',
64
+ description: 'Photon name',
65
+ },
66
+ channel: {
67
+ type: 'string',
68
+ description: 'Channel name to publish to',
69
+ },
70
+ message: {
71
+ description: 'Message payload (any JSON-serializable value)',
72
+ },
73
+ },
74
+ required: ['photon', 'channel', 'message'],
75
+ },
76
+ },
77
+ // Lock Tools
78
+ {
79
+ name: 'beam/daemon/lock',
80
+ description: 'Acquire a distributed lock. Returns true if acquired, false if already held by another session.',
81
+ inputSchema: {
82
+ type: 'object',
83
+ properties: {
84
+ photon: {
85
+ type: 'string',
86
+ description: 'Photon name',
87
+ },
88
+ name: {
89
+ type: 'string',
90
+ description: 'Lock name (e.g., "board:write")',
91
+ },
92
+ timeout: {
93
+ type: 'number',
94
+ description: 'Lock timeout in milliseconds (default: 30000)',
95
+ },
96
+ },
97
+ required: ['photon', 'name'],
98
+ },
99
+ },
100
+ {
101
+ name: 'beam/daemon/unlock',
102
+ description: 'Release a distributed lock. Returns true if released, false if not held by this session.',
103
+ inputSchema: {
104
+ type: 'object',
105
+ properties: {
106
+ photon: {
107
+ type: 'string',
108
+ description: 'Photon name',
109
+ },
110
+ name: {
111
+ type: 'string',
112
+ description: 'Lock name to release',
113
+ },
114
+ },
115
+ required: ['photon', 'name'],
116
+ },
117
+ },
118
+ {
119
+ name: 'beam/daemon/locks',
120
+ description: 'List all active locks for a photon.',
121
+ inputSchema: {
122
+ type: 'object',
123
+ properties: {
124
+ photon: {
125
+ type: 'string',
126
+ description: 'Photon name',
127
+ },
128
+ },
129
+ required: ['photon'],
130
+ },
131
+ },
132
+ // Scheduled Job Tools
133
+ {
134
+ name: 'beam/daemon/schedule',
135
+ description: 'Schedule a recurring job using cron syntax.',
136
+ inputSchema: {
137
+ type: 'object',
138
+ properties: {
139
+ photon: {
140
+ type: 'string',
141
+ description: 'Photon name',
142
+ },
143
+ jobId: {
144
+ type: 'string',
145
+ description: 'Unique job identifier',
146
+ },
147
+ method: {
148
+ type: 'string',
149
+ description: 'Method name to execute',
150
+ },
151
+ cron: {
152
+ type: 'string',
153
+ description: 'Cron expression (e.g., "0 0 * * *" for daily at midnight)',
154
+ },
155
+ args: {
156
+ type: 'object',
157
+ description: 'Arguments to pass to the method',
158
+ },
159
+ },
160
+ required: ['photon', 'jobId', 'method', 'cron'],
161
+ },
162
+ },
163
+ {
164
+ name: 'beam/daemon/unschedule',
165
+ description: 'Remove a scheduled job.',
166
+ inputSchema: {
167
+ type: 'object',
168
+ properties: {
169
+ photon: {
170
+ type: 'string',
171
+ description: 'Photon name',
172
+ },
173
+ jobId: {
174
+ type: 'string',
175
+ description: 'Job ID to remove',
176
+ },
177
+ },
178
+ required: ['photon', 'jobId'],
179
+ },
180
+ },
181
+ {
182
+ name: 'beam/daemon/jobs',
183
+ description: 'List all scheduled jobs for a photon.',
184
+ inputSchema: {
185
+ type: 'object',
186
+ properties: {
187
+ photon: {
188
+ type: 'string',
189
+ description: 'Photon name',
190
+ },
191
+ },
192
+ required: ['photon'],
193
+ },
194
+ },
195
+ // Status Tool
196
+ {
197
+ name: 'beam/daemon/status',
198
+ description: 'Check daemon status and get summary of active subscriptions, locks, and jobs.',
199
+ inputSchema: {
200
+ type: 'object',
201
+ properties: {
202
+ photon: {
203
+ type: 'string',
204
+ description: 'Photon name',
205
+ },
206
+ },
207
+ required: ['photon'],
208
+ },
209
+ },
210
+ ];
211
+ // ════════════════════════════════════════════════════════════════════════════════
212
+ // SUBSCRIPTION MANAGER
213
+ // ════════════════════════════════════════════════════════════════════════════════
214
+ /**
215
+ * Manages subscriptions per MCP session
216
+ * Maps sessionId → photon → subscriptions
217
+ */
218
+ class SubscriptionManager {
219
+ sessions = new Map();
220
+ /**
221
+ * Subscribe to channels for a session
222
+ */
223
+ async subscribe(sessionId, photonName, patterns, onMessage) {
224
+ // Get or create session map
225
+ if (!this.sessions.has(sessionId)) {
226
+ this.sessions.set(sessionId, new Map());
227
+ }
228
+ const sessionPhotons = this.sessions.get(sessionId);
229
+ // Get or create photon subscriptions
230
+ if (!sessionPhotons.has(photonName)) {
231
+ sessionPhotons.set(photonName, { patterns: [], unsubscribeFns: new Map() });
232
+ }
233
+ const subs = sessionPhotons.get(photonName);
234
+ const subscribed = [];
235
+ const errors = [];
236
+ for (const pattern of patterns) {
237
+ // Skip if already subscribed
238
+ if (subs.patterns.includes(pattern)) {
239
+ subscribed.push(pattern);
240
+ continue;
241
+ }
242
+ try {
243
+ const unsubscribe = await subscribeChannel(photonName, pattern, (message) => {
244
+ onMessage(pattern, message);
245
+ });
246
+ subs.patterns.push(pattern);
247
+ subs.unsubscribeFns.set(pattern, unsubscribe);
248
+ subscribed.push(pattern);
249
+ logger.debug(`Subscribed to ${photonName}/${pattern} for session ${sessionId}`);
250
+ }
251
+ catch (error) {
252
+ errors.push(`Failed to subscribe to ${pattern}: ${error}`);
253
+ logger.warn(`Subscribe error for ${photonName}/${pattern}`, { error });
254
+ }
255
+ }
256
+ return { subscribed, errors };
257
+ }
258
+ /**
259
+ * Unsubscribe from channels for a session
260
+ */
261
+ unsubscribe(sessionId, photonName, patterns) {
262
+ const sessionPhotons = this.sessions.get(sessionId);
263
+ if (!sessionPhotons) {
264
+ return { unsubscribed: [], notFound: patterns };
265
+ }
266
+ const subs = sessionPhotons.get(photonName);
267
+ if (!subs) {
268
+ return { unsubscribed: [], notFound: patterns };
269
+ }
270
+ const unsubscribed = [];
271
+ const notFound = [];
272
+ for (const pattern of patterns) {
273
+ const unsubFn = subs.unsubscribeFns.get(pattern);
274
+ if (unsubFn) {
275
+ try {
276
+ unsubFn();
277
+ }
278
+ catch {
279
+ // Ignore unsubscribe errors
280
+ }
281
+ subs.unsubscribeFns.delete(pattern);
282
+ subs.patterns = subs.patterns.filter((p) => p !== pattern);
283
+ unsubscribed.push(pattern);
284
+ logger.debug(`Unsubscribed from ${photonName}/${pattern} for session ${sessionId}`);
285
+ }
286
+ else {
287
+ notFound.push(pattern);
288
+ }
289
+ }
290
+ return { unsubscribed, notFound };
291
+ }
292
+ /**
293
+ * Clean up all subscriptions for a session
294
+ */
295
+ cleanupSession(sessionId) {
296
+ const sessionPhotons = this.sessions.get(sessionId);
297
+ if (!sessionPhotons)
298
+ return;
299
+ for (const [photonName, subs] of sessionPhotons) {
300
+ for (const [pattern, unsubFn] of subs.unsubscribeFns) {
301
+ try {
302
+ unsubFn();
303
+ logger.debug(`Cleaned up subscription ${photonName}/${pattern} for session ${sessionId}`);
304
+ }
305
+ catch {
306
+ // Ignore cleanup errors
307
+ }
308
+ }
309
+ }
310
+ this.sessions.delete(sessionId);
311
+ }
312
+ /**
313
+ * Get subscription info for a session
314
+ */
315
+ getSessionSubscriptions(sessionId) {
316
+ const result = new Map();
317
+ const sessionPhotons = this.sessions.get(sessionId);
318
+ if (!sessionPhotons)
319
+ return result;
320
+ for (const [photonName, subs] of sessionPhotons) {
321
+ result.set(photonName, [...subs.patterns]);
322
+ }
323
+ return result;
324
+ }
325
+ }
326
+ // Global subscription manager
327
+ const subscriptionManager = new SubscriptionManager();
328
+ // ════════════════════════════════════════════════════════════════════════════════
329
+ // TOOL HANDLERS
330
+ // ════════════════════════════════════════════════════════════════════════════════
331
+ /**
332
+ * Handle daemon tool calls
333
+ */
334
+ export async function handleDaemonTool(toolName, args, sessionId, sendNotification) {
335
+ try {
336
+ switch (toolName) {
337
+ // ─────────────────────────────────────────────────────────────────────
338
+ // Pub/Sub
339
+ // ─────────────────────────────────────────────────────────────────────
340
+ case 'beam/daemon/subscribe': {
341
+ const photon = args.photon;
342
+ const patterns = args.patterns;
343
+ const result = await subscriptionManager.subscribe(sessionId, photon, patterns, (channel, message) => {
344
+ // Bridge daemon message to MCP notification
345
+ sendNotification('notifications/daemon/channel', {
346
+ photon,
347
+ channel,
348
+ message,
349
+ timestamp: Date.now(),
350
+ });
351
+ });
352
+ return {
353
+ content: [
354
+ {
355
+ type: 'text',
356
+ text: JSON.stringify({
357
+ success: true,
358
+ subscribed: result.subscribed,
359
+ errors: result.errors.length > 0 ? result.errors : undefined,
360
+ }, null, 2),
361
+ },
362
+ ],
363
+ };
364
+ }
365
+ case 'beam/daemon/unsubscribe': {
366
+ const photon = args.photon;
367
+ const patterns = args.patterns;
368
+ const result = subscriptionManager.unsubscribe(sessionId, photon, patterns);
369
+ return {
370
+ content: [
371
+ {
372
+ type: 'text',
373
+ text: JSON.stringify({
374
+ success: true,
375
+ unsubscribed: result.unsubscribed,
376
+ notFound: result.notFound.length > 0 ? result.notFound : undefined,
377
+ }, null, 2),
378
+ },
379
+ ],
380
+ };
381
+ }
382
+ case 'beam/daemon/publish': {
383
+ const photon = args.photon;
384
+ const channel = args.channel;
385
+ const message = args.message;
386
+ await publishToChannel(photon, channel, message);
387
+ return {
388
+ content: [
389
+ {
390
+ type: 'text',
391
+ text: JSON.stringify({
392
+ success: true,
393
+ channel,
394
+ published: true,
395
+ }, null, 2),
396
+ },
397
+ ],
398
+ };
399
+ }
400
+ // ─────────────────────────────────────────────────────────────────────
401
+ // Locks
402
+ // ─────────────────────────────────────────────────────────────────────
403
+ case 'beam/daemon/lock': {
404
+ const photon = args.photon;
405
+ const name = args.name;
406
+ const timeout = args.timeout;
407
+ const acquired = await acquireLock(photon, name, timeout);
408
+ return {
409
+ content: [
410
+ {
411
+ type: 'text',
412
+ text: JSON.stringify({
413
+ success: true,
414
+ lock: name,
415
+ acquired,
416
+ }, null, 2),
417
+ },
418
+ ],
419
+ };
420
+ }
421
+ case 'beam/daemon/unlock': {
422
+ const photon = args.photon;
423
+ const name = args.name;
424
+ const released = await releaseLock(photon, name);
425
+ return {
426
+ content: [
427
+ {
428
+ type: 'text',
429
+ text: JSON.stringify({
430
+ success: true,
431
+ lock: name,
432
+ released,
433
+ }, null, 2),
434
+ },
435
+ ],
436
+ };
437
+ }
438
+ case 'beam/daemon/locks': {
439
+ const photon = args.photon;
440
+ const locks = await listLocks(photon);
441
+ return {
442
+ content: [
443
+ {
444
+ type: 'text',
445
+ text: JSON.stringify({
446
+ success: true,
447
+ locks,
448
+ }, null, 2),
449
+ },
450
+ ],
451
+ };
452
+ }
453
+ // ─────────────────────────────────────────────────────────────────────
454
+ // Scheduled Jobs
455
+ // ─────────────────────────────────────────────────────────────────────
456
+ case 'beam/daemon/schedule': {
457
+ const photon = args.photon;
458
+ const jobId = args.jobId;
459
+ const method = args.method;
460
+ const cron = args.cron;
461
+ const jobArgs = args.args;
462
+ const result = await scheduleJob(photon, jobId, method, cron, jobArgs);
463
+ return {
464
+ content: [
465
+ {
466
+ type: 'text',
467
+ text: JSON.stringify({
468
+ success: true,
469
+ jobId,
470
+ scheduled: result.scheduled,
471
+ nextRun: result.nextRun ? new Date(result.nextRun).toISOString() : undefined,
472
+ }, null, 2),
473
+ },
474
+ ],
475
+ };
476
+ }
477
+ case 'beam/daemon/unschedule': {
478
+ const photon = args.photon;
479
+ const jobId = args.jobId;
480
+ const unscheduled = await unscheduleJob(photon, jobId);
481
+ return {
482
+ content: [
483
+ {
484
+ type: 'text',
485
+ text: JSON.stringify({
486
+ success: true,
487
+ jobId,
488
+ unscheduled,
489
+ }, null, 2),
490
+ },
491
+ ],
492
+ };
493
+ }
494
+ case 'beam/daemon/jobs': {
495
+ const photon = args.photon;
496
+ const jobs = await listJobs(photon);
497
+ // Format jobs with human-readable dates
498
+ const formattedJobs = jobs.map((job) => ({
499
+ ...job,
500
+ nextRun: job.nextRun ? new Date(job.nextRun).toISOString() : undefined,
501
+ lastRun: job.lastRun ? new Date(job.lastRun).toISOString() : undefined,
502
+ }));
503
+ return {
504
+ content: [
505
+ {
506
+ type: 'text',
507
+ text: JSON.stringify({
508
+ success: true,
509
+ jobs: formattedJobs,
510
+ }, null, 2),
511
+ },
512
+ ],
513
+ };
514
+ }
515
+ // ─────────────────────────────────────────────────────────────────────
516
+ // Status
517
+ // ─────────────────────────────────────────────────────────────────────
518
+ case 'beam/daemon/status': {
519
+ const photon = args.photon;
520
+ const [isAlive, locks, jobs] = await Promise.all([
521
+ pingDaemon(photon),
522
+ listLocks(photon).catch(() => []),
523
+ listJobs(photon).catch(() => []),
524
+ ]);
525
+ const subscriptions = subscriptionManager.getSessionSubscriptions(sessionId);
526
+ const photonSubs = subscriptions.get(photon) || [];
527
+ return {
528
+ content: [
529
+ {
530
+ type: 'text',
531
+ text: JSON.stringify({
532
+ success: true,
533
+ photon,
534
+ daemon: {
535
+ alive: isAlive,
536
+ },
537
+ subscriptions: photonSubs,
538
+ locks: locks.length,
539
+ jobs: jobs.length,
540
+ }, null, 2),
541
+ },
542
+ ],
543
+ };
544
+ }
545
+ default:
546
+ return {
547
+ content: [{ type: 'text', text: `Unknown daemon tool: ${toolName}` }],
548
+ isError: true,
549
+ };
550
+ }
551
+ }
552
+ catch (error) {
553
+ const message = error instanceof Error ? error.message : String(error);
554
+ logger.error(`Daemon tool error: ${toolName}`, { error: message });
555
+ return {
556
+ content: [{ type: 'text', text: `Daemon error: ${message}` }],
557
+ isError: true,
558
+ };
559
+ }
560
+ }
561
+ /**
562
+ * Check if a tool name is a daemon tool
563
+ */
564
+ export function isDaemonTool(toolName) {
565
+ return toolName.startsWith('beam/daemon/');
566
+ }
567
+ /**
568
+ * Clean up subscriptions when MCP session ends
569
+ */
570
+ export function cleanupDaemonSession(sessionId) {
571
+ subscriptionManager.cleanupSession(sessionId);
572
+ logger.debug(`Cleaned up daemon session: ${sessionId}`);
573
+ }
574
+ /**
575
+ * Get all daemon tool definitions
576
+ */
577
+ export function getDaemonTools() {
578
+ return DAEMON_TOOLS;
579
+ }
580
+ //# sourceMappingURL=daemon-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-tools.js","sourceRoot":"","sources":["../../src/auto-ui/daemon-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Photon Design System
3
+ *
4
+ * A design system for AI+Human transaction workflows.
5
+ * Based on Material Design 3 tokens + Apple HIG visual principles.
6
+ *
7
+ * References:
8
+ * - Material Design 3: https://m3.material.io/foundations/design-tokens
9
+ * - Apple HIG: https://developer.apple.com/design/human-interface-guidelines/layout
10
+ */
11
+ export * from './tokens.js';
12
+ export * from './transaction-ui.js';
13
+ /**
14
+ * Generate all CSS for the Photon Design System
15
+ */
16
+ export declare function generateDesignSystemCSS(): string;
17
+ /**
18
+ * Generate all JavaScript for the Photon Design System
19
+ */
20
+ export declare function generateDesignSystemJS(): string;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/design-system/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AAKpC;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Photon Design System
3
+ *
4
+ * A design system for AI+Human transaction workflows.
5
+ * Based on Material Design 3 tokens + Apple HIG visual principles.
6
+ *
7
+ * References:
8
+ * - Material Design 3: https://m3.material.io/foundations/design-tokens
9
+ * - Apple HIG: https://developer.apple.com/design/human-interface-guidelines/layout
10
+ */
11
+ export * from './tokens.js';
12
+ export * from './transaction-ui.js';
13
+ import { generateTokensCSS } from './tokens.js';
14
+ import { generateTransactionCSS, generateTransactionJS } from './transaction-ui.js';
15
+ /**
16
+ * Generate all CSS for the Photon Design System
17
+ */
18
+ export function generateDesignSystemCSS() {
19
+ return generateTokensCSS() + '\n' + generateTransactionCSS();
20
+ }
21
+ /**
22
+ * Generate all JavaScript for the Photon Design System
23
+ */
24
+ export function generateDesignSystemJS() {
25
+ return generateTransactionJS();
26
+ }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auto-ui/design-system/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEpF;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,iBAAiB,EAAE,GAAG,IAAI,GAAG,sBAAsB,EAAE,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Photon Design System - Design Tokens
3
+ *
4
+ * Re-exports from @portel/photon-core's design-system subpath.
5
+ * Uses the subpath import to avoid pulling in Node.js dependencies
6
+ * (SchemaExtractor, fs, etc.) that would break browser bundling.
7
+ */
8
+ export { spacing, spacingAliases, fontFamily, fontSize, lineHeight, fontWeight, colorsDark, colorsLight, colors, type ThemeMode, type ThemeColors, getThemeColors, getThemeTokens, elevation, radius, duration, easing, touchTarget, zIndex, generateTokensCSS, } from '@portel/photon-core/design-system/tokens';
9
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/auto-ui/design-system/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEL,OAAO,EACP,cAAc,EAGd,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EAGV,UAAU,EACV,WAAW,EACX,MAAM,EAGN,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,cAAc,EACd,cAAc,EAGd,SAAS,EAGT,MAAM,EAGN,QAAQ,EACR,MAAM,EAGN,WAAW,EAGX,MAAM,EAGN,iBAAiB,GAClB,MAAM,0CAA0C,CAAC"}