langflower 0.1.2 → 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.
Files changed (124) hide show
  1. package/README.md +573 -114
  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 +41152 -41395
  7. package/docs/public/README.md +1 -0
  8. package/docs/public/extending.md +21 -3
  9. package/docs/public/getting-started.md +9 -1
  10. package/docs/public/how-it-works.md +2 -2
  11. package/docs/public/launcher.md +111 -0
  12. package/package.json +1 -1
  13. package/ui-dist/apple-touch-icon.png +0 -0
  14. package/ui-dist/{chunk-EZTB7Q33.js → chunk-HEF6F5HN.js} +3 -3
  15. package/ui-dist/{chunk-BKIP5WRK.js → chunk-IASSR2ON.js} +1 -1
  16. package/ui-dist/favicon-32x32.png +0 -0
  17. package/ui-dist/favicon.ico +0 -0
  18. package/ui-dist/index.html +5 -2
  19. package/ui-dist/main-NBS6BFBP.js +323 -0
  20. package/ui-dist/styles-M2URERWI.css +1 -0
  21. package/vendor/node-sdk/dist/node-factory/define-llm-node/default-llm-ports.js +1 -1
  22. package/vendor/node-sdk/dist/node-factory/define-llm-node/define-llm-node.d.ts +9 -21
  23. package/vendor/node-sdk/dist/node-factory/define-llm-node/define-llm-node.js +9 -3
  24. package/vendor/node-sdk/dist/node-factory/define-llm-node/recovery-notice.d.ts +0 -1
  25. package/vendor/node-sdk/dist/node-factory/define-llm-node/recovery-notice.js +0 -9
  26. package/vendor/node-sdk/dist/node-factory/define-node/define-node.d.ts +5 -1
  27. package/vendor/node-sdk/dist/node-factory/define-node/define-node.js +6 -3
  28. package/vendor/node-sdk/dist/node-factory/define-reactive-node/capabilities.d.ts +128 -0
  29. package/vendor/node-sdk/dist/node-factory/define-reactive-node/capabilities.js +25 -0
  30. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-reactive-node.d.ts +29 -17
  31. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-reactive-node.js +14 -6
  32. package/vendor/node-sdk/dist/node-factory/define-reactive-node/io-helpers.d.ts +19 -5
  33. package/vendor/node-sdk/dist/node-factory/define-reactive-node/io-helpers.js +4 -3
  34. package/vendor/node-sdk/dist/node-factory/define-reactive-node/port-meta.d.ts +6 -1
  35. package/vendor/node-sdk/dist/node-factory/define-reactive-node/types.d.ts +40 -22
  36. package/vendor/node-sdk/dist/node-factory/define-reactive-node/types.js +2 -0
  37. package/vendor/node-sdk/dist/node-factory/define-reactive-node/ui-schema-inference.d.ts +1 -1
  38. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/define-tool-registrations.d.ts +13 -25
  39. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/define-tool-registrations.js +9 -8
  40. package/vendor/node-sdk/dist/testing/create-node-harness.d.ts +9 -2
  41. package/vendor/node-sdk/dist/testing/create-node-harness.js +6 -2
  42. package/vendor/node-sdk/package.json +5 -0
  43. package/vendor/runtime/dist/bypass-ports.d.ts +0 -6
  44. package/vendor/runtime/dist/bypass-ports.js +0 -7
  45. package/vendor/runtime/dist/runtime-editor.d.ts +1 -1
  46. package/vendor/runtime/dist/runtime-editor.js +1 -1
  47. package/vendor/runtime/dist/runtime-helpers.d.ts +0 -1
  48. package/vendor/runtime/dist/runtime-helpers.js +0 -33
  49. package/vendor/runtime/dist/runtime-runner.d.ts +4 -0
  50. package/vendor/runtime/dist/runtime-runner.js +60 -36
  51. package/vendor/runtime/dist/runtime.d.ts +0 -1
  52. package/vendor/runtime/dist/runtime.js +0 -1
  53. package/vendor/runtime/dist/types.d.ts +27 -17
  54. package/vendor/server/skeleton/instructions.md +6 -0
  55. package/vendor/server/skeleton/nodes/my-nodes/README.md +19 -1
  56. package/vendor/server/skeleton/schemas/langflower-config.schema.json +1 -1
  57. package/vendor/server/skeleton/skills/langflower-helper/SKILL.md +44 -10
  58. package/vendor/server/skeleton/skills/langflower-helper/architecture.md +4 -1
  59. package/vendor/server/skeleton/skills/langflower-helper/layout.md +6 -4
  60. package/vendor/server/skeleton/skills/langflower-node-writer/SKILL.md +47 -3
  61. package/vendor/server/skeleton/skills/langflower-workflow-writer/SKILL.md +29 -17
  62. package/vendor/server/skeleton/workflows/advanced-coder.json +24 -2
  63. package/vendor/server/skeleton/workflows/kb-create.json +24 -16
  64. package/vendor/server/skeleton/workflows/kb-manual-search.json +1 -1
  65. package/vendor/server/skeleton/workflows/kb-navigate.json +24 -2
  66. package/vendor/server/skeleton/workflows/kb-rag.json +1 -0
  67. package/vendor/server/skeleton/workflows/simple-coder.json +3 -0
  68. package/vendor/server/skeleton/workflows/starter.json +2 -0
  69. package/ui-dist/main-JJURZFKA.js +0 -318
  70. package/ui-dist/styles-VA3HMZK7.css +0 -1
  71. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm-inventory-wire.d.ts +0 -5
  72. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm-inventory-wire.js +0 -5
  73. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm.d.ts +0 -3
  74. package/vendor/node-sdk/dist/node-factory/define-llm-node/llm.js +0 -2
  75. package/vendor/node-sdk/dist/node-factory/define-mcp/define-mcp.d.ts +0 -50
  76. package/vendor/node-sdk/dist/node-factory/define-mcp/define-mcp.js +0 -60
  77. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-handle.d.ts +0 -15
  78. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-handle.js +0 -2
  79. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-server-config.d.ts +0 -17
  80. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-server-config.js +0 -2
  81. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-transport.d.ts +0 -20
  82. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp-transport.js +0 -2
  83. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp.d.ts +0 -3
  84. package/vendor/node-sdk/dist/node-factory/define-mcp/mcp.js +0 -2
  85. package/vendor/node-sdk/dist/node-factory/define-node/test/samples/gate-node.d.ts +0 -20
  86. package/vendor/node-sdk/dist/node-factory/define-node/test/samples/gate-node.js +0 -22
  87. package/vendor/node-sdk/dist/node-factory/define-reactive-node/chat-completion-stream.d.ts +0 -50
  88. package/vendor/node-sdk/dist/node-factory/define-reactive-node/chat-completion-stream.js +0 -2
  89. package/vendor/node-sdk/dist/node-factory/define-reactive-node/crawl-context.d.ts +0 -22
  90. package/vendor/node-sdk/dist/node-factory/define-reactive-node/crawl-context.js +0 -2
  91. package/vendor/node-sdk/dist/node-factory/define-reactive-node/create-embedding.d.ts +0 -6
  92. package/vendor/node-sdk/dist/node-factory/define-reactive-node/create-embedding.js +0 -2
  93. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-tool-registrations.d.ts +0 -52
  94. package/vendor/node-sdk/dist/node-factory/define-reactive-node/define-tool-registrations.js +0 -52
  95. package/vendor/node-sdk/dist/node-factory/define-reactive-node/kb-context.d.ts +0 -111
  96. package/vendor/node-sdk/dist/node-factory/define-reactive-node/kb-context.js +0 -2
  97. package/vendor/node-sdk/dist/node-factory/define-reactive-node/memory-context.d.ts +0 -12
  98. package/vendor/node-sdk/dist/node-factory/define-reactive-node/memory-context.js +0 -2
  99. package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-files-context.d.ts +0 -10
  100. package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-files-context.js +0 -2
  101. package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-harness.d.ts +0 -56
  102. package/vendor/node-sdk/dist/node-factory/define-reactive-node/project-harness.js +0 -2
  103. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/agent-node.d.ts +0 -29
  104. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/agent-node.js +0 -60
  105. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/combine-node.d.ts +0 -29
  106. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/combine-node.js +0 -26
  107. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/constant-node.d.ts +0 -29
  108. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/constant-node.js +0 -21
  109. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/delay-node.d.ts +0 -29
  110. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/delay-node.js +0 -27
  111. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/finish-node.d.ts +0 -17
  112. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/finish-node.js +0 -21
  113. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/hitl-node.d.ts +0 -21
  114. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/hitl-node.js +0 -43
  115. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/join-node.d.ts +0 -29
  116. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/join-node.js +0 -31
  117. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/preview-node.d.ts +0 -17
  118. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/preview-node.js +0 -19
  119. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/router-node.d.ts +0 -18
  120. package/vendor/node-sdk/dist/node-factory/define-reactive-node/test/samples/router-node.js +0 -12
  121. package/vendor/node-sdk/dist/node-factory/define-reactive-node/tool-registration.d.ts +0 -36
  122. package/vendor/node-sdk/dist/node-factory/define-reactive-node/tool-registration.js +0 -2
  123. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/tool-registration.d.ts +0 -46
  124. package/vendor/node-sdk/dist/node-factory/define-tool-registrations/tool-registration.js +0 -2
@@ -7,6 +7,7 @@ package).
7
7
  | Manual | Topic |
8
8
  | ------------------------------------------ | ----------------------------------------- |
9
9
  | [Getting started](getting-started.md) | Install, first run, ports |
10
+ | [Desktop launcher](launcher.md) | Folder picker window, Start / Stop / Open |
10
11
  | [Product overview](product.md) | Local node graph: pitch, compare, lacks |
11
12
  | [Using the editor](using-the-editor.md) | Canvas, runs, human review, reconnect |
12
13
  | [Workflow ideas](workflows.md) | Common scenarios you can build |
@@ -63,9 +63,27 @@ Use `defineReactiveNode` only when you need streaming / RxJS ports. Prefer
63
63
 
64
64
  ## After you change a pack
65
65
 
66
- Restart Langflower (or follow the product’s pack reload path when available)
67
- so the runtime picks up new node types. New nodes should appear in the node
68
- library for that project.
66
+ No restart needed: open the **node library** sidebar, expand the **Custom**
67
+ section, and press **Update**. Langflower recompiles the packs under
68
+ `.langflower/nodes/` and hot-swaps the catalog — new or changed node types
69
+ appear in the library for that project. Compilation errors are listed under the
70
+ same section.
71
+
72
+ Restart Langflower only when you added pack **dependencies** (run `npm install`
73
+ inside the pack first).
74
+
75
+ ## After you upgrade Langflower
76
+
77
+ Your packs are compiled against the SDK that ships **inside the installed
78
+ Langflower**, not against the `@langflower/node-sdk` version written in the pack
79
+ `package.json` (that entry is an editor hint). An upgrade therefore recompiles
80
+ every pack on next use:
81
+
82
+ - Compatible SDK change — nothing to do.
83
+ - A pack using API that the new SDK removed or renamed fails to compile: the
84
+ errors are listed in the **Custom** palette section and in that pack's
85
+ `COMPILATION_ERRORS.md`. Only that pack is skipped; other packs keep working.
86
+ Fix the source and press **Update**.
69
87
 
70
88
  ## Deeper guides (monorepo)
71
89
 
@@ -23,7 +23,15 @@ langflower ./my-project
23
23
  ```
24
24
 
25
25
  Langflower starts a local server and opens the UI in your browser (default
26
- `http://127.0.0.1:4010`).
26
+ `http://127.0.0.1:4010`). An optional desktop **launcher** can pick folders
27
+ and start the same CLI without a terminal — several projects at once, each
28
+ on its own port. User manual:
29
+ [Desktop launcher](launcher.md). Unsigned
30
+ Windows and macOS zips are on
31
+ [GitHub Releases](https://github.com/earthdmitriy/langflower/releases)
32
+ (tags `launcher-v*`, not the npm `v*` tags). You still need Node.js and
33
+ `npm install -g langflower`. On macOS, right-click **Langflower.app** →
34
+ Open.
27
35
 
28
36
  Stop the process with Ctrl+C when you are done. There is no cloud account and
29
37
  no background daemon.
@@ -42,5 +42,5 @@ See [Extending](extending.md) and [Configuration](configuration.md).
42
42
 
43
43
  ## Monorepo deep dives
44
44
 
45
- In the Langflower source tree (not shipped here): `docs/ARCHITECTURE.md`,
46
- `docs/EXECUTION_ARCHITECTURE.md`, and `docs/PRINCIPLES.md`.
45
+ In the Langflower source tree (not shipped here): `docs/architecture/ARCHITECTURE.md`,
46
+ `docs/architecture/EXECUTION_ARCHITECTURE.md`, and `docs/architecture/PRINCIPLES.md`.
@@ -0,0 +1,111 @@
1
+ # Desktop launcher
2
+
3
+ The launcher is a small window that starts Langflower **without a
4
+ terminal**. It picks a project folder, can install Node.js and the
5
+ global `langflower` CLI, then runs the **same** CLI a terminal user
6
+ would run. The editor still opens in your **system browser**.
7
+
8
+ This window is not the canvas. It does not embed the editor, and it
9
+ does not include Node.js or the CLI inside the zip.
10
+
11
+ ## Download
12
+
13
+ Unsigned Windows and macOS zips are on
14
+ [GitHub Releases](https://github.com/earthdmitriy/langflower/releases)
15
+ (tags `launcher-v*`, not the npm `v*` tags).
16
+
17
+ - `langflower-launcher-windows-x64.zip`
18
+ - `langflower-launcher-windows-arm64.zip`
19
+ - `langflower-launcher-macos-arm64.zip`
20
+ - `langflower-launcher-macos-x64.zip`
21
+
22
+ The macOS zip contains `Langflower.app` (so Finder does not open
23
+ Terminal). Unpack and run `langflower-launcher.exe` (Windows) or
24
+ `Langflower.app` (macOS). Windows SmartScreen and macOS Gatekeeper
25
+ will warn because the files are unsigned. On macOS: right-click the
26
+ **app** → **Open**.
27
+
28
+ Linux has no published zip in v1.
29
+
30
+ ## First run
31
+
32
+ You still need:
33
+
34
+ 1. **Node.js ≥ 22**
35
+ 2. The global CLI: `npm install -g langflower`
36
+
37
+ If Node is missing or too old, the window shows **Install Node.js**
38
+ (Windows: winget LTS; macOS: official Node `.pkg` from nodejs.org, which
39
+ asks for administrator permission). If Node is fine but Langflower is
40
+ missing, it shows **Install Langflower**. If a newer CLI is on npm, it
41
+ offers **Update** and **Skip**. Skip lasts for this session only.
42
+
43
+ Install buttons are hidden while any project the launcher started is
44
+ still running. Stop those first.
45
+
46
+ The **?** button in the title row opens this page on GitHub.
47
+
48
+ ## Start a project
49
+
50
+ 1. **Browse** to a folder, type a path, or click a **Recent** row.
51
+ **×** on a row removes it from recents only (it does not Stop a
52
+ running project).
53
+ 2. Click **Start Langflower** (or press Enter in the path field).
54
+ 3. Wait until the hint says the project is running on a port.
55
+ 4. The system browser opens `http://127.0.0.1:<port>` after the CLI is
56
+ ready. Use **Open Langflower ↗** (or **Open UI ↗** on a recent row)
57
+ if you closed the tab.
58
+
59
+ An empty folder is fine: the CLI creates `.langflower/` on first start.
60
+ Your other files are left alone.
61
+
62
+ **Start** stays disabled until Node meets the minimum, a global
63
+ `langflower` is installed, and a folder is chosen.
64
+
65
+ ## Several projects at once
66
+
67
+ Each folder gets its own Langflower process and port (starting at
68
+ **4010**, then the next free port through **4109**). Start, Stop, and
69
+ Open apply to the **selected** folder. Other rows keep running.
70
+
71
+ You cannot start the same folder twice. Select another recent and Start
72
+ it while the first is still up.
73
+
74
+ ## Stop and close
75
+
76
+ - **Stop Langflower** ends the selected process only.
77
+ - **Closing the launcher window** stops **every** process this window
78
+ started.
79
+ - Closing a **browser tab** does not stop the server. Reopen the URL
80
+ while that row still says Running.
81
+
82
+ Processes you started from a terminal are not stopped by this window.
83
+
84
+ ## Details
85
+
86
+ Open **Details** at the bottom for the CLI and installer log. **Copy**
87
+ puts the log on the clipboard (the text itself is not selectable).
88
+
89
+ Prefixes:
90
+
91
+ - `[launcher]` — version check and launcher messages
92
+ - `[install]` — Node or Langflower install output
93
+ - `[folder-name]` — that project’s CLI output
94
+
95
+ If Node and Langflower are already current, the first line says they
96
+ already have current versions — that is not an install.
97
+
98
+ ## If something goes wrong
99
+
100
+ | What you see | What to try |
101
+ | -------------------------------- | ------------------------------------------------------------ |
102
+ | Start stays grey | Install Node and/or Langflower; choose a folder |
103
+ | “That folder could not be found” | Browse again; the path must exist |
104
+ | “No free port is available” | Stop other Langflower instances using 4010–4109 |
105
+ | Gatekeeper / SmartScreen | Unsigned — right-click the `.exe` or `Langflower.app` → Open |
106
+ | Editor does not load | Wait for Running; open Details; try Open ↗ |
107
+ | Update offer every launch | Skip is session-only; Update installs `langflower@latest` |
108
+
109
+ Need the terminal path instead? See
110
+ [Getting started](getting-started.md). Once a project is running, use
111
+ [Using the editor](using-the-editor.md).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langflower",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Visual LLM-chain builder",
5
5
  "type": "module",
6
6
  "bin": {
Binary file