@desktalk/core 0.1.0-alpha.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 (281) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cli/index.d.ts +3 -0
  3. package/dist/cli/index.d.ts.map +1 -0
  4. package/dist/cli/index.js +82 -0
  5. package/dist/cli/index.js.map +1 -0
  6. package/dist/frontend/assets/frontend-B3QNYf3p.js +413 -0
  7. package/dist/frontend/assets/frontend-B3QNYf3p.js.map +1 -0
  8. package/dist/frontend/assets/frontend-B4aeXn9d.js +416 -0
  9. package/dist/frontend/assets/frontend-B4aeXn9d.js.map +1 -0
  10. package/dist/frontend/assets/frontend-BwyRSlHp.js +6513 -0
  11. package/dist/frontend/assets/frontend-BwyRSlHp.js.map +1 -0
  12. package/dist/frontend/assets/frontend-Dix2OWTT.js +229 -0
  13. package/dist/frontend/assets/frontend-Dix2OWTT.js.map +1 -0
  14. package/dist/frontend/assets/frontend-Dx41dEM9.js +407 -0
  15. package/dist/frontend/assets/frontend-Dx41dEM9.js.map +1 -0
  16. package/dist/frontend/assets/frontend-WpQng8Mt.js +1991 -0
  17. package/dist/frontend/assets/frontend-WpQng8Mt.js.map +1 -0
  18. package/dist/frontend/assets/frontend-rTwBdJbn.js +2123 -0
  19. package/dist/frontend/assets/frontend-rTwBdJbn.js.map +1 -0
  20. package/dist/frontend/assets/highlighted-body-TPN3WLV5-DD4wpkf4.js +2 -0
  21. package/dist/frontend/assets/highlighted-body-TPN3WLV5-DD4wpkf4.js.map +1 -0
  22. package/dist/frontend/assets/index-C5-XUOS7.js +1863 -0
  23. package/dist/frontend/assets/index-C5-XUOS7.js.map +1 -0
  24. package/dist/frontend/assets/index-C_e3_6yE.css +1 -0
  25. package/dist/frontend/index.html +22 -0
  26. package/dist/frontend/pcm-capture-processor.js +65 -0
  27. package/dist/i18n/manifest.json +34 -0
  28. package/dist/i18n/zh-CN.json +7 -0
  29. package/dist/index.d.ts +6 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +6 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/server/admin-routes.d.ts +14 -0
  34. package/dist/server/admin-routes.d.ts.map +1 -0
  35. package/dist/server/admin-routes.js +118 -0
  36. package/dist/server/admin-routes.js.map +1 -0
  37. package/dist/server/api-routes.d.ts +8 -0
  38. package/dist/server/api-routes.d.ts.map +1 -0
  39. package/dist/server/api-routes.js +203 -0
  40. package/dist/server/api-routes.js.map +1 -0
  41. package/dist/server/auth-routes.d.ts +19 -0
  42. package/dist/server/auth-routes.d.ts.map +1 -0
  43. package/dist/server/auth-routes.js +155 -0
  44. package/dist/server/auth-routes.js.map +1 -0
  45. package/dist/server/dtfs-routes.d.ts +3 -0
  46. package/dist/server/dtfs-routes.d.ts.map +1 -0
  47. package/dist/server/dtfs-routes.js +183 -0
  48. package/dist/server/dtfs-routes.js.map +1 -0
  49. package/dist/server/index.d.ts +15 -0
  50. package/dist/server/index.d.ts.map +1 -0
  51. package/dist/server/index.js +158 -0
  52. package/dist/server/index.js.map +1 -0
  53. package/dist/server/monaco-routes.d.ts +3 -0
  54. package/dist/server/monaco-routes.d.ts.map +1 -0
  55. package/dist/server/monaco-routes.js +45 -0
  56. package/dist/server/monaco-routes.js.map +1 -0
  57. package/dist/server/voice-routes.d.ts +7 -0
  58. package/dist/server/voice-routes.d.ts.map +1 -0
  59. package/dist/server/voice-routes.js +142 -0
  60. package/dist/server/voice-routes.js.map +1 -0
  61. package/dist/server/ws-routes.d.ts +29 -0
  62. package/dist/server/ws-routes.d.ts.map +1 -0
  63. package/dist/server/ws-routes.js +334 -0
  64. package/dist/server/ws-routes.js.map +1 -0
  65. package/dist/services/ai/action-tool.d.ts +9 -0
  66. package/dist/services/ai/action-tool.d.ts.map +1 -0
  67. package/dist/services/ai/action-tool.js +51 -0
  68. package/dist/services/ai/action-tool.js.map +1 -0
  69. package/dist/services/ai/app-tools.d.ts +15 -0
  70. package/dist/services/ai/app-tools.d.ts.map +1 -0
  71. package/dist/services/ai/app-tools.js +119 -0
  72. package/dist/services/ai/app-tools.js.map +1 -0
  73. package/dist/services/ai/chat-service.d.ts +27 -0
  74. package/dist/services/ai/chat-service.d.ts.map +1 -0
  75. package/dist/services/ai/chat-service.js +213 -0
  76. package/dist/services/ai/chat-service.js.map +1 -0
  77. package/dist/services/ai/create-liveapp-tool.d.ts +15 -0
  78. package/dist/services/ai/create-liveapp-tool.d.ts.map +1 -0
  79. package/dist/services/ai/create-liveapp-tool.js +142 -0
  80. package/dist/services/ai/create-liveapp-tool.js.map +1 -0
  81. package/dist/services/ai/desktop-tool.d.ts +27 -0
  82. package/dist/services/ai/desktop-tool.d.ts.map +1 -0
  83. package/dist/services/ai/desktop-tool.js +106 -0
  84. package/dist/services/ai/desktop-tool.js.map +1 -0
  85. package/dist/services/ai/edit-history.d.ts +16 -0
  86. package/dist/services/ai/edit-history.d.ts.map +1 -0
  87. package/dist/services/ai/edit-history.js +137 -0
  88. package/dist/services/ai/edit-history.js.map +1 -0
  89. package/dist/services/ai/edit-tool.d.ts +9 -0
  90. package/dist/services/ai/edit-tool.d.ts.map +1 -0
  91. package/dist/services/ai/edit-tool.js +113 -0
  92. package/dist/services/ai/edit-tool.js.map +1 -0
  93. package/dist/services/ai/generate-html-tool.d.ts +15 -0
  94. package/dist/services/ai/generate-html-tool.d.ts.map +1 -0
  95. package/dist/services/ai/generate-html-tool.js +140 -0
  96. package/dist/services/ai/generate-html-tool.js.map +1 -0
  97. package/dist/services/ai/generate-icon-tool.d.ts +10 -0
  98. package/dist/services/ai/generate-icon-tool.d.ts.map +1 -0
  99. package/dist/services/ai/generate-icon-tool.js +58 -0
  100. package/dist/services/ai/generate-icon-tool.js.map +1 -0
  101. package/dist/services/ai/html-bridge-script.d.ts +2 -0
  102. package/dist/services/ai/html-bridge-script.d.ts.map +1 -0
  103. package/dist/services/ai/html-bridge-script.js +2 -0
  104. package/dist/services/ai/html-bridge-script.js.map +1 -0
  105. package/dist/services/ai/html-guidelines-tool.d.ts +3 -0
  106. package/dist/services/ai/html-guidelines-tool.d.ts.map +1 -0
  107. package/dist/services/ai/html-guidelines-tool.js +157 -0
  108. package/dist/services/ai/html-guidelines-tool.js.map +1 -0
  109. package/dist/services/ai/html-stream-coordinator.d.ts +92 -0
  110. package/dist/services/ai/html-stream-coordinator.d.ts.map +1 -0
  111. package/dist/services/ai/html-stream-coordinator.js +314 -0
  112. package/dist/services/ai/html-stream-coordinator.js.map +1 -0
  113. package/dist/services/ai/html-theme-link.d.ts +9 -0
  114. package/dist/services/ai/html-theme-link.d.ts.map +1 -0
  115. package/dist/services/ai/html-theme-link.js +12 -0
  116. package/dist/services/ai/html-theme-link.js.map +1 -0
  117. package/dist/services/ai/html-ui-script.d.ts +9 -0
  118. package/dist/services/ai/html-ui-script.d.ts.map +1 -0
  119. package/dist/services/ai/html-ui-script.js +9 -0
  120. package/dist/services/ai/html-ui-script.js.map +1 -0
  121. package/dist/services/ai/image-generation-service.d.ts +26 -0
  122. package/dist/services/ai/image-generation-service.d.ts.map +1 -0
  123. package/dist/services/ai/image-generation-service.js +205 -0
  124. package/dist/services/ai/image-generation-service.js.map +1 -0
  125. package/dist/services/ai/manual-pages/desktop-actions.md +36 -0
  126. package/dist/services/ai/manual-pages/desktop-windows.md +24 -0
  127. package/dist/services/ai/manual-pages/dt-badge.md +36 -0
  128. package/dist/services/ai/manual-pages/dt-button.md +38 -0
  129. package/dist/services/ai/manual-pages/dt-card.md +22 -0
  130. package/dist/services/ai/manual-pages/dt-chart.md +261 -0
  131. package/dist/services/ai/manual-pages/dt-divider.md +25 -0
  132. package/dist/services/ai/manual-pages/dt-grid.md +29 -0
  133. package/dist/services/ai/manual-pages/dt-list-view.md +96 -0
  134. package/dist/services/ai/manual-pages/dt-markdown-editor.md +90 -0
  135. package/dist/services/ai/manual-pages/dt-markdown.md +86 -0
  136. package/dist/services/ai/manual-pages/dt-select.md +21 -0
  137. package/dist/services/ai/manual-pages/dt-stack.md +31 -0
  138. package/dist/services/ai/manual-pages/dt-stat.md +43 -0
  139. package/dist/services/ai/manual-pages/dt-table-view.md +120 -0
  140. package/dist/services/ai/manual-pages/dt-tooltip.md +18 -0
  141. package/dist/services/ai/manual-pages/editing-preview.md +25 -0
  142. package/dist/services/ai/manual-pages/html-actions.md +74 -0
  143. package/dist/services/ai/manual-pages/html-bridge.md +187 -0
  144. package/dist/services/ai/manual-pages/html-components.md +66 -0
  145. package/dist/services/ai/manual-pages/html-examples.md +185 -0
  146. package/dist/services/ai/manual-pages/html-layouts.md +128 -0
  147. package/dist/services/ai/manual-pages/html-storage.md +153 -0
  148. package/dist/services/ai/manual-pages/html-tokens.md +26 -0
  149. package/dist/services/ai/manual-pages/index.d.ts +10 -0
  150. package/dist/services/ai/manual-pages/index.d.ts.map +1 -0
  151. package/dist/services/ai/manual-pages/index.js +186 -0
  152. package/dist/services/ai/manual-pages/index.js.map +1 -0
  153. package/dist/services/ai/manual-tool.d.ts +3 -0
  154. package/dist/services/ai/manual-tool.d.ts.map +1 -0
  155. package/dist/services/ai/manual-tool.js +104 -0
  156. package/dist/services/ai/manual-tool.js.map +1 -0
  157. package/dist/services/ai/pi-session-service.d.ts +101 -0
  158. package/dist/services/ai/pi-session-service.d.ts.map +1 -0
  159. package/dist/services/ai/pi-session-service.js +697 -0
  160. package/dist/services/ai/pi-session-service.js.map +1 -0
  161. package/dist/services/ai/providers.d.ts +21 -0
  162. package/dist/services/ai/providers.d.ts.map +1 -0
  163. package/dist/services/ai/providers.js +93 -0
  164. package/dist/services/ai/providers.js.map +1 -0
  165. package/dist/services/ai/redo-edit-tool.d.ts +9 -0
  166. package/dist/services/ai/redo-edit-tool.d.ts.map +1 -0
  167. package/dist/services/ai/redo-edit-tool.js +44 -0
  168. package/dist/services/ai/redo-edit-tool.js.map +1 -0
  169. package/dist/services/ai/system-prompt.d.ts +7 -0
  170. package/dist/services/ai/system-prompt.d.ts.map +1 -0
  171. package/dist/services/ai/system-prompt.js +72 -0
  172. package/dist/services/ai/system-prompt.js.map +1 -0
  173. package/dist/services/ai/undo-edit-tool.d.ts +9 -0
  174. package/dist/services/ai/undo-edit-tool.d.ts.map +1 -0
  175. package/dist/services/ai/undo-edit-tool.js +44 -0
  176. package/dist/services/ai/undo-edit-tool.js.map +1 -0
  177. package/dist/services/ai/window-tools.d.ts +27 -0
  178. package/dist/services/ai/window-tools.d.ts.map +1 -0
  179. package/dist/services/ai/window-tools.js +155 -0
  180. package/dist/services/ai/window-tools.js.map +1 -0
  181. package/dist/services/backend-host.d.ts +10 -0
  182. package/dist/services/backend-host.d.ts.map +1 -0
  183. package/dist/services/backend-host.js +117 -0
  184. package/dist/services/backend-host.js.map +1 -0
  185. package/dist/services/backend-ipc.d.ts +60 -0
  186. package/dist/services/backend-ipc.d.ts.map +1 -0
  187. package/dist/services/backend-ipc.js +2 -0
  188. package/dist/services/backend-ipc.js.map +1 -0
  189. package/dist/services/backend-process-manager.d.ts +60 -0
  190. package/dist/services/backend-process-manager.d.ts.map +1 -0
  191. package/dist/services/backend-process-manager.js +203 -0
  192. package/dist/services/backend-process-manager.js.map +1 -0
  193. package/dist/services/filesystem.d.ts +8 -0
  194. package/dist/services/filesystem.d.ts.map +1 -0
  195. package/dist/services/filesystem.js +94 -0
  196. package/dist/services/filesystem.js.map +1 -0
  197. package/dist/services/i18n.d.ts +28 -0
  198. package/dist/services/i18n.d.ts.map +1 -0
  199. package/dist/services/i18n.js +76 -0
  200. package/dist/services/i18n.js.map +1 -0
  201. package/dist/services/liveapp-icon.d.ts +9 -0
  202. package/dist/services/liveapp-icon.d.ts.map +1 -0
  203. package/dist/services/liveapp-icon.js +28 -0
  204. package/dist/services/liveapp-icon.js.map +1 -0
  205. package/dist/services/liveapps.d.ts +12 -0
  206. package/dist/services/liveapps.d.ts.map +1 -0
  207. package/dist/services/liveapps.js +84 -0
  208. package/dist/services/liveapps.js.map +1 -0
  209. package/dist/services/logger.d.ts +34 -0
  210. package/dist/services/logger.d.ts.map +1 -0
  211. package/dist/services/logger.js +74 -0
  212. package/dist/services/logger.js.map +1 -0
  213. package/dist/services/messaging.d.ts +14 -0
  214. package/dist/services/messaging.d.ts.map +1 -0
  215. package/dist/services/messaging.js +41 -0
  216. package/dist/services/messaging.js.map +1 -0
  217. package/dist/services/miniapp-icon.d.ts +9 -0
  218. package/dist/services/miniapp-icon.d.ts.map +1 -0
  219. package/dist/services/miniapp-icon.js +25 -0
  220. package/dist/services/miniapp-icon.js.map +1 -0
  221. package/dist/services/miniapp-registry.d.ts +73 -0
  222. package/dist/services/miniapp-registry.d.ts.map +1 -0
  223. package/dist/services/miniapp-registry.js +144 -0
  224. package/dist/services/miniapp-registry.js.map +1 -0
  225. package/dist/services/onboarding-config.d.ts +37 -0
  226. package/dist/services/onboarding-config.d.ts.map +1 -0
  227. package/dist/services/onboarding-config.js +76 -0
  228. package/dist/services/onboarding-config.js.map +1 -0
  229. package/dist/services/preferences.d.ts +10 -0
  230. package/dist/services/preferences.d.ts.map +1 -0
  231. package/dist/services/preferences.js +48 -0
  232. package/dist/services/preferences.js.map +1 -0
  233. package/dist/services/proxy-dispatcher.d.ts +18 -0
  234. package/dist/services/proxy-dispatcher.d.ts.map +1 -0
  235. package/dist/services/proxy-dispatcher.js +33 -0
  236. package/dist/services/proxy-dispatcher.js.map +1 -0
  237. package/dist/services/storage.d.ts +7 -0
  238. package/dist/services/storage.d.ts.map +1 -0
  239. package/dist/services/storage.js +55 -0
  240. package/dist/services/storage.js.map +1 -0
  241. package/dist/services/theme-css.d.ts +21 -0
  242. package/dist/services/theme-css.d.ts.map +1 -0
  243. package/dist/services/theme-css.js +213 -0
  244. package/dist/services/theme-css.js.map +1 -0
  245. package/dist/services/user-db.d.ts +69 -0
  246. package/dist/services/user-db.d.ts.map +1 -0
  247. package/dist/services/user-db.js +175 -0
  248. package/dist/services/user-db.js.map +1 -0
  249. package/dist/services/voice/audio-format.d.ts +5 -0
  250. package/dist/services/voice/audio-format.d.ts.map +1 -0
  251. package/dist/services/voice/audio-format.js +27 -0
  252. package/dist/services/voice/audio-format.js.map +1 -0
  253. package/dist/services/voice/azure-openai-whisper-adapter.d.ts +23 -0
  254. package/dist/services/voice/azure-openai-whisper-adapter.d.ts.map +1 -0
  255. package/dist/services/voice/azure-openai-whisper-adapter.js +60 -0
  256. package/dist/services/voice/azure-openai-whisper-adapter.js.map +1 -0
  257. package/dist/services/voice/openai-whisper-adapter.d.ts +22 -0
  258. package/dist/services/voice/openai-whisper-adapter.d.ts.map +1 -0
  259. package/dist/services/voice/openai-whisper-adapter.js +61 -0
  260. package/dist/services/voice/openai-whisper-adapter.js.map +1 -0
  261. package/dist/services/voice/stt-adapter.d.ts +31 -0
  262. package/dist/services/voice/stt-adapter.d.ts.map +1 -0
  263. package/dist/services/voice/stt-adapter.js +8 -0
  264. package/dist/services/voice/stt-adapter.js.map +1 -0
  265. package/dist/services/voice/vad-segmenter.d.ts +68 -0
  266. package/dist/services/voice/vad-segmenter.d.ts.map +1 -0
  267. package/dist/services/voice/vad-segmenter.js +159 -0
  268. package/dist/services/voice/vad-segmenter.js.map +1 -0
  269. package/dist/services/voice/voice-session.d.ts +54 -0
  270. package/dist/services/voice/voice-session.d.ts.map +1 -0
  271. package/dist/services/voice/voice-session.js +137 -0
  272. package/dist/services/voice/voice-session.js.map +1 -0
  273. package/dist/services/window-manager.d.ts +94 -0
  274. package/dist/services/window-manager.d.ts.map +1 -0
  275. package/dist/services/window-manager.js +282 -0
  276. package/dist/services/window-manager.js.map +1 -0
  277. package/dist/services/workspace.d.ts +51 -0
  278. package/dist/services/workspace.d.ts.map +1 -0
  279. package/dist/services/workspace.js +144 -0
  280. package/dist/services/workspace.js.map +1 -0
  281. package/package.json +89 -0
@@ -0,0 +1,185 @@
1
+ # HTML Examples
2
+
3
+ Multi-component examples showing valid DeskTalk preview structure and styling. For single-component examples, see each component's own manual page.
4
+
5
+ ## Dashboard Grid
6
+
7
+ ```html
8
+ <!doctype html>
9
+ <html>
10
+ <head>
11
+ <meta charset="utf-8" />
12
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
13
+ <title>Dashboard</title>
14
+ <style>
15
+ body {
16
+ background: var(--dt-bg);
17
+ }
18
+ </style>
19
+ </head>
20
+ <body>
21
+ <h1>Dashboard</h1>
22
+ <dt-grid>
23
+ <dt-card>
24
+ <h3>Status</h3>
25
+ <p>All systems operational.</p>
26
+ <dt-badge variant="success">Online</dt-badge>
27
+ </dt-card>
28
+ <dt-card variant="outlined">
29
+ <h3>Activity</h3>
30
+ <p>12 events in the last hour.</p>
31
+ <dt-button>View All</dt-button>
32
+ </dt-card>
33
+ </dt-grid>
34
+ </body>
35
+ </html>
36
+ ```
37
+
38
+ ## System Monitor
39
+
40
+ ```html
41
+ <!doctype html>
42
+ <html>
43
+ <head>
44
+ <meta charset="utf-8" />
45
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
46
+ <title>System Monitor</title>
47
+ <style>
48
+ body {
49
+ background: var(--dt-bg);
50
+ }
51
+ </style>
52
+ </head>
53
+ <body>
54
+ <h1>System Monitor</h1>
55
+ <dt-grid min-width="180">
56
+ <dt-stat label="CPU" value="42%" trend="up" trend-value="+5%"></dt-stat>
57
+ <dt-stat
58
+ label="Memory"
59
+ value="8.2 GB"
60
+ description="of 16 GB"
61
+ trend="neutral"
62
+ trend-value="0%"
63
+ ></dt-stat>
64
+ <dt-stat label="Disk" value="256 GB" description="free" variant="filled"></dt-stat>
65
+ <dt-stat label="Network" value="1.2 GB/s" description="inbound"></dt-stat>
66
+ </dt-grid>
67
+ <dt-divider spacing="md"></dt-divider>
68
+ <dt-card>
69
+ <h3>Services</h3>
70
+ <dt-stack>
71
+ <dt-stack direction="row" align="center">
72
+ <span>Web Server</span>
73
+ <dt-badge variant="success">Running</dt-badge>
74
+ </dt-stack>
75
+ <dt-stack direction="row" align="center">
76
+ <span>Database</span>
77
+ <dt-badge variant="success">Running</dt-badge>
78
+ </dt-stack>
79
+ <dt-stack direction="row" align="center">
80
+ <span>Cache</span>
81
+ <dt-badge variant="warning">Warning</dt-badge>
82
+ </dt-stack>
83
+ </dt-stack>
84
+ </dt-card>
85
+ </body>
86
+ </html>
87
+ ```
88
+
89
+ ## Settings Panel
90
+
91
+ ```html
92
+ <!doctype html>
93
+ <html>
94
+ <head>
95
+ <meta charset="utf-8" />
96
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
97
+ <title>Settings</title>
98
+ <style>
99
+ body {
100
+ background: var(--dt-bg);
101
+ }
102
+ </style>
103
+ </head>
104
+ <body>
105
+ <h1>Settings</h1>
106
+ <dt-stack>
107
+ <dt-card>
108
+ <h3>General</h3>
109
+ <dt-stack gap="12">
110
+ <label>Language</label>
111
+ <dt-select>
112
+ <option>English</option>
113
+ <option>Spanish</option>
114
+ <option>French</option>
115
+ </dt-select>
116
+ <dt-divider></dt-divider>
117
+ <dt-stack direction="row" gap="12">
118
+ <dt-button>Save</dt-button>
119
+ <dt-button variant="ghost">Reset</dt-button>
120
+ </dt-stack>
121
+ </dt-stack>
122
+ </dt-card>
123
+
124
+ <dt-card variant="outlined">
125
+ <h3>Danger Zone</h3>
126
+ <p class="text-secondary">These actions cannot be undone.</p>
127
+ <dt-button variant="danger">Delete Account</dt-button>
128
+ </dt-card>
129
+ </dt-stack>
130
+ </body>
131
+ </html>
132
+ ```
133
+
134
+ ## Collection Storage Example
135
+
136
+ ```html
137
+ <!doctype html>
138
+ <html>
139
+ <head>
140
+ <meta charset="utf-8" />
141
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
142
+ <title>Task Tracker</title>
143
+ </head>
144
+ <body>
145
+ <h1>Task Tracker</h1>
146
+ <button class="btn" id="add-task">Add Task</button>
147
+ <div id="task-list" style="display: grid; gap: 12px; margin-top: 16px;"></div>
148
+
149
+ <script>
150
+ const tasks = window.DeskTalk.storage.collection('tasks');
151
+ const taskList = document.getElementById('task-list');
152
+
153
+ async function render() {
154
+ const records = await tasks.find({}, { sort: 'createdAt', order: 'desc' });
155
+ taskList.innerHTML = records
156
+ .map(
157
+ (task) => `
158
+ <dt-card>
159
+ <h3>${task.title}</h3>
160
+ <p>Status: ${task.status}</p>
161
+ </dt-card>
162
+ `,
163
+ )
164
+ .join('');
165
+ }
166
+
167
+ document.getElementById('add-task').addEventListener('click', async () => {
168
+ const title = window.prompt('Task title');
169
+ if (!title) return;
170
+
171
+ await tasks.insert({
172
+ id: crypto.randomUUID(),
173
+ title,
174
+ status: 'todo',
175
+ createdAt: Date.now(),
176
+ });
177
+
178
+ await render();
179
+ });
180
+
181
+ render();
182
+ </script>
183
+ </body>
184
+ </html>
185
+ ```
@@ -0,0 +1,128 @@
1
+ # HTML Layouts
2
+
3
+ These layout rules are mandatory when using `create_liveapp`.
4
+
5
+ ## Layout Components
6
+
7
+ Always use the built-in layout components for structure:
8
+
9
+ - **`<dt-grid>`** — for multi-column layouts. Auto-responsive by default.
10
+ - **`<dt-stack>`** — for linear arrangements (vertical lists, horizontal button rows). Use `direction="row"` for horizontal and `direction="column"` for vertical. Never use `horizontal` or `vertical` as attribute values.
11
+
12
+ Do not create custom grid or flexbox layouts with raw CSS unless absolutely necessary.
13
+
14
+ ## Content Sections
15
+
16
+ - Every visually distinct content block must be wrapped in `<dt-card>`.
17
+ - This includes anything that would otherwise need background, border, padding, radius, or shadow.
18
+ - Do not create custom container classes such as `.card`, `.panel`, `.box`, `.tile`, `.section`, `.info-card`, or `.stat-box`.
19
+ - Do not style a plain `<div>` or `<section>` to look like a card.
20
+
21
+ ## Allowed Plain `<div>` Usage
22
+
23
+ Use plain `<div>` only for the most minimal structural needs:
24
+
25
+ - `display: flex` / `display: grid` (only when layout components don't fit)
26
+ - `gap`, `flex-*`, `grid-*`
27
+ - `align-items`, `justify-content`
28
+ - `width`, `max-width`, `min-width`
29
+ - `margin`, `padding`
30
+
31
+ If a wrapper becomes visually distinct, convert it to `<dt-card>`.
32
+
33
+ ## Document Structure
34
+
35
+ - Return a full HTML document.
36
+ - Inline CSS and JavaScript in the document.
37
+ - Use semantic HTML tags for content structure.
38
+ - Use layout components for responsive behavior — they handle narrow views automatically.
39
+
40
+ ## Responsive Design
41
+
42
+ The layout components (`<dt-grid>`, `<dt-stack>`) handle responsive behavior internally:
43
+
44
+ - `<dt-grid>` without `cols` attribute uses `auto-fit` — items wrap naturally
45
+ - `<dt-grid>` with `cols` collapses to single column below 480px
46
+ - `<dt-stack direction="row">` wraps to column below 480px
47
+ - `<dt-stack>` only accepts `direction="row"` or `direction="column"`
48
+ - Body padding is responsive (smaller on narrow views)
49
+
50
+ Do not add custom media queries for basic responsive behavior.
51
+
52
+ ## Authoring Pattern
53
+
54
+ 1. Build page structure with semantic headings and paragraphs.
55
+ 2. Use `<dt-grid>` or `<dt-stack>` for layout containers.
56
+ 3. Wrap each visible content section in `<dt-card>`.
57
+ 4. Use `<dt-stat>` for metrics, `<dt-badge>` for status indicators, `<dt-button>` for actions.
58
+ 5. Use `<dt-list-view>` for long lists and `<dt-table-view>` for structured multi-column data instead of hand-rolling custom scrollers.
59
+ 6. Apply visual color only through `--dt-*` tokens and utility classes.
60
+
61
+ ## Examples
62
+
63
+ ### Dashboard with Auto-Responsive Grid
64
+
65
+ ```html
66
+ <dt-grid>
67
+ <dt-stat label="CPU" value="42%"></dt-stat>
68
+ <dt-stat label="RAM" value="8.2 GB"></dt-stat>
69
+ <dt-stat label="Disk" value="256 GB"></dt-stat>
70
+ <dt-stat label="Network" value="1.2 GB/s"></dt-stat>
71
+ </dt-grid>
72
+ ```
73
+
74
+ ### Action Buttons in a Row
75
+
76
+ ```html
77
+ <dt-stack direction="row" gap="12">
78
+ <dt-button>Save</dt-button>
79
+ <dt-button variant="secondary">Cancel</dt-button>
80
+ <dt-button variant="ghost">Reset</dt-button>
81
+ </dt-stack>
82
+ ```
83
+
84
+ ### Cards in a Vertical Stack
85
+
86
+ ```html
87
+ <dt-stack>
88
+ <dt-card>
89
+ <h3>System Status</h3>
90
+ <dt-badge variant="success">All Systems Operational</dt-badge>
91
+ </dt-card>
92
+
93
+ <dt-card>
94
+ <h3>Recent Activity</h3>
95
+ <p>12 events in the last hour.</p>
96
+ <dt-button size="sm">View All</dt-button>
97
+ </dt-card>
98
+ </dt-stack>
99
+ ```
100
+
101
+ ### Long Collection in a Card
102
+
103
+ ```html
104
+ <dt-card>
105
+ <h3>Recent Jobs</h3>
106
+ <dt-list-view item-height="68" dividers style="height: 320px;">
107
+ <template>
108
+ <dt-stack direction="row" align="center" gap="8">
109
+ <strong data-field="name"></strong>
110
+ <dt-badge data-field="state" data-field-variant="stateVariant"></dt-badge>
111
+ </dt-stack>
112
+ </template>
113
+ </dt-list-view>
114
+ </dt-card>
115
+ ```
116
+
117
+ ### Structured Data Table
118
+
119
+ ```html
120
+ <dt-card>
121
+ <h3>Running Processes</h3>
122
+ <dt-table-view row-height="40" striped style="height: 320px;">
123
+ <dt-column field="name" header="Process" width="220"></dt-column>
124
+ <dt-column field="cpu" header="CPU %" align="right" width="100"></dt-column>
125
+ <dt-column field="memory" header="Memory" align="right" width="120"></dt-column>
126
+ </dt-table-view>
127
+ </dt-card>
128
+ ```
@@ -0,0 +1,153 @@
1
+ # HTML Storage
2
+
3
+ Generated LiveApps automatically receive `window.DeskTalk.storage` for persistent app data.
4
+
5
+ Use it for user-created state such as tasks, rows, settings, bookmarks, filters, drafts, and preferences.
6
+
7
+ ## When To Use It
8
+
9
+ - Use `DeskTalk.storage` whenever a LiveApp needs data to survive reloads or app restarts.
10
+ - Prefer `DeskTalk.storage` over `localStorage` for durable app data.
11
+ - Prefer `DeskTalk.storage` over `DeskTalk.exec()` for persistence. `exec()` is for constrained command execution, not normal app data storage.
12
+ - Keep source code in the LiveApp files and user data in storage.
13
+
14
+ ## KV Storage
15
+
16
+ Use KV storage for small JSON values such as settings, view state, and metadata.
17
+
18
+ ```html
19
+ <script>
20
+ async function loadSettings() {
21
+ return (
22
+ (await window.DeskTalk.storage.get('settings')) || {
23
+ sort: 'createdAt',
24
+ showDone: true,
25
+ }
26
+ );
27
+ }
28
+
29
+ async function saveSettings(nextSettings) {
30
+ await window.DeskTalk.storage.set('settings', nextSettings);
31
+ }
32
+ </script>
33
+ ```
34
+
35
+ Available methods:
36
+
37
+ - `await DeskTalk.storage.get(name)`
38
+ - `await DeskTalk.storage.set(name, value)`
39
+ - `await DeskTalk.storage.delete(name)`
40
+ - `await DeskTalk.storage.list()`
41
+
42
+ Rules:
43
+
44
+ - `name` should be a short lowercase identifier such as `settings`, `tasks-meta`, or `drafts`.
45
+ - Store JSON-serializable values only.
46
+ - Use KV for small values that are usually read and written as a whole.
47
+
48
+ ## Collections
49
+
50
+ Use collections for lists of records such as tasks, todos, items, rows, bookmarks, or events.
51
+
52
+ ```html
53
+ <script>
54
+ const tasks = window.DeskTalk.storage.collection('tasks');
55
+
56
+ async function addTask(title) {
57
+ const id = crypto.randomUUID();
58
+ await tasks.insert({
59
+ id,
60
+ title,
61
+ status: 'todo',
62
+ createdAt: Date.now(),
63
+ });
64
+ }
65
+
66
+ async function completeTask(id) {
67
+ await tasks.update(id, { status: 'done', completedAt: Date.now() });
68
+ }
69
+
70
+ async function loadOpenTasks() {
71
+ return tasks.find(
72
+ { status: 'todo' },
73
+ { sort: 'createdAt', order: 'desc', limit: 50, offset: 0 },
74
+ );
75
+ }
76
+ </script>
77
+ ```
78
+
79
+ Available methods on `DeskTalk.storage.collection(name)`:
80
+
81
+ - `insert(record)`
82
+ - `update(id, fields)`
83
+ - `delete(id)`
84
+ - `findById(id)`
85
+ - `find(filter, options)`
86
+ - `findAll()`
87
+ - `count(filter)`
88
+ - `compact()`
89
+
90
+ Rules:
91
+
92
+ - Every inserted record must include a string `id`.
93
+ - Keep records as plain JSON objects.
94
+ - Prefer top-level fields for values you need to query or sort by.
95
+ - Use collection storage for structured data instead of storing large arrays in a single KV entry.
96
+
97
+ ## Recommended Patterns
98
+
99
+ ### Separate settings from records
100
+
101
+ - Store app settings in KV: `settings`, `tasks-meta`, `filters`
102
+ - Store user records in collections: `tasks`, `bookmarks`, `rows`
103
+
104
+ ### Normalize old data on read
105
+
106
+ Be defensive when loading stored data.
107
+
108
+ ```html
109
+ <script>
110
+ async function loadTasks() {
111
+ const records = await window.DeskTalk.storage.collection('tasks').findAll();
112
+ return records.map((task) => ({
113
+ priority: 'medium',
114
+ tags: [],
115
+ ...task,
116
+ }));
117
+ }
118
+ </script>
119
+ ```
120
+
121
+ This keeps the LiveApp working if older stored records are missing newly added fields.
122
+
123
+ ### Prefer storage over hardcoded demo state
124
+
125
+ If the app lets the user add, remove, or edit items, wire it to storage from the start.
126
+
127
+ Bad:
128
+
129
+ ```js
130
+ const tasks = [{ id: '1', title: 'Example', status: 'todo' }];
131
+ ```
132
+
133
+ Better:
134
+
135
+ ```js
136
+ const tasksStore = window.DeskTalk.storage.collection('tasks');
137
+ const tasks = await tasksStore.findAll();
138
+ ```
139
+
140
+ ## Editing Existing LiveApps
141
+
142
+ When changing a LiveApp that already uses storage:
143
+
144
+ - Read the current HTML or JS files first.
145
+ - If the data shape changes, also read the relevant storage files with the built-in `read` tool.
146
+ - Update both the code and the stored data shape.
147
+ - Prefer backward-compatible loading logic with defaults.
148
+
149
+ ## Avoid
150
+
151
+ - Do not use `localStorage` as the primary persistence layer for user data.
152
+ - Do not use `DeskTalk.exec()` to write app data files unless the user explicitly asked for a shell-based workflow.
153
+ - Do not keep all app data in one huge KV JSON blob when records should be a collection.
@@ -0,0 +1,26 @@
1
+ # HTML Tokens
2
+
3
+ Use these semantic DeskTalk tokens for all colors in generated previews.
4
+
5
+ ## Required
6
+
7
+ - Use `--dt-*` CSS custom properties for all colors.
8
+ - Never hardcode `hex`, `rgb`, `rgba`, `hsl`, or `oklch` values.
9
+ - The final HTML must be a complete document with `<html>`, `<head>`, and `<body>`.
10
+ - Inline CSS and JavaScript; do not reference external files or CDNs unless the user explicitly asks.
11
+
12
+ ## Semantic Tokens
13
+
14
+ - Backgrounds: `--dt-bg`, `--dt-bg-subtle`, `--dt-surface`, `--dt-surface-hover`, `--dt-surface-active`
15
+ - Text: `--dt-text`, `--dt-text-secondary`, `--dt-text-muted`, `--dt-text-on-accent`
16
+ - Borders: `--dt-border`, `--dt-border-subtle`, `--dt-border-strong`
17
+ - Accent: `--dt-accent`, `--dt-accent-hover`, `--dt-accent-active`, `--dt-accent-subtle`, `--dt-accent-ghost`
18
+ - Status: `--dt-danger`, `--dt-danger-subtle`, `--dt-success`, `--dt-success-subtle`, `--dt-warning`, `--dt-warning-subtle`, `--dt-info`, `--dt-info-subtle`
19
+ - Effects: `--dt-overlay`, `--dt-glass`, `--dt-shadow-color`
20
+
21
+ ## Guidance
22
+
23
+ - Prefer semantic tokens over one-off palette definitions.
24
+ - Use status tokens for alerts, badges, and health indicators.
25
+ - Use accent tokens for primary actions or emphasis, not as a replacement for every surface.
26
+ - If you need a muted treatment, combine standard layout with tokens such as `--dt-bg-subtle`, `--dt-text-muted`, and `--dt-border-subtle`.
@@ -0,0 +1,10 @@
1
+ export interface ManualPageMeta {
2
+ path: string;
3
+ title: string;
4
+ description: string;
5
+ file: string;
6
+ related: string[];
7
+ }
8
+ export declare const MANUAL_PAGES: ManualPageMeta[];
9
+ export declare const MANUAL_PAGE_MAP: Map<string, ManualPageMeta>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/manual-pages/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,cAAc,EA8LxC,CAAC;AAEF,eAAO,MAAM,eAAe,6BAAyD,CAAC"}
@@ -0,0 +1,186 @@
1
+ export const MANUAL_PAGES = [
2
+ {
3
+ path: 'html/tokens',
4
+ title: 'HTML Tokens',
5
+ description: 'Semantic --dt-* CSS properties for colors, surfaces, borders, and status.',
6
+ file: 'html-tokens.md',
7
+ related: ['html/components', 'html/layouts', 'html/examples'],
8
+ },
9
+ {
10
+ path: 'html/components',
11
+ title: 'HTML Components',
12
+ description: 'Overview of all DeskTalk web components, auto-injected assets, typography, and utility classes.',
13
+ file: 'html-components.md',
14
+ related: ['html/tokens', 'html/layouts', 'html/examples'],
15
+ },
16
+ {
17
+ path: 'html/layouts',
18
+ title: 'HTML Layouts',
19
+ description: 'Rules for dt-card usage, allowed layout divs, and document structure.',
20
+ file: 'html-layouts.md',
21
+ related: ['html/tokens', 'html/components', 'html/examples'],
22
+ },
23
+ {
24
+ path: 'html/bridge',
25
+ title: 'HTML Bridge',
26
+ description: 'window.DeskTalk APIs for reading state, making HTTP requests, and running constrained commands.',
27
+ file: 'html-bridge.md',
28
+ related: [
29
+ 'html/components',
30
+ 'html/storage',
31
+ 'html/actions',
32
+ 'desktop/windows',
33
+ 'desktop/actions',
34
+ ],
35
+ },
36
+ {
37
+ path: 'html/actions',
38
+ title: 'LiveApp Actions',
39
+ description: 'Register LiveApp actions that the AI can invoke from the focused Preview window.',
40
+ file: 'html-actions.md',
41
+ related: ['html/bridge', 'html/storage', 'desktop/actions'],
42
+ },
43
+ {
44
+ path: 'html/storage',
45
+ title: 'HTML Storage',
46
+ description: 'How LiveApps persist data with DeskTalk.storage KV and collections.',
47
+ file: 'html-storage.md',
48
+ related: ['html/bridge', 'html/actions', 'html/examples', 'editing/preview'],
49
+ },
50
+ {
51
+ path: 'html/examples',
52
+ title: 'HTML Examples',
53
+ description: 'Multi-component full-page examples showing valid DeskTalk preview structure and styling.',
54
+ file: 'html-examples.md',
55
+ related: ['html/tokens', 'html/components', 'html/layouts', 'html/bridge', 'html/storage'],
56
+ },
57
+ // ── Per-component pages ──────────────────────────────────────────────
58
+ {
59
+ path: 'html/components/dt-card',
60
+ title: 'dt-card',
61
+ description: 'Visually grouped content container with variant styles.',
62
+ file: 'dt-card.md',
63
+ related: ['html/components', 'html/layouts', 'html/components/dt-grid'],
64
+ },
65
+ {
66
+ path: 'html/components/dt-tooltip',
67
+ title: 'dt-tooltip',
68
+ description: 'Hover or focus hint tooltip for interactive elements.',
69
+ file: 'dt-tooltip.md',
70
+ related: ['html/components', 'html/components/dt-button'],
71
+ },
72
+ {
73
+ path: 'html/components/dt-select',
74
+ title: 'dt-select',
75
+ description: 'Dropdown select component.',
76
+ file: 'dt-select.md',
77
+ related: ['html/components', 'html/components/dt-button'],
78
+ },
79
+ {
80
+ path: 'html/components/dt-grid',
81
+ title: 'dt-grid',
82
+ description: 'Auto-responsive grid layout with configurable columns and gap.',
83
+ file: 'dt-grid.md',
84
+ related: ['html/components', 'html/layouts', 'html/components/dt-stack'],
85
+ },
86
+ {
87
+ path: 'html/components/dt-stack',
88
+ title: 'dt-stack',
89
+ description: 'Flexbox stack for vertical or horizontal layouts.',
90
+ file: 'dt-stack.md',
91
+ related: ['html/components', 'html/layouts', 'html/components/dt-grid'],
92
+ },
93
+ {
94
+ path: 'html/components/dt-stat',
95
+ title: 'dt-stat',
96
+ description: 'Metric/KPI display with label, value, trend, and description.',
97
+ file: 'dt-stat.md',
98
+ related: ['html/components', 'html/components/dt-grid', 'html/components/dt-card'],
99
+ },
100
+ {
101
+ path: 'html/components/dt-badge',
102
+ title: 'dt-badge',
103
+ description: 'Inline status pill/badge with variant colors.',
104
+ file: 'dt-badge.md',
105
+ related: ['html/components', 'html/components/dt-button'],
106
+ },
107
+ {
108
+ path: 'html/components/dt-divider',
109
+ title: 'dt-divider',
110
+ description: 'Horizontal or vertical separator line.',
111
+ file: 'dt-divider.md',
112
+ related: ['html/components', 'html/components/dt-stack'],
113
+ },
114
+ {
115
+ path: 'html/components/dt-list-view',
116
+ title: 'dt-list-view',
117
+ description: 'Virtualized list for long collections with templates.',
118
+ file: 'dt-list-view.md',
119
+ related: ['html/components', 'html/components/dt-table-view', 'html/components/dt-card'],
120
+ },
121
+ {
122
+ path: 'html/components/dt-table-view',
123
+ title: 'dt-table-view',
124
+ description: 'Virtualized table for structured row/column data with sorting.',
125
+ file: 'dt-table-view.md',
126
+ related: ['html/components', 'html/components/dt-list-view', 'html/components/dt-card'],
127
+ },
128
+ {
129
+ path: 'html/components/dt-chart',
130
+ title: 'dt-chart',
131
+ description: 'Interactive Chart.js chart — set .data property to provide chart data.',
132
+ file: 'dt-chart.md',
133
+ related: ['html/components', 'html/components/dt-card', 'html/components/dt-grid'],
134
+ },
135
+ {
136
+ path: 'html/components/dt-markdown',
137
+ title: 'dt-markdown',
138
+ description: 'Themed markdown renderer for rich text and documentation.',
139
+ file: 'dt-markdown.md',
140
+ related: ['html/components', 'html/components/dt-markdown-editor', 'html/components/dt-card'],
141
+ },
142
+ {
143
+ path: 'html/components/dt-markdown-editor',
144
+ title: 'dt-markdown-editor',
145
+ description: 'WYSIWYG markdown editor powered by Milkdown.',
146
+ file: 'dt-markdown-editor.md',
147
+ related: ['html/components', 'html/components/dt-markdown', 'html/storage'],
148
+ },
149
+ {
150
+ path: 'html/components/dt-button',
151
+ title: 'dt-button',
152
+ description: 'Themed button component with variant and size options.',
153
+ file: 'dt-button.md',
154
+ related: ['html/components', 'html/components/dt-stack'],
155
+ },
156
+ // ── Desktop & editing pages ──────────────────────────────────────────
157
+ {
158
+ path: 'desktop/windows',
159
+ title: 'Desktop Windows',
160
+ description: 'How to list windows, open MiniApps, focus windows, and manage desktop state.',
161
+ file: 'desktop-windows.md',
162
+ related: ['desktop/actions', 'editing/preview'],
163
+ },
164
+ {
165
+ path: 'desktop/actions',
166
+ title: 'Desktop Actions',
167
+ description: 'How to use the action tool with the Desktop Context block and window actions.',
168
+ file: 'desktop-actions.md',
169
+ related: ['desktop/windows', 'html/actions', 'editing/preview'],
170
+ },
171
+ {
172
+ path: 'editing/preview',
173
+ title: 'Preview Editing',
174
+ description: 'The exact Get State -> read -> edit workflow for updating existing Preview HTML.',
175
+ file: 'editing-preview.md',
176
+ related: [
177
+ 'desktop/actions',
178
+ 'desktop/windows',
179
+ 'html/layouts',
180
+ 'html/examples',
181
+ 'html/storage',
182
+ ],
183
+ },
184
+ ];
185
+ export const MANUAL_PAGE_MAP = new Map(MANUAL_PAGES.map((page) => [page.path, page]));
186
+ //# sourceMappingURL=index.js.map