@treenity/mods 3.0.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.
- package/board/board.test.ts +212 -0
- package/board/client.ts +1 -0
- package/board/seed.ts +26 -0
- package/board/server.ts +5 -0
- package/board/types.ts +87 -0
- package/board/view.tsx +574 -0
- package/brahman/CLAUDE.md +18 -0
- package/brahman/brahman.test.ts +855 -0
- package/brahman/client.ts +2 -0
- package/brahman/helpers.ts +374 -0
- package/brahman/server.ts +2 -0
- package/brahman/service.ts +328 -0
- package/brahman/types.ts +727 -0
- package/brahman/view.tsx +73 -0
- package/brahman/views/action-cards.tsx +615 -0
- package/brahman/views/bot-view.tsx +76 -0
- package/brahman/views/chat-editor.tsx +782 -0
- package/brahman/views/chat-preview.tsx +266 -0
- package/brahman/views/menu-editor.tsx +451 -0
- package/brahman/views/page-layout.tsx +285 -0
- package/brahman/views/tstring-input.tsx +84 -0
- package/cafe/CLAUDE.md +7 -0
- package/cafe/seed.ts +8 -0
- package/cafe/server.ts +2 -0
- package/cafe/types.ts +32 -0
- package/canary/seed.ts +8 -0
- package/canary/server.ts +3 -0
- package/canary/service.ts +101 -0
- package/canary/types.ts +16 -0
- package/dist/board/client.d.ts +2 -0
- package/dist/board/client.d.ts.map +1 -0
- package/dist/board/client.js +2 -0
- package/dist/board/client.js.map +1 -0
- package/dist/board/seed.d.ts +2 -0
- package/dist/board/seed.d.ts.map +1 -0
- package/dist/board/seed.js +23 -0
- package/dist/board/seed.js.map +1 -0
- package/dist/board/server.d.ts +3 -0
- package/dist/board/server.d.ts.map +1 -0
- package/dist/board/server.js +5 -0
- package/dist/board/server.js.map +1 -0
- package/dist/board/types.d.ts +45 -0
- package/dist/board/types.d.ts.map +1 -0
- package/dist/board/types.js +82 -0
- package/dist/board/types.js.map +1 -0
- package/dist/board/view.d.ts +2 -0
- package/dist/board/view.d.ts.map +1 -0
- package/dist/board/view.js +254 -0
- package/dist/board/view.js.map +1 -0
- package/dist/brahman/client.d.ts +3 -0
- package/dist/brahman/client.d.ts.map +1 -0
- package/dist/brahman/client.js +3 -0
- package/dist/brahman/client.js.map +1 -0
- package/dist/brahman/helpers.d.ts +51 -0
- package/dist/brahman/helpers.d.ts.map +1 -0
- package/dist/brahman/helpers.js +321 -0
- package/dist/brahman/helpers.js.map +1 -0
- package/dist/brahman/server.d.ts +3 -0
- package/dist/brahman/server.d.ts.map +1 -0
- package/dist/brahman/server.js +3 -0
- package/dist/brahman/server.js.map +1 -0
- package/dist/brahman/service.d.ts +2 -0
- package/dist/brahman/service.d.ts.map +1 -0
- package/dist/brahman/service.js +310 -0
- package/dist/brahman/service.js.map +1 -0
- package/dist/brahman/types.d.ts +335 -0
- package/dist/brahman/types.d.ts.map +1 -0
- package/dist/brahman/types.js +633 -0
- package/dist/brahman/types.js.map +1 -0
- package/dist/brahman/view.d.ts +2 -0
- package/dist/brahman/view.d.ts.map +1 -0
- package/dist/brahman/view.js +47 -0
- package/dist/brahman/view.js.map +1 -0
- package/dist/brahman/views/action-cards.d.ts +60 -0
- package/dist/brahman/views/action-cards.d.ts.map +1 -0
- package/dist/brahman/views/action-cards.js +283 -0
- package/dist/brahman/views/action-cards.js.map +1 -0
- package/dist/brahman/views/bot-view.d.ts +5 -0
- package/dist/brahman/views/bot-view.d.ts.map +1 -0
- package/dist/brahman/views/bot-view.js +14 -0
- package/dist/brahman/views/bot-view.js.map +1 -0
- package/dist/brahman/views/chat-editor.d.ts +5 -0
- package/dist/brahman/views/chat-editor.d.ts.map +1 -0
- package/dist/brahman/views/chat-editor.js +306 -0
- package/dist/brahman/views/chat-editor.js.map +1 -0
- package/dist/brahman/views/chat-preview.d.ts +5 -0
- package/dist/brahman/views/chat-preview.d.ts.map +1 -0
- package/dist/brahman/views/chat-preview.js +145 -0
- package/dist/brahman/views/chat-preview.js.map +1 -0
- package/dist/brahman/views/menu-editor.d.ts +11 -0
- package/dist/brahman/views/menu-editor.d.ts.map +1 -0
- package/dist/brahman/views/menu-editor.js +171 -0
- package/dist/brahman/views/menu-editor.js.map +1 -0
- package/dist/brahman/views/page-layout.d.ts +5 -0
- package/dist/brahman/views/page-layout.d.ts.map +1 -0
- package/dist/brahman/views/page-layout.js +114 -0
- package/dist/brahman/views/page-layout.js.map +1 -0
- package/dist/brahman/views/tstring-input.d.ts +15 -0
- package/dist/brahman/views/tstring-input.d.ts.map +1 -0
- package/dist/brahman/views/tstring-input.js +23 -0
- package/dist/brahman/views/tstring-input.js.map +1 -0
- package/dist/cafe/seed.d.ts +2 -0
- package/dist/cafe/seed.d.ts.map +1 -0
- package/dist/cafe/seed.js +7 -0
- package/dist/cafe/seed.js.map +1 -0
- package/dist/cafe/server.d.ts +3 -0
- package/dist/cafe/server.d.ts.map +1 -0
- package/dist/cafe/server.js +3 -0
- package/dist/cafe/server.js.map +1 -0
- package/dist/cafe/types.d.ts +2 -0
- package/dist/cafe/types.d.ts.map +1 -0
- package/dist/cafe/types.js +31 -0
- package/dist/cafe/types.js.map +1 -0
- package/dist/canary/seed.d.ts +2 -0
- package/dist/canary/seed.d.ts.map +1 -0
- package/dist/canary/seed.js +7 -0
- package/dist/canary/seed.js.map +1 -0
- package/dist/canary/server.d.ts +4 -0
- package/dist/canary/server.d.ts.map +1 -0
- package/dist/canary/server.js +4 -0
- package/dist/canary/server.js.map +1 -0
- package/dist/canary/service.d.ts +2 -0
- package/dist/canary/service.d.ts.map +1 -0
- package/dist/canary/service.js +101 -0
- package/dist/canary/service.js.map +1 -0
- package/dist/canary/types.d.ts +9 -0
- package/dist/canary/types.d.ts.map +1 -0
- package/dist/canary/types.js +13 -0
- package/dist/canary/types.js.map +1 -0
- package/dist/doc/client.d.ts +3 -0
- package/dist/doc/client.d.ts.map +1 -0
- package/dist/doc/client.js +5 -0
- package/dist/doc/client.js.map +1 -0
- package/dist/doc/fs-codec.d.ts +2 -0
- package/dist/doc/fs-codec.d.ts.map +1 -0
- package/dist/doc/fs-codec.js +44 -0
- package/dist/doc/fs-codec.js.map +1 -0
- package/dist/doc/markdown.d.ts +13 -0
- package/dist/doc/markdown.d.ts.map +1 -0
- package/dist/doc/markdown.js +250 -0
- package/dist/doc/markdown.js.map +1 -0
- package/dist/doc/prefab.d.ts +2 -0
- package/dist/doc/prefab.d.ts.map +1 -0
- package/dist/doc/prefab.js +23 -0
- package/dist/doc/prefab.js.map +1 -0
- package/dist/doc/renderers.d.ts +2 -0
- package/dist/doc/renderers.d.ts.map +1 -0
- package/dist/doc/renderers.js +94 -0
- package/dist/doc/renderers.js.map +1 -0
- package/dist/doc/seed.d.ts +2 -0
- package/dist/doc/seed.d.ts.map +1 -0
- package/dist/doc/seed.js +9 -0
- package/dist/doc/seed.js.map +1 -0
- package/dist/doc/server.d.ts +6 -0
- package/dist/doc/server.d.ts.map +1 -0
- package/dist/doc/server.js +6 -0
- package/dist/doc/server.js.map +1 -0
- package/dist/doc/slash-command.d.ts +3 -0
- package/dist/doc/slash-command.d.ts.map +1 -0
- package/dist/doc/slash-command.js +123 -0
- package/dist/doc/slash-command.js.map +1 -0
- package/dist/doc/slash-menu.d.ts +15 -0
- package/dist/doc/slash-menu.d.ts.map +1 -0
- package/dist/doc/slash-menu.js +54 -0
- package/dist/doc/slash-menu.js.map +1 -0
- package/dist/doc/text.d.ts +2 -0
- package/dist/doc/text.d.ts.map +1 -0
- package/dist/doc/text.js +22 -0
- package/dist/doc/text.js.map +1 -0
- package/dist/doc/toolbar.d.ts +5 -0
- package/dist/doc/toolbar.d.ts.map +1 -0
- package/dist/doc/toolbar.js +15 -0
- package/dist/doc/toolbar.js.map +1 -0
- package/dist/doc/treenity-block-view.d.ts +2 -0
- package/dist/doc/treenity-block-view.d.ts.map +1 -0
- package/dist/doc/treenity-block-view.js +37 -0
- package/dist/doc/treenity-block-view.js.map +1 -0
- package/dist/doc/treenity-block.d.ts +3 -0
- package/dist/doc/treenity-block.d.ts.map +1 -0
- package/dist/doc/treenity-block.js +27 -0
- package/dist/doc/treenity-block.js.map +1 -0
- package/dist/doc/types.d.ts +2 -0
- package/dist/doc/types.d.ts.map +1 -0
- package/dist/doc/types.js +10 -0
- package/dist/doc/types.js.map +1 -0
- package/dist/launcher/client.d.ts +5 -0
- package/dist/launcher/client.d.ts.map +1 -0
- package/dist/launcher/client.js +5 -0
- package/dist/launcher/client.js.map +1 -0
- package/dist/launcher/icons.d.ts +2 -0
- package/dist/launcher/icons.d.ts.map +1 -0
- package/dist/launcher/icons.js +57 -0
- package/dist/launcher/icons.js.map +1 -0
- package/dist/launcher/seed.d.ts +2 -0
- package/dist/launcher/seed.d.ts.map +1 -0
- package/dist/launcher/seed.js +36 -0
- package/dist/launcher/seed.js.map +1 -0
- package/dist/launcher/server.d.ts +3 -0
- package/dist/launcher/server.d.ts.map +1 -0
- package/dist/launcher/server.js +3 -0
- package/dist/launcher/server.js.map +1 -0
- package/dist/launcher/types.d.ts +21 -0
- package/dist/launcher/types.d.ts.map +1 -0
- package/dist/launcher/types.js +47 -0
- package/dist/launcher/types.js.map +1 -0
- package/dist/launcher/view.d.ts +2 -0
- package/dist/launcher/view.d.ts.map +1 -0
- package/dist/launcher/view.js +187 -0
- package/dist/launcher/view.js.map +1 -0
- package/dist/launcher/widgets.d.ts +2 -0
- package/dist/launcher/widgets.d.ts.map +1 -0
- package/dist/launcher/widgets.js +73 -0
- package/dist/launcher/widgets.js.map +1 -0
- package/dist/mindmap/branch.d.ts +17 -0
- package/dist/mindmap/branch.d.ts.map +1 -0
- package/dist/mindmap/branch.js +47 -0
- package/dist/mindmap/branch.js.map +1 -0
- package/dist/mindmap/client.d.ts +3 -0
- package/dist/mindmap/client.d.ts.map +1 -0
- package/dist/mindmap/client.js +3 -0
- package/dist/mindmap/client.js.map +1 -0
- package/dist/mindmap/radial-tree.d.ts +14 -0
- package/dist/mindmap/radial-tree.d.ts.map +1 -0
- package/dist/mindmap/radial-tree.js +184 -0
- package/dist/mindmap/radial-tree.js.map +1 -0
- package/dist/mindmap/sidebar.d.ts +8 -0
- package/dist/mindmap/sidebar.d.ts.map +1 -0
- package/dist/mindmap/sidebar.js +24 -0
- package/dist/mindmap/sidebar.js.map +1 -0
- package/dist/mindmap/types.d.ts +8 -0
- package/dist/mindmap/types.d.ts.map +1 -0
- package/dist/mindmap/types.js +10 -0
- package/dist/mindmap/types.js.map +1 -0
- package/dist/mindmap/use-tree-data.d.ts +14 -0
- package/dist/mindmap/use-tree-data.d.ts.map +1 -0
- package/dist/mindmap/use-tree-data.js +95 -0
- package/dist/mindmap/use-tree-data.js.map +1 -0
- package/dist/mindmap/view.d.ts +3 -0
- package/dist/mindmap/view.d.ts.map +1 -0
- package/dist/mindmap/view.js +141 -0
- package/dist/mindmap/view.js.map +1 -0
- package/dist/sensor-demo/client.d.ts +2 -0
- package/dist/sensor-demo/client.d.ts.map +1 -0
- package/dist/sensor-demo/client.js +2 -0
- package/dist/sensor-demo/client.js.map +1 -0
- package/dist/sensor-demo/server.d.ts +2 -0
- package/dist/sensor-demo/server.d.ts.map +1 -0
- package/dist/sensor-demo/server.js +2 -0
- package/dist/sensor-demo/server.js.map +1 -0
- package/dist/sensor-demo/service.d.ts +2 -0
- package/dist/sensor-demo/service.d.ts.map +1 -0
- package/dist/sensor-demo/service.js +27 -0
- package/dist/sensor-demo/service.js.map +1 -0
- package/dist/sensor-demo/types.d.ts +15 -0
- package/dist/sensor-demo/types.d.ts.map +1 -0
- package/dist/sensor-demo/types.js +18 -0
- package/dist/sensor-demo/types.js.map +1 -0
- package/dist/sensor-demo/view.d.ts +2 -0
- package/dist/sensor-demo/view.d.ts.map +1 -0
- package/dist/sensor-demo/view.js +33 -0
- package/dist/sensor-demo/view.js.map +1 -0
- package/dist/sensor-generator/action.d.ts +2 -0
- package/dist/sensor-generator/action.d.ts.map +1 -0
- package/dist/sensor-generator/action.js +23 -0
- package/dist/sensor-generator/action.js.map +1 -0
- package/dist/sensor-generator/client.d.ts +2 -0
- package/dist/sensor-generator/client.d.ts.map +1 -0
- package/dist/sensor-generator/client.js +2 -0
- package/dist/sensor-generator/client.js.map +1 -0
- package/dist/sensor-generator/server.d.ts +2 -0
- package/dist/sensor-generator/server.d.ts.map +1 -0
- package/dist/sensor-generator/server.js +2 -0
- package/dist/sensor-generator/server.js.map +1 -0
- package/dist/sensor-generator/view.d.ts +2 -0
- package/dist/sensor-generator/view.d.ts.map +1 -0
- package/dist/sensor-generator/view.js +64 -0
- package/dist/sensor-generator/view.js.map +1 -0
- package/dist/sim/client.d.ts +2 -0
- package/dist/sim/client.d.ts.map +1 -0
- package/dist/sim/client.js +2 -0
- package/dist/sim/client.js.map +1 -0
- package/dist/sim/seed.d.ts +2 -0
- package/dist/sim/seed.d.ts.map +1 -0
- package/dist/sim/seed.js +50 -0
- package/dist/sim/seed.js.map +1 -0
- package/dist/sim/server.d.ts +3 -0
- package/dist/sim/server.d.ts.map +1 -0
- package/dist/sim/server.js +3 -0
- package/dist/sim/server.js.map +1 -0
- package/dist/sim/service.d.ts +4 -0
- package/dist/sim/service.d.ts.map +1 -0
- package/dist/sim/service.js +528 -0
- package/dist/sim/service.js.map +1 -0
- package/dist/sim/types.d.ts +63 -0
- package/dist/sim/types.d.ts.map +1 -0
- package/dist/sim/types.js +57 -0
- package/dist/sim/types.js.map +1 -0
- package/dist/sim/view.d.ts +2 -0
- package/dist/sim/view.d.ts.map +1 -0
- package/dist/sim/view.js +205 -0
- package/dist/sim/view.js.map +1 -0
- package/dist/table/client.d.ts +4 -0
- package/dist/table/client.d.ts.map +1 -0
- package/dist/table/client.js +4 -0
- package/dist/table/client.js.map +1 -0
- package/dist/table/edit.d.ts +2 -0
- package/dist/table/edit.d.ts.map +1 -0
- package/dist/table/edit.js +115 -0
- package/dist/table/edit.js.map +1 -0
- package/dist/table/server.d.ts +2 -0
- package/dist/table/server.d.ts.map +1 -0
- package/dist/table/server.js +2 -0
- package/dist/table/server.js.map +1 -0
- package/dist/table/types.d.ts +18 -0
- package/dist/table/types.d.ts.map +1 -0
- package/dist/table/types.js +13 -0
- package/dist/table/types.js.map +1 -0
- package/dist/table/use-debounced-sync.d.ts +8 -0
- package/dist/table/use-debounced-sync.d.ts.map +1 -0
- package/dist/table/use-debounced-sync.js +56 -0
- package/dist/table/use-debounced-sync.js.map +1 -0
- package/dist/table/view.d.ts +2 -0
- package/dist/table/view.d.ts.map +1 -0
- package/dist/table/view.js +199 -0
- package/dist/table/view.js.map +1 -0
- package/dist/tasks/server.d.ts +2 -0
- package/dist/tasks/server.d.ts.map +1 -0
- package/dist/tasks/server.js +2 -0
- package/dist/tasks/server.js.map +1 -0
- package/dist/tasks/types.d.ts +22 -0
- package/dist/tasks/types.d.ts.map +1 -0
- package/dist/tasks/types.js +34 -0
- package/dist/tasks/types.js.map +1 -0
- package/dist/three/client.d.ts +2 -0
- package/dist/three/client.d.ts.map +1 -0
- package/dist/three/client.js +2 -0
- package/dist/three/client.js.map +1 -0
- package/dist/three/seed.d.ts +2 -0
- package/dist/three/seed.d.ts.map +1 -0
- package/dist/three/seed.js +45 -0
- package/dist/three/seed.js.map +1 -0
- package/dist/three/server.d.ts +3 -0
- package/dist/three/server.d.ts.map +1 -0
- package/dist/three/server.js +3 -0
- package/dist/three/server.js.map +1 -0
- package/dist/three/types.d.ts +178 -0
- package/dist/three/types.d.ts.map +1 -0
- package/dist/three/types.js +209 -0
- package/dist/three/types.js.map +1 -0
- package/dist/three/view.d.ts +2 -0
- package/dist/three/view.d.ts.map +1 -0
- package/dist/three/view.js +307 -0
- package/dist/three/view.js.map +1 -0
- package/dist/todo/client.d.ts +3 -0
- package/dist/todo/client.d.ts.map +1 -0
- package/dist/todo/client.js +3 -0
- package/dist/todo/client.js.map +1 -0
- package/dist/todo/seed.d.ts +2 -0
- package/dist/todo/seed.d.ts.map +1 -0
- package/dist/todo/seed.js +8 -0
- package/dist/todo/seed.js.map +1 -0
- package/dist/todo/server.d.ts +3 -0
- package/dist/todo/server.d.ts.map +1 -0
- package/dist/todo/server.js +3 -0
- package/dist/todo/server.js.map +1 -0
- package/dist/todo/types.d.ts +15 -0
- package/dist/todo/types.d.ts.map +1 -0
- package/dist/todo/types.js +29 -0
- package/dist/todo/types.js.map +1 -0
- package/dist/todo/view.d.ts +2 -0
- package/dist/todo/view.d.ts.map +1 -0
- package/dist/todo/view.js +27 -0
- package/dist/todo/view.js.map +1 -0
- package/dist/whisper/client.d.ts +2 -0
- package/dist/whisper/client.d.ts.map +1 -0
- package/dist/whisper/client.js +2 -0
- package/dist/whisper/client.js.map +1 -0
- package/dist/whisper/inbox.d.ts +2 -0
- package/dist/whisper/inbox.d.ts.map +1 -0
- package/dist/whisper/inbox.js +50 -0
- package/dist/whisper/inbox.js.map +1 -0
- package/dist/whisper/route.d.ts +10 -0
- package/dist/whisper/route.d.ts.map +1 -0
- package/dist/whisper/route.js +154 -0
- package/dist/whisper/route.js.map +1 -0
- package/dist/whisper/seed.d.ts +2 -0
- package/dist/whisper/seed.d.ts.map +1 -0
- package/dist/whisper/seed.js +14 -0
- package/dist/whisper/seed.js.map +1 -0
- package/dist/whisper/server.d.ts +5 -0
- package/dist/whisper/server.d.ts.map +1 -0
- package/dist/whisper/server.js +5 -0
- package/dist/whisper/server.js.map +1 -0
- package/dist/whisper/service.d.ts +2 -0
- package/dist/whisper/service.d.ts.map +1 -0
- package/dist/whisper/service.js +26 -0
- package/dist/whisper/service.js.map +1 -0
- package/dist/whisper/types.d.ts +38 -0
- package/dist/whisper/types.d.ts.map +1 -0
- package/dist/whisper/types.js +45 -0
- package/dist/whisper/types.js.map +1 -0
- package/dist/whisper/view.d.ts +2 -0
- package/dist/whisper/view.d.ts.map +1 -0
- package/dist/whisper/view.js +40 -0
- package/dist/whisper/view.js.map +1 -0
- package/doc/CLAUDE.md +49 -0
- package/doc/client.ts +5 -0
- package/doc/editor.css +283 -0
- package/doc/fs-codec.test.ts +119 -0
- package/doc/fs-codec.ts +50 -0
- package/doc/markdown.test.ts +152 -0
- package/doc/markdown.ts +284 -0
- package/doc/prefab.ts +26 -0
- package/doc/renderers.tsx +126 -0
- package/doc/seed.ts +10 -0
- package/doc/server.ts +5 -0
- package/doc/slash-command.ts +136 -0
- package/doc/slash-menu.tsx +91 -0
- package/doc/text.ts +20 -0
- package/doc/toolbar.tsx +86 -0
- package/doc/treenity-block-view.tsx +116 -0
- package/doc/treenity-block.ts +31 -0
- package/doc/types.ts +10 -0
- package/launcher/client.ts +4 -0
- package/launcher/icons.tsx +234 -0
- package/launcher/launcher.css +64 -0
- package/launcher/seed.ts +41 -0
- package/launcher/server.ts +2 -0
- package/launcher/types.ts +53 -0
- package/launcher/view.tsx +401 -0
- package/launcher/widgets.tsx +171 -0
- package/mindmap/branch.tsx +163 -0
- package/mindmap/client.ts +2 -0
- package/mindmap/mindmap.css +243 -0
- package/mindmap/sidebar.tsx +127 -0
- package/mindmap/types.ts +10 -0
- package/mindmap/view.tsx +247 -0
- package/package.json +75 -0
- package/sensor-demo/CLAUDE.md +3 -0
- package/sensor-demo/client.ts +1 -0
- package/sensor-demo/server.ts +1 -0
- package/sensor-demo/service.ts +27 -0
- package/sensor-demo/types.ts +20 -0
- package/sensor-demo/view.tsx +64 -0
- package/sensor-generator/CLAUDE.md +3 -0
- package/sensor-generator/action.ts +28 -0
- package/sensor-generator/client.ts +1 -0
- package/sensor-generator/server.ts +1 -0
- package/sensor-generator/view.tsx +107 -0
- package/sim/CLAUDE.md +16 -0
- package/sim/client.ts +1 -0
- package/sim/seed.ts +55 -0
- package/sim/server.ts +2 -0
- package/sim/service.ts +594 -0
- package/sim/sim.test.ts +282 -0
- package/sim/types.ts +87 -0
- package/sim/view.tsx +446 -0
- package/table/client.ts +3 -0
- package/table/edit.tsx +241 -0
- package/table/server.ts +1 -0
- package/table/types.ts +22 -0
- package/table/use-debounced-sync.ts +67 -0
- package/table/view.tsx +339 -0
- package/tasks/CLAUDE.md +6 -0
- package/tasks/server.ts +1 -0
- package/tasks/types.ts +36 -0
- package/three/CLAUDE.md +6 -0
- package/three/client.ts +1 -0
- package/three/seed.ts +54 -0
- package/three/server.ts +2 -0
- package/three/types.ts +238 -0
- package/three/view.tsx +453 -0
- package/todo/client.ts +2 -0
- package/todo/seed.ts +9 -0
- package/todo/server.ts +2 -0
- package/todo/types.ts +32 -0
- package/todo/view.tsx +67 -0
- package/whisper/CLAUDE.md +16 -0
- package/whisper/client.ts +1 -0
- package/whisper/inbox.ts +54 -0
- package/whisper/route.ts +182 -0
- package/whisper/seed.ts +15 -0
- package/whisper/server.ts +4 -0
- package/whisper/service.ts +29 -0
- package/whisper/types.ts +51 -0
- package/whisper/view.tsx +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../brahman/view.tsx"],"names":[],"mappings":"AAIA,OAAO,SAAS,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Brahman — view registrations
|
|
2
|
+
// Registers react + react:list handlers for all brahman types
|
|
3
|
+
import { register } from '@treenity/core';
|
|
4
|
+
import './types';
|
|
5
|
+
import { ActionListItem, BackEditor, BroadcastEditor, EmitTextEditor, EvalEditor, FileEditor, ForwardEditor, GetValueEditor, IfElseEditor, KeywordSelectEditor, MessageEditor, OnErrorEditor, PageNavEditor, ParamsEditor, QuestionEditor, RemoveEditor, ResetHistoryEditor, ResetSessionEditor, SelectLanguageEditor, SetValueEditor, TagEditor, } from './views/action-cards';
|
|
6
|
+
import { BotView } from './views/bot-view';
|
|
7
|
+
import { PageChatEditor } from './views/chat-editor';
|
|
8
|
+
import { PageChatPreview } from './views/chat-preview';
|
|
9
|
+
import { PageLayoutView } from './views/page-layout';
|
|
10
|
+
// ── Node-level views (react context) ──
|
|
11
|
+
register('brahman.bot', 'react', BotView);
|
|
12
|
+
register('brahman.page', 'react', PageLayoutView);
|
|
13
|
+
register('brahman.page', 'react:chat', PageChatPreview);
|
|
14
|
+
register('brahman.page', 'react:chat:edit', PageChatEditor);
|
|
15
|
+
register('brahman.action.message', 'react', MessageEditor);
|
|
16
|
+
register('brahman.action.question', 'react', QuestionEditor);
|
|
17
|
+
register('brahman.action.ifelse', 'react', IfElseEditor);
|
|
18
|
+
register('brahman.action.page', 'react', PageNavEditor);
|
|
19
|
+
register('brahman.action.back', 'react', BackEditor);
|
|
20
|
+
register('brahman.action.tag', 'react', TagEditor);
|
|
21
|
+
register('brahman.action.broadcast', 'react', BroadcastEditor);
|
|
22
|
+
register('brahman.action.getvalue', 'react', GetValueEditor);
|
|
23
|
+
register('brahman.action.setvalue', 'react', SetValueEditor);
|
|
24
|
+
register('brahman.action.params', 'react', ParamsEditor);
|
|
25
|
+
register('brahman.action.file', 'react', FileEditor);
|
|
26
|
+
register('brahman.action.eval', 'react', EvalEditor);
|
|
27
|
+
register('brahman.action.remove', 'react', RemoveEditor);
|
|
28
|
+
register('brahman.action.emittext', 'react', EmitTextEditor);
|
|
29
|
+
register('brahman.action.forward', 'react', ForwardEditor);
|
|
30
|
+
register('brahman.action.resetsession', 'react', ResetSessionEditor);
|
|
31
|
+
register('brahman.action.resethistory', 'react', ResetHistoryEditor);
|
|
32
|
+
register('brahman.action.onerror', 'react', OnErrorEditor);
|
|
33
|
+
register('brahman.action.keywordselect', 'react', KeywordSelectEditor);
|
|
34
|
+
register('brahman.action.selectlang', 'react', SelectLanguageEditor);
|
|
35
|
+
// ── Compact list items (react:list context) ──
|
|
36
|
+
const listTypes = [
|
|
37
|
+
'brahman.action.message', 'brahman.action.question', 'brahman.action.ifelse',
|
|
38
|
+
'brahman.action.page', 'brahman.action.back', 'brahman.action.tag',
|
|
39
|
+
'brahman.action.broadcast', 'brahman.action.getvalue', 'brahman.action.setvalue',
|
|
40
|
+
'brahman.action.params', 'brahman.action.file', 'brahman.action.eval',
|
|
41
|
+
'brahman.action.remove', 'brahman.action.emittext', 'brahman.action.forward',
|
|
42
|
+
'brahman.action.resetsession', 'brahman.action.resethistory', 'brahman.action.onerror',
|
|
43
|
+
'brahman.action.keywordselect', 'brahman.action.selectlang',
|
|
44
|
+
];
|
|
45
|
+
for (const t of listTypes)
|
|
46
|
+
register(t, 'react:list', ActionListItem);
|
|
47
|
+
//# sourceMappingURL=view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../brahman/view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { NodeData } from '@treenity/core';
|
|
2
|
+
import { type ReactNode } from 'react';
|
|
3
|
+
export declare function actionIcon(type: string): ReactNode;
|
|
4
|
+
export declare function actionSummary(node: NodeData): string;
|
|
5
|
+
export declare function MessageEditor({ value }: {
|
|
6
|
+
value: NodeData;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
export declare function QuestionEditor({ value }: {
|
|
9
|
+
value: NodeData;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
export declare function IfElseEditor({ value }: {
|
|
12
|
+
value: NodeData;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
+
export declare function PageNavEditor({ value }: {
|
|
15
|
+
value: NodeData;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
export declare function BackEditor(): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function TagEditor({ value }: {
|
|
19
|
+
value: NodeData;
|
|
20
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
+
export declare function BroadcastEditor({ value }: {
|
|
22
|
+
value: NodeData;
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
export declare function GetValueEditor({ value }: {
|
|
25
|
+
value: NodeData;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
27
|
+
export declare function SetValueEditor({ value }: {
|
|
28
|
+
value: NodeData;
|
|
29
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
30
|
+
export declare function ParamsEditor({ value }: {
|
|
31
|
+
value: NodeData;
|
|
32
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
33
|
+
export declare function FileEditor({ value }: {
|
|
34
|
+
value: NodeData;
|
|
35
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
36
|
+
export declare function EvalEditor({ value }: {
|
|
37
|
+
value: NodeData;
|
|
38
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
39
|
+
export declare function RemoveEditor(): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare function EmitTextEditor({ value }: {
|
|
41
|
+
value: NodeData;
|
|
42
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
43
|
+
export declare function ForwardEditor({ value }: {
|
|
44
|
+
value: NodeData;
|
|
45
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
46
|
+
export declare function ResetSessionEditor(): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export declare function ResetHistoryEditor(): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare function OnErrorEditor({ value }: {
|
|
49
|
+
value: NodeData;
|
|
50
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
51
|
+
export declare function KeywordSelectEditor({ value }: {
|
|
52
|
+
value: NodeData;
|
|
53
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
54
|
+
export declare function SelectLanguageEditor({ value }: {
|
|
55
|
+
value: NodeData;
|
|
56
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
57
|
+
export declare function ActionListItem({ value }: {
|
|
58
|
+
value: NodeData;
|
|
59
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
//# sourceMappingURL=action-cards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-cards.d.ts","sourceRoot":"","sources":["../../../brahman/views/action-cards.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA2B/C,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AA8CjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAElD;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CA2BpD;AAyED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDA2B3D;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAyB5D;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDA4B1D;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAkC3D;AAED,wBAAgB,UAAU,4CAMzB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAgBvD;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAiB7D;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAiB5D;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAiB5D;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAoB1D;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAwBxD;AAID,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAiBxD;AAED,wBAAgB,YAAY,4CAM3B;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAa5D;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAiB3D;AAED,wBAAgB,kBAAkB,4CAMjC;AAED,wBAAgB,kBAAkB,4CAMjC;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAiB3D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAqDjE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,kDAYlE;AAID,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,2CAU5D"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Checkbox } from '@treenity/react/components/ui/checkbox';
|
|
3
|
+
import { Input } from '@treenity/react/components/ui/input';
|
|
4
|
+
import { set, usePath } from '@treenity/react/hooks';
|
|
5
|
+
import { trpc } from '@treenity/react/trpc';
|
|
6
|
+
import { AlertTriangle, ArrowLeft, Code, Download, File, FileText, Forward, GitBranch, Globe, HelpCircle, History, MessageSquare, Repeat, RotateCcw, Search, Send, Settings2, Tag, Trash2, Upload, } from 'lucide-react';
|
|
7
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
8
|
+
import { MenuEditor } from './menu-editor';
|
|
9
|
+
import { TStringInput, tstringPreview } from './tstring-input';
|
|
10
|
+
// ── Icon mapping ──
|
|
11
|
+
const ICONS = {
|
|
12
|
+
'brahman.action.message': _jsx(MessageSquare, { className: "h-4 w-4 text-blue-500" }),
|
|
13
|
+
'brahman.action.question': _jsx(HelpCircle, { className: "h-4 w-4 text-amber-500" }),
|
|
14
|
+
'brahman.action.ifelse': _jsx(GitBranch, { className: "h-4 w-4 text-purple-500" }),
|
|
15
|
+
'brahman.action.page': _jsx(FileText, { className: "h-4 w-4 text-green-500" }),
|
|
16
|
+
'brahman.action.back': _jsx(ArrowLeft, { className: "h-4 w-4 text-gray-500" }),
|
|
17
|
+
'brahman.action.tag': _jsx(Tag, { className: "h-4 w-4 text-orange-500" }),
|
|
18
|
+
'brahman.action.broadcast': _jsx(Send, { className: "h-4 w-4 text-red-500" }),
|
|
19
|
+
'brahman.action.getvalue': _jsx(Download, { className: "h-4 w-4 text-cyan-500" }),
|
|
20
|
+
'brahman.action.setvalue': _jsx(Upload, { className: "h-4 w-4 text-cyan-500" }),
|
|
21
|
+
'brahman.action.params': _jsx(Settings2, { className: "h-4 w-4 text-gray-500" }),
|
|
22
|
+
'brahman.action.file': _jsx(File, { className: "h-4 w-4 text-indigo-500" }),
|
|
23
|
+
'brahman.action.eval': _jsx(Code, { className: "h-4 w-4 text-yellow-600" }),
|
|
24
|
+
'brahman.action.remove': _jsx(Trash2, { className: "h-4 w-4 text-red-500" }),
|
|
25
|
+
'brahman.action.emittext': _jsx(Repeat, { className: "h-4 w-4 text-teal-500" }),
|
|
26
|
+
'brahman.action.forward': _jsx(Forward, { className: "h-4 w-4 text-blue-400" }),
|
|
27
|
+
'brahman.action.resetsession': _jsx(RotateCcw, { className: "h-4 w-4 text-rose-500" }),
|
|
28
|
+
'brahman.action.resethistory': _jsx(History, { className: "h-4 w-4 text-rose-400" }),
|
|
29
|
+
'brahman.action.onerror': _jsx(AlertTriangle, { className: "h-4 w-4 text-amber-600" }),
|
|
30
|
+
'brahman.action.keywordselect': _jsx(Search, { className: "h-4 w-4 text-emerald-500" }),
|
|
31
|
+
'brahman.action.selectlang': _jsx(Globe, { className: "h-4 w-4 text-sky-500" }),
|
|
32
|
+
};
|
|
33
|
+
export function actionIcon(type) {
|
|
34
|
+
return ICONS[type] ?? _jsx(Settings2, { className: "h-4 w-4 text-muted-foreground" });
|
|
35
|
+
}
|
|
36
|
+
// ── Summary helpers for compact display ──
|
|
37
|
+
export function actionSummary(node) {
|
|
38
|
+
const c = findActionComp(node);
|
|
39
|
+
if (!c)
|
|
40
|
+
return '';
|
|
41
|
+
switch (node.$type) {
|
|
42
|
+
case 'brahman.action.message': return tstringPreview(c.text ?? {});
|
|
43
|
+
case 'brahman.action.question': return `${tstringPreview(c.text ?? {}, 25)} -> ${c.saveTo || '?'}`;
|
|
44
|
+
case 'brahman.action.ifelse': return c.condition || 'no condition';
|
|
45
|
+
case 'brahman.action.page': return c.targetPage || 'no target';
|
|
46
|
+
case 'brahman.action.back': return 'pop history';
|
|
47
|
+
case 'brahman.action.tag': return `${c.tag} = ${c.value}`;
|
|
48
|
+
case 'brahman.action.broadcast': return `to ${(c.userTags ?? []).join(', ') || 'all'}`;
|
|
49
|
+
case 'brahman.action.getvalue': return `${c.path} -> ${c.saveTo}`;
|
|
50
|
+
case 'brahman.action.setvalue': return `${c.value} -> ${c.saveTo}`;
|
|
51
|
+
case 'brahman.action.params': return (c.names ?? []).join(', ') || 'no params';
|
|
52
|
+
case 'brahman.action.file': return c.fileId || 'no file';
|
|
53
|
+
case 'brahman.action.eval': return (c.value ?? '').slice(0, 40) || 'empty';
|
|
54
|
+
case 'brahman.action.remove': return 'delete message';
|
|
55
|
+
case 'brahman.action.emittext': return c.from || 'no text';
|
|
56
|
+
case 'brahman.action.forward': return c.toFrom || 'current chat';
|
|
57
|
+
case 'brahman.action.resetsession': return 'clear session';
|
|
58
|
+
case 'brahman.action.resethistory': return 'clear history';
|
|
59
|
+
case 'brahman.action.onerror': return c.error || 'any error';
|
|
60
|
+
case 'brahman.action.keywordselect': return `${(c.elements ?? []).length} keywords`;
|
|
61
|
+
case 'brahman.action.selectlang': return tstringPreview(c.text ?? {});
|
|
62
|
+
default: return '';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Find the action component on a node (node itself if $type matches, then scan)
|
|
66
|
+
function findActionComp(node) {
|
|
67
|
+
if (node.$type?.startsWith('brahman.action.'))
|
|
68
|
+
return node;
|
|
69
|
+
for (const [k, v] of Object.entries(node)) {
|
|
70
|
+
if (k.startsWith('$'))
|
|
71
|
+
continue;
|
|
72
|
+
if (typeof v === 'object' && v && '$type' in v && typeof v.$type === 'string'
|
|
73
|
+
&& v.$type.startsWith('brahman.action.')) {
|
|
74
|
+
return v;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// ── Shared field helpers ──
|
|
79
|
+
function FieldRow({ label, children }) {
|
|
80
|
+
return (_jsxs("div", { className: "flex items-start gap-3", children: [_jsx("label", { className: "text-xs font-medium text-muted-foreground w-28 pt-2 shrink-0", children: label }), _jsx("div", { className: "flex-1", children: children })] }));
|
|
81
|
+
}
|
|
82
|
+
function getLangs(node) {
|
|
83
|
+
// Walk up to find bot config's langs
|
|
84
|
+
// Default fallback
|
|
85
|
+
return ['ru', 'en'];
|
|
86
|
+
}
|
|
87
|
+
// Generic component updater — debounced persist (500ms), instant UI via local state
|
|
88
|
+
function useActionComp(path) {
|
|
89
|
+
const node = usePath(path);
|
|
90
|
+
const [pending, setPending] = useState({});
|
|
91
|
+
const pendingRef = useRef({});
|
|
92
|
+
const timerRef = useRef(undefined);
|
|
93
|
+
const nodeRef = useRef(node);
|
|
94
|
+
nodeRef.current = node;
|
|
95
|
+
const flush = useCallback(() => {
|
|
96
|
+
clearTimeout(timerRef.current);
|
|
97
|
+
const p = pendingRef.current;
|
|
98
|
+
const n = nodeRef.current;
|
|
99
|
+
if (!n || Object.keys(p).length === 0)
|
|
100
|
+
return;
|
|
101
|
+
pendingRef.current = {};
|
|
102
|
+
setPending({});
|
|
103
|
+
set({ ...n, ...p });
|
|
104
|
+
}, []);
|
|
105
|
+
// Flush on unmount (e.g. collapsing the action card)
|
|
106
|
+
useEffect(() => () => { flush(); }, [flush]);
|
|
107
|
+
// pending IS read in render → React Compiler keeps setPending calls
|
|
108
|
+
const display = node && Object.keys(pending).length > 0
|
|
109
|
+
? { ...node, ...pending }
|
|
110
|
+
: node;
|
|
111
|
+
const comp = display ? findActionComp(display) : undefined;
|
|
112
|
+
function update(patch) {
|
|
113
|
+
if (!node)
|
|
114
|
+
return;
|
|
115
|
+
const next = { ...pendingRef.current, ...patch };
|
|
116
|
+
pendingRef.current = next;
|
|
117
|
+
setPending(next);
|
|
118
|
+
clearTimeout(timerRef.current);
|
|
119
|
+
timerRef.current = setTimeout(flush, 2000);
|
|
120
|
+
}
|
|
121
|
+
return { node: display, comp, update, langs: getLangs(node) };
|
|
122
|
+
}
|
|
123
|
+
// ── Full editors (react context) ──
|
|
124
|
+
export function MessageEditor({ value }) {
|
|
125
|
+
const { comp, update, langs } = useActionComp(value.$path);
|
|
126
|
+
if (!comp)
|
|
127
|
+
return null;
|
|
128
|
+
const msg = comp;
|
|
129
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Text", children: _jsx(TStringInput, { value: msg.text, onChange: text => update({ text }), langs: langs }) }), _jsx(FieldRow, { label: "Disable links", children: _jsx(Checkbox, { checked: msg.disableLinks, onChange: e => update({ disableLinks: e.target.checked }) }) }), _jsx(MenuEditor, { menuType: msg.menuType, rows: msg.rows, langs: langs, onChangeType: menuType => update({ menuType }), onChangeRows: rows => update({ rows }) })] }));
|
|
130
|
+
}
|
|
131
|
+
export function QuestionEditor({ value }) {
|
|
132
|
+
const { comp, update, langs } = useActionComp(value.$path);
|
|
133
|
+
if (!comp)
|
|
134
|
+
return null;
|
|
135
|
+
const q = comp;
|
|
136
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Prompt", children: _jsx(TStringInput, { value: q.text, onChange: text => update({ text }), langs: langs }) }), _jsx(FieldRow, { label: "Input type", children: _jsxs("select", { className: "h-8 text-sm border border-border rounded-md bg-background px-2", value: q.inputType, onChange: e => update({ inputType: e.target.value }), children: [_jsx("option", { value: "text", children: "Text" }), _jsx("option", { value: "photo", children: "Photo" })] }) }), _jsx(FieldRow, { label: "Save to", children: _jsx(Input, { className: "font-mono", placeholder: "session.field", value: q.saveTo, onChange: e => update({ saveTo: e.target.value }) }) })] }));
|
|
137
|
+
}
|
|
138
|
+
export function IfElseEditor({ value }) {
|
|
139
|
+
const { comp, update } = useActionComp(value.$path);
|
|
140
|
+
if (!comp)
|
|
141
|
+
return null;
|
|
142
|
+
const ie = comp;
|
|
143
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Condition", children: _jsx(Input, { className: "font-mono", placeholder: "session.data.role === 'admin'", value: ie.condition, onChange: e => update({ condition: e.target.value }) }) }), _jsx(FieldRow, { label: "Action if true", children: _jsx(Input, { className: "font-mono", placeholder: "/path/to/action", value: ie.actionIf, onChange: e => update({ actionIf: e.target.value }) }) }), _jsx(FieldRow, { label: "Action if false", children: _jsx(Input, { className: "font-mono", placeholder: "/path/to/action", value: ie.actionElse, onChange: e => update({ actionElse: e.target.value }) }) }), _jsx(FieldRow, { label: "Stop after", children: _jsx(Checkbox, { checked: ie.stopAfterAction, onChange: e => update({ stopAfterAction: e.target.checked }) }) })] }));
|
|
144
|
+
}
|
|
145
|
+
export function PageNavEditor({ value }) {
|
|
146
|
+
const { comp, update } = useActionComp(value.$path);
|
|
147
|
+
const [dragOver, setDragOver] = useState(false);
|
|
148
|
+
if (!comp)
|
|
149
|
+
return null;
|
|
150
|
+
return (_jsx("div", { className: "space-y-4 max-w-2xl", children: _jsx(FieldRow, { label: "Target page", children: _jsx("div", { className: `rounded-md transition-colors ${dragOver ? 'ring-1 ring-primary bg-primary/5' : ''}`, onDragOver: e => {
|
|
151
|
+
if (e.dataTransfer.types.includes('application/treenity-path')) {
|
|
152
|
+
e.preventDefault();
|
|
153
|
+
e.dataTransfer.dropEffect = 'link';
|
|
154
|
+
setDragOver(true);
|
|
155
|
+
}
|
|
156
|
+
}, onDragLeave: () => setDragOver(false), onDrop: async (e) => {
|
|
157
|
+
const path = e.dataTransfer.getData('application/treenity-path');
|
|
158
|
+
setDragOver(false);
|
|
159
|
+
if (!path)
|
|
160
|
+
return;
|
|
161
|
+
e.preventDefault();
|
|
162
|
+
const node = await trpc.get.query({ path });
|
|
163
|
+
if (node?.$type === 'brahman.page')
|
|
164
|
+
update({ targetPage: path });
|
|
165
|
+
}, children: _jsx(Input, { className: "font-mono", placeholder: "Drop a page here or type path", value: comp.targetPage ?? '', onChange: e => update({ targetPage: e.target.value }) }) }) }) }));
|
|
166
|
+
}
|
|
167
|
+
export function BackEditor() {
|
|
168
|
+
return (_jsx("div", { className: "text-sm text-muted-foreground py-4", children: "Pops the last page from navigation history. No configuration needed." }));
|
|
169
|
+
}
|
|
170
|
+
export function TagEditor({ value }) {
|
|
171
|
+
const { comp, update } = useActionComp(value.$path);
|
|
172
|
+
if (!comp)
|
|
173
|
+
return null;
|
|
174
|
+
const t = comp;
|
|
175
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Tag name", children: _jsx(Input, { placeholder: "admin", value: t.tag, onChange: e => update({ tag: e.target.value }) }) }), _jsx(FieldRow, { label: "Value", children: _jsx(Input, { className: "font-mono", placeholder: "true", value: t.value, onChange: e => update({ value: e.target.value }) }) })] }));
|
|
176
|
+
}
|
|
177
|
+
export function BroadcastEditor({ value }) {
|
|
178
|
+
const { comp, update } = useActionComp(value.$path);
|
|
179
|
+
if (!comp)
|
|
180
|
+
return null;
|
|
181
|
+
const b = comp;
|
|
182
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "User tags", children: _jsx(Input, { placeholder: "premium, active", value: b.userTags.join(', '), onChange: e => update({ userTags: e.target.value.split(',').map(s => s.trim()).filter(Boolean) }) }) }), _jsx(FieldRow, { label: "Action path", children: _jsx(Input, { className: "font-mono", placeholder: "/path/to/action", value: b.action, onChange: e => update({ action: e.target.value }) }) })] }));
|
|
183
|
+
}
|
|
184
|
+
export function GetValueEditor({ value }) {
|
|
185
|
+
const { comp, update } = useActionComp(value.$path);
|
|
186
|
+
if (!comp)
|
|
187
|
+
return null;
|
|
188
|
+
const g = comp;
|
|
189
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Source path", children: _jsx(Input, { className: "font-mono", placeholder: "session.data.name", value: g.path, onChange: e => update({ path: e.target.value }) }) }), _jsx(FieldRow, { label: "Save to", children: _jsx(Input, { className: "font-mono", placeholder: "result", value: g.saveTo, onChange: e => update({ saveTo: e.target.value }) }) })] }));
|
|
190
|
+
}
|
|
191
|
+
export function SetValueEditor({ value }) {
|
|
192
|
+
const { comp, update } = useActionComp(value.$path);
|
|
193
|
+
if (!comp)
|
|
194
|
+
return null;
|
|
195
|
+
const s = comp;
|
|
196
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Value", children: _jsx(Input, { className: "font-mono", placeholder: "'hello'", value: s.value, onChange: e => update({ value: e.target.value }) }) }), _jsx(FieldRow, { label: "Save to", children: _jsx(Input, { className: "font-mono", placeholder: "session.data.greeting", value: s.saveTo, onChange: e => update({ saveTo: e.target.value }) }) })] }));
|
|
197
|
+
}
|
|
198
|
+
export function ParamsEditor({ value }) {
|
|
199
|
+
const { comp, update } = useActionComp(value.$path);
|
|
200
|
+
if (!comp)
|
|
201
|
+
return null;
|
|
202
|
+
const p = comp;
|
|
203
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Base64 decode", children: _jsx(Checkbox, { checked: p.base64, onChange: e => update({ base64: e.target.checked }) }) }), _jsx(FieldRow, { label: "Split delimiter", children: _jsx(Input, { className: "w-20 font-mono", value: p.split, onChange: e => update({ split: e.target.value }) }) }), _jsx(FieldRow, { label: "Param names", children: _jsx(Input, { placeholder: "id, name, email", value: p.names.join(', '), onChange: e => update({ names: e.target.value.split(',').map(s => s.trim()).filter(Boolean) }) }) })] }));
|
|
204
|
+
}
|
|
205
|
+
export function FileEditor({ value }) {
|
|
206
|
+
const { comp, update } = useActionComp(value.$path);
|
|
207
|
+
if (!comp)
|
|
208
|
+
return null;
|
|
209
|
+
const f = comp;
|
|
210
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "File path", children: _jsx(Input, { className: "font-mono", placeholder: "/files/image.png", value: f.fileId, onChange: e => update({ fileId: e.target.value }) }) }), _jsx(FieldRow, { label: "Send as", children: _jsxs("select", { className: "h-8 text-sm border border-border rounded-md bg-background px-2", value: f.asType, onChange: e => update({ asType: e.target.value }), children: [_jsx("option", { value: "", children: "Auto-detect" }), _jsx("option", { value: "photo", children: "Photo" }), _jsx("option", { value: "document", children: "Document" }), _jsx("option", { value: "video", children: "Video" }), _jsx("option", { value: "audio", children: "Audio" }), _jsx("option", { value: "voice", children: "Voice" })] }) })] }));
|
|
211
|
+
}
|
|
212
|
+
// ── New action editors ──
|
|
213
|
+
export function EvalEditor({ value }) {
|
|
214
|
+
const { comp, update } = useActionComp(value.$path);
|
|
215
|
+
if (!comp)
|
|
216
|
+
return null;
|
|
217
|
+
const ev = comp;
|
|
218
|
+
return (_jsx("div", { className: "space-y-4 max-w-2xl", children: _jsx(FieldRow, { label: "JavaScript", children: _jsx("textarea", { className: "w-full h-40 text-sm font-mono border border-border rounded-md bg-background p-2 resize-y", placeholder: "// async function body\nawait ctx.reply('Hello');", value: ev.value, onChange: e => update({ value: e.target.value }) }) }) }));
|
|
219
|
+
}
|
|
220
|
+
export function RemoveEditor() {
|
|
221
|
+
return (_jsx("div", { className: "text-sm text-muted-foreground py-4", children: "Deletes the current message. No configuration needed." }));
|
|
222
|
+
}
|
|
223
|
+
export function EmitTextEditor({ value }) {
|
|
224
|
+
const { comp, update } = useActionComp(value.$path);
|
|
225
|
+
if (!comp)
|
|
226
|
+
return null;
|
|
227
|
+
const et = comp;
|
|
228
|
+
return (_jsx("div", { className: "space-y-4 max-w-2xl", children: _jsx(FieldRow, { label: "Text template", children: _jsx(Input, { className: "font-mono", placeholder: "/start or {data.command}", value: et.from, onChange: e => update({ from: e.target.value }) }) }) }));
|
|
229
|
+
}
|
|
230
|
+
export function ForwardEditor({ value }) {
|
|
231
|
+
const { comp, update } = useActionComp(value.$path);
|
|
232
|
+
if (!comp)
|
|
233
|
+
return null;
|
|
234
|
+
const fw = comp;
|
|
235
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Message ID from", children: _jsx(Input, { className: "font-mono", placeholder: "Empty = current message", value: fw.msgIdFrom, onChange: e => update({ msgIdFrom: e.target.value }) }) }), _jsx(FieldRow, { label: "Forward to", children: _jsx(Input, { className: "font-mono", placeholder: "Chat/user ID or {data.to}", value: fw.toFrom, onChange: e => update({ toFrom: e.target.value }) }) })] }));
|
|
236
|
+
}
|
|
237
|
+
export function ResetSessionEditor() {
|
|
238
|
+
return (_jsx("div", { className: "text-sm text-muted-foreground py-4", children: "Clears all session data. History is preserved. No configuration needed." }));
|
|
239
|
+
}
|
|
240
|
+
export function ResetHistoryEditor() {
|
|
241
|
+
return (_jsx("div", { className: "text-sm text-muted-foreground py-4", children: "Clears navigation history. No configuration needed." }));
|
|
242
|
+
}
|
|
243
|
+
export function OnErrorEditor({ value }) {
|
|
244
|
+
const { comp, update } = useActionComp(value.$path);
|
|
245
|
+
if (!comp)
|
|
246
|
+
return null;
|
|
247
|
+
const oe = comp;
|
|
248
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Error match", children: _jsx(Input, { placeholder: "Substring to match in error message (empty = any)", value: oe.error, onChange: e => update({ error: e.target.value }) }) }), _jsx(FieldRow, { label: "Action path", children: _jsx(Input, { className: "font-mono", placeholder: "/path/to/action", value: oe.action, onChange: e => update({ action: e.target.value }) }) })] }));
|
|
249
|
+
}
|
|
250
|
+
export function KeywordSelectEditor({ value }) {
|
|
251
|
+
const { comp, update } = useActionComp(value.$path);
|
|
252
|
+
if (!comp)
|
|
253
|
+
return null;
|
|
254
|
+
const ks = comp;
|
|
255
|
+
function updateElement(idx, patch) {
|
|
256
|
+
const elements = [...(ks.elements ?? [])];
|
|
257
|
+
elements[idx] = { ...elements[idx], ...patch };
|
|
258
|
+
update({ elements });
|
|
259
|
+
}
|
|
260
|
+
function addElement() {
|
|
261
|
+
update({ elements: [...(ks.elements ?? []), { keywords: [], message: '' }] });
|
|
262
|
+
}
|
|
263
|
+
function removeElement(idx) {
|
|
264
|
+
const elements = [...(ks.elements ?? [])];
|
|
265
|
+
elements.splice(idx, 1);
|
|
266
|
+
update({ elements });
|
|
267
|
+
}
|
|
268
|
+
return (_jsxs("div", { className: "space-y-4 max-w-2xl", children: [_jsx(FieldRow, { label: "Source text", children: _jsx(Input, { className: "font-mono", placeholder: "{data.text} or empty for message text", value: ks.textFrom, onChange: e => update({ textFrom: e.target.value }) }) }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-medium text-muted-foreground", children: "Keyword entries" }), (ks.elements ?? []).map((el, i) => (_jsxs("div", { className: "flex gap-2 items-start p-2 border border-border rounded-md", children: [_jsxs("div", { className: "flex-1 space-y-1", children: [_jsx(Input, { placeholder: "keyword1, keyword2", value: el.keywords.join(', '), onChange: e => updateElement(i, {
|
|
269
|
+
keywords: e.target.value.split(',').map(s => s.trim()).filter(Boolean),
|
|
270
|
+
}) }), _jsx(Input, { className: "font-mono", placeholder: "/command or reply text", value: el.message, onChange: e => updateElement(i, { message: e.target.value }) })] }), _jsx("button", { onClick: () => removeElement(i), className: "text-muted-foreground hover:text-destructive p-1", children: _jsx(Trash2, { className: "h-4 w-4" }) })] }, i))), _jsx("button", { onClick: addElement, className: "text-xs text-primary hover:underline", children: "+ Add keyword entry" })] })] }));
|
|
271
|
+
}
|
|
272
|
+
export function SelectLanguageEditor({ value }) {
|
|
273
|
+
const { comp, update, langs } = useActionComp(value.$path);
|
|
274
|
+
if (!comp)
|
|
275
|
+
return null;
|
|
276
|
+
const sl = comp;
|
|
277
|
+
return (_jsx("div", { className: "space-y-4 max-w-2xl", children: _jsx(FieldRow, { label: "Prompt text", children: _jsx(TStringInput, { value: sl.text, onChange: text => update({ text }), langs: langs }) }) }));
|
|
278
|
+
}
|
|
279
|
+
// ── Compact list items (react:list context) ──
|
|
280
|
+
export function ActionListItem({ value }) {
|
|
281
|
+
return (_jsxs("div", { className: "flex items-center gap-2 py-1 flex-1", children: [actionIcon(value.$type), _jsx("span", { className: "text-xs font-medium text-muted-foreground", children: value.$type.split('.').at(-1) }), _jsx("span", { className: "text-sm truncate", children: actionSummary(value) })] }));
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=action-cards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-cards.js","sourceRoot":"","sources":["../../../brahman/views/action-cards.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-view.d.ts","sourceRoot":"","sources":["../../../brahman/views/bot-view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAe/C,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,2CA0DrD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Render, RenderContext } from '@treenity/react/context';
|
|
3
|
+
import { useChildren } from '@treenity/react/hooks';
|
|
4
|
+
import { Bot } from 'lucide-react';
|
|
5
|
+
function Field({ label, value }) {
|
|
6
|
+
return (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("span", { className: "text-sm text-muted-foreground w-32 shrink-0", children: label }), _jsx("span", { className: `text-sm ${value ? '' : 'text-muted-foreground/50 italic'}`, children: value || '—' })] }));
|
|
7
|
+
}
|
|
8
|
+
export function BotView({ value }) {
|
|
9
|
+
const bot = value;
|
|
10
|
+
const pages = useChildren(`${value.$path}/pages`, { watch: true, watchNew: true });
|
|
11
|
+
const isActive = !bot.maintenance;
|
|
12
|
+
return (_jsxs("div", { className: "space-y-6 max-w-2xl", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "p-2.5 rounded-lg bg-primary/10", children: _jsx(Bot, { className: "h-6 w-6 text-primary" }) }), _jsxs("div", { children: [_jsx("div", { className: "text-lg font-semibold", children: bot.name || bot.alias || 'Untitled Bot' }), _jsxs("div", { className: "flex items-center gap-2", children: [bot.alias && _jsx("span", { className: "text-sm text-muted-foreground", children: bot.alias }), _jsx("span", { className: `text-xs px-1.5 py-0.5 rounded ${isActive ? 'bg-green-500/10 text-green-600' : 'bg-yellow-500/10 text-yellow-600'}`, children: isActive ? 'Active' : 'Maintenance' })] })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "text-[11px] font-semibold text-muted-foreground uppercase tracking-wider", children: "Configuration" }), _jsx(Field, { label: "Token", value: bot.token ? '••••••' + bot.token.slice(-6) : '' }), _jsx(Field, { label: "Alias", value: bot.alias ?? '' }), _jsx(Field, { label: "Display name", value: bot.name ?? '' }), _jsx(Field, { label: "Languages", value: bot.langs ?? '' }), _jsx(Field, { label: "Proxy", value: bot.proxy ?? '' }), _jsx(Field, { label: "Maintenance", value: bot.maintenance ?? '' })] }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "text-[11px] font-semibold text-muted-foreground uppercase tracking-wider", children: ["Pages (", pages.length, ")"] }), _jsx(RenderContext, { name: "react:list", children: _jsx("div", { className: "children-grid", children: pages.map(page => (_jsx(Render, { value: page }, page.$path))) }) }), pages.length === 0 && (_jsx("div", { className: "text-sm text-muted-foreground text-center py-6 border border-dashed border-border rounded-md", children: "No pages yet." }))] })] }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=bot-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-view.js","sourceRoot":"","sources":["../../../brahman/views/bot-view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-editor.d.ts","sourceRoot":"","sources":["../../../brahman/views/chat-editor.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsoB/C,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,2CAkH5D"}
|