@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 @@
1
+ {"version":3,"file":"pi-session-service.js","sourceRoot":"","sources":["../../../src/services/ai/pi-session-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export interface AiProviderDefinition {
2
+ id: string;
3
+ label: string;
4
+ supportsApiKey: boolean;
5
+ supportsBaseUrl: boolean;
6
+ }
7
+ export interface AiProviderPreferences {
8
+ provider: string;
9
+ model: string;
10
+ apiKey: string;
11
+ baseUrl: string;
12
+ }
13
+ export declare const AI_DEFAULT_PROVIDER = "openai";
14
+ export declare const AI_PROVIDER_DEFINITIONS: AiProviderDefinition[];
15
+ export type PreferenceReader = (key: string) => Promise<string | number | boolean | undefined>;
16
+ export declare function getAiProviderPreferenceKey(provider: string, field: 'model' | 'apiKey' | 'baseUrl'): string;
17
+ export declare function isKnownAiProvider(provider: string): boolean;
18
+ export declare function getDefaultAiProvider(getPreference: PreferenceReader): Promise<string>;
19
+ export declare function getAiProviderPreferences(getPreference: PreferenceReader, provider: string): Promise<AiProviderPreferences>;
20
+ export declare function getAllAiProviderPreferences(getPreference: PreferenceReader): Promise<AiProviderPreferences[]>;
21
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/services/ai/providers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,EA2DzD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAE/F,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GACpC,MAAM,CAER;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAsB,oBAAoB,CAAC,aAAa,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAO3F;AAED,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,gBAAgB,EAC/B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAoBhC;AAED,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE,gBAAgB,GAC9B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAIlC"}
@@ -0,0 +1,93 @@
1
+ export const AI_DEFAULT_PROVIDER = 'openai';
2
+ export const AI_PROVIDER_DEFINITIONS = [
3
+ { id: 'anthropic', label: 'Anthropic', supportsApiKey: true, supportsBaseUrl: false },
4
+ {
5
+ id: 'azure-openai-responses',
6
+ label: 'Azure OpenAI',
7
+ supportsApiKey: true,
8
+ supportsBaseUrl: true,
9
+ },
10
+ { id: 'openai', label: 'OpenAI', supportsApiKey: true, supportsBaseUrl: true },
11
+ { id: 'google', label: 'Google Gemini', supportsApiKey: true, supportsBaseUrl: false },
12
+ {
13
+ id: 'mistral',
14
+ label: 'Mistral',
15
+ supportsApiKey: true,
16
+ supportsBaseUrl: true,
17
+ },
18
+ { id: 'groq', label: 'Groq', supportsApiKey: true, supportsBaseUrl: true },
19
+ {
20
+ id: 'cerebras',
21
+ label: 'Cerebras',
22
+ supportsApiKey: true,
23
+ supportsBaseUrl: true,
24
+ },
25
+ { id: 'xai', label: 'xAI', supportsApiKey: true, supportsBaseUrl: true },
26
+ {
27
+ id: 'openrouter',
28
+ label: 'OpenRouter',
29
+ supportsApiKey: true,
30
+ supportsBaseUrl: true,
31
+ },
32
+ {
33
+ id: 'vercel-ai-gateway',
34
+ label: 'Vercel AI Gateway',
35
+ supportsApiKey: true,
36
+ supportsBaseUrl: true,
37
+ },
38
+ { id: 'zai', label: 'ZAI', supportsApiKey: true, supportsBaseUrl: false },
39
+ { id: 'opencode', label: 'OpenCode Zen', supportsApiKey: true, supportsBaseUrl: false },
40
+ { id: 'opencode-go', label: 'OpenCode Go', supportsApiKey: true, supportsBaseUrl: false },
41
+ {
42
+ id: 'huggingface',
43
+ label: 'Hugging Face',
44
+ supportsApiKey: true,
45
+ supportsBaseUrl: true,
46
+ },
47
+ {
48
+ id: 'kimi-coding',
49
+ label: 'Kimi For Coding',
50
+ supportsApiKey: true,
51
+ supportsBaseUrl: false,
52
+ },
53
+ { id: 'minimax', label: 'MiniMax', supportsApiKey: true, supportsBaseUrl: false },
54
+ {
55
+ id: 'minimax-cn',
56
+ label: 'MiniMax China',
57
+ supportsApiKey: true,
58
+ supportsBaseUrl: false,
59
+ },
60
+ { id: 'ollama', label: 'Ollama', supportsApiKey: false, supportsBaseUrl: true },
61
+ ];
62
+ export function getAiProviderPreferenceKey(provider, field) {
63
+ return `ai.providers.${provider}.${field}`;
64
+ }
65
+ export function isKnownAiProvider(provider) {
66
+ return AI_PROVIDER_DEFINITIONS.some((entry) => entry.id === provider);
67
+ }
68
+ export async function getDefaultAiProvider(getPreference) {
69
+ const configured = (await getPreference('ai.defaultProvider')) ??
70
+ (await getPreference('ai.provider')) ??
71
+ AI_DEFAULT_PROVIDER;
72
+ return isKnownAiProvider(configured) ? configured : AI_DEFAULT_PROVIDER;
73
+ }
74
+ export async function getAiProviderPreferences(getPreference, provider) {
75
+ const legacyProvider = (await getPreference('ai.provider')) ?? AI_DEFAULT_PROVIDER;
76
+ const legacyMatches = legacyProvider === provider;
77
+ const model = (await getPreference(getAiProviderPreferenceKey(provider, 'model'))) ??
78
+ (legacyMatches ? ((await getPreference('ai.model')) ?? '') : '');
79
+ const apiKey = (await getPreference(getAiProviderPreferenceKey(provider, 'apiKey'))) ??
80
+ (legacyMatches ? ((await getPreference('ai.apiKey')) ?? '') : '');
81
+ const baseUrl = (await getPreference(getAiProviderPreferenceKey(provider, 'baseUrl'))) ??
82
+ (legacyMatches ? ((await getPreference('ai.baseUrl')) ?? '') : '');
83
+ return {
84
+ provider,
85
+ model,
86
+ apiKey,
87
+ baseUrl,
88
+ };
89
+ }
90
+ export async function getAllAiProviderPreferences(getPreference) {
91
+ return Promise.all(AI_PROVIDER_DEFINITIONS.map((provider) => getAiProviderPreferences(getPreference, provider.id)));
92
+ }
93
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/services/ai/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ToolDefinition } from '@mariozechner/pi-coding-agent';
2
+ import { EditHistory, type ManagedPathResolver } from './edit-history.js';
3
+ interface RedoEditToolOptions {
4
+ editHistory: EditHistory;
5
+ resolvePath: ManagedPathResolver;
6
+ }
7
+ export declare function createRedoEditTool(options: RedoEditToolOptions): ToolDefinition;
8
+ export {};
9
+ //# sourceMappingURL=redo-edit-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redo-edit-tool.d.ts","sourceRoot":"","sources":["../../../src/services/ai/redo-edit-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAYvE,UAAU,mBAAmB;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,CAqC/E"}
@@ -0,0 +1,44 @@
1
+ import { writeFileSync } from 'node:fs';
2
+ import { Type } from '@sinclair/typebox';
3
+ import { broadcastEvent } from '../messaging.js';
4
+ const redoEditSchema = Type.Object({
5
+ path: Type.String({
6
+ description: 'Path to the file to restore. Absolute or user-home-relative.',
7
+ }),
8
+ });
9
+ export function createRedoEditTool(options) {
10
+ const { editHistory, resolvePath } = options;
11
+ return {
12
+ name: 'redo_edit',
13
+ label: 'Redo Edit',
14
+ description: 'Re-apply the next saved version of a managed file.',
15
+ promptSnippet: 'Redo the last undone managed file edit.',
16
+ promptGuidelines: ['Use the same file path that was edited earlier.'],
17
+ parameters: redoEditSchema,
18
+ async execute(_toolCallId, params) {
19
+ const input = params;
20
+ const absolutePath = resolvePath(input.path);
21
+ const restoredContent = editHistory.redo(absolutePath);
22
+ if (restoredContent === null) {
23
+ throw new Error(`Nothing to redo for ${input.path}`);
24
+ }
25
+ writeFileSync(absolutePath, restoredContent, 'utf-8');
26
+ broadcastEvent('preview', 'preview.file-changed', {
27
+ filePath: absolutePath,
28
+ content: restoredContent,
29
+ });
30
+ if (absolutePath.replace(/\\/g, '/').includes('/.data/liveapps/')) {
31
+ broadcastEvent('preview', 'liveapps.changed', {
32
+ path: absolutePath,
33
+ reason: 'redo',
34
+ });
35
+ }
36
+ const payload = { ok: true, path: absolutePath, contentLength: restoredContent.length };
37
+ return {
38
+ content: [{ type: 'text', text: JSON.stringify(payload, null, 2) }],
39
+ details: payload,
40
+ };
41
+ },
42
+ };
43
+ }
44
+ //# sourceMappingURL=redo-edit-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redo-edit-tool.js","sourceRoot":"","sources":["../../../src/services/ai/redo-edit-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,8DAA8D;KAC5E,CAAC;CACH,CAAC,CAAC;AAWH,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,oDAAoD;QACjE,aAAa,EAAE,yCAAyC;QACxD,gBAAgB,EAAE,CAAC,iDAAiD,CAAC;QACrE,UAAU,EAAE,cAAc;QAC1B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM;YAC/B,MAAM,KAAK,GAAG,MAAwB,CAAC;YACvC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,aAAa,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACtD,cAAc,CAAC,SAAS,EAAE,sBAAsB,EAAE;gBAChD,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,eAAe;aACzB,CAAC,CAAC;YACH,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAClE,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE;oBAC5C,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC;YACxF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnE,OAAO,EAAE,OAAO;aACjB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Static system prompt — fully cacheable, never changes between prompts.
3
+ *
4
+ * Adds DeskTalk-specific instructions on top of the base pi system prompt.
5
+ */
6
+ export declare const DESKTALK_SYSTEM_PROMPT: string;
7
+ //# sourceMappingURL=system-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/services/ai/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAiEvB,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Static system prompt — fully cacheable, never changes between prompts.
3
+ *
4
+ * Adds DeskTalk-specific instructions on top of the base pi system prompt.
5
+ */
6
+ export const DESKTALK_SYSTEM_PROMPT = [
7
+ 'You are an AI assistant running inside DeskTalk, a browser-based OS-like desktop environment.',
8
+ 'DeskTalk has MiniApp windows (Notes, Todos, File Explorer, Preferences, etc.) that users interact with.',
9
+ '',
10
+ 'When the user asks to visualize, display, or show something that benefits from rich rendering, use `create_liveapp`.',
11
+ 'Use `generate_icon` when a LiveApp needs a custom icon, whether it was just created or already exists. You can also call it again later to refresh an icon. If `generate_icon` returns `{ ok: false }`, continue without retrying.',
12
+ 'Use `read_manual` to load detailed DeskTalk reference pages for HTML generation, desktop operations, and Preview editing workflows.',
13
+ 'When the user asks to modify an existing HTML preview or another managed file, use `edit` for an exact text replacement. Use `undo_edit` and `redo_edit` to revert or re-apply those file edits.',
14
+ 'For Preview edits, always follow this sequence: call the focused window action `Get State` to get `file.path`, join it with the `Home` path from [Desktop Context] to form an absolute path, use the built-in `read` tool to inspect that file, then call `edit` with an exact oldText match.',
15
+ 'If the user asks to change, update, tweak, revise, or fix content that is already shown in a Preview window, prefer `edit` instead of generating new HTML.',
16
+ 'After a successful `edit`, `undo_edit`, or `redo_edit` on a Preview HTML file, expect the Preview window to refresh automatically via DeskTalk events. Do not regenerate the document just to refresh it.',
17
+ '',
18
+ '## Manual Dispatch',
19
+ '',
20
+ '- Before generating HTML, read the manual pages most relevant to the request: `html/tokens`, `html/components`, `html/layouts`, `html/bridge`, `html/actions`, `html/storage`, or `html/examples`.',
21
+ '- Before editing an existing Preview document, read `editing/preview`.',
22
+ '- For desktop window management, read `desktop/windows`.',
23
+ '- For invoking MiniApp actions, read `desktop/actions`.',
24
+ '- Call `read_manual` with no arguments to see the full manual table of contents.',
25
+ '- Read only the pages needed for the current task; use related page links to drill deeper.',
26
+ '',
27
+ '## Desktop Context',
28
+ '',
29
+ 'Every user message begins with a `[Desktop Context]` block that shows:',
30
+ "- `Home` — the absolute filesystem path to the current user's home directory in DeskTalk.",
31
+ '- Which window is focused and its ID.',
32
+ '- All open windows.',
33
+ '- Available MiniApps that can be opened.',
34
+ '- Available LiveApps that already exist on disk.',
35
+ '- Actions registered on the focused window, with parameter schemas.',
36
+ '',
37
+ 'Use this block to decide which actions are available and what parameters they accept.',
38
+ 'If you need fresher state mid-conversation (e.g., after opening a new window), call desktop action="list".',
39
+ '',
40
+ '## File Paths',
41
+ '',
42
+ 'File paths returned by MiniApp actions (e.g. `Get State`, `Open File`) are relative to the `Home` directory shown in [Desktop Context].',
43
+ 'To get an absolute path for use with `read`, `bash`, or any other filesystem tool, join the `Home` path with the relative path.',
44
+ 'For example, if Home is `/data/home/alice` and `Get State` returns `file.path` as `.data/liveapps/my-app/index.html`, the absolute path is `/data/home/alice/.data/liveapps/my-app/index.html`.',
45
+ 'The `edit` tool also accepts home-relative paths directly.',
46
+ '',
47
+ '## Response Style',
48
+ '',
49
+ '- Be terse. After completing an action, reply "Done." — nothing more.',
50
+ '- For yes/no judgements, answer "Yes." or "No." unless elaboration is requested.',
51
+ '- When answering questions, give one short, precise sentence. Do not over-explain.',
52
+ '- Only provide detailed explanations when the user explicitly asks for them.',
53
+ '',
54
+ '## Guidelines',
55
+ '',
56
+ '- Read the [Desktop Context] block before invoking actions — it tells you exactly what is available.',
57
+ '- For Preview windows, use the `Get State` action to discover the current file and mode before editing.',
58
+ '- For Preview HTML changes, do not guess the file path and do not edit blind: first call `Get State`, then use `read`, then use `edit`.',
59
+ '- Prefer `edit` over regenerating HTML when the user asks for a targeted change to an existing preview.',
60
+ '- When generating or editing a LiveApp that needs persistent user data, prefer `window.DeskTalk.storage` over `localStorage` or shell-based file writes.',
61
+ '- When generating a LiveApp that should expose operations the AI can invoke later, use `window.DeskTalk.actions` and read `html/actions`.',
62
+ '- Use KV storage for small settings and metadata; use `DeskTalk.storage.collection(name)` for user-editable lists or records.',
63
+ '- When generating or editing a LiveApp that needs to call external HTTP APIs, prefer `window.DeskTalk.request(url, options)` over plain `fetch()` so the request can be proxied through the backend.',
64
+ '- If you change a LiveApp data model, also inspect and migrate the relevant stored data when needed, while keeping backward-compatible defaults in the app code.',
65
+ '- If the user asks for an icon for an existing LiveApp, prefer reusing that LiveApp and call `generate_icon` with its `liveAppId` instead of creating a new app.',
66
+ '- When a user refers to "the Preview", "this page", "this chart", "the current HTML", or similar, first check the focused Preview window state and edit that file in place when possible.',
67
+ '- Assume Preview reload is automatic after file edits; do not spend extra tool calls trying to force a refresh unless the user reports it failed.',
68
+ '- Provide all required params as a JSON object when invoking an action.',
69
+ '- If you need to act on a different window, either focus it first or pass its windowId explicitly.',
70
+ '- Prefer completing user requests in as few tool calls as possible.',
71
+ ].join('\n');
72
+ //# sourceMappingURL=system-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/services/ai/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,+FAA+F;IAC/F,yGAAyG;IACzG,EAAE;IACF,sHAAsH;IACtH,oOAAoO;IACpO,qIAAqI;IACrI,kMAAkM;IAClM,+RAA+R;IAC/R,4JAA4J;IAC5J,2MAA2M;IAC3M,EAAE;IACF,oBAAoB;IACpB,EAAE;IACF,oMAAoM;IACpM,wEAAwE;IACxE,0DAA0D;IAC1D,yDAAyD;IACzD,kFAAkF;IAClF,4FAA4F;IAC5F,EAAE;IACF,oBAAoB;IACpB,EAAE;IACF,wEAAwE;IACxE,2FAA2F;IAC3F,uCAAuC;IACvC,qBAAqB;IACrB,0CAA0C;IAC1C,kDAAkD;IAClD,qEAAqE;IACrE,EAAE;IACF,uFAAuF;IACvF,4GAA4G;IAC5G,EAAE;IACF,eAAe;IACf,EAAE;IACF,yIAAyI;IACzI,iIAAiI;IACjI,iMAAiM;IACjM,4DAA4D;IAC5D,EAAE;IACF,mBAAmB;IACnB,EAAE;IACF,uEAAuE;IACvE,kFAAkF;IAClF,oFAAoF;IACpF,8EAA8E;IAC9E,EAAE;IACF,eAAe;IACf,EAAE;IACF,sGAAsG;IACtG,yGAAyG;IACzG,yIAAyI;IACzI,yGAAyG;IACzG,0JAA0J;IAC1J,2IAA2I;IAC3I,+HAA+H;IAC/H,sMAAsM;IACtM,kKAAkK;IAClK,kKAAkK;IAClK,2LAA2L;IAC3L,mJAAmJ;IACnJ,yEAAyE;IACzE,oGAAoG;IACpG,qEAAqE;CACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ToolDefinition } from '@mariozechner/pi-coding-agent';
2
+ import { EditHistory, type ManagedPathResolver } from './edit-history.js';
3
+ interface UndoEditToolOptions {
4
+ editHistory: EditHistory;
5
+ resolvePath: ManagedPathResolver;
6
+ }
7
+ export declare function createUndoEditTool(options: UndoEditToolOptions): ToolDefinition;
8
+ export {};
9
+ //# sourceMappingURL=undo-edit-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-edit-tool.d.ts","sourceRoot":"","sources":["../../../src/services/ai/undo-edit-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAYvE,UAAU,mBAAmB;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,CAqC/E"}
@@ -0,0 +1,44 @@
1
+ import { writeFileSync } from 'node:fs';
2
+ import { Type } from '@sinclair/typebox';
3
+ import { broadcastEvent } from '../messaging.js';
4
+ const undoEditSchema = Type.Object({
5
+ path: Type.String({
6
+ description: 'Path to the file to restore. Absolute or user-home-relative.',
7
+ }),
8
+ });
9
+ export function createUndoEditTool(options) {
10
+ const { editHistory, resolvePath } = options;
11
+ return {
12
+ name: 'undo_edit',
13
+ label: 'Undo Edit',
14
+ description: 'Restore the previous saved version of a managed file.',
15
+ promptSnippet: 'Undo the last managed file edit.',
16
+ promptGuidelines: ['Use the same file path that was edited earlier.'],
17
+ parameters: undoEditSchema,
18
+ async execute(_toolCallId, params) {
19
+ const input = params;
20
+ const absolutePath = resolvePath(input.path);
21
+ const restoredContent = editHistory.undo(absolutePath);
22
+ if (restoredContent === null) {
23
+ throw new Error(`Nothing to undo for ${input.path}`);
24
+ }
25
+ writeFileSync(absolutePath, restoredContent, 'utf-8');
26
+ broadcastEvent('preview', 'preview.file-changed', {
27
+ filePath: absolutePath,
28
+ content: restoredContent,
29
+ });
30
+ if (absolutePath.replace(/\\/g, '/').includes('/.data/liveapps/')) {
31
+ broadcastEvent('preview', 'liveapps.changed', {
32
+ path: absolutePath,
33
+ reason: 'undo',
34
+ });
35
+ }
36
+ const payload = { ok: true, path: absolutePath, contentLength: restoredContent.length };
37
+ return {
38
+ content: [{ type: 'text', text: JSON.stringify(payload, null, 2) }],
39
+ details: payload,
40
+ };
41
+ },
42
+ };
43
+ }
44
+ //# sourceMappingURL=undo-edit-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-edit-tool.js","sourceRoot":"","sources":["../../../src/services/ai/undo-edit-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,8DAA8D;KAC5E,CAAC;CACH,CAAC,CAAC;AAWH,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,uDAAuD;QACpE,aAAa,EAAE,kCAAkC;QACjD,gBAAgB,EAAE,CAAC,iDAAiD,CAAC;QACrE,UAAU,EAAE,cAAc;QAC1B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM;YAC/B,MAAM,KAAK,GAAG,MAAwB,CAAC;YACvC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,aAAa,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACtD,cAAc,CAAC,SAAS,EAAE,sBAAsB,EAAE;gBAChD,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,eAAe;aACzB,CAAC,CAAC;YACH,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAClE,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE;oBAC5C,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC;YACxF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnE,OAAO,EAAE,OAAO;aACjB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { ToolDefinition } from '@mariozechner/pi-coding-agent';
2
+ import type { MiniAppManifest } from '@desktalk/sdk';
3
+ import type { WindowManagerService } from '../window-manager.js';
4
+ /**
5
+ * Sends a command to the frontend and waits for a result.
6
+ * The frontend executes the operation locally and syncs state back.
7
+ */
8
+ export type SendAiCommand = (command: {
9
+ action: string;
10
+ windowId?: string;
11
+ miniAppId?: string;
12
+ title?: string;
13
+ }) => Promise<{
14
+ ok: boolean;
15
+ windowId?: string;
16
+ error?: string;
17
+ }>;
18
+ interface WindowToolOptions {
19
+ windowManager: WindowManagerService;
20
+ getMiniApps: () => MiniAppManifest[];
21
+ activateMiniApp: (miniAppId: string) => void;
22
+ invokeAction: (windowId: string, actionName: string, actionParams?: Record<string, unknown>) => Promise<unknown>;
23
+ sendAiCommand: SendAiCommand;
24
+ }
25
+ export declare function createWindowControlTool(options: WindowToolOptions): ToolDefinition;
26
+ export {};
27
+ //# sourceMappingURL=window-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window-tools.d.ts","sourceRoot":"","sources":["../../../src/services/ai/window-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAsB9D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElE,UAAU,iBAAiB;IACzB,aAAa,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAE,MAAM,eAAe,EAAE,CAAC;IACrC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,CACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAaD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAwJlF"}
@@ -0,0 +1,155 @@
1
+ import { StringEnum } from '@mariozechner/pi-ai';
2
+ import { Type } from '@sinclair/typebox';
3
+ const windowControlSchema = Type.Object({
4
+ action: StringEnum(['list', 'focus', 'minimize', 'maximize', 'close', 'open', 'invoke_action']),
5
+ windowId: Type.Optional(Type.String({ description: 'Target window ID for window operations' })),
6
+ miniAppId: Type.Optional(Type.String({ description: 'MiniApp ID to open in a new window' })),
7
+ actionName: Type.Optional(Type.String({ description: 'Registered action name to invoke' })),
8
+ actionParams: Type.Optional(Type.Record(Type.String(), Type.Unknown(), {
9
+ description: 'Optional params passed to the MiniApp action handler',
10
+ })),
11
+ });
12
+ function stringify(data) {
13
+ return JSON.stringify(data, null, 2);
14
+ }
15
+ function requireValue(value, message) {
16
+ if (value === undefined || value === null || value === '') {
17
+ throw new Error(message);
18
+ }
19
+ return value;
20
+ }
21
+ export function createWindowControlTool(options) {
22
+ const { windowManager, getMiniApps, activateMiniApp, invokeAction, sendAiCommand } = options;
23
+ return {
24
+ name: 'window_control',
25
+ label: 'Window Control',
26
+ description: 'Manage DeskTalk desktop windows: list windows, open MiniApps, focus windows, minimize, maximize, close, and invoke registered MiniApp actions.',
27
+ promptSnippet: 'Manage DeskTalk windows and invoke actions on the focused or selected MiniApp window.',
28
+ promptGuidelines: [
29
+ 'Use action="list" first when you need the latest window IDs or available MiniApp actions.',
30
+ 'Use action="invoke_action" only after you know the target windowId and actionName.',
31
+ ],
32
+ parameters: windowControlSchema,
33
+ async execute(_toolCallId, params) {
34
+ const input = params;
35
+ switch (input.action) {
36
+ case 'list': {
37
+ // List reads from the backend's last-synced state
38
+ const windows = windowManager.getWindows();
39
+ const focusedWindow = windowManager.getFocusedWindow();
40
+ const focusedWindowActions = focusedWindow
41
+ ? windowManager.getWindowActions(focusedWindow.id)
42
+ : [];
43
+ const payload = {
44
+ windows,
45
+ focusedWindowActions,
46
+ availableMiniApps: getMiniApps().map((miniApp) => ({
47
+ id: miniApp.id,
48
+ name: miniApp.name,
49
+ })),
50
+ };
51
+ return {
52
+ content: [{ type: 'text', text: stringify(payload) }],
53
+ details: payload,
54
+ };
55
+ }
56
+ case 'open': {
57
+ const miniAppId = requireValue(input.miniAppId, 'miniAppId is required for action="open"');
58
+ const manifest = getMiniApps().find((miniApp) => miniApp.id === miniAppId);
59
+ if (!manifest) {
60
+ throw new Error(`Unknown MiniApp: ${miniAppId}`);
61
+ }
62
+ activateMiniApp(miniAppId);
63
+ // Send command to frontend — it will create the window locally and sync back
64
+ const commandResult = await sendAiCommand({
65
+ action: 'open',
66
+ miniAppId,
67
+ title: manifest.name,
68
+ });
69
+ if (!commandResult.ok) {
70
+ throw new Error(commandResult.error ?? 'Failed to open window');
71
+ }
72
+ const result = {
73
+ ok: true,
74
+ action: input.action,
75
+ windowId: commandResult.windowId,
76
+ miniAppId,
77
+ title: manifest.name,
78
+ };
79
+ return {
80
+ content: [{ type: 'text', text: stringify(result) }],
81
+ details: result,
82
+ };
83
+ }
84
+ case 'focus': {
85
+ const windowId = requireValue(input.windowId, 'windowId is required for action="focus"');
86
+ const commandResult = await sendAiCommand({ action: 'focus', windowId });
87
+ if (!commandResult.ok) {
88
+ throw new Error(commandResult.error ?? 'Failed to focus window');
89
+ }
90
+ const result = { ok: true, action: input.action, windowId };
91
+ return {
92
+ content: [{ type: 'text', text: stringify(result) }],
93
+ details: result,
94
+ };
95
+ }
96
+ case 'minimize': {
97
+ const windowId = requireValue(input.windowId, 'windowId is required for action="minimize"');
98
+ const commandResult = await sendAiCommand({ action: 'minimize', windowId });
99
+ if (!commandResult.ok) {
100
+ throw new Error(commandResult.error ?? 'Failed to minimize window');
101
+ }
102
+ const result = { ok: true, action: input.action, windowId };
103
+ return {
104
+ content: [{ type: 'text', text: stringify(result) }],
105
+ details: result,
106
+ };
107
+ }
108
+ case 'maximize': {
109
+ const windowId = requireValue(input.windowId, 'windowId is required for action="maximize"');
110
+ const commandResult = await sendAiCommand({ action: 'maximize', windowId });
111
+ if (!commandResult.ok) {
112
+ throw new Error(commandResult.error ?? 'Failed to maximize window');
113
+ }
114
+ const result = { ok: true, action: input.action, windowId };
115
+ return {
116
+ content: [{ type: 'text', text: stringify(result) }],
117
+ details: result,
118
+ };
119
+ }
120
+ case 'close': {
121
+ const windowId = requireValue(input.windowId, 'windowId is required for action="close"');
122
+ const commandResult = await sendAiCommand({ action: 'close', windowId });
123
+ if (!commandResult.ok) {
124
+ throw new Error(commandResult.error ?? 'Failed to close window');
125
+ }
126
+ const result = { ok: true, action: input.action, windowId };
127
+ return {
128
+ content: [{ type: 'text', text: stringify(result) }],
129
+ details: result,
130
+ };
131
+ }
132
+ case 'invoke_action': {
133
+ const windowId = requireValue(input.windowId, 'windowId is required for action="invoke_action"');
134
+ const actionName = requireValue(input.actionName, 'actionName is required for action="invoke_action"');
135
+ // Action invocations still go through the existing broker
136
+ const actionResult = await invokeAction(windowId, actionName, input.actionParams);
137
+ const payload = {
138
+ ok: true,
139
+ action: input.action,
140
+ windowId,
141
+ actionName,
142
+ result: actionResult,
143
+ };
144
+ return {
145
+ content: [{ type: 'text', text: stringify(payload) }],
146
+ details: payload,
147
+ };
148
+ }
149
+ default:
150
+ throw new Error(`Unsupported window action: ${String(input.action)}`);
151
+ }
152
+ },
153
+ };
154
+ }
155
+ //# sourceMappingURL=window-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window-tools.js","sourceRoot":"","sources":["../../../src/services/ai/window-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Child-process entry point for an isolated MiniApp backend.
3
+ *
4
+ * Spawned by BackendProcessManager via `child_process.fork()`.
5
+ * Receives an "activate" message over IPC, imports the backend module,
6
+ * wires up a local MessagingHook that bridges commands/events through IPC,
7
+ * then signals "ready" back to the main process.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=backend-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-host.d.ts","sourceRoot":"","sources":["../../src/services/backend-host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}