langflower 0.0.8 → 0.0.10

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 (221) hide show
  1. package/package.json +2 -2
  2. package/ui-dist/{chunk-Y6VMBLSJ.js → chunk-7UMVYN3A.js} +1 -1
  3. package/ui-dist/{chunk-6DQ2XSRW.js → chunk-MDGXX73Z.js} +3 -3
  4. package/ui-dist/index.html +2 -2
  5. package/ui-dist/main-Z7CPFXFA.js +313 -0
  6. package/ui-dist/styles-2TMDAUD7.css +1 -0
  7. package/vendor/common-nodes/dist/ai/chat-completion-stream.d.ts +2 -0
  8. package/vendor/common-nodes/dist/ai/critique/node.d.ts +246 -0
  9. package/vendor/common-nodes/dist/ai/critique/node.js +2 -2
  10. package/vendor/common-nodes/dist/ai/fake-llm/node.d.ts +246 -0
  11. package/vendor/common-nodes/dist/ai/features/chat-completion-stream.d.ts +53 -0
  12. package/vendor/common-nodes/dist/ai/features/chat-completion-stream.js +1 -0
  13. package/vendor/common-nodes/dist/ai/features/llm-loop/autokick-recovery.d.ts +13 -0
  14. package/vendor/common-nodes/dist/ai/features/llm-loop/autokick-recovery.js +17 -0
  15. package/vendor/common-nodes/dist/ai/features/llm-loop/classify-llm-failure.d.ts +2 -0
  16. package/vendor/common-nodes/dist/ai/features/llm-loop/classify-llm-failure.js +113 -0
  17. package/vendor/common-nodes/dist/ai/features/llm-loop/dead-loop-detector.d.ts +28 -0
  18. package/vendor/common-nodes/dist/ai/features/llm-loop/dead-loop-detector.js +194 -0
  19. package/vendor/common-nodes/dist/ai/features/llm-loop/live-get-tools.d.ts +9 -0
  20. package/vendor/common-nodes/dist/ai/features/llm-loop/live-get-tools.js +21 -0
  21. package/vendor/common-nodes/dist/ai/features/llm-loop/llm-loop-reducer.d.ts +2 -0
  22. package/vendor/common-nodes/dist/ai/features/llm-loop/llm-loop-reducer.js +204 -0
  23. package/vendor/common-nodes/dist/ai/features/llm-loop/llm-loop-types.d.ts +120 -0
  24. package/vendor/common-nodes/dist/ai/features/llm-loop/llm-loop-types.js +39 -0
  25. package/vendor/common-nodes/dist/ai/features/llm-loop/normalize-llm-recovery-policy.d.ts +2 -0
  26. package/vendor/common-nodes/dist/ai/features/llm-loop/normalize-llm-recovery-policy.js +59 -0
  27. package/vendor/common-nodes/dist/ai/features/llm-loop/operators/normalize-tool-result.d.ts +1 -0
  28. package/vendor/common-nodes/dist/ai/features/llm-loop/operators/normalize-tool-result.js +7 -0
  29. package/vendor/common-nodes/dist/ai/features/llm-loop/operators/observe-provider-stream.d.ts +43 -0
  30. package/vendor/common-nodes/dist/ai/features/llm-loop/operators/observe-provider-stream.js +96 -0
  31. package/vendor/common-nodes/dist/ai/features/llm-loop/run-agent-loop.d.ts +29 -0
  32. package/vendor/common-nodes/dist/ai/features/llm-loop/run-agent-loop.js +44 -0
  33. package/vendor/common-nodes/dist/ai/features/llm-loop/run-llm-loop.d.ts +74 -0
  34. package/vendor/common-nodes/dist/ai/features/llm-loop/run-llm-loop.js +658 -0
  35. package/vendor/common-nodes/dist/ai/features/llm-role-preset.d.ts +69 -0
  36. package/vendor/common-nodes/dist/ai/features/llm-role-preset.js +265 -0
  37. package/vendor/common-nodes/dist/ai/features/llm-session/llm-session-shell.d.ts +141 -0
  38. package/vendor/common-nodes/dist/ai/features/llm-session/llm-session-shell.js +193 -0
  39. package/vendor/common-nodes/dist/ai/features/llm-session/run-session-machine.d.ts +21 -0
  40. package/vendor/common-nodes/dist/ai/features/llm-session/run-session-machine.js +118 -0
  41. package/vendor/common-nodes/dist/ai/features/openai/context-length-error.d.ts +14 -0
  42. package/vendor/common-nodes/dist/ai/features/openai/context-length-error.js +63 -0
  43. package/vendor/common-nodes/dist/ai/features/openai/create-chat-completion-stream.d.ts +19 -0
  44. package/vendor/common-nodes/dist/ai/features/openai/create-chat-completion-stream.js +182 -0
  45. package/vendor/common-nodes/dist/ai/features/openai/list-provider-models.d.ts +28 -0
  46. package/vendor/common-nodes/dist/ai/features/openai/list-provider-models.js +52 -0
  47. package/vendor/common-nodes/dist/ai/features/openai/llm-context-compaction.d.ts +31 -0
  48. package/vendor/common-nodes/dist/ai/features/openai/llm-context-compaction.js +326 -0
  49. package/vendor/common-nodes/dist/ai/features/openai/normalize-compaction-params.d.ts +14 -0
  50. package/vendor/common-nodes/dist/ai/features/openai/normalize-compaction-params.js +21 -0
  51. package/vendor/common-nodes/dist/ai/features/openai/prepare-chat-completion.d.ts +30 -0
  52. package/vendor/common-nodes/dist/ai/features/openai/prepare-chat-completion.js +132 -0
  53. package/vendor/common-nodes/dist/ai/features/path-choice/control-tools.d.ts +20 -0
  54. package/vendor/common-nodes/dist/ai/features/path-choice/control-tools.js +70 -0
  55. package/vendor/common-nodes/dist/ai/features/path-choice/run-reactive-path-choice-loop.d.ts +32 -0
  56. package/vendor/common-nodes/dist/ai/features/path-choice/run-reactive-path-choice-loop.js +93 -0
  57. package/vendor/common-nodes/dist/ai/features/prompt/build-effective-system-prompt.d.ts +9 -0
  58. package/vendor/common-nodes/dist/ai/features/prompt/build-effective-system-prompt.js +21 -0
  59. package/vendor/common-nodes/dist/ai/features/prompt/normalize-max-iterations.d.ts +13 -0
  60. package/vendor/common-nodes/dist/ai/features/prompt/normalize-max-iterations.js +23 -0
  61. package/vendor/common-nodes/dist/ai/features/prompt/resolve-chat-provider-model.d.ts +10 -0
  62. package/vendor/common-nodes/dist/ai/features/prompt/resolve-chat-provider-model.js +8 -0
  63. package/vendor/common-nodes/dist/ai/features/run-host-services.d.ts +54 -0
  64. package/vendor/common-nodes/dist/ai/features/run-host-services.js +29 -0
  65. package/vendor/common-nodes/dist/ai/features/scripted-chat-completion-stream.d.ts +17 -0
  66. package/vendor/common-nodes/dist/ai/features/scripted-chat-completion-stream.js +61 -0
  67. package/vendor/common-nodes/dist/ai/features/sub-agent-protocol.d.ts +40 -0
  68. package/vendor/common-nodes/dist/ai/features/sub-agent-protocol.js +44 -0
  69. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-compaction-ui-schema.d.ts +14 -0
  70. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-compaction-ui-schema.js +18 -0
  71. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-panel-ui-schema.d.ts +80 -0
  72. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-panel-ui-schema.js +76 -0
  73. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-recovery-ui-schema.d.ts +113 -0
  74. package/vendor/common-nodes/dist/ai/features/ui-schema/llm-recovery-ui-schema.js +131 -0
  75. package/vendor/common-nodes/dist/ai/features/wait-for-subagent-result.d.ts +7 -0
  76. package/vendor/common-nodes/dist/ai/features/wait-for-subagent-result.js +31 -0
  77. package/vendor/common-nodes/dist/ai/llm-loop/autokick-recovery.d.ts +13 -0
  78. package/vendor/common-nodes/dist/ai/llm-loop/autokick-recovery.js +17 -0
  79. package/vendor/common-nodes/dist/ai/llm-loop/dead-loop-detector.d.ts +28 -0
  80. package/vendor/common-nodes/dist/ai/llm-loop/dead-loop-detector.js +194 -0
  81. package/vendor/common-nodes/dist/ai/llm-loop/llm-loop-reducer.js +36 -0
  82. package/vendor/common-nodes/dist/ai/llm-loop/llm-loop-types.d.ts +35 -0
  83. package/vendor/common-nodes/dist/ai/llm-loop/llm-loop-types.js +19 -0
  84. package/vendor/common-nodes/dist/ai/llm-loop/normalize-llm-recovery-policy.js +52 -9
  85. package/vendor/common-nodes/dist/ai/llm-loop/operators/observe-provider-stream.d.ts +8 -2
  86. package/vendor/common-nodes/dist/ai/llm-loop/operators/observe-provider-stream.js +43 -13
  87. package/vendor/common-nodes/dist/ai/llm-loop/run-llm-loop.d.ts +3 -5
  88. package/vendor/common-nodes/dist/ai/llm-loop/run-llm-loop.js +116 -1
  89. package/vendor/common-nodes/dist/ai/llm-recovery-ui-schema.d.ts +82 -0
  90. package/vendor/common-nodes/dist/ai/llm-recovery-ui-schema.js +95 -0
  91. package/vendor/common-nodes/dist/ai/llm-session-shell.d.ts +4 -9
  92. package/vendor/common-nodes/dist/ai/llm-session-shell.js +2 -4
  93. package/vendor/common-nodes/dist/ai/nodes/critique/node.d.ts +588 -0
  94. package/vendor/common-nodes/dist/ai/nodes/critique/node.js +227 -0
  95. package/vendor/common-nodes/dist/ai/nodes/fake-llm/node.d.ts +571 -0
  96. package/vendor/common-nodes/dist/ai/nodes/fake-llm/node.js +201 -0
  97. package/vendor/common-nodes/dist/ai/nodes/openai-llm/node.d.ts +587 -0
  98. package/vendor/common-nodes/dist/ai/nodes/openai-llm/node.js +84 -0
  99. package/vendor/common-nodes/dist/ai/nodes/review/node.d.ts +593 -0
  100. package/vendor/common-nodes/dist/ai/nodes/review/node.js +227 -0
  101. package/vendor/common-nodes/dist/ai/nodes/sub-agent/node.d.ts +630 -0
  102. package/vendor/common-nodes/dist/ai/nodes/sub-agent/node.js +417 -0
  103. package/vendor/common-nodes/dist/ai/openai/create-chat-completion-stream.js +6 -0
  104. package/vendor/common-nodes/dist/ai/openai/prepare-chat-completion.d.ts +2 -0
  105. package/vendor/common-nodes/dist/ai/openai/prepare-chat-completion.js +18 -0
  106. package/vendor/common-nodes/dist/ai/openai-llm/node.d.ts +246 -0
  107. package/vendor/common-nodes/dist/ai/review/node.d.ts +246 -0
  108. package/vendor/common-nodes/dist/ai/review/node.js +2 -2
  109. package/vendor/common-nodes/dist/ai/sub-agent/node.d.ts +246 -0
  110. package/vendor/common-nodes/dist/ai/sub-agent/node.js +2 -2
  111. package/vendor/common-nodes/dist/catalog.js +9 -5
  112. package/vendor/common-nodes/dist/compile-custom-nodes/node.d.ts +21 -0
  113. package/vendor/common-nodes/dist/compile-custom-nodes/node.js +45 -0
  114. package/vendor/common-nodes/dist/crawl/crawl/node.js +1 -1
  115. package/vendor/common-nodes/dist/crawl/fetch-url/node.js +1 -1
  116. package/vendor/common-nodes/dist/flow/repeat/node.js +6 -1
  117. package/vendor/common-nodes/dist/langflower-tools/emit-registration-tools.d.ts +18 -0
  118. package/vendor/common-nodes/dist/langflower-tools/emit-registration-tools.js +29 -0
  119. package/vendor/common-nodes/dist/langflower-tools/node.d.ts +20 -0
  120. package/vendor/common-nodes/dist/langflower-tools/node.js +77 -0
  121. package/vendor/common-nodes/dist/mcp/mcp-http/node.d.ts +4 -4
  122. package/vendor/common-nodes/dist/mcp/mcp-http/node.js +9 -10
  123. package/vendor/common-nodes/dist/mcp/mcp-stdio/node.d.ts +4 -4
  124. package/vendor/common-nodes/dist/mcp/mcp-stdio/node.js +9 -10
  125. package/vendor/common-nodes/dist/text/append-file/node.js +1 -1
  126. package/vendor/common-nodes/dist/text/read-file/node.js +1 -1
  127. package/vendor/common-nodes/dist/text/write-file/node.js +1 -1
  128. package/vendor/common-nodes/dist/tools/collect-agent-tool-handles.d.ts +4 -4
  129. package/vendor/common-nodes/dist/tools/collect-agent-tool-handles.js +3 -11
  130. package/vendor/common-nodes/dist/tools/inventory-tool-round.d.ts +1 -11
  131. package/vendor/common-nodes/dist/tools/inventory-tool-round.js +0 -84
  132. package/vendor/common-nodes/dist/tools/tool-collection/node.d.ts +20 -0
  133. package/vendor/common-nodes/dist/tools/tool-collection/node.js +42 -0
  134. package/vendor/common-nodes/package.json +9 -13
  135. package/vendor/compiler/dist/compile-project-nodes.d.ts +2 -1
  136. package/vendor/compiler/dist/compile-project-nodes.js +35 -6
  137. package/vendor/compiler/dist/resolve-host-types.d.ts +0 -5
  138. package/vendor/compiler/dist/resolve-host-types.js +0 -8
  139. package/vendor/compiler/package.json +1 -1
  140. package/vendor/node-sdk/dist/node-factory/define-llm-node/default-llm-ports.d.ts +3 -7
  141. package/vendor/node-sdk/dist/node-factory/define-llm-node/default-llm-ports.js +4 -44
  142. package/vendor/node-sdk/dist/node-factory/define-llm-node/define-llm-node.d.ts +4 -6
  143. package/vendor/node-sdk/dist/node-factory/define-llm-node/define-llm-node.js +4 -6
  144. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm-inventory-wire.d.ts +1 -0
  145. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm-inventory-wire.js +1 -0
  146. package/vendor/node-sdk/dist/node-factory/define-llm-node/recovery-notice.d.ts +8 -0
  147. package/vendor/node-sdk/dist/node-factory/define-llm-node/recovery-notice.js +14 -0
  148. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-handle.d.ts +3 -4
  149. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-handle.js +1 -1
  150. package/vendor/node-sdk/dist/node-factory/define-reactive-node/types.d.ts +2 -4
  151. package/vendor/node-sdk/dist/node-factory/define-reactive-node/ui-schema-inference.d.ts +1 -1
  152. package/vendor/node-sdk/package.json +1 -1
  153. package/vendor/runtime/dist/port-feed-override.d.ts +13 -0
  154. package/vendor/runtime/dist/port-feed-override.js +21 -0
  155. package/vendor/runtime/dist/port-signal-from-response.d.ts +15 -0
  156. package/vendor/runtime/dist/port-signal-from-response.js +48 -0
  157. package/vendor/runtime/dist/runtime-editor.d.ts +5 -1
  158. package/vendor/runtime/dist/runtime-editor.js +19 -0
  159. package/vendor/runtime/dist/runtime-runner.d.ts +8 -3
  160. package/vendor/runtime/dist/runtime-runner.js +108 -87
  161. package/vendor/runtime/dist/runtime.d.ts +3 -1
  162. package/vendor/runtime/dist/runtime.js +1 -0
  163. package/vendor/runtime/dist/testing/workflows/workflow-events.d.ts +10 -6
  164. package/vendor/runtime/dist/testing/workflows/workflow-events.js +21 -31
  165. package/vendor/runtime/dist/types.d.ts +52 -40
  166. package/vendor/runtime/dist/types.js +5 -1
  167. package/vendor/runtime/package.json +1 -1
  168. package/vendor/server/dist/bridge/attach-langflower-bridge.js +3 -2
  169. package/vendor/server/dist/bridge/bridge-event-log.js +17 -102
  170. package/vendor/server/dist/bridge/build-execution-context.d.ts +5 -2
  171. package/vendor/server/dist/bridge/build-execution-context.js +48 -8
  172. package/vendor/server/dist/bridge/forward-runner-event.d.ts +1 -1
  173. package/vendor/server/dist/bridge/forward-runner-event.js +7 -12
  174. package/vendor/server/dist/bridge/get-live-wired-tools.d.ts +13 -0
  175. package/vendor/server/dist/bridge/get-live-wired-tools.js +83 -0
  176. package/vendor/server/dist/bridge/langflower-tools-rpc.d.ts +7 -0
  177. package/vendor/server/dist/bridge/langflower-tools-rpc.js +29 -0
  178. package/vendor/server/dist/bridge/wire-custom-palette-handlers.d.ts +2 -1
  179. package/vendor/server/dist/bridge/wire-custom-palette-handlers.js +3 -5
  180. package/vendor/server/dist/bridge/wire-runner-handlers.js +17 -10
  181. package/vendor/server/dist/bridge/wire-workflow-handlers.js +23 -9
  182. package/vendor/server/dist/checkpoint/run-checkpoint-session.d.ts +1 -1
  183. package/vendor/server/dist/checkpoint/run-checkpoint-session.js +10 -9
  184. package/vendor/server/dist/palette/compile-and-hot-swap-custom-nodes.d.ts +10 -0
  185. package/vendor/server/dist/palette/compile-and-hot-swap-custom-nodes.js +23 -0
  186. package/vendor/server/dist/session/reset-session-execution-feed.d.ts +6 -0
  187. package/vendor/server/dist/session/reset-session-execution-feed.js +8 -0
  188. package/vendor/server/dist/workflow/apply-editor-mutation.d.ts +5 -0
  189. package/vendor/server/dist/workflow/apply-editor-mutation.js +32 -0
  190. package/vendor/server/skeleton/instructions.md +9 -5
  191. package/vendor/server/skeleton/nodes/my-nodes/README.md +4 -3
  192. package/vendor/server/skeleton/nodes/my-nodes/package.json +1 -1
  193. package/vendor/server/skeleton/skills/langflower-helper/SKILL.md +82 -38
  194. package/vendor/server/skeleton/skills/langflower-helper/architecture.md +29 -10
  195. package/vendor/server/skeleton/skills/langflower-helper/layout.md +16 -15
  196. package/vendor/server/skeleton/skills/langflower-node-writer/SKILL.md +19 -9
  197. package/vendor/server/skeleton/skills/langflower-workflow-writer/SKILL.md +23 -15
  198. package/vendor/server/skeleton/workflows/kb-create.json +15 -43
  199. package/vendor/server/skeleton/workflows/kb-navigate.json +8 -22
  200. package/vendor/server/skeleton/workflows/simple-coder.json +18 -46
  201. package/vendor/server/skeleton/workflows/starter.json +35 -22
  202. package/vendor/shared/dist/execution/derive-run-settle-outcome.d.ts +1 -1
  203. package/vendor/shared/dist/execution/derive-run-settle-outcome.js +4 -3
  204. package/vendor/shared/dist/execution/derive-run-settle-outcome.test.js +18 -15
  205. package/vendor/shared/dist/langflower-bus-config.d.ts +6 -14
  206. package/vendor/shared/dist/langflower-bus-config.js +4 -12
  207. package/vendor/shared/dist/langflower-config/resolve-wired-tool-options.js +6 -0
  208. package/vendor/shared/dist/langflower-config/resolve-wired-tool-options.test.js +30 -0
  209. package/vendor/shared/dist/langflower-ws-waits.d.ts +9 -14
  210. package/vendor/shared/dist/langflower-ws-waits.js +14 -14
  211. package/vendor/websocket-bridge/dist/bridge-codec.d.ts +1 -0
  212. package/vendor/websocket-bridge/dist/bridge-codec.js +11 -11
  213. package/vendor/websocket-bridge/dist/bridge-frame.js +1 -1
  214. package/vendor/websocket-bridge/dist/bridge-subjects.d.ts +1 -1
  215. package/vendor/websocket-bridge/dist/bridge-subjects.js +2 -2
  216. package/vendor/websocket-bridge/dist/bridge-types.d.ts +13 -1
  217. package/vendor/websocket-bridge/dist/create-client.js +3 -3
  218. package/vendor/websocket-bridge/dist/create-server.js +12 -6
  219. package/vendor/websocket-bridge/package.json +8 -0
  220. package/ui-dist/main-ECEWAM6V.js +0 -311
  221. package/ui-dist/styles-EOXODOI7.css +0 -1
@@ -115,6 +115,88 @@ export declare const openAiLlmNode: {
115
115
  readonly min: 0;
116
116
  readonly max: 32;
117
117
  readonly step: 1;
118
+ }, {
119
+ readonly field: "autokickOnIdle";
120
+ readonly type: "boolean";
121
+ readonly label: "Autokick on idle and dead-loop";
122
+ readonly default: boolean;
123
+ }, {
124
+ readonly field: "deadLoopEnabled";
125
+ readonly type: "boolean";
126
+ readonly label: "Detect repetition dead loops";
127
+ readonly default: boolean;
128
+ }, {
129
+ readonly field: "maxAutokickAttempts";
130
+ readonly type: "number";
131
+ readonly label: "Max autokick reconnects (0 = unlimited)";
132
+ readonly default: number;
133
+ readonly min: 0;
134
+ readonly max: 1000;
135
+ readonly step: 1;
136
+ }, {
137
+ readonly field: "autokickBackoffMs";
138
+ readonly type: "number";
139
+ readonly label: "Autokick backoff base (ms)";
140
+ readonly default: number;
141
+ readonly min: 1000;
142
+ readonly step: 1000;
143
+ }, {
144
+ readonly field: "autokickMaxBackoffMs";
145
+ readonly type: "number";
146
+ readonly label: "Autokick backoff clamp (ms)";
147
+ readonly default: number;
148
+ readonly min: 1000;
149
+ readonly step: 1000;
150
+ }, {
151
+ readonly field: "autokickUserMessage";
152
+ readonly type: "string";
153
+ readonly label: "Autokick kick message";
154
+ readonly default: string;
155
+ }, {
156
+ readonly field: "autokickPenaltyFrequency";
157
+ readonly type: "number";
158
+ readonly label: "Autokick frequency_penalty delta";
159
+ readonly default: number;
160
+ readonly min: -2;
161
+ readonly max: 2;
162
+ readonly step: 0.1;
163
+ }, {
164
+ readonly field: "autokickPenaltyPresence";
165
+ readonly type: "number";
166
+ readonly label: "Autokick presence_penalty delta";
167
+ readonly default: number;
168
+ readonly min: -2;
169
+ readonly max: 2;
170
+ readonly step: 0.1;
171
+ }, {
172
+ readonly field: "deadLoopMaxWindowTokens";
173
+ readonly type: "number";
174
+ readonly label: "Dead-loop window (tokens)";
175
+ readonly default: number;
176
+ readonly min: 10;
177
+ readonly max: 8000;
178
+ readonly step: 1;
179
+ }, {
180
+ readonly field: "deadLoopConsecutiveThreshold";
181
+ readonly type: "number";
182
+ readonly label: "Dead-loop consecutive identical deltas";
183
+ readonly default: number;
184
+ readonly min: 1;
185
+ readonly step: 1;
186
+ }, {
187
+ readonly field: "deadLoopMinRepetitions";
188
+ readonly type: "number";
189
+ readonly label: "Dead-loop cyclic repetitions";
190
+ readonly default: number;
191
+ readonly min: 1;
192
+ readonly step: 1;
193
+ }, {
194
+ readonly field: "deadLoopMinPatternTokens";
195
+ readonly type: "number";
196
+ readonly label: "Dead-loop min pattern tokens";
197
+ readonly default: number;
198
+ readonly min: 1;
199
+ readonly step: 1;
118
200
  }];
119
201
  readonly bypassPorts: Record<string, import("@langflower/node-sdk").WireType>;
120
202
  readonly inputsConfigs: readonly [import("@langflower/node-sdk").InputPortMeta<import("@langflower/node-sdk").ExecutionContext<readonly [{
@@ -223,6 +305,88 @@ export declare const openAiLlmNode: {
223
305
  readonly min: 0;
224
306
  readonly max: 32;
225
307
  readonly step: 1;
308
+ }, {
309
+ readonly field: "autokickOnIdle";
310
+ readonly type: "boolean";
311
+ readonly label: "Autokick on idle and dead-loop";
312
+ readonly default: boolean;
313
+ }, {
314
+ readonly field: "deadLoopEnabled";
315
+ readonly type: "boolean";
316
+ readonly label: "Detect repetition dead loops";
317
+ readonly default: boolean;
318
+ }, {
319
+ readonly field: "maxAutokickAttempts";
320
+ readonly type: "number";
321
+ readonly label: "Max autokick reconnects (0 = unlimited)";
322
+ readonly default: number;
323
+ readonly min: 0;
324
+ readonly max: 1000;
325
+ readonly step: 1;
326
+ }, {
327
+ readonly field: "autokickBackoffMs";
328
+ readonly type: "number";
329
+ readonly label: "Autokick backoff base (ms)";
330
+ readonly default: number;
331
+ readonly min: 1000;
332
+ readonly step: 1000;
333
+ }, {
334
+ readonly field: "autokickMaxBackoffMs";
335
+ readonly type: "number";
336
+ readonly label: "Autokick backoff clamp (ms)";
337
+ readonly default: number;
338
+ readonly min: 1000;
339
+ readonly step: 1000;
340
+ }, {
341
+ readonly field: "autokickUserMessage";
342
+ readonly type: "string";
343
+ readonly label: "Autokick kick message";
344
+ readonly default: string;
345
+ }, {
346
+ readonly field: "autokickPenaltyFrequency";
347
+ readonly type: "number";
348
+ readonly label: "Autokick frequency_penalty delta";
349
+ readonly default: number;
350
+ readonly min: -2;
351
+ readonly max: 2;
352
+ readonly step: 0.1;
353
+ }, {
354
+ readonly field: "autokickPenaltyPresence";
355
+ readonly type: "number";
356
+ readonly label: "Autokick presence_penalty delta";
357
+ readonly default: number;
358
+ readonly min: -2;
359
+ readonly max: 2;
360
+ readonly step: 0.1;
361
+ }, {
362
+ readonly field: "deadLoopMaxWindowTokens";
363
+ readonly type: "number";
364
+ readonly label: "Dead-loop window (tokens)";
365
+ readonly default: number;
366
+ readonly min: 10;
367
+ readonly max: 8000;
368
+ readonly step: 1;
369
+ }, {
370
+ readonly field: "deadLoopConsecutiveThreshold";
371
+ readonly type: "number";
372
+ readonly label: "Dead-loop consecutive identical deltas";
373
+ readonly default: number;
374
+ readonly min: 1;
375
+ readonly step: 1;
376
+ }, {
377
+ readonly field: "deadLoopMinRepetitions";
378
+ readonly type: "number";
379
+ readonly label: "Dead-loop cyclic repetitions";
380
+ readonly default: number;
381
+ readonly min: 1;
382
+ readonly step: 1;
383
+ }, {
384
+ readonly field: "deadLoopMinPatternTokens";
385
+ readonly type: "number";
386
+ readonly label: "Dead-loop min pattern tokens";
387
+ readonly default: number;
388
+ readonly min: 1;
389
+ readonly step: 1;
226
390
  }], import("@langflower/node-sdk/llm").LlmExecutionCaps>>, ...import("@langflower/node-sdk").InputPortMeta<unknown>[]];
227
391
  readonly outputsConfigs: (import("@langflower/node-sdk").OutputParams & import("@langflower/node-sdk").PortMeta)[];
228
392
  readonly getInstance: () => import("@langflower/node-sdk").ReactiveNodeInstance<readonly [{
@@ -331,6 +495,88 @@ export declare const openAiLlmNode: {
331
495
  readonly min: 0;
332
496
  readonly max: 32;
333
497
  readonly step: 1;
498
+ }, {
499
+ readonly field: "autokickOnIdle";
500
+ readonly type: "boolean";
501
+ readonly label: "Autokick on idle and dead-loop";
502
+ readonly default: boolean;
503
+ }, {
504
+ readonly field: "deadLoopEnabled";
505
+ readonly type: "boolean";
506
+ readonly label: "Detect repetition dead loops";
507
+ readonly default: boolean;
508
+ }, {
509
+ readonly field: "maxAutokickAttempts";
510
+ readonly type: "number";
511
+ readonly label: "Max autokick reconnects (0 = unlimited)";
512
+ readonly default: number;
513
+ readonly min: 0;
514
+ readonly max: 1000;
515
+ readonly step: 1;
516
+ }, {
517
+ readonly field: "autokickBackoffMs";
518
+ readonly type: "number";
519
+ readonly label: "Autokick backoff base (ms)";
520
+ readonly default: number;
521
+ readonly min: 1000;
522
+ readonly step: 1000;
523
+ }, {
524
+ readonly field: "autokickMaxBackoffMs";
525
+ readonly type: "number";
526
+ readonly label: "Autokick backoff clamp (ms)";
527
+ readonly default: number;
528
+ readonly min: 1000;
529
+ readonly step: 1000;
530
+ }, {
531
+ readonly field: "autokickUserMessage";
532
+ readonly type: "string";
533
+ readonly label: "Autokick kick message";
534
+ readonly default: string;
535
+ }, {
536
+ readonly field: "autokickPenaltyFrequency";
537
+ readonly type: "number";
538
+ readonly label: "Autokick frequency_penalty delta";
539
+ readonly default: number;
540
+ readonly min: -2;
541
+ readonly max: 2;
542
+ readonly step: 0.1;
543
+ }, {
544
+ readonly field: "autokickPenaltyPresence";
545
+ readonly type: "number";
546
+ readonly label: "Autokick presence_penalty delta";
547
+ readonly default: number;
548
+ readonly min: -2;
549
+ readonly max: 2;
550
+ readonly step: 0.1;
551
+ }, {
552
+ readonly field: "deadLoopMaxWindowTokens";
553
+ readonly type: "number";
554
+ readonly label: "Dead-loop window (tokens)";
555
+ readonly default: number;
556
+ readonly min: 10;
557
+ readonly max: 8000;
558
+ readonly step: 1;
559
+ }, {
560
+ readonly field: "deadLoopConsecutiveThreshold";
561
+ readonly type: "number";
562
+ readonly label: "Dead-loop consecutive identical deltas";
563
+ readonly default: number;
564
+ readonly min: 1;
565
+ readonly step: 1;
566
+ }, {
567
+ readonly field: "deadLoopMinRepetitions";
568
+ readonly type: "number";
569
+ readonly label: "Dead-loop cyclic repetitions";
570
+ readonly default: number;
571
+ readonly min: 1;
572
+ readonly step: 1;
573
+ }, {
574
+ readonly field: "deadLoopMinPatternTokens";
575
+ readonly type: "number";
576
+ readonly label: "Dead-loop min pattern tokens";
577
+ readonly default: number;
578
+ readonly min: 1;
579
+ readonly step: 1;
334
580
  }], import("@langflower/node-sdk/llm").LlmExecutionCaps>;
335
581
  readonly paletteSecondary?: true;
336
582
  readonly description?: string;
@@ -121,6 +121,88 @@ export declare const reviewNode: {
121
121
  readonly min: 0;
122
122
  readonly max: 32;
123
123
  readonly step: 1;
124
+ }, {
125
+ readonly field: "autokickOnIdle";
126
+ readonly type: "boolean";
127
+ readonly label: "Autokick on idle and dead-loop";
128
+ readonly default: boolean;
129
+ }, {
130
+ readonly field: "deadLoopEnabled";
131
+ readonly type: "boolean";
132
+ readonly label: "Detect repetition dead loops";
133
+ readonly default: boolean;
134
+ }, {
135
+ readonly field: "maxAutokickAttempts";
136
+ readonly type: "number";
137
+ readonly label: "Max autokick reconnects (0 = unlimited)";
138
+ readonly default: number;
139
+ readonly min: 0;
140
+ readonly max: 1000;
141
+ readonly step: 1;
142
+ }, {
143
+ readonly field: "autokickBackoffMs";
144
+ readonly type: "number";
145
+ readonly label: "Autokick backoff base (ms)";
146
+ readonly default: number;
147
+ readonly min: 1000;
148
+ readonly step: 1000;
149
+ }, {
150
+ readonly field: "autokickMaxBackoffMs";
151
+ readonly type: "number";
152
+ readonly label: "Autokick backoff clamp (ms)";
153
+ readonly default: number;
154
+ readonly min: 1000;
155
+ readonly step: 1000;
156
+ }, {
157
+ readonly field: "autokickUserMessage";
158
+ readonly type: "string";
159
+ readonly label: "Autokick kick message";
160
+ readonly default: string;
161
+ }, {
162
+ readonly field: "autokickPenaltyFrequency";
163
+ readonly type: "number";
164
+ readonly label: "Autokick frequency_penalty delta";
165
+ readonly default: number;
166
+ readonly min: -2;
167
+ readonly max: 2;
168
+ readonly step: 0.1;
169
+ }, {
170
+ readonly field: "autokickPenaltyPresence";
171
+ readonly type: "number";
172
+ readonly label: "Autokick presence_penalty delta";
173
+ readonly default: number;
174
+ readonly min: -2;
175
+ readonly max: 2;
176
+ readonly step: 0.1;
177
+ }, {
178
+ readonly field: "deadLoopMaxWindowTokens";
179
+ readonly type: "number";
180
+ readonly label: "Dead-loop window (tokens)";
181
+ readonly default: number;
182
+ readonly min: 10;
183
+ readonly max: 8000;
184
+ readonly step: 1;
185
+ }, {
186
+ readonly field: "deadLoopConsecutiveThreshold";
187
+ readonly type: "number";
188
+ readonly label: "Dead-loop consecutive identical deltas";
189
+ readonly default: number;
190
+ readonly min: 1;
191
+ readonly step: 1;
192
+ }, {
193
+ readonly field: "deadLoopMinRepetitions";
194
+ readonly type: "number";
195
+ readonly label: "Dead-loop cyclic repetitions";
196
+ readonly default: number;
197
+ readonly min: 1;
198
+ readonly step: 1;
199
+ }, {
200
+ readonly field: "deadLoopMinPatternTokens";
201
+ readonly type: "number";
202
+ readonly label: "Dead-loop min pattern tokens";
203
+ readonly default: number;
204
+ readonly min: 1;
205
+ readonly step: 1;
124
206
  }];
125
207
  readonly bypassPorts: Record<string, import("@langflower/node-sdk").WireType>;
126
208
  readonly inputsConfigs: readonly [import("@langflower/node-sdk").InputPortMeta<import("@langflower/node-sdk").ExecutionContext<readonly [...({
@@ -229,6 +311,88 @@ export declare const reviewNode: {
229
311
  readonly min: 0;
230
312
  readonly max: 32;
231
313
  readonly step: 1;
314
+ }, {
315
+ readonly field: "autokickOnIdle";
316
+ readonly type: "boolean";
317
+ readonly label: "Autokick on idle and dead-loop";
318
+ readonly default: boolean;
319
+ }, {
320
+ readonly field: "deadLoopEnabled";
321
+ readonly type: "boolean";
322
+ readonly label: "Detect repetition dead loops";
323
+ readonly default: boolean;
324
+ }, {
325
+ readonly field: "maxAutokickAttempts";
326
+ readonly type: "number";
327
+ readonly label: "Max autokick reconnects (0 = unlimited)";
328
+ readonly default: number;
329
+ readonly min: 0;
330
+ readonly max: 1000;
331
+ readonly step: 1;
332
+ }, {
333
+ readonly field: "autokickBackoffMs";
334
+ readonly type: "number";
335
+ readonly label: "Autokick backoff base (ms)";
336
+ readonly default: number;
337
+ readonly min: 1000;
338
+ readonly step: 1000;
339
+ }, {
340
+ readonly field: "autokickMaxBackoffMs";
341
+ readonly type: "number";
342
+ readonly label: "Autokick backoff clamp (ms)";
343
+ readonly default: number;
344
+ readonly min: 1000;
345
+ readonly step: 1000;
346
+ }, {
347
+ readonly field: "autokickUserMessage";
348
+ readonly type: "string";
349
+ readonly label: "Autokick kick message";
350
+ readonly default: string;
351
+ }, {
352
+ readonly field: "autokickPenaltyFrequency";
353
+ readonly type: "number";
354
+ readonly label: "Autokick frequency_penalty delta";
355
+ readonly default: number;
356
+ readonly min: -2;
357
+ readonly max: 2;
358
+ readonly step: 0.1;
359
+ }, {
360
+ readonly field: "autokickPenaltyPresence";
361
+ readonly type: "number";
362
+ readonly label: "Autokick presence_penalty delta";
363
+ readonly default: number;
364
+ readonly min: -2;
365
+ readonly max: 2;
366
+ readonly step: 0.1;
367
+ }, {
368
+ readonly field: "deadLoopMaxWindowTokens";
369
+ readonly type: "number";
370
+ readonly label: "Dead-loop window (tokens)";
371
+ readonly default: number;
372
+ readonly min: 10;
373
+ readonly max: 8000;
374
+ readonly step: 1;
375
+ }, {
376
+ readonly field: "deadLoopConsecutiveThreshold";
377
+ readonly type: "number";
378
+ readonly label: "Dead-loop consecutive identical deltas";
379
+ readonly default: number;
380
+ readonly min: 1;
381
+ readonly step: 1;
382
+ }, {
383
+ readonly field: "deadLoopMinRepetitions";
384
+ readonly type: "number";
385
+ readonly label: "Dead-loop cyclic repetitions";
386
+ readonly default: number;
387
+ readonly min: 1;
388
+ readonly step: 1;
389
+ }, {
390
+ readonly field: "deadLoopMinPatternTokens";
391
+ readonly type: "number";
392
+ readonly label: "Dead-loop min pattern tokens";
393
+ readonly default: number;
394
+ readonly min: 1;
395
+ readonly step: 1;
232
396
  }], import("@langflower/node-sdk/llm").LlmExecutionCaps>>, ...import("@langflower/node-sdk").InputPortMeta<unknown>[]];
233
397
  readonly outputsConfigs: (import("@langflower/node-sdk").OutputParams & import("@langflower/node-sdk").PortMeta)[];
234
398
  readonly getInstance: () => import("@langflower/node-sdk").ReactiveNodeInstance<readonly [...({
@@ -337,6 +501,88 @@ export declare const reviewNode: {
337
501
  readonly min: 0;
338
502
  readonly max: 32;
339
503
  readonly step: 1;
504
+ }, {
505
+ readonly field: "autokickOnIdle";
506
+ readonly type: "boolean";
507
+ readonly label: "Autokick on idle and dead-loop";
508
+ readonly default: boolean;
509
+ }, {
510
+ readonly field: "deadLoopEnabled";
511
+ readonly type: "boolean";
512
+ readonly label: "Detect repetition dead loops";
513
+ readonly default: boolean;
514
+ }, {
515
+ readonly field: "maxAutokickAttempts";
516
+ readonly type: "number";
517
+ readonly label: "Max autokick reconnects (0 = unlimited)";
518
+ readonly default: number;
519
+ readonly min: 0;
520
+ readonly max: 1000;
521
+ readonly step: 1;
522
+ }, {
523
+ readonly field: "autokickBackoffMs";
524
+ readonly type: "number";
525
+ readonly label: "Autokick backoff base (ms)";
526
+ readonly default: number;
527
+ readonly min: 1000;
528
+ readonly step: 1000;
529
+ }, {
530
+ readonly field: "autokickMaxBackoffMs";
531
+ readonly type: "number";
532
+ readonly label: "Autokick backoff clamp (ms)";
533
+ readonly default: number;
534
+ readonly min: 1000;
535
+ readonly step: 1000;
536
+ }, {
537
+ readonly field: "autokickUserMessage";
538
+ readonly type: "string";
539
+ readonly label: "Autokick kick message";
540
+ readonly default: string;
541
+ }, {
542
+ readonly field: "autokickPenaltyFrequency";
543
+ readonly type: "number";
544
+ readonly label: "Autokick frequency_penalty delta";
545
+ readonly default: number;
546
+ readonly min: -2;
547
+ readonly max: 2;
548
+ readonly step: 0.1;
549
+ }, {
550
+ readonly field: "autokickPenaltyPresence";
551
+ readonly type: "number";
552
+ readonly label: "Autokick presence_penalty delta";
553
+ readonly default: number;
554
+ readonly min: -2;
555
+ readonly max: 2;
556
+ readonly step: 0.1;
557
+ }, {
558
+ readonly field: "deadLoopMaxWindowTokens";
559
+ readonly type: "number";
560
+ readonly label: "Dead-loop window (tokens)";
561
+ readonly default: number;
562
+ readonly min: 10;
563
+ readonly max: 8000;
564
+ readonly step: 1;
565
+ }, {
566
+ readonly field: "deadLoopConsecutiveThreshold";
567
+ readonly type: "number";
568
+ readonly label: "Dead-loop consecutive identical deltas";
569
+ readonly default: number;
570
+ readonly min: 1;
571
+ readonly step: 1;
572
+ }, {
573
+ readonly field: "deadLoopMinRepetitions";
574
+ readonly type: "number";
575
+ readonly label: "Dead-loop cyclic repetitions";
576
+ readonly default: number;
577
+ readonly min: 1;
578
+ readonly step: 1;
579
+ }, {
580
+ readonly field: "deadLoopMinPatternTokens";
581
+ readonly type: "number";
582
+ readonly label: "Dead-loop min pattern tokens";
583
+ readonly default: number;
584
+ readonly min: 1;
585
+ readonly step: 1;
340
586
  }], import("@langflower/node-sdk/llm").LlmExecutionCaps>;
341
587
  readonly paletteSecondary?: true;
342
588
  readonly description?: string;
@@ -1,5 +1,5 @@
1
1
  import { filter, map, Observable } from 'rxjs';
2
- import { defineLlmNode, isSteerControlPayload, } from '@langflower/node-sdk/llm';
2
+ import { defineLlmNode, isSteerControlPayload, toLlmRecoveryPortValue, } from '@langflower/node-sdk/llm';
3
3
  import { collectAgentToolHandles } from '../../tools/collect-agent-tool-handles.js';
4
4
  import { buildEffectiveSystemPrompt } from '../build-effective-system-prompt.js';
5
5
  import { resolveChatProviderModel } from '../resolve-chat-provider-model.js';
@@ -208,7 +208,7 @@ export const reviewNode = defineLlmNode({
208
208
  const toolLog$ = cycle$.pipeValue(demuxByKind('toolLog', (chunk) => chunk.text));
209
209
  const recovery$ = cycle$.pipeValue(demuxByKind('recoveryNotice', (chunk) => {
210
210
  const notice = chunk;
211
- return { code: notice.code, text: notice.text };
211
+ return toLlmRecoveryPortValue(notice);
212
212
  }));
213
213
  const response$ = cycle$.pipeValue(demuxByKind('accept', (chunk) => chunk.result));
214
214
  const feedback$ = cycle$.pipeValue(demuxByKind('feedback', (chunk) => chunk.notes));