langflower 0.1.3 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +567 -129
  2. package/dist/{chunk-WV2YWHOC.js → chunk-26UB55E5.js} +44 -4
  3. package/dist/{chunk-AO33IM2J.js → chunk-2LE3E2QP.js} +24 -23
  4. package/dist/{chunk-NIRPHJLO.js → chunk-3Z7Q6SQ5.js} +501 -242
  5. package/dist/{chunk-CVTPGIZE.js → chunk-RZUZX6PW.js} +2 -4
  6. package/dist/index.js +43935 -44199
  7. package/docs/public/extending.md +21 -3
  8. package/docs/public/getting-started.md +2 -1
  9. package/docs/public/how-it-works.md +2 -2
  10. package/docs/public/launcher.md +13 -12
  11. package/package.json +1 -1
  12. package/ui-dist/{chunk-EZTB7Q33.js → chunk-HEF6F5HN.js} +3 -3
  13. package/ui-dist/{chunk-BKIP5WRK.js → chunk-IASSR2ON.js} +1 -1
  14. package/ui-dist/index.html +2 -2
  15. package/ui-dist/main-NBS6BFBP.js +323 -0
  16. package/ui-dist/styles-M2URERWI.css +1 -0
  17. package/vendor/node-sdk/dist/node-factory/define-llm-node/default-llm-ports.js +1 -1
  18. package/vendor/node-sdk/dist/node-factory/define-llm-node/define-llm-node.d.ts +9 -21
  19. package/vendor/node-sdk/dist/node-factory/define-llm-node/define-llm-node.js +9 -3
  20. package/vendor/node-sdk/dist/node-factory/define-llm-node/recovery-notice.d.ts +0 -1
  21. package/vendor/node-sdk/dist/node-factory/define-llm-node/recovery-notice.js +0 -9
  22. package/vendor/node-sdk/dist/node-factory/define-node/define-node.d.ts +5 -1
  23. package/vendor/node-sdk/dist/node-factory/define-node/define-node.js +6 -3
  24. package/vendor/node-sdk/dist/node-factory/define-reactive-node/capabilities.d.ts +128 -0
  25. package/vendor/node-sdk/dist/node-factory/define-reactive-node/capabilities.js +25 -0
  26. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-reactive-node.d.ts +29 -17
  27. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-reactive-node.js +14 -6
  28. package/vendor/node-sdk/dist/node-factory/define-reactive-node/io-helpers.d.ts +19 -5
  29. package/vendor/node-sdk/dist/node-factory/define-reactive-node/io-helpers.js +4 -3
  30. package/vendor/node-sdk/dist/node-factory/define-reactive-node/port-meta.d.ts +6 -1
  31. package/vendor/node-sdk/dist/node-factory/define-reactive-node/types.d.ts +40 -22
  32. package/vendor/node-sdk/dist/node-factory/define-reactive-node/types.js +2 -0
  33. package/vendor/node-sdk/dist/node-factory/define-reactive-node/ui-schema-inference.d.ts +1 -1
  34. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/define-tool-registrations.d.ts +13 -25
  35. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/define-tool-registrations.js +9 -8
  36. package/vendor/node-sdk/dist/testing/create-node-harness.d.ts +9 -2
  37. package/vendor/node-sdk/dist/testing/create-node-harness.js +6 -2
  38. package/vendor/node-sdk/package.json +5 -0
  39. package/vendor/runtime/dist/bypass-ports.d.ts +0 -6
  40. package/vendor/runtime/dist/bypass-ports.js +0 -7
  41. package/vendor/runtime/dist/runtime-editor.d.ts +1 -1
  42. package/vendor/runtime/dist/runtime-editor.js +1 -1
  43. package/vendor/runtime/dist/runtime-helpers.d.ts +0 -1
  44. package/vendor/runtime/dist/runtime-helpers.js +0 -33
  45. package/vendor/runtime/dist/runtime-runner.d.ts +4 -0
  46. package/vendor/runtime/dist/runtime-runner.js +60 -36
  47. package/vendor/runtime/dist/runtime.d.ts +0 -1
  48. package/vendor/runtime/dist/runtime.js +0 -1
  49. package/vendor/runtime/dist/types.d.ts +27 -17
  50. package/vendor/server/skeleton/gitignore +8 -0
  51. package/vendor/server/skeleton/instructions.md +6 -0
  52. package/vendor/server/skeleton/nodes/my-nodes/README.md +19 -1
  53. package/vendor/server/skeleton/schemas/langflower-config.schema.json +1 -1
  54. package/vendor/server/skeleton/skills/langflower-helper/SKILL.md +35 -12
  55. package/vendor/server/skeleton/skills/langflower-helper/layout.md +6 -4
  56. package/vendor/server/skeleton/skills/langflower-node-writer/SKILL.md +47 -3
  57. package/vendor/server/skeleton/skills/langflower-workflow-writer/SKILL.md +29 -17
  58. package/vendor/server/skeleton/workflows/advanced-coder.json +24 -2
  59. package/vendor/server/skeleton/workflows/kb-create.json +24 -16
  60. package/vendor/server/skeleton/workflows/kb-manual-search.json +1 -1
  61. package/vendor/server/skeleton/workflows/kb-navigate.json +24 -2
  62. package/vendor/server/skeleton/workflows/kb-rag.json +1 -0
  63. package/vendor/server/skeleton/workflows/simple-coder.json +3 -0
  64. package/vendor/server/skeleton/workflows/starter.json +2 -0
  65. package/ui-dist/main-JJURZFKA.js +0 -318
  66. package/ui-dist/styles-VA3HMZK7.css +0 -1
  67. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm-inventory-wire.d.ts +0 -5
  68. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm-inventory-wire.js +0 -5
  69. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm.d.ts +0 -3
  70. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm.js +0 -2
  71. package/vendor/node-sdk/dist/node-factory/define-mcp/define-mcp.d.ts +0 -50
  72. package/vendor/node-sdk/dist/node-factory/define-mcp/define-mcp.js +0 -60
  73. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-handle.d.ts +0 -15
  74. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-handle.js +0 -2
  75. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-server-config.d.ts +0 -17
  76. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-server-config.js +0 -2
  77. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-transport.d.ts +0 -20
  78. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-transport.js +0 -2
  79. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp.d.ts +0 -3
  80. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp.js +0 -2
  81. package/vendor/node-sdk/dist/node-factory/define-node/test/samples/gate-node.d.ts +0 -20
  82. package/vendor/node-sdk/dist/node-factory/define-node/test/samples/gate-node.js +0 -22
  83. package/vendor/node-sdk/dist/node-factory/define-reactive-node/chat-completion-stream.d.ts +0 -50
  84. package/vendor/node-sdk/dist/node-factory/define-reactive-node/chat-completion-stream.js +0 -2
  85. package/vendor/node-sdk/dist/node-factory/define-reactive-node/crawl-context.d.ts +0 -22
  86. package/vendor/node-sdk/dist/node-factory/define-reactive-node/crawl-context.js +0 -2
  87. package/vendor/node-sdk/dist/node-factory/define-reactive-node/create-embedding.d.ts +0 -6
  88. package/vendor/node-sdk/dist/node-factory/define-reactive-node/create-embedding.js +0 -2
  89. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-tool-registrations.d.ts +0 -52
  90. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-tool-registrations.js +0 -52
  91. package/vendor/node-sdk/dist/node-factory/define-reactive-node/kb-context.d.ts +0 -111
  92. package/vendor/node-sdk/dist/node-factory/define-reactive-node/kb-context.js +0 -2
  93. package/vendor/node-sdk/dist/node-factory/define-reactive-node/memory-context.d.ts +0 -12
  94. package/vendor/node-sdk/dist/node-factory/define-reactive-node/memory-context.js +0 -2
  95. package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-files-context.d.ts +0 -10
  96. package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-files-context.js +0 -2
  97. package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-harness.d.ts +0 -56
  98. package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-harness.js +0 -2
  99. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/agent-node.d.ts +0 -29
  100. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/agent-node.js +0 -60
  101. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/combine-node.d.ts +0 -29
  102. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/combine-node.js +0 -26
  103. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/constant-node.d.ts +0 -29
  104. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/constant-node.js +0 -21
  105. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/delay-node.d.ts +0 -29
  106. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/delay-node.js +0 -27
  107. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/finish-node.d.ts +0 -17
  108. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/finish-node.js +0 -21
  109. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/hitl-node.d.ts +0 -21
  110. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/hitl-node.js +0 -43
  111. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/join-node.d.ts +0 -29
  112. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/join-node.js +0 -31
  113. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/preview-node.d.ts +0 -17
  114. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/preview-node.js +0 -19
  115. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/router-node.d.ts +0 -18
  116. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/router-node.js +0 -12
  117. package/vendor/node-sdk/dist/node-factory/define-reactive-node/tool-registration.d.ts +0 -36
  118. package/vendor/node-sdk/dist/node-factory/define-reactive-node/tool-registration.js +0 -2
  119. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/tool-registration.d.ts +0 -46
  120. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/tool-registration.js +0 -2
@@ -194,6 +194,21 @@ var resolveTypesRelative = (packageRoot, relative) => {
194
194
  const absolute = path3.resolve(packageRoot, relative);
195
195
  return fs2.existsSync(absolute) ? absolute : void 0;
196
196
  };
197
+ var hostPeerSubpath = (specifier) => {
198
+ for (const name of HOST_PEER_PACKAGES) {
199
+ if (specifier.startsWith(`${name}/`)) {
200
+ return specifier.slice(name.length + 1);
201
+ }
202
+ }
203
+ return void 0;
204
+ };
205
+ var typesFromExportsSubpath = (exportsField, subpath) => {
206
+ const record = asRecord(exportsField);
207
+ if (record === void 0) {
208
+ return void 0;
209
+ }
210
+ return typesFromExportTarget(record[`./${subpath}`]);
211
+ };
197
212
  var resolveHostPackageTypes = (specifier) => {
198
213
  const entry = resolvePackageEntry(specifier);
199
214
  if (entry === void 0) {
@@ -207,13 +222,17 @@ var resolveHostPackageTypes = (specifier) => {
207
222
  if (pkg === void 0) {
208
223
  return void 0;
209
224
  }
210
- const fromExports = typesFromExportsField(pkg.exports);
225
+ const subpath = hostPeerSubpath(specifier);
226
+ const fromExports = subpath === void 0 ? typesFromExportsField(pkg.exports) : typesFromExportsSubpath(pkg.exports, subpath);
211
227
  if (fromExports !== void 0) {
212
228
  const resolved = resolveTypesRelative(packageRoot, fromExports);
213
229
  if (resolved !== void 0) {
214
230
  return resolved;
215
231
  }
216
232
  }
233
+ if (subpath !== void 0) {
234
+ return void 0;
235
+ }
217
236
  const fromTypes = pkg.types ?? pkg.typings;
218
237
  if (typeof fromTypes === "string") {
219
238
  const resolved = resolveTypesRelative(packageRoot, fromTypes);
@@ -235,12 +254,33 @@ var hostRuntimeStamp = () => HOST_PEER_PACKAGES.map((name) => {
235
254
  }).join(";");
236
255
  var hostPathMappings = () => {
237
256
  const mappings = {};
238
- for (const name of HOST_PEER_PACKAGES) {
239
- const typesPath = resolveHostPackageTypes(name);
257
+ const add = (specifier) => {
258
+ const typesPath = resolveHostPackageTypes(specifier);
240
259
  if (typesPath === void 0) {
260
+ return;
261
+ }
262
+ mappings[specifier] = [toPosix(typesPath)];
263
+ };
264
+ for (const name of HOST_PEER_PACKAGES) {
265
+ add(name);
266
+ const entry = resolvePackageEntry(name);
267
+ if (entry === void 0) {
268
+ continue;
269
+ }
270
+ const packageRoot = findPackageRoot(entry);
271
+ if (packageRoot === void 0) {
241
272
  continue;
242
273
  }
243
- mappings[name] = [toPosix(typesPath)];
274
+ const exportsField = asRecord(readPackageJson(packageRoot)?.exports);
275
+ if (exportsField === void 0) {
276
+ continue;
277
+ }
278
+ for (const key of Object.keys(exportsField)) {
279
+ if (key === "." || !key.startsWith("./")) {
280
+ continue;
281
+ }
282
+ add(`${name}/${key.slice(2)}`);
283
+ }
244
284
  }
245
285
  return mappings;
246
286
  };
@@ -2,8 +2,9 @@ import { createRequire as __lfCreateRequire } from 'node:module';
2
2
  const require = __lfCreateRequire(import.meta.url);
3
3
 
4
4
  import {
5
+ DEFAULT_PERMISSION_CONFIG,
5
6
  createProjectHarness
6
- } from "./chunk-NIRPHJLO.js";
7
+ } from "./chunk-3Z7Q6SQ5.js";
7
8
  import "./chunk-EAZMCX37.js";
8
9
 
9
10
  // packages/cli/dist/eval-command.js
@@ -97,18 +98,6 @@ var loadReplayMap = async (replayPath) => {
97
98
  // packages/eval/dist/run-eval-suite.js
98
99
  import path2 from "node:path";
99
100
 
100
- // packages/eval/dist/load-skill-via-read.js
101
- var loadSkillViaRead = async (harness, skillPath) => {
102
- const result = await harness.invoke({
103
- toolId: "read",
104
- args: { path: skillPath }
105
- });
106
- if (!result.ok) {
107
- throw new Error(`failed to read skill via harness read (${skillPath}): ${result.text}`);
108
- }
109
- return result.text;
110
- };
111
-
112
101
  // packages/eval/dist/score-case.js
113
102
  var scoreCase = (actual, expected, scorer) => {
114
103
  const a = actual.trim();
@@ -122,15 +111,29 @@ var scoreCase = (actual, expected, scorer) => {
122
111
  };
123
112
 
124
113
  // packages/eval/dist/run-eval-suite.js
125
- var allowReadPermission = {
114
+ var skillReadPermission = {
115
+ ...DEFAULT_PERMISSION_CONFIG,
126
116
  read: { "*": "allow" },
127
- glob: { "*": "allow" },
128
- grep: { "*": "allow" },
117
+ glob: { "*": "deny" },
118
+ grep: { "*": "deny" },
129
119
  edit: { "*": "deny" },
130
120
  write: { "*": "deny" },
131
121
  create: { "*": "deny" },
132
122
  delete: { "*": "deny" },
133
- bash: { "*": "deny" }
123
+ move: { "*": "deny" },
124
+ sleep: { "*": "deny" },
125
+ bash: { "*": "deny" },
126
+ ask_user: { "*": "deny" }
127
+ };
128
+ var loadSkillViaRead = async (harness, skillPath) => {
129
+ const result = await harness.invoke({
130
+ toolId: "read",
131
+ args: { path: skillPath }
132
+ });
133
+ if (!result.ok) {
134
+ throw new Error(`failed to read skill via harness read (${skillPath}): ${result.text}`);
135
+ }
136
+ return result.text;
134
137
  };
135
138
  var meanScore = (scores) => {
136
139
  if (scores.length === 0) {
@@ -143,19 +146,17 @@ var runEvalSuite = async (options) => {
143
146
  const packDir = path2.resolve(options.packDir);
144
147
  const projectRoot = path2.resolve(options.projectRoot ?? packDir);
145
148
  const pack = await loadEvalPack(packDir);
146
- const harness = options.harness ?? (pack.skillPath === void 0 ? null : createProjectHarness({
149
+ const skillMarkdown = pack.skillPath === void 0 ? null : await loadSkillViaRead(createProjectHarness({
147
150
  projectRoot,
148
- permission: allowReadPermission
149
- }));
150
- const skillMarkdown = pack.skillPath === void 0 || harness === null ? null : await loadSkillViaRead(harness, pack.skillPath);
151
+ permission: skillReadPermission
152
+ }), pack.skillPath);
151
153
  const caseResults = [];
152
154
  for (const evalCase of pack.cases) {
153
155
  const actual = await options.runCase({
154
156
  pack,
155
157
  case: evalCase,
156
158
  skillMarkdown,
157
- projectRoot,
158
- harness
159
+ projectRoot
159
160
  });
160
161
  const scorer = evalCase.scorer ?? pack.scorer;
161
162
  const score = scoreCase(actual, evalCase.expected, scorer);