@getpaseo/server 0.1.37 → 0.1.38

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 (295) hide show
  1. package/dist/scripts/dev-runner.js +1 -1
  2. package/dist/scripts/dev-runner.js.map +1 -1
  3. package/dist/scripts/{daemon-runner.js → supervisor-entrypoint.js} +7 -9
  4. package/dist/scripts/supervisor-entrypoint.js.map +1 -0
  5. package/dist/scripts/supervisor.js +17 -1
  6. package/dist/scripts/supervisor.js.map +1 -1
  7. package/dist/server/server/bootstrap.d.ts +0 -4
  8. package/dist/server/server/bootstrap.d.ts.map +1 -1
  9. package/dist/server/server/bootstrap.js +8 -22
  10. package/dist/server/server/bootstrap.js.map +1 -1
  11. package/dist/server/server/index.js +0 -4
  12. package/dist/server/server/index.js.map +1 -1
  13. package/dist/server/server/pid-lock.d.ts +7 -2
  14. package/dist/server/server/pid-lock.d.ts.map +1 -1
  15. package/dist/server/server/pid-lock.js +21 -0
  16. package/dist/server/server/pid-lock.js.map +1 -1
  17. package/dist/server/server/session.d.ts.map +1 -1
  18. package/dist/server/server/session.js +2 -2
  19. package/dist/server/server/session.js.map +1 -1
  20. package/dist/src/server/pid-lock.js +21 -0
  21. package/dist/src/server/pid-lock.js.map +1 -1
  22. package/package.json +3 -3
  23. package/dist/scripts/daemon-runner.js.map +0 -1
  24. package/dist/src/server/agent/activity-curator.js +0 -243
  25. package/dist/src/server/agent/activity-curator.js.map +0 -1
  26. package/dist/src/server/agent/agent-manager.js +0 -1855
  27. package/dist/src/server/agent/agent-manager.js.map +0 -1
  28. package/dist/src/server/agent/agent-metadata-generator.js +0 -161
  29. package/dist/src/server/agent/agent-metadata-generator.js.map +0 -1
  30. package/dist/src/server/agent/agent-projections.js +0 -254
  31. package/dist/src/server/agent/agent-projections.js.map +0 -1
  32. package/dist/src/server/agent/agent-response-loop.js +0 -304
  33. package/dist/src/server/agent/agent-response-loop.js.map +0 -1
  34. package/dist/src/server/agent/agent-sdk-types.js +0 -12
  35. package/dist/src/server/agent/agent-sdk-types.js.map +0 -1
  36. package/dist/src/server/agent/agent-storage.js +0 -302
  37. package/dist/src/server/agent/agent-storage.js.map +0 -1
  38. package/dist/src/server/agent/agent-title-limits.js +0 -3
  39. package/dist/src/server/agent/agent-title-limits.js.map +0 -1
  40. package/dist/src/server/agent/audio-utils.js +0 -19
  41. package/dist/src/server/agent/audio-utils.js.map +0 -1
  42. package/dist/src/server/agent/dictation-debug.js +0 -50
  43. package/dist/src/server/agent/dictation-debug.js.map +0 -1
  44. package/dist/src/server/agent/mcp-server.js +0 -754
  45. package/dist/src/server/agent/mcp-server.js.map +0 -1
  46. package/dist/src/server/agent/orchestrator-instructions.js +0 -51
  47. package/dist/src/server/agent/orchestrator-instructions.js.map +0 -1
  48. package/dist/src/server/agent/pcm16-resampler.js +0 -63
  49. package/dist/src/server/agent/pcm16-resampler.js.map +0 -1
  50. package/dist/src/server/agent/provider-launch-config.js +0 -213
  51. package/dist/src/server/agent/provider-launch-config.js.map +0 -1
  52. package/dist/src/server/agent/provider-manifest.js +0 -127
  53. package/dist/src/server/agent/provider-manifest.js.map +0 -1
  54. package/dist/src/server/agent/provider-registry.js +0 -45
  55. package/dist/src/server/agent/provider-registry.js.map +0 -1
  56. package/dist/src/server/agent/providers/claude/partial-json.js +0 -306
  57. package/dist/src/server/agent/providers/claude/partial-json.js.map +0 -1
  58. package/dist/src/server/agent/providers/claude/sdk-model-resolver.js +0 -104
  59. package/dist/src/server/agent/providers/claude/sdk-model-resolver.js.map +0 -1
  60. package/dist/src/server/agent/providers/claude/sidechain-tracker.js +0 -230
  61. package/dist/src/server/agent/providers/claude/sidechain-tracker.js.map +0 -1
  62. package/dist/src/server/agent/providers/claude/task-notification-tool-call.js +0 -267
  63. package/dist/src/server/agent/providers/claude/task-notification-tool-call.js.map +0 -1
  64. package/dist/src/server/agent/providers/claude/tool-call-detail-parser.js +0 -121
  65. package/dist/src/server/agent/providers/claude/tool-call-detail-parser.js.map +0 -1
  66. package/dist/src/server/agent/providers/claude/tool-call-mapper.js +0 -252
  67. package/dist/src/server/agent/providers/claude/tool-call-mapper.js.map +0 -1
  68. package/dist/src/server/agent/providers/claude-agent.js +0 -3166
  69. package/dist/src/server/agent/providers/claude-agent.js.map +0 -1
  70. package/dist/src/server/agent/providers/codex/tool-call-detail-parser.js +0 -104
  71. package/dist/src/server/agent/providers/codex/tool-call-detail-parser.js.map +0 -1
  72. package/dist/src/server/agent/providers/codex/tool-call-mapper.js +0 -758
  73. package/dist/src/server/agent/providers/codex/tool-call-mapper.js.map +0 -1
  74. package/dist/src/server/agent/providers/codex-app-server-agent.js +0 -2949
  75. package/dist/src/server/agent/providers/codex-app-server-agent.js.map +0 -1
  76. package/dist/src/server/agent/providers/codex-rollout-timeline.js +0 -544
  77. package/dist/src/server/agent/providers/codex-rollout-timeline.js.map +0 -1
  78. package/dist/src/server/agent/providers/opencode/tool-call-detail-parser.js +0 -39
  79. package/dist/src/server/agent/providers/opencode/tool-call-detail-parser.js.map +0 -1
  80. package/dist/src/server/agent/providers/opencode/tool-call-mapper.js +0 -144
  81. package/dist/src/server/agent/providers/opencode/tool-call-mapper.js.map +0 -1
  82. package/dist/src/server/agent/providers/opencode-agent.js +0 -1193
  83. package/dist/src/server/agent/providers/opencode-agent.js.map +0 -1
  84. package/dist/src/server/agent/providers/tool-call-detail-primitives.js +0 -686
  85. package/dist/src/server/agent/providers/tool-call-detail-primitives.js.map +0 -1
  86. package/dist/src/server/agent/providers/tool-call-mapper-utils.js +0 -115
  87. package/dist/src/server/agent/providers/tool-call-mapper-utils.js.map +0 -1
  88. package/dist/src/server/agent/recordings-debug.js +0 -19
  89. package/dist/src/server/agent/recordings-debug.js.map +0 -1
  90. package/dist/src/server/agent/stt-debug.js +0 -33
  91. package/dist/src/server/agent/stt-debug.js.map +0 -1
  92. package/dist/src/server/agent/stt-manager.js +0 -232
  93. package/dist/src/server/agent/stt-manager.js.map +0 -1
  94. package/dist/src/server/agent/timeline-append.js +0 -27
  95. package/dist/src/server/agent/timeline-append.js.map +0 -1
  96. package/dist/src/server/agent/timeline-projection.js +0 -215
  97. package/dist/src/server/agent/timeline-projection.js.map +0 -1
  98. package/dist/src/server/agent/tool-name-normalization.js +0 -45
  99. package/dist/src/server/agent/tool-name-normalization.js.map +0 -1
  100. package/dist/src/server/agent/tts-debug.js +0 -24
  101. package/dist/src/server/agent/tts-debug.js.map +0 -1
  102. package/dist/src/server/agent/tts-manager.js +0 -374
  103. package/dist/src/server/agent/tts-manager.js.map +0 -1
  104. package/dist/src/server/agent/wait-for-agent-tracker.js +0 -53
  105. package/dist/src/server/agent/wait-for-agent-tracker.js.map +0 -1
  106. package/dist/src/server/agent-attention-policy.js +0 -40
  107. package/dist/src/server/agent-attention-policy.js.map +0 -1
  108. package/dist/src/server/allowed-hosts.js +0 -94
  109. package/dist/src/server/allowed-hosts.js.map +0 -1
  110. package/dist/src/server/bootstrap.js +0 -620
  111. package/dist/src/server/bootstrap.js.map +0 -1
  112. package/dist/src/server/chat/chat-mentions.js +0 -71
  113. package/dist/src/server/chat/chat-mentions.js.map +0 -1
  114. package/dist/src/server/chat/chat-rpc-schemas.js +0 -103
  115. package/dist/src/server/chat/chat-rpc-schemas.js.map +0 -1
  116. package/dist/src/server/chat/chat-service.js +0 -330
  117. package/dist/src/server/chat/chat-service.js.map +0 -1
  118. package/dist/src/server/chat/chat-types.js +0 -22
  119. package/dist/src/server/chat/chat-types.js.map +0 -1
  120. package/dist/src/server/checkout-diff-manager.js +0 -272
  121. package/dist/src/server/checkout-diff-manager.js.map +0 -1
  122. package/dist/src/server/checkout-git-utils.js +0 -37
  123. package/dist/src/server/checkout-git-utils.js.map +0 -1
  124. package/dist/src/server/client-message-id.js +0 -12
  125. package/dist/src/server/client-message-id.js.map +0 -1
  126. package/dist/src/server/config.js +0 -73
  127. package/dist/src/server/config.js.map +0 -1
  128. package/dist/src/server/connection-offer.js +0 -59
  129. package/dist/src/server/connection-offer.js.map +0 -1
  130. package/dist/src/server/daemon-keypair.js +0 -40
  131. package/dist/src/server/daemon-keypair.js.map +0 -1
  132. package/dist/src/server/daemon-version.js +0 -22
  133. package/dist/src/server/daemon-version.js.map +0 -1
  134. package/dist/src/server/dictation/dictation-stream-manager.js +0 -571
  135. package/dist/src/server/dictation/dictation-stream-manager.js.map +0 -1
  136. package/dist/src/server/file-download/token-store.js +0 -40
  137. package/dist/src/server/file-download/token-store.js.map +0 -1
  138. package/dist/src/server/file-explorer/service.js +0 -180
  139. package/dist/src/server/file-explorer/service.js.map +0 -1
  140. package/dist/src/server/json-utils.js +0 -45
  141. package/dist/src/server/json-utils.js.map +0 -1
  142. package/dist/src/server/loop/rpc-schemas.js +0 -159
  143. package/dist/src/server/loop/rpc-schemas.js.map +0 -1
  144. package/dist/src/server/loop-service.js +0 -741
  145. package/dist/src/server/loop-service.js.map +0 -1
  146. package/dist/src/server/messages.js +0 -29
  147. package/dist/src/server/messages.js.map +0 -1
  148. package/dist/src/server/package-version.js +0 -46
  149. package/dist/src/server/package-version.js.map +0 -1
  150. package/dist/src/server/pairing-offer.js +0 -45
  151. package/dist/src/server/pairing-offer.js.map +0 -1
  152. package/dist/src/server/pairing-qr.js +0 -45
  153. package/dist/src/server/pairing-qr.js.map +0 -1
  154. package/dist/src/server/path-utils.js +0 -20
  155. package/dist/src/server/path-utils.js.map +0 -1
  156. package/dist/src/server/persisted-config.js +0 -265
  157. package/dist/src/server/persisted-config.js.map +0 -1
  158. package/dist/src/server/persistence-hooks.js +0 -60
  159. package/dist/src/server/persistence-hooks.js.map +0 -1
  160. package/dist/src/server/push/push-service.js +0 -68
  161. package/dist/src/server/push/push-service.js.map +0 -1
  162. package/dist/src/server/push/token-store.js +0 -70
  163. package/dist/src/server/push/token-store.js.map +0 -1
  164. package/dist/src/server/relay-transport.js +0 -461
  165. package/dist/src/server/relay-transport.js.map +0 -1
  166. package/dist/src/server/schedule/cron.js +0 -103
  167. package/dist/src/server/schedule/cron.js.map +0 -1
  168. package/dist/src/server/schedule/rpc-schemas.js +0 -112
  169. package/dist/src/server/schedule/rpc-schemas.js.map +0 -1
  170. package/dist/src/server/schedule/service.js +0 -397
  171. package/dist/src/server/schedule/service.js.map +0 -1
  172. package/dist/src/server/schedule/store.js +0 -56
  173. package/dist/src/server/schedule/store.js.map +0 -1
  174. package/dist/src/server/schedule/types.js +0 -73
  175. package/dist/src/server/schedule/types.js.map +0 -1
  176. package/dist/src/server/server-id.js +0 -63
  177. package/dist/src/server/server-id.js.map +0 -1
  178. package/dist/src/server/session.js +0 -6381
  179. package/dist/src/server/session.js.map +0 -1
  180. package/dist/src/server/speech/audio.js +0 -101
  181. package/dist/src/server/speech/audio.js.map +0 -1
  182. package/dist/src/server/speech/provider-resolver.js +0 -7
  183. package/dist/src/server/speech/provider-resolver.js.map +0 -1
  184. package/dist/src/server/speech/providers/local/config.js +0 -74
  185. package/dist/src/server/speech/providers/local/config.js.map +0 -1
  186. package/dist/src/server/speech/providers/local/models.js +0 -17
  187. package/dist/src/server/speech/providers/local/models.js.map +0 -1
  188. package/dist/src/server/speech/providers/local/pocket/pocket-tts-onnx.js +0 -436
  189. package/dist/src/server/speech/providers/local/pocket/pocket-tts-onnx.js.map +0 -1
  190. package/dist/src/server/speech/providers/local/runtime.js +0 -238
  191. package/dist/src/server/speech/providers/local/runtime.js.map +0 -1
  192. package/dist/src/server/speech/providers/local/sherpa/model-catalog.js +0 -166
  193. package/dist/src/server/speech/providers/local/sherpa/model-catalog.js.map +0 -1
  194. package/dist/src/server/speech/providers/local/sherpa/model-downloader.js +0 -165
  195. package/dist/src/server/speech/providers/local/sherpa/model-downloader.js.map +0 -1
  196. package/dist/src/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js +0 -73
  197. package/dist/src/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js.map +0 -1
  198. package/dist/src/server/speech/providers/local/sherpa/sherpa-online-recognizer.js +0 -84
  199. package/dist/src/server/speech/providers/local/sherpa/sherpa-online-recognizer.js.map +0 -1
  200. package/dist/src/server/speech/providers/local/sherpa/sherpa-onnx-loader.js +0 -11
  201. package/dist/src/server/speech/providers/local/sherpa/sherpa-onnx-loader.js.map +0 -1
  202. package/dist/src/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js +0 -102
  203. package/dist/src/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js.map +0 -1
  204. package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js +0 -135
  205. package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js.map +0 -1
  206. package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js +0 -130
  207. package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js.map +0 -1
  208. package/dist/src/server/speech/providers/local/sherpa/sherpa-realtime-session.js +0 -110
  209. package/dist/src/server/speech/providers/local/sherpa/sherpa-realtime-session.js.map +0 -1
  210. package/dist/src/server/speech/providers/local/sherpa/sherpa-stt.js +0 -138
  211. package/dist/src/server/speech/providers/local/sherpa/sherpa-stt.js.map +0 -1
  212. package/dist/src/server/speech/providers/local/sherpa/sherpa-tts.js +0 -98
  213. package/dist/src/server/speech/providers/local/sherpa/sherpa-tts.js.map +0 -1
  214. package/dist/src/server/speech/providers/local/sherpa/silero-vad-provider.js +0 -23
  215. package/dist/src/server/speech/providers/local/sherpa/silero-vad-provider.js.map +0 -1
  216. package/dist/src/server/speech/providers/local/sherpa/silero-vad-session.js +0 -107
  217. package/dist/src/server/speech/providers/local/sherpa/silero-vad-session.js.map +0 -1
  218. package/dist/src/server/speech/providers/openai/config.js +0 -80
  219. package/dist/src/server/speech/providers/openai/config.js.map +0 -1
  220. package/dist/src/server/speech/providers/openai/realtime-transcription-session.js +0 -168
  221. package/dist/src/server/speech/providers/openai/realtime-transcription-session.js.map +0 -1
  222. package/dist/src/server/speech/providers/openai/runtime.js +0 -112
  223. package/dist/src/server/speech/providers/openai/runtime.js.map +0 -1
  224. package/dist/src/server/speech/providers/openai/stt.js +0 -206
  225. package/dist/src/server/speech/providers/openai/stt.js.map +0 -1
  226. package/dist/src/server/speech/providers/openai/tts.js +0 -46
  227. package/dist/src/server/speech/providers/openai/tts.js.map +0 -1
  228. package/dist/src/server/speech/speech-config-resolver.js +0 -102
  229. package/dist/src/server/speech/speech-config-resolver.js.map +0 -1
  230. package/dist/src/server/speech/speech-provider.js +0 -2
  231. package/dist/src/server/speech/speech-provider.js.map +0 -1
  232. package/dist/src/server/speech/speech-runtime.js +0 -530
  233. package/dist/src/server/speech/speech-runtime.js.map +0 -1
  234. package/dist/src/server/speech/speech-types.js +0 -8
  235. package/dist/src/server/speech/speech-types.js.map +0 -1
  236. package/dist/src/server/speech/turn-detection-provider.js +0 -2
  237. package/dist/src/server/speech/turn-detection-provider.js.map +0 -1
  238. package/dist/src/server/utils/diff-highlighter.js +0 -257
  239. package/dist/src/server/utils/diff-highlighter.js.map +0 -1
  240. package/dist/src/server/voice/fixed-duration-pcm-ring-buffer.js +0 -35
  241. package/dist/src/server/voice/fixed-duration-pcm-ring-buffer.js.map +0 -1
  242. package/dist/src/server/voice/voice-turn-controller.js +0 -159
  243. package/dist/src/server/voice/voice-turn-controller.js.map +0 -1
  244. package/dist/src/server/voice-config.js +0 -51
  245. package/dist/src/server/voice-config.js.map +0 -1
  246. package/dist/src/server/voice-mcp-bridge-command.js +0 -31
  247. package/dist/src/server/voice-mcp-bridge-command.js.map +0 -1
  248. package/dist/src/server/voice-mcp-bridge.js +0 -109
  249. package/dist/src/server/voice-mcp-bridge.js.map +0 -1
  250. package/dist/src/server/voice-permission-policy.js +0 -13
  251. package/dist/src/server/voice-permission-policy.js.map +0 -1
  252. package/dist/src/server/voice-types.js +0 -2
  253. package/dist/src/server/voice-types.js.map +0 -1
  254. package/dist/src/server/websocket-server.js +0 -1048
  255. package/dist/src/server/websocket-server.js.map +0 -1
  256. package/dist/src/server/workspace-registry-bootstrap.js +0 -98
  257. package/dist/src/server/workspace-registry-bootstrap.js.map +0 -1
  258. package/dist/src/server/workspace-registry-model.js +0 -175
  259. package/dist/src/server/workspace-registry-model.js.map +0 -1
  260. package/dist/src/server/workspace-registry.js +0 -151
  261. package/dist/src/server/workspace-registry.js.map +0 -1
  262. package/dist/src/server/worktree-bootstrap.js +0 -508
  263. package/dist/src/server/worktree-bootstrap.js.map +0 -1
  264. package/dist/src/shared/agent-attention-notification.js +0 -130
  265. package/dist/src/shared/agent-attention-notification.js.map +0 -1
  266. package/dist/src/shared/agent-lifecycle.js +0 -8
  267. package/dist/src/shared/agent-lifecycle.js.map +0 -1
  268. package/dist/src/shared/connection-offer.js +0 -17
  269. package/dist/src/shared/connection-offer.js.map +0 -1
  270. package/dist/src/shared/daemon-endpoints.js +0 -122
  271. package/dist/src/shared/daemon-endpoints.js.map +0 -1
  272. package/dist/src/shared/messages.js +0 -2107
  273. package/dist/src/shared/messages.js.map +0 -1
  274. package/dist/src/shared/path-utils.js +0 -16
  275. package/dist/src/shared/path-utils.js.map +0 -1
  276. package/dist/src/shared/terminal-stream-protocol.js +0 -99
  277. package/dist/src/shared/terminal-stream-protocol.js.map +0 -1
  278. package/dist/src/shared/tool-call-display.js +0 -122
  279. package/dist/src/shared/tool-call-display.js.map +0 -1
  280. package/dist/src/terminal/terminal-manager.js +0 -136
  281. package/dist/src/terminal/terminal-manager.js.map +0 -1
  282. package/dist/src/terminal/terminal.js +0 -333
  283. package/dist/src/terminal/terminal.js.map +0 -1
  284. package/dist/src/utils/checkout-git.js +0 -1518
  285. package/dist/src/utils/checkout-git.js.map +0 -1
  286. package/dist/src/utils/directory-suggestions.js +0 -671
  287. package/dist/src/utils/directory-suggestions.js.map +0 -1
  288. package/dist/src/utils/path.js +0 -15
  289. package/dist/src/utils/path.js.map +0 -1
  290. package/dist/src/utils/project-icon.js +0 -389
  291. package/dist/src/utils/project-icon.js.map +0 -1
  292. package/dist/src/utils/worktree-metadata.js +0 -116
  293. package/dist/src/utils/worktree-metadata.js.map +0 -1
  294. package/dist/src/utils/worktree.js +0 -744
  295. package/dist/src/utils/worktree.js.map +0 -1
@@ -1,686 +0,0 @@
1
- import { z } from "zod";
2
- import { extractCodexShellOutput, flattenReadContent as flattenToolReadContent, nonEmptyString, truncateDiffText, } from "./tool-call-mapper-utils.js";
3
- export const CommandValueSchema = z.union([z.string(), z.array(z.string())]);
4
- export const ToolShellInputSchema = z
5
- .union([
6
- z
7
- .object({
8
- command: CommandValueSchema,
9
- cwd: z.string().optional(),
10
- directory: z.string().optional(),
11
- })
12
- .passthrough(),
13
- z
14
- .object({
15
- cmd: CommandValueSchema,
16
- cwd: z.string().optional(),
17
- directory: z.string().optional(),
18
- })
19
- .passthrough(),
20
- ])
21
- .transform((value) => {
22
- const parsedCommand = CommandValueSchema.safeParse("command" in value ? value.command : value.cmd);
23
- const command = parsedCommand.success
24
- ? typeof parsedCommand.data === "string"
25
- ? nonEmptyString(parsedCommand.data)
26
- : parsedCommand.data
27
- .map((token) => token.trim())
28
- .filter((token) => token.length > 0)
29
- .join(" ") || undefined
30
- : undefined;
31
- return {
32
- command,
33
- cwd: nonEmptyString(value.cwd) ?? nonEmptyString(value.directory),
34
- };
35
- });
36
- const ToolShellOutputObjectSchema = z
37
- .object({
38
- command: z.string().optional(),
39
- output: z.string().optional(),
40
- text: z.string().optional(),
41
- content: z.string().optional(),
42
- aggregated_output: z.string().optional(),
43
- aggregatedOutput: z.string().optional(),
44
- exitCode: z.number().finite().nullable().optional(),
45
- exit_code: z.number().finite().nullable().optional(),
46
- metadata: z
47
- .object({
48
- exitCode: z.number().finite().nullable().optional(),
49
- exit_code: z.number().finite().nullable().optional(),
50
- })
51
- .passthrough()
52
- .optional(),
53
- structuredContent: z
54
- .object({
55
- output: z.string().optional(),
56
- text: z.string().optional(),
57
- content: z.string().optional(),
58
- })
59
- .passthrough()
60
- .optional(),
61
- structured_content: z
62
- .object({
63
- output: z.string().optional(),
64
- text: z.string().optional(),
65
- content: z.string().optional(),
66
- })
67
- .passthrough()
68
- .optional(),
69
- result: z
70
- .object({
71
- command: z.string().optional(),
72
- output: z.string().optional(),
73
- text: z.string().optional(),
74
- content: z.string().optional(),
75
- })
76
- .passthrough()
77
- .optional(),
78
- })
79
- .passthrough();
80
- export const ToolShellOutputSchema = z.union([
81
- z.string().transform((value) => ({
82
- command: undefined,
83
- output: extractCodexShellOutput(value),
84
- exitCode: undefined,
85
- })),
86
- ToolShellOutputObjectSchema.transform((value) => {
87
- const rawOutput = nonEmptyString(value.output) ??
88
- nonEmptyString(value.text) ??
89
- nonEmptyString(value.content) ??
90
- nonEmptyString(value.aggregated_output) ??
91
- nonEmptyString(value.aggregatedOutput) ??
92
- nonEmptyString(value.structuredContent?.output) ??
93
- nonEmptyString(value.structuredContent?.text) ??
94
- nonEmptyString(value.structuredContent?.content) ??
95
- nonEmptyString(value.structured_content?.output) ??
96
- nonEmptyString(value.structured_content?.text) ??
97
- nonEmptyString(value.structured_content?.content) ??
98
- nonEmptyString(value.result?.output) ??
99
- nonEmptyString(value.result?.text) ??
100
- nonEmptyString(value.result?.content);
101
- return {
102
- command: nonEmptyString(value.command) ?? nonEmptyString(value.result?.command),
103
- output: extractCodexShellOutput(rawOutput),
104
- exitCode: value.exitCode ??
105
- value.exit_code ??
106
- value.metadata?.exitCode ??
107
- value.metadata?.exit_code ??
108
- undefined,
109
- };
110
- }),
111
- ]);
112
- export const ToolPathInputSchema = z.union([
113
- z
114
- .object({ path: z.string() })
115
- .passthrough()
116
- .transform((value) => ({ filePath: value.path })),
117
- z
118
- .object({ file_path: z.string() })
119
- .passthrough()
120
- .transform((value) => ({ filePath: value.file_path })),
121
- z
122
- .object({ filePath: z.string() })
123
- .passthrough()
124
- .transform((value) => ({ filePath: value.filePath })),
125
- ]);
126
- export const ToolReadInputSchema = z.union([
127
- z
128
- .object({
129
- path: z.string(),
130
- offset: z.number().finite().optional(),
131
- limit: z.number().finite().optional(),
132
- })
133
- .passthrough()
134
- .transform((value) => ({ filePath: value.path, offset: value.offset, limit: value.limit })),
135
- z
136
- .object({
137
- file_path: z.string(),
138
- offset: z.number().finite().optional(),
139
- limit: z.number().finite().optional(),
140
- })
141
- .passthrough()
142
- .transform((value) => ({
143
- filePath: value.file_path,
144
- offset: value.offset,
145
- limit: value.limit,
146
- })),
147
- z
148
- .object({
149
- filePath: z.string(),
150
- offset: z.number().finite().optional(),
151
- limit: z.number().finite().optional(),
152
- })
153
- .passthrough()
154
- .transform((value) => ({ filePath: value.filePath, offset: value.offset, limit: value.limit })),
155
- ]);
156
- const ToolReadChunkSchema = z.union([
157
- z
158
- .object({
159
- text: z.string(),
160
- content: z.string().optional(),
161
- output: z.string().optional(),
162
- })
163
- .passthrough(),
164
- z
165
- .object({
166
- text: z.string().optional(),
167
- content: z.string(),
168
- output: z.string().optional(),
169
- })
170
- .passthrough(),
171
- z
172
- .object({
173
- text: z.string().optional(),
174
- content: z.string().optional(),
175
- output: z.string(),
176
- })
177
- .passthrough(),
178
- ]);
179
- const ToolReadContentSchema = z.union([
180
- z.string(),
181
- ToolReadChunkSchema,
182
- z.array(ToolReadChunkSchema),
183
- ]);
184
- const ToolReadPayloadSchema = z.union([
185
- z
186
- .object({
187
- content: ToolReadContentSchema,
188
- text: ToolReadContentSchema.optional(),
189
- output: ToolReadContentSchema.optional(),
190
- })
191
- .passthrough(),
192
- z
193
- .object({
194
- content: ToolReadContentSchema.optional(),
195
- text: ToolReadContentSchema,
196
- output: ToolReadContentSchema.optional(),
197
- })
198
- .passthrough(),
199
- z
200
- .object({
201
- content: ToolReadContentSchema.optional(),
202
- text: ToolReadContentSchema.optional(),
203
- output: ToolReadContentSchema,
204
- })
205
- .passthrough(),
206
- ]);
207
- function flattenReadContent(value) {
208
- return flattenToolReadContent(value);
209
- }
210
- const ToolReadOutputContentSchema = z.union([
211
- z.string().transform((value) => ({ filePath: undefined, content: nonEmptyString(value) })),
212
- ToolReadChunkSchema.transform((value) => ({
213
- filePath: undefined,
214
- content: flattenReadContent(value),
215
- })),
216
- z.array(ToolReadChunkSchema).transform((value) => ({
217
- filePath: undefined,
218
- content: flattenReadContent(value),
219
- })),
220
- ToolReadPayloadSchema.transform((value) => ({
221
- filePath: undefined,
222
- content: flattenReadContent(value.content) ??
223
- flattenReadContent(value.text) ??
224
- flattenReadContent(value.output),
225
- })),
226
- z
227
- .object({ data: ToolReadPayloadSchema })
228
- .passthrough()
229
- .transform((value) => ({
230
- filePath: undefined,
231
- content: flattenReadContent(value.data.content) ??
232
- flattenReadContent(value.data.text) ??
233
- flattenReadContent(value.data.output),
234
- })),
235
- z
236
- .object({ structuredContent: ToolReadPayloadSchema })
237
- .passthrough()
238
- .transform((value) => ({
239
- filePath: undefined,
240
- content: flattenReadContent(value.structuredContent.content) ??
241
- flattenReadContent(value.structuredContent.text) ??
242
- flattenReadContent(value.structuredContent.output),
243
- })),
244
- z
245
- .object({ structured_content: ToolReadPayloadSchema })
246
- .passthrough()
247
- .transform((value) => ({
248
- filePath: undefined,
249
- content: flattenReadContent(value.structured_content.content) ??
250
- flattenReadContent(value.structured_content.text) ??
251
- flattenReadContent(value.structured_content.output),
252
- })),
253
- ]);
254
- const ToolReadOutputPathSchema = z.union([
255
- z
256
- .object({
257
- path: z.string(),
258
- content: ToolReadContentSchema.optional(),
259
- text: ToolReadContentSchema.optional(),
260
- output: ToolReadContentSchema.optional(),
261
- })
262
- .passthrough()
263
- .transform((value) => ({
264
- filePath: value.path,
265
- content: flattenReadContent(value.content) ??
266
- flattenReadContent(value.text) ??
267
- flattenReadContent(value.output),
268
- })),
269
- z
270
- .object({
271
- file_path: z.string(),
272
- content: ToolReadContentSchema.optional(),
273
- text: ToolReadContentSchema.optional(),
274
- output: ToolReadContentSchema.optional(),
275
- })
276
- .passthrough()
277
- .transform((value) => ({
278
- filePath: value.file_path,
279
- content: flattenReadContent(value.content) ??
280
- flattenReadContent(value.text) ??
281
- flattenReadContent(value.output),
282
- })),
283
- z
284
- .object({
285
- filePath: z.string(),
286
- content: ToolReadContentSchema.optional(),
287
- text: ToolReadContentSchema.optional(),
288
- output: ToolReadContentSchema.optional(),
289
- })
290
- .passthrough()
291
- .transform((value) => ({
292
- filePath: value.filePath,
293
- content: flattenReadContent(value.content) ??
294
- flattenReadContent(value.text) ??
295
- flattenReadContent(value.output),
296
- })),
297
- ]);
298
- export const ToolReadOutputSchema = ToolReadOutputContentSchema;
299
- export const ToolReadOutputWithPathSchema = z.union([ToolReadOutputContentSchema, ToolReadOutputPathSchema]);
300
- export const ToolWriteContentSchema = z
301
- .object({
302
- content: z.string().optional(),
303
- new_content: z.string().optional(),
304
- newContent: z.string().optional(),
305
- })
306
- .passthrough();
307
- export const ToolWriteInputSchema = z
308
- .intersection(ToolPathInputSchema, ToolWriteContentSchema)
309
- .transform((value) => ({
310
- filePath: value.filePath,
311
- content: nonEmptyString(value.content) ??
312
- nonEmptyString(value.new_content) ??
313
- nonEmptyString(value.newContent),
314
- }));
315
- export const ToolWriteOutputSchema = z.union([
316
- z.intersection(ToolPathInputSchema, ToolWriteContentSchema).transform((value) => ({
317
- filePath: value.filePath,
318
- content: nonEmptyString(value.content) ??
319
- nonEmptyString(value.new_content) ??
320
- nonEmptyString(value.newContent),
321
- })),
322
- ToolWriteContentSchema.transform((value) => ({
323
- filePath: undefined,
324
- content: nonEmptyString(value.content) ??
325
- nonEmptyString(value.new_content) ??
326
- nonEmptyString(value.newContent),
327
- })),
328
- ]);
329
- export const ToolEditTextSchema = z
330
- .object({
331
- old_string: z.string().optional(),
332
- old_str: z.string().optional(),
333
- oldContent: z.string().optional(),
334
- old_content: z.string().optional(),
335
- new_string: z.string().optional(),
336
- new_str: z.string().optional(),
337
- newContent: z.string().optional(),
338
- new_content: z.string().optional(),
339
- content: z.string().optional(),
340
- patch: z.string().optional(),
341
- diff: z.string().optional(),
342
- unified_diff: z.string().optional(),
343
- unifiedDiff: z.string().optional(),
344
- })
345
- .passthrough();
346
- export const ToolEditInputSchema = z
347
- .intersection(ToolPathInputSchema, ToolEditTextSchema)
348
- .transform((value) => ({
349
- filePath: value.filePath,
350
- oldString: nonEmptyString(value.old_string) ??
351
- nonEmptyString(value.old_str) ??
352
- nonEmptyString(value.oldContent) ??
353
- nonEmptyString(value.old_content),
354
- newString: nonEmptyString(value.new_string) ??
355
- nonEmptyString(value.new_str) ??
356
- nonEmptyString(value.newContent) ??
357
- nonEmptyString(value.new_content) ??
358
- nonEmptyString(value.content),
359
- unifiedDiff: truncateDiffText(nonEmptyString(value.patch) ??
360
- nonEmptyString(value.diff) ??
361
- nonEmptyString(value.unified_diff) ??
362
- nonEmptyString(value.unifiedDiff)),
363
- }));
364
- const ToolEditOutputFileSchema = z.union([
365
- z
366
- .object({
367
- path: z.string(),
368
- patch: z.string().optional(),
369
- diff: z.string().optional(),
370
- unified_diff: z.string().optional(),
371
- unifiedDiff: z.string().optional(),
372
- })
373
- .passthrough()
374
- .transform((value) => ({
375
- filePath: value.path,
376
- unifiedDiff: truncateDiffText(nonEmptyString(value.patch) ??
377
- nonEmptyString(value.diff) ??
378
- nonEmptyString(value.unified_diff) ??
379
- nonEmptyString(value.unifiedDiff)),
380
- })),
381
- z
382
- .object({
383
- file_path: z.string(),
384
- patch: z.string().optional(),
385
- diff: z.string().optional(),
386
- unified_diff: z.string().optional(),
387
- unifiedDiff: z.string().optional(),
388
- })
389
- .passthrough()
390
- .transform((value) => ({
391
- filePath: value.file_path,
392
- unifiedDiff: truncateDiffText(nonEmptyString(value.patch) ??
393
- nonEmptyString(value.diff) ??
394
- nonEmptyString(value.unified_diff) ??
395
- nonEmptyString(value.unifiedDiff)),
396
- })),
397
- z
398
- .object({
399
- filePath: z.string(),
400
- patch: z.string().optional(),
401
- diff: z.string().optional(),
402
- unified_diff: z.string().optional(),
403
- unifiedDiff: z.string().optional(),
404
- })
405
- .passthrough()
406
- .transform((value) => ({
407
- filePath: value.filePath,
408
- unifiedDiff: truncateDiffText(nonEmptyString(value.patch) ??
409
- nonEmptyString(value.diff) ??
410
- nonEmptyString(value.unified_diff) ??
411
- nonEmptyString(value.unifiedDiff)),
412
- })),
413
- ]);
414
- export const ToolEditOutputSchema = z.union([
415
- z.intersection(ToolPathInputSchema, ToolEditTextSchema).transform((value) => ({
416
- filePath: value.filePath,
417
- newString: nonEmptyString(value.newContent) ??
418
- nonEmptyString(value.new_content) ??
419
- nonEmptyString(value.content),
420
- unifiedDiff: truncateDiffText(nonEmptyString(value.patch) ??
421
- nonEmptyString(value.diff) ??
422
- nonEmptyString(value.unified_diff) ??
423
- nonEmptyString(value.unifiedDiff)),
424
- })),
425
- z
426
- .object({ files: z.array(ToolEditOutputFileSchema).min(1) })
427
- .passthrough()
428
- .transform((value) => ({
429
- filePath: value.files[0]?.filePath,
430
- unifiedDiff: value.files[0]?.unifiedDiff,
431
- newString: undefined,
432
- })),
433
- ToolEditTextSchema.transform((value) => ({
434
- filePath: undefined,
435
- newString: nonEmptyString(value.newContent) ??
436
- nonEmptyString(value.new_content) ??
437
- nonEmptyString(value.content),
438
- unifiedDiff: truncateDiffText(nonEmptyString(value.patch) ??
439
- nonEmptyString(value.diff) ??
440
- nonEmptyString(value.unified_diff) ??
441
- nonEmptyString(value.unifiedDiff)),
442
- })),
443
- ]);
444
- export const ToolSearchInputSchema = z.union([
445
- z
446
- .object({ query: z.string() })
447
- .passthrough()
448
- .transform((value) => ({ query: value.query })),
449
- z
450
- .object({ q: z.string() })
451
- .passthrough()
452
- .transform((value) => ({ query: value.q })),
453
- z
454
- .object({ pattern: z.string() })
455
- .passthrough()
456
- .transform((value) => ({ query: value.pattern })),
457
- ]);
458
- export const ToolGlobOutputSchema = z
459
- .object({
460
- durationMs: z.number().finite(),
461
- numFiles: z.number().int().nonnegative(),
462
- filenames: z.array(z.string()),
463
- truncated: z.boolean(),
464
- })
465
- .passthrough();
466
- export const ToolGrepOutputSchema = z
467
- .object({
468
- mode: z.enum(["content", "files_with_matches", "count"]).optional(),
469
- numFiles: z.number().int().nonnegative(),
470
- filenames: z.array(z.string()),
471
- content: z.string().optional(),
472
- numLines: z.number().int().nonnegative().optional(),
473
- numMatches: z.number().int().nonnegative().optional(),
474
- appliedLimit: z.number().int().nonnegative().optional(),
475
- appliedOffset: z.number().int().nonnegative().optional(),
476
- })
477
- .passthrough();
478
- export const ToolWebFetchInputSchema = z
479
- .object({
480
- url: z.string(),
481
- prompt: z.string(),
482
- })
483
- .passthrough();
484
- export const ToolWebFetchOutputSchema = z
485
- .object({
486
- bytes: z.number().int().nonnegative(),
487
- code: z.number().int(),
488
- codeText: z.string(),
489
- result: z.string(),
490
- durationMs: z.number().finite(),
491
- url: z.string(),
492
- })
493
- .passthrough();
494
- const ToolWebSearchResultHitSchema = z
495
- .object({
496
- title: z.string(),
497
- url: z.string(),
498
- })
499
- .passthrough();
500
- const ToolWebSearchResultEntrySchema = z.union([
501
- z
502
- .object({
503
- tool_use_id: z.string(),
504
- content: z.array(ToolWebSearchResultHitSchema),
505
- })
506
- .passthrough(),
507
- z.string(),
508
- ]);
509
- export const ToolWebSearchOutputSchema = z
510
- .object({
511
- query: z.string(),
512
- results: z.array(ToolWebSearchResultEntrySchema),
513
- durationSeconds: z.number().finite(),
514
- })
515
- .passthrough();
516
- function normalizeDetailPath(filePath, normalizePath) {
517
- if (typeof filePath !== "string") {
518
- return undefined;
519
- }
520
- const trimmed = filePath.trim();
521
- if (!trimmed) {
522
- return undefined;
523
- }
524
- return normalizePath ? normalizePath(trimmed) : trimmed;
525
- }
526
- function isParsedToolGlobOutput(output) {
527
- return Boolean(output && "truncated" in output);
528
- }
529
- function isParsedToolGrepOutput(output) {
530
- return Boolean(output && "filenames" in output && !("truncated" in output));
531
- }
532
- function isParsedToolWebSearchOutput(output) {
533
- return Boolean(output && "results" in output);
534
- }
535
- export function toShellToolDetail(input, output) {
536
- const command = input?.command ?? output?.command;
537
- if (!command) {
538
- return undefined;
539
- }
540
- return {
541
- type: "shell",
542
- command,
543
- ...(input?.cwd ? { cwd: input.cwd } : {}),
544
- ...(output?.output ? { output: output.output } : {}),
545
- ...(output?.exitCode !== undefined ? { exitCode: output.exitCode } : {}),
546
- };
547
- }
548
- export function toReadToolDetail(input, output, options) {
549
- const filePath = normalizeDetailPath(input?.filePath ?? output?.filePath, options?.normalizePath);
550
- if (!filePath) {
551
- return undefined;
552
- }
553
- return {
554
- type: "read",
555
- filePath,
556
- ...(output?.content ? { content: output.content } : {}),
557
- ...(input?.offset !== undefined ? { offset: input.offset } : {}),
558
- ...(input?.limit !== undefined ? { limit: input.limit } : {}),
559
- };
560
- }
561
- export function toWriteToolDetail(input, output, options) {
562
- const filePath = normalizeDetailPath(input?.filePath ?? output?.filePath, options?.normalizePath);
563
- if (!filePath) {
564
- return undefined;
565
- }
566
- return {
567
- type: "write",
568
- filePath,
569
- ...(input?.content
570
- ? { content: input.content }
571
- : output?.content
572
- ? { content: output.content }
573
- : {}),
574
- };
575
- }
576
- export function toEditToolDetail(input, output, options) {
577
- const filePath = normalizeDetailPath(input?.filePath ?? output?.filePath, options?.normalizePath);
578
- if (!filePath) {
579
- return undefined;
580
- }
581
- return {
582
- type: "edit",
583
- filePath,
584
- ...(input?.oldString ? { oldString: input.oldString } : {}),
585
- ...(input?.newString
586
- ? { newString: input.newString }
587
- : output?.newString
588
- ? { newString: output.newString }
589
- : {}),
590
- ...(input?.unifiedDiff
591
- ? { unifiedDiff: input.unifiedDiff }
592
- : output?.unifiedDiff
593
- ? { unifiedDiff: output.unifiedDiff }
594
- : {}),
595
- };
596
- }
597
- export function toSearchToolDetail(params) {
598
- const { input, output, toolName } = params;
599
- if (!input?.query) {
600
- return undefined;
601
- }
602
- const filePaths = isParsedToolGrepOutput(output) || isParsedToolGlobOutput(output)
603
- ? output.filenames.length > 0
604
- ? output.filenames
605
- : undefined
606
- : undefined;
607
- const webResults = isParsedToolWebSearchOutput(output)
608
- ? output.results.flatMap((entry) => (typeof entry === "string" ? [] : entry.content))
609
- : undefined;
610
- const annotations = isParsedToolWebSearchOutput(output)
611
- ? output.results.filter((entry) => typeof entry === "string")
612
- : undefined;
613
- return {
614
- type: "search",
615
- query: input.query,
616
- ...(toolName ? { toolName } : {}),
617
- ...(isParsedToolGrepOutput(output) && output.content ? { content: output.content } : {}),
618
- ...(filePaths ? { filePaths } : {}),
619
- ...(webResults && webResults.length > 0 ? { webResults } : {}),
620
- ...(annotations && annotations.length > 0 ? { annotations } : {}),
621
- ...(isParsedToolGrepOutput(output) || isParsedToolGlobOutput(output)
622
- ? { numFiles: output.numFiles }
623
- : {}),
624
- ...(isParsedToolGrepOutput(output) && output.numMatches !== undefined
625
- ? { numMatches: output.numMatches }
626
- : {}),
627
- ...(isParsedToolGlobOutput(output) ? { durationMs: output.durationMs } : {}),
628
- ...(isParsedToolWebSearchOutput(output) ? { durationSeconds: output.durationSeconds } : {}),
629
- ...(isParsedToolGlobOutput(output) ? { truncated: output.truncated } : {}),
630
- ...(isParsedToolGrepOutput(output) && output.mode ? { mode: output.mode } : {}),
631
- };
632
- }
633
- export function toFetchToolDetail(input, output) {
634
- const url = input?.url ?? output?.url;
635
- if (!url) {
636
- return undefined;
637
- }
638
- return {
639
- type: "fetch",
640
- url,
641
- ...(input?.prompt ? { prompt: input.prompt } : {}),
642
- ...(output?.result ? { result: output.result } : {}),
643
- ...(output?.code !== undefined ? { code: output.code } : {}),
644
- ...(output?.codeText ? { codeText: output.codeText } : {}),
645
- ...(output?.bytes !== undefined ? { bytes: output.bytes } : {}),
646
- ...(output?.durationMs !== undefined ? { durationMs: output.durationMs } : {}),
647
- };
648
- }
649
- export function toolDetailBranchByName(name, inputSchema, outputSchema, mapper) {
650
- return z
651
- .object({
652
- name: z.literal(name),
653
- input: inputSchema.nullable(),
654
- output: outputSchema.nullable(),
655
- })
656
- .transform((value) => {
657
- const parsed = value;
658
- return mapper(parsed.input, parsed.output);
659
- });
660
- }
661
- export function toolDetailBranchByToolName(toolName, inputSchema, outputSchema, mapper) {
662
- return z
663
- .object({
664
- toolName: z.literal(toolName),
665
- input: inputSchema.nullable(),
666
- output: outputSchema.nullable(),
667
- })
668
- .transform((value) => {
669
- const parsed = value;
670
- return mapper(parsed.input, parsed.output);
671
- });
672
- }
673
- export function toolDetailBranchByNameWithCwd(name, inputSchema, outputSchema, mapper) {
674
- return z
675
- .object({
676
- name: z.literal(name),
677
- input: inputSchema.nullable(),
678
- output: outputSchema.nullable(),
679
- cwd: z.string().optional().nullable(),
680
- })
681
- .transform((value) => {
682
- const parsed = value;
683
- return mapper(parsed.input, parsed.output, parsed.cwd ?? null);
684
- });
685
- }
686
- //# sourceMappingURL=tool-call-detail-primitives.js.map