langflower 0.1.0 → 0.1.2

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 (929) hide show
  1. package/README.md +74 -105
  2. package/bin/langflower.js +15 -1
  3. package/dist/chunk-AO33IM2J.js +307 -0
  4. package/dist/chunk-CVTPGIZE.js +344 -0
  5. package/dist/chunk-EAZMCX37.js +44 -0
  6. package/dist/chunk-NIRPHJLO.js +1505 -0
  7. package/dist/chunk-PYLGT66P.js +126 -0
  8. package/dist/chunk-WV2YWHOC.js +623 -0
  9. package/dist/chunk-YOTMWWRH.js +2041 -0
  10. package/dist/index.js +80453 -1
  11. package/package.json +1 -8
  12. package/ui-dist/{chunk-UG3GFV4Y.js → chunk-BKIP5WRK.js} +1 -1
  13. package/ui-dist/chunk-EZTB7Q33.js +4 -0
  14. package/ui-dist/index.html +2 -2
  15. package/ui-dist/main-JJURZFKA.js +318 -0
  16. package/ui-dist/styles-VA3HMZK7.css +1 -0
  17. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-reactive-node.d.ts +1 -0
  18. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-reactive-node.js +1 -0
  19. package/vendor/node-sdk/dist/node-factory/define-reactive-node/resolve-secret.d.ts +28 -0
  20. package/vendor/node-sdk/dist/node-factory/define-reactive-node/resolve-secret.js +76 -0
  21. package/vendor/node-sdk/dist/node-factory/define-reactive-node/types.d.ts +7 -3
  22. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/define-tool-registrations.d.ts +6 -6
  23. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/define-tool-registrations.js +6 -6
  24. package/vendor/node-sdk/dist/testing/create-node-harness.d.ts +4 -0
  25. package/vendor/node-sdk/dist/testing/create-node-harness.js +5 -0
  26. package/vendor/server/skeleton/schemas/langflower-config.schema.json +5 -1
  27. package/vendor/server/skeleton/skills/langflower-helper/SKILL.md +46 -11
  28. package/vendor/server/skeleton/skills/langflower-helper/architecture.md +14 -3
  29. package/vendor/server/skeleton/skills/langflower-helper/layout.md +32 -29
  30. package/vendor/server/skeleton/skills/langflower-node-writer/SKILL.md +69 -0
  31. package/vendor/server/skeleton/skills/langflower-workflow-writer/SKILL.md +18 -3
  32. package/vendor/server/skeleton/skills/spec-architect/SKILL.md +232 -0
  33. package/vendor/server/skeleton/workflows/advanced-coder.json +1 -0
  34. package/vendor/server/skeleton/workflows/simple-coder.json +1 -0
  35. package/dist/cli.d.ts +0 -1
  36. package/dist/cli.js +0 -13
  37. package/dist/create-fake-skill-case-runner.d.ts +0 -9
  38. package/dist/create-fake-skill-case-runner.js +0 -73
  39. package/dist/create-fake-skill-case-runner.test.d.ts +0 -1
  40. package/dist/create-fake-skill-case-runner.test.js +0 -60
  41. package/dist/eval-command.d.ts +0 -2
  42. package/dist/eval-command.js +0 -66
  43. package/dist/index.d.ts +0 -1
  44. package/dist/start-command.d.ts +0 -5
  45. package/dist/start-command.js +0 -110
  46. package/dist/start-command.test.d.ts +0 -1
  47. package/dist/start-command.test.js +0 -17
  48. package/ui-dist/chunk-QI4IYILJ.js +0 -4
  49. package/ui-dist/main-ODIDCCNX.js +0 -315
  50. package/ui-dist/styles-2JMBAQC3.css +0 -1
  51. package/vendor/common-nodes/dist/ai/build-effective-system-prompt.d.ts +0 -9
  52. package/vendor/common-nodes/dist/ai/build-effective-system-prompt.js +0 -21
  53. package/vendor/common-nodes/dist/ai/chat-completion-stream.d.ts +0 -53
  54. package/vendor/common-nodes/dist/ai/chat-completion-stream.js +0 -1
  55. package/vendor/common-nodes/dist/ai/chat-input/node.d.ts +0 -25
  56. package/vendor/common-nodes/dist/ai/chat-input/node.js +0 -39
  57. package/vendor/common-nodes/dist/ai/critique/node.d.ts +0 -588
  58. package/vendor/common-nodes/dist/ai/critique/node.js +0 -240
  59. package/vendor/common-nodes/dist/ai/define-llm-node/default-llm-ports.d.ts +0 -28
  60. package/vendor/common-nodes/dist/ai/define-llm-node/default-llm-ports.js +0 -59
  61. package/vendor/common-nodes/dist/ai/define-llm-node/define-llm-node.d.ts +0 -45
  62. package/vendor/common-nodes/dist/ai/define-llm-node/define-llm-node.js +0 -48
  63. package/vendor/common-nodes/dist/ai/fake-llm/node.d.ts +0 -571
  64. package/vendor/common-nodes/dist/ai/fake-llm/node.js +0 -207
  65. package/vendor/common-nodes/dist/ai/fake-mcp-server/node.d.ts +0 -26
  66. package/vendor/common-nodes/dist/ai/fake-mcp-server/node.js +0 -67
  67. package/vendor/common-nodes/dist/ai/fake-tool-registration/node.d.ts +0 -26
  68. package/vendor/common-nodes/dist/ai/fake-tool-registration/node.js +0 -57
  69. package/vendor/common-nodes/dist/ai/features/chat-completion-stream.d.ts +0 -53
  70. package/vendor/common-nodes/dist/ai/features/chat-completion-stream.js +0 -1
  71. package/vendor/common-nodes/dist/ai/features/llm-loop/autokick-recovery.d.ts +0 -13
  72. package/vendor/common-nodes/dist/ai/features/llm-loop/autokick-recovery.js +0 -17
  73. package/vendor/common-nodes/dist/ai/features/llm-loop/classify-llm-failure.d.ts +0 -2
  74. package/vendor/common-nodes/dist/ai/features/llm-loop/classify-llm-failure.js +0 -113
  75. package/vendor/common-nodes/dist/ai/features/llm-loop/dead-loop-detector.d.ts +0 -28
  76. package/vendor/common-nodes/dist/ai/features/llm-loop/dead-loop-detector.js +0 -194
  77. package/vendor/common-nodes/dist/ai/features/llm-loop/live-get-tools.d.ts +0 -9
  78. package/vendor/common-nodes/dist/ai/features/llm-loop/live-get-tools.js +0 -21
  79. package/vendor/common-nodes/dist/ai/features/llm-loop/llm-loop-reducer.d.ts +0 -2
  80. package/vendor/common-nodes/dist/ai/features/llm-loop/llm-loop-reducer.js +0 -204
  81. package/vendor/common-nodes/dist/ai/features/llm-loop/llm-loop-types.d.ts +0 -120
  82. package/vendor/common-nodes/dist/ai/features/llm-loop/llm-loop-types.js +0 -39
  83. package/vendor/common-nodes/dist/ai/features/llm-loop/normalize-llm-recovery-policy.d.ts +0 -2
  84. package/vendor/common-nodes/dist/ai/features/llm-loop/normalize-llm-recovery-policy.js +0 -59
  85. package/vendor/common-nodes/dist/ai/features/llm-loop/operators/normalize-tool-result.d.ts +0 -1
  86. package/vendor/common-nodes/dist/ai/features/llm-loop/operators/normalize-tool-result.js +0 -7
  87. package/vendor/common-nodes/dist/ai/features/llm-loop/operators/observe-provider-stream.d.ts +0 -43
  88. package/vendor/common-nodes/dist/ai/features/llm-loop/operators/observe-provider-stream.js +0 -96
  89. package/vendor/common-nodes/dist/ai/features/llm-loop/run-agent-loop.d.ts +0 -29
  90. package/vendor/common-nodes/dist/ai/features/llm-loop/run-agent-loop.js +0 -44
  91. package/vendor/common-nodes/dist/ai/features/llm-loop/run-llm-loop.d.ts +0 -74
  92. package/vendor/common-nodes/dist/ai/features/llm-loop/run-llm-loop.js +0 -658
  93. package/vendor/common-nodes/dist/ai/features/llm-role-preset.d.ts +0 -69
  94. package/vendor/common-nodes/dist/ai/features/llm-role-preset.js +0 -265
  95. package/vendor/common-nodes/dist/ai/features/llm-session/llm-session-shell.d.ts +0 -141
  96. package/vendor/common-nodes/dist/ai/features/llm-session/llm-session-shell.js +0 -225
  97. package/vendor/common-nodes/dist/ai/features/llm-session/run-session-machine.d.ts +0 -32
  98. package/vendor/common-nodes/dist/ai/features/llm-session/run-session-machine.js +0 -118
  99. package/vendor/common-nodes/dist/ai/features/openai/context-length-error.d.ts +0 -14
  100. package/vendor/common-nodes/dist/ai/features/openai/context-length-error.js +0 -63
  101. package/vendor/common-nodes/dist/ai/features/openai/create-chat-completion-stream.d.ts +0 -19
  102. package/vendor/common-nodes/dist/ai/features/openai/create-chat-completion-stream.js +0 -182
  103. package/vendor/common-nodes/dist/ai/features/openai/list-provider-models.d.ts +0 -28
  104. package/vendor/common-nodes/dist/ai/features/openai/list-provider-models.js +0 -52
  105. package/vendor/common-nodes/dist/ai/features/openai/llm-context-compaction.d.ts +0 -31
  106. package/vendor/common-nodes/dist/ai/features/openai/llm-context-compaction.js +0 -326
  107. package/vendor/common-nodes/dist/ai/features/openai/normalize-compaction-params.d.ts +0 -14
  108. package/vendor/common-nodes/dist/ai/features/openai/normalize-compaction-params.js +0 -21
  109. package/vendor/common-nodes/dist/ai/features/openai/prepare-chat-completion.d.ts +0 -30
  110. package/vendor/common-nodes/dist/ai/features/openai/prepare-chat-completion.js +0 -132
  111. package/vendor/common-nodes/dist/ai/features/path-choice/control-tools.d.ts +0 -20
  112. package/vendor/common-nodes/dist/ai/features/path-choice/control-tools.js +0 -70
  113. package/vendor/common-nodes/dist/ai/features/path-choice/run-reactive-path-choice-loop.d.ts +0 -32
  114. package/vendor/common-nodes/dist/ai/features/path-choice/run-reactive-path-choice-loop.js +0 -93
  115. package/vendor/common-nodes/dist/ai/features/prompt/build-effective-system-prompt.d.ts +0 -9
  116. package/vendor/common-nodes/dist/ai/features/prompt/build-effective-system-prompt.js +0 -21
  117. package/vendor/common-nodes/dist/ai/features/prompt/normalize-max-iterations.d.ts +0 -13
  118. package/vendor/common-nodes/dist/ai/features/prompt/normalize-max-iterations.js +0 -23
  119. package/vendor/common-nodes/dist/ai/features/prompt/resolve-chat-provider-model.d.ts +0 -10
  120. package/vendor/common-nodes/dist/ai/features/prompt/resolve-chat-provider-model.js +0 -8
  121. package/vendor/common-nodes/dist/ai/features/run-host-services.d.ts +0 -64
  122. package/vendor/common-nodes/dist/ai/features/run-host-services.js +0 -29
  123. package/vendor/common-nodes/dist/ai/features/scripted-chat-completion-stream.d.ts +0 -17
  124. package/vendor/common-nodes/dist/ai/features/scripted-chat-completion-stream.js +0 -61
  125. package/vendor/common-nodes/dist/ai/features/sub-agent-protocol.d.ts +0 -40
  126. package/vendor/common-nodes/dist/ai/features/sub-agent-protocol.js +0 -44
  127. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-compaction-ui-schema.d.ts +0 -14
  128. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-compaction-ui-schema.js +0 -18
  129. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-panel-ui-schema.d.ts +0 -80
  130. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-panel-ui-schema.js +0 -76
  131. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-recovery-ui-schema.d.ts +0 -113
  132. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-recovery-ui-schema.js +0 -131
  133. package/vendor/common-nodes/dist/ai/features/wait-for-subagent-result.d.ts +0 -7
  134. package/vendor/common-nodes/dist/ai/features/wait-for-subagent-result.js +0 -31
  135. package/vendor/common-nodes/dist/ai/filter-enabled-registrations.d.ts +0 -9
  136. package/vendor/common-nodes/dist/ai/filter-enabled-registrations.js +0 -18
  137. package/vendor/common-nodes/dist/ai/flatten-mcp-server-configs.d.ts +0 -7
  138. package/vendor/common-nodes/dist/ai/flatten-mcp-server-configs.js +0 -21
  139. package/vendor/common-nodes/dist/ai/inventory-tool-round.d.ts +0 -33
  140. package/vendor/common-nodes/dist/ai/inventory-tool-round.js +0 -215
  141. package/vendor/common-nodes/dist/ai/llm-compaction-ui-schema.d.ts +0 -14
  142. package/vendor/common-nodes/dist/ai/llm-compaction-ui-schema.js +0 -18
  143. package/vendor/common-nodes/dist/ai/llm-loop/autokick-recovery.d.ts +0 -13
  144. package/vendor/common-nodes/dist/ai/llm-loop/autokick-recovery.js +0 -17
  145. package/vendor/common-nodes/dist/ai/llm-loop/classify-llm-failure.d.ts +0 -2
  146. package/vendor/common-nodes/dist/ai/llm-loop/classify-llm-failure.js +0 -113
  147. package/vendor/common-nodes/dist/ai/llm-loop/dead-loop-detector.d.ts +0 -28
  148. package/vendor/common-nodes/dist/ai/llm-loop/dead-loop-detector.js +0 -194
  149. package/vendor/common-nodes/dist/ai/llm-loop/llm-loop-reducer.d.ts +0 -2
  150. package/vendor/common-nodes/dist/ai/llm-loop/llm-loop-reducer.js +0 -216
  151. package/vendor/common-nodes/dist/ai/llm-loop/llm-loop-types.d.ts +0 -125
  152. package/vendor/common-nodes/dist/ai/llm-loop/llm-loop-types.js +0 -39
  153. package/vendor/common-nodes/dist/ai/llm-loop/normalize-llm-recovery-policy.d.ts +0 -2
  154. package/vendor/common-nodes/dist/ai/llm-loop/normalize-llm-recovery-policy.js +0 -59
  155. package/vendor/common-nodes/dist/ai/llm-loop/operators/normalize-tool-result.d.ts +0 -1
  156. package/vendor/common-nodes/dist/ai/llm-loop/operators/normalize-tool-result.js +0 -7
  157. package/vendor/common-nodes/dist/ai/llm-loop/operators/observe-provider-stream.d.ts +0 -43
  158. package/vendor/common-nodes/dist/ai/llm-loop/operators/observe-provider-stream.js +0 -96
  159. package/vendor/common-nodes/dist/ai/llm-loop/run-agent-loop.d.ts +0 -31
  160. package/vendor/common-nodes/dist/ai/llm-loop/run-agent-loop.js +0 -57
  161. package/vendor/common-nodes/dist/ai/llm-loop/run-llm-loop.d.ts +0 -79
  162. package/vendor/common-nodes/dist/ai/llm-loop/run-llm-loop.js +0 -637
  163. package/vendor/common-nodes/dist/ai/llm-panel-ui-schema.d.ts +0 -80
  164. package/vendor/common-nodes/dist/ai/llm-panel-ui-schema.js +0 -76
  165. package/vendor/common-nodes/dist/ai/llm-recovery-ui-schema.d.ts +0 -113
  166. package/vendor/common-nodes/dist/ai/llm-recovery-ui-schema.js +0 -131
  167. package/vendor/common-nodes/dist/ai/llm-role-preset.d.ts +0 -69
  168. package/vendor/common-nodes/dist/ai/llm-role-preset.js +0 -265
  169. package/vendor/common-nodes/dist/ai/llm-session/run-session-machine.d.ts +0 -21
  170. package/vendor/common-nodes/dist/ai/llm-session/run-session-machine.js +0 -118
  171. package/vendor/common-nodes/dist/ai/llm-session-shell.d.ts +0 -147
  172. package/vendor/common-nodes/dist/ai/llm-session-shell.js +0 -189
  173. package/vendor/common-nodes/dist/ai/mcp-server/node.d.ts +0 -26
  174. package/vendor/common-nodes/dist/ai/mcp-server/node.js +0 -68
  175. package/vendor/common-nodes/dist/ai/mcp-server-config.d.ts +0 -16
  176. package/vendor/common-nodes/dist/ai/mcp-server-config.js +0 -2
  177. package/vendor/common-nodes/dist/ai/mcp-tool-id.d.ts +0 -11
  178. package/vendor/common-nodes/dist/ai/mcp-tool-id.js +0 -30
  179. package/vendor/common-nodes/dist/ai/merge-tool-inventory.d.ts +0 -10
  180. package/vendor/common-nodes/dist/ai/merge-tool-inventory.js +0 -26
  181. package/vendor/common-nodes/dist/ai/nodes/critique/node.d.ts +0 -588
  182. package/vendor/common-nodes/dist/ai/nodes/critique/node.js +0 -231
  183. package/vendor/common-nodes/dist/ai/nodes/fake-llm/node.d.ts +0 -571
  184. package/vendor/common-nodes/dist/ai/nodes/fake-llm/node.js +0 -207
  185. package/vendor/common-nodes/dist/ai/nodes/openai-llm/node.d.ts +0 -587
  186. package/vendor/common-nodes/dist/ai/nodes/openai-llm/node.js +0 -88
  187. package/vendor/common-nodes/dist/ai/nodes/review/node.d.ts +0 -593
  188. package/vendor/common-nodes/dist/ai/nodes/review/node.js +0 -233
  189. package/vendor/common-nodes/dist/ai/nodes/sub-agent/node.d.ts +0 -630
  190. package/vendor/common-nodes/dist/ai/nodes/sub-agent/node.js +0 -457
  191. package/vendor/common-nodes/dist/ai/normalize-max-iterations.d.ts +0 -13
  192. package/vendor/common-nodes/dist/ai/normalize-max-iterations.js +0 -23
  193. package/vendor/common-nodes/dist/ai/openai/context-length-error.d.ts +0 -14
  194. package/vendor/common-nodes/dist/ai/openai/context-length-error.js +0 -63
  195. package/vendor/common-nodes/dist/ai/openai/create-chat-completion-stream.d.ts +0 -19
  196. package/vendor/common-nodes/dist/ai/openai/create-chat-completion-stream.js +0 -182
  197. package/vendor/common-nodes/dist/ai/openai/create-embedding.d.ts +0 -18
  198. package/vendor/common-nodes/dist/ai/openai/create-embedding.js +0 -43
  199. package/vendor/common-nodes/dist/ai/openai/list-provider-models.d.ts +0 -28
  200. package/vendor/common-nodes/dist/ai/openai/list-provider-models.js +0 -52
  201. package/vendor/common-nodes/dist/ai/openai/llm-context-compaction.d.ts +0 -31
  202. package/vendor/common-nodes/dist/ai/openai/llm-context-compaction.js +0 -326
  203. package/vendor/common-nodes/dist/ai/openai/normalize-compaction-params.d.ts +0 -14
  204. package/vendor/common-nodes/dist/ai/openai/normalize-compaction-params.js +0 -21
  205. package/vendor/common-nodes/dist/ai/openai/prepare-chat-completion.d.ts +0 -30
  206. package/vendor/common-nodes/dist/ai/openai/prepare-chat-completion.js +0 -132
  207. package/vendor/common-nodes/dist/ai/openai-llm/node.d.ts +0 -587
  208. package/vendor/common-nodes/dist/ai/openai-llm/node.js +0 -88
  209. package/vendor/common-nodes/dist/ai/path-choice/control-tools.d.ts +0 -20
  210. package/vendor/common-nodes/dist/ai/path-choice/control-tools.js +0 -70
  211. package/vendor/common-nodes/dist/ai/path-choice/run-path-choice-tool-loop.d.ts +0 -54
  212. package/vendor/common-nodes/dist/ai/path-choice/run-path-choice-tool-loop.js +0 -242
  213. package/vendor/common-nodes/dist/ai/path-choice/run-reactive-path-choice-loop.d.ts +0 -35
  214. package/vendor/common-nodes/dist/ai/path-choice/run-reactive-path-choice-loop.js +0 -106
  215. package/vendor/common-nodes/dist/ai/resolve-chat-provider-model.d.ts +0 -10
  216. package/vendor/common-nodes/dist/ai/resolve-chat-provider-model.js +0 -8
  217. package/vendor/common-nodes/dist/ai/resolve-mcp-inventory.d.ts +0 -8
  218. package/vendor/common-nodes/dist/ai/resolve-mcp-inventory.js +0 -43
  219. package/vendor/common-nodes/dist/ai/review/node.d.ts +0 -593
  220. package/vendor/common-nodes/dist/ai/review/node.js +0 -240
  221. package/vendor/common-nodes/dist/ai/review/review-control-tools.d.ts +0 -20
  222. package/vendor/common-nodes/dist/ai/review/review-control-tools.js +0 -70
  223. package/vendor/common-nodes/dist/ai/review/run-review-tool-loop.d.ts +0 -44
  224. package/vendor/common-nodes/dist/ai/review/run-review-tool-loop.js +0 -193
  225. package/vendor/common-nodes/dist/ai/run-host-services.d.ts +0 -32
  226. package/vendor/common-nodes/dist/ai/run-host-services.js +0 -11
  227. package/vendor/common-nodes/dist/ai/run-internal-tool-loop.d.ts +0 -39
  228. package/vendor/common-nodes/dist/ai/run-internal-tool-loop.js +0 -138
  229. package/vendor/common-nodes/dist/ai/scripted-chat-completion-stream.d.ts +0 -17
  230. package/vendor/common-nodes/dist/ai/scripted-chat-completion-stream.js +0 -61
  231. package/vendor/common-nodes/dist/ai/sub-agent/node.d.ts +0 -630
  232. package/vendor/common-nodes/dist/ai/sub-agent/node.js +0 -302
  233. package/vendor/common-nodes/dist/ai/sub-agent-protocol.d.ts +0 -39
  234. package/vendor/common-nodes/dist/ai/sub-agent-protocol.js +0 -43
  235. package/vendor/common-nodes/dist/ai/tool-handler-context.d.ts +0 -4
  236. package/vendor/common-nodes/dist/ai/tool-handler-context.js +0 -16
  237. package/vendor/common-nodes/dist/ai/tool-registration.d.ts +0 -6
  238. package/vendor/common-nodes/dist/ai/tool-registration.js +0 -33
  239. package/vendor/common-nodes/dist/ai/wait-for-subagent-result.d.ts +0 -6
  240. package/vendor/common-nodes/dist/ai/wait-for-subagent-result.js +0 -30
  241. package/vendor/common-nodes/dist/catalog.d.ts +0 -6
  242. package/vendor/common-nodes/dist/catalog.js +0 -95
  243. package/vendor/common-nodes/dist/compile-custom-nodes/node.d.ts +0 -21
  244. package/vendor/common-nodes/dist/compile-custom-nodes/node.js +0 -45
  245. package/vendor/common-nodes/dist/crawl/crawl/node.d.ts +0 -99
  246. package/vendor/common-nodes/dist/crawl/crawl/node.js +0 -128
  247. package/vendor/common-nodes/dist/crawl/crawl-tools/node.d.ts +0 -20
  248. package/vendor/common-nodes/dist/crawl/crawl-tools/node.js +0 -17
  249. package/vendor/common-nodes/dist/crawl/extract-links/node.d.ts +0 -22
  250. package/vendor/common-nodes/dist/crawl/extract-links/node.js +0 -45
  251. package/vendor/common-nodes/dist/crawl/fetch-url/node.d.ts +0 -56
  252. package/vendor/common-nodes/dist/crawl/fetch-url/node.js +0 -89
  253. package/vendor/common-nodes/dist/crawl/html/extract-links.d.ts +0 -3
  254. package/vendor/common-nodes/dist/crawl/html/extract-links.js +0 -36
  255. package/vendor/common-nodes/dist/crawl/html/html-to-text.d.ts +0 -3
  256. package/vendor/common-nodes/dist/crawl/html/html-to-text.js +0 -36
  257. package/vendor/common-nodes/dist/crawl/html/index.d.ts +0 -3
  258. package/vendor/common-nodes/dist/crawl/html/index.js +0 -3
  259. package/vendor/common-nodes/dist/crawl/save-page/node.d.ts +0 -21
  260. package/vendor/common-nodes/dist/crawl/save-page/node.js +0 -71
  261. package/vendor/common-nodes/dist/crawl/tool-defs.d.ts +0 -81
  262. package/vendor/common-nodes/dist/crawl/tool-defs.js +0 -56
  263. package/vendor/common-nodes/dist/embeddings/create-embedding.d.ts +0 -39
  264. package/vendor/common-nodes/dist/embeddings/create-embedding.js +0 -154
  265. package/vendor/common-nodes/dist/embeddings/embed-provider/node.d.ts +0 -53
  266. package/vendor/common-nodes/dist/embeddings/embed-provider/node.js +0 -126
  267. package/vendor/common-nodes/dist/embeddings/embed-similarity/node.d.ts +0 -20
  268. package/vendor/common-nodes/dist/embeddings/embed-similarity/node.js +0 -81
  269. package/vendor/common-nodes/dist/embeddings/embed-text/node.d.ts +0 -53
  270. package/vendor/common-nodes/dist/embeddings/embed-text/node.js +0 -91
  271. package/vendor/common-nodes/dist/embeddings/from-embedding.d.ts +0 -8
  272. package/vendor/common-nodes/dist/embeddings/from-embedding.js +0 -24
  273. package/vendor/common-nodes/dist/embeddings/resolve-embedding-provider-model.d.ts +0 -11
  274. package/vendor/common-nodes/dist/embeddings/resolve-embedding-provider-model.js +0 -8
  275. package/vendor/common-nodes/dist/flow/checkpoint/node.d.ts +0 -23
  276. package/vendor/common-nodes/dist/flow/checkpoint/node.js +0 -44
  277. package/vendor/common-nodes/dist/flow/delay/node.d.ts +0 -22
  278. package/vendor/common-nodes/dist/flow/delay/node.js +0 -46
  279. package/vendor/common-nodes/dist/flow/loop/node.d.ts +0 -22
  280. package/vendor/common-nodes/dist/flow/loop/node.js +0 -51
  281. package/vendor/common-nodes/dist/flow/map-collect-body.d.ts +0 -21
  282. package/vendor/common-nodes/dist/flow/map-collect-body.js +0 -73
  283. package/vendor/common-nodes/dist/flow/merge/node.d.ts +0 -17
  284. package/vendor/common-nodes/dist/flow/merge/node.js +0 -31
  285. package/vendor/common-nodes/dist/flow/repeat/node.d.ts +0 -20
  286. package/vendor/common-nodes/dist/flow/repeat/node.js +0 -65
  287. package/vendor/common-nodes/dist/flow/router/build-router-definition.d.ts +0 -20
  288. package/vendor/common-nodes/dist/flow/router/build-router-definition.js +0 -23
  289. package/vendor/common-nodes/dist/flow/router/node.d.ts +0 -17
  290. package/vendor/common-nodes/dist/flow/router/node.js +0 -20
  291. package/vendor/common-nodes/dist/flow/router/router-constants.d.ts +0 -2
  292. package/vendor/common-nodes/dist/flow/router/router-constants.js +0 -2
  293. package/vendor/common-nodes/dist/hitl/approval-choice/node.d.ts +0 -23
  294. package/vendor/common-nodes/dist/hitl/approval-choice/node.js +0 -71
  295. package/vendor/common-nodes/dist/hitl/ask-user/node.d.ts +0 -23
  296. package/vendor/common-nodes/dist/hitl/ask-user/node.js +0 -40
  297. package/vendor/common-nodes/dist/hitl/chat-input/node.d.ts +0 -20
  298. package/vendor/common-nodes/dist/hitl/chat-input/node.js +0 -43
  299. package/vendor/common-nodes/dist/hitl/hitl-required-role.d.ts +0 -38
  300. package/vendor/common-nodes/dist/hitl/hitl-required-role.js +0 -21
  301. package/vendor/common-nodes/dist/hitl/review-gate/node.d.ts +0 -17
  302. package/vendor/common-nodes/dist/hitl/review-gate/node.js +0 -70
  303. package/vendor/common-nodes/dist/kb/chunk-text.d.ts +0 -8
  304. package/vendor/common-nodes/dist/kb/chunk-text.js +0 -52
  305. package/vendor/common-nodes/dist/kb/cosine.d.ts +0 -3
  306. package/vendor/common-nodes/dist/kb/cosine.js +0 -21
  307. package/vendor/common-nodes/dist/kb/kb-apply-curation/node.d.ts +0 -25
  308. package/vendor/common-nodes/dist/kb/kb-apply-curation/node.js +0 -38
  309. package/vendor/common-nodes/dist/kb/kb-contradict/node.d.ts +0 -25
  310. package/vendor/common-nodes/dist/kb/kb-contradict/node.js +0 -70
  311. package/vendor/common-nodes/dist/kb/kb-dedupe/node.d.ts +0 -25
  312. package/vendor/common-nodes/dist/kb/kb-dedupe/node.js +0 -61
  313. package/vendor/common-nodes/dist/kb/kb-delete/node.d.ts +0 -24
  314. package/vendor/common-nodes/dist/kb/kb-delete/node.js +0 -60
  315. package/vendor/common-nodes/dist/kb/kb-embed/node.d.ts +0 -26
  316. package/vendor/common-nodes/dist/kb/kb-embed/node.js +0 -52
  317. package/vendor/common-nodes/dist/kb/kb-ingest/node.d.ts +0 -25
  318. package/vendor/common-nodes/dist/kb/kb-ingest/node.js +0 -68
  319. package/vendor/common-nodes/dist/kb/kb-list/node.d.ts +0 -24
  320. package/vendor/common-nodes/dist/kb/kb-list/node.js +0 -42
  321. package/vendor/common-nodes/dist/kb/kb-paths.d.ts +0 -8
  322. package/vendor/common-nodes/dist/kb/kb-paths.js +0 -19
  323. package/vendor/common-nodes/dist/kb/kb-search/node.d.ts +0 -24
  324. package/vendor/common-nodes/dist/kb/kb-search/node.js +0 -60
  325. package/vendor/common-nodes/dist/kb/kb-store.d.ts +0 -57
  326. package/vendor/common-nodes/dist/kb/kb-store.js +0 -290
  327. package/vendor/common-nodes/dist/kb/kb-tools/node.d.ts +0 -25
  328. package/vendor/common-nodes/dist/kb/kb-tools/node.js +0 -14
  329. package/vendor/common-nodes/dist/kb/local-embed.d.ts +0 -9
  330. package/vendor/common-nodes/dist/kb/local-embed.js +0 -41
  331. package/vendor/common-nodes/dist/kb/parse-string-list.d.ts +0 -3
  332. package/vendor/common-nodes/dist/kb/parse-string-list.js +0 -25
  333. package/vendor/common-nodes/dist/kb/tool-defs.d.ts +0 -85
  334. package/vendor/common-nodes/dist/kb/tool-defs.js +0 -67
  335. package/vendor/common-nodes/dist/langflower-tools/emit-registration-tools.d.ts +0 -18
  336. package/vendor/common-nodes/dist/langflower-tools/emit-registration-tools.js +0 -29
  337. package/vendor/common-nodes/dist/langflower-tools/node.d.ts +0 -20
  338. package/vendor/common-nodes/dist/langflower-tools/node.js +0 -81
  339. package/vendor/common-nodes/dist/logic/assert/node.d.ts +0 -20
  340. package/vendor/common-nodes/dist/logic/assert/node.js +0 -56
  341. package/vendor/common-nodes/dist/logic/compare/evaluate-compare.d.ts +0 -28
  342. package/vendor/common-nodes/dist/logic/compare/evaluate-compare.js +0 -60
  343. package/vendor/common-nodes/dist/logic/compare/node.d.ts +0 -107
  344. package/vendor/common-nodes/dist/logic/compare/node.js +0 -46
  345. package/vendor/common-nodes/dist/logic/gate/node.d.ts +0 -17
  346. package/vendor/common-nodes/dist/logic/gate/node.js +0 -41
  347. package/vendor/common-nodes/dist/logic/if/node.d.ts +0 -17
  348. package/vendor/common-nodes/dist/logic/if/node.js +0 -46
  349. package/vendor/common-nodes/dist/logic/switch/build-switch-definition.d.ts +0 -18
  350. package/vendor/common-nodes/dist/logic/switch/build-switch-definition.js +0 -30
  351. package/vendor/common-nodes/dist/logic/switch/node.d.ts +0 -87
  352. package/vendor/common-nodes/dist/logic/switch/node.js +0 -75
  353. package/vendor/common-nodes/dist/logic/switch/switch-constants.d.ts +0 -15
  354. package/vendor/common-nodes/dist/logic/switch/switch-constants.js +0 -24
  355. package/vendor/common-nodes/dist/logic/switch/switch-rules.d.ts +0 -6
  356. package/vendor/common-nodes/dist/logic/switch/switch-rules.js +0 -43
  357. package/vendor/common-nodes/dist/mcp/build-mcp-handle.d.ts +0 -13
  358. package/vendor/common-nodes/dist/mcp/build-mcp-handle.js +0 -65
  359. package/vendor/common-nodes/dist/mcp/build-mcp-transport.d.ts +0 -14
  360. package/vendor/common-nodes/dist/mcp/build-mcp-transport.js +0 -56
  361. package/vendor/common-nodes/dist/mcp/collect-mcp-tool-registrations.d.ts +0 -7
  362. package/vendor/common-nodes/dist/mcp/collect-mcp-tool-registrations.js +0 -19
  363. package/vendor/common-nodes/dist/mcp/create-system-mcp-transports.d.ts +0 -48
  364. package/vendor/common-nodes/dist/mcp/create-system-mcp-transports.js +0 -124
  365. package/vendor/common-nodes/dist/mcp/flatten-mcp-handles.d.ts +0 -6
  366. package/vendor/common-nodes/dist/mcp/flatten-mcp-handles.js +0 -21
  367. package/vendor/common-nodes/dist/mcp/flatten-mcp-server-configs.d.ts +0 -7
  368. package/vendor/common-nodes/dist/mcp/flatten-mcp-server-configs.js +0 -21
  369. package/vendor/common-nodes/dist/mcp/flatten-mcp-transports.d.ts +0 -7
  370. package/vendor/common-nodes/dist/mcp/flatten-mcp-transports.js +0 -22
  371. package/vendor/common-nodes/dist/mcp/format-mcp-connect-error.d.ts +0 -10
  372. package/vendor/common-nodes/dist/mcp/format-mcp-connect-error.js +0 -18
  373. package/vendor/common-nodes/dist/mcp/mcp-http/node.d.ts +0 -22
  374. package/vendor/common-nodes/dist/mcp/mcp-http/node.js +0 -104
  375. package/vendor/common-nodes/dist/mcp/mcp-server/node.d.ts +0 -26
  376. package/vendor/common-nodes/dist/mcp/mcp-server/node.js +0 -68
  377. package/vendor/common-nodes/dist/mcp/mcp-server-config.d.ts +0 -2
  378. package/vendor/common-nodes/dist/mcp/mcp-server-config.js +0 -2
  379. package/vendor/common-nodes/dist/mcp/mcp-stdio/node.d.ts +0 -22
  380. package/vendor/common-nodes/dist/mcp/mcp-stdio/node.js +0 -93
  381. package/vendor/common-nodes/dist/mcp/resolve-agent-mcp-inventory.d.ts +0 -13
  382. package/vendor/common-nodes/dist/mcp/resolve-agent-mcp-inventory.js +0 -17
  383. package/vendor/common-nodes/dist/mcp/resolve-mcp-inventory.d.ts +0 -8
  384. package/vendor/common-nodes/dist/mcp/resolve-mcp-inventory.js +0 -43
  385. package/vendor/common-nodes/dist/memory/memory/node.d.ts +0 -79
  386. package/vendor/common-nodes/dist/memory/memory/node.js +0 -76
  387. package/vendor/common-nodes/dist/memory/memory-tools/node.d.ts +0 -20
  388. package/vendor/common-nodes/dist/memory/memory-tools/node.js +0 -17
  389. package/vendor/common-nodes/dist/memory/tool-defs.d.ts +0 -48
  390. package/vendor/common-nodes/dist/memory/tool-defs.js +0 -45
  391. package/vendor/common-nodes/dist/obsidian/build-moc/node.d.ts +0 -26
  392. package/vendor/common-nodes/dist/obsidian/build-moc/node.js +0 -52
  393. package/vendor/common-nodes/dist/obsidian/build-moc.d.ts +0 -13
  394. package/vendor/common-nodes/dist/obsidian/build-moc.js +0 -57
  395. package/vendor/common-nodes/dist/obsidian/frontmatter/node.d.ts +0 -27
  396. package/vendor/common-nodes/dist/obsidian/frontmatter/node.js +0 -66
  397. package/vendor/common-nodes/dist/obsidian/frontmatter.d.ts +0 -26
  398. package/vendor/common-nodes/dist/obsidian/frontmatter.js +0 -142
  399. package/vendor/common-nodes/dist/obsidian/wikilink-rewrite/node.d.ts +0 -26
  400. package/vendor/common-nodes/dist/obsidian/wikilink-rewrite/node.js +0 -51
  401. package/vendor/common-nodes/dist/obsidian/wikilinks.d.ts +0 -22
  402. package/vendor/common-nodes/dist/obsidian/wikilinks.js +0 -84
  403. package/vendor/common-nodes/dist/output/finish/node.d.ts +0 -17
  404. package/vendor/common-nodes/dist/output/finish/node.js +0 -34
  405. package/vendor/common-nodes/dist/output/preview/node.d.ts +0 -17
  406. package/vendor/common-nodes/dist/output/preview/node.js +0 -48
  407. package/vendor/common-nodes/dist/primitives/boolean/node.d.ts +0 -17
  408. package/vendor/common-nodes/dist/primitives/boolean/node.js +0 -31
  409. package/vendor/common-nodes/dist/primitives/number/node.d.ts +0 -17
  410. package/vendor/common-nodes/dist/primitives/number/node.js +0 -31
  411. package/vendor/common-nodes/dist/primitives/string/node.d.ts +0 -17
  412. package/vendor/common-nodes/dist/primitives/string/node.js +0 -31
  413. package/vendor/common-nodes/dist/primitives/string-multiline/node.d.ts +0 -17
  414. package/vendor/common-nodes/dist/primitives/string-multiline/node.js +0 -31
  415. package/vendor/common-nodes/dist/resolve-workflow-node-definition.d.ts +0 -7
  416. package/vendor/common-nodes/dist/resolve-workflow-node-definition.js +0 -3
  417. package/vendor/common-nodes/dist/text/append-file/node.d.ts +0 -20
  418. package/vendor/common-nodes/dist/text/append-file/node.js +0 -68
  419. package/vendor/common-nodes/dist/text/concat/node.d.ts +0 -17
  420. package/vendor/common-nodes/dist/text/concat/node.js +0 -38
  421. package/vendor/common-nodes/dist/text/read-file/node.d.ts +0 -20
  422. package/vendor/common-nodes/dist/text/read-file/node.js +0 -57
  423. package/vendor/common-nodes/dist/text/split-paced/node.d.ts +0 -21
  424. package/vendor/common-nodes/dist/text/split-paced/node.js +0 -93
  425. package/vendor/common-nodes/dist/text/write-file/node.d.ts +0 -19
  426. package/vendor/common-nodes/dist/text/write-file/node.js +0 -60
  427. package/vendor/common-nodes/dist/tools/collect-agent-tool-handles.d.ts +0 -12
  428. package/vendor/common-nodes/dist/tools/collect-agent-tool-handles.js +0 -42
  429. package/vendor/common-nodes/dist/tools/filter-enabled-registrations.d.ts +0 -8
  430. package/vendor/common-nodes/dist/tools/filter-enabled-registrations.js +0 -17
  431. package/vendor/common-nodes/dist/tools/inventory-tool-round.d.ts +0 -20
  432. package/vendor/common-nodes/dist/tools/inventory-tool-round.js +0 -91
  433. package/vendor/common-nodes/dist/tools/merge-tool-inventory.d.ts +0 -10
  434. package/vendor/common-nodes/dist/tools/merge-tool-inventory.js +0 -26
  435. package/vendor/common-nodes/dist/tools/run-internal-tool-loop.d.ts +0 -55
  436. package/vendor/common-nodes/dist/tools/run-internal-tool-loop.js +0 -360
  437. package/vendor/common-nodes/dist/tools/tool-collection/node.d.ts +0 -20
  438. package/vendor/common-nodes/dist/tools/tool-collection/node.js +0 -45
  439. package/vendor/common-nodes/dist/tools/tool-registration.d.ts +0 -6
  440. package/vendor/common-nodes/dist/tools/tool-registration.js +0 -33
  441. package/vendor/common-nodes/package.json +0 -48
  442. package/vendor/compiler/dist/bundle-pack.d.ts +0 -18
  443. package/vendor/compiler/dist/bundle-pack.js +0 -98
  444. package/vendor/compiler/dist/cache-key.d.ts +0 -5
  445. package/vendor/compiler/dist/cache-key.js +0 -35
  446. package/vendor/compiler/dist/compile-project-nodes.d.ts +0 -14
  447. package/vendor/compiler/dist/compile-project-nodes.js +0 -143
  448. package/vendor/compiler/dist/compile-types.d.ts +0 -22
  449. package/vendor/compiler/dist/compile-types.js +0 -1
  450. package/vendor/compiler/dist/discover-packs.d.ts +0 -6
  451. package/vendor/compiler/dist/discover-packs.js +0 -93
  452. package/vendor/compiler/dist/format-compilation-errors.d.ts +0 -17
  453. package/vendor/compiler/dist/format-compilation-errors.js +0 -62
  454. package/vendor/compiler/dist/resolve-host-types.d.ts +0 -27
  455. package/vendor/compiler/dist/resolve-host-types.js +0 -185
  456. package/vendor/compiler/dist/typecheck-pack.d.ts +0 -20
  457. package/vendor/compiler/dist/typecheck-pack.js +0 -102
  458. package/vendor/compiler/dist/validate-default-export.d.ts +0 -9
  459. package/vendor/compiler/dist/validate-default-export.js +0 -40
  460. package/vendor/compiler/dist/write-compilation-errors.d.ts +0 -4
  461. package/vendor/compiler/dist/write-compilation-errors.js +0 -27
  462. package/vendor/compiler/package.json +0 -26
  463. package/vendor/eval/dist/eval-pack-types.d.ts +0 -14
  464. package/vendor/eval/dist/eval-pack-types.js +0 -1
  465. package/vendor/eval/dist/load-pack.d.ts +0 -5
  466. package/vendor/eval/dist/load-pack.js +0 -97
  467. package/vendor/eval/dist/load-skill-via-read.d.ts +0 -6
  468. package/vendor/eval/dist/load-skill-via-read.js +0 -14
  469. package/vendor/eval/dist/run-eval-suite.d.ts +0 -46
  470. package/vendor/eval/dist/run-eval-suite.js +0 -90
  471. package/vendor/eval/dist/score-case.d.ts +0 -2
  472. package/vendor/eval/dist/score-case.js +0 -10
  473. package/vendor/eval/package.json +0 -21
  474. package/vendor/server/dist/bootstrap/copy-force.d.ts +0 -7
  475. package/vendor/server/dist/bootstrap/copy-force.js +0 -18
  476. package/vendor/server/dist/bootstrap/copy-if-missing.d.ts +0 -7
  477. package/vendor/server/dist/bootstrap/copy-if-missing.js +0 -32
  478. package/vendor/server/dist/bootstrap/project-bootstrap.service.d.ts +0 -17
  479. package/vendor/server/dist/bootstrap/project-bootstrap.service.js +0 -82
  480. package/vendor/server/dist/bootstrap/project-bootstrap.service.test.d.ts +0 -2
  481. package/vendor/server/dist/bootstrap/project-bootstrap.service.test.js +0 -20
  482. package/vendor/server/dist/bootstrap/resolve-skeleton-root.d.ts +0 -8
  483. package/vendor/server/dist/bootstrap/resolve-skeleton-root.js +0 -34
  484. package/vendor/server/dist/bootstrap/seed-skeleton.d.ts +0 -15
  485. package/vendor/server/dist/bootstrap/seed-skeleton.js +0 -70
  486. package/vendor/server/dist/bridge/attach-langflower-bridge.d.ts +0 -19
  487. package/vendor/server/dist/bridge/attach-langflower-bridge.js +0 -79
  488. package/vendor/server/dist/bridge/bind-embed-context.d.ts +0 -7
  489. package/vendor/server/dist/bridge/bind-embed-context.js +0 -16
  490. package/vendor/server/dist/bridge/bind-llm-context.d.ts +0 -13
  491. package/vendor/server/dist/bridge/bind-llm-context.js +0 -30
  492. package/vendor/server/dist/bridge/bridge-event-log.d.ts +0 -12
  493. package/vendor/server/dist/bridge/bridge-event-log.js +0 -114
  494. package/vendor/server/dist/bridge/bridge-outbound.d.ts +0 -4
  495. package/vendor/server/dist/bridge/bridge-outbound.js +0 -14
  496. package/vendor/server/dist/bridge/build-execution-context.d.ts +0 -31
  497. package/vendor/server/dist/bridge/build-execution-context.js +0 -223
  498. package/vendor/server/dist/bridge/build-execution-context.test.d.ts +0 -2
  499. package/vendor/server/dist/bridge/build-execution-context.test.js +0 -126
  500. package/vendor/server/dist/bridge/build-langflower-config-snapshot.d.ts +0 -6
  501. package/vendor/server/dist/bridge/build-langflower-config-snapshot.js +0 -17
  502. package/vendor/server/dist/bridge/client-index.d.ts +0 -5
  503. package/vendor/server/dist/bridge/client-index.js +0 -16
  504. package/vendor/server/dist/bridge/emit-bootstrap.d.ts +0 -16
  505. package/vendor/server/dist/bridge/emit-bootstrap.js +0 -82
  506. package/vendor/server/dist/bridge/forward-runner-event.d.ts +0 -4
  507. package/vendor/server/dist/bridge/forward-runner-event.js +0 -12
  508. package/vendor/server/dist/bridge/forward-runner-event.test.d.ts +0 -2
  509. package/vendor/server/dist/bridge/forward-runner-event.test.js +0 -91
  510. package/vendor/server/dist/bridge/get-live-wired-tools.d.ts +0 -13
  511. package/vendor/server/dist/bridge/get-live-wired-tools.js +0 -83
  512. package/vendor/server/dist/bridge/inbound-guards.d.ts +0 -2
  513. package/vendor/server/dist/bridge/inbound-guards.js +0 -4
  514. package/vendor/server/dist/bridge/langflower-bridge.types.d.ts +0 -4
  515. package/vendor/server/dist/bridge/langflower-bridge.types.js +0 -1
  516. package/vendor/server/dist/bridge/langflower-tools-rpc.d.ts +0 -7
  517. package/vendor/server/dist/bridge/langflower-tools-rpc.js +0 -29
  518. package/vendor/server/dist/bridge/push-models-catalog.d.ts +0 -12
  519. package/vendor/server/dist/bridge/push-models-catalog.js +0 -31
  520. package/vendor/server/dist/bridge/same-canvas-viewport.d.ts +0 -3
  521. package/vendor/server/dist/bridge/same-canvas-viewport.js +0 -5
  522. package/vendor/server/dist/bridge/settings-draft-controller.d.ts +0 -14
  523. package/vendor/server/dist/bridge/settings-draft-controller.js +0 -205
  524. package/vendor/server/dist/bridge/wire-config-handlers.d.ts +0 -11
  525. package/vendor/server/dist/bridge/wire-config-handlers.js +0 -51
  526. package/vendor/server/dist/bridge/wire-custom-palette-handlers.d.ts +0 -5
  527. package/vendor/server/dist/bridge/wire-custom-palette-handlers.js +0 -8
  528. package/vendor/server/dist/bridge/wire-editor-handlers.d.ts +0 -12
  529. package/vendor/server/dist/bridge/wire-editor-handlers.js +0 -254
  530. package/vendor/server/dist/bridge/wire-models-handlers.d.ts +0 -5
  531. package/vendor/server/dist/bridge/wire-models-handlers.js +0 -23
  532. package/vendor/server/dist/bridge/wire-palette-handlers.d.ts +0 -4
  533. package/vendor/server/dist/bridge/wire-palette-handlers.js +0 -9
  534. package/vendor/server/dist/bridge/wire-project-bootstrap-handlers.d.ts +0 -9
  535. package/vendor/server/dist/bridge/wire-project-bootstrap-handlers.js +0 -63
  536. package/vendor/server/dist/bridge/wire-runner-handlers.d.ts +0 -10
  537. package/vendor/server/dist/bridge/wire-runner-handlers.js +0 -302
  538. package/vendor/server/dist/bridge/wire-workflow-handlers.d.ts +0 -5
  539. package/vendor/server/dist/bridge/wire-workflow-handlers.js +0 -245
  540. package/vendor/server/dist/bridge/wrap-builtin-tool-handles.d.ts +0 -10
  541. package/vendor/server/dist/bridge/wrap-builtin-tool-handles.js +0 -42
  542. package/vendor/server/dist/checkpoint/list-resumable-checkpoints.d.ts +0 -4
  543. package/vendor/server/dist/checkpoint/list-resumable-checkpoints.js +0 -11
  544. package/vendor/server/dist/checkpoint/resolve-checkpoint-boundary.d.ts +0 -11
  545. package/vendor/server/dist/checkpoint/resolve-checkpoint-boundary.js +0 -31
  546. package/vendor/server/dist/checkpoint/run-checkpoint-session.d.ts +0 -41
  547. package/vendor/server/dist/checkpoint/run-checkpoint-session.js +0 -170
  548. package/vendor/server/dist/checkpoint/workflow-checkpoint-store.d.ts +0 -23
  549. package/vendor/server/dist/checkpoint/workflow-checkpoint-store.js +0 -177
  550. package/vendor/server/dist/checkpoint/workflow-checkpoint-store.test.d.ts +0 -2
  551. package/vendor/server/dist/checkpoint/workflow-checkpoint-store.test.js +0 -60
  552. package/vendor/server/dist/config/config.service.d.ts +0 -9
  553. package/vendor/server/dist/config/config.service.js +0 -31
  554. package/vendor/server/dist/config/langflower-config.service.d.ts +0 -37
  555. package/vendor/server/dist/config/langflower-config.service.js +0 -390
  556. package/vendor/server/dist/config/langflower-config.service.test.d.ts +0 -2
  557. package/vendor/server/dist/config/langflower-config.service.test.js +0 -111
  558. package/vendor/server/dist/config/redact-langflower-config.d.ts +0 -8
  559. package/vendor/server/dist/config/redact-langflower-config.js +0 -42
  560. package/vendor/server/dist/config/redact-langflower-config.test.d.ts +0 -2
  561. package/vendor/server/dist/config/redact-langflower-config.test.js +0 -69
  562. package/vendor/server/dist/config/resolve-draft-provider-credentials.d.ts +0 -18
  563. package/vendor/server/dist/config/resolve-draft-provider-credentials.js +0 -60
  564. package/vendor/server/dist/config/resolve-global-langflower-config-path.d.ts +0 -5
  565. package/vendor/server/dist/config/resolve-global-langflower-config-path.js +0 -18
  566. package/vendor/server/dist/config/resolve-provider-credentials.d.ts +0 -20
  567. package/vendor/server/dist/config/resolve-provider-credentials.js +0 -59
  568. package/vendor/server/dist/config/resolve-provider-credentials.test.d.ts +0 -2
  569. package/vendor/server/dist/config/resolve-provider-credentials.test.js +0 -63
  570. package/vendor/server/dist/crawl/create-crawl-context.d.ts +0 -6
  571. package/vendor/server/dist/crawl/create-crawl-context.js +0 -33
  572. package/vendor/server/dist/crawl/create-crawl-context.test.d.ts +0 -2
  573. package/vendor/server/dist/crawl/create-crawl-context.test.js +0 -30
  574. package/vendor/server/dist/crawl/create-web-fetch.d.ts +0 -12
  575. package/vendor/server/dist/crawl/create-web-fetch.js +0 -128
  576. package/vendor/server/dist/crawl/create-web-fetch.test.d.ts +0 -2
  577. package/vendor/server/dist/crawl/create-web-fetch.test.js +0 -43
  578. package/vendor/server/dist/crawl/ssrf-guard.d.ts +0 -13
  579. package/vendor/server/dist/crawl/ssrf-guard.js +0 -117
  580. package/vendor/server/dist/crawl/ssrf-guard.test.d.ts +0 -2
  581. package/vendor/server/dist/crawl/ssrf-guard.test.js +0 -46
  582. package/vendor/server/dist/create-server.d.ts +0 -10
  583. package/vendor/server/dist/create-server.js +0 -60
  584. package/vendor/server/dist/harness/pending-permission-asks.d.ts +0 -14
  585. package/vendor/server/dist/harness/pending-permission-asks.js +0 -45
  586. package/vendor/server/dist/harness/permission.d.ts +0 -23
  587. package/vendor/server/dist/harness/permission.js +0 -31
  588. package/vendor/server/dist/harness/permission.test.d.ts +0 -2
  589. package/vendor/server/dist/harness/permission.test.js +0 -50
  590. package/vendor/server/dist/index.d.ts +0 -4
  591. package/vendor/server/dist/index.js +0 -4
  592. package/vendor/server/dist/kb/chunk-text.d.ts +0 -8
  593. package/vendor/server/dist/kb/chunk-text.js +0 -52
  594. package/vendor/server/dist/kb/cosine.d.ts +0 -3
  595. package/vendor/server/dist/kb/cosine.js +0 -21
  596. package/vendor/server/dist/kb/create-kb-context.d.ts +0 -6
  597. package/vendor/server/dist/kb/create-kb-context.js +0 -46
  598. package/vendor/server/dist/kb/kb-paths.d.ts +0 -8
  599. package/vendor/server/dist/kb/kb-paths.js +0 -19
  600. package/vendor/server/dist/kb/kb-store.d.ts +0 -41
  601. package/vendor/server/dist/kb/kb-store.js +0 -250
  602. package/vendor/server/dist/kb/kb-store.test.d.ts +0 -2
  603. package/vendor/server/dist/kb/kb-store.test.js +0 -94
  604. package/vendor/server/dist/kb/local-embed.d.ts +0 -8
  605. package/vendor/server/dist/kb/local-embed.js +0 -41
  606. package/vendor/server/dist/listen-http-server.d.ts +0 -6
  607. package/vendor/server/dist/listen-http-server.js +0 -18
  608. package/vendor/server/dist/llm/create-chat-completion-stream.d.ts +0 -8
  609. package/vendor/server/dist/llm/create-chat-completion-stream.js +0 -125
  610. package/vendor/server/dist/llm/create-chat-completion-stream.test.d.ts +0 -2
  611. package/vendor/server/dist/llm/create-chat-completion-stream.test.js +0 -72
  612. package/vendor/server/dist/llm/create-embedding.d.ts +0 -9
  613. package/vendor/server/dist/llm/create-embedding.js +0 -51
  614. package/vendor/server/dist/llm/list-provider-models.d.ts +0 -29
  615. package/vendor/server/dist/llm/list-provider-models.js +0 -55
  616. package/vendor/server/dist/llm/list-provider-models.test.d.ts +0 -2
  617. package/vendor/server/dist/llm/list-provider-models.test.js +0 -97
  618. package/vendor/server/dist/mcp/create-mcp-runtime.d.ts +0 -21
  619. package/vendor/server/dist/mcp/create-mcp-runtime.js +0 -167
  620. package/vendor/server/dist/mcp/create-mcp-runtime.test.d.ts +0 -2
  621. package/vendor/server/dist/mcp/create-mcp-runtime.test.js +0 -69
  622. package/vendor/server/dist/mcp/mcp-stdio-client.d.ts +0 -32
  623. package/vendor/server/dist/mcp/mcp-stdio-client.js +0 -183
  624. package/vendor/server/dist/mcp/mcp-tool-id.d.ts +0 -5
  625. package/vendor/server/dist/mcp/mcp-tool-id.js +0 -5
  626. package/vendor/server/dist/mcp/openai-mcp-tool-loop.test.d.ts +0 -2
  627. package/vendor/server/dist/mcp/openai-mcp-tool-loop.test.js +0 -189
  628. package/vendor/server/dist/mcp/wrap-harness-with-mcp.d.ts +0 -5
  629. package/vendor/server/dist/mcp/wrap-harness-with-mcp.js +0 -14
  630. package/vendor/server/dist/palette/compile-and-hot-swap-custom-nodes.d.ts +0 -10
  631. package/vendor/server/dist/palette/compile-and-hot-swap-custom-nodes.js +0 -23
  632. package/vendor/server/dist/palette/custom-node-registry.d.ts +0 -10
  633. package/vendor/server/dist/palette/custom-node-registry.js +0 -19
  634. package/vendor/server/dist/palette/custom-palette.service.d.ts +0 -12
  635. package/vendor/server/dist/palette/custom-palette.service.js +0 -63
  636. package/vendor/server/dist/palette/palette.service.d.ts +0 -13
  637. package/vendor/server/dist/palette/palette.service.js +0 -28
  638. package/vendor/server/dist/server-context.d.ts +0 -18
  639. package/vendor/server/dist/server-context.js +0 -29
  640. package/vendor/server/dist/session/build-selected-node-payload.d.ts +0 -9
  641. package/vendor/server/dist/session/build-selected-node-payload.js +0 -20
  642. package/vendor/server/dist/session/build-session-bootstrap.d.ts +0 -7
  643. package/vendor/server/dist/session/build-session-bootstrap.js +0 -23
  644. package/vendor/server/dist/session/clear-feed-while-running.test.d.ts +0 -2
  645. package/vendor/server/dist/session/clear-feed-while-running.test.js +0 -41
  646. package/vendor/server/dist/session/langflower-session.d.ts +0 -38
  647. package/vendor/server/dist/session/langflower-session.js +0 -92
  648. package/vendor/server/dist/session/reset-session-execution-feed.d.ts +0 -6
  649. package/vendor/server/dist/session/reset-session-execution-feed.js +0 -8
  650. package/vendor/server/dist/session/settings-draft-session.d.ts +0 -24
  651. package/vendor/server/dist/session/settings-draft-session.js +0 -82
  652. package/vendor/server/dist/skills/is-safe-skill-id.d.ts +0 -2
  653. package/vendor/server/dist/skills/is-safe-skill-id.js +0 -7
  654. package/vendor/server/dist/skills/list-skills.d.ts +0 -2
  655. package/vendor/server/dist/skills/list-skills.js +0 -36
  656. package/vendor/server/dist/skills/list-skills.test.d.ts +0 -2
  657. package/vendor/server/dist/skills/list-skills.test.js +0 -46
  658. package/vendor/server/dist/skills/parse-skill-markdown.d.ts +0 -7
  659. package/vendor/server/dist/skills/parse-skill-markdown.js +0 -50
  660. package/vendor/server/dist/skills/parse-skill-markdown.test.d.ts +0 -2
  661. package/vendor/server/dist/skills/parse-skill-markdown.test.js +0 -33
  662. package/vendor/server/dist/skills/read-agents-markdown.d.ts +0 -2
  663. package/vendor/server/dist/skills/read-agents-markdown.js +0 -13
  664. package/vendor/server/dist/skills/read-skill-markdown.d.ts +0 -2
  665. package/vendor/server/dist/skills/read-skill-markdown.js +0 -17
  666. package/vendor/server/dist/skills/read-skill-markdown.test.d.ts +0 -2
  667. package/vendor/server/dist/skills/read-skill-markdown.test.js +0 -31
  668. package/vendor/server/dist/skills/with-skills-catalog.d.ts +0 -3
  669. package/vendor/server/dist/skills/with-skills-catalog.js +0 -6
  670. package/vendor/server/dist/skills/with-skills-catalog.test.d.ts +0 -2
  671. package/vendor/server/dist/skills/with-skills-catalog.test.js +0 -40
  672. package/vendor/server/dist/utils/parse-jsonc.d.ts +0 -2
  673. package/vendor/server/dist/utils/parse-jsonc.js +0 -7
  674. package/vendor/server/dist/workflow/activate-workflow-in-session.d.ts +0 -26
  675. package/vendor/server/dist/workflow/activate-workflow-in-session.js +0 -69
  676. package/vendor/server/dist/workflow/apply-editor-mutation.d.ts +0 -67
  677. package/vendor/server/dist/workflow/apply-editor-mutation.js +0 -527
  678. package/vendor/server/dist/workflow/apply-editor-mutation.test.d.ts +0 -2
  679. package/vendor/server/dist/workflow/apply-editor-mutation.test.js +0 -397
  680. package/vendor/server/dist/workflow/bind-workflow-graph.d.ts +0 -11
  681. package/vendor/server/dist/workflow/bind-workflow-graph.js +0 -16
  682. package/vendor/server/dist/workflow/build-save-current-payload.d.ts +0 -3
  683. package/vendor/server/dist/workflow/build-save-current-payload.js +0 -17
  684. package/vendor/server/dist/workflow/build-save-current-payload.test.d.ts +0 -2
  685. package/vendor/server/dist/workflow/build-save-current-payload.test.js +0 -44
  686. package/vendor/server/dist/workflow/copy-workflow-to-session.d.ts +0 -8
  687. package/vendor/server/dist/workflow/copy-workflow-to-session.js +0 -32
  688. package/vendor/server/dist/workflow/copy-workflow-to-session.test.d.ts +0 -2
  689. package/vendor/server/dist/workflow/copy-workflow-to-session.test.js +0 -72
  690. package/vendor/server/dist/workflow/create-empty-workflow-in-session.d.ts +0 -4
  691. package/vendor/server/dist/workflow/create-empty-workflow-in-session.js +0 -34
  692. package/vendor/server/dist/workflow/create-empty-workflow-in-session.test.d.ts +0 -2
  693. package/vendor/server/dist/workflow/create-empty-workflow-in-session.test.js +0 -54
  694. package/vendor/server/dist/workflow/load-workflow-into-session.d.ts +0 -15
  695. package/vendor/server/dist/workflow/load-workflow-into-session.js +0 -43
  696. package/vendor/server/dist/workflow/rename-active-workflow.d.ts +0 -14
  697. package/vendor/server/dist/workflow/rename-active-workflow.js +0 -60
  698. package/vendor/server/dist/workflow/rename-active-workflow.test.d.ts +0 -2
  699. package/vendor/server/dist/workflow/rename-active-workflow.test.js +0 -111
  700. package/vendor/server/dist/workflow/repair-workflow-graph.d.ts +0 -12
  701. package/vendor/server/dist/workflow/repair-workflow-graph.js +0 -62
  702. package/vendor/server/dist/workflow/repro-bypass.test.d.ts +0 -2
  703. package/vendor/server/dist/workflow/repro-bypass.test.js +0 -63
  704. package/vendor/server/dist/workflow/workflow-document.d.ts +0 -21
  705. package/vendor/server/dist/workflow/workflow-document.js +0 -58
  706. package/vendor/server/dist/workflow/workflow-id.d.ts +0 -2
  707. package/vendor/server/dist/workflow/workflow-id.js +0 -19
  708. package/vendor/server/dist/workflow/workflow-id.test.d.ts +0 -2
  709. package/vendor/server/dist/workflow/workflow-id.test.js +0 -23
  710. package/vendor/server/dist/workflow/workflow-persisted-inputs.d.ts +0 -13
  711. package/vendor/server/dist/workflow/workflow-persisted-inputs.js +0 -71
  712. package/vendor/server/dist/workflow/workflow.service.d.ts +0 -37
  713. package/vendor/server/dist/workflow/workflow.service.js +0 -161
  714. package/vendor/server/dist/workflow/workflow.service.test.d.ts +0 -2
  715. package/vendor/server/dist/workflow/workflow.service.test.js +0 -57
  716. package/vendor/server/package.json +0 -35
  717. package/vendor/shared/dist/checkpoint/json-value.d.ts +0 -7
  718. package/vendor/shared/dist/checkpoint/json-value.js +0 -52
  719. package/vendor/shared/dist/checkpoint/json-value.test.d.ts +0 -1
  720. package/vendor/shared/dist/checkpoint/json-value.test.js +0 -22
  721. package/vendor/shared/dist/checkpoint/workflow-fingerprint.d.ts +0 -11
  722. package/vendor/shared/dist/checkpoint/workflow-fingerprint.js +0 -17
  723. package/vendor/shared/dist/checkpoint/workflow-fingerprint.test.d.ts +0 -1
  724. package/vendor/shared/dist/checkpoint/workflow-fingerprint.test.js +0 -54
  725. package/vendor/shared/dist/constants/defaults.d.ts +0 -16
  726. package/vendor/shared/dist/constants/defaults.js +0 -25
  727. package/vendor/shared/dist/execution/derive-run-settle-outcome.d.ts +0 -16
  728. package/vendor/shared/dist/execution/derive-run-settle-outcome.js +0 -48
  729. package/vendor/shared/dist/execution/derive-run-settle-outcome.test.d.ts +0 -1
  730. package/vendor/shared/dist/execution/derive-run-settle-outcome.test.js +0 -46
  731. package/vendor/shared/dist/langflower-bus-config.d.ts +0 -484
  732. package/vendor/shared/dist/langflower-bus-config.js +0 -635
  733. package/vendor/shared/dist/langflower-config/mcp-tool-id.d.ts +0 -23
  734. package/vendor/shared/dist/langflower-config/mcp-tool-id.js +0 -43
  735. package/vendor/shared/dist/langflower-config/merge-langflower-config-layers.d.ts +0 -6
  736. package/vendor/shared/dist/langflower-config/merge-langflower-config-layers.js +0 -18
  737. package/vendor/shared/dist/langflower-config/merge-langflower-config-layers.test.d.ts +0 -1
  738. package/vendor/shared/dist/langflower-config/merge-langflower-config-layers.test.js +0 -44
  739. package/vendor/shared/dist/langflower-config/merge-provider-model-options.d.ts +0 -7
  740. package/vendor/shared/dist/langflower-config/merge-provider-model-options.js +0 -17
  741. package/vendor/shared/dist/langflower-config/merge-provider-model-options.test.d.ts +0 -1
  742. package/vendor/shared/dist/langflower-config/merge-provider-model-options.test.js +0 -22
  743. package/vendor/shared/dist/langflower-config/parse-default-chat-model.d.ts +0 -14
  744. package/vendor/shared/dist/langflower-config/parse-default-chat-model.js +0 -38
  745. package/vendor/shared/dist/langflower-config/parse-default-chat-model.test.d.ts +0 -1
  746. package/vendor/shared/dist/langflower-config/parse-default-chat-model.test.js +0 -41
  747. package/vendor/shared/dist/langflower-config/resolve-server-logs-enabled.d.ts +0 -6
  748. package/vendor/shared/dist/langflower-config/resolve-server-logs-enabled.js +0 -5
  749. package/vendor/shared/dist/langflower-config/resolve-server-logs-enabled.test.d.ts +0 -1
  750. package/vendor/shared/dist/langflower-config/resolve-server-logs-enabled.test.js +0 -11
  751. package/vendor/shared/dist/langflower-config/resolve-ui-schema-options.d.ts +0 -18
  752. package/vendor/shared/dist/langflower-config/resolve-ui-schema-options.js +0 -61
  753. package/vendor/shared/dist/langflower-config/resolve-ui-schema-options.test.d.ts +0 -1
  754. package/vendor/shared/dist/langflower-config/resolve-ui-schema-options.test.js +0 -37
  755. package/vendor/shared/dist/langflower-config/resolve-wired-tool-options.d.ts +0 -40
  756. package/vendor/shared/dist/langflower-config/resolve-wired-tool-options.js +0 -139
  757. package/vendor/shared/dist/langflower-config/resolve-wired-tool-options.test.d.ts +0 -1
  758. package/vendor/shared/dist/langflower-config/resolve-wired-tool-options.test.js +0 -253
  759. package/vendor/shared/dist/langflower-config/settings-draft.d.ts +0 -49
  760. package/vendor/shared/dist/langflower-config/settings-draft.js +0 -151
  761. package/vendor/shared/dist/langflower-ws-waits.d.ts +0 -58
  762. package/vendor/shared/dist/langflower-ws-waits.js +0 -121
  763. package/vendor/shared/dist/langflower.d.ts +0 -30
  764. package/vendor/shared/dist/langflower.js +0 -13
  765. package/vendor/shared/dist/types/config.d.ts +0 -4
  766. package/vendor/shared/dist/types/config.js +0 -1
  767. package/vendor/shared/dist/types/langflower-bootstrap.d.ts +0 -71
  768. package/vendor/shared/dist/types/langflower-bootstrap.js +0 -1
  769. package/vendor/shared/dist/types/langflower-config.d.ts +0 -263
  770. package/vendor/shared/dist/types/langflower-config.js +0 -1
  771. package/vendor/shared/dist/types/langflower-custom-palette.d.ts +0 -21
  772. package/vendor/shared/dist/types/langflower-custom-palette.js +0 -1
  773. package/vendor/shared/dist/types/langflower-editor.d.ts +0 -96
  774. package/vendor/shared/dist/types/langflower-editor.js +0 -1
  775. package/vendor/shared/dist/types/langflower-palette.d.ts +0 -25
  776. package/vendor/shared/dist/types/langflower-palette.js +0 -1
  777. package/vendor/shared/dist/types/langflower-project-bootstrap.d.ts +0 -11
  778. package/vendor/shared/dist/types/langflower-project-bootstrap.js +0 -1
  779. package/vendor/shared/dist/types/langflower-server.d.ts +0 -4
  780. package/vendor/shared/dist/types/langflower-server.js +0 -1
  781. package/vendor/shared/dist/types/langflower-workflow.d.ts +0 -146
  782. package/vendor/shared/dist/types/langflower-workflow.js +0 -12
  783. package/vendor/shared/dist/types/workflow-checkpoint.d.ts +0 -60
  784. package/vendor/shared/dist/types/workflow-checkpoint.js +0 -9
  785. package/vendor/shared/package.json +0 -74
  786. package/vendor/tools/dist/builtin-schemas.d.ts +0 -10
  787. package/vendor/tools/dist/builtin-schemas.js +0 -144
  788. package/vendor/tools/dist/builtins/apply-post-process.d.ts +0 -1
  789. package/vendor/tools/dist/builtins/apply-post-process.js +0 -9
  790. package/vendor/tools/dist/builtins/args.d.ts +0 -3
  791. package/vendor/tools/dist/builtins/args.js +0 -14
  792. package/vendor/tools/dist/builtins/bash/tool.d.ts +0 -25
  793. package/vendor/tools/dist/builtins/bash/tool.js +0 -72
  794. package/vendor/tools/dist/builtins/catalog.d.ts +0 -228
  795. package/vendor/tools/dist/builtins/catalog.js +0 -24
  796. package/vendor/tools/dist/builtins/command-exists.d.ts +0 -5
  797. package/vendor/tools/dist/builtins/command-exists.js +0 -27
  798. package/vendor/tools/dist/builtins/create/tool.d.ts +0 -25
  799. package/vendor/tools/dist/builtins/create/tool.js +0 -56
  800. package/vendor/tools/dist/builtins/delete/tool.d.ts +0 -21
  801. package/vendor/tools/dist/builtins/delete/tool.js +0 -44
  802. package/vendor/tools/dist/builtins/edit/tool.d.ts +0 -29
  803. package/vendor/tools/dist/builtins/edit/tool.js +0 -68
  804. package/vendor/tools/dist/builtins/fence.d.ts +0 -4
  805. package/vendor/tools/dist/builtins/fence.js +0 -6
  806. package/vendor/tools/dist/builtins/glob/tool.d.ts +0 -33
  807. package/vendor/tools/dist/builtins/glob/tool.js +0 -77
  808. package/vendor/tools/dist/builtins/grep/search.d.ts +0 -43
  809. package/vendor/tools/dist/builtins/grep/search.js +0 -315
  810. package/vendor/tools/dist/builtins/grep/tool.d.ts +0 -36
  811. package/vendor/tools/dist/builtins/grep/tool.js +0 -66
  812. package/vendor/tools/dist/builtins/read/tool.d.ts +0 -41
  813. package/vendor/tools/dist/builtins/read/tool.js +0 -96
  814. package/vendor/tools/dist/builtins/spawn-capture.d.ts +0 -15
  815. package/vendor/tools/dist/builtins/spawn-capture.js +0 -42
  816. package/vendor/tools/dist/builtins/types.d.ts +0 -16
  817. package/vendor/tools/dist/builtins/types.js +0 -1
  818. package/vendor/tools/dist/builtins/walk-files.d.ts +0 -16
  819. package/vendor/tools/dist/builtins/walk-files.js +0 -100
  820. package/vendor/tools/dist/builtins/write/tool.d.ts +0 -25
  821. package/vendor/tools/dist/builtins/write/tool.js +0 -40
  822. package/vendor/tools/dist/create-crawl-context.d.ts +0 -22
  823. package/vendor/tools/dist/create-crawl-context.js +0 -34
  824. package/vendor/tools/dist/create-memory-context.d.ts +0 -12
  825. package/vendor/tools/dist/create-memory-context.js +0 -84
  826. package/vendor/tools/dist/create-project-files-context.d.ts +0 -19
  827. package/vendor/tools/dist/create-project-files-context.js +0 -75
  828. package/vendor/tools/dist/create-project-harness.d.ts +0 -33
  829. package/vendor/tools/dist/create-project-harness.js +0 -64
  830. package/vendor/tools/dist/create-web-fetch.d.ts +0 -27
  831. package/vendor/tools/dist/create-web-fetch.js +0 -164
  832. package/vendor/tools/dist/domain/args.d.ts +0 -3
  833. package/vendor/tools/dist/domain/args.js +0 -22
  834. package/vendor/tools/dist/domain/create-domain-handlers.d.ts +0 -22
  835. package/vendor/tools/dist/domain/create-domain-handlers.js +0 -223
  836. package/vendor/tools/dist/domain/domain-tool-configs.d.ts +0 -30
  837. package/vendor/tools/dist/domain/domain-tool-configs.js +0 -299
  838. package/vendor/tools/dist/domain/html.d.ts +0 -4
  839. package/vendor/tools/dist/domain/html.js +0 -68
  840. package/vendor/tools/dist/domain/run-bfs-crawl.d.ts +0 -57
  841. package/vendor/tools/dist/domain/run-bfs-crawl.js +0 -112
  842. package/vendor/tools/dist/gate-tool-call.d.ts +0 -17
  843. package/vendor/tools/dist/gate-tool-call.js +0 -35
  844. package/vendor/tools/dist/gitignore.d.ts +0 -4
  845. package/vendor/tools/dist/gitignore.js +0 -94
  846. package/vendor/tools/dist/handlers.d.ts +0 -16
  847. package/vendor/tools/dist/handlers.js +0 -367
  848. package/vendor/tools/dist/harness-types.d.ts +0 -33
  849. package/vendor/tools/dist/harness-types.js +0 -4
  850. package/vendor/tools/dist/kb/chunk-text.d.ts +0 -8
  851. package/vendor/tools/dist/kb/chunk-text.js +0 -52
  852. package/vendor/tools/dist/kb/cosine.d.ts +0 -3
  853. package/vendor/tools/dist/kb/cosine.js +0 -21
  854. package/vendor/tools/dist/kb/create-kb-context.d.ts +0 -62
  855. package/vendor/tools/dist/kb/create-kb-context.js +0 -78
  856. package/vendor/tools/dist/kb/kb-curation.d.ts +0 -69
  857. package/vendor/tools/dist/kb/kb-curation.js +0 -364
  858. package/vendor/tools/dist/kb/kb-paths.d.ts +0 -8
  859. package/vendor/tools/dist/kb/kb-paths.js +0 -19
  860. package/vendor/tools/dist/kb/kb-store.d.ts +0 -41
  861. package/vendor/tools/dist/kb/kb-store.js +0 -246
  862. package/vendor/tools/dist/kb/local-embed.d.ts +0 -8
  863. package/vendor/tools/dist/kb/local-embed.js +0 -41
  864. package/vendor/tools/dist/mcp/build-mcp-handle.d.ts +0 -12
  865. package/vendor/tools/dist/mcp/build-mcp-handle.js +0 -56
  866. package/vendor/tools/dist/mcp/create-mcp-runtime.d.ts +0 -29
  867. package/vendor/tools/dist/mcp/create-mcp-runtime.js +0 -161
  868. package/vendor/tools/dist/mcp/create-system-mcp-handles.d.ts +0 -52
  869. package/vendor/tools/dist/mcp/create-system-mcp-handles.js +0 -127
  870. package/vendor/tools/dist/mcp/env-with-shell-com-spec.d.ts +0 -5
  871. package/vendor/tools/dist/mcp/env-with-shell-com-spec.js +0 -18
  872. package/vendor/tools/dist/mcp/format-mcp-connect-error.d.ts +0 -9
  873. package/vendor/tools/dist/mcp/format-mcp-connect-error.js +0 -13
  874. package/vendor/tools/dist/mcp/mcp-client-types.d.ts +0 -17
  875. package/vendor/tools/dist/mcp/mcp-client-types.js +0 -1
  876. package/vendor/tools/dist/mcp/mcp-http-client.d.ts +0 -31
  877. package/vendor/tools/dist/mcp/mcp-http-client.js +0 -243
  878. package/vendor/tools/dist/mcp/mcp-stdio-client.d.ts +0 -19
  879. package/vendor/tools/dist/mcp/mcp-stdio-client.js +0 -186
  880. package/vendor/tools/dist/mcp/mcp-stdio-frame-parser.d.ts +0 -7
  881. package/vendor/tools/dist/mcp/mcp-stdio-frame-parser.js +0 -77
  882. package/vendor/tools/dist/mcp/mcp-tool-id.d.ts +0 -25
  883. package/vendor/tools/dist/mcp/mcp-tool-id.js +0 -45
  884. package/vendor/tools/dist/mcp/require-mcp-server-name.d.ts +0 -5
  885. package/vendor/tools/dist/mcp/require-mcp-server-name.js +0 -22
  886. package/vendor/tools/dist/mcp/resolve-shell-option.d.ts +0 -6
  887. package/vendor/tools/dist/mcp/resolve-shell-option.js +0 -19
  888. package/vendor/tools/dist/mcp/wrap-harness-with-mcp.d.ts +0 -5
  889. package/vendor/tools/dist/mcp/wrap-harness-with-mcp.js +0 -27
  890. package/vendor/tools/dist/memory/atomic-write.d.ts +0 -4
  891. package/vendor/tools/dist/memory/atomic-write.js +0 -18
  892. package/vendor/tools/dist/memory/create-memory-store.d.ts +0 -21
  893. package/vendor/tools/dist/memory/create-memory-store.js +0 -203
  894. package/vendor/tools/dist/memory/markdown-sections.d.ts +0 -22
  895. package/vendor/tools/dist/memory/markdown-sections.js +0 -69
  896. package/vendor/tools/dist/memory/memory-paths.d.ts +0 -9
  897. package/vendor/tools/dist/memory/memory-paths.js +0 -28
  898. package/vendor/tools/dist/path-sandbox.d.ts +0 -21
  899. package/vendor/tools/dist/path-sandbox.js +0 -96
  900. package/vendor/tools/dist/permission.d.ts +0 -75
  901. package/vendor/tools/dist/permission.js +0 -264
  902. package/vendor/tools/dist/post-process.d.ts +0 -9
  903. package/vendor/tools/dist/post-process.js +0 -36
  904. package/vendor/tools/dist/ssrf-guard.d.ts +0 -22
  905. package/vendor/tools/dist/ssrf-guard.js +0 -119
  906. package/vendor/tools/package.json +0 -74
  907. package/vendor/websocket-bridge/dist/bridge-codec.d.ts +0 -3
  908. package/vendor/websocket-bridge/dist/bridge-codec.js +0 -26
  909. package/vendor/websocket-bridge/dist/bridge-frame.d.ts +0 -11
  910. package/vendor/websocket-bridge/dist/bridge-frame.js +0 -24
  911. package/vendor/websocket-bridge/dist/bridge-guards.d.ts +0 -4
  912. package/vendor/websocket-bridge/dist/bridge-guards.js +0 -17
  913. package/vendor/websocket-bridge/dist/bridge-subjects.d.ts +0 -10
  914. package/vendor/websocket-bridge/dist/bridge-subjects.js +0 -38
  915. package/vendor/websocket-bridge/dist/bridge-types.d.ts +0 -102
  916. package/vendor/websocket-bridge/dist/bridge-types.js +0 -2
  917. package/vendor/websocket-bridge/dist/create-client.d.ts +0 -5
  918. package/vendor/websocket-bridge/dist/create-client.js +0 -152
  919. package/vendor/websocket-bridge/dist/create-server.d.ts +0 -8
  920. package/vendor/websocket-bridge/dist/create-server.js +0 -134
  921. package/vendor/websocket-bridge/dist/testing/expect-type.d.ts +0 -3
  922. package/vendor/websocket-bridge/dist/testing/expect-type.js +0 -3
  923. package/vendor/websocket-bridge/dist/testing/sample-diagram-ws-config.d.ts +0 -27
  924. package/vendor/websocket-bridge/dist/testing/sample-diagram-ws-config.js +0 -12
  925. package/vendor/websocket-bridge/dist/testing/sample-ping-ws-config.d.ts +0 -17
  926. package/vendor/websocket-bridge/dist/testing/sample-ping-ws-config.js +0 -10
  927. package/vendor/websocket-bridge/dist/testing/transport-test-helpers.d.ts +0 -6
  928. package/vendor/websocket-bridge/dist/testing/transport-test-helpers.js +0 -34
  929. package/vendor/websocket-bridge/package.json +0 -34
@@ -0,0 +1,1505 @@
1
+ import { createRequire as __lfCreateRequire } from 'node:module';
2
+ const require = __lfCreateRequire(import.meta.url);
3
+
4
+
5
+ // packages/tools/dist/builtins/args.js
6
+ var asString = (args, key) => {
7
+ const value = args[key];
8
+ return typeof value === "string" ? value : void 0;
9
+ };
10
+ var asNumber = (args, key) => {
11
+ const value = args[key];
12
+ return typeof value === "number" && Number.isFinite(value) ? value : void 0;
13
+ };
14
+ var asBoolean = (args, key, defaultValue) => {
15
+ const value = args[key];
16
+ return typeof value === "boolean" ? value : defaultValue;
17
+ };
18
+
19
+ // packages/tools/dist/builtins/ask_user/tool.js
20
+ var ASK_USER_ABORTED = "ask_user aborted.";
21
+ var invokeWithAbort = (work, signal) => {
22
+ if (signal === void 0) {
23
+ return work;
24
+ }
25
+ if (signal.aborted) {
26
+ return Promise.reject(new Error(ASK_USER_ABORTED));
27
+ }
28
+ return new Promise((resolve, reject) => {
29
+ const onAbort = () => {
30
+ signal.removeEventListener("abort", onAbort);
31
+ reject(new Error(ASK_USER_ABORTED));
32
+ };
33
+ signal.addEventListener("abort", onAbort, { once: true });
34
+ void work.then((text) => {
35
+ signal.removeEventListener("abort", onAbort);
36
+ resolve(text);
37
+ }, (error) => {
38
+ signal.removeEventListener("abort", onAbort);
39
+ reject(error instanceof Error ? error : new Error(String(error)));
40
+ });
41
+ });
42
+ };
43
+ var invoke = async (ctx, args) => {
44
+ const question = asString(args, "question");
45
+ if (question === void 0 || question.trim().length === 0) {
46
+ throw new Error("ask_user requires string argument \xABquestion\xBB.");
47
+ }
48
+ if (ctx.askUser === void 0) {
49
+ throw new Error("ask_user requires a live HITL host. No askUser hook is bound on this harness.");
50
+ }
51
+ return invokeWithAbort(ctx.askUser({ question: question.trim() }), ctx.signal);
52
+ };
53
+ var askUserTool = {
54
+ id: "ask_user",
55
+ registration: {
56
+ toolId: "ask_user",
57
+ name: "ask_user",
58
+ description: "Do not guess. If you are not sure, ask the user. Pauses the run so the operator can provide additional information.",
59
+ inputSchema: {
60
+ type: "object",
61
+ properties: {
62
+ question: {
63
+ type: "string",
64
+ description: "The question to show the operator. Be specific about what you need."
65
+ }
66
+ },
67
+ required: ["question"],
68
+ additionalProperties: false
69
+ }
70
+ },
71
+ invoke
72
+ };
73
+
74
+ // packages/tools/dist/builtins/bash/tool.js
75
+ import { spawn } from "node:child_process";
76
+
77
+ // packages/tools/dist/path-sandbox.js
78
+ import fs from "node:fs/promises";
79
+ import path from "node:path";
80
+ var DEFAULT_DENY = [
81
+ ".git/",
82
+ "node_modules/",
83
+ ".langflower/secrets/"
84
+ ];
85
+ var isUnderRoot = (absolute, root) => {
86
+ const relative = path.relative(path.resolve(root), absolute);
87
+ return relative === "" || !relative.startsWith("..") && !path.isAbsolute(relative);
88
+ };
89
+ var matchesDeny = (posixRelative, denyPaths) => [...denyPaths, ...DEFAULT_DENY].find((pattern) => {
90
+ const normalized = pattern.replace(/\\/g, "/").replace(/^\//, "");
91
+ return posixRelative === normalized.replace(/\/$/, "") || posixRelative.startsWith(normalized.endsWith("/") ? normalized : `${normalized}/`) || normalized.endsWith("/") && posixRelative.startsWith(normalized);
92
+ });
93
+ var resolveFenceRoot = (projectRoot, absolute, allowedRoots = []) => {
94
+ const project = path.resolve(projectRoot);
95
+ if (isUnderRoot(absolute, project)) {
96
+ return project;
97
+ }
98
+ for (const entry of allowedRoots) {
99
+ const root = path.resolve(projectRoot, entry);
100
+ if (isUnderRoot(absolute, root)) {
101
+ return root;
102
+ }
103
+ }
104
+ return null;
105
+ };
106
+ var toHarnessDisplayPath = (projectRoot, absolute, allowedRoots = []) => {
107
+ const fence = resolveFenceRoot(projectRoot, absolute, allowedRoots);
108
+ const project = path.resolve(projectRoot);
109
+ if (fence === project) {
110
+ return path.relative(project, absolute).split(path.sep).join("/");
111
+ }
112
+ return absolute.split(path.sep).join("/");
113
+ };
114
+ var isPathFenceOptions = (value) => !Array.isArray(value);
115
+ var asPathFenceOptions = (denyOrOptions) => isPathFenceOptions(denyOrOptions) ? denyOrOptions : { denyPaths: denyOrOptions };
116
+ var resolveProjectPath = (projectRoot, userPath, denyOrOptions = {}) => {
117
+ const options = asPathFenceOptions(denyOrOptions);
118
+ const denyPaths = options.denyPaths ?? DEFAULT_DENY;
119
+ const allowedRoots = options.allowedRoots ?? [];
120
+ const trimmed = userPath.trim();
121
+ if (trimmed.length === 0) {
122
+ throw new Error("Path is required.");
123
+ }
124
+ const project = path.resolve(projectRoot);
125
+ const candidate = path.isAbsolute(trimmed) ? path.resolve(trimmed) : path.resolve(project, trimmed);
126
+ const fence = resolveFenceRoot(project, candidate, allowedRoots);
127
+ if (fence === null) {
128
+ throw new Error(`Path escapes project root: \xAB${userPath}\xBB. Stay under the project directory, or add the vault to harness.allowedRoots.`);
129
+ }
130
+ const posixRelative = path.relative(fence, candidate).split(path.sep).join("/");
131
+ const denied = matchesDeny(posixRelative, denyPaths);
132
+ if (denied !== void 0) {
133
+ throw new Error(`Path is denied by sandbox policy: \xAB${userPath}\xBB (matched \xAB${denied}\xBB).`);
134
+ }
135
+ return candidate;
136
+ };
137
+ var listSiblingHints = async (absolutePath, limit = 8) => {
138
+ const parent = path.dirname(absolutePath);
139
+ try {
140
+ const entries = await fs.readdir(parent);
141
+ return entries.slice(0, limit);
142
+ } catch {
143
+ return [];
144
+ }
145
+ };
146
+ var formatNotFound = async (absolutePath, userPath) => {
147
+ const siblings = await listSiblingHints(absolutePath);
148
+ const hint = siblings.length > 0 ? ` Nearby names: ${siblings.join(", ")}.` : "";
149
+ return `File not found: \xAB${userPath}\xBB.${hint}`;
150
+ };
151
+
152
+ // packages/tools/dist/builtins/fence.js
153
+ var fenceOptions = (ctx) => ({
154
+ denyPaths: ctx.denyPaths,
155
+ allowedRoots: ctx.allowedRoots
156
+ });
157
+ var displayPath = (ctx, absolute) => toHarnessDisplayPath(ctx.projectRoot, absolute, ctx.allowedRoots);
158
+
159
+ // packages/tools/dist/builtins/bash/tool.js
160
+ var MAX_BASH_OUTPUT = 1e5;
161
+ var invoke2 = async (ctx, args) => {
162
+ if (!ctx.bashEnabled) {
163
+ throw new Error("bash is disabled (default-deny). Enable bash on the project harness to run shell commands.");
164
+ }
165
+ const command = asString(args, "command");
166
+ if (command === void 0 || command.trim().length === 0) {
167
+ throw new Error("bash requires string argument \xABcommand\xBB.");
168
+ }
169
+ const cwdArg = asString(args, "cwd") ?? ".";
170
+ const cwd = resolveProjectPath(ctx.projectRoot, cwdArg, fenceOptions(ctx));
171
+ return await new Promise((resolve, reject) => {
172
+ const child = spawn(command, {
173
+ cwd,
174
+ shell: true,
175
+ windowsHide: true
176
+ });
177
+ let stdout = "";
178
+ let stderr = "";
179
+ child.stdout?.on("data", (chunk) => {
180
+ stdout += String(chunk);
181
+ if (stdout.length > MAX_BASH_OUTPUT) {
182
+ stdout = stdout.slice(0, MAX_BASH_OUTPUT);
183
+ }
184
+ });
185
+ child.stderr?.on("data", (chunk) => {
186
+ stderr += String(chunk);
187
+ if (stderr.length > MAX_BASH_OUTPUT) {
188
+ stderr = stderr.slice(0, MAX_BASH_OUTPUT);
189
+ }
190
+ });
191
+ child.on("error", (error) => {
192
+ reject(error);
193
+ });
194
+ child.on("close", (code) => {
195
+ const combined = [
196
+ `exit ${code ?? "null"}`,
197
+ stdout.length > 0 ? `stdout:
198
+ ${stdout}` : "stdout: (empty)",
199
+ stderr.length > 0 ? `stderr:
200
+ ${stderr}` : "stderr: (empty)"
201
+ ].join("\n");
202
+ resolve(combined);
203
+ });
204
+ });
205
+ };
206
+ var bashTool = {
207
+ id: "bash",
208
+ registration: {
209
+ toolId: "bash",
210
+ name: "bash",
211
+ description: "Run a shell command in the project root. Disabled unless the harness enables bash (default-deny). Not read-class \u2014 no postProcess.",
212
+ inputSchema: {
213
+ type: "object",
214
+ properties: {
215
+ command: {
216
+ type: "string",
217
+ description: "Shell command to run"
218
+ },
219
+ cwd: {
220
+ type: "string",
221
+ description: "Optional subdirectory relative to project root"
222
+ }
223
+ },
224
+ required: ["command"],
225
+ additionalProperties: false
226
+ }
227
+ },
228
+ invoke: invoke2
229
+ };
230
+
231
+ // packages/tools/dist/builtins/create/tool.js
232
+ import fs2 from "node:fs/promises";
233
+ import path2 from "node:path";
234
+ var invoke3 = async (ctx, args) => {
235
+ const userPath = asString(args, "path");
236
+ const content = asString(args, "content");
237
+ if (userPath === void 0 || content === void 0) {
238
+ throw new Error("create requires string arguments \xABpath\xBB and \xABcontent\xBB.");
239
+ }
240
+ const absolute = resolveProjectPath(ctx.projectRoot, userPath, fenceOptions(ctx));
241
+ try {
242
+ await fs2.access(absolute);
243
+ throw new Error(`create failed: \xAB${userPath}\xBB already exists. Use write to overwrite or choose another path.`);
244
+ } catch (error) {
245
+ if (error instanceof Error && error.message.startsWith("create failed:")) {
246
+ throw error;
247
+ }
248
+ const code = error !== null && typeof error === "object" && "code" in error ? String(error.code) : "";
249
+ if (code !== "ENOENT") {
250
+ throw error;
251
+ }
252
+ }
253
+ await fs2.mkdir(path2.dirname(absolute), { recursive: true });
254
+ await fs2.writeFile(absolute, content, { encoding: "utf8", flag: "wx" });
255
+ return `Created \xAB${userPath}\xBB (${content.length} chars).`;
256
+ };
257
+ var createTool = {
258
+ id: "create",
259
+ registration: {
260
+ toolId: "create",
261
+ name: "create",
262
+ description: "Create a new file. Fails if the path already exists (use write to overwrite).",
263
+ inputSchema: {
264
+ type: "object",
265
+ properties: {
266
+ path: {
267
+ type: "string",
268
+ description: "Project-relative file path"
269
+ },
270
+ content: {
271
+ type: "string",
272
+ description: "Initial file contents"
273
+ }
274
+ },
275
+ required: ["path", "content"],
276
+ additionalProperties: false
277
+ }
278
+ },
279
+ invoke: invoke3
280
+ };
281
+
282
+ // packages/tools/dist/builtins/delete/tool.js
283
+ import fs3 from "node:fs/promises";
284
+ var invoke4 = async (ctx, args) => {
285
+ const userPath = asString(args, "path");
286
+ if (userPath === void 0) {
287
+ throw new Error("delete requires string argument \xABpath\xBB.");
288
+ }
289
+ const absolute = resolveProjectPath(ctx.projectRoot, userPath, fenceOptions(ctx));
290
+ try {
291
+ await fs3.unlink(absolute);
292
+ } catch (error) {
293
+ const code = error !== null && typeof error === "object" && "code" in error ? String(error.code) : "";
294
+ if (code === "ENOENT") {
295
+ throw new Error(await formatNotFound(absolute, userPath));
296
+ }
297
+ throw error;
298
+ }
299
+ return `Deleted \xAB${userPath}\xBB.`;
300
+ };
301
+ var deleteTool = {
302
+ id: "delete",
303
+ registration: {
304
+ toolId: "delete",
305
+ name: "delete",
306
+ description: "Delete a file under the project root.",
307
+ inputSchema: {
308
+ type: "object",
309
+ properties: {
310
+ path: {
311
+ type: "string",
312
+ description: "Project-relative file path"
313
+ }
314
+ },
315
+ required: ["path"],
316
+ additionalProperties: false
317
+ }
318
+ },
319
+ invoke: invoke4
320
+ };
321
+
322
+ // packages/tools/dist/builtins/edit/tool.js
323
+ import fs4 from "node:fs/promises";
324
+ var invoke5 = async (ctx, args) => {
325
+ const userPath = asString(args, "path");
326
+ const oldString = asString(args, "oldString");
327
+ const newString = asString(args, "newString");
328
+ if (userPath === void 0 || oldString === void 0 || newString === void 0) {
329
+ throw new Error("edit requires string arguments \xABpath\xBB, \xABoldString\xBB, and \xABnewString\xBB.");
330
+ }
331
+ if (oldString.length === 0) {
332
+ throw new Error("edit \xABoldString\xBB must not be empty.");
333
+ }
334
+ const absolute = resolveProjectPath(ctx.projectRoot, userPath, fenceOptions(ctx));
335
+ let content;
336
+ try {
337
+ content = await fs4.readFile(absolute, "utf8");
338
+ } catch (error) {
339
+ const code = error !== null && typeof error === "object" && "code" in error ? String(error.code) : "";
340
+ if (code === "ENOENT") {
341
+ throw new Error(await formatNotFound(absolute, userPath));
342
+ }
343
+ throw error;
344
+ }
345
+ const parts = content.split(oldString);
346
+ if (parts.length === 1) {
347
+ throw new Error(`edit: oldString not found in \xAB${userPath}\xBB. Provide an exact unique match.`);
348
+ }
349
+ if (parts.length > 2) {
350
+ throw new Error(`edit: oldString matched ${parts.length - 1} times in \xAB${userPath}\xBB. Provide a longer unique snippet.`);
351
+ }
352
+ await fs4.writeFile(absolute, parts.join(newString), "utf8");
353
+ return `Edited \xAB${userPath}\xBB (1 replacement).`;
354
+ };
355
+ var editTool = {
356
+ id: "edit",
357
+ registration: {
358
+ toolId: "edit",
359
+ name: "edit",
360
+ description: "Exact string replace in a file. Fails if oldString is missing or not unique.",
361
+ inputSchema: {
362
+ type: "object",
363
+ properties: {
364
+ path: {
365
+ type: "string",
366
+ description: "Project-relative file path"
367
+ },
368
+ oldString: {
369
+ type: "string",
370
+ description: "Exact text to find"
371
+ },
372
+ newString: {
373
+ type: "string",
374
+ description: "Replacement text"
375
+ }
376
+ },
377
+ required: ["path", "oldString", "newString"],
378
+ additionalProperties: false
379
+ }
380
+ },
381
+ invoke: invoke5
382
+ };
383
+
384
+ // packages/tools/dist/builtins/glob/tool.js
385
+ import path5 from "node:path";
386
+
387
+ // packages/tools/dist/post-process.js
388
+ import vm from "node:vm";
389
+ var DEFAULT_TIMEOUT_MS = 50;
390
+ var DEFAULT_MAX_OUTPUT_CHARS = 2e5;
391
+ var runReadClassPostProcess = (source, input, options = {}) => {
392
+ const trimmed = source.trim();
393
+ if (trimmed.length === 0) {
394
+ throw new Error("postProcess source is empty.");
395
+ }
396
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
397
+ const maxOutputChars = options.maxOutputChars ?? DEFAULT_MAX_OUTPUT_CHARS;
398
+ const sandbox = {
399
+ __input: input,
400
+ __result: void 0
401
+ };
402
+ try {
403
+ vm.runInNewContext(`__result = (${trimmed})(__input)`, sandbox, {
404
+ timeout: timeoutMs,
405
+ displayErrors: true
406
+ });
407
+ } catch (error) {
408
+ const message = error instanceof Error ? error.message : String(error);
409
+ throw new Error(`postProcess failed: ${message}`);
410
+ }
411
+ if (typeof sandbox.__result !== "string") {
412
+ throw new Error(`postProcess must return a string (got ${typeof sandbox.__result}).`);
413
+ }
414
+ if (sandbox.__result.length > maxOutputChars) {
415
+ throw new Error(`postProcess output exceeds ${maxOutputChars} characters.`);
416
+ }
417
+ return sandbox.__result;
418
+ };
419
+
420
+ // packages/tools/dist/builtins/apply-post-process.js
421
+ var applyPostProcess = (args, text) => {
422
+ const source = asString(args, "postProcess");
423
+ if (source === void 0 || source.trim().length === 0) {
424
+ return text;
425
+ }
426
+ return runReadClassPostProcess(source, text);
427
+ };
428
+
429
+ // packages/tools/dist/builtins/walk-files.js
430
+ import fs6 from "node:fs/promises";
431
+ import path4 from "node:path";
432
+
433
+ // packages/tools/dist/gitignore.js
434
+ import fs5 from "node:fs/promises";
435
+ import path3 from "node:path";
436
+ var parseIgnoreLine = (line) => {
437
+ const trimmed = line.trim();
438
+ if (trimmed.length === 0 || trimmed.startsWith("#")) {
439
+ return void 0;
440
+ }
441
+ const negated = trimmed.startsWith("!");
442
+ const body = negated ? trimmed.slice(1) : trimmed;
443
+ const directoryOnly = body.endsWith("/");
444
+ const pattern = directoryOnly ? body.slice(0, -1) : body;
445
+ if (pattern.length === 0) {
446
+ return void 0;
447
+ }
448
+ return { negated, directoryOnly, pattern };
449
+ };
450
+ var matchSegmentGlob = (pattern, value) => {
451
+ if (pattern === "**") {
452
+ return true;
453
+ }
454
+ const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, "[^/]*").replace(/\?/g, "[^/]");
455
+ return new RegExp(`^${escaped}$`).test(value);
456
+ };
457
+ var matchPath = (pattern, relativePosix) => {
458
+ const normalizedPattern = pattern.replace(/\\/g, "/").replace(/^\//, "");
459
+ const target = relativePosix.replace(/^\.\//, "");
460
+ if (!normalizedPattern.includes("/")) {
461
+ const parts = target.split("/");
462
+ return parts.some((part) => matchSegmentGlob(normalizedPattern, part));
463
+ }
464
+ const patternParts = normalizedPattern.split("/");
465
+ const targetParts = target.split("/");
466
+ const matchFrom = (pi, ti) => {
467
+ if (pi >= patternParts.length) {
468
+ return ti >= targetParts.length;
469
+ }
470
+ const part = patternParts[pi] ?? "";
471
+ if (part === "**") {
472
+ if (pi === patternParts.length - 1) {
473
+ return true;
474
+ }
475
+ for (let skip = ti; skip <= targetParts.length; skip += 1) {
476
+ if (matchFrom(pi + 1, skip)) {
477
+ return true;
478
+ }
479
+ }
480
+ return false;
481
+ }
482
+ if (ti >= targetParts.length) {
483
+ return false;
484
+ }
485
+ if (!matchSegmentGlob(part, targetParts[ti] ?? "")) {
486
+ return false;
487
+ }
488
+ return matchFrom(pi + 1, ti + 1);
489
+ };
490
+ return matchFrom(0, 0);
491
+ };
492
+ var loadGitIgnoreMatcher = async (projectRoot) => {
493
+ const rules = [
494
+ { negated: false, directoryOnly: false, pattern: ".git" },
495
+ { negated: false, directoryOnly: false, pattern: "node_modules" }
496
+ ];
497
+ const gitignorePath = path3.join(projectRoot, ".gitignore");
498
+ try {
499
+ const text = await fs5.readFile(gitignorePath, "utf8");
500
+ for (const line of text.split(/\r?\n/)) {
501
+ const rule = parseIgnoreLine(line);
502
+ if (rule !== void 0) {
503
+ rules.push(rule);
504
+ }
505
+ }
506
+ } catch {
507
+ }
508
+ return {
509
+ ignores: (relativePosix, isDirectory) => {
510
+ let ignored = false;
511
+ for (const rule of rules) {
512
+ if (rule.directoryOnly && !isDirectory) {
513
+ continue;
514
+ }
515
+ if (matchPath(rule.pattern, relativePosix)) {
516
+ ignored = !rule.negated;
517
+ }
518
+ }
519
+ return ignored;
520
+ }
521
+ };
522
+ };
523
+
524
+ // packages/tools/dist/builtins/walk-files.js
525
+ var WALK_EXCLUDE_DIR_NAMES = [
526
+ "node_modules",
527
+ "dist",
528
+ "build",
529
+ ".git"
530
+ ];
531
+ var globToRegExp = (pattern) => {
532
+ const escaped = pattern.replace(/\\/g, "/").replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*\*/g, "::DOUBLESTAR::").replace(/\*/g, "[^/]*").replace(/\?/g, "[^/]").replace(/::DOUBLESTAR::/g, ".*");
533
+ return new RegExp(`^${escaped}$`);
534
+ };
535
+ var normalizeOptions = (options) => typeof options === "boolean" ? { respectGitignore: options } : options;
536
+ var yieldEventLoop = () => new Promise((resolve) => {
537
+ setImmediate(resolve);
538
+ });
539
+ var throwIfAborted = (signal) => {
540
+ if (signal?.aborted) {
541
+ throw new Error("aborted");
542
+ }
543
+ };
544
+ var walkFiles = async (root, dir, options = true) => {
545
+ const opts = normalizeOptions(options);
546
+ const respectGitignore = opts.respectGitignore !== false;
547
+ const yieldEvery = opts.yieldEvery ?? 32;
548
+ const matcher = respectGitignore ? await loadGitIgnoreMatcher(root) : { ignores: () => false };
549
+ const out = [];
550
+ const visitedDirs = /* @__PURE__ */ new Set();
551
+ let steps = 0;
552
+ const visit = async (absoluteDir) => {
553
+ throwIfAborted(opts.signal);
554
+ let realDir;
555
+ try {
556
+ realDir = await fs6.realpath(absoluteDir);
557
+ } catch {
558
+ return;
559
+ }
560
+ if (visitedDirs.has(realDir)) {
561
+ return;
562
+ }
563
+ visitedDirs.add(realDir);
564
+ let entries;
565
+ try {
566
+ entries = await fs6.readdir(absoluteDir, { withFileTypes: true });
567
+ } catch {
568
+ return;
569
+ }
570
+ for (const entry of entries) {
571
+ throwIfAborted(opts.signal);
572
+ steps += 1;
573
+ if (steps % yieldEvery === 0) {
574
+ await yieldEventLoop();
575
+ throwIfAborted(opts.signal);
576
+ }
577
+ if (entry.isDirectory() && WALK_EXCLUDE_DIR_NAMES.includes(entry.name)) {
578
+ continue;
579
+ }
580
+ const absolute = path4.join(absoluteDir, entry.name);
581
+ const relative = path4.relative(root, absolute).split(path4.sep).join("/");
582
+ if (matcher.ignores(relative, entry.isDirectory())) {
583
+ continue;
584
+ }
585
+ if (entry.isSymbolicLink()) {
586
+ continue;
587
+ }
588
+ if (entry.isDirectory()) {
589
+ await visit(absolute);
590
+ } else if (entry.isFile()) {
591
+ out.push(relative);
592
+ if (opts.maxFiles !== void 0 && out.length >= opts.maxFiles) {
593
+ return;
594
+ }
595
+ }
596
+ }
597
+ };
598
+ await visit(dir);
599
+ return out;
600
+ };
601
+
602
+ // packages/tools/dist/builtins/glob/tool.js
603
+ var MAX_GLOB_MATCHES = 200;
604
+ var invoke6 = async (ctx, args) => {
605
+ const pattern = asString(args, "pattern");
606
+ if (pattern === void 0) {
607
+ throw new Error("glob requires string argument \xABpattern\xBB.");
608
+ }
609
+ const cwdArg = asString(args, "cwd") ?? ".";
610
+ const respectGitignore = asBoolean(args, "respectGitignore", true);
611
+ const searchRoot = resolveProjectPath(ctx.projectRoot, cwdArg, fenceOptions(ctx));
612
+ const fenceRoot = resolveFenceRoot(ctx.projectRoot, searchRoot, ctx.allowedRoots) ?? path5.resolve(ctx.projectRoot);
613
+ const files = await walkFiles(fenceRoot, searchRoot, respectGitignore);
614
+ const regex = globToRegExp(pattern.replace(/\\/g, "/"));
615
+ const searchRel = path5.relative(fenceRoot, searchRoot).split(path5.sep).join("/");
616
+ const cwdPrefix = searchRel === "" ? "" : `${searchRel.replace(/\/$/, "")}/`;
617
+ const matches = files.filter((file) => {
618
+ const relativeToCwd = cwdPrefix ? file.startsWith(cwdPrefix) ? file.slice(cwdPrefix.length) : null : file;
619
+ return relativeToCwd !== null && regex.test(relativeToCwd);
620
+ }).map((file) => displayPath(ctx, path5.join(fenceRoot, file))).slice(0, MAX_GLOB_MATCHES + 1);
621
+ const truncated = matches.length > MAX_GLOB_MATCHES;
622
+ const listed = matches.slice(0, MAX_GLOB_MATCHES);
623
+ const body = listed.length === 0 ? "(no matches)" : listed.join("\n") + (truncated ? `
624
+ \u2026[truncated at ${MAX_GLOB_MATCHES}; narrow the pattern]` : "");
625
+ return applyPostProcess(args, body);
626
+ };
627
+ var globTool = {
628
+ id: "glob",
629
+ registration: {
630
+ toolId: "glob",
631
+ name: "glob",
632
+ description: "List files matching a glob under the project root (gitignore-aware by default). Optional postProcess.",
633
+ inputSchema: {
634
+ type: "object",
635
+ properties: {
636
+ pattern: {
637
+ type: "string",
638
+ description: "Glob pattern, e.g. **/*.ts"
639
+ },
640
+ cwd: {
641
+ type: "string",
642
+ description: "Optional subdirectory relative to project root"
643
+ },
644
+ respectGitignore: {
645
+ type: "boolean",
646
+ description: "Default true"
647
+ },
648
+ postProcess: {
649
+ type: "string",
650
+ description: "Optional source of (res: string) => string"
651
+ }
652
+ },
653
+ required: ["pattern"],
654
+ additionalProperties: false
655
+ }
656
+ },
657
+ invoke: invoke6
658
+ };
659
+
660
+ // packages/tools/dist/builtins/grep/tool.js
661
+ import fs8 from "node:fs/promises";
662
+ import path7 from "node:path";
663
+
664
+ // packages/tools/dist/builtins/grep/search.js
665
+ import fs7 from "node:fs/promises";
666
+ import path6 from "node:path";
667
+
668
+ // packages/tools/dist/builtins/command-exists.js
669
+ import { spawn as spawn2 } from "node:child_process";
670
+ var cache = /* @__PURE__ */ new Map();
671
+ var commandExists = async (cmd) => {
672
+ const cached = cache.get(cmd);
673
+ if (cached !== void 0) {
674
+ return cached;
675
+ }
676
+ const checkCmd = process.platform === "win32" ? "where" : "which";
677
+ const exists = await new Promise((resolve) => {
678
+ const child = spawn2(checkCmd, [cmd], {
679
+ stdio: "ignore",
680
+ windowsHide: true
681
+ });
682
+ child.on("error", () => {
683
+ resolve(false);
684
+ });
685
+ child.on("close", (code) => {
686
+ resolve(code === 0);
687
+ });
688
+ });
689
+ cache.set(cmd, exists);
690
+ return exists;
691
+ };
692
+
693
+ // packages/tools/dist/builtins/spawn-capture.js
694
+ import { spawn as spawn3 } from "node:child_process";
695
+ var spawnCapture = (command, args, options = {}) => {
696
+ const maxStdout = options.maxStdout ?? 2e6;
697
+ return new Promise((resolve, reject) => {
698
+ if (options.signal?.aborted) {
699
+ reject(new Error("aborted"));
700
+ return;
701
+ }
702
+ const child = spawn3(command, [...args], {
703
+ cwd: options.cwd,
704
+ windowsHide: true,
705
+ shell: false,
706
+ ...options.signal !== void 0 ? { signal: options.signal } : {}
707
+ });
708
+ let stdout = "";
709
+ let stderr = "";
710
+ child.stdout?.on("data", (chunk) => {
711
+ if (stdout.length < maxStdout) {
712
+ stdout += String(chunk);
713
+ if (stdout.length > maxStdout) {
714
+ stdout = stdout.slice(0, maxStdout);
715
+ }
716
+ }
717
+ });
718
+ child.stderr?.on("data", (chunk) => {
719
+ stderr += String(chunk);
720
+ if (stderr.length > 64e3) {
721
+ stderr = stderr.slice(0, 64e3);
722
+ }
723
+ });
724
+ child.on("error", (error) => {
725
+ reject(error);
726
+ });
727
+ child.on("close", (code) => {
728
+ resolve({ stdout, stderr, code });
729
+ });
730
+ });
731
+ };
732
+
733
+ // packages/tools/dist/builtins/grep/search.js
734
+ var MAX_GREP_MATCHES = 100;
735
+ var MAX_GREP_FILES_SCANNED = 5e3;
736
+ var MAX_GREP_FILE_BYTES = 1048576;
737
+ var MAX_GREP_LINE_CHARS = 8e3;
738
+ var SEARCH_EXCLUDE_GLOBS = [
739
+ "!**/node_modules/**",
740
+ "!**/dist/**",
741
+ "!**/build/**",
742
+ "!**/.git/**"
743
+ ];
744
+ var throwIfAborted2 = (signal) => {
745
+ if (signal?.aborted) {
746
+ throw new Error("aborted");
747
+ }
748
+ };
749
+ var formatHits = (hits, truncated) => {
750
+ if (hits.length === 0) {
751
+ return "(no matches)";
752
+ }
753
+ const body = hits.map((hit) => `${hit.file}:${hit.line}:${hit.text}`).join("\n");
754
+ return truncated ? `${body}
755
+ \u2026[truncated at ${MAX_GREP_MATCHES}; refine pattern or path]` : body;
756
+ };
757
+ var formatGrepBody = (hits, truncated) => formatHits(hits, truncated);
758
+ var parseLineHits = (stdout, displayPath2, fenceRoot, maxHits) => {
759
+ const hits = [];
760
+ const lines = stdout.split(/\r?\n/);
761
+ for (const raw of lines) {
762
+ if (raw.length === 0) {
763
+ continue;
764
+ }
765
+ const match = /^(.+?):(\d+):(.*)$/.exec(raw);
766
+ if (match === null) {
767
+ continue;
768
+ }
769
+ const fileAbs = path6.isAbsolute(match[1] ?? "") ? match[1] ?? "" : path6.join(fenceRoot, match[1] ?? "");
770
+ const line = Number(match[2]);
771
+ const text = match[3] ?? "";
772
+ if (!Number.isFinite(line)) {
773
+ continue;
774
+ }
775
+ hits.push({
776
+ file: displayPath2(fileAbs),
777
+ line,
778
+ text: text.length > MAX_GREP_LINE_CHARS ? `${text.slice(0, MAX_GREP_LINE_CHARS)}\u2026` : text
779
+ });
780
+ if (hits.length >= maxHits) {
781
+ return { hits, truncated: true };
782
+ }
783
+ }
784
+ return { hits, truncated: false };
785
+ };
786
+ var isBinaryAbortError = (error) => error instanceof Error && (error.name === "AbortError" || error.message === "aborted");
787
+ var searchWithRipgrep = async (input, deps = {}) => {
788
+ const exists = deps.commandExists ?? commandExists;
789
+ const run = deps.spawnCapture ?? spawnCapture;
790
+ if (!await exists("rg")) {
791
+ return {
792
+ ok: false,
793
+ reason: "unavailable",
794
+ message: "ripgrep (rg) is not available on this system"
795
+ };
796
+ }
797
+ throwIfAborted2(input.signal);
798
+ const args = [
799
+ "-n",
800
+ "--color",
801
+ "never",
802
+ "--max-filesize",
803
+ `${MAX_GREP_FILE_BYTES}`,
804
+ ...input.respectGitignore ? [] : ["--no-ignore"],
805
+ ...SEARCH_EXCLUDE_GLOBS.flatMap((glob) => ["--glob", glob]),
806
+ ...input.caseInsensitive ? ["-i"] : [],
807
+ "-e",
808
+ input.pattern,
809
+ input.searchAbsolute
810
+ ];
811
+ try {
812
+ const result = await run("rg", args, {
813
+ cwd: input.fenceRoot,
814
+ ...input.signal !== void 0 ? { signal: input.signal } : {}
815
+ });
816
+ if (result.code !== null && result.code >= 2) {
817
+ const detail = result.stderr.trim();
818
+ return {
819
+ ok: false,
820
+ reason: "error",
821
+ message: detail.length > 0 ? `ripgrep failed: ${detail}` : "ripgrep failed"
822
+ };
823
+ }
824
+ const parsed = parseLineHits(result.stdout, input.displayPath, input.fenceRoot, MAX_GREP_MATCHES);
825
+ return {
826
+ ok: true,
827
+ hits: parsed.hits,
828
+ truncated: parsed.truncated,
829
+ backend: "rg"
830
+ };
831
+ } catch (error) {
832
+ if (isBinaryAbortError(error)) {
833
+ throw new Error("aborted");
834
+ }
835
+ return {
836
+ ok: false,
837
+ reason: "unavailable",
838
+ message: error instanceof Error ? error.message : "Error executing ripgrep"
839
+ };
840
+ }
841
+ };
842
+ var searchWithGrep = async (input, deps = {}) => {
843
+ const exists = deps.commandExists ?? commandExists;
844
+ const run = deps.spawnCapture ?? spawnCapture;
845
+ if (!await exists("grep")) {
846
+ return {
847
+ ok: false,
848
+ reason: "unavailable",
849
+ message: "grep is not available on this system"
850
+ };
851
+ }
852
+ throwIfAborted2(input.signal);
853
+ const args = [
854
+ "-r",
855
+ "-n",
856
+ "-E",
857
+ "-I",
858
+ ...input.caseInsensitive ? ["-i"] : [],
859
+ ...WALK_EXCLUDE_DIR_NAMES.flatMap((name) => ["--exclude-dir", name]),
860
+ "-e",
861
+ input.pattern,
862
+ input.searchAbsolute
863
+ ];
864
+ try {
865
+ const result = await run("grep", args, {
866
+ cwd: input.fenceRoot,
867
+ ...input.signal !== void 0 ? { signal: input.signal } : {}
868
+ });
869
+ if (result.code !== null && result.code >= 2) {
870
+ const detail = result.stderr.trim();
871
+ return {
872
+ ok: false,
873
+ reason: "error",
874
+ message: detail.length > 0 ? `grep failed: ${detail}` : "grep failed"
875
+ };
876
+ }
877
+ const parsed = parseLineHits(result.stdout, input.displayPath, input.fenceRoot, MAX_GREP_MATCHES);
878
+ return {
879
+ ok: true,
880
+ hits: parsed.hits,
881
+ truncated: parsed.truncated,
882
+ backend: "grep"
883
+ };
884
+ } catch (error) {
885
+ if (isBinaryAbortError(error)) {
886
+ throw new Error("aborted");
887
+ }
888
+ return {
889
+ ok: false,
890
+ reason: "unavailable",
891
+ message: error instanceof Error ? error.message : "Error executing grep"
892
+ };
893
+ }
894
+ };
895
+ var looksBinary = (buf) => {
896
+ const sample = buf.subarray(0, Math.min(buf.length, 8192));
897
+ return sample.includes(0);
898
+ };
899
+ var yieldEventLoop2 = () => new Promise((resolve) => {
900
+ setImmediate(resolve);
901
+ });
902
+ var searchWithNodeWalk = async (input) => {
903
+ throwIfAborted2(input.signal);
904
+ let regex;
905
+ try {
906
+ regex = new RegExp(input.pattern, input.caseInsensitive ? "i" : "");
907
+ } catch (error) {
908
+ const message = error instanceof Error ? error.message : String(error);
909
+ return {
910
+ ok: false,
911
+ reason: "error",
912
+ message: `Invalid regex \xAB${input.pattern}\xBB: ${message}. Escape special characters or simplify the pattern.`
913
+ };
914
+ }
915
+ const stat = await fs7.stat(input.searchAbsolute).catch(() => null);
916
+ if (stat === null) {
917
+ return {
918
+ ok: false,
919
+ reason: "error",
920
+ message: `Path not found: ${input.searchAbsolute}`
921
+ };
922
+ }
923
+ const files = stat.isFile() ? [input.searchAbsolute] : (await walkFiles(input.fenceRoot, input.searchAbsolute, {
924
+ respectGitignore: input.respectGitignore,
925
+ ...input.signal !== void 0 ? { signal: input.signal } : {},
926
+ maxFiles: MAX_GREP_FILES_SCANNED
927
+ })).map((relative) => path6.join(input.fenceRoot, relative));
928
+ const hits = [];
929
+ let matchCapHit = false;
930
+ let scanned = 0;
931
+ for (const fileAbs of files) {
932
+ throwIfAborted2(input.signal);
933
+ scanned += 1;
934
+ if (scanned % 16 === 0) {
935
+ await yieldEventLoop2();
936
+ throwIfAborted2(input.signal);
937
+ }
938
+ if (hits.length >= MAX_GREP_MATCHES) {
939
+ matchCapHit = true;
940
+ break;
941
+ }
942
+ let buf;
943
+ try {
944
+ const handle = await fs7.open(fileAbs, "r");
945
+ try {
946
+ const st = await handle.stat();
947
+ if (st.size > MAX_GREP_FILE_BYTES) {
948
+ continue;
949
+ }
950
+ buf = Buffer.alloc(Number(st.size));
951
+ await handle.read(buf, 0, buf.length, 0);
952
+ } finally {
953
+ await handle.close();
954
+ }
955
+ } catch {
956
+ continue;
957
+ }
958
+ if (looksBinary(buf)) {
959
+ continue;
960
+ }
961
+ const text = buf.toString("utf8");
962
+ const lines = text.split(/\r?\n/);
963
+ for (let i = 0; i < lines.length; i += 1) {
964
+ let line = lines[i] ?? "";
965
+ if (line.length > MAX_GREP_LINE_CHARS) {
966
+ line = line.slice(0, MAX_GREP_LINE_CHARS);
967
+ }
968
+ if (regex.test(line)) {
969
+ hits.push({
970
+ file: input.displayPath(fileAbs),
971
+ line: i + 1,
972
+ text: line
973
+ });
974
+ if (hits.length >= MAX_GREP_MATCHES) {
975
+ matchCapHit = true;
976
+ break;
977
+ }
978
+ }
979
+ }
980
+ }
981
+ const fileCapHit = !stat.isFile() && files.length >= MAX_GREP_FILES_SCANNED;
982
+ return {
983
+ ok: true,
984
+ hits,
985
+ truncated: matchCapHit || fileCapHit,
986
+ backend: "node"
987
+ };
988
+ };
989
+ var runGrepCascade = async (input, deps = {}) => {
990
+ throwIfAborted2(input.signal);
991
+ const rg = await searchWithRipgrep(input, deps);
992
+ if (rg.ok) {
993
+ return {
994
+ body: formatGrepBody(rg.hits, rg.truncated),
995
+ backend: rg.backend
996
+ };
997
+ }
998
+ const grep = await searchWithGrep(input, deps);
999
+ if (grep.ok) {
1000
+ return {
1001
+ body: formatGrepBody(grep.hits, grep.truncated),
1002
+ backend: grep.backend
1003
+ };
1004
+ }
1005
+ const node = await searchWithNodeWalk(input);
1006
+ if (!node.ok) {
1007
+ throw new Error(node.message);
1008
+ }
1009
+ return {
1010
+ body: formatGrepBody(node.hits, node.truncated),
1011
+ backend: node.backend
1012
+ };
1013
+ };
1014
+
1015
+ // packages/tools/dist/builtins/grep/tool.js
1016
+ var invoke7 = async (ctx, args) => {
1017
+ const pattern = asString(args, "pattern");
1018
+ if (pattern === void 0) {
1019
+ throw new Error("grep requires string argument \xABpattern\xBB.");
1020
+ }
1021
+ const searchPath = asString(args, "path") ?? ".";
1022
+ const respectGitignore = asBoolean(args, "respectGitignore", true);
1023
+ const caseInsensitive = asBoolean(args, "caseInsensitive", false);
1024
+ const absolute = resolveProjectPath(ctx.projectRoot, searchPath, fenceOptions(ctx));
1025
+ const stat = await fs8.stat(absolute).catch(() => null);
1026
+ if (stat === null) {
1027
+ throw new Error(await formatNotFound(absolute, searchPath));
1028
+ }
1029
+ const fenceRoot = resolveFenceRoot(ctx.projectRoot, absolute, ctx.allowedRoots) ?? path7.resolve(ctx.projectRoot);
1030
+ const { body } = await runGrepCascade({
1031
+ pattern,
1032
+ caseInsensitive,
1033
+ respectGitignore,
1034
+ searchAbsolute: absolute,
1035
+ fenceRoot,
1036
+ displayPath: (fileAbs) => displayPath(ctx, fileAbs),
1037
+ ...ctx.signal !== void 0 ? { signal: ctx.signal } : {}
1038
+ });
1039
+ return applyPostProcess(args, body);
1040
+ };
1041
+ var grepTool = {
1042
+ id: "grep",
1043
+ registration: {
1044
+ toolId: "grep",
1045
+ name: "grep",
1046
+ description: "Regex search across project files (gitignore-aware by default; ripgrep when available, else grep, else bounded Node walk). Optional postProcess.",
1047
+ inputSchema: {
1048
+ type: "object",
1049
+ properties: {
1050
+ pattern: {
1051
+ type: "string",
1052
+ description: "Regex pattern (ripgrep dialect when rg is available; JavaScript RegExp on Node fallback)"
1053
+ },
1054
+ path: {
1055
+ type: "string",
1056
+ description: "Optional subdirectory or file to search"
1057
+ },
1058
+ caseInsensitive: { type: "boolean" },
1059
+ respectGitignore: {
1060
+ type: "boolean",
1061
+ description: "Default true"
1062
+ },
1063
+ postProcess: {
1064
+ type: "string",
1065
+ description: "Optional source of (res: string) => string"
1066
+ }
1067
+ },
1068
+ required: ["pattern"],
1069
+ additionalProperties: false
1070
+ }
1071
+ },
1072
+ invoke: invoke7
1073
+ };
1074
+
1075
+ // packages/tools/dist/builtins/read/tool.js
1076
+ import fs9 from "node:fs/promises";
1077
+ var MAX_READ_CHARS = 2e5;
1078
+ var sliceLines = (content, args) => {
1079
+ const lines = content.split(/\r?\n/);
1080
+ const startLine = asNumber(args, "startLine");
1081
+ const endLine = asNumber(args, "endLine");
1082
+ const offset = asNumber(args, "offset");
1083
+ const limit = asNumber(args, "limit");
1084
+ let start = 0;
1085
+ let end = lines.length;
1086
+ if (startLine !== void 0) {
1087
+ start = Math.max(0, Math.floor(startLine) - 1);
1088
+ } else if (offset !== void 0) {
1089
+ start = Math.max(0, Math.floor(offset));
1090
+ }
1091
+ if (endLine !== void 0) {
1092
+ end = Math.min(lines.length, Math.floor(endLine));
1093
+ } else if (limit !== void 0) {
1094
+ end = Math.min(lines.length, start + Math.max(0, Math.floor(limit)));
1095
+ }
1096
+ const sliced = lines.slice(start, end).join("\n");
1097
+ const truncated = sliced.length > MAX_READ_CHARS ? `${sliced.slice(0, MAX_READ_CHARS)}
1098
+ \u2026[truncated at ${MAX_READ_CHARS} chars]` : sliced;
1099
+ if (end < lines.length || start > 0) {
1100
+ return `${truncated}
1101
+
1102
+ [lines ${start + 1}-${Math.min(end, lines.length)} of ${lines.length}; continue with startLine=${end + 1}]`;
1103
+ }
1104
+ return truncated;
1105
+ };
1106
+ var invoke8 = async (ctx, args) => {
1107
+ const userPath = asString(args, "path");
1108
+ if (userPath === void 0) {
1109
+ throw new Error("read requires string argument \xABpath\xBB.");
1110
+ }
1111
+ const absolute = resolveProjectPath(ctx.projectRoot, userPath, fenceOptions(ctx));
1112
+ let content;
1113
+ try {
1114
+ content = await fs9.readFile(absolute, "utf8");
1115
+ } catch (error) {
1116
+ const code = error !== null && typeof error === "object" && "code" in error ? String(error.code) : "";
1117
+ if (code === "ENOENT") {
1118
+ throw new Error(await formatNotFound(absolute, userPath));
1119
+ }
1120
+ throw error;
1121
+ }
1122
+ return applyPostProcess(args, sliceLines(content, args));
1123
+ };
1124
+ var readTool = {
1125
+ id: "read",
1126
+ registration: {
1127
+ toolId: "read",
1128
+ name: "read",
1129
+ description: "Read a file under the project root. Optional startLine/endLine (1-based) or offset/limit (byte-ish line slices). Optional postProcess: source of (res: string) => string.",
1130
+ inputSchema: {
1131
+ type: "object",
1132
+ properties: {
1133
+ path: {
1134
+ type: "string",
1135
+ description: "Project-relative file path"
1136
+ },
1137
+ startLine: {
1138
+ type: "number",
1139
+ description: "1-based start line"
1140
+ },
1141
+ endLine: {
1142
+ type: "number",
1143
+ description: "1-based end line (inclusive)"
1144
+ },
1145
+ offset: {
1146
+ type: "number",
1147
+ description: "0-based line offset"
1148
+ },
1149
+ limit: {
1150
+ type: "number",
1151
+ description: "Max lines to return"
1152
+ },
1153
+ postProcess: {
1154
+ type: "string",
1155
+ description: "Optional source of (res: string) => string applied after a successful read"
1156
+ }
1157
+ },
1158
+ required: ["path"],
1159
+ additionalProperties: false
1160
+ }
1161
+ },
1162
+ invoke: invoke8
1163
+ };
1164
+
1165
+ // packages/tools/dist/builtins/write/tool.js
1166
+ import fs10 from "node:fs/promises";
1167
+ import path8 from "node:path";
1168
+ var invoke9 = async (ctx, args) => {
1169
+ const userPath = asString(args, "path");
1170
+ const content = asString(args, "content");
1171
+ if (userPath === void 0 || content === void 0) {
1172
+ throw new Error("write requires string arguments \xABpath\xBB and \xABcontent\xBB.");
1173
+ }
1174
+ const absolute = resolveProjectPath(ctx.projectRoot, userPath, fenceOptions(ctx));
1175
+ await fs10.mkdir(path8.dirname(absolute), { recursive: true });
1176
+ await fs10.writeFile(absolute, content, "utf8");
1177
+ return `Wrote \xAB${userPath}\xBB (${content.length} chars).`;
1178
+ };
1179
+ var writeTool = {
1180
+ id: "write",
1181
+ registration: {
1182
+ toolId: "write",
1183
+ name: "write",
1184
+ description: "Write or overwrite a file (creates parent directories). Prefer create for new-only files.",
1185
+ inputSchema: {
1186
+ type: "object",
1187
+ properties: {
1188
+ path: {
1189
+ type: "string",
1190
+ description: "Project-relative file path"
1191
+ },
1192
+ content: {
1193
+ type: "string",
1194
+ description: "Full file contents"
1195
+ }
1196
+ },
1197
+ required: ["path", "content"],
1198
+ additionalProperties: false
1199
+ }
1200
+ },
1201
+ invoke: invoke9
1202
+ };
1203
+
1204
+ // packages/tools/dist/builtins/catalog.js
1205
+ var BUILTIN_TOOLS = [
1206
+ readTool,
1207
+ globTool,
1208
+ grepTool,
1209
+ editTool,
1210
+ writeTool,
1211
+ createTool,
1212
+ deleteTool,
1213
+ bashTool,
1214
+ askUserTool
1215
+ ];
1216
+ var BUILTIN_TOOL_IDS = BUILTIN_TOOLS.map((tool) => tool.id);
1217
+ var BUILTIN_REGISTRATIONS = BUILTIN_TOOLS.map((tool) => tool.registration);
1218
+ var byId = Object.fromEntries(BUILTIN_TOOLS.map((tool) => [tool.id, tool]));
1219
+ var isBuiltinToolId = (toolId) => Object.hasOwn(byId, toolId);
1220
+ var invokeBuiltin = (toolId, ctx, args) => byId[toolId].invoke(ctx, args);
1221
+
1222
+ // packages/tools/dist/permission.js
1223
+ var DEFAULT_PERMISSION_CONFIG = {
1224
+ read: { "*": "allow" },
1225
+ glob: { "*": "allow" },
1226
+ grep: { "*": "allow" },
1227
+ edit: { "*": "allow" },
1228
+ write: { "*": "allow" },
1229
+ create: { "*": "allow" },
1230
+ delete: { "*": "allow" },
1231
+ bash: { "*": "allow" },
1232
+ ask_user: { "*": "allow" }
1233
+ };
1234
+ var DECISION_RANK = {
1235
+ deny: 3,
1236
+ ask: 2,
1237
+ allow: 1
1238
+ };
1239
+ var isDecision = (value) => value === "allow" || value === "ask" || value === "deny";
1240
+ var escapeRegExp = (text) => text.replace(/[.+^${}()|[\]\\]/g, "\\$&");
1241
+ var matchPermissionPattern = (pattern, detail) => {
1242
+ const normalizedPattern = pattern.trim();
1243
+ const normalizedDetail = detail;
1244
+ if (normalizedPattern.length === 0) {
1245
+ return false;
1246
+ }
1247
+ if (normalizedPattern === "*") {
1248
+ return true;
1249
+ }
1250
+ const pathStyle = normalizedPattern.includes("/") || normalizedPattern.includes("**");
1251
+ if (pathStyle) {
1252
+ const posixDetail = normalizedDetail.replace(/\\/g, "/");
1253
+ let regexSource2 = "";
1254
+ for (let i = 0; i < normalizedPattern.length; i += 1) {
1255
+ if (normalizedPattern.startsWith("**/", i)) {
1256
+ regexSource2 += "(?:.*/)?";
1257
+ i += 2;
1258
+ continue;
1259
+ }
1260
+ if (normalizedPattern.startsWith("**", i)) {
1261
+ regexSource2 += ".*";
1262
+ i += 1;
1263
+ continue;
1264
+ }
1265
+ const ch = normalizedPattern[i] ?? "";
1266
+ if (ch === "*") {
1267
+ regexSource2 += "[^/]*";
1268
+ continue;
1269
+ }
1270
+ regexSource2 += escapeRegExp(ch);
1271
+ }
1272
+ return new RegExp(`^${regexSource2}$`).test(posixDetail);
1273
+ }
1274
+ let regexSource = "";
1275
+ for (const ch of normalizedPattern) {
1276
+ if (ch === "*") {
1277
+ regexSource += "[\\s\\S]*";
1278
+ continue;
1279
+ }
1280
+ regexSource += escapeRegExp(ch);
1281
+ }
1282
+ return new RegExp(`^${regexSource}$`).test(normalizedDetail);
1283
+ };
1284
+ var rulesForTool = (config, toolId) => {
1285
+ const raw = config[toolId] ?? DEFAULT_PERMISSION_CONFIG[toolId];
1286
+ if (raw === void 0) {
1287
+ return { "*": "deny" };
1288
+ }
1289
+ if (isDecision(raw)) {
1290
+ return { "*": raw };
1291
+ }
1292
+ const entries = Object.entries(raw).filter((entry) => isDecision(entry[1]));
1293
+ if (entries.length === 0) {
1294
+ return { "*": "deny" };
1295
+ }
1296
+ return Object.fromEntries(entries);
1297
+ };
1298
+ var resolvePermission = (config, toolId, detail) => {
1299
+ const merged = {
1300
+ ...DEFAULT_PERMISSION_CONFIG,
1301
+ ...config ?? {}
1302
+ };
1303
+ const rules = rulesForTool(merged, toolId);
1304
+ const matches = Object.entries(rules).filter(([pattern]) => matchPermissionPattern(pattern, detail));
1305
+ if (matches.length === 0) {
1306
+ return "deny";
1307
+ }
1308
+ matches.sort((a, b) => {
1309
+ const lengthDelta = b[0].length - a[0].length;
1310
+ if (lengthDelta !== 0) {
1311
+ return lengthDelta;
1312
+ }
1313
+ return DECISION_RANK[b[1]] - DECISION_RANK[a[1]];
1314
+ });
1315
+ return matches[0]?.[1] ?? "deny";
1316
+ };
1317
+ var permissionDetailForCall = (toolId, args) => {
1318
+ if (toolId === "bash") {
1319
+ return typeof args.command === "string" ? args.command : "";
1320
+ }
1321
+ if (toolId === "ask_user") {
1322
+ return typeof args.question === "string" ? args.question : "";
1323
+ }
1324
+ if (typeof args.path === "string" && args.path.length > 0) {
1325
+ return args.path.replace(/\\/g, "/");
1326
+ }
1327
+ if (typeof args.file === "string" && args.file.length > 0) {
1328
+ return args.file.replace(/\\/g, "/");
1329
+ }
1330
+ if (typeof args.url === "string" && args.url.length > 0) {
1331
+ return args.url;
1332
+ }
1333
+ if (typeof args.key === "string" && args.key.length > 0) {
1334
+ return args.key;
1335
+ }
1336
+ if (typeof args.collectionId === "string" && args.collectionId.length > 0) {
1337
+ return args.collectionId;
1338
+ }
1339
+ return "*";
1340
+ };
1341
+ var permissionAskSummary = (toolId, detail) => {
1342
+ if (toolId === "bash") {
1343
+ return `Allow bash: ${detail.length > 0 ? detail : "(empty command)"}?`;
1344
+ }
1345
+ return `Allow ${toolId}: ${detail.length > 0 ? detail : "(no path)"}?`;
1346
+ };
1347
+ var grantKeyForCall = (toolId, detail) => `${toolId}\0${detail}`;
1348
+ var mergePermissionConfigs = (...layers) => layers.reduce((acc, layer) => layer === void 0 ? acc : { ...acc, ...layer }, {});
1349
+ var stricterPermission = (left, right) => DECISION_RANK[left] >= DECISION_RANK[right] ? left : right;
1350
+ var toolFloorDecision = (config, toolId) => {
1351
+ const merged = {
1352
+ ...DEFAULT_PERMISSION_CONFIG,
1353
+ ...config ?? {}
1354
+ };
1355
+ if (merged[toolId] === void 0 && DEFAULT_PERMISSION_CONFIG[toolId] === void 0) {
1356
+ return "allow";
1357
+ }
1358
+ const rules = rulesForTool(merged, toolId);
1359
+ const star = rules["*"];
1360
+ if (star !== void 0 && Object.keys(rules).length === 1) {
1361
+ return star;
1362
+ }
1363
+ const decisions = Object.values(rules);
1364
+ if (decisions.some((decision) => decision === "allow")) {
1365
+ return "allow";
1366
+ }
1367
+ if (decisions.some((decision) => decision === "ask")) {
1368
+ return "ask";
1369
+ }
1370
+ return "deny";
1371
+ };
1372
+ var clampToolPermission = (floor, node) => stricterPermission(floor, node);
1373
+ var isToolAlwaysDenied = (config, toolId) => {
1374
+ const merged = {
1375
+ ...DEFAULT_PERMISSION_CONFIG,
1376
+ ...config ?? {}
1377
+ };
1378
+ if (merged[toolId] === void 0 && DEFAULT_PERMISSION_CONFIG[toolId] === void 0) {
1379
+ return false;
1380
+ }
1381
+ const rules = rulesForTool(merged, toolId);
1382
+ const decisions = Object.values(rules);
1383
+ return decisions.length > 0 && decisions.every((decision) => decision === "deny");
1384
+ };
1385
+ var mergeProjectAndNodePermissions = (projectPermission, nodeToolPermissions) => {
1386
+ const project = {
1387
+ ...DEFAULT_PERMISSION_CONFIG,
1388
+ ...projectPermission ?? {}
1389
+ };
1390
+ if (nodeToolPermissions === void 0) {
1391
+ return projectPermission ?? {};
1392
+ }
1393
+ const nodeEntries = [];
1394
+ for (const [toolId, decision] of Object.entries(nodeToolPermissions)) {
1395
+ if (!isDecision(decision)) {
1396
+ continue;
1397
+ }
1398
+ const floor = toolFloorDecision(project, toolId);
1399
+ nodeEntries.push([toolId, clampToolPermission(floor, decision)]);
1400
+ }
1401
+ return mergePermissionConfigs(projectPermission, Object.fromEntries(nodeEntries));
1402
+ };
1403
+ var PERMISSION_DENY_HINT = "Tighten or loosen via Inspector tool permissions (within project floor) or edit permission.<tool> in .langflower/langflower.jsonc.";
1404
+ var formatPermissionDeniedText = (toolId, detail) => {
1405
+ const target = detail.length > 0 ? `${toolId} (${detail})` : toolId;
1406
+ return `Permission denied for ${target}. Effective policy is deny (project floor and/or node toolPermissions). ${PERMISSION_DENY_HINT}`;
1407
+ };
1408
+
1409
+ // packages/tools/dist/gate-tool-call.js
1410
+ var deniedToolResult = (toolId, detail) => ({
1411
+ ok: false,
1412
+ text: formatPermissionDeniedText(toolId, detail)
1413
+ });
1414
+ var gateToolCall = async (options) => {
1415
+ const { toolId, detail, grants, permission, requestPermission, whenMissingToolConfig } = options;
1416
+ const key = grantKeyForCall(toolId, detail);
1417
+ if (grants.has(key)) {
1418
+ return "allow";
1419
+ }
1420
+ const decision = whenMissingToolConfig !== void 0 && permission[toolId] === void 0 ? whenMissingToolConfig : resolvePermission(permission, toolId, detail);
1421
+ if (decision === "allow") {
1422
+ return "allow";
1423
+ }
1424
+ if (decision === "deny") {
1425
+ return "deny";
1426
+ }
1427
+ if (requestPermission === void 0) {
1428
+ return "deny";
1429
+ }
1430
+ const reply = await requestPermission({
1431
+ toolId,
1432
+ detail,
1433
+ summary: permissionAskSummary(toolId, detail)
1434
+ });
1435
+ if (reply === "allow") {
1436
+ grants.add(key);
1437
+ return "allow";
1438
+ }
1439
+ return "deny";
1440
+ };
1441
+
1442
+ // packages/tools/dist/create-project-harness.js
1443
+ var createProjectHarness = (options) => {
1444
+ const ctx = {
1445
+ projectRoot: options.projectRoot,
1446
+ denyPaths: options.denyPaths ?? [],
1447
+ allowedRoots: options.allowedRoots ?? [],
1448
+ bashEnabled: options.bashEnabled === true,
1449
+ ...options.askUser !== void 0 ? { askUser: options.askUser } : {}
1450
+ };
1451
+ const permission = {
1452
+ ...DEFAULT_PERMISSION_CONFIG,
1453
+ ...options.permission ?? {}
1454
+ };
1455
+ const grants = /* @__PURE__ */ new Set();
1456
+ const gate = (toolId, detail) => gateToolCall({
1457
+ toolId,
1458
+ detail,
1459
+ grants,
1460
+ permission,
1461
+ ...options.requestPermission !== void 0 ? { requestPermission: options.requestPermission } : {}
1462
+ });
1463
+ return {
1464
+ listBuiltinRegistrations: () => BUILTIN_REGISTRATIONS,
1465
+ authorize: async (call) => {
1466
+ const toolId = call.toolId.trim();
1467
+ const detail = permissionDetailForCall(toolId, call.args);
1468
+ return gate(toolId, detail);
1469
+ },
1470
+ invoke: async (call) => {
1471
+ const toolId = call.toolId.trim();
1472
+ if (!isBuiltinToolId(toolId)) {
1473
+ return {
1474
+ ok: false,
1475
+ text: `Unknown builtin tool \xAB${call.toolId}\xBB. Available: ${BUILTIN_TOOL_IDS.join(", ")}. Domain/custom tools must expose registration.handler (import from @langflower/tools), not harness toolId lookup.`
1476
+ };
1477
+ }
1478
+ const detail = permissionDetailForCall(toolId, call.args);
1479
+ const access = await gate(toolId, detail);
1480
+ if (access === "deny") {
1481
+ return deniedToolResult(toolId, detail);
1482
+ }
1483
+ try {
1484
+ const invokeCtx = call.signal === void 0 ? ctx : { ...ctx, signal: call.signal };
1485
+ const text = await invokeBuiltin(toolId, invokeCtx, call.args);
1486
+ return { ok: true, text };
1487
+ } catch (error) {
1488
+ const text = error instanceof Error ? error.message : String(error);
1489
+ return { ok: false, text };
1490
+ }
1491
+ }
1492
+ };
1493
+ };
1494
+
1495
+ export {
1496
+ DEFAULT_PERMISSION_CONFIG,
1497
+ isToolAlwaysDenied,
1498
+ mergeProjectAndNodePermissions,
1499
+ formatPermissionDeniedText,
1500
+ resolveProjectPath,
1501
+ formatNotFound,
1502
+ walkFiles,
1503
+ isBuiltinToolId,
1504
+ createProjectHarness
1505
+ };