@skaile/workspaces 0.8.5 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. package/CHANGELOG.md +75 -1
  2. package/README.md +2 -2
  3. package/dist/asset-manager/index.js +12 -12
  4. package/dist/asset-manager/installer.js +10 -10
  5. package/dist/asset-manager/renderers.js +2 -2
  6. package/dist/asset-manager/scaffold.js +10 -10
  7. package/dist/base-assets/connectors/deploy/adapter.d.ts +21 -19
  8. package/dist/base-assets/connectors/deploy/adapter.d.ts.map +1 -1
  9. package/dist/base-assets/connectors/deploy.js +10 -10
  10. package/dist/base-assets/connectors/devserver/adapter.d.ts +14 -12
  11. package/dist/base-assets/connectors/devserver/adapter.d.ts.map +1 -1
  12. package/dist/base-assets/connectors/devserver.js +10 -10
  13. package/dist/base-assets/connectors/flow/adapter.d.ts +13 -10
  14. package/dist/base-assets/connectors/flow/adapter.d.ts.map +1 -1
  15. package/dist/base-assets/connectors/flow/adapter.js +10 -10
  16. package/dist/base-assets/connectors/flow/engine/flow-manifest.d.ts +5 -167
  17. package/dist/base-assets/connectors/flow/engine/flow-manifest.d.ts.map +1 -1
  18. package/dist/base-assets/connectors/flow/engine.js +1 -1
  19. package/dist/base-assets/connectors/flow/index.d.ts +1 -1
  20. package/dist/base-assets/connectors/flow/index.d.ts.map +1 -1
  21. package/dist/base-assets/connectors/flow/run-flow.d.ts.map +1 -1
  22. package/dist/base-assets/connectors/flow/run-flow.js +12 -12
  23. package/dist/base-assets/connectors/flow.js +10 -10
  24. package/dist/base-assets/{mounts → connectors}/git/driver.d.ts +34 -32
  25. package/dist/base-assets/connectors/git/driver.d.ts.map +1 -0
  26. package/dist/base-assets/connectors/git.js +20 -0
  27. package/dist/base-assets/connectors/gmail/adapter.d.ts +16 -15
  28. package/dist/base-assets/connectors/gmail/adapter.d.ts.map +1 -1
  29. package/dist/base-assets/connectors/gmail.js +10 -10
  30. package/dist/base-assets/connectors/local/driver.d.ts +28 -0
  31. package/dist/base-assets/connectors/local/driver.d.ts.map +1 -0
  32. package/dist/base-assets/connectors/local.js +20 -0
  33. package/dist/base-assets/connectors/mattermost/adapter.d.ts +23 -22
  34. package/dist/base-assets/connectors/mattermost/adapter.d.ts.map +1 -1
  35. package/dist/base-assets/connectors/mattermost.js +10 -10
  36. package/dist/base-assets/connectors/memory/adapter.d.ts +18 -17
  37. package/dist/base-assets/connectors/memory/adapter.d.ts.map +1 -1
  38. package/dist/base-assets/connectors/memory.js +10 -10
  39. package/dist/base-assets/connectors/minio/adapter.d.ts +17 -16
  40. package/dist/base-assets/connectors/minio/adapter.d.ts.map +1 -1
  41. package/dist/base-assets/connectors/minio.js +10 -10
  42. package/dist/base-assets/connectors/postgres/adapter.d.ts +17 -21
  43. package/dist/base-assets/connectors/postgres/adapter.d.ts.map +1 -1
  44. package/dist/base-assets/connectors/postgres.js +10 -10
  45. package/dist/base-assets/connectors/redis/adapter.d.ts +19 -19
  46. package/dist/base-assets/connectors/redis/adapter.d.ts.map +1 -1
  47. package/dist/base-assets/connectors/redis.js +10 -10
  48. package/dist/base-assets/connectors/s3/driver.d.ts +46 -0
  49. package/dist/base-assets/connectors/s3/driver.d.ts.map +1 -0
  50. package/dist/base-assets/connectors/s3.js +20 -0
  51. package/dist/base-assets/connectors/sharepoint/driver.d.ts +34 -0
  52. package/dist/base-assets/connectors/sharepoint/driver.d.ts.map +1 -0
  53. package/dist/base-assets/connectors/sharepoint.js +20 -0
  54. package/dist/base-assets/connectors/sqlite/adapter.d.ts +16 -16
  55. package/dist/base-assets/connectors/sqlite/adapter.d.ts.map +1 -1
  56. package/dist/base-assets/connectors/sqlite.js +10 -10
  57. package/dist/base-assets/connectors/static-server/adapter.d.ts +16 -12
  58. package/dist/base-assets/connectors/static-server/adapter.d.ts.map +1 -1
  59. package/dist/base-assets/connectors/static-server.js +10 -10
  60. package/dist/base-assets/connectors/tunnel/adapter.d.ts +14 -12
  61. package/dist/base-assets/connectors/tunnel/adapter.d.ts.map +1 -1
  62. package/dist/base-assets/connectors/tunnel.js +10 -10
  63. package/dist/base-assets/connectors/webdav/driver.d.ts +35 -0
  64. package/dist/base-assets/connectors/webdav/driver.d.ts.map +1 -0
  65. package/dist/base-assets/connectors/webdav.js +20 -0
  66. package/dist/base-assets/connectors/xstate/adapter.d.ts +18 -16
  67. package/dist/base-assets/connectors/xstate/adapter.d.ts.map +1 -1
  68. package/dist/base-assets/connectors/xstate-store/adapter.d.ts +20 -19
  69. package/dist/base-assets/connectors/xstate-store/adapter.d.ts.map +1 -1
  70. package/dist/base-assets/connectors/xstate-store.js +10 -10
  71. package/dist/base-assets/connectors/xstate.js +10 -10
  72. package/dist/base-assets/connectors/yjs/adapter.d.ts +22 -21
  73. package/dist/base-assets/connectors/yjs/adapter.d.ts.map +1 -1
  74. package/dist/base-assets/connectors/yjs.js +10 -10
  75. package/dist/base-assets/index.js.map +1 -1
  76. package/dist/bridge/drivers/claude-sdk.js +215 -4
  77. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  78. package/dist/bridge/drivers/codex.js +2 -2
  79. package/dist/bridge/drivers/echo.js +2 -2
  80. package/dist/bridge/drivers/omp.js +2 -2
  81. package/dist/bridge/index.js +3 -3
  82. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  83. package/dist/bridge/src/drivers/scrub-transcript.d.ts +113 -0
  84. package/dist/bridge/src/drivers/scrub-transcript.d.ts.map +1 -0
  85. package/dist/bridge/src/types.d.ts +2 -2
  86. package/dist/bridge/src/types.d.ts.map +1 -1
  87. package/dist/{chunk-V37HONL7.js → chunk-24UIWON4.js} +61 -6
  88. package/dist/chunk-24UIWON4.js.map +1 -0
  89. package/dist/{chunk-JLPC4YWT.js → chunk-37JKX6D7.js} +3 -4
  90. package/dist/chunk-37JKX6D7.js.map +1 -0
  91. package/dist/{chunk-DOMCYP7D.js → chunk-42OQF7UU.js} +227 -21
  92. package/dist/chunk-42OQF7UU.js.map +1 -0
  93. package/dist/{chunk-65CYXYUW.js → chunk-4RUVG5GX.js} +50 -5
  94. package/dist/chunk-4RUVG5GX.js.map +1 -0
  95. package/dist/{chunk-MJHLQRJJ.js → chunk-5IC6CJL4.js} +11 -29
  96. package/dist/chunk-5IC6CJL4.js.map +1 -0
  97. package/dist/{chunk-GVOLEJG5.js → chunk-6DEGWPAR.js} +3 -3
  98. package/dist/{chunk-GVOLEJG5.js.map → chunk-6DEGWPAR.js.map} +1 -1
  99. package/dist/{chunk-7HLNUSNE.js → chunk-6FNCZYJY.js} +3 -3
  100. package/dist/{chunk-7HLNUSNE.js.map → chunk-6FNCZYJY.js.map} +1 -1
  101. package/dist/{chunk-D5IH3QMH.js → chunk-7R6W5EQR.js} +20 -19
  102. package/dist/chunk-7R6W5EQR.js.map +1 -0
  103. package/dist/{chunk-MBBTBKAS.js → chunk-AE6GCXGL.js} +3 -3
  104. package/dist/{chunk-MBBTBKAS.js.map → chunk-AE6GCXGL.js.map} +1 -1
  105. package/dist/{chunk-TS6VCR4W.js → chunk-DIKFRNCS.js} +3 -3
  106. package/dist/{chunk-TS6VCR4W.js.map → chunk-DIKFRNCS.js.map} +1 -1
  107. package/dist/{chunk-7HCGI2GW.js → chunk-DTL7S57T.js} +37 -29
  108. package/dist/chunk-DTL7S57T.js.map +1 -0
  109. package/dist/{chunk-7H7EOIRH.js → chunk-EBMFCF4P.js} +2 -2
  110. package/dist/{chunk-7H7EOIRH.js.map → chunk-EBMFCF4P.js.map} +1 -1
  111. package/dist/{chunk-3W7Z74ZP.js → chunk-EPGHAOEU.js} +5856 -5822
  112. package/dist/chunk-EPGHAOEU.js.map +1 -0
  113. package/dist/{chunk-CSUBFKAN.js → chunk-GAZINYCS.js} +4 -4
  114. package/dist/{chunk-CSUBFKAN.js.map → chunk-GAZINYCS.js.map} +1 -1
  115. package/dist/{chunk-Y46TBPLI.js → chunk-GCJXPUHG.js} +3 -3
  116. package/dist/{chunk-Y46TBPLI.js.map → chunk-GCJXPUHG.js.map} +1 -1
  117. package/dist/{chunk-46T37EBP.js → chunk-GKIA2PU5.js} +7 -35
  118. package/dist/chunk-GKIA2PU5.js.map +1 -0
  119. package/dist/{chunk-EE3XTJ62.js → chunk-I3S4BAAR.js} +7 -7
  120. package/dist/{chunk-EE3XTJ62.js.map → chunk-I3S4BAAR.js.map} +1 -1
  121. package/dist/{chunk-ZUQIXLRJ.js → chunk-ICS76R4T.js} +14 -14
  122. package/dist/chunk-ICS76R4T.js.map +1 -0
  123. package/dist/{chunk-CCKGX5AS.js → chunk-K3TMZI6D.js} +3 -3
  124. package/dist/{chunk-CCKGX5AS.js.map → chunk-K3TMZI6D.js.map} +1 -1
  125. package/dist/{chunk-AIGWF3TJ.js → chunk-LDUNTZB6.js} +46 -4
  126. package/dist/chunk-LDUNTZB6.js.map +1 -0
  127. package/dist/{chunk-UMMBL7SW.js → chunk-M2NLRGIX.js} +5 -5
  128. package/dist/{chunk-UMMBL7SW.js.map → chunk-M2NLRGIX.js.map} +1 -1
  129. package/dist/{chunk-Z3RER6YZ.js → chunk-NELZIQ2E.js} +42 -42
  130. package/dist/chunk-NELZIQ2E.js.map +1 -0
  131. package/dist/chunk-PBWMV5GM.js +171 -0
  132. package/dist/chunk-PBWMV5GM.js.map +1 -0
  133. package/dist/{chunk-NYJKXVG6.js → chunk-QZ6PY73K.js} +160 -188
  134. package/dist/chunk-QZ6PY73K.js.map +1 -0
  135. package/dist/chunk-R7FOF242.js +59 -0
  136. package/dist/chunk-R7FOF242.js.map +1 -0
  137. package/dist/{chunk-XEGHWFAX.js → chunk-SVNFQSU3.js} +5 -10
  138. package/dist/chunk-SVNFQSU3.js.map +1 -0
  139. package/dist/{chunk-44ZICIN4.js → chunk-TODD4VNR.js} +9 -3
  140. package/dist/chunk-TODD4VNR.js.map +1 -0
  141. package/dist/{chunk-77CUYYO3.js → chunk-VAJB2UJ5.js} +5 -5
  142. package/dist/{chunk-77CUYYO3.js.map → chunk-VAJB2UJ5.js.map} +1 -1
  143. package/dist/{chunk-Q5URN24L.js → chunk-W75ASXH4.js} +23 -27
  144. package/dist/chunk-W75ASXH4.js.map +1 -0
  145. package/dist/{chunk-5CSE3QL2.js → chunk-XIVOEUAF.js} +5 -5
  146. package/dist/{chunk-5CSE3QL2.js.map → chunk-XIVOEUAF.js.map} +1 -1
  147. package/dist/{chunk-BVHFSUFM.js → chunk-ZHLRRT5D.js} +4 -25
  148. package/dist/chunk-ZHLRRT5D.js.map +1 -0
  149. package/dist/{chunk-6UQ66R46.js → chunk-ZWIG55ZX.js} +2 -2
  150. package/dist/{chunk-6UQ66R46.js.map → chunk-ZWIG55ZX.js.map} +1 -1
  151. package/dist/cli/index.js +321 -300
  152. package/dist/cli/index.js.map +1 -1
  153. package/dist/cli/src/commands/connector.d.ts +2 -1
  154. package/dist/cli/src/commands/connector.d.ts.map +1 -1
  155. package/dist/cli/src/commands/logs.d.ts.map +1 -1
  156. package/dist/cli/src/commands/project.d.ts +73 -3
  157. package/dist/cli/src/commands/project.d.ts.map +1 -1
  158. package/dist/cli/src/commands/session-logs/local-query.d.ts +3 -4
  159. package/dist/cli/src/commands/session-logs/local-query.d.ts.map +1 -1
  160. package/dist/cli/src/commands/session-logs/local-tail.d.ts +0 -3
  161. package/dist/cli/src/commands/session-logs/local-tail.d.ts.map +1 -1
  162. package/dist/cli/src/commands/session-logs/sqlite-row.d.ts +0 -26
  163. package/dist/cli/src/commands/session-logs/sqlite-row.d.ts.map +1 -1
  164. package/dist/cli/src/index.d.ts +1 -1
  165. package/dist/connectors/config.js +7 -7
  166. package/dist/connectors/index.js +10 -10
  167. package/dist/connectors/rclone.js +1 -1
  168. package/dist/connectors/src/config.d.ts +9 -10
  169. package/dist/connectors/src/config.d.ts.map +1 -1
  170. package/dist/connectors/src/connector-base.d.ts +23 -0
  171. package/dist/connectors/src/connector-base.d.ts.map +1 -0
  172. package/dist/connectors/src/connector-manager.d.ts +158 -58
  173. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  174. package/dist/connectors/src/connector-prompt.d.ts +72 -0
  175. package/dist/connectors/src/connector-prompt.d.ts.map +1 -0
  176. package/dist/connectors/src/connector-registry.d.ts +34 -35
  177. package/dist/connectors/src/connector-registry.d.ts.map +1 -1
  178. package/dist/connectors/src/connector-types.d.ts +147 -60
  179. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  180. package/dist/connectors/src/index.d.ts +17 -23
  181. package/dist/connectors/src/index.d.ts.map +1 -1
  182. package/dist/connectors/src/npm-installer.d.ts +2 -2
  183. package/dist/connectors/src/npm-installer.d.ts.map +1 -1
  184. package/dist/connectors/src/rclone-process-manager.d.ts +1 -1
  185. package/dist/connectors/src/secrets.d.ts +3 -3
  186. package/dist/connectors/src/watcher.d.ts +3 -3
  187. package/dist/connectors/src/watcher.d.ts.map +1 -1
  188. package/dist/connectors-PTCSHCHZ.js +5 -0
  189. package/dist/{connectors-7WS2KOSZ.js.map → connectors-PTCSHCHZ.js.map} +1 -1
  190. package/dist/core/index.js +6 -6
  191. package/dist/core/logging.js +1 -1
  192. package/dist/core/manifest.js +2 -2
  193. package/dist/core/models.js +1 -1
  194. package/dist/core/runtime-assets.js +4 -4
  195. package/dist/core/src/index.d.ts +4 -2
  196. package/dist/core/src/index.d.ts.map +1 -1
  197. package/dist/core/src/logging/index.d.ts +2 -0
  198. package/dist/core/src/logging/index.d.ts.map +1 -1
  199. package/dist/core/src/logging/sinks/sqlite-runtime.d.ts +24 -0
  200. package/dist/core/src/logging/sinks/sqlite-runtime.d.ts.map +1 -0
  201. package/dist/core/src/logging/sinks/sqlite-sink.d.ts.map +1 -1
  202. package/dist/core/src/manifest.d.ts +2 -23
  203. package/dist/core/src/manifest.d.ts.map +1 -1
  204. package/dist/core/src/models.d.ts +1 -1
  205. package/dist/core/src/models.d.ts.map +1 -1
  206. package/dist/core/src/runtime-assets.d.ts +12 -13
  207. package/dist/core/src/runtime-assets.d.ts.map +1 -1
  208. package/dist/core/src/subprocess.d.ts +35 -0
  209. package/dist/core/src/subprocess.d.ts.map +1 -0
  210. package/dist/core/src/workspace-config.d.ts +32 -10
  211. package/dist/core/src/workspace-config.d.ts.map +1 -1
  212. package/dist/core/workspace-config.js +3 -3
  213. package/dist/discovery/index.js +4 -4
  214. package/dist/discovery/src/builtin-providers.d.ts +5 -4
  215. package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
  216. package/dist/discovery/src/index.d.ts +1 -1
  217. package/dist/discovery/src/index.d.ts.map +1 -1
  218. package/dist/discovery/src/source-config.d.ts +24 -233
  219. package/dist/discovery/src/source-config.d.ts.map +1 -1
  220. package/dist/{flows-ZULSVHX5.js → flows-6BNO4GKK.js} +3 -3
  221. package/dist/{flows-ZULSVHX5.js.map → flows-6BNO4GKK.js.map} +1 -1
  222. package/dist/library/index.js +6 -5
  223. package/dist/library/src/config.d.ts +25 -77
  224. package/dist/library/src/config.d.ts.map +1 -1
  225. package/dist/library/src/index.d.ts +2 -0
  226. package/dist/library/src/index.d.ts.map +1 -1
  227. package/dist/library/src/install/install-from-manifest.d.ts +80 -0
  228. package/dist/library/src/install/install-from-manifest.d.ts.map +1 -0
  229. package/dist/library/src/install/source-fetch-github.d.ts +43 -0
  230. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -0
  231. package/dist/library/src/knowledge/knowledge-manifest.d.ts +3 -17
  232. package/dist/library/src/knowledge/knowledge-manifest.d.ts.map +1 -1
  233. package/dist/library/src/library.d.ts +6 -0
  234. package/dist/library/src/library.d.ts.map +1 -1
  235. package/dist/library/src/local/db.d.ts.map +1 -1
  236. package/dist/library/src/local/library.d.ts +41 -0
  237. package/dist/library/src/local/library.d.ts.map +1 -1
  238. package/dist/library/src/local/schema.d.ts +19 -0
  239. package/dist/library/src/local/schema.d.ts.map +1 -1
  240. package/dist/library/src/remote/remote-catalog-source.d.ts +22 -0
  241. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  242. package/dist/library/src/user-library.d.ts +1 -2
  243. package/dist/library/src/user-library.d.ts.map +1 -1
  244. package/dist/library/src/workspace-config.d.ts +45 -243
  245. package/dist/library/src/workspace-config.d.ts.map +1 -1
  246. package/dist/open-library-S6FK4N4S.js +13 -0
  247. package/dist/{open-library-N5T5HRTS.js.map → open-library-S6FK4N4S.js.map} +1 -1
  248. package/dist/{provider-QXKEDXWJ.js → provider-GAWKFQ3T.js} +20 -4
  249. package/dist/provider-GAWKFQ3T.js.map +1 -0
  250. package/dist/runner/index.js +15 -15
  251. package/dist/runner/src/builtin-capabilities.d.ts.map +1 -1
  252. package/dist/runner/src/define-capability.d.ts +1 -1
  253. package/dist/runner/src/define-capability.d.ts.map +1 -1
  254. package/dist/runner/src/refresh-flag-dispatcher.d.ts +20 -20
  255. package/dist/runner/src/refresh-flag-dispatcher.d.ts.map +1 -1
  256. package/dist/runner/src/resource-handler.d.ts +8 -6
  257. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  258. package/dist/runner/src/resources.d.ts +14 -22
  259. package/dist/runner/src/resources.d.ts.map +1 -1
  260. package/dist/runner/src/runner-capabilities.d.ts.map +1 -1
  261. package/dist/runner/src/serve.d.ts.map +1 -1
  262. package/dist/runner/src/session-builder.d.ts +5 -7
  263. package/dist/runner/src/session-builder.d.ts.map +1 -1
  264. package/dist/runner/src/workspace-migration.d.ts +2 -2
  265. package/dist/runner/src/workspace-migration.d.ts.map +1 -1
  266. package/dist/sdk/asset-manager.js +12 -12
  267. package/dist/sdk/bridge.js +3 -3
  268. package/dist/sdk/core.js +6 -6
  269. package/dist/sdk/flow.js +1 -1
  270. package/dist/sdk/index.js +15 -15
  271. package/dist/sdk/runner.js +15 -15
  272. package/dist/sdk/session.js +1 -1
  273. package/dist/sdk/telemetry.js +1 -1
  274. package/dist/sdk/transport/ws/server.js +1 -1
  275. package/dist/sdk/transport/ws.js +1 -1
  276. package/dist/sdk/transport.js +1 -1
  277. package/dist/session/index.js +1 -1
  278. package/dist/session/src/dispatcher.d.ts +4 -1
  279. package/dist/session/src/dispatcher.d.ts.map +1 -1
  280. package/dist/{setup-BMTC562F.js → setup-PHFPBDBI.js} +10 -10
  281. package/dist/{setup-BMTC562F.js.map → setup-PHFPBDBI.js.map} +1 -1
  282. package/dist/source-fetch-github-QN4LLTL5.js +4 -0
  283. package/dist/source-fetch-github-QN4LLTL5.js.map +1 -0
  284. package/dist/store-client-BM3IBDPT.js +14 -0
  285. package/dist/{store-client-X7Y7D5QX.js.map → store-client-BM3IBDPT.js.map} +1 -1
  286. package/dist/telemetry/index.js +1 -1
  287. package/dist/transport/index.js +1 -1
  288. package/dist/transport/src/ws/server.d.ts +11 -8
  289. package/dist/transport/src/ws/server.d.ts.map +1 -1
  290. package/dist/transport/ws/server.js +1 -1
  291. package/dist/transport/ws.js +1 -1
  292. package/dist/tui/index.js +16 -25
  293. package/dist/tui/index.js.map +1 -1
  294. package/dist/tui/src/repl.d.ts.map +1 -1
  295. package/dist/types/manifests.js +1 -1
  296. package/dist/types/src/events.d.ts +6 -1
  297. package/dist/types/src/events.d.ts.map +1 -1
  298. package/dist/types/src/index.d.ts +1 -0
  299. package/dist/types/src/index.d.ts.map +1 -1
  300. package/dist/types/src/install-manifest.d.ts +33 -0
  301. package/dist/types/src/install-manifest.d.ts.map +1 -0
  302. package/dist/types/src/manifests/_shared.d.ts +39 -100
  303. package/dist/types/src/manifests/_shared.d.ts.map +1 -1
  304. package/dist/types/src/manifests/agent.d.ts +43 -248
  305. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  306. package/dist/types/src/manifests/connector.d.ts +7 -107
  307. package/dist/types/src/manifests/connector.d.ts.map +1 -1
  308. package/dist/types/src/manifests/contract.d.ts +10 -75
  309. package/dist/types/src/manifests/contract.d.ts.map +1 -1
  310. package/dist/types/src/manifests/mcp-server.d.ts +9 -29
  311. package/dist/types/src/manifests/mcp-server.d.ts.map +1 -1
  312. package/dist/types/src/manifests/mount.d.ts +4 -76
  313. package/dist/types/src/manifests/mount.d.ts.map +1 -1
  314. package/dist/types/src/manifests/persona.d.ts +10 -75
  315. package/dist/types/src/manifests/persona.d.ts.map +1 -1
  316. package/dist/types/src/manifests/preset.d.ts +82 -642
  317. package/dist/types/src/manifests/preset.d.ts.map +1 -1
  318. package/dist/types/src/manifests/prompt.d.ts +10 -75
  319. package/dist/types/src/manifests/prompt.d.ts.map +1 -1
  320. package/dist/types/src/manifests/ruleset.d.ts +10 -75
  321. package/dist/types/src/manifests/ruleset.d.ts.map +1 -1
  322. package/dist/types/src/manifests/skill.d.ts +46 -2328
  323. package/dist/types/src/manifests/skill.d.ts.map +1 -1
  324. package/dist/validator-47SQUW3J.js +5 -0
  325. package/dist/{validator-764EQNM3.js.map → validator-47SQUW3J.js.map} +1 -1
  326. package/dist/workspace-plugin/adapters/mcp.js +8 -9
  327. package/dist/workspace-plugin/adapters/mcp.js.map +1 -1
  328. package/dist/workspace-plugin/adapters/omp.js +19 -18
  329. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  330. package/dist/workspace-plugin/index.js +2 -2
  331. package/dist/workspace-plugin/src/adapters/mcp.d.ts.map +1 -1
  332. package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
  333. package/dist/workspace-plugin/src/plugin.d.ts +5 -3
  334. package/dist/workspace-plugin/src/plugin.d.ts.map +1 -1
  335. package/dist/workspace-plugin/src/tools/connectors.d.ts +38 -0
  336. package/dist/workspace-plugin/src/tools/connectors.d.ts.map +1 -1
  337. package/dist/workspace-plugin/src/tools/validator.d.ts +6 -4
  338. package/dist/workspace-plugin/src/tools/validator.d.ts.map +1 -1
  339. package/package.json +217 -117
  340. package/dist/base-assets/mounts/git/driver.d.ts.map +0 -1
  341. package/dist/base-assets/mounts/git.js +0 -20
  342. package/dist/base-assets/mounts/local/driver.d.ts +0 -27
  343. package/dist/base-assets/mounts/local/driver.d.ts.map +0 -1
  344. package/dist/base-assets/mounts/local.js +0 -20
  345. package/dist/base-assets/mounts/s3/driver.d.ts +0 -27
  346. package/dist/base-assets/mounts/s3/driver.d.ts.map +0 -1
  347. package/dist/base-assets/mounts/s3.js +0 -20
  348. package/dist/base-assets/mounts/sharepoint/driver.d.ts +0 -31
  349. package/dist/base-assets/mounts/sharepoint/driver.d.ts.map +0 -1
  350. package/dist/base-assets/mounts/sharepoint.js +0 -20
  351. package/dist/base-assets/mounts/webdav/driver.d.ts +0 -32
  352. package/dist/base-assets/mounts/webdav/driver.d.ts.map +0 -1
  353. package/dist/base-assets/mounts/webdav.js +0 -20
  354. package/dist/chunk-3W7Z74ZP.js.map +0 -1
  355. package/dist/chunk-44ZICIN4.js.map +0 -1
  356. package/dist/chunk-46T37EBP.js.map +0 -1
  357. package/dist/chunk-65CYXYUW.js.map +0 -1
  358. package/dist/chunk-7HCGI2GW.js.map +0 -1
  359. package/dist/chunk-AIGWF3TJ.js.map +0 -1
  360. package/dist/chunk-BVHFSUFM.js.map +0 -1
  361. package/dist/chunk-D5IH3QMH.js.map +0 -1
  362. package/dist/chunk-DOMCYP7D.js.map +0 -1
  363. package/dist/chunk-JLPC4YWT.js.map +0 -1
  364. package/dist/chunk-MJHLQRJJ.js.map +0 -1
  365. package/dist/chunk-NYJKXVG6.js.map +0 -1
  366. package/dist/chunk-Q5URN24L.js.map +0 -1
  367. package/dist/chunk-QT2KQHDT.js +0 -49
  368. package/dist/chunk-QT2KQHDT.js.map +0 -1
  369. package/dist/chunk-V37HONL7.js.map +0 -1
  370. package/dist/chunk-XEGHWFAX.js.map +0 -1
  371. package/dist/chunk-XOSBNBB6.js +0 -155
  372. package/dist/chunk-XOSBNBB6.js.map +0 -1
  373. package/dist/chunk-Z3RER6YZ.js.map +0 -1
  374. package/dist/chunk-ZUQIXLRJ.js.map +0 -1
  375. package/dist/cli/src/commands/mount.d.ts +0 -22
  376. package/dist/cli/src/commands/mount.d.ts.map +0 -1
  377. package/dist/connectors/src/adapters/base.d.ts +0 -66
  378. package/dist/connectors/src/adapters/base.d.ts.map +0 -1
  379. package/dist/connectors/src/connector-tools.d.ts +0 -61
  380. package/dist/connectors/src/connector-tools.d.ts.map +0 -1
  381. package/dist/connectors/src/drivers/base.d.ts +0 -44
  382. package/dist/connectors/src/drivers/base.d.ts.map +0 -1
  383. package/dist/connectors/src/mount-manager.d.ts +0 -147
  384. package/dist/connectors/src/mount-manager.d.ts.map +0 -1
  385. package/dist/connectors/src/mount-prompt.d.ts +0 -13
  386. package/dist/connectors/src/mount-prompt.d.ts.map +0 -1
  387. package/dist/connectors/src/mount-registry.d.ts +0 -61
  388. package/dist/connectors/src/mount-registry.d.ts.map +0 -1
  389. package/dist/connectors/src/mount-types.d.ts +0 -222
  390. package/dist/connectors/src/mount-types.d.ts.map +0 -1
  391. package/dist/connectors-7WS2KOSZ.js +0 -5
  392. package/dist/mounts-PQLFYD2C.js +0 -5
  393. package/dist/mounts-PQLFYD2C.js.map +0 -1
  394. package/dist/open-library-N5T5HRTS.js +0 -12
  395. package/dist/provider-QXKEDXWJ.js.map +0 -1
  396. package/dist/store-client-X7Y7D5QX.js +0 -14
  397. package/dist/validator-764EQNM3.js +0 -5
  398. package/dist/workspace-plugin/src/tools/mounts.d.ts +0 -51
  399. package/dist/workspace-plugin/src/tools/mounts.d.ts.map +0 -1
  400. /package/dist/base-assets/{mounts → connectors}/git.js.map +0 -0
  401. /package/dist/base-assets/{mounts → connectors}/local.js.map +0 -0
  402. /package/dist/base-assets/{mounts → connectors}/s3.js.map +0 -0
  403. /package/dist/base-assets/{mounts → connectors}/sharepoint.js.map +0 -0
  404. /package/dist/base-assets/{mounts → connectors}/webdav.js.map +0 -0
@@ -1,21 +1,22 @@
1
1
  /**
2
- * YjsAdapter — CRDT-based shared document state via Yjs.
2
+ * YjsConnector — CRDT-based shared document state via Yjs.
3
3
  * Not mountable. Provides real-time collaborative state that merges
4
4
  * concurrent edits from multiple agents and UI clients.
5
5
  *
6
6
  * Requires `yjs` as an optional peer dependency.
7
7
  */
8
- import { AbstractConnectorAdapter } from "@skaile/workspaces/connectors";
9
- import type { ConnectorContent, ConnectorEntry, ListOptions, SearchOptions, SearchResult } from "@skaile/workspaces/connectors";
10
- import type { ConnectorDeclaration, ConnectorHandle, OperationDescriptor } from "@skaile/workspaces/connectors";
8
+ import { AbstractConnector } from "@skaile/workspaces/connectors";
9
+ import type { ConnectContext, ConnectorDeclaration, ConnectorHandle, ToolFace } from "@skaile/workspaces/connectors";
11
10
  /**
12
- * Connector adapter for Yjs CRDT-based shared document state — enables real-time collaborative state that merges concurrent edits from multiple agents and UI clients.
11
+ * Connector for Yjs CRDT-based shared document state — enables real-time collaborative state that merges concurrent edits from multiple agents and UI clients.
13
12
  * Compatible with Hocuspocus and y-websocket provider connections via `getDoc()`. Requires the `yjs` optional peer dependency.
14
13
  * @docLink packages/base-assets/concepts#yjs-connector
15
14
  */
16
- export declare class YjsAdapter extends AbstractConnectorAdapter {
15
+ export declare class YjsConnector extends AbstractConnector {
17
16
  readonly name = "yjs";
18
- connect(declaration: ConnectorDeclaration, _secrets?: import("@skaile/workspaces/connectors").SecretProvider, _resolvedFields?: Record<string, string>): Promise<ConnectorHandle>;
17
+ tools: ToolFace;
18
+ constructor();
19
+ connect(declaration: ConnectorDeclaration, _ctx: ConnectContext): Promise<ConnectorHandle>;
19
20
  disconnect(handle: ConnectorHandle): Promise<void>;
20
21
  private s;
21
22
  /**
@@ -26,24 +27,24 @@ export declare class YjsAdapter extends AbstractConnectorAdapter {
26
27
  * Register a callback fired on every change to the root map.
27
28
  */
28
29
  onDocChange(handle: ConnectorHandle, cb: (snapshot: Record<string, unknown>, changedKeys: string[]) => void): void;
29
- read(handle: ConnectorHandle, path: string): Promise<ConnectorContent | null>;
30
- write(handle: ConnectorHandle, path: string, content: ConnectorContent): Promise<void>;
31
- delete(handle: ConnectorHandle, path: string): Promise<boolean>;
32
- list(handle: ConnectorHandle, _path?: string, options?: ListOptions): Promise<ConnectorEntry[]>;
33
- search(handle: ConnectorHandle, query: string, options?: SearchOptions): Promise<SearchResult[]>;
34
- describeOperations(handle: ConnectorHandle): OperationDescriptor[];
35
- executeOp(handle: ConnectorHandle, operation: string, args: Record<string, unknown>): Promise<string>;
36
- private getY;
30
+ private _read;
31
+ private _write;
32
+ private _delete;
33
+ private _list;
34
+ private _search;
35
+ private _describeOperations;
36
+ private _executeOp;
37
+ private _getY;
37
38
  /** Convert a JS value to a Yjs-compatible value. */
38
- private toYjsValue;
39
+ private _toYjsValue;
39
40
  /** Convert a Yjs value back to plain JS. */
40
- private fromYjsValue;
41
- private recordHistory;
41
+ private _fromYjsValue;
42
+ private _recordHistory;
42
43
  }
43
44
  /**
44
- * Creates a new YjsAdapter instance.
45
- * @returns Configured YjsAdapter ready to be registered in the connector registry.
45
+ * Creates a new YjsConnector instance.
46
+ * @returns Configured YjsConnector ready to be registered in the connector registry.
46
47
  * @docLink packages/base-assets/api-reference#yjs-connector-factory
47
48
  */
48
- export declare function createAdapter(): YjsAdapter;
49
+ export declare function createConnector(): YjsConnector;
49
50
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/yjs/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AASvC;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,wBAAwB;IACtD,QAAQ,CAAC,IAAI,SAAS;IAEhB,OAAO,CACX,WAAW,EAAE,oBAAoB,EACjC,QAAQ,CAAC,EAAE,OAAO,+BAA+B,EAAE,cAAc,EACjE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC;IAkCrB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,OAAO,CAAC,CAAC;IAIT;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO;IAIxC;;OAEG;IACH,WAAW,CACT,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,GACrE,IAAI;IAMQ,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAQ7E,KAAK,CAClB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAiBD,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/D,IAAI,CACjB,MAAM,EAAE,eAAe,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,cAAc,EAAE,CAAC;IAUb,MAAM,CACnB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC;IAgB1B,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,EAAE;IAoE5D,SAAS,CACb,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC;YA6EJ,IAAI;IAKlB,oDAAoD;IACpD,OAAO,CAAC,UAAU;IAelB,4CAA4C;IAC5C,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;CAKtB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAE1C"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/yjs/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACT,MAAM,+BAA+B,CAAC;AAiBvC;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,QAAQ,CAAC,IAAI,SAAS;IAEtB,KAAK,EAAE,QAAQ,CAAC;;IAeV,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAkC1F,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxD,OAAO,CAAC,CAAC;IAIT;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO;IAIxC;;OAEG;IACH,WAAW,CACT,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,GACrE,IAAI;YAMO,KAAK;YAQL,MAAM;YAqBN,OAAO;YAQP,KAAK;YAcL,OAAO;IAkBrB,OAAO,CAAC,mBAAmB;YAoEb,UAAU;YAiFV,KAAK;IAKnB,oDAAoD;IACpD,OAAO,CAAC,WAAW;IAenB,4CAA4C;IAC5C,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;CAKvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
@@ -1,20 +1,20 @@
1
- export { YjsAdapter, createAdapter8 as createAdapter } from '../../chunk-3W7Z74ZP.js';
2
- import '../../chunk-Q5URN24L.js';
3
- import '../../chunk-7H7EOIRH.js';
1
+ export { YjsConnector, createConnector14 as createConnector } from '../../chunk-EPGHAOEU.js';
2
+ import '../../chunk-W75ASXH4.js';
3
+ import '../../chunk-EBMFCF4P.js';
4
4
  import '../../chunk-GCRKAFH7.js';
5
- import '../../chunk-ZUQIXLRJ.js';
5
+ import '../../chunk-ICS76R4T.js';
6
6
  import '../../chunk-GZWJGNNN.js';
7
7
  import '../../chunk-FVTV7M76.js';
8
- import '../../chunk-65CYXYUW.js';
8
+ import '../../chunk-4RUVG5GX.js';
9
9
  import '../../chunk-JKNWJ64A.js';
10
10
  import '../../chunk-O4JH3KUE.js';
11
11
  import '../../chunk-K5GBV4SA.js';
12
12
  import '../../chunk-KLNL7QHN.js';
13
- import '../../chunk-XEGHWFAX.js';
14
- import '../../chunk-CSUBFKAN.js';
15
- import '../../chunk-BVHFSUFM.js';
16
- import '../../chunk-JLPC4YWT.js';
17
- import '../../chunk-V37HONL7.js';
13
+ import '../../chunk-SVNFQSU3.js';
14
+ import '../../chunk-GAZINYCS.js';
15
+ import '../../chunk-ZHLRRT5D.js';
16
+ import '../../chunk-37JKX6D7.js';
17
+ import '../../chunk-24UIWON4.js';
18
18
  import '../../chunk-NSBPE2FW.js';
19
19
  //# sourceMappingURL=yjs.js.map
20
20
  //# sourceMappingURL=yjs.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../base-assets/index.ts"],"names":[],"mappings":";;;AAUA,eAAsB,WAAA,GAA6B;AAEnD","file":"index.js","sourcesContent":["// @skaile/base-assets — Base framework assets\n// Subpath imports: @skaile/workspaces/base-assets/connectors/<name>, @skaile/workspaces/base-assets/mounts/<name>\n// This root export provides registerAll() for eager loading of all built-in adapters/drivers.\n\n/**\n * Eagerly loads all built-in connector adapters and mount drivers.\n * Intended for use in environments where lazy loading via subpath imports is not desired.\n * Individual adapters and drivers are normally loaded on demand by the connector and mount registries.\n * @docLink packages/base-assets/api-reference#base-assets\n */\nexport async function registerAll(): Promise<void> {\n // Populated in Phase 3 after implementations are moved here\n}\n"]}
1
+ {"version":3,"sources":["../../base-assets/index.ts"],"names":[],"mappings":";;;AAUA,eAAsB,WAAA,GAA6B;AAEnD","file":"index.js","sourcesContent":["// @skaile/base-assets — Base framework assets\n// Subpath imports: @skaile/workspaces/base-assets/connectors/<name>\n// This root export provides registerAll() for eager loading of all built-in adapters/drivers.\n\n/**\n * Eagerly loads all built-in connector adapters and mount drivers.\n * Intended for use in environments where lazy loading via subpath imports is not desired.\n * Individual adapters and drivers are normally loaded on demand by the connector and mount registries.\n * @docLink packages/base-assets/api-reference#base-assets\n */\nexport async function registerAll(): Promise<void> {\n // Populated in Phase 3 after implementations are moved here\n}\n"]}
@@ -1,14 +1,177 @@
1
1
  import { classifyClaudeSdkError, AuthError } from '../../chunk-EWP5HZBV.js';
2
2
  import { fetchProviderModels } from '../../chunk-KOVLSBXK.js';
3
3
  import { dispatchCapability } from '../../chunk-RRVQAE5D.js';
4
- import { registerDriver, DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-MBBTBKAS.js';
5
- import '../../chunk-V37HONL7.js';
4
+ import { registerDriver, DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-AE6GCXGL.js';
5
+ import '../../chunk-24UIWON4.js';
6
6
  import '../../chunk-NSBPE2FW.js';
7
7
  import { spawnSync } from 'child_process';
8
- import { existsSync } from 'fs';
8
+ import { existsSync, readFileSync, readdirSync, writeFileSync, renameSync } from 'fs';
9
9
  import { createRequire } from 'module';
10
+ import { homedir } from 'os';
11
+ import { join } from 'path';
10
12
  import * as zNS from 'zod';
11
13
 
14
+ var STUB_TEXT = "[image removed: unprocessable image data]";
15
+ var STUB_TEXT_OVERSIZED = "[image removed: image too large]";
16
+ var MAX_IMAGE_BYTES = 5 * 1024 * 1024;
17
+ function sniffImageMediaType(base64) {
18
+ let buf;
19
+ try {
20
+ buf = Buffer.from(base64.slice(0, 32), "base64");
21
+ } catch {
22
+ return null;
23
+ }
24
+ if (buf.length < 4) {
25
+ return null;
26
+ }
27
+ if (buf[0] === 255 && buf[1] === 216) {
28
+ return "image/jpeg";
29
+ }
30
+ if (buf[0] === 137 && buf[1] === 80 && buf[2] === 78 && buf[3] === 71) {
31
+ return "image/png";
32
+ }
33
+ if (buf[0] === 71 && buf[1] === 73 && buf[2] === 70 && buf[3] === 56) {
34
+ return "image/gif";
35
+ }
36
+ if (buf.length >= 12 && buf[0] === 82 && buf[1] === 73 && buf[2] === 70 && buf[3] === 70 && buf[8] === 87 && buf[9] === 69 && buf[10] === 66 && buf[11] === 80) {
37
+ return "image/webp";
38
+ }
39
+ return null;
40
+ }
41
+ function totalChanges(c) {
42
+ return c.corrected + c.stubbed + c.cacheStripped;
43
+ }
44
+ function scrubBlock(block, counters) {
45
+ if (block.type === "tool_result" && Array.isArray(block.content)) {
46
+ return {
47
+ ...block,
48
+ content: block.content.map((inner) => scrubBlock(inner, counters))
49
+ };
50
+ }
51
+ if (block.type === "text" && block.cache_control != null) {
52
+ const text = typeof block.text === "string" ? block.text : "";
53
+ if (text.trim() === "") {
54
+ counters.cacheStripped++;
55
+ const clone = { ...block };
56
+ delete clone.cache_control;
57
+ return clone;
58
+ }
59
+ }
60
+ if (block.type === "image" && block.source?.type === "base64" && typeof block.source.data === "string") {
61
+ const data = block.source.data;
62
+ if (Math.floor(data.length * 3 / 4) > MAX_IMAGE_BYTES) {
63
+ counters.stubbed++;
64
+ return { type: "text", text: STUB_TEXT_OVERSIZED };
65
+ }
66
+ const sniffed = sniffImageMediaType(data);
67
+ if (sniffed === null) {
68
+ counters.stubbed++;
69
+ return { type: "text", text: STUB_TEXT };
70
+ }
71
+ if (sniffed !== block.source.media_type) {
72
+ counters.corrected++;
73
+ return { ...block, source: { ...block.source, media_type: sniffed } };
74
+ }
75
+ }
76
+ return block;
77
+ }
78
+ function locateTranscript(configDir, sessionId) {
79
+ const projectsDir = join(configDir, "projects");
80
+ if (!existsSync(projectsDir)) {
81
+ return null;
82
+ }
83
+ let entries;
84
+ try {
85
+ entries = readdirSync(projectsDir);
86
+ } catch {
87
+ return null;
88
+ }
89
+ for (const entry of entries) {
90
+ const candidate = join(projectsDir, entry, `${sessionId}.jsonl`);
91
+ if (existsSync(candidate)) {
92
+ return candidate;
93
+ }
94
+ }
95
+ return null;
96
+ }
97
+ function scrubPoisonedTranscript(opts) {
98
+ const { configDir, sessionId, log } = opts;
99
+ const result = {
100
+ filePath: null,
101
+ corrected: 0,
102
+ stubbed: 0,
103
+ cacheStripped: 0,
104
+ changed: false
105
+ };
106
+ const filePath = locateTranscript(configDir, sessionId);
107
+ if (!filePath) {
108
+ log?.warn("scrub-transcript: no transcript found", { configDir, sessionId });
109
+ return result;
110
+ }
111
+ result.filePath = filePath;
112
+ let raw;
113
+ try {
114
+ raw = readFileSync(filePath, "utf8");
115
+ } catch (err) {
116
+ log?.warn("scrub-transcript: failed to read transcript", {
117
+ filePath,
118
+ error: err instanceof Error ? err.message : String(err)
119
+ });
120
+ return result;
121
+ }
122
+ const counters = { corrected: 0, stubbed: 0, cacheStripped: 0 };
123
+ const lines = raw.split("\n");
124
+ let dirty = false;
125
+ const repaired = lines.map((line) => {
126
+ if (line.trim() === "") {
127
+ return line;
128
+ }
129
+ let entry;
130
+ try {
131
+ entry = JSON.parse(line);
132
+ } catch {
133
+ return line;
134
+ }
135
+ const content = entry.message?.content;
136
+ if (!Array.isArray(content)) {
137
+ return line;
138
+ }
139
+ const before = totalChanges(counters);
140
+ const scrubbed = content.map((block) => scrubBlock(block, counters));
141
+ if (totalChanges(counters) === before) {
142
+ return line;
143
+ }
144
+ dirty = true;
145
+ return JSON.stringify({ ...entry, message: { ...entry.message, content: scrubbed } });
146
+ });
147
+ result.corrected = counters.corrected;
148
+ result.stubbed = counters.stubbed;
149
+ result.cacheStripped = counters.cacheStripped;
150
+ if (!dirty) {
151
+ return result;
152
+ }
153
+ const tmpPath = `${filePath}.scrub-tmp`;
154
+ try {
155
+ writeFileSync(tmpPath, repaired.join("\n"), "utf8");
156
+ renameSync(tmpPath, filePath);
157
+ } catch (err) {
158
+ log?.warn("scrub-transcript: failed to rewrite transcript", {
159
+ filePath,
160
+ error: err instanceof Error ? err.message : String(err)
161
+ });
162
+ return result;
163
+ }
164
+ result.changed = true;
165
+ log?.info("scrub-transcript: repaired poisoned transcript", {
166
+ filePath,
167
+ corrected: result.corrected,
168
+ stubbed: result.stubbed,
169
+ cacheStripped: result.cacheStripped
170
+ });
171
+ return result;
172
+ }
173
+
174
+ // bridge/src/drivers/claude-sdk.ts
12
175
  var zStatic = zNS.z ?? zNS.default ?? zNS;
13
176
  function jsonSchemaToZodLoose(schema, z2) {
14
177
  const props = schema?.properties ?? null;
@@ -32,7 +195,7 @@ function jsonSchemaToZodLoose(schema, z2) {
32
195
  zod = z2.array(z2.any());
33
196
  break;
34
197
  case "object":
35
- zod = z2.record(z2.any());
198
+ zod = z2.record(z2.string(), z2.any());
36
199
  break;
37
200
  default:
38
201
  zod = z2.any();
@@ -201,6 +364,54 @@ var ClaudeSdkDriver = class extends AgentDriver {
201
364
  retrying = true;
202
365
  return this.prompt(message, _retryCount + 1);
203
366
  }
367
+ const isPoisonedHistory = _retryCount === 0 && /invalid_request_error/i.test(errMsg) && /media[_ ]?type|could not process image|image exceeds|cache_control/i.test(errMsg);
368
+ const poisonSessionId = this.config.resumeSessionId || this.sessionId;
369
+ if (isPoisonedHistory && poisonSessionId) {
370
+ const configDir = this.config.env?.CLAUDE_CONFIG_DIR || process.env.CLAUDE_CONFIG_DIR || join(homedir(), ".claude");
371
+ const scrub = scrubPoisonedTranscript({
372
+ configDir,
373
+ sessionId: poisonSessionId,
374
+ log: this.log
375
+ });
376
+ if (scrub.changed) {
377
+ this.log.warn("scrubbed poisoned Claude Code transcript, retrying resume", {
378
+ sessionId: poisonSessionId,
379
+ corrected: scrub.corrected,
380
+ stubbed: scrub.stubbed,
381
+ cacheStripped: scrub.cacheStripped
382
+ });
383
+ this.emit("agent-event", {
384
+ type: "resume_failed",
385
+ resumeSessionId: poisonSessionId,
386
+ reason: "jsonl_poisoned"
387
+ });
388
+ const plural = (n) => n === 1 ? "" : "s";
389
+ const repairs = [];
390
+ if (scrub.corrected > 0)
391
+ repairs.push(`${scrub.corrected} media type${plural(scrub.corrected)} corrected`);
392
+ if (scrub.stubbed > 0)
393
+ repairs.push(`${scrub.stubbed} image${plural(scrub.stubbed)} removed`);
394
+ if (scrub.cacheStripped > 0)
395
+ repairs.push(
396
+ `${scrub.cacheStripped} malformed block${plural(scrub.cacheStripped)} cleaned`
397
+ );
398
+ this.emit("agent-event", {
399
+ type: "error",
400
+ error: `Recovered corrupt data in the conversation history (${repairs.join(", ")}). Retrying \u2014 earlier context is preserved.`,
401
+ fatal: false
402
+ });
403
+ this.query = null;
404
+ this.turnResolve = null;
405
+ this.turnReject = null;
406
+ this.running = false;
407
+ retrying = true;
408
+ return this.prompt(message, _retryCount + 1);
409
+ }
410
+ this.log.warn("poisoned-transcript error but scrub found nothing to repair", {
411
+ sessionId: poisonSessionId,
412
+ filePath: scrub.filePath
413
+ });
414
+ }
204
415
  const isAuthError = err instanceof AuthError && _retryCount === 0;
205
416
  if (isAuthError && this.config.onAuthError) {
206
417
  this.log.info("auth error caught; invoking onAuthError refresh callback");