langflower 0.1.3 → 0.2.0
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.
- package/README.md +567 -129
- package/dist/{chunk-WV2YWHOC.js → chunk-26UB55E5.js} +44 -4
- package/dist/{chunk-AO33IM2J.js → chunk-2LE3E2QP.js} +24 -23
- package/dist/{chunk-NIRPHJLO.js → chunk-3Z7Q6SQ5.js} +501 -242
- package/dist/{chunk-CVTPGIZE.js → chunk-RZUZX6PW.js} +2 -4
- package/dist/index.js +43935 -44199
- package/docs/public/extending.md +21 -3
- package/docs/public/getting-started.md +2 -1
- package/docs/public/how-it-works.md +2 -2
- package/docs/public/launcher.md +13 -12
- package/package.json +1 -1
- package/ui-dist/{chunk-EZTB7Q33.js → chunk-HEF6F5HN.js} +3 -3
- package/ui-dist/{chunk-BKIP5WRK.js → chunk-IASSR2ON.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/ui-dist/main-NBS6BFBP.js +323 -0
- package/ui-dist/styles-M2URERWI.css +1 -0
- package/vendor/node-sdk/dist/node-factory/define-llm-node/default-llm-ports.js +1 -1
- package/vendor/node-sdk/dist/node-factory/define-llm-node/define-llm-node.d.ts +9 -21
- package/vendor/node-sdk/dist/node-factory/define-llm-node/define-llm-node.js +9 -3
- package/vendor/node-sdk/dist/node-factory/define-llm-node/recovery-notice.d.ts +0 -1
- package/vendor/node-sdk/dist/node-factory/define-llm-node/recovery-notice.js +0 -9
- package/vendor/node-sdk/dist/node-factory/define-node/define-node.d.ts +5 -1
- package/vendor/node-sdk/dist/node-factory/define-node/define-node.js +6 -3
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/capabilities.d.ts +128 -0
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/capabilities.js +25 -0
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-reactive-node.d.ts +29 -17
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-reactive-node.js +14 -6
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/io-helpers.d.ts +19 -5
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/io-helpers.js +4 -3
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/port-meta.d.ts +6 -1
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/types.d.ts +40 -22
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/types.js +2 -0
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/ui-schema-inference.d.ts +1 -1
- package/vendor/node-sdk/dist/node-factory/define-tool-registrations/define-tool-registrations.d.ts +13 -25
- package/vendor/node-sdk/dist/node-factory/define-tool-registrations/define-tool-registrations.js +9 -8
- package/vendor/node-sdk/dist/testing/create-node-harness.d.ts +9 -2
- package/vendor/node-sdk/dist/testing/create-node-harness.js +6 -2
- package/vendor/node-sdk/package.json +5 -0
- package/vendor/runtime/dist/bypass-ports.d.ts +0 -6
- package/vendor/runtime/dist/bypass-ports.js +0 -7
- package/vendor/runtime/dist/runtime-editor.d.ts +1 -1
- package/vendor/runtime/dist/runtime-editor.js +1 -1
- package/vendor/runtime/dist/runtime-helpers.d.ts +0 -1
- package/vendor/runtime/dist/runtime-helpers.js +0 -33
- package/vendor/runtime/dist/runtime-runner.d.ts +4 -0
- package/vendor/runtime/dist/runtime-runner.js +60 -36
- package/vendor/runtime/dist/runtime.d.ts +0 -1
- package/vendor/runtime/dist/runtime.js +0 -1
- package/vendor/runtime/dist/types.d.ts +27 -17
- package/vendor/server/skeleton/instructions.md +6 -0
- package/vendor/server/skeleton/nodes/my-nodes/README.md +19 -1
- package/vendor/server/skeleton/schemas/langflower-config.schema.json +1 -1
- package/vendor/server/skeleton/skills/langflower-helper/SKILL.md +35 -12
- package/vendor/server/skeleton/skills/langflower-helper/layout.md +6 -4
- package/vendor/server/skeleton/skills/langflower-node-writer/SKILL.md +47 -3
- package/vendor/server/skeleton/skills/langflower-workflow-writer/SKILL.md +29 -17
- package/vendor/server/skeleton/workflows/advanced-coder.json +24 -2
- package/vendor/server/skeleton/workflows/kb-create.json +24 -16
- package/vendor/server/skeleton/workflows/kb-manual-search.json +1 -1
- package/vendor/server/skeleton/workflows/kb-navigate.json +24 -2
- package/vendor/server/skeleton/workflows/kb-rag.json +1 -0
- package/vendor/server/skeleton/workflows/simple-coder.json +3 -0
- package/vendor/server/skeleton/workflows/starter.json +2 -0
- package/ui-dist/main-JJURZFKA.js +0 -318
- package/ui-dist/styles-VA3HMZK7.css +0 -1
- package/vendor/node-sdk/dist/node-factory/define-llm-node/llm-inventory-wire.d.ts +0 -5
- package/vendor/node-sdk/dist/node-factory/define-llm-node/llm-inventory-wire.js +0 -5
- package/vendor/node-sdk/dist/node-factory/define-llm-node/llm.d.ts +0 -3
- package/vendor/node-sdk/dist/node-factory/define-llm-node/llm.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-mcp/define-mcp.d.ts +0 -50
- package/vendor/node-sdk/dist/node-factory/define-mcp/define-mcp.js +0 -60
- package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-handle.d.ts +0 -15
- package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-handle.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-server-config.d.ts +0 -17
- package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-server-config.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-transport.d.ts +0 -20
- package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-transport.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-mcp/mcp.d.ts +0 -3
- package/vendor/node-sdk/dist/node-factory/define-mcp/mcp.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-node/test/samples/gate-node.d.ts +0 -20
- package/vendor/node-sdk/dist/node-factory/define-node/test/samples/gate-node.js +0 -22
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/chat-completion-stream.d.ts +0 -50
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/chat-completion-stream.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/crawl-context.d.ts +0 -22
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/crawl-context.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/create-embedding.d.ts +0 -6
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/create-embedding.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-tool-registrations.d.ts +0 -52
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-tool-registrations.js +0 -52
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/kb-context.d.ts +0 -111
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/kb-context.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/memory-context.d.ts +0 -12
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/memory-context.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-files-context.d.ts +0 -10
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-files-context.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-harness.d.ts +0 -56
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-harness.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/agent-node.d.ts +0 -29
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/agent-node.js +0 -60
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/combine-node.d.ts +0 -29
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/combine-node.js +0 -26
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/constant-node.d.ts +0 -29
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/constant-node.js +0 -21
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/delay-node.d.ts +0 -29
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/delay-node.js +0 -27
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/finish-node.d.ts +0 -17
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/finish-node.js +0 -21
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/hitl-node.d.ts +0 -21
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/hitl-node.js +0 -43
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/join-node.d.ts +0 -29
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/join-node.js +0 -31
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/preview-node.d.ts +0 -17
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/preview-node.js +0 -19
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/router-node.d.ts +0 -18
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/router-node.js +0 -12
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/tool-registration.d.ts +0 -36
- package/vendor/node-sdk/dist/node-factory/define-reactive-node/tool-registration.js +0 -2
- package/vendor/node-sdk/dist/node-factory/define-tool-registrations/tool-registration.d.ts +0 -46
- 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
|
|
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
|
-
|
|
239
|
-
const typesPath = resolveHostPackageTypes(
|
|
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
|
-
|
|
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-
|
|
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
|
|
114
|
+
var skillReadPermission = {
|
|
115
|
+
...DEFAULT_PERMISSION_CONFIG,
|
|
126
116
|
read: { "*": "allow" },
|
|
127
|
-
glob: { "*": "
|
|
128
|
-
grep: { "*": "
|
|
117
|
+
glob: { "*": "deny" },
|
|
118
|
+
grep: { "*": "deny" },
|
|
129
119
|
edit: { "*": "deny" },
|
|
130
120
|
write: { "*": "deny" },
|
|
131
121
|
create: { "*": "deny" },
|
|
132
122
|
delete: { "*": "deny" },
|
|
133
|
-
|
|
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
|
|
149
|
+
const skillMarkdown = pack.skillPath === void 0 ? null : await loadSkillViaRead(createProjectHarness({
|
|
147
150
|
projectRoot,
|
|
148
|
-
permission:
|
|
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);
|