shortcutxl 0.3.77 → 0.3.78

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 (351) hide show
  1. package/BINARY-INVENTORY.json +9 -9
  2. package/CHANGELOG.md +8 -0
  3. package/dist/app/agent-session.d.ts +0 -15
  4. package/dist/app/agent-session.js +0 -37
  5. package/dist/app/extensions/slash-commands.js +1 -3
  6. package/dist/app/modes/action/agent.js +4 -5
  7. package/dist/app/modes/ask/agent.js +4 -6
  8. package/dist/app/modes/index.js +20 -10
  9. package/dist/app/modes/installation/agent.js +4 -5
  10. package/dist/app/modes/manage/agent.js +3 -4
  11. package/dist/app/modes/manage/prompt.js +1 -2
  12. package/dist/app/modes/metadata.d.ts +31 -0
  13. package/dist/app/modes/metadata.js +35 -0
  14. package/dist/app/modes/plan/agent.js +5 -8
  15. package/dist/app/modes/plan/prompt.js +3 -3
  16. package/dist/app/prompts/com-api.js +1 -1
  17. package/dist/app/prompts/shared-guidelines.js +6 -2
  18. package/dist/app/providers/register-shortcut-provider.js +4 -0
  19. package/dist/app/tools/bash.js +3 -3
  20. package/dist/app/tools/switch-mode.js +2 -2
  21. package/dist/app/tools/web-search.js +12 -2
  22. package/dist/cli.js +871 -2144
  23. package/dist/constants.d.ts +0 -2
  24. package/dist/constants.js +0 -3
  25. package/dist/contracts/model-call.d.ts +0 -1
  26. package/dist/contracts/model-call.js +1 -2
  27. package/dist/contracts/wire.d.ts +8 -1
  28. package/dist/contracts/wire.js +8 -0
  29. package/dist/embedded-agent/ai-invoke.d.ts +1 -2
  30. package/dist/embedded-agent/ai-invoke.js +0 -70
  31. package/dist/embedded-agent/anthropic-messages-transport.d.ts +1 -2
  32. package/dist/embedded-agent/google-vertex-transport.d.ts +1 -2
  33. package/dist/embedded-agent/host-tools/invoke-llm/contract.d.ts +1 -1
  34. package/dist/embedded-agent/host-tools/invoke-llm/contract.js +1 -1
  35. package/dist/embedded-agent/host-tools/shared/index.d.ts +1 -1
  36. package/dist/embedded-agent/host-tools/shared/index.js +1 -1
  37. package/dist/embedded-agent/host-tools/shared/llm-stream-error.d.ts +7 -0
  38. package/dist/embedded-agent/host-tools/shared/llm-stream-error.js +10 -0
  39. package/dist/embedded-agent/index.d.ts +3 -4
  40. package/dist/embedded-agent/index.js +2 -3
  41. package/dist/embedded-agent/openai-completions-transport.d.ts +1 -2
  42. package/dist/embedded-agent/openai-responses-transport.d.ts +1 -2
  43. package/dist/embedded-agent/prompt/sections.d.ts +1 -1
  44. package/dist/embedded-agent/prompt/sections.js +2 -0
  45. package/dist/embedded-agent/provider-native-request.d.ts +5 -0
  46. package/dist/embedded-agent/provider-native-request.js +3 -2
  47. package/dist/embedded-agent/stream.d.ts +8 -88
  48. package/dist/embedded-agent/stream.js +20 -537
  49. package/dist/embedded-agent/suggestions.d.ts +1 -1
  50. package/dist/embedded-agent/suggestions.js +1 -1
  51. package/dist/embedded-agent/worker-bridge/host-client.d.ts +7 -0
  52. package/dist/embedded-agent/worker-bridge/host-client.js +15 -0
  53. package/dist/embedded-agent/worker-bridge/worker-port.js +17 -1
  54. package/dist/main.js +16 -1
  55. package/dist/rpc/index.d.ts +1 -1
  56. package/dist/rpc/rpc-host.d.ts +4 -0
  57. package/dist/rpc/rpc-host.js +13 -24
  58. package/dist/rpc/rpc-types.d.ts +6 -17
  59. package/dist/shared/platform/open.d.ts +4 -1
  60. package/dist/shared/platform/open.js +14 -2
  61. package/dist/shell/interactive/interactive-mode-options.d.ts +10 -0
  62. package/dist/shell/interactive/interactive-mode.d.ts +6 -12
  63. package/dist/shell/interactive/interactive-mode.js +36 -157
  64. package/dist/shell/interactive/slash-commands.d.ts +0 -34
  65. package/dist/shell/interactive/slash-commands.js +0 -2
  66. package/dist/shell/links/local-file-link-input.d.ts +15 -0
  67. package/dist/shell/links/local-file-link-input.js +38 -0
  68. package/dist/shell/links/local-file-link.d.ts +7 -0
  69. package/dist/shell/links/local-file-link.js +35 -0
  70. package/dist/shell/links/local-file-opener.d.ts +16 -0
  71. package/dist/shell/links/local-file-opener.js +90 -0
  72. package/dist/shell/session-client.d.ts +0 -1
  73. package/dist/shell/session-client.js +0 -6
  74. package/dist/shell/status/update-check-scheduler.d.ts +30 -0
  75. package/dist/shell/status/update-check-scheduler.js +71 -0
  76. package/dist/shell/status/update-reminder-controller.d.ts +22 -0
  77. package/dist/shell/status/update-reminder-controller.js +40 -0
  78. package/dist/shell/status/update-reminder.d.ts +6 -0
  79. package/dist/shell/status/update-reminder.js +4 -0
  80. package/dist/shell/theme/dark.json +1 -2
  81. package/dist/shell/theme/light.json +1 -2
  82. package/dist/shell/theme/runtime.d.ts +1 -2
  83. package/dist/shell/theme/runtime.js +1 -6
  84. package/dist/shell/theme/theme-schema.json +1 -6
  85. package/dist/shortcut-model-catalog.js +12 -5
  86. package/dist/startup/update-manager.d.ts +6 -6
  87. package/dist/startup/update-manager.js +23 -38
  88. package/dist/startup/update-prompt.d.ts +1 -0
  89. package/dist/startup/update-prompt.js +2 -2
  90. package/dist/tui/components/markdown.js +15 -6
  91. package/dist/tui/index.d.ts +7 -1
  92. package/dist/tui/index.js +7 -1
  93. package/dist/tui/tui.d.ts +2 -0
  94. package/dist/tui/tui.js +16 -1
  95. package/dist/tui/utils.d.ts +7 -0
  96. package/dist/tui/utils.js +58 -8
  97. package/native-app/main/index.js +1 -1
  98. package/native-app/package.json +1 -1
  99. package/native-app/renderer/assets/{index-CtherCML.js → index-B4jz6epR.js} +594 -151
  100. package/native-app/renderer/assets/{index-B9UxxO8s.css → index-C__g36ft.css} +408 -160
  101. package/native-app/renderer/assets/shortcutagent-DxFsGSkw.png +0 -0
  102. package/native-app/renderer/index.html +2 -2
  103. package/package.json +2 -1
  104. package/user-docs/dist/index.html +1 -1
  105. package/user-docs/dist/shortcutxl-docs.pdf +0 -0
  106. package/xll/ShortcutXL.xll +0 -0
  107. package/xll/modules/shortcut_xl/_managed.py +26 -7
  108. package/xll/modules/shortcut_xl/_tracking.py +141 -251
  109. package/xll/modules/shortcut_xl/api/__init__.py +60 -0
  110. package/xll/modules/shortcut_xl/api/workbook.py +9 -1
  111. package/xll/modules/shortcut_xl/api/worksheet.py +4 -1
  112. package/xll/python/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +1 -1
  113. package/xll/python/Lib/site-packages/idna-3.18.dist-info/RECORD +1 -1
  114. package/xll/python/Lib/site-packages/pip/__init__.py +1 -1
  115. package/xll/python/Lib/site-packages/pip/_internal/build_env/__init__.py +25 -0
  116. package/xll/python/Lib/site-packages/pip/_internal/build_env/base.py +103 -0
  117. package/xll/python/Lib/site-packages/pip/_internal/build_env/installer.py +333 -0
  118. package/xll/python/Lib/site-packages/pip/_internal/build_env/noop.py +42 -0
  119. package/xll/python/Lib/site-packages/pip/_internal/build_env/venv.py +145 -0
  120. package/xll/python/Lib/site-packages/pip/_internal/build_env/virtual.py +139 -0
  121. package/xll/python/Lib/site-packages/pip/_internal/cache.py +4 -1
  122. package/xll/python/Lib/site-packages/pip/_internal/cli/autocompletion.py +4 -1
  123. package/xll/python/Lib/site-packages/pip/_internal/cli/base_command.py +11 -14
  124. package/xll/python/Lib/site-packages/pip/_internal/cli/cmdoptions.py +133 -22
  125. package/xll/python/Lib/site-packages/pip/_internal/cli/index_command.py +11 -6
  126. package/xll/python/Lib/site-packages/pip/_internal/cli/main.py +2 -1
  127. package/xll/python/Lib/site-packages/pip/_internal/cli/main_parser.py +1 -2
  128. package/xll/python/Lib/site-packages/pip/_internal/cli/parser.py +10 -2
  129. package/xll/python/Lib/site-packages/pip/_internal/cli/progress_bars.py +2 -2
  130. package/xll/python/Lib/site-packages/pip/_internal/cli/req_command.py +57 -25
  131. package/xll/python/Lib/site-packages/pip/_internal/cli/status_codes.py +1 -0
  132. package/xll/python/Lib/site-packages/pip/_internal/commands/cache.py +7 -6
  133. package/xll/python/Lib/site-packages/pip/_internal/commands/configuration.py +2 -1
  134. package/xll/python/Lib/site-packages/pip/_internal/commands/debug.py +4 -5
  135. package/xll/python/Lib/site-packages/pip/_internal/commands/download.py +4 -0
  136. package/xll/python/Lib/site-packages/pip/_internal/commands/freeze.py +1 -1
  137. package/xll/python/Lib/site-packages/pip/_internal/commands/index.py +10 -3
  138. package/xll/python/Lib/site-packages/pip/_internal/commands/inspect.py +1 -1
  139. package/xll/python/Lib/site-packages/pip/_internal/commands/install.py +6 -6
  140. package/xll/python/Lib/site-packages/pip/_internal/commands/list.py +11 -6
  141. package/xll/python/Lib/site-packages/pip/_internal/commands/lock.py +4 -6
  142. package/xll/python/Lib/site-packages/pip/_internal/commands/show.py +14 -8
  143. package/xll/python/Lib/site-packages/pip/_internal/commands/wheel.py +7 -1
  144. package/xll/python/Lib/site-packages/pip/_internal/configuration.py +2 -3
  145. package/xll/python/Lib/site-packages/pip/_internal/distributions/base.py +5 -3
  146. package/xll/python/Lib/site-packages/pip/_internal/distributions/installed.py +3 -2
  147. package/xll/python/Lib/site-packages/pip/_internal/distributions/sdist.py +45 -20
  148. package/xll/python/Lib/site-packages/pip/_internal/distributions/wheel.py +3 -2
  149. package/xll/python/Lib/site-packages/pip/_internal/exceptions.py +174 -0
  150. package/xll/python/Lib/site-packages/pip/_internal/index/collector.py +70 -48
  151. package/xll/python/Lib/site-packages/pip/_internal/index/package_finder.py +46 -7
  152. package/xll/python/Lib/site-packages/pip/_internal/index/sources.py +1 -2
  153. package/xll/python/Lib/site-packages/pip/_internal/locations/_sysconfig.py +1 -1
  154. package/xll/python/Lib/site-packages/pip/_internal/locations/base.py +1 -1
  155. package/xll/python/Lib/site-packages/pip/_internal/metadata/base.py +10 -5
  156. package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +1 -1
  157. package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +8 -3
  158. package/xll/python/Lib/site-packages/pip/_internal/models/candidate.py +5 -1
  159. package/xll/python/Lib/site-packages/pip/_internal/models/link.py +53 -13
  160. package/xll/python/Lib/site-packages/pip/_internal/network/auth.py +38 -21
  161. package/xll/python/Lib/site-packages/pip/_internal/network/cache.py +2 -2
  162. package/xll/python/Lib/site-packages/pip/_internal/network/download.py +58 -11
  163. package/xll/python/Lib/site-packages/pip/_internal/network/session.py +35 -40
  164. package/xll/python/Lib/site-packages/pip/_internal/network/utils.py +109 -1
  165. package/xll/python/Lib/site-packages/pip/_internal/operations/check.py +2 -3
  166. package/xll/python/Lib/site-packages/pip/_internal/operations/install/wheel.py +23 -18
  167. package/xll/python/Lib/site-packages/pip/_internal/operations/prepare.py +152 -7
  168. package/xll/python/Lib/site-packages/pip/_internal/req/__init__.py +2 -0
  169. package/xll/python/Lib/site-packages/pip/_internal/req/constructors.py +54 -69
  170. package/xll/python/Lib/site-packages/pip/_internal/req/req_file.py +6 -6
  171. package/xll/python/Lib/site-packages/pip/_internal/req/req_install.py +25 -21
  172. package/xll/python/Lib/site-packages/pip/_internal/req/req_uninstall.py +13 -8
  173. package/xll/python/Lib/site-packages/pip/_internal/resolution/base.py +2 -2
  174. package/xll/python/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +2 -2
  175. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +1 -1
  176. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -1
  177. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +39 -52
  178. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +3 -3
  179. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +3 -0
  180. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +9 -0
  181. package/xll/python/Lib/site-packages/pip/_internal/utils/compat.py +15 -9
  182. package/xll/python/Lib/site-packages/pip/_internal/utils/deprecation.py +6 -1
  183. package/xll/python/Lib/site-packages/pip/_internal/utils/filesystem.py +2 -2
  184. package/xll/python/Lib/site-packages/pip/_internal/utils/logging.py +11 -3
  185. package/xll/python/Lib/site-packages/pip/_internal/utils/misc.py +48 -4
  186. package/xll/python/Lib/site-packages/pip/_internal/utils/pylock.py +18 -2
  187. package/xll/python/Lib/site-packages/pip/_internal/utils/retry.py +2 -1
  188. package/xll/python/Lib/site-packages/pip/_internal/utils/subprocess.py +4 -3
  189. package/xll/python/Lib/site-packages/pip/_internal/utils/temp_dir.py +1 -2
  190. package/xll/python/Lib/site-packages/pip/_internal/utils/unpacking.py +30 -4
  191. package/xll/python/Lib/site-packages/pip/_internal/utils/urls.py +5 -2
  192. package/xll/python/Lib/site-packages/pip/_internal/utils/virtualenv.py +2 -36
  193. package/xll/python/Lib/site-packages/pip/_internal/vcs/git.py +8 -5
  194. package/xll/python/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +1 -2
  195. package/xll/python/Lib/site-packages/pip/_internal/wheel_builder.py +5 -1
  196. package/xll/python/Lib/site-packages/pip/_vendor/bom.cdx.json +231 -0
  197. package/xll/python/Lib/site-packages/pip/_vendor/certifi/__init__.py +1 -1
  198. package/xll/python/Lib/site-packages/pip/_vendor/certifi/cacert.pem +0 -631
  199. package/xll/python/Lib/site-packages/pip/_vendor/distlib/__init__.py +1 -1
  200. package/xll/python/Lib/site-packages/pip/_vendor/distlib/compat.py +34 -64
  201. package/xll/python/Lib/site-packages/pip/_vendor/distlib/resources.py +28 -14
  202. package/xll/python/Lib/site-packages/pip/_vendor/distlib/scripts.py +7 -3
  203. package/xll/python/Lib/site-packages/pip/_vendor/distlib/util.py +48 -11
  204. package/xll/python/Lib/site-packages/pip/_vendor/idna/LICENSE.md +1 -1
  205. package/xll/python/Lib/site-packages/pip/_vendor/idna/__main__.py +6 -0
  206. package/xll/python/Lib/site-packages/pip/_vendor/idna/cli.py +128 -0
  207. package/xll/python/Lib/site-packages/pip/_vendor/idna/codec.py +50 -13
  208. package/xll/python/Lib/site-packages/pip/_vendor/idna/compat.py +26 -0
  209. package/xll/python/Lib/site-packages/pip/_vendor/idna/core.py +352 -141
  210. package/xll/python/Lib/site-packages/pip/_vendor/idna/idnadata.py +571 -2983
  211. package/xll/python/Lib/site-packages/pip/_vendor/idna/intranges.py +5 -7
  212. package/xll/python/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -1
  213. package/xll/python/Lib/site-packages/pip/_vendor/idna/uts46data.py +16887 -8832
  214. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +352 -66
  215. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +11 -0
  216. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/_xdg.py +171 -0
  217. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/android.py +92 -41
  218. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/api.py +213 -49
  219. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/macos.py +128 -51
  220. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/unix.py +176 -127
  221. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/version.py +8 -18
  222. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/windows.py +185 -68
  223. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__init__.py +2 -2
  224. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__main__.py +1 -1
  225. package/xll/python/Lib/site-packages/pip/_vendor/pygments/console.py +1 -1
  226. package/xll/python/Lib/site-packages/pip/_vendor/pygments/filter.py +1 -1
  227. package/xll/python/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +10 -8
  228. package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatter.py +1 -1
  229. package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +1 -1
  230. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexer.py +7 -5
  231. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +1 -1
  232. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +9 -8
  233. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +35 -32
  234. package/xll/python/Lib/site-packages/pip/_vendor/pygments/modeline.py +1 -1
  235. package/xll/python/Lib/site-packages/pip/_vendor/pygments/plugin.py +3 -1
  236. package/xll/python/Lib/site-packages/pip/_vendor/pygments/regexopt.py +13 -2
  237. package/xll/python/Lib/site-packages/pip/_vendor/pygments/scanner.py +1 -1
  238. package/xll/python/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +1 -1
  239. package/xll/python/Lib/site-packages/pip/_vendor/pygments/style.py +1 -1
  240. package/xll/python/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +1 -1
  241. package/xll/python/Lib/site-packages/pip/_vendor/pygments/token.py +1 -1
  242. package/xll/python/Lib/site-packages/pip/_vendor/pygments/unistring.py +1 -1
  243. package/xll/python/Lib/site-packages/pip/_vendor/pygments/util.py +2 -2
  244. package/xll/python/Lib/site-packages/pip/_vendor/requests/__init__.py +52 -16
  245. package/xll/python/Lib/site-packages/pip/_vendor/requests/__version__.py +2 -2
  246. package/xll/python/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +2 -2
  247. package/xll/python/Lib/site-packages/pip/_vendor/requests/_types.py +183 -0
  248. package/xll/python/Lib/site-packages/pip/_vendor/requests/adapters.py +101 -50
  249. package/xll/python/Lib/site-packages/pip/_vendor/requests/api.py +31 -8
  250. package/xll/python/Lib/site-packages/pip/_vendor/requests/auth.py +80 -40
  251. package/xll/python/Lib/site-packages/pip/_vendor/requests/compat.py +9 -3
  252. package/xll/python/Lib/site-packages/pip/_vendor/requests/cookies.py +143 -79
  253. package/xll/python/Lib/site-packages/pip/_vendor/requests/exceptions.py +15 -5
  254. package/xll/python/Lib/site-packages/pip/_vendor/requests/help.py +13 -10
  255. package/xll/python/Lib/site-packages/pip/_vendor/requests/hooks.py +23 -9
  256. package/xll/python/Lib/site-packages/pip/_vendor/requests/models.py +265 -126
  257. package/xll/python/Lib/site-packages/pip/_vendor/requests/py.typed +0 -0
  258. package/xll/python/Lib/site-packages/pip/_vendor/requests/sessions.py +164 -78
  259. package/xll/python/Lib/site-packages/pip/_vendor/requests/status_codes.py +2 -2
  260. package/xll/python/Lib/site-packages/pip/_vendor/requests/structures.py +51 -20
  261. package/xll/python/Lib/site-packages/pip/_vendor/requests/utils.py +161 -89
  262. package/xll/python/Lib/site-packages/pip/_vendor/tomli/__init__.py +1 -1
  263. package/xll/python/Lib/site-packages/pip/_vendor/tomli/_parser.py +9 -4
  264. package/xll/python/Lib/site-packages/pip/_vendor/tomli/_re.py +13 -9
  265. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_base_connection.py +3 -1
  266. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -1
  267. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_version.py +8 -18
  268. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/connection.py +4 -4
  269. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +23 -10
  270. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/emscripten/response.py +5 -1
  271. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +7 -8
  272. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +1 -1
  273. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +2 -2
  274. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/fields.py +14 -14
  275. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +8 -6
  276. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/response.py +35 -22
  277. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +8 -0
  278. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +11 -61
  279. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +5 -11
  280. package/xll/python/Lib/site-packages/pip/_vendor/vendor.txt +8 -8
  281. package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/METADATA +3 -2
  282. package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/RECORD +208 -188
  283. package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/AUTHORS.txt +20 -0
  284. package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/idna/LICENSE.md +1 -1
  285. package/xll/python/Lib/site-packages/pywin32-311.dist-info/RECORD +2 -2
  286. package/xll/python/Scripts/httpx.exe +0 -0
  287. package/xll/python/Scripts/idna.exe +0 -0
  288. package/xll/python/Scripts/pip.exe +0 -0
  289. package/xll/python/Scripts/pip3.13.exe +0 -0
  290. package/xll/python/Scripts/pip3.exe +0 -0
  291. package/xll/python/Scripts/pywin32_postinstall.exe +0 -0
  292. package/xll/python/Scripts/pywin32_testall.exe +0 -0
  293. package/dist/app/collab/awareness.d.ts +0 -32
  294. package/dist/app/collab/awareness.js +0 -52
  295. package/dist/app/collab/collab-client.d.ts +0 -37
  296. package/dist/app/collab/collab-client.js +0 -208
  297. package/dist/app/collab/collab-manager.d.ts +0 -91
  298. package/dist/app/collab/collab-manager.js +0 -218
  299. package/dist/app/collab/collab-sync.d.ts +0 -62
  300. package/dist/app/collab/collab-sync.js +0 -215
  301. package/dist/app/collab/index.d.ts +0 -9
  302. package/dist/app/collab/index.js +0 -6
  303. package/dist/app/collab/super-fight.d.ts +0 -90
  304. package/dist/app/collab/super-fight.js +0 -310
  305. package/dist/app/collab/sync-bridge.d.ts +0 -35
  306. package/dist/app/collab/sync-bridge.js +0 -109
  307. package/dist/app/collab/types.d.ts +0 -75
  308. package/dist/app/collab/types.js +0 -5
  309. package/dist/embedded-agent/ai-content.d.ts +0 -52
  310. package/dist/embedded-agent/ai-content.js +0 -101
  311. package/dist/embedded-agent/host-tools/shared/llm-stream.d.ts +0 -31
  312. package/dist/embedded-agent/host-tools/shared/llm-stream.js +0 -136
  313. package/dist/embedded-agent/model-call-orchestrator.d.ts +0 -22
  314. package/dist/embedded-agent/model-call-orchestrator.js +0 -22
  315. package/dist/embedded-agent/stream-errors.d.ts +0 -10
  316. package/dist/embedded-agent/stream-errors.js +0 -73
  317. package/dist/embedded-agent/stream-message-state.d.ts +0 -14
  318. package/dist/embedded-agent/stream-message-state.js +0 -271
  319. package/dist/embedded-agent/stream-sse.d.ts +0 -78
  320. package/dist/embedded-agent/stream-sse.js +0 -73
  321. package/dist/shell/interactive/collab-command.d.ts +0 -9
  322. package/dist/shell/interactive/collab-command.js +0 -115
  323. package/dist/shell/interactive/super-fight-ui.d.ts +0 -80
  324. package/dist/shell/interactive/super-fight-ui.js +0 -484
  325. package/dist/shell/status/collab-status.d.ts +0 -18
  326. package/dist/shell/status/collab-status.js +0 -46
  327. package/xll/python/Lib/site-packages/pip/_internal/build_env.py +0 -606
  328. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/INSTALLER +0 -0
  329. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/REQUESTED +0 -0
  330. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/WHEEL +0 -0
  331. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/entry_points.txt +0 -0
  332. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/LICENSE.txt +0 -0
  333. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
  334. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/certifi/LICENSE +0 -0
  335. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/distlib/LICENSE.txt +0 -0
  336. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/distro/LICENSE +0 -0
  337. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/msgpack/COPYING +0 -0
  338. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE +0 -0
  339. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
  340. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
  341. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pkg_resources/LICENSE +0 -0
  342. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/platformdirs/LICENSE +0 -0
  343. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pygments/LICENSE +0 -0
  344. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
  345. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/requests/LICENSE +0 -0
  346. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/resolvelib/LICENSE +0 -0
  347. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/rich/LICENSE +0 -0
  348. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/tomli/LICENSE +0 -0
  349. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/tomli_w/LICENSE +0 -0
  350. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/truststore/LICENSE +0 -0
  351. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
@@ -25,8 +25,6 @@ export declare function getShortcutForkTraceDir(): string | undefined;
25
25
  export declare function getShortcutTuiRenderTraceSetting(): string | undefined;
26
26
  /** Optional TUI render trace full-text flag. */
27
27
  export declare function getShortcutTuiRenderTraceFullSetting(): string | undefined;
28
- /** WebSocket URL for the collab signaling server. */
29
- export declare const COLLAB_SERVER_URL: string;
30
28
  /** uv release version pinned to a known-good Astral release. */
31
29
  export declare const UV_VERSION = "0.7.2";
32
30
  /** Python version installed via uv on macOS. */
package/dist/constants.js CHANGED
@@ -58,9 +58,6 @@ export function getShortcutTuiRenderTraceFullSetting() {
58
58
  }
59
59
  // -- Dev mode --------------------------------------------------------------
60
60
  // Dev mode is now a settings.json flag (settingsManager.getDevMode()), not an env var.
61
- // -- Collaboration ---------------------------------------------------------
62
- /** WebSocket URL for the collab signaling server. */
63
- export const COLLAB_SERVER_URL = process.env.COLLAB_SERVER_URL ?? 'ws://localhost:9400';
64
61
  // -- uv (Python toolchain for macOS) --------------------------------------
65
62
  /** uv release version pinned to a known-good Astral release. */
66
63
  export const UV_VERSION = '0.7.2';
@@ -4,7 +4,6 @@ export declare const ShortcutXLModelCallTransportKind: {
4
4
  readonly GoogleVertex: "google_vertex";
5
5
  readonly OpenAICompletions: "openai_completions";
6
6
  readonly OpenAIResponses: "openai_responses";
7
- readonly ShortcutProxy: "shortcut_proxy";
8
7
  };
9
8
  export type ShortcutXLModelCallTransportKind = (typeof ShortcutXLModelCallTransportKind)[keyof typeof ShortcutXLModelCallTransportKind];
10
9
  /**
@@ -3,8 +3,7 @@ export const ShortcutXLModelCallTransportKind = {
3
3
  AnthropicMessages: 'anthropic_messages',
4
4
  GoogleVertex: 'google_vertex',
5
5
  OpenAICompletions: 'openai_completions',
6
- OpenAIResponses: 'openai_responses',
7
- ShortcutProxy: 'shortcut_proxy'
6
+ OpenAIResponses: 'openai_responses'
8
7
  };
9
8
  /**
10
9
  * Request types emitted by private-gateway usage logging.
@@ -15,6 +15,7 @@ export declare const WorkerMessageKind: {
15
15
  readonly ModelStreamRequest: "modelStreamRequest";
16
16
  readonly AgentCommandAck: "runtimeCommandAck";
17
17
  readonly AgentCommand: "runtimeCommand";
18
+ readonly AgentCommandReceived: "runtimeCommandReceived";
18
19
  readonly AgentEvent: "runtimeEvent";
19
20
  };
20
21
  export type WorkerMessageKind = (typeof WorkerMessageKind)[keyof typeof WorkerMessageKind];
@@ -30,6 +31,12 @@ export interface AgentCommandAckMessage {
30
31
  ok: boolean;
31
32
  error?: string;
32
33
  }
34
+ export interface AgentCommandReceivedMessage {
35
+ kind: typeof WorkerMessageKind.AgentCommandReceived;
36
+ commandId: string;
37
+ receivedAt: number;
38
+ userMessageId: string;
39
+ }
33
40
  export interface AgentEventMessage {
34
41
  kind: typeof WorkerMessageKind.AgentEvent;
35
42
  event: AgentEvent;
@@ -90,7 +97,7 @@ export interface ModelStreamCancelMessage {
90
97
  kind: typeof WorkerMessageKind.ModelStreamCancel;
91
98
  requestId: string;
92
99
  }
93
- export type WorkerMessage = AgentCommandAckMessage | AgentCommandMessage | AgentEventMessage | HostToolRequestMessage | HostToolResultMessage | ModelStreamCancelMessage | ModelStreamEventMessage | ModelStreamRequestMessage;
100
+ export type WorkerMessage = AgentCommandAckMessage | AgentCommandMessage | AgentCommandReceivedMessage | AgentEventMessage | HostToolRequestMessage | HostToolResultMessage | ModelStreamCancelMessage | ModelStreamEventMessage | ModelStreamRequestMessage;
94
101
  /** Envelope-shape guard; tool-payload validation goes through the registry. */
95
102
  export declare function isWorkerMessage(value: unknown, registry: ToolRegistry): value is WorkerMessage;
96
103
  export declare function isShortcutXLAiModelInvokeRequest(value: unknown): value is ShortcutXLAiModelInvokeRequest;
@@ -12,6 +12,7 @@ export const WorkerMessageKind = {
12
12
  ModelStreamRequest: 'modelStreamRequest',
13
13
  AgentCommandAck: 'runtimeCommandAck',
14
14
  AgentCommand: 'runtimeCommand',
15
+ AgentCommandReceived: 'runtimeCommandReceived',
15
16
  AgentEvent: 'runtimeEvent'
16
17
  };
17
18
  /** Envelope-shape guard; tool-payload validation goes through the registry. */
@@ -30,6 +31,13 @@ export function isWorkerMessage(value, registry) {
30
31
  typeof message.ok === 'boolean' &&
31
32
  (message.error == null || typeof message.error === 'string'));
32
33
  }
34
+ case WorkerMessageKind.AgentCommandReceived: {
35
+ const message = candidate;
36
+ return (typeof message.commandId === 'string' &&
37
+ typeof message.receivedAt === 'number' &&
38
+ Number.isFinite(message.receivedAt) &&
39
+ typeof message.userMessageId === 'string');
40
+ }
33
41
  case WorkerMessageKind.AgentCommand:
34
42
  return (typeof candidate.commandId === 'string' &&
35
43
  isAgentCommand(candidate.command) &&
@@ -1,5 +1,5 @@
1
1
  import type { Api, AssistantMessage, Model } from '../ai/types.js';
2
- import { type ShortcutXLModelInvokePayload, type ShortcutXLModelInvokeResponse } from '../contracts/model-call.js';
2
+ import { type ShortcutXLModelInvokeResponse } from '../contracts/model-call.js';
3
3
  import type { ShortcutXLAiInvokeOptions, ShortcutXLAiModelInvokeRequest } from '../contracts/wire.js';
4
4
  import type { InvokeLlmParams } from './host-tools/invoke-llm/contract.js';
5
5
  export declare function createShortcutXLAiModelInvokeRequestFromParams(options: {
@@ -11,6 +11,5 @@ export declare function createShortcutXLAiModelInvokeRequestFromParams(options:
11
11
  readonly speed?: ShortcutXLAiInvokeOptions['speed'];
12
12
  readonly userMessageId?: string;
13
13
  }): ShortcutXLAiModelInvokeRequest;
14
- export declare function shortcutXLAiModelInvokeRequestToPayload(request: ShortcutXLAiModelInvokeRequest): ShortcutXLModelInvokePayload;
15
14
  export declare function assistantMessageToShortcutXLInvokeResponse(message: AssistantMessage | undefined): ShortcutXLModelInvokeResponse;
16
15
  //# sourceMappingURL=ai-invoke.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { ShortcutXLProviderUsageStatus } from '../contracts/model-call.js';
2
- import { aiContentToShortcutProxyContent } from './ai-content.js';
3
2
  function toStructuredCloneSafe(value, seen = new WeakSet()) {
4
3
  if (value === null ||
5
4
  typeof value === 'string' ||
@@ -83,75 +82,6 @@ export function createShortcutXLAiModelInvokeRequestFromParams(options) {
83
82
  requestId: options.requestId
84
83
  });
85
84
  }
86
- function toolCallToShortcutProxyToolCall(toolCall) {
87
- return {
88
- arguments: JSON.stringify(toolCall.arguments ?? {}),
89
- id: toolCall.id,
90
- name: toolCall.name
91
- };
92
- }
93
- export function shortcutXLAiModelInvokeRequestToPayload(request) {
94
- const messages = [
95
- ...(request.context.systemPrompt
96
- ? [{ content: request.context.systemPrompt, role: 'system' }]
97
- : [])
98
- ];
99
- for (const message of request.context.messages) {
100
- if (message.role === 'user') {
101
- messages.push({
102
- content: aiContentToShortcutProxyContent(message.content, request.model.id),
103
- role: 'human'
104
- });
105
- continue;
106
- }
107
- if (message.role === 'assistant') {
108
- const content = typeof message.content === 'string'
109
- ? message.content
110
- : message.content
111
- .filter((block) => block.type === 'text')
112
- .map((block) => block.text)
113
- .join('');
114
- const toolCalls = typeof message.content === 'string'
115
- ? undefined
116
- : message.content
117
- .filter((block) => block.type === 'toolCall')
118
- .map(toolCallToShortcutProxyToolCall);
119
- messages.push({
120
- content,
121
- role: 'ai',
122
- ...(toolCalls && toolCalls.length > 0 ? { toolCalls } : {})
123
- });
124
- continue;
125
- }
126
- if (message.role === 'toolResult') {
127
- messages.push({
128
- content: aiContentToShortcutProxyContent(message.content, request.model.id),
129
- role: 'tool',
130
- toolCallId: message.toolCallId
131
- });
132
- }
133
- }
134
- return {
135
- effortLevel: request.options?.reasoning === 'low' ||
136
- request.options?.reasoning === 'medium' ||
137
- request.options?.reasoning === 'high'
138
- ? request.options.reasoning
139
- : undefined,
140
- maxTokens: request.options?.maxTokens,
141
- messages,
142
- model: request.model.id,
143
- speed: request.options?.speed,
144
- thinkingType: request.options?.thinkingType,
145
- toolChoice: typeof request.options?.toolChoice === 'object'
146
- ? { name: request.options.toolChoice.name, type: 'tool' }
147
- : undefined,
148
- tools: request.context.tools?.map((tool) => ({
149
- description: tool.description,
150
- name: tool.name,
151
- parameters: tool.parameters
152
- }))
153
- };
154
- }
155
85
  export function assistantMessageToShortcutXLInvokeResponse(message) {
156
86
  if (!message) {
157
87
  return { usageStatus: ShortcutXLProviderUsageStatus.Unavailable };
@@ -2,8 +2,7 @@ import type { AssistantMessageEvent, Usage } from '../ai/types.js';
2
2
  import { type ShortcutXLModelInvokeResponse, type ShortcutXLModelUsage } from '../contracts/model-call.js';
3
3
  import { type ShortcutXLModelStreamEvent } from '../contracts/model-stream.js';
4
4
  import type { ShortcutXLAiModelInvokeRequest, ShortcutXLAiModelStreamRequest } from '../contracts/wire.js';
5
- import type { ShortcutXLModelUsageStatusLogger } from './model-call-orchestrator.js';
6
- import { type ProviderGatewayOptions } from './provider-native-request.js';
5
+ import { type ProviderGatewayOptions, type ShortcutXLModelUsageStatusLogger } from './provider-native-request.js';
7
6
  import type { RunShortcutXLModelStreamRequestOptions } from './stream.js';
8
7
  export interface AnthropicMessagesTransportOptions extends ProviderGatewayOptions {
9
8
  readonly usageStatusLogger?: ShortcutXLModelUsageStatusLogger;
@@ -1,7 +1,6 @@
1
1
  import { type ShortcutXLModelInvokeResponse } from '../contracts/model-call.js';
2
2
  import type { ShortcutXLAiModelInvokeRequest, ShortcutXLAiModelStreamRequest } from '../contracts/wire.js';
3
- import type { ShortcutXLModelUsageStatusLogger } from './model-call-orchestrator.js';
4
- import { type ProviderGatewayOptions } from './provider-native-request.js';
3
+ import { type ProviderGatewayOptions, type ShortcutXLModelUsageStatusLogger } from './provider-native-request.js';
5
4
  import type { RunShortcutXLModelStreamRequestOptions } from './stream.js';
6
5
  export interface GoogleVertexTransportOptions extends ProviderGatewayOptions {
7
6
  readonly usageStatusLogger?: ShortcutXLModelUsageStatusLogger;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Bridge contract for `invoke_llm` — non-streaming LLM call dispatched to the
3
- * client-side `/api/llm/invoke` handler. Not a user-callable tool; the runtime
3
+ * client-side provider-native model worker. Not a user-callable tool; the runtime
4
4
  * uses this for internal one-shot LLM jobs (e.g. follow-up suggestions).
5
5
  */
6
6
  import type { AssistantMessage, ToolResultMessage, UserMessage } from '../../../ai/types.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Bridge contract for `invoke_llm` — non-streaming LLM call dispatched to the
3
- * client-side `/api/llm/invoke` handler. Not a user-callable tool; the runtime
3
+ * client-side provider-native model worker. Not a user-callable tool; the runtime
4
4
  * uses this for internal one-shot LLM jobs (e.g. follow-up suggestions).
5
5
  */
6
6
  import { Type } from '@sinclair/typebox';
@@ -1,5 +1,5 @@
1
1
  export { base64ToBytes, bytesToBase64, bytesToUtf8 } from './base64.js';
2
- export { LlmStreamError, readLlmStreamText, type LlmStreamRequest } from './llm-stream.js';
2
+ export { LlmStreamError } from './llm-stream-error.js';
3
3
  export { MultimodalContentBlockFormat, buildAnthropicBlock, buildContentBlock, buildGeminiBlock } from './multimodal.js';
4
4
  export type { MultimodalBlock, MultimodalBlockInput, MultimodalBlockResult } from './multimodal.js';
5
5
  export { baseName, dirName, getFileDataDir, lowerExt, stem } from './sandbox-paths.js';
@@ -1,5 +1,5 @@
1
1
  export { base64ToBytes, bytesToBase64, bytesToUtf8 } from './base64.js';
2
- export { LlmStreamError, readLlmStreamText } from './llm-stream.js';
2
+ export { LlmStreamError } from './llm-stream-error.js';
3
3
  export { MultimodalContentBlockFormat, buildAnthropicBlock, buildContentBlock, buildGeminiBlock } from './multimodal.js';
4
4
  export { baseName, dirName, getFileDataDir, lowerExt, stem } from './sandbox-paths.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ import type { ShortcutXLModelStreamErrorDetails } from '../../../contracts/model-stream.js';
2
+ /** Structured provider-native model-stream failure surfaced to helper tools. */
3
+ export declare class LlmStreamError extends Error {
4
+ readonly details?: ShortcutXLModelStreamErrorDetails | undefined;
5
+ constructor(message: string, details?: ShortcutXLModelStreamErrorDetails | undefined);
6
+ }
7
+ //# sourceMappingURL=llm-stream-error.d.ts.map
@@ -0,0 +1,10 @@
1
+ /** Structured provider-native model-stream failure surfaced to helper tools. */
2
+ export class LlmStreamError extends Error {
3
+ details;
4
+ constructor(message, details) {
5
+ super(message);
6
+ this.details = details;
7
+ this.name = 'LlmStreamError';
8
+ }
9
+ }
10
+ //# sourceMappingURL=llm-stream-error.js.map
@@ -17,20 +17,19 @@ import type { EmbeddedErrorRecoverySettings } from './settings.js';
17
17
  export { createAgentSnapshotFromAgentMessages } from '../core/agent-snapshot-builder.js';
18
18
  export { assertSessionInvariants, buildSessionContextMessageEntryIds, canonicalizeUserMessageEntries, parseSessionEntriesStrict, repairOrphanToolUses, serializeFileEntries } from '../core/session-schema.js';
19
19
  export type { CompactionEntry, FileEntry, LlmCallEntry, ModelChangeEntry, ParseSessionStrictResult, RepairOrphanToolUsesOptions, RepairOrphanToolUsesResult, SessionEntry, SessionHeader, SessionInvariantViolation, SessionMessageEntry, SessionParseError, SpeedChangeEntry, SystemPromptEntry, ThinkingLevelChangeEntry, ToolDefinitionsEntry, TurnEndEntry, TurnStartEntry } from '../core/session-schema.js';
20
- export { assistantMessageToShortcutXLInvokeResponse, createShortcutXLAiModelInvokeRequestFromParams, shortcutXLAiModelInvokeRequestToPayload } from './ai-invoke.js';
20
+ export { assistantMessageToShortcutXLInvokeResponse, createShortcutXLAiModelInvokeRequestFromParams } from './ai-invoke.js';
21
21
  export { createShortcutXLAgentSettingsStore, createShortcutXLDefaultSessionContext } from './bootstrap.js';
22
22
  export { buildHostEmbeddedAgentOptions, type BuildHostEmbeddedAgentOptionsInput, type BuildHostEmbeddedAgentOptionsResult } from './host-runtime-options.js';
23
23
  export { detectEmbeddedReadOnlyViolations } from './host-tools/execute-code/index.js';
24
24
  export { getHostToolTimeoutMs } from './host-tools/timeouts.js';
25
- export { createShortcutProxyModelStreamTransport, createShortcutXLModelCallOrchestrator, runShortcutXLModelCallStreamRequest, type CreateShortcutXLModelCallOrchestratorOptions, type ShortcutXLModelCallOrchestrator, type ShortcutXLModelStreamTransport, type ShortcutXLModelUsageStatusLogger } from './model-call-orchestrator.js';
26
25
  export { createShortcutXLAgentModel, createShortcutXLAgentModelRegistry, ShortcutXLAgentModelId, ShortcutXLAgentProviderId, type CreateShortcutXLAgentModelOptions, type CreateShortcutXLAgentModelRegistryOptions } from './model-registry.js';
27
26
  export { buildShortcutXLAgentSystemPrompt, createShortcutXLAgentConfiguration, ShortcutXLPromptMode, type ShortcutXLPromptPlatform } from './prompt/build.js';
28
27
  export { createRunStatsAccumulator, type CreateRunStatsAccumulatorOptions, type RunStatsAccumulator, type RunStatsEntry, type RunStatsModelUsage, type RunStatsSnapshot, type RunStatsTokenUsageByModel } from './run-stats.js';
29
28
  export { EmbeddedSessionEntryBuilder, type AgentToolDefinitionSnapshot } from './session-entry-builder.js';
30
29
  export { createShortcutXLAgentSessionStore, type CreateShortcutXLAgentSessionStoreOptions, type ShortcutXLAgentSessionArtifacts, type ShortcutXLAgentSessionStore, type ShortcutXLSessionWriter } from './session-store.js';
31
30
  export { pushShortcutXLModelStreamEvent } from './stream-events.js';
32
- export { buildShortcutRuntimeRequestBody, createShortcutXLModelStream, createShortcutXLModelStreamRequest, runShortcutXLModelStreamRequest, type CreateShortcutXLModelStreamRequestOptions, type RunShortcutXLModelStreamRequestOptions, type ShortcutRuntimeRequestBody, type ShortcutXLModelStreamHostOptions } from './stream.js';
33
- export { createEmbeddedAgentPortClient, ShortcutXLModelStreamTraceKind, type CreateEmbeddedAgentPortClientOptions, type EmbeddedAgentPortClient, type ShortcutXLModelStreamBridgeMetrics, type ShortcutXLModelStreamRequestHandler, type ShortcutXLModelStreamTraceEntry, type ShortcutXLWorkerPort } from './worker-bridge/host-client.js';
31
+ export { buildShortcutRuntimeRequestBody, createShortcutXLModelStreamRequest, type CreateShortcutXLModelStreamRequestOptions, type RunShortcutXLModelStreamRequestOptions, type ShortcutRuntimeRequestBody } from './stream.js';
32
+ export { createEmbeddedAgentPortClient, ShortcutXLModelStreamTraceKind, type CreateEmbeddedAgentPortClientOptions, type EmbeddedAgentPortClient, type ShortcutXLInitialSubmitReceipt, type ShortcutXLModelStreamBridgeMetrics, type ShortcutXLModelStreamRequestHandler, type ShortcutXLModelStreamTraceEntry, type ShortcutXLWorkerPort } from './worker-bridge/host-client.js';
34
33
  export { AgentExecuteCodeModeValue as AgentExecuteCodeMode, ExecuteCodeSurfaceValue as ExecuteCodeSurface };
35
34
  /** Host-provided knobs the runtime reads at boot and per turn. */
36
35
  export interface EmbeddedAgentSettingsStore {
@@ -4,19 +4,18 @@ export { createAgentSnapshotFromAgentMessages } from '../core/agent-snapshot-bui
4
4
  export {
5
5
  // Pure session helpers shared by the embedded host for upload and hydration.
6
6
  assertSessionInvariants, buildSessionContextMessageEntryIds, canonicalizeUserMessageEntries, parseSessionEntriesStrict, repairOrphanToolUses, serializeFileEntries } from '../core/session-schema.js';
7
- export { assistantMessageToShortcutXLInvokeResponse, createShortcutXLAiModelInvokeRequestFromParams, shortcutXLAiModelInvokeRequestToPayload } from './ai-invoke.js';
7
+ export { assistantMessageToShortcutXLInvokeResponse, createShortcutXLAiModelInvokeRequestFromParams } from './ai-invoke.js';
8
8
  export { createShortcutXLAgentSettingsStore, createShortcutXLDefaultSessionContext } from './bootstrap.js';
9
9
  export { buildHostEmbeddedAgentOptions } from './host-runtime-options.js';
10
10
  export { detectEmbeddedReadOnlyViolations } from './host-tools/execute-code/index.js';
11
11
  export { getHostToolTimeoutMs } from './host-tools/timeouts.js';
12
- export { createShortcutProxyModelStreamTransport, createShortcutXLModelCallOrchestrator, runShortcutXLModelCallStreamRequest } from './model-call-orchestrator.js';
13
12
  export { createShortcutXLAgentModel, createShortcutXLAgentModelRegistry, ShortcutXLAgentModelId, ShortcutXLAgentProviderId } from './model-registry.js';
14
13
  export { buildShortcutXLAgentSystemPrompt, createShortcutXLAgentConfiguration, ShortcutXLPromptMode } from './prompt/build.js';
15
14
  export { createRunStatsAccumulator } from './run-stats.js';
16
15
  export { EmbeddedSessionEntryBuilder } from './session-entry-builder.js';
17
16
  export { createShortcutXLAgentSessionStore } from './session-store.js';
18
17
  export { pushShortcutXLModelStreamEvent } from './stream-events.js';
19
- export { buildShortcutRuntimeRequestBody, createShortcutXLModelStream, createShortcutXLModelStreamRequest, runShortcutXLModelStreamRequest } from './stream.js';
18
+ export { buildShortcutRuntimeRequestBody, createShortcutXLModelStreamRequest } from './stream.js';
20
19
  export { createEmbeddedAgentPortClient, ShortcutXLModelStreamTraceKind } from './worker-bridge/host-client.js';
21
20
  export { AgentExecuteCodeModeValue as AgentExecuteCodeMode, ExecuteCodeSurfaceValue as ExecuteCodeSurface };
22
21
  export { EmbeddedAgentCreditGate } from './credit-gate.js';
@@ -1,7 +1,6 @@
1
1
  import { type ShortcutXLModelInvokeResponse } from '../contracts/model-call.js';
2
2
  import type { ShortcutXLAiModelInvokeRequest, ShortcutXLAiModelStreamRequest } from '../contracts/wire.js';
3
- import type { ShortcutXLModelUsageStatusLogger } from './model-call-orchestrator.js';
4
- import { type ProviderGatewayOptions } from './provider-native-request.js';
3
+ import { type ProviderGatewayOptions, type ShortcutXLModelUsageStatusLogger } from './provider-native-request.js';
5
4
  import type { RunShortcutXLModelStreamRequestOptions } from './stream.js';
6
5
  export interface OpenAICompletionsTransportOptions extends ProviderGatewayOptions {
7
6
  readonly qwenCompatibility?: {
@@ -1,7 +1,6 @@
1
1
  import { type ShortcutXLModelInvokeResponse } from '../contracts/model-call.js';
2
2
  import type { ShortcutXLAiModelInvokeRequest, ShortcutXLAiModelStreamRequest } from '../contracts/wire.js';
3
- import type { ShortcutXLModelUsageStatusLogger } from './model-call-orchestrator.js';
4
- import { type ProviderGatewayOptions } from './provider-native-request.js';
3
+ import { type ProviderGatewayOptions, type ShortcutXLModelUsageStatusLogger } from './provider-native-request.js';
5
4
  import type { RunShortcutXLModelStreamRequestOptions } from './stream.js';
6
5
  export interface OpenAIResponsesTransportOptions extends ProviderGatewayOptions {
7
6
  readonly usageStatusLogger?: ShortcutXLModelUsageStatusLogger;
@@ -6,7 +6,7 @@
6
6
  * Sandbox layout reference. Subagents that touch the sandbox (general,
7
7
  * document_reader) append this to their system prompt.
8
8
  */
9
- export declare const SANDBOX_FILESYSTEM = "\n======================\n## SANDBOX FILESYSTEM\n======================\n\nYour sandbox has these top-level directories \u2014 they are separate mounts:\n\n- `/workspace/` \u2014 Active workspace. Primary working directory. Uploaded files and generated output belong here for the selected workspace scope.\n- `/skills/` \u2014 Skills directory (completely separate from /workspace):\n - `/skills/default/` \u2014 Built-in skills baked into the Modal image (read-only).\n - `/skills/user/` \u2014 Personal skills mounted read-write.\n - `/skills/team/your-team-id/` \u2014 Team-shared skills mounted according to your team permissions.\n- `/memories/` \u2014 Persistent memory (MEMORY.md, daily notes, traces)\n- `/tmp/` \u2014 Ephemeral local SSD scratch space. Use only when an operation needs normal local-disk behavior; cleared between sessions.\n\n**Storage notes:** `/skills/default` is baked into the Modal image. `/workspace`, `/skills/user`, `/skills/team`, and `/memories` are cloud-backed mounts. Cloud-backed mounts persist, but do not support normal local-disk behavior such as append operations (`>>`, `tee -a`) or random-write/seek-heavy file creation. `/tmp` is local SSD: it supports normal local file operations, but is ephemeral and cleared between sessions. Do not leave raw, intermediate, or final artifacts only in `/tmp`; organize durable work under `/workspace`.\n\nNEVER create skills under `workspace`. Skills MUST go in `skills`.\nNEVER save user files under `skills`. Generated files belong in `workspace`.\n\nUsers can browse, edit, preview, and download files via the **Workspace Files** panel in the UI. The panel shows the active workspace scope selected for the conversation.\n- Save outputs to `/workspace/`\n- When you have generated files relevant to the user's requests, tell users the relative path where files are saved and mention they can find files in the Workspace Files panel\n";
9
+ export declare const SANDBOX_FILESYSTEM = "\n======================\n## SANDBOX FILESYSTEM\n======================\n\nYour sandbox has these top-level directories \u2014 they are separate mounts:\n\n- `/workspace/` \u2014 Active workspace. Primary working directory. Uploaded files and generated output belong here for the selected workspace scope.\n- `/skills/` \u2014 Skills directory (completely separate from /workspace):\n - `/skills/default/` \u2014 Built-in skills baked into the Modal image (read-only).\n - `/skills/user/` \u2014 Personal skills mounted read-write.\n - `/skills/team/your-team-id/` \u2014 Team-shared skills mounted according to your team permissions.\n- `/memories/` \u2014 Persistent memory (MEMORY.md, daily notes, traces)\n- `/tmp/` \u2014 Ephemeral local SSD scratch space. Use only when an operation needs normal local-disk behavior; cleared between sessions.\n\n**Storage notes:** `/skills/default` is baked into the Modal image. `/workspace`, `/skills/user`, `/skills/team`, and `/memories` are cloud-backed mounts. Cloud-backed mounts persist, but do not support normal local-disk behavior such as append operations (`>>`, `tee -a`) or random-write/seek-heavy file creation. `/tmp` is local SSD: it supports normal local file operations, but is ephemeral and cleared between sessions. Do not leave raw, intermediate, or final artifacts only in `/tmp`; organize durable work under `/workspace`.\n\nDo not read files that are concurrently being created in the same turn. Wait for creation to finish.\n\nNEVER create skills under `workspace`. Skills MUST go in `skills`.\nNEVER save user files under `skills`. Generated files belong in `workspace`.\n\nUsers can browse, edit, preview, and download files via the **Workspace Files** panel in the UI. The panel shows the active workspace scope selected for the conversation.\n- Save outputs to `/workspace/`\n- When you have generated files relevant to the user's requests, tell users the relative path where files are saved and mention they can find files in the Workspace Files panel\n";
10
10
  /**
11
11
  * File-layout reference for the document_reader subagent. Mirrors
12
12
  * `backend/agent/constants/file_reading.py:FILE_STRUCTURE` verbatim, with
@@ -24,6 +24,8 @@ Your sandbox has these top-level directories — they are separate mounts:
24
24
 
25
25
  **Storage notes:** \`/skills/default\` is baked into the Modal image. \`/workspace\`, \`/skills/user\`, \`/skills/team\`, and \`/memories\` are cloud-backed mounts. Cloud-backed mounts persist, but do not support normal local-disk behavior such as append operations (\`>>\`, \`tee -a\`) or random-write/seek-heavy file creation. \`/tmp\` is local SSD: it supports normal local file operations, but is ephemeral and cleared between sessions. Do not leave raw, intermediate, or final artifacts only in \`/tmp\`; organize durable work under \`/workspace\`.
26
26
 
27
+ Do not read files that are concurrently being created in the same turn. Wait for creation to finish.
28
+
27
29
  NEVER create skills under \`workspace\`. Skills MUST go in \`skills\`.
28
30
  NEVER save user files under \`skills\`. Generated files belong in \`workspace\`.
29
31
 
@@ -1,7 +1,12 @@
1
1
  import type { Model, SimpleStreamOptions } from '../ai/types.js';
2
+ import type { ShortcutXLProviderUsageEvent, ShortcutXLUsageLogResult } from '../contracts/model-call.js';
2
3
  import type { ShortcutXLAiModelInvokeRequest, ShortcutXLAiModelStreamRequest } from '../contracts/wire.js';
3
4
  import { type GatewayTransport } from './gateway-base-url.js';
4
5
  type ProviderRequest = ShortcutXLAiModelStreamRequest | ShortcutXLAiModelInvokeRequest;
6
+ export interface ShortcutXLModelUsageStatusLogger {
7
+ recordProviderUsage(event: ShortcutXLProviderUsageEvent): void | Promise<void>;
8
+ recordUsageReportResult(result: ShortcutXLUsageLogResult): void | Promise<void>;
9
+ }
5
10
  export interface ProviderGatewayAuth {
6
11
  readonly headerName: 'Authorization' | 'x-api-key';
7
12
  readonly token: string;
@@ -38,8 +38,9 @@ export function createGatewayProviderOptions(request, transport, options, defaul
38
38
  ...authHeaders(options.auth, transport)
39
39
  }, fastMode);
40
40
  const thinkingType = request.options && 'thinkingType' in request.options ? request.options.thinkingType : undefined;
41
- const reasoning = request.options?.reasoning ??
42
- (thinkingType === 'on' ? 'high' : thinkingType === 'off' ? 'off' : undefined);
41
+ const reasoning = thinkingType === 'off'
42
+ ? 'off'
43
+ : (request.options?.reasoning ?? (thinkingType === 'on' ? 'high' : undefined));
43
44
  return withProviderFastModePayloadOverride({
44
45
  apiKey: options.auth.token,
45
46
  cacheRetention: request.options?.cacheRetention,
@@ -1,4 +1,5 @@
1
- import { type Api, type Context, type Model, type ReasoningLevel, type SimpleStreamOptions } from '../ai/types.js';
1
+ /** Provider-neutral request tracing helpers shared by embedded transports. */
2
+ import type { Api, Context, Model, ReasoningLevel, SimpleStreamOptions } from '../ai/types.js';
2
3
  import { type ShortcutXLModelStreamEvent, type ShortcutXLModelStreamFetchTrace, type ShortcutXLModelStreamMessage, type ShortcutXLModelStreamRequest } from '../contracts/model-stream.js';
3
4
  type ShortcutRuntimeMessage = ShortcutXLModelStreamMessage;
4
5
  export declare function toShortcutEffortLevel(effort: ReasoningLevel | undefined): ShortcutXLModelStreamRequest['effortLevel'];
@@ -18,12 +19,6 @@ export interface ShortcutRuntimeRequestBody {
18
19
  }[];
19
20
  }[];
20
21
  model: string;
21
- user_message_id?: string;
22
- /**
23
- * Selected speed mode. The proxy's `LLMRequest.speed` field validates
24
- * `'fast' | 'standard'`. Server-side gating ensures fast mode only
25
- * applies to supported models.
26
- */
27
22
  speed?: 'fast' | 'standard';
28
23
  thinking_type?: 'adaptive' | 'off';
29
24
  tools?: {
@@ -31,97 +26,22 @@ export interface ShortcutRuntimeRequestBody {
31
26
  name: string;
32
27
  parameters: Record<string, unknown>;
33
28
  }[];
29
+ user_message_id?: string;
34
30
  }
35
- interface ShortcutXLModelStreamWorkspaceContext {
36
- readonly workspaceId?: string;
37
- readonly workspaceType?: 'file' | 'project' | 'global';
38
- }
39
- /**
40
- * Owned AI `thinkingLevel` ↔ proxy's `effort_level`. Exported so the
41
- * run-stats accumulator can stamp the same effort label on the run-stats
42
- * entry that the proxy actually used. Keeping a single source of truth
43
- * prevents drift between what the LLM saw and what the dropdown shows.
44
- */
45
- /** Host plumbing the embedded runtime needs to reach the stream endpoint. */
46
- export interface ShortcutXLModelStreamHostOptions {
47
- readonly baseUrl?: string;
48
- readonly clientPlatform: string;
49
- readonly fetchImpl?: typeof fetch;
50
- /** Override only the legacy `/api/llm/stream` fetch URL. Defaults to `baseUrl`. */
51
- readonly streamBaseUrl?: string;
52
- readonly getAccessToken?: () => Promise<string | undefined>;
53
- /**
54
- * Refreshes host-owned credentials after a 401 from the stream proxy. Workers
55
- * cannot refresh auth directly, so they call back into the host through this
56
- * hook and retry the stream request once.
57
- */
58
- readonly refreshAccessToken?: () => Promise<string | undefined>;
59
- /**
60
- * Resolves the active conversation thread id at request time. Sent as the
61
- * `X-Session-Id` header — the backend `/api/llm/stream` proxy uses it for
62
- * `langfuse_session_id`, `thread_id` on token-event webhooks, and
63
- * trace grouping. Without this, every call is bucketed under the
64
- * synthetic fallback `llm-proxy-{user_id}` and per-thread reconciliation
65
- * breaks.
66
- */
67
- readonly getSessionId?: () => string | undefined;
68
- readonly getWorkspaceContext?: () => ShortcutXLModelStreamWorkspaceContext | undefined;
69
- /**
70
- * Observability hook fired after the runtime has normalized context/options
71
- * into the exact JSON payload shape sent to `/api/llm/stream`.
72
- * Credentials and transport headers are intentionally excluded.
73
- */
74
- readonly onRequest?: (request: ShortcutXLModelStreamRequest, body: ShortcutRuntimeRequestBody) => void;
75
- /**
76
- * Diagnostic hook fired when a stream fetch fails. Distinguishes failure
77
- * stages that aren't visible in the generic `recovery_started` telemetry:
78
- * - `before_response`: `fetch()` rejected before any `Response` (DNS,
79
- * CORS preflight, network unreachable, captive portal). The
80
- * opaque "Failed to fetch" / "Load failed" case.
81
- * - `non_ok_response`: backend returned a response with status outside 2xx.
82
- * - `response_body`: the response started but the SSE read failed or
83
- * idle-timed out mid-stream.
84
- * Headers/body intentionally excluded — only diagnostic metadata is sent.
85
- */
31
+ /** Provider-native transports use these shared stream callbacks. */
32
+ export interface RunShortcutXLModelStreamRequestOptions {
33
+ onEvent(event: ShortcutXLModelStreamEvent): void;
86
34
  readonly onFetchTrace?: (event: ShortcutXLModelStreamFetchTrace) => void;
87
- /** Retry budget for retryable stream transport failures. Defaults to 2 retries. */
88
- readonly maxStreamRetries?: number;
89
- readonly streamRetryBaseDelayMs?: number;
90
- readonly streamRetryMaxDelayMs?: number;
91
- /**
92
- * Ceiling for server-supplied `Retry-After` delays. Distinct from
93
- * `streamRetryMaxDelayMs` (which only bounds client-computed backoff).
94
- */
95
- readonly streamRetryServerMaxDelayMs?: number;
35
+ readonly signal?: AbortSignal;
96
36
  }
97
- /** Inputs needed to assemble the wire-shape stream request. */
98
37
  export interface CreateShortcutXLModelStreamRequestOptions {
99
38
  readonly context: Context;
100
39
  readonly model: Model<Api>;
101
40
  readonly options?: SimpleStreamOptions;
102
41
  readonly requestId: string;
103
42
  }
104
- /** Per-call options layered on top of host options for `runShortcutXL...`. */
105
- export interface RunShortcutXLModelStreamRequestOptions extends ShortcutXLModelStreamHostOptions {
106
- readonly apiKey?: string;
107
- onEvent(event: ShortcutXLModelStreamEvent): void;
108
- readonly signal?: AbortSignal;
109
- readonly streamIdleTimeoutMs?: number;
110
- }
111
- /** Convert owned AI `Context` + model into the ShortcutXL stream request shape. */
43
+ /** Convert owned AI context into the stable request-trace shape. */
112
44
  export declare function createShortcutXLModelStreamRequest(options: CreateShortcutXLModelStreamRequestOptions): ShortcutXLModelStreamRequest;
113
45
  export declare function buildShortcutRuntimeRequestBody(request: ShortcutXLModelStreamRequest): ShortcutRuntimeRequestBody;
114
- /**
115
- * Drive one stream request to completion. Emits Start/Delta/.../Done|Error
116
- * events through `onEvent`. Always emits a terminal Error event on abort or
117
- * failure so consumers never need to time out.
118
- */
119
- export declare function runShortcutXLModelStreamRequest(request: ShortcutXLModelStreamRequest, options: RunShortcutXLModelStreamRequestOptions): Promise<void>;
120
- /**
121
- * Build a owned AI-compatible `streamFn` bound to the given host. The returned
122
- * function fires off one request per call and pushes events into a fresh
123
- * assistant-message event stream.
124
- */
125
- export declare function createShortcutXLModelStream(hostOptions: ShortcutXLModelStreamHostOptions): (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => import("../ai/event-stream.js").AssistantMessageEventStream;
126
46
  export {};
127
47
  //# sourceMappingURL=stream.d.ts.map